Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Architektur Service­orientierte Architektur und Sicherheit

Ähnliche Präsentationen


Präsentation zum Thema: "Software Architektur Service­orientierte Architektur und Sicherheit"—  Präsentation transkript:

1 Software Architektur Service­orientierte Architektur und Sicherheit
von Christian Schwerdtfeger & Matthias Folz

2 Sicherheit in Service-orientierten Architekturen hat hohe Relevanz
Einleitung Sicherheit in Service-orientierten Architekturen hat hohe Relevanz Nicht nur kritische Anwendungen wie Online-Banking benötigen Sicherheit in der Kommunikation und Autorisation Das Thema Sicherheit spielt immer mehr eine Rolle in den Service-orientierten Architekturen. Nicht nur kritische Applikationen wie z.B. Online-Banking oder Bezahlsysteme wie PayPal benötigen sicherheitsmechanismen um die Identität eines Benutzers zu gewährleisten. © Hochschule für Technik und Wirtschaft des Saarlandes

3 Vorstellung relevanter Kommunikatiosnmechanismen Sicherheitsaspekte
Überblick Vorstellung relevanter Kommunikatiosnmechanismen Sicherheitsaspekte Einführung in übliche Identifikations- und Authentifikationsmechanismen Methoden der Authentifikationsgarantierung Veranschaulichung anhand von 2 Beispielen Für einen Bezug zu möglichen Sicherheitsmechanismen und deren Optimales Verwendungsszenario herzustellen, werden im folgenden mehrere für Service-orientierte Systeme typische Kommunikationsarten beschrieben. Im folgenden können auf die Sicherheitsaspekte Authentifizierung und Autorisierung näher eingegangen werden. Anschließend werden Sicherheitsmechanismen anhand von 2 Beispielen verdeutlicht. © Hochschule für Technik und Wirtschaft des Saarlandes

4 Vielzahl an Kommunikationsmöglichkeiten für SOA’s vorhanden
Beispiele sind: SOAP RMI (bzw. RPC‘s in Nicht-Java Umgebungen) REST SDO DCOM Da die Art der Kommunikation bei der Wahl einer geeigneten Security-Lösung durchaus eine große Rolle spielen kann möchten wir zunächst kurz einige der wichtigsten Kommunikationsarten vorstellen. Auf die genauen Kommunikationsabläufe wird nicht näher eingegangen, da dies am Thema Security vorbei führt. Näher erläutert werden SOAP und RMI. © Hochschule für Technik und Wirtschaft des Saarlandes

5 Früher: Simple Object Access Protocol
Kommunikation - SOAP Früher: Simple Object Access Protocol Mittlerweile wird SOAP nicht mehr als Akronym benutzt sondern als vollständiger Name Fast ausschließlich in Webservices verwendet Bedient sich anderer Standards wie XML, TCP oder http Erkauft sich hohe Flexibilität mit großem Overhead SOAP stand früher für „Simple Object Access Protocol. Seit Version 1.2 wird SOAP allerdings nicht weiter als Akronym benutzt, sondern ist der vollständige Name dieses Verfahrens. Der Einsatzbereich beschränkt sich (fast) ausschließlich auf Webservices. Durch die Verwendung von XML zur Repräsentation der Nachrichten erkauft sich SOAP eine hohe Flexibilität mit dem Preis eines großen Overheads. © Hochschule für Technik und Wirtschaft des Saarlandes

