Identität
Eine Identität ist ein langlebiger Schlüsselbund (P-521 + X448 + ECDSA). Identitäten werden durch Public-Key-Hash referenziert.
Notwendige Cookies brauchen wir für Login, 2FA und CSRF-Schutz. Statistik & Marketing sind optional und nur mit deiner Zustimmung aktiv.
HMAC-signiert via NHS v6
Datenschutz · Impressum · Jederzeit unten links neu öffnen
Direkter HTTPS-Zugang gegen /api/nhs/v1/*. SDK-Pakete folgen — bis dahin: 4 Zeilen curl.
Vom Account zum ersten verschlüsselten Call.
/api/nhs/v1/identities mit gewünschter Suite (v1…v6).# 1. Identity + API-Key werden im Dashboard angelegt (nicht per API).
# Der Key ist fest an genau eine Identity gebunden — sie ist der Sender.
# Den Fingerprint des Empfängers findest du im Dashboard (64 Hex-Zeichen).
# 2. Payload verschlüsseln.
# Wichtig: Sender- und Empfänger-Identity müssen dieselbe Suite haben,
# sonst antwortet die API mit 400 Suite-Mismatch.
# "suite" ist optional; angegeben muss sie der Sender-Suite entsprechen.
curl -X POST https://api.usc-software-ug.de/api/nhs/v1/encrypt \
-H "Authorization: Bearer $NHS_KEY" \
-H "Content-Type: application/json" \
-d '{
"recipientFingerprint": "<64-hex-fingerprint-des-empfaengers>",
"channelId": "invoices.eu",
"payloadBase64": "SGVsbG8sIGVuY3J5cHRlZCB3b3JsZC4="
}'
# Antwort: { "suite": "v6", "sequence": "1", "envelope": { ... } }
# 3. Decrypt + Replay-Check + Audit-Hash-Chain in einem Call.
# "envelope" ist das Objekt aus der Encrypt-Antwort, kein String.
curl -X POST https://api.usc-software-ug.de/api/nhs/v1/decrypt \
-H "Authorization: Bearer $NHS_KEY" \
-H "Content-Type: application/json" \
-d '{ "envelope": { ...aus Schritt 2... } }'API-Endpoint: api.usc-software-ug.de (TLS-Cert in Issuance — bei Verbindungsproblemen aktuelle Migrations-Hinweise im Status-Bereich).
Drei Bausteine, alles andere baut darauf auf.
Eine Identität ist ein langlebiger Schlüsselbund (P-521 + X448 + ECDSA). Identitäten werden durch Public-Key-Hash referenziert.
Ein Channel ist ein gerichteter Kommunikationskanal zwischen zwei Identitäten. Pro Channel ein Sequence-Counter und ein separater Key-Salt.
Eine Envelope enthält Header (Sender, Empfänger, Sequence, Nonce), Ciphertext und Signatur. Header und Signatur sind separat verifizierbar.
| Methode | Pfad | Zweck |
|---|---|---|
| POST | /api/nhs/v1/identities | Identity erstellen — nur im Dashboard, nicht per API-Key |
| GET | /api/nhs/v1/identities | Eigene Identitäten auflisten — nur im Dashboard |
| GET | /api/nhs/v1/identities/by-fp/:fp | Public-Bundle by Fingerprint (für Sender) — ohne Auth |
| POST | /api/nhs/v1/keys | API-Key erstellen — nur im Dashboard |
| GET | /api/nhs/v1/keys | API-Keys auflisten — nur im Dashboard |
| DELETE | /api/nhs/v1/keys/:id | API-Key revoken — nur im Dashboard |
| POST | /api/nhs/v1/encrypt | Payload verschlüsseln + signieren |
| POST | /api/nhs/v1/decrypt | Envelope verifizieren + entschlüsseln + Replay-Check |
| GET | /api/nhs/v1/audit | Audit-Log abrufen (BLAKE3-Hash-Chain) |
| GET | /api/nhs/v1/audit/verify | Hash-Chain-Integrität prüfen |
| GET | /api/nhs/v1/health | Statusprobe (kein Auth nötig) |
Node.js zuerst — Python und PHP folgen. Andere Sprachen können direkt per HTTPS angebunden werden.
Node.js · Phase 1
@usc/nhs · gebaut, getestet, ready7/7 Tests grün, Live-Smoke ✓. npm-Publish folgt; Beta über Frühkunden-Programm.
Python · Phase 2
usc-nhs · geplantPHP · Phase 3
usc/nhs · geplant