Közzététel a szignatúra megőrzése mellett

Közzététel a szignatúra megőrzése mellett

Transpareo a termékútlevél minden mezőjét külön-külön aláírja, így a védett mezők is önállóan ellenőrizhetők. Az olvasónak nem kell megbíznia a platformban.

A digitális termékútlevél nem mindenkinek ugyanazt mutatja. Egy vásárló a nyilvános adatokat láthatja. Egy javítóműhely vagy újrahasznosító több információt lát. A piacfelügyeleti hatóság pedig mindent lát. Ez egyértelmű, és az európai szabványok mára kifejezetten előírják ezt.

Az érdekes kérdés azonban kevésbé nyilvánvaló: ha valaki a nyilvános adatokon túl védett mezőket is láthat, akkor bizonyítani tudja-e, hogy éppen ezek a mezők hitelesek? Vagy bíznia kell abban, hogy a platform helyesen válogatta ki és változatlanul továbbította azokat?

Képzeljünk el egy közjegyzőt, aki nem a levelet egészében hitelesíti, hanem minden bekezdést külön-külön. A nyilvános levelet mindenki megkapja. Aki többre jogosult, megkapja a további bekezdéseket is, és mindegyik továbbra is ugyanazon közjegyző pecsétjét viseli. Így építettük fel a platformunkat. A legtöbb platform esetében a fenti kérdésre az őszinte válasz: bizalom. Nálunk a válasz: bizonyíték, minden olyan mezőre vonatkozóan, amely csak a nyilvánosságra hozatal során kerül hozzáadásra. Ez a cikk elmagyarázza, miért számít ez a különbség, és miért választottuk mi a bonyolultabb utat.

A hozzáférési szabályt mindenki egyformán teljesíti

Az EN 18239, az európai szabvány a hozzáférési jogokról, a biztonságról és a titkosságról a DPP-ben, előírja, hogy a hozzáférést mezőnként kell szabályozni: minden mezőhöz tartozik egy szabály, hogy ki láthatja azt. Ez a helyes követelmény, és nem nehéz teljesíteni. Hogy ezeknek a szabványoknak egyáltalán milyen státuszuk van, azt a harmonizált szabványokról szóló cikkünkben részleteztük.

A szokásos módszer erre egy szerveroldali szűrő. A szerver tudja, ki kérdez, ellenőrzi, hogy az adott személy mit láthat, és pontosan ezt a kivonatot adja vissza. A szabvány ennél többet nem követel. Az olvasónak el kell hinnie, hogy a szerver becsületesen válogatta ki az adatokat, és útközben semmit sem változtatott meg. Egy nyilvános tájékoztató esetében ez rendben van. Egy olyan érték esetében azonban, amelyre egy feldolgozó egy használt elem árát alapozza, ez túl nagy bizalom.

Van azonban egy bökkenő, amellyel a szabvány nem foglalkozik: a kivonat pecsét nélkül érkezik.

A kézenfekvő megoldás az adatok aláírása. A skála mindkét végén jól működik egy szokásos aláírás: aláírni a nyilvános nézetet, aláírni a teljes adatkészletet. Hogy ez részletesen hogyan zajlik, az a DPP „Aláírások és tanúsítványok” című részében olvasható. A közepén azonban megakad a dolog. A teljes dokumentumra vonatkozó aláírás pontosan azokat a mezőket fedi le, amelyek az aláíráskor jelen voltak. Ha egy jogosult olvasó számára egy védett mezőt is hozzáférhetővé teszünk, ez a mező az aláírt halmazon kívül esik, és védelem nélkül jut el hozzá. Senki sem írja alá előre a „ki mit lát” összes lehetséges kombinációját, mert a kombinációk száma robbanásszerűen megnő. Visszatérünk a pecsét nélküli szűrőhöz, és a középső szint ismét a bizalmon alapul.

Minden mezőt külön-külön aláírni

Van egy jobb megoldás, és erre építjük fel a platformot. Ahelyett, hogy a kész dokumentumot egy blokként aláírná, a készítő egyetlen lépésben minden mezőt külön-külön határoz meg (a szabványok ismerői számára: a W3C ecdsa-sd-2023 eljárása).

Minden nézet ugyanazokkal a nyilvános mezőkkel kezdődik. Amit az olvasó ezen felül lát, az mezőről mezőre kerül hozzáadásra, és ezek a mezők továbbra is a készítő nyilvános kulcsához vezetnek vissza, offline módon, újbóli aláírás nélkül és anélkül, hogy meg kellene bízni abban a szervezetben, amely a nézetet összeállította. A jogosultsággal nem rendelkező mezők egyszerűen hiányoznak. Nem feketére festve, hanem egyáltalán nincsenek ott, és semmi sem szivárog ki róluk.

