Dokumentation zu Federated Identity as a Service
Transcription
Dokumentation zu Federated Identity as a Service
Dokumentation Federated Identity as a Service Version 1.0, 29.09.2014 Bernd Zwattendorfer – [email protected] Zusammenfassung: In diesem Projekt wird ein neues IdentitätsmanagementModell für die Cloud vorgestellt. Im Gegensatz zum einfachen und zentralen „Cloud Identity Broker“-Modell, wo ein Identity Broker in der Cloud als Intermediär für unterschiedliche Service Provider und Identity Provider agiert, setzt das neue Identitätsmanagement-Modell auf eine Föderation von Cloud Identity Brokern. Dies hat den Vorteil, dass Benutzerinnen bzw. Benutzer und Service Provider nicht von ein und demselben zentralen Cloud Identity Broker bei einer Authentifizierung abhängig sind. Im sogenannten „Föderierten Cloud Identity Broker“-Modell entfällt diese Abhängigkeit, da Benutzerinnen bzw. Benutzer und Service Provider ihren favorisierten Cloud Identity Broker selbst wählen können. Zusätzlich wird der Datenschutz durch die Verwendung entsprechender kryptographischer Technologien gegenüber Cloud Service Providern erhöht. Das „Föderierte Cloud Identity Broker“-Modell wurde prototypisch implementiert und somit dessen Anwendbarkeit gezeigt. E-Government Innovationszentrum Inffeldgasse 16/a, A-8010 Graz Tel. +43 316 873 5514 Fax. +43 316 873 5520 E-Mail [email protected] www.egiz.gv.at Das E-Government Innovationszentrum ist eine gemeinsame Einrichtung des Bundeskanzleramtes und der TU-Graz Inhaltsverzeichnis 1 Einleitung .............................................................................................................................. 3 2 Cloud Identitätsmanagement-Modelle .......................................................................... 5 2.1 Identitätsmanagement in der Cloud ........................................................................ 5 2.2 Identitätsmanagement zur Cloud ............................................................................. 6 2.3 Identitätsmanagement von der Cloud..................................................................... 7 2.4 Cloud Identity Broker-Modell ...................................................................................... 7 3 Föderiertes Cloud Identity Broker-Modell ...................................................................... 10 4 Implementierung ............................................................................................................... 13 4.1 Anforderungen ........................................................................................................... 13 4.2 Komponenten ............................................................................................................. 14 4.3 Kommunikationsschnittstellen ................................................................................... 17 4.4 Prozessfluss ................................................................................................................... 18 4.4.1 Vorbedingungen............................................................................................. 18 4.4.2 Authentifizierungsablauf ................................................................................ 19 5 Evaluierung und Diskussion .............................................................................................. 23 6 Fazit und Ausblick .............................................................................................................. 25 Abbildungsverzeichnis Abbildung 1 - Identitätsmanagement-Architektur ............................................................ 4 Abbildung 2 - „Identitätsmanagement in der Cloud“-Modell ........................................ 5 Abbildung 3 - „Identitätsmanagement zur Cloud“-Modell ............................................. 6 Abbildung 4 - „Identitätsmanagement von der Cloud“-Modell .................................... 7 Abbildung 5 – „Cloud Identity Broker”-Modell ................................................................... 8 Abbildung 6 – „Föderiertes Cloud Identity Broker“-Modell ............................................ 10 Abbildung 7 - Implementierungs-Architektur ................................................................... 13 Abbildung 8 - Sequenz-Diagramm des Authentifizierungsablaufs................................ 20 Einleitung 2 1 Einleitung Identitätsmanagement umfasst im Wesentlichen die sichere Verwaltung von Identitäten bzw. Benutzerkonten, die Verwaltung zugehöriger Attribute, sowie die sichere Identifizierung und Authentifizierung von Benutzerinnen und Benutzern an Applikationen [BeTa11]. Identitätsmanagement und insbesondere ein sicheres Identitätsmanagement ist ein wesentlicher Kernaspekt bei der Entwicklung bzw. beim Schutz von Zugriffen auf eine Online Applikation. Im österreichischen EGovernment spielt beispielsweise die österreichische Bürgerkarte bzw. HandySignatur eine zentrale Rolle für eine sichere Identifizierung und Authentifizierung von Bürgerinnen und Bürgern. Die meisten Identitätsmanagementkonzepte verfolgen dabei alle einen ähnlichen architektonischen Ansatz, wobei ein Identity Provider, ein Service Provider, und eine Benutzerin bzw. ein Benutzer als Stakeholder involviert sind [BeTa11]. Der Service Provider stellt dabei schützenswerte Daten oder Ressourcen über eine Applikation zur Verfügung, auf die eine Benutzerin bzw. ein Benutzer zugreifen möchte. Um den Aufwand für einen Zugriffsschutz für einen Service Provider möglichst gering zu halten, wird diese Funktion an den Identity Provider ausgelagert. Der Identity Provider verwaltet dabei die Benutzerkonten bzw. die digitale Identität der Benutzerin bzw. des Benutzers. Zusätzlich regelt der Identity Provider auch die Identifizierung und Authentifizierung von Benutzerinnen und Benutzern. Der Identity Provider übernimmt also alle Funktionen zur Regelung des Zugriffsschutzes für den Service Provider. Der Service Provider erhält im Rahmen eines Identifizierungs- und Authentifizierungsprozesses nur mehr die Identitäts- und Authentifizierungsdaten einer Benutzerin bzw. eines Benutzers vom Identity Provider. Basierend auf diesen Daten kann der Service Provider dann den Zugriff auf die geschützte Ressource gewähren oder verweigern. Abbildung 1 zeigt diese typische Identitätsmanagement-Architektur. Im Rahmen des österreichischen E-Governments wird diese Architektur z.B. bei Online Applikationen verwendet, bei denen der Zugriffsschutz über einen Bürgerkaten-Login geregelt wird. In diesem Fall entspricht die Online Applikation dem Service Provider und MOA-ID dem Identity Provider. Eine Bürgerin bzw. ein Bürger identifiziert und authentifiziert sich dabei mittels Bürgerkarte bei MOA-ID, und MOA-ID leitet anschließend die Identifizierungs- und Authentifizierungsdaten der Bürgerin bzw. des Bürgers in strukturierter Form (in einer sogenannten SAML1-Assertion [LCR+08] oder gemäß OpenID Connect [SBJ+14] in einem JSON2 Web Token) an die Online Applikation weiter, womit die Daten bei der Online Applikation entsprechend weiter verarbeitet werden können. 1 2 Security Assertion Markup Language JavaScript Object Notation Einleitung 3 Identity Provider (IdP) Service Provider (SP) IdentitätsdatenTransfer Identifizierung und Authentifizierung Zugriff auf geschütze Ressource Benutzerin bzw. Benutzer Abbildung 1 - Identitätsmanagement-Architektur Aufgrund der immer und stetig steigenden Anzahl von Cloud Applikationen ist ein sicheres Identitätsmanagement auch ein essentielles Thema im Rahmen von Cloud Computing. Existierende Identitätsmanagement-Modelle sind jedoch nicht ad-hoc im Cloud Computing anwendbar, da im Rahmen von Cloud Computing zusätzliche Anforderungen (z.B. Datenschutz [PeBe10]) berücksichtigt werden müssen. Einige Identitätsmanagement-Modelle sind jedoch bereits für die Cloud und deren Eigenschaften und Anforderungen entwickelt worden. Ein paar dieser Modelle werden in Abschnitt 2 genauer vorgestellt. Ziel dieses Projekts war die Verbesserung aktueller Cloud IdentitätsmanagementModelle sowie die Entwicklung eines neuen Identitätsmanagement-Modell für die Cloud, welches einerseits die Vorteile des Cloud Computing ausnützt, und anderseits dessen entsprechend Schwachstellen berücksichtigt. speziell Dieses im Modell Bereich und des Datenschutzes eine prototypische Implementierung werden in den Abschnitten 3 und 4 genauer beschrieben. Das beschriebene Modell wird anschließend in Abschnitt 5 entsprechend diskutiert. Abschließend wird in Abschnitt 6 ein Fazit gezogen und ein Ausblick für mögliche weiterführende Tätigkeiten gegeben. Einleitung 4 2 Cloud Identitätsmanagement-Modelle Identitätsmanagement und im Speziellen ein sicheres Identitätsmanagement spielen auch im Cloud Computing eine wichtige Rolle. Die Idee der Verwendung von Identitätsmanagement-Konzepten auch in der Cloud ist nicht neu, da viele Unternehmen und Organisationen ihre Applikationen in die Cloud migrieren, um beispielsweise die Kostenvorteile oder die höhere Skalierbarkeit und Dynamik einer Cloud voll ausschöpfen zu können. [Gopa09][Goul10][Cox12] haben bereits unterschiedliche Identitätsmanagement-Modelle in der Cloud klassifiziert. Basierend auf deren Arbeiten werden im Folgenden einige dieser Modelle vorgestellt. 2.1 Identitätsmanagement in der Cloud Das „Identitätsmanagement in der Cloud“-Modell ist das einfachste Modell. In diesem Modell betreibt ein Cloud Service Provider, z.B. Google, sowohl den Identity Provider als auch die Applikation, die die schützenswerten Daten bereithält (Service Provider). Im Prinzip verschmelzen Identity Provider und Service Provider in diesem Modell in der Cloud. Abbildung 2 illustriert dieses Modell. Cloud Service Provider Identity Provider Service Provider Identitäts daten Datentransfer Benutzerin bzw. Benutzer Abbildung 2 - „Identitätsmanagement in der Cloud“-Modell Der Vorteil dieses Modells ist, dass Unternehmen bereits ein fix fertiges Identitätsmanagement, nämlich das vom Cloud Service Provider für seine Applikationen bereitgestellte, verwenden können. Um die Speicherung und das Management der Identitätsdaten kümmert sich der Cloud Service Provider. Nachteil ist natürlich, dass nur jene Daten verwendet werden können, die der Cloud Service Provider auch unterstützt. Außerdem liegt die Kontrolle des Identitätsmanagementsystems (Identity Provider) komplett beim Cloud Service Provider. Eine Migration oder Synchronisierung externer Identitätsdaten zum Cloud Cloud Identitätsmanagement-Modelle 5 Service Provider ist in diesem Modell nicht vorgesehen. D.h., Benutzerinnen und Benutzer müssen sich beim Cloud Service Provider neu registrieren, wenn sie entsprechende Cloud Services nutzen möchten. 2.2 Identitätsmanagement zur Cloud In diesem Modell (siehe Abbildung 3) ist die Verwendung eines externen Identitätsmanagementsystems möglich, d.h. der Cloud Provider empfängt nur Identitätsdaten von einem externen Identity Provider. Der Unterschied zum vorherigen Modell ist, dass der Identity Provider nicht in der Cloud betrieben wird, sondern in einem klassischen Rechenzentrum unter vollständiger Kontrolle jener Organisation, die auch die Identitätsdaten bereitstellt und verwaltet. Der Cloud Provider hostet in diesem Fall nur die Applikation, an der eine Authentifizierung notwendig ist. Der Datentransfer zwischen dem externen Identity Provider und der Cloud Applikation erfolgt üblicherweise über standardisierte Schnittstellen und Identitätsprotokolle, wie z.B. SAML oder OAuth [Hardt12]. Google und Salesforce.com sind zwei Vertreter, die dieses Modell unterstützen. Cloud Service Provider Identity Provider Service Provider Identitäts daten Datentransfer Benutzerin bzw. Benutzer Abbildung 3 - „Identitätsmanagement zur Cloud“-Modell Der Vorteil dieses Modells ist, dass die Kontrolle über die Identitätsdaten nicht zum Cloud Provider transferiert werden muss und die eigene Organisation die Kontrolle behalten kann. Die Identifizierung und Authentifizierung erfolgt beim externen Identity Provider, Identitäts- und Authentifizierungsdaten werden nur über eine entsprechende Schnittstelle an den Cloud Service Provider und dessen Applikation übertragen. Diese Schnittstelle stellt auch den größten Nachteil dieses Modells dar, da Interoperabilitätsprobleme bei der Implementierung sowohl auf Seiten des Cloud Service Providers als auch Seiten des externen Identity Providers auftreten können. Außerdem werden in diesem Modell nicht die vollen positiven Cloud Eigenschaften ausgenützt, da der Identity Provider nicht in der Cloud betrieben wird. Cloud Identitätsmanagement-Modelle 6 2.3 Identitätsmanagement von der Cloud In diesem Modell werden sowohl der Identity Provider als auch der Service Provider in der Cloud betrieben. Wesentlicher Unterschied zum „Identitätsmanagement in der Cloud“-Modell ist, dass der Identity Provider und der Service Provider von zwei unterschiedlichen Cloud Service Providern betrieben werden. D.h., ein Cloud Service Provider hostet den Identity Provider und ein anderer Cloud Service Provider die Applikation. Diese Trennung spiegelt auch die generelle Architektur aus Abbildung 1 wider, nur dass beide Provider (Identity Provider und Service Provider) in der Cloud betrieben werden, was die Vorteile des Cloud Computing effizient ausnützt. Abbildung 4 zeigt dieses Modell. Cloud Service Provider Identitäts daten Identity Provider Cloud Service Provider Service Provider Identitäts daten Datentransfer Benutzerin bzw. Benutzer Abbildung 4 - „Identitätsmanagement von der Cloud“-Modell Neben den klassischen Vorteilen des Cloud Computing ist der wesentliche Vorteil dieses Modells, dass sich eine Organisation den Identity Provider in der Cloud, dem sie vertrauen möchte, aussuchen kann. Dies ist von besonderer Wichtigkeit, da die Identitätsdaten der Organisation vollkommen vom Cloud Service Provider verwaltet werden, und nicht wie bei beim „Identitätsmanagement zur Cloud“-Modell in einem externen, von der Organisation kontrollierbaren Rechenzentrum. Dies ist allerdings auch zugleich der größte Nachteil, da Identitätsdaten und somit sensible Daten in der Cloud gespeichert werden. Insbesondere der Datenschutz ist hier gefährdet, da Datenschutz eines der Hauptprobleme im Bezug zum Cloud Computing, im Besonderen in der Public Cloud, darstellt [PeBe10]. 2.4 Cloud Identity Broker-Modell Dieses Modell stellt im Prinzip eine Erweiterung des „Identitätsmanagement von der Cloud“-Modell dar. Im Gegensatz zu einem einzelnen Identity Provider wird ein sogenannter Identity Broker [CSA11] in der Cloud betrieben. Ein Identity Broker ist Cloud Identitätsmanagement-Modelle 7 eine Art Hub zwischen ein oder mehreren Service Providern und ein oder mehreren Identity Providern. In anderen Worten, über einen Identity Broker kann ein Service Provider unterschiedliche Identity Provider unterstützen und eine Benutzerin bzw. ein Benutzer kann sich bei einer Authentifizierung den gewünschten Identity Provider aussuchen. Ein Projekt, welches auf diesen „Cloud Identity Broker“-Ansatz basiert, ist SkIDentity [HSW+12]. Abbildung 5 veranschaulicht das „Cloud Identity Broker“Modell. Cloud Service Provider Identity Provider Identity Provider Identitäts daten Identitäts daten Cloud Service Provider Identity Broker Benutzerin bzw. Benutzer Datentransfer Cloud Service Provider Service Provider Service Provider Abbildung 5 – „Cloud Identity Broker”-Modell Der Vorteil dieses Modells ist, dass die Komplexität einzelner Identity Provider vom Identity Broker gegenüber dem Service Provider „versteckt“ wird. Der Service Provider wird im Wesentlichen von den einzelnen Identity Providern entkoppelt. D.h. in weiterer Folge, dass nur mehr eine starke Beziehung zwischen dem Service Provider und dem Cloud Identity Provider existiert anstatt vielen einzelnen Beziehungen zwischen Service Provider und Identity Providern, wenn mehrere Identity Provider vom Service Provider unterstützt werden. Ein Service Provider, der mehrere Identity Provider für eine Benutzerinnen- bzw. Benutzer-Authentifizierung unterstützen möchte, braucht in diesem Modell jedoch nicht alle Schnittstellen zu den einzelnen Identity Providern implementieren, sondern es reicht die Implementierung der Schnittstelle zum Identity Broker. Auf organisatorischer Ebene muss der Service Provider nur mehr dem Cloud Identity Broker vertrauen und nicht jedem einzelnen Identity Provider, der Cloud Identity Broker bündelt in diesem Fall diese einzelnen Vertrauensverhältnisse. Cloud Identitätsmanagement-Modelle 8 Ein Nachteil dieses Modells ist jedoch, dass sowohl Benutzerinnen bzw. Benutzer als auch der Service Provider ein und demselben Identity Broker in der Cloud vertrauen müssen, um unterschiedliche Identity Provider nutzen zu können. Das heißt auch, dass Benutzerinnen bzw. Benutzer und Service Provider von der offerierten Funktionalität des Identity Brokers abhängig sind. Möchte beispielsweise eine Benutzerin bzw. ein Benutzer sich bei einem Identity Provider authentifizieren, welcher vom Cloud Identity Broker nicht unterstützt wird, so ist eine Anmeldung schlicht und einfach nicht möglich. Ein weiterer Nachteil eines zentralen Cloud Identity Providers ist, dass – wenn der Cloud Identity Broker ausfallen sollte – Benutzerinnen bzw. Benutzer von einer Anmeldung bei allen unterschiedlichen Identity Providern abgeschnitten sind. Des Weiteren können sich bei einem zentralen Cloud Service, wie es ein einzelner Cloud Identity Broker darstellt, Datenschutzproblematiken ergeben, da einerseits der Cloud Provider gespeicherte und verarbeitete Daten einsehen und andererseits das Nutzerverhalten verfolgen kann. Cloud Identitätsmanagement-Modelle 9 3 Föderiertes Cloud Identity Broker-Modell In diesem Abschnitt wird ein neues Cloud Identitätsmanagement-Modell vorgestellt, welches auf Basis des „Cloud Identity Broker“-Modells entwickelt wurde. Dieses sogenannte „Föderierte Cloud Identity Broker“-Modell setzt nicht auf einen einzelnen zentralen Identity Broker in der Cloud, sondern föderiert unterschiedliche Cloud Identity Broker miteinander, die eine gemeinsame Vertrauensbeziehung besitzen. Durch die Verwendungsmöglichkeit und Föderation von unterschiedlichen Cloud Identity Brokern müssen Benutzerinnen bzw. Benutzer und Service Provider nicht mehr ein und demselben Cloud Identity Broker vertrauen, sondern können ihren favorisierten unterschiedlichen und vertrauten Cloud Identity Broker kontaktieren. Die Cloud Identity Broker können auch jeweils die auf unterschiedlichen individuellen Bedürfnisse von Benutzerinnen bzw. Benutzern oder von Service Providern eingehen. Beispiele für solche Bedürfnisse wären nationale Regulierungen oder Gesetze. Obwohl kein direktes Vertrauensverhältnis mit ein und demselben Cloud Identity Broker für Benutzerinnen bzw. Benutzer und dem Service Provider wie im Abschnitt 2.4 vorgestellten Modell besteht, so können sich durch Föderation der Cloud Identity Broker Benutzerinnen bzw. Benutzer trotzdem am Service Provider anmelden. Zusätzlich wird durch die Verwendung geeigneter kryptographischer Technologien der Datenschutzproblematik gegenüber Cloud Service Providern entgegengewirkt. Abbildung 6 veranschaulicht dieses „Föderierte Cloud Identity Broker“-Modell. Organisation Cloud Service Provider Cloud Service Provider Attribute Provider Identity Provider Identitätsdaten verschlüsselt für die Organisation Identitätsdaten verschlüsselt für die Benutzerin bzw. den Benutzer Cloud Service Provider Identity Provider Identity Provider Identitäts daten Identitäts daten Cloud Service Provider Home Broker SP Broker (Identity Broker 1) (Identity Broker 2) Benutzerin bzw. Benutzer Prozessfluss der Identiätsdaten Bereitstellung verschlüsselter Identitätsdaten Cloud Service Provider Service Provider Cloud Service Provider Service Provider Service Provider Service Provider Abbildung 6 – „Föderiertes Cloud Identity Broker“-Modell Föderiertes Cloud Identity Broker-Modell 10 In diesem föderierten Ansatz ist es möglich, dass der Service Provider eine Vertragsbeziehung mit dem Identity Broker 2 (SP Broker) besitzt, während die Benutzerin bzw. der Benutzer hingegen eine Vertragsbeziehung mit dem Identity Broker 1 (Home Broker) hat. Beide Identity Broker haben ebenfalls ein entsprechendes Vertrauensverhältnis bzw. eine Vertragsbeziehung untereinander. Betrachtet man den Prozessfluss der Identitätsdaten aus Abbildung 6 etwas genauer, so kontaktiert eine Benutzerin bzw. ein Benutzer in einem ersten Schritt jenen Service Provider, von dem sie bzw. er eine geschützte Ressource oder Service nutzen möchte. Für den Zugriff auf die geschützte Ressource wird von der Benutzerin bzw. dem Benutzer eine entsprechende Authentifizierung benötigt. Die Identifizierung und Authentifizierung wird wie in den meisten anderen Cloud Identitätsmanagement-Modellen an einen Identity Provider, in diesem Fall aber zuerst an einen Cloud Identity Broker, ausgelagert. In diesem Beispiel besitzt der Service Provider ein Vertragsverhältnis mit dem Identity Broker 2 (SP Broker), an den die Identifizierung und Authentifizierung von Benutzerinnen und Benutzern ausgelagert wird. Im Gegensatz zu dem im Abschnitt 2.4 beschriebenen „Cloud Identity Broker“-Modell, hat die Benutzerin bzw. der Benutzer in diesem föderierten Modell kein Vertragsverhältnis mit demselben Identity Broker wie der Service Provider (Identity Broker 2 bzw. SP Broker), sondern mit Identity Broker 1 (Home Broker). Dieser unterstützt im Gegensatz zum Identity Broker 1 (Home Broker) jenen Identity Provider, den die Benutzerin bzw. der Benutzer auch für eine Authentifizierung bei dem ausgewählten Service Provider nutzen möchte. Um diesen Identity Provider auch nutzen zu können, wird die Benutzerin bzw. der Benutzer an Identity Broker 1 (Home Broker) weitergeleitet. Danach initiiert der Identity Broker 1 (Home Broker) den Identifizierungs- und Authentifizierungsprozess mit dem gewünschten Identity Provider. Die Benutzerin bzw. der Benutzer authentifiziert sich dabei beim Identity Provider mit ihrem bzw. seinem gewünschten Authentifizierungsmechanismus. War der Authentifizierungsvorgang erfolgreich, so werden entsprechende Identitäts- und Authentifizierungsdaten der Benutzerin bzw. des Benutzers an den Identity Broker 1 (Home Broker) übermittelt. Anschließend leitet Identity Broker 1 (Home Broker) die Daten an den Identity Broker 2 (SP Broker) weiter, welcher sie schlussendlich an den Service Provider transferiert. Basierend auf den empfangenden Daten erlaubt bzw. verbietet der Service Provider den Zugriff auf die geschützte Ressource. Kommunikationskanäle, wo Im Prinzip gibt Identitätsdaten es in diesem ausgetauscht Modell werden, zwischen: 1. Identity Provider und Home Broker 2. Home Broker und SP Broker 3. SP Broker und Service Provider Föderiertes Cloud Identity Broker-Modell 11 drei nämlich Für den Kommunikationskanal zwischen Identity Provider und Identity Broker 1 bzw. Identity Broker 2 und Service Provider können einfach existierende Identitätsprotokolle wie z.B. SAML [LCR+08] oder OAuth [Hardt12] verwendet werden. Obwohl das bisher beschriebene Modell gegenüber den anderen Modellen prinzipiell Datenschutz-freundlicher ist, besteht trotzdem die Gefahr, dass ein Cloud Provider sensible Identitätsdaten mitlesen und somit ein Benutzerinnenprofil bzw. ein Benutzerprofil erstellen kann. Solange die Daten – auch wenn sie verschlüsselt zum Cloud Service Provider übertragen werden – im Klartext beim Cloud Service Provider gespeichert werden, besteht diese Gefahr. Nachdem Cloud Service Provider ihre gespeicherten Daten üblicherweise auf verschiedene Serverfarmen und auch Länder verteilen können, besteht in so einem Fall auch kein entsprechender Rechtsschutz, wenn Daten bei einem Provider außerhalb der EU abgelegt werden. So sagt beispielsweise der US Patriot Act [US-PA01], dass beliebige Daten, sofern sie von einem US-stämmigen Unternehmen gespeichert werden, von Behörden aus den USA auf Verlangen inspiziert und eingesehen werden können. Um keine sensiblen Daten im Klartext bei solch einer ungewollten Inspizierung preiszugeben und um den Datenschutz für Benutzerinnen bzw. Benutzer gegenüber Cloud Service Providern wahren zu können, werden in diesem föderierten Cloud Identity Broker-Modell die Daten nur mehr verschlüsselt transferiert bzw. gespeichert. Als Verschlüsselungsalgorithmus wird dabei Proxy Re-Encryption [AFGH06] eingesetzt. Proxy Re-Encryption ermöglicht es einem Proxy Daten, welche für eine Partei A und dessen Public Key(A) verschlüsselt sind, unter zu Hilfenahme eines so-genannten ReEncryption Keys(A→B) die Daten so umzuschlüsseln, dass sie anschließend von einer Partei B und dessen Private Key(B) entschlüsselt werden können. Der Proxy erhält dabei weder Zugriff die Private Keys von A und B noch auf den Klartext der verschlüsselten Daten. D.h., die Umschlüsselung erfolgt direkt auf den verschlüsselten Daten, eine Entschlüsselung der Daten am Proxy ist nicht notwendig. Für die Erstellung des Re-Encryption Keys(A→B) wird der Private Key von A und der Public Key von B benötigt. Die Grundlage für die Anwendung des Konzepts von Proxy Re-Encryption zur vertraulichen Verarbeitung von Daten ist, dass persönliche Identitätsdaten beim Identity Provider bereits verschlüsselt gespeichert sind, bevor sie weiterverarbeitet werden. Dabei können die Identitätsdaten entweder für die Benutzerin bzw. den Benutzer oder aber für eine Organisation, die für die Verwaltung der Identitätsdaten zuständig ist, verschlüsselt sein. In weiterer Folge dieses Dokuments wird nur mehr der Fall betrachtet, dass die Daten für die Benutzerin bzw. den Benutzer selbst verschlüsselt sind. Aus Datenschutz-Perspektive hat in diesem Fall eine Benutzerin Föderiertes Cloud Identity Broker-Modell 12 bzw. ein Benutzer die größte Kontrolle über ihre bzw. seine Daten, da nur sie bzw. er die Daten entschlüsseln bzw. einen Re-Encryption Key generieren kann. Föderiertes Cloud Identity Broker-Modell 13 4 Implementierung Der folgende Abschnitt beschreibt eine prototypische Implementierung des „Föderierten Cloud Identity Broker“-Modells unter Verwendung von Proxy ReEncryption. Die Implementierung wurde so umgesetzt, dass ein Identifizierungs- und Authentifizierungsprozess über das vorgestellte Modell ohne unnötige Offenlegung von Daten gegenüber einem Cloud Service Provider möglich ist. Dabei wurden die folgenden Komponenten gemäß den in Abschnitt 3 vorgestellten Modell umgesetzt (Identity Provider, Attribute Provider, Home Broker, SP Broker, Service Provider). Abbildung 7 zeigt die Komponenten der prototypischen Implementierung des „Föderierten Cloud Identity Broker“-Modells. OpenID Provider Verschlüsselte Identitätsdaten Attribute Provider Identitätsdaten Twitter Verschlüsselte Identitätsdaten Broker Authority Encryption Service Cloud Service Provider Cloud Service Provider Online Kommunikation Home Broker SP Broker Offline Kommunikation Re-EncryptionKey Generator Benutzerin bzw. Benutzer Demo Service Provider BenutzerDomäne Abbildung 7 - Implementierungs-Architektur 4.1 Anforderungen Während des Design-Prozesses des „Föderierten Cloud Identity Broker“-Modells wurden die folgenden Anforderungen ausgearbeitet, die von einer Implementierung dieses Modells berücksichtigt werden müssen. Individuelle Auswahl des Cloud Identity Brokers Wie die Idee des Föderierten Cloud Identity Broker Modell es bereits vorgibt, sollen eine Benutzerin bzw. ein Benutzer und der Service Provider ihren bevorzugten Cloud Identity Broker individuell auswählen können. Implementierung 14 Vertrauen Ein Service Provider oder ein Identity Provider ist voll vertrauenswürdig, sofern er nicht in der Cloud betrieben wird. Einem Cloud Service Provider und im speziellen dadurch einem Cloud Identity Broker wird nur teilweise vertraut, d.h. es wird angenommen, dass der Cloud Service Provider korrekt arbeitet, jedoch Einsicht in verarbeitete Daten nehmen kann. Datenschutz Nachdem die Identity Broker in der Cloud betrieben werden, ist die Wahrung des Datenschutzes eine besondere Anforderung. Im Speziellen sollen die Datenschutz-Aspekte der Benutzer-Zentriertheit (eine Benutzerin bzw. ein Benutzer hat immer die volle Kontrolle, welche Daten welcher Entität zur Verfügung gestellt werden) sowie der Datenminimierung (eine Benutzerin bzw. ein Benutzer kann die Menge der Datenoffenlegung bestimmen) umgesetzt werden. Zusätzlich sollen die Daten gegenüber einem Cloud Service Provider vertraulich behandelt werden können. Benutzerfreundlichkeit Eine Identifizierung und Authentifizierung in diesem Modell soll für eine Benutzerin bzw. einen Benutzer komfortabel und ohne große Hürden durchführbar sein. Einfache Integration in existierende Infrastrukturen Komponenten des „Föderierten Cloud Identity Broker“-Modells sollen einfach in bestehende Infrastrukturen integriert werden können. Im Besonderen heißt das, dass existierende Service Provider oder Identity Provider einfach an einen Cloud Identity Broker angebunden werden können. 4.2 Komponenten Im Folgenden werden die Komponenten der Implementierung sowie drei zusätzliche Komponenten (in Abbildung 7 gelb hervorgehoben), deren Einführung für ein Erfüllen der in Abschnitt 4.1 definierten Anforderungen notwendig war, kurz beschrieben: Demo Service Provider: Der Demo Service Provider hat eigentlich keine bestimmte Funktionalität, er benötigt nur eine ausreichende Identifizierung und Authentifizierung. Um den Datenschutz von Benutzerinnen und Benutzern zu gewährleisten und die übertragene Menge von personenbezogenen Daten gering zu halten, kann der Demo Service Provider nur bestimmte Attribute und nicht nur die komplette Identität für eine Identifizierung abfragen. Zusätzlich kann der Service Provider ein bestimmtes Authentifizierungslevel fordern. Die in der Implementierung Implementierung 15 verwendeten Authentifizierungslevel sind an die vier-stufigen Level von STORK [HLE09] bzw. ISO/IEC 29115 [ISO29115] angelehnt. SP Broker: Der SP Broker wurde vom Service Provider organisatorisch ausgewählt und kontaktiert, und somit besitzen sie ein gegenseitiges Vertrauensverhältnis. Der SP Broker kommuniziert mit dem Home Broker und leitet entsprechende Authentifizierungsanfragen an den Home Broker weiter. Im Weiteren stellt der SP Broker ein User Interface bereit, bei der eine Benutzerin bzw. ein Benutzer ihren bzw. seinen gewünschten Home Broker deklarieren kann. Home Broker: Der Home Broker wird durch eine benutzerdefinierte URL angegeben, die auf den gewünschten Home Broker zeigt und einen Benutzernamen der Benutzerin bzw. des Benutzers beim Home Broker beinhaltet. Das URL-Format ist dabei ähnlich zu jenem, welches im OpenID 3 -Protokoll verwendet wird. Diese benutzerdefinierte URL ist jedoch nicht persistent und kann von einer Benutzerin bzw. von einem Benutzer jeder Zeit geändert werden. Bevor eine Benutzerin bzw. ein Benutzer die Funktionalität eines Home Brokers benutzen kann, muss sie bzw. er sich beim Home Broker registrieren. Der Home Broker benötigt bei einer Registrierung unter anderem Informationen z.B. mit welchen Identity Provider bzw. Attribute Providern die Benutzerin bzw. der Benutzer eine Affiliation besitzt und wohin der Broker sich somit verbinden kann. Der Home Broker kommuniziert mit Identity Providern und Attribute Providern während eines Identifizierungs- und Authentifizierungsvorganges, wobei er der Benutzerin bzw. des Benutzers eine Auswahlseite anzeigt, wo sie bzw. er sich authentifizieren möchten und woher zusätzliche Attribute bezogen werden sollten. Werden persönliche Attribute von unterschiedlichen Quellen bezogen, so übernimmt der Home Broker auch das semantische Mapping zu den vom Service Provider angeforderten Attributen. OpenID Provider: In dieser prototypischen Implementierung wurde ein OpenID Provider selbst gehostet. Der Grund war, dass – um die persönlichen Daten zu schützen – Attribute nur so verschlüsselt beim OpenID Provider abgelegt werden können. In diesem Prototypen werden daher alle persönlichen Attribute von der Benutzerin bzw. vom Benutzer für sich unter Verwendung eines persönlichen privaten Schlüssels verschlüsselt und beim OpenID Provider sicher gespeichert. Somit hat 3 http://openid.net/ Implementierung 16 nur die Benutzerin bzw. der Benutzer Zugriff auf ihre bzw. seine persönlichen Daten. Die einzige Information, die der OpenID Provider in Klartext erhält, ist der bei der Anmeldung am OpenID Provider verwendete OpenID Identifikator der Benutzerin bzw. des Benutzers. Attribute Provider: Für den Attribute Provider wird derselbe Ansatz wie für den OpenID Provider verwendet, d.h. persönliche Attribute werden beim Attribute Provider nur für die Benutzerin bzw. den Benutzer verschlüsselt gespeichert. Das einzige Attribut, das der Attribute Provider lesen kann, ist ein Identitfikator der die verschlüsselten Attribute einer Benutzerin bzw. einem Benutzer zuordnet. Beim Attribute Provider ist keine explizite Authentifizierung der Benutzerin bzw. des Benutzers notwendig. Twitter: In der prototypischen Umsetzung wird Twitter als weiterer Identity Provider verwendet, da Twitter bei der Registrierung persönliche Attribute speichert. Broker Authority: Die Broker Authority ist eine vertrauenswürdige Instanz, die die Vertrauensverhältnisse zwischen den Brokern regelt. Im Speziellen verteilt sie öffentliche Schlüssel und Zertifikate zum Signieren von zwischen zwei Brokern ausgetauschten Nachrichten, um einen sicheren und authentischen Kommunikationskanal garantieren zu können. Re-Encryption Key Generator: Der Re-Encryption Key Generator ist im Wesentlichen ein Stück Software, welche direkt am Client der Benutzerin bzw. des Benutzers läuft. Dadurch wird vermieden, dass private Schlüssel der Benutzerin bzw. des Benutzers die Domäne der Benutzerin bzw. des Benutzers verlassen. In der Implementierung erlaubt eine Benutzerin bzw. ein Benutzer die Umschlüsselung von persönlichen Identitätsdaten für einen Service Provider. Für die Umschlüsselung wird ein sogenannter Re-Encryption Key benötigt, der sich aus dem privaten Schlüssel der Benutzerin bzw. des Benutzers und dem öffentlichen Schlüssel des Service Providers ableiten lässt. Der Re-Encryption Key Generator berechnet also den Re-Encryption Key(Benutzerin bzw. Benutzer→Service Provider). Encryption Service: Das Encryption Service ist ein zusätzliches Service, das die Verschlüsselung von Daten vornimmt, sofern sie beim Identity Provider nicht schon verschlüsselt gespeichert wurden. In diesem Fall werden die Daten konkret nach einer Implementierung 17 Authentifizierung von Twitter mittels Encryption Service für die Benutzerin bzw. den Benutzer verschlüsselt, bevor sie an den Home Broker übertragen werden. 4.3 Kommunikationsschnittstellen Nachdem zwischen den unterschiedlichen Komponenten Daten ausgetauscht werden, wird nun kurz beschrieben, welche Protokolle in der Implementierung zum Einsatz kommen. Dabei wird die Schnittstelle bzw. das Protokoll zwischen jeweils zwei Komponenten beschrieben. Alle Schnittstellen sind zusätzlich mit SSL/TLS geschützt, was in den einzelnen Beschreibungen daher nicht mehr explizit erwähnt wird. Service Provider ↔ SP Broker: Im Prinzip kann jedes beliebige Identifizierungs- und Authentifizierungsprotokoll verwendet werden, sofern es beide Komponenten unterstützen. In der prototypischen Umsetzung wurde eine leicht modifizierte Version des SAML AuthnRequest/Response Protokolls und das SAML HTTPPOST Binding verwendet. Das verwendete Kommunikationsprotokoll ist ähnlich dem von STORK4 spezifizierten SAML-Profil, es waren jedoch kleinere Anpassungen notwendig, da STORK z.B. die Übertragung von einzelnen verschlüsselten Attributen nicht unterstützt. Die Vertrauensstellung basiert auf digitalen Zertifikaten. Es ist keine explizite Governance-Struktur notwendig, da die Vertrauensstellung bilateral ausgehandelt werden kann. SP Broker ↔ Home Broker: Für diesen Kommunikationspfad wird ebenfalls das adaptierte SAML-Protokoll verwendet. Auch hier werden digitale Zertifikate zur Vertrauensbildung verwendet, jedoch sind in diesem Fall die Zertifikate von der Broker Authority ausgestellt. Dadurch wird gewährleistet, dass nur vertrauenswürde Cloud Identity Broker miteinander kommunizieren können. Home Broker ↔ OpenID Provider: Für diese Schnittstelle wurde das OpenID 2.0 Protokoll verwendet. Home Broker ↔ Twitter: Für diesen Kommunikationspfad Kommunikationspfad unterbrochen, 4 wird welches wurde jedoch OpenID durch Benutzerinnen bzw. das 1.0 verwendet. Encryption Benutzern Implementierung Service erlaubt https://www.eid-stork.eu/ 18 Der ihre Identitätsdaten zu verschlüsseln, bevor sie an den Home Broker weitergegeben werden. Home Broker ↔ Attribute Provider: Hier wurde eine einfache proprietäre Web Service-Schnittstelle verwendet. Der Request zum Attribute Provider enthält die angeforderten Attribute sowie einen Identifikator der Benutzerin bzw. des Benutzers, die Response beinhaltet dann die korrespondierenden verschlüsselten Attribute. Home Broker ↔ Re-Encryption Key Generator: Die Kommunikation basiert auf dem SAML Attribute Query/Response Protokoll. Der Request enthält dabei den öffentlichen Schlüssel des Service Providers. Aus dem öffentlichen Schlüssel des Service Providers zusammen mit dem privaten Schlüssel der Benutzerin bzw. des Benutzers wird durch den ReEncryption Key Generator ein Re-Encryption Key(Benutzerin bzw. Benutzer→Service Provider) generiert. Broker Authority ↔ Home/SP Broker: Der Austausch von Zertifikaten zwischen der Broker Authority und dem Cloud Identity Broker (Home oder SP Broker) ist ein Offline Prozess. Die Sicherheit dieses Prozesses wird durch organisatorische Mechanismen gewährleistet. 4.4 Prozessfluss Im Folgenden Unterabschnitt wird ein Identifizierungs- und Authentifizierungsprozess einer Benutzerin bzw. eines Benutzers auf Basis der Implementierung und unter Verwendung des OpenID und Attribute Providers illustriert. 4.4.1 Vorbedingungen Vor dem Start eines Identifizierungs- und Authentifizierungsprozesses müssen die folgenden Vorbedingungen erfüllt sein: Es wird angenommen, dass eine Benutzerin bzw. ein Benutzer dem Service Provider, Twitter, dem Encryption Service, und dem Re-Encryption Key Generator (läuft auf dem Client der Benutzerin bzw. des Benutzers) vertraut. Es wird weiters angenommen, dass die Cloud Identity Broker (Home und SP Broker), der OpenID Provider, und der Attribute Provider zwar korrekt arbeiten, aber aufgrund ihres Betriebs in der Cloud hinsichtlich Datenschutz als nicht voll vertrauenswürdig eingestuft werden. Die Broker Authority hat die Vertrauenswürdigkeit der beiden Cloud Identity Broker (Home und SP Broker) überprüft und ihnen entsprechende Zertifikate zum Signieren von ausgetauschten Nachrichten ausgestellt. Implementierung 19 Ein bilaterales Vertrauensverhältnis zwischen dem Service Provider und dem SP Broker wurde ausgehandelt. Entsprechende Zertifikate und Signaturschlüssel wurden zwischen beiden Identitäten entsprechend ausgetauscht. Zusätzlich besitzt der Service Provider ein entsprechendes Schlüsselpaar zum Ver- und Entschlüsseln von Daten. Bilaterale Vertrauensverhältnisse existieren zwischen dem Home Broker und den einzelnen Identity Providern (OpenID Provider und Twitter). Das Überprüfen dieser Vertrauensverhältnisse ist abhängig vom verwendeten Protokoll. Die Benutzerin bzw. der Benutzer besitzt ein geeignetes Schlüsselpaar zum Verund Entschlüsseln von Daten. Die Benutzerin bzw. der Benutzer hat bereits persönliche Daten verschlüsselt beim OpenID Provider und dem Attribute Provider abgelegt. Die Benutzerin bzw. der Benutzer besitzt ein vertragliches Verhältnis mit dem Home Broker und ist dort registriert. Vom Home Broker wurde ihr bzw. ihm im Zuge der Registrierung ein Identifikator (URL-basierend) zur Wiedererkennung zugewiesen. Bei der Registrierung hat die Benutzerin bzw. der Benutzer angegeben, bei welchen Identity Provider und Attribute Provider er registriert ist und welche er im Zuge einer Authentifizierung auch nutzen möchte. 4.4.2 Authentifizierungsablauf Das Sequenz-Diagramm in Abbildung 8 veranschaulicht einen Identifizierungs- und Authentifizierungsprozess unter Verwendung des OpenID und Attribute Providers. Im Folgenden werden die einzelnen Schritte genauer beschrieben. Implementierung 20 Benutzerin bzw. Benutzer Service Provider SP Broker Home Broker OpenID Provider Attribute Provider Re-Encryption Key Generator 1. Zugriff auf geschützte Ressource 2. Authentifizierungsrequest 2. Authentifizierungsrequest (inkl. Angeforderte Attribute, Authentifizierungslevel, Öffentlicher Schlüssel des SP) 3. Verifiziere Authentifizierungsrequest 3. Wer ist dein Home Broker? 3. Bereitstellen der Information als URL 4. Weiterleiten des Authentifizierungsrequests 4. Weiterleiten des Authentifizierungsrequests 5. Anzeige der Attribute und Auswahl des Identity und Attribute Providers 5. Auswahl der Attribute, welche vom OpenID und Attribute Provider geholt werden sollen 6. Redirect zum OpenID Provider zur Authentifizierung 6. Redirect zum OpenID Provider zur Authentifizierung 7. Authentifizierung 8. Retourniere verschlüsselte Attribute 8. Retourniere verschlüsselte Attribute 9. Hole angeforderte Attribute 10. Retourniere verschlüsselte Attribute 11. Anfrage zur Erstellung des Re-Encryption Keys (inkl. öffentlicher Schlüssel des SP) 11. Bereitstellen des privaten Schlüssels 12. Erstelle Re-Encryption Key (Benutzer 12. Erstelle Re-Encryption Key (Benutzer SP) 13. Umschlüsseln der verschlüsselten Attribute für den SP 13. Erstellen und Signieren der Authentifizierungsreponse (SAML Assertion) 14. Retourniere Authentifizierungsreponse 14. Retourniere Authentifizierungsreponse 14. Verifizieren der Authentifizierungsreponse 14. Weiterleiten der Authentifizierungsreponse 14. Weiterleiten der Authentifizierungsreponse 15. Verifizieren der Authentifizierungsreponse und entschlüsseln der Attribute 16. Bereitstellen der geschützen Ressource Abbildung 8 - Sequenz-Diagramm des Authentifizierungsablaufs 1. Eine Benutzerin bzw. ein Benutzer möchte auf eine geschützte Ressource des Service Providers zugreifen. 2. Nachdem für den Zugriff beim Service Provider eine Identifizierung und Authentifizierung notwendig ist, wird die Benutzerin bzw. der Benutzer mit einem entsprechenden Authentifizierungs-Request an den mit dem Service Provider affiliierten SP Broker weitergeleitet. Der Authentifizierungsrequest beinhaltet die vom Service Provider benötigten Attribute, das benötigte Authentifizierungslevel sowie den öffentlichen Schlüssel des Service Providers zum Verschlüsseln von Daten. Der Authentifizierungsrequest wird vom Service Provider entsprechend signiert. 3. Der SP Broker verifiziert die Signatur des Authentifizierungsrequests und bittet die Benutzerin bzw. den Benutzer, ihren bzw. seinen Home Broker anzugeben. Dies geschieht durch Eingabe einer URL, z.B. https://user.home-broker.com Implementierung 21 SP) 4. Der SP Broker sendet anschließend einen weiteren Authentifizierungsrequest, der dieselben Daten wie der Authentifizierungsrequest aus Schritt 2 beinhaltet, an den Home Broker, den die Benutzerin bzw. der Benutzer angegeben hat. Der SP Broker signiert den Request entsprechend. 5. Der Home Broker verifiziert den Authentifizierungsrequest. Basierend auf dem von der Benutzerin bzw. dem Benutzer angegebenen Identifikator wird sie bzw. er am Home Broker identifiziert. Anschließend wird der Benutzerin bzw. dem Benutzer eine Webseite präsentiert, auf der ihr bzw. ihm die vom Service Provider angeforderten Attribute angezeigt werden. Dabei kann die Benutzerin bzw. der Benutzer auswählen, bei welchem Identity Provider sie bzw. er sich authentifizieren möchte und von welchem Identity oder Attribute Provider die angeforderten Attribute bezogen werden sollen. In dem vorgestellten Szenario wird angenommen, dass die Benutzerin bzw. der Benutzer sich beim OpenID Provider authentifiziert und dass zusätzliche Daten vom Attribute Provider geholt werden. 6. Basierend auf dem OpenID Identifikator der Benutzerin bzw. des Benutzers wird sie bzw. er an den OpenID Provider weitergeleitet. 7. Die Benutzerin bzw. der Benutzer authentifiziert sich am OpenID Provider mit einem entsprechenden Authentifizierungsmechanismus. Im vorgestellten Szenario wird ein simpler Benutzername/Passwort-Mechanismus verwendet. 8. Die Attribute, welche zuvor von der Benutzerin bzw. dem Benutzer in Schritt 5 ausgewählt wurden, werden vom OpenID Provider zum Home Broker in verschlüsselter Form übermittelt. 9. Im vorgestellten Szenario kann nur eine Untermenge an angeforderten Attributen vom OpenID Provider bereitgestellt werden. Für die restlichen angeforderten Attribute wird deswegen noch der Attribute Provider kontaktiert. Die Abfrage von Attributen basiert auf einem zuvor zwischen Home Broker und Attribute Provider ausgehandelten Access Token, wie es beispielsweise in OAuth verwendet wird. 10. Die restlichen Attribute werden in verschlüsselter Form vom Attribute Provider an den Home Broker übertragen. 11. Nun befinden sich alle vom Service Provider angefragten Attribute gesammelt beim Home Broker. Diese sind jedoch immer noch für die Benutzerin bzw. den Benutzer verschlüsselt, womit die Benutzerin bzw. der Benutzer immer noch die volle Kontrolle über ihre bzw. seine Daten besitzt. Um diese verschlüsselten Attribute auch einem Service Provider zur Verfügung stellen zu können, müssen sie entsprechend umgeschlüsselt werden. Dafür wird jedoch ein Re-Encryption Key benötigt. Die Erstellung eines ReEncryption Keys erfolgt dabei durch den Re-Encryption Key Generator, welcher lokal in der Domäne der Benutzerin bzw. des Benutzers läuft. Ein entsprechender Request zur Erstellung eines Re-Encryption Keys wird vom Implementierung 22 Home Broker an den lokalen Re-Encryption Key Generator gesendet. Der Request enthält dabei den öffentlichen Schlüssel des Service Providers. 12. Die Benutzerin bzw. der Benutzer stellt dem Re-Encryption Key Generator seinen privaten Schlüssel bereit, und somit kann aus dem privaten Schlüssel der Benutzerin bzw. des Benutzers und dem öffentlichen Schlüssel des Service Providers ein geeigneter Re-Encryption Key berechnet werden. Der ReEncryption Key wird anschließend an den Home Broker retourniert. 13. Der Home Broker schlüsselt nun alle Attribute der Benutzerin bzw. des Benutzers für den Service Provider um. Die umgeschlüsselten Attribute und das eigentliche Authentifizierungslevel werden anschließend in eine SAML Nachricht verpackt und signiert. 14. Die SAML Nachricht wird anschließend an den SP Broker gesendet. Der SP Broker verifiziert die Nachricht und sendet sie darauf weiter an den Service Provider. 15. Der Service Provider verifiziert die vom SP Broker erhaltene Nachricht, extrahiert die Attribute und entschlüsselt diese mit Hilfe seines privaten Schlüssels. 16. Basierend auf den entschlüsselten Attributen und dem Authentifizierungslevel kann der Service Provider nun entscheiden, ob der Benutzerin bzw. dem Benutzer Zugriff auf die geschützte Ressource gewährt werden soll oder nicht. Im Gegensatz zum zuvor beschriebenen Authentifizierungsablauf erlaubt Twitter kein Speichern verschlüsselter Daten. Wird Twitter als Identity Provider verwendet, so müssen die Daten zuerst mittels Encryption Service verschlüsselt werden, bevor sie an den Home Broker übertragen werden. Wiederholte Authentifizierungen: Immer wieder den gesamten zuvor beschriebenen Authentifizierungsablauf bei jeder Anmeldung zu durchlaufen kann für eine Benutzerin bzw. einen Benutzer durchaus zeitraubend und kompliziert sein. Aus diesem Grund besteht die Möglichkeit – sofern es die Benutzerin bzw. der Benutzer wünscht – bei der ersten Authentifizierung getroffene Entscheidungen bei einzelnen Komponenten merken zu lassen. So kann beispielsweise in Schritt 3 die Auswahl des Home Brokers entfallen, da sich der SP Broker die gewählte Entscheidung aus dem ersten Authentifizierungsprozess merken kann. Auch Schritt 9 kann entfallen, sofern die Benutzerin bzw. der Benutzer einer Single Sign-On (SSO) Authentifizierung beim OpenID Provider zustimmt. Zusätzlich können auch die Schritte zur Generierung eines Re-Encryption Keys entfallen, wenn der Home Broker den erstellten Re-Encryption Key im Profil der Benutzerin bzw. des Benutzers speichert. Implementierung 23 5 Evaluierung und Diskussion In diesem Abschnitt wird die vorgestellte Implementierung hinsichtlich der in Abschnitt 4.1 definierten Anforderungen evaluiert und diskutiert. Individuelle Auswahl des Cloud Identity Brokers In der vorgestellten Implementierung ist es sowohl der Benutzerin bzw. dem Benutzer als auch dem Service Provider möglich, ihren bzw. seinen gewünschten Cloud Identity Broker für eine Authentifizierung auszuwählen. Der Service Provider braucht nur das entsprechende Kommunikationsprotokoll zum SP Broker zu implementieren und eine Benutzerin bzw. ein Benutzer nur die mit ihr bzw. ihm affiliierten Identity und Attribute Provider bei einem anderen Home Broker registrieren. Vertrauen Die individuellen Cloud Identity Broker vertrauen einander aufgrund dem von der Broker Authority hergestellten Vertrauensverhältnis. Die Vertrauensverhältnisse zwischen Service Provider und SP Broker und zwischen Home Broker und Identity Provider (OpenID Provider bzw. Twitter) sind bilateral organisiert. Datenschutz Der Datenschutz gegenüber Cloud Service Providern wird speziell gewahrt. Die Anforderung der Benutzer-Zentriertheit wird dadurch erfüllt, dass persönliche Daten nur für die Benutzerin bzw. den Benutzer selbst verschlüsselt sind. Die Benutzerin bzw. der Benutzer besitzt daher immer die volle Kontrolle zum Entschlüsseln der Daten bzw. zur Erstellung eines Re-Encryption Key. Zusätzlich wird die Anforderung der Datenminimierung so erfüllt, dass die Benutzerin bzw. der Benutzer auswählen kann, welche Attribute an den Service Provider übermittelt werden sollen. Die Vertraulichkeit der Identitätsdaten gegenüber einem Cloud Service Provider wird insofern gewahrt, da alle Daten nur verschlüsselt bei einem Cloud Service Provider verarbeitet werden. Benutzerfreundlichkeit Zuallererst ist die erhöhte Flexibilität und Benutzerfreundlichkeit dadurch gegeben, dass sich eine Benutzerin bzw. ein Benutzer den gewünschten Cloud Identity Broker auswählen kann. Zusätzlich kann eine Benutzerin bzw. ein Benutzer ihre bzw. seine favorisierten Identity und Attribute Provider bei der Registrierung am Home Broker angeben. Die Möglichkeit der Auswahl von Attributen erhöht ebenfalls die Benutzerfreundlichkeit. Letztendlich ergibt sich ein erhöhter Komfort für Benutzerinnen Evaluierung und Diskussion und Benutzer, indem Benutzerinteraktionen 24 bei wiederkehrenden Authentifizierungsabläufen gespeichert und somit ausgelassen werden können. Einfache Integration in existierende Infrastrukturen Das „Föderierte Cloud Identity Broker“-Modell kann einfach von Service Providern aufgegriffen werden. Wenn ein entsprechender SP Broker ausgewählt wurde, so muss nur ein spezifisches Interface zum SP Broker und nicht viele zu den einzelnen Identity Providern implementiert werden. Zusätzliche Identity Provider können leicht integriert werden, hier muss der Home Broker die entsprechenden Interfaces zu den Identity Providern implementieren. Evaluierung und Diskussion 25 6 Fazit und Ausblick In diesem Projekt wurde ein neues Identitätsmanagement-Modell für die Cloud vorgestellt, welches zusammenschließt. mehrere Dieses Cloud Modell Identity wurde Broker auch in anhand einer Föderation unterschiedlicher Komponenten prototypisch implementiert. Das vorgestellte „Föderierte Cloud Identity Broker“-Modell bietet Benutzerinnen bzw. Benutzern eine größere Flexibilität hinsichtlich der Auswahl eines gewünschten Cloud Identity Brokers. Die Abhängigkeit von nur einem zentralen Identity Broker wie im einfachen „Cloud Identity Broker“-Modell ist nicht mehr gegeben. Zusätzlich bietet dieses Modell entsprechenden Datenschutz in Hinblick auf den Cloud Service Provider, da alle Daten nur verschlüsselt zwischen den einzelnen Komponenten ausgetauscht werden. Die Benutzerin bzw. der Benutzer besitzt dabei immer die volle Kontrolle über ihre bzw. seine Daten, da diese anfänglich nur für sie bzw. ihn verschlüsselt beim Identity Provider abgelegt wurden. Die Erstellung eines ReEncryption Keys und somit die Umschlüsselung für einen Service Provider erfolgt ebenfalls nur unter der alleinigen Kontrolle der Benutzerin bzw. des Benutzers. Letztendlich ist durch die Verwendung von standardisierten Protokollen wie OpenID oder SAML eine einfache Integration in bestehende Infrastrukturen möglich. Zukünftige Erweiterungen dieses Modells bzw. der prototypischen Implementierung können die Integration von weiteren Identity Providern, wie z.B. Facebook oder Google betreffen. Zusätzlich kann versucht werden, auch nationale Identitätsmanagementlösungen wie beispielsweise die österreichische Bürgerkarte oder das STORK-Rahmenwerk zu integrieren. Fazit und Ausblick 26 Dokumentenhistorie Version Datum Autor(en) Anmerkung 0.1 18.09.2014 Bernd Zwattendorfer Dokumenterstellung 0.2 19.09.2014 Bernd Zwattendorfer Kapitel 1 und 2 0.3 22.09.2014 Bernd Zwattendorfer Kapitel 3 0.4 23.09.2014 Bernd Zwattendorfer Kapitel 4 0.5 24.09.2014 Bernd Zwattendorfer Kapitel 5 und 6 0.6 25.09.2014 Bernd Zwattendorfer Finaler Draft 1.0 25.09.2014 Bernd Zwattendorfer Finalisierung Fazit und Ausblick 27 Referenzen [AFGH06] [BeTa11] [Cox12] [CSA11] [Gopa09] [Goul10] [Hardt12] [HLE09] [HSW+12] [ISO29115] [LCR+08] [PeBe10] [SBJ+14] [US-PA01] Fazit und Ausblick G. Ateniese, K. Fu, M. Green, S. Hohenberger: Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Transactions on Information and System Security (2006), 9(1), 1–30 E. Bertino, K. Takahashi: Identity Management: Concepts, Technologies, and Systems. Artech House (2011) P. Cox: How to Manage Identity in the Public Cloud. InformationWeek (2012) Cloud Security Alliance (CSA): SECURITY GUIDANCE FOR CRITICAL AREAS OF FOCUS IN CLOUD COMPUTING V3.0. (2011) A. Gopalakrishnan: Cloud Computing Identity Management. SETLabs Briefings (2009), 7(7), 45–55 J. T. Goulding: Identity and access management for the cloud: CA’s strategy and vision. (2010) D. Hardt: The OAuth 2.0 Authorization Framework. RFC 6749. (2012) B. Hulsebosch, G. Lenzini, H. Eertink: STORK D2.3 - Quality authenticator scheme. STORK Deliverable, (2009) D. Hühnlein, J. Schmölz, T. Wich, B. Biallowons, M. Horsch, T. Hühnlein: Standards und Schnittstellen für das Identitätsmanagement in der Cloud. In: D-A-CH Security 2012, syssec (2012) 208-218 JTC1/SC27: ISO/IEC 29115 - Information technology - Security techniques - Entity authentication assurance framework (2013) H. Lockhart, B. Campbell, N. Ragouzis, J. Hughes, R. Philpott, E. Maler, T. Scavo: Security Assertion Markup Language (SAML) V2.0 Technical Overview. (2008) S. Pearson, A. Benameur: Privacy, Security and Trust Issues Arising from Cloud Computing. In 2010 IEEE CloudCom (2010). 693–702 N. Sakimura, J. Bradley, M. Jones, B. de Medeiros, C. Mortimore: OpenID Connect Core 1.0. (2014) Senate of the United States: Uniting and Strengthening America by Providing Appropriate Tools Required to Intercept and Obstruct Terrorism (USA PATRIOT ACT) Act of 2001 28