{"id":4269,"date":"2021-03-18T17:35:03","date_gmt":"2021-03-18T16:35:03","guid":{"rendered":"https:\/\/oelna.de\/blog\/?p=4269"},"modified":"2022-06-26T15:56:15","modified_gmt":"2022-06-26T13:56:15","slug":"test","status":"publish","type":"post","link":"https:\/\/oelna.de\/blog\/4269","title":{"rendered":"Digitaler Corona-Impfnachweis \u2013 was ist so schwer?"},"content":{"rendered":"\n<p>Ich gebe zu, ich habe mir erst seit ein paar Stunden Gedanken dar\u00fcber gemacht, aber als ich gelesen habe, wer gerade alles an der <a href=\"https:\/\/www.bundesgesundheitsministerium.de\/coronavirus\/faq-covid-19-impfung\/faq-digitaler-impfnachweis.html\" data-external=\"true\">Technik zum digitalen Impfnachweis der Bundesregierung<\/a> arbeitet, musste ich mir schon etwas an den Kopf greifen.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Das Bundesministerium f\u00fcr Gesundheit hat IBM, Ubirch, govdigital und Bechtle mit der Entwicklung einer Impfpass-App beauftragt.<\/p><\/blockquote>\n\n\n\n<p>Vor kurzem stand da noch mehr und genaueres, \u00fcber wie viele Leute da beteiligt sind, aber mal ganz ehrlich: h\u00e4tte da nicht auch ein Team von einer Hand voll Leute gereicht? Ist das nicht schon wieder <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_by_committee\" data-external=\"true\">Design by committee<\/a>? Was ist denn \u00fcberhaupt der Job?<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Der digitale Impfnachweis wird in der Arztpraxis oder in einem Impfzentrum generiert. Nach Eingabe oder \u00dcbernahme der Daten wird ein 2D-Barcode erstellt, den die Nutzer direkt abscannen k\u00f6nnen oder auf einem Papierausdruck mitbekommen und sp\u00e4ter einscannen k\u00f6nnen.<\/p><\/blockquote>\n\n\n\n<p>Man muss also:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>einen f\u00e4lschungssicheren QR-Code machen, im dem steht, dass jemand geimpft wurde<\/li><li>viele \u00c4rzte und Impfzentren in ganz Deutschland m\u00fcssen ihn ausstellen k\u00f6nnen<\/li><li>Personen und Unternehmen sollen ihn einfach verifizieren k\u00f6nnen<\/li><\/ul>\n\n\n\n<p>Ich denk, das ist es doch schon. Ich bin wirklich kein Profi, was Crypto-Sachen angeht, aber interessiere mich schon lang daf\u00fcr. Nach kurzer Recherche stellt sich heraus, dass es mit quasi fertigen, anerkannten Mitteln, zB. <a href=\"https:\/\/en.wikipedia.org\/wiki\/BLS_digital_signature\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/BLS_digital_signature\">BLS<\/a>, recht einfach ist, eine kurze Signatur f\u00fcr einen Text zu erzeugen (oder mit Klassikern wie <a href=\"https:\/\/en.wikipedia.org\/wiki\/Pretty_Good_Privacy\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Pretty_Good_Privacy\">PGP<\/a> eine lange Signatur?). Ist man dann nicht schon fertig, wenn man die ben\u00f6tigten Daten und die Signatur in einen Barcode packt? Ich hab das mal in einer Grafik zusammengebastelt, wie ich mir den Ablauf vorstelle.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large content_image retina size-full\"><img decoding=\"async\" src=\"\/blog\/wp-photos\/2021-05-18\/corona-impf-qr-code.png\" alt=\"Konzept f\u00fcr den QR-Code Corona-Impfnachweis der Bundesregierung in Deutschland\"\/><\/figure>\n\n\n\n<p>Sicher, ganz so einfach ist es wahrscheinlich nicht, aber ich bin ja auch kein mehrk\u00f6pfiges Team. Wenn man noch einrechnet, dass man eine kleine API zur Abfrage der Public Keys der \u00c4rzte ganz Deutschlands braucht und vielleicht noch ein browserbasiertes Frontend basteln muss, das die \u00c4rzte bedienen k\u00f6nnen, braucht man sicher eine Woche, bis es rund l\u00e4uft. Ich bin kurz davor, das als Proof-of-concept schnell selber zu machen. Klingt doch spannend.<\/p>\n\n\n\n<p>Wenn jemand wirklich was vom Thema versteht, freue ich mich \u00fcber Kommentare. Ansonsten lehne ich mich jetzt zur\u00fcck und beobachte, wie sich das Thema weiter entwickelt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Update<\/h3>\n\n\n\n<p>Nat\u00fcrlich konnte ich es nicht sein lassen: <a href=\"https:\/\/oelna.github.io\/signed-qr-codes\/\" data-type=\"URL\" data-id=\"https:\/\/oelna.github.io\/signed-qr-codes\/\">Demo des Projekts<\/a> auf GitHub (<a href=\"https:\/\/github.com\/oelna\/signed-qr-codes\" data-type=\"URL\" data-id=\"https:\/\/github.com\/oelna\/signed-qr-codes\">Source<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Anmerkungen<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Der im Beispiel erzeugte QR-Code ist zwar gro\u00df, aber noch im Bereich des Akzeptablen IMO. Denke es klappt auch noch mit l\u00e4ngeren Namen.<\/li><li>Die \u00c4rzte-ID hab ich mir frei ausgedacht. Wie viele <a href=\"https:\/\/www.destatis.de\/DE\/Themen\/Gesellschaft-Umwelt\/Gesundheit\/Krankenhaeuser\/Tabellen\/personal-krankenhaeuser-bl.html\" data-type=\"URL\" data-id=\"https:\/\/www.destatis.de\/DE\/Themen\/Gesellschaft-Umwelt\/Gesundheit\/Krankenhaeuser\/Tabellen\/personal-krankenhaeuser-bl.html\">\u00c4rzte wird es pro Bundesland<\/a> geben? So maximal 400.000? Wenn man die ID als <a href=\"https:\/\/en.wikipedia.org\/wiki\/Base36\" data-type=\"URL\" data-id=\"https:\/\/en.wikipedia.org\/wiki\/Base36\">Base-36<\/a> speichert, klappt das mit einer vierstelligen Kennung.<\/li><li>Die Private Key Version hab ich mal vorgesehen, falls einer der \u00c4rzte gehackt, oder seinen Key verliert und man einen neuen Key generieren muss. Macht Sinn, denke ich.<\/li><li>Evtl ist es noch sch\u00f6n, irgendein Datum noch mitzuspeichern. Erstelldatum, Impfdatum, oder sowas. Dann hat mans sp\u00e4ter leichter, mit welche Key-Version man verwendet, falls ein Arzt mehrere hat.<\/li><li>Der Impfstatus ist in meinem Beispiel aktuell nur eine Zahl, f\u00fcr 1 oder 2 Mal geimpft. Das k\u00f6nnte auch ein Status-Code sein, f\u00fcr welchen Impfstoff man bekommen hat. Oder man speichert noch die Nummer vom Impfstoff-Fl\u00e4schchen mit ab, wie in den USA.<\/li><li>Den <a href=\"https:\/\/www.pharmazeutische-zeitung.de\/apotheken-sollen-drei-verschiedene-covid-19-zertifikate-ausstellen-125743\/\" data-type=\"URL\" data-id=\"https:\/\/www.pharmazeutische-zeitung.de\/apotheken-sollen-drei-verschiedene-covid-19-zertifikate-ausstellen-125743\/\">Beitrag der Pharmazeutischen Zeitung zum Thema<\/a> fand ich noch ganz interessant. Auch wenn der Barcode im Beispiel (leider?) nur zu einem Youtube-Video \u00fcber den J\u00e4gerhof in Mutterstadt f\u00fchrt.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Ich gebe zu, ich habe mir erst seit ein paar Stunden Gedanken dar\u00fcber gemacht, aber als ich gelesen habe, wer gerade alles an der Technik zum digitalen Impfnachweis der Bundesregierung arbeitet, musste ich mir schon etwas an den Kopf greifen. Das Bundesministerium f\u00fcr Gesundheit hat IBM, Ubirch, govdigital und Bechtle mit der Entwicklung einer Impfpass-App [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[2,1],"tags":[835,837,838,836],"class_list":["post-4269","post","type-post","status-publish","format-standard","hentry","category-deutsch","category-general","tag-corona","tag-crypto","tag-programming","tag-qrcode"],"_links":{"self":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4269","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/comments?post=4269"}],"version-history":[{"count":14,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4269\/revisions"}],"predecessor-version":[{"id":4338,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/posts\/4269\/revisions\/4338"}],"wp:attachment":[{"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/media?parent=4269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/categories?post=4269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oelna.de\/blog\/wp-json\/wp\/v2\/tags?post=4269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}