Koronavirus | Očkování

V evropském očkovacím QR kódu, který budete ukazovat na dovolené, se skrývá zakódovaný text. Takhle ho přečtete

Na webu ocko.uzis.cz už běží funkční Očkovací portál občana. Zájemci si zde mohou vygenerovat mezinárodní očkovací certifikát, který bude platný v EU. Ministerstvo zdravotnictví zároveň odesílá očkovaným ještě druhý očkovací certifikát na e-mail ve formě šifrované přílohy ZIP, přičemž heslo dorazí v SMS.

V obou certifikátech je QR kód a v tom českém i čárový. Zatímco QR kód v českém očkovacím certifikátu obsahuje standardní webovou adresu, která vede bez potřeby autentizace přímo na vaši webovou kartu očkovaného se všemi myslitelnými detaily, jednodušší evropský certifikát obsahuje hutně zakódovaný text.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Český certifikát, který ministerstvo zdravotnictví rozesílá v zašifrované poštovní příloze, a ten evropský, který stáhnete z webu ocko.uzis.cz

Je tedy zjevné, že k jeho přečtení se bude používat dedikovaná aplikace nebo čtečka – třeba kdesi na letní dovolené, když vás na hranicích nebo až na místě bude kontrolovat hlídka.

Klepněte pro větší obrázek
Obsah evropského QR kódu představuje změť alfanumerických znaků uvozených identifikátorem HC1 (Health Certificate Version 1)

Jak rozluštit obsah QR v Pythonu

Geekové si nicméně mohou QR rozluštit i svépomocí. Jedná se totiž zakódovaná binární data metodou Base45, dále algoritmem Zlib a nakonec je vše ještě serializované technikou CBOR. Pokud se všemi těmito vrstvami prokoušete, získáte už dobře čitelnou strukturu ve formátu JSON.

Pokud se nebojíte Pythonu, spusťte v něm tento maximálně zjednodušený kód:

import zlib, base45, cbor, pprint
print("Zkopíruj obsah QR kódu: ", end="")
pprint.pprint(cbor.loads(cbor.loads(zlib.decompress(base45.b45decode(input()[4:]))).value[2]))

Pozor, je třeba doinstalovat všechny potřebné balíčky. Především exotičtější base45 a cbor:

pip3 install base45 cbor

Nebo

pip install base45 cbor

Podle konfigurace vašeho systému a Pythonu.

Po spuštění vás stručný skript požádá, abyste do vstupu zkopírovali surový obsah z QR kódu, který jste přečetli v libovolné čtečce. Z těch webových třeba v Zxing.org.

Klepněte pro větší obrázek
Spuštění kódu výše v Pythonu3

JSON struktura obsahuje položky, které najdete i na evropském certifikátu. Z těch snadno identifikovatelných:

  • dob: datum narození
  • fn: příjmení s diakritikou
  • fnt: příjmení bez diakritiky
  • gn: jméno s diakritikou
  • gnt: jméno bez diakritiky
  • ci: identifikátor
  • co: zkratka země (CZ)
  • dn:  pořadové číslo dávky
  • dt: datum očkování
  • is: vydavatel (ministerstvo zdravotnictví)
  • mp: evropská registrace očkovací látky:
    • EU/1/20/1528 = Comirnaty
    • EU/1/20/1507 = Moderna
    • EU/1/21/1529 = AstraZeneca
    • EU/1/20/1525 = Janssen
  • sd: počet dávek
  • tg: kód nemoci/agensu (840539006)
  • vp: kód vakcíny (Comirnaty má 1119349007)

Na konci struktury je ještě časový údaj roční platnosti a vygenerování QR kódu ve formátu Unix timestamp, tedy jako počet sekund od unixové epochy. Jsou to ta dvě čísla začínající 16:

 1: 'CZ',
 4: 1654032850,
 6: 1622496850}

Pro ověření je můžete zkopírovat třeba do formuláře na webu unixtimestamp.com a převést na srozumitelné datum a čas. 

O dalších technických detailech se na Twitteru a v češtině rozepsal třeba Radek Zajíc:

Diskuze (90) Další článek: Proč proboha někdo používá Průzkumník? Jak může někdo používat Total Commander? Ještě jedna anketa…

Témata článku: Koronavirus, Programování, Twitter, Očkování, COVID-19, Python, Evropská unie, Kód, SMS, Moderna, AstraZeneca, Certifikát, Value, Diakritika, QR kód, Kter, Dovolená, Comirnaty, Geeková, Eno, Janssen, Bash, Obsah, JSON, BMS



Sex manželských párů? Jen výjimečně. Ložnice ovládnou roboti s umělou inteligencí

Sex manželských párů? Jen výjimečně. Ložnice ovládnou roboti s umělou inteligencí

** Sex manželských párů jen při zvláštních příležitostech. ** Ložnice ovládnou sexuální roboti s umělou inteligencí. ** I to je jeden ze závěrů Mezinárodní robotické konference.

Filip KůželJiří Liebreich
RobotiSexUmělá inteligence
Jak poznat, že máte možná hacknutý telefon? Toto je devět symptomů, které můžete pozorovat

Jak poznat, že máte možná hacknutý telefon? Toto je devět symptomů, které můžete pozorovat

** Jak poznat, že je váš smartphone hacknutý? ** Hledejte známky po nestandardním chování telefonu ** Stačí když telefon vydrží méně nebo topí i v klidovém režimu...

Martin Chroust
Jak...Malware
5G modemy od Applu v ohrožení. Firma narazila na nečekaný problém

5G modemy od Applu v ohrožení. Firma narazila na nečekaný problém

** Apple s 5G modemy narazil na problém. ** Překvapivě není technický, ale právní ** Další vývoj totiž blokují patenty Qualcommu

Martin Miksa
5GModem
Doba pokročila. Češi dostali aplikaci, se kterou mohou partnerovi odsouhlasit sexuální styk

Doba pokročila. Češi dostali aplikaci, se kterou mohou partnerovi odsouhlasit sexuální styk

** Mobilní aplikace XPass chce zatočit se sexuálním násilím ** Uživatelům umožní udělit souhlas k pohlavnímu styku QR kódem ** Kromě toho chce také chránit a edukovat

Martin Miksa
SexMobilní aplikace
Genshin Impact čeká velké rozšíření. Předělá celé souostroví a přidá novou hratelnou postavu

Genshin Impact čeká velké rozšíření. Předělá celé souostroví a přidá novou hratelnou postavu

Oblíbené free-to-play RPG v červenci opět rozšíří svůj fantasy svět.

Martin Nahodil
Genshin ImpactOznámení
Recenze mobilu Honor Magic4 Pro. Restart populární značky se vydařil

Recenze mobilu Honor Magic4 Pro. Restart populární značky se vydařil

** Honor konkuruje i ve třídě vlajkových lodí ** Telefon nemá vyložené slabiny ** Zaujme třeba výborný teleobjektiv

Jan Pánek
Vlajková loďRecenze
Sociální síť BeReal jde proti proudu. Žádné filtry a přetvařování, tohle má být čistá realita

Sociální síť BeReal jde proti proudu. Žádné filtry a přetvařování, tohle má být čistá realita

** BeReal je novou hvězdou mezi sociálními sítěmi ** Ukazuje pouze všední realitu běžných dní ** Aplikace vám jednou denně dá dvě minuty na poslání vlastní fotky

Martin Chroust
BeRealMobilní aplikaceSociální sítě