Die Frage, wer wir sind, beschäftigt nicht nur uns selbst, sondern auch alle Anbieter von Diensten aller Art, wenn sie mit Computern zu tun haben. Heute sprechen wir über die Mechanismen, die zur Feststellung einer Person oder ihrer Berechtigungen besonders im Netz verwendet werden.
Shownotes
grundsätzliche Begriffsklärung
Authentifizierung: Nachweis einer behaupteten Eigenschaft einer Entität; hier: der Nachweis der Identität einer Person, eines Gerätes oder eines Prozesses ("Wer ist dieser Benutzer?")Autorisierung: die Einräumung von Rechten gegenüber einem interessierten Subjekt; hier: das initiale Zuweisen und das wiederholt einleitende Überprüfen von Zugriffsrechten ("Darf dieser Benutzer auf dieses Dokument zugreifen?")im englischen Sprachgebrauch "authentication" (AuthN) und "authorization" (AuthZ)AuthN durch einen oder mehrere von drei wesentlichen Arten von Identitätsmerkmalen
Wissen: etwas, dass ich weiß (Passwörter, PINs, etc.)Besitz: etwas, dass ich habe (Chipkarte, Lichtbildausweis, Mobiltelefon, PC, etc.)Inhärenz: etwas, dass ich bin (Fingerabdruck, Iris-Abbild, etc.) -> Achtung: Problematisch, weil nicht änderbar!Multifaktor-Authentifizierung: Wer eines der drei Merkmale gut angreifen kann, kann selten eins der anderen Merkmale gut angreifen.schlechte Arten von Merkmalen
Magnetstreifenkarte (Besitz-Merkmal): trivial kopierbar -> deswegen heute meist ChipkartenChipkarten sind kleine Computer, die sich per Challenge-Response authentisieren könnensiehe zum Beispiel ChipTANCode per SMS (Besitzfaktor): auf Telefonebene angreifbar durch Malware mit erschlichener SMS-Berechtigung, auf Netzwerkebene angreifbar durch Umleitung der SMSals Besitzfaktor buchstäblich "besser als nichts"besser ist eine Authentisierungs-App mit TOTPzu kreativen Angriffen auf Besitzmerkmale und Biometrie siehe die Vorträge von Starbugfrüher meist Access Control Lists (ACL): jedes Datenobjekt hat eine Liste mit zugriffsberechtigten Benutzerkonten und GruppenBeispiel ACL in Unix: Dateisystemeinträge haben rwx-Bits (Lesezugriff, Schreibzugriff, Ausführzugriff) jeweils für das besitzende Benutzerkonto, die besitzende Gruppe und alle Benutzerkontenheute meist Role-Based Access Control (RBAC) auf der Ebene von semantischen OperationenBeispiel RBAC in OpenStack: Benutzerkonten oder Benutzergruppen können Rollenzuweisungen erhalten; die Menge der zugewiesenen Rollen bestimmt, welche Aktionen ein Benutzer ausführen kannAuthentisierung im Webkontext: Single Sign-On (SSO) via SAML, OIDC
Idee: Authentisierung bei einem zentralen Identitätsanbieter, dann Verwendung dieser festgestellten Identität in einem ZielsystemSSO könnte man auch mit LDAP haben, aber SAML/OIDC erlaubt eine Einschränkung, welche Identitätsdaten der autorisierende Dienst vom authentifizierenden Dienst erhält