Domain-Keyed Document Stamp

Ein offenes Protokoll zur Prüfung von Herkunft und Inhalt von Dokumenten.

  • Ein Telefon über einer gedruckten Seite, die Kamera auf den Stempel in der Ecke der Seite ausgerichtet. Das Telefon ist blau gezeichnet.

    Reibungslos

    Ausstellende Software erzeugt einen Stempel mit einem einzigen Funktionsaufruf. Jedes konforme Prüf­programm kann ihn prüfen, auch eines, das im Webbrowser läuft, ohne Konto und ohne Gebühr.

  • Ein Drucker mit einem Blatt im Ausgabefach. Der auf das Blatt gedruckte Stempel ist blau gezeichnet.

    Übertragbar

    Die signierten Daten sind im QR-Code selbst enthalten, sodass ein Stempel prüfbar bleibt, nachdem das Dokument gedruckt, fotokopiert oder gescannt wurde.

  • Ein Stempel, zerlegt in fünf gestapelte Schichten, jede ein veröffentlichter Standard: QR-Code, Base45, DEFLATE, Ed25519 und DNS. Die Schicht der Ed25519-Signatur ist blau gezeichnet. DNSRFC 1035 Ed25519RFC 8032 DEFLATERFC 1951 Base45RFC 9285 QRISO/IEC 18004

    Standardkonform

    Jeder Bestandteil ist ein bestehender, veröffentlichter Standard: QR-Codes, Base45, DEFLATE-Kompression, Ed25519-Signaturen und das Domain Name System.

Mindestens 27 Milliarden Euro gehen in Europa jährlich durch Betrug verloren

Diese Zahl ist die Summe der veröffentlichten Schätzungen für drei Arten von Betrug, bei denen eine Organisation auf Grundlage von Dokumenten Geld auszahlt: Versicherungsansprüche, Anträge auf Sozialleistungen und Banküberweisungen. Die meisten europäischen Länder veröffentlichen keine solchen Schätzungen, sodass die Zahl eine Untergrenze ist und die tatsächlichen Verluste höher liegen. Ihre Zusammensetzung steht unter dem Beispiel.

Bei Betrug dieser Art werden häufig veränderte oder gefälschte Dokumente verwendet, etwa Rechnungen, Gehalts­abrechnungen, ärztliche Berichte und Kontoauszüge. Da PDF-Dateien und gedruckte Dokumente keinen verlässlichen Herkunftsnachweis tragen, kann ein Empfänger ein Dokument in der Regel nicht prüfen, ohne die ausstellende Organisation zu kontaktieren, ein Schritt, der langsam ist und häufig unterbleibt.

invoice-2026-0917.pdfGespeichert
Northwind B.V.Invoice 2026-0917
Customer
Harbour Logistics B.V.
Date
30 Sep 2026
Amount
4,812.50 EUR
Pay to IBAN
LT12 1000 0111 0100 1000
Due
30 Oct 2026
Vorher
NL91 ABNA 0417 1643 00
Nachher
LT12 1000 0111 0100 1000

In diesem Beispiel wurde die Bankverbindung auf einer echten Rechnung ersetzt. Das Dokument enthält keinen Hinweis auf die Änderung, und ein Kunde, der die Rechnung bezahlt, würde den Betrag auf das neue Konto überweisen.

Rechnung zur Veranschaulichung.

Zusammensetzung der Schätzung

KategorieGebietQuelleJährlicher Verlust
Versicherungsbetrug bei Schadensfällen, aufgedeckt und unentdecktEuropäische Märkte, die ihn erfassenInsurance Europe, Insurance fraud: not a victimless crime, für 201713,0 Mrd. €
SozialleistungsbetrugVereinigtes KönigreichDepartment for Work and Pensions, Fraud and error in the benefit system, für 2024/257,7 Mrd. €
Betrug bei Familien-, Wohn- und MindesteinkommensleistungenFrankreichCour des comptes, Certification des comptes du régime général, exercice 20233,9 Mrd. €
Betrügerische ÜberweisungenEU und EWREBA und EZB, 2025 Report on Payment Fraud, für 20242,5 Mrd. €
Gesamt27,1 Mrd. €

