ACME (Automated Certificate Management Environment) är ett protokoll, definierat i RFC 8555, som automatiserar domänvalidering och certifikatutfärdande så att en server kan hämta och förnya ett betrott certifikat utan mänsklig inblandning.
ACME automatiserar certifikatutfärdande genom att en klient bevisar kontroll över en domän via en HTTP- eller DNS-utmaning, och sedan skickar in en certifikatsigneringsbegäran som CA verifierar och signerar automatiskt. ACME, som ursprungligen byggdes av Internet Security Research Group för Let's Encrypt, är nu standardiserat i RFC 8555 och stöds av många CA:er för alla certifikatgiltighetsperioder de erbjuder, inte bara Let's Encrypts ursprungliga 90-dagars standard.
Key Takeaways
- ACME byggdes av ISRG för Let's Encrypt, och standardiserades sedan som RFC 8555. Internet Engineering Task Force formaliserade protokollet så att vilken CA som helst, inte bara Let's Encrypt, kan implementera det.
- Domänvalidering sker via HTTP- eller DNS-utmaningar. Klienten bevisar kontroll över en domän genom att placera en sträng från CA på servern eller i en DNS-post innan CA utfärdar ett certifikat.
- ACME automatiserar hela livscykeln: utfärda, förnya och återkalla. Klientverktyg som Certbot hanterar alla tre åtgärderna utan att en person behöver logga in på en CA-portal.
- 90-dagarsstandarden är ett Let's Encrypt-policyval, inte en protokollgräns. ACME stöder själva vilken giltighetsperiod som en CA väljer att erbjuda, vilket är viktigt eftersom branschen går mot kortare giltighetsperioder enligt CA/Browser Forum Ballot SC-081v3.
- ACME kan inte validera certifikat direkt på rent interna nätverk. Offentliga certifikatutfärdare kan inte nå endast interna system för HTTP- eller DNS-utmaningar, så intern ACME-användning kräver en certifikathanterare som kan upprätta dessa anslutningar lokalt.
Hur ACME fungerar, steg för steg
ACME automatiserar samma kärnsteg som en manuell certifikatförfrågan följer, bara utan en människas inblandning någon gång i processen.
- Klientregistrering. ACME-klienten genererar ett kontonyckelpar och registrerar sig hos CA:s ACME-server.
- Domänauktorisering. CA utfärdar en HTTP-baserad eller DNS-baserad utmaning; klienten bevisar kontroll över domänen genom att uppfylla den.
- Orderskapande. Klienten skapar en beställning som specificerar vilket certifikat den behöver.
- Inlämning och utfärdande av CSR. Klienten genererar en CSR och skickar in den; när CA bekräftar att både CSR och domänauktorisering är giltiga utfärdar den certifikatet.
- Installation. Klienten installerar det utfärdade certifikatet automatiskt på servern eller enheten.
- Förnyelse eller återkallelse. När certifikatet närmar sig utgångsdatum begär klienten förnyelse via samma automatiserade flöde; återkallelse följer en liknande signerad begäran om det behövs.
ACME-protokollmodellen
ACME körs över HTTPS med hjälp av JSON Web Signature (JWS)-objekt, strukturerade som ett REST API mellan klient och CA.
ACME-klienter representeras av ett kontonyckelpar: den privata nyckeln signerar varje meddelande som skickas till servern, och CA:s ACME-server använder motsvarande publika nyckel för att verifiera meddelandets äkthet och integritet. Samma mönster för signerade förfrågningar täcker registrering, domänauktorisering, utfärdande och återkallelse, vilket ger ACME en enda konsekvent säkerhetsmodell för varje operation den utför.
Var ACME gäller och inte gäller
ACME fungerar bra för offentliga certifikat men har verkliga begränsningar för interna nätverk och vid incidenthantering.
- Offentliga certifikatutfärdare kan inte nå endast interna system. Externa ACME-servrar kan inte göra HTTP- eller DNS-anslutningar till system inom ett privat nätverk, så rent interna certifikat behöver en certifikathanterare som kan utföra dessa kontroller lokalt.
- Ingen inbyggd utlösare för nödbyte. ACME har ingen primär mekanism för att automatiskt utlösa certifikatersättning som svar på en händelse som en CA-komprometterad säkerhet; det kräver fortfarande separata verktyg för incidenthantering.
- Brett plattformsstöd är en verklig styrka. Ett brett utbud av certifikatutfärdare, certifikathanterare och klienter på TLS-servrar och operativsystem stöder ACME, vilket är ovanligt för ett certifikatprotokoll och ger ett verkligt interoperabilitetsvärde.
Varför 90-dagars standard är ett policyval, inte en protokollgräns
ACME:s koppling till Let's Encrypts 90-dagarscertifikat leder till en vanlig missuppfattning om vad själva protokollet kräver.
Let's Encrypt valde en giltighetsperiod på 90 dagar som sin egen utgivningspolicy när de byggde ACME för att driva sin affärsmodell, men ingenting i RFC 8555 knyter ACME till det specifika fönstret. Alla CA som implementerar ACME kan utfärda certifikat för vilken giltighetsperiod de än stöder, vilket är just anledningen till att ACME är väl positionerat för att hantera branschens övergång mot mycket kortare giltighetsperioder, ner till 47 dagar år 2029 enligt CA/Browser Forum Ballot SC-081v3, utan någon ändring av det underliggande protokollet.
Hur krypteringskonsulting hjälper
CertSecure Manager stöder ACME-baserad utfärdande tillsammans med SCEP och EST, vilket automatiserar certifikatförfrågningar, domänvalidering och förnyelse i offentliga och interna miljöer i takt med att certifikatens giltighetstider fortsätter att förkortas. Stöds av ISO/IEC 27001:2022 och SOC 2-certifierade metoder.
Vanliga frågor om partihandel med mat och dryck
Vem skapade ACME-protokollet?
Internet Security Research Group (ISRG) utvecklade ursprungligen ACME för att driva Let's Encrypts automatiserade certifikatutfärdande. Internet Engineering Task Force (IETF) standardiserade det senare som RFC 8555, vilket gjorde det möjligt för vilken certifikatutfärdare som helst att implementera ACME, inte bara Let's Encrypt.
Utfärdar ACME bara 90-dagarscertifikat?
Nej. Standardvärdet på 90 dagar är ett policyval som Let's Encrypt gjort för sin egen tjänst, inte en begränsning av själva ACME-protokollet. Alla CA som implementerar ACME kan utfärda certifikat för vilken giltighetsperiod de än stöder, inklusive de kortare perioder som branschen rör sig mot enligt CA/Browser Forum Ballot SC-081v3.
Kan ACME utfärda certifikat endast för interna servrar?
Inte direkt via en publik certifikatutfärdare, eftersom externa ACME-servrar inte kan upprätta HTTP- eller DNS-anslutningar till system inom ett privat nätverk för att slutföra domänvalidering. Intern ACME-baserad utfärdande kräver en certifikathanterare som kan upprätta dessa valideringsanslutningar lokalt inom nätverket.
Vad händer om en CA komprometteras när ACME används?
ACME har ingen inbyggd mekanism för att automatiskt utlösa certifikatersättning som svar på en CA-komprometterad eller liknande händelse. Organisationer behöver fortfarande separata incidenthanteringsprocesser och verktyg, såsom en certifikathanteringsplattform, för att upptäcka komprometterat certifikat och tvinga fram snabb återutgivning.
Automatisera certifikatutfärdande med ACME
Automatisera certifikatlivscykler med CertSecure Manager för ACME, SCEP och EST, redo för vilken giltighetsperiod som helst som din CA stöder.
