022.1 Lecke 2
Tanúsítvány: |
Security Essentials |
---|---|
Verzió: |
1.0 |
Témakör: |
022 Titkosítás |
Fejezet: |
022.1 Kriptográfia és nyilvános kulcsú infrastruktúra |
Lecke: |
2/2 |
Bevezetés
A kriptográfiai alapelvekre épülő Public Key Infrastructure (PKI) a biztonságos kommunikáció és az identitás ellenőrzése szempontjából alapvető fontosságú a digitális világban. A PKI keretet hoz létre a nyilvános és privát kulcsok titkosításban való használatához, biztosítva, hogy a kommunikációban részt vevő entitások megbízhassanak egymásban.
A PKI középpontjában a digitális tanúsítványok állnak, amelyek egy nyilvános kulcsot egy entitáshoz, például egy személyhez vagy szervezethez kapcsolnak, és amelyeket a Certificate Authority-k (hitelesítésszolgáltatók, CA-k) kezelnek. Ezek a tanúsítványok döntő szerepet játszanak az adatok titkosításában és az identitások érvényesítésében, ami nélkülözhetetlenné teszi a PKI-t a biztonságos webböngészéshez, az e-mail kommunikációhoz és más online tevékenységekhez. A megbízható Root Certificate Authority-k (Root CA-k) alkotják a bizalmi modell legfelső szintjét, létrehozva a végfelhasználói tanúsítványokig terjedő bizalmi láncot.
Ez a strukturált kapcsolat biztosítja, hogy a felhasználók és a rendszerek megbízhatnak a digitális tanúsítványok hitelességében. A PKI és a CA-k működésének megértése alapvető fontosságú a biztonságos információcsere és a digitális tanúsítványok szerepének átlátásához az online kommunikáció integritásának és biztonságának fenntartásában.
Public Key Infrastructure (PKI)
A Public Key Infrastructure (PKI) kulcsfontosságú a bizalom megteremtésében és a digitális kommunikáció biztosításában. Alapvetően a PKI strukturált keretet biztosít a digitális tanúsítványok és a publikus-privát kulcspárok kezeléséhez, amelyek elengedhetetlenek az identitások ellenőrzéséhez és az internetes adatcsere biztosításához. Amikor két entitásnak, például egy felhasználónak és egy weboldalnak biztonságosan kell kommunikálnia egymással, a PKI biztosítja, hogy mindkét fél biztos lehet a másik fél identitásában és a megosztott adatok sértetlenségében.
A PKI a nyilvános és a privát kulcspárok kezelésével lehetővé teszi a biztonságos kommunikációt. Az olyan entitások, mint például webhelyek, szerverek vagy magánszemélyek digitális tanúsítványt kapnak, amely identitásukat egy nyilvános kulcshoz köti.
A digitális tanúsítványok elektronikus “útlevélként” szolgálnak egy entitás számára — legyen az személy, eszköz vagy szolgáltatás. Ezt a tanúsítványt egy megbízható harmadik fél, az úgynevezett Certificate Authority (CA) állítja ki.
A tanúsítvány kiállítása előtt a CA alapos ellenőrzési folyamatot végez az entitás identitásának jogszerűségének megerősítése érdekében. Ez a folyamat megakadályozza, hogy a kártékony szereplők hamisan másnak adják ki magukat. A tanúsítvány kiadása után a tanúsítványt az entitás nyilvános kulcsával lehet használni az adatok titkosítására. Az adatokat csak a megfelelő, az entitás által biztonságosan tárolt privát kulcs tudja visszafejteni, így biztosítva, hogy az érzékeny információk bizalmasak és csak a címzett számára hozzáférhetőek maradnak.
CA-k és Trusted Root CA-k
A PKI középpontjában a Certificate Authority-k és a Trusted Root Certificate Authority-k állnak, amelyek a webböngészésben, a biztonságos e-mailben és más alkalmazásokban használt digitális tanúsítványok biztonságát alátámasztó bizalmi lánc (chain of trust) gerincét alkotják.
A CA-k kritikus szerepet játszanak a PKI-ban a digitális tanúsítványok kiadásával, érvényesítésével és kezelésével. A kiállítást követően a CA tekintélyére támaszkodó más felhasználók vagy rendszerek megbízhatnak a tanúsítványban.
A root CA-k alkotják a PKI bizalmi hierarchiájának csúcsát. A root CA-k tanúsítványokat állítanak ki a közvetítő CA-k (intermediate CA) részére, létrehozva egy bizalmi láncot, amely a végfelhasználói tanúsítványokig terjed. A root tanúsítványok előre telepítve vannak az operációs rendszerekben és a webböngészőkben, és a hierarchiában kiadott összes tanúsítvány alapját képezik.
Ez a bizalmi lánc alapvető fontosságú, hiszen hierarchikus kapcsolatot hoz létre a root CA-k, a köztes CA-k és az általuk kiállított tanúsítványok között. A láncban minden egyes tanúsítványt a felette lévő CA hitelesít, ami végül egy trusted (megbízható) Root CA-hoz vezet vissza. Ez a hierarchikus modell biztosítja, hogy a felhasználók és a rendszerek megbízhatnak a digitális interakciók során felmerülő tanúsítványokban.
Példa a bizalmi láncra
Íme egy példa egy bizalmi láncra, amely egy Root CA-t, egy köztes CA-t és végfelhasználói tanúsítványokat (end-entity certificate) foglal magában.
Root CA tanúsítvány
A Root CA a legfelsőbb hatóság a láncban, és minden rendszer megbízik benne. Önaláíró, ami azt jelenti, hogy saját maga hitelesíti a saját identitását.
- Root CA Name: "GlobalTrust Root CA" - Subject: "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" - Issuer: "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" (Self-signed) - Public Key: Contains the public key of GlobalTrust Root CA - Validity Period: 20 years (e.g., 2020-2040) - Signature: Self-signed using the Root CA's private key
A Root CA tanúsítvány a legtöbb operációs rendszerben és böngészőben előre telepítve van, így megbízható hatóságként van azonosítva.
Köztes CA tanúsítvány
A közbenső CA számára a Root CA állít ki tanúsítványt. Ez a CA hídként működik a Root CA és a végfelhasználók között, lehetővé téve a jobb biztonsági menedzsmentet és a bizalom megosztását.
- Intermediate CA Name: "GlobalTrust Intermediate CA 1" - Subject: "CN=GlobalTrust Intermediate CA 1, O=GlobalTrust Inc., C=US" - Issuer: "CN=GlobalTrust Root CA, O=GlobalTrust Inc., C=US" (Signed by Root CA) - Public Key: Contains the public key of GlobalTrust Intermediate CA 1 - Validity Period: 10 years (e.g., 2022-2032) - Signature: Signed using the Root CA's private key
A köztes CA tanúsítványokat állít ki a végfelhasználók, például weboldalak vagy alkalmazások számára, miután hitelesítette azok identitását.
Végfelhasználói tanúsítvány (weboldal vagy alkalmazás)
A végfelhasználói tanúsítványt a köztes CA állítja ki egy weboldal vagy alkalmazás számára. Ezt látja a végfelhasználó, amikor csatlakozik egy biztonságos weboldalhoz.
- End-Entity Name: "example.com" - Subject: "CN=example.com, O=Example Inc., C=US" - Issuer: "CN=GlobalTrust Intermediate CA 1, O=GlobalTrust Inc., C=US" (Signed by Intermediate CA) - Public Key: Contains the public key of example.com - Validity Period: 1 year (e.g., 2023-2024) - Signature: Signed using the Intermediate CA's private key
Ebben a példában a láncban minden egyes tanúsítványt a felette lévő tanúsítvány ellenőriz, visszavezetve végül egy trusted Root CA-hoz, amely biztosítja a digitális kommunikáció integritását és biztonságát: (A bizalmi lánc vizuális reprezentációja).

