24
Entwurf und Realisierung von Sicherheitsmechanismen ur eine Infrastruktur f¨ ur digitale Bibliotheken Vortrag zur Diplomarbeit von Razi Lotfi-Tabrizi Juli 2002

Entwurf und Realisierung von Sicherheitsmechanismen fur eine ... · Doc1 Doc1 Host-Rechner Dokumentmethoden-Server M1 M2 M3 User-Client Speicherseitiger INDIGO-Server M1 M2 Anwenderseitiger

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

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

Erganzungsfolien. . .

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