PGP aláírás levélküldéskor, illetve a kulcs ellenőrzése levél fogadásakor

A MathWikiből
(Változatok közti eltérés)
 
(A PGP működése)
 
(egy szerkesztő 2 közbeeső változata nincs mutatva)
1. sor: 1. sor:
==A PGP technológia==
+
==A titkosításról==
===A titkosításról===
+
 
====A szimmetrikus és az aszimetrikus titkosítás====
 
====A szimmetrikus és az aszimetrikus titkosítás====
  
11. sor: 10. sor:
 
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.
 
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.
  
 +
====Kulcsok és tulajdonságaik====
 +
*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.
 +
 +
==A PGP technológia==
 
====A PGP működése====
 
====A PGP működése====
  
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.  
+
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 ZIP algoritmussal, majd azt egy véletlen generálású kulccsal (session key) titkosítja.
<div class="keretjobb"> Session key (egyszer használatos titkosító kulcs)
+
<!--A 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.</div>
+
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. -->
  
 
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.
 
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=====
+
====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)<br>    - mivel a session kulcs kis méretű,        a titkosítás gyorsan megtörténik
 +
# Küldés
 +
 
 +
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
 +
 
 +
====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.
 +
 
 +
=====<u>A digitális aláírás és az üzenet hitelességének ellenőrzése</u>=====
 +
*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 PGP alkalmazása==
 +
====Saját kulcs készítése====
 +
Ha használni akarjuk a PGP-t elõször is saját kulcsunk, illetve kulcspárunk generálása az elsõ feladat. A home könyvtárunkban létre kell hozni egy .pgp nevû alkönyvtárat (mkdir .pgp), és ebbe belépve (cd .pgp) adjuk ki a következõ parancsot: pgp -kg
 +
 
 +
A program megkérdezi, hogy milyen méretû kulcsot szeretnénk generálni. Három választási lehetõséget kinál fel. Minél hosszabb kulcsot választunk, annál lassabb lesz maga a kulcs generálás és a titkosítás, de nagyobb biztonságot nyújt. Ezután kér egy felhasználói azonosítót a program. Célszerû megadni a nevünket és az e-mail cimünket, például:
 +
 
 +
Iksz Iplszilon <ikszipszilon@freemail.hu>
 +
 
 +
Ezután a PGP kér tõlünk egy jelszót. Fontos, hogy jól jegyezzük meg ezt a jelszót. A titkos kulcsunk használatához ugyanis ez, és az a fájl kell (secring.pgp) ahova ezután a program a generált titkos kulcsot teszi. A titkos kulcsot tartalmazó fájl és a jelszó azonosít bennünket.A PGP két fájlt használ a nyilvános/titkos kulcsok tárolására. Ezeket keyring-nek (kulcstartó) nevezik. A nyilvános kulcsok a pubring.pgp, a titkos kulcs(ok) a secring.pgp fájlban vannak. Amikor saját kulcsunkat generáljuk, nemcsak titkos kulcsunk kerül a secring-re, hanem nyilvános kulcsunk is a pubring-re.
 +
 
 +
====Egy fájl titkosítása====
 +
Levél titkosításánál a puring.pgp kulcstartónak van szerepe. A következõ parancs segítségével Nagy János titkosíthatja a levelét Kis számára, Kis nyilvános kulcsának felhasználásával:
 +
 
 +
pgp -e level.txt Kis
 +
 
 +
A PGP program ekkor egy bináris outputot generál a level.pgp fájlba. Ha a parancsot kiegészítjük egy -a kapcsolóval, akkor karakteres outputot kapunk, amit levélként továbbíthatunk:
 +
 
 +
pgp -ea level.txt Kis
 +
 
 +
Az üzenetet -s kapcsoló-val írhatjuk alá. Az aláírást és a titkosítást végezhetjük egyszerre:
 +
 
 +
pgp -sea level.txt Kis
 +
 
 +
A PGP a secring.pgp kulcstartón talált elsõ titkos kulcsot használja az aláíráshoz.
 +
 
 +
====Egy fájl dekódolása, aláírásának ellenõrzése====
 +
 
 +
Üzenet dekódolásánál, aláírás ellenõrzésnél csak a kódolandó fáj nevét kell megadni.
  
    * Tömörítés
+
pgp dekódolandó fájl név.pgp
    * 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)<br>    - mivel a session kulcs kis méretű, a titkosítás gyorsan megtörténik
+
    * Küldés
+
  
