OpenID4VCI, OpenID4VP ve HAIP: belge alma ve gösterme
OpenID4VCI belgeyi kurumdan cüzdanına getirir, OpenID4VP cüzdandan doğrulayıcıya götürür; HAIP, AB'nin dayandığı seçimleri sabitler.
Yazan: Tamga Wallet ekibi4 dk okuma
Belgeleri cüzdana getiren ve cüzdandan götüren iki OpenID Foundation standardı var. OpenID4VCI (OpenID for Verifiable Credential Issuance), bir kurumun belgeyi cüzdanına nasıl verdiğini tanımlar. OpenID4VP (OpenID for Verifiable Presentations), bir sitenin ya da masanın cüzdanından nasıl belge istediğini ve yalnız onayladığın alanları nasıl aldığını tanımlar. HAIP (High Assurance Interoperability Profile, yüksek güvenceli birlikte çalışma profili) ikisini yüksek güvenlik gereken kullanım için tek bir seçimler kümesine indirir; AB'nin dijital kimlik ekosistemi de bunun üzerine kurulur. Tamga Wallet üçünü de kullanır.

Belge cüzdanına nasıl gelir (OpenID4VCI)?
OpenID4VCI 1.0, 16 Eylül 2025'te son (Final) şartname oldu. Tamga'da belge almak iki yoldan biriyle başlar.
Kurum teklif eder. Sana bir QR gösterir ya da bağlantı gönderir; ayrıca 6 haneli tek kullanımlık bir kod verir.
- QR'ı Tara ile okutursun. QR'da teklifin kendisi değil, belge teklifinin (credential offer) kısa bir adresi vardır; böylece QR küçük kalır.
- Cüzdan teklifi indirir. Teklif kurumu ve belge türünü söyler, bir ön yetki kodu taşır. Tamga'da bir teklif bir kez kullanılır ve beş dakikada geçersiz olur.
- Cüzdan kurumun herkese açık bilgilerini okur ve kurumun Tamga Network güven listesinde olduğunu denetler. Değilse belgeyi almaz.
- 6 haneli kodu girersin. Cüzdan ön yetki kodunu ve senin kodunu kısa ömürlü bir erişim belirteciyle değiştirir. Kod QR'dan ayrı olarak iletilir; omzunun üstünden QR'ın fotoğrafını çeken biri yine de belgeni alamaz.
- Cüzdan taze bir
noncealır, onu telefonunun güvenli donanımında yeni üretilen anahtarlarla imzalar ve bu imzaları, güvenli donanımdaki gerçek bir cüzdan olduğunu gösteren tasdiklerle birlikte gönderir. - Kurum bunların hepsini denetler ve belgeyi 10 kopya olarak verir. Her kopya ayrı bir anahtara bağlıdır; böylece farklı doğrulayıcılar seni eşleştiremez.
Sen cüzdandan istersin. Kurumu uygulamadaki listede bulur, belgeyi istersin. Kod yerine kimlik belgeni sunarsın; kurum onu kendi kayıtlarıyla eşleştirir. Bu, standarttaki yetki kodu akışıdır.
openid-credential-offer://?credential_offer_uri=https%3A%2F%2Fissuer.example.edu%2Foffer%2F8a3f9c21
GET /offer/8a3f9c21 HTTP/1.1
Host: issuer.example.edu
HTTP/1.1 200 OK
Content-Type: application/json
{
"credential_issuer": "https://issuer.example.edu",
"credential_configuration_ids": ["StudentCredential"],
"grants": {
"urn:ietf:params:oauth:grant-type:pre-authorized_code": {
"pre-authorized_code": "oaKazRN8I0IbtZ0C7JuMn5",
"tx_code": { "input_mode": "numeric", "length": 6 }
}
}
}Rehberler: Kurumun QR'ıyla belge al ve Kurum listesinden belge iste.
Bir site belgeyi nasıl ister (OpenID4VP)?
OpenID4VP 1.0, 9 Temmuz 2025'te son şartname oldu.
- Doğrulayıcı imzalı bir istek hazırlar. Ne istediğini bir DCQL sorgusuyla (Digital Credentials Query Language) söyler: hangi belge türü, hangi alanlar. Kendini, erişim sertifikasının parmak izi olan
x509_hashile tanıtır. - İstek cüzdanına ulaşır: QR, bağlantı ya da aynı telefondaysan sitenin düğmesiyle.
- Cüzdan doğrulayıcıyı denetler. İmzayı doğrular ve parmak izini Tamga Network güven listesinde arar. Listede olmayan bir doğrulayıcı için kayıtsız doğrulayıcı uyarısı çıkar. Listedeki bir doğrulayıcı kayıtlı amacının dışında bir alan isterse fazla istek uyarısı çıkar ve Paylaş düğmesi birkaç saniye bekler.
- Onay ekranında telefonunun kilidiyle onaylarsın. Ekranda kimin istediği, neden istediği ve her alan yazar.
- Cüzdan şifreli bir yanıt gönderir. Yalnız onaylanan alanlar; o doğrulayıcıya ve o isteğe bağlı bir cihaz imzasıyla (SD-JWT VC yazısındaki KB-JWT), doğrulayıcının anahtarına şifrelenmiş olarak (
direct_post.jwt). - Doğrulayıcı denetler: imzaları, güven listesindeki kurumu, telefonuna bağlılığı, geçerlilik süresini ve iptal durumunu. Üç sonuçtan birini alır: kabul, ret ya da şu anda doğrulanamıyor.
Aynı akış belgenin mdoc sürümünü de taşıyabilir. Rehber: Bir sitede belge göster.
HAIP nedir, AB neden onu kullanır?
İki standart da birçok seçimi açık bırakır: hangi biçimler, hangi imza algoritmaları, doğrulayıcı kim olduğunu nasıl kanıtlar, yanıtlar şifrelenir mi. İki ürün standarda ayrı ayrı uyup yine de birlikte çalışmayabilir. HAIP 1.0 (OpenID4VC High Assurance Interoperability Profile, Final, Aralık 2025), kendi ifadesiyle "yüksek düzeyde güvenlik ve gizlilik" gereken kullanımlar için bu seçimleri yapar. Kısaca:
| Konu | HAIP'in seçimi |
|---|---|
| Biçimler | SD-JWT VC (dc+sd-jwt) ve ISO mdoc (mso_mdoc) |
| İmza | herkesin desteklediği ES256 (P-256) |
| Sorgu dili | DCQL |
| Doğrulayıcının kimliği | x509_hash istemci kimliğiyle imzalı istek |
| Yanıtlar | şifreli (direct_post.jwt; tarayıcıda dc_api.jwt) |
| Cüzdana güven | belge alırken cüzdan tasdiki ve anahtar tasdiki |
| İptal | Token Status List |
HAIP, hedefleri arasında eIDAS 2.0'ı ve Avrupa dijital kimlik ekosistemini sayar; Tamga Network'ün kuralları da HAIP 1.0'ı AB profili olarak izler. Kurallarından ikisi Tamga Wallet'ta doğrudan görünür: cüzdan yalnız x509_hash ile tanıtan doğrulayıcıları kabul eder ve cüzdan tasdikindeki "kim" alanı her telefonda aynıdır, yani telefona özgü bir değer taşımaz.
Bugün ne çalışıyor?
Teklifle ve kurum listesinden belge alma, QR ya da bağlantıyla belge gösterme bugün Tamga Wallet'ta çalışıyor. Tarayıcı kanalı (tarayıcının cüzdanı açtığı W3C Digital Credentials API) doğrulayıcı tarafında hazır; cüzdan bağlantısı henüz yok.
Daha derine in
Profillerin tamamı Tamga Network geliştirici belgelerinde: Belge verme ve OpenID4VCI profili (SPEC-PROTO-0001); Sunum ve OpenID4VP profili (SPEC-PROTO-0002); iki HAIP kuralı ADR-0034'te.
Sık sorulan sorular
Cüzdanı kullanmak için bu protokolleri bilmem gerekir mi?
Hayır. QR okutur, onay ekranını okur ve onaylarsın. Protokoller altta çalışır ve cüzdanın senin yerine neleri denetleyeceğini belirler.
Kurum neden ayrı bir kod istiyor?
QR'ı gören ya da fotoğrafını çeken biri belgeni alamasın diye. Tamga'da bu tür tekliflerde kod zorunludur ve QR'dan ayrı iletilir; üç yanlış deneme teklifi iptal eder.
HAIP bir yasa mı?
Hayır. Bir OpenID Foundation şartnamesidir. AB'nin dijital kimlik ekosistemi, farklı üreticilerin cüzdanları, kurumları ve doğrulayıcıları birlikte çalışsın diye ona dayanır.
Kaynaklar
- OpenID for Verifiable Credential Issuance 1.0 (Final, 16 Eylül 2025)
- OpenID for Verifiable Presentations 1.0 (Final, 9 Temmuz 2025)
- OpenID4VC High Assurance Interoperability Profile 1.0 (Final, Aralık 2025)
- OpenID4VCI profili (SPEC-PROTO-0001), Tamga Network belgeleri
- OpenID4VP profili (SPEC-PROTO-0002), Tamga Network belgeleri
- ADR-0034: HAIP istemci kimliği ve cüzdan tasdiki, Tamga Network belgeleri
İlgili
- Yazı · StandartlarSD-JWT VC: seçici paylaşımın arkasındaki biçimSD-JWT VC, cüzdanın imzalı bir belgenin yalnız bazı alanlarını göndermesini sağlayan belge biçimidir. Sade bir anlatım ve sadeleştirilmiş bir örnek.
- Yazı · StandartlarISO 18013-5 ve mdoc: belgeyi yüz yüze göstermekISO/IEC 18013-5, telefondaki belgeyi karşındaki okuyucuya Bluetooth ile, internetsiz göstermenin biçimini ve protokolünü (mdoc) tanımlar.
- Yazı · GizlilikAynı belgeyi iki yere göstermek: neden birbirine bağlanamaz?Tamga Wallet her doğrulayıcıya belgenin ayrı kopyasını, her siteye ayrı takma ad verir; iki yer kayıtlarını karşılaştırıp seni eşleştiremez.
- RehberKurumun QR'ıyla belge alKurum sana ekranda ya da e-postada bir QR ve 6 haneli tek kullanımlık bir kod gösterir; QR'ı Tara ile okutur, kodu girersin.
- RehberBir sitede belge gösterSite bir QR gösterir; Tara ile okutursun, kimin neyi neden istediğini görür, yalnız o alanları onaylarsın.
Adım adım anlatım Rehber’de
Kurulumdan kayıp telefona kadar her şey, uygulamanın kendi ekranlarıyla.
Tamga Wallet'ı indir
App Store ve Google Play'de. Diplomanı, öğrenci belgeni, biletini telefonunda taşı.