Locked History Actions

Pretty good privacy

Žodis angliškai:

Pretty good privacy

Santrumpa:

PGP

Žodis lietuviškai:

"Gana geras saugumas"

Apibrėžimas:

PGP (angl. pretty good privacy) yra kodavimo ir dekodavimo kompiuterių programa, kuri suteikia kriptografinį privatumą ir autentiškumą perduodant duomenis. PGP dažnai naudojamas elektroniniam parašui, tekstų kodavimui ir dekodavimui, elektroniniam paštui, kad padidinti elektroninio pašto ryšio saugumą.

Dizainas. PGP kodavimas naudoja nuoseklią „hash“ funkcijų, duomenų suspaudimo, simetrinio rakto ir viešojo rakto kriptografijų kombinaciją. Kiekvienas PGP žingsnis naudoja vieną kelių palaikomų algoritmų. Kiekvienas viešasis raktas yra susietas su vartotojo vardu ir/arba elektroninio pašto adresu. Pirmoji šios sistemos versija buvo visuotinai žinoma kaip pasitikėjimo tinklas (angl. web of trust) kontraste su X.509 sistema, kuri naudoja hierarchiniu požiūriu pagrįstą sertifikatų autorizaciją ir kuri vėliau buvo pridėta prie PGP diegimo.

Kaip PGP veikia? Kai kas nors pradeda naudotis PGP, pradedamas naudoti duomenų kodavimas ir generuojama raktų porą (Key Pair). Programa generuoja specialų raktą kiekvienai koduotai žinutei. Tai yra teksto failai, kurie paprastam žmogui yra nesuprantami. Raktai gali būti sudaryti įvairių stiprumo lygių – 512, 1024 arba 2048 bitų „stiprumai“ naudojami. Kuo aukštesnis skaičius, tuo stipresnė rakto kodavimo vertė. Vienas raktas iš poros yra Privatus (Private Key) raktas – šis raktas tūrėtų būti nuolatos saugomas ir niekam neduodamas. Kitas raktas yra Viešasis (Public Key) – šis raktas tūrėtų būti platinamas kiek įmanoma daugiau žmonių. Pirmas procesas, kurį atlieka PGP yra simetrinis duomenų(paprasto teksto) suspaudimas. Duomenų suspaudimas sutaupo modemo perdavimo laiką, disko laisvos vietos talpą ir svarbiausia sustiprina kriptografinį stiprumą. Tada naujas privatus raktas turi būti generuojamas kiekvieną kartą, kai vartotojas siunčia žinutę naudodamasis PGP. Toliau PGP sukuria sesijos raktą, kuris yra vienkartinis slaptas raktas. Šis raktas yra atsitiktinių skaičių kombinacija, sugeneruota iš atsitiktinių jūsų pelės judesių ir klaviatūros klavišų paspaudimų. Sesijos raktas veikia naudodamas labai apsaugotą, greitą simetrinį kodavimo algoritmą ir rezultate gaunamas šifruotas tekstas. Kai tik duomenis yra užkoduojami sesijos raktas yra užkoduojamas gavėjo viešajame rakte. Tada viešasis raktas – užkoduotas sesijos raktas yra persiunčiamas kartu su šifruotu tekstu gavėjui. 1 pav. vaizduojama kaip veikia PGP šifravimas.

encrypt.gif,

1 pav. Kaip veikia PGP šifravimas

Dešifravimas vyksta atvirkščiai šifravimui. Gavėjo PGP kopija naudoja jos ar jo privatų raktą tam, kad atstatyti laikinąjį sesijos raktą, kurį PGP naudoja dešifruoti simetriškai užkoduotą tekstą.

decrypt.gif

2 pav. Kaip veikia PGP dešifravimas

Dviejų šifravimo metodų kombinacija jungia viešojo rakto šifravimo patogumą su simetrinio šifravimo greičiu. Simetrinis šifravimas yra apie 1000 kartų greitesnis nei viešojo rakto šifravimas. Viešojo rakto šifravimas paeiliui suteikia sprendimus raktų paskirstymo ir duomenų persiuntimo klausimais. Naudojant kartu šiuos šifravimo algoritmus proceso vykdymas ir raktų paskirstymas pagerėjo be jokios žalos saugumui.

PGP Suderinamumas. Kol PGP vystosi, PGP kuri palaiko gali palaikyti naujesnes funkcijas ir algoritmus, kurie skirti žinutėms šifruoti, tačiau senesnės PGP sistemos tos žinutės negalės iššifruoti net ir su galiojančiu privačiu raktu. Todėl labai svarbu, kad žmonės besinaudojantys PGP sistema suprastų vienas kito galimybes arba bent sutartų dėl PGP nustatymų norint išvengti nesusikalbėjimo.

Skaitmeniniai parašai. Didžiausias viešojo rakto pranašumas yra tas, kad jis suteikia galimybe naudoti skaitmeninius parašus. Skaitmeniniai parašai suteikia galimybę informacijos gavėjui patikrinti informacijos kilmės autentiškumą ir taip pat patikrinti ar informacija nebuvo paliesta pašalinių žmonių ar iškraipyta. Taigi, viešojo rakto skaitmeniniai parašai suteikia autentiškumą ir duomenų vientisumą. Skaitmeninis parašas taip pat suteikia „neatsisakymo“ galimybę, kuri reiškia, kad žmogus siuntęs žinutę negali paneigti, jog jis siuntė žinutę arba gavėjas negali paneigti, jog jis priėmė žinutę, jei minėti veiksmai tikrai buvo atlikti. Skaitmeninis parašas tarnauja tam pačiam tikslui kaip ir ranka rašytas parašas. Tačiau ranka rašytą parašą yra lengviau padirbti. Skaitmeninis parašas yra geresnis už ranka rašyta parašą tuo, kad jo skaitmeninio beveik neįmanoma padirbti, taip pat jis patvirtina informacijos turinį ir pasirašančio asmens tapatybę. Kai kurie žmonės linkę naudoti paprastus parašus negu šifruotus. Pavyzdžiui jums tikriausiai nerūpės jei kažkas žinos, kad jūs įdėjote į banko sąskaita 1000 Lt, bet jūs norėsite būti tikri, kad tai buvo banko kasininkas su kuriuo turėjote reikalų. Pagrindinis metodas, kuriuo remiantis yra sukurtas skaitmeninis parašas pavaizduotas 3 pav. Vietoje to, kad šifruoti informacija naudojant kažkieno kito viešąjį raktą, jūs šifruojate ją su savo privačiu raktu. Jei informacija gali būti iššifruota su viešuoju raktu, tada ji turi būti kilusi iš jūsų.

