Farbschema: Riviera
Sie befinden sich hier: start » de » Dokumentation » Post-Quanten-Kryptografie » WKL TrustBridge – Überblick » Schnittstellen und Integration

Schnittstellen und Integration

Zusammenfassung. WKL TrustBridge unterscheidet vier Arten von Schnittstellen: standardisierte Protokolle für Partnersysteme (ACME, EST, CMP), die öffentliche Verteilung von CA-Zertifikaten, Sperrlisten und Vertrauensbündeln per HTTP, eine fachliche Verwaltungs-API für Verwaltungsanwendung, Partnerportal und Automatisierung und die lokalen Schnittstellen von TLS-Adapter und Schlüsselagent auf jedem angebundenen Rechner. Standardisierte Endpunkte werden unverändert umgesetzt; eine eigene Schnittstelle gibt es nur, wo kein Standard existiert. Alle Wege führen zu denselben fachlichen Operationen und denselben Rechten.

Begriffe

  • Protokolladapter – Komponente, die ein Standardprotokoll vollständig umsetzt (Nachrichten, Signaturen, Zustände, Fehlerformate) und die fachliche Entscheidung an den gemeinsamen Kern weitergibt.
  • Fachlicher Kern – Verwaltung und Enrollment-Kern: Autorisierung, Mandant, Bildung des Auftrags, Audit.
  • OData v4 – OASIS- und ISO/IEC-Standard für REST-Schnittstellen mit maschinenlesbarem Schema, Abfrageoptionen und Aktionen.
  • Befehl – Operation, die über eine Zeile hinaus wirkt, einen Auftrag erzeugt oder ein Geheimnis zurückgibt; als OData-Aktion bzw. POST umgesetzt.

Übersicht

graph TD
  subgraph EXT [Standardprotokolle]
    ACME[ACME<br/>RFC 8555]
    EST[EST<br/>RFC 7030]
    CMP[Lightweight CMP<br/>RFC 9483]
  end
  subgraph MGM [Fachliche API]
    OD[Verwaltungs-API<br/>OData v4, Aktionen]
  end
  subgraph PUB [Öffentliche Verteilung]
    AIA[CA-Zertifikate<br/>HTTP GET]
    CDP[Sperrlisten<br/>HTTP GET]
    TB[Vertrauensbündel<br/>HTTP GET]
  end
  PS[Systeme der Partner] --> ACME
  PS --> EST
  PS --> CMP
  ADM[Verwaltungsanwendung] --> OD
  PP[Partnerportal] --> OD
  AUT[Automatisierung] --> OD
  PR[Prüfende Gegenstellen] --> AIA
  PR --> CDP
  TLA[TLS-Adapter, Schlüsselagenten] --> TB
  ACME --> K[Fachlicher Kern]
  EST --> K
  CMP --> K
  OD --> K
  K --> DB[(Aufträge)]
  classDef std fill:#deecf9,stroke:#0078d4,color:#201f1e
  classDef own fill:#f3f2f1,stroke:#605e5c,color:#201f1e
  classDef par fill:#deecf9,stroke:#0078d4,color:#201f1e
  classDef onl fill:#f3f2f1,stroke:#605e5c,color:#201f1e
  class ACME,EST,CMP,AIA,CDP,TB std
  class OD,K,PP own
  class ADM,AUT,PR,PS,TLA par
  class DB onl
  style EXT fill:#ffffff,stroke:#8a8886,color:#201f1e
  style MGM fill:#ffffff,stroke:#8a8886,color:#201f1e
  style PUB fill:#ffffff,stroke:#8a8886,color:#201f1e

Grundsatz: Standards unverändert, eigene API nur ohne Standard

