Skip to content

Commit f85fe53

Browse files
committed
Improve passkey release notes links and styling
1 parent 4709c99 commit f85fe53

10 files changed

Lines changed: 128 additions & 118 deletions

docs/.vitepress/theme/components/AcrLevels.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ defineProps({
55
default: () => [
66
{
77
acr: 'mid_al2_any',
8-
label: 'UX-focused',
8+
label: 'UX-focused / AL2',
99
description: 'Passkey preferred, fallback to SIM/App/SMS',
1010
color: 'green',
1111
},
1212
{
1313
acr: 'mid_al4_any',
14-
label: 'Security-focused',
14+
label: 'Security-focused / AL4',
1515
description: 'Passkey preferred, fallback to SIM/App',
1616
color: 'darkgreen',
1717
},
1818
{
1919
acr: 'mid_al4_passkey',
20-
label: 'Highest security / AAL3',
21-
description: 'Passkey-only, no fallback',
20+
label: 'Highest security / AL4',
21+
description: 'Passkey-only, no fallback; can satisfy NIST AAL3 in suitable deployments',
2222
color: 'pink',
2323
},
2424
],

docs/.vitepress/theme/release-notes.css

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
--blog-bg-subtle: #f8f9fa;
4242
--blog-border: #e5e7eb;
4343
--blog-card-bg: #fff;
44+
--blog-link: #0645ad;
45+
--blog-link-hover: #0b57d0;
46+
--blog-code-bg: #f1f3f5;
47+
--blog-code-border: #d9dee5;
48+
--blog-code-text: #1f2937;
4449
}
4550

4651
.blog-layout h1,
@@ -59,6 +64,11 @@
5964
--blog-bg-subtle: #1a1a1a;
6065
--blog-border: #374151;
6166
--blog-card-bg: #1f2937;
67+
--blog-link: #7fb3ff;
68+
--blog-link-hover: #a8cbff;
69+
--blog-code-bg: #273142;
70+
--blog-code-border: #3b4b63;
71+
--blog-code-text: #e5edf8;
6272
}
6373

6474
/* Hero gradient (used by both layouts) */
@@ -91,6 +101,42 @@
91101
font-weight: 400;
92102
}
93103

