Zelený certifikát (Digital Green Certificate)

Snazim sa testovat tento dokument… Primarne stranu 14 o tom ako si niekto vymyslel generovanie toho QR kodu.

Nieco sa mi na tom vazne nezda.

  1. Definovanie json schemy pre vymenu zdravotnickych dat je super… Vytvara sa pri tom json podobny tomuto:
{ 
    "resourceType":"Person",
    "id": "scholtz",
    "identifier": [
        {
        "use": "official",
        "type": {
            "coding": [
            {
                "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                "code": "BR"
            }
            ]
        },
        "system": "urn:oid:1.2.36.146.595.217.0.1",
        "value": "0101010008"
        }
    ],
    "name": [
        {
        "use": "official",
        "family": "Scholtz",
        "given": [
            "Ludovit"
        ]
        }
    ],
    "telecom": [
        {
        "use": "home"
        },
        {
        "system": "phone",
        "value": "+421907000000",
        "use": "home"
        },
        {
        "system": "email",
        "value": "ludovit.scholtz@example.com",
        "use": "home"
        }
    ],
    "gender": "male",
    "birthDate": "2001-01-01",
    "address": [
        {
        "use": "home",
        "line": [
            "Prazska 1"
        ],
        "city": "Rimavská Sobota",
        "country": "Slovakia",
        "postalCode": "97901"
        }
    ],
    "active": true
}

JSON Schema ma peknych 3MB a vyzera ze pokryva velku cast medicinskych udajov… Ale kedze je taka velka zatial sa mi nepodarilo najst vzor co vlastne pri vykone ag testu mame vytvarat… Nema niekto nejaky tip?

  1. Dalsi krok je skonvertovanie json do CBOR. Toto je vpohde.

  2. Dalsi krok je podpisanie CBOR cez COSE-JS… Tu som zatial narazil na velky odpor… Neexistuju ziadne kniznice ktore by to robili… V npm je jedina (s chybnymi nalinkovanymi kniznicami), v nuget nie je ziadna.

  3. Ked sa aj dostaneme cez tento krok, tak sa trochu obavam ze aj po kompresii tej binarnej reprezentacie sa dostaneme cez limit co vie zhltnut QR kod. Tu sifrujeme zopar udajov (npr rodne cislo, pre offline registraciu) a robi to velmi velke QR kody, a keby sme tam zahrnuli vsetky data co tam chcu mat tak sa dostaneme na technicky limit QR kodov a velkost toho QR kodu bude cez celu stranku…

Alebo niekde robim nejaku chybu?

Túto iniciatívu vítam, ešte viac by potešila pred pár mesiacmi. Mám k nej pár komentárov:

Riešenie na implementáciu EÚ zeleného covid pasu má štát na stole už od začiatku februára 2021. Podnet vyšiel z Úradu verejného zdravotníctva. A klobúk dole, pretože už v tom čase návrh požadovaného riešenia obsahoval to, čo sa bude požadovať od európskych zelených covid pasov (prehľad o očkovaní, testoch, prekonaní covidu atď.).

Firmy spolupracujúce s ÚVZ prišli obratom s návrhom implementačného projektu. Ten sme za IT Asociáciu Slovenska predstavili v tlačovej správe Riešenie, ktoré pomôže s otváraním ekonomiky a škôl - ITAS a na prelome januára a februára v mene Republikovej únie zamestnávateľov aj na ekonomickom krízovom štábe vlády. O čo ide je stručne popísané TU Stručný popis Be Free Pass.pdf (250.6 KB)

Nadšené prijatie zamestnávateľmi spôsobilo, že do hry vstúpilo Ministerstvo financií SR, ktoré na projekt prisľúbilo alokovať peniaze. Za tom im tiež patrí vďaka. Na ťahu sa ocitlo Ministerstvo zdravotníctva SR, ktoré celý projekt zaradilo medzi veci, ktorými sa nebude zaoberať. Odvtedy sa nedialo nič, až teraz sme zachytili túto iniciatívu @NCZI .

Začiatkom februára sme avizovali, že nasadenie riešenia by trvalo tri až štyri týždne. Tá doba medzitým ubehla dvakrát. Možno sme už mohli mať otvorené reštaurácie.

Chápem a podporujem iniciatívu NCZI. Len mám obavu, ako je mienená a kam dospeje. Na základe svojich skúseností predpokladám takýto scenár:

