PGP Az informatikai biztonság alapjai II. Készítette: Póserné Oláh Valéria poserne.valeria@nik.bmf.hu
Miről lesz szó? A PGP program és telepítése Kulcsmenedzselés saját kulcspár generálása, publikálása magánkulcs védelme mások kulcsaihoz való hozzáférés kulcsok hitelesítése Levelek titkosítása, visszafejtése Digitális aláírás Fájlok titkosítása, digitális aláírása, visszafejtése 2
A PGP program Pretty Good Privacy = elég jó biztonság vagy Tuti Jó Titkosítás Az adatbiztonságot ot szolgáló, titkosító kulcsrendszer, mely az internet kommunikációnak nak egy alapvető feltételét hivatott szavatolni. Matematikai algoritmusokat használva kódol fájlokat, hogy megakadályozza az illetéktelen hozzáférést. 1991 óta szabadon terjeszthető. 3
A PGP jellemzői 80-as évek második fele: Philip R. Zimmermann elkezdi a program fejlesztését Cél: feltörhetetlen rejtjelezést alkalmazó egyszerű alkalmazás kifejlesztése. Kombinált kriptográfiai rendszer: szimmetrikus algoritmusként IDEA-t, aszimmetrikusként RSA-t alkalmazott. Az újabb verziók által használt algoritmusok: Szimmetrikus: CAST, AES, Triple-DES, IDEA, Twofish Aszimmetrikus: RSA, Diffie-Hellman. CAST: szerzői Carlisle Adams és Sta ord Tavares, a DES és az IDEA elvén működik AES: Advanced Encryption Standard Triple-DES : a DES algoritmus egy továbbfejlesztett változata IDEA: International Data Encryption Algorithm Twofish: 128 bites blokk-kódoló algoritmus RSA: szerzői Ron Rivest, Adi Shamir, Leonard Adleman Diffie-Hellman: publikus kulcsú kriptografikus algoritmus 4
A PGP-vel kapcsolatos fogalmak (emlékeztető) (1) Szimmetrikus titkosítás a titkosításhoz és kódoláshoz ugyanaz a kulcs használatos, 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, pl. személyes találkozáskor. előnye: a gyorsaság, hátránya: megnehezíti az azonnali és globális kommunikációt. 5
A PGP-vel kapcsolatos fogalmak (emlékeztető) (2) Aszimmetrikus titkosítás minden felhasználó (feladó és címzett) 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. Mj.: 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. 6
A PGP-vel kapcsolatos fogalmak (emlékeztető) (3) Titkos kulcs 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 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 nyilvános kulcsot minél szélesebb körben kell ismertté tenni. 7
A PGP-vel kapcsolatos fogalmak (emlékeztető) (4) 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. 8
A PGP-vel kapcsolatos fogalmak (emlékeztető) (5) 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 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 funkció kiegészítése a visszaélések megelőzésére. 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 9 alkalmas mesterkulcsa legyen.
Az üzenet titkosításának lépései (1) 10
Az üzenet titkosításának lépései (2) Tömörítés: tömöríti a titkosítani kívánt adatot Szimmetrikus titkosítás egy véletlen generálású kulccsal (session key): még nagy méretű adatfolyam esetében is gyors. A véletlen generálású kulcs (session key) titkosítása a címzett nyilvános kulcsával (aszimmetrikus titkosítás) a session kulcs kis méretű, ezért a titkosítás gyorsan megtörténik létrejön egy olyan csomag, amely tartalmazza a titkosított adatot és a visszafejtéshez szükséges kulcsot - titkosítva Küldés 11
A titkosított üzenet visszafejtése 12
A PGP program telepítése (1) Most nem telepítünk, de a telepítő letölthető a http://nik.bmf.hu/poserne/iba/install/ címről. Ha nincs előző verzió telepítve a gépen, akkor a beköszönő ablak jelenik meg (lépjünk ki minden egyéb alkalmazásból). Next 13
A PGP program telepítése (2) License feltételek elfogadása Next non-profit (diákoknak, oktatási intézményeknek, karitatív intézményeknek és szervezeteknek, és nem üzleti célból otthoni felhasználóknak) és a nem kormányzati célú felhasználásra ingyenes. 14
A PGP program telepítése (3) A Read Me elolvasása után Új felhasználó esetén az alkalmazásnak többletfeladatai lesznek. Régi felhasználó esetén (más gépen használtuk a PGP-t), az ott kimentett kulcs-fájlokat az új helyen is alkalmazhatjuk. Next 15
A PGP program telepítése (4) A telepítés helyének beállítása után az egyes komponensek kiválasztása Next 16
A PGP program telepítése (5) A számítógép újraindulása (a betöltéskor megtörténik a rendszerbe integrálódás) Finish 17
Saját kulcspár generálása (1) A PGP csomag PGPkeys alkalmazásával Keys New Key 18
Saját kulcspár generálása (2) Az Expert gombra kattintva finomhangolási lehetőség Next 19
Saját kulcspár generálása (3) Full name: saját nevünk (kerüljük az ékezeteket) E-mail address: elektronikus levélcímünk Key type: a kulcs típusa lehet Diffie-Hellman/DSS, RSA, vagy RSA Legacy Key size: Diffie-Hellman/DSS és RSA esetén 1024-4096 RSA Legacy esetén 1024-2048 Key expiration: kulcs érvényességi ideje Mj. 1. RSA Legacy típust akkor válasszunk, ha 7.0-nál régebbi PGP verzió felhasználóival is kommunikálunk. 2. Az érvényességi idő lejárta után a kulcs csak visszafejtésre és digitális aláírás ellenőrzésére használható. 3. Minél hosszabb a kulcs, annál tovább tartanak vele a műveletek. 20
Saját kulcspár generálása (4) Passphrase: jelszó megadása a magánkulcsunk védelmére Confirmation: jelszó megismétlése Hide Typing: jelszó gépelés elrejtése Passphrase Quality: jelszó erőssége (minél hosszabb legyen a csík) 21
Saját kulcspár generálása (5) Kulcskarikánkon kulcsaink rendelkezésre állnak 22
Kulcs exportálása lemezes Keys Export állományba Include Private Key(s): kijelölve a fájlba a magán kulcs is bekerül!!! Include 6.0 Extensions: ha a címzett 6.0 előtti verzióval rendelkezik ne jelöljük ki 23
Kulcs importálása lemezes Keys Import kulcsot tartalmazó fájl kiválasztása megnyitás kulcs ellenőrzése után Import állományból (1) 24
Kulcs importálása lemezes állományból (2) Kulcs ellenőrzése: j.g. a kiválasztott kulcsra Key Properties Fingerprint ellenőrzése ID: a kulcs egyedi azonosítója Type: a kulcs típusa Size: a kulcs mérete bitekben Created: keletkezési dátum Expires: lejárati dátum Cipher: a használandó szimmetrikus titkosító algoritmus Fingerprint: a kulcs ujjlenyomata Hexadecimal: az ujjlenyomat hexadecimális megjelenítése 25
A titkosító algoritmus beállítása Edit Options Advenced Prefered algorithm Mj.: Allowed Algorithm: le lehet tiltani az általunk nem preferált hagyományos rejtjelezési módszerek használatát. 26
Kulcs exportálása és importálása vágólapon keresztül Exportálás: A kulcslistában j.g. az exportálandó kulcs bejegyzésére Copy levél megírása a kulcs beillesztése küldés Importálás: A teljes kulcsblokk kijelölése vágólapra másolás Edit Paste valódiság ellenőrzés Import 27
Példa a teljes kulcsblokkra -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGP 8.0.2 - not licensed for commercial use: www.pgp.com mqgibepuyc8rbad9cgxqooqmhsizhu7mo9+vv8swndlygsaspnzppv1dvgbsdex2 D9Cyeg4ogDBEqQY3ikWRktQDCcYgyEXKkeUK/a4vR8D6xDc6K8vJLAt3Aqxgtyui Dqg77pbsHilQHRGbg3jk7iivYohg5QagzloXycShylHtBNNcHtIfqgVpsQCg/zntznt DJ64JmcmBFno3ofTWy0h+ecD/3xjlYKF3Mr7rTCICnyleHyk2c7IU/m9iylxbl72 eazjsu2nb8a1gpf4mcxiqghieg2xab2qjq+igribexh/mc4f6c12ceyi8ywfls3p Gi4tIKoYrVIG28XtL7prcAffgwvm7bq18rYGFy3QNSaFk3mQeEqSHKzlOwnn0rxK ethdbadjore3cnc/idukqc2yt64hwmzvndbco3pfn82p21kjg/qtas0l1bai2ztw CR/HYVnGWXv6FxFlWRMk84MucxnKIGGiJ7AY6fXtzXA//LH1+0bWZu14QZT+ZdVj aks4ddyzh6dflftevffyjilmxozm2yh87uikohngsrofrzjaq7qnug9zzxjuzujn RiA8cG9zZXJuZS52YWxlcmlhQG5pay5ibWYuaHU+iQBYBBARAgAYBQJD7mHPCAsJ CAcDAgEKAhkBBRsDAAAAAAoJEAABLvtTs49D/EIAni/VVx0C9RtqvTSODMKX/ /VVx0C9RtqvTSODMKX/bcf scb1aj9krto8wso84lb0pff+wtz+jfe4z7kcdqrd7mhpeaga9kjxtwh/cbdyorrwcbdyorrw qulzbej5uxe5t7bxbrllocdaaadwoxtpj0bv89ahxstdqzst90xkhkn4dio9zekx 1KHTUPj1WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFeZFe xwgq01uejaclcjrugvc/rgbyk+x0ip1ytknbzsc0nesrbzzrm2w4duudd3yisxx8 Wy2O9vPJI8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18 hkckctagxamzyacpesqvdnmwn6vqclcbakbtcd1mpf1bn5x8vyllihkmuquixsnv 6TILOwACAggA3KWA9gvrUAVqrgDdOI/FJh7O7wgUEAWV9gQnfLFaNYBGAJDWZ+Tu 93oP+5gL8Dg702YQNAUTSad3smfQwxw35QTyJX7dY5GSYlHJ9K0ZAtY1qksedty6 nafp33tcebx2casg9tmtlf301hkirj+qc/qoi+wmtjm2/p199fdswykyd46cvhhw nbtdy0hbqoyo41eq3vuzhkrwtd1na7rb3lutx0oxalor6vgcw77g3ckyyevmhtku A3HYiLvP+niWIMFv+PvhyXkHcbtyO3yUUpEtA+f2dAK303rEDMVWBmPoq8ysGWA+ 6v+gu1zSV8Rsy+0JWfbH/U2CLbXBiTU65IkATAQYEQIADAUCQ+5hzwUbDAAAAAAK CRAAAS77U7OPQ1DlAJ9us9IunrvSl4KFWUNxd8PiD2I8xACg2eHfR4r0HzONypFr epxrtvhfv/u= =D7zC -----END PGP PUBLIC KEY BLOCK----- 28
Aktív ablak tartalmának titkosítása (1) A levél szövegének megírása és a címzés után kattintson a tálca lakat ikonjára Current Window Encrypt publikus kulcs kiválasztása Mj.: az aktív ablak jelen esetben a levelünket tartalmazó ablak, mely formázás nélküli szöveget kell, hogy tartalmazzon. 29
Aktív ablak tartalmának titkosítása (2) A kiválasztott kulcs áthelyezése a Recipients mezőbe Secure Viewer: A dekódolt szöveg megjelenítése speciális fontkészlettel Conventional Encryption: Hagyományos rejtjelezés 30
Aktív ablak titkos tartalmának visszafejtése A levél megnyitása után kattintson a tálca lakat ikonjára Current Window Decrypt & Verify Mj.: az aktív ablak jelen esetben a kapott titkos levelünket tartalmazó ablak. 31
A digitális aláírás (1) 32
A digitális aláírás (2) A címzett meggyőződhet a neki küldött üzenet hitelességéről (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). Az aláírás és az ellenőrzés folyamata Aláírás a feladó titkos kulcsával Ellenőrző összeg (kis méretű) készítése egy ún. hash függvény alkalmazásával és beillesztése az üzenetbe Akár egy karakternyit változtatás az üzenetben a hash függvény más ellenőrző összeget hoz létre a feladó, illetve a címzett oldalán. Küldés Fogadás Ellenőrzés a feladó nyilvános kulcsával Az ellenőrző összeg az üzenet részeként jut el a címzetthez, így az ellenőrzés során azonnal kiszűrhető az esetleges módosítás. 33
Aktív ablak tartalmának digitális aláírása, titkosítása A levél szövegének megírása, címzése j.g. a tálca ikonjára Current Window Encrypt & Sign küldés Mj.: az aktív ablak, most a levelünket tartalmazó ablak, formázás nélküli szöveget kell, hogy tartalmazzon. 34
Aktív ablak digitálisan aláírt titkos tartalmának visszafejtése A levél megnyitása után katt. a tálca ikonjára Current Window Decrypt & Verify Mj.: az aktív ablak jelen esetben a kapott titkos, aláírt levelünket tartalmazó ablak. 35
Aktív ablak tartalmának digitális aláírása, majd titkosítása A levél szövegének megírása, címzése j.g. a tálca ikonjára Current Window Sign j.g. a tálca ikonjára Current Window Encrypt küldés Mj.: az aktív ablak most a levelünket tartalmazó ablak, mely formázás nélküli szöveget kell, hogy tartalmazzon. 36
Aktív ablak digitálisan aláírt titkos tartalmának visszafejtése A levél megnyitása után kattintson a tálca ikonjára Current Window Decrypt & Verify Mj.: az aktív ablak jelen esetben a kapott titkos, aláírt levelünket tartalmazó ablak. 37
Hibás digitális aláírás hamis, vagy módosított Figyelmeztetést kapunk a módosításról. 38
Lemezes állományok titkosítása, digitális aláírása, visszafejtése Mikor lehet szükség lemezes állomány titkosítására vagy digitális aláírására? közös géphasználat hordozható gép elvesztése, ellopása hordozható eszközök (pl. pen drive, CD stb.) titkosítási használata ha a levelező állományt lehetőség plugin nélküli nem webes levelező titkosítja a csatolt 39
Fájlok titkosítása (1) Titkosítás: j.g. a fájl nevére PGP Encrypt A címzett(ek ek) nyilvános kulcsát húzzuk a Recipients mezőbe 40
Fájlok titkosítása (2) Text Output: a titkosított állomány szöveges formátumú lesz (alapértelmezés: bináris) Input Is Text: a titkosítandó fájl formázatlan szöveg Wipe Original: fizikailag törli az eredeti állományt Secure Viewer: Secure Viewer nézetben jelenik meg a dekódolt formázatlan szöveg Conventional Encryption: egyszerű szimmetrikus titkosítás használata Self Decrypting Archive: önvisszafejtő állomány keletkezik (nem kell a visszafejtéshez PGP program) Mj.: csak egyszerű szimmetrikus titkosítás esetén használható Dekódolás: A beállított opcióktól függően, általában titkosított fájl megnyitása Jelszó megadása 41 a
Fájlok digitális aláírása (1) Aláírás: j.g. a fájl nevére PGP Sign kulcsválasztás Jelszó megadás Detached Signature: az aláírás külön fájlban keletkezik Text Output: a kimenet szöveges formátumú Input Is Text: az aláírandó fájl formázatlan szöveg 42
Fájlok digitális aláírása (2) A keletkező állomány kiterjesztése: eredeti_név.sig különálló aláírás fájl esetén eredeti_név.pgp teljes aláírt fájl és bináris formátum választása esetén eredeti_név.asc teljes aláírt fájl és szöveges formátum választása esetén Módosítás utáni ellenőrzés: 43