Dokumentation - MOAs in der Cloud_v1.0

Werbung
www.egiz.gv.at
E-Mail: [email protected]
Telefon: ++43 (316) 873 5514
Fax: ++43 (316) 873 5520
Inffeldgasse 16a / 8010 Graz / Austria
Dokumentation MOAs in der Cloud
Version 1.0, 11. Juli 2012
Bernd Zwattendorfer – [email protected]
Zusammenfassung:
Die MOA-Module sind essentielle Kernkomponenten im österreichischen E-Government.
MOA-ID im Speziellen beschäftigt sich mit der Identifizierung und Authentifizierung mittels
Bürgerkarte bei Online Applikationen. Nachdem vermehrt Online Applikationen in die Cloud
transferiert werden, wurde im Rahmen dieses Projekts analysiert, inwiefern sich MOA-ID
auch für die Cloud eignet. Dabei wurde einerseits untersucht, ob man sich mittels
Bürgerkarte und MOA-ID bei von Public Cloud Providern offerierten Diensten authentifizieren
kann. Andererseits wurde erkundet, ob sich die aktuelle MOA-ID Version aus technischer
Sicht für eine Deployment in der Public Cloud eignet. Als Ergebnisse können festgehalten
werden, dass MOA-ID durch eine SAML 2.0 Erweiterung zur Authentifizierung bei Software
as a Service-Anbietern wie Google Apps oder Salesforce geeignet ist. Weiters konnte MOAID durch entsprechende Anpassungen erfolgreich in der Public Cloud (bei Jelastic und auf
der Google App Engine) deployed werden.
Inhaltsverzeichnis:
1 2 3 4 5 Einleitung ..........................................................................................................................................4 Cloud Identitätsmodelle ....................................................................................................................5 2.1 Identität in der Cloud
5 2.2 Identität zur Cloud
5 2.3 Identität von der Cloud
6 Mögliche Cloud Anbieter ...................................................................................................................8 3.1 Cloud-Anbieter mit Authentifizierungsschnittstelle
8 3.2 Cloud Anbieter für ein Java PaaS-Modell
9 Verwendung von MOA-ID zur Cloud ..............................................................................................12 4.1 Authentifizierung über MOA-ID bei Google Apps
12 4.2 Authentifizierung über MOA-ID bei Salesforce
15 Verwendung von MOA-ID in der Cloud ..........................................................................................18 5.1 Deployment bei Jelastic
19 5.2 Deployment auf der Google App Engine
20 6 Zusammenfassung .........................................................................................................................23 Referenzen .............................................................................................................................................24 Das E-Government Innovationszentrum ist eine gemeinsame Einrichtung des Bundeskanzleramtes und der TU-Graz
MOAs in der Cloud
Abbildungsverzeichnis
Abbildungsverzeichnis
Abbildung 1 - Identität in der Cloud ......................................................................................................... 5 Abbildung 2 - Identität zur Cloud ............................................................................................................. 6 Abbildung 3 - Identität von der Cloud ...................................................................................................... 7 Abbildung 4 – Menü-Auswahl des Cloud Angebots von Jelastic .......................................................... 10 Abbildung 5 - Authentifizierung mittles MOA-ID bei Google Apps und Salesforce ............................... 12 Abbildung 6 - Google-Menü zum Eintrag von MOA-ID als Identity Provider ........................................ 14 Abbildung 7 - Authentifizierung bei Google Apps über MOA-ID ........................................................... 15 Abbildung 8 - Salesforce SAML Online Validierungsservice................................................................. 16 Abbildung 9 - Salesforce-Menü zum Eintrag von MOA-ID als Identity Provider ................................... 17 Abbildung 10 - Verwendung von MOA-ID in der Clodu........................................................................ 18 –2–
MOAs in der Cloud
Revision History
Revision History
Version
Datum
Autor(en)
0.1
09.05.2012
Bernd
Zwattendorfer
Dokumenterstellung
0.2
15.05.2012
Bernd
Zwattendorfer
Kapitel 2, 3 und 4 hinzugefügt
0.3
10.07.2012
Bernd
Zwattendorfer
Kapitel 5 hinzugefügt
1.0
11.07.2012
Bernd
Zwattendorfer
Finalisierung des Dokuments
–3–
MOAs in der Cloud
Einleitung
1 Einleitung
Identifizierung und Authentifizierung spielen sowohl bei Applikationen des behördlichen als
auch des privatwirtschaftlichen Bereichs eine wichtige Rolle. Für eine eindeutige und sichere
Identifizierung und Authentifizierung wird in Österreich die Bürgerkarte bzw. die HandySignatur verwendet. Um Betreibern von Online Applikationen diese Identifizierungs- und
Authentifizierungsmöglichkeit mittels Bürgerkarte zu erleichtern, steht das Open Source
Modul MOA-ID1 frei zum Download zur Verfügung, welches die Identitäts- und
Authentifizierungsdaten einer Bürgerkartenanmeldung der Online Applikation in strukturierter
Form bereitstellt.
Cloud Computing ist nicht nur ein Hype in den Medien, sondern wird auch aufgrund der
Kostenvorteile vermehrt eingesetzt. Auch Behörden beschäftigen sich mit dem Trend und
verlagern zunehmend Applikationen in die Cloud. Hier tritt damit unweigerlich die Frage auf,
ob auch sichere Authentifizierungsmechanismen wie die Bürgerkarte für eine Identifizierung
in der Cloud geeignet sind. Im Rahmen dieses Projekts wurde daher untersucht, inwiefern
eine Bürgerkartenauthentifizierung bei ausgewählten Public Cloud Providern möglich ist. Zu
Testzwecken wurde eine Authentifizierung über MOA-ID mittels Bürgerkarte an den Public
Cloud Providern Google und Salesforce getätigt. In weiterer Folge wurde im Rahmen dieses
Projekts auch untersucht, ob nicht auch MOA-ID selbst in der Public Cloud betrieben werden
könnte. Hierbei wurde ebenfalls ein Deployment bei zwei ausgewählten Cloud Service
Providern (Google und Jelastic) durchgeführt. Bei diesen Deployment-Versuchen wurden nur
technische Möglichkeiten analysiert und rechtliche Rahmenbedingungen außer Acht
gelassen.
Das weitere Dokument gliedert sich wie folgt. Der nächste Abschnitt beschreibt
unterschiedliche Identitätsmodelle in der Cloud, Identität in der Cloud, Identität zur Cloud,
und Identität von der Cloud. Im weiteren Dokument dient MOA-ID dabei als Identity Provider
zur Cloud und von der Cloud. Abschnitt 3 beschreibt jene Cloud Service Provider, die
einerseits von MOA-ID zur Identifizierung und Authentifizierung zur Cloud und andererseits
als mögliche Deploymentplattform von MOA-ID selbst in der Cloud genutzt werden könnten.
Die eigentliche Verwendung von MOA-ID zur Cloud wird in Abschnitt 4 beschrieben. Die
Ergebnisse der Tests von einem MOA-ID Deployment in der Public Cloud werden in
Abschnitt 5 zusammengefasst. Eine allgemein Zusammenfassung am Ende rundet dieses
Dokument ab.
1
http://joinup.ec.europa.eu/software/moa-idspss/home
–4–
MOAs in der Cloud
Cloud Identitätsmodelle
2 Cloud Identitätsmodelle
Im Rahmen von Web Applikationen haben sich unterschiedliche Modelle fürs
Identitätsmanagement etabliert. [PaGa07] beispielsweise klassifiziert die Identitätsmodelle im
Web in einen „benutzer-zentrierten“, einen „zentralen“ und einen „föderierten“ Ansatz. Beim
benutzer-zentrierten Ansatz befinden sich die persönlichen Daten der Benutzerin bzw. des
Benutzers immer unter Kontrolle der jeweiligen Person. Beim zentralen Ansatz werden
hingegen alle persönlichen Daten zentral bei einem Identity Provider gespeichert und
verwaltet. Im Unterschied dazu werden beim föderierten Ansatz nicht alle Daten bei einem
Identity Provider zentral, sondern bei mehreren Provider verteilt gespeichert.
Identitäten und Authentifizierung spielen jedoch nicht nur bei klassischen Web Applikationen,
sondern auch in der Cloud eine gewichtige Rolle. Die klassischen Identitätsmodelle können
daher auch teilweise in die Welt der Clouds übertragen werden. [Goul10] beschreibt
beispielsweise in seinem Whitepaper solche Modelle. Im Folgenden werden drei
unterschiedliche Identitätsmodelle und -architekturen für die Cloud vorgestellt.
2.1 Identität in der Cloud
Abbildung 1 zeigt das Identitätsmodell in der Cloud, wo die Identitätsdaten vom Cloud
Service Provider selbst, der auch die Cloud Applikation hosted bzw. betreibt, verwaltet
werden. In diesem Modell verschmelzen quasi Service Provider und Identity Provider. Die
Benutzerkonnten und die dazugehörigen Daten sind also alle beim Cloud Service Provider
gespeichert, befinden sich daher in der Cloud. Ein Vorteil dieses Modells ist, dass sich die
Organisation, die ihre Applikation in die Cloud auslagert, sich zusätzlichen Aufwand und
Kosten für die Benutzerverwaltung bzw. -registrierung erspart, da Benutzerprofile bzw.
Accounts direkt vom Cloud Service Provider angeboten werden.
Cloud Service Provider
Identity
Provider
Cloud
Applikation
Abbildung 1 - Identität in der Cloud
2.2 Identität zur Cloud
In diesem Modell wird der Identity Provider nicht vom selben Cloud Service Provider
betrieben, der auch die Cloud Applikation betreibt. Die Identitätsinformationen bzw. auch die
–5–
MOAs in der Cloud
Cloud Identitätsmodelle
Authentifizierung von Benutzerinnen und Benutzern werden daher an diesen externen
Identity Provider ausgelagert. Die Übertragung der Identitäts- und Authentifizierungsdaten
vom Identity Provider zum Cloud Service Provider erfolgt dabei über geeignete
Schnittstellen. Der Identity Provider muss daher nicht zwingend in der Cloud, sondern kann
auch in einem lokalen Datencenter betrieben werden. Die Identitätsdaten werden daher zur
Cloud übertragen. Dieses Identitätsmodell ist in Abbildung 2 dargestellt.
Der Vorteil dieses Modells ist, dass eine bereits bestehende Benutzerverwaltung für Cloud
Applikationen genutzt werden kann und keine neue Benutzerverwaltung oder Migration
erfolgen muss. Während die Applikation in der Cloud betrieben wird, bleibt die
Identitätsverwaltung in der Obhut bzw. im Kontrollbereich der eigenen Organisation.
Cloud Service Provider
Identity
Provider
Cloud
Applikation
Abbildung 2 - Identität zur Cloud
2.3 Identität von der Cloud
In diesem Modell werden Identitäten von einem Identity Provider in der Cloud zur Verfügung
gestellt. Die Identitätsdaten kommen daher von der Cloud. Aus diesem Grund kann dieses
Modell auch als „Identity as a Service“-Modell bezeichnet werden. Dieses Modelle ähnelt
zwar dem Modell aus Abschnitt 2.1 (Identität in der Cloud), jedoch muss in diesem Fall der
Identity Provider nicht zwingend beim selben Cloud Service Provider betrieben werden, der
auch die Cloud Applikation betreibt. Dieses Identitätsmodell wird in Abbildung 3 illustriert.
Ein Vorteil dieses Modells ist, dass sich eine Organisation ihren Betreiber zur
Benutzerverwaltung aussuchen kann und auf spezifische Anforderungen (z.B. Datenschutz
und Speicherung der Identitätsdaten nur innerhalb eines bestimmten Bereichs bzw. Landes)
besser eingehen kann, als bei Verwendung vom Identitätsmodell aus Abbildung 1. Ein
weiterer Vorteil ist, dass die Benutzerverwaltung von der Organisation ausgelagert wird und
somit Wartungsaufwand innerhalb der Organisation vermieden und Kosten gespart werden
können.
–6–
MOAs in der Cloud
Cloud Identitätsmodelle
Abbildung 3 - Identität von der Cloud
–7–
MOAs in der Cloud
Mögliche Cloud Anbieter
3 Mögliche Cloud Anbieter
Dieses Kapitel liefert einen kurzen Überblick über ausgewählte Cloud Service Provider
(CSP). Die in Abschnitt 3.1 vorgestellten Provider bieten eine „externe“
Authentifizierungsschnittstelle an. Über diese Schnittstelle kann MOA-ID als externer Identity
Provider zur Authentifizierung bei Cloud Applikationen genutzt werden (vgl. Abschnitt 2.2 –
Identitätsmodell zur Cloud). Abschnitt 3.2 beschreibt Cloud Service Provider, welche eine
Java-basierte Plattform als Service (PaaS) anbieten. Auf solchen Plattformen könnte MOAID in der Cloud betrieben werden (vgl. Abschnitt 2.3 – Identitätsmodell von der Cloud).
3.1 Cloud-Anbieter mit Authentifizierungsschnittstelle
Dieser Abschnitt beschreibt eine Auswahl von Cloud Service Providern, die eine Schnittstelle
für externe Authentifizierungen anbieten. MOA-ID kann in diesem Fall als Identity Provider
zur Authentifizierung bei Cloud Applikationen verwendet werden, muss aber nicht, wie im
vorigen Abschnitt beschrieben, auch in der Cloud betrieben werden.
3.1.1 Google Apps
Google Apps2 stellt im Prinzip ein Software as a Service (SaaS) Modell dar, welches von
Google angeboten wird. Bei der angebotenen Software handelt es sich um Web
Applikationen, die ähnliche Funktionen wie traditionelle Office Suites abbilden. Dabei handelt
es sich unter anderem um die folgenden Produkte von Google: Gmail3, Google Calendar4,
Google Docs5 oder Google Groups6. Um diese Anwendungen an Kundenwünsche
entsprechend anpassen zu können, können diese Applikationen unter einer
kundenspezifischen bzw. eigenen Domain betrieben bzw. aufgerufen werden. Google Apps
kann derzeit kostenlos getestet werden. Für den Testbetrieb gibt es jedoch eine
Einschränkung auf zehn Benutzerinnen- bzw. Benutzer-Accounts.
Für den Zugriff auf diese Services von Google kann einerseits die interne Google
Authentifizierung basierend auf Benutzername/Passwort genutzt werden. Andererseits bietet
Google aber auf Basis von SAML 2.0 [SAML] auch eine Single Sign-On (SSO) Schnittstelle
zum
Einbinden
von
externen
Identity
Providern
bzw.
anderen
Authentifzierungsmechanismen an.
3.1.2 Salesforce
Salesforce7 ist ein Cloud Service Provider, der sowohl Software als auch Plattform as a
Service anbietet. Salesforce hat sich speziell auf Geschäftsanwendungen spezialisiert. Bei
der angebotenen Software handelt es sich hauptsächlich um Software zum Management für
Kundenbeziehungen (CRM – Customer Relationship Management). Nebenbei bietet
Salesforce.com aber noch andere Geschäftsanwendungen an, wie z.B. Applikationen für
Vertrieb und Marketing (Sales Cloud8), Kundenservice (Service Cloud9) oder aber auch für
2
http://www.google.com/apps
3
http://mail.google.com/
4
http://www.google.com/calendar
5
http://docs.google.com/
6
http://groups.google.com/
7
http://www.salesforce.com
8
http://www.salesforce.com/sales-cloud/overview/
–8–
MOAs in der Cloud
Mögliche Cloud Anbieter
die Kommunikation im Unternehmen in Echtzeit (Chatter10). Diese Services können derzeit
für 30 Tage kostenlos genutzt und getestet werden, danach wird eine entsprechende Gebühr
fällig.
In den einzelnen Applikationen können natürlich Benutzer-Konten, firmenintern sowie -extern
für Kunden, angelegt werden. Zur Authentifizierung kann der Benutzername/PasswortMechanismus von Salesforce oder aber auch ein eigener Mechanismus über eine
Schnittstelle verwendet werden. Wie auch Google bietet Salesforce die Möglichkeit, einen
externen Identity Provider über eine SAML Schnittstelle einzubinden. Dabei kann auf die
SAML Versionen 1.1 und 2.0 zurückgegriffen werden.
3.2 Cloud Anbieter für ein Java PaaS-Modell
Dieser Abschnitt beschreibt eine Auswahl möglicher Cloud Service Provider, die ein Java
PaaS-Modell anbieten und bei denen MOA-ID als Service in der Public Cloud betrieben
werden könnte.
3.2.1 Jelastic
Jelastic11 ist ein PaaS-Anbieter, welcher rein auf Java spezialisiert ist. Von Jelastic wird also
eine Cloud Plattform als Service angeboten, auf der beliebige Java Web Applikationen
deployed werden können. Die Registrierung bzw. die Auswahl der benötigten Ressourcen
erfolgt einfach über ein Menü (siehe Abbildung 4). Im Gegensatz zu anderen PaaS Anbietern
wird hier nicht nach verbrauchten Servern, sondern nach verbrauchten Ressourcen
abgerechnet. Genauer gesagt wird in sogenannten „Cloudlets“ pro Stunde, welche eine
definierte Menge an Arbeitspeicher und Rechenleistung (ca. 128MB RAM und 200MHz CPU
Leistung) abbilden, abgerechnet.
Vom Leistungsumfang bietet Jelastic eine Auswahl von unterschiedlichen Java
Laufzeitumgebungen (Version 6 oder 7), mehreren Applikations-Servern bzw. Servlet
Containern (Jetty 6, Tomcat 6 bzw.7, Glassfish 3), eine SQL-Datenbankuntersützung bzw.
den Support für einen automatischen Software-Buildprozess mittels Maven. Um die für Cloud
Computing notwendige Skalierbarkeit zu erreichen, können mehrere Server-Instanzen
sowohl vertikal (Verwendung mehrer Cloudlets) als auch horizontal (parallele Instanzen wie
beim klassischen Loadbalancing) aneinandergeschalten werden. Zusätzlich zu dieser
Parallelisierung bietet Jelastic noch einen Loadbalancer auf Basis von Nginx12 an.
Interessant an diesem Anbieter ist, dass die zugrundeliegende Infrastruktur nicht selbst
angeboten, sondern von anderen Providern bezogen wird. Um beispielsweise
Datenschutzanforderungen gerecht zu werden, bietet Jelastic eine Auswahl des
Infrastruktur-Providers für Nordamerika, Europa, Russland und Japan an.
9
http://www.salesforce.com/service-cloud/overview/
10
http://www.salesforce.com/chatter/overview/
11
http://jelastic.com/
12
http://nginx.org/
–9–
MOAs in der Cloud
Mögliche Cloud Anbieter
Abbildung 4 – Menü-Auswahl des Cloud Angebots von Jelastic
3.2.2 Google App Engine
Die Google App Engine ist ein Plattform as a Service-Angebot von Google zur Entwicklung
und zum Hosten von Web Applikationen. Google unterstützt dabei drei Laufzeitumgebungen:
Java, Python, und Go (Go vorerst nur in experimenteller Form). Nachdem Java als Plattform
angeboten wird, eignet sich die Google App Engine auch prinzipiell für ein Hosting von MOAID. An dieser Stelle ist aber zu erwähnen, dass die Google App Engine keine vollständige
Java Laufzeitumgebung (JVM) unterstützt, sondern aufgrund des Sandbox-Ansatzes, wo
eine Applikation in einer geschützten Umgebung mit limitierten Rechten auf das
zugrundeliegende Betriebssystem läuft, nur eine gewisse Anzahl an JRE-Klassen. Die
genauen unterstützen Klassen werden in einer Whitelist13 veröffentlicht. So erlaubt die
Google App Engine beispielsweise kein direktes Erstellen von und schreiben in Dateien im
darunterliegenden Filesystem. Google unterstützt Java Version 5 und 6 und zusätzliche
weitere Java Services wie z.B. zum Abspeichern von Objekten. Darunter fallen Java Data
Objects14 (JDO) und die Java Persistence API15 (JPA), aber auch andere Services wie Mail
oder Google Accounts16.
Auch Google bietet zu Testzwecken eine kostenlose Nutzung der App Engine an. Dabei darf
eine Benutzerin oder ein Benutzer maximal zehn Applikationen erstellen. Hier darf jede
Applikation maximal 6,5h CPU-Stunden pro Tag verwendet werden. Der eingehende
Datenfluss ist auf 1GB pro Tag beschränkt. Wird auf die Mail API zurückgegriffen, so dürfen
max. 100 E-Mails pro Tag versendet werden.
13
https://developers.google.com/appengine/docs/java/jrewhitelist
14
http://www.oracle.com/technetwork/java/index-jsp-135919.html
15
http://www.oracle.com/technetwork/java/javaee/tech/persistence-jsp-140049.html
16
https://accounts.google.com
– 10 –
MOAs in der Cloud
Mögliche Cloud Anbieter
3.2.3 Sonstige Anbieter
In diesem Abschnitt werden zur Vollständigkeit noch weitere Java-basierte PaaS-Anbieter
gelistet, welche sich für ein Deployment von MOA-ID in der Cloud eignen könnten. Es sei an
dieser Stelle darauf hingewiesen, dass bei keinem dieser Betreiber ein Deployment von
MOA-ID versucht wurde.
Mögliche Anbieter wären:







Amazon AWS Elastic Beanstalk17
Red Hat Open Shift18
Heroku19
WSO2 StratosLive20
CloudBees21
Cumulogic22
AppFog23
17
http://aws.amazon.com/elasticbeanstalk/
18
https://openshift.redhat.com/app/
19
http://www.heroku.com/
20
http://wso2.com/cloud/stratoslive/
21
http://www.cloudbees.com/
22
http://www.cumulogic.com/
23
http://www.appfog.com/
– 11 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
4 Verwendung von MOA-ID zur Cloud
Dieser Abschnitt beschreibt, wie MOA-ID zur Authentifizierung bei Cloud Applikationen als
externer Identity Provider herangezogen werden kann. MOA-ID fügt sich daher in das Bild
des Identitätsmodells aus Abschnitt 2.2. Abbildung 5 veranschaulicht noch einmal dieses
Identitätsmodell, in dem MOA-ID als externer Identity Provider fungiert, der Identitätsdaten
über eine entsprechende Schnittstelle der Cloud Applikation zur Verfügung stellt. Im Rahmen
dieses Projekts wurde eine Authentifizierung über MOA-ID bei zwei unterschiedlichen Cloud
Service Providern (Google und Salesforce) durchgeführt. Beide Cloud Service Provider
offerieren eine solche Authentifizierungs- bzw. SSO-Schnittstelle über SAML. Während
Google
nur
auf
die
Version
2.0
setzt,
bietet
Salesforce
auch
eine
Authentifizierungsmöglichkeit über die ältere Version 1.1 an. Beide Anbieter offerieren neben
SAML auch noch zusätzliche Authentifizierungsmöglichkeiten für externe Identity Provider
wie beispielsweise OAuth24 oder OpenID25. OpenID wird jedoch nur von Google zusätzlich
unterstützt.
In den folgenden Unterabschnitten wird etwas genauer beschrieben, wie MOA-ID erweitert
wurde, um diese Authentifizierungen durchführen zu können. Für die Erweiterungen und die
Verwendung von MOA-ID als externer Identity Provider wurde auf die bei beiden Anbietern
verfügbare SAML Schnittstelle zurückgegriffen.
Abbildung 5 - Authentifizierung mittles MOA-ID bei Google Apps und Salesforce
4.1 Authentifizierung über MOA-ID bei Google Apps
Um externe Identity Provider für eine Authentifizierung bei Google Apps einbinden zu
können, offeriert Google eine entsprechende SSO-Schnittstelle auf Basis von SAML 2.0.
Damit nun MOA-ID als ein solcher Identity Provider fungieren kann, musste MOA-ID um eine
entsprechende SAML 2.0 Schnittstelle erweitert werden. Etwas genauer bezeichnet, setzt
Google bei seiner Schnittstelle auf das SAML AuthnRequest/Response Protocol [CKP+09]
sowie das HTTP Post Binding [CHK+09]. MOA-ID wurde also zu Testzwecken so erweitert,
24
http://oauth.net/
25
http://openid.net/
– 12 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
dass SAML AuthnRequest Nachrichten empfangen und SAML Response Nachrichten in der
Version 2.0 retourniert werden können.
Weitere Details zur SSO-Schnittstelle von Google Apps können unter [GCa] bzw. [GCb]
gefunden werden, die Dokumentation ist aber nicht mehr am neusten Stand. So wird
beispielsweise auf [GCb] angegeben, dass der zur Verfügung gestellte Referenz-Code für
eine Authentifizierung mit Google Apps eigentlich veraltert und nicht mehr kompatibel ist. Bei
der Implementierung hat sich des weiteren herausgestellt, dass die von MOA-ID zu Google
übertragene SAML Assertion exakt den Vorgaben von Google entsprechen muss.
Zusätzliche, aber laut SAML Spezifikation gültige SAML Elemente oder Attribute führten zu
einem fehlerhaften Anmeldeversuch. Die Dokumentation zu Fehlermeldungen, die Google
bereitstellt, ist leider auch eher spärlich und bedingt eine eher aufwendigere Fehleranalyse.
Um MOA-ID generell bei Google Apps als Identity Provider zu registrieren, müssen folgende
Werte von MOA-ID im Administrator-Menü eingetragen werden (siehe Abbildung 6):




26
Login-URL zum externen Identity Provider
Dieser URL zeigt auf den Web Endpunkt bei MOA-ID, wo SAML AuthnRequest
Nachrichten empfangen werden können.
Logout-URL zum externen Identity Provider
Nachdem MOA-ID nach erfolgreicher Anmeldung keine Sitzungen speichert, wird
auch keine Logout-Funktionalität benötigt. Nachdem dieser Wert aber verpflichtend
angegeben werden muss, kann einfach eine beliebige Seite angegeben werden, auf
die eine Benutzerin oder ein Benutzer nach Logout bei Google Apps umgeleitet wird.
URL zum Ändern von Passwörtern
Auch diese Funktionalität wird von MOA-ID nicht benötigt, es kann einfach ein
Dummy-Wert eingetragen werden.
Signatur-Zertifikat zur Verifikation
Dieses Zertifikat dient Google zur Überprüfung, ob SAML Response Nachrichten von
MOA-ID korrekt signiert wurden26. Es ist also einfach das Signatur-Zertifikat, welches
MOA-ID zum Signieren von SAML Nachrichten verwendet, hochzuladen.
An dieser Stelle ist anzumerken, dass Google anscheinend keine Widerrufsprüfung durchführt, da
SAML Nachrichten, welche mit einem revozierten Zertifikat signiert wurden, trotzdem als gültig
anerkannt wurden. Es wird daher vermutlich nur ein Vergleich der Zertifikate durchgeführt.
– 13 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
Abbildung 6 - Google-Menü zum Eintrag von MOA-ID als Identity Provider
Generell kann noch angemerkt werden, dass Google eine Identifizierung nur auf Basis von
E-Mail Adressen durchführen kann. Das heißt, dass das von MOA-ID berechnete, und von
der Stammzahl der Benutzerin bzw. des Benutzers abgeleitete bereichsspezifische
Personenkennzeichen (bPK) für den privatwirtschaftlichen Bereich in ein entsprechendes EMail Format gemäß der bei Google Apps registrierten Domain gebracht werden muss.
Nachdem aber E-Mail Adressen auch nicht alle Zeichen enthalten dürfen, die beim Base64kodierten bPK vorhanden sein können, wurde das von MOA-ID berechnete bPK vor dem
Versand an Google in ein entsprechendes Format einer Base16-Kodierung gebracht. Ein
beispielhafter von MOA-ID erstellter Identifikator für eine Anmeldung bei Google Apps sieht
somit folgendermaßen aus:

[email protected]
Für eine erfolgreiche Anmeldung bei Google Apps muss dieser Identifikator zuvor in der
Benutzerverwaltung registriert und die dazugehörigen Benutzerdaten angegeben werden.
Eine nahtlose Registrierung nur mittels MOA-ID ohne vorherige Erstellung von BenutzerAccounts bei Google Apps ist nicht möglich. Abbildung 7 zeigt den Prozessablauf einer
Authentifizierung bei Google Apps über MOA-ID.
– 14 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
https://
docs.google.com/a/
xyz.com/
Abbildung 7 - Authentifizierung bei Google Apps über MOA-ID
4.2 Authentifizierung über MOA-ID bei Salesforce
Wie Google bietet auch Salesforce eine SAML Schnittstelle (Version 1.1 und 2.0) für eine
Authentifizierung über einen externen Identity Provider an. Zur Übertragung von SAML
Nachrichten wird ebenfalls das HTTP Post Binding verwendet, es wird jedoch kein spezielles
SAML Protokoll unterstützt. Eine Authentifizierungsanfrage wird auch nicht über einen SAML
AuthnRequest gestartet, sondern über den Aufruf einer bestimmten URL bei Salesforce.
Details zu den verwendeten SAML Elementen und Attributen können unter [SF] gefunden
werden.
Obwohl Google und Salesforce beide eine SAML 2.0 Schnittstelle unterstützen, sind die
Anforderungen und die ausgetauschten Nachrichten teilweise unterschiedlich. Aus diesem
Grund musste die SAML 2.0 Erweiterung von MOA-ID auch auf die Gegebenheiten von
Salesforce angepasst werden. Die Dokumentation von Salesforce dazu war wesentlich
ausführlicher als bei Google, jedoch waren manchmal Fehlermeldungen ebenso
nichtsausagend. Um die Gültigkeit der von einem externen Identity Provider (in diesem Fall
MOA-ID) erstellten SAML Response Nachricht einfacher überprüfen zu können, bietet
Salesforce ein eigenes Online Validierungsservice für solche Nachrichten an. Abbildung 8
zeigt dieses Validierungsservice, welches eine Fehlersuche bzw. –analyse auf
Nachrichtenebene enorm vereinfacht.
– 15 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
Abbildung 8 - Salesforce SAML Online Validierungsservice
Auch bei Salesforce muss mit MOA-ID als externer Identity Provider ein geeignetes
Vertrauensverhältnis hergestellt werden. Dazu müssen im Administrator-Menü von
Salesforce die folgenden Einträge gemacht werden (siehe Abbildung 9):





SAML Version
Hier kann zwischen SAML Version 1.1 und 2.0 unterschieden werden, MOA-ID wurde
jedoch nur um die SAML 2.0 Unterstützung erweitert.
Issuer Name des externen Identity Providers in der SAML Response
Hier wurde der Server Name, auf dem MOA-ID betrieben wurde, angegeben.
Signatur-Zertifikat des externen Identity Providers
Dieses Zertifikat dient zur Überprüfung der Signatur der SAML Response Nachricht
von MOA-ID.
Identifikator von Benutzerinnen bzw. Benutzern in der SAML Response
Unter diesem Menüpunkt kann angegeben werden, welcher Identifikator für
Benutzerinnen bzw. Benutzer in der SAML Response enthalten ist. Entweder kann
der Salesforce-Benutzername angegeben sein, welcher auch intern bei Salesforce
verwendet wird, oder aber auch ein anderer Identifikator, mit dem eine Verknüpfung
(Föderation) zum Benutzeraccount bei Salesforce hergestellt werden kann.
Ort des Identifikators innerhalb der SAML Response
Dieser Menüeintrag spezifiziert, ob der Identifikator in der SAML Response in einem
speziellen Element von SAML (NameID Element) oder als SAML Attribut in der SAML
Assertion angegeben ist.
– 16 –
MOAs in der Cloud
Verwendung von MOA-ID zur Cloud
Abbildung 9 - Salesforce-Menü zum Eintrag von MOA-ID als Identity Provider
Hinsichtlich des Identifikators zur Identifizierung bei Salesforces gibt es im Gegensatz zu
Google mehr Freiheiten. Entweder kann die SAML Assertion, die MOA-ID zur
Authentifizierung bei Salesforce ausstellt, den Benutzernamen beinhalten, welcher auch bei
Salesforce intern Verwendung findet, oder aber auch einen eigenen Identifikator, welcher mit
dem Benutzerkonto bei Salesforce verknüpft werden kann. Nachdem MOA-ID selbst keine
Benutzerverwaltung durchführt, wurde in der Umsetzung Variante zwei herangezogen. Als
Identifikator diente ein für Salesforce entsprechend berechnetes bPK für den
privatwirtschaftlichen Bereich, welches zur Identitätsföderation herangezogen werden
konnte. Der von Salesforce verwendete Identifikator unterliegt keinerlei Einschränkungen,
deshalb konnte die berechnete bPK ohne Umkodierungen bzw. -formatierungen genommen
werden. An dieser Stelle sei noch zu erwähnen, dass bei Salesforce der Benutzeraccount
vor einer Authentifizierung nicht zwingend bestehen muss. Es wären daher hier „on-the-fly“
Registrierungen von Benutzerinnen und Benutzern via MOA-ID möglich.
– 17 –
MOAs in der Cloud
Verwendung von MOA-ID in der Cloud
5 Verwendung von MOA-ID in der Cloud
Im Prinzip beschreibt auch dieses Kapitel, wie MOA-ID zur Authentifizierung von Cloud
Applikationen herangezogen werden kann. Im Gegensatz zu Abschnitt 4, wo MOA-ID zur
Authentifizierung zur Cloud verwendet wurde, beschäftigt sich dieser Abschnitt zusätzlich
damit, wie MOA-ID auch in der Cloud betrieben werden kann. MOA-ID fügt sich daher in das
Bild des Identitätsmodells aus Abschnitt 2.3, welches in Abbildung 10 nochmals
veranschaulicht wird.
Abbildung 10 - Verwendung von MOA-ID in der Clodu
In den folgenden Unterkapiteln wird beschrieben, was gemacht wurde bzw. welche
Änderungen notwendig waren bzw. wären, um MOA-ID aus technischer Sicht erfolgreich in
der Cloud zu betreiben. Dabei wird das Deployment von MOA-ID bei Jelastic und in der
Google App Engine anhand unterschiedlicher Kriterien, die in Tabelle 1 dargestellt sind,
betrachtet.
Tabelle 1- Kriterien für ein Deployment von MOA-ID in der Cloud
Kriterium
Beschreibung
IAIK Security
Provider
Hier wird beim Deployment betrachtet, inwiefern ein eigener Security
Provider, wie z.B. der IAIK Security Provider, welcher von MOA-ID
benötigt wird, auch auf der Cloud Plattform verwendet werden kann.
MOA-ID
Konfiguration
Dabei wird untersucht, inwiefern die Standard-Konfiguration von
MOA-ID auch in der Cloud verwendet werden kann oder ob auf
andere Konfigurationsmöglichkeiten umgestellt werden müsste.
XML-Parser
Libraries
MOA-ID verwendet das /endorsed-Verzeichnis von Tomcat, damit
immer die aktuellsten XML-Parser zum Einsatz kommen können,
ohne in die Applikation selbst eingreifen zu müssen. Anhand dieses
Kriteriums wird untersucht, ob auch der /endorsed-Mechanismus bei
den Cloud Anbietern gegeben ist.
– 18 –
MOAs in der Cloud
Verwendung von MOA-ID in der Cloud
Kriterium
Beschreibung
Logging
MOA-ID verwendet log4j27 als Logging-Framwork mit einer
voreingestellten Konfiguration. Es wird getestet, ob auch in der Cloud
log4j als Logging-Framework für MOA-ID geeignet ist und ob die
bestehende Konfiguration verwendet werden kann.
Root Context
Hier wird geprüft, ob MOA-ID im gewohnten Root Context
(https://domain/moa-id-auth) aufgerufen werden kann.
Threads
MOA-ID verwendet Threads zum Löschen von alten
Authentifizierungssessions. Es wird untersucht, ob Threads auch von
den Cloud Plattformen unterstützt werden.
Sockets
MOA-ID verwendet Sockets zum Aufrufen von externen
Verbindungen. Es wird untersucht, ob Sockets auch von den Cloud
Plattformen unterstützt werden.
Eigene Domain und
SSL
Die Verwendung einer eigenen Domain ist speziell für E-Government
Applikationen wichtig. Auch ein eigenes SSL-Zertifikat kann von
Nöten sein, wenn die Dienstleister- bzw. Verwaltungseigenschaft
enthalten sein soll. Hier wird geprüft, inwiefern für MOA-ID in der
Cloud eine eigene Domain bzw. ein eigenes SSL-Zertifikat verwendet
werden kann.
5.1 Deployment bei Jelastic
Jelastic kann eher als eine Mischung aus Infrastructure as a Service (IaaS) und Plattform as
a Service (PaaS) Provider angesehen werden. Man hat hier zwar keinen direkten Zugriff auf
das Betriebssystem, jedoch kann man sich den Applikationsserver für das Deployment der
Applikation aussuchen und hat Zugriff auf die entsprechenden Konfigurationsdateien via
eines Webbasierten Editors. Jelastic ist ein rein Java-basierter PaaS Provider und somit ist
auch ein Deployment von MOA-ID aus technischer Sicht ohne Probleme möglich. Es gibt
auch keine Einschränkung hinsichtlich APIs, gegen die programmiert werden muss, sondern
es steht eine komplette JRE Laufzeitumgebung zur Verfügung. Im Folgenden wird trotzdem
kurz beschrieben, welche Änderungen an der MOA-ID Installationsroutine vorgenommen
werden mussten, um MOA-ID erfolgreich bei Jelastic deployen zu können.
IAIK Security Provider:
Bei Jelastic hat man zwar keinen direkten Zugriff auf die Dateistruktur der Java
Laufzeitumgebung, jedoch kann man beliebige jar-Files in ein Verzeichnis hochladen und
mittels Konfigurationsfile angeben, dass diese von der Java Virtuellen Maschine geladen
werden. So konnten auch die IAIK Security Libraries (iaik-jce.jar, etc.), die von MOA-ID
benötigt werden, einfach in die Java Laufzeitumgebung eingebunden werden. Dabei wurde
folgende
System
Property
Djava.ext.dirs=/usr/java/latest/jre/lib/ext:/opt/tomcat/temp/extlibs in der Datei variables.conf hinzugefügt.
MOA-ID Konfiguration:
Die MOA-ID Konfiguration kann wie bisher auch bei Jelastic mittels System Property geladen
werden. Diese Umgebungsvariablen müssen für den Start des Tomcats in der Datei
variables.conf eingetragen werden. Theoretisch reicht es, wenn hier der absolute Pfad zu
27
http://logging.apache.org/log4j/2.x/
– 19 –
MOAs in der Cloud
Verwendung von MOA-ID in der Cloud
einer beliebigen Stelle im Dateisystem zur Konfiguration angegeben wird. Praktisch gibt es
bei Jelastic aber das Problem, dass keine ganzen Verzeichnisse sondern nur einzelne
Dateien auf die Server hochgeladen werden können. Aus diesem Grund musste das
Konfigurationsverzeichnis von MOA-ID in die war-File für den Upload gepackt werden. Das
Konfigurationsverzeichnis wurde beim Deployment automatisch entpackt, und es musste nur
der entsprechende Pfad zur Konfiguration angepasst werden.
XML-Parser Libraries:
Für Libraries wie z.B. XML Parsern, bei denen es häufiger vorkommt, dass sich die
Versionen ändern, gibt es sowohl in Java als auch bei den meisten Applikationsservern ein
sogenanntes /endorsed-Verzeichnis, wo Library-Updates einfach eingespielt werden können,
ohne die Applikation zu verändern. Von der Class-Loading-Hierarchie werden die Libraries
aus dem /endorsed-Verzeichnis gegenüber den Libraries aus der Applikation mit höherer
Priorität behandelt. Auch MOA-ID nützt diese Funktionalität für einzelne XML-Parser
Libraries. Jelastic bietet zwar kein eigenes /endorsed-Verzeichnis, jedoch reicht es, die XMLParser Libraries in das zur Verfügung gestellte /lib-Verzeichnis zu kopieren, da diese auch
hier bevorzugt beim Classloading behandelt werden.
Logging:
Die von MOA-ID bereitgestellte Logging-Konfiguration über das Logging-Framework log4j
benötigt keinerlei Anpassung. Alle Log-Meldungen werden in den entsprechenden Dateien
im /log-Verzeichnis des Jelastic-Tomcats abgelegt.
Root Context:
Bei einem normalen Deployment einer war-File auf einem Applikationsserver wird als Root
Context üblicherweise der Name der war-Datei herangezogen, so auch für MOA-ID. Bei
Jelastic ist dieser Mechanismus ident, deswegen mussten dafür keine Änderungen
vorgenommen werden.
Threads:
Threads werden von Jelastic ohne weiteres unterstützt, hier sind keine Anpassungen von
MOA-ID notwendig.
Sockets:
Sockets werden von Jelastic ohne weiteres unterstützt, hier sind keine Anpassungen von
MOA-ID notwendig.
Eigene Domain und SSL:
Die Verwendung von SSL kann einfach bei der Auswahl der benötigten Ressourcen
ausgewählt werden. Es kommt dabei ein von Jelastic bereitgestelltes SSL-Zertifikat zum
Einsatz. Dieses Zertifikat ist jedoch auf die Domain des Jelastic Hosters (z.B.
app.jelastic.dogado.eu) beschränkt. Eigene Domains und somit eigene SSL-Zertifikate
werden derzeit von Jelastic nicht unterstützt.
5.2 Deployment auf der Google App Engine
Das Plattform as a Service Modell von Google (Google App Engine) unterstützt mehrere
Laufzeitumgebungen, darunter auch Java. Da auch MOA-ID auf Java basiert, wurde die
Google App Engine Plattform zu Testzwecken herangezogen, und es wurde untersucht,
inwiefern sich MOA-ID für ein Deployment auf der Google App Engine eignet. Im Rahmen
dieser Untersuchung wurden nur technische Möglichkeiten erarbeitet und z.B. rechtliche
Rahmenbedingungen außen vor gelassen. Rechtliche Rahmenbedingungen erschweren
vermutlich den Betrieb von MOA-ID auf der App Engine für E-Government Zwecke.
Nichtsdestotrotz könnte MOA-ID für privatwirtschaftliche Zwecke als Service in der Cloud
betrieben werden.
– 20 –
MOAs in der Cloud
Verwendung von MOA-ID in der Cloud
Im Folgenden wird beschrieben, welche Änderungen notwendig sind bzw. wären und welche
Einschränkungen hinzunehmen sind, um MOA-ID vollständig in der Cloud auf der Google
App Engine betreiben zu können.
Allgemeine Probleme und Änderungen für ein Google App Engine Deployment von MOA-ID:
IAIK Security Provider:
Laut Dokumentation und diversen Forumsbeiträgen unterstützt die App Engine keinen
anderen Security Provider wie z.B. jenen von MOA-ID verwendeten IAIK Security Provider.
Diese Problematik konnte jedoch bei der zugrundeliegenden Untersuchung - zumindest
unter der Verwendung von Java 7 - nicht bestätigt werden. Die Signatur-Überprüfung
innerhalb MOA-ID erfolgte problemlos auf der Google App Engine. Die dazu notwendigen
Dateien (iaik-jce.jar, etc.) mussten jedoch in das Applikationsverzeichnis /WEB-INF/lib
kopiert werden, da Google keinen Zugriff auf das zur Laufzeitumgebung interne Verzeichnis
%JAVA_HOME%/jre/lib/ext gewährt. Außerdem darf bei den verwendeten Libraries nur eine
unsignierte Version verwendet werden, da die Google App Engine keine signierten jar-Files
unterstützt28.
XML-Parser Libraries:
Die Google App Engine stellt kein eigenes /endorsed-Verzeichnis zur Verfügung, deshalb
müssen die bei einer MOA-ID Installation normalerweise in dieses Verzeichnis kopierten
XML-Parser Libraries direkt in die Applikation integriert und bei notwendigen Updates in der
Applikation geändert werden.
MOA-ID Konfiguration:
In der klassischen MOA-ID Variante wird der Pfad der Konfiguration sowohl für MOA-ID als
auch für MOA-SPSS über eine System Property angegeben. Diese System Property zeigt
dabei auf eine spezifische Datei bzw. auf ein spezifisches Verzeichnis im Dateisystem. Da
die Google App Engine die Applikationen nur in einer Sandbox laufen lässt, kann der Zugriff
auf die Konfiguration nicht gewohnt erfolgen. Um die Konfiguration wie gewohnt laden zu
können, musste die Konfiguration einerseits komplett in das Applikationsverzeichnis
verschoben werden und andererseits der MOA-ID Code so verändert werden, dass die
Konfiguration als Applikationsressource geladen werden kann. Ein weiteres Problem stellt
generell die MOA-SPSS Konfiguration dar, da hier beispielsweise versucht wird, das
Enduser-Zertifikat im Filesystem abzuspeichern. Für Testzwecke wurde dieser Mechanismus
deaktiviert. Um MOA-ID besser an die Einschränkungen der Google App Engine anpassen
zu können, könnte die Konfiguration beispielsweise an einen entfernten Server ausgelagert
und via Web Service geladen werden, oder aber an eine der drei von der Google App Engine
angebotenen Datenspeicherservices (App Engine Datastore, Google Cloud SQL, Google
Cloud Storage)29 ausgelagert und geholt werden.
Logging:
MOA-ID verwendet log4j als Standard-Logging Framework. Die standardmäßig von MOA-ID
ausgelieferte Konfiguration für dieses Framework sieht die Ausgabe von Log-Meldungen in
eine Datei vor. Dies ist aus Sandbox-Gründen bei der Google App Engine nicht möglich.
Deshalb musste das Speichern von Log-Meldungen von einer Datei auf die
Standardausgabe von Google umgestellt werden. Eine weitere Möglichkeit, das Logging zu
verbessern, wäre die Verwendung von Remote Logging-Mechanismen, sodass die LogMeldungen auf einem entfernten Server abgespeichert werden.
Root Context:
28
https://developers.google.com/appengine/docs/java/runtime
29
https://developers.google.com/appengine/docs/java/datastore/
– 21 –
MOAs in der Cloud
Verwendung von MOA-ID in der Cloud
Wird das ausgelieferte MOA-ID Webmodul in einer Servlet Engine wie z.B. Apache Tomcat
deployed, so ist üblicherweise der Dateiname der war-File gleichzeitig auch der
dazugehörige Kontextpfad der Applikation (z.B. http://domain/moa-id-auth). Diese
Verhaltensweise wird von der Google App Engine nicht unterstützt; defaultmäßig wird eine
Applikation in den Root Context deployed. Um dennoch einen applikationsspezifischen Pfad
verwenden zu können, muss in der Google App Engine spezifischen Konfigurationsdatei
appengine-web.xml folgender Eintrag mit dem gewünschten Kontextpfad hinzugefügt
werden: public-root>/moa-id-auth</public-root>
Threads:
MOA-ID ist standardmäßig so implementiert, dass erstellte Authentifizierungs-Sessions und
dazugehörige Informationen nach einem gewissen Zeitintervall automatisch aus dem
Speicher gelöscht werden. MOA-ID hat diese Funktionalität mittels Threads implementiert.
Threads werden jedoch von der Google App Engine nur bedingt unterstützt, deshalb sollte
auf alternative Möglichkeiten wie z.B. die Task Queue API30 von Google zurückgegriffen
werden.
Sockets:
Code-Teile von MOA-ID bauen auf der Verwendung von Sockets auf (z.B. die
Kommunikation Stammzahlenregister-Gateway). Das Öffnen von Sockets wird aber von der
Google App Engine nicht unterstützt, deshalb sollte für die Kommunikation mit anderen
Hosts via http oder https auf die von Google bereitgestellte URL Fetch Java API31 aufgebaut
werden.
Eigene Domain und SSL:
Defaultmäßig werden Google App Engine Applikationen unter einer .appspot.com domain
deployed (z.B. moa-id-auth.appspot.com). Soll die Applikation auch HTTPS Anfragen
unterstützen, so kann mit einer einfachen Konfigurationsänderung in der Datei appengineweb.xml (<ssl-enabled>true</ssl-enabled>) auch der Zugriff via SSL aktiviert
werden. Bisher konnte jedoch nur das von der Google App Engine bereitgestellte SSLZertifikat dafür verwendet werden. Seit geraumer Zeit besteht jedoch die Möglichkeit, nicht
nur die .appspot.com Domain zu verwenden, sondern seine eigene Domain mit eigenem
SSL-Zertifikat. Details dazu können unter [GDa] nachgelesen werden. Dieses Service ist
jedoch kostenpflichtig und beläuft sich auf 9$ für fünf Zertifikate pro Monat.
30
https://developers.google.com/appengine/docs/java/taskqueue/
31
https://developers.google.com/appengine/docs/java/urlfetch/
– 22 –
MOAs in der Cloud
Zusammenfassung
6 Zusammenfassung
MOA-ID ist eine essentielle Kernkomponente im österreichischen E-Government. MOA-ID
erleichtert Online Applikationen die sichere und eindeutige Identifizierung und
Authentifizierung mittels Bürgerkarte. Nachdem einige Behörden bereits danach streben, ihre
Online Applikationen in die Cloud zu bringen, um Kosten zu sparen, kann auch daran
gedacht werden, einerseits MOA-ID in die Cloud zu bringen bzw. andererseits MOA-ID für
die Authentifizierung von Cloud Applikationen zu verwenden. Im Rahmen dieses Projekts
wurden beide Möglichkeiten auf technischer Ebene untersucht. Um eine Authentifizierung
mittels Bürgerkarte bei Cloud Applikationen zu ermöglichen, wurde MOA-ID zu Testzwecken
um eine SAML 2.0 Schnittstelle erweitert. Diese Schnittstelle wurde genau auf die beiden
Cloud Service Provider, bei denen im Rahmen dieses Projekts eine mögliche
Authentifizierung untersucht wurde, abgestimmt. Als Resultat konnte eine Authentifizierung
mittels Bürgerkarte sowohl bei Google Apps als auch bei Salesforce erfolgreich durchgeführt
werden. Im zweiten Teil des Projektes wurde analysiert, inwiefern sich die aktuelle MOA-ID
Version für eine Deployment in der Public Cloud eignet. Als Ergebnis kann sowohl ein
erfolgreiches Deployment bei Jelastic als auch auf der Google App Engine präsentiert
werden. Für beide Cloud Service Provider waren jedoch entweder Anpassungen in der
MOA-ID Installationsroutine und/oder Änderungen im Source Code notwendig. Letztendlich
kann festgehalten werden, dass MOA-ID mit gewissen Änderungen für einen Einsatz in der
Cloud geeignet ist, sofern vorerst nur technische Rahmenbedingungen beachtet werden.
– 23 –
MOAs in der Cloud
Referenzen
Referenzen
[CHK+09]
Cantor, S., Hirsch, F., Kemp, J., Philpott, R., and Maler, E. (2009). Bindings
for the OASIS Security Assertion Markup Language (SAML) V2.0. OASIS.
[CKP+09]
Cantor, S., Kemp, J., Philpott, R., and Maler, E. (2009). Assertions and
Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0.
OASIS.
Google Code: SAML Single Sign-On (SSO) Service for Google Apps,
[GCa]
http://code.google.com/googleapps/domain/sso/saml_reference_implement
ation.html
[GCb]
Google Code: Web-based Reference Implementation of SAML-based SSO
for Google Apps,
http://code.google.com/googleapps/domain/sso/saml_reference_implement
ation_web.html
[GDa]
Google Developer: SSL for a Custom Domain,
https://developers.google.com/appengine/docs/ssl
[Goul10]
J. Goulding: identity and access management for the cloud: CA’s strategy
and vision, Whitepaper, Mai 2010, CA Cloud Business Unit
[PaGa07]
J. Palfrey, U. Gasser: Digital Identity Interoperability and eInnovation, Case
Study, November 2007, Berkman Publication Series
[SAML]
Security Assertion Markup Language (SAML), OASIS Security Services
(SAML) TC, http://www.oasisopen.org/committees/tc_home.php?wg_abbrev= security
[SF]
Salesforce.com: Single Sign-On Implementation Guide, 2012,
https://login.salesforce.com/help/doc/en/salesforce_single_sign_on.pdf
– 24 –
Herunterladen