Inhaltsverzeichnis
Crypto Modul Kontrolna Lista
Verzija: 2.1
Opseg: Kriptografski primitivi, protokoli, materijal ključeva i dizajn Crypto API-ja.
MORA (Merge Gate)
- [ ] Threat Model je dokumentiran (Assets, Sposobnosti napadača, Trust Boundaries, Failure Modes)
- [ ] Odabir algoritma je eksplicitan i obrazložen (nema „home-grown crypto“; izbjegavati zastarjele primitive)
- [ ] Rukovanje materijalom ključeva: Ključevi/Seed materijal se nikada ne logiraju, nikada nenamjerno ne pohranjuju, čuvaju se u sigurnim kontejnerima
- [ ] Slučajnost: Kriptografska slučajnost dolazi iz odobrenog CSPRNG; nema ad-hoc RNG; nema time-based Seeds
- [ ] Nonce/IV pravila se by Design provode (jedinstveni gdje je potrebno; nikada se ne ponavljaju; preferira se interno generiranje)
- [ ] Constant-time usporedbe za MAC-ove, hasheve i secret-dependent provjere jednakosti
- [ ] Side-channel Posture je navedena (Timing/Cache/Power očekivanja) i relevantne operacije imaju mitigacije
- [ ] Validacija inputa je striktna i odbija malformed kodiranja; provjere duljine prije alokacije
- [ ] Zeroization / Lifecycle: Secret bufferi se nuliraju gdje je moguće; Key objekti imaju determinističke Disposal Patterns
- [ ] Ponašanje kod grešaka: Crypto neuspjesi vraćaju non-revealing greške (nema oracle leakova); pozivatelji ne mogu razlikovati secret-dependent grane neuspjeha
- [ ] Verzioniranje & Agilnost: Protocol/Blob formati su verzionirani; parametri su kodirani s ciphertextom/signaturom gdje je potrebno
- [ ] Interoperability Tests postoje (Golden Vectors ili Cross-Implementation Tests)
- [ ] Negative Tests postoje (Tamper, Replay, Truncation, Wrong Key, Wrong Nonce/IV, Wrong Context)
TREBALO BI (Snažne Preporuke)
- [ ] Preferiraj AEAD (npr. ChaCha20-Poly1305 / AES-GCM) umjesto „encrypt-then-MAC“ osim ako postoji specifičan razlog
- [ ] Koristi Domain Separation (Context Strings, KDF Labels) za izbjegavanje Key/Nonce Reuse preko konteksta
- [ ] Za Signatures/KEM: uključi Context Binding (tko/što/zašto) za sprječavanje Substitution Attacks
- [ ] Koristi Structured Encoding (CBOR/ASN.1/Protobuf) s Canonicalization Rules; izbjegavaj dvosmislenu konkatenaciju
- [ ] Osiguraj Replay Protection gdje je prikladno (Sequence Numbers, Timestamps sa Skew Policy, Session Tickets)
- [ ] Ne eksponirati pretjerano moćne primitive direktno; preferiraj High-level API-je koje je teško zloupotrijebiti
- [ ] Osiguraj FIPS/Standard Alignment gdje je potrebno (Compliance Targets eksplicitno dokumentirati)
POŽELJNO (Kvaliteta)
- [ ] Benchmarkirati hot paths; dokumentirati Perf/Security trade-offs
- [ ] Pružiti Migration Guidance za nadogradnje algoritama (staro → novo)
- [ ] Jasna „Misuse Resistance“ sekcija u dokumentaciji (uobičajene zamke i kako ih API sprječava)
Verzija: 2.1 (Split)
Autor: Wolfgang van der Stille
Natrag na Sigurnosne Kontrolne Liste | Kontrolne Liste za Pregled
Zuletzt geändert: 29.01.2026. u 20:47