Internet Security Research Group ontwikkelde oorspronkelijk een Automated Certificate Management Environment (ACME)-protocol voor hun publieke CA, Let's Encrypt. ACME is de drijvende kracht achter het gehele bedrijfsmodel van Let's Encrypt, waarmee ze domeingevalideerde certificaten van 90 dagen kunnen uitgeven. SSL certificaten, die kunnen worden vernieuwd en vervangen zonder tussenkomst van de eigenaar van de website.
Het doel is om een HTTPS server die automatisch vertrouwde certificaten verkrijgt zonder menselijke tussenkomst.
Overzicht
De IETF heeft een Automated Certificate Management Environment (ACME) ontwikkeld voor automatisch certificaatbeheer. Het ACME-protocol biedt een efficiënte manier om te valideren of een certificaataanvrager geautoriseerd is voor het gevraagde domein en installeert automatisch de certificaten.
Deze validatie wordt uitgevoerd door de aanvrager te vragen een willekeurige tekenreeks (geleverd door de CA of certificaatbeheerder) op de server voor verificatie via HTTP of in een tekstrecord van de DNS-vermelding (Domain Name System) van de server. Clientprogramma's, zoals Certbot, kunnen automatisch alle bewerkingen uitvoeren die nodig zijn om een certificaat aan te vragen, waardoor het handmatige werk tot een minimum wordt beperkt. Let's Encrypt en verschillende andere openbare certificeringsinstanties ondersteunen geautomatiseerd beheer van openbare certificaten met behulp van het ACME-protocol. Openbare certificeringsinstanties kunnen echter geen ACME-validatie uitvoeren voor certificaten die zijn geïnstalleerd op systemen binnen organisatienetwerken. Externe entiteiten kunnen geen HTTP- of DNS-verbindingen maken met interne systemen. De certificaatbeheerder kan interne HTTP- en DNS-verbindingen maken en worden gebruikt voor ACME-gebaseerd certificaatbeheer op interne netwerken. Een verscheidenheid aan certificeringsinstanties, certificaatbeheerders en clients op een breed scala aan TLS-servers en besturingssystemen ondersteunen het ACME-protocol, wat het een voordeel geeft. Een nadeel van ACME is dat er geen primaire methode is om een certificaatvervanging te activeren als reactie op een certificaatgebeurtenis (bijv. CA-compromittering).
ACME definieert een uitbreidbaar raamwerk voor het automatiseren van het uitgifte- en validatieproces van deze certificaten. De servers kunnen certificaten verkrijgen zonder menselijke tussenkomst.
ACME Protocolmodel
ACME gebruikt HTTPS als transport voor JavaScript Object Notation (JSON) Web Signature (JWS)-objecten. Deze worden ook wel REST genoemd. API.
ACME-servers draaien op certificeringsinstanties (CA's) en reageren op de actie van de client als ze geautoriseerd zijn. De client gebruikt het ACME-protocol om certificaatbeheer Acties. ACME-clients worden weergegeven door "accountsleutelparen". Een privésleutel wordt gebruikt om alle berichten naar de server te ondertekenen, en de ACME-server gebruikt openbare toegang om de authenticiteit van de berichten te verifiëren en de integriteit te waarborgen.
Hoe het ACME-protocol werkt
Opzetten
Een ACME-server moet correct geconfigureerd zijn voordat deze verzoeken kan ontvangen en certificaten kan installeren. De stappen voor het instellen van ACME-servers zijn:
- Een CA instellen: ACME wordt geïnstalleerd in een CA, dus we moeten een CA selecteren op het domein waar we willen dat ACME beschikbaar is.
- Voer het domein in waar ACME zal worden geïnstalleerd
- Kies op welke CA het geïnstalleerd zal worden
- autorisatie
- De client neemt contact op met de CA en genereert een geautoriseerd sleutelpaar
- CA geeft DNS- of HTTPS-uitdagingen uit waarop de client reageert en die hij oplost om autoriteit en controle te bewijzen.
- De CA stuurt ook een nonce, een willekeurig nummer, dat wordt ondertekend met de persoonlijke sleutel van de client en ter verificatie wordt teruggestuurd naar de CA.
Hiermee is de installatie van ACME afgerond. Na de installatie begint de automatisering te werken. ACME neemt een paar stappen:
- Certificaten uitgeven/vernieuwenACME heeft de bevoegdheid om certificaten uit te geven of te verlengen voor geautoriseerde gebruikers. Eerst genereert de client (of agent) een Certificate Signing Request (CSR) die naar de CA wordt verzonden. De CSR wordt ondertekend door de agent, waarna de CA kan bevestigen dat deze authentiek is en van de agent afkomstig. Na verificatie geeft de CA het certificaat voor het domein uit en stuurt het terug naar de agent.

- herroeping: Net als bij het vorige proces ondertekent de agent een verzoek tot intrekking dat naar de CA wordt verzonden. De CA bevestigt opnieuw de authenticiteit van het verzoek en trekt vervolgens het certificaat in, dat vervolgens wordt gepubliceerd op CRL, OCSP, enz. PKI-infrastructuur.

ACME-protocolfuncties
ACME gebruikt verschillende URL's en bronnen voor verschillende beheerfuncties die het kan bieden. Enkele functies zijn:
- Nieuwe Nonce
- Nieuwe registratie
- Nieuwe applicatie
- Nieuwe autorisatie
- Certificaat intrekken
- Sleutelwijziging
Voordelen
ACME biedt een geautomatiseerde manier om certificaten snel en zonder menselijke fouten te verstrekken en in te trekken. Daarnaast zijn er een paar voordelen om op te letten...
- ACME is gratis, waardoor iedere domeineigenaar gratis een vertrouwd certificaat kan krijgen.
- Zoals eerder vermeld, automatiseert ACME de levenscyclus van certificaten zonder menselijke fouten.
- ACME kan door iedereen worden gebruikt en ondersteunt uniforme protocollen voor alle functies in plaats van afzonderlijke API's.
- Ze worden ondersteund door open source, wat een impact op de hele community mogelijk maakt en zorgt voor impactvollere projecten, wat de beveiliging verbetert.
- Mocht er toch een probleem zijn, dan kan ACME u snel helpen het probleem op te lossen, de oude certificaten te vervangen door nieuwe en over te stappen op een nieuwe CA.
Conclusie
Het ACME-framework biedt een effectieve en efficiënte manier om SSL/TLS-certificaten te beheren, waardoor de noodzaak voor handmatige tussenkomst wordt verminderd en menselijke fouten worden geminimaliseerd. ACME-domeineigenaren profiteren van grote voordelen dankzij de mogelijkheid om certificaten snel en gratis uit te geven en te verwijderen. Encryptieconsultancy kan helpen bij de implementatie en uitvoering van ACME-gebaseerde certificaatbeheeroplossingen, waardoor naadloos en veilig beheer van de certificaatlevenscyclus wordt gegarandeerd.
