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