Откријте, без да го изгубите потписот

Откријте, без да го изгубите потписот

Секој чии заштитени полиња се изложени обично мора да ѝ верува на платформата. Ние ги потпишуваме секоја полиња поединечно за да можат да се верификуваат независно.

Дигиталниот пасош на производот не ги прикажува истите информации на сите. Купувачот ги гледа јавните податоци. Сервисната работилница или обновувачот гледа повеќе. Телото за пазарна надзор гледа сè. Ова е разјаснето, и европските стандарди сега експлицитно го пропишуваат.

Посложеното прашање е следново: ако некому му е овозможен пристап до заштитени полиња надвор од јавните податоци, може ли тој да провери дека овие конкретни полиња се автентични? Или мора да верува дека платформата ги избрала правилно и ги пренела непроменети?

Замислете нотар кој не го заверува писмото во целина, туку секој параграф поединечно. Секој ја добива јавната верзија на писмото. Секој што има право на повеќе ги добива дополнителните параграфи, а секој од нив сè уште го носи печатот на истиот нотар. Така ја изградивме нашата платформа. За повеќето платформи, искрениот одговор на горенаведеното прашање е: доверба. За нас, тоа е: доказ, за секое поле кое се додава само во моментот на откривање. Оваа статија објаснува зошто оваа разлика е важна и зошто го избравме помакотрпниот пристап.

Сите го почитуваат правилото за пристап на ист начин

EN 18239, европскиот стандард за права на пристап, безбедност и доверливост во DPP, бара пристапот да се контролира за секое поле поединечно: за секое поле постои правило кое регулира кој е дозволен да го гледа. Ова е точното барање и не е тешко да се исполни. Ние го опишавме статусот на овие стандарди во нашата статија за усогласени стандарди.

Вообичаен начин да се постигне ова е преку филтер на серверот. Серверот знае кој го прави барањето, проверува што таа личност е овластена да види и враќа токму тој дел. Стандардот не бара ништо повеќе. Читателот мора да верува дека серверот ја избрал содржината чесно и дека не променил ништо по пат. За јавна информативна белешка, тоа е прифатливо. Но, за вредност врз која рециклирачот ја заснова цената на користена батерија, тоа е голема доверба.

Постои една пречка што стандардот не ја решава: извлечокот пристигнува без печат.

Очигледното решение е да се потпишат податоците. За двата краја на спектарот, стандардниот потпис функционира добро: потпишете го јавниот приказ; потпишете го комплетниот сет на податоци. Како ова функционира во детали е објаснето во Доверба што го надживува производот: потписи и сертификати во DPP” во DPP. Работата се расипува на средината. Потписот што го покрива целиот документ ги покрива токму оние полиња што биле присутни во моментот на потпишувањето. Ако заштитено поле дополнително му се открие на овластен читател, тоа поле лежи надвор од потпишаниот сет и до него стигнува непокриено. Никој однапред не потпишува секоја можна комбинација на “кој-што-види”; бројот на комбинации расте експоненцијално. Се враќаме на пристапот “филтер без печат”, и средното ниво повторно се заснова на доверба.

Потпишување на секое поле поединечно

Постои подобро решение, и тоа е она на кое се темели нашата платформа. Наместо да се потпишува готовиот документ како еден блок, креаторот го специфицира секое поле поединечно во еден чекор (за оние што се запознаени со стандардите: W3C процедурата ecdsa-sd-2023).

Секој приказ затоа започнува со истите јавни полиња. Сè друго што читателот ќе го види се додава поле по поле, и секој од овие полиња продолжува да се поврзува со јавниот клуч на производителот, офлајн, без потреба од повторно потпишување и без да се потпира на субјектот што го составил приказот. Полетата без барање едноставно недостасуваат. Не се зацрнети, туку воопшто ги нема и не се пробива никаква информација за нив.

Еден пример: автомеханичарницата

Автомеханичарницата има изјавено легитимен интерес за батерија, едно од нивоата на пристап експлицитно предвидени во Регулативата за батерии. Неговиот работен систем се најавува на нашиот интерфејс со својот клуч и го презема пасот. Одговорот е истиот јавен пас што го гледа купувачот, со точно едно дополнително поле: упатствата за расклопување, кои се откриени само на овластени читатели. Без втор документ, без посебна верзија.

Пред работилницата да се потпре на ова поле, нејзиниот софтвер ја проверува доставената пломба со јавниот клуч на производителот. Ако проверката е успешна - вклучително и за дополнителното поле - таа знае дека овие упатства потекнуваат токму од производителот, знак по знак, и дека никој по патот не ги изменил на никаков начин. Ако проверката не успее, целиот приказ се отфрла. Обезбедувањето дека ќе ги добие токму оние полиња на кои има право останува задача на нашиот систем за контрола на пристап. Она што е ново е чекорот што следува: самиот проверува дали она што го добива е автентично, без да нè консултира.