6 Sehr hoher Abstraktionsgrad
Kommunikation - RMI Steht für „Remote Method Invocation“, einen „Entfernten Methoden Aufruf“ Entfernt steht in diesem Kontext für „auf einer anderen JVM“, diese kann sich auf demselben oder einem anderen Rechner befinden. Sehr hoher Abstraktionsgrad Klare Umsetzung einer Client-Server-Architektur RMI ist die javaeigene Umsetzung der RPC’s und steht für „Remote Method Invocation“, also „Entfernter Methoden Aufruf“. Dabei steht „Entfernt“ für „auf einer anderen JVM“, die sich entweder auf dem lokalen oder einem anderen Rechner befinden kann. Stärken von RMI sind der sehr hohe Abstraktionsgrad wodurch die eigentlich Kommunikation vor dem Programmierer verborgen bleibt, sowie eine sehr klare Umsetzung einer Client-Server-Architektur. Schwächen hat RMI dagegen bei sogenannten Multicasts, also dem simultanen Senden einer Nachricht an mehrere Rechner. © Hochschule für Technik und Wirtschaft des Saarlandes

7 Identifikation und Authentifikation
Sicherheit Identifikation und Authentifikation Sicherheit kann man in bestimmte Aspekte unterteilen. Zum einen gibt es den Punkt der Identifikation/Authentifikation, dieser beschäftigt sich mit der Frage, wer das gegenüber ist und vor alledem ob das gegenüber der ist der er behauptet zu sein. Kurzum es wird die behauptete Identität des Benutzers überprüft. Diese lässt sich über verschiedene Wege prüfen. Zum einen gibt es die Möglichkeit, das der Benutzer der sich ausweisen soll, mit dem Server ein gemeinsames Geheimnis hat. Dies ist üblicherweise ein Passwort. Eine andere Möglichkeit ist es, das der Benutzer einen ihn auszeichnenden Besitz hat, vergleichbar mit einem Schlüssel der die Tür öffnet. Zu letzt bietet sich die möglichkeit einen Benutzer über verschiedene Merkmale zu erkennen. © Hochschule für Technik und Wirtschaft des Saarlandes

8 Security Assertion Markup Language
Sicherheit - SAML Security Assertion Markup Language Von der OASIS standardisiertes Framework zum Austausch von Security Informationen Auf XML basierend Kann sowohl für „Single Sign-On“ Anwendungen als auch für „Identity Federations“ verwendet werden Einfache Verarbeitung der Daten SAML ist ein auf XML basierendes Framework zum Austausch von Security Informationen, dass von der OASIS standardisiert wurde. Es kann sowohl für „Single Sign-On“ Anwendungen als auch für sogenannte „Identity Federations“ verwendet werden. Aufgrund der Verwendung von XML sind die übermittelten Daten leicht zu verarbeiten, können aber teilweise einen großen Overhead „mitschleppen“. Anmerkungen: Identity Federation: Zusammenarbeit zwischen Unternehmen. Webservices zwischen Unternehmen arbeiten zusammen (in Bezug auf Nutzerverwaltung etc) © Hochschule für Technik und Wirtschaft des Saarlandes

9 Kommunikation - SAML An dieser Grafik möchte ich die Funktionsweise von SAML zum Aufbau einer „Identity Federation“ erläutern. Eine Fluggesellschaft und ein Mietwagenservice verständigen sich darauf zusammen zu arbeiten und Ihre Webservices miteinander zu verbinden. Wenn ein Kunde bei der Fluggesellschaft einen Flug bucht wird er im Anschluss gefragt ob er eventuell auch einen Mietwagen benötigt und ob er diesen bei der Partnergesellschaft buchen möchte. Wenn der Kunde dies bejaht, wird er zum Webservice des Mietwagenservice weitergeleitet. Gleichzeitig generiert der Webservice der Fluggesellschaft eine eindeutige User-ID (z.B. „X79B802“) die er an den Login des Kunden bindet und dem Mietwagenservice übergibt. Dieser erkennt diese ID nicht und fragt somit den Kunden nach seinem Login. Der Kunde loggt sich ein und bestätigt eine Abfrage ob er mit dem verknüpfen der beiden Konten (also dem Konto bei der Fluggesellschaft und dem beim Mietwagenservice) einverstanden ist. Daraufhin verbindet der Mietwagen-Webservice die User-ID mit dem Benutzerkonto des Kunden und sendet eine Bestätigung an die Fluggesellschaft. Wenn der Kunde in Zukunft wieder einen Flug bucht und sich zu dem Webservice des Mietwagenservice weiterleiten lässt erkennt dieser die User-ID und loggt den Kunden automatisch ein. Dies funktioniert ohne das ein Austausch von Nutzerspezifischen Daten zwischen beiden Webservices stattfinden muss. © Hochschule für Technik und Wirtschaft des Saarlandes

