NETLOCK BLOG
RSA és ECC – barátok vagy ellenségek?
A titkosító algoritmusok képzik a biztonságos kommunikáció alapjait. Többféle titkosítás létezik, ezek közül a két legelterjedtebb algoritmus az RSA (aszimmetrikus) és ECC (elliptikus görbe) algoritmuson alapuló eljárás. Cikkünkben összehasonlítottuk ezeket az algoritmusokat, melyről az alábbiakban sok hasznos információt elolvashatsz.
Amit az algoritmuselévülésről tudni kell
Ma már talán kijelenthető, hogy széles körben ismert tény az, hogy a titkosító algoritmusok, a technológiai fejlődés hatására elavulnak és feltörhetővé válnak. Igaz ez, az elektronikus aláírás vagy titkosítás során, szinte észrevehetetlenül használt kriptográfiai algoritmusokra, de minden más felhasználási területre is. A közhiedelemmel ellentétben ezek az algoritmusok nem feltörhetetlenek. Minden algoritmus törhető! Ez a tény már az algoritmusok megalkotásánál is ismert volt.
Mégis miért bízunk meg ezekben az algoritmusokban?
A válasz talán evidens lesz hiszen, a feltörésükhöz szükséges idő évezredekben mérhető. Ezt pedig egyik támadó sem tudja kivárni. Ezt a sok ezer évet a jelenlegi számítógépek számítási kapacitásából kiindulva mondhatjuk.
Miért biztonságosak az algoritmusok?
A legelterjedtebb, az elektronikus aláírás technikai hátterében is használt titkosítási algoritmus az RSA. Az RSA-hoz kulcspárokat használunk, egy publikus kulcsot és egy titkos kulcsot. A publikus kulcsú titkosítás előnye, hogy a küldő és a fogadó félnek nem kell semmilyen titkos jelszót vagy kulcsot cserélnie egymással a biztonságos kommunikáció érdekében. Emellett, a titkos kulcsot nem szabad az aláírón kívül másnak megismernie. Védelme egy matematikai problémán alapul. Leegyszerűsítve, két nagy prímszámot összeszorzunk.
A feladat, hogy a szorzat ismeretében, meg kell tudni határozni a szorzáshoz használt két prímszámot. Ha a támadó sikerrel jár, megismeri a prímszámokat és vele együtt a titkos kulcsot is. A matematikában egy összetett szám prímtényezőkre bontását prímfaktorizációnak nevezzük. A prímfaktorizáció elméletileg elvégezhető minden esetben, ám nagy számok esetében nincs rá hatékony módszer, így hosszas számítások, idő és energia befektetés árán lesz csak lehetőségünk elvégezni. Ezáltal a jelenleg használt RSA és ECC algoritmusok megfelelőek a biztonsági szabályozásokat illetően.
Mégis miért avulnak el az algoritmusok? Miért fontos a kulcsok mérete?
A technológiai fejlődéseket figyelembe véve évről évre tájékozottnak kell lennünk a biztonsági megoldásokat illetően. Azonban a technológiai innováció egyre gyorsabb számítógépeket teremt, ez pedig azt eredményezi, hogy az algoritmusok feltöréséhez szükséges sok ezer évből, idővel pár ezer év lesz, majd pedig pár száz év, végül órák, percek. Látható, hogy egy idő után (ami hosszú években, évtizedekben mérhető) minden algoritmusra az elavulás sorsa vár. Annak érdekében, hogy ne okozzon jelentős problémát ez az elavulási folyamat, szerencsére lehetőség van a titkosítás során használt kulcs méretének növelésére. Minél nagyobb az algoritmushoz használt kulcsunk, annál nagyobb prímszámokat kell tudnia meghatározni a támadónak. Ahogy növeljük a kulcsméretet, úgy hatványozottan növekszik a visszafejtéséhez szükséges számítási kapacitás. Így a kulcsméret növelésével is tudunk védekezni az elévülés ellen.
Honnan tudjuk mikor évül el az algoritmusunk?
Mikor válik kockázatossá a kulcs jelenlegi mérete? Ennek a problémának a kiértékelésével nemzetközileg sok szakember és intézmény foglalkozik, többek között a NIST. Munkájuk eredményeként ajánlások, szabványok készülnek. Ilyen szabvány az ETSI TS 119 312, mely az eIDAS által szabályozott minősített elektronikus aláírásoknál használatos algoritmusokra vonatkozik.
A szabvány meghatározza, hogy 2025 év végéig ajánlott a jelenleg széles körben elterjedt, 2048 bit méretű kulccsal az RSA algoritmus használata, melyet a NETLOCK rendszere használ. Mivel elterjedt a 3 éves tanúsítványok használata, így időszerű 2022-as év végéig a kulcsméret növelése. A szabvány ajánlása szerint az RSA esetében legalább a 3072 bit-es kulcsméret, vagy az ECC algoritmus használata a javasolt. A szabvány legfrissebb v1.5-ös kiadása alapján 2029-ig teljes mértékben elegendő az RSA algoritmuson alapuló titkosítás.
TL;DR - NETLOCK MEGFELEL ÉS FELKÉSZÜLT!
A kulcsméret növelése meddig hosszabbíthatja meg egy algoritmus életciklusát?
A kulcsméret növelése nem lehetséges akármeddig sem az RSA sem az ECC algoritmus esetén, mivel a kulcsok tárolása egy idő után nem válik gazdaságossá. Az RSA és ECC algoritmusok esetében még bőven lehetséges a kulcsméret növelése a jövőben is.
A jelek szerint, az algoritmusok elévülésében, vélhetően a kvantumszámítógépek fogják a legnagyobb szerepet játszani a jövőben. A kvantumkorszak jelenleg még nem fenyeget közvetlenül minket, de a kvantumszámítógépek tömeges megjelenésekor egy nagy ugrás várható a prímfaktorizáció felgyorsulásában a hatalmas párhuzamos számítási teljesítmény miatt.
Hogyan tudjuk elkerülni az algoritmus elévülést?
A várható elévülésre előzetesen felkészülhetünk, hiszen a jövőben használt algoritmusokat úgy tervezik, hogy le tudják váltani a jelenleg legelterjedtebb titkosítási módszereket, mint például az RSA és az ECC megoldásokat, amelyek a biztonságos kommunikáció gerincét képezik. A jelenleg használt megoldások, nagyfokú sebezhetőségnek lesznek kitéve a kvantumszámítógépek széleskörű megjelenésével.
Megjelenésükkor, már az RSA és az ECC algoritmus sem lesz elég megbízható, ekkor már az úgynevezett Post-Quantum algoritmusra lesz szükséges átállnia a NETLOCK-hoz hasonló hitelesítés szolgáltatóknak. Ameddig a Post-Quantum szabvány fejlesztés alatt áll (várhatóan 2024-re kerül véglegesítésre), korai lenne az algoritmus implementációja, mivel változhat a szabvány véglegesítése előtt.
Kérdésed van?
Nézz szét az Gyakran Ismételt Kérdések között vagy keresd szakértőinket telefonon, e-mailben:
+36 1 437 6655
info@netlock.com
Blog bejegyzések
Hamarosan további cikkeket, szakmai tartalmakat olvashattok felületeinken.