Certificate Management Protocol
CMP (Certificate Management Protocol) | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
familj: | okänd | |||||||||||||||||||||||||||||
användningsområde : | certifikathantering | |||||||||||||||||||||||||||||
nyaste versionen: | cmp2000(2) | |||||||||||||||||||||||||||||
OID för den senaste versionen: | 1.3.6.1.5.5.7.0.16 | |||||||||||||||||||||||||||||
TCP/UDP-port: | 80 (http), 443 (https), 829 (pkix-3-ca-ra) | |||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
föreslagen standard: | ||||||||||||||||||||||||||||||
föråldrad standard: |
Certificate Management Protocol (CMP) är ett internetprotokoll standardiserat av IETF som används för att erhålla X.509 digitala certifikat i en offentlig nyckelinfrastruktur (PKI).
CMP är ett mycket funktionsrikt och flexibelt protokoll som stöder alla typer av kryptografi. CMP-meddelanden är fristående, vilket, i motsats till EST , gör protokollet oberoende av transportmekanismen och ger end-to-end-säkerhet. CMP-meddelanden kodas i ASN.1 med DER- metoden.
CMP beskrivs i RFC 4210 . Meddelanden om registreringsbegäran använder Certificate Request Message Format (CRMF), som beskrivs i RFC 4211 . Det enda andra protokollet som hittills använder CRMF är Certificate Management over CMS (CMC), som beskrivs i RFC 5273 .
Historia
En föråldrad version av CMP beskrivs i RFC 2510 , respektive CRMF-version i RFC 2511 . En CMP-uppdatering är under förberedelse samt en lätt CMP-profil med fokus på industriell användning.
PKI-enheter
I en publik nyckelinfrastruktur (PKI ) agerar så kallade slutentiteter (EEs) som CMP-klient, och begär ett eller flera certifikat för sig själva från en certifikatutfärdare (CA), som utfärdar de juridiska certifikaten och fungerar som en CMP-server. Ingen eller valfritt antal registreringsmyndigheter (RA) kan användas för att förmedla mellan EE och CA, som har både ett nedströms CMP-servergränssnitt och ett uppströms CMP-klientgränssnitt. Genom att använda en "korscertifieringsbegäran" kan en CA få ett certifikat signerat av en annan CA.
Funktioner
- Fristående meddelanden med skydd oberoende av överföringsmekanism - i motsats till relaterade protokoll EST och SCEP stöder detta end-to-end-säkerhet.
- Fullständigt certifikatlivscykelstöd: en slutenhet kan använda CMP för att få certifikat från en CA, begära uppdateringar för dem och även få dem återkallade.
- Generering av nyckelpar görs vanligtvis av klientsidan, men kan även begäras från serversidan.
- Bevis på innehav görs vanligtvis genom en självsignering av det begärda certifikatets innehåll, men CMP stöder även andra metoder.
- CMP stöder den mycket viktiga aspekten av ursprungsbevis i två format: baserat på en delad hemlighet (används initialt) och signaturbaserad (med användning av redan existerande certifikat).
- Om en slutenhet har förlorat sin privata nyckel och den lagras av CA, kan den återställas genom att begära en "nyckelparsåterställning".
- Det finns olika ytterligare typer av förfrågningar möjliga, till exempel för att hämta CA-certifikat och för att få PKI-parametrar och preferenser för serversidan.
Transport
CMP-meddelanden överförs vanligtvis med HTTP, men alla pålitliga transportmedel kan användas.
- Inkapslad i HTTP -meddelanden, eventuellt med TLS ( HTTPS ) för ytterligare skydd.
- Inkapslad i CoAP -meddelanden, valfritt med DTLS för ytterligare skydd.
- TCP eller något annat pålitligt, anslutningsorienterat transportprotokoll.
- Som en fil , t.ex. över FTP eller SCP .
- Via e-post , med hjälp av MIME- kodningsstandarden.
Innehållstypen som används är application / pkixcmp ; äldre versioner av utkastet som används application/pkixcmp-poll , application/x-pkixcmp eller application/x-pkixcmp-poll .
Genomföranden
- OpenSSL version 3.0 innehåller omfattande CMP-stöd i C.
- Bouncy Castle API erbjuder CMP-stöd på låg nivå i Java och C#.
- RSA BSAFE Cert-J ger CMP-stöd.
- cryptlib ger CMP-stöd.
- EJBCA , en CA -mjukvara, implementerar en delmängd av CMP-funktionerna.
- Nexus Certificate Manager stöder CMP.
- Entrust Authority Security Manager implementerar CMP-stöd.
- Insta Certifier CA implementerar CMPv2-stöd.
Se även
- Simple Certificate Enrollment Protocol (SCEP)
- Certifikathantering över CMS (CMC)
- Registrering via Secure Transport (EST)
- Automatiserad certifikathanteringsmiljö (ACME)
- ^ RFC 6712 Internet X.509 Public Key Infrastructure -- HTTP-överföring för Certificate Management Protocol (CMP)
- ^ "Draft-ietf-ace-cmpv2-coap-transport-04" .
- ^ CMPforOpenSSL, GitHub-sida
- ^ a b "Teknisk uppdatering - CMP i EJBCA och Bouncy Castle" . Hämtad 2022-06-21 .
- ^ "EJBCA - Java EE Certificate Authority" . Arkiverad från originalet 2019-06-07 . Hämtad 2019-06-07 .