Eine als Kontonummer bezeichnete Angabe ist nicht automatisch eine öffentliche Referenz, und die Bezeichnung ist nicht der Test. Der Test ist, was der Besitz erlaubt: Wenn die Kenntnis der Nummer jemanden anmeldet, ein Verbindungsprofil herunterlädt oder ein Gerät autorisiert, dann ist diese Nummer ein Zugangsdatum mit einem Lebenszyklus. Ich führe die fünf Prüfungen unten durch, wann immer ein Dienst eine numerische Identität ausgibt und sie harmlos nennt. Jede erzeugt eine Zeile in einem kurzen Protokoll, und das Protokoll ist das Ergebnis, nicht ein Urteil über das Produkt.

Erfasse, was der Besitz tatsächlich gewährt

Schreibe jede Aktion auf, die die Nummer freischaltet, und zwar getrennt. Die Anmeldung an einem Portal, das Abrufen einer Konfigurationsdatei, die Autorisierung eines neuen Geräts und die Bereitstellung eines akzeptierten Tunnel-Logins sind unterschiedliche Befugnisse, und ein Dienst kann eine davon ohne die anderen implementieren. Ein Portal, das die Nummer als einziges Feld akzeptiert, sagt nichts darüber, wie der Tunnel seinen Peer authentifiziert später oder wie Verkehrsschlüssel abgeleitet werden.

Das allgemeine Modell ist leicht zu benennen: Ein Bearer-Zugangsdatum ist eines, bei dem der Inhaber es nutzen kann, ohne den Besitz eines separaten kryptografischen Schlüssels nachzuweisen, was die Unterscheidung ist, die RFC 6750 für Tokens zieht. Das ist ein Vergleich, keine Behauptung, dass ein nummernbasiertes Dienst OAuth implementiert. Wenn der Inhaber nichts anderes braucht, behandle die Nummer als Bearer-Geheimnis und klassifiziere den Rest des Designs entsprechend.

Schütze sie wie ein Geheimnis, nicht wie eine Referenz

Die Speicherung folgt aus der Klassifizierung. Ein Wert, der anmeldet, gehört in einen Passwortmanager, nicht in einen Screenshot, einen Zwischenablageverlauf, eine Chatnachricht oder eine Browsernotiz. Screenshots sind das übliche Leck: Die Nummer ist kurz und wirkt harmlos, deshalb landet sie in einem Support-Thread, der das Gerät überlebt, von dem sie stammt.

Phishing ist der andere Fehlermodus, und es kümmert sich nicht darum, wie zufällig die Nummer ist. Ein Betrüger, der den Wert will, wird dich bitten, ihn in ein Formular einzufügen, und ein Zugangsdatum, das nie abläuft und keinen zweiten Faktor hat, ist die Mühe wert. Erreiche den Anmeldepfad über ein Lesezeichen oder eine bekannte Adresse, nicht über einen Link in einer Nachricht, die auch nach der Nummer fragt.

Behandle Wiederherstellungsmaterial als Teil des Geheimnisses. Wenn der Betreiber auch einen Wiederherstellungscode, eine PIN oder eine E-Mail-Adresse ausgegeben hat, mit der das Konto zurückgesetzt werden kann, sind das separate Zugangsdaten mit derselben Schutzanforderung. Ein ungeschützter Reset-Kanal macht jede andere Kontrolle zur Dekoration.

Prüfe Rate-Widerstand und Rate-Limiting zusammen

Länge ist nur im Zusammenhang mit der Erzeugungsmethode aussagekräftig. Eine lange Nummer aus einer vorhersagbaren Sequenz ist schwächer als ein kurzer Wert aus einem kryptografischen Generator, und eine beeindruckende Stellenzahl belegt keine Unvorhersagbarkeit. Frage, wie der Wert erzeugt wird, bevor du darüber nachdenkst, wie schwer er zu erraten ist.

Rate-Widerstand allein übersteht auch keine unbegrenzte Versuchsrate. Die Kontrollen, die zählen, sind die, die der Betreiber implementiert: Fehlversuchszähler, Sperren, Drosselung pro Quelle und ob eine falsche Nummer von einer nicht existierenden unterscheidbar ist. Wenn der Dienst es unterstützt, zeigt ein fehlgeschlagener Versuch, wie der Fehler aussieht und ob ein Wiederholungszähler erscheint:

# one attempt, then read the response and any counter or delay
# do not script repeated guesses against a live account
curl -i -X POST https://portal.example.invalid/login -d "account=000000000000"

Halte fest, was die Antwort verrät. Ein eigener Fehler für ein unbekanntes Konto ist ein Enumerationsorakel, selbst wenn die Nummer nicht erratbar ist, und dieser Befund gehört ins Protokoll, ob du ihn clientseitig beheben kannst oder nicht.

Plane Rotation und Widerruf, bevor du sie brauchst

Finde den unterstützten Prozess für eine verlorene oder offengelegte Nummer und schreibe ihn auf, solange alles funktioniert. Lässt sich das Konto-Zugangsdatum überhaupt ersetzen? Macht der Ersatz bereits registrierte Geräte, aktive Sitzungen oder heruntergeladene Konfiguration ungültig? Welches Wiederherstellungsmaterial verlangt der Prozess? Ein Dienst ohne E-Mail-Abhängigkeit kann dem Nutzer mehr Wiederherstellungsverantwortung übertragen, was das Verfahren wichtiger macht, nicht weniger.

Trenne Kontowechsel von Zugangsdaten-Widerruf. Wenn die Nummer das Herunterladen eines Schlüssels, Zertifikats oder Profils autorisiert, kann der Ersatz der Nummer dieses heruntergeladene Material gültig lassen, und der Widerruf des heruntergeladenen Materials kann eine andere Operation mit einem anderen Eigentümer sein. Nimm nicht an, dass ein geändertes Feld jede Verbindung beendet; prüfe das tatsächliche Modell des Betreibers und notiere, wo du es verifiziert hast.

Dokumentiere die Entscheidung und prüfe sie später erneut

Führe pro Dienst ein einseitiges Protokoll: welche Befugnisse die Nummer gewährt, wo sie gespeichert ist, wer sie zurücksetzen kann, welche Nutzungsnachweise existieren und was du in der ersten Stunde nach der Offenlegung tun würdest. Dieses Protokoll verwandelt eine Terminologiedebatte in eine Entscheidung, die jemand prüfen kann.

Datenschutzbehauptungen brauchen ihren eigenen Geltungsbereich. Eine zufällig erzeugte Nummer kann trotzdem eine stabile Kennung sein, die Kontoereignisse über die Zeit verknüpft; Unvorhersagbarkeit ist nicht Unverknüpfbarkeit, und keine der beiden Eigenschaften sagt etwas über gespeicherte Netzwerkmetadaten aus. Vergleiche vollständige Designs, statt Felder auf einem Anmeldebildschirm zu zählen.

Bevor du es ablegst:

  • Jede Befugnis, die die Nummer gewährt, ist aufgeführt, einschließlich Downloads und Geräteautorisierung.
  • Speicher- und Wiederherstellungskanäle sind nach demselben Standard geschützt wie die Nummer selbst.
  • Die Erzeugungsmethode und die Ratenbegrenzungen sind bekannt, nicht aus der Länge angenommen.
  • Ein Ersetzungsverfahren und ein Widerrufsverfahren existieren, und du weißt, welches welches aufhebt.
  • Das Protokoll nennt, wer den Wert zurücksetzen kann und welche Nachweise nach der Nutzung verbleiben.

Ähnliche Artikel