DAASI International-Lexikon

Auf dieser Webseite werden viele Fachbegriffe und Abkürzungen verwendet. Das lässt sich aufgrund der hochspezialisierten Arbeit von DAASI International leider nicht vermeiden.

Damit Sie nicht jeden Begriff auf externen Seiten nachschlagen müssen, finden Sie hier ein Lexikon mit allen nötigen Begriffen und Informationen, die Sie tiefer in die Arbeitsgebiete von DAASI International einführen.

AAI
DFN – Das deutsche Forschungsnetz
DH/ Digital Humanities / eHumanities
DSML
Föderationen
Grid Computing
Identity Management
Kerberos
LDAP
OAuth2
Open Source
OpenID Connect
OpenLDAP
PKI
RBAC
REST
SAML
SASL
Security
Shibboleth
Single Sign-On (SSO)
SMTP-Auth
SOAP
SPML
WSDL
XACML
XML
AAI

AAI steht für Authentication and Authorization Infrastructure. Eine AAI erlaubt den organisationsübergreifenden Zugriff auf digitale Ressourcen. Die Nutzer der Organisationen, die einer AAI angehören, können sich dabei mit dem Account ihrer Heimatorganisation in der AAI anmelden und – je nach Berechtigung – auf die entsprechenden Ressourcen innerhalb der gesamten Föderation zugreifen.

AAIs sind entscheidend für die Zusammenarbeit von Föderationen, bspw. im Hochschul- und Forschungsbereich. Die AAI aller Hochschuleinrichtungen in Deutschland ist die DFN-AAI.

Die am häufigsten verwendete Software im Zusammenhang mit AAI ist Shibboleth, eine Implementierung des SAML-Standards.

DFN – Das deutsche Forschungsnetz

Das Deutsche Forschungsnetz ist ein Kommunikationsnetz für die Wissenschaft und Forschung in Deutschland und verbindet deutsche Hochschulen und Forschungseinrichtungen mit dem Internet, indem es die notwendige Grundlage hierfür schafft. Das DFN ist in den europäischen und weltweiten Verbund der Forschungs- und Wissenschaftsnetze eingebunden und vertritt die deutschen Hochschulen in den entsprechenden Europäischen Initiativen und Einrichtungen, insbesondere GÉANT.

Der unabhängige, gemeinnützige DFN-Verein (Verein zur Förderung eines deutschen Forschungsnetzes) administriert das Deutsche Forschungsnetz und gewährleistet dessen Weiterentwicklung und Nutzung. Außerdem bietet er den Mitgliedseinrichtungen zusätzlich zur Internet-Connectivity zahlreiche Mehrwertdienste, wie z.B. die DFN-PKI, Sicherheits- und Rechtsberatung, die DFN-AAI etc.

Hier finden Sie einen Überblick über die DFN-Mehrwertdienste.

DFN-Logo
DH/ Digital Humanities / eHumanities

Digital Humanities, auch als eHumanities bezeichnet, umschreibt den Einsatz digitaler Methoden in den Geistes- und Kulturwissenschaften.

Der Pionier Pater Roberto Busa fing bereits 1949 an, IBM-Großrechner für die Erstellung eines Wort-Index der Werke von Thomas von Aquin einzusetzen, und kann somit als Begründer der computergestützten Philologie und der Digital Humanities angesehen werden.

Seitdem haben sehr viele geistes- und kulturwissenschaftliche Disziplinen Erkenntnisgewinn durch computergestützte Verfahren und die systematische Verwendung von digitalen Ressourcen im Rahmen von sog. virtuellen Forschungsumgebungen erzielt. In Anlehnung an den in den Naturwissenschaften eingebürgerten Begriff eScience setzte sich hierfür der Begriff eHumanities (also eGeisteswissenschaften) durch, wobei e für enabling, Ermöglichung steht. Mittlerweile ist jedoch der Begriff Digital Humanities geläufiger.

Wichtige Projekte im Bereich Digital Humanities sind:

  • TUSTEP (Tübinger System von Textverarbeitungs-Programmen), ein Werkzeug zur wissenschaftlichen Bearbeitung von Textdaten
  • TextGrid: Virtuelle Forschungsumgebung für die Geisteswissenschaften, eine Plattform, deren Ziel es ist, den Zugang und den Austausch von Informationen in den Geistes- und Kulturwissenschaften mit Hilfe moderner Informationstechnologie und Infrastruktur zu unterstützen
  • DARIAH (Digital Research Infrastructure for the Arts and Humanities), ein europäischer Forschungsverbund zum Aufbau von Infrastrukturen für geisteswissenschaftliche Forschungsumgebungen. Er integriert auch nationale Projekte, wie DARIAH-DE.
  • HRA (Heidelberg Research Architecture), eine virtuelle Forschungsumgebung für Transkulturelle Forschung des Exzellenzclusters „Asia and Europe“ an der Universität Heidelberg.
  • AARC (Authentication and Authorisation for Research and Collaboration), ein von der EU gefördertes Projekt zur Entwicklung einer globalen Föderations Infrastruktur namens eduGAIN.
DSML

DSML (Directory Service Markup Language) ermöglicht den Austausch von Verzeichnisdaten über XML und ist somit im Grunde genommen eine XML-Version des LDIF-Formats.

Föderationen

Ähnlich einer politischen Föderation von unabhängigen Staaten ist eine Föderation in der EDV ein Zusammenschluss von Organisationen zu einer größeren Infrastruktur auf IT-Ebene. Merkmale einer Föderation (englisch: Federation) in diesem Sinne sind:

  • Jede einzelne Organisation hat eine eigene interne Struktur
  • Zwischen den einzelnen Organisationen herrscht eine Vertrauensstellung, die über Verträge sichergestellt wird
  • Die teilnehmenden Organisationen einigen sich auf Standards zum Datenaustausch
  • Es gibt eine zentrale Entität, die Verbindungen ermittelt, die Einhaltung von Standards überwacht und zentrale Föderation-Komponenten betreibt, wie den Discovery Service.

Es handelt sich also im Wesentlichen um einen Vertrauensbund.  Im engeren Sinne des Begriffs (auch Federated Identity Management genannt) bezieht sich ein solcher Vertrauensverbund auf eine organisationsübergreifende Authentifizierungs- und Autorisierungsinfrastruktur (AAI). Eine solche AAI ermöglicht den Zugriff auf Dienste, die von verschiedenen Organisationen angeboten werden, ohne dass der Benutzer bei diesen Organisationen einen Account benötigt. Man authentifiziert sich immer bei der eigenen Heimatorganisation; der Service-Provider  wird über Zugriffe entsprechend informiert, die unter anderem mithilfe von SAML standardisiert wurden. In Deutschland ist die größte AAI-Föderation der nationale  Forschungsverbund DFN-AAI.

