Menü

Nationale Identifikationsnummer: Format, Prüfziffer und KYC-Grenzen

Ein Werkzeug zum Erzeugen nationaler Identifikationsnummern baut Kennungen nach den Formatregeln und Prüfziffern des jeweiligen Landes für KYC-Tests. Lesen Sie die Formate, die Prüfungen und die Grenzen.

Veröffentlicht am

  • Testdaten
  • Identität
  • KYC

Ein Werkzeug zum Erzeugen nationaler Identifikationsnummern liefert Kennungen, die dem Format entsprechen, das ein Land tatsächlich ausgibt – einschließlich Länge, Zeichensatz, Position der Prüfziffer und der inneren Regeln, die eine Nummer gültig und eine andere ungültig machen. Der Unterschied zwischen einem brauchbaren Werkzeug und einer zufälligen Ziffernfolge liegt genau in diesen Regeln, denn jeder ernsthafte Prüfpfad kontrolliert sie.

Dieser Leitfaden betrachtet, wie sich Identifikationsnummern zwischen Ländern unterscheiden, warum ein Platzhalterwert jede Prüfung nicht besteht und deshalb nichts testet, warum die Länge pro Land konfiguriert werden muss statt angenommen zu werden, und wo die ehrliche Grenze eines synthetischen Datensatzes in einem KYC-Ablauf liegt. Am Ende wissen Sie, welche Eigenschaften eine Testidentität braucht, um eine echte Onboarding-Pipeline auszuüben.

Warum sind Identifikationsnummern kein einheitliches Format mit unterschiedlichen Längen?

Die verbreitete Annahme, jedes Land gebe eine Kennung aus, die im Kern eine lange Zahl mit Prüfsumme sei, ist in mehrfacher Hinsicht falsch, und diese Fehler brechen echte Systeme. Länder unterscheiden sich darin, ob die Kennung überhaupt numerisch ist, ob sie bei der Geburt oder bei der Registrierung ausgegeben wird, ob sie ein Datum enthält und ob sie auf einer Karte erscheint oder nur in einem Register steht.

Die US-amerikanische Social Security Number besteht aus neun Ziffern in drei Gruppen, und das Format ist alles, was die sichtbare Nummer trägt. Der Beitrag zum Format der Social Security Number erklärt, welche Bereiche nie ausgegeben werden und warum ein Prüfer, der jede neunstellige Zeichenfolge annimmt, Nummern annimmt, die nicht existieren können.

China gibt eine achtzehnstellige Kennung für Einwohner aus, die mit einem Ortscode beginnt, mit einem Geburtsdatum fortfährt und mit einem Prüfzeichen endet, das der Buchstabe X sein kann. Brasilien gibt die CPF als elf Ziffern aus, wobei die letzten beiden Prüfziffern sind, die aus den vorangehenden neun berechnet werden, und sie wird häufig mit Satzzeichen geschrieben, die ein Parser verarbeiten muss. Die Türkei gibt die T.C. Kimlik No als elf Ziffern aus, deren erste Ziffer nie null ist und deren letzte beiden aus den übrigen abgeleitet werden.

Spanien gibt die DNI als acht Ziffern plus einen Prüfbuchstaben aus, der über einen Modulus berechnet wird; die NIE für Ausländer folgt demselben Schema mit einem anderen führenden Buchstaben. Indonesien gibt eine sechzehnstellige NIK aus, die einen Bezirkscode und ein Datum einbettet. Vietnam gibt eine zwölfstellige Bürgerkennung aus. Russland gibt die INN mit zehn oder zwölf Ziffern je nach Rechtsträger aus und die SNILS als elf Ziffern in einem nummerierten Format. Der Beitrag zur Länge nationaler Kennungen nach Land sammelt die Längen an einer Stelle.

Warum ist die Prüfziffer der eigentliche Kern?