Ein Partnersystem soll für gewöhnliche PKI-Vorgänge keinen eigenen Client von TrustBridge brauchen. Deshalb werden standardisierte Endpunkte genau so umgesetzt, wie die Spezifikation sie beschreibt – einschließlich ihrer Pfade und Fehlerformate –, statt sie in eine eigene Namenskonvention zu übersetzen. Bei großen Anbietern privater CAs ist das Muster dasselbe: Systeme sprechen IETF-Protokolle, die Verwaltung eine eigene, ressourcenorientierte API.

Protokolladapter

Wrapper-Prinzip. Ein Adapter ist vollständig im Protokoll und dünn in der Fachlogik:

VerantwortungAdapterFachlicher Kern
HTTP-Protokoll, Nachrichtenformate, Signaturen des Protokollsjanein
Zustände des Protokolls (etwa ACME-Bestellung, Nonce)janein
Autorisierungliefert den Kontext (Konto, Client-Zertifikat)entscheidet
Prüfung des Antrags gegen Profilklasse und Namensraumneinja
Bildung des Auftrags, Attestierung automatischer Klassenneinja
Auditliefert Protokollereignisseschreibt das Sicherheitsaudit
Fehlerübersetzt in das Format des Protokollsliefert fachliche Fehler

Der Kern muss nicht wissen, was eine ACME-Bestellung ist; er versteht: Ein autorisierter Teilnehmer beantragt ein Zertifikat für eine bestimmte Identität in einer bestimmten Profilklasse. Signiert wird weder im Adapter noch im Kern, sondern später im CA-Worker; kein Adapter wartet auf die Signatur.

ACME (RFC 8555)

AspektFestlegung
EinstiegVerzeichnis (directory) unter einer frei gewählten Adresse; die Namen der Operationen (newNonce, newAccount, newOrder, revokeCert, keyChange) sind standardisiert, ihre Pfade nicht
Bindung an den MandantenACME-Konten werden über External Account Binding an einen Mandanten gebunden; ein Konto ohne Bindung erhält nichts
Nachweis der Namenskontrollehttp-01, dns-01 oder tls-alpn-01 für Namen im Namensraum des Partners; welche Arten je Partner zugelassen sind, legt die Profilklasse fest
AusstellungAbschluss der Bestellung erzeugt einen Auftrag; das Zertifikat ist abrufbar, sobald der Worker ausgestellt hat (ACME sieht asynchrone Bearbeitung vor)
SperrungrevokeCert mit Nachweis über den Schlüssel des Zertifikats oder durch das Konto

EST (RFC 7030)

EndpunktVerwendung
/.well-known/est/cacertsAbruf der CA-Zertifikate
/.well-known/est/simpleenrollErstausstellung, authentisiert über den Nachweis der Profilklasse (Einmalwert, Gerätezertifikat oder TPM-Attestierung)
/.well-known/est/simplereenrollErneuerung mit dem bisherigen Zertifikat
/.well-known/est/serverkeygenSchlüsselerzeugung durch den Server: nicht angeboten, TrustBridge erzeugt keine Schlüssel für Antragsteller

Zusätzliche Pfadsegmente je CA oder Profil sind nach RFC 7030 zulässig.

Lightweight CMP (RFC 9483)

Lightweight CMP ist in industriellen Geräten und Steuerungen verbreitet. TrustBridge bietet es für Profilklassen von Maschinen und Geräten an, mit Herstellerzertifikat (IEEE 802.1AR) als Nachweis der Erstausstattung. Wie bei ACME und EST erzeugt der Adapter nur einen Auftrag; signiert wird im CA-Worker.

SCEP

SCEP wird nicht angeboten. Es authentisiert die Erstausstattung mit einem gemeinsamen Challenge-Kennwort, das den Anforderungen an die Erstausstattung nicht genügt. Geräteverwaltungen, die nur SCEP sprechen, werden über einen vorgelagerten Dienst mit EST oder CMP angebunden.

Verwaltungs-API

Die Verwaltungs-API ist die eine fachliche Schnittstelle für Verwaltungsanwendung, Partnerportal und Automatisierung. Alle drei durchlaufen dieselben Prüfungen, Rechte und Audit-Einträge; ob ein Befehl aus Access oder aus einem Skript kommt, macht keinen Unterschied.

