Menü

Ausweisnummer Prüfregeln nach Land und warum sie sich unterscheiden

Die Ausweisnummer Prüfregeln nach Land reichen von einem vollständig veröffentlichten Verfahren über eine bloße Formatbeschreibung bis zu gar nichts — und eine Zeichenkette kann zu mehreren Ländern passen.

Veröffentlicht am

  • Validierung
  • Identität
  • Prüfziffer

Fragen Sie zehn Länder, wie eine nationale Identitätsnummer aussieht, und Sie erhalten zehn verschiedene Antworten — nicht weil die Nummern geheim wären, sondern weil jedes Register für sich entworfen wurde. Manche Staaten veröffentlichen die Arithmetik, die die Nummer abschließt, manche veröffentlichen nur eine Beschreibung ihrer Form, und manche veröffentlichen nichts außer der Tatsache, dass die Nummer existiert.

Diese Ungleichmäßigkeit ist das bestimmende Merkmal dieses Feldes und der Grund, warum ein allgemeiner internationaler Prüfer nicht geschrieben werden kann. Schreiben lässt sich ein Prüfer, der für jedes unterstützte Land weiß, wie viel er prüfen darf — und der das im Urteil offen sagt.

Warum lassen sich Ausweisnummern nicht einheitlich prüfen?

Weil es keine internationale Stelle gibt, die nationale Identitätsnummern ausgibt. Jede gehört zu einem nationalen Register mit eigener Gesetzgebung, eigenen Konventionen und eigener Geschichte, und nichts verpflichtet ein Land, seine Nummerierung für Außenstehende zu dokumentieren.

Wo Dokumentation existiert, unterscheidet sie sich zudem in ihrer Art. Ein veröffentlichtes Prüfziffernverfahren ist eine vollständige Spezifikation: Zu einer Kandidatenzeichenkette kann die Arithmetik entscheiden. Ein veröffentlichtes Format ist eine teilweise Spezifikation: Es kann eine fehlerhafte Zeichenkette zurückweisen, aber eine wohlgeformte nie als echt bestätigen. Ein Register, das beides nicht veröffentlicht, lässt der Außenwelt nichts zum Umsetzen, wie auch immer die innere Logik der Nummer aussehen mag.

Wer um diese Vielfalt herum entwirft, behandelt die Abdeckung als Matrix und nicht als Wahrheitswert. Halten Sie für jedes Land, das Ihr Produkt berührt, fest, welche der drei Stufen gilt, und lassen Sie das Urteil aus der Stufe folgen, statt für jedes Land dieselbe Zusicherung vorzutäuschen.

Alle hier erörterten Identitätswerte sind erläuternde Beschreibungen veröffentlichter Regeln und keine Wiedergaben. In diesem Beitrag erscheint keine echte Identitätsnummer, und die Beschreibung einer Regel bedeutet nicht, dass eine bestimmte Zeichenkette je ausgegeben wurde.

Länder, die ihr Prüfziffernverfahren veröffentlichen

Manche Register legen das abschließende Zeichen vollständig fest: Gewichte, Modul und die Regel für die letzte Ziffer stehen alle in der öffentlichen Dokumentation. Das sind die einfachsten Fälle, und hier stiftet ein Prüfer den größten Nutzen, weil ein einzelnes vertipptes Zeichen gefangen wird, bevor die Nummer irgendein Register erreicht.

Die beteiligte Arithmetikfamilie ist die übliche modulbasierte, die der Beitrag über Prüfziffernverfahren vorstellt, und ein nationales Schema ist darin meist ein bestimmter Parametersatz. Eine Handvoll Länder verwendet das verdoppelnde und addierende Mitglied der mod-10-Familie, andere nutzen eine mod-11-Anordnung; deshalb unterscheidet sich die Abbildung vom Rest auf das Zeichen von Fall zu Fall.

Auch hier zählt Genauigkeit. Zu wissen, dass ein Land eine modulare Prüfung nutzt, ist nicht dasselbe wie seine Parameter zu kennen, und eine plausible Näherung ergibt eine Routine, die die meisten Werte annimmt und der Norm beim Rest still widerspricht.

Länder, die ein Format veröffentlichen, aber kein Verfahren

Die mittlere Stufe ist die größte und die unangenehmste. Das Register dokumentiert, wie viele Zeichen eine Nummer hat, welche davon Ziffern sind und oft auch, welcher Bestandteil eine Region oder einen Geburtszeitraum kennzeichnet, veröffentlicht aber nie eine Rechenregel. Die Sozialversicherungsnummer der Vereinigten Staaten und Indiens permanente Kontonummer liegen beide in dieser Stufe: weit verbreitet, in ihrer Form gründlich dokumentiert und ohne jedes öffentliche Prüfziffernverfahren.

Ein Prüfer, der einem reinen Formatschema gegenübersteht, kann trotzdem Nützliches tun. Er kann Zeichenketten falscher Größe zurückweisen, ebenso Zeichenketten mit unzulässigen Zeichen und solche, die der dokumentierten Bestandteilstruktur widersprechen. Was er nicht kann, ist aus dem Rumpf etwas berechnen und vergleichen, denn es gibt nichts Veröffentlichtes zu berechnen.

