Varmentajat ja luottamusketjut
Oppikaa, miten juurivarmentajat, välivarmentajat ja loppukäyttäjän varmenteet muodostavat hierarkian, johon selaimet ja käyttöjärjestelmät luottavat.
Varmentajat ja luottamusketjut on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Luottamusongelma julkisen avaimen kryptografiassa
Epäsymmetrinen salaus on hyödyllistä vain, jos voitte luottaa siihen, että julkinen avain todella kuuluu henkilölle tai taholle, jolle luulette sen kuuluvan. Ilman luottamusmekanismia hyökkääjä voi siepata pyyntönne jonkun julkisesta avaimesta ja korvata sen omallaan – kyseessä on klassinen välistävetohyökkäys. Julkisen avaimen infrastruktuuri (Public Key Infrastructure, PKI) ratkaisee tämän luottamusongelman ottamalla käyttöön varmentajan (Certificate Authority, CA) – luotetun kolmannen osapuolen, joka allekirjoittaa digitaalisesti varmenteita ja sitoo julkiset avaimet varmennettuihin henkilöllisyyksiin. Jos luotatte varmentajaan, voitte luottaa kaikkiin, joiden varmenteet se on myöntänyt.
Mikä on varmentaja?
Varmentaja (Certificate Authority, CA) on organisaatio, joka myöntää digitaalisia varmenteita varmennettuaan varmenteen pyytäjän henkilöllisyyden. CA allekirjoittaa jokaisen varmenteen omalla yksityisellä avaimellaan, joten kaikki CA:han luottavat voivat tarkistaa varmenteen aitouden CA:n julkisella avaimella. Varmentajia on kahta tyyppiä: julkiset varmentajat (kuten DigiCert, GlobalSign ja Let's Encrypt), joiden juurivarmenteet on asennettu valmiiksi käyttöjärjestelmiin ja selaimiin, sekä yksityiset (sisäiset) varmentajat, joita organisaatiot ylläpitävät itse sisäisten varmenteiden myöntämistä varten (VPN:t, sisäiset palvelut ja laitevarmenteet).
# View a website's certificate and issuer
openssl s_client -connect google.com:443 -showcerts 2>/dev/null |
openssl x509 -noout -text | grep -A2 'Issuer'
# Issuer: C = US, O = Google Trust Services, CN = WR2
# Subject: CN = *.google.com
# Check CA certificate details
curl -v https://google.com 2>&1 | grep 'issuer'Juurivarmentajat: ylin luottamusankkuri
Juurivarmentaja (Root CA) on PKI-hierarkian ylin auktoriteetti. Juurivarmenteet ovat itseallekirjoitettuja – niiden aitoutta ei ole vahvistamassa ylempää auktoriteettia. Juurivarmenteisiin luotetaan sen sijaan siksi, että käyttöjärjestelmien toimittajat (Microsoft, Apple ja Mozilla) arvioivat juurivarmentajat perusteellisilla auditoinneilla ja asentavat niiden varmenteet valmiiksi luotettujen varmenteiden säilöihin. Tyypillisen selaimen luotettujen varmenteiden säilössä on noin 130–150 luotettua juurivarmentajaa. Jos juurivarmentaja vaarantuu, kaikkia sen koskaan myöntämiä varmenteita on pidettävä epäilyttävinä. Siksi juurivarmentajien yksityiset avaimet säilytetään offline-tilassa ja fyysisesti eristetyissä laitteistoturvamoduuleissa (HSM).
# List trusted root CAs on Linux (varies by distro)
ls /etc/ssl/certs/ | head -20
# Or view specific CA cert
openssl x509 -in /etc/ssl/certs/DigiCert_Global_Root_CA.pem -noout -text
# On Windows, view trust store via MMC
# certmgr.msc > Trusted Root Certification AuthoritiesVälivarmentajat: delegointikerros
Juurivarmentajat myöntävät harvoin varmenteita suoraan loppuentiteeteille. Sen sijaan ne luovat välivarmentajia (Intermediate CA) myöntämällä varmenteita välivarmentajien ylläpitäjille. Välivarmentajat myöntävät sitten loppuentityjen varmenteita (kuten HTTPS-palvelinvarmenteita). Tämä delegointihierarkia palvelee useita tarkoituksia: se suojaa juurivarmentajan yksityisiä avaimia pitämällä ne offline-tilassa (jos välivarmentaja vaarantuu, vain sen varmennusketju kumotaan, ei koko juurta); se mahdollistaa eri käyttötarkoituksiin erikoistuneet varmentajat (koodin allekirjoittaminen verrattuna TLS:ään); ja se mahdollistaa organisaatiohierarkian yksityisessä PKI:ssä.
Luottamusketju (varmenneketju)
Varmenneketju (tai luottamusketju) on varmenteiden sarja loppuentityn varmenteesta takaisin luotettuun juurivarmentajaan. Tyypillisellä HTTPS-sivustolla ketju on: loppuentityn varmenne (esim. *.google.com) → välivarmentajan varmenne (esim. Google Trust Services WR2) → juurivarmentajan varmenne (esim. Google Trust Services LLC). Kun selaimenne avaa sivuston, se tarkistaa koko ketjun: se varmistaa, että kunkin varmenteen allekirjoitti sitä ylemmällä tasolla oleva varmenne ja että juuri löytyy luotettujen varmenteiden säilöstä. Mikä tahansa katkos tässä ketjussa aiheuttaa varmennevirheen.
# View the full certificate chain
openssl s_client -connect example.com:443 -showcerts 2>/dev/null
# Shows: 0 = end-entity cert, 1 = intermediate CA, 2 = root CA
# Verify a certificate chain manually
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt server_cert.pem
# server_cert.pem: OKRistiinvalidointi ja siltavarmentajat
Kun kaksi erillistä PKI-hierarkiaa tarvitsee keskinäisen luottamuksen, ne käyttävät ristiinvalidointia. Kumpikin varmentaja myöntää varmenteen toisen juurelle, mikä muodostaa luottamuksen molempiin suuntiin. Siltavarmentaja (Bridge CA) on keskitetty solmukohtana toimiva varmentaja, joka tekee ristiinvalidoinnin useiden toimialueiden varmentajien kanssa ja luo luottamusverkon eri organisaatioiden tai virastojen välille. Yhdysvaltain liittovaltion siltavarmentaja yhdistää useita liittovaltion hallinnon PKI-järjestelmiä. Ristiinvalidointia on monimutkaista hallita, mutta sitä tarvitaan organisaatioiden yhdistyessä tai virastojen välistä luottamusta perustettaessa ilman, että kaikki alistetaan yhdelle hierarkialle.
Rekisteröintiviranomaiset (RA)
Rekisteröintiviranomainen (Registration Authority, RA) on taho, joka tarkistaa henkilöllisyyden CA:n puolesta mutta ei itse myönnä varmenteita. RA vastaanottaa varmennuspyynnöt, tarkistaa hakijan henkilöllisyyden (varmenteen tyypin mukaan esimerkiksi asiakirjojen tarkistuksella, toimialueen validoinnilla tai henkilökohtaisella tunnistamisella) ja välittää hyväksytyt pyynnöt CA:lle allekirjoitettaviksi. Tämän delegoinnin ansiosta CA:t voivat kasvattaa myöntämiskapasiteettiaan tekemättä itse kaikkia tarkistuksia. Yrityksen PKI:ssä RA voi olla esimerkiksi henkilöstöosasto tai IT-tukipalvelu, joka vahvistaa työntekijöiden varmennuspyynnöt.
Varmenteiden validointitasot
CA:t tarjoavat varmenteita eri validointitasoilla sen mukaan, kuinka perusteellisesti pyytäjän henkilöllisyys on tarkistettu. Toimialueen validointi (Domain Validation, DV): CA tarkistaa vain, että pyytäjä hallitsee toimialuetta (automaattinen prosessi, kestää minuutteja, käytössä esimerkiksi Let's Encryptillä). Organisaation validointi (Organization Validation, OV): CA tarkistaa organisaation oikeudellisen olemassaolon (1–3 arkipäivää). Laajennettu validointi (Extended Validation, EV): perusteellisin tarkistus – oikeudellinen henkilöllisyys, fyysinen osoite ja toiminnan olemassaolo (1–2 viikkoa; käytettiin aiemmin vihreän yritysnimen näyttämiseen selaimen osoiterivillä). DV riittää perustason salaukseen; EV soveltuu arvokkaille kohteille, kuten pankkisivustoille.
Varmenteen kiinnitys
Varmenteen kiinnitys on tekniikka, jossa sovellus ohjelmoidaan luottamaan vain tiettyyn varmenteeseen tai CA:han minkä tahansa luotetun juurivarmentajan myöntämän varmenteen sijaan. Tämä estää välistävetohyökkäykset, vaikka hyökkääjä hankkisi vilpillisen varmenteen luotetulta CA:lta. Mobiilisovellukset ja tietoturvan kannalta herkät sovellukset käyttävät kiinnitystä varmistaakseen, että ne hyväksyvät vain omien palvelintensa varmenteet. Haittapuolena on, että jos kiinnitetty varmenne vanhenee tai vaihdetaan, sovellus lakkaa toimimasta, kunnes se päivitetään. HPKP (HTTP Public Key Pinning) oli selainpohjainen kiinnitysmekanismi, jonka käyttö on lopetettu virheellisten käyttöönottojen riskien vuoksi.
Sisäisen yksityisen CA:n käyttöönotto
Organisaatiot ylläpitävät omaa yksityistä CA:ta sisäisiä varmennetarpeita varten – VPN-asiakkaiden todentamiseen, sisäisten HTTPS-palveluiden varmenteiden myöntämiseen, koodin allekirjoittamiseen ja laitteiden todentamiseen. Microsoftin Active Directory Certificate Services (AD CS) on yleisin yritysten yksityinen CA. Sisäisen CA:n varmenteet on jaettava kaikille laitteille ja selaimille, joiden on luotettava sisäisesti myönnettyihin varmenteisiin, yleensä ryhmäkäytännön avulla. Yksityiset CA:t eivät voi myöntää varmenteita, joihin julkinen internet luottaa – niiden käyttö rajoittuu organisaation laitteisiin, joihin yksityisen CA:n juurivarmenne on asennettu.
# Create a simple private CA with OpenSSL
# Generate root CA private key
openssl genrsa -aes256 -out ca.key 4096
# Create self-signed root CA certificate (valid 10 years)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
-subj '/C=US/O=MyCompany/CN=MyCompany Root CA'
# Now use ca.crt and ca.key to sign intermediate and end-entity certsCA:n vaarantuminen ja DigiNotarin opetukset
DigiNotarin vaarantuminen (2011) on tärkein CA-incidentti, joka Security+ -kokelaiden tulee tuntea. Alankomaalainen CA DigiNotar joutui hyökkäyksen kohteeksi, ja hyökkääjät myönsivät vilpillisiä varmenteita Googlen, Mozillan ja hallinnon toimialueille. Niitä käytettiin Iranissa kansalaisiin kohdistuneisiin välistävetohyökkäyksiin. Seurauksena kaikki merkittävät selain- ja käyttöjärjestelmätoimittajat poistivat DigiNotarin välittömästi luotettujen juurivarmenteiden säilöistään, mikä mitätöi kaikki DigiNotarin koskaan myöntämät varmenteet. DigiNotar ajautui konkurssiin muutamassa viikossa. Tapaus osoitti, että CA:n vaarantuminen on katastrofaalista, ja siksi CAA DNS -tietueita, Certificate Transparency -järjestelmää ja monivaiheista tunnistautumista CA-järjestelmissä edellytetään nykyään.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte tällä oppitunnilla käsitellyt CompTIA Security+ (SY0-701) -käsitteet.
Oppitunnin yhteenveto
Tällä oppitunnilla opitte, että varmenteiden myöntäjät yhdistävät julkiset avaimet varmennettuihin identiteetteihin; luottamusketju kulkee loppuentiteetistä välittäjien CA:iden kautta itse allekirjoitettuun juurivarmenteeseen; juuri-CA:t säilytetään offline-tilassa HSM-laitteissa, ja käyttöjärjestelmät luottavat niihin ennalta; lisäksi CA:n vaarantuminen (DigiNotar) voi mitätöidä miljoonia varmenteita. Seuraavaksi tutustumme aiheeseen X.509-varmenteen rakenne.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”Varmentajat ja luottamusketjut” ilmainen?
Kyllä – oppitunnin ”Varmentajat ja luottamusketjut” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Varmentajat ja luottamusketjut”?
Oppikaa, miten juurivarmentajat, välivarmentajat ja loppukäyttäjän varmenteet muodostavat hierarkian, johon selaimet ja käyttöjärjestelmät luottavat. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Varmentajat ja luottamusketjut”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Varmentajat ja luottamusketjut
- X.509-varmenteen rakenne
- Varmenteen elinkaari ja peruuttaminen
- PKI:n käyttötapaukset: HTTPS, S/MIME ja koodin allekirjoitus