LT   EN   RU  
2019 m. lapkričio 21 d., ketvirtadienis Straipsniai.lt - Teminis naujienų ir straipsnių katalogas
  Kriptografija
  Technologijos > Kompiuterinės technologijos > Kompiuterinis saugumas > Kriptografija
Lankomumo reitingas Publikuota: 2005-02-25
Kriptografija

Įvadas

Pirmasis duomenų šifravimą panaudojo Julijus Cezaris. Norėdamas nusiųsti žinutę savo generolams ir nepasitikėdamas savo pasiuntiniais, jis savo žinutėje pakeitė visas A raides į D, visas B į E ir t.t. Ir kiekvienas, kuris žinojo šį užkodavimo būdą galėjo perskaityti žinutę.

Šifravimas ir dešifravimas

Tekstas, kurį galima skaityti nepanaudojus jokių specialių priemonių vadinamas paprastu tekstu. Metodas naudojatis paprastą tekstą ir paverčiantis jį į gausybę nieko bendro tarp savęs neturinčių simbolių vadinamas šifravimu. O toks tekstas - užšifruotu tekstu. Pati šifravimo schema atrodytu maždaug taip

|--------|    -------->    |/////|
paprastas    šifravimas    užšifruotas
tekstas                     tekstas

|/////|   ---------->    |---------|
užšifruotas    dešifravimas    paprastas 
tekstas                        tekstas

Kas yra kriptografija?

Kriptografija, tai mokslas naudojantis matematiką užšifruoti ir dešifruoti duomenims. Kriptografija leidžia saugoti ypač slaptą informaciją ir siųsti ją nesaugiais tinklais(kaip Internet), taigi jos negali perskaityti niekas kitas, kaip tik gavėjas.
Kriptografijos saugumui tikrinti yra naudojama kriptoanalizė. Paprasta kriptoanalizė, tai loginės kombinacijos, matematinių įrankių panaudojimas, kantrybė, pasiryžimas ir žinoma - sėkmė. Kripto analitikai dar kitaip vadinami atakuojančiaisiais.

Kodėl reikia naudoti kriptografija?

Yra nusistovėjusi nuomonė, kad žmogus šifruoja duomenis, todėl, kad daro kažką nelegalaus. Dauguma pasakys, kad jie neturi ką slėpti. Tačiau šiame informacijos amžiuje kiekviena gauta informacijos delelytė gali būti panaudota prieš jus. Tai ypač aktualu konkurentams. Kam naudoti pinigus ir resursus, jei galima visą reikiamą informaciją gauti iš savo priešininkų. Šifravimas taip pat labai svarbi elektroninės komercijos dalis. Norint įgyti klientų pasitikėjimą turi būti užtikrintas jų duomenų saugumas.

Algoritmai

Šiame skyriuje bus aptarti patys geriausi/stipriausi laiko patikrinti šifravimo algoritmai(PGP, DES, RSA).
1) PGP
Stipri kriptografija
"Šiame pasaulyje yra dviejų tipų kriptografijos: Viena, kuri apsaugos jūsų duomenis nuo jūsų vaikų Kita, kuri apsaugos jūsų duomenis nuo didžiųjų vyriausybių."
PGP(Pretty Good Privacy) vienas populiariausių ir stipriausių šifravimo algoritmų. Kriptografijos stiprumas priklauso nuo to kiek laiko ir resursų bus sunaudota norint iššifruoti tekstą. Stipri kriptografija yra užšifruotas tekstas, kurį labai sunku iššifruoti be specialaus dešifravimo įrankio. Kiek sunku? Tarkim pasitelkus visą šių dienų kompiuterių arsenalą, net jeigu bilijonas kompiuterių padarytų bilijoną patikrinimų per sekundą vis tiek nebūtų galima iššifruoti teksto iki visatos pabaigos. Žinoma niekas neįrodė, kad šiandiena užšifruoti duomenys atsilaikys prieš rytojaus kompiuterių jėgą...

Kaip tai vekia?

