O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

145
6 Authentisierung und
Authentifizierung
Die kritischste Stelle in Ihrer webbasierten Applikation ist mit
Sicherheit der Login-Bereich. Für einen Angreifer ist die Aus-
sicht, an sensitive Daten zu gelangen oder Aktionen mit admi-
nistrativen Privilegien ausführen zu können, verlockender als
fast jede andere angreifbare Stelle Ihrer Webapplikation. Daher
sollten Sie für Login-Formulare und die mit ihrer Hilfe erfol-
gende Authentisierung und Authentifizierung besondere Sicher-
heitsmaßnahmen implementieren.
6.1 Wichtige Begriffe
Die Begriffe »Authentisierung«, »Authentifizierung« und »Autorisie-
rung« sorgen bisweilen für Verwirrung, da insbesondere die ersten bei-
den in der englischen Sprache nicht unterschieden werden – der wich-
tige Begriff der »authentication« hat hier eine Doppelbedeutung.
Trotzdem haben »Authentisierung« und »Authentifizierung« verschie-
dene Bedeutungen, deren Unterscheidung wichtig ist.
6.1.1 Authentisierung
Authentisierung ist nichts anderes als der Nachweis der eigenen Identi-
tät. Diesen Nachweis kann man grundsätzlich auf drei Arten erbringen:
Etwas, das man hat, vorzeigen – in der Computerwelt z.B. ein pri-
vater Schlüssel zur asymmetrischen Verschlüsselung, in der realen
Welt etwa eine Kreditkarte (ohne PIN).
Etwas, das man weiß, mitteilen – ein Benutzername und das dazu-
gehörige Passwort können dieses Kriterium erfüllen.
Etwas, das man ist, vorweisen – also ein Körpermerkmal wie Fin-
gerabdruck oder Iris-Muster.
6 Authentisierung und Authentifizierung 146
Auch eine Kombination dieser Kriterien ist möglich – so sind die
Authentisierungsmerkmale bei einer Zahlung per EC-Karte an der
Supermarktkasse eine Kombination aus einem Gegenstand, den Sie
besitzen, (die Karte) und einer Information, die Sie (und nur Sie!)
haben, nämlich der Geheimnummer.
Indem Sie eines der oben beschriebenen drei Merkmale zur
Authentisierung vorweisen, geben Sie Ihrer Gegenseite (also demjeni-
gen, der Sie zweifelsfrei identifizieren will) die Informationen, die zur
Authentifizierung benötigt werden.
6.1.2 Authentifizierung
Während Sie bei der Authentisierung noch selbst gehandelt und Ihrem
Kommunikationspartner Informationen gegeben haben, sind Sie bei
der Authentifizierung nur das Objekt, nicht mehr das Subjekt. Ihr
Partner – also die Website, auf der Sie sich gerade anmelden, das EC-
Terminal im Supermarkt oder der Polizeibeamte bei der Verkehrskont-
rolle – verwendet nun die von Ihnen zur Verfügung gestellten Informa-
tionen, um Sie zu authentifizieren. Diese Informationen werden gegen-
einander, aber oft auch gegen zusätzliche Informationen, die der
Gegenstelle zur Verfügung stehen, abgeglichen (etwa gegen eine Benut-
zerdatenbank). Passt die PIN nicht zur EC-Karte, der Benutzername
nicht zum Passwort oder die Fingerabdrücke zum Fahndungsprofil, so
schlägt die Authentifizierung fehl und Ihr Kommunikationspartner
kann nicht sicher sein, mit wem er gerade kommuniziert. Die Authen-
tifizierung ist also die Überprüfung der Authentisierung.
6.1.3 Autorisierung
Zuvor ging es um Ihre Identität – nachdem Sie sich authentisiert
haben, wurden Sie authentifiziert. Die Website, auf der Sie sich nun
erfolgreich angemeldet haben, verwendet jetzt Ihr zuvor gespeichertes
Nutzerprofil, um festzustellen, was Sie dürfen. Nichts anderes ist
Autorisierung: die Ermittlung, welche Aktionen Sie durchzuführen
»autorisiert«, also befugt sind. So stellt ein Unix-System anhand eines
Eintrags in der Datei
/etc/passwd fest, welche User-ID Ihr Account hat
und ob Sie Root-Rechte besitzen oder nicht. Ein Content-Manage-
ment-System könnte Ihnen anhand Ihrer Identität Administrator- oder
Redakteursprivilegien zuordnen, und bei einer EC-Zahlung wird
anhand einer Transaktion bei Ihrer Bank festgestellt, ob Sie befugt
sind, Ihr Konto mit dem zu zahlenden Betrag zu belasten.
Grundsätzlich muss gelten: Autorisierung ohne vorherige Authen-
tifizierung ist nutzlos.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required