Mehr über die Vorteile einer Föderation – und was DAASI International dabei für Sie tun kann – erfahren Sie hier.

Grid Computing

Grid-Computing (Netz-/Gitterverarbeitung) ist eine Form der verteilten, dezentralen Datenverarbeitung. Hierzu wird aus mehreren Computern eine Art virtueller Supercomputer erzeugt, der aufgrund der kombinierten Rechenleistung komplexe Berechnungen und Operationen schneller und effizienter durchführen kann als ein einzelner Hochleistungsrechner. Im Unterschied zum prinzipiell ähnlich funktionierenden Cluster-Computing können die einzelnen Computer des Grids geografisch beliebig verteilt sein und sind nur lose miteinander verknüpft. Dementsprechend bietet das Grid eine verlässliche Hardware- und Software-Infrastruktur zur Durchführung von Hochleistungsrechenoperationen und ist dabei einfach und beliebig skalierbar. Weitere Vorteile des Grid-Computings gegenüber konventionellem Cluster-Computing sind die verwendeten offenen, standardisierten Protokolle und Schnittstellen sowie die Tatsache, dass ein Grid aus Standardcomputern gebildet werden kann, die erheblich kostengünstiger sind als Multiprozessor-Supercomputer. Damit ist Grid im Grunde der Vorgänger zum heute allgegenwärtigen Cloud-Computing.

Grids kombinieren Ressourcen, die keiner zentralen Instanz untergeordnet sind, werden also domänen-, organisations- oder länderübergreifend gebildet. Die so entstehenden Zusammenschlüsse werden von sog. Virtuellen Organisationen (VOs) genutzt.

Unter einer Virtuellen Organisation wird ein permanentes oder zeitlich begrenztes Konsortium geographisch verteilter Individuen, Gruppen, Organisationseinheiten oder ganzer Organisationen verstanden, die Teile ihrer physischen oder logischen Ressourcen und Dienste, ihre Kenntnisse und Fähigkeiten sowie Teile ihrer Informationsbasis derart zusammenlegen, dass die gemeinsamen Ziele erreicht werden können (vgl. I. Foster, C. Kesselman, and S. Tuecke, “The anatomy of the grid: Enabling scalable virtual organizations,” International Journal of High Performance Computing Applications, vol. 15, no. 3, pp. 200–222, Aug. 2001).

Die vom Bundesministerium für Bildung und Forschung geförderte D-Grid-Initiative ist die nationale Grid-Initiative Deutschlands, die im Rahmen von zahlreichen Projekten eine nachhaltige Grid-Computing-Infrastruktur für Forschung und Entwicklung sowohl im akademischen als auch im industriellen Bereich in Deutschland aufbauen wollte. Das Projekt TextGrid wurde als einziges geisteswissenschaftliches Projekt im Rahmen der D-Grid-Initiative gefördert und war das nachhaltigste Projekt dieser Initiative, da es Teil von DARIAH-DE und CLARIAH-DE wurde.

Identity Management

Identity Management (IdM) bezieht sich auf die Anwendung von IT-Technologien, um Informationen über die Identität von Nutzern zu verwalten und den Zugang zu Ressourcen (z.B. interne Dienste von Firmen oder Organisationen) kontrollieren zu können. Ziel des Identity Managements ist es, Produktivität und Sicherheit zu erhöhen und zugleich die Kosten für die Verwaltung von Nutzern und deren Identitäten, Attributen und Berechtigungen zu senken (vgl. Spencer C. Lee: „An Introduction to Identity Management“).

Ein Großteil des Verwaltungsaufwandes bei konventionellem Nutzermanagement in Firmen oder Organisationen entsteht, weil die Benutzer in verschiedenen Datenbanken und / oder Organisationsbereichen jeweils separat verwaltet werden. So besitzt ein Student einer Hochschule beispielsweise oft einen Account für den Login im Computerpool und einen zweiten Account für die Nutzung der Bibliothek. Auch der Bedarf vergessene Passwörter ständig mehrfach zurückzusetzen trägt zu der Arbeitslast bei. In größeren Organisationen kann eine solche redundante Mehrfachadministration schnell zu einem nur noch schwer überschaubaren Verwaltungsaufwand anwachsen (Abbildung 1 zeigt ein entsprechendes Beispiel aus einer exemplarischen Organisation).

Abbildung 1:

Redundante Verwaltungsstrukturen bringen einen erhöhten Arbeitsaufwand und inkonsistente Daten mit sich. Aber auch der Benutzer hat mehr Aufwand: Für jeden einzelnen Dienst muss er einen Account  beantragen und sich das jeweilige Passwort merken. Bei Datenänderungen (z.B. Namenswechsel durch Heirat oder Adressenänderung durch Umzug) müssen alle Datenadministratoren einzeln benachrichtigt werden, was natürlich oft nicht geschieht. Beendet ein Mitarbeiter sein Beschäftigungsverhältnis, müssen in allen Datenbanken die Daten gelöscht oder gesperrt werden. Hierzu muss der Benutzer häufig einen sehr langen sogenannten Laufzettel abarbeiten.

Nimmt an einer Hochschule z.B. ein Student eine Stelle als wissenschaftliche Hilfskraft an, muss er zusätzlich zur Studentenverwaltung in der Mitarbeiterverwaltung angelegt und separat geführt werden und erhält dort einen weiteren Account. Kein System erkennt, dass es sich hierbei um die gleiche Person handelt.

organisation_without_identity_management

Abbildung 2:

Durch die im Identity Management verwendeten Technologien werden die einzelnen Systeme an einen zentralen Datenstamm angebunden. Als so ein zentraler Datenstamm kann ein mit Verzeichnisdiensttechnologien (z.B. OpenLDAP) implementiertes sog. Metadirectory dienen. Hierdurch werden die Redundanzen aufgehoben und damit auch Arbeitsaufwände minimiert (vgl. Abbildung 2): Die Daten werden von als autoritativ festgelegten Quelldatenbanken in das Metadirectory synchronisiert und von diesem auf die Datenbanken der einzelnen Anwendungen provisioniert (orangene, gestrichelte Pfeile).

Änderungen am Datenbestand werden dann nur noch in den Quelldatenbanken vorgenommen. Bestimmte accountbezogene Daten, wie Passwörter, Login-Name Daten, Attribute und Heimatverzeichnis sowie zugewiesener Festplattenspeicherplatz, können auch direkt im Metadirectory verwaltet werden. Insgesamt wird durch ein solches IdM gewährleistet, dass alle Anwendungen immer mit aktuellen Daten arbeiten können und zusätzlich der Aufwand für den Nutzer erheblich reduziert wird: Er muss nur noch mit den Administratoren der für ihn zuständigen Quellsysteme in Kontakt treten (in unserem Beispiel entweder die Mitarbeiterverwaltung oder über den Self-Service-Desk, orangene Pfeile). Auch für die Administration wird der Aufwand erheblich reduziert: Die Daten müssen nur noch an einer Stelle eingegeben und gepflegt werden, die Benutzer haben jeweils nur noch ein einziges Passwort für alle Anwendungen (sog. Unified Login), vergessen so das Passwort seltener und der Helpdesk muss seltener das Passwort zurücksetzen.