Šifravimo algoritmas, tai matematinė funkcija naudojama šifravimo ir dešifravimo procese. Algoritmo veikimui reikalingas slaptažodis. Slaptažodis gali buti žodis, numeris, frazė, įvairūs simboliai. Tas pats tekstas užšifruotas skirtingais slaptažodžiais skirsis vienas nuo kito.
Taigi viso užšifruoto teksto saugumas priklausys nuo pasirinkto algoritmo ir slaptažodžio slaptumo.
Ankščiau, jei viena pusė norėjo nusiųsti įslaptintus duomenis kitai, turėjo pirma duomenis užšifruoti su raktu ir poto surasti būdą, kaip saugiai tą raktą nugabenti kitai pusei. Šia saugumo problemą išsprendė viešojo rakto kriptografija. Ji paremta tuo, kad yra sudaromi du raktai - viešas(naudojamas duomenims užšifruoti) ir privatus(naudojamas duomenims dešifruoti). Taigi jūs savo viešą raktą duodate kam tik panorėje, o privatų laikote saugiai padėtą(pvz.: diske, CD-ROM ir t.t.). Žmonės pasinaudoję Jūsų viešuoju raktu užšifruos duomenis, kuriuos dešifruoti galėsite tik Jūs patys(pasinaudodami savo privačiu raktu).
PGP naudoja viešojo rakto kriptografiją. Prieš šifruodama duomenis PGP programa suspaudžia(suarchivuoja) tekstą. Tai duoda nemažą pliusą saugumui: dauguma kriptoanalizių panaudoja iškarpų sutapimą duomenų dešifravimui. Archivuojant tekstą jis šiek tiek iškraipomas, taip sumažinant galimybę sėkmingai panaudoti tokią ataką.
Rakto stiprumas dar priklauso nuo jo dydžio. Dydis matuojamas bitais. Pvz.: 1028 bitų dydžio raktas skaitomas labai dideliu. Viešojo rakto kriptografijoje kuo didesnis raktas, tuo saugesni duomenys.
Viešasis ir privatus raktai yra matematiškai susije. Nustatyti privatų raktą turint tik viešąjį yra begalo sunku, tačiau, tai įmanoma skyrus pakankamai laiko ir skaičiavimo resursų. Todėl svarbu parinkti teisingą dydį jūsų raktui. Taip pat reikia numatyti kas norės perskaityti Jūsų duomenis, ar labai jie tam pasiryžę, kiek laiko jie turi ir maždaug kokius resursus jie gali panaudoti.
Raktai yra užšifruoti ir saugomi dvejuose failuose jūsų diske. Šie failai vadinami viešas žiedas raktams(angl. "public keyring") ir privatus žiedas raktams(angl. "private keyring"). Į viešą žiedą raktams galima dėti įvairių įmonių/žmonių viešuosius raktus. O į privatų žiedą - tik Jūsų privačius raktus. Jei prarasite savo privatų žiedą, nebegalėsite dešifruoti Jums skirtų duomenų.

Skaitmeninis parašas

Vienas didžiausių viešojo rakto kriptografijos privalumų yra galimybė sukurti savo skaitmeninį parašą. Tai užtikrina duomenų tikrumą ir patikimumą. Skaitmenis parašas turi tokią pat galią, kaip ir ranka rašytas. Ranka rašytą parašą galima lengvai suklastoti, tuo tarpu skaitmeninį padirbti praktiškai neįmanoma.
Skaitmeninis parašas naudoja maišymo (anlg. "hash") funkciją. Ši funkcija sugeneruoja fiksuoto dydžio įrašą(pvz. 160 bitų) iš duotų duomenų, šis įrašo dydis nepriklauso nuo duomenų dydžio(kad ir 100MB). Funkcija atsakinga už duomenų tikrumo/patikimumo užtikrinimą. Nors vienam bitui pakitus iš tų 100MB bus išvedami visiškai kitokie duomenys.
Kol bus naudojama saugi maišymo funkcija, nėra jokios galimybės parašą suklastoti, nes patys menkiausi pakitimai sužlugdys autentiškumo procesą.

Skaitmeniniai sertifikatai

Vienas minusas viešojo rakto kriptosistemoje yra tai, kad žmogus _turi_ būti tikras, kad šifruoja duomenis _tikrojo_ gavėjo viešuoju raktu. Kitaip gali būti įvykdyta žmogus viduryje(Man-in-the-midle) ataka. Tai yra blogietis pakiša jums savo viešajį raktą, kuriame visa indentifikacija atitinka Jūsų pažystamo (ar šiaip partnerio) indentifikaciją. Jūs nieko neįtardami tuo raktu užšifruojate slaptus duomenis. Tada blogiečiui tereikia perimti šiuos duomenis ir dešifruoti.
Skaitmeniniai sertifikatai gali užtikrinti, kad viešasis raktas priklauso būtent tam žmogui. Sertifikatą galime įsivaizduoti kaip asmens pasą. Tai dokumentas nurodantis Jūsų asmenybę, pasą jums suteikė valstybė ir jis užtikrina Jūsų identiškumą. Jūs jį saugote, nes jums pametus pasą kitas žmogus gali apsimesti jumis.
Sertifikatas susideda iš trijų dalių:
* viešojo rakto
* sertifikato informacija(informacija apie vartotoja tokia kaip vardas, ID(indentifikacija) ir kita) * vieno ar daugiau skaitmeninių parašų.

Yra du skirtingi PGP sertifikato formatai:
* PGP sertifikatai
* X.509 sertifikatai

