Miten se toimii

Viimeksi päivitetty:

Let’s Encrypt ja ACME-protokollan tavoitteena on mahdollistaa HTTPS-palvelimen perustaminen ja saada automaattisesti selainluotettava varmenne, ilman ihmisen toimia. Tämä saavutetaan suorittamalla varmennehallinta-agentti verkkopalvelimessa.

Ymmärtääksesi tekniikan toiminnan, käydään läpi prosessi, jossa määritetään https:// esimerkki.com/ varmenteiden hallinta-agentilla, joka tukee Let’s Encryptia.

Tähän prosessiin on kaksi vaihetta. Ensinnäkin agentti todistaa CA:lle, että verkkopalvelin hallitsee toimialuetta. Sitten agentti voi pyytää, uusia ja kumottaa kyseisen toimialueen varmenteita.

Toimialueen vahvistus

Let’s Encrypt tunnistaa palvelimen ylläpitäjän julkisella avaimella. Ensimmäistä kertaa agenttiohjelmisto on vuorovaikutuksessa Let’s Encryptin kanssa, se luo uuden avainparin ja todistaa varmentajalle Let’s Encrypt, että palvelin ohjaa yhtä tai useampaa toimialueita. Tämä on samanlainen kuin perinteinen varmentajan prosessi, jossa luodaan tili ja siihen lisätään toimialueita.

Prosessin käynnistämiseksi agentti kysyy varmentajalta Let’s Encrypt, mitä sen on tehtävä osoittaakseen, että se hallitsee esimerkki.com:ta. Varmentaja Let’s Encrypt tarkastelee pyydettyä toimialuetta ja luo yhden tai useamman sarjan haasteita. Nämä ovat eri tapoja, joilla agentti voi todistaa toimialueen hallinnan. Varmentaja voi esimerkiksi antaa agentille valita jommankumman seuraavista:

Haasteiden ohella varmentaja Let’s Encrypt tarjoaa myös nonce:n, joka agentin on allekirjoitettava yksityisellä avainparillaan todistaakseen, että se hallitsee avainparia.

Requesting challenges to validate example.com

Agenttiohjelmisto toteuttaa yhden tarjotuista sarjoista haasteita. Oletetaan, että se pystyy suorittamaan toisen yllä olevan tehtävän: se luo tiedoston määritettyyn polkuun http://esimerkki.com:lle. Agentti allekirjoittaa myös toimitetun nonce:n yksityisellä avaimellaan. Kun agentti on suorittanut nämä vaiheet, se ilmoittaa varmentajalle, että on valmis suorittamaan vahvistuksen.

Sitten on varmentajan tehtävä tarkistaa, että haasteet on täytetty. Varmentaja tarkistaa allekirjoituksen nonce:ssa ja yrittää ladata tiedoston verkkopalvelimelta ja varmistaa, että siinä on odotettu sisältö.

Requesting authorization to act for example.com

Jos allekirjoitus nonce:n välityksellä on kelvollinen ja haasteet kuitataan, sitten julkisella avaimella tunnistettu agentti on valtuutettu hallitsemaan esimerkki.com:n varmenteita. Kutsumme agentiin käyttämää avainparia “valtuutetuksi avainpariksi” esimerkki.com:een.

Varmenteen myöntäminen ja kumoaminen

Kun agentilla on valtuutettu avainpari, varmenteiden pyytäminen, uusiminen ja kumoaminen on helppoa – on vain lähetettävä varmenteenhallintaviestit ja allekirjoita ne valtuutetulla avainparilla.

Saadakseen varmenteen toimialueelle agentti muodostaa PKCS#10 sertifikaatin allekirjoituspyynnön, joka pyytää varmentajalta Let’s Encrypt myöntämään varmenteen esimerkki.com:lle tietyllä julkisella avaimella. Kuten tavallista, CSR sisältää allekirjoituksen yksityisellä avaimella, joka vastaa CSR:n julkista avainta. Agentti allekirjoittaa myös koko CSR:n valtuutetulla avaimella esimerkki.com:lle, jotta varmentaja Let’s Encrypt tietää, että se on valtuutettu.

Kun Let’s Encrypt CA vastaanottaa pyynnön, se vahvistaa molemmat allekirjoitukset. Jos kaikki näyttää hyvältä, se luo varmenteen esimerkiksi.com:lle CSR:n julkisella avaimella ja palauttaa sen agentille.

Requesting a certificate for example.com

Kumoaminen toimii samalla tavalla. Agentti allekirjoittaa peruutuspyynnön avainparilla, joka on valtuutettu toimialueelle esimerkki.com, ja varmentaja Let’s Encrypt varmistaa, että pyyntö on valtuutettu. Jos näin on, se julkaisee kumotustiedot normaaleihin kumotuskanaviin (eli OCSP:hen), jotta siihen luottavat osapuolet, kuten verkkoselaimet, voivat tietää, että niiden ei pitäisi hyväksyä kumottua varmennetta.

Requesting revocation of a certificate for example.com