WEB / WEB-21.S01
Data, secrets ve cryptographic key lifecycle
Crypto mekanizmalarının amaçlarını, key state’ini ve data kopyalarının ömrünü ayrı değerlendir.
1. Core · Mekanizma
Hareket olmadan bütün senaryoları oku
Archive izinli
- Archive request hazır
Reader sabit archived note için normal read request’i hazırlamıştır; key/purpose acceptance henüz yoktur.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Declared archive verification/context pending
- Public note store
- Own public note unchanged; no delivery
- Read request alındı
Policy request arrival’ını tamamlar; primitive verification ve lifecycle acceptance iki ayrı gate olarak kalır.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Read request arrived; crypto/context pending
- Public note store
- Own public note unchanged; no delivery
- Archive gate allow
Verify-only key normal archive verification için kabul edilir; public classification read projection’ına izin verir.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Verify-only/purpose/time/public allow; read ready
- Public note store
- Own public note unchanged; no delivery
- Read store’a ulaştı
Store’a tamamlanmış approved read arrival’ı olur; bu sentetik message actual storage veya KMS çağrısı değildir.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Verify-only/purpose/time/public allow; read ready
- Public note store
- Approved archive read received; title pending
- Public title hazır
Store fixed public Tea & Bread projection’ını local read-only adımda hazırlar; record write yapılmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Verify-only/purpose/time/public allow; read ready
- Public note store
- Public title body ready; write=false
- Title policy’ye geldi
Public title body arrival’ı policy’ye tamamlanır; key material response’a eklenmez ve hiçbir secret kopyalanmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Public title received; output projection pending
- Public note store
- Public title body ready; write=false
- Read response hazır
Policy yalnız public title response’unu hazırlamıştır; signature/key byte’ları veya server-only data taşınmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Public title response ready; no secret/key material
- Public note store
- Public title body ready; write=false
- Public title teslimi
Reader title’ı tamamlanmış arrival’da alır; bu sonuç certificate identity veya full-copy deletion kanıtı değildir.
- Reader
- Received title=Tea & Bread; no key/secret delivery
- Key / data policy
- Public title response ready; no secret/key material
- Public note store
- Public title body ready; write=false
Key retired
- Archive request hazır
Reader sabit archived note için normal read request’i hazırlamıştır; key/purpose acceptance henüz yoktur.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Declared archive verification/context pending
- Public note store
- Own public note unchanged; no delivery
- Read request alındı
Policy request arrival’ını tamamlar; primitive verification ve lifecycle acceptance iki ayrı gate olarak kalır.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Read request arrived; crypto/context pending
- Public note store
- Own public note unchanged; no delivery
- Evidence ayrıldı
Policy key state ve classification kanıtını primitive sonucundan ayırır; unknown key yanlış signature diye sayılmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Crypto declared true; key retired
- Public note store
- Own public note unchanged; no delivery
- Acceptance kapanır
Required lifecycle veya data gate’i kabul edilmez; store’a read çıkmaz ve public projection body’si hazırlanmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Acceptance denied; resource dispatch=0; body absent
- Public note store
- Own public note unchanged; no delivery
- Denial hazır
Safe denial response sadece karar state’ini taşır; secret/key/signature material bu body’ye girmez.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Denial teslimi
Reader tamamlanmış denial arrival’ını görür; resource delivery ve write bu branch’te withheld kalır.
- Reader
- Denial received; protected body absent; write=false
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Sonuç ayrımı
Reader yerel olarak unknown evidence ile known denial nedenini ayırır; hiçbir secret veya key okunmamıştır.
- Reader
- No body/delivery/write; evidence scope retained
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
Server-only data
- Archive request hazır
Reader sabit archived note için normal read request’i hazırlamıştır; key/purpose acceptance henüz yoktur.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Declared archive verification/context pending
- Public note store
- Own public note unchanged; no delivery
- Read request alındı
Policy request arrival’ını tamamlar; primitive verification ve lifecycle acceptance iki ayrı gate olarak kalır.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Read request arrived; crypto/context pending
- Public note store
- Own public note unchanged; no delivery
- Evidence ayrıldı
Policy key state ve classification kanıtını primitive sonucundan ayırır; unknown key yanlış signature diye sayılmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Crypto accepted; server-only classification
- Public note store
- Own public note unchanged; no delivery
- Acceptance kapanır
Required lifecycle veya data gate’i kabul edilmez; store’a read çıkmaz ve public projection body’si hazırlanmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Acceptance denied; resource dispatch=0; body absent
- Public note store
- Own public note unchanged; no delivery
- Denial hazır
Safe denial response sadece karar state’ini taşır; secret/key/signature material bu body’ye girmez.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Denial teslimi
Reader tamamlanmış denial arrival’ını görür; resource delivery ve write bu branch’te withheld kalır.
- Reader
- Denial received; protected body absent; write=false
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Sonuç ayrımı
Reader yerel olarak unknown evidence ile known denial nedenini ayırır; hiçbir secret veya key okunmamıştır.
- Reader
- No body/delivery/write; evidence scope retained
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
Key bilinmiyor
- Archive request hazır
Reader sabit archived note için normal read request’i hazırlamıştır; key/purpose acceptance henüz yoktur.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Declared archive verification/context pending
- Public note store
- Own public note unchanged; no delivery
- Read request alındı
Policy request arrival’ını tamamlar; primitive verification ve lifecycle acceptance iki ayrı gate olarak kalır.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Read request arrived; crypto/context pending
- Public note store
- Own public note unchanged; no delivery
- Evidence ayrıldı
Policy key state ve classification kanıtını primitive sonucundan ayırır; unknown key yanlış signature diye sayılmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Key evidence unknown; crypto not performed
- Public note store
- Own public note unchanged; no delivery
- Acceptance kapanır
Required lifecycle veya data gate’i kabul edilmez; store’a read çıkmaz ve public projection body’si hazırlanmaz.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Acceptance denied; resource dispatch=0; body absent
- Public note store
- Own public note unchanged; no delivery
- Denial hazır
Safe denial response sadece karar state’ini taşır; secret/key/signature material bu body’ye girmez.
- Reader
- Archive-read request ready; body absent
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Denial teslimi
Reader tamamlanmış denial arrival’ını görür; resource delivery ve write bu branch’te withheld kalır.
- Reader
- Denial received; protected body absent; write=false
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
- Sonuç ayrımı
Reader yerel olarak unknown evidence ile known denial nedenini ayırır; hiçbir secret veya key okunmamıştır.
- Reader
- No body/delivery/write; evidence scope retained
- Key / data policy
- Denial response ready; protected body absent
- Public note store
- Own public note unchanged; no delivery
ROLLER · STATE · VERİ AKIŞI
Encryption, MAC ve signature neyi kanıtlar?
Encryption plaintext’i uygun key olmadan okunamaz kılmayı amaçlar; her encryption modu tek başına integrity veya data origin authentication sağlamaz. Authenticated encryption uygun profile altında bu amaçları birleştirir. MAC, shared secret’a sahip taraflar için integrity ve key holder ilişkisi sağlar; key’i birden fazla taraf biliyorsa hangisinin MAC ürettiğini ayıramaz. Digital signature private key ile üretilip public key ile doğrulanır. Confidentiality sağlamaz ve key holder’ın business identity’sini tek başına kanıtlamaz. Atlas Notları, Tea & Bread başlığının signature verification’ını key provenance ve kabul edilen kullanım amacı kararından ayırır. Hash key kullanmaz; expected digest’in kaynağı güvenilir değilse eşleşme trustworthy origin sonucu vermez. Defter bu farklı amaçları gösterir; encryption, MAC veya tam bir identity protocol çalıştırmaz.
Key lifecycle’ın kararları
Key lifecycle generation, kontrollü distribution/storage, active use, rotation, retirement ve gerektiğinde recovery/destruction kararlarını içerir. Defterde key-new active, key-old verify-only durumundadır. Old private key ile yeni signature üretimi kapalıdır, fakat arşiv verisi belirli verification süresi boyunca eski public key ile doğrulanabilir. now=verifyUntil olduğunda application acceptance kapanır; signature matematiksel olarak hâlâ doğrulanabilir. Rotation yeni key version kullanma kararıdır; geçmiş ciphertext’i otomatik yeniden encrypt etmez veya bütün key kopyalarını yok etmez. Encryption key’ini erken silmek gerekli restore’u engelleyebilir. Signing key’in arşiv verification ihtiyacı ayrı retention kararıdır. Yerel kontrol geçici, dışarı aktarılmayan Ed25519 KeyObject’leriyle title sign/verify ve lifecycle gate’ini değerlendirir; KMS, HSM, certificate chain veya secure zeroization ölçmez.
Source ve build’den browser’a secrecy taşınmaz
Server credential, signing private key ve browser’a gösterilebilir public config aynı classification değildir. Server secret’ın repository, build log, generated bundle veya source map’e girmesi delivery boundary’sini aşabilir. Build-time substitution ile browser JavaScript’ine eklenen değer client’a teslim edilmiş veridir; environment variable adı secrecy sağlamaz. Obfuscation da secret storage yerine geçmez. Public endpoint adı, public verification key veya renk ayarı secret olmayabilir; classification biçime değil kullanım amacına bağlıdır. Artifact yalnız alias ve boolean taşır, gerçek secret değeri içermez. Source/build/browser defterinde server-secret için delivery kapalıdır. Secret erişimi workload’un ihtiyacı ve uygun lifetime ile sınırlandırılır; secret manager erişimi aynı secret’ı her client’a gönderme izni değildir.
Data lifecycle her kopyada devam eder
Data lifecycle toplama ve purpose kararından processing, storage, paylaşım, retention ve deletion’a uzanır. Tea & Bread public eğitim notudur; defter primary store, cache, log ve backup kopyalarının neden tutulduğunu ayrı gösterir. Uygulamadaki delete işareti bütün kopyaların silindiğini kanıtlamaz. Backup deletion evidence eksikse sonuç unknown kalır; her yerden silindiği söylenmez. Retention gerçek ihtiyaç ve geçerli yükümlülüklerle belirlenir; örnekteki 30 tick bir hukuk kuralı değildir. W3C data minimization/purpose ilkeleri gereksiz aktarımı azaltmayı, OWASP log disposal rehberi ise log kopyaları ve retention sınırlarını ele alır. Kaynaklar bu notun gerçekten silindiğini kanıtlamaz; copy defteri verilen örnek koşullarını taşır.
2. Red · Güven ve etki
Hareket olmadan bütün senaryoları oku
Retired key
- Verify-only normal kullanım
Normal key-old verify-only, public classification ve doğru purpose taşır. now 150 < verifyUntil 200; accepted/delivery true fakat expectedWrite false.
- Key/data ledger
- Old verify-only / public verification accepted
- Purpose/state/classification gate
- Henüz değerlendirilmedi
- Delivery/lifecycle sonucu
- Henüz değerlendirilmedi
- Retired key kararı
Retired-key cryptoVerifiedDeclared true kalsa da keyState retired için expectedAccepted false. Primitive sonucu key use/state policy’sinin yerine geçmiyor.
- Key/data ledger
- Old verify-only / public verification accepted
- Purpose/state/classification gate
- Crypto true / retired / accepted false
- Delivery/lifecycle sonucu
- Henüz değerlendirilmedi
- Delivery’yi durdur
Retired-key delivered false ve body null; signing/write hakkı da yok. Matematiksel verification’dan title delivery veya key provenance approval türetilmiyor.
- Key/data ledger
- Old verify-only / public verification accepted
- Purpose/state/classification gate
- Crypto true / retired / accepted false
- Delivery/lifecycle sonucu
- Retired → no body / no write
- Window equality sınırı
VerificationTimeRows 199 için true, 200 ve201 için false. Equality acceptance dışıdır; ticks öğretim zamanı, gerçek organization retention veya legal süre değil.
- Key/data ledger
- 199 accepted /200 and201 rejected
- Purpose/state/classification gate
- Crypto true / retired / accepted false
- Delivery/lifecycle sonucu
- Retired → no body / no write
- Identity bağını ayır
Signature origin’i private key holder’a bağlanabilir, identity mapping ayrı trust ister. Hash trusted expected digest olmadan origin sağlamaz; encryption ve MAC’in amaçları da aynı değil.
- Key/data ledger
- 199 accepted /200 and201 rejected
- Purpose/state/classification gate
- Primitive purpose ≠ trusted identity mapping
- Delivery/lifecycle sonucu
- Retired → no body / no write
- Key inventory sonucu
Key-new sign/verify active, key-old yalnız verify, retired ikisi için false. Bu declared inventory KMS rotation veya secure zeroization çalıştı sonucuna çevrilmiyor.
- Key/data ledger
- 199 accepted /200 and201 rejected
- Purpose/state/classification gate
- Primitive purpose ≠ trusted identity mapping
- Delivery/lifecycle sonucu
- Lifecycle permissions distinct / KMS unmeasured
Copy ve data
- Server-only classification
Server-only row normal crypto/lifecycle koşullarını taşısa da classification server-secret. Source/build/browser delivery kapalı; yalnız alias var, gerçek secret value yok.
- Key/data ledger
- Server-secret classification / no browser body
- Purpose/state/classification gate
- Henüz değerlendirilmedi
- Delivery/lifecycle sonucu
- Henüz değerlendirilmedi
- Type veya hash data’yı açmaz
Doğru signature veya encoding server-only data’yı public yapmaz. Classification gate purpose/state gate’inden ayrı; public note başarısı secret delivery için örnek olamaz.
- Key/data ledger
- Server-secret classification / no browser body
- Purpose/state/classification gate
- Crypto success ≠ public classification
- Delivery/lifecycle sonucu
- Henüz değerlendirilmedi
- Unknown key farklıdır
Unknown-key state/provenance/crypto null ve accepted false. Bu karar crypto failed diye yazılmaz; key evidence bulunmadığı için safe delivery kapalıdır.
- Key/data ledger
- Server-secret classification / no browser body
- Purpose/state/classification gate
- Crypto success ≠ public classification
- Delivery/lifecycle sonucu
- Unknown key evidence / no delivery
- Kopyaları envanterle
Primary, cache ve log deletionEvidence true; backup null. Primary deletion marker’ı backup’ın durumu hakkında yeni kanıt üretmez.
- Key/data ledger
- Primary/cache/log true / backup unknown
- Purpose/state/classification gate
- Crypto success ≠ public classification
- Delivery/lifecycle sonucu
- Unknown key evidence / no delivery
- Tam deletion varsayımı
AllCopiesDeleted null tutulur. Farklı purpose/retention farklı lifecycle isteyebilir; bilmediğimiz backup durumunu true yapmak documented scope’u aşar.
- Key/data ledger
- Primary/cache/log true / backup unknown
- Purpose/state/classification gate
- Partial evidence / all-copy deletion unknown
- Delivery/lifecycle sonucu
- Unknown key evidence / no delivery
- Scope’u sınırlı bildir
Burada secret aranmıyor, storage silinmiyor veya key memory’si zeroize edilmiyor. Control data classification, allowed delivery ve copy-specific evidence’ı ayrı tutmak.
- Key/data ledger
- Primary/cache/log true / backup unknown
- Purpose/state/classification gate
- Partial evidence / all-copy deletion unknown
- Delivery/lifecycle sonucu
- Classification/copy reasoning / no erasure claim
VARSAYIM · SINIR · KONTROL
Primitive başarısını trust sonucu sanmak
Signature doğruysa key ve kullanım amacı da kabul edilir varsayımı, cryptographic sonucu application policy ile karıştırır. Bunun geçerli olması için provenance, kullanım state’i ve verification window ayrıca sağlanmalıdır. Verify-only eski public key’in arşiv verisini doğrulaması seçilen policy içinde normal davranıştır. Retired-key dalında cryptoVerifiedDeclared=true kalırken application acceptance false olur: matematiksel verification ile resource delivery farklı kararlardır. Bu satır key forgery veya credential ele geçirilmesi kanıtı değildir. Unknown-key dalında crypto evidence null’dır; verification yapılmamışken signature yanlış denmez. Key holder’ın kimliği için de gerçek issuer veya certificate evidence bulunmaz. Sonuç yalnız verilen alias’lar ve policy koşullarıyla sınırlıdır.
Copy görünürlüğü ve deletion iddiası
Source’dan secret satırını kaldırmak veya primary record’a deletion state yazmak bütün lifecycle’ı bitirmez. Sonuç build output, log, cache ve backup kopyalarının kapsamına bağlıdır; tek UI gözlemi yeterli değildir. Classification defteri server-only verinin browser delivery’sini kapatırken public title’a izin verir. Primary için olumlu deletion evidence, backup’ın unknown alanını true yapmaz. Kopyaların farklı purpose ve retention taşıması kendiliğinden hata değildir, fakat belgelenmiş kapsam dışındaki saklama ve paylaşım ayrıca kontrol gerektirir. Her kopya için hangi kanıtın bulunduğu sorulur. Gerçek repository history, browser bundle veya key store bu örnekte incelenmediğinden exposure ya da tam deletion sonucu çıkarılmaz.
3. Blue · Güvenli geliştirme ve savunma
Hareket olmadan bütün senaryoları oku
Lifecycle controls
- Normal verify control
Key-old normal verify-only/public/purpose koşullarıyla expectedBody Tea & Bread döndürür. Native primitive ile application acceptance ayrı veri olarak korunur.
- Lifecycle metadata
- Normal public body / write false
- Policy comparison
- Henüz değerlendirilmedi
- Evidence sonucu
- Henüz değerlendirilmedi
- Üç denial kontrolü
Retired, server-only ve unknown için body null, delivery false ve write false birlikte kontrol edilir. Reddin state, classification veya missing evidence nedeni farklı.
- Lifecycle metadata
- Normal public body / write false
- Policy comparison
- Three distinct denies / no body or write
- Evidence sonucu
- Henüz değerlendirilmedi
- Zaman kontrolü
199/200/201 karşılaştırması equality boundary’yi açıklar. Now ve verifyUntil logical inputs; wall-clock skew veya gerçek key manager timer’ı ölçülmüyor.
- Lifecycle metadata
- Normal public body / write false
- Policy comparison
- Three distinct denies / no body or write
- Evidence sonucu
- Finite time window / no KMS clock measurement
- Minimum key metadata
Alias, purpose, state ve comparison sonuçları yeterli. Key material loglanmaz; public key identity mapping ile caller/object permission bu metadata’dan çıkarılmaz.
- Lifecycle metadata
- Metadata only / identity and permission separate
- Policy comparison
- Three distinct denies / no body or write
- Evidence sonucu
- Finite time window / no KMS clock measurement
- Copy conjunction
Backup null olduğunda all-copy conjunction unknown. Primary/cache/log true olduğu bilgisi korunur; partial evidence complete deletion sertifikasına dönüşmez.
- Lifecycle metadata
- Metadata only / identity and permission separate
- Policy comparison
- Known three copies / backup unknown
- Evidence sonucu
- Finite time window / no KMS clock measurement
- Primitive kanıt sınırı
Ephemeral ordinary-title sign/verify gerçek matematiksel kontrol olabilir; KMS, certificate identity, secure destruction veya production rotation başka kanıt ister. Model acceptance bu scope’u genişletmez.
- Lifecycle metadata
- Metadata only / identity and permission separate
- Policy comparison
- Known three copies / backup unknown
- Evidence sonucu
- Primitive vs policy vs lifecycle evidence distinct
Deletion evidence
- Primary deletion görüldü
Review primary deletionEvidence true görüyor. Backup null olduğu için silinmiş bütün kopyalara dair sonuç yok; görünür primary yokluğu retention’ın tamamlandığı anlamına gelmez.
- Lifecycle metadata
- Primary known / backup evidence missing
- Policy comparison
- Henüz değerlendirilmedi
- Evidence sonucu
- Henüz değerlendirilmedi
- Secret lifecycle ayrımı
Source satırının kaldırılması build, cache, log veya backup kopyalarının silindiğini kanıtlamaz. ClassificationLedger actualValueIncluded false; burada exposure veya deletion taraması yapılmıyor.
- Lifecycle metadata
- Primary known / backup evidence missing
- Policy comparison
- Source removal ≠ all-copy deletion
- Evidence sonucu
- Henüz değerlendirilmedi
- Complete sonucu açık bırak
AllCopiesDeleted null kalır; crypto acceptance’dan erasure başarısı çıkarılamaz. Copy scope ve verification ihtiyacı belirtilmeden key destruction da olmuş sayılmaz.
- Lifecycle metadata
- Primary known / backup evidence missing
- Policy comparison
- Source removal ≠ all-copy deletion
- Evidence sonucu
- Complete deletion/zeroization unproved
- Gerekli copy evidence
Her copy için purpose, retention scope ve deletion/recovery evidence gerekli. Alias inventory gerçek storage path veya secret değeri içermez; metadata ile scope açıklanabilir.
- Lifecycle metadata
- Needed: copy/purpose/retention/evidence
- Policy comparison
- Source removal ≠ all-copy deletion
- Evidence sonucu
- Complete deletion/zeroization unproved
- Restore ile destruction bağı
Recovery gereken encrypted data ile key version ilişkisi ayrı korunmalı. Restore doğrulanmadan key referansını bırakmak recovery veya secure zeroization başarısı değildir.
- Lifecycle metadata
- Needed: copy/purpose/retention/evidence
- Policy comparison
- Recovery needs independent key/data evidence
- Evidence sonucu
- Complete deletion/zeroization unproved
- Bounded lifecycle sonucu
Yeni inceleme missing backup evidence’ını yanıtlamalı. Bu kayıt üç known copy sonucunu korur; bütün storage, browser secrecy veya key erasure için ek iddia üretmez.
- Lifecycle metadata
- Needed: copy/purpose/retention/evidence
- Policy comparison
- Recovery needs independent key/data evidence
- Evidence sonucu
- Retain partial coverage / completeness unknown
UYGULAMA · GÜVENLİK KONTROLÜ · DOĞRULAMA
Amaç, state ve kopya envanterini birlikte tut
Key inventory’de alias, algorithm, purpose, active/verify-only/retired state ve kullanım sürelerini ayrı tut. Yeni üretimin hangi key’e bağlandığını, arşivin ne kadar doğrulanacağını ve compromise durumunda acceptance’ın nasıl kapanacağını rotation profile’ında belirle. Sensitive data classification’ı key state ile karıştırma; server-only secret ile public note arasında açık delivery gate olmalıdır. Metadata erişim kontrollü audit’e gidebilir, key material loglanmaz. Recovery gerekiyorsa encrypted data ile gerekli key version ilişkisi korunur; restore doğrulanmadan destruction başarısı varsayılmaz. Bu modelin old/new alias’ları gerçek key manager dosyası veya endpoint’i değildir. Yerel keypair generation da validated cryptographic module veya kurumun rotation programı için sertifika sayılmaz.
Ret sonucu ile eksik kanıtı ayrı kontrol et
Olumlu örnek accepted verification ve public title delivery’yi kontrol eder. Retired-key, server-only ve unknown-key için delivery ve write false, body null kalmalıdır. Primitive kontrolü yalnız Tea & Bread byte’larını yerel Ed25519 keypair ile sign/verify eder; token, certificate veya credential serileştirmez. Verify-only policy yeni signing’i kapatırken eski signature’ın matematiksel doğrulanabildiği ayrıca gözlenir. KeyObject referanslarını bırakmak JavaScript memory’sinde secure zeroization garantisi vermez. Data-copy kontrolü backup evidence eksikken allCopiesDeleted sonucunu unknown tutar. Bu yerel kontroller tekrar çalıştırılabilir; gerçek KMS rotation, browser secrecy, storage restore veya backup erasure için ayrı integration evidence gerekir.
ŞİMDİ VAKAYA UYGULA
Signature doğruysa key lifecycle ve delivery de doğru mu?
Key-old verify-only durumunda public Tea & Bread verisini now 150 için doğrulayabiliyor. Retired key matematiksel verification doğru kalsa da kabul edilmiyor; server-secret classification browser delivery’yi kapatıyor. Primary/cache/log deletion kanıtı varken backup sonucu unknown.
Vakadaki doğrulanmış actor, tenant ilişkisi ve requested action için gereken kararları ayır. Authentication veya proof başarısını object permission yerine kullanma.
Bağlı vaka dosyasını aç ↗ÖRNEĞİ BİRLİKTE OKUYALIM
Atlas Notları — key ve data lifecycle defteri
Bir alan seç; hangi sonucu desteklediğini ve nerede yetersiz kaldığını incele.
Ham kaydı ve alan açıklamalarını oku
{
"profile": {
"title": "Tea & Bread",
"purpose": "public-note-verification",
"now": 150,
"verifyUntil": 200,
"actualKMS": false,
"actualIdentity": false,
"actualZeroization": false
},
"rows": [
{
"case": "normal",
"keyAlias": "key-old",
"keyState": "verify-only",
"provenanceTrustedDeclared": true,
"purpose": "public-note-verification",
"cryptoVerifiedDeclared": true,
"classification": "public",
"now": 150,
"verifyUntil": 200,
"expectedAccepted": true,
"expectedDelivery": true,
"expectedBody": {
"title": "Tea & Bread"
},
"expectedWrite": false
},
{
"case": "retired-key",
"keyAlias": "key-old",
"keyState": "retired",
"provenanceTrustedDeclared": true,
"purpose": "public-note-verification",
"cryptoVerifiedDeclared": true,
"classification": "public",
"now": 150,
"verifyUntil": 200,
"expectedAccepted": false,
"expectedDelivery": false,
"expectedBody": null,
"expectedWrite": false
},
{
"case": "server-only",
"keyAlias": "key-old",
"keyState": "verify-only",
"provenanceTrustedDeclared": true,
"purpose": "public-note-verification",
"cryptoVerifiedDeclared": true,
"classification": "server-secret",
"now": 150,
"verifyUntil": 200,
"expectedAccepted": false,
"expectedDelivery": false,
"expectedBody": null,
"expectedWrite": false
},
{
"case": "unknown-key",
"keyAlias": "key-unlisted",
"keyState": null,
"provenanceTrustedDeclared": null,
"purpose": "public-note-verification",
"cryptoVerifiedDeclared": null,
"classification": "public",
"now": 150,
"verifyUntil": 200,
"expectedAccepted": false,
"expectedDelivery": false,
"expectedBody": null,
"expectedWrite": false
}
],
"cryptoPurpose": [
{
"mechanism": "encryption",
"confidentiality": true,
"integrity": "mode-dependent"
},
{
"mechanism": "MAC",
"confidentiality": false,
"origin": "shared key holder"
},
{
"mechanism": "digital signature",
"confidentiality": false,
"origin": "private key holder; trusted identity mapping separate"
},
{
"mechanism": "hash",
"confidentiality": false,
"origin": "none without trusted expected digest"
}
],
"keyInventory": [
{
"alias": "key-new",
"state": "active",
"maySign": true,
"mayVerify": true
},
{
"alias": "key-old",
"state": "verify-only",
"maySign": false,
"mayVerify": true
},
{
"alias": "key-retired",
"state": "retired",
"maySign": false,
"mayVerify": false
}
],
"classificationLedger": [
{
"alias": "public-note-title",
"classification": "public",
"sourceAllowed": true,
"buildAllowed": true,
"browserDeliveryAllowed": true
},
{
"alias": "server-secret-reference",
"classification": "server-secret",
"sourceAllowed": false,
"buildAllowed": false,
"browserDeliveryAllowed": false,
"actualValueIncluded": false
}
],
"dataCopies": [
{
"copy": "primary",
"purpose": "public-note storage",
"deletionEvidence": true
},
{
"copy": "cache",
"purpose": "bounded read acceleration",
"deletionEvidence": true
},
{
"copy": "log",
"purpose": "minimal decision metadata",
"deletionEvidence": true
},
{
"copy": "backup",
"purpose": "controlled recovery",
"deletionEvidence": null
}
],
"allCopiesDeleted": null,
"retention": {
"teachingTicks": 30,
"legalRule": false
},
"boundaries": {
"actualSecretsRead": false,
"actualEncryption": false,
"actualMAC": false,
"actualCertificates": false,
"actualStorageDeletion": false
},
"verificationTimeRows": [
{
"now": 199,
"verifyUntil": 200,
"expected": true
},
{
"now": 200,
"verifyUntil": 200,
"expected": false
},
{
"now": 201,
"verifyUntil": 200,
"expected": false
}
]
}- cryptoPurpose
- Crypto mekanizmalarının farklı amaçları; tek başına identity kanıtı değildir.
- rows
- Verilen lifecycle/classification koşulları ve title delivery sonucu.
- classificationLedger
- Yalnız alias kullanılır; server-only değer artifact’e dahil değildir.
- dataCopies
- Her kopyanın deletion evidence’ı ayrı tutulur; null bilinmeyeni gösterir.
Yalnız inert key/secret alias’ları ve dışarı aktarılmayan geçici Ed25519 key ile public title primitive kontrolü kullanılır. KMS, encryption/MAC, identity veya secure destruction çalıştırılmaz.
İki yanlış kanı
Signature doğruysa key her zaman kabul edilir.
Lifecycle, purpose ve provenance koşulları matematiksel verification’dan ayrı değerlendirilir.
Primary record silindiyse bütün data silinmiştir.
Cache, log ve backup kanıtı ayrı tutulur; unknown sonuç başarı değildir.
SIRA SENDE
Bu hikâyeyi sen çöz.
Sonucu tahmin et, kanıtın sınırını bul ve nedenini kendi cümlenle anlat.
cryptoVerifiedDeclared=true, fakat keyState=retired. Public title body’si kabul edilir mi?
- Hayır. Retired key için delivery yok.
- Evet. Geçerli crypto sonucu key state’ini önemsiz yapar.
Gerekçeli cevabı oku
Hayır. Retired key için delivery yok. — Signature sonucu true olarak verilse de lifecycle policy retired key’i kabul etmez. expectedBody=null kalır.
Primary, cache ve log için deletionEvidence=true; backup için null. Bütün data kopyaları silindi denebilir mi?
Dersten seçilen artifact alanları; öğretim örneği
- dataCopies
- [{"copy":"primary","purpose":"public-note storage","deletionEvidence":true},{"copy":"cache","purpose":"bounded read acceleration","deletionEvidence":true},{"copy":"log","purpose":"minimal decision metadata","deletionEvidence":true},{"copy":"backup","purpose":"controlled recovery","deletionEvidence":null}]
- allCopiesDeleted
- null
- Evet. Primary silinirse bütün cache/log/backup otomatik silinir.
- Hayır. allCopiesDeleted=null; backup sonucu bilinmiyor.
Gerekçeli cevabı oku
Hayır. allCopiesDeleted=null; backup sonucu bilinmiyor. — Üç kopyanın sonucu dördüncü kopyanın sonucunu belirlemez. Eksik kanıt, tam deletion veya retention uyumu garantisi değildir.
Encryption, MAC, signature ve hash aynı güven özelliğini sağlamaz. Verify-only key ile server-secret classification bu farkı nasıl tamamlar?
Gerekçeli cevabı oku
Encryption confidentiality sağlayabilir; integrity kullanılan mode’a bağlıdır. MAC veya signature confidentiality sağlamaz; signature’ın identity mapping’i güvenilen provenance ister. Hash de güvenilen expected digest olmadan origin authority değildir. Verify-only key doğrulamaya izin verip signing’i kapatabilir. Başarılı verification server-secret veriyi public yapmaz. Burada gerçek secret veya KMS okunmaz; runtime key zeroization veya bütün storage deletion’ı doğrulanmaz.
□ Primitive güven özelliklerini ve identity bağını ayırdım.
□ Key verification sonucunu data classification izni saymadım.
Uygulama konsolunu aç · request / response / browser
Request, URL, cookie ve DOM örneklerini ayrıca aç
Kaynaklar ve kapsam
- OWASP Key Management Cheat SheetKey Selection / symmetric, asymmetric, MAC and digital signatures · Key Usage; Storage; Cryptoperiods and Rotation; Escrow and Backup; Zeroization and Destruction
- OWASP Secrets Management Cheat Sheet§2.7 Creation, Rotation, Revocation and Expiration · §2.6 Auditing / §8.3 Detection lifecycle: do not log secrets
- W3C Privacy Principles§2.2 Data Minimization · §2.10 Purpose limitation
- OWASP Logging Cheat SheetDisposal of logs: temporary/debug logs, backups/copies/extractions and retention bounds
- Node.js v24.13.0 CryptogenerateKeyPairSync: ed25519; KeyObjects without explicit encoding · crypto.sign/verify: null algorithm for Ed25519; ordinary data/private/public key arguments