Idén júniusban "SOGIS Agreed Cryptographic Mechanisms" címmel megjelent a SOG-IS Crypto WG új ajánlása (1.1. verzió) a SOG-IS Crypto Evaluation Scheme keretében elfogadható kriptográfiai algoritmusokról. (A SOG-IS Crypto Evaluation Scheme az informatikai termékek Common Criteria szerinti biztonsági bevizsgálása során alkalmazott kriptográfiai szempontú követelményrendszer.) A megjelent dokumentum az ETSI szerint a bizalmi szolgáltatásokban használt kriptográfiai algoritmusok kiválasztásához is mértékadó ajánlásnak számít, hiszen az "Algo paper" becenéven ismert TS 119 312 specifikáció is arra épít.
Az eIDAS rendelet szerinti bizalmi szolgáltatások és azok használatával létrehozott bizonyítékok (pl. elektronikus aláírás, elektronikus bélyegző, időbélyegző, stb.) technológiai alapját a nyilvános kulcsú infrastruktúra (public key infrastructure = PKI) adja, amelynek egyik sarokköve a digitális aláírásra használt aszimmetrikus kulcsú kódoló algoritmus. (Ilyen algoritmust használunk mind az elektronikus aláírások és bélyegzők készítésekor, mind az ehhez szükséges tanúsítványok előállításakor, mind időbélyegzéskor.) Az aszimmetrikus kulcsú kódolás alapfeltevése az, hogy minden szereplő két - egymással összetartozó - kulccsal rendelkezik: amit az egyikkel kódolunk, azt a másikkal lehet dekódolni, és fordítva. Az egyik kulcsot titokban kell tartanunk (ezt nevezzük magánkulcsnak), a másikat viszont nyilvánosságra szoktuk hozni (ezt nevezzük nyilvános kulcsnak). A kódolás akkor biztonságos, ha a nyilvános kulcsból a magánkulcsot nem lehet kiszámolni.
Jelenleg a legelterjedtebb ilyen aszimmetrikus kulcsú kódolási eljárás az RSA algoritmus, amely feltalálóinak nevéből (Rivest, Shamir, Adleman) kapta az elnevezését. Az RSA algoritmus a kódolási eljárást hatványozási és maradékos osztási műveletek segítségével definiálja, a kulcsok pedig ezen műveletek paraméterei. A nyilvános kulcs része a maradékos osztásnál használt osztószám, amely két nagyon nagy (többszáz jegyű) prímszám szorzata. A két prímszám ismeretében a magánkulcs kiszámolható lenne. Az RSA algoritmus biztonsága abból fakad, hogy ilyen nagy szorzat esetében a két prímtényezőt nagyon nehéz meghatározni, nem ismert rá hatékony eljárás. Ezt a számelméleti feladatot (egy összetett szám prímtényezőinek megtalálását) faktorizációs problémának nevezzük, amellyel már az ókor óta foglalkoznak a matematikusok. Az RSA algoritmus tehát régi és jól ismert számelméleti alapokon nyugszik, így - bár nem lehetetlen - nem kell attól tartanunk, hogy valaki hirtelen mégis képes lesz "feltörni" (vagyis a nyilvános kulcsból a magánkulcsot kiszámolni). Az RSA algoritmus hátránya viszont, hogy nagyon nagy (pl. 2048, 3072 vagy 4096 bites) kulcsokat kell használni ahhoz, hogy az említett faktorizáció valóban kellően nehéz feladat legyen. A technológiai fejlődés, a számítási kapacitás folyamatos növekedése miatt ráadásul egyre hosszabb és hosszabb kulcsokat kell választanunk, ha meg akarjuk tartani a biztonsági szintet.
A kriptográfiai kulcsok (különösen a magánkulcs) igen kényes, értékes adatok, amiket titokban kell tartani, ezért a tárolásukra és kezelésükre sok esetben speciális hardveres védelmet, például chipkártyát alkalmazunk. A chipkártyák esetében viszont probléma lehet, hogy a nagyon nagy kulcsok tárolásához nincs elég memóriájuk, vagy hogy a nagyon nagy kulcsokkal csak lassan képesek kódolási műveletet végezni.
Erre a problémára van megoldás, olvassa el a következő bejegyzésünket az elliptikus görbékről!
Források / További információ:
© 2024 Microsec zrt. | Cégjegyzékszám: 01-10-047218 | Adószám: 23584497-2-41