Mithilfe von moderner Access Management Technologien, wie SAML oder OIDC,  kann man zusätzlich sog. Single Sign-On (SSO) realisieren, sodass sich der Benutzer nur einmal am Tag authentifizieren muss und danach für alle an das System angeschlossenen Systeme authentifiziert ist.

with_identity_management

Neben Verzeichnisdiensten kommen im Identity Management diverse andere Technologien zur Anwendung, z.B. PKI-basiertes SSL und TLS zur Kommunikationssicherung zwischen den einzelnen Komponenten, RBAC  oder XACML für eine effiziente Verwaltung von Zugriffsberechtigungen, Kerberos, SAML (z.B. Shibboleth) und OIDC für Single-Sign-On-Funktionalität, oder SPML zur Provisionierung von Zielsystemen, z.B. Verzeichnisse, Datenbanken und Anwendungen.

Eine Weiterführung des Identity Managements ist das Federated Identity Management (FIdM), welches über die Grenzen des IdM einzelner Organisationen hinausgeht: Hierbei schließen sich mehrere Organisationen zu sog. Föderationen zusammen, um ihre Dienste und Anwendungen ihren Benutzern gegenseitig zur Verfügung zu stellen. Hierfür werden prinzipiell dieselben Technologien verwendet. Wichtig in diesem Zusammenhang ist insbesondere der SAML-Standard bzw. dessen Implementierungen Shibboleth oder simpleSAMLphp.

Hier erhalten Sie eine Übersicht über die Vorteile von Identity Management sowie über die Leistungen und Produkten von DAASI International.

Weiterführende Informationen:

Spencer C. Lee: An Introduction to Identity Management (PDF)

Peter Gietz: Identity Management an deutschen Hochschulen (PDF)

Kerberos

Kerberos bezeichnet in der IT ein Authentifizierungsprotokoll für öffentliche Computer-Netzwerke. Kerberos arbeitet auf Ticket-Basis und schafft so sichere Authentifizierungsmöglichkeiten innerhalb des Netzwerks und unterstützt somit Single Sign-On. Es ist u.a. eine essentielle Technologie im Microsoft Active Directory.

LDAP

LDAP steht für Lightweight Directory Access Protocol und ist die Nachfolgetechnologie von X.500. Es handelt sich wie z.B. HTTP um ein von der IETF standardisiertes Netzwerkprotokoll für den Zugriff auf Verzeichnisdienste, einschließlich Authentifizierungsoperationen (vgl. RFC 4510-4519). Das dazugehörige hierarchische Datenmodell und häufig gebrauchte Schemata werden ebenfalls im LDAP-Standard spezifiziert. LDAP hat sich insbesondere im Identity Management und für die Implementierung von Authentifizierungsdiensten etabliert. Mit LDAP können aufgrund des flexibel erweiterbaren Datenmodells auch beliebige andere Daten im Netz verwaltet werden.

OAuth2

OAuth2 löst das mit Sicherheitsmängeln behaftete OAuth 1.0 ab. Das offene Protokoll wird zur Autorisierung von Ressourcen im Web verwendet und basiert auf etablierten Standards wie HTTP, TLS und JSON. Clients müssen nicht mehr die vertraulichen Daten von Benutzern vorhalten, sondern bekommen vom Authorization Server (AS) der Ressource ein Access-Token, welches sie bei der Ressource vorzeigen, um an die Inhalte zu kommen.

Das Access Token ist zeitlich befristet gültig. Üblicherweise stellt der AS das Access Token zusammen mit einem Refresh Token aus. Endet die Gültigkeit eines Access Tokens, kann mittels des Refresh Tokens ein weiteres Access Token vom AS erlangt werden.

Es sind verschiedene Abläufe vorgesehen:

  • Web Server: Zugriff über den Browser auf den Server (Client) und die Ressource
  • User Agent: Für Clients (z.B. JavaScript) im Browser
  • Native Application: Für Programme in stationären oder mobilen Geräten in Kombination mit einem Browser
  • Device: Für Geräte ohne Tastatur. Eingaben werden auf einem zweiten Computer gemacht.
  • Client Credentials: Für sichere Client-Service-Verbindungen ohne Benutzerinteraktion

In jedem Fall (außer Client Credentials) erfolgt eine Bestätigung durch den Benutzer, dass der Client autorisiert ist, auf den Service zuzugreifen.

Für die Authentifizierung, d.h. die Feststellung der Identität des Benutzers, wird auf externe Mechanismen verwiesen. Eine mögliche Variante solcher Tokens sind Bearer Tokens: Derjenige, der das Token besitzt, hat alle Rechte daran und muss sich nicht über bestimmte Merkmale, wie z.B. Serverzertifikate, ausweisen.

Bearer Tokens sind die häufigste Token-Form. Besonders hervorzuheben ist hierbei der Einsatz von OpenID Connect, welches direkt aufbauend auf die OAuth2-Spezifikation entwickelt wurde. Andere Methoden, etwa SAML-Assertions, sind ebenso möglich.

Schon seit einer Weile setzten eine Reihe großer Service-Anbieter das Protokoll ein, z.B. Facebook, Google, GitHub, Microsoft, bitly u.a.

Weitere Informationen:

IETF-Seiten zur Standardisierung von OAuth2

Open Source

Open-Source-Software ist Software, deren Quelltext (Programmcode) öffentlich zugänglich ist. Open-Source-Software hat gegenüber kommerziellen Produkten einige entscheidende Vorteile:

  • Da jeder an eigenen Kopien der Software weiter schreiben kann (sog. Gabeln), ist der Kunde unabhängig von einzelnen Herstellern und kann sehr flexibel die Weiterentwicklung beeinflussen.
  • Es gibt zu fast allen wichtigen Open-Source-Produkten kommerziellen Support und Entwicklungsleistungen von verschiedenen Firmen. Auch hier hat der Kunde die freie Wahl und reduziert Arbeitslast für Software-Wartung und Programmierung neuer Funktionen.
  • Eine weltweite und unabhängige Entwickler-Community kann gemeinsam am Produkt arbeiten, sodass Verbesserungen und Erweiterungen schnell umgesetzt und eventuelle Sicherheitslücken schnell aufgespürt und geschlossen werden können.
  • Meistens sind Open-Source-Produkte lizenzkostenfrei.

