650 likes | 918 Views
Kriptográfia. Krasznay Csaba. Kriptográfia. Mi a kriptográfia? Alapfogalmak Történet Kriptográfiai módszerek Titkosítás Feltörés Elektronikus aláírás. A kriptográfia célja. Olyan matematikai algoritmusok, amelyek a CIA hármasból elsősorban a C – bizalmasság és a I – integritás
E N D
Kriptográfia Krasznay Csaba
Kriptográfia • Mi a kriptográfia? • Alapfogalmak • Történet • Kriptográfiai módszerek • Titkosítás • Feltörés • Elektronikus aláírás
A kriptográfia célja • Olyan matematikai algoritmusok, amelyek a CIA hármasból elsősorban a • C – bizalmasság és a • I – integritás • megvalósítására szolgál • A titkosítás hagyományosan (ahogy neve is mutatja) az illetéktelen hozzáférés ellen szolgált
Alapfogalmak • Nyílt szöveg (cleartext) – a titkosítatlan információ, nem csak az arra feljogosított számára értelmezhető • Titkos szöveg (ciphertext) – a titkosított információ, ebben a formájában értelmezhetetlen • Kulcs – olyan információ, amely segítségével a titkosítási műveletek elvégezhetők • Algoritmus (módszer) - olyan eljárás, amely a nyílt és a titkos szöveg közötti konverziót (betitkosítás – encryption; kititkosítás, megfejtés - decryption) végzi a kulcs segítségével
Szimmetrikus és aszimmetrikus • Ha a két kulcs ugyanaz – szimmetrikus titkosítás • titkos kulcsú titkosítás – a kulcsnak titokban kell maradnia • általában egyszerű, gyors algoritmusok • Ha a két kulcs nem ugyanaz – aszimmetrikus titkosítás • nyílt kulcsú titkosítás – az egyik kulcsnak nem kell titokban maradnia (lásd később) • lassabb, bonyolultabb algoritmusok
A Kerkhoff elv • Auguste Kerckhoff (holland kriptográfus, 1835-1903): „A titkosítási rendszer megbízhatósága nem alapulhat az algoritmus titokban tartásán, csak a kulcsok titkosságán” • Shannon: „Az ellenség ismeri a rendszert.” • Schneier: „A titkosítási rendszerben azt kell titokban tartani, amit a legkönnyebben tudunk cserélni, ha ismertté válik.” • A „security by obscurity” általában bukás
Már a régi rómaiak is… • Caesar titkosítása: betűhelyettesítés • 1600-as évekig: kódszavak, betűhelyettesítés, titkos írásjelek, mind triviálisan feltörhető • Balise de Vigenère (1523-1596): nagy lépés, a Vigenère féle titkosítás: a nyílt szöveg is része a kulcsnak. 200 évig nem tudták feltörni. • Gyorsulás 1900-tól • Második világháború: kriptográfia és kriptoanalízis alapvető fontosságú (pl. Enigma és megfejtése) • 1976: DES és a nyílt kulcsú titkosítás (Diffie-Hellman), RSA
Még történelem • 1991: Phil Zimmermann – PGP • 1994: RC5 • 2000: AES (Rijndael)
Titkosítás • Cél: a tárolt vagy átvitt információt elrejteni az illetéktelenek elől • Két alapvető eljárás: • blokkos – a nyílt szöveget blokkonként (pl. 64 bit) titkosítjuk • folyam (stream) – a nyílt szöveget bitenként (pl. XOR) titkosítjuk. Visszacsatolt shift-regiszterrel blokkosból is lehet • speciális eset: a kulcs mérete megegyezik a nyílt szövegével, bitenként XOR – „one time pad” elvileg sem törhető
Titkosítás Blokktitkosító Folyamtitkosító
Alaptípusok • Helyettesítéses titkosítás • pl. Caesar: TITKOS -> ZOZLPD • Keveréses • TITKOS –> OTSKIT • Illetve ennek kombinációi, karakter, blokk vagy bit szinten
Kulcsszétosztás problémája • Szimmetrikus titkosítás: gyors, egyszerű, de hogyan cserélünk kulcsokat? • A küldőnek és a fogadónak (és csak nekik!) is birtokában kell lennie a kulcsnak • Megbízható csatorna kell a kulcs átvitelére: személyesen, futár, stb. • Nehezen működik tetszőleges felek között • Nem skálázható
A megoldás: nyíltkulcsú titkosítás • Kulcspár: titkos (privát) és nyilvános (publikus) • Speciális algoritmus: • amit a titkos kulccsal titkosítunk, csak a nyilvánossal fejthetjük meg • amit a nyilvános kulccsal titkosítunk, csak a titkossal fejthetjük meg • a nyilvános kulcsból nem következtethető ki a titkos • A nyilvános kulcs nyilvánosságra hozható
Titkos átvitel • A küld B-nek: • B nyilvánosságra hozza nyilvános kulcsát • A ezzel a kulccsal titkosítja az üzenetet és elküldi B-nek • B a saját titkos kulcsával megfejti • E lehallgatja az üzenetet, de neki nincs meg a titkos kulcs, nem tudja megfejteni! • Kulcsszétosztás problémája megoldva: a nyilvános kulcs kiadható, a titkosra pedig csak a fogadónak van szüksége • Másik irányú átvitelhez A kulcsára van szükség
Gyakorlati megvalósítások • A teljes üzenet titkosítása nem praktikus nyilvános aszimmetrikus módszerrel • Generálunk egy véletlen kulcsot szimmetrikus eljáráshoz (session key) • A két kommunikáló fél nyílt kulcsú eljárást használva megosztja a véletlen kulcsot • A további kommunikáció szimmetrikus módszerrel történik • Ilyen módszert használ pl. az SSL algoritmus is.
Forrás hitelesítése • B üzenetet küld A-nak, és A szeretne meggyőződni, hogy tényleg B-től jött • B titkosít saját titkos kulcsával • A (és bárki más) az üzenetet megfejti B nyilvános kulcsával • Az üzenet biztosan B-től származik, csak a titkos kulccsal lehet olyan üzenetet készíteni, amit a nyilvánossal lehet megfejteni • F-nek nincs birtokában B titkos kulcsa, nem tud B nyilvános kulcsával megfejthető üzenetet generálni
Példák • Szimmetrikus • DES • double, triple-DES • IDEA • RC5 • AES (Rinjdael) • Nyílt kulcsú • RSA • ElGamal • Diffie-Hellman • Elliptikus Görbék • Hash • SHA-1 • MD5
Törés • Kriptoanalízis: hogyan tudjuk a kriptográfiát a kulcs ismerete nélkül megfejteni? • Triviális megoldás a törésre: kipróbálunk minden lehetséges kulcsot – nem számít igazi törésnek, kulcsméret kérdése • Elemzési módok: • csak a titkos szöveg ismert • ismert a nyílt szöveg és a titkos szöveg • tetszőleges nyílt szöveget kipróbálhatunk
Törés • Régen tipikusan statisztikai alapon • Caesar – valós szövegben előforduló betűk arányai • Vigenere – minden n-edik betűre vizsgálva az arányt • Man-in-the-middle támadás • Születésnapi paradoxon: • A születésnap-paradoxon azon a megállapításon alapszik, hogyha egy szobában 23-an vannak, akkor valamivel több, mint 50% az esélye annak, hogy legalább kettőjüknek ugyanarra a napra esik a születésnapja. Ha legalább 60 ember van a szobában (teremben), ugyanennek a valószínűsége több, mint 99%. • van valószínűsége annak, hogy két különböző dokumentum létezik azonos hash értékkel • Áramfelvétel, időzítés vizsgálata • Schneier: „Mindenki tud olyan titkosítást készíteni, amit maga nem tud feltörni!”
Alkalmazások • Tárolt adatok titkosítása, • Azonosítás és hitelesítés (pl. TLS, Kerberos), • Hálózati kommunikáció titkosítása (pl. SSL, VPN), • Dokumentumok sértetlenségének biztosítása, • Operációs rendszer sértetlenségének biztosítása, stb.
Mi is az elektronikus aláírás? • Olyan elektronikus formában rendelkezésre álló adatot jelent, mely hozzá van csatolva vagy logikailag társítva van egy másik elektronikus adathoz és a hitelesítés funkcióját látja el. • Ez jelentheti akár a digitalizált hagyományos aláírást is, de NEMezt értjük alatta a gyakorlatban!!!
Mi is az elektronikus aláírás? • Az elektronikus aláírás a gyakorlatban egy olyan digitális adat, mely: • az aláírt dokumentum lenyomatát felhasználva, • az aláíró titkos kulcsával kódolva jön létre, • mely egy aláírás-létrehozó eszközön található, • felhasználva az aláíró tanúsítványát, • amiben a dekódoló nyilvános kulcs is megtalálható, • melynek érvényessége a visszavonási listán található, • valamint tartalmazhat egy időbélyegzőt, • melyek a hitelesítés-szolgáltatótól szerezhetők be.
Mi a lenyomat? • Lenyomat: olyan meghatározott hosszúságú, az elektronikus dokumentumhoz rendelt bitsorozat, amelynek képzése során a használt eljárás (lenyomatképző eljárás) a képzés időpontjában teljesíti a következő feltételeket: • a képzett lenyomat egyértelműen származtatható az adott elektronikus dokumentumból; • a képzett lenyomatból az elvárható biztonsági szinten belül nem lehetséges az elektronikus dokumentum tartalmának meghatározása vagy a tartalomra történő következtetés; • a képzett lenyomat alapján az elvárható biztonsági szinten belül nem lehetséges olyan elektronikus dokumentum utólagos létrehozatala, amelyre alkalmazva a lenyomatképző eljárás eredményeképp az adott lenyomat keletkezik.
Mi a titkos kulcs? • Olyan egyedi adat (jellemzően kriptográfiai magánkulcs), melyet az aláíró az elektronikus aláírás létrehozásához használ. • Ezt az egyedi adatot csak és kizárólag az aláíró ismeri. • Valamilyen bonyolult matematikai eljárás segítségével végrehajtott kódoláshoz szükséges paraméter, szám.
0011010100100011101000111110 1101101111000011010111011101
Mi az aláírás-létrehozó eszköz? • Olyan hardver, illetve szoftver eszköz, melynek segítségével az aláíró az aláírás-létrehozó adatok felhasználásával az elektronikus aláírást létrehozza. • Tipikusan egy intelligens kártya, vagy egy számítógépen tárolt fájl.
0011010100100011101000111110 1101101111000011010111011101
Mi a tanúsítvány? • A hitelesítés-szolgáltató által kibocsátott igazolás, amely az aláírás-ellenőrző adatot egy meghatározott személyhez kapcsolja, és igazolja e személy személyazonosságát vagy valamely más tény fennállását, ideértve a hatósági (hivatali) jelleget. • Gyakorlatilag az aláíró elektronikus személyi igazolványa, melyben megtalálható a nyilvános kulcsa is.
0011010100100011101000111110 1101101111000011010111011101
Mi az időbélyegző? • Elektronikus dokumentumhoz végérvényesen hozzárendelt vagy azzal logikailag összekapcsolt olyan adat, amely igazolja, hogy az elektronikus dokumentum az időbélyegző elhelyezésének időpontjában változatlan formában létezett. • Az aláírás után egy megbízható szolgáltatótól kért pontos idő, ami mindenki számára bizonyítja az aláírás pontos dátumát és időpontját.
0011010100100011101000111110 1101101111000011010111011101
Mi a nyilvános kulcs? • Olyan egyedi adat (jellemzően kriptográfiai nyilvános kulcs), melyet az elektronikusan aláírt elektronikus dokumentumot megismerő személy az elektronikus aláírás ellenőrzésére használ. • Mindenki által megismerhető paraméter, tipikusan egy szám. • Segítségével a titkos kulccsal kódolt digitális adat dekódolható.
0011010100100011101000111110 1101101111000011010111011101 0011010100100011101000111110 0011010100100011101000111110 1101101111000011010111011101
Mi a visszavonási lista? • Olyan gép által értelmezhető lista, melyet a hitelesítés-szolgáltató tesz közzé. • Tartalmazza azokat a tanúsítványokat, melyek idő előtt érvénytelenné váltak. • Azokat az elektronikus aláírásokat, melyek az aláírás időpontja előtt visszavont tanúsítványok felhasználásával készültek, nem fogadhatók el.
0011010100100011101000111110 1101101111000011010111011101 0011010100100011101000111110 0011010100100011101000111110 1101101111000011010111011101
Ki az a hitelesítés-szolgáltató? • Elektronikus aláírással kapcsolatos szolgáltatást nyújtó természetes személy, jogi személy vagy jogi személyiség nélküli szervezet. • Olyan harmadik fél, akiben törvény adta kötelezettségei miatt mindenki megbízhat.
0011010100100011101000111110 1101101111000011010111011101 0011010100100011101000111110 0011010100100011101000111110 1101101111000011010111011101
Törvényi háttér • 2001. évi XXXV. Törvény az elektronikus aláírásról és 2004. évi LV. törvény az elektronikus aláírásról szóló 2001. évi XXXV. törvény módosításáról • 3. § (1) Elektronikus aláírás, illetve elektronikus dokumentum elfogadását - beleértve a bizonyítási eszközként történő alkalmazást - megtagadni, jognyilatkozat tételére, illetve joghatás kiváltására való alkalmasságát kétségbe vonni - a (2) bekezdés szerinti korlátozással - nem lehet kizárólag amiatt, hogy az aláírás, illetve az irat vagy dokumentum elektronikus formában létezik. • (8) Minősített tanúsítványt bármely - a (3)-(4) bekezdés szerinti - bírósági vagy államigazgatási eljárásban el kell fogadni.
Törvényi háttér • 4. § (1) Ha jogszabály a 3. § (2)-(4) bekezdésében foglaltakon kívüli jogviszonyban írásba foglalást ír elő, e követelménynek eleget tesz az elektronikus dokumentumba foglalás is, ha az elektronikus dokumentumot fokozott biztonságú elektronikus aláírással írják alá. • (2) Ha az elektronikus dokumentumon kívüli elektronikus dokumentumon minősített elektronikus aláírás szerepel és az aláírás ellenőrzésének eredményéből más nem következik, vélelmezni kell, hogy a dokumentum tartalma az aláírás óta nem változott.
Hogy is kell ezt érteni? • Az elektronikus aláírásnak két olyan típusa van, mely az előadást tekintve érdekes: • fokozott biztonságú elektronikus aláírás, • minősített elektronikus aláírás. • A fokozott biztonságú aláírás teljes egészében kiválthatja papíralapú ügymenetet az üzleti életben. • A minősített elektronikus aláírás az állammal való kapcsolattartást is át tudja helyezni digitális alapokra – amennyiben ezt a terültre vonatkozó jogszabály megengedi.
Mindenhol jelenlevő alkalmazások • Törvény szerint hiteles levél írása a partnernek gyakorlatilag bármelyik levelezőkliensből • Fokozott biztonságú aláírással • Pl. Microsoft Outlook 2003
Mindenhol jelenlevő alkalmazások • Hiteles dokumentumok létrehozása • Pl. jelentés készítése fokozott biztonságú elektronikus aláírás segítségével • Pl.: Microsoft Word 2003
Mindenhol jelenlevő alkalmazások • Nyilvánosan publikálható, aláírt vagy aláírandó dokumentum létrehozása • Pl. megrendelőlap az interneten fokozott biztonságú elektronikus aláírás segítségével • Pl. Adobe LifeCycle Reader Extensions és Adobe Acrobat Reader 6.0