OAuth 2.0: Der Weg in die Hölle?

Bei OAuth handelt es sich um ein offenes Protokoll zur sicheren API-Autorisierung für Desktop-, Web- und Mobile-Applikationen. Kurz gesagt, es ermöglicht es, Nutzern, Apps und Diensten Zugriff auf die Daten von anderen Apps und Diensten einzuräumen, ohne dass diese dazu ihr Passwort benötigen.
Mit OAuth 2.0 wird seit Jahren an der zweiten, nicht abwärtskompatiblen Version von OAuth gearbeitet, die eigentlich schon Ende 2010 hätte fertig sein sollen. Verantwortlich für die Spezifikation war Eran Hammer-Lahav, der jetzt mit dem Protokoll hart ins Gericht geht. Viele Kompromisse hätten dazu geführt, dass OAuth 2.0 seine zwei Hauptziele verfehle: Sicherheit und Interoperabilität.
Hammer nennt als Beispiele für solche Kompromisse, OAuth 2.0 nicht mehr als Protokoll sondern als Framework zu bezeichnen, oder den Hinweis einzufügen, dass die Spezifikation vermutlich nicht zu interoperablen Implementierungen führe. Letztendlich sei OAuth 2.0 deutlich komplexer, weniger interoperabel, weniger nützlich, weniger vollständig und vor allem weniger sicher als OAuth 1.0.
Zwar sei ein Entwickler mit tiefem Verständnis von Websicherheit in der Lage, eine sichere Implementierung zu erschaffen, doch die letzten zwei Jahre hätten gezeigt, dass bei den meisten nur unsichere Implementierung dabei herauskämen.
Schuld an den Problem ist nach Ansicht von Hammer vor allem der Versuch, die Anforderungen der Web- und Unternehmenswelt zu vereinen. Seien anfangs viele Webentwickler beteiligt gewesen, hätten sich diese um Rahmen des IETF-Standardisierungsprozesses zurückgezogen, so dass kein Entwickler von OAuth 1.0 heute mehr dabei sei. Übrig geblieben seien nur Entwickler von Unternehmenssoftware und er, Hammer.
Und während die Webentwickler mit OAuth 2.0 eigentlich nur eine leicht verbesserte Version von OAuth 1.0 entwickeln wollten, strebten die Entwickler von Unternehmenssoftware einen Standard an, bei dem sie ihre Applikationen nicht groß verändern müssten und bei dem sie durch Anpassungen Geld verdienen können.
Flickenteppich an Kompromissen
So sei am Ende ein großer Flickenteppich an Kompromissen entstanden, der vor allem den Entwicklern von Unternehmenssoftware diene, schreibt Hammer in seinem Blogeintrag(öffnet im neuen Fenster) , der mit "OAuth 2.0 und der Weg in die Hölle" überschrieben ist. Zwar biete der aktuelle Entwurf nicht alles, was aus dem Lager der Unternehmenssoftware-Entwickler gewünscht sei, sie könnten den Standard aber praktisch beliebig erweitern.
Diese Erweiterbarkeit und Flexibilität habe letztendlich das Protokoll zerstört, denn es sei möglich, so ziemlich alles als OAuth 2.0 zu bezeichnen. Wer seine Anwendung darüber mit anderen verknüpfen wolle, könne kaum Code mehrfach verwenden, so Hammer.
Nach Ansicht von Hammer bedarf es im Web aber einfacher, gut definierter und eng begrenzter Protokolle, um die Sicherheit und Interoperabilität zu verbessern. Sein Rat an alle, die OAuth 1.0 erfolgreich verwenden: "Ignoriert 2.0."
Hammer hofft, dass sich doch jemand OAuth 2.0 annimmt und ein zehnseitiges Profil all dessen erstellt, was für das Webanbieter nützlich ist, eine Art OAuth 2.1 oder 1.5. Im Rahmen der IETF werde das wohl nicht passieren. Letztendlich sei es ein großer Fehler gewesen, OAuth 2.0 im Rahmen der IETF zu entwickeln, so Hammer.



