PGP technológia - a
titkosításról dióhéjban
A titkosítás
célja: bizalmas információk továbbítása egy nem
biztonságos közegen keresztül (pl. Internet) egy
erre alkalmas algoritmus segítségével. A nyilvános kulcsú
titkosítás alapgondolata az, hogy olyan partnerek
közti kommunikáció esetén is gyakorlati
titkosságot tud nyújtani, akik az üzenetváltás
elott semmiféle titkos kulcsot nem cseréltek
egymással.
Szimmetrikus
titkosítás
A titkosítás
kiindulópontjának az egykulcsos rendszereket
(szimmetrikus) tekinthetjük, amelyek még ma is
jelentős szerepet játszanak a kriptográfiában.
Jelentősebb képviselői a TripleDES (168 bit), AES,
TwoFish és az IDEA (128 bit) algoritmusok. A
szimmetrikus titkosítás előnye a gyorsaság,
hátránya viszont a legfőbb tulajdonságából
származik: a titkosításhoz és kódoláshoz
ugyanaz a kulcs használatos, így azt a feladónak
és a címzettnek is ismernie kell. A jelszót
(kulcsot) biztonságosnak vélt úton kell eljuttatni
a másik félhez, például személyes
találkozáskor, ami persze nem minden esetben
kivitelezhető. Más megoldás nem lévén ez az út
valószínűleg ugyanaz a nem biztonságos csatorna
lesz, amelyen a további kommunikáció is folyna. Ez
a tény azonban megnehezíti az azonnali és
globális kommunikációt.
Aszimmetrikus
titkosítás
A módszer alapja
egy 1977-ben született matematikai megoldás.
Legismertebb megvalósítása az RSA algoritmus,
amelynek kidolgozása három matematikus nevéhez
fűződik (Rivest, Shamir és Adleman). Lényege:
minden felhasználó (feladó és címzett egyaránt)
rendelkezik egy kulcspárral, ami egy nyilvános
(public) és egy titkos (private) kulcsot tartalmaz.
A nyilvános kulcs a titkosításhoz, a privát kulcs
a visszafejtéshez használatos. Fontos megjegyezni,
hogy a két kulcs egymásból nem számítható ki,
vagyis nem állítható elő a nyilvános kulcsból a
titkos kulcs.
Gyakorlati
működése: a titkos kulcsot optimális esetben csak
tulajdonosa ismerheti, viszont publikus kulcsát
minél szélesebb körben ismertté kell tennie,
hiszen így tudnak neki -címzettnek- titkosított
üzenetet küldeni. A két kulcs egymást
kiegészítve működik; a címzett nyilvános
kulcsával titkosítjuk az üzenetet, amit rajta
kívül más nem tud elolvasni, hiszen csak ő
rendelkezik a visszafejtést végző titkos kulccsal.
A módszer erősségét a szimmetrikus kulcsos
titkosítás hátrányának kiküszöbölése adja:
azok is tudnak titkosított üzeneteket váltani,
akik nem ismerik egymást (elég, ha előzőleg
kicserélték nyilvános kulcsaikat). Ez a csere
történhet Interneten keresztül is, hiszen attól,
hogy valaki megszerzi a nyilvános kulcsunkat még
nem fér hozzá bizalmas információkhoz. További
előnyös tulajdonsága, a digitális aláírás
készítésének lehetősége, mely opciót a
hitelességvizsgálat céljából érdemes
kihasználni.
Titkos
kulcs
Minden kulcspár egy titkos
(magánkulcs) és egy nyilvános
kulcsból áll. A titkos kulcsot csak a
kulcspár tulajdonosa ismeri. A titkos
kulcsot használjuk a nekünk küldött
kódolt üzenetek visszafejtésére és
elektronikus leveleink digitális
aláírására. |
Nyilvános
kulcs
A nyilvános kulcs arra
szolgál, hogy a rejtjelezett üzeneteket
tudjunk váltani partnereinkkel. A
nyilvános kulcsot használjuk a kódolt
üzenetek készítésekor és a
digitálisan aláírt levelek
hitelességének ellenőrzésekor. A
hatékony levelezés érdekében a
nyilvános kulcsot minél szélesebb
körben kell ismertté tenni.
A nyilvános kulcsból nem számítható
ki a titkos kulcs, és nem alkalmas a
rejtjelzett üzenet visszafejtésére
sem; az üzenetet csak az tudja
elolvasni, akinek birtokában van a
titkos kulcs. |
Session
key (egyszer
használatos titkosító kulcs)
Hibrid titkosítási módszer
alkalmazásakor az ideiglenes titkosító
kulcs, amelyet a nagy adatmennyiséget
jelentő üzenettörzs vagy csatolt
állomány szimmetrikus algoritmussal
történő kódolásakor használunk
(gyors), majd a kulcsot aszimmetrikus
(erős) algoritmus használatával
szintén kódoljuk. |
Pótlólagos
visszaállító kulcs (ADK - Additional
Decryption Key)
Szükség esetén (általában
vállalati környezetben) az üzenetet
nem csak a címzett nyilvános
kulcsával, hanem az ADK-val (pontosabban
az ADK kulcspár nyilvános kulcsával)
is titkosítjuk. Így az üzenetet
nemcsak a címzett, hanem az ADK
tulajdonosa is elolvashatja. |
Kulcs-felosztás
(key splitting)
Az ADK-val történő
visszaélések megelőzésére az ADK
funkciót ki lehet egészíteni a
kulcs-felosztással is. Ebben az ADK
titkos része nem egy, hanem több
személy birtokában van, és egy ADK-val
titkosított üzenet elolvasásához
mindannyiuk jelenléte szükséges. Így
elkerülhető az a helyzet, hogy a
cégnél valakinek egy minden üzenet
felnyitására alkalmas mesterkulcsa
legyen. |
Hogyan működik
a PGP?
A PGP működése a
két titkosítási módszer kombinációjaként
létrejött úgynevezett hibrid titkosításon
alapul. A módszer egyesíti a szimmetrikus
titkosítás gyorsaságát az aszimmetrikus
titkosítás biztonságával. A PGP a titkosítási
eljárás során tömöríti a titkosítani kívánt
adatot, majd azt egy véletlen generálású kulccsal
(session key) titkosítja. Ez a folyamat még nagy
méretű adatfolyam esetében is gyorsnak
tekinthető, hiszen a hibrid titkosítás ezen
részében szimmetrikus algoritmussal történik a
kódolás. Következő lépésként a session kulcs
kerül titkosításra, ez azonban már a az
aszimmetrikus titkosításból ismert publikus
kulccsal lesz titkosítva. Így létrejön egy olyan
csomag, amely tartalmazza a titkosított adatot és a
visszafejtéshez szükséges kulcsot - titkosítva.
Az üzenet
titkosításának lépései:
- Tömörítés
- Szimmetrikus
titkosítás egy véletlen generálású
kulccsal (session key)
- A véletlen
generálású kulcs (session key)
titkosítása a címzett nyilvános
kulcsával (aszimmetrikus titkosítás) - mivel a session kulcs
kis méretű, a titkosítás gyorsan
megtörténik
- Küldés