signature.gif

3 pav. Kaip veikia skaitmeninis parašas

Skaitmeniniai sertifikatai. Viena problema su viešojo rakto kriptosistemomis yra ta, kad vartotojai turi visuomet būti budrus, kad užtikrintų jog šifravimas vyksta būtent tam asmens raktui. Aplinkoje laisvai ir saugiai keistis raktais galima per viešuosius serverius, tačiau „žmogus per vidurį“ (angl. Man-in-the-middle) atakos ir potencialus pavojus. Tokio tipo atakoje kas nors pateikia apgavikišką raktą su vardu ir ID norimo gavėjo. Tuomet duomenys yra šifruojami fiktyvaus rakto savininkui, tačiau yra perimami ir taip patenka į netinkamas rankas.

Viešoje aplinkoje labai svarbu įsitikinti, kad viešasis raktas, kuriam jūs šifruojate duomenys yra būtent tas viešasis raktas, kuris skirtas norimam gavėjui ir nėra suklastotas. Jūs galite paprasčiausiai šifruoti tuos raktus kurie fiziškai perduoti jums, bet įsivaizduokite jums reikia apsikeisti informacija su žmogumi, kurio jūs niekada nesate sutikęs. Kaip pasakyti, kad jūs turite teisingą raktą?

Skaitmeniniai sertifikatai supaprastina užduotį nustatant ar viešasis raktas tikrai priklauso tariamam savininkui. Sertifikatas tai lyg pažymėjimo forma. Kaip pavyzdžiai gali būti jūsų vairuotojo pažymėjimas, socialinio draudimo kortelė, pasas. Kiekvienas iš jų turi jūsų identifikacijos informacijos apie jus ir autorizacijos informacijos rodančios, jog kažkas kitas patvirtino jūsų tapatybę. Kai kurie sertifikatai, tokie kaip pasas yra svarbūs jūsų tapatybės patvirtinimui, taigi jų pamesti nevalia, nes kitaip kas nors gali apsimesti jumis. Skaitmeninis sertifikatas yra duomenis, kurie funkcionuoja panašiai kaip ir fiziniai sertifikatai. Skaitmeninis sertifikatas yra informacija su asmens viešuoju raktu, kuris padeda kitiems patikrinti, jog raktas yra autentiškas ir galioja. Sertifikatai naudojami sutrukdyti bandant sukeisti vieno asmens raktą su kito asmens raktu.

  • Skaitmeninis sertifikatas susideda iš trijų dalių:

• Viešasis raktas.

• Sertifikato informacija („Tapatybė“ informacija apie vartotoją, vardas, vartotojo ID ir t.t.)

• Dar vienas skaitmeninis parašas.

Skaitmeninio parašo tikslas sertifikate yra parodyti, kad sertifikate esanti informacija yra patvirtinta kito asmens ar subjekto. Skaitmeninis parašas neliudija viso sertifikato autentiškumo. Jis laiduoja tik tai, kad pasirašyta tapatybė keliauja kartu su viešuoju raktu. Taigi sertifikatas iš esmės yra viešasis raktas su pridėtomis viena ar dvejomis ID formomis, plius sąžiningas patvirtinimas iš patikimo asmens.

certificate.gif,

4 pav. PGP sertifikato anatomija

PGP sertifikato formatas PGP sertifikate yra įdėta (tačiau neribojama) tokia informacija:

• PGP versijos numeris – nurodo kokia PGP versija buvo naudojama sukurti sertifikatui.

• Sertifikato turėtojo viešasis raktas – viešasis raktas kartu su rakto algoritmais: RSA, DH, DSA.

• Sertifikato turėtojo informacija – t.y. asmenybės informacija apie vartotoją, tokia kaip jo/jos vardas, vartotojo ID, fotografija, ir t.t.

• Skaitmeninis sertifikato tūrėtojo parašas – dar vadinamas „self-signature“.

• Sertifikato galiojimo laikas – sertifikato galiojimo pradžios data/laikas ir pabaigos data/laikas. Nurodo kada sertifikatas baigsis.

• Pageidaujamas simetrinio šifravimo algoritmas raktui – rodo šifravimo algoritmą kuriuo sertifikato savininkas nori užšifruoti informaciją. Palaikomi algoritmai: CAST, IDEA arba trigubas – DES.

Nemokamą PGP versiją galimą atsisiųsti ir išbandyti šiame puslapyje (http://www.pgpi.org/products/pgp/versions/freeware/).

Literatūra

1. http://www.pgpi.org/doc/pgpintro/

2. http://www.facweb.iitkgp.ernet.in/~sourav/crypto.html

3. http://en.wikipedia.org/wiki/Pretty_Good_Privacy

4. The CISSP Prep Guide; Ronald L. Krutz and Russell Dean Vines; 20001, Published by John Wiley & Sons, Inc