Зошто “неповреденост” е целата поента

Неповреден печат не значи дека содржината е вистинита. Тоа значи: ова е точно она што го напишал креаторот и никој не го променил ниту еден карактер оттогаш. Со ова се отстрануваат од синџирот на доверба сите што само го пренеле документот: кеш-меморијата, мрежата, архивата, ние.

Веќе не е важно кој ви го издал пасошот.

А печатот е бинарен. Или е валиден или не е; не постои нешто како полурасипан печат. Затоа не е прашање на степен дали дополнителните полиња пристигнуваат со или без својот печат: без печат, тие не се само малку помалку валидни - тие воопшто не се валидни.

Двата методи за прегледување

Секој може сам да го провери ова. Transpareo Time Machine е наша апликација со отворен код за прегледување на пасоши за производи: таа листа низ историјата на верзиите на пасошот и пресметува повторно секој потпис во прелистувачот на корисникот без да бара податоци од некој од нашите сервери. Пасошот на маица содржи потпис што го покрива целиот документ, додека пасошот на батерија користи валидација поле по поле.

Двата се отворени W3C стандарди; секој може да ги имплементира. Потписот што го покрива целиот документ е значително поевтин за изработка и работа, и секој што обезбедува само јавни податоци може да се задоволи со тоа. Фактот што “Временската машина” ги поддржува и двата метода е намерно: пасошот останува стандарден формат што може да го провери секој соодветен алат, а не само нашиот.

Кој има корист од ова и што бара стандардот?

Кој, освен оние што пристапуваат до јавни податоци, всушност добива какви било дополнителни информации? Не обичниот купувач. Тоа е процесорот кој ја проценува вредноста на искористениот батериски пакет, осигурителот кој го проценува ризикот, рециклирачот кој ги сортира хемикалиите и надлежниот орган кој подготвува досие. Читатели чии одлуки зависат од пари или безбедност. И, според вообичаениот пристап, токму овие читатели не добиваат никаков сертификат за полињата врз основа на кои ги донесуваат своите одлуки. Веруваме дека сертификатот треба да значи истото за сите: секое прикажано поле потекнува од производителот и не е менувано оттогаш. Печат што се однесува само на јавните полиња е само половина од печат.

Ќе кажеме јасно: ништо од ова не е задолжително. EN 18239 бара контрола на пристапот, а филтерот на серверот го прави тоа совршено. Ние правиме дополнителен напор за да ги направиме објавените полиња проверливи, бидејќи целата поента на потпишаниот пасош е никој да не мора да ѝ верува на платформата. Исклучувањето на средниот слој го враќа токму она доверба што потписот требаше да ја елиминира.

Истиот принцип овозможува поле да се изостави

Поединечното наведување на секое поле носи со себе втора карактеристика, а тоа всушност е и задолжително според европското законодавство. Општата уредба за заштита на податоците им дава на луѓето право на бришење на нивните лични податоци. Евиденција на податоци потпишана како еден блок не може да го исполни ова без да го уништи сопствениот потпис.

Бидејќи секоја поле овде е самостојна, може да се отстрани една поле додека сè друго останува валидно. Ако лични податоци случајно завршат во пасош, тие можат да се отстранат без проблеми, а пасошот останува валиден: нема потреба да се издава нов и не се нарушува неговата историја. Полињата што законот налага да се зачуваат остануваат на место; сè што може да се избрише може да се избрише на барање, дури и по многу години.

Зошто ова е тешко и како го решивме проблемот

Ниене го измисливме процесот; тоа е јавен W3C стандард. Не е тешко да се смисли идејата. Тешкотијата лежи во тоа да се изгради на таков начин што пасошот сè уште ќе биде валиден за десет години. Стандардниот потпис се пресметува врз основа на бајтовите на документот. Потписот по поле се пресметува врз основа на неговите поединечни детали, а за да се постигне ова, пасошот се конвертира во фиксен формат пред потпишувањето, во кој секој детаљ се појавува како посебна реченица. Овој формат мора да се репродуцира карактер по карактер по истекот на десет години; во спротивно, ниеден печат нема да се совпадне. Три наизглед незначајни фактори стојат на патот на ова, и ние ги решивме сите три во коренот.

Броевите го губат својот тип на податоци. Вредност како 2.0 се враќа како 2 по поминувањето низ стандарден формат на податоци. За човекот, ова е исто; за фиксната нотација, тоа е различна вредност. Во нашиот систем, секоја вредност се зачувува со својот тип на податоци, а процесот на објавување се прекинува штом се појави и само еден број без тип на податоци.

Ознаките сè уште не претставуваат значење. Секој назив на поле мора да се поврзе со единствено значење во речник; во спротивно, полето тивко исчезнува за време на конверзијата и печатот не го покрива. Кај нас, секој речник се чува локално и никогаш не се презема преку мрежата; име на непознато поле го прекинува процесот на потпишување, наместо молчеливо да врати празен резултат.

