Kormányablak, Ügyfélkapu, magyarorszag.hu, kormany.hu
KORMÁNYABLAK, ÜGYFÉLKAPU - A ZÁRT AJTÓK MÖGÖTT...
(nem hivatalos e-kormányzati témájú oldal)
  
BEMUTATKOZÁS 
E-KÖZIGAZGATÁS 
IT BIZTONSÁG 
  
































  Mottó:
Summáját írom Egör várának
Megszállásának, viadaljának
/Tinódi Lantos Sebestyén:
Egri históriának summája/
2015. november 22.  
 Hacktivity 2015: Summáját (alá)írom... 
   
Az idei Hacktivity 2015 konferencián a jelen problémái helyett már a közeli (10 éven belüli?) jövő kriptográfiai problémáiról tartottam előadást, a post-kvantumkriptográfiáról (pqcrypto).



A téma kapcsán ugyan sokan inkább az új infrastruktúrára és az ottani kvantum kulcsszétosztási (QKD - Quantum Key Distribution) problémák megoldására gondolnak, a jelen előadásomban azonban nem ez került a középpontba. A pqcrypto téma a hagyományos számítógépen és kvantumszámítógépen egyaránt erős matematikai problémákról és alkalmazható kriptográfiai algoritmusokról szól (azaz pont nem szükséges a futtatásukhoz más infrastruktúra).





A kvantumszámítógép ugyan egy új világot jelent, de nem szabad elfelejtenünk az eddig tanultakat: ugyanúgy figyelnünk kell a matematikai problémákra, az implementációs problémákra, a paraméterezési, felhasználási problémákra, illetve a környezeti függőségekből eredő problémákra. Ha pedig nem tudunk rájuk kellőképpen figyelni, akkor muszáj legalább a lényegi részeit a kódnak átvizsgáltatni. Figyelem! Ez nem azonos azzal, hogy csak kitesszük a forrás állományokat letölthetőként a népnek, mert belefuthatunk olyan pofonokba, mint amilyeneket az OpenSSL projekt kapott...





A pqcrypto algoritmusok létjogosultságát a Shor algoritmus és a Grover algoritmus adja. Bár, nem tudjuk, hogy mikor állnak hadrendbe olyan kvantumszámítógépek, amelyek ezen algoritmusok futtatására is alkalmasak lesznek (legalábbis olyan nagyságrendű számokkal, amelyek a napjainkban alkalmazott RSA-ra már veszélyesek), de tudni érdemes, hogy az átállás más algoritmusokra, az átmeneti időszak nem is lesz olyan egyszerűen kezelhető minden esetben. Az adatok hitelességének biztosítása, a pqcrypto-alapú digitális aláírás rétegek akár az utolsó előtti pillanatban is ráhúzhatók a meglevő struktúrákra. Ezzel nincsen baj. A rejtjelezett adatok védelme viszont problémát jelent, hiszen a legtöbb esetben CMS/PKCS#7, XML Encryption, PGP/GPG megoldásokat használnak, amelyek (pl. az SSL/TLS handshake-hez hasonlóan) vegyesen alkalmazzák a kriptográfiát: az adat maga szimmetrikus kulccsal kódolódik, de a szimmetrikus kulcs aszimmetrikus kulccsal kerül kódolásra és beágyazásra ezen adatstruktúrákba. Mivel ez utóbbit a kvantumszámítógép polinóm (négyzetes polinóm) időben fogja törni, ezért a szimmetrikus kulcshoz hozzá tudnak jutni és így a rejtjelezett adatokat meg tudják fejteni. Márpedig ez aggasztó, hiszen simán lehetnek olyan bizalmas adatok (pl. nemzetbiztonságnál), amelyeket több, mint 10 évig kellene tudni védetten, elektronikusan tárolni... Egyelőre nehéz azt megjósolni, hogy pl. a McEliece lesz-e a jövő aszimmetrikus kódoló algoritmusa vagy sem, azaz nem lehet ész nélkül, azonnal leváltani a jó öreg RSA-t. Azt viszont tudjuk, hogy a kizárólag szimmetrikus kriptográfián alapuló algoritmusok (pl. AES) továbbra is ellenállóak lesznek, igaz egy AES-256 a kvantumszámítógépen már "csak" annyit fog érni, mint egy AES-128 a hagyományos számítógépen. Jobb ötlet azonban nincs! Tehát, talán az lehet a "best practice", hogy kriptográfia szintjén érdemes a tisztán szimmetrikus kódoló algoritmusokra váltani a bizalmasság (adatok rejtjelezése) kapcsán...