Die Schätzung für das Vereinigte Königreich von 6,5 Mrd. £ ist zu 1,18 € je Pfund umgerechnet, dem durchschnittlichen Referenzkurs der Europäischen Zentralbank für 2024. Nicht enthalten sind Betrug durch die Aus­steller von Dokumenten selbst, etwa Umsatzsteuer-Karussellbetrug mit Rechnungen der eigenen Unternehmen der Betrüger, den die Europäische Kommission auf 12,5 bis 32,8 Mrd. € jährlich schätzt, sowie Betrug bei Kredit-, Hypotheken- und Förderanträgen, für den keine vergleichbaren Schätzungen veröffent­licht werden.

Häufig für Betrug verwendete Dokumente

Betrug dieser Art beruht auf Dokumenten, die eine Organisation ausstellt und auf die sich eine andere verlässt, während das Dokument durch die Hände eines Dritten geht, etwa eines Antragstellers, eines Anspruchstellers oder eines Lieferanten. Die folgenden Dokumente werden zu diesem Zweck häufig verändert oder gefälscht. Jedes von ihnen kann einen DKDS-Stempel seines Ausstellers tragen.

  • Einkommen und Finanzen

    • Gehalts­abrechnungen
    • Arbeitgeber­bescheinigungen
    • Kontoauszüge
    • Steuer­bescheide
    • Renten­bescheide
  • Rechnungen und Zahlungen

    • Rechnungen
    • Gutschriften
    • Zahlungs­aufforderungen
    • Bestellungen
    • Quittungen
  • Versicherung und Gesundheit

    • Ärztliche Berichte
    • Krankmeldungen
    • Rezepte
    • Kosten­voranschläge
    • Schadens­gutachten
  • Wohnen

    • Mietverträge
    • Miet­quittungen
    • Nebenkosten­abrechnungen
    • Melde­bescheinigungen
    • Immobilien­gutachten
  • Bildung und Beschäftigung

    • Abschluss­zeugnisse
    • Noten­übersichten
    • Berufs­zertifikate
    • Arbeitsverträge
    • Arbeits­zeugnisse
  • Amtliche Urkunden

    • Geburts- und Heiratsurkunden
    • Führungs­zeugnisse
    • Handelsregister­auszüge
    • Genehmigungen und Lizenzen
    • Gerichts­entscheidungen
  • Handel und Transport

    • Ursprungs­zeugnisse
    • Konnossemente
    • Lieferscheine
    • Prüf­bescheinigungen
    • Zolldokumente
  • Fahrzeuge

    • Zulassungs­bescheinigungen
    • Prüfberichte der Haupt­untersuchung
    • Serviceheft­nachweise
    • Kilometerstands­nachweise
    • Kaufverträge

Reisepässe und Personalausweise sind nicht aufgeführt. Sie haben eigene Sicherheitsmerkmale und in der Europäischen Union einen elektronischen Chip, der geprüft werden kann.

Funktionsweise eines Stempels

Ein DKDS-Stempel ist ein QR-Code, der auf ein Dokument gedruckt wird. Er enthält die wesentlichen Angaben des Dokuments, den Domainnamen des Ausstellers und eine digitale Signatur über beides. Der zur Prüfung der Signatur nötige öffentliche Schlüssel wird in den DNS-Einträgen des Ausstellers veröffent­licht, ähnlich wie bei DKIM für E-Mail, sodass jeder einen Stempel ohne Konto und ohne Vermittler prüfen kann.

Aus­steller
northwind.example
besitzt den privaten Schlüssel
DNS
k2026._dkds.northwind.example
v=DKDS1; k=ed25519; p=6kps…0iw=
Rechnung
Prüf­programm
northwind.example, 7 Felder
Signatur gültig
  1. 1Der Aus­steller veröffent­licht einen öffentlichen Schlüssel als TXT-Eintrag im DNS seiner Domain. Dies geschieht einmal und erneut, wann immer der Schlüssel ersetzt wird.
  2. 2Für jedes Dokument signiert der Aus­steller die wesentlichen Angaben mit dem zugehörigen privaten Schlüssel und druckt sie zusammen mit der Signatur als QR-Code auf das Dokument.
  3. 3Ein Prüf­programm scannt den QR-Code und liest die Angaben, die Signatur und den Domainnamen des Ausstellers.
  4. 4Das Prüf­programm ruft den öffentlichen Schlüssel aus dem DNS dieser Domain ab und prüft die Signatur damit.