Egy futtatás: a javítóműhely

Egy javítóműhely jogos érdekeltséget jelentett be egy akkumulátorra vonatkozóan, ami az elemekről és akkumulátorokról szóló rendeletben kifejezetten előírt hozzáférési szintek egyike. A műhely hálózata a kulcsával jelentkezik be az interfészünkre, és letölti a passzportot. A válasz ugyanaz a nyilvános adatlap, amelyet a vásárló is lát, csupán egy mezővel kiegészítve: a leszerelési útmutatóval, amelyet csak a jogosult olvasók láthatnak. Nincs második dokumentum, nincs különváltozat.

Mielőtt a rendszer megbízik ebben a mezőben, a szoftvere összehasonlítja a mellékelt pecsétet a gyártó nyilvános kulcsával. Ha az aláírás-ellenőrzés sikeres - beleértve a kiegészítő mezőt is -, akkor biztos lehet benne: ez az útmutató karakterenként pontosan a gyártótól származik, és az út során senki sem módosította. Ha nem sikerül, a rendszer az egész nézetet félreteszi. Az, hogy pontosan azokat a mezőket kapja meg, amelyekre jogosult, továbbra is a hozzáférés-vezérlésünk feladata. Újdonság a következő lépés: a rendszer saját maga ellenőrzi a beérkező adatok hitelességét, anélkül, hogy minket megkérdezné.

Miért éppen a „sértetlen” a lényeg

Egy sértetlen pecsét nem azt jelenti, hogy a tartalom igaz. Azt jelenti: pontosan ezt írta a gyártó, és azóta senki sem változtatott rajta semmit. Ezzel mindenki kiesik a bizalmi láncból, aki csak továbbadta a dokumentumot: a köztes tároló, a hálózat, az archívum, mi.

Már nem számít, ki adta át Önnek az útlevelet.

És a pecsét bináris. Vagy érvényes, vagy nem, félig sérült pecsét nem létezik. Ezért nem fokozatos különbség, hogy a kiegészítő mezők a pecséttel együtt érkeznek-e hozzád, vagy anélkül: pecsét nélkül nem csak valamivel gyengébb a bizonyíték, hanem egyáltalán nincs bizonyíték.

Mindkét eljárás megtekintése

Ezt mindenki saját maga is ellenőrizheti. A Transpareo Time Machine ez a nyílt forráskódú alkalmazásunk a termékútlevélek megjelenítésére: végiglapozza a termékútlevél verziótörténetét, és közben minden aláírást újraszámol a felhasználó böngészőjében, anélkül, hogy a szerverünkhöz fordulna. Egy póló tanúsítványán a dokumentum egészére kiterjedő aláírás található, egy elem tanúsítványán pedig mezőnkénti jóváhagyás.

Mindkettő nyílt W3C-szabvány, amelyet bárki megvalósíthat. A teljes dokumentumra kiterjedő aláírás létrehozása és üzemeltetése lényegesen olcsóbb, és aki kizárólag nyilvános adatokat szolgáltat, annak ez is elegendő. Az, hogy az Transpareo Time Machine mindkét eljárást támogatja, szándékos: az útlevél továbbra is egy szokásos szabványos formátum marad, amelyet minden megfelelő eszköz ellenőrizni tud, nem csak a miénk.

Kinek hasznos ez, és mit ír elő a szabvány?

Kinek tárnak fel egyáltalán bármit is a nyilvános adatokon túl? Nem az alkalmi vásárlónak. Hanem az adatfeldolgozónak, aki megítéli, mennyit ér egy használt akkumulátorcsomag; a biztosítónak, aki kiszámítja a kockázatot; az újrahasznosítónak, aki a vegyi anyagokat válogatja; a hatóságnak, aki egy ügyet épít fel. Olyan olvasóknak, akiknek a döntései pénzhez vagy biztonsághoz kapcsolódnak. És a szokásos megközelítés szerint pontosan azok az olvasók, akik azokra a mezőkre, amelyekre döntésük alapul, nem kapnak tanúsító pecsétet. Úgy véljük, hogy egy tanúsító pecsétnek mindenkinek ugyanazt kell jelentenie: minden megjelenített mező a gyártótól származik, és azóta nem nyúltak hozzá. Egy olyan pecsét, amely csak a nyilvános mezőkre vonatkozik, csak fél pecsét.

