Bevezetés
A nyilvános kulcsú kriptográfia (Public Key Cryptography – PKC), másik nevén aszimmetrikus kriptográfia olyan keretrendszer, amely egyszerre használ egy privátkulcsot és egy nyilvános kulcsot, ellentétben a szimmetrikus kriptográfiával, amely egyetlen kulcsot használ. A kulcspárok használata egyedi jellemzőket és képességeket nyújt a PKC-nek, amelyek segítségével megoldhatja a más kriptográfiai technikák veleszületett kihívásait. Ez a fajta kriptográfia a modern kori számítógép-biztonság fontos elemévé vált, és az egyre növekvő kriptovaluta-ökoszisztéma létfontosságú komponense.
Hogyan működik a nyilvános kulcsú kriptográfia?
A PKC-sémákban a küldő a nyilvános kulcs segítségével titkosítja az információt, míg a címzett a privátkulcsot használja a visszafejtéshez. Mivel a két kulcs különbözik egymástól, a nyilvános kulcsot nyugodtan meg lehet osztani anélkül, hogy veszélyeztetnénk a privátkulcs biztonságát. Minden aszimmetrikus kulcspár egyedi, biztosítva, hogy egy nyilvános kulccsal titkosított üzenetet csak a hozzá tartozó privátkulcsot birtokló személy tudja elolvasni.
Mivel az aszimmetrikus titkosítási algoritmusok matematikailag összekapcsolt kulcspárokat hoznak létre, sokkal nagyobb kulcshosszal dolgoznak, mint a szimmetrikus kriptográfiában. Ez a nagyobb – általában 1024 és 2048 bit közötti – hossz rendkívüli mértékben megnehezíti, hogy valaki a nyilvános kulcsból kiszámítsa a hozzá tartozó privátkulcsot. Az aszimmetrikus titkosításban manapság leggyakrabban használt algoritmus az RSA-módszer.
Az RSA a kulcsokat olyan modulussal generálja, amelyet két szám (gyakran két nagy prím szám) szorzataként kapnak. Egyszerűen szólva: a modulus két kulcsot generál (egy nyilvános kulcsot, amely megosztható, és egy privát kulcsot, amelyet titokban kell tartani). Az RSA algoritmust először Rivest, Shamir és Adleman (innen az RSA rövidítés) írta le 1977-ben, és a mai napig meghatározó eleme a nyilvános kulcsú kriptográfiai rendszereknek.
A PKC mint titkosítási eszköz
A nyilvános kulcsú kriptográfia a szimmetrikus algoritmusok egyik régóta fennálló problémáját orvosolja, nevezetesen annak a kulcsnak a kommunikálását, amely a titkosításhoz és a visszafejtéshez használatos. Ha ezt a kulcsot egy nem biztonságos csatornán keresztül küldik el, azzal kockáztatják, hogy azt harmadik felek megismerhetik, és a megosztott kulccsal titkosított összes üzenetet elolvashatják. Habár a probléma megoldására már léteznek kriptográfiai technikák (például a Diffie-Hellman-Merkle féle kulcscsereprotokoll), a támadásokkal szemben még mindig érzékenyek. Ezzel szemben a nyilvános kulcsú kriptográfiában a titkosításhoz használt kulcsot bármilyen kapcsolaton keresztül biztonsággal meg lehet osztani. Ennek eredményeképpen az aszimmetrikus algoritmusok magasabb szintű védelmet kínálnak a szimmetrikusokhoz képest.
Digitális aláírások generálása
Az aszimmetrikus kriptográfiai algoritmusok másik alkalmazási területe a digitális aláírásokkal végzett adathitelesítés. A digitális aláírás alapvetően az üzenetben foglalt adatok felhasználásával készített hash. Amikor elküldik az üzenetet, a címzett a feladó nyilvános kulcsával ellenőrizheti az aláírást. Ily módon megerősítheti az üzenet forrását, és meggyőződhet arról, hogy senki sem piszkálta meg az üzenetet. Egyes esetekben a digitális aláírást és a titkosítást együtt alkalmazzák, vagyis az üzenet részeként magát a hash-t is titkosítják. Megjegyezzük azonban, hogy nem minden digitális aláírási módszer használ titkosítási technikákat.
Korlátok
Habár a PKC felhasználható a számítógép-biztonság fokozására és az üzenetintegritás ellenőrzésére, ennek a módszernek is vannak korlátai. A titkosításhoz és visszafejtéshez használt bonyolult matematikai műveletek miatt az aszimmetrikus algoritmusok meglehetősen lassúak lehetnek nagy mennyiségű adat kezelésekor. A kriptográfiának ez a típusa emellett erősen támaszkodik arra a feltételezésre, hogy a privátkulcsot titokban tartják. Ha egy privátkulcsot véletlenül megosztanak vagy nyilvánosságra hoznak, akkor a hozzá tartozó nyilvános kulccsal titkosított összes üzenet biztonsága sérül. Az is előfordulhat, hogy a felhasználó véletlenül elveszíti a privátkulcsát, és ez esetben többé nem fér hozzá a titkosított adatokhoz.
Nyilvános kulcsú kriptográfiát használó alkalmazások
Ezt a fajta kriptográfiát sok modern számítógéprendszer használja az érzékeny információk biztosítására. Például az e-maileket nyilvános kulcsú kriptográfia segítségével is titkosítani lehet a tartamuk védelme érdekében.
A webhelyek biztonságos elérését szolgáló Secure Sockets Layer (SSL) protokoll is aszimmetrikus kriptográfiát használ. A PKC-rendszerek alkalmazhatóságát a biztonságos szavazási környezet biztosításával kapcsolatban is vizsgálták, ami potenciálisan lehetővé tenné, hogy a szavazók az otthoni számítógépükön keresztül vegyenek részt a választásokon.
A PKC emellett a blokklánc- és a kriptovaluta- technológiában is fontos szerepet kapott. Amikor új kriptovaluta-tárcát állít be valaki, a rendszer egy kulcspárt hoz létre (egy nyilvános és egy privátkulcsot). A tárcacím létrehozásához a nyilvános kulcsot használja, így azt bátran meg lehet osztani másokkal. A privátkulcsot ezzel szemben a digitális aláírások létrehozásához és tranzakciók megerősítéséhez használja, ezért azt titokban kell tartani.
Amint egy tranzakciót a digitális aláírásban található hash megerősítésével hitelesítettek, a tranzakciót hozzá lehet adni a blokkláncfőkönyvhöz. A digitális aláírások hitelesítésének ez a rendszere garantálja, hogy csak az érintett kriptovaluta-tárcához tartozó privátkulcs birtokosa mozgathassa a tárcában található pénzeszközöket.
Megjegyzendő, hogy a kriptovaluta-alkalmazásokban használt aszimmetrikus kriptográfia más, mint a számítógép-biztonság területén alkalmazott módszerek. A Bitcoin és az Ethereum példásul egy speciális algoritmust, az úgynevezett „elliptikus görbéken alapuló digitális aláírási algoritmust“ (Elliptic Curve Digital Signature Algorithm – ECDSA) használja. Továbbá az ECDSA titkosítás alkalmazása nélkül hoz létre digitális aláírásokat. Ez azt jelenti, hogy a blokkláncnak a közhiedelemmel szemben nincs szüksége titkosításra.
Záró gondolatok
A nyilvános kulcsú kriptográfia a számítógép-biztonságtól kezdve a kriptovaluta-tranzakciók hitelesítéséig számos területen jut fontos szerephez a modern digitális rendszerek biztosításában. A párosított nyilvános és privátkulcsok felhasználásával az aszimmetrikus kriptográfia a szimmetrikus titkosítási módszereknél jelentkező alapvető biztonsági aggályokra kínál megoldást. Bár a PKC-t már sok éve használják, rendszeresen dolgoznak ki új felhasználási módokat és alkalmazási területeket, különösen a blokklánc- és kriptovaluta-ágazatban.