Pretty Good Privacy (PGP) – kriptografija, el. pašto šifravimas ir skaitmeniniai parašai

"Pretty Good Privacy" (PGP) - tai kompiuterinė programa, užtikrinanti kriptografinį privatumą ir autentiškumo patvirtinimą. PGP dažnai naudojama elektroniniams laiškams (e. laiškams) pasirašyti, šifruoti ir iššifruoti, siekiant padidinti e. pašto ryšių saugumą. Ją 1991 m. sukūrė Philas Zimmermannas.

PGP ir kiti panašūs produktai šifruoja ir iššifruoja duomenis pagal "OpenPGP" standartą (RFC 4880).

Kas tai yra ir kodėl tai naudinga

PGP suteikia dvi pagrindines funkcijas:

  • Konfidencialumas – pranešimus galima užšifruoti taip, kad juos galėtų perskaityti tik gavėjai, turintys atitinkamą privačią raktą.
  • Autentiškumo ir vientisumo patikrinimas – siunčiant pranešimą galima pridėti skaitmeninį parašą, kuris patvirtina autoriaus tapatybę ir užtikrina, kad pranešimas nebuvo pakeistas.

Kaip PGP veikia (supaprastintas paaiškinimas)

PGP naudoja hibridinę kriptografiją: trumpalaikį simetrinį raktą (pvz., AES) duomenims užšifruoti ir asimetrinius raktus (viešasis / privatus) tam simetriniam raktui apsaugoti. Procesas trumpai:

  • Siuntėjas sugeneruoja atsitiktinį simetrinį raktą ir užšifruoja žinutę juo.
  • Simetrinis raktas užšifruojamas kiekvieno gavėjo viešuoju raktu.
  • Gavėjas, turintis atitinkamą privatų raktą, atidaręs užšifruotą simetrinį raktą, gali iššifruoti pačią žinutę.
  • Skaitmeninis parašas kuriamas naudojant siuntėjo privatų raktą; gavėjas parašą patikrina su siuntėjo viešuoju raktu.

Raktai, saugojimas ir pasitikėjimas

PGP pagrindiniai elementai yra raktų poros: viešasis raktas (skelbiamas kitiems) ir privatus raktas (slapta). Svarbu:

  • Viešą raktą galima dalintis per el. paštą, raktų serverius arba Web Key Directory (WKD).
  • Privatų raktą reikia saugoti saugiai ir apsaugoti stipria slaptafrazė.
  • Rekomenduojama sukurti revokacijos (atšaukimo) sertifikatą iš anksto – jis praverčia jei prarandamas arba kompromituojamas privatus raktas.
  • Geriausia praktika – naudoti pagrindinį (master) raktą offline ir sukurti atskirus subraktus kasdieniam šifravimui ir pasirašymui.

Pasitikėjimo modeliai

OpenPGP naudoja „web of trust“ (pasitikėjimo tinklas) modelį: vartotojai patys pasirašo vieni kitų viešuosius raktus, taip įrodydami tapatybę. Tai kitaip nei S/MIME, kuris remiasi centralizuotomis sertifikavimo institucijomis.

Pagrindinės įgyvendinimo ir įrankių galimybės

  • GnuPG (GPG) – laisvoji ir plačiai naudojama OpenPGP implementacija.
  • Komercinės PGP versijos ir kitos įrankių grandys, tačiau dauguma vartotojų renkasi GnuPG dėl suderinamumo ir atviro kodo privalumų.
  • El. pašto klientų integracijos: šiuolaikiniai klientai (pvz., Thunderbird) palaiko OpenPGP; buvo ir atskiros plėtinys (Enigmail), tačiau dabar funkcionalumas dažnai įtrauktas tiesiogiai.

Algoritmai ir saugumo rekomendacijos

OpenPGP palaiko keletą algoritmų. Dabartinės rekomendacijos (bendros gairės):

  • RSA su bent 2048 bitų (geriau 3072 ar 4096) arba kur kas modernesnės ECC parinktys (pvz., Ed25519/curve25519) – pastarosios suteikia aukštą saugą mažesnėmis rakto ilgimis.
  • Simetriniam šifravimui naudoti AES (AES-256 rekomenduojamas).
  • Hash funkcijoms naudoti SHA-256 ar stipresnes (SHA-1 laikomas pasenusiu).

