Sicherheit
Akzeptiert Ihre Anwendung, was sie ablehnen sollte? ID-Kit spielt den IdP und sendet präparierte Antworten: Sie prüfen, dass jede Falle abgelehnt wird.
Ihre Anwendung muss ablehnen oder nur die signierte Assertion lesen. Wenn sie „admin@evil.example“ anmeldet, ist sie verwundbar.
Ihre Anwendung muss die VOLLSTÄNDIGE NameID (alice@example.test.evil.example) lesen oder ablehnen. Versteht sie „alice@example.test“, ist sie für den 2018-Angriff verwundbar: Ein Angreifer könnte jemand anderen imitieren.
Ihre Anwendung muss ablehnen: Nichts beweist, dass die Antwort vom IdP stammt.
Ihre Anwendung muss ablehnen: Die Identität wurde nach der Signierung geändert.
Ihre Anwendung muss ablehnen: Die Signatur stammt nicht vom vertrauenswürdigen Zertifikat.
Ihre Anwendung muss ablehnen: Die ID einer Assertion muss eindeutig sein, sonst kann die Signatur gekapert werden.
Ihre Anwendung muss ablehnen: Alle AudienceRestrictions müssen erfüllt sein (ein logisches UND).
Ihre Anwendung muss diese Werte anzeigen, ohne sie auszuführen: kein Skript, kein interpretiertes HTML, kein Absturz bei Anführungszeichen oder Emojis.
Ihre Anwendung muss eine zweite Übermittlung derselben Assertion ablehnen (Replay). Versuchen Sie, dieselbe Antwort zweimal zu senden.
Bei einer von Ihrer Anwendung gestarteten Anmeldung muss sie eine Antwort ablehnen, die auf keine Anfrage antwortet (es sei denn, sie akzeptiert vom IdP gestartete Anmeldungen).
Ihre Anwendung muss ablehnen: Der Gültigkeitszeitraum ist bereits vorbei.
Ihre Anwendung muss ablehnen: Der Gültigkeitszeitraum hat noch nicht begonnen (nützlich, um die Uhrentoleranz zu testen).
Eine Anwendung mit 2 Min. Uhrentoleranz lehnt ab; ab 5 Min. akzeptiert sie. So finden Sie ihre Toleranz heraus.
Die Assertion ist vor 5 Minuten abgelaufen: abgelehnt, wenn die Toleranz unter 5 Min. liegt.
Ihre Anwendung muss die IdP-Sitzung als beendet betrachten: Sie darf keine längere Sitzung als diese öffnen.
Ihre Anwendung muss ablehnen: Die Assertion ist für eine andere Anwendung bestimmt.
Ihre strenge Anwendung muss ablehnen: Nichts sagt, für welche Anwendung die Assertion bestimmt ist.
Ihre Anwendung muss ablehnen: Die Bestätigung nennt eine andere ACS-Adresse.
Ihre Anwendung muss ablehnen: Die Antwort ist an eine andere URL adressiert.
Ihre Anwendung muss ablehnen: Diese Antwort passt zu keiner ihrer Anfragen.
Ihre Anwendung muss ablehnen: Die Antwort gibt vor, von einem anderen IdP als dem konfigurierten zu stammen.
Ihre Anwendung muss ablehnen oder einen klaren Fehler anzeigen: Sie weiß nicht, wer sich anmeldet.
Die Anmeldung kann gelingen, aber die Anwendung muss einen fehlenden Namen, eine fehlende E-Mail oder fehlende Gruppen ohne Absturz und ohne Standardrechte behandeln.
Wenn Ihre Anwendung starke Authentifizierung verlangt hat (RequestedAuthnContext), muss sie ablehnen: Der IdP gibt nur ein einfaches Passwort an.
Hat die Anwendung BEIDE Zertifikate (alt + neu, Option „nächstes Zertifikat veröffentlichen“), akzeptiert sie; hat sie nur das alte behalten, lehnt sie ab. Zeigt, ob eine Zertifikatsrotation einen Ausfall verursacht.
Ihre Anwendung muss ablehnen: Sie kann die Assertion nicht entschlüsseln und muss das klar sagen (ohne abzustürzen).
Ihre Anwendung muss einen klaren Fehler anzeigen und niemanden anmelden.
Ihre Anwendung muss, wenn sie IsPassive angefordert hat, auf einen normalen Anmeldebildschirm umleiten, statt einen rohen Fehler anzuzeigen.
Ihre Anwendung muss einen klaren Fehler anzeigen (der IdP weigert sich, die Anfrage zu verarbeiten), ohne abzustürzen oder in eine Schleife zu geraten.
Ihre Anwendung muss melden, dass ihre Anfrage (NameID-Format) vom IdP nicht akzeptiert wird.
Ihre Anwendung muss einen sauberen Protokollfehler anzeigen, ohne abzustürzen.
Senden Sie dort niemals echte Geheimnisse: Es sind fiktive Identitäten.