Deshalb ist Open-Source-Software sicherer, leistungsfähiger und flexibler als proprietäre „Closed-Source“-Software, deren Weiterentwicklung in den Händen eines einzelnen Unternehmens liegt – das in erster Linie eigene, kommerzielle Interessen verfolgt.

Open-Source-Software im engeren Sinne muss unter einer von der Open Source Initiative (OSI)™ anerkannten Lizenz veröffentlicht sein. Die Kriterien der OSI orientieren sich an einer Open-Source-Definition, die weit über die Verfügbarkeit des Quelltexts hinausgeht.

Eine grundlegende Unterscheidung von Open-Source-Lizenzen ist, ob ein viraler Effekt (auch Copyleft genannt) bezüglich der Offenlegung erzwungen wird oder nicht:

  • Lizenzen ohne Copyleft-Effekt zeichnen sich dadurch aus, dass sie dem Lizenznehmer alle Freiheiten einer Open-Source-Lizenz einräumen und für Veränderungen der Software keine Bedingungen hinsichtlich des zu verwendenden Lizenztyps enthalten. Damit kann der Lizenznehmer veränderte Versionen der Software unter beliebigen Lizenzbedingungen weiterverbreiten, also auch in proprietäre Software überführen.
  • Bei Lizenzen mit einem starkem Copyleft-Effekt wird der Lizenznehmer verpflichtet, von der ursprünglichen Software abgeleitete Werke ebenfalls nur unter den Bedingungen der Ursprungslizenz weiterzuverbreiten.

Weiterführende Informationen:

Hier gelangen Sie zur Webseite der Open Source Initiative.

OpenID Connect

Das Protokoll OpenID Connect (OIDC) basiert vollständig auf OAuth2 und erweitert dieses um eine Authentifizierungskomponente. Zur Aktivierung muss bei der Anforderung des OAuth2-Tokens der Scope „openid“ angegeben werden. Der Authorization Server stellt daraufhin neben dem Access Token (OAuth2-Token-Typ: „Bearer“) ein ID-Token für den Client aus, welches Informationen über die Identität des Benutzers enthält. Zusätzlich können in einem UserInfo-Aufruf noch weitere Attribute („Claims“) über den Benutzer bezogen werden.

Grundsätzlich adressiert OpenID Connect ähnliche Anwendungen wie SAML. Allerdings wird neben den drei Entitäten Benutzer (=User Agent),  Identity Provider  (=Authorization Server) und Service Provider (=Relying Party) als vierte Entität der OpenID Provider eingeführt, wodurch das Kommunikationsprofil komplexer wird.

Im Einzelnen enthält der Standard Spezifikationen zu:

  • Basic Client Profile – Möglichst einfach gehaltene Spezifikation eines webbasierten Service Providers (Relying Party), der ein MInimum des allgemeinen OAuth2-Protokolls unterstützt.
  • Implicit Client Profile – Möglichst einfach gehaltene Spezifikation eines webbasierten Service Providers (Relying Party), der das implizite OAuth2-Protokoll unterstützt.
  • Discovery – (optional) Spezifiziert, wie Benutzer- und Provider-Informationen (Endpoints) gefunden werden können.
  • Dynamic Registration – (optional) Spezifiziert, wie Service Provider sich dynamisch bei OpenID Provider registrieren können.
  • Standard – Die vollständige HTTP-Binding-Spezifikation für Service Provider und OpenID Provider.
  • Messages – Spezifikation aller Botschaften (messages), die in OpenID Connect verwendet werden.
  • Session Management – (optional) Spezifiziert, wie Sessions in OpenID Connect verwaltet werden können.
  • OAuth 2.0 Multiple Response Types – Spezifiziert OAuth2-Rückgabetypen.

OpenID Connect wird der Nachfolger des unsichereren und nicht mit OAuth2 kompatiblen Protocols OpenID. Die OpenID-Connect-Spezifikationen mit den verschiedenen Profilen werden von der OpenID Foundation (OIDF) vorangebracht. Das Ziel ist ein OIDF Standard.

Zwar ist der Standard komplex und löst einige bei SAML bereits gelösten Probleme noch nicht – insbesondere die Vertrauensstellung zwischen den einzelnen Entitäten, er wird aber von sehr vielen wichtigen Firmen unterstützt (u.a. Google, Microsoft, PayPal, Ping Identity, Symantec, Verizon, Yahoo, Facebook, Intel und viele weitere), weshalb zu erwarten ist, dass er sich mindestens in der kommerziellen (Social-Network-)Welt durchsetzen wird. DAASI International beschäftigt sich mit diesem Standard und oAuth2, um zu evaluieren, wie diese in SAML-basierte Infrastrukturen integriert werden können. Außerdem gibt es mehrere SSO-Lösungen, die auch zwischen Protokollen kommunizieren können, z.B. kann ein/e Benutzer*in sich mit SAML authentifizieren und gleichzeitig in OIDC-konformen Anwendungen authentifiziert werden und umgekehrt.

Weitere Informationen:

OpenLDAP

OpenLDAP ist eine Referenzimplementierung von LDAP (Lightweight Directory Access Protocol), die das Abfragen und die Modifizierung von in Verzeichnisdiensten (Directories) vorgehaltenen Daten ermöglicht. Auf OpenLDAP basierende Datenbanksysteme sind plattformunabhängig, hierarchisch organisiert, standardisiert und können zentral verwaltet werden.

Bei der Entwicklung von OpenLDAP standen Skalierbarkeit und Performanz als Entwicklungsziele gerade in den letzten Jahren an vorderster Stelle und wurde zuletzt durch die Einführung des neuen mdb-Backends, was auch die Grundlage für NOSOL-Datenbanken ist, drastisch gesteigert. Die aktuelle Version kann laut Aussage des Hauptentwicklers Howard Chu “mittlerweile Milliarden Objekte und Datenbankvolumen im Terabyte-Bereich verwalten. Mehr als 100 000 Queries pro Sekunde mit Latenzzeiten unter einer Millisekunde sind dabei kein Problem. Auch in solchen Hochleistungssituationen läuft die Software stabil; wenn es zu Ausfällen kommt, dann eher wegen Hardware-Versagen.” (vgl. Artikel im Admin-Magazin)

OpenLDAP