Eine Prüfziffer macht aus einer Ziffernfolge einen Wert, der auf innere Stimmigkeit geprüft werden kann. Ohne sie ist jede Nummer der richtigen Länge gleich gültig, und ein Feld, das lediglich Zeichen zählt, nimmt einen Tippfehler, ein abgeschnittenes Einfügen und eine erfundene Nummer mit derselben Begeisterung an.

Mit ihr kann ein Prüfer die überwiegende Mehrheit falsch getippter Werte zurückweisen, bevor irgendetwas weiter unten im Stapel sie sieht. Das ist der gesamte Nutzen, und deshalb liefert ein Werkzeug ohne Prüfziffernberechnung Daten, die den Prüfpfad nicht ausüben können, den sie testen sollen.

Die Folgen des Weglassens sind leicht zu sehen. Eine Fixture voller Platzhalterwerte besteht eine Längenprüfung und scheitert an jeder Prüfsumme, sodass der Test nur den Ablehnungszweig ausübt. Fehler im Annahmezweig – dem Zweig, der in der Produktion läuft – bleiben unbesucht, und die Suite meldet Erfolg, während sie nichts abdeckt.

Deshalb zählt die Arithmetik mehr als das Aussehen. Der Beitrag zur Prüfung nationaler Kennungen führt durch die Modulusverfahren mehrerer Länder, und die Übersicht der Prüfziffernverfahren ordnet sie in die weitere Familie der Prüfungen ein, zu der auch Bankkontonummern und Strichcodes gehören. Wenn Sie ein Werkzeug wählen, lautet die entscheidende Frage, welche Länderverfahren es umsetzt und ob seine Ausgabe einen unabhängigen Prüfer besteht.

Ein zweiter Punkt betrifft die Darstellung. Manche Länder schreiben die Kennung mit Trennzeichen, andere ohne. Berechnen Sie die Prüfziffer immer über die reine Zeichenfolge und formatieren Sie erst danach; wer die Prüfsumme über die formatierte Fassung bildet, erhält systematisch falsche Ergebnisse.

Warum muss die Länge pro Land konfiguriert werden?

Nichts an einem Identifikationsfeld sollte fest verdrahtet sein. Ein Schema, das jede Kennung in einer Spalte fester Breite speichert, schneidet die längeren ab und lässt bei den kürzeren leeren Raum; ein Prüfer, der eine einzige Länge annimmt, weist jedes Land zurück, für das er nicht geschrieben wurde.

Das praktische Design ist ein Länderfeld, das einen Regelsatz auswählt, und ein Regelsatz, der Länge, zulässige Zeichen, Prüfverfahren und die Darstellung für die Anzeige trägt. Der gespeicherte Wert und der angezeigte Wert sind meist verschieden, weil viele Länder Satzzeichen drucken, die nicht Teil der Kennung selbst sind.

Die Konfiguration muss auch die Länder abdecken, die keine solche Kennung ausgeben. In diesen Fällen sollte das Feld berechtigterweise fehlen, statt mit einer plausibel aussehenden Zeichenfolge gefüllt zu werden. Ein fehlender Wert und ein falscher Wert scheitern weiter unten im Stapel unterschiedlich, und ein Schema, das Abwesenheit nicht ausdrücken kann, speichert irgendwann eine erfundene Kennung in einem Datensatz, der nie eine hatte.

Existieren in einem Land mehrere Kennungen, muss das Modell sie unterscheiden. Eine Steuernummer, eine Sozialversicherungsnummer und eine nationale Identitätsnummer können in derselben Rechtsordnung alle elfstellig sein; sie als ein Feld zu behandeln, garantiert, dass ein Test irgendwann auf der falschen zugesichert wird. Jede Kennung nach dem zu benennen, was sie ist, und nicht nach ihrer Position im Formular, ist der billigste Weg, sie auseinanderzuhalten, und macht einen Export aus einem Land in einem anderen lesbar.

