Zum Hauptinhalt springen
Gilt für:
DuoKey Cockpit v2KMIP server endpoint

Was ist KMIP?​

Das Key Management Interoperability Protocol (KMIP) ist ein OASIS-Standard, der festlegt, wie kryptografiefähige Anwendungen — Datenbanken, Speichersysteme, Backup-Appliances — mit einer zentralen Schlüsselverwaltung kommunizieren. Es standardisiert den vollständigen Schlüssellebenszyklus (Erstellen, Abrufen, Aktivieren, Widerrufen, Vernichten), sodass eine einzige Schlüsselverwaltung viele verschiedene Produkte ohne individuelle Integrationen bedienen kann.

Wie DuoKey KMIP umsetzt​

DuoKey Cockpit v2 betreibt einen KMIP-Server-Endpunkt. Konforme Clients verbinden sich über TLS mit ihm und senden KMIP-Operationen; DuoKey erzeugt das Schlüsselmaterial, schützt es und gibt es zurück (oder führt Ver-/Entschlüsselung durch) gemäß der Endpunkt-Richtlinie.

KMIP clientsdatabases · backupstorage · appsTTLV / TLSport 5696DuoKey KMIP serverOASIS KMIP 2.x — no SDKKeysvault / HSM custody
Standard KMIP clients consume keys directly over the wire — no DuoKey SDK — while the key material stays in the vault or HSM.
Eine Generation

Der KMIP-Server ist eine Fähigkeit von Cockpit v2 (Rust/React) und wird als PKI-Service-Endpunkt bereitgestellt. Er hat nichts mit dem Konfigurationsmodell von Cockpit v1 (.NET/Angular) zu tun.

Protokollunterstützung​

CapabilityDetails
KMIP-VersionenVerhandelt 2.1, 2.0, 1.4, 1.3, 1.2, 1.1, 1.0. Das standardmäßig angebotene Profil ist KMIP 2.1.
TransporteBinäres TTLV über TLS sowie ein JSON-über-HTTPS-Profil.
Standard-TLS-Port5696 (der von der IANA zugewiesene KMIP-Port).
KodierungKanonische KMIP-2.x-Attribute; 1.x-TemplateAttribute-Anfragen werden beim Eingang normalisiert und für Clients vor 2.0 wieder angepasst ausgegeben.

Unterstützte Operationen​

Der Endpunkt verarbeitet die folgenden KMIP-Operationen:

OperationPurpose
CreateErzeugt einen neuen verwalteten Schlüssel.
RegisterImportiert vom Client bereitgestelltes Schlüsselmaterial.
GetRuft ein Schlüsselobjekt ab.
GetAttributesLiest die Attribute eines Objekts.
GetAttributeListListet die Attributnamen eines Objekts auf.
LocateFindet Objekte, die auf Attributfilter passen.
ActivateVersetzt einen Schlüssel in den aktiven Zustand.
RevokeWiderruft einen Schlüssel (der standardmäßige Deaktivierungspfad).
DestroyEntfernt Schlüsselmaterial dauerhaft.
NaNServerseitige kryptografische Operationen.
ReKeyÜberführt einen Schlüssel in frisches Material unter einem neuen Bezeichner.
CheckPrüft die Nutzungsbeschränkungen eines Objekts.
QueryErmittelt die Serverfähigkeiten.
DiscoverVersionsVerhandelt die KMIP-Protokollversion.
Nicht implementiert

Operationen zur asymmetrischen Erzeugung und Signierung — CreateKeyPair, DeriveKey, Certify, Sign, MAC sowie die Operationen zur Attributänderung — werden nicht unterstützt und liefern ein OperationNotSupported-Ergebnis zurück. Die Endpunkt-Richtlinie kann die zulässigen Operationen pro Bereitstellung zusätzlich einschränken.

Objekte und Algorithmen​

ItemSupport
Verwaltete ObjekttypenSymmetrische Schlüssel, öffentliche Schlüssel, private Schlüssel, Zertifikate und geheime Daten.
SchlüsselerzeugungNur symmetrisches Material: AES (128 / 192 / 256 Bit, standardmäßig 256) und HMAC (256 Bit oder mehr).
Serverseitige KryptografieAES-256-GCM für Encrypt / Decrypt, wobei ein eigenständiges nonce ‖ ciphertext ‖ tag-Blob zurückgegeben wird.
Erzeugung symmetrischer Schlüssel