Von OpenLDAP unterstützte Features und Standards

  • Hochperformantes System, das auf entsprechender Hardware auch bei größeren Datenmengen (über 1 Million Einträge) mehr als 50.000 Lesezugriffe pro Sekunde erlaubt, vorausgesetzt, die Attribute der Suchfilter sind indiziert.
  • Hoch ausfallsicher Multimaster geclustert.
  • Ein Server kann mehrere Datenbank-Backends verwenden, die auf lokalen Festplatten oder auf SAN-Filesystems liegen können.
  • Mandantenfähigkeit wird durch ACL-Konfiguration erreicht.
  • Maximale Anzahl der offenen LDAP-Verbindungen kann konfiguriert werden.
  • Voll LDAP v3-kompatibel und kann somit von allen LDAPv3 unterstützenden Systemen angesprochen werden.
  • Kerberos V basierte Authentifizierung (via SASL/GSSAPI).
  • SSL/TLS via START TLS Betrieb oder via LDAPS
  • Replikation via Syncrepl-Protokoll (RFC 4533).
  • Konfiguration über LDAP-Daten (Teilbaum cn=config), sodass Konfigurationsänderungen keinen Server-Neustart erfordern.
  • Pass-Through-Authentication via SASL PLAIN

OpenLDAP Lieferumfang

Das Softwarepaket umfasst neben dem Server auch weitere Werkzeuge zur Konfiguration und benötigte Bibliotheken. Es besteht hauptsächlich aus folgenden Bestandteilen:

  • slapd – stand-alone LDAP daemon
  • backends – über diese wird der eigentliche Zugriff auf die Daten realisiert
  • overlays – ermöglichen das Verhalten der backends und damit des slapd zu modifizieren, ohne diese(n) selbst zu ändern
  • syncrepl – Synchronisation und Replikation gemäß RFC 4533
  • Bibliotheken, die das LDAP-Protokoll bereitstellen
  • Vollständige Dokumentation und Manpages
  • Werkzeuge, Hilfsmittel und Beispiele

Weitere Informationen:

Hier geht es zur Homepage des OpenLDAP-Projekts.

PKI

Um Daten und E-Mail-Kommunikation im Internet zu schützen und zu authentifizieren, setzt sich die sogenannte asymmetrische Verschlüsselungstechnologie immer mehr durch. Mit dieser ist es möglich, ein Dokument so zu verschlüsseln, dass es nur von einem bestimmten Adressaten wieder entschlüsselt werden kann, ohne dass vor der Übertragung ein Austausch von geheimen Schlüsseln stattfinden muss (wie dies bei symmetrischen Verfahren üblich ist). Zur Verschlüsselung wird ein öffentlicher Schlüssel benutzt, der in einem mathematischen Zusammenhang mit einem privaten, geheimen Schlüssel steht, welchen der Adressat zur Entschlüsselung verwendet.

Ein Zertifikat ist ein solcher öffentlicher Schlüssel, dessen Zugehörigkeit zu einer bestimmten Person von einer vertrauenswürdigen Stelle (Certification Authority, CA genannt) zertifiziert worden ist. Die gleiche Technologie ermöglicht außer der Verschlüsselung auch das digitale Signieren von Dokumenten sowie die Überprüfung ihrer Authentizität. Verwandte Technologien sind  X.509, S/MIME, SSL und PGP.

Eine PKI (Public Key Infrastructure) ist eine hierarchische Struktur zum Erstellen von Zertifikaten für Benutzer und Dienste. Dabei wird eine Vertrauenskette aufgebaut, die kryptographisch gesichert ist. Hierbei sind folgende Begriffe relevant:

  • Public Key: Der öffentliche Schlüssel darf von jedem eingesehen werden und wird normalerweise auch veröffentlicht. Mit dem öffentlichen Schlüssel können Nachrichten für einen bestimmten Empfänger verschlüsselt oder die Signatur eines Absenders geprüft werden. Wird der öffentliche Schlüssel von einer vertrauenswürdigen Stelle digital signiert, spricht man von einem Zertifikat. Dabei gibt es mehrere Typen von Zertifikaten, die durch ihren Verwendungszweck im Zertifikat selbst gekennzeichnet sind. Drei Grundtypen sind Benutzerzertifikate, Server-Zertifikate und CA-Zertifikate.
  • Private Key: Der private Schlüssel ist nur der Person zugänglich, für die ein Zertifikat ausgestellt wird bzw. die berechtigt ist, ein Zertifikat einzusetzen (z.B. der Administrator einer Webseite). Bei Benutzerzertifikaten ist dies die Person selbst, bei anderen Zertifikaten wird der Zugang auf einen klar umrissenen Personenkreis eingeschränkt. In der Regel wird der private Schlüssel über ein Passwort geschützt.
  • RA (Registration Authority): Durch eine RA werden die Personalien einer Person geprüft bzw. sichergestellt, dass ein Server-Zertifikat von einer berechtigten Person beantragt wird. Wurde die Überprüfung abgeschlossen, wird ein CSR (Certificate Signing Request) ausgestellt und an die zuständige CA weitergeleitet.
  • CA (Certificate Authority): Eine CA ist eine vertrauenswürdige Stelle, die auf die CSRs reagiert und durch digitales Signieren des öffentlichen Schlüssels das Zertifikat erstellt. Eine CA kann alle von ihr signierten Zertifikate in öffentlichen Verzeichnissen z.B. in einem LDAP-Server veröffentlichen. Auch ist die CA für das Sperren von Zertifikaten, wenn ein Private Key manipuliert wurde,  und die entsprechende Veröffentlichung der Sperrlisten der sogenannten CRL (Certificate Revocation List) zuständig. Dies kann auch über einen Abfragedienst, der das Online Certificate Status Protocol (OCSP) spricht, erreicht werden. Innerhalb einer PKI können mehrere CAs aufgebaut werden, die berechtigt sind, CSRs zu signieren. CAs können hierbei hierarchisch angeordnet werden, wobei die höhere CA den Signierschlüssel der unteren CA signiert, sodass eine überprüfbare Vertrauenskette entsteht.
  • PCA (Policy Certification Authority): Als oberste CA einer CA-Hierarchie existiert diese Instanz innerhalb einer PKI nur ein Mal. Die PCA bestimmt die Richtlinien, nach denen Identitäten überprüft und Zertifikate erstellt und signiert werden. Diese Richtlinien werden in Certificate Policies (CP) und Certification Practice Statement (CPS) veröffentlicht. In den CP und CPS werden auch die Maßnahmen zur Sicherung der privaten Schlüssel detailliert spezifiziert.

Durch den Aufbau einer PKI kann erreicht werden, dass die Identität eines Benutzers oder eines Dienstes überprüft werden kann, dass Daten verschlüsselt übermittelt, deren Integrität sichergestellt und Dokumente oder E-Mails digital signiert werden können.