Planen Sie außerdem die Eingabebehandlung mit ein. Nutzer fügen Kennungen mit Leerzeichen, Punkten oder Bindestrichen ein, und manche Kennungen können mit einem Buchstaben enden. Ein Feld, das vor dem Vergleich nur Ziffern entfernt, weist gültige Eingaben zurück, sobald das Land einen Buchstaben vorsieht.

Wie verhält sich eine synthetische Kennung in einem KYC-Ablauf?

Ein KYC-Ablauf tut mit einer Kennung üblicherweise mehrere Dinge. Er prüft das Format, berechnet die Prüfziffer, übermittelt den Wert an einen externen Prüfdienst, speichert das Ergebnis und bewahrt mitunter ein Bild eines Dokuments auf. Eine erzeugte Nummer erfüllt die ersten beiden Schritte und scheitert am dritten – und genau das ist für synthetische Daten das richtige Verhalten.

Das Scheitern am dritten Schritt macht den Datensatz sicher. Weil keine ausgebende Stelle von der Existenz der Nummer weiß, kann kein Prüfdienst sie bestätigen, und kein Konto lässt sich darauf eröffnen. Würde eine erzeugte Nummer je eine externe Prüfung bestehen, hieße das, dass die Nummer jemandem gehört – ein ernster Mangel des Werkzeugs und kein Vorzug.

Damit findet KYC-Testen mit synthetischen Kennungen auf zwei Ebenen statt. Die lokale Ebene prüft Ihre eigene Validierung, Formatierung, Fehlerbehandlung und Speicherung; synthetische Werte sind dafür ideal. Die Integrationsebene verlangt eine Sandbox des Prüfanbieters, und diese Sandboxes bringen meist eigene feste Testidentitäten mit. Beides zu vermischen – eine synthetische Nummer durch einen laufenden Prüfendpunkt zu schicken – erzeugt nichts als Rauschen.

Auch bei der Zusicherung auf den externen Schritt ist Vorsicht angebracht. Ein Test, der einen bestimmten Ablehnungscode eines echten Anbieters erwartet, prüft das aktuelle Verhalten des Anbieters, das sich ohne Ankündigung ändert. Ein Test, der erwartet, dass Ihre Anwendung eine Ablehnung sauber behandelt, prüft Ihre Software – also das, was Ihnen gehört. Dasselbe gilt für den Zeitpunkt der Prüfung: Verifiziert Ihr Ablauf asynchron, sind eine langsame Antwort, eine Zeitüberschreitung und eine doppelt eintreffende Antwort die interessanten Fälle, und die lassen sich mit einem selbst kontrollierten Stub billiger herstellen als mit einer Anbieter-Sandbox, die in fester Weise antwortet.

Was sind die Compliance-Grenzen beim Testen von Identitäten?

Die erste Grenze ist, dass ein synthetischer Datensatz keine Person ist. Er kann einen Namen, ein Geburtsdatum, eine Adresse und eine Kennung tragen, und nichts davon gehört jemandem. Ihn als Identität einer Person darzustellen oder ihn zu verwenden, um sich als eine reale Person auszugeben, ist Missbrauch, unabhängig davon, wie der Datensatz entstanden ist.

Die zweite Grenze betrifft echte Daten. Ein Datensatz, der einen echten Namen mit einer echten Kennung verbindet, ist nach jeder praktischen Definition eine echte Identität, und solche Datensätze in eine Testumgebung zu kopieren, ist eine Offenlegung. Der Beitrag zu Testdaten für Identitäten erklärt, warum das Kopieren von Produktionszeilen in eine niedrigere Umgebung sowohl ein regulatorisches als auch ein betriebliches Problem ist, und der Beitrag zu DSGVO und Testidentitäten behandelt den rechtlichen Rahmen.