Nyíltan kimondjuk: ennek semmi sem előírása. Az EN 18239 előírja, hogy a hozzáférést szabályozni kell, és egy szerveroldali szűrő ezt kifogástalanul elvégzi. A nyilvánosságra hozott mezők ellenőrizhetővé tételét pedig azért tesszük hozzá, mert az aláírt igazolvány lényege éppen az, hogy senkinek ne kelljen megbíznia a platformban. A középső szint kivételként való kivonása pontosan azt a bizalmat hozza vissza, amelyet az aláírásnak el kellett volna távolítania.

Ugyanez az elv teszi lehetővé egy mező kihagyását

Ha minden mezőt külön-külön meghatározzunk, az egy második tulajdonsággal jár, amelyet az európai jog valóban előír. Az Általános adatvédelmi rendelet biztosítja az embereknek a jogot, hogy személyes adataik törlését kérjék. Egy blokként aláírt adatrekord ezt nem tudja teljesíteni anélkül, hogy megsemmisítené a saját aláírását.

Mivel itt minden mező önálló, egy-egy mező eltávolítható, miközben a többi továbbra is érvényes marad. Ha véletlenül személyes adatok kerülnek egy útlevélbe, azok tisztán eltávolíthatók, és az útlevél érvényben marad: nincs szükség új kiállításra, nincs megszakított előzmény. Azok a mezők, amelyek megőrzését a törvény előírja, megmaradnak; ami törölhető, az kérésre törölhető, akár évekkel később is.

Miért nehéz ez, és hogyan oldottuk meg

Nem ## mitaláltuk ki ezt az eljárást, hanem ez egy nyilvános W3C-szabvány. Nem## az anehéz, hogy meglegyen az ötlet. Az a nehéz, hogy úgy megvalósítsuk, hogy egy útlevél tíz év múlva is érvényes legyen. Egy hagyományos aláírás a dokumentum bájtai alapján számol. A mezőalapú aláírás az egyes adatok alapján számol, és ehhez az útlevelet az aláírás előtt egy rögzített formátumba rendezik, amelyben minden adat külön mondatként szerepel. Ennek a formátumnak tíz év múlva is karakterről karakterre ugyanúgy kell visszaadódnia, különben már nem fog illeszkedni a pecsét. Három látszólag jelentéktelen dolog áll ennek az útjában, és mindhármat a gyökérénél megoldottuk.

A számok elveszítik a típusukat. Egy olyan érték, mint a 2,0, miután egyszer átfutott egy hagyományos adatformátumon, 2-ként tér vissza. Egy ember számára ez ugyanaz, a rögzített formátum számára viszont egy másik mondat. Nálunk minden értéket a típusával együtt tárolunk, és a közzététel leáll, amint akár csak egy típus nélküli szám is megjelenik.

A megnevezések még nem jelentenek jelentést. Minden mezőnévnek egy szótárban szereplő egyértelmű jelentésre kell utalnia, különben a mező a konvertálás során észrevétlenül eltűnik, és a pecsét nem fedi le. Nálunk minden szótár helyben található, és soha nem töltődik le a hálózatról; egy ismeretlen mezőnév leállítja az aláírást, ahelyett, hogy csendben üres eredményt adna.

A bejegyzéseknek rögzített nevekre van szükségük. Nálunk a dokumentum minden bejegyzése rögzített azonosítót visel, így az írásmód minden futtatáskor ugyanaz marad, ahelyett, hogy minden alkalommal új segédneveket kellene kiosztani.

A legkényesebb rész a gyártó saját kulcsában rejlik. Minden kiállításhoz egy további, rövid élettartamú kulcsra van szükség, amellyel a nyilvánosságra hozható mezőket egyenként aláírják. Ezt a kulcsot maga a gyártó hozza létre és semmisíti meg. Ha nálunk lenne, utólag kitalálhatnánk egyes mezőket. Minden útlevél két ilyen pecsétet visel: egyet a gyártótól és egyet a Transpareo-tól, még akkor is, ha csak egy mezőt tesznek közzé.

Számunkra ez a ráfordítás megéri. Az Transpareo Proofchain segítségével minden útlevelet aláírnak a közzétételkor, és összekapcsolják az előző verzióval, míg az Transpareo Vault - a megváltoztathatatlan, tízéves archívum - akkor lép működésbe, amint az útleveleket bejegyzik az EU-nyilvántartásba. Az, hogy minden mezőt aláírunk a teljes blokk helyett, ennek a magnak a kiterjesztése, nem pedig ráépítés.

Hol tartunk

