Key-Management Overview
Audience
- Developers who need one API for both RSA and post-quantum keys.
- Security Leads / CISOs who must prove crypto-agility, rotation, auditability.
1 ▪ Why Crypto-Agility?
Algorithms age, threat-models change.
AnkaSecure lets you replace RSA-2048 with ML-KEM-768—or any other supported pair—without touching ciphertext or application code.
Feature | Benefit |
---|---|
Uniform JSON model | One envelope for RSA, AES, ML-KEM, Falcon, … |
Immediate + scheduled rotation | Swap keys atomically or queue a future swap in one call |
Soft & hard limits | Usage / time-based warnings before failure |
Streaming ops | Migrate petabyte archives without exposing plaintext |
2 ▪ Universal Key Model
{
"kid": "myML-KEMKey234",
"kty": "ML-KEM",
"alg": "ML-KEM-768",
"publicKey": "<BASE64…>",
"keyOps": ["encrypt", "decrypt"],
"exportable": true,
"createdAt": "2025-03-17T00:37:44Z",
"expiresAt": "2030-05-31T23:59:59Z",
"softLimitExpiration": "2029-12-31T23:59:59Z",
"usageCount": 11,
"lastUsedAt": "2025-03-19T16:55:54Z",
"softUsageLimit": 40000,
"maxUsageLimit": 50000,
"status": "ACTIVE",
"previousKid": null,
"nextKid": null,
"hash": "b08dca00c20162e618d4a5a0459e68ee8f4f90d9cb7c48882afb1f98006f5f39"
}
Field | Meaning |
---|---|
kid | Human & forensic identifier |
kty / alg | Algorithm family + exact parameter-set |
keyOps | Allowed usages: encrypt / decrypt / sign / verify |
exportable | If false , private bytes never leave the store |
Limits | Soft & hard counters for usage and time |
Links | previousKid ↔ nextKid chain each rotation |
3 - Lifecycle State-Machine
stateDiagram-v2
[*] --> ACTIVE
ACTIVE --> PENDING_ROTATION : rotation scheduled
PENDING_ROTATION --> ROTATED : rotation executed
ACTIVE --> REVOKED
PENDING_ROTATION --> REVOKED
ROTATED --> REVOKED
ACTIVE --> EXPIRED
PENDING_ROTATION --> EXPIRED
ROTATED --> EXPIRED
ROTATED --> ARCHIVED
EXPIRED --> ARCHIVED
REVOKED --> ARCHIVED
ARCHIVED --> DELETED_LOGICAL : audit window elapsed
DELETED_LOGICAL --> [*]
Status | Operational Meaning |
---|---|
ACTIVE | Full read / write usage. |
PENDING_ROTATION | Key marked for swap; still usable until cut-over. |
ROTATED | Successor generated; use nextKid for new encrypt/sign; may still decrypt/verify legacy data. |
EXPIRED | Time limit passed; decrypt/verify only. |
REVOKED | Manually frozen; decrypt/verify only (e.g., key compromise). |
ARCHIVED | Read-only long-term retention; visible to custodians, hidden from apps. |
DELETED_LOGICAL | Retained offline for legal hold; invisible to APIs. |
4 - Key-Management Endpoints
Operation | Method & Path | Typical Scenario | Demo Flow |
---|---|---|---|
Generate / update key | POST /api/key-management/keys |
Provision RSA-4096 or ML-KEM-1024 | #14 |
List keys | GET /api/key-management/keys |
Inventory & dashboards | -- |
Export public key | GET /api/migration/keys/{kid} |
Distribute public part for client-side encrypt | #10 |
Rotate key | POST /api/key-management/keys/{kid}/rotations |
RSA-2048 → ML-KEM-768 upgrade | #23 |
Merge-patch limits | PATCH /api/key-management/keys/{kid} |
Raise usage caps, extend expiry | #18 |
Revoke key | POST /api/key-management/keys/{kid}/actions/revoke |
Compromise response | #17 |
Delete key | DELETE /api/key-management/keys/{kid} |
Policy-driven purge (post-archive) | -- |
Supported algorithms | GET /api/key-management/supported-algorithms |
Build-time & runtime discovery | #19 |
5 - Supported Algorithms (2025-05)
Always fetch the live list with
GET /api/key-management/supported-algorithms
.
👉 Full matrix & migration guide --- security levels, performance, sunset dates.
Category | Algorithms |
---|---|
Post-Quantum --- KEM | ML-KEM-512/768/1024, FrodoKEM-1344, HQC-256 |
Post-Quantum --- Sign | ML-DSA-44/65/87, Falcon-512/1024, SLH-DSA-* (SHA2/SHAKE, 128/192/256 F/S), XMSS |
Classical Asymmetric | RSA-1024/2048/4096/8192, EC-256/384/521 |
Classical Symmetric + MAC | AES-128/192/256, CMAC-AES-128/192/256 |
One-time key (oct ) |
Arbitrary-length secrets |
Each algorithm entry includes status
, sunsetDate
, securityLevel
, and standards
so you can warn users before NIST deprecations.
6 - Rotation vs Patch --- Quick Guide
Goal | Call | Latency | Data Migration |
---|---|---|---|
Quantum upgrade | POST .../rotations |
1 request | None --- successor chosen automatically |
Raise limits / extend TTL | PATCH .../keys/{kid} |
1 request | None |
Kill compromised key | .../actions/revoke |
< 1 s | None |
7 - Learn by Example
-
Flow 14 --- generate → export → revoke → delete
-
Flow 17 --- revoke & policy headers
-
Flow 18 --- JSON Merge-Patch (RFC 7396)
-
Flow 23 --- RSA-2048 ⇒ ML-KEM-768 immediate rotation
-
Flow 10 --- export and decrypt with public key
-
Flow 19 --- runtime algorithm discovery
All flows live under /docs/sdk/integration/
.
© 2025 ANKATech Solutions INC --- All rights reserved