Entwurf und Realisierung von Sicherheitsmechanismenfur eine Infrastruktur fur digitale Bibliotheken
Vortrag zur Diplomarbeit
von
Razi Lotfi-Tabrizi
Juli 2002
Razi Lotfi-Tabrizi 1/8
INDIGO – Infrastruktur fur Digitale Bibliotheken
BIBLIOTHEKDIGITALEAnwender
Anwender
Anwender
Anwender
Anwender
speicherseitigen(Serververbund von
Ausführungs−Servern)
Abbildung 1 Komponenten der INDIGO-Infrastruktur (1)
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 2/8
Dokument
Laufzeitumgebung
Ausführungs−Server
AnwenderseitigerRechnerknoten
MethodeLokale
Dokument
RechnerknotenSpeicherseitiger
Ausführungs−Server
Laufzeitumgebung
MethodeDokument
BIBLIOTHEKDIGITALE
Anfrage
Anwender
Anwender
Anwender
Anwender
Anwender
speicherseitigen(Serververbund von
Ausführungs−Servern)
Abbildung 2 Komponenten der INDIGO-Infrastruktur (2)
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 3/8
Akteure und schutzenswerte Guter
Doc1
M2
AnwenderseitigerINDIGO−Server
Doc1
M2
M1
Doc1
SpeicherseitigerINDIGO−Server
M1
Host−Rechner
GET /diglib/invoke/Doc1?M1&INDIGO2 HTTP/1.0
Dokumentmethoden−Server(HTTP−Server)
M1 M2 M3
User−Client(HTTP−Client)
(INDIGO2) 3
4
(INDIGO1)1
2
. . .
Abbildung 3 Akteure beim INDIGO-System
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 4/8
Akteure und schutzenswerte Guter
Akteure:
• Dokumentmethoden-Produzent
• Dokumentmethoden-Server-Betreiber
• Autor
• Bibliothek
• Anwender
• Netzwerk-Betreiber
Schutzenswerte Guter:
• Metadokumente
• Dokumentmethoden
• INDIGO-Server
• Basis-Infrastruktur
Doc1
M2
M1
Doc1
Doc1
Host−Rechner
Dokumentmethoden−Server
M1 M2 M3
User−Client
SpeicherseitigerINDIGO−Server
M1
M2
AnwenderseitigerINDIGO−Server
. . .
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 5/8
Beispiele fur Sicherheitsverletzungen
• Manipulation oder Abhoren der Kommu-
nikation.
• Manipulation der Herkunft und Unver-
sehrbarkeit der Metadokumente.
• Manipulation der Methoden bzw. der
Dokumentmethoden-Abschnitte.
• Ausfuhrung von boswilligen Dokument-
methoden.
• Unerlaubter Zugriff auf die Dienste des
INDIGO-Servers.
• Mißbrauch der indirekten Autorisierung
(DDOS-Angriff).
Doc1
M2
M1
Doc1
Doc1
Host−Rechner
Dokumentmethoden−Server
M1 M2 M3
User−Client
SpeicherseitigerINDIGO−Server
M1
M2
AnwenderseitigerINDIGO−Server
. . .
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 6/8
Sicherheitsanforderungen an die schutzenswerten Guter
Schutzenswerte Guter Sicherheitsanforderungen
Metadokumente Vertraulichkeit, Authentizitat, Integritat, Verbindlichkeit
Dokumentmethoden Authentizitat, Integritat, Verbindlichkeit
INDIGO-Server Vertraulichkeit, Authentizitat, Integritat, Verbindlichkeit,Autorisierung (Zugriffskontrolle)
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 7/8
Die wichtigsten sicherheitsrelevanten Modifikationen
• Sicherung und Aufbau der verbindlichen Kommunikationskanale
durch den Einsatz von Server-zu-Server Verfahren.
• Eindeutige Identifikation des Ausfuhrungs-Servers mittels eines
Zertifikats.
• Durchfuhrung der Client-Authentisierung (optional).
• Realisierung von Sicherheitsmechanismen zur Verifikation der di-
gital signierten Dokumentmethoden.
• Download von Dokumentmethoden auch von HTTPS-Servern.
• Verifikation der digitalen Signatur der Dokumente.
• Erweiterung des INDIGO-Servers um feingranuliert konfigurier-
bare Zugriffsmechanismen.
Doc1
M2
M1
Doc1
Doc1
Host−Rechner
Dokumentmethoden−Server
M1 M2 M3
User−Client
SpeicherseitigerINDIGO−Server
M1
M2
AnwenderseitigerINDIGO−Server
. . .
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi 8/8
Zusammenfassung und Ausblick
• Sicherheitsanforderungen und ihre Erfullung:
– Vertraulichkeit: SSL, Ende-zu-Ende Verschlusselung– Authentizitat, Integritat, Verbindlichkeit: Digitale Signatur, MAC– Autorisierung: Zugriffssteuerung verteilt auf drei Ebenen
• Vorschlage zur Weiterentwicklung:
– Urheberrechtsschutz– Erweiterte Anwender-Authentisierung
• Bemerkung zur Implementierung:
– SSL-Sockets– Zertifikate
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi I/XIV
Digitale Bibliotheken
Digitale Bibliotheken:
• Verteilte Anwendungen
• Konstruiert fur den Umgang mit digitalen Dokumenten
Anforderungen an die digitalen Bibliotheken:
• Skalierbarkeit
• Erweiterbarkeit
• Orthogonalitat
• Plattformunabhangigkeit
INDIGO := Infrastruktur fur digitale Bibliotheken
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi II/XIV
Beispiel fur ein Metadokument
Content-Type: application/x-metadoc;
boundary="ekidpUnhoJ"
--ekidpUnhoJ
Content-Type: application/x-metadoc-attributes
author: Razi Lotfi-Tabrizi
uses: base self global io
type: text/plain
title: Testdokument fuer die INDIGO
--ekidpUnhoJ
Content-Type: application/x-metadoc-methods
Present http://62.104.191.241/Text/present.zip application/java
Describe http://62.104.191.241/Text/describe.zip application/java
private.localPresent http://62.104.191.241/Text/lpresent.zip application/java
--ekidpUnhoJ
Content-Type: application/x-metadoc-content
Dies ist ein Testdokument fuer die INDIGO Infrastruktur.
Es enthaelt als Inhalt nur diese beiden Zeilen.
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi III/XIV
Dokumentmethoden
Die Dokumentmethoden fuhren Operationen auf die Dokumente aus.
Die Operationsarten bei der INDIGO-Infrastruktur sind:
• Orthogonale Operationen
– Present
– Describe
– Copy
– Move
• Private Operationen
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi IV/XIV
Dokumentspezifische Autorisation
Dokument:
Dokumentinhalt
Zertifikat des
Anwenders:
3
private.safePresent
41
present
present
private.safePresent
move
describe
copy
...
...
...
...
...
private.authorize
VERGLEICHEN2
5
OK (authorized)
private.safePresent
Laufzeitumgebung:
Liste der vertrauenswürdigen
Zertifizierungsstellen fürprivate.safePresent
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi V/XIV
DokumentDokument
Dokument
Dokument
Dokument
Dokument
DIGITALEBIBLIOTHEK
AnwenderseitigerAusführungs−Server
speicherseitigen(Serververbund von
Ausführungs−Servern)
Angreifer
Anfrage
Anfrage
Anfrage
Anfrage
Anfrage
Anfrage
Abbildung 4 Beispiel fur den Mißbrauch der indirekten Autorisierung
Zuruck Losung
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi VI/XIV
Doc1
Speicherseitiger
INDIGO−Server(INDIGO1)
2
Anwenderseitiger
INDIGO−Server
Cookie1
3
invoke M2 & Cookie
ClientGET /diglib/invoke/Doc1?M1&INDIGO2&Cookie HTTP/1.0
(INDIGO2)
Abbildung 5 Sichere indirekte Autorisierung mittels Cookies
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi VII/XIV
Doc1
Speicherseitiger
INDIGO−Server(INDIGO1)
Anwenderseitiger
INDIGO−Server
GET /diglib/invoke/Doc1?Present&INDIGO2 HTTP/1.0
Client
SSL
SSLinvo
ke priv
ate.loca
lPresent
(INDIGO2)
Abbildung 6 Sichere indirekte Autorisierung mittels verbindlicher Kommunikationskanale
DDOS Sicherheitsverletzungen Zuruck
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi VIII/XIV
Zugriffssteuerungsebenen
Initialisierung des Servers
Zugriffssteuerungauf der Protokollebene
[Erfolgreich]
Auf eine Verbindung warten-------------------------------------------------
do/SSLSocket = SSLServerSocket.accept
Ein Client meldet sich beim Server
[Sicherheitsmodus]
Ausführung desServer-Befehls
Neuen Thread starten--------------------------------------------do/Den neuen SSLSocket an den
Thread weitergeben
Auf weitereVerbindungenwarten
Verbindung mit Clientfortsetzen
Abbildung 7 Zugriffssteuerungsebenen beim INDIGO-Server (1)
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi IX/XIV
[Server-Befehl == invoke][sonst]
Zugriffssteuerungauf der Dokumentebene
[Erfolgreich]
Zugriff auf das Dokument(Lesen)
Einige Operationen
Weitere Operationen
[Erfolgreiches Ausführen der Methode]
:Dokument[geschützt]
Ausführung der Methode
Sicherheitsmanager starten
Zugriffssteuerungauf der Serverebene
Verifikation der Methode
[OK]
Ausführung desServer-Befehls"invoke"
Ausführung dessonstigen
Server-Befehls
[Erfolgreich]
Ausführung desServer-Befehls
Abbildung 8 Zugriffssteuerungsebenen beim INDIGO-Server (2)
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi X/XIV
Zugriffssteuerung auf der Protokollebene
Verifikation des Client-Zertifikats
[Client-Zertifikat ungültig]
HTTP-Request und Header lesen und bearbeiten------------------------------------------------do/Ermittle aus dem Request den
Server-Befehldo/"SB" = Request Server-Befehl
[Client-Zertifikat gültig]
Verifikation von Authorization-Header
Anwendertyp des Clients = GROUP-----------------------------------------------------
do/Setze "currentLIST" = "LIST2"
Anwendertyp des Clients = SUPERUSER------------------------------------------------------
do/setze "currentLIST" = "LIST1"
[Korrekte SuperUserName+Password][Falsche SuperUserName+Password]
Autorisation ------------------------------------------
do/Prüfe, ob "SB" element von "currentLIST" ist
Verbindung zum Client abbrechen-----------------------------------------------
do/SSLSocket schließendo/Thread anhalten
[SB nicht in currentLIST][SB in currentLIST]
Anwendertyp des Clients = OTHERS-----------------------------------------------------
do/Setze "currentLIST" = "LIST3"
Zugriffssteuerung auf der Protokollebene(im Maybe-Sicherheitsmodus)
Ausführen des Server-Befehls "SB"
[Maybe-Sicherheitsmodus && (CurrentAccesscontrolllist = indigo.maybeAccesscontrolllist = "List1""List2""List3")]
Abbildung 9 Zugriffssteuerung auf der Protokollebene im Maybe-Sicherheitsmodus
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi XI/XIV
Offline-Prasentation (1)
Dokument
Doku
Doku Doku
Doku
Doku
Laufzeitumgebung
Laufzeitumgebung
Ausführungs−ServerSpeicherseitiger Anwenderseitiger
Ausführungs−Server
LPresentPresent
1
35
9
10
Bas
e−P
acka
ge
2
6
7
4
8
Self−PackageS
erver−S
chnittstelle
invoke(Doku,LPresent)
s_transport(Doku)
GET /diglib/invoke/Doku?LPresent
TCP−Sockets
Abbildung 10 Base-Package mit TCP-Sockets
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi XII/XIV
Offline-Prasentation (2)
Dokument
Doku
Doku Doku
Doku
Doku
Laufzeitumgebung
Laufzeitumgebung
Ausführungs−ServerSpeicherseitiger Anwenderseitiger
Ausführungs−Server
LPresentPresent
1
35
9
10
2
6
8
4
7
GET /diglib/invoke/Doku?LPresent
Server−
Schnittstelle
Bas
e−P
acka
ge
Self−Package
invoke(Doku,LPresent)
s_transport(Doku)
SSL−Sockets
Abbildung 11 Base-Package mit SSL-Sockets
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi XIII/XIV
Online-Prasentation (1)
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
Dokument
Doku−Inhalt
Doku−Inhalt
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
AnwenderseitigerAusführungs−ServerAusführungs−Server
Speicherseitiger
LPresentPresent
Laufzeitumgebung
LaufzeitumgebungGET /diglib/invoke/Doku?LPresent&SS
Bas
e−P
acka
ge
SS
Server−
Schnittstelle
1
4
6
78
11
9
S
2
Self−Package
10
Self−Package
5
3
S
12
SSL−Sockets
invoke(Doku,LPresent,SS)
TCP−Sockets
hello (handshake)
d_transport(Doku)
SS Server−Socket erzeugtvon Present zur
LPresentKommunikation mit
Socket erzeugt vonLPresent zurKommunikation mitPresent
Abbildung 12 Online-Prasentation ohne NetSSL
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken
Razi Lotfi-Tabrizi XIV/XIV
Online-Prasentation (2)
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
Dokument
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
Doku(mit leerem Inhalt)
Doku−Inhalt
Doku−Inhalt
AnwenderseitigerAusführungs−ServerAusführungs−Server
Speicherseitiger
LPresentPresent
Laufzeitumgebung
LaufzeitumgebungGET /diglib/invoke/Doku?LPresent&SS
Bas
e−P
acka
ge
Server−
Schnittstelle
1
24
6
78
Net
SS
L−P
acka
ge
Self−Package
3
5
NetS
SL−
Package
9
1110
Self−Package
12
SS: SSLServerSocket erzeugtvon Present mittelsNetSSL−Package zurKommunikation mitLPresent
SSL−Sockets
d_transport(Doku)
invoke(Doku,LPresent,SS)
hello (handshake)
Abbildung 13 Online-Prasentation mit NetSSL
Entwurf und Realisierung von Sicherheitsmechanismen fur eine Infrastruktur fur digitale Bibliotheken