Die dritte Grenze ist der Zweck. Eine erzeugte Kennung existiert, um einen Ablauf auszuüben, den Sie betreiben, und sie darf nicht verwendet werden, um ein echtes Konto zu eröffnen, eine Verifizierungsstufe zu bestehen, eine Leistung zu beanspruchen, ein Dokument zu erhalten oder eine Kontrolle zu umgehen, die dem Schutz von jemandem dient. Das gilt, ob der Ablauf Ihnen gehört oder einem Dritten.

Die vierte Grenze ist die Aufbewahrung. Auch synthetische Datensätze sammeln sich an, und eine Datenbank mit einer Million erzeugter Identitäten ist für sich nicht gefährlich, auf den ersten Blick aber nicht von einer zu unterscheiden, die es wäre. Erzeugte Zeilen zu markieren, Erzeugungsparameter aufzubewahren und nicht mehr verwendete Fixtures zu löschen, hält den Unterschied sichtbar.

Eine fünfte Grenze ist die ehrliche Darstellung. Muss ein synthetischer Datensatz die Testumgebung je verlassen – in einer Vorführung, einem Screenshot oder einer Schulung –, sollte er als erzeugt gekennzeichnet sein, wo immer ein Leser ihn für die Daten einer realen Person halten könnte. Die Kennzeichnung kostet nichts und nimmt eine Zweideutigkeit weg, die der Leser aus eigener Kraft nicht auflösen kann.

Was sollte ein Testidentitäts-Datensatz enthalten?

Ein brauchbarer Datensatz trägt eine zusammenhängende Feldmenge und nicht nur eine Kennung. Vornamen und ein Familienname, die zum Land passen, ein Geburtsdatum, das zu einem gültigen Altersbereich passt, eine Adresse innerhalb derselben Rechtsordnung, eine Telefonnummer mit der Vorwahl des Landes und die Kennungen, die dieses Land tatsächlich ausgibt. Jedes Paar in dieser Menge schränkt das jeweils andere ein, und genau diese Eigenschaft macht den Datensatz brauchbar.

Stellen Sie sowohl einen festen Datensatz für Zusicherungen als auch einen erzeugten zum Erkunden bereit. Der feste Datensatz macht einen Regressionstest aussagekräftig, und der erzeugte findet Fälle, die niemand aufgeschrieben hat. Der Identitätsbereich dieser Site ist so gebaut, dass derselbe Schlüssel mit demselben Land denselben Datensatz liefert, sodass eine Fixture über Läufe hinweg stabil bleibt, während andere Datensätze den Raum erkunden.

Prüfen Sie die Ausgabe anschließend unabhängig. Nehmen Sie eine erzeugte Kennung, schicken Sie sie durch einen Prüfer, den Sie selbst nach dem veröffentlichten Verfahren geschrieben haben, und bestätigen Sie, dass die Prüfziffer besteht. Diese eine Gewohnheit fängt eine ganze Klasse von Fehlkonfigurationen ab, bei denen ein Land ausgewählt, aber das Verfahren eines Nachbarlandes angewendet wird. Der Beitrag zur Feldkonsistenz in Identitätsdaten beschreibt die feldübergreifenden Prüfungen, die sich daneben lohnen.

Ergänzen Sie einen Test, der zwei Kennungen desselben Landes gegeneinander hält. Zwei erzeugte Kennungen müssen sich unterscheiden, und ein Werkzeug, das für denselben Startwert unterschiedliche Ergebnisse liefert, zerstört jede reproduzierbare Fixture.

Jede so erzeugte Kennung ist ein synthetischer Testdatensatz. Format, Länge und Prüfziffer folgen den veröffentlichten Regeln, damit Software ausgeübt werden kann, aber die Nummer gehört keiner Person, sie wurde von keiner Stelle ausgegeben, und sie darf nicht verwendet werden, um sich als jemand auszugeben, ein echtes Konto zu eröffnen oder zu registrieren, eine echte Identitätsprüfung zu bestehen oder eine Leistung oder ein Dokument zu erhalten.

Weiterlesen

Beliebte Werkzeuge und Anleitungen