Az igazolás mellett döntöttünk minden olvasó számára, mert egy pecsétnek egy dolgot kell jelentenie, függetlenül attól, ki nézi. Aki szeretné látni, hogyan működik: a fenti linkeken található két példa-igazolvány közvetlenül a böngészőben ellenőrizhető, szerver lekérdezése nélkül.

Kérdések ehhez a bejegyzéshez

Van olyan szabvány, amely előírja a mezőnkénti aláírást?

Nem. Az EN 18239, a DPP-ben a hozzáférési jogokra vonatkozó európai szabvány előírja, hogy a hozzáférést mezőnként kell szabályozni, és a szerveren működő szűrő ezt teljes mértékben biztosítja. Az, hogy a nyilvánosságra hozott mezőket ezen túlmenően ellenőrizhetővé tesszük, a mi döntésünk, és nem valami kötelező követelmény, amelyet bármely szabályozó szerv előírna. Úgy véljük, hogy ez a ráfordítás indokolt, mert az aláírt igazolvány lényege éppen abban rejlik, hogy senkinek sem kell megbízni a platformban. Hogy ezeknek a szabványoknak egyáltalán milyen státuszuk van, azt a harmonizált szabványokról szóló cikkünkben olvashatják.

Kizárólag nyilvános adatokat teszünk közzé. Szükségünk van erre?

Valószínűleg nem, és ezt nyíltan is kimondjuk. A teljes dokumentumra vonatkozó aláírás lefed egy olyan okmányt, amelynek minden mezője nyilvános, és létrehozása, illetve üzemeltetése lényegesen olcsóbb. A mezőnkénti hitelesítés akkor éri meg, ha megjelenik egy második célcsoport, például egy javítóhálózat, egy újrahasznosító vagy egy hatóság, amelynek egyébként pecsét nélküli kivonatokat adna át. Mindkét eljárás nyílt W3C-szabvány (az ecdsa-sd-2023 a mezőnkénti aláírás esetében), minden olyan eszköz, amely ismeri a szabványt, ellenőrizni tudja őket, és mindkettő ma már fut a Transpareo Time Machine-ben, egy póló és egy akkumulátor „útlevelén”.

Lehet-e később törölni a személyes adatokat anélkül, hogy az útlevelet érvénytelenítik?

Igen, és ezt a részt valóban előírja az európai jog. Az általános adatvédelmi rendelet biztosítja az embereknek azt a jogot, hogy személyes adataik törlését kérjék, és egy blokként aláírt adatrekord ezt nem tudja teljesíteni anélkül, hogy megsemmisítené a saját aláírását. Mivel itt minden mező külön van rögzítve, egy-egy mező eltávolítható, miközben a többi továbbra is érvényes marad, újbóli kiállítás és a verziótörténet megszakadása nélkül. Azok a mezők, amelyek megőrzését a törvény előírja, megmaradnak.

Ki rendelkezik az aláírási kulccsal?

Minden igazolványon két pecsét található, és az egyik az Öné is lehet. Minden kiállításhoz emellett szükség van egy rövid élettartamú kulcsra, amely az nyilvánosságra hozható mezőket egyenként aláírja; ezt a gyártó maga állítja elő és semmisíti meg, mert ha nálunk lenne, utólag kitalálhatnánk egyes mezőket. A visszaküldött pecsétet a tárolt nyilvános kulccsal ellenőrizzük, mielőtt megbízhatónak nyilvánítanánk. Így minden útlevél két független szerv pecsétjét viseli, mind az egyes nyilvánosságra hozott mezők, mind a teljes adatsor esetében.

Tíz év múlva is érvényes lesz még az útlevél?

Pontosan ebben rejlik a munka. A mezőalapú aláírás a dokumentum egyes adatai alapján számol, nem pedig a bájtok száma alapján, így ugyanazt a rögzített formátumot egy évtizeddel később is karakterről karakterre vissza kell adni. Három dolog megzavarja ezt a folyamatot, és mindhármat a gyökérénél szüntettük meg. Minden értéket a típusával együtt tárolunk, minden szótár nálunk van, és soha nem töltjük le az internetről, és minden bejegyzésnek van egy rögzített azonosítója. A megváltoztathatatlan tízéves archívum létrehozásra került, és azonnal hatályba lép, amint az útleveleket bejegyzik az EU-nyilvántartásba. Erről bővebben a nyilvántartási rendeletről szóló elemzésünkben olvashat.

Frissítések a hozzáférési szintekkel és igazolásokkal kapcsolatban

Szelektív közzététel, aláírások és a DPP-szabványok fejlődése - havonta összefoglalva a beérkező levelek között.