PGP sertifikato formatas:
* PGP versijos numeris
* sertifikato turėtojo viešasis raktas
* sertifikato turėtojo informacija(vardas, ID, fotografija ir kita)
* sertifikato šeiminiko skaitmeninis parašas
* sertifikato galiojimo laikas
* pageidaujamas simetrinio šifravimo algoritmas(CAST, Triple-DES, IDEA)

X.509 sertifikato formatas:
* X.509 versijos numeris
* sertifikato turėtojo numeris
* sertifikato serijinis numeris
* sertifikato turėtojo unikalus identifikatorius
* galiojimo laikas
* unikalus sertifikato išdavėjo vardas
* sertifikato išdavėjo skaitmeninis parašas
* sertifikato išdavėjo naudojamas kodavimo algoritmas

Sertifikato galiojimas ir patikimumas

Galimi keli galiojimo patikrinimo būdai. Pvz. pats gavėjas atneša savo viešąjį raktą. Toks būdas varginantis ir nepatogus. Kita galimybė, tai pačiam patikrinti sertifikato "pirštų antspaudą" (angl. "fingerprint"). Taip, kaip kiekvieno žmogaus pirštų antspaudas yra unikalus, taip ir sertifikato "pirštų antspaudas" yra tik vienas. "Pirštų antspaudas" gali buti šešioliktainiai skaičiai arba tam tikrų raidžių sekos. Jį patikrinti galite tiesiog paskambine gauto rakto savinikui ir paprašę, kad jis padiktuotų jį. Šis būdas tinka tik tuomet, kai pažystate tą žmogų. Šiaip dauguma įmonių užrašo sertifikato "pirštų antspaudą" ant savo verslo kortelių(vizitinių).
Kitas reikalas, kai Jūs nepažįstate žmogaus ir Jums reikia patikrinti rakto galiojimą. Tuomet Jums reikia "patikėti" trečiaja šalimi, kuri už jus patikrinio rakto galiojimą. Pavyzdžiui "Sertifikato Autoriteto"(angl. "Certification Authority") patikrinti ir pasirašyti raktai automatiškai priimami kaip galiojantys.

Pasitikėjimo modeliai:

1) Tiesioginis pasitikėjimas. Papraščiausias modelis, kai žmonės vieni kitus pažysta ir žino iš ko atėjo raktas.
2) Hierarchinis pasitikėjimas. Yra naudojami keli pagrindiniai sertifikatai su kuriais patikimi visi kiti paprastų vartotojų raktai.
3) Pasitikėjimo voratinklis. Šis modelis naudoja ankstensių modulių būdus ir dar prideda, tai, kad kai vienas vartotojas pasirašo kito vartotojo raktą tampa už tą raktą "atsakingas".

Pasitikėjimo lygiai naudojami PGP

* Visiškas pasitikėjimas. Kuomet raktas yra pasirašytas Jūsų arba kokio kito autoriteto.
* Nežymus pasitikėjimas. Kai vienas iš dviejų raktų pažymimas "visiško pasitikėjimo" parašu.
* Visiškas nepasitikėjimas

Sertifikato panaikinimas

Sertifikatai tol naudingi, kol yra galiojantys. Neprotinga šaip sau pažymėti, kad sertifikatas galioja amžinai. Daugumoje organizacijų sertifikai galioja tam tikrą laiką. Sertifikate užfiksuojamas jo išleidimo laikas ir galiojimo pasibaigimo laikas. Galiojimui pasibaigus jis bus "nebepatikimas". Tačiau ir negaliojantį sertifikatą bus galima naudoti užšifruotų duomenų patikimumui patikrinti. Sertifikatas taip pat panaikinamas, kai vartotojas nori nutraukti sutartį su firma/organizacija. Kiekvienas žmogus gali panaikinti savo parašą iš sertifikato.
Svarbu apie sertifikato panaikinimą pranešti potencialiems vartotojams. Tai galima padaryti patalpinus jį į sertifikato serverį. CA yra sudaromas tokių sertifikatų sąrašas.

Raktų padalinimas

Yra galimybė "suskaldyti" privatų raktą į dalis(ir pvz. išdalinti jas tam tikriems žmonės). Kiekviena dalis yra bevertė, kol nesurenkamos visos dalys. Surinkus dalis "sulipdomas" privatus raktas.

PGP programas galima parsisiųsti iš http://www.pgpi.com svetainės.

DES

Duomenų kodavimo standartas(anlg. "Data Encryption Standart"), sukurtas JAV vyriausybės 1977 metais. Tai blokinio tipo šifravimas, kuriame 64 bitų duomenų blokai užšifruojami naudojant 56 bitų privatų raktą. DES algoritmas naudojamas daugumoje programų. Naudojamas vyriausybiniuose bei privačiuose sektoriuose.
Šifruojant daugiau nei 64 bitus yra naudojami keturi oficialus metodai:
* "Elektroninė kodu knyga" (angl. "Electronic Codebook") ECB
* "Šifro blokų grandinų" (anlg. "Cipher Block Chaining") CBC
* "Išvesties atsakomoji reakcija" (angl. "Output Feedback") OFB
* "Šifro atsakomoji reakcija" (angl. "Cipher Feedback") CFB

