Ugrás a tartalomhoz

key generation

A Wikiszótárból, a nyitott szótárból


Főnév

key generation (tsz. key generations)

  1. (informatika) A kriptográfiai kulcsgenerálás (crypto key generation) az informatikai biztonság egyik központi fogalma, amely lehetővé teszi, hogy biztonságos kommunikációt, adattárolást és hitelesítést valósítsunk meg különböző algoritmusok és protokollok segítségével. Ebben a 1000 szavas összefoglalóban részletesen bemutatjuk, hogyan működik a kulcsgenerálás, milyen típusai vannak, milyen elvek mentén történik, és milyen eszközökkel, szabványokkal valósítható meg a gyakorlatban.



Alapfogalmak

A kulcs a kriptográfiában egy olyan speciális adat (általában egy bináris szám vagy karakterlánc), amelyet titkosításhoz és/vagy visszafejtéshez használnak. A kulcs lehet szimmetrikus vagy aszimmetrikus:

  • Szimmetrikus kulcsok esetében ugyanazt a kulcsot használjuk a titkosításhoz és a visszafejtéshez. Példa: AES (Advanced Encryption Standard).
  • Aszimmetrikus kulcsok esetén két különböző, de matematikailag összefüggő kulcsot használunk: egy nyilvános kulcsot (public key) és egy titkos kulcsot (private key). Példa: RSA, ECC (Elliptic Curve Cryptography).



Miért fontos a biztonságos kulcsgenerálás?

A kulcs biztonságossága meghatározza a kriptográfiai rendszer megbízhatóságát. Egy gyenge kulcs (például kis méretű, előre kiszámítható, nem véletlenszerű) könnyen visszafejthető, és ezzel az egész rendszer kompromittálódhat.

A kulcsgenerálás célja tehát az, hogy biztonságos, erős, véletlenszerű és kiszámíthatatlan kulcsokat hozzon létre.



Véletlenszerűség szerepe

A kulcsgenerálás egyik legfontosabb eleme a véletlenszerűség. A modern kriptográfiában kétféle véletlenszám-generátor létezik:

  1. TRNG (True Random Number Generator): Fizikai jelenségekből (pl. rádióaktív bomlás, termikus zaj) származtat valódi véletlenséget.
  2. PRNG (Pseudo-Random Number Generator): Algoritmus alapján generál véletlennek tűnő számokat, adott kezdőállapot (seed) alapján. Gyorsabb, de determinisztikus.

A biztonságos kulcsgeneráláshoz gyakran kriptográfiai PRNG-t (CSPRNG) használnak, amelyek megfelelnek szigorú biztonsági követelményeknek.



Szimmetrikus kulcsgenerálás

A szimmetrikus kulcsokat általában CSPRNG segítségével hozzák létre. A kulcs mérete az alkalmazott algoritmustól függ, például:

  • AES-128: 128 bites kulcs (16 bájt)
  • AES-256: 256 bites kulcs (32 bájt)

A generált kulcsokat gyakran kulcstárolókban vagy biztonságos hardvermodulokban (pl. HSM – Hardware Security Module) tárolják, hogy megakadályozzák azok ellopását vagy kiszivárgását.



Aszimmetrikus kulcsgenerálás

Az aszimmetrikus kulcsok generálása bonyolultabb matematikai műveleteket igényel. Nézzük a két legismertebb példát:

RSA kulcspár generálás

  1. Két nagy prímszámot (p, q) választanak.
  2. Ezek szorzataként kiszámítják n = p × q – ez lesz a modulus.
  3. Kiszámítják a φ(n) értéket: φ(n) = (p-1)(q-1).
  4. Kiválasztanak egy nyilvános kitevőt e, amelyre igaz: 1 < e < φ(n), és relatív prím φ(n)-nel.
  5. Meghatározzák a titkos kulcsot d, amelyre igaz: e × d ≡ 1 (mod φ(n)).

Az RSA kulcspár tehát:
- Nyilvános kulcs: (n, e)
- Titkos kulcs: (n, d)

A kulcs mérete tipikusan 2048 vagy 4096 bit, a biztonság mértékének megfelelően.

ECC kulcspár generálás

Az elliptikus görbe kriptográfia modernebb és hatékonyabb, kisebb kulcsméret mellett is hasonló biztonságot nyújt.

  1. Kiválasztanak egy görbét és egy alappontot (P) a görbén.
  2. Véletlenszerűen generálnak egy privát kulcsot (d).
  3. A nyilvános kulcs: Q = d × P

Itt a kulcsméret lehet 256 bit, ami már elegendő biztonságot nyújt a legtöbb alkalmazáshoz.



Kulcsgenerálás operációs rendszerekben

Modern operációs rendszerek mind tartalmaznak beépített API-kat és eszközöket kulcsgeneráláshoz:

  • Linux: /dev/random, /dev/urandom, OpenSSL, GnuPG
  • Windows: CryptoAPI, CNG (Cryptography Next Generation)
  • macOS: Secure Enclave, Keychain Access



Kulcsgenerálás gyakorlati eszközökkel

  • OpenSSL: az egyik legismertebb eszköz

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  • GPG: személyes kulcsok és aláírások kezelésére

    gpg --full-generate-key
    
  • ssh-keygen: biztonságos bejelentkezéshez

    ssh-keygen -t ed25519
    



Biztonsági gyakorlatok

  1. Kulcsméret megfelelő megválasztása – minimum 2048 bit RSA, 256 bit ECC.
  2. Kulcsok rendszeres rotációja – időszakosan újragenerálás.
  3. Kulcsok biztonságos tárolása – titkosított tárolókban, HSM-ben.
  4. Kulcsmegosztás titkos csatornán – pl. TLS, SSH, PGP.



Tanúsítványok és PKI

A nyilvános kulcsok hitelesítésére tanúsítványokat használunk, amelyeket tanúsítványkiadók (CA – Certificate Authority) írnak alá. A PKI (Public Key Infrastructure) gondoskodik a kulcsok hitelességéről és érvényességéről.



Összegzés

A kriptográfiai kulcsgenerálás a biztonságos rendszerek alapja. Megfelelő véletlenszerűség, kulcshossz, algoritmusválasztás és kezelési eljárások mellett biztosíthatjuk, hogy az adatok titkossága, sértetlensége és hitelessége fennmaradjon. A modern világban, ahol az adatbiztonság kiemelkedően fontos, a helyesen végzett kulcsgenerálás elengedhetetlen eleme minden informatikai rendszernek.