Dijital Ürün Pasaportu herkese aynı bilgileri göstermez. Bir alıcı, kamuya açık verileri görür. Bir tamir atölyesi veya geri dönüşüm işletmesi daha fazlasını görür. Bir piyasa denetim kurumu ise her şeyi görür. Bu durum netleşmiştir ve Avrupa standartları artık bunu açıkça belirtmektedir.
Asıl ilginç soru ise daha ince bir noktaya değiniyor: Birisi kamuya açık verilerin ötesinde, gizli alanları da görebiliyorsa, tam da bu alanların gerçek olduğunu kanıtlayabilir mi? Yoksa platformun bu alanları doğru bir şekilde seçip, değiştirilmeden ilettiğine güvenmek zorunda mıdır?
Bir noteri düşünün; mektubu bir bütün olarak değil, her paragrafı tek tek tasdik ediyor. Herkes kamuya açık mektubu alır. Daha fazlasına hakkı olan kişi, ek paragrafları da alır ve her biri yine aynı noterin mührünü taşır. Platformumuzu işte bu şekilde kurduk. Çoğu platformda yukarıdaki sorunun dürüst cevabı şudur: Güven. Bizim için ise cevap şudur: Açıklama sırasında eklenen her alan için kanıt. Bu makale, bu farkın neden önemli olduğunu ve bunun için neden daha zahmetli yolu seçtiğimizi açıklıyor.
Erişim kuralına herkes eşit şekilde uymaktadır
DPP’de erişim hakları, güvenlik ve gizlilik için Avrupa standardı olan EN 18239, erişimin her bir alan için ayrı ayrı kontrol edilmesini gerektirir: Her alan için kimin görebileceğine dair bir kural vardır. Bu doğru bir gerekliliktir ve yerine getirilmesi zor değildir. Bu standartların genel olarak hangi statüye sahip olduğunu, uyumlaştırılmış standartlar hakkındaki yazımızda ayrıntılı olarak ele aldık.
Bunu sağlamanın genel yolu, sunucuda bir filtre kullanmaktır. Sunucu, kimin sorgu yaptığını bilir, bu kişinin neyi görebileceğini kontrol eder ve tam olarak bu kısmı geri döndürür. Standart bundan fazlasını talep etmez. Ancak, standardın dikkate almadığı bir sorun vardır: Bu kısım, herhangi bir mühür olmadan gelir. Okuyucu, sunucunun içeriği dürüstçe seçtiğine ve aktarım sırasında hiçbir değişiklik yapmadığına inanmak zorundadır. Kamuya açık bir bilgi notu için bu sorun değildir. Ancak, bir veri işleyicinin kullanılmış bir pilin fiyatını bu veriye dayandırdığı bir durumda, bu çok fazla güven gerektirir.
En mantıklı çözüm, verileri imzalamaktır. Ölçeğin her iki ucunda da sıradan bir imza işe yarar: kamuya açık görünümü imzalamak, tam veri setini imzalamak. Bunun ayrıntılı olarak nasıl işlediği, DPP’deki İmzalar ve Sertifikalar bölümünde açıklanmaktadır. Sorun ise ortada ortaya çıkıyor. Belgenin tamamı üzerindeki bir imza, imza atıldığı sırada mevcut olan alanları tam olarak kapsar. Yetkili bir okuyucuya ek olarak korumalı bir alanı açarsanız, bu alan imzalanmış kümenin dışında kalır ve okuyucuya korumasız olarak ulaşır. “Kim neyi görür” konusundaki her olası kombinasyonu önceden imzalamak kimseye düşmez; kombinasyonların sayısı katlanarak artar. Mühürsüz filtreye geri dönülür ve orta aşama yine güvene dayalı hale gelir.
Her alanı tek tek imzalamak
Daha iyi bir yapı vardır ve platformumuzu bu yapı üzerine kuruyoruz. Hazır belgeyi tek bir blok olarak imzalamak yerine, üretici tek bir işlemde her bir alanı ayrı ayrı belirler (standartlara aşina olanlar için: W3C prosedürü ecdsa-sd-2023).
Her görünüm, aynı açık alanlarla başlar. Bir okuyucunun bunun ötesinde gördükleri, alan alan eklenir ve bu alanların her biri, çevrimdışı olarak, yeniden imzalamaya gerek kalmadan ve görünümü derleyen kuruma güvenmeye gerek kalmadan, üreticinin açık anahtarına geri dönüyor. Hak talebi bulunmayan alanlar basitçe yoktur. Karartılmamış, hiç yoktur ve bunlarla ilgili hiçbir bilgi sızmaz.
Bir işlem: onarım işletmesi
Bir onarım işletmesi, bir pil için meşru menfaat beyanında bulunmuştur; bu, Pil Yönetmeliği’nde açıkça öngörülen erişim kademelerinden biridir. Atölye sistemi, anahtarıyla arayüzümüze giriş yapar ve geçiş belgesini alır. Cevap, alıcının da gördüğü aynı açık geçiş belgesidir, ancak tam olarak bir alan daha eklenmiştir: yalnızca yetkili okuyuculara açığa çıkarılan sökme talimatı. İkinci bir belge yok, özel bir sürüm yok.
İşletme bu alana güvenmeden önce, yazılımı birlikte verilen mührü üreticinin açık anahtarıyla karşılaştırarak doğrular. Doğrulama başarılı olursa - ek alan da dahil olmak üzere - işletme şunu anlar: Bu kılavuz, harf harf üreticiden gelmiştir ve süreç boyunca hiç kimse üzerinde herhangi bir değişiklik yapmamıştır. Doğrulama başarısız olursa, belgeyi bir bütün olarak bir kenara ayırır. Kullanıcıya tam olarak hak ettiği alanların sunulması, erişim kontrol sistemimizin görevidir. Yeni olan ise bundan sonraki adımdır: Gelen bilginin gerçek olup olmadığını, bize sormadan kendisi kontrol eder.
Neden “bozulmamış” olması bu kadar önemli?
Bozulmamış bir mühür, içeriğin doğru olduğunu göstermez. Şunu ifade eder: Üretici tam olarak bunu yazmış ve o zamandan beri kimse üzerinde tek bir işaret bile değiştirmedi. Böylece, belgeyi sadece ileten herkes - ara depolama, ağ, arşiv, biz - güven meselesinin dışında kalır. Pasaportu size kimin verdiği artık önemli değildir.
Ve bir mühür ikilidir. Ya geçerlidir ya da değildir; yarı kırık bir mühür diye bir şey yoktur. Bu nedenle, ek alanların mühürleriyle birlikte mi yoksa mühürsüz mü size ulaştığı arasında kademeli bir fark yoktur: Mühürsüz olduklarında, bu alanlar biraz daha zayıf bir şekilde doldurulmuş değildir; hiç doldurulmamıştır.
Her iki yöntemi de inceleyebilirsiniz
Bunu herkes kendisi kontrol edebilir. Transpareo Time Machine, ürün pasaportları için geliştirdiğimiz açık kaynaklı görüntüleme uygulamamızdır: Bir pasaportun sürüm geçmişini gözden geçirir ve bu sırada bizim sunucumuza sormadan, izleyicinin tarayıcısında her imzayı yeniden hesaplar. Bir tişörtün pasaportunda belge genelinde bir imza bulunurken, bir pilin pasaportunda alan bazında onay yer alır.
Her ikisi de açık W3C standartlarıdır ve herkes bunları uygulayabilir. Belgenin tamamını kapsayan imza, oluşturulması ve işletilmesi açısından çok daha ucuzdur ve yalnızca kamuya açık verileri sağlayanlar için bu yeterlidir. Time Machine’in her iki yöntemi de desteklemesi kasıtlıdır: Pasaport, yalnızca bizim aracımızla değil, uygun her araçla kontrol edilebilen sıradan bir standart format olarak kalır.
Bu kime fayda sağlar ve standart ne gerektirir?
Kamuya açık verilerin ötesinde kimlere bilgi açıklanır ki? Tesadüfen alışveriş yapan bir alıcıya değil. Bunlar, kullanılmış bir pil paketinin değerini değerlendiren işleyici, bir riski fiyatlandıran sigortacı, kimyasalları ayıran geri dönüşümcü ve bir dosyayı oluşturan resmi makamdır. Kararları paraya veya güvenliğe bağlı olan okuyucular. Ve genel yaklaşımda, kararlarının dayandığı alanlar için herhangi bir sertifika almayanlar tam da bu okuyuculardır. Bizce bir denetim sertifikası herkes için aynı anlama gelmelidir: Gösterilen her alan üreticiden gelmektedir ve o zamandan beri üzerinde herhangi bir müdahale yapılmamıştır. Yalnızca kamuya açık alanlar için geçerli bir mühür, yarım bir mühürdür.
Açıkça söylüyoruz: Bunların hiçbiri zorunlu değildir. EN 18239 standardı, erişimin kontrol edilmesini gerektirir ve sunucudaki bir filtre bunu kusursuz bir şekilde yerine getirir. Açıklanan alanları denetlenebilir hale getirmek, bizim ek olarak yaptığımız bir şeydir; çünkü imzalı bir pasaportun tüm anlamı, kimsenin platforma güvenmek zorunda olmamasıdır. Orta seviyeyi bir istisna olarak ayıklamak, tam da imzanın ortadan kaldırması gereken güveni geri getirir.
Aynı ilke, bir alanın göz ardı edilmesine yol açar
Her bir ## alanatek tek karar vermek, ikinci bir özelliği de beraberinde getirir ve bu özellik aslında Avrupa hukuku tarafından zorunlu kılınmaktadır. Genel Veri Koruma Yönetmeliği, kişilere kişisel verilerinin silinmesini talep etme hakkı verir. Tek bir blok olarak imzalanmış bir veri kümesi, kendi imzasını yok etmeden bu talebi yerine getiremez.
Burada her bir alan bağımsız olduğundan, tek bir alan kaldırılabilirken geri kalan her şey geçerliliğini korur. Kişisel veriler yanlışlıkla bir pasaporta girerse, bunlar temiz bir şekilde çıkarılır ve pasaport geçerliliğini korur: yeniden düzenleme gerekmez, geçmiş veriler silinmez. Yasanın saklanmasını gerektirdiği alanlar yerinde kalır; silinebilenler ise talep üzerine, yıllar sonra bile silinebilir.
Bunun neden zor olduğu ve nasıl çözdüğümüz
Bu yöntemi bizicat etmedik; bu, halka açık bir W3C standardıdır. Zor olan, fikri bulmak değildir. Zor olan, pasaportun on yıl sonra bile hâlâ geçerli olmasını sağlayacak şekilde bu sistemi kurmaktır. Sıradan bir imza, bir belgenin baytları üzerinden hesaplama yapar. Alan bazlı imza ise belgenin tek tek bilgilerini esas alır; bunun için imza atılmadan önce pasaport, her bir bilginin ayrı bir cümle olarak yer aldığı sabit bir yazım biçimine getirilir. Bu yazım biçimi on yıl sonra karakter karakter aynen geri çıkmalıdır, aksi takdirde hiçbir mühür artık uymaz. Bunun önünde üç önemsiz engel vardı ve biz üçünü de kökünden ortadan kaldırdık.
Sayılar türlerini yitirir. 2,0 gibi bir değer, sıradan bir veri formatından bir tur geçtikten sonra 2 olarak geri gelir. Bir insan için bu aynı şeydir, ancak sabit yazım biçimi için farklı bir cümledir. Bizim sistemimizde her değer kendi türüyle birlikte saklanır ve türsüz tek bir sayı bile ortaya çıkar çıkmaz yayın işlemi kesilir.
Adlar henüz bir anlam ifade etmez. Her alan adı, bir sözlükte benzersiz bir anlama karşılık gelmelidir; aksi takdirde alan, dönüştürme sırasında sessizce ortadan kaybolur ve mühür onu kapsamaz. Bizde her sözlük yerel olarak bulunur ve asla ağ üzerinden indirilmez; bilinmeyen bir alan adı, sessizce boş bir sonuç vermek yerine imzalamayı durdurur.
Girdilerin sabit adlara ihtiyacı vardır. Bizde belgedeki her girdi, her geçişte yazım biçiminin aynı kalması için sabit bir tanımlayıcıya sahiptir; böylece her seferinde yeni yardımcı adlar atanması gerekmez.
En hassas kısım, üreticinin kendi anahtarında yatmaktadır. Her bir düzenleme için, açıklanabilir alanların tek tek imzalanmasında kullanılan ek ve kısa ömürlü bir anahtar gereklidir. Bu anahtarı üretici kendisi oluşturur ve imha eder. Eğer bu anahtar bizde olsaydı, tek tek alanları sonradan uydurabilirdik. Her pasaportta bu tür iki mühür bulunur: biri üreticinin, diğeri Transpareo’nun mührüdür; tek bir alanın açıklanması durumunda bile bu kural geçerlidir.
Bizim için bu çaba, doğru yerde harcanmaktadır. Her pasaport yayınlandığında imzalanır ve bir önceki sürüme zincirlenir; pasaportlar AB DPP Sicili’ne kaydedilir kaydedilmez, değiştirilemez on yıllık arşiv devreye girer. Blokun tamamı yerine her bir alanı imzalamak, bu temel sistemin bir genişletmesidir, ek bir özellik değildir.
Şu anki durumumuz
Her okuyucu için kanıtlamayı tercih ettik, çünkü bir mühür, kim bakarsa baksın aynı anlama gelmelidir. Nasıl çalıştığını görmek isteyenler için: Yukarıda bağlantısı verilen iki örnek pasaport, bir sunucuya başvurmaya gerek kalmadan doğrudan tarayıcıda doğrulanabilir.
Bu yazıyla ilgili sorular
Bir standart, alan bazında imzayı zorunlu kılıyor mu?
Hayır. DPP’deki erişim haklarına ilişkin Avrupa standardı olan EN 18239, erişimin her bir alan bazında kontrol edilmesini gerektirir ve sunucudaki bir filtre bunu tam olarak sağlar. Bunun ötesinde, açıklanan alanları denetlenebilir hale getirmek bizim kararımızdır; bu, herhangi bir düzenleyici kurumun talep ettiği bir zorunluluk değildir. Bu çabaya değdiğini düşünüyoruz, çünkü imzalı bir pasaportun tüm anlamı, kimsenin platforma güvenmek zorunda olmamasıdır. Bu standartların tam olarak ne tür bir statüye sahip olduğu, uyumlaştırılmış standartlar hakkındaki yazımızda açıklanmaktadır.
Sadece kamuya açık verileri yayınlıyoruz. Buna ihtiyacımız var mı?
Muhtemelen hayır, ve bunu açıkça söylüyoruz. Belgenin tamamını kapsayan bir imza, tüm alanları halka açık olan bir pasaportu kapsar ve hem oluşturulması hem de işletilmesi çok daha ucuzdur. Alan bazında paylaşım, ikinci bir hedef kitle devreye girdiğinde, örneğin bir onarım ağı, bir geri dönüşüm şirketi veya aksi takdirde mühürsüz özetleri teslim edeceğiniz bir resmi kurum olduğunda, faydalı hale gelir. Her iki yöntem de açık W3C standartlarıdır (alan bazlı imza için ecdsa-sd-2023); standardı destekleyen her araç bunları doğrulayabilir ve her ikisi de şu anda Transpareo Time Machine’de, bir tişörtün “pasaportu”nda ve bir pilin “pasaportu”nda çalışmaktadır.
Kişisel veriler, pasaportun geçerliliğini ortadan kaldırmadan daha sonra silinebilir mi?
Evet, ve bu kısım Avrupa mevzuatı tarafından gerçekten de zorunlu kılınmaktadır. Genel Veri Koruma Yönetmeliği, kişilere kişisel verilerinin silinmesini talep etme hakkı tanır ve blok olarak imzalanmış bir veri seti, kendi imzasını yok etmeden bu talebi yerine getiremez. Burada her alan ayrı ayrı tanımlandığından, tek bir alan kaldırılabilir; geri kalan her şey ise yeniden düzenlemeye gerek kalmadan ve sürüm geçmişinde kesintiye uğramadan geçerliliğini korur. Yasanın saklanmasını zorunlu kıldığı alanlar olduğu gibi kalır.
İmza anahtarını kim elinde tutuyor?
Her sertifika iki mühür taşır ve bunlardan biri sizinki olabilir. Her sertifika düzenlemesi için ayrıca, açıklanabilir alanları tek tek imzalayan kısa ömürlü bir anahtar gerekir; bunu üretici kendisi oluşturur ve imha eder, çünkü bu anahtar bizde olsaydı, tek tek alanları sonradan uydurabilirdik. Geri gelen mührü, ona güvenmeden önce kayıtlı açık anahtarla karşılaştırarak doğrularız. Böylece her pasaport, tek tek açıklanan bir alan için olduğu kadar tüm veri kümesi için de iki bağımsız kurumun iki mührünü taşır.
On yıl sonra bu pasaport hâlâ geçerli olacak mı?
İşte zorluk tam da burada yatıyor. Alan bazlı imzalamada, belgenin baytları yerine tek tek verileri esas alınır; dolayısıyla aynı sabit yazım biçimi, on yıl sonra bile karakter karakter aynen geri çıkmalıdır. Üç şey bu süreci bozuyor ve biz bu üçünün de kökünden çözdük. Her değer kendi türüyle birlikte kaydedilir, her sözlük bizde bulunur ve asla internet üzerinden indirilmez; ayrıca her giriş sabit bir kimlik numarası taşır. Değiştirilemez on yıllık arşiv oluşturulmuştur ve pasaportlar AB Kayıt Sistemi’ne kaydedilir kaydedilmez devreye girer. Bu konuyla ilgili daha fazla bilgiyi Kayıt Yönetmeliği analizimizde bulabilirsiniz.




