Artikel


Authentifizierung und Autorisierung in der Web-API mit Ping Identity

01

Einführung

Programmierschnittstellen erleichtern den Datentransfer zwischen Systemen und stellen wichtige Zugangspunkte dar, die Organisationen mit Mitarbeitern oder Dritten verbinden. Im Prinzip straffen sie organisatorische Abläufe und sorgen somit für eine höhere Effizienz der Prozesse. Allerdings sind ungeschützte oder kompromittierte APIs hauptverantwortlich für schwere Datenverluste. Umso wichtiger ist die API-Sicherheit. Die Strategie für die API-Sicherheit hängt jedoch vom Typ der übertragenen Daten ab.

02

Authentifizierung vs. Autorisierung in der Web-API

Um den Zugriff auf eine Web-API zu steuern, stehen Nutzern einige Optionen zur Verfügung. Während die Authentifizierung die Identität des Nutzers kennt, entscheidet die Autorisierung, ob ein Nutzer eine Aktion überhaupt ausführen darf. So könnte ein Nutzer beispielsweise lediglich zum Abrufen einer Ressource berechtigt sein, jedoch nicht zum Erstellen einer solchen. Beide Funktionen sind bisweilen in Einzellösungen miteinander verbunden: So gibt es Systeme, die einen Code bereitstellen, der sowohl den Nutzer authentifiziert als auch seine Autorisierung nachweist. Doch im Prinzip geht es immer um ein System, das die Identität der Nutzer nachweist.

03

Die Bedeutung der API-Authentifizierung

Versucht eine Client-Anwendung auf eine andere Anwendung zugreifen, fragt das API-Gateway, ob der Client auch der ist, der er vorgibt zu sein. Dies erfolgt mit Hilfe eines Authentifizierungsprotokolls, welches die Anmeldedaten des Clients, der die Verbindung anfordert, an de Zugriffsserver sendet. So kann sichergestellt werden, ob dem Client der Zugriff gewährt werden kann. Hierbei soll auch ausgeschlossen werden, dass die Zugriffsanfrage versehentlich oder durch einen Cyberkriminellen erfolgt, der sich illegal Zugang zu Unternehmensressourcen erschleichen möchte.

04

Die Methoden der API-Authentifizierung

Es gibt diverse Methoden, um API-Anfragen zu authentifizieren. Die gängigsten sind die HTTP-Basis-Authentifizierung, die Authentifizierung über API-Schlüssel und die OAuth-Authentifizierung.

  • Die HTTP-Basis-Authentifizierung stellt die einfachste der drei Methoden dar. Bei der Verwendung von HTTP werden Benutzername und Passwort bei jedem API-Aufruf übermittelt – auf Wunsch auch verschlüsselt.

     

  • Bei der Authentifizierung über API-Schlüssel wird für jede Anfrage ein geheimer Schlüssel generiert, der in der Regel zusammen mit dem API-Autorisierungsheader übermittelt wird.

     

  • Entwicklern von Drittanbietern kann über HTTP-Dienste Zugriff gewährt werden, indem das OAuth 2.0 Autorisierungsframework zum Einsatz kommt. Denn dieses Framework ist in der Lage, Genehmigungen automatisch zwischen dem API-Eigentümer und dem Dienst zu orchestrieren oder auch Entwickler zu autorisieren, sich selbst Zugriffserlaubnis zu erteilen.

 

Die Auswahl der für eine bestimmte API am besten geeigneten Authentifizierungsmethode, ist einerseits abhängig vom Sicherheitsniveau, welches für die Validierung von Clients erforderlich ist, und andererseits von der Komplexität der Implementierung und Wartung.

05

Die Implementierung der Authentifizierungsmethoden

Die HTTP-Basis-Authentifizierung ist am einfachsten zu implementieren, jedoch leider recht anfällig für Bedrohungen, da das Passwort nicht verschlüsselt ist. Ebenfalls keine Probleme bei der Implementierung bereitet die Authentifizierung über API-Schlüssel. Da dieser selbst eine Identität darstellt, mit der die Anwendung oder der Nutzer identifiziert werden kann, muss er eindeutig, zufällig und nicht erratbar sein. Ebenso wichtig wie die Generierung von sicheren API-Schlüsseln ist die sichere Speicherung derselben. Anstatt den Schlüssel im Klartext zu speichern oder zu verschlüsseln, sollte er als Hash-Wert in der Datenbank verwahrt werden. Selbst wenn sich jemand unbefugt Zugriff auf diese Datenbank verschafft, können die API-Schlüssel nicht ausgelesen werden. Während die OAuth-2.0-Authentfizierung eine skalierbare Sicherheit und das beste Benutzererlebnis bietet, ist sie aufwändiger bei Implementierung und Wartung. Jedoch besteht der Vorteil darin, dass Nutzer ein bestehendes Konto verwenden und Anbieter einen bestehenden Authentifizierungsmechanismus einsetzen können, was die Dinge wiederum vereinfacht. Ein höheres Sicherheitslevel bietet die Kombination von OAuth 2.0 mit OpenID Connect, da auf diese Weise zusätzlich eine starke Autorisierung unterstützt wird.

Starten Sie jetzt

Kontaktieren Sie uns

sales@pingidentity.com

Erfahren Sie, wie Ping Ihnen helfen kann, sichere Erlebnisse für Mitarbeiter, Partner und Kunden in einer sich schnell wandelnden digitalen Welt zu bieten.