Was ist der Zweck eines "digitalen Ausweisdokumentes"?
Also eines Personalausweises, Führerschein oder sonst etwas in der Art?

Also, was ist die User Story hier?
"Als Inhaber eins NPA will ich ... um ..."
Es ist keine Kontrollsituation in der freien Wildbahn.

"Als Inhaber eines NPA will ich mein entsperrtes Handy mit dem NPA einem Beamten zur Kontrolle übergeben."

Das ist nicht das zu lösende Problem.
Dafür haben wir andere Instanzen des Ausweises, die nur diese eine Funktion haben und daher kein Vertrauen von der Seite des Ausweisinhabers erfordern.

Als Bürger kann man so sicher sein, wenigstens nicht diese Art von Einzelfall zu werden.
"Als Inhaber eines digitalen Ausweises will ich in der Lage sein, die durch den Ausweis bescheinigten Fakten online in einem digitalen Prozeß zu beweisen."
Das fängt alles immer mit einer Identität an.

Die behaupteten Fakten in einem digitalen Prozeß sind ja in der Regel an meine Person gebunden und daher ist die erste Frage immer nach der Identität.
Man kann weiter gehende Fragen zur Identität stellen, also

1. ob das von mir im digitalen Prozeß verwendete Gerät integer ist und
2. die von mir verwendeten Endpunkte auf dem Gerät authentisch sind.
Die Frage 1 zu klären ist ziemlich invasiv, wenn man sich nicht auf eine Herstellerfunktion verlassen will.

Bei Desktop Computern kommt diese Frage desöfteren im Kontext von kompetetiven Onlinespielen auf, und die "Lösung" ist in der Regel die Installation einer Spyware.
Also eines "Gerätetreibers" des Spielherstellers, der mit so viel Privilegien läuft, daß er auf dem System quasi freie Bahn hat und, falls er einen Fehler hat, die Installation komplett kompromittiert.

Das ist schon haftungsrechtlich kein Ort, an dem man sein will.
Auf dem Telefon gibt es dazu andere Werkzeuge, zum Beispiel developer.android.com/training/safet…

Onlinespiele und Sparkassen-Apps verwenden das, um 1 und 2 "sicher" zu stellen.

Die Anwendung läuft dann nicht mehr auf modifizierten Telefonen (oder das modifizierte Telefon lügt sehr gut).
Für digitale Prozesse kann man die so bewiesene Identität an verschiedene Anker hängen.

"Login in with <hersteller>" ist ein solcher Anker.

Die Identität ist dann der Accountname @<hersteller>.com, und meist durch ein Zahlungsmittel in der realen Welt verankert.
Für viele Dinge genügt das, und wir haben quasi unseren ganzen e-Commerce darauf gebaut.

Eine Identität in einem Webshop ist am Ende ein Zahlungsmittel. Ja, Kapitalismus geht genau so.
Für andere Dinge, die mit stärker zu schützenden personenbezogenen Daten hantieren, reicht das nicht.

Hier braucht es einen staatlich gebackten Identitätsanker.
"Yay! Blockchain!" *Slap*

Wenn etwas mit personenbezogenen Daten zu tun hat, ist jede Antwort, die Blockchain oder Ledger enthält automatisch falsch. Also so falsch, daß das Gegenteil auch nicht richtig ist - Thema verfehlt.
In den Niederlanden ist das DigiD, eine Art OAuth, so wie Google oder Apple Logins. Also "Login with Staat" statt "Login with <hersteller>"

In Deutschland ist das der nPA, aber weil man dem mehr Funktionen gegeben hat als "Online Einloggen", ist der sehr schwer zu verwenden.
Das fängt schon damit an, daß es ein Personalausweis ist, statt eine Login-Identität.

Personalausweise können nur Deutsche haben, sodaß man "Personalausweis oder Nicht-Personalausweis Äquivalent von Ausländern in Deutschland" implementieren muß.

bmi.bund.de/Webs/PA/DE/ver…
Der niederländische Ansatz ist

"Hier ist Dein Login, das beweist gar nix.

Und dann zeigst Du uns offline ein Ausweisdokument, das wir dann als Backing für die Identität im System hinterlegen".
Der niederländische Ansatz ist auch "Du loggst Dich ein und wir sagen der Anwendung, die frag, wie Du Dich eingeloggt hast - Username/Passwort, +SMS, oder +digitale Ausweiskarte".

Die Anwendung kann dann entscheiden, welches Sicherheitslevel sie braucht.
In jedem Fall - in DE und in NL - hat man dann eine "behauptete und bewiesene Identität" und könnte da Autorisierungen dran hängen.

"Als Kunde bei der Autovermietung will ich dem Vermieter online beweisen können, daß ich einen Führerschein B habe."
Man kann dann also /jemandem/, der meine Identität kennt, einen Führerschein zeigen und dann ist die Tatsache gespeichert, daß ich am /Datum/ noch einen Führerschein hatte.
Wenn man das durchdenkt, kommt man auf verschiedene Szenarien.

