Der ASP.net Membership Provider und die Tabellen von der Stange scheinen nicht PCI-konform zu sein. Hat bereits jemand einen PCI-konformen Membership Provider für ASP.net implementiert? Insbesondere betrachte ich die Anforderungen für Abschnitt 8.5:
-
8.5.2: Wird die Benutzeridentität überprüft, bevor Passwortzurücksetzungen für Benutzeranfragen über eine nicht von Angesicht zu Angesicht erfolgte Methode durchgeführt werden?
Hierfür denke ich an eine E-Mail mit einem Zurücksetzungstoken, das maximal X Stunden gültig ist. Der Standardanbieter generiert einfach einen zufälligen Wert und sendet ihn per E-Mail (obwohl wir Sicherheitsfragen/Antworten aktivieren könnten, um diese Anforderung zu erfüllen).
-
8.5.5: Werden inaktive Benutzerkonten, die älter als 90 Tage sind, entweder entfernt oder deaktiviert?
Der Standardanbieter unterstützt diese Aktion nicht. Wir könnten in das OnLoggingIn eingreifen, um einige Überprüfungen durchzuführen, bevor der Anmeldeversuch fortgesetzt wird.
-
8.5.9: Werden Benutzerpasswörter mindestens alle 90 Tage geändert?
Dies sollte bei OnLoggedIn überprüft werden können. Wenn das Datum des letzten Passworts > 90 ist, sollte anstelle des gewünschten Inhalts zum Passwortänderungsformular umgeleitet werden.
-
8.5.12: Muss eine Person ein neues Passwort eingeben, das sich von den letzten vier von ihr verwendeten Passwörtern unterscheidet?
Ich glaube nicht, dass die Membership-Tabellen der Standardanbieter dies unterstützen. Wir könnten eine Passwortverlaufstabelle hinzufügen und jedes Mal einen Eintrag vornehmen, wenn jemand ein neues Passwort erstellt. Diese könnten dann im OnChangingPassword-Ereignis des ChangePassword-Steuer Elements überprüft werden.
Ich bin vollkommen in der Lage, dies selbst zu tun, aber wenn es bereits etwas gibt, würde ich das gerne nutzen.