Neben allen Vorteilen einer PKI gibt es auch Nachteile. Zum einen ist es Aufgabe des Betriebs der PKI, insbesondere der RAs, in denen zuverlässige Mitarbeiter mit technischem Verständnis persönlichen Kontakt mit dem Benutzer haben, die Identität zu überprüfen und das System in Ansätzen erklären zu müssen. Das schwächste Glied in der Vertrauenskette sind die Besitzer der Zertifikate: Wird einem Angreifer der private Schlüssel eines Benutzers bekannt, so kann er in dessen Namen auftreten und begeht damit Identitäts-Diebstagl. Wird einem Angreifer der private Schlüssel einer CA bekannt, so kann dieser beliebige innerhalb der PKI gültige Zertifikate ausstellen und in Umlauf bringen, um sie z.B. in Webservern zu installieren, die Rechner mit Schadsoftware infizieren. Da Zertifikate nur zeitlich begrenzt gültig sind (die meisten PKI ca. ein Jahr) ist ein durchaus komplizierter Prozess für Benutzer*innen notwendig, folgen um ein Zertifikat vorzeitig zu erneuern. Die Schulung und Bewusstseinsbildung der Benutzer ist deshalb eine zentrale Aufgabe beim Betrieb einer PKI.

RBAC

Beim RBAC-Modell (Role Based Access Control) werden den Benutzern eines Systems Rollen zugeordnet. Diese Rollen wiederum sind mit Zugriffsrechten auf bestimmte Ressourcen versehen. So könnte eine Rolle „Abteilungsleiter“ beispielsweise Lese- und Schreibrechte auf einer Ressource besitzen, auf der die Rolle „Sekretärin“ lediglich Leserechte besitzt. Indem Rechte auf diese Weise indirekt über Rollenzugehörigkeiten erteilt werden, vereinfacht sich die Administration. Änderungen an Berechtigungen eines Benutzers finden über das Hinzufügen oder Entfernen von Rollen statt.

Der Unterschied zwischen Gruppen und den bei RBAC verwendeten Rollen ist weniger über die technische Umsetzung als vielmehr durch die organisatorische Verwendung definiert. Dies könnte wie folgt ausgedrückt werden:

  • Rolle ist eine Eigenschaft, die bestimmte Verhaltensregeln und -weisen bestimmt, sowie mit bestimmten Rechten und Pflichten zusammenhängt. Dies sind insbesondere Funktionen innerhalb einer Organisation. Rollen können hierarchisch strukturiert sein, sodass z.B. die Rolle “Sekretär”, wenn sie innerhalb der organisatorischen Einheit hinterlegt ist nur Zugriffsrechte auf Informationen über die Identitäten von Benutzer*innen in derselben Einheit freischaltet.
  • Gruppe ist viel allgemeiner gefasst. Die Übereinstimmung nur eines beliebigen Merkmals reicht aus, um eine Gruppe zu definieren, z.B. „Abonnent von Mailingliste X“.

DAASI International hat den RBAC-Standard in ihrem didmos-Modul Decision Point umgesetzt (älteren Kunden von DAASI International noch unter dem Begriff OpenRBAC bekannt). didmos1 Decision Point speichert alle benötigten Informationen (über Benutzer*innen, Rollen, Ressourcen etc.) in einem LDAP-Server, wodurch Berechtigungsentscheidungen sehr schnell erfolgen können, da sie durch einen LDAP-Filter abgebildet werden.

Auch in bereits bestehende Systeme mit Verzeichnisdiensten lässt sich didmos Decision Point integrieren, da frei konfigurierbar ist, welche Daten an welcher Stelle und in welchem Verzeichnis abgelegt werden sollen. Bereits existierende Benutzerverwaltungen können also von didmos Decision Point nachgenutzt werden. Anwendungen können dann über verschiedene Schnittstellen (SOAP, REST, PHP-API, SAML/XACML Check Access) auf didmos Decision Point zugreifen, wodurch sich die Software flexibel in verschiedenste IT-Landschaften integrieren lässt.

Die aus einer von DAASI International betreuten Diplomarbeit heraus entstandene und durch DAASI International geförderte und weiterentwickelte Software ist eine betriebsfertige RBAC-Implementierung, die als reine Open-Source-Software veröffentlicht ist und unter der LGPL-Lizenz steht. Die Software wurde bereits in kommerziellen und nicht-kommerziellen Projekten eingesetzt, weiterentwickelt und an individuelle Bedürfnisse angepasst. Beispiele für nicht-kommerzielle Projekte sind die BMBF-Forschungsprojekte TextGrid und DARIAH-DE.

In didmos2 wurde Decision Point komplett neu aufgesetzt und ist nun Teil des Kerns von didmos2, sodass alle didmos2 Komponenten Decision Point für die Berechtigungsverwaltung verwenden können. Da er eine umfassende REST-API zur Verfügung stellt, können aber auch unzählige weitere Anwendungen angebunden werden. Für eine Neuauflage von didmos2 ist als weiteres Feature eine aufwändige web-basierte Administrationsoberfläche geplant.

Weitere Informationen:

REST

REST (Representational State Transfer) ist ein normativer Architekturstil für Webservices, der als Alternative zu bspw. SOAP-basierte Webservices eingesetzt wird. In Rest wird die komplexe XML-basierte Arbeitslast durch JSON ersetzt und das komplexe Transfer-Protokoll direkt in HTTP umgesetzt.

SAML

Die Security Assertion Markup Language ist ein XML-basierter Standard zum Austausch von Authentifizierungs-, Attribut- und Autorisierungsinformationen. Dieser Austausch findet zwischen verschiedenen Sicherheitsdomänen statt, genauer gesagt zwischen:

  • einem Identity Provider (IdP) oder Security Token Service (STS), der die Informationen über Identität und Berechtigungen eines Nutzers ausstellt, und
  • einem Service Provider (SP) oder Relying Party (RP), der diese Informationen empfängt und auf deren Basis entscheidet, ob er die von ihm geschützten Dienste freigibt.
  • In einigen Szenarien wird noch ein Discovery Service (DS) oder Where-Are-You-From-Server (WAYF) zur Auswahl des zum Benutzer gehörigen IdPs eingesetzt.

IdPs und SPs befinden sich in einer Vertrauensstellung (Föderation), die auf einer Liste von Server-Zertifikaten allers SPs und IdPs ebendieser Föderation beruht, zueinander. Somit können Benutzer, die zur Sicherheitsdomäne A gehören, auf Dienste in einer Sicherheitsdomäne B zugreifen, ohne dort über einen eigenen Account verfügen zu müssen. Diese sogenannte „federated identity“ ist ein zentrales Merkmal eines SAML-basierten Vertrauensverbunds.

Eine weitere zentrale Funktionalität von SAML ist das sog. Web-Single-Sign-On (Web-SSO): Nach einer einmal durchgeführten Anmeldung im Web kann der Nutzer verschiedene anmeldepflichtige Dienste in der Föderation aufrufen, ohne jedes Mal wieder erneut seine Zugangsdaten eingeben zu müssen (vgl. AAI). Innerhalb der Föderation bleiben die zu Beginn einer Sitzung ausgestellten Authentifizierungsinformationen (SAML Assertions) gültig und werden automatisch vom IdP für jeden weiteren SP, auf dessen Dienste der Benutzer zugreift, ausgestellt.