AspektFestlegung
FormOData v4: Mengen zum Lesen (Filtern, Sortieren, seitenweises Abrufen, Zählen, Gruppieren), Aktionen für Befehle; maschinenlesbares Schema; daraus erzeugte OpenAPI-Beschreibung für Werkzeuge ohne OData
Namenenglische Ressourcen- und Feldnamen (etwa certificates, certificate-requests, trust-relationships)
Befehleerzeugen Aufträge und antworten, sobald diese gespeichert sind; kein Befehl wartet auf den Worker
IdempotenzIdempotency-Key an jedem schreibenden Aufruf; eine Wiederholung erhält die erste Antwort
SchreibkonflikteZeilenversion als ETag, If-Match, Antwort 412
FehlerFehlerformat von OData mit fester Kennung und Meldung in der Sprache des Aufrufers; kein Schlüssel, keine Signatur und kein Datenbankfehler im Wortlaut
Mandantenein Objekt außerhalb des eigenen Sichtbereichs ergibt 404, nicht 403
Anmeldung von Personenpersönlicher Schlüssel in einer Kopfzeile; zweiter Faktor über eine Herausforderung (401 mit Verweis auf die Adresse zum Eintausch eines Einmalcodes gegen eine Sitzung); für jede Person, auch nur lesend. In Windows-Domänen alternativ Windows-Anmeldung über Kerberos
Anmeldung von ProgrammenmTLS mit Client-Zertifikat der eigenen Zertifizierungsstelle
Freie Datenbankanweisungen, Transaktionen über mehrere Anfragennicht angeboten
VersionenHauptversion im Pfad; Ankündigung des Endes einer Fassung über die Kopfzeilen Deprecation (RFC 9745) und Sunset (RFC 8594) mit einer Mindestlaufzeit von zwölf Monaten

Warum OData und nicht reine REST-Listen. Die Verwaltungsanwendung verknüpft Listen über einen ODBC-Treiber, der ausschließlich OData spricht; reine REST-Listen kann er nicht verknüpfen. OData ist ein REST-Standard; die daraus erzeugte OpenAPI-Beschreibung bedient Werkzeuge ohne OData. Eine zweite REST-Lesefläche neben den OData-Mengen würde dieselben Daten zweimal liefern und zweimal berechtigt und geprüft werden müssen.

Warum kein OAuth für Personen. Der ODBC-Treiber der Verwaltungsanwendung unterstützt Schlüssel in einer Kopfzeile, Windows-Anmeldung und Basic-Anmeldung, aber keine Bearer-Tokens. Für Personen bleibt es deshalb beim persönlichen Schlüssel mit zweitem Faktor.

Sicherheitsanalyse der Anmeldung von Personen

Die Anmeldung von Personen – persönlicher Schlüssel in einer Kopfzeile, zweiter Faktor über einen Einmalcode, Sitzung in einer Kopfzeile – ist an den Möglichkeiten des ODBC-Treibers der Verwaltungsanwendung ausgerichtet. Diese Ausrichtung darf das Sicherheitsniveau nicht bestimmen; die folgende Analyse bewertet die Anmeldung deshalb gegen die einschlägigen Bedrohungen.