104+
.blog-content a:not(.header-anchor):not(.blog-card-link) {
105+
color: var(--blog-link);
106+
text-decoration: underline;
107+
text-decoration-thickness: 1px;
108+
text-underline-offset: 0.14em;
109+
}
110+
111+
.blog-content a:not(.header-anchor):not(.blog-card-link):visited {
112+
color: var(--blog-link);
113+
}
114+
115+
.blog-content a:not(.header-anchor):not(.blog-card-link):hover,
116+
.blog-content a:not(.header-anchor):not(.blog-card-link):focus-visible {
117+
color: var(--blog-link-hover);
118+
text-decoration-thickness: 2px;
119+
}
120+
121+
.blog-content a:not(.header-anchor):not(.blog-card-link) code {
122+
color: inherit;
123+
}
124+
125+
.blog-content :not(pre) > code {
126+
display: inline-block;
127+
padding: 0.12em 0.42em;
128+
border: 1px solid var(--blog-code-border);
129+
border-radius: 6px;
130+
background: var(--blog-code-bg);
131+
color: var(--blog-code-text);
132+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
133+
font-size: 0.9em;
134+
line-height: 1.3;
135+
vertical-align: baseline;
136+
box-decoration-break: clone;
137+
-webkit-box-decoration-break: clone;
138+
}
139+
94140
.blog-content h2 {
95141
color: var(--blog-green-40);
96142
margin-top: 2em;
173 KB
Loading
88.8 KB
Loading
81.3 KB
Loading
76.1 KB
Loading

docs/release-notes/posts/2026-03-23-mobile-id-passkeys.de.md

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,15 @@ Microsoft blockiert täglich rund 7'000 Passwort-Angriffe pro Sekunde, und 47 %
3535
</div>
3636
</div>
3737

38-
## NIST AAL: Der Referenzrahmen für Sicherheitsniveaus
38+
## NIST AAL und ISO/IEC LoA: Referenzrahmen für Sicherheitsniveaus
3939

40-
Bevor die einzelnen Methoden im Detail betrachtet werden, ist ein gemeinsames Verständnis der Sicherheitsstufen entscheidend. Der NIST-Standard SP 800-63B definiert drei Authenticator Assurance Levels (AAL), die in regulierten Branchen wie Banking, Healthcare und Government als Referenzrahmen dienen.
40+
Bevor die einzelnen Methoden im Detail betrachtet werden, ist ein gemeinsames Verständnis der Sicherheitsstufen entscheidend. In der Praxis werden dafür zwei Referenzrahmen häufig herangezogen: NIST SP 800-63B (heute in Revision 4) mit drei Authenticator Assurance Levels (AAL1-AAL3) und ISO/IEC 29115:2013 mit vier Levels of Assurance (LoA1-LoA4). Beide beschreiben vom Prinzip her dasselbe: wie hoch die Vertrauens- bzw. Sicherheitsstufe einer Authentisierung ist. Verwirrend ist nur, dass die Skalen unterschiedlich benannt und nummeriert sind. Das höchste Niveau ist daher je nach Referenzrahmen entweder **AAL3** oder **LoA4**.
4141

4242
**AAL1** verlangt lediglich eine Einzel-Faktor-Authentisierung. Passwörter, SMS-OTPs oder einfache Token erfüllen diese Stufe. Das Sicherheitsniveau ist gering.
4343

4444
**AAL2** erfordert zwei unterschiedliche Faktoren. Zusätzlich muss für Online-Dienste eine phishing-resistente Option angeboten werden. Cloud-Synced Passkeys, TOTP-Generatoren, Mobile Push (wie Mobile ID SIM oder App) und Multi-Faktor-OTP-Geräte erfüllen AAL2.
4545

46-
**AAL3** ist das höchste Niveau. Es verlangt Public-Key-Kryptografie, ein nach FIPS 140 Level 2 oder höher validiertes Hardware-Modul, phishing-resistente Verfahren und einen nicht exportierbaren privaten Schlüssel. Zudem gilt eine Re-Authentisierung nach 15 Minuten Inaktivität. Nur wenige Authenticatoren erfüllen diese Anforderungen vollständig: FIPS-zertifizierte Security Keys (z.B. YubiKey 5 FIPS Series), bestimmte Smartcards und Hardware Security Modules.
46+
**AAL3** ist das höchste NIST-Niveau. Es verlangt phishing-resistente Public-Key-Kryptografie mit nicht exportierbarem privatem Schlüssel sowie zusätzliche Hardware-, Kryptografie- und Re-Authentisierungsanforderungen. Nur wenige Authenticatoren erfüllen diese Anforderungen vollständig: FIPS-zertifizierte Security Keys (z.B. YubiKey 5 FIPS Series), bestimmte Smartcards und Hardware Security Modules.
4747

4848
## Was sind Passkeys?
4949

@@ -93,11 +93,11 @@ Dies ist die technische Grundlage für den geplanten Mobile ID Passkey Vault: Di
9393

9494
Passkeys versprechen eine einfache User Experience. Die technische Realität hinter den Kulissen ist jedoch anspruchsvoll. Eine vollständige Passkey-Infrastruktur erfordert:
9595

96-
Ein **WebAuthn-Backend** mit FIDO2-Server-Library, Attestation-Validierung, Credential-Management und sicherer Schlüsselspeicherung. Ein **Credential-Lifecycle-Management** für Registrierung, Deaktivierung, Wiederherstellung und die Verwaltung mehrerer Passkeys pro Benutzer. **Fallback-Mechanismen** für Benutzer ohne Passkey-fähiges Gerät oder bei fehlgeschlagener Authentisierung. **Compliance-Prüfungen** für regulierte Branchen, einschliesslich AAGUID-Validierung gegen die FIDO Metadata Service (MDS) Datenbank und FIPS-Zertifizierungsprüfung.
96+
Ein **WebAuthn-Backend** mit FIDO2-Server-Library, Attestation-Validierung, Credential-Management und sicherer Schlüsselspeicherung. Ein **Credential-Lifecycle-Management** für Registrierung, Deaktivierung, Wiederherstellung und die Verwaltung mehrerer Passkeys pro Benutzer. **[Fallback-Mechanismen](/oidc-integration-guide/passkey-authentication#passkey-only-vs-fallback)** für Benutzer ohne Passkey-fähiges Gerät oder bei fehlgeschlagener Authentisierung. **Compliance-Prüfungen** für regulierte Branchen, einschliesslich [AAGUID-Validierung](/oidc-integration-guide/passkey-authentication#rp-control-over-passkey-quality) gegen die FIDO Metadata Service (MDS) Datenbank und FIPS-Zertifizierungsprüfung.
9797

9898
Mobile ID löst diese Komplexität: Relying Parties integrieren nicht die Passkey-Infrastruktur selbst, sondern den Mobile ID OIDC Service. Die Passkey-Registrierung und -Verwaltung findet zentral auf mobileid.ch statt. Ein Passkey wird einmal registriert und kann anschliessend bei allen angebundenen Relying Parties genutzt werden.
9999

100-
Für Unternehmen bedeutet das eine Standard-OIDC-Integration mit konfigurierbaren ACR-Werten, automatischem Fallback auf SIM, App oder SMS und der Sicherheit eines Partners wie Swisscom, der diese Lösungen selbst zum Schutz hochkritischer Infrastrukturen einsetzt.
100+
Für Unternehmen bedeutet das eine Standard-OIDC-Integration mit [konfigurierbaren ACR-Werten](/oidc-integration-guide/passkey-authentication#passkey-acr-values), automatischem Fallback auf SIM, App oder SMS und der Sicherheit eines Partners wie Swisscom, der diese Lösungen selbst zum Schutz hochkritischer Infrastrukturen einsetzt.
101101

102102
## Sicherheitsprofil nach Nutzungskontext
103103

@@ -141,7 +141,7 @@ Beim Gerätewechsel steckt der Benutzer die SIM einfach um. Das Konto bleibt erh
141141

142142
Die Mobile ID App (iOS und Android) bietet neben biometrischer Authentisierung ein breites Spektrum an Zusatzfunktionen, die mit Passkeys nicht abbildbar sind:
143143

144-
**Push-basierte Authentisierung** mit Biometrie oder Passcode als zweitem Faktor. **Geofencing** mit GPS-basierter Standortbestimmung und integrierter Jailbreak- und Mock-Service-Erkennung, die GPS-Spoofing erschwert. **Number Matching**, bei dem der Benutzer eine auf dem Bildschirm angezeigte Zahl in der App bestätigt. **Transaction Signing**, das Transaktionsdaten (z.B. "Bestätige die Überweisung von CHF 1'000 auf Konto XY") direkt auf dem Gerät anzeigt und die explizite Zustimmung des Benutzers erfordert. App-to-App-Wechsel ermöglicht in Banking-Szenarien den automatisierten Wechsel von der Fachapplikation zur Mobile ID App und zurück.
144+
**Push-basierte Authentisierung** mit Biometrie oder Passcode als zweitem Faktor. **Geofencing** mit GPS-basierter Standortbestimmung und integrierter Jailbreak- und Mock-Service-Erkennung, die GPS-Spoofing erschwert. **Number Matching**, bei dem der Benutzer eine auf dem Bildschirm angezeigte Zahl in der App bestätigt. **[Transaction Signing](/oidc-integration-guide/message-formats)**, das Transaktionsdaten (z.B. "Bestätige die Überweisung von CHF 1'000 auf Konto XY") direkt auf dem Gerät anzeigt und die explizite Zustimmung des Benutzers erfordert. App-to-App-Wechsel ermöglicht in Banking-Szenarien den automatisierten Wechsel von der Fachapplikation zur Mobile ID App und zurück.
145145

146146
Die App basiert auf der Technologie von Futurae (ETH Zürich Spin-off) und nutzt das Trusted Execution Environment (TEE) des Geräts. Sie ist weltweit in freigegebenen Ländern über den App Store verfügbar.
147147

@@ -167,7 +167,7 @@ Der Push-Schritt bleibt auf dem Smartphone. Am Desktop authentisiert sich der Be
167167

168168
## Mobile ID Authentication Levels: Granulare Steuerung über ACR-Werte
169169

170-
Neben dem oben beschriebenen NIST-AAL-Referenzrahmen definiert Mobile ID eigene Authentication Levels (AL2–AL4) als ACR-Werte im OIDC Authorization Request. Diese Stufen steuern, welche Authentisierungsmethoden für einen Login zulässig sind, und sind nicht mit NIST AAL1–AAL3 zu verwechseln. Die vollständige ACR-Matrix ist im [OIDC Integration Guide](/oidc-integration-guide/getting-started#authentication-context-class-reference-acr) dokumentiert.
170+
Neben diesen externen Referenzrahmen definiert Mobile ID eigene Authentication Levels (AL2–AL4) als ACR-Werte im [OIDC Authorization Request](/oidc-integration-guide/getting-started#authorization-code-request). Diese Werte legen fest, welche Authentisierungsmethoden für einen Login erlaubt sind. Mobile ID orientiert sich dabei an der vierstufigen Logik aus ISO/IEC 29115. `AL4` bezeichnet entsprechend die höchste Mobile-ID-Sicherheitsstufe. Die vollständige ACR-Matrix ist im [OIDC Integration Guide](/oidc-integration-guide/getting-started#authentication-context-class-reference-acr) dokumentiert.
171171

172172
<AcrLevels />
173173

@@ -181,42 +181,33 @@ Der technische Rollout ist für Relying Parties denkbar einfach.
181181

182182
### Zentrale Registrierung auf mobileid.ch
183183

184-
Benutzer verwalten ihre Passkeys über das MyMobileID Dashboard auf mobileid.ch/login. Dort können sie neue Keys hinzufügen, bestehende bearbeiten oder löschen. Die Passkeys werden auf der Domain m.mobileid.ch gespeichert und stehen anschliessend bei allen angebundenen Relying Parties zur Verfügung.
184+
Benutzer verwalten ihre Passkeys über das [MyMobileID Dashboard](/oidc-integration-guide/passkey-authentication#passkey-registration) auf mobileid.ch/login. Dort macht eine neue Kachel sichtbar, wo Passkeys zentral registriert und gepflegt werden. Die Passkeys werden auf der Domain m.mobileid.ch gespeichert und stehen anschliessend bei allen angebundenen Relying Parties zur Verfügung.
185185

186-
Der Registrierungsablauf:
186+
Die neue Dashboard-Ansicht zeigt den Einstiegspunkt und die zentrale Verwaltung auf einen Blick:
187187

188-
<ScreenshotStep img="/release-notes/media/mymobileid-dashboard-manage-passkeys-tile.png" alt="MyMobileID Dashboard: Mobile ID Passkey Kachel mit MANAGE PASSKEYS Button">
189-
<p><strong>1.</strong> Login auf mobileid.ch (Verifizierung via SMS-OTP zur Bestätigung der Mobilnummer).</p>
190-
<p><strong>2.</strong> Im Dashboard die Kachel "Mobile ID Passkey" anwählen und "MANAGE PASSKEYS" klicken.</p>
191-
<p><strong>3.</strong> "Add a passkey" wählen. Der native Browser-Dialog erscheint (Touch ID, Face ID oder Security Key).</p>
192-
<p><strong>4.</strong> Biometrische Bestätigung oder PIN-Eingabe am Authenticator.</p>
188+
<ScreenshotStep img="/release-notes/media/manage-passkeys-button.jpg" alt="MyMobileID Dashboard: Mobile ID Passkey Kachel mit MANAGE PASSKEYS Button">
189+
<p>Die Kachel <strong>Manage Passkeys</strong> ist der zentrale Einstiegspunkt für das neue Passkey-Feature in MyMobileID. Hier starten Benutzer die Registrierung und Verwaltung ihrer Passkeys.</p>
193190
</ScreenshotStep>
194191

195-
<ScreenshotStep img="/release-notes/media/add-a-passkey.png" alt="Add a passkey: Nativer iOS-Dialog zum Speichern eines Passkeys auf m-lab.mobileid.ch">
196-
<p><strong>5.</strong> Der Passkey ist registriert und erhält eine eindeutige KeyRingID.</p>
197-
<p>Die KeyRingID (z.B. <code>MIDPK5VQ8JV1TGL</code>) ist die stabile Kennung einer Passkey-Registrierung. Für hohe Assurance-Szenarien (AL4) muss die Relying Party diese KeyRingID im <code>login_hint</code> übergeben, damit Mobile ID die korrekte Passkey-Bindung prüfen kann.</p>
198-
</ScreenshotStep>
199-
200-
<ScreenshotStep img="/release-notes/media/passkey-management-list-passkeys.png" alt="Passkey-Management: Liste registrierter Passkeys mit Typ-Badges und KeyRingID">
201-
<p>Im Passkey-Management sieht der Benutzer alle registrierten Passkeys mit Typ-Kennzeichnung: Device-Bound Keys zeigen ein Stern-Badge, Cloud-Synced Keys zeigen "Synced" und "StepUp" Badges. Jeder Eintrag zeigt die KeyRingID, das Erstellungsdatum und die letzte Nutzung.</p>
192+
<ScreenshotStep img="/release-notes/media/manage-passkeys-2.jpg" alt="Passkey-Verwaltung in MyMobileID mit Liste registrierter Passkeys">
193+
<p>Nach dem Öffnen sehen Benutzer ihre bereits registrierten Passkeys in einer übersichtlichen Verwaltungsansicht und können ihr Passkey-Portfolio bei Bedarf erweitern oder pflegen.</p>
202194
</ScreenshotStep>
203195

204196
<PasskeyRegistrationFlow />
205197

206198
### RP-Login via OIDC
207199

208-
Wenn ein Benutzer bei einer Relying Party auf "Sign in with Mobile ID" klickt, erfolgt ein OIDC Authorization Code Flow:
200+
Für typische Login-Szenarien bei einer Relying Party steht im Dashboard neu auch der <strong>Mobile ID Check</strong> zur Verfügung. Damit können Benutzer ihre aktivierten Mobile ID Methoden in einem realistischen Authentisierungs-Use-Case testen:
201+
202+
<ScreenshotStep img="/release-notes/media/passkey-check-button.jpg" alt="MyMobileID Dashboard: Mobile ID Check Kachel mit TEST Button">
203+
<p>Die Kachel <strong>Mobile ID Check</strong> bietet einen einfachen Einstieg, um vorhandene Mobile ID Methoden wie SIM, App oder neu auch Passkey direkt im Dashboard zu testen.</p>
204+
</ScreenshotStep>
209205

210-
<ScreenshotStep img="/release-notes/media/sign-in-with-passkey.png" alt="Passkey-Login: Nativer iOS-Dialog zur Authentisierung mit Passkey auf mobileid.ch">
211-
<p><strong>1.</strong> Die RP leitet den Benutzer per Redirect zu Mobile ID weiter, mit dem gewünschten ACR-Wert im Authorization Request.</p>
212-
<p><strong>2.</strong> Mobile ID zeigt die Passkey-Authentisierungsseite ("Passkey oder FIDO2 Sicherheitsschlüssel").</p>
213-
<p><strong>3.</strong> Der native Browser-Dialog erscheint: "Sign in to mobileid.ch with your passkey".</p>
214-
<p><strong>4.</strong> Der Benutzer bestätigt per Biometrie oder Security Key.</p>
215-
<p><strong>5.</strong> Mobile ID validiert die Assertion und leitet mit Authorization Code zurück zur RP.</p>
216-
<p><strong>6.</strong> Die RP tauscht den Code gegen ID Token und Access Token.</p>
206+
<ScreenshotStep img="/release-notes/media/passkey-check-2.jpg" alt="Mobile ID Check mit Auswahl der verfügbaren Methoden App und Passkey">
207+
<p>Ist bereits mindestens ein Passkey registriert, erscheint Passkey als auswählbare Methode. So lässt sich die neue Login-Option vor dem produktiven Einsatz in einem typischen [Login-Flow](/oidc-integration-guide/passkey-authentication#authentication-flow-oidc) schnell validieren.</p>
217208
</ScreenshotStep>
218209

219-
Je nach konfiguriertem ACR-Wert wird der passende Flow ausgelöst. Bei `mid_al4_passkey` wird ausschliesslich ein Passkey akzeptiert. Bei `mid_al2_any` kann der Benutzer zwischen Passkey, SIM, App oder SMS wählen. Bei Fehlern oder fehlenden Passkeys kann die RP einen sicheren Fallback auf andere Methoden zulassen.
210+
Je nach konfiguriertem [ACR-Wert](/oidc-integration-guide/passkey-authentication#passkey-acr-values) wird der passende Flow ausgelöst. Bei `mid_al4_passkey` wird ausschliesslich ein Passkey akzeptiert. Bei `mid_al2_any` kann der Benutzer zwischen Passkey, SIM, App oder SMS wählen. Bei Fehlern oder fehlenden Passkeys kann die RP einen sicheren [Fallback](/oidc-integration-guide/passkey-authentication#passkey-only-vs-fallback) auf andere Methoden zulassen.
220211

221212
<PasskeyLoginFlow />
222213

0 commit comments

Comments
 (0)