A
titkosítás lépései
A
titkosított üzenet visszafejtése a címzettnél
fordított sorrendben történik
- Üzenet
fogadása
- A véletlen
generálású kulcs (session key)
visszafejtése a címzett titkos kulcsával
(aszimmetrikus eljárás)
- Az üzenet
visszafejtése a véletlen generálású
kulcs (session key) segítségével
- Megjelenítés

A
visszafejtés folyamata
Digitális
aláírás
A digitális
aláírás segítségével a címzett meggyőződhet
a neki küldött üzenet hitelességéről. Vagyis
arról, hogy a levél feladója tényleg az, akinek
mondja magát, és a levél tartalma továbbítás
közben nem változott meg. Ennek
megvalósításához egy ún. hash függvényt
alkalmaznak, amely az üzenetből egy kis méretű
ellenőrző összeget készít. Ha valaki akár egy
karakternyit változtat az üzenetben, a hash
függvény más ellenőrző összeget fog létrehozni
a feladó, illetve a címzett oldalán. Mivel az
ellenőrző összeg az üzenet részeként jut el a
címzetthez, az ellenőrzés során azonnal
kiszűrhető az esetleges módosítás.
- Aláírás a
feladó titkos kulcsával
- Ellenőrző
összeg készítése és beillesztése az
üzenetbe
- Küldés
- Fogadás
- Ellenőrzés a
feladó nyilvános kulcsával

A
digitális aláírás és az üzenet hitelességének
ellenőrzése