Appearance
ADR-0006 — Credential Formatı ve Protokoller
Durum: Accepted Tarih: 2026-09-03 Karar veren: Tamga Network proje yönetimi Kaynak: tamga-guven-cercevesi-v0.1.md (Bölüm F, G, K) — çalışma notu; tam spesifikasyon → SPEC-CRED-0001.
Bağlam
Depoda credential formatı bugüne dek "planlı" bırakılmıştı; SPEC-BC-0001 SD-JWT VC ve Token Status List'e atıfta bulunuyor ama resmî bir format kararı yoktu. Ayrıca "üniversite fikrindeki gizli hata" (credential başkasının cüzdanına alınabilir) bir güvenlik açığı olarak açıktı. Bu ADR ikisini de kapatır. ADR-0001 (Besu/EVM) ve ADR-0004 (X.509 issuer kimliği) üzerine kurulur.
Karar
Karar 1 — Format: SD-JWT VC (birincil), mdoc (ikincil, 2. faz)
SD-JWT VC birincil formattır: selective disclosure yerleşik, EUDI ARF ana formatı, kütüphane bolluğu, JSON-LD'den basit. mdoc/ISO 18013-5 ikincildir (2. faz; çevrimdışı/ fiziksel ibraz, mDL uyumu).
Karar 2 — Protokoller: OpenID4VCI (ihraç), OpenID4VP (sunum)
Fiili standartlar; kurumların mevcut OIDC altyapısına oturur, verifier entegrasyonu kolay.
Karar 3 — İmza: ES256 (P-256)
Mobil secure element (Secure Enclave/StrongBox) ve HSM'lerde evrensel destek.
Karar 4 — Holder binding istisnasız zorunlu (cnf + cihaz anahtarı)
Her credential, issuance anında holder'ın cihazda üretilmiş anahtarına cnf ile bağlanır; sunumda holder nonce'u o anahtarla imzalar (KB-JWT). Bu, holder binding açığının tek çözümüdür ve kapatılamaz. Anahtar donanımda üretilir, dışa aktarılamaz → credential devredilemez.
Karar 5 — Wallet Unit Attestation (WUA) baştan konur
Cüzdanın gerçekliğini (donanım anahtarı, PIN aktif, root/jailbreak yok, sağlayıcı kimliği) beyan eden WUA, pilotta basit içerikle de olsa alan ve akış olarak baştan açılır — sonradan eklemek tüm cüzdanların migrasyonunu gerektirir.
Karar 6 — Revocation Token Status List'e devredilir
Ayrı bir iptal mekanizması tanımlanmaz; SPEC-BC-0001 §5 Token Status List kullanılır (off-chain liste + on-chain pointer, min 100k, rastgele index). Korelasyon karşıtı batch issuance 2. faza ertelenir, formatta yeri açık tutulur.
Gerekçe
- EUDI uyumu: SD-JWT VC + OpenID4VCI/VP + ES256, EUDI ARF'nin ana yığınıdır → "uyumlu ama bağımsız" (PM-PH-0001) ve sınır-ötesi interop.
- Holder binding = varlık nedeni: bu açık kapatılmazsa sistem sessizce yalan söyler; değeri sıfırlanır.
- Geri döndürülemezlik: format/binding/WUA baştan doğru kurulmazsa sonradan tüm cüzdan tabanının migrasyonu gerekir — ADR-0003 "bugün bedava, sonra imkânsız" mantığıyla aynı.
Sonuçlar
- SPEC-CRED-0001 tam spesifikasyondur (format yapısı, KB-JWT, WUA, akışlar).
contracts/vesdk/cüzdanı cihaz secure element anahtarı +cnfüretir; yazılım anahtarı kabul edilmez.- Verifier kütüphanesi
TrustedListProviderarayüzü üzerinden çalışır (chain-agnostic, Faz 0 dosya / Faz 1 zincir) — ARCH-0001. - PM-ASSUR-0001 holder assurance, WUA + binding yöntemine bağlanır.
İlişkiler
- SPEC-CRED-0001 — bu kararın tam spesifikasyonu.
- PM-ASSUR-0001 / ADR-0005 — assurance seviyeleri (formatın taşıdığı güven).
- SPEC-BC-0001 — issuer registry + Token Status List (revocation).
- SPEC-ID-0002 — issuer X.509 (
iss), SPEC-ID-0001 — holder pseudonym (cnf). - PM-TRUST-0001 — credential asla zincirde değil.
review_status: Completed. Format, protokoller, imza, holder binding (zorunlu) ve WUA kabul edildi (2026-09-03). mdoc ve batch issuance sonraki fazlara havale edildi.