Записите бараат фиксни имиња. Секој запис во документот има фиксен идентификатор во нашиот систем, така што нотацијата останува иста при секое извршување, наместо да се доделуваат нови помошни имиња секој пат.

Најтешкиот дел лежи во сопствениот клуч на производителот. За секое издание е потребен дополнителен, краткотраен клуч, со кој поединечно се потпишуваат полињата што можат да се откријат. Производителот самиот го генерира и го отфрла овој клуч. Ако го поседувавме, би можеле ретроактивно да измислуваме поединечни полиња. Секој пасош има две такви печати: еден од производителот и еден од Transpareo, дури и за едно поле што се открива.

За нас, овој напор навистина се исплати. Секој пасош се потпишува при објавувањето и е поврзан со претходната верзија, а непроменливата десетгодишна архива стапува на сила штом пасошите ќе се регистрираат во регистарот DPP на ЕУ. Потпишувањето на секое поле наместо на целиот блок е продолжување на овој клучен принцип, а не додаток.

Нашиот став

Ниесе одлучивме за доказ, за секој читател, бидејќи печатот треба да значи една работа, без разлика кој го гледа. За оние кои сакаат да го видат во акција: двата примерока на пасоши наведени погоре може да се проверат директно во прелистувачот, без да се прашува сервер.

Прашања за оваа објава

Дали стандардот го специфицира потписот поле по поле?

Не. EN 18239, европскиот стандард за права на пристап во DPP, бара пристапот да се контролира поле по поле, а филтерот на серверот целосно го исполнува ова барање. Дали откриените полиња може да се проверат и надвор од ова е наша одлука и не е обврска што некој регулатор бара да ја исполниме. Сметаме дека овој напор е оправдан, бидејќи целата поента на потпишаната дозвола е никој да не мора да ѝ верува на платформата. Статусот на овие стандарди е наведен во нашата статија за усогласени стандарди.

Ние објавуваме само јавни податоци. Дали треба да го правиме тоа?

Веројатно не, и ние сме доста отворени во врска со тоа. Потписот што го покрива целиот документ опфаќа пасош, сите негови полиња се јавни, и е значително поевтино да се постави и да се користи. Авторизацијата поле по поле станува исплатлива штом ќе се вклучи втора целна група, како што е мрежа за поправки, рециклирач или јавен орган на кој инаку би му доставувале извадоци без печат. Двата метода се отворени W3C стандарди (ecdsa-sd-2023 за потписот по поле); секој алат што го поддржува стандардот може да ги верификува, и двата моментално се извршуваат во Transpareo Time Machine, на “пасошот” на маица и на “пасошот” на батерија.

Можат ли личните податоци да се избришат подоцна без да се поништи пасошот?

Да, и овој аспект всушност е задолжителен според европското законодавство. Општата уредба за заштита на податоците им дава на луѓето право да ги избришат своите лични податоци, а записот на податоци означен како блокиран не може да го исполни тоа без да го уништи сопствениот потпис. Бидејќи секоја поле овде е дефинирано одделно, може да се отстрани само едно поле додека сè друго останува валидно, без потреба од повторно издавање на записот и без нарушување на историјата на верзии. Полеата што законот бара да се задржат остануваат на место.

Кој го држи клучот за потпис?

Секој пропусница има две печати, и една од нив може да биде ваша. Секоја изданија исто така бара краткорочен клуч кој поединечно ги потпишува полињата што треба да се откријат; производителот самиот го генерира и го отфрла овој клуч, бидејќи ако го чувавме, би можеле ретроактивно да измислуваме поединечни полиња. Ние ја проверуваме вратената печатка со зачуваниот јавен клуч пред да ѝ веруваме. Така, секој пасош носи две печати од две независни тела, и за поединечно откриено поле и за целиот сет на податоци.

Дали пасошот ќе биде сè уште валиден за десет години?

Токму таму лежи напорот. Подножјето по поле се пресметува врз основа на поединечните детали на документот, а не на неговите бајтови; затоа истиот фиксен формат мора да се репродуцира букво по букво по една деценија. Три работи го нарушуваат овој процес, и ние ги спречивме сите три во зародиш. Секоја вредност се зачувува со својот тип; секој речник е хостиран на нашите сервери и никогаш не се презема преку интернет; и секој запис има фиксен идентификатор. Непроменливата десетгодишна архива сега е воспоставена и ќе стапи во сила веднаш штом пасошите ќе бидат регистрирани во регистарот на ЕУ. Прочитајте повеќе за ова во нашата анализа на Регулативата за регистарот.

Ажурирања за нивоата на пристап и доказите

Селективно откривање, потписи и развојот на стандардите на DPP - месечен преглед испратен директно во вашето сандаче за дојдовни пораки.