Mit SAML liegt ein offenes, anpassbares und hoch interoperables Protokoll vor, dass sich schnell zum definitiven Standard für Web-SSO-Lösungen durchgesetzt hat.

Heutzutage ist SAML eine etablierte Technologie mit über 144 Implementierungen. Besonders sind in diesem Zusammenhang folgende Open-Source-Implementierungen zu nennen:

  • Shibboleth:  Laut des Verzeichnis OpenSAML eine der umfangreichsten SAML-Implementierungen
  • SimpleSAMLphp: Es dient der einfachen Integration komplexer PHP-Anwendungen
  • Satosa: Basiert auf dem SAML-Verzeichnis

Auch kommerzielle Anbieter, wie etwa Sun, PingIdentity oder Microsoft, setzen bereits Teile des SAML-Standards in ihren Produkten um.

Weitere Informationen:

SASL

Simple Authentication and Security Layer (SASL) ist ein Standardframework zur Authentifizierung und Datensicherheit im Internet. Durch die Trennung von Authentifizierungsmechanismen und Anwendungsprotokollen entstehen durch SASL eine Vielzahl an Authentifizierungsmöglichkeiten für die unterschiedlichen Protokolle.

Security

Sicherheit in der IT umfasst ein breites Spektrum an wichtigen Aufgaben. Sicherheit beginnt bei der Entwicklung von Hardware und deren physikalischem Schutz und endet bei der Verantwortung jedes einzelnen Benutzers, der einen PC, ein Tablet oder ein Smartphone verwendet.

Vor allem große Unternehmen mit einer immer schneller anwachsenden Menge an Daten stehen vor der Herausforderung, diese Daten

  • sicher zu speichern,
  • nur autorisierten Personen zur Verfügung zu stellen,
  • sicher von einem System auf ein anderes zu übertragen,
  • in ein Backup zu integrieren sowie
  • gegebenenfalls, zum Beispiel aus datenschutzrechtlichen Gründen, nach Gebrauch wieder vollständig zu löschen.

Die technischen Mittel existieren und sollten flächendeckend eingesetzt werden: Antivirensoftware, PKI, Verschlüsselungsverfahren, Identity Management usw. Darüber hinaus müssen alle Benutzer sensibilisiert werden, da ihr Verhalten maßgeblich die Sicherheit beeinflusst.

Weitere Informationen:

Shibboleth

Shibboleth® ist ein auf dem OASIS-Standard SAML (Security Assertion Markup Language) basie­rendes Open-Source-Produkt zur verteilten organisationsübergreifenden Authentifizierung und Autorisierung für Web-Anwendungen (Federated Identity Management). Shibboleth wurde im Rahmen des US-amerikanischen Hochschul-Konsortiums Internet2 entwickelt. Mittlerweile wurde das Shibboleth Consortium gegründet, deren wichtigste Mitglieder Internet2, das Schweizer Nationale Forschungsnetz SWITCH und das entsprechende Pendant in Großbritannien JISC eine nachhaltige Weiterentwicklung garantieren. Inzwischen sind die meisten Forschungsnetzwerke sowie Hochschuleinrichtungen Mitglied, dazu gibt es einige kommerzielle Mitglieder, eines davon ist die DAASI International.

Shibboleth

Die Authentifizierung eines Benutzers (Identifikation) findet zu Beginn einer Sitzung bei seiner Heimatorganisation (Identity Provider) statt. Die Ressourcen-Anbieter (Service Provider), die über Verträge einen Vertrauensbund mit den Identity Providern geschlossen haben, vertrauen auf die über sichere Datenkanäle geschickten Zusicherungen (Assertions).

Nach erfolgreicher Authentifizierung wird die Sitzung im Identity Provider als Cookie im Browser des Benutzers gespeichert, sodass dieser sich nur einmal einloggen muss. Für jeden weiteren Service Provider, auf dessen Dienste der Benutzer zugreift, stellt der Identity Provider automatisch eine neue Zusicherung aus. Damit ist der Benutzer für alle Dienste im Vertrauensverbund durch seine einmalige Anmeldung authentifiziert (Single Sign-On, SSO). Aufgrund dieser praktischen Funktion wird Shibboleth auch unabhängig von organisationsübergreifenden Föderationen eingesetzt, um SSO für organisationsinterne Webanwendungen zu realisieren.

Shibboleth besteht aus einer ganzen Reihe von Softwareprodukten:

  • Identity Provider
  • Service Provider
  • Zwei verschiedene Diensten zum Auffinden des Identity Providers des Benutzers: Centralized Discovery Service und Embedded Discovery Service
  • Metadata Aggregator zum Verwalten von Föderationsmetadaten
  • OpenSAML: Bibliotheken für SAML in C++ und Java

Weitere Informationen:

Single Sign-On (SSO)

Single Sign-On (SSO) bezeichnet Authentifizierungsverfahren, bei denen sich ein Nutzer nur einmalig einloggen muss, um verschiedene Dienste nutzen zu können, für die er sonst verschiedene Accounts benötigen würde und Anmeldeverfahren durchlaufen müsste.

Single Sign-On kann mit verschiedenen Lösungen umgesetzt werden, zum Beispiel mit Gluu, Satosa, Shibboleth oder SimpleSAMLphp.

Zu all diesen Produkten beraten wir Sie gerne!

SMTP-Auth

SMTP-Auth ist ein Protokoll für die Authentifizierung von Mailservern anhand des Nutzernamen und Passworts des Clients.

SOAP

SOAP (Simple Object Access Protocol) ist ein Standardprotokoll zum Austausch von Daten im Internet oder in einem Netzwerk.

SPML

SPML (Service Provisioning Markup Language) ist ein vom OASIS-Konsortium entwickeltes XML-Framework zur Provisionierung von Benutzer-, Ressourcen- und Serviceinformationen innerhalb einer Organisation, aber auch über Organisationsgrenzen hinweg.

SPML definiert Provisionierung als die „Automatisierung aller erforderlichen Schritte für die Verwaltung (Installation, Änderung und Rücknahme) von Benutzer- oder System-Zugriffsberechtigungen bzw. Daten bezüglich elektronisch bereitgestellter Dienste“ (vgl. “An Introduction to the Provisioning Services Technical Committee“).

Der offene Standard gewährleistet eine hohe Interoperabilität zwischen verschiedenartigen Systemen, definiert jedoch lediglich das Austauschformat, nicht das Format der transportierten Daten. Um die Interoperabilität verschiedener Systeme weiter zu verbessern, wurden unter anderem das DSMLv2-Profil für SPML und das SAML2.0-Profil für SPML definiert.