1. Štátne inštitúcie sa nejaký čas budú sporiť, kto bude mať projekt v zodpovednosti.
2. Keď sa inštitúcie dohodnú, ktorá z nich bude projekt realizovať, tá sa rozhodne pre vlastný vývoj.
3. Pripraví sa zadanie a to tak, aby sa líšilo od toho, čo už existuje na trhu.
4. Blížiaca sa letná sezóna prinesie volanie po uvoľňovaní opatrení zo strany zatvorených podnikov a aj od ľudí, ktorí sa nechali zaočkovať, aby sa mohli vrátiť k normálnemu životu.
5. Toto spôsobí tlak na štát a časový stres pre vývojárov.
6. V istej fáza sa riešiteľská inštitúcia rozhodne prepoužiť riešenia dostupné vo firmách.
7. Vznikne zlepené riešenie, ktoré sa bude ladiť za mediálnej pozornosti.

Bolo by fajn, keby sme sa dokázali takémuto scenáru vyhnúť. Možno by mohlo pomôcť aj Slovensko.Digital, ak by pripravilo verejnú diskusiu pre firmy či startupy, na ktorej by dostali príležitosť predstaviť svoje riešenia. Takýchto firiem je viac. Môže to pomôcť nielen tomu, aby sa štátne inštitúcie zorientovali, ale aj nastaviť očakávania verejnosti. Občania majú právo žiadať, aby štát v ich prospech využil dáta, ktoré o nich a od nich zbiera. Radi sa diskusie zapojíme.

Koho záujmy vy presadzujete?

Ja som toto ponúkal urobiť do NCZI s tým že im to urobím za 3 pracovné dni.

Dovolím si Vám navrhnúť zopár zmien:

  1. Stiahne si z Google Play alebo z App Store - Týmto blokujete vývoj. Prečo to nemôže byť webstránka, pwa alebo podobne? Prečo to musí byť celé pozdržané schvaľovacím procesom google play a app store. Prečo sa to musí urobiť ako natívna aplikácia aj pre android aj pre apple?? Však to celú vec radikálne predraží a nie je to defacto potrebné…

  2. Aplikácie budú dve – jedna pre prevádzkovateľa a jedna pre zákazníka
    Prečo nemôže byť jedna… My máme riešené v rychlejsie.sk všetko v jednej aplikácii… Je samozrejme rozdelená na FE a BE časť, ale defacto prečo by sme mali rozdeliť aplikáciu na 2 samostatné?

2 Likes

Prave diskutujete na fore kde SD v spolupraci s NCZI presne toto spravilo. V klude tu firmy mozu predstavit svoje riesenia.

1 Like

Swedish implementation - source code
European eHealth network - digital green development coordination

1 Like

Na toto este nemozu realne existovat riesenia.

Hlavny problem je zdroj dat… Ten ma NCZI a bez toho aby sa podelili s tym ako su schopny exportovat zoznam vsetkych vakcinovanych/testovanych a pod je vsetko iba v hypotetickej rovine.

Ja si to viem predstavit tak ze ak by vedeli naliat jednorazovo vsetky data do noveho systemu exportom npr cez csv, a potom posielat vsetky updaty do amqp fronty (sqs, servicebus, rabbitmq…) tak by aplikacia mohla priamo s tymito datami pracovat. Dalsie data mame my, tak tam by som si tie data nalial… A ti co sa nechcu pripojit ani do nczi ani pouzitat system 4x efektivnejsi ako satnove listky maju smolu a nebudu sucastou tohto.

Samozrejme vsetko vo vladnom cloude na hw nczi…

Prvy krok musi vsak urobit NCZI a bez toho aby si povedali ze to chcu na to asi nikto stracat cas nebude…

1 Like

To je drsne ze niekto vymyslel ze sa bude pouzivat ten nestandardizovany cose a vseti si to sami musia programovat… to je asi trochu v rozpore s tym principom

ten princip by mal byt asi o tom ze sa to ma dat lahko naprogramovat a pouzivat pouzivane standardy… nie?

je to RFC 8152 - CBOR Object Signing and Encryption (COSE) RFC 8152 z Jula 2017, WTF ? co je na tom nestandardizovane ?

Podla casu kedy bol vydany nejaky standard hadam nrozhodujes o tom ako je pouzivany…