Kaip naudotis PGP – pagrindiniai žingsniai

  • Sukurkite raktų porą (viešasis + privatus) ir pasirinkite stiprią slaptafrazę.
  • Publikuokite viešą raktą: į savo el. paštą, raktų serverį arba per savo svetainę.
  • Gavę kieno nors viešą raktą – patikrinkite jo pirštą (fingerprint) arba susitikite asmeniškai ir patvirtinkite.
  • Šifruokite el. laiškus naudodami gavėjo viešą raktą; pasirašykite juos naudodami savo privatų raktą.
  • Patikrinkite gaunamų laiškų parašus ir, jei reikia, iššifruokite su savo privačiu raktu.

Istorija ir teisės klausimai

PGP sukūrė Philas Zimmermannas 1991 m. Pilietinių laisvių gynimo tikslais – rezervuodamas galimybę privatumui. Dėl stiprios kriptografijos eksportavimo taisyklių tuomet jis susidūrė su JAV teisės institucijų tyrimu; bylos vėliau buvo nutrauktos. PGP vėliau tapo de facto standartu, o OpenPGP (RFC 4880) apibrėžė atvirą specifikaciją, kuria remiasi GnuPG ir kiti įrankiai.

Limitacijos ir rizikos

  • PGP apsaugo pranešimo turinį ir autentiškumą, bet nepaslepia metaduomenų (pvz., kas kam ir kada siuntė laišką, IP adresai, prisegtų failų pavadinimai).
  • Jei privatų raktą kompromituoja, visi ankstesni laiškai, užšifruoti su tuo raktu, gali būti iššifruoti.
  • Raktų serveriai kartais kaupia pasenusią ar neteisingą informaciją; todėl svarbu patikrinti pirštą (fingerprint) prieš pasitikint raktu.

Gerosios praktikos patarimai

  • Naudokite stiprų slaptafrazę ir apsvarstykite slaptafrazės saugyklą (pvz., patikimas slaptažodžių tvarkyklė).
  • Darykite atsargines kopijas privati raktui (pvz., šifruotą laikmeną) ir saugokite saugioje vietoje.
  • Sukurkite revokacijos sertifikatą iš anksto ir saugokite jį atskirai.
  • Periodiškai atnaujinkite raktus ir peržiūrėkite pasitikėjimo grandis.
  • Naudokite subraktus (encryption, signing, authentication), o pagrindinį raktą laikykite offline — tai sumažina kompromitacijos riziką.

Išvados

PGP (ir OpenPGP) suteikia patikimą būdą saugiai šifruoti komunikaciją ir patvirtinti autentiškumą. Nors reikia šiek tiek techninių žinių, laikantis gerosios praktikos PGP yra galingas įrankis asmeniniam ir profesiniam privatumui išsaugoti. Populiariausios įgyvendinimo galimybės (pvz., GnuPG) leidžia integruoti PGP su el. pašto klientais, automatizuoti šifravimą ir saugiai valdyti raktus.

OpenPGP

"OpenPGP" yra įtraukta į interneto standartų kelią; dabartinė specifikacija yra RFC 4880 (2007 m. lapkričio mėn.). OpenPGP vis dar tobulinama, o RFC 2440 pakeitusi RFC 4880 tapo siūlomu standartu. Daugelis el. pašto klientų užtikrina su OpenPGP suderinamą el. pašto apsaugą, kaip aprašyta RFC 3156.

Laisvosios programinės įrangos fondas sukūrė su OpenPGP suderinamą programą, pavadintą GNU privatumo apsauga (sutrumpintai GnuPG arba GPG). GnuPG yra laisvai prieinama kartu su visais išeities kodais pagal GNU bendrąją viešąją licenciją (GPL) ir palaikoma atskirai nuo kelių grafinių vartotojo sąsajų (GUI), kurios sąveikauja su GnuPG biblioteka šifravimo, dešifravimo ir pasirašymo funkcijoms atlikti (žr. KGPG, Seahorse, MacGPG). Keletas kitų gamintojų taip pat sukūrė OpenPGP atitinkančią programinę įrangą.

Susiję puslapiai

  • FreeOTFE - disko šifravimas
  • PuTTY - SSH šifravimas

AlegsaOnline.com - 2020 / 2025 - License CC3