Let’s Encrypt: nyílt tanúsítványkezelési szabvány

A Let's Encrypt egy ingyenes, automatizált, nyílt forrású tanúsítvány hitelesítő az Internet Security Research Group (ISRG) jóvoltából. Bármilyen mennyiségű, bizalmas, személyes adat interneten keresztül történő forgalmazása minőségi titkosítást és biztonságot kíván. Erre hozták létre az SSL utódjaként a TLS-t. A protokollt minden böngésző és eszköz, minden szerver, minden adatközpont támogatja. A protokollra való átállás legnagyobb nehézségét a szerveroldali tanúsítványok jelentik. A szerveroldali tanúsítványok biztosítják, hogy a böngésző valóban azzal a szerverrel kommunikál, amelyikkel kell. 
A Let's Encrypt ezt a problémát hivatott megoldani:

  • automatizált: az egész folyamat a szerver telepítése és konfigurálása során lezajlik és a megújítás automatikusan történik a háttérben
  • biztonságos: modern technikák és "best practices" használata
  • áttekinthető: tanúsítványok kiadása és visszavonása bárki által megtekinthető
  • nyílt: a tanúsítvány automata kiadása és visszavonása nyílt szabvány, a használt szoftverek nyílt forráskódúak
  • szervezett együttműködés: mint maguk az Internet protokollok a Let's Encrypt is közös munka folytán születik meg a közösség hasznára
  • ingyenes: minden domain-tulajdonos költségmentesen kaphat tanúsítványt

A Let's Encrypt megjelenésekor a HTTPS bármilyen oldalon telepíthető lesz a következőképpen:

$ sudo apt-get install lets-encrypt
$ lets-encrypt peldaoldal.hu

Innentől a https://peldaoldal.hu titkosított csatornán elérhető. 

A Let's Encrypt management szoftvere az alábbi tevékenységeket végzi el a helyes titkosítás beállításához:

  • a Let's Encrypt CA felé tanúsítja, hogy ki kezeli a honlapot
  • kér és beállít egy böngésző által megbízható tanúsítványt
  • figyeli a tanúsítvány lejártát és automatikusan megújítja
  • segít a tanúsítvány esetleges visszavonásában

A Let’s Encrypt által végzett folyamat leírása:

1.)Domain azonosítás:

A Let’s Encrypt publikus kulcs alapján azonosítja be a szerver adminisztrátort. A CA folyamatokhoz hasonlóan a Let’s Encrypt-el való első kapcsolatfelvételkor a kezelőszoftver egy új kulcspárt generál és beazonosítja, hogy az adott szerver egy vagy több domain-t irányít-e. A kezelőszoftver megkérdezi a Let’s Encrypt CA-t, hogy mi szükséges a peldaoldal.hu azonosításához. A Let’s Encrypt megvizsgálja a peldaoldal.hu-t és egy vagy több ún. "kihívás" elé állítja a domain-t irányító szervert (challenge).

Példa kihívásra:
változtasson meg egy DNS-rekordot a peldaoldal.hu-n
változtasson meg egy http erőforrást a peldaoldal.hu-n

A kihívások mellett a Let’s Encrypt CA elküld egy karakterláncot, amit a domain-t kezelőnek alá kell írnia a megfelelő privát kulccsal. Ezzel bizonyítja, hogy ő felel a domain-ért.

A Let’s Encrypt CA megerősíti a visszakapott értékeket és kulcsokat. Ha minden egyezik, a szerver adminisztrátor sikeresen azonosításra került.

2.)Tanúsítvány kiadás és visszavonás: 

Azonosítás és hiteles kulcsok után a tanúsítványok kérése, megújítása és visszavonása már egyszerű üzenetek ún. "ceritficate message"-ek küldésével történik.

Tanúsítvány kérése:

  • Certificate Signing Request (PKCS #10 CSR) küldése a Let’s Encrypt CA-nak
  • A Let’s Encrypt megvizsgálja a kérést és az aláírásokat
  • Ha elfogadja a kérést, kiállít egy tanúsítványt a domain számára

Tanúsítvány visszavonása:

  • Visszavonás kérés küldése a Let’s Encrypt CA felé
  • A Let’s Encrypt megvizsgálja a kérést és az aláírásokat
  • Ha elfogadja a kérést, továbbítja a visszavonásra vonatkozó információkat a megfelelő csatornák felé (CRLs, OCSP), hogy a böngészők mostantól ne fogadják el a domain visszavont tanúsítványát

Várható megjelenés: 2015. szeptember - https://letsencrypt.org/