DSMLv2 wurde speziell für Verzeichnisdienste entwickelt und stellt durch Kombination mit SPML ein einheitliches, offenes und zugleich erweiterbares Format zur Provisionierung dar.

Im föderierten Identity Management (FIdM) mit SAML kann SPML genutzt werden, um Provisionierungs- und Deprovisionierungsprozesse vom Identity Provider zum Service Provider zu initiieren. So können u.a. auch SAML-Assertions innerhalb von SPML-Nachrichten transportiert und dazu benutzt werden, das Ziel einer Provisionierungsanfrage zu qualifizieren/identifizieren.

Als Teil eines Identity-Management-Systems bietet SPML somit die Möglichkeit, die Provisionierung vorhandener Systeme zu vereinheitlichen und die Provisionierung kommender Systeme zu erleichtern. Denn werden statt SPML verschiedene proprietäre Lösungen eingesetzt, sind Benutzerschnittstellen zwischen den Systemen unter Umständen sehr viel schwieriger zu realisieren.

Der SPML-Standard wurde 2000 in der Version 1.0 veröffentlicht, 2006 folgte die Version 2.0.

WSDL

WSDL ist die Abkürzung für Web Services Description Language, eine Standardsprache für Webservices auf XML-Basis.

XACML

Die Xtensible Access Control Markup Language (XACML) ist ein in XML implementiertes Standardisierungsschema für die Darstellung und Verarbeitung von Autorisierungsrichtlinien (Policies). Während etwa der XML-Standard SAML den Austausch dieser Informationen regeln kann, definiert XACML deren Syntax und Auswertungsweise.

Im einzelnen beinhaltet XACML eine Referenzarchitektur, die alle im Autorisierungsprozess involvierten Komponenten umfasst, eine Sprache zur Formulierung von Autorisierungspolicies, eine Sprache zur Formulierung von Autorisierungsanfragen (Autorisierungsentscheidungen) und -antworten, ein Verarbeitungsmodell sowie Standard-Attribute und -Funktionen (arithmetische Funktionen, boolsche Operatoren etc.).

Zentral in der Funktionsweise von XACML ist die logische Trennung von Policy Enforcement Point (PEP) und Policy Decision Point (PDP). Jeder Zugriff auf eine geschützte Ressource wird zunächst vom anwendungsspezifischen PEP abgefangen; dieser sammelt alle verfügbaren Informationen über die anfragende Instanz und die Ressource und formuliert aus diesen eine Autorisierungsanfrage, die er als XACML-Dokument an den PDP sendet. Der im Gegensatz zum anwendungsspezifischen PEP komplett standardisierte PDP trifft auf Basis der erhaltenen Informationen und ebenfalls in XACML hinterlegten Regeln eine Zugriffsentscheidung und sendet diese an den PEP zurück. Entsprechend dieser Entscheidung gewährt oder verwehrt der PEP anschließend den Zugriff.

Der vom OASIS-Konsortium entwickelte Standard liegt seit 2003 in der Version 2.0 vor, im April 2009 wurde ein erster Entwurf der Version 3.0 veröffentlicht.

XACML beinhaltet bereits Profile für SAML und RBAC, sodass eine problemlose Integration der Standards gewährleistet ist.

Es werden unterschiedliche Implementierungen eingesetzt, u.a. SunXACML (frei), XACML Enterprise (frei, 2008 zur schnellsten Implementierung erklärt), HERAS-AF (Open Source und, Axiomatics (kommerziell, implementiert den ersten Entwurf von XACML 3.0).

XML

XML (eXtensible Markup Language) ist eine Auszeichnungssprache, mit der hierarchisch strukturierte Datensätze in Form von mensch- und maschinenlesbaren Textdaten dargestellt werden. Die XML-Spezifikation definiert die Regeln, nach denen Daten in XML zu erfassen sind. Obwohl XML primär zur Speicherung und Verarbeitung von Dokumenten entwickelt wurde, lassen sich damit nahezu beliebige Datenstrukturen abbilden – so findet XML heute etwa auch in den Bereichen Web-Services und Identity Management (IdM) Anwendung. XML ist eine Metasprache, aus der durch strukturelle und inhaltliche Einschränkungen anwendungsspezifische Sprachen definiert werden können. Beispiele für XML-basierte Sprachen sind RSS, SOAP, XHTML, OpenDocument, aber auch die IdM-Schemata DSML, SAML, XACML und SPML.

XML ist Nachfolger des älteren SGML (Standard Generalized Markup Language, ISO 8879:1986) und wurde speziell auf die Nutzung im Internet zugeschnitten. Ein gültiges XML-Dokument besteht aus einer optionalen Deklaration, Elementen und Attributen. Die Bedeutung von Elementen und Attributen ist nicht standardisiert, die Interpretation der Daten wird komplett der jeweiligen verarbeitenden Anwendung überlassen.

Dokumente können wohlgeformt sein, also den syntaktischen Regeln der XML-Spezifikation genügen, oder zusätzlich anhand eines Schemas, das deren Aufbau beschreibt, validiert werden. Beispiele für Schema-Sprachen sind DTD, XML Schema und RELAX NG.

Aufbauend auf die XML-Spezifikation und diese komplettierend sind einige zugehörige Standards entstanden:

  • XML Namespace – dient der Unterscheidung von verschiedenem Vokabular über XML-Dokumente hinweg, verhindert beispielsweise Kollision von Elementnamen
  • XML DOM Document Object Model – ein Weg, XML-Dokumente auszuwerten und zu manipulieren
  • XSLT eXtensible Stylesheet Language Transformations – eine XML-basierte Sprache, um XML-Dokumente in andere Formate (XML-basiert und nicht-XML-basiert) zu transformieren
  • XPath – dient der Navigation in Elementen und Attributen in einem XML-Dokument
  • XQuery – dient als Programmiersprache zum Zugriff auf bzw. der Auswertung von XML-Dokumenten
  • XLink / XPointer – Standards für die Referenzierung von XML-Dokumenten / Teilen davon als Hyperlink in einem XML-Dokument
  • XSL-FO Extensible Stylesheet Language Formatting Objects – dient der Formatierung von XML-Daten für Bildschirm, Papier oder andere Medien
  • XForms – Standard für die Erzeugung von Formularen, Nachfolgeformat für einfache HTML-Formulare
  • XML Signature – Digitale Signatur für XML-Dokumente
  • XML Encryption – Syntax und Verarbeitungsregeln für die Verschlüsselung von XML-Inhalten

Die erste Spezifikation des vom World Wide Web Consortium (W3C) verabschiedeten XML-Standards wurde 1998 veröffentlicht, die aktuelle, fünfte Version der Spezifikation 1.0 liegt seit November 2008 vor. XML ist lizenzfrei, plattformunabhängig und beliebig erweiterbar.

Weitere Informationen:

Menü