Amikor egy felhasználó meglátogatja a example.com weboldalt, a böngészője megkapja ezt a tanúsítványt. A böngésző ezután a bizalmi láncot követve ellenőrzi a tanúsítvány érvényességét:
-
Végfelhasználói tanúsítvány ellenőrzése
A böngésző megerősíti, hogy az example.com tanúsítványát a
GlobalTrust Intermediate CA 1
írta alá. -
Köztes CA tanúsítvány ellenőrzése
A böngésző ellenőrzi, hogy a
GlobalTrust Intermediate CA 1
tanúsítványt aGlobalTrust Root CA
írta alá. -
Root CA ellenőrzése
A böngésző megerősíti, hogy a Root CA egy előre telepített megbízható hatóság a saját trust store-ban.
Ha a láncban lévő összes tanúsítvány érvényes és megfelelően aláírt, a böngésző biztonságos kapcsolatot hoz létre a example.com címmel, és a felhasználó biztonságosan kapcsolatba léphet a weboldallal.
X.509 tanúsítványok
Az X.509 tanúsítványok a nyilvános kulcsú infrastruktúrában (PKI) használt szabványos digitális tanúsítványformátumok, amelyek elengedhetetlenek a biztonságos kommunikációban részt vevő entitás identitásának ellenőrzéséhez. Gyakran “digitális útlevélként” is emlegetik ezeket a tanúsítványokat, amelyek megbízható kapcsolatot hoznak létre egy entitás identitása és nyilvános kulcsa között egy megbízható Certificate Authority (CA) általi tanúsítás révén.
Minden X.509 tanúsítvány tartalmaz olyan mezőket, amelyek részletezik az entitás nyilvános kulcsát, a kiállító CA nevét és olyan egyedi azonosító információkat, mint például az entitás domainneve vagy a szervezet neve. Ez a szabványosított formátum biztosítja, hogy az X.509 tanúsítványok a digitális alkalmazások széles körében egységes és megbízható módszert biztosítanak a szervezetek hitelesítésére.
Az X.509 tanúsítványok szerepének megértése alapvető fontosságú, mivel ezeket a tanúsítványokat számos alkalmazásban használják a védett kapcsolatok megkönnyítésére, beleértve a biztonságos webböngészéshez használt HTTPS-t, az adattitkosításhoz használt SSL/TLS-t, valamint az elektronikus dokumentumok hitelességének és integritásának ellenőrzéséhez használt digitális aláírásokat.
A tanúsítvány tartalmaz egy digitális aláírást, amelyet a CA a saját privát kulcsának felhasználásával állít elő, és amely a nyilvános kulcsot az entitás identitásához köti. Ezt a digitális aláírást bárki ellenőrizheti a CA nyilvános kulcsát használva, így biztosítva, hogy a tanúsítványt nem hamisították meg, és hogy az valóban a megbízható CA-tól származik.
Az X.509 tanúsítványok struktúrája
Az X.509 tanúsítvány számos mezőt tartalmaz, amelyek részletes információkat szolgáltatnak az entitásról és magáról a tanúsítványról. Ezek közé tartozik a subject, amely a tanúsítványt kiállító entitást azonosítja, valamint az issuer, amely a tanúsítványt kiállító CA-t azonosítja. A tanúsítvány tartalmazza továbbá az entitáshoz tartozó publikus kulcsot (public key), valamint a CA digitális aláírását (digital signature), amely a tanúsítvány hitelességét igazolja.
A tanúsítvány tartalmaz egy érvényességi időszakot (validity period) is, amely azt az időtartamot jelzi, mialatt a tanúsítvány érvényesnek tekinthető. Ezen időszak után a tanúsítványt meg kell újítani vagy le kell cserélni a biztonságos kommunikáció fenntartásához. Ezeken a mezőkön kívül az X.509 tanúsítványok tartalmazhatnak bővítményeket (extension), amelyek meghatározzák a tanúsítvány rendeltetését, például a szerver hitelesítésére vagy az e-mail titkosítására.
X.509 tanúsítványok kérése és kiadása
Az X.509 tanúsítvány megszerzésének folyamata a Certificate Signing Request (tanúsítványaláírási kérelem — CSR) létrehozásával kezdődik. A CSR egy olyan fájl, amely tartalmazza az entitás nyilvános kulcsát, valamint azonosító információkat, például az entitás domainnevét, organizációját és székhelyét. Ezek az információk segítenek a tanúsítványt igénylő szervezet egyedi azonosításában. A CSR-t ezután benyújtják a CA-hoz érvényesítésre.
A CA kritikus szerepet játszik a CSR-ben megadott információk jogszerűségének ellenőrzésében. Ez az érvényesítési folyamat a kért tanúsítvány típusától függően különböző szigorúságú lehet. A Domain Validated (DV) tanúsítvány például megköveteli, hogy a CA ellenőrizze, hogy az entitás kontrollálja-e a megadott domaint, jellemzően egy egyszerű e-mail vagy DNS-ellenőrzési folyamat révén. A szigorúbb tanúsítványok, például az Organization Validated (OV) vagy Extended Validation (EV) tanúsítványok esetében a CA további ellenőrzéseket végez, például ellenőrzi a szervezet jogi létezését és fizikai elhelyezkedését.
Miután a CA sikeresen ellenőrizte a szervezet adatait, a CA privát kulcsával digitálisan aláírva kiállítja az X.509 tanúsítványt. Ez a digitális aláírás biztosítja a tanúsítvány hitelességét és sértetlenségét, így a tanúsítványt minden olyan szervezet megbízhatónak ismeri el, amely a CA-t megbízható hatóságként ismeri el. A kiállított tanúsítványt ezután visszaküldik a kérelmező szervezetnek, ahol az telepíthető egy szerverre vagy eszközre.
A telepítés után az X.509 tanúsítványt az SSL/TLS titkosítás engedélyezésével biztonságos kommunikáció létrehozására használják. Amikor egy kliens (pl. egy webböngésző) csatlakozik a szerverhez, a szerver prezentálja a tanúsítványt. A kliens ezután ellenőrzi a tanúsítvány hitelességét a CA aláírásának a trusted root tanúsítványok listáján történő ellenőrzésével. Ha az ellenőrzés sikeres, titkosított kommunikációs csatorna jön létre, amely biztosítja, hogy a kliens és a szerver között kicserélt adatok bizalmasak és védettek maradnak a lehallgatástól.
X.509 tanúsítványok SSL/TLS-ben
Az X.509 tanúsítványok központi szerepet játszanak az SSL/TLS protokollban, amelyet a kliensek és szerverek közötti kommunikáció biztosítására használnak az interneten keresztül. Az alábbiakban lépésről lépésre bemutatunk egy példát a tanúsítványaláírási kérelem (CSR) létrehozására egy domain számára az OpenSSL, egy széles körben használt kriptográfiai könyvtár segítségével.
Amikor egy felhasználó csatlakozik egy biztonságos weboldalhoz, a szerver az SSL/TLS kézfogás részeként bemutatja X.509 tanúsítványát a felhasználó böngészőjének. A böngésző ezután ellenőrzi a tanúsítvány hitelességét a trusted root CA-ig visszavezetett bizalmi lánc ellenőrzésével. Ha a tanúsítvány érvényes és megbízható, a böngésző folytatja az SSL/TLS kézfogást, és titkosított kapcsolatot hoz létre a felhasználó és a szerver között.
Az X.509 tanúsítványokat más alkalmazásokban is használják, például e-mail titkosításra és digitális aláírásra, a feladó identitásának ellenőrzésére és az üzenet integritásának biztosítására.
Let’s Encrypt
A világon több tucat CA létezik, amelyek többsége fizetős tanúsítványkiállítási szolgáltatásokat kínál. A jól ismert CA-k közé tartozik a Let’s Encrypt, amely ingyenes, automatizált SSL/TLS tanúsítványokat biztosít, és elősegíti a HTTPS széles körű elterjedését.
A Let’s Encrypt ingyenes, automatizált SSL/TLS tanúsítványok biztosításával átalakította az X.509 tanúsítványok beszerzésének és kezelésének folyamatát. Ez a kezdeményezés elősegíti a HTTPS széles körű elterjedését, és a titkosítás akadályainak csökkentésével biztonságosabbá teszi az internetet.
A Let’s Encrypt előtt az SSL/TLS tanúsítványok beszerzése gyakran költséges és technikailag összetett folyamat volt. A Let’s Encrypt a tanúsítványok kiállításának és megújításának automatizálásával egyszerűsíti ezt a folyamatot, lehetővé téve a webhelyek számára, hogy egyszerűen és ingyenesen tegyék biztonságossá kommunikációjukat.
A Let’s Encrypt jelentős szerepet játszott a HTTPS elterjedésében, javítva a biztonságot és az adatvédelmet a világhálón. Fontos azonban megjegyezni, hogy a Let’s Encrypt Domain Validated (DV) tanúsítványokat állít ki, amelyek igazolják a domain tulajdonjogát, de nem nyújtanak olyan szintű biztosítékot, mint az Organization Validated (OV) vagy Extended Validation (EV) tanúsítványok.
A Let’s Encrypt tanúsítványok csak 90 napig érvényesek. Ez a rövid érvényességi idő biztosítja a tanúsítványok rendszeres frissítését, ami kompromittálódás esetén csökkenti a visszaélések kockázatát. A Let’s Encrypt tanúsítványok rövid élettartama miatt az automatikus megújítás elengedhetetlen a biztonság fenntartásához.
Gyakorló feladatok
-
Hogyan biztosítja a bizalmat a digitális kommunikációban a Public Key Infrastructure (PKI)?
-
Mi a szerepe az X.509 tanúsítványoknak SSL/TLS protokollok esetén?
-
Magyarázzuk el a bizalmi lánc fogalmát a PKI-ban! Miért fontos a bizalmi lánc a biztonságos kommunikáció létrehozásához, és hogyan biztosítja a digitális tanúsítványok megbízhatóságát? n+
Gondolkodtató feladatok
-
Vizsgáljuk meg az Extended Validation (EV) tanúsítványok szerepét a webes biztonságban, és magyarázzuk el, miben különböznek a Domain Validated (DV) és az Organization Validated (OV) tanúsítványoktól!
-
Generáljunk CSR-t a www.example.com domainhez az OpenSSL használatával! Adjuk meg a használt parancsot, és magyarázzuk el a parancs egyes részeit!
Összefoglalás
Ez a lecke a nyilvános kulcsú infrastruktúrát (Public Key Infrastructre — PKI) vizsgálja meg, elmélyedve a hitelesítésszolgáltatók (Certificate Authorithies — CA-k), az X.509 tanúsítványok és a biztonságos digitális kommunikáció alapjául szolgáló bizalmi lánc szerepében. Ezen kívül tárgyalja a Let’s Encrypt megjelenését és annak hatását a HTTPS széles körű elterjedésére.
Válaszok a gyakorló feladatokra
-
Hogyan biztosítja a bizalmat a digitális kommunikációban a Public Key Infrastructure (PKI)?
A PKI a bizalmat egy bizalmi láncon keresztül hozza létre, amelyben hitelesítésszolgáltatók (CA-k) vesznek részt. A CA-k digitális tanúsítványokat állítanak ki, amelyek összekapcsolják egy entitás publikus kulcsát annak ellenőrzött identitásával. A böngészők és operációs rendszerek által megbízhatónak tartott root CA-k rögzítik a bizalmi láncot, és érvényesítik a köztes CA-k által kiadott tanúsítványokat. Ez a hierarchikus struktúra a digitális tanúsítványok hitelességének ellenőrzésével biztosítja a biztonságos kommunikációt.
-
Mi a szerepe az X.509 tanúsítványoknak SSL/TLS protokollok esetén?
Az X.509 tanúsítványokat az SSL/TLS protokollok használják a szerverek identitásának hitelesítésére és a biztonságos kommunikáció létrehozására. Az SSL/TLS kézfogás során a szerver bemutatja X.509-es tanúsítványát a kliensnek, aki a bizalmi láncon keresztül ellenőrzi a tanúsítvány hitelességét. Ha a tanúsítvány érvényes, a kézfogás folytatódik, és létrejön a titkosított kapcsolat.
-
Magyarázzuk el a bizalmi lánc fogalmát a PKI-ban! Miért fontos a bizalmi lánc a biztonságos kommunikáció létrehozásához, és hogyan biztosítja a digitális tanúsítványok megbízhatóságát?
A bizalmi lánc a PKI-ban a a Root Certificate Authority (Root CA), az intermediate Certificate Authority-k (CA-k) és a végfelhasználói tanúsítványok közötti hierarchikus kapcsolatra utal. A hierarchia csúcsán álló Root CA-t az operációs rendszerek és a böngészők eredendően megbízhatónak tartják. Tanúsítványokat állít ki a köztes CA-knak, amelyek tanúsítványokat állítanak ki a végfelhasználóknak, például a weboldalaknak és a szervereknek. Ez a struktúra biztosítja, hogy minden egyes tanúsítványt a felette lévő tanúsítványokkal lehet hitelesíteni, és végső soron a trusted Root CA-hoz vezet vissza.
A bizalmi lánc kulcsfontosságú a biztonságos kommunikáció szempontjából, mivel lehetővé teszi a felhasználók és a rendszerek számára a digitális tanúsítványok hitelességének ellenőrzését. Ha a lánc megszakad, vagy egy tanúsítvány sérül, a rendszer a kommunikációt nem biztonságosnak jelöli, így védve a felhasználókat a potenciális fenyegetésektől.
Válaszok a gondolkodtató feladatokra
-
Vizsgáljuk meg az Extended Validation (EV) tanúsítványok szerepét a webes biztonságban, és magyarázzuk el, miben különböznek a Domain Validated (DV) és az Organization Validated (OV) tanúsítványoktól!
Az Extended Validation tanúsítványok (EV) a digitális tanúsítványok közül a legmagasabb szintű megbízhatóságot nyújtják. A Domain Validated (DV) és az Organization Validated (OV) tanúsítványokkal ellentétben, amelyek elsősorban domainellenőrzést végeznek és az entitás alapvető adatait ellenőrzik, az EV tanúsítványok szigorú ellenőrzési folyamatokat foglalnak magukban. A hitelesítésszolgáltatóknak (CA-k) az EV-tanúsítvány kiadása előtt ellenőrizniük kell a kérelmező entitás jogi létezését, fizikai elhelyezkedését és működési státuszát. Míg a DV-tanúsítványok könnyebben beszerezhetők és elegendőek az alapvető titkosítási igények kielégítésére, az EV-tanúsítványok a személyazonosság ellenőrzésének további rétegeit biztosítják, növelve a felhasználók bizalmát az olyan érzékeny tranzakciók során, mint az online banki ügyintézés vagy vásárlás.
-
Generáljunk CSR-t a www.example.com tartományhoz az OpenSSL használatával! Adjuk meg a használt parancsot, és magyarázzuk el a parancs egyes részeit!
Ahhoz, hogy a www.example.com webhelyhez CSR-t hozzunk létre OpenSSL használatával, a következő parancsot kell kiadni:
openssl req -new -key private.key -out example.csr
A
req -new
jelenti az új CSR létrehozását.A
-key private.key
a CSR generálásához használandó privát kulcs fájlt határozza meg. Ezt a privát kulcsot már korábban létre kellett hoznunk!Az
-out example.csr
jelenti a létrehozandó CSR fájl nevét.A parancs futtatása után a rendszer megkér minket az olyan információk megadására, mint a domainnév, a szervezet és a hely, amelyek szerepelni fognak a CSR-ben. Ezt a fájlt ezután be lehet küldeni a tanúsító hatósághoz, hogy X.509 tanúsítványt kérjünk.