A szabványosító szerveknél (IETF, ETSI), illetve EU-szinten 2013 óta került középpontba a pqcrypto téma, részben Edward Snowden szivárogtatásainak köszönhetően. A szabványosítási folyamatok szükségesek ahhoz, hogy szélesebb körben használható megoldások születhessenek. Egyelőre azonban csak a hash-alapú algoritmusok világát járták körül a szakemberek. Az elkészült RFC draft-ok közül a jelen előadásban az egyik ilyen algoritmus, az LDWM (Lamport-Diffie-Winternitz-Merkle) működését mutattam be saját mintakódon keresztül. (A megfelelő működés ellenőrzéséhez rendelkezésre álltak "test vector" adatok is az RFC draft anyagokban.)












A hash-alapú algoritmusok egyszeri, vagy korlátos N-szeri (Merkle-fák) aláírás létrehozására alkalmasak. A kulcspár titkos fele meghatározott számú véletlenszámból (pontosabban azokból képzett lenyomatból) áll, a nyilvános kulcsok pedig ezekből - Winternitz paramétertől függő lenyomatképzési iteráció révén - kerülnek származtatásra. Az aláírandó adatból is lenyomatot kell képezni, amelyeket különböző - Winternitz paramétertől függő - méretű darabkákra kell felosztani. Az aláírás létrehozása során ezek - tehát az aláírandó adat darabkái - határozzák meg, hogy a titkos kulcsot hány lenyomatképzési iteráción kell keresztülzavarni. Az aláírás ellenőrzése során pedig ezen köztes állapotú titkos kulcsot - vagyis az aláírást magát - kell továbbszámítani, amíg az iterációs szám nem éri el a nyilvános kulcs létrehozásához szükséges elméleti felső határt. Az aláírás létrehozása és ellenőrzése tehát nem áll másból, mint a titkos kulcs folyamatos lenyomatolásából, ahol első lépésben az aláírás maga kerül kiszámításra, második lépésben pedig a nyilvános aláírásból lehet eljutni további lenyomatolások révén a nyilvános kulcsig (ha az aláírás jó).




Az elvontabb, tudományos, matematikaibb dokumentációk, illetve az RFC-jellegű szabványok azonban gyakran nem elegendőek ahhoz, hogy egy-egy új technológia el tudjon terjedni, éppen ezért azt is megvizsgáltam az előadásban, hogy miképp lehet egy ilyen új algoritmust bevezetni a jelenlegi, X.509 tanúsítványokon és CA-kon (hitelesítés-szolgáltatókon) alapuló világba. Tulajdonképpen a nyilvános kulcsok, titkos kulcsok és aláírások adatstruktúráiban nincs lényeges eltérés a jelenleg elterjedt algoritmusokhoz képest (csak a műveletek végrehajtásában és a kulcsok életciklusában), ezért ez nem tűnik leküzdhetetlen akadálynak. A felhasználási területek meghatározása az, aminél körültekintőnek kell lenni tudva, hogy ezek a hash-alapú algoritmusok egyszeri, vagy korlátos N-szeri (Merkle-fák) aláírás létrehozására alkalmasak. Nem, nem lesznek jók pl. az Apache web szerver mod_ssl rétegének, ott McEliece, NTRU vagy más algoritmus lehet a befutó, viszont a kriptográfiai értelemben vett egyszerűségük és biztonságuk, könnyű használhatóságuk miatt humán felhasználásnál ideálisak lehetnek (pl. minden állampolgár megkap előre, pre-paid jelleggel, tízezer tranzakció végrehajtásához szükséges, egyszeri aláírást létrehozó kulcspárt az e-SZIG kártyájára, ami e-ügyintézéshez elegendő lehet számára egész életére).

Kapcsolódó anyagok:
 vissza 
   
  info@kormanyablak.org
info@ugyfelkapu.info