Hacker DirectoryHacker Directory
Öğrenmeye devam et
ENHTML kaydet ↓

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.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mekanizma

Hareket olmadan bütün senaryoları oku

Archive izinli

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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

  1. 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
  2. Üç 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
  3. 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
  4. 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
  5. 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
  6. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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?

  1. Hayır. Retired key için delivery yok.
  2. 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
  1. Evet. Primary silinirse bütün cache/log/backup otomatik silinir.
  2. 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