10 Sicherheit - Kerberos Kerberos: Single-Sign-On
Kann mehrere Services zur Authentifizierung dienen Als erstes möchte ich auf den Authentifikationsdienst Kerberos eingehen. Dieser ist ein sogenannter Single-Sign-on-Dienst, dies bedeutet das ein Benutzer sich nur einmal Anmelden muss, auch wenn er mehrere Dienste in Anspruch nehmen möchte. © Hochschule für Technik und Wirtschaft des Saarlandes

11 Sicherheit - Kerberos 2 4 3 1 5 Als erstes meldet sich der Benutzer bei dem Authentifikatiosnserver an und erfrägt somit einen Schlüssel zum Ticket-Granting service, wenn Der Server mit der BenutzerID einen Benutzer-Schlüssel in der Datenbank findet Mit diesem Key, kann der Benutzer für den von ihm gewünschten Service-Key erfragen. Wiederum Prüft der Ticket Granting Service wie der Authentifizierunsserver den zur Service-ID vorliegenden Key. Mit dem Service-Key, welcher mit einem Zeitstempel gekoppelt ist, kann der Benutzer nun den Service nutzen. © Hochschule für Technik und Wirtschaft des Saarlandes

12 Sicherheit -Shibboleth
Single Sign-On Authentifizierungsdienst Verteilte Authentifizierung und Autorisierung Nutzer bekommt bei Authentifizierung einen digitalen Ausweis Dienste wissen nicht warum der Nutzer einen Ausweis hat, sondern überprüfen nur OB er einen Ausweis hat. Wie Kerberos auch ist Shibboleth ein „Single Sign-On“ Authentifizierungsdienst, der eine verteilte Authentifizierung und Autorisierung ermöglicht. Die Nutzer bekommen von einer zentralen Stelle beim Einloggen einen Ausweis ausgestellt. Will der Nutzer nun auf einen Dienst zugreifen, so überprüft der Dienst nur, OB ein Ausweis vorhanden ist. Aufgrund welcher Angaben der Nutzer diesen Ausweis erhalten hat ist irrelevant. © Hochschule für Technik und Wirtschaft des Saarlandes

13 Sicherheit - Shibboleth
Client will auf geschützten Dienst zugreifen, ist nicht angemeldet. Dienst leitet Client zu einem „Identity Provider“ weiter. Client meldet sich beim „Identity Provider“ an, erhält digitalen Ausweis und wird an den Dienst zurückgeleitet von dem er kam. Dienst erkennt den digitalen Ausweis und gewährt dem Nutzer den Zugriff Um die Funktionsweise von Shibboleth zu erklären stellen wir uns folgendes Szenario vor. Es existieren ein „Identity Provider“, ein „Service Provider“ und ein Client. Der Client möchte auf einen geschützten Dienst des Service Providers zugreifen, ist aber noch nicht angemeldet. Der Dienst erkennt dies und leitet den Client zum „Identity Provider“ weiter. Bei diesem meldet sich der Client an und erhält einen digitalen Ausweis in Form einer SAML Nachricht. Anschließend wird er zum „Service Provider“ zurück verwiesen. Der Dienst erkennt den digitalen Ausweis und gewährt Dem Nutzer den Zugriff. © Hochschule für Technik und Wirtschaft des Saarlandes