"Der hinterlegte Führerschein ist jeweils 14 Tage gültig." -- vermutlich illegal.
"Wir haben eine Viereckssanfrage, zwischen dem Enduser, dem Vermieter, dem staatlichen Logindienst und dem KBA, mit der wir live prüfen, ob der User bei der Schlüsselübergabe berechtigt ist, das Kfzzu fahren." -- vermutlich legal, aber ein Haufen Protokollsubtilitäten
"Wir schreiben alle Führerscheinerteilungen und Entziehungen in eine öffentliche Blockchain, so sie jeder nachlesen kann."
"Okay, wir hashen die digitalen Führerscheine, signieren den Hash und schreiben die signierten Hashes in eine Blockchain."

Wenn schon eine Signatur drauf ist, wieso dann die Blockchain?
Es gibt Vertrauen zwischen jeweils mindestens zwei Beteiligten und es gibt für die Identität und den Führerschein jeweils ein Zentralregister (eine authoritative Quelle).

Das ist also quasi Anti-Blockchain.
"Wofür war der Slap jetzt?"
"Entschuldige, Du hattest Blockchain gesagt, das ist so drin."
Ich kann mich also beim Vermieter anmelden, und ein Auto mieten. Dazu weise ich mich mit meiner DigiD aus.

Ich hole das Auto ab. Dazu weise ich mich noch einmal mit meiner DigiD aus: Ich scanne den QR-Code vom Automaten und tackere mein Paßwort oder den Fingerprint ein.
Die Vermietung bekommt meine Identität vom Logindienst bestätigt, und fragt das KBA in meinem Auftrag nach dem Führerschein.

Ich muß das auf meinem Telefon noch einmal bestätigen ("Ja, die dürfen das wissen.")

Der Automat wirft mir den Schlüssel in die Hand.
Auf diese Weise weiß der Vermieter nix von meinem Führerschein, außer, daß ich einen habe, und die Abfrage ist "live" und "authoritativ".
Ok, eine Menge Technik, und der Flow mit dem 2-mal Handy verwenden ist unter Umständen noch verbesserbar.
Wichtig ist, daß "Als Einzelfallllllllllllllllll möchte ich einem Polizeibeamten mein entsperrtes Handy für was auch immer in die Hand geben" als Use-Case eher wenig attraktiv ist und nicht vorkommt.
Wichtig ist auch, daß man bei der Identität anfangen muß.

Brauche ich die /amtliche/ Identität? Dann brauche ich DigiD oder nPA.

Brauche ich eine Kreditkrake? Dann reicht login@<hersteller>.com und <hersteller>Pay.
Nachdem man das durchdekliniert hat, kann man sich dann einmal spiegel.de/panorama/bildu… durchlesen und gucken, was einem dazu alles einfällt.

Ja, erst mal das:
Was sie meinen:
Das Zeugnis ist ein PDF.
Im PDF ist XML eingebettet.
Das XML ist signiert.
-- -- --
Der Hash der Signatur kommt in eine Blockchain.
Die Blockchain ist privat.
Bis zur Abreißkante "-- -- --" macht das alles beschränkt Sinn.

Der Rest wird nicht gebraucht und ist Vodoo.

Also, die Blockchain ist privat. Du mußt also dem Auskunftgeber (staatlich oder eine Privatfirma) vertrauen, denn die Chain kriegst Du nicht zu sehen.
Könntest Du die Chain sehen, lernst Du nicht viel sinnvolles. "Ja, die Prüfsumme (der Hash) steht da drin."

Diesen Hash findest Du auch durch selbst-checken, und dann lesen der Signatur im PDF.
Da steht aber schon ein Zertifikat drin, also eine beglaubigte Soll-Prüfsumme. Ich kann das also offline checken, ohne in die Blockchain zu gucken.

Die Blockchain ist also ohne relevante Funktion. "Wenn wir eh schon eine digitale Signatur haben, brauchen wir keine Blockchain."
(Außer bei Certificate Transparency, CT, für TLS Zertifikate, aber das ist was anderes für einen anderen Zweck, und von der Situation hier verschieden.

Das ist eine der wenigen Anwendung für "Chains", die Sinn haben und kommt wie alle diese ohne viel Proof-of-Irgendwas aus)
"Aber Kris, wieso 'beschränkt' Sinn?"
Naja, das ist ein ganz normales signiertes PDF, also signiertes XML in einem PDF. Das hat bekannt eine ganze Sequenz von Problemen:
1. Was angezeigt wird (PDF) muß nichts mit dem XML zu tun haben.
2. XML zu signieren ist ... dünnes Eis.
Für den Schutzzweck ("ein Zeugnis") ist das vermutlich total Wurst.
Ich bin jetzt über 50 und kandidiere nicht für ein politisches Amt.
Frag mich mal, wer sich für meinen Lebenslauf interessiert hat oder Zeugnisse und was ich habe beweisen müssen.
@threadreaderapp unroll
--
Der Erklärbärthread zum Sonntag morgen.