ak pre .net neexistuje ani jedna kniznica ktora by to implementovala a

a pre npm existuje jedina ktora ma problemy

to rozhodne nevolam standard ktory by bol adaptovany

A podla toho ci existuje kniznica pre .NET snad ano ? :slight_smile:
BTW tych implementacii je celkom dost CBOR - Wikipedia

jasne, ak si zvolia zasifrovat nieco standardnymi elpytickimi krivkami alebo rsa, tak to povazujem za standard… Ak si niekto zmysli pouzivat nieco co nikto nepouziva to nepovazujem za spravne…

Ty ano?

Chces aby sme si vsetci implementovali sami vsetky sposoby sifrovania?

Pozor, ja sa nebavim o CBOR ale o COSE… CBOR je sposob ako sa urobi binarny subor z jsonu, ale potom to sifrovanie ma ist cez to COSE podla toho dokumentu…

Zrejme to nie je podstatna vec, ked to pri tvorbe standardu nezohladnili.
Takze neviem naco toto dalej rozvadzat a diskutovat ? Ked tak im napis, nech to zmenia, lebo ty nemas na to .NET kniznicu.

… aj toto by mohol byt nejaky indikator…

Blockquote
There is currently no standard CBOR grammar available for use by
specifications. The CBOR structures are therefore described in
prose.

Fakt je, ze mohli pouzit nejaky zivy format. Na druhu stranu ako presadis neznamy standard. Toto je idealne, budu to pouzivat vsetci… =)

1 Like
  1. Zacal by som tym ze mate zbytocne najvyssiu QR error code correction na urovni H, to sa pouziva v primysle kde pri vyrobe je predpoklad ze qr kod sa zaspini (ak by ste pouzili L razom sa moze zmensit qr code)
  2. pouzivate zbytocne velke QR cody neviem teda ake su biznis obmedzenia na datove typy ale napr ak som si to vyskusal a bolo vo vasom QR code 362 alphanumerickych znakov tak ste zbytocne pouzivali verziu 21

jasne… zivy format co sa za 4 roky neusadil… super napad to dotlacit cez implementaciu zelenych certifikatov

Velmi mi tam este chyba timestampovanie… Ak to dobre chapem tak ten CASE je iba nejaka implementacia elyptickych kriviek alebo ako ulozit do toho CBOR formatu tie data podpisu z elypt kriviek…

A ak som to teda dobre pochopil, tak niekto nam vyda certifikat na podpisovanie… Co sa stane ak nam niekto ukradne privatny kluc?

Nezaregistroval som este ze by niekto riesil velkost tych QR kodov… ak by tam boli vsetky info o testovani, o osobe, podpis, cert podpisu a casova peciatka tak sa mi to javi ze sa dostaneme nad limit znakov QR kodu … zlib nad binarnymi datami toho vela neurobi…

2953 bytov ? hadam nie… :slight_smile:
verziu ktoru teraz pouzivate vy pre nzasifrovane data mat limit 929 bytov pre L ecc a 403 pre H ecc

mysleli sta hadam navrh riesenia nie hotove riesenie

btw v tomto dokumente co ste popisali tu by som nenazval ani navrhom riesenia lebo vsetky tie procesne veci o ktorych tu vsetci v tomto vlakne pisu, tak tento dokument uspesne od nich abstrahuje… ten kto predlozil tento navrh pravdepodobne nema ani paru o tom ako zabezpecit cely proces a jedine co z toho vyplyva je ze vie ako sa scanuju QR cody.

Tato cast napriklad podla mna overuje len to, ci nejaky QR kod, ktory sa tam zobrazil dodrziava alebo nedodrziava pravidla. Absolutne prevadzkovatel netusi, ci to nie je mobil inej osoby, podhodeny proxy QR kod, atd. Toto su presne veci co sme tu uz riesili a nedosla na ne odpoved.

1 Like

Na co? Bojime sa, ze schvalena autorita bude antidatovat potvrdenia? Ci riesis len case, ze leakne privatny kluc?

Veď toto je poriešené, čo sa deje keď stratí privát hocikto, napríklad country CA pri elektronických pasoch, no revokuje sa a potom pri overovaní sa to zistí cez CRL/OCSP apod. Netreba riešiť problémy ktoré sú vyriešené v PKI systémoch už, to sa všetko dá prehodiť.

1 Like