Das Urteil muss das widerspiegeln. Ein reines Formatschema ergibt ein reines Formatergebnis, und die Formulierung sollte sagen, dass die Form bestätigt ist, die Gültigkeit dagegen nicht. Einen solchen Wert als gültig zu melden ist eine falsche Aussage genau der Art, die das Vokabular der vier Urteile verhindern soll.

Was geschieht, wenn eine Nummer zu mehreren Ländern passt?

Zwei Länder können sich versehentlich einig sein. Wenn beide eine ähnliche Länge und einen ähnlichen Zeichensatz nutzen, kann eine einzige Zeichenkette beide Regelwerke vollständig erfüllen; verwenden die beiden Schemata zusätzlich eine vergleichbare Arithmetik, kann dieselbe Zeichenkette sogar beide Prüfziffern bestehen. Dabei ist nichts schiefgegangen: Überschneidende Spezifikationen erzeugen schlicht überschneidende Zugehörigkeit.

Die Versuchung ist das Raten. Ein Formular, das stillschweigend das wahrscheinlichste Land annimmt oder das Land der Browsersprache, erfindet eine Information, die die Eingabe nicht enthielt. Aus einer Zeichenkette eine Staatsangehörigkeit abzuleiten ist sowohl unzuverlässig als auch eine grundlegend andere Tätigkeit als das Prüfen eines Formats.

Die ehrliche Darstellung ist eine Liste. Zeigen Sie jedes Schema, das die Zeichenkette erfüllt, in stabiler Reihenfolge, und lassen Sie die Nutzerin oder das nachgelagerte System mit besserem Kontext wählen. Passt nichts, melden Sie ein unbekanntes Schema statt einer ungültigen Nummer, denn die zweite Aussage kann der Prüfer nicht verantworten.

Länge und Zeichensatz sind nur ein Anfang

Beide Prüfungen sind billig, und beide werden häufig für die ganze Aufgabe gehalten. Allein die Länge fängt verlorene und doppelte Zeichen; allein der Zeichensatz fängt das falsche Alphabet. Keine der beiden sagt etwas über die Beziehung zwischen den Zeichen.

Genau diese Beziehung hat eine echte nationale Nummer und eine zufällige Zeichenkette nicht. Wo das Register die Beziehung veröffentlicht, kann ein Prüfer sie testen; wo es sie zurückhält, holt keine noch so große Findigkeit sie zurück. Der Versuch, eine unveröffentlichte Regel aus einer Stichprobe echter Nummern nachzubauen, ist unzuverlässig und eine schlechte Verwendung von Zeit, denn das Ergebnis ist eine Vermutung mit der Autorität einer Spezifikation.

Halten Sie die Ebenen geordnet und die Meldungen konkret. Wer an der Länge gescheitert ist, will von der Länge hören, und wer alles außer dem letzten Zeichen bestanden hat, will vom letzten Zeichen hören.

Für Entwickler: Landesregeln als Daten

Die praktische Folge all dieser Vielfalt ist, dass die Regeln nicht in den Codepfad hineinkompiliert werden sollten, der das Urteil fällt.

  1. Legen Sie einen Datensatz je Schema ab: das Land, den zulässigen Zeichensatz, die Form und die Stufe der Abdeckung — Verfahren, nur Format oder keine.
  2. Speichern Sie die Parameter für Schemata mit veröffentlichter Arithmetik und lassen Sie das Feld bei den anderen leer, statt zu raten.
  3. Leiten Sie jede Eingabe durch alle passenden Datensätze und geben Sie eine Liste zurück, nicht einen einzigen Sieger.
  4. Halten Sie die vier Urteile in Ihren Typen getrennt, damit eine aufrufende Stelle ein reines Formatergebnis nicht versehentlich als Zustimmung behandelt.
  5. Versehen Sie das Regelwerk mit einem Datum und machen Sie seine Pflege zu einer Datenänderung, denn nationale Konventionen ändern sich und eine fest verdrahtete Tabelle wird still falsch.

Wo ein Produkt Identitätswerte aus mehreren Ländern verarbeitet, verdient die Datenschutzfrage dieselbe Sorgfalt wie die Arithmetik. Der Beitrag zu den Regeln der Ausweisnummern in Brasilien ist ein durchgerechnetes Beispiel eines Landes, dessen zwei Steuernummern unterschiedlichen inneren Regeln folgen, und Nummern ohne Prüfziffer behandelt den umgekehrten Fall, in dem ein Format das Äußerste ist, was ein Prüfer bestätigen kann.

Nächste Schritte

Listen Sie die Länder auf, aus denen Ihr Produkt Identitätsnummern annimmt, und markieren Sie jedes als Verfahren, nur Format oder unveröffentlicht. Prüfen Sie dann, dass Ihre Oberfläche für diese drei Fälle jeweils etwas anderes sagt; das Werkzeug zur Nummernprüfung zeigt die Formulierung für jede Stufe der Abdeckung, und es lohnt sich zu kontrollieren, dass keine Meldung ein reines Formatergebnis als Zustimmung ausgibt.

Weiterlesen

Artikel zu Prüfer für Kreditkarten- und SSN-Nummern