DuoKey erzeugt und speichert symmetrisches Schlüsselmaterial (AES, HMAC). Asymmetrische Objekttypen und Zertifikate können als Objekte registriert und verwaltet werden, der Server erzeugt jedoch selbst keine RSA- oder EC-Schlüsselpaare.

Wie Schlüssel geschützt werden​

Erzeugtes Schlüsselmaterial wird mit AES-256-GCM unter dem Plattform-Verschlüsselungsschlüssel im Ruhezustand verschlüsselt — derselbe Umschlag, der auch für Vault-Anmeldedaten und Identitätsanbieter-Geheimnisse verwendet wird — und in der DuoKey-Datenbank gespeichert. Schlüssel überstehen Neustarts und liegen niemals nur im Prozessspeicher. Destroy löscht das gespeicherte Material endgültig.

Positionierung

Bei KMIP werden Schlüssel durch Umschlagverschlüsselung unter dem Plattformschlüssel geschützt, nicht durch MPC. Der MPC-basierte Schlüsselschutz gilt für andere DuoKey-Schlüsselverwaltungsabläufe, nicht für das hier beschriebene KMIP-Server-Backend.

Client-Authentifizierung​

Die Client-Authentifizierung ist optionales gegenseitiges TLS (mTLS): Der CommonName eines vorgelegten Client-Zertifikats wird zur auditierten Client-Identität. Die endpunktbezogene Richtlinie (allowed_auth_methods, require_client_cert) entscheidet, welche Methoden akzeptiert werden:

MethodHow it works
mTLSDer Client legt ein X.509-Zertifikat vor; dessen CommonName ist die Identität.
Anmeldedaten in der NachrichtEine im Anfrage-Header übertragene KMIP-Benutzername/Passwort-Anmeldeinformation.
AnonymNur zulässig, wenn die Endpunkt-Richtlinie es ausdrücklich erlaubt.

Um mTLS-Identitäten zu vertrauen, richten Sie den Listener auf ein PEM-Bündel vertrauenswürdiger Client-CAs aus:

Enforce validated mTLSBASH
# PEM bundle of trusted client-CA certificates
KMIP_CLIENT_CA_BUNDLE=/etc/duokey/kmip/client-ca-bundle.pem
Produktion erfordert ein CA-Bündel

Wenn kein Client-CA-Bündel konfiguriert ist, werden vorgelegte Client-Zertifikate ohne CA-Validierung akzeptiert und ihre Identität darf für die Autorisierung nicht als vertrauenswürdig gelten. In der Produktion verhält sich der Listener fail closed und verweigert den Start, bis ein Bündel gesetzt ist.

Client-Kompatibilität​

Jeder OASIS-KMIP-1.x- oder -2.x-Client kann sich über den binären TLS-Transport auf Port 5696 verbinden. Die Interoperabilität wird durchgehend mit dem PyKMIP-Referenz-Client geprüft (Query → Create → Activate → Get → Encrypt/Decrypt → Locate → Revoke → Destroy).

Integrationsziele für KMIP-basierte Verschlüsselung umfassen:

Percona Server

Data-at-Rest-Verschlüsselung für MongoDB und MySQL.

VMware vSphere

Standard-Schlüsselanbieter für vSphere und vSAN.

NetApp ONTAP

Externe Schlüsselverwaltung für die Speicherverschlüsselung.

Bereitstellung​

Ein KMIP-Server-Endpunkt wird im DuoKey Cockpit unter PKI → KMIP Server erstellt. Der Assistent erfasst den Endpunktnamen, den Key Vault, die zulässigen Authentifizierungsmethoden, den Transport (binäres TLS oder JSON/HTTPS) und den TLS-Port, den Standardalgorithmus und die Schlüsselgröße, die zulässigen Objekttypen und Operationen sowie die Audit-Einstellungen — und stellt den Endpunkt anschließend bereit und startet ihn.