Die Auswahl eines Schritts spielt die Animation ab diesem Punkt ab.

Prüfung eines Dokuments

Ein Prüf­programm zeigt die Domain, die den Stempel signiert hat, und die Angaben, die er enthält. Der Leser vergleicht diese Angaben dann mit denen auf dem Dokument. Ein Unterschied zwischen beiden zeigt an, dass das Dokument nach der Ausstellung verändert wurde.

Dokument wie erhalten
Northwind B.V.Invoice 2026-0917
Customer
Harbour Logistics B.V.
Date
30 Sep 2026
Amount
4,812.50 EUR
Pay to IBAN
LT12 1000 0111 0100 1000
Due
30 Oct 2026
Ausgabe des Prüfprogramms
Prüf­programm
Signiert von
northwind.example
30. Sept. 2026, 09:00 UTC. Die Signatur ist gültig.
Supplier
Northwind B.V.
Invoice no.
2026-0917
Date
2026-09-30
Customer
Harbour Logistics B.V.
Amount
4,812.50 EUR
Pay to IBAN
NL91 ABNA 0417 1643 00
Due
2026-10-30

In diesem Beispiel ist die Signatur gültig, was zeigt, dass der Stempel von northwind.example ausgestellt wurde. Die Bankverbindung im Stempel weicht von der auf der Rechnung gedruckten ab, was zeigt, dass die Rechnung nach der Ausstellung verändert wurde.

Der gezeigte Stempel ist ein gültiger DKDS-Stempel. Da northwind.example ein reservierter Domainname ist, findet ein Prüf­programm seinen Schlüssel nicht.

Ein von dkds.org ausgestellter Stempel

Dieser Stempel wurde am 10. Oktober 2026 mit dem Schlüssel signiert, den dkds.org unter k2026._dkds.dkds.org veröffent­licht. Ein Prüf­programm meldet eine gültige Signatur von dkds.org und zeigt die Felder, die der Stempel enthält. Ein Telefon kann den Stempel vom Bildschirm lesen; an einem Computer kann sein Text kopiert und in das Prüf­programm eingefügt werden.

Text des Stempels DKDS:*50CVCKVC7*5$KE$U0NF6TF6NMDLZ3A200Z4AHM0WGCN1*DOZ1CG/OJ9O.ND/0L$195ZOIEG%D2SVDGL744N*JS3YV:3K9KB7-PNW7G$4O91$GJDY5VWS6TACAB+-MGRSGIO5NGF7RV8GH57BTU/2DQA4CFUGJVIASI6L1SD921-2MIRB30I5 F516:O3TQI$I8GYK/:JN9AROT3VBROMU2E5/IVMF+/KCXLNY5.T8.BRZ$NL2R4O3XH7R.65I175LN.9*LLCB4GVKC71%/5SQ7

Was ein Stempel belegt

Ein gültiger Stempel belegt

  • Dass der Stempel mit einem Schlüssel signiert wurde, den der Inhaber der Domain veröffent­licht.
  • Dass die Angaben im Stempel seit der Signatur nicht verändert wurden.
  • Den Zeitpunkt, zu dem der Stempel signiert wurde.

Ein gültiger Stempel belegt nicht

  • Dass die Angaben wahr sind. Ein Stempel weist aus, wer sie gemacht hat, nicht, ob sie richtig sind.
  • Dass das gedruckte Dokument mit dem Stempel übereinstimmt. Diesen Vergleich nimmt der Leser vor.
  • Vertraulichkeit. Der Inhalt eines Stempels kann von jedem gelesen werden, der ihn scannt.

Implementierungen

DKDS ist durch eine offene Spezifikation definiert, die Testvektoren zur Prüfung der Korrektheit einer Implementierung enthält. Jeder darf das Protokoll ohne Erlaubnis und ohne Gebühren implementieren.

Die Referenzimplementierung dkds.js kann als Softwarebibliothek, als Befehlszeilenwerkzeug oder als lokaler HTTP-Dienst verwendet werden, mit dem Software in anderen Programmiersprachen Stempel erzeugen und prüfen kann. Ein Prüf­programm im Browser ist unter scan.dkds.org verfügbar; Dokumente werden auf dem Gerät geprüft und nicht übertragen.