Files
onyx/docs/spikes/I-passwortpruefung.md
T
ScarriffleandClaude Opus 5 e3b215a1dd Ein eigener Sperrbildschirm — und ohne gespeichertes Passwort
Kameraaufnahme, Anlernen über drei Posen, Fenster je Bildschirm auf
Bildschirmschoner-Ebene, Passwortrückfall.

**Das Anmeldepasswort wird nicht gespeichert.** Ein Spike hat den Weg
freigeräumt: `ODRecord.verifyPassword` ist öffentliche API, die Eingabe geht
direkt hinein, das Ergebnis ist ein `Bool`, danach ist die Zeichenkette wieder
weg. Damit fällt der Grund weg, aus dem vergleichbare Programme sich das
Passwort geben lassen und in die Keychain legen.

Angelernt wird über drei Posen mit je fünf Aufnahmen. Der Merkmalsvektor ist ein
allgemeiner Bildmerkmalsvektor und kein Gesichtsmerkmal — er reagiert auf
Kopfhaltung und Beleuchtung mit. Eine einzige Aufnahme beschreibt genau eine
Haltung bei genau einem Licht.

Die Vektoren liegen in der Keychain, nicht in einer Datei: aus ihnen lässt sich
kein Bild zurückgewinnen, aber wer sie hat, kann prüfen, ob eine bestimmte
Person vor der Kamera stand.

Die Einschränkung steht auf dem Sperrbildschirm selbst und nicht im
Kleingedruckten: Bequemlichkeit, keine Sicherheitsgrenze; der Vergleich läuft
über die Webcam und lässt sich mit einem Foto täuschen. Wer sich darauf
verlässt, tut es dort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-05 21:22:32 +02:00

39 lines
1.5 KiB
Markdown

# Spike I — Passwort prüfen, ohne es zu speichern
> Im Plan heißt dieser Spike „J". Die Buchstaben in `docs/spikes/` sind
> fortlaufend vergeben; hier läuft die vorhandene Reihe weiter.
**Frage.** Sapphire lässt sich das Anmeldepasswort geben und legt es in die
Keychain. Geht es ohne — kann ein eigener Sperrbildschirm eine Eingabe gegen die
echte Anmeldung prüfen, ohne das Passwort je abzulegen?
**Gemessen am 05.09.2026**, `Spikes/password-check-probe.swift`.
## Ergebnis
| Prüfung | Befund |
|---|---|
| `ODNode` vom Typ `kODNodeTypeAuthentication` | erreichbar |
| Datensatz des angemeldeten Benutzers | gefunden |
| `ODRecord.verifyPassword(_:)` | vorhanden |
**Ja.** OpenDirectory ist öffentliche API. Die Eingabe geht direkt in
`verifyPassword`, das Ergebnis ist ein `Bool`, und danach ist die Zeichenkette
wieder weg.
## Was das heißt
Der Eintrag „Das Anmeldepasswort in der Keychain" bleibt auf der Liste dessen,
was **bewusst nicht** gebaut wird. Es gibt keinen Grund dafür.
Ein gespeichertes Anmeldepasswort ist die Sorte Sicherheitsschuld, die man nicht
aufnimmt, wenn es auch ohne geht: es liegt dann dauerhaft in einem Format, aus
dem es sich zurückholen lässt, und schützt ist es nur so gut wie der Prozess, der
darauf zugreifen darf.
## Was der Spike ausdrücklich **nicht** getan hat
Kein Passwort geprüft. Fehlversuche gegen ein echtes Konto können Sperrfristen
auslösen — das ist nichts, was ein Spike anrichten darf. Geprüft wurde nur, dass
der Weg offensteht.