Šifrování a správa klíčů¶
Kryptografické standardy MazeVault a životní cyklus klíčů
Verze dokumentu: 1.0.0
Poslední aktualizace: 2026-02-10
1. Kryptografické standardy¶
Šifrování v klidu¶
| Účel | Algoritmus | Velikost klíče | Režim | Standard |
|---|---|---|---|---|
| Tajné hodnoty (Secrets) | AES-256-GCM | 256 bitů | Authenticated Encryption | NIST SP 800-38D |
| Data zero-knowledge | AES-256-GCM | 256 bitů | Client-side Encryption | NIST SP 800-38D |
| Databázová pole | AES-256-GCM | 256 bitů | Na úrovni aplikace | NIST SP 800-38D |
| Záložní archivy | AES-256-GCM | 256 bitů | Symetrické | NIST SP 800-38D |
Výměna klíčů¶
| Účel | Algoritmus | Parametry | Standard |
|---|---|---|---|
| Agent ↔ Server | ECDH | Křivka P-256 | NIST SP 800-56A |
| mTLS | RSA-OAEP | SHA-256, 2048+ bitů | PKCS#1 v2.2 |
| Klíče relací | HKDF | SHA-256 | RFC 5869 |
| Autentizace heslem | SRP-6a | 2048bitová skupina | RFC 5054 |
Digitální podpisy¶
| Účel | Algoritmus | Velikost klíče | Standard |
|---|---|---|---|
| Podepisování JWT | RS256 | 2048bitový RSA | RFC 7518 |
| Podepisování certifikátů | RSA/ECDSA | 2048/4096 RSA, P-256/P-384 ECDSA | RFC 5280 |
| Podepisování OCSP odpovědí | RSA/ECDSA | 2048+ bitů | RFC 6960 |
| Podepisování kódu | RSA | 2048+ bitů | RFC 5652 |
Hašování¶
| Účel | Algoritmus | Standard |
|---|---|---|
| Ukládání hesel | bcrypt / Argon2id | — / RFC 9106 |
| Integrita dat | SHA-256 | FIPS 180-4 |
| Otisky certifikátů | SHA-256 | RFC 5280 |
2. Politika rotace klíčů¶
| Typ klíče | Interval rotace | Automatická | Poznámky |
|---|---|---|---|
| Hlavní šifrovací klíč (Master) | Ročně | Ne | Vyžaduje plánované okno údržby |
| Šifrovací klíče tajných hodnot | 90 dní | Ano | Transparentní přešifrování |
| Podepisovací klíče JWT | Na vyžádání | Ano | Bezproblémový přechod klíčů |
| TLS certifikáty | Před expirací | Konfigurovatelné | Podporována automatická obnova |
| Certifikáty agentů | Ročně | Ano | Automatická obnova prostřednictvím bootstrap |
| API klíče | Dle politiky organizace | Ne | Doporučena ruční rotace každých 90 dní |
Proces rotace klíčů¶
graph LR
A["🔑 Generovat<br/>nový klíč"] --> B["🏦 Uložit do<br/>HSM / Vault"]
B --> C["🔄 Aktualizovat<br/>referenci klíče"]
C --> D["🔐 Přešifrovat data<br/>(na pozadí)"]
D --> E["✅ Ověřit<br/>integritu"]
E --> F["📦 Archivovat<br/>starý klíč"]
F --> G["🗑️ Smazat starý klíč<br/>(po retenční lhůtě)"]
classDef generate fill:#EBF5FB,stroke:#2196F3,stroke-width:2px,color:#1565C0
classDef store fill:#E8EAF6,stroke:#3F51B5,stroke-width:2px,color:#283593
classDef process fill:#FFF8E1,stroke:#FF9800,stroke-width:2px,color:#E65100
classDef verify fill:#E8F5E9,stroke:#4CAF50,stroke-width:2px,color:#2E7D32
classDef archive fill:#F5F5F5,stroke:#9E9E9E,stroke-width:2px,color:#424242
classDef delete fill:#FFEBEE,stroke:#F44336,stroke-width:2px,color:#C62828
class A generate
class B store
class C,D process
class E verify
class F archive
class G delete
Rotace hlavního klíče
Rotace hlavního šifrovacího klíče vyžaduje plánované okno údržby. Veškerá šifrovaná data musí být přešifrována novým klíčem. Kontaktujte podporu MazeVault ohledně postupu rotace.
3. Úložiště klíčů¶
Podporované backendy pro úložiště klíčů¶
| Backend | Popis | Licenční úroveň |
|---|---|---|
| Software (lokální) | Šifrovaný soubor klíčů na disku | Všechny |
| Azure Key Vault | Klíče spravované Azure — HSM nebo softwarové | Enterprise+ |
| Azure Managed HSM | Certifikace FIPS 140-2 Level 3 | Custom |
| AWS CloudHSM | Certifikace FIPS 140-2 Level 3 | Custom |
| Google Cloud HSM | Certifikace FIPS 140-2 Level 3 | Custom |
| PKCS#11 (on-premise HSM) | Thales Luna, Utimaco, nCipher | Custom |
Hierarchie klíčů¶
graph TB
MK["🏦 Hlavní klíč<br/>(HSM / Key Vault)"]
DEK1["🔐 DEK 1<br/>Tajné hodnoty"]
DEK2["📜 DEK 2<br/>Certifikáty"]
DEK3["🔗 DEK 3<br/>Relace"]
SK["✍️ Podepisovací klíč<br/>JWT / OCSP"]
MK --> DEK1
MK --> DEK2
MK --> DEK3
MK --> SK
classDef master fill:#E8EAF6,stroke:#3F51B5,stroke-width:3px,color:#1A237E
classDef dek fill:#E8F5E9,stroke:#4CAF50,stroke-width:2px,color:#2E7D32
classDef signing fill:#FFF8E1,stroke:#FF9800,stroke-width:2px,color:#E65100
class MK master
class DEK1,DEK2,DEK3 dek
class SK signing
Hierarchie klíčů využívá vzor envelope encryption (obálkového šifrování):
- Hlavní klíč (Master Key) — Uložen v HSM nebo Key Vault; nikdy neopustí bezpečnou hranici
- Datové šifrovací klíče (DEK) — Generovány pro každý účel; šifrovány hlavním klíčem
- Klíče pro jednotlivé záznamy — Volitelně generovány pro každý secret pro maximální izolaci
4. Architektura Zero-Knowledge¶
V režimu zero-knowledge jsou tajné hodnoty šifrovány na straně klienta před odesláním:
sequenceDiagram
participant U as 🧑💻 Uživatel (Prohlížeč)
participant S as 🖥️ MazeVault API
participant DB as 🗄️ Databáze
rect rgb(235, 245, 251)
Note over U: Šifrování na straně klienta
U->>U: Generovat symetrický klíč (PBKDF2)
U->>U: Šifrovat tajnou hodnotu (AES-256-GCM)
end
rect rgb(232, 245, 233)
Note over U,DB: Bezpečný přenos a uložení
U->>S: Odeslat šifrovaný ciphertext
S->>DB: Uložit ciphertext (nelze dešifrovat)
end
Note over S: ⚠️ Server nikdy nemá přístup<br/>k otevřenému textu ani odvozenému klíči
rect rgb(255, 248, 225)
Note over U,DB: Dešifrování (pouze klient)
U->>S: Požádat o tajnou hodnotu
S->>DB: Načíst ciphertext
S-->>U: Vrátit ciphertext
U->>U: Dešifrovat odvozeným klíčem
end
Omezení režimu Zero-Knowledge
V režimu zero-knowledge nejsou dostupné funkce na straně serveru, jako je rotace tajných hodnot, vyhledávání a sdílení, protože server nemá přístup k nešifrovaným datům. Tento režim je určen pro případy použití osobního trezoru.
5. Konfigurace TLS¶
Podporované šifrovací sady (TLS 1.3)¶
| Šifrovací sada | Výměna klíčů | Šifrování | Hash |
|---|---|---|---|
| TLS_AES_256_GCM_SHA384 | ECDHE | AES-256-GCM | SHA-384 |
| TLS_AES_128_GCM_SHA256 | ECDHE | AES-128-GCM | SHA-256 |
| TLS_CHACHA20_POLY1305_SHA256 | ECDHE | ChaCha20-Poly1305 | SHA-256 |
Podporované šifrovací sady (TLS 1.2 — zpětná kompatibilita)¶
| Šifrovací sada | Výměna klíčů | Šifrování | Hash |
|---|---|---|---|
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | ECDHE-RSA | AES-256-GCM | SHA-384 |
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | ECDHE-RSA | AES-128-GCM | SHA-256 |
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ECDHE-ECDSA | AES-256-GCM | SHA-384 |
Zastaralé protokoly
SSL 3.0, TLS 1.0 a TLS 1.1 nejsou podporovány. Šifrovací sady v režimu CBC jsou zakázány.
Související¶
- Přehled bezpečnosti — Bezpečnostní architektura
- Matice shody — Soulad s regulatorními rámci
- Konfigurace TLS — Nastavení TLS při nasazení