DES algortimas taip pat gali būti naudojamas iki 64 bitų kontrolės sumoms sudaryti(anlg. "checksums").

RSA

RSA yra viešojo rakto tipo kriptosistema, kuri palaiko duomenų šifravimą ir skaitmeninius parašus. Veikimas šio algortimo yra toks: imami du dideli pirminiai skaičiai p ir q. Jie sudauginami n = p * q. n yra vadinamas moduliu. Poto parenkamas skaičius e mažensis už n ir artimas pirminiams (q - 1)(p - 1). Tai reiškia, kad e neturi nieko bendra su (q - 1)(p - 1) išskyrus 1. Surandamas kitas skaičius d, kad (e * d - 1) dalintųsi iš (q - 1)(p - 1). Atitinkamai e ir d yra viešas ir privatus komponentai. Pora (e, n) bus viešasis raktas, o (d, n) - privatus.
RSA nėra labai greitas algortimas. DES iki 100 kartų greitesnis, tačiau ir silpnesnis už RSA. RSA laboratorija rekomenduoja naudoti 1024 bitų ilgio raktą. Labai svarbiems duomenis koduoti naudokite 2048 bitus.
Daugiau informacijos rasite kurėjų svetainėje http://www.rsasecurity.com

MD5

Labai populiarus algortimas. Ima fiksuoto dydžio žinutę ir išveda 128 bitų "pirštų antspaudą". Naudojamas viešojo rakto kriptosistemose skaitmeniniams parašams daryti. Taip pat failų palyginimui(pvz. sukuriame du vienodus failus
$ echo "testas" > pvz1 $ echo "testas" > pvz2 sukuriame md5 "pirštų antspaudą"(angl. "fingerprint"):
md5sum pvz1 pvz2
22b3793a536400fd469807099e5d2b9d pvz1
22b3793a536400fd469807099e5d2b9d pvz2

Kaip matome vienodų failų "antspaudai" sutampa. Dabar šiek tiek pakeiskime vieno failo turinį:
echo " " > pvz1
md5sum pvz1 pvz2
d784fa8b6d98d27699781bd9a7cf19f0 pvz1
22b3793a536400fd469807099e5d2b9d pvz2

Daugiau informacijos - http://www.rfc-editor.org, faile rfc1321

Žinoma čia aptarti tik populiariausi algoritmai. Liko nepaminėti IDEA, SHA, Triple-DES, Blowfish ir kiti. Kriptografija kolkas vienintelis _patikimas_ būdas apsaugoti savo duomenis nuo svetimų akių.

Griežtai draudžiama Straipsniai.lt paskelbtą informaciją panaudoti kitose interneto svetainėse, tradicinėse žiniasklaidos priemonėse ar kitur arba platinti mūsų medžiagą kuriuo nors pavidalu be sutikimo. Cituojant būtina aiški nuoroda į Straipsniai.lt kaip informacijos šaltinį.

Atsitiktinės gairės:    Laikrodžiai (3)    Bankinės technologijos (11)    Egiptas (24)    Sel (10)    Lietuvoje (5)    Politikai (183)    Artūras Zuokas (41)    Interneto komentarai (2)    Lietuvių valgiai (28)    Rašytojai (11)    Masonai (7)    Spausdintuvai (12)    Žvejyba (30)    Žuvys (7)    Smurtas mokyklose (10)    Operacinės sistemos (50)    6 branduolių (3)    Avinas (7)    Šventasis Kazimieras (2)    BTV (3)    Chemija (5)    Tamplieriai (7)    Kailiniai (15)    Drakonai (36)    Trys karaliai (5)    Klubai (8)    Grožio salonai (6)    Kriptografija (3)    Užsienyje (50)    Grupės (81)    Lotynų kalba (11)    Bankrotas (2)    Parapsichologija (22)    Prezidento rinkimai (6)    Reklama internete (18)    Interneto dizainas (5)    Pankiškos muzikos grupės (15)    Regbis (4)    Sodininkystė (22)    Breakdance (4)    Muzika (196)    Lietuvoje (43)    Alkoholiniai gėrimai (74)    NSO (33)    Hipiai (9)    Bibilija (10)    Parapsichologai (7)    Žala sveikatai (16)    Archeologija (42)    Maudymosi kostiumėliai (7)
   
 
     
Prisijunk prie gerbėjų rato Google Plus! Mūsų jau 500. Skelbk informaciją, dalinkis naujienomis. Būk matomas!