Her Şeyi Değil Daha Azını Paylaştığınızda Cüzdanınızın Gönderdiği Özet
Burada tarif edilen bağlanamazlık uygulaması denetlenmemiştir.
Altındaki ilkeller iyi incelenmiştir; onları bizim birleştirişimiz değil.
Açıklama özeti nedir
Seçici olarak açıklanabilir bir kimlik bilgisi alanlarınızı açık hâlde içermez. İmzalı yük, gizlenebilir
alan başına bir tane olmak üzere, geleneksel olarak _sd adlı bir özet dizisi taşır.
Bir alanı açıkladığınızda cüzdanınız açıklamayı gönderir: alanı içeren kısa, kodlanmış bir dizgi.
Doğrulayıcı tam olarak o dizgiyi özetler ve sonucu _sd dizisinde arar. Bir eşleşme, verenin o alanı
imzaladığı anlamına gelir, verenin imzası yalnızca özeti kapsamış olsa bile.
Zarafeti şurada: veren bir kez imzalar ve imzaladığının ne kadarını açıklayacağınızı sonradan siz seçersiniz. İmzanın her bileşim için yeniden yapılması gerekmez.
Herhangi bir SHA-256 aracıyla kontrol edin
Kitaplığımıza ihtiyacınız yok ve bunun için onu kullanmamanızı tercih ederiz:
# from a compact SD-JWT (issue one with @solidus-network/sdk's issueSdJwtVc):
# 1. take one disclosure segment — the base64url text between the '~' separators
# 2. SHA-256 that exact string, as bytes
# 3. base64url-encode the hash
# 4. find it in the decoded JWS payload's _sd array
# It matches exactly.
Herhangi bir genel özet aracı bunu yeniden üretir. Bir satıcının seçici açıklaması yalnızca o satıcının SDK'sıyla doğrulanabiliyorsa, bu sorulmaya değer.
Kripto çevikliği yok ve bu yayımlanmış kodda
Özetleyicimiz tam olarak bir algoritmayı destekler ve başka her şeyde hata fırlatır. Kurabileceğiniz paketten:
export function sdJwtHasher(data, alg) {
if (alg !== 'sha-256') { throw new Error(`unsupported SD-JWT hash algorithm: ${alg}`) }
...
}
Kendi yorumu şöyle diyor: "Phase 1 yalnızca sha-256 destekler."
Yani verdiğimiz her kimlik bilgisi sha-256 taşır, kuruluşu gereği; bir çağıranın geçersiz
kılabileceği bir yapılandırma seçimiyle değil. Bu, bir bayrakla değiştirebileceğiniz gizli bir
varsayılan değil; alternatif yol yoktur ve bir tanesini çağırmak bir hatadır.
Kötü mü? Bugün, çoğunlukla hayır: SHA-256 şartnamenin varsayılanıdır ve biçimin açık yapılandırma olmadan ürettiği algoritmadır, dolayısıyla herkesle aynı hizadayız. Bunun doğru olmaktan çıktığı gün kötü olur ve dürüst çerçeveleme şudur: iyi bir varsayılan seçtiğimiz değil, geçiş yolumuz olmadığı. Kripto çevikliği, ihtiyaç duymadan önce inşa ettiğiniz bir özelliktir.
Düzeltemediğimiz ve bizden duymanızı tercih ettiğimiz kısım
Açıklanmamış bir alanın özeti yine de her sunumla birlikte gider.
Bir alanı sakladığınızda değeri gizli kalır: özet onu açığa çıkarmaz. Ama özetin kendisi imzalı yükün içindedir ve o kimlik bilgisini her sunduğunuzda dışarı çıkar.
Yeniden kullandığınız bir kimlik bilgisi için özetler kümesi kararlı ve ayırt edicidir. Notlarını karşılaştıran iki doğrulayıcı onun üzerinden eşleştirebilir. Neyi sakladığınızı öğrenmezler. Aynı kimlik bilgisinin ikisinde de göründüğünü öğrenirler, ki bu çoğu zaman açığa çıkarmamaya çalıştığınız olgudur.
Bu, kuruluşun bir özelliğidir; uygulamamızın getirdiği ya da kaldırabileceği bir şey değil. Bu biçimin uygun her uygulamasında vardır.
Sav iyidir; doğrulanmamış olan fikrin biçimi değil, bizim uygulamamızdır.
Tamamlayıcı savunma, doğrulayıcı başına farklı bir tanımlayıcıdır, böylece gözlemlerin bağlanacağı bir hesap olmaz. Bu yardımcı olur ve boşluğu kapatmaz: özet kümesi hâlâ aynı özet kümesidir.
Pratik okuma
- Bir kez sunulmuş bir kimlik bilgisinin burada ilişkilendirme problemi yoktur. Yıllar boyunca birçok doğrulayıcıda sunulmuş bir kimlik bilgisinin vardır.
- Bir alanı saklamak, o alanın var olmamasıyla aynı şey değildir. Özeti yine de bir doğrulayıcıya bir gizli alanın orada olduğunu söyler.
- Doğrulayıcılar arasında bağlanamazlık gereksinimizse, bu biçim onu size vermez, hangi uygulama kalitesinde olursa olsun. Burada atıf yapılan BBS+ uygulaması denetlenmemiştir.