Geht wählen.
Macht keinen Scheiß.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Kristian Köhntopp

Kristian Köhntopp Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @isotopp

27 Sep
Ich drehe in der Firma also gerade mal wieder Interview-Runden, und da ist ein ganz seltsames Pattern drin, in den Kandidaten.

Interview 2, "Systems Design" für SRE, das Interview nach dem Coding-IV. Es geht darum, irgendein PoC auf Produktion zu bürsten.
Das ist ein guter Teil Skalierung ("Wie viel Instanzen wird das fressen, bei der Load?"), ein guter Teil Resiliency ("Finde und identifiziere alle SPoF, und was sind gängige Patterns, die zu vermeiden?") und ein Teil Monitoring/Fehlersuche/Incident Analyse.
Das scheitert oft schon an grundlegenden Fragen.

"Hier ist ein System, das im Test auf dieser Instanzgröße lief und 5000 Requests/s geschafft hat. Wir wollen 250.000 Requests/s schaffen, und die Meßdaten 6 Monate halten."
Read 33 tweets
25 Sep
Das ist @TinoSchopf , Sprecher für Verkehr der SPD.
Das ist der Wahlkampfwagen der SPD.
Das ist ein Zebrastreifen, auf dem das Auto parkt.

Weißt Du Bescheid.
Morgen entscheidest Du.
Mach keinen Scheiß.
Das ist @FranziskaGiffey.
Das ist ein Wahlkampf Auto der SPD.
Das ist eine Fußgängerfurt, in der das Auto parkt.

Weißt Du Bescheid.
Morgen entscheidest Du.
Mach keinen Scheiß.
Rette Berlin.
Rette Deutschland.
Rette die Welt.

Jede Stimme zählt.
Read 4 tweets
9 Sep
@b0rk I am Kris, and I am 53 now.

I learned programming on a Commodore 64 in 1983. My first real programming language (because C64 isn't one) was 6502 assembler, forwards and backwards.
@b0rk Backwards means you stare at a hex dump and see code.

At the age of 16, reversing code and writing code were basically the same to me. I could think what I wanted to do, and type hex into a monitor, even if using an assembler with macros would be faster and easier.
@b0rk In 1986, I upgraded to an Amiga with a 68000 CPU. This required an Assembler, and I also learned C. But using 'cc -S' would be pretty normal, as C compilers at that time did write pretty abysmal code quite often.
Read 19 tweets
8 Sep
Nach einer IRC Helpdesk Session:

Macht Deine Firma sinnlose "Phishing Trainings", in denen sie Mitarbeitern Fake-Nachrichten sendet um zu sehen, wer da was anklickt?

Weil diese Firmen ihre Existenz rechtfertigen müssen, sind alle diese Nachrichten per X-Header trackbar.
Du findest in ihnen also Headerzeilen wie

X-Phishme: Phishing_Training
X-PhishMeTracking: <monsterlange ID>

Wenn Dein Mailer auf solche Header filtern kann, kannst Du diese Nachrichten automatisch erkennen, filtern, aussortieren oder löschen.
In Outlook geht das mit "Nachrichtenkopfzeile enthält" oder ähnlich.

Eine ältere Anleitung ist support.tigertech.net/outlook-spamas…, Du mußt nur die Kopfzeile anpassen.
Read 6 tweets
7 Sep
"Breitband"

IRC so: »Merkel feiert im Bundestag die Digitalisierung. Breitband in dieser Legislatur von 80 auf 94 %. LTE 99 %."
"Wonach gemessen?"
"Haushalte"
"Falsche Frage. Frage nach Definition Breitband."
Offenbar war 2007 Breitband noch als "128 kBit/s up/down" definiert.
Die Definition wurde 2009 auf 1 MBit/s downstream angehoben.
Damals auch: "Derzeit haben rund 92 Prozent der Haushalte Zugang zu einer Breitbandverbindung von 1 MBit/s. Würde man die Definition auf 2 MBit/s anheben, wären nur noch rund 70 Prozent aller Haushalte "versorgt"."

Das scheint jetzt marginal besser.
Read 10 tweets
7 Sep
Dies. 1000 mal dies.

Informatik ist einfach. Nullen und Einsen, komplizierter wird es nicht.

Informatik stapelt aber in einzigartiger Weise Abstraktionen aufeinander, 30 Lagen hoch und mit nicht linearen Abhängigkeiten. Das erzeugt eine andere, viel schwierigere Komplexität.
Wenn man älter wird, stellt man fest:

Informatik ist die Wissenschaft von den Kästen und den Pfeilen dazwischen. Nullen und Einsen interessieren kaum.

Die Kisten sind immer noch trivial, die Probleme ergeben sich aus den Dependencies.
Wenn die Dependencies "Kommunikation zwischen Systemen" symbolisieren, wird es ekelig.

Kommunikation und Konsens sind lossy und schwierig und waren bis vor kurzem unmöglich sinnvoll zu testen.
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(