====== Kontrolni Seznam Crypto Modula ====== **Različica:** 2.1\\ **Obseg:** Kriptografski primitivi, protokoli, material ključev in zasnova crypto API. ===== MORA (Merge Gate) ===== * [ ] **Model groženj** je dokumentiran (sredstva, zmogljivosti napadalca, meje zaupanja, načini odpovedi) * [ ] **Izbira algoritmov** je eksplicitna in utemeljena (brez "domače crypto"; izogibaj se zastarelim primitivom) * [ ] **Ravnanje z materialom ključev**: ključi/seed material niso nikoli zabeleženi, nikoli nenamerno shranjeni, shranjeni v varnih vsebnikih * [ ] **Naključnost**: kriptografska naključnost prihaja iz odobrenega CSPRNG; brez ad-hoc RNG; brez časovno osnovanih seedov * [ ] **Pravila Nonce/IV** so uveljavljena z zasnovo (edinstvena kjer zahtevano; nikoli ponovno uporabljena; preferenčno interno generirane) * [ ] **Constant-time primerjave** za MAC, hashe in od skrivnosti odvisna preverjanja enakosti * [ ] **Drža stranskih kanalov** je navedena (pričakovanja timing/cache/power) in relevantne operacije imajo mitigacije * [ ] **Validacija vnosov** je stroga in zavrne malformed encodinge; preverjanja dolžine pred alokacijo * [ ] **Ničenje / življenjski cikel**: skrivni bufferi so ničeni kjer izvedljivo; objekti ključev imajo deterministične vzorce odstranjevanja * [ ] **Vedenje ob napakah**: crypto odpovedi vrnejo ne-razkrivalna sporočila (brez oracle uhajanj); klicalci ne morejo razlikovati od skrivnosti odvisnih vej odpovedi * [ ] **Verzioniranje & agilnost**: protokol/blob formati so verzionirani; parametri so enkodirani s ciphertext/podpisom kjer zahtevano * [ ] **Testi interoperabilnosti** obstajajo (golden vectors ali cross-implementation testi) * [ ] **Negativni testi** obstajajo (tamper, replay, truncation, napačen ključ, napačen nonce/iv, napačen kontekst) ===== PRIPOROČENO (Močna Priporočila) ===== * [ ] Preferiraj **AEAD** (npr. ChaCha20-Poly1305 / AES-GCM) nad "encrypt-then-MAC" razen če obstaja specifičen razlog * [ ] Uporabi **domensko ločitev** (kontekstni nizi, KDF oznake) za izogib ponovni uporabi ključa/nonce čez kontekste * [ ] Za podpise/KEM: vključi **kontekstno vezavo** (kdo/kaj/zakaj) za preprečevanje napadov zamenjave * [ ] Uporabi **strukturirano enkodiranje** (CBOR/ASN.1/Protobuf) s pravili kanonikalizacije; izogibaj se dvoumni konkatenaciji * [ ] Zagotovi **zaščito pred replay** kjer primerno (zaporedne številke, časovni žigi s politiko zamika, sejni ticketi) * [ ] Izogibaj se neposrednemu izpostavljanju premočnih primitivov; preferiraj **visoko-nivojske API** ki jih je težko zlorabiti * [ ] Zagotovi **FIPS/standard poravnavo** kjer zahtevano (eksplicitno dokumentiraj cilje skladnosti) ===== LEPO (Kakovost) ===== * [ ] Benchmark vročih poti; dokumentiraj perf/varnost trade-offe * [ ] Zagotovi migracijsko vodenje za nadgradnje algoritmov (star -> nov) * [ ] Zagotovi jasno sekcijo "odpornost na zlorabo" v dokumentih (pogoste pasti in kako API jih preprečuje) ---- //Različica: 2.1 (Split)//\\ //Avtor: Wolfgang van der Stille// Nazaj na [[start|Varnostni Kontrolni Seznami]] | [[..:start|Kontrolni Seznami za Preglede]] ~~DISCUSSION:off~~