Softwaredistribution des Projekts XML-Sicherheitsdienste
Aufgabe der AG Netzbasierte Informationssysteme im Rahmen
des von den Projekten GBIF-D (BMBF) und SYNTHESYS
(EU) geförderten Projekts XML-Sicherheitsdienste, das in Kooperation mit dem
Botanischen Museum und Botanischen Garten Berlin (BGBM) stattfinden, ist die Erweiterung bereits existierende Dienste um
folgende Eigenschaften:
- Benutzerauthentifikation
- Zugriffskontrolle anhand rollenbasierter Politiken
- Vertraulichkeit und Integrität
übertragener Daten
- Sicherung "Authentizität der Datenquelle"
BioCASE-Systemarchitektur
Verschiedene Provider (meist Botanische Museen oder
Institute) unterhalten unterschiedliche Datenbanken zur
Biodiversität. Um einen einheitlichen Zugriff auf diese
Datenbanken zu ermöglichen, wurde das BioCASE-Protokoll
entwickelt. Die Datenbanken werden dabei nach aussen über eine
Wrapperkomponente gekapselt, die die Auslieferung von XML-Dokumenten
sowie die BioCASE-Kommunikation mit dem jeweiligen Client
übernimmt. Das BioCASE-Protokoll ist XML-basiert und besteht
im
Wesentlichen im Austausch von XML-Daten. Diese XML-Daten bestehen aus
einem Protokollheader, einem Request oder einer Response.
Requests können verschiedene Methoden beinhalten:
Capabilities, Scan und Search.
Capabilities ermöglichen die Abfrage von Fähigkeiten
des
Providers, Scan listet vorhandene Dokumente der Providerdatenbank auf
und Seach ermöglicht die Suche und Auslieferung von Dokumenten.
Responses beinhalten neben dem Header die auszuliefernden
XML-Dokumente (Content-Dokumente) sowie optionale Diagnosticelemente.
Letztere dienen zur Übermittlung von sonstigen Informationen
dienen (z.B. Fehlermeldungen, Zustandsinformationen etc.).
Lösungsansatz XML-Sicherheitsdienste
Die XML-Sicherheitsdienste wurden durch Installation einer
Zugriffskontrollschicht vor dem eigentlichen Provider in die
BioCASE-Architektur integriert. Diese Integration erfolgt auf Basis des
XACML-Standards.
Ein sogenannter Policy Enforcement Point (PEP) untersucht eingehende
Http-Requests auf das BioCASE-Protokoll und setzt zuvor definierte
rollenbasierte Zugriffspolitiken durch. Diese Zugriffskontrollpolitiken
legen fest, welche BioCASE-Requests blockiert werden, oder welche
Elemente des Content-Dokuments einer BioCASE-Response herausgefiltert
werden. Die Zuordnung von Rollen und Benutzern, sowie die Spezifikation
rollenbasierter Zugriffspolitiken erfolgt anhand eines speziellen
Administrationstools (RoleManager) auf Seiten des Providers. Die
Benutzerauthentisierung erfolgt über das Https-
(SSL-)Protokoll,
welches im Modus der gegenseitigen Authentisierung verwendet wird. Zur
Authentisierung werden X.509-Zertifikate verwendet, die über
eine
rudimentäre, OpenSSL-basierte Certification Authority
(CA) erstellt werden können.
Die Sicherung der Authentizität der Datenquelle
erfolgt durch Einsatz von XML-Signaturen.
Hierbei können providerseitig festgelegte Politiken
diejenigen Elemente und Gruppen bestimmen,
die durch den Provider signiert ausgeliefert werden. Zur
Unterstützung der Verifikationsfunnktion von XML-Signaturen,
steht
ein Client-API bereit. Diese Client-API führt die Verifikation
durch und fügt einen Bericht über das Ergebnis den
Diagnostics-Teil einer BioCASE-Response hinzu.
Download
der Softwaredistribution
Die aktuelle Version der Software kann unter folgendem Link
heruntergeladen werden:
Dokumentation
Eine umfangreiche Dokumentation der Software befindet sich im
Unterverzeichnis
docin
der obigen Softwaredistribution. Dort befindet sich auch die JavaDoc
Dokumentation der Java-Klassen, insbesondere auch des Client API's
(nbi.xmlsec.PEPClient). Es gibt jedoch auch folgende Online-Versionen
des
Dokuments:
Die Dokumentation des Client-API und
sämtlicher Java-Klassen ist unter folgenden Links zu
erreichen:
Demonstrator
Ursprünglich zu Testzwecken wurde für die
XML-Sicherheitsdienste ein
Beispielszenario entwickelt, welches alle
wesentlichen Funktionalitäten
der Sicherheitskomponenten abdeckt. Dieses Beispielszenario wurde
zusammen mit den Softwarekomponenten weiterentwickelt und steht nun in
Form eines Demonstrators
online
zur Verfügung.