[[Kép:titkositas_600.jpg]]
+
A PGP felismeri a titkosítás módját, a kulcsot ami szerint kódolva lett, és kéri a felhasználótól a titkos kulcshoz tartozó jelszót. A jelszó ismerete szükséges a dekódoláshoz. Az aláírás ellenõrzése a pubring.pgp kulcstartó segítségével történik, szintén automatikusan.

A lap jelenlegi, 2007. január 12., 11:58-kori változata

Tartalomjegyzék

A titkosításról

A szimmetrikus és az aszimetrikus titkosítás

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 titkosítás kiindulópontjának az egykulcsos, úgynevezett szimmetrikus rendszereket tekinthetjük, amelyek még ma is jelentős szerepet játszanak a kriptográfiában.
(Képviselői pl. a TripleDES, AES, TwoFish, IDEA 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 kulcsot biztonságosnak vélt úton kell eljuttatni a másik félhez, például személyes találkozáskor, ami 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 azonban megnehezíti az azonnali és globális kommunikációt.

Az aszimmetrikus titkosítás 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.

Kulcsok és tulajdonságaik

  • 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.

A PGP technológia

A PGP működése

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 ZIP algoritmussal, 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

  1. Tömörítés
  2. Szimmetrikus titkosítás egy véletlen generálású kulccsal (session key)
  3. 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
  4. Küldés

A titkosított üzenet visszafejtése a címzettnél fordított sorrendben történik

  1. Üzenet fogadása
  2. A véletlen generálású kulcs (session key) visszafejtése a címzett titkos kulcsával (aszimmetrikus eljárás)
  3. Az üzenet visszafejtése a véletlen generálású kulcs (session key) segítségével
  4. Megjelenítés

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.

A digitális aláírás és az üzenet hitelességének ellenőrzése
  • 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 PGP alkalmazása

Saját kulcs készítése

Ha használni akarjuk a PGP-t elõször is saját kulcsunk, illetve kulcspárunk generálása az elsõ feladat. A home könyvtárunkban létre kell hozni egy .pgp nevû alkönyvtárat (mkdir .pgp), és ebbe belépve (cd .pgp) adjuk ki a következõ parancsot: pgp -kg

A program megkérdezi, hogy milyen méretû kulcsot szeretnénk generálni. Három választási lehetõséget kinál fel. Minél hosszabb kulcsot választunk, annál lassabb lesz maga a kulcs generálás és a titkosítás, de nagyobb biztonságot nyújt. Ezután kér egy felhasználói azonosítót a program. Célszerû megadni a nevünket és az e-mail cimünket, például:

Iksz Iplszilon <ikszipszilon@freemail.hu>

Ezután a PGP kér tõlünk egy jelszót. Fontos, hogy jól jegyezzük meg ezt a jelszót. A titkos kulcsunk használatához ugyanis ez, és az a fájl kell (secring.pgp) ahova ezután a program a generált titkos kulcsot teszi. A titkos kulcsot tartalmazó fájl és a jelszó azonosít bennünket.A PGP két fájlt használ a nyilvános/titkos kulcsok tárolására. Ezeket keyring-nek (kulcstartó) nevezik. A nyilvános kulcsok a pubring.pgp, a titkos kulcs(ok) a secring.pgp fájlban vannak. Amikor saját kulcsunkat generáljuk, nemcsak titkos kulcsunk kerül a secring-re, hanem nyilvános kulcsunk is a pubring-re.

Egy fájl titkosítása

Levél titkosításánál a puring.pgp kulcstartónak van szerepe. A következõ parancs segítségével Nagy János titkosíthatja a levelét Kis számára, Kis nyilvános kulcsának felhasználásával:

pgp -e level.txt Kis

A PGP program ekkor egy bináris outputot generál a level.pgp fájlba. Ha a parancsot kiegészítjük egy -a kapcsolóval, akkor karakteres outputot kapunk, amit levélként továbbíthatunk:

pgp -ea level.txt Kis

Az üzenetet -s kapcsoló-val írhatjuk alá. Az aláírást és a titkosítást végezhetjük egyszerre:

pgp -sea level.txt Kis

A PGP a secring.pgp kulcstartón talált elsõ titkos kulcsot használja az aláíráshoz.

Egy fájl dekódolása, aláírásának ellenõrzése

Üzenet dekódolásánál, aláírás ellenõrzésnél csak a kódolandó fáj nevét kell megadni.

pgp dekódolandó fájl név.pgp

A PGP felismeri a titkosítás módját, a kulcsot ami szerint kódolva lett, és kéri a felhasználótól a titkos kulcshoz tartozó jelszót. A jelszó ismerete szükséges a dekódoláshoz. Az aláírás ellenõrzése a pubring.pgp kulcstartó segítségével történik, szintén automatikusan.

Személyes eszközök