Bağlam
ADR-0006 belge (credential)Belge verenin imzaladığı ve kişinin cüzdanında duran dijital belge; kişi yalnız istenen alanları gösterir. formatı olarak SD-JWT VC (Selective Disclosure JWT Verifiable Credential)Selective disclosure destekli JSON tabanlı belge biçimi; EUDI Wallet'ta ve Tamga'da çevrimiçi gösterme için kullanılır.'yi seçti; tüm belgelerimiz (öğrenci, diploma, kimlik, bilet) bu formatta. ADR-0011 Tamga geçici kimlik attestationBir kişi ya da şey hakkında imzalı beyan; cüzdanda taşınır. Öğrenci belgesi ya da diploma gibi.'ını (urn:tamga:id:IdentityAttestation:1) tanımladı — yine SD-JWT VC. SPEC-CRED-0001 §1 mdocISO/IEC 18013-5 mobil belge biçimi, CBOR ile kodlanır; yüz yüze gösterme ve mobil ehliyet için kullanılır.'u baştan ikincil format ("2. faz") olarak planlamıştı; bu ADR onu kimlik belgesi için öne çeker (kapatılmış bir kararı değiştirmez, planlı olanı etkinleştirir).
İki dış gerçek bizi ikinci bir formata itiyor:
- Tarayıcı Digital Credentials API'si. Chrome 141 OpenID4VP + hem SD-JWT VC hem mdoc kabul eder; Safari 26 / iOS 26 yalnızca mdoc kabul eder. "Tamga ile giriş yap" (D11) tarayıcı API'sine geçtiğinde iPhone Safari kullanıcıları için mdoc şart.
- eIDAS 2.0 / ARF. ARF (Architecture and Reference Framework)Rolleri, mimariyi, güven modelini ve kuralları anlatan belge seti. Tamga ARF, AB ARF'sinin düzenini izler., kişisel kimlik verisi (PID (Person Identification Data)Devletin en yüksek güvence seviyesinde verdiği temel kimlik verisi. Tamga bu rolü üstlenmez; Tamga'nın kimlik belgesi PID değildir.) için mdoc'u (ISO 18013-5) zorunlu, SD-JWT VC'yi opsiyonel tutar. Yakın alan sunumu (turnike, kapı — ADR-0012 Faz 1 Bluetooth) da ISO 18013-5 mdoc taşır. Tamga PID vermez ama kimlik attestation'ı PID'in geçici muadilidir; AB emsaliyle hizalanmak için mdoc gerekir.
Proje yönetiminin yönü (2026-09-26): turnike ve bilet akışları EUDI ile aynı olsun; mdoc biçimi kurulur. mdoc formatın kendisidir (CBOR + COSE); Bluetooth taşıması ayrıdır ve Apple Developer hesabı + native modül ister (Faz 1). Bu ADR yalnızca formatı kapsar; taşıma ADR-0012 Faz 1'de.
Karar
- Kimlik attestation'ı çift formatta ihraç edilir: SD-JWT VC (birincil, değişmez) + ISO 18013-5 mdoc (paralel, opt-in). Aynı alanlar, aynı
iat/exp, aynı belge sahibi (holder)Belgeyi cüzdanında tutan ve kime göstereceğine karar veren kişi. anahtarı (SD-JWTcnf.jwk= mdocdeviceKey), ayrı belge veren (issuer)Belgeyi imzalayıp veren kurum: üniversite, meslek kuruluşu, kamu kurumu ya da şirket. imzaları (SD-JWT: JOSE/ES256; mdoc: COSE_Sign1/ES256). İki belge tek ihraç akışında üretilir; cüzdan ikisini de saklar. - docType =
urn:tamga:id:IdentityAttestation:1(vct ile aynı URN); namespace =tamga.id.1. Alan adları SD-JWT claim adlarıyla birebir (given_name,family_name,document_number_hash,age_over_18, …). - Doğrulama formatı DCQL (Digital Credentials Query Language)Doğrulayıcının OpenID4VP'de hangi belgeleri ve hangi alanları istediğini yazdığı sorgu dili. ile seçilir: doğrulayıcı (verifier)Gösterilen belgeyi denetleyen taraf: imza, belge verenin güven listesindeki kaydı, durum ve politika. Relying party diye de anılır. isteğinde
format: dc+sd-jwtya damso_mdocbelirtir; kanal (QR / derin bağlantı / DC API) aynı kalır. Doğrulayıcı mdoc'ta: issuerAuth COSE imzasını x5chain→güven listesi (trust list)Bir ülkenin kök sertifikalarını, belge verenlerini ve kayıtlı relying party'lerini taşıyan imzalı liste. Bugün Tamga'da güven bu listelere dayanır; ortak defter sonra gelir. (SPEC-TRUST-0001) ile, alan digest'lerini MSO ile, cihaz imzasını SessionTranscript üzerinde doğrular. - CBOR determinizmi: RFC 8949 §4.2.1 (bytewise). ISO 18013-5 RFC 7049 §3.9 (uzunluk-önce) atıfını pilot tam-interop maddesi olarak işaretleriz; tüm ekosistem tek kütüphane (
@tamga-network/mdoc) kullandığından digest tutarlılığı sağlanır. - SessionTranscript: demo'da OpenID4VP (OpenID for Verifiable Presentations)Doğrulayıcının cüzdandan belge istediği ve gösterimi aldığı protokol. nonceBir kez kullanılan rastgele değer; doğrulayıcı gönderir, cüzdan imzalar, böylece eski bir gösterme yeniden kullanılamaz.+client_id+response_uri'den deterministik özet; pilotta ISO 18013-7 Annex B (OID4VPHandover). Sapma olarak işaretlenir.
- Kapsam: yalnızca kimlik attestation'ı. Öğrenci/diploma/bilet SD-JWT VC kalır (mdoc'a gerek yok; tarayıcı girişi ve PID emsali yalnızca kimlik için geçerli). İhtiyaç doğarsa aynı mekanizma genişletilir.
Gerekçe / alternatifler
- Yalnızca SD-JWT VC (bugünkü hâl): Safari tarayıcı girişi imkânsız, ARF PID emsaliyle hizasız. Reddedildi.
- mdoc'a tam geçiş (SD-JWT VC'yi bırak): mevcut belge veren / doğrulayıcı / cüzdan hattını ve OpenID4VP prof-ilimizi (SPEC-PROTO-0002) kırar; SD-JWT VC web/uzaktan için daha yalın. Reddedildi.
- Çift format (seçilen): AB'nin kimlik için yaptığı da bu. Bedeli: ikinci ihraç + doğrulama kodu ve testleri; kazancı: Safari DC API + ARF hizası + Faz 1 Bluetooth hazırlığı.
@tamga-network/mdocbağımsız, saf @noble; ek çalışma zamanı bağımlılığı yok.
Değişmezler
| # | Değişmez |
|---|---|
| MD1 | mdoc yalnızca SD-JWT VC'nin ikinci temsilidir; SD-JWT VC birincil kalır (ADR-0006 değişmez). Bir tipin mdoc'u varsa alanları, iat/exp ve belge sahibi anahtarı SD-JWT ile birebir aynıdır. |
| MD2 | mdoc deviceKey = SD-JWT cnf.jwk (aynı belge sahibi anahtarı, aynı cihaz bağlaması). Ayrı anahtar üretilmez. |
| MD3 | mdoc issuerAuth (COSE_Sign1) yalnızca ES256; belge veren sertifikası x5chain'de taşınır ve SPEC-TRUST-0001 güven listesiyle (issuer_id) eşlenir — SD-JWT ile aynı güven çapası. |
| MD4 | Doğrulama üç değerli sonucu (SPEC-API-0001) korur; digest uyuşmazlığı/süre/iptal REJECTED, altyapı erişilemezliği INDETERMINATE. Sonuç nesnesinde ham CBOR ve açıklanmayan alan bulunmaz. |
| MD5 | mdoc kişisel veri değerini yalnızca IssuerSignedItem içinde taşır; MSO, çapa günlüğü ve loglar yalnızca digest/anahtar/tarih içerir (DP1/AP3 korunur). |
Sonuçlar
- Yeni paket
@tamga-network/mdoc(CBOR + COSE_Sign1 + MSO ihraç/açıklama/doğrulama + cihaz kimlik doğrulaması (identity proofing)Belge verilmeden önce kişinin gerçekten o kişi olduğunun doğrulanması; örneğin kimlik kartı ve canlılık testiyle.; 15 test). - Uygulama (D12 faz 2):
apps/idikinci format ihracı;@tamga-network/wallet-coremdoc saklama + sunum;@tamga-network/verifier+apps/verifymdoc doğrulama yolu; DCQLmso_mdoc; SPEC-CRED-0001 / SPEC-PROTO-0002 sürüm güncellemesi; FW-ARF satırı. Sahne 15 (kimlik → mdoc → selective disclosureBir belgeden yalnız doğrulayıcının istediği alanların gösterilmesi, fazlasının değil. → doğrulama). - DECISIONS: D-CRED-5 + INVARIANTS MD1–MD5.
Durum
Accepted — 2026-09-26. DECISIONS: D-CRED-5. Taslak 2026-09-26 (Proposed, paket + 15 test); aynı gün kabul ve D12 faz 2 uygulaması. ADR-0006'yı değiştirmez, genişletir.