BedrohungBewertungMaßnahmeVerbleibendes Risiko
Kopieren des persönlichen SchlüsselsDer Schlüssel ist ein Inhabergeheimnis (256 Bit Zufall), gespeichert im Anmeldespeicher des Windows-Kontos; Schadsoftware mit Benutzerrechten kann ihn lesenzweiter Faktor für jede Person; Ablaufdatum je Schlüssel; Herkunftsregeln (Netzbereiche)ein kopierter Schlüssel allein genügt nicht, zusammen mit einem abgefangenen Code schon
Abfangen des Einmalcodes (Phishing in Echtzeit)Einmalcodes aus einer App sind nicht phishing-resistentHerkunftsregeln; Code ist nur einmal gültigbleibt; phishing-resistente Verfahren (FIDO2, Chipkarte) unterstützt der Treiber nicht
Wiederholung einer AnfrageTransport über TLS; jeder Einmalcode wird genau einmal angenommen; schreibende Aufrufe tragen einen Idempotenzschlüssel, eine Wiederholung erhält die erste Antwort und wirkt nicht doppeltM-40, Idempotenzgering
Diebstahl des SitzungstokensDie Sitzung gilt nur zusammen mit dem Schlüssel, mit dem sie eröffnet wurde; ein Token allein öffnet nichtsBindung an Person, Verfahren und SchlüsselBindung an Gerät oder TLS-Kanal fehlt; Schadsoftware auf demselben Arbeitsplatz kann die Sitzung mitbenutzen
AblaufSitzungen enden nach einer festen Dauer; Schlüssel haben ein AblaufdatumM-44Missbrauch innerhalb der Sitzungsdauer
Verlust des GerätsSchlüssel liegt im Anmeldespeicher des verlorenen Geräts; Einmalcode-App auf dem Telefonsofortige Sperrung des Schlüssels beendet alle daran gebundenen Sitzungen; Zurücksetzen des zweiten Faktors durch eine andere berechtigte Person mit Audit-EintragZeit bis zur Meldung des Verlusts
Entzug von RechtenRechte werden bei jeder Anfrage geprüft, nicht in der Sitzung zwischengespeichertM-43keines über die laufende Anfrage hinaus
Kompromittierter Arbeitsplatz eines MitarbeitersEin Angreifer handelt mit den Rechten der Person, solange die Sitzung gilt: Aufträge vorschlagen, stornieren, Sperren auslösen, lesenFreigaben brauchen einen getrennten Freigabe-Schlüssel auf eigener Hardware mit Bestätigung durch die Person (M-45); Zwei-Personen-Regel in sensiblen KlassenSchadsoftware kann die Anzeige eines Auftrags verfälschen; dagegen hilft nur eine zweite, unabhängige Freigabe oder eine Anzeige auf dem Freigabegerät

Windows-Anmeldung. In Windows-Domänen melden sich Personen alternativ über Kerberos (Negotiate) an. Damit entfällt das gespeicherte Inhabergeheimnis; mit einer Chipkarten-Anmeldung an Windows ist die Anmeldung phishing-resistent. Die Sicherheit hängt dann an der Domäne; jede Organisation wählt das Verfahren für ihre Personen.

Freigabe über die API

Eine Freigabe ist keine angemeldete Bestätigung, sondern eine Signatur der Person über den Hash des Auftrags. Der Ablauf über die API:

sequenceDiagram
  participant P as Person
  participant A as Verwaltungsanwendung
  participant V as Verwaltungs-API
  P->>A: Auftrag öffnen
  A->>V: Auftragsbytes abrufen
  V-->>A: Bytes, unverändert
  A->>A: SHA-256 bilden, mit Kennung vergleichen,<br/>Inhalt aus genau diesen Bytes anzeigen
  P->>A: freigeben
  A->>A: Hash mit persönlichem Schlüssel signieren
  A->>V: Aktion: Freigabe einreichen (Signatur)
  V->>V: speichern, nicht prüfen
  Note over V: Die Prüfung macht der CA-Worker

Die API bezeugt nichts und prüft die Signatur nicht; sie reicht sie weiter. Der Freigabe-Schlüssel liegt auf einer Chipkarte oder einem Sicherheitsschlüssel mit PIV-Funktion und verlangt für jede Signatur die PIN der Person.

Zustände und Fehler

Befehle der Verwaltungs-API ändern Zustände nur in der Datenbank; das Ergebnis des CA-Workers erscheint später als Projektion. Für die Verwaltungsanwendung heißt das: Nach einem Befehl wird der Auftrag erneut gelesen, nicht auf eine Antwort des Workers gewartet.

Zustand eines Auftrags in der APIBedeutungMögliche Befehle
zur Freigabegespeichert, wartet auf FreigabenFreigabe einreichen, stornieren
Freigabe vollständigFreigaben liegen vorstornieren
beanspruchtder Worker bearbeitet ihnkeine
ausgestellt / abgelehntErgebnis aus dem Registerkeine; bei Ablehnung mit Grund
storniert, abgelaufenendgültigkeine
StatusVerwendung
400Eingabe unzulässig (etwa CSR ohne Besitznachweis, Name außerhalb des Namensraums, unzulässiger Sperrgrund)
401nicht angemeldet oder zweiter Faktor verlangt
403angemeldet, aber ohne das nötige Recht
404nicht vorhanden oder außerhalb des Sichtbereichs
409Zustand erlaubt den Befehl nicht (etwa Freigabe für einen stornierten Auftrag)
412veraltete Zeilenversion
503Datenhaltung nicht erreichbar

Den Übergang nach „Freigabe vollständig“ setzt der CA-Worker, weil nur er die Freigaberegeln seines Regelwerks kennt. Bis dahin zeigt die API die eingereichten Freigaben an.

Verwaltungsanwendung

Die Verwaltungsanwendung ist das Werkzeug der Mitarbeiter einer Organisation und ihres Betriebspartners (Systemverwaltung, Partnerverwaltung, Support). Sie ist eine Access-Anwendung, die ausschließlich die Verwaltungs-API anspricht: Listen sind verknüpfte OData-Mengen, Befehle laufen über eine VBA-Klasse. Eine Datenbankverbindung aus dem Client ist ausgeschlossen.

Partnerportal

Das Partnerportal ist die Weboberfläche für Verantwortliche eines Partners, dessen ausstellende CA in der Hierarchie des Auftraggebers liegt. Es nutzt dieselbe Verwaltungs-API mit einem Sichtbereich je Partner: Anträge stellen, eigene Aufträge freigeben, Inventar und Sperrstatus des eigenen Namensraums einsehen, Sperrungen auslösen. Partner mit eigener Installation verwenden ihre eigene Verwaltungsanwendung.

Schnittstellen auf dem angebundenen Rechner

SchnittstelleVerwendung
Ausgehender Anschluss des TLS-Adaptersdie lokale Anwendung verbindet sich mit einer lokalen Adresse; der Adapter baut die geschützte Verbindung zur Gegenstelle auf
Eingehender Anschluss des TLS-Adaptersder Adapter nimmt Verbindungen der Partner an und leitet sie an die lokale Anwendung weiter
Weitergabe der Partneridentitätbei HTTP in Kopfzeilen mit Organisation, Dienstname, Beziehung und Zweck; die Anwendung darf nur über den Adapter erreichbar sein
Schnittstelle des Schlüsselvermittlersnur für das Dienstkonto des TLS-Adapters, mit Zugriffsschutz des Betriebssystems
Zertifikate von Adapter und AgentErneuerung automatisch über ACME oder EST bei der eigenen Zertifizierungsstelle
Zustandsauskunftlokale Abfrage von Beziehungen, Gültigkeit der Geheimnisse, letztem Austausch und letzten Ablehnungen, ohne Schlüsselmaterial

Was diese Seite nicht festlegt

  • Kein SCEP und keine Schlüsselerzeugung für Antragsteller.
  • Keine Identitätsversorgung kurzlebiger Workloads über die SPIFFE-Workload-API. TrustBridge vergibt genau einen DNS-Namen je System; URI-Namen sind nicht vorgesehen.
  • Keine Gestaltung der Verwaltungsanwendung und des Partnerportals. Diese Seite beschreibt die Schnittstelle, die sie nutzen, nicht ihre Oberfläche.

Quellen

de/wiki/pqcrypt/trustbridge/interfaces-and-integration.txt · Zuletzt geändert: von Claude Test Contributor