14 Sicherheit – WS-Security
Von der OASIS spezifiziertes Security Modell für Webservices Vereint viele unterschiedliche Sicherheitsmechanismen zu einem gemeinsamen Konzept Bspw. XML-Canonicalization, XML-Signature, XML-Encryption, SAML- und Kerberos-Profile Garantiert nicht nur „Punkt-zu-Punkt“-Sicherheit, sondern „Ende-zu-Ende“-Sicherheit WS-Security, bzw. Webservice Security hieß früher „SOAP MessageSecurity“. Dabei handelt es sich um ein von der OASIS spezifiziertes Security Modell für Webservices, indem viele unterschiedliche Sicherheitsmechanismen zu einem gemeinsamen Konzept vereint werden. Zu diesen gehören unter anderem XML-Canonicalization, XML-Signature, XML-Encryption sowie SAML- und Kerberos-Profile Mit Hilfe dieser Techniken ist es möglich sogar eine „Ende-zu-Ende“-Sicherheit herzustellen. Anmerkungen: XML-Canonicalization: Methode um zwei logisch äquivalente (aber unterschiedliche) XML-Dokumente in eine gleiche Form zu bringen XML-Signature: Definiert eine XML Schreibweise für digitale Signaturen. XML-Encryption: Spezifiziert Möglichkeiten XML-Dokumente zu verschlüsseln © Hochschule für Technik und Wirtschaft des Saarlandes

15 Sicherheit - OpenID OpenID: Single-Sign-On
Ermöglicht wie Kerberos auch das Authentifizieren für mehrere Services Benutzer und sein Authentifizierungsdienst anhand der sogenannten OpenID erkennbar, z.B. Verfahren zur Delegation der Authentifizierung an andere Dienste Nun möchte ich das OpenID verfahren näher erläutern. Dieses Verfahren bietet wie Kerberos ein Single-Sign-On- Dienst. Ein Dienst der OpenIDs unterstützt kann anhand dieser den für die OpenID zuständigen Authentifizierungsdienst ausfindig machen Nun kann der Dienst den Benutzer zur Authentifikation an seinen OpenID-Provider weiterleiten, dort bestätigt dieser entweder, das der Dienst auf seine Anmeldung zugreifen kann, falls dieser schon beim OpenID-Provider angemeldet ist oder meldet sich bei diesem an. Viele Blog-Systeme verwenden OpenID-Mechanismen um Besucher des Blogs zu ermöglichen, mit einer Vorhandenen OpenID sich anzumelden um kommentare zu schreiben. Meldet sich z.B. ein Benutzer über seine Googl -Adresse an, erscheint in einem Fenster ein Login des Googl -Systems. © Hochschule für Technik und Wirtschaft des Saarlandes

16 Sicherheit - XACML XACML: XML-Basiert
System zum durchsetzen von Sicherheitsrichtlinien Kontextabhängig XACML steht für extensible Access control Markup Language und wurde von der OASIS-Organisation verabschiedet. Es basiert auf XML und bietet ein umfangreiches System für das Verwalten und durchsetzen von Sicherheitsrichtlinien Die Sicherheitsrichtlinien sind Kontextabhängig, über ein police Enforcement point wird eine anfrage, die den Kontext an informationen enthält, an einen Contexthandler gestellt. Dieser kann an einen Police Desicion Point eine anfrage stellen ob die Police für diesen Kontext valide ist. Zusätzliche Informationen zur Police kann der Contexthandler an einem police Information Point erfragen. © Hochschule für Technik und Wirtschaft des Saarlandes

17 Sicherheit - XACML Hier sieht man in dem Diagramm eine Beispielhafte darstellugn eines XXACML-Szenarios. Ein Benutzer möchte auf eine Ressource zugreifen und Muss beim PEP eine anfrage stellen, diese wird über den PEP-Forliegenden kontextdaten an den Context-handler geschickt. Dieser kann weitere Informationen von PIP anfordern und eine Anfrage an den PDP stellen. Der PDP erhält die Polices von Police Administration Point und kann aufgrund des im vorliegenden Kontextes über den Zugriff entscheiden. © Hochschule für Technik und Wirtschaft des Saarlandes

18 Authentitätsgarantierung
Wichtig für Simple Authentifikationsferfahren Auch nützlich für Dienste ohne Authentifikation Stellt sicher das die Authentifikation für die Dauer der Nutzung valide bleibt Die Authentitätsgarantierung ist relevant für simple Authentifikatiosnverfahren, wie einfache Passwortabfragen Aber auch für Systeme bei denen Keine eigentliche Authentifizierung statt findet, können authentitätsgarantierende Mechanismen die Kommunikation in einem Netzwerk sichern. Die Authentitätsgarantierende Maßnahmen sind wie der Name schon verrät, dafür zuständig das ein Benutzer, der Identifiziert wurde, auch der bleibt für den er sich ausgibt. Dies klingt seltsam, wenn man dies versucht in die reale Welt ab zu bilden. Stellt man sich aber eine Person vor, die anhand ihrer Kleidung identifiziert wird, fällt es leicht sich vorzustellen, dass ein Fremder in die identität des anderen schlüpfen kann. Die meisten vorher Vorgestellten Sicherheitssysteme beinhalten schon eine Authentitätsgarantierung, nichtsdesto-Trotz können auch Sicherheitssysteme für Service-orientierte-Anwendungen durch Authentitätsgarantierende Maßnahmen gestärkt werden. © Hochschule für Technik und Wirtschaft des Saarlandes

19 Authentitätsgarantierung - SSL
Für Kommunikation in ungesicherten Netzen Tauscht automatisch Schlüssel mit den Gesprächspartnern Setzt im ISO/OSI-Model am Transport-Layer an Höhere Schichten des ISO/OSI-Models werden dadurch nicht beeinflust Dienste können über Zertifikate verifiziert werden SSL ist ein verfahren, um in einem Ungesicherten Netzwerk mit einem Kommunikationspartner eine sichere Verbindung aufzubauen Es tauscht bei Verbindungsaufbau automatisch Schlüssel mit den Gesprächspartnern aus SSL ist in der Transportschicht des OSI-Models an und steht über dem TCP-Protokoll an Hierdurch können höher angesiedelte Protokolle wie POP/ HTTP etc auch gesichert werden ohne das diese beeinträchtig würden Dienste dir über SSL gesichert werden, können auch eine verifizierung anbieten in dem Sie Zertifikate ausweisen können, die von einer Vertrauenswürdigen Zertifikatsstelle validiert wird. © Hochschule für Technik und Wirtschaft des Saarlandes

20 Authentitätsgarantierung - VPN
Spannt ein virtuelles Netzwerk Ermöglicht somit das verbinden von Sicheren netzen über unsichere Verbindungen Vielfältige Methoden ein VPN zu erzeugen IPSec OpenVPN(TSL/SSL) SSH Etc Vielfältige Authentifizierungsmethoden VPN steht für Virtual private Network und wie der Name erahnen lässt, wird über VPN ein künstliches LAN erstellt Dieses wird eingesetzt, wenn mehrere Sichere Netzwerke über ein Unsicheres Medium miteinander verbunden werden soll Heutzutage gibt es zahlreiche Systeme mit denen man ein VPN aufbauen kann Die Bekanntestenv erfahren dürften IPSec sein, welches von Cisco entwickelt wurde Eine Variante mit der ein VPN über SSL aufgebaut wird nennt sich OpenVPN und bietet auch gute sicherheit Aber auch SSH lässt sich verwenden um begrenzt ein VPN aufzubauen, über Portforwarding können Netze verbunden werden. Je nach gewählter Methode bietet sich ein breites Spektrum an Authentifizierungsmöglichketien, von zertifikatslösungen, über Symmetrische oder Asymetrische Schlüsselverfahren ist alles möglich. VPNs eignen sich hervorragend um in einem System aus verschiedenen Services die eine Schwache Authentifizierung oder sogar keine besitzen, neue Services einzubinden ohne das dadurch ein Sicherheitsrisiko entsteht. © Hochschule für Technik und Wirtschaft des Saarlandes

21 Authentitätsgarantierung – GnuPG/PGP
Hybrides Verfahren Vereinigt somit die Vorzüge symmetrischer wie asymmetrischer Verfahren PGP ist ein hybrides Verfahren, dass bedeutet das hier Asymmetrische und Symmetrische Verschlüsselungsverfahren kombiniert werden, hierdurch vereinigen sich die Vorteile der einzelnen Verschlüsselungsverfahren Hierdurch braucht eine Nachricht nur einmal Verschlüsselt zu werden und an mehrere Empfänger gesendet werden, diese können über Asymmetrische Verfahren die Schlüssel des Symmetrisches Verfahren entschlüsseln und mit diesem die eigentlichen Daten entpacken. Dies eignét sich hiermit wenn große Daten für verschiedene Benutzergruppen verschlüsselt werden sollen. Denkbar währe so eine Simple Datenablage welche über PGP eine Gruppenberechtigung ermöglicht © Hochschule für Technik und Wirtschaft des Saarlandes

22 Eines der meistgenutzten Kommunikationsmittel der Welt
Beispiel – Eines der meistgenutzten Kommunikationsmittel der Welt Große Schwächen im Bereich der Sicherheit „Punkt-zu-Punkt“-Sicherheit kann mittels SSL gewährleistet werden „Ende-zu-Ende“-Sicherheit ohne zusätzliche Sicherheitsmaßnahmen nicht möglich Diese kann mit Hilfe digitaler Signaturen oder Verschlüsselungsmechanismen wie PGP hergestellt werden Das System ist eines der meistgenutzten Kommunikationsmittel der Welt. Allerdings beinhaltet es einige Schwächen in Sachen Sicherheit. Zwar lässt sich mittels per SSL verschlüsselter Kommunikation eine „Punkt-zu-Punkt“-Sicherheit gewährleistet werden, aber es kann nicht verhindert werden das mittels verschiedener Attacken jemand s mitliest oder sogar verändert. Eine sogenannte „Ende-zu-Ende“-Sicherheit ist also nicht gewährleistet. Mit Hilfe digitaler Signaturen oder auch Verschlüsselungsmechanismen wie PGP kann diese allerdings hergestellt werden. © Hochschule für Technik und Wirtschaft des Saarlandes

23 Instant Messaging System XML-Basiert Erweiterbar
Beispiel - Jabber Instant Messaging System XML-Basiert Erweiterbar Z.B. anbieten von Transportdiensten Anbieten von Ressourcen auch möglich Kann über SSL gesichert werden PGP wird hier gerne eingesetzt für Ende2Ende Verbindungen Jabber ist ein Instant-Messaging System welches dem SOA-Prinzip schon recht entspricht. Es ist XML-Basiert und bietet die Möglichkeit Textnachrichten und Dateien mit anderen auszutauchen. Auch Gruppensitzungen sind über Jabber möglich, sowie Sprachübertragungen Ist aber durch seine beschaffenheit in der Lage, beliebig erweitert zu werden Es ermöglicht über angebotene Transport-Dienste, propritäre IM-Protokolle zu verwenden Oder sogar Ressourcen den Benutzern zugänglich zu machen Die anmeldung und die Nachrichten kann über SSL gesichert werden Aber auch verschlüsselungen wie PGP werden heir verwendet und können auch über die Nativen Protokolle hinaus verwendet werden © Hochschule für Technik und Wirtschaft des Saarlandes


Herunterladen ppt "Software Architektur Service­orientierte Architektur und Sicherheit"

Ähnliche Präsentationen


Google-Anzeigen