5.1 Einführung

Werbung
5 Datenschutz und Datensicherheit
5.1
Einführung
! Datenschutz bedeutet Schutz der Persönlichkeitsrechte, nicht (primär) den Schutz der Daten
! Datensicherheit bedeutet Schutz der Daten vor unberechtigtem Zugriff und vor Manipulation
! Datensicherung bedeutet Schutz der Daten vor unbeabsichtigter Zerstörung und Höherer Ge”
walt“
=⇒ Mehrbenutzer-Kontrolle und Recovery-Maßnahmen
! Eigentliches Problem: Schutz der Information
" Information = Daten im Kontext
Beispiel 5-1: Eine an sich harmlose“ Datei mit Daten von Patienten mit Gerinnungsstörun”
gen ( Bluter-Datei“) erlangt hohe Sensitivität durch zusätzliches (externes) Wissen“ (→
”
”
HIV–Risikogruppe“).
”
" Die Relation zwischen zwei Entities ist oft sensitiver als die Entities selbst.
Beispiel 5-2: Erlaubter Zugriff auf Mitarbeiter(PersNr, Name, Adresse) und auf Gehaltsgruppen(GrNr, Gehalt); keine Erlaubnis, die Relation zu verfolgen (Annahme: Mitarbeiter-Attribut
Gehaltsgruppe ausgeblendet).
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-1
! Gefahrenpotential:
" Verletzung der Privatsphäre
Problem: juristisch und ethisch schwer fassbar
" Freisetzung geheimer Daten
! direkt (Durchsickern)
! indirekt (Ableiten)
Problem:
Oft fehlendes Unrechtsbewusstsein, da man Information nicht stehlen“, sondern
”
nur teilen“ kann
”
" Manipulation zugänglicher Daten
! Manipulation im kleinen“:
”
(Einfügen und Löschen von Teilen, Ändern, Kopieren)
! Manipulation im großen“:
”
(Überschreiben, Löschen)
! Ursachen:
" kritische (sensitive) Daten und Relationen
" unverträgliche (unsichere, inkompatible) Software
" verletzliche Systeme (mangelnde Schutzvorkehrungen)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-2
5.2
Datenschutz
! Bundesdatenschutzgesetz (BDSG, 1990)
" Zweck und Anwendungsbereich (§1 BDSG)
Zweck dieses Gesetzes ist es, den einzelnen davor zu schützen, dass er durch den Umgang
”
mit seinen personenbezogenen Daten in seinem Persönlichkeitsrecht beeinträchtigt wird.“
! . . . gilt für die Erhebung, Verarbeitung und Nutzung personenbezogener Daten. . .“
”
! Geltung für öffentliche Stellen des Bundes (und der Länder, soweit nicht ein Landes-DSG
geregelt) und für nicht-öffentliche Stellen (natürliche und juristische Personen)
!
" Prinzipien im BDSG
! Zulässigkeit der Datenverarbeitung und -nutzung (§4 BDSG)
# durch ein Gesetz oder andere Rechtsvorschrift erlaubt bzw. angeordnet oder
# aufgrund der Einwilligung des Betroffenen
! Datengeheimnis (§5 BDSG), Zweckbindung (§39 BDSG)
# unbefugte Verarbeitung bzw. Nutzung verboten
! Rechte des Betroffenen
# Recht auf Auskunft
# Recht auf Berichtigung, Sperrung und Löschung
# Anrufung des Datenschutz-Beauftragten
Diese Rechte können nicht ausgeschlossen oder beschränkt werden!
! Anonymisierung bei sonstiger Verwendung
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-3
" Technische und Organisatorische Maßnahmen (§9 BDSG)
! Zugangskontrolle
(Unbefugten den Zugang zu den EDV-Anlagen verwehren)
! Datenträgerkontrolle
(Unbefugtes Lesen, Kopieren, Verändern und Entfernen von Datenträgern verhindern)
! Speicherkontrolle
(Unbefugte Eingabe sowie Kenntnisnahme, Veränderung und Löschung von Daten verhindern)
! Benutzerkontrolle
(Bei Nutzung der Systeme und der Datenübertragung)
! Zugriffskontrolle
(Zugriff nur der Zugriffsberechtigung entsprechend)
! Übermittlungskontrolle
(Feststellung und Überprüfung der Kommunikationspartner)
! Eingabekontrolle
(Feststellung und Überprüfung: welche personenbezogenen Daten wann von wem eingegeben werden)
! Auftragskontrolle
(Verarbeitung ausschließlich den Weisungen des Auftraggebers entsprechend)
! Transportkontrolle
(kein Unbefugtes Lesen, Kopieren, Verändern und Löschen bei der Datenübertragung bzw. beim Datenträger-Transport)
! Organisationskontrolle
(Organisation gemäß den Anforderungen des BDSG gestalten)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-4
5.3
5.3.1
Datensicherheit
Überblick
! Mechanismen an der Systemschnittstelle
" Benutzer-Identifikation
" Authentifizierung
! Interne Sicherheitsmechanismen
" Zugriffskontrolle
" Datenflusskontrolle
" Inferenz-Kontrollmechanismen
" Kryptographie
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-5
5.3.2
Benutzer-Identifikation und Authentifizierung
Identifikation
! Frage: An welchen Nachweis kann der Informationszugriff gebunden sein?
" universell gültige Eigenschaft, die einen Menschen von allen anderen Menschen abgrenzt
Beweis: Identifikator (z.B. Fingerabdruck, Passwort)
" in einem bestimmten Kontext gültige Eigenschaft eines Menschen
Beispiel: Qualifikation eines Arztes Beweis: Credential (z.B. Diplom)
Authentifikation
! Prüfung der Identität/von Eigenschaften von Personen und Instanzen (z.B. Computersysteme);
erforderlich für ACLs und persönliche Capabilities
" Personen: Benutzerauthentifikation in Informationssystemen
" Instanzen: z.B. Authentifikation von Servern in Netzwerken über kryptographische Protokolle
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-6
Arten von Benutzerauthentifikation
. . . basierend auf
! Wissen
" Identifikatoren: Passwörter, PINs, Unterschriften
" Credentials: Kenntnisse
" Nachteile: bewusste oder unbewusste Weitergabe
! Besitz
" Identifikatoren: Ausweise
" Credentials: Zeugnisse, Schlüssel, Karten
" Nachteile: Diebstahl, Weitergabe
! Biometrie
" Identifikatoren: Fingerabdruck, Retina, Sprache, Tastendruckverhalten
" Nachteile: nicht rückrufbar“
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-7
5.3.3
Autorisierung (Zugriffskontrolle)
5.3.3.1
Einschränkung des Weltausschnitts
! Sichten-Konzept in (relationalen) Datenbanken
" Einschränkung der Attributmenge (Projektion): Verstecken“ von nicht benötigten/nicht be-
”
rechtigten Attributen
" kann z.T. auch das Verfolgen von Beziehungen verhindern (vgl. Beispiel 5-2: Mitarbeiter ⇐⇒
Gehaltsgruppe)
" Einschränkung der sichtbaren Wertemenge (Selektion)
! Abstrakte Datentypen
" Information-Hiding, keine Information über Interna
" Zugriff nur über definiertes Interface ggf. keine Änderung, nur eingeschränkte Anfragen usw.
" in manchen Datenbanksystemen: stored procedures“
”
! Shells
" oft menugesteuerte Programme
" eingeschränkte Funktionalität, angepasst an die Benutzer (-gruppe)
" entsprechend dem ADT-Konzept
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-8
5.3.3.2
Autorisierungsmechanismen
! In den meisten heute verfügbaren (Mehrbenutzer-) Betriebs- und Datenbanksystemen vorhanden.
Zutrittskontrolle
Zugangskontrolle
Zugriffskontrolle
" Zutrittskontrolle: logistische Maßnahmen ( verschlossene Türen“)
”
" Zugangskontrolle: Identifikation und Authentifizierung von Benutzern
" Zugriffskontrolle: Durchsetzung von Einschränkungen beim Zugriff auf Informationen und
Dienste in Kombination mit Rechteverwaltung und -überprüfung
Grundlage: elementares Zugriffsmodell
! Subjekte S: aktiv handelnde Einheiten, die
Subjekt (S)
Operation (Op)
Objekt (O)
! Zugriffsoperationen Op auf
! Objekten O ausführen.
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-9
! Konzept der Zugriffskontrollmatrix
" Matrix (Subjekt × Objekt → Recht) (welcher Benutzer darf was mit welchen Objekten tun)
" Subjekt: jeder Benutzer und damit jeder Prozess, der durch einen identifizierbaren Benutzer
gestartet wurde
" Objekt: Datei, Relation, Record, Feld
" Recht: erlaubte Operation (verschiedene Ausprägungen)
! see, search: feststellen der Objekt-Existenz
! pass: feststellen einer Beziehung
! move, copy: Transport eines Objektes bzw. des Inhalts
! execute: Ausführung eines (Programm-)Objekts
! read: lesen des Objektes (des Inhalts)
! write, change: verändern eines Objektes
! extend: erweitern eines Objektes
! delete: löschen des Objektes
! control: ändern der Zugriffsrechte für ein Objekt
oft auch Eigentümer-Konzept:
! own: potentiell alle Rechte am Objekt, Selbstbeschränkung“ möglich
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-10
! Verwaltung der Zugriffskontrollmatrix — Problem: Matrix ist u.U. sehr groß
1. Lösungsansatz: Partitionierung
" Access Control List (ACL)
⇒ Liste der Berechtigten beim Objekt
⊕ günstig bei relativ geringer Benutzeranzahl
Subjekt (S)
Operation
Objekt (O)
" Capability-List (Bsp: read-password für File)
⇒ je Objekt ein Codewort,
⇒ je Benutzer eine Liste der Codewörter für Objekte
⊕ Schnelle Prüfung der Berechtigung (HW-Unterstützung)
' Es kann Objekte geben, zu denen niemand Rechte besitzt
' Keine Möglichkeit des selektiven Rechte-Entzugs (Codewort geändert =⇒ Recht allen Subjekten entzogen)
Subjekt (S)
Operation
Capabity
Objekt (O)
2. Lösungsansatz: Hierarchisierung
" Gruppen für Subjekte (d.h. Benutzergruppen)
Beispiel: UNIX verwaltet die Berechtigungen in einer dreistufigen Hierarchie der Benutzer:
owner (der Eigentümer), group (Benutzergruppe des Eigentümers) und world (Rest der
Welt)
" Verzeichnis-Strukturen (directories) für Objekte
Dieses Konzept ist in den meisten Betriebssystemen realisiert
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-11
! Mögliche Erweiterungen der Zugriffskontrollmatrix
" Wertabhängigkeit (Zugriffsrecht abh. vom Objekt-Inhalt)
" Kontextabhängigkeit (Terminal-ID, Uhrzeit,...)
! Vergabe und Entzug von Berechtigungen
" Es darf keine Rechte-Erweiterung möglich sein!
" Jedes neue Subjekt erbt“ die Berechtigungen des Vaters
”
" Weitergabe der Rechte u.U. möglich
Beispiel: SQL: Jan vergibt ein Leserecht an Klaus
..GRANT
..ON
..TO
..WITH
SELECT
MITARBEITER
KLAUS
GRANT OPTION
Recht
Objekt (Mitarbeiter-Relation)
Adressat
Klaus darf das Recht weitergeben
" Rechte-Entzug ggf. kaskadierend!
Beispiel: SQL: Jan entzieht Klaus das Leserecht
..REVOKE SELECT
Recht
..ON
MITARBEITER Objekt (Mitarbeiter-Relation)
..FROM
KLAUS
Betroffener Benutzer
Entzug bei Partitionierung der Matrix (ACL, Capabilities) ist u.U. problematisch (s. oben)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-12
5.3.3.3
Autorisierung in SQL
! Syntaktische Grundstruktur in SQL:1

ff 
ff
8
9
<[ TABLE ] relview =
ON DOMAIN domain
:
;
...
GRANT
ALL PRIVILEGES
REVOKE
<privilege> [, <privilege>, . . . ]
ff

PUBLIC
TO
[ WITH GRANT OPTION ]∗)
userid1 [, userid2, . . . ]
8
SELECT
>
>
>
>
DELETE
>
>
<
INSERT [(Attrib1 [, Attrib2 , . . . ])]
<privilege> ::=
>
UPDATE [(Attrib1 [, Attrib2 , . . . ])]
>
>
>
>
>
:REFERENCES [(Attrib1 [, Attrib2 , . . . ])]
...
∗) nur in Verbindung mit GRANT wählbar
9
>
>
>
>
>
>
=
>
>
>
>
>
>
;
1 Entsprechend dem SQL 92 Standard
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-13
! Wirkungsweise/Erläuterungen:
" Jeder Benutzer hat die volle Verfügungsgewalt (Lesen, Ändern, Löschen) über die von ihm/ihr
erzeugten ( privaten“) Relationen.
”
" Andere Benutzer haben per Default keinerlei Zugriffsrechte auf private“ Relationen anderer
”
Benutzer.
" Ein Benutzer kann Zugriffsrechte auf seine privaten“ Relationen an andere Benutzer (gezielt
”
oder an alle) vergeben.
" Die Art des Zugriffsrechts kann beschränkt werden (z.B. auf lesenden Zugriff)
" Beschränkung des Lesezugriffs auf ausgewählte Attribute mittels VIEW-Mechanismus.
" Beschränkung des Änderungsrechts (UPDATE) auf ausgewählte Attribute durch explizite An-
gabe der Attribute in der UPDATE-Klausel.
" Erteilung der Erlaubnis zur Weitergabe ( Vererbung“) von Zugriffsrechten (=⇒ WITH GRANT
OPTION).
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-14
Weitergabe von Rechten und Entzug weitergegebener Rechte
Mit Hilfe des Zusatzes with grant option“ kann das Recht zur Weitergabe der verliehenen Rechte
”
vergeben werden
Beispiel 5-3: Nehmen wir an, DB-Benutzer Maier ist Eigentümer der Tabelle Angestellter. Maier
hat die Möglichkeit, Zugriffsrechte an DB-Benutzer zu vergeben. Maier setzt folgende DB-Befehle
ab:
GRANT SELECT ON Angestellter TO Seifert WITH GRANT OPTION
GRANT SELECT ON Angestellter TO Schulze WITH GRANT OPTION
Seifert und Schulze können nun das erhaltene Select-Recht an andere DB-Benutzer weitergeben.
Frage: Was geschieht mit weitergegebenen Rechten, wenn Maier die Rechte bei Seifert oder Schulze
wieder entzieht?
⇒ Rechte sollten auch von Dritten entzogen werden, es sei denn, diese haben das Recht auf anderem
”
Weg“ zusätzlich erhalten.
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-15
Wirkung des REVOKE-Befehls
Syntax: REVOKE <privileges> [ON <relations>] FROM <users> [CASCADE]
Beispiele:
REVOKE SELECT ON Angestellter FROM Seifert
REVOKE UPDATE ON Angestellter FROM Seifert
REVOKE RESOURCE FROM Seifert
REVOKE DBA FROM Seifert CASCADE
Kaskadierende Rücknahme: Bei Zurücknahme von weitergegebenen Rechten werden die VergabePfade und Zeitpunkte analysiert. Die Zeitmarken werden verwendet, um zu entscheiden, ob ein
Recht überhaupt von einem bestimmten Benutzer vergeben worden sein kann.
Mit Hilfe eines DAG erfolgt eine Buchführung über Rechtevergabe und -weitergabe
! Knoten stellen die DB-Benutzer dar, die ein Select-Recht bei der Relation Angestellter haben
! Kanten indizieren die Richtung der Rechtevergabe
! Beschriftung der Kanten stellen Zeitstempel dar, die die Vergabezeit dokumentieren
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-16
Beispiel 5-4: Benutzer B entzieht in der folgenden Situation dem Benutzer D das Select-Recht.
Ausgangssituation
10
B
30
A
40
E
60
F
70
Notation:
A – DB -Benutzer Mayer
B – DB -Benutzer Seifert
C – ...
G
D
20
50
C
Benutzer D muss nun so gestellt werden, als ob er das Select-Recht nie von B erhalten hätte.Für E,
F gilt: E kann das Recht nur auf dem Weg B–D erhalten haben, F dagegen auch über C–D.
Endsituation
10
B
A
D
20
50
C
60
F
Bei anderen Zeitstempeln im ansonsten gleichen DAG ergäbe sich bei demselben Rechteentzug:
Ausgangssituation
10
B
30
A
40
E
D
20
C
70
Endsituation
60
G
10
B
A
50
F
D
20
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
C
70
5-17
REVOKE ohne kaskadierendes Zurücknehmen
Benutzer B entzieht Benutzer D ein zum Zeitpunkt 30 gewährtes Recht ohne CASCADE“:
”
Ausgangssituation
10
B
Endzustand
40
30
A
E
C
50
G
10
40
B
70
A
D
20
60
70
F
D
20
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
C
50
E
60
G
F
70
5-18
Grundsätzliche Probleme
! Sichere Benutzeridentifikation/Authentifizierung Voraussetzung
! Berechtigungen (als Objekte) sind sehr schutzbedürftig
⇒ potentiell stärkerer Schutzmechanismus notwendig
! Schutz der Objekte, nicht des Inhalts
⇒ implizite Weitergabe und sogar Erweiterung (!) der Berechtigung möglich
Beispiel:
Jan hat das Leserecht für Objekt O,
Klaus besitzt dieses Recht nicht.
Jan hat kein Recht, Klaus das Leserecht einzuräumen.
Dennoch kann Jan dieses Recht an Klaus weitergeben:
Jan erzeugt eine Kopie O’ des Inhalts von O, und vergibt
(in der Rolle des Eigentümers von O’) das Leserecht an Klaus.
Zugriffskontrolle dem Ermessen (der Willkür) der Benutzer überlassen
⇒ discretionary access control (DAC)
Gefahr:
trojanische Pferde: Programme, die diesen Sachverhalt nutzen, um unbemerkt Daten
weiterzugeben!!
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-19
5.3.4
Datenflusskontrolle
! Ansatz:
Die unerlaubten Datenflüsse bei DAC sollen verhindert werden. Die Kontrolle wird
erzwungen
⇒ mandatory access control (MAC).
! Bell-LaPadula Modell2 verbindet Ermächtigungen für Objekte und Zuständigkeitsbereiche der
Subjekte
! Modell ist militärischen Umgebungen nachempfunden
! Bedingt Änderung der Definition von DB-Operationen
⇒ multi-level relational system (MLS)
Möglichkeit/Notwendigkeit, sog. Cover Stories“ zu definieren: Falsche Daten für Benutzer mit
”
niedriger Berechtigung, damit diese keinen Verdacht schöpfen“
”
⇒ Phänomen der Polyinstanzierung“: d.h. evtl. mehrere Instanzen eines Objektes sichtbar
”
! sehr hoher Aufwand, aber auch für kommerzielle RDBMS verfügbar (z.B. Trusted Oracle“)
”
! Beispiel 5-5: In der folgenden Relation sei PersNr Primärschlüssel. Nur ein Benutzer mit der
Berechtigung geheim“ soll die wahre Mission von J. Bond kennen.
”
PersNr
007
007
C1
offen
offen
Mission
Urlaub
Fireball
C2
offen
geheim
➀
➁
2 (Bell und LaPadula Nov. 1973 + June 1974); auch beschrieben in (Oppliger 1992).
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-20
5.3.5
Klassifikation der Computer-Systeme
! Orange Book
. . . Klassifikation nach DoD Trusted Computer Systems Evaluation Criteria“ (TCSEC)
”
Klasse D: Hält keiner Prüfung für höhere Klassen stand
Klasse C: discretionary access control ist realisiert, darunter
C1: discretionary security protection“
”
The Trusted Computing Base (TCB) of a class (C1) system nominally satisfies the discretionary security
”
requirements by providing separation of users and data. It incorporates some form of credible controls
capable of enforcing access limitations on an individual basis, i.e., ostensibly suitable for allowing users
to be able to protect project or private information and to keep other users from accidentally reading or
destroying their data. The class (C1) environment is expected to be one of cooperating users processing
data at the same level(s) of sensitivity.“
C2: controlled access protection“
”
Systems in this class enforce a more finely grained discretionary access control than (C1) systems, making
”
users individually accountable for their actions through login procedures, auditing of security-relevant events,
and resource isolation.“
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-21
Klasse B: mandatory access control ist realisiert, darunter
B1: labeled security protection“
”
Class (B1) systems require all the features required for class (C2). In addition, an informal statement of
”
the security policy model, data labeling, and mandatory access control over named subjects and objects
must be present. The capability must exist for accurately labeling exported information. Any flaws identified
by testing must be removed.“
B2: structured protection“
”
In class (B2) systems, the TCB is based on a clearly defined and documented formal security policy model
”
that requires the discretionary and mandatory access control enforcement found in class (B1) systems
be extended to all subjects and objects in the ADP system. In addition, covert channels are addressed.
The TCB must be carefully structured into protection-critical and non- protection- critical elements. The
TCB interface is well-defined and the TCB design and implementation enable it to be subjected to more
thorough testing and more complete review. Authentication mechanisms are strengthened, trusted facility
management is provided in the form of support for system administrator and operator functions, and
stringent configuration management controls are imposed. The system is relatively resistant to penetration.“
B3: security domains“
”
The class (B3) TCB must satisfy the reference monitor requirements that it mediate all accesses of
”
subjects to objects, be tamperproof, and be small enough to be subjected to analysis and tests. To this
end, the TCB is structured to exclude code not essential to security policy enforcement, with significant
system engineering during TCB design and implementation directed toward minimizing its complexity. A
security administrator is supported, audit mechanisms are expanded to signal security- relevant events, and
system recovery procedures are required. The system is highly resistant to penetration.“
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-22
Klasse A: verified design“
”
Systems in class (A1) are functionally equivalent to those in class (B3) in that no additional architectural
”
features or policy requirements are added. The distinguishing feature of systems in this class is the analysis
derived from formal design specification and verification techniques and the resulting high degree of assurance that the TCB is correctly implemented. This assurance is developmental in nature, starting with a
formal model of the security policy and a formal top-level specification (FTLS) of the design. In keeping
with the extensive design and development analysis of the TCB required of systems in class (A1), more
stringent configuration management is required and procedures are established for securely distributing the
system to sites. A system security administrator is supported.“
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-23
5.3.5.1
Probleme der Datenflusskontrolle
! Nur Sicherheitsmodelle – kein Integritätsschutz
Beispiel:
Ein Benutzer mit niedriger clearance kann im Prinzip beliebige (unsinnige, bewusst falsche) Daten
in höher klassifizierte Objekte schreiben, wodurch eine Integritätsverletzung nicht ausgeschlossen
werden kann.
⇒ Integritätsschutz-Modelle
! Möglichkeit impliziter Datenflüsse und verdeckter Kanäle“
”
" Beispiel:
(x ∈ {0, 1}) if x = 0 then y := 0 else y := 1
Hier wird der Wert von x implizit an y weitergereicht.
Lösungsansatz: Datenflussdetektoren
" Beispiel:
Offenlegung der Information durch physikalische Phänomene wie Rechenzeit, ResourceAuslastung, usw.
Lösungsansatz: Setzen von Zeit- bzw. Resource-Vorgaben beim Programmstart
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-24
! Überklassifikation
" Informationsfluss von unten nach oben“, ggf. höher als notwendig.
”
Beispiel:
Die Ankündigung eines neuen Produkts ist bis zur Messe-Vorstellung geheim, danach offen.
Lösung: Ein Sicherheitsbeauftragter, der das Recht zur expliziten Degradierung von Objekten
besitzt.
Beispiel:
Startet ein Benutzer mit der Berechtigung geheim einen Prozess, der ausschließlich offenklassifizierte Daten verarbeitet, so werden sämtliche Ausgaben dennoch geheim-klassifiziert.
" Modell-Anpassung: high-water-mark-Modell
Nur die höchste benötigte Klassifikation, nicht die höchste mögliche.
Beispiel:
Solange der Benutzerprozess ausschließlich offen-klassifizierte Daten verarbeitet, werden auch
die Ausgaben als offen klassifiziert. Erst mit dem Zugriff auf sensitive Daten steigt die Klassifikation auf das notwendige Niveau.
! Programm-Abbruch
" Problem: jede Art einer abnormal termination (z.B. mit der Möglichkeit, core dump zu
erzeugen)
" Lösungsansatz: Detektoren, Verifikation
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-25
5.3.5.2
Inferenz-Kontrollmechanismen
! Anwendung: statistische DB, medizinische IS
Ziel der Anfragen ist die Auskunft über Populationen, nicht dagegen über einzelne Individuen.
! Anfrage Q bestimmt eine Menge von Records ( query set“) Auf dieser Menge sind dann aus”
schließlich statistische Funktionen (count, sum, max, median, . . .) erlaubt.
! Gefahr: Rekonstruktion der vertraulichen Originalinformation durch Rückschlüsse aus den statistischen Ergebnissen auf individuelle Daten
! Angriff:
" Vorwissen über ein Individuum“
”
" größere Anzahl ineinandergreifender Anfragen
" Deduktion weiterer Daten durch Inferenz
"
Statistische“ Anfrageergebnisse aus sehr kleinen Grundmengen (→ Kontrolle der Ergebnis”
größen)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-26
5.3.5.3
Kontrolle der Anzahl der Records im Query Set
! Beispiel:
Falls Anfrage Q mit count(query set) = 1 zulässig, dann liefert jede Anfrage (Q ∧ X) Ja/Nein für
jedes beliebige X
! Ansatz 1: Keine Antwort, falls
(count(query set) < k) or (count(query set) > N − k )
Dabei ist: N = Anzahl Records in der DB,
k Schranke für die # Datensätze im query set
" Möglicher Angriff:
! individual tracker für einzelne (bekannte) Individuen
! general tracker für jede unbeantwortbare“ Anfrage
”
! Typische Vorgehensweise: query set durch Hinzunahme weiterer Records groß (≥ k) setzen,
anschließend die Erweiterung“ wieder durch einen tracker eliminieren.
”
! Typsiche Vorgehensweise für individual tracker:
Person charakterisiert durch Anfrage Q
Zerlege: Q in (Q = A ∧ B), so dass
sowohl (A)
als auch (A ∧ ¬B) beantwortbar ist
[ tracker ]
damit: Q = A ∧ ¬(A ∧ ¬B)
[ von Hand“ ]
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-27
" Beispiel 5-6:
Gegeben sei die folgende Mitarbeiter-Relation mit k = 2.
NAME
Anton
Barbara
Claire
Doris
Elmar
Frauke
Günter
Hans
Ines
Janine
GESCHL
M
W
W
W
M
W
M
M
W
W
ABTEILUNG
Vertrieb
Buchhaltung
Vertrieb
Einkauf
Rechenzentrum
Werbung
Rechtsabteilung
Werbung
Vertrieb
Vertrieb
GEHALT
5000
3500
4400
3800
4000
3900
5200
4000
4200
3800
# KURSE
3
0
1
1
0
0
0
0
1
1
...
Wir wissen, dass Anton (männlich) im Vertrieb beschäftigt ist. Nun wollen wir sein Gehalt mit
Hilfe eines individual tracker erfragen“.
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-28
SELECT COUNT(*) FROM MITARBEITER
WHERE GESCHL = ‘M’
Antwort: 4 (> k)
SELECT COUNT (*) FROM MITARBEITER
WHERE GESCHL = ‘M’ AND
NOT(ABTEILUNG = ‘Vertrieb’)
Antwort: 3 (> k)
⇒ Es gibt nur einen Mann im Vertrieb; dieser muss also Anton sein.
SELECT SUM(GEHALT) FROM MITARBEITER
WHERE GESCHL = ‘M’
Antwort: 18200
SELECT SUM (GEHALT) FROM MITARBEITER
WHERE GESCHL = ‘M’ AND
NOT(ABTEILUNG = ‘Vertrieb’)
Antwort: 13200
=⇒ Antons Gehalt beträgt also 18200 − 13200 = 5000 DM.
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-29
" Schlussfolgerungen zu Ansatz 1:
! Individualisierung (Zuordnung) der Daten möglich
! Jede Anfrage mit (2k . . . n − 2k) Records bildet general tracker! Gesucht: Antwort zum
Prädikat P , mit Hilfe des trackers T
Vorgehen: P := (P ∨ T ) + (P ∨ ¬T ) − (T ∨ ¬T )“
”
Menge
definiert durch T
Menge def. durch P
Menge
definiert durch not T
Menge aller
Datensätze
(Multimenge!)
☞ Einschränkung der query set-Größe allein ⇒ kein Schutz
! Ansatz 2: Keine Antwort, falls count((query set) ∩ (query set einer alten“ Anfrage)) > k
”
☞ Im allgemeinen nicht praktikabel (Aufwand!)
! Ansatz 3: Partitionierte“ DB: Gruppen von Individuen
”
" Anfragen nur an Mengen von Gruppen (auch einzelne),
" keine Anfragen an Subsets der Gruppen
" Möglich: Micro-Aggregation“ ⇒ Durchschnitts-Individuen
”
☞ Ergebnis: Relativ sicher Aber: evtl. nutzlose Information durch falsche Gruppenwahl
Aufwand bei insert/update/delete (ggf. Umgruppierung)!
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-30
5.3.5.4
Verzerrung der Ergebnisse (Rundung, Fälschung)
! Verzerrung muss groß genug sein, um tracker zu verhindern, und klein genug sein, damit die
statistischen Aussagen noch sinnvoll sind
! Ansatz 1: exakte Antwort durch Zufallszahl verändert
Beispiel: Pseudozufallszahl ⇒ bei gegebener Anfrage evtl. immer gleiche Antwort
Wichtig: Mittelwert /= 0, da er sonst herausgerechnet“ werden kann
”
Dennoch angreifbar: Durch tracker, Einfügen von Dummy-Records und durch Vergleiche der
Ergebnisse mehrerer Anfragen
! Ansatz 2: Jeder Wert in jedem Record wird verfälscht!
Ergebnis: Relativ sicher, damit Personen mit hoher clearance noch lesen können: Verfälschung erst
bei der statistischen Auswertung
! Ansatz 3: Data Swapping: Werte einzelner Records werden vertauscht
" Isolierter Wert erlaubt keinen Rückschluss auf ein Individuum
" Statistiken über maximal k Attribute unverfälscht (k = vom DBA definierte Schranke)
" Aber: wie findet man Mengen (Kandidaten) ⇒ hoher Aufwand
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-31
5.3.5.5
Zufallsauswahl eines Teils der gesamten DB
! Ansatz: Pseudozufällige (reproduzierbare) Auswahl der gesamten DB
" Jeder Record des query set wird mit Wahrscheinlichkeit p zur Ergebnisbildung herangezogen
Beispiel: p = 0.9375 → count, sum mit etwa 1% Fehler
" Ergebnis: Sehr wirkungsvoll: Keine Kontrolle über count(query set)
" Aber: nicht für kleine DB: keine repräsentative Auswahl möglich
! Fazit: 100%-sichere statistische DB nicht zu erwarten
! Anmerkung:
In kommerziellen DB sind oft mächtigere Anfragen als hier betrachtet möglich,
der Schutzmechanismus kann daher fast immer umgangen werden (Frage des
Aufwands)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-32
5.3.6
Kryptographie
5.3.6.1
Symmetrische Kryptosysteme:
! Gleicher Schlüssel zur Ver- und Entschlüsselung
! Prinzip: (m: Klartext-Nachricht, m0: Chiffretext, S: Schlüssel)
" Verschlüsselung: Funktion encode“ eS (m) = m 0
”
" Entschlüsselung: Funktion decode“ dS (m 0 ) = m
”
m
m'
e
m
d
unsicherer Kanal
d
e
S
sicherer Kanal
! Verschiedene Verfahrensklassen: Substitution, Permutation, Mischsysteme (z.B. DES)
! Probleme:
" Schlüsselaustausch (sicherer Kanal erforderlich!)
" Prinzipielle Sicherheit nur bei
! einmaliger Verwendung
! eines zufälligen Schlüssels ( Pseudozufall“ reicht nicht aus)
”
! gleicher Länge wie die Nachricht ( one-time pad“)
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-33
! Beispiel
Einfache monoalphabetische Substitution mit Schlüssel und ihre Cryptanalyse
Klartextalphabet:
a b c d e f g h i j k l m n o p q r s t u v w x y z
Schlüsselalphabet:
b e r t a c d f g h i j k l m n o p q s u v w x y z
Klartext:
die abordnung der gegenseite wird im laufe der kommenden woche in der
”
hauptstadt eintreffen“
Verschlüsselter Text:
tgabemptluldtapdadalqagsawgptgkjbucatap
”
imkkaltalwmrfagltapfbunsqsbtsaglspaccal“
Cryptanalytischer Ansatz: Häufigkeitsanalyse
1. Ermittle die relative Zeichen-Häufigkeit im verschlüsselten Text
⇒ Einzelne Buchstaben, Zweiergruppen, Doppelbuchstaben usw.
a b c d e f g h i j k l m n o p q r s t u v w x y z
15 4 3 3 1 2 6 0 1 1 3 8 3 1 0 6 2 1 5 8 3 0 2 0 0 0
P
= 78
Die Analyse ergibt: tap“ = 2x, kk“, cc“, . . .
”
”
”
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-34
2. Vergleiche mit Häufigkeiten in (versch.) Sprachen-Tabellen
⇒ deutsch: e (18.5%), n (11.5), r (7), i (8), s (7), t (5), u (5), . . .
3. Entschlüsselungsversuch durch Zuordnung (Versuch und Irrtum)
! Beispiel: Data Encryption Standard, NBS 19773
" Blockchiffre: Verschlüsselt werden 64-bit lange Datenblöcke (Worte)
" Schlüssel: 56 bit (erweitert um 8 Paritätsbits)
" Methode: Produktchiffre, abwechselnde“ Permutation/Substitution
”
Kritik:
⇒ Schlüssel zu kurz (durch erschöpfende Suche leicht zu brechen) ⇒ Substitutionsfunktion nicht
veröffentlicht (geheime Abkürzung“?)
”
Abhilfe: Mehrfachverschlüsselung mit DEA (mehrere Iterationen)
3 Data Encryption Algorithm (DEA), ANSI X3.92, 1981
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-35
5.3.6.2
Asymmetrische (public-key) Kryptosysteme:
! Ein öffentlicher (public) Schlüssel P zur Verschlüsselung und
! ein geheimer (secret/private) Schlüssel S zur Entschlüsselung
! Prinzip: " Verschlüsselung: eP (m) = m0
m: Klartext-Nachricht,
m0: Chiffretext
" Entschlüsselung: dS (m 0 ) = m
P
SB
B
m
m'
e
m
d
unsicherer Kanal
d
e
SA
P
A
! Signaturen (Authentifizierung, digitale Unterschrift) möglich
! Grundlage der Sicherheit“: Trap-door-Einwegfunktionen,
”
" Faktorisierungsproblem
" Berechnung des diskreten Logarithmus4
" Knapsackproblem (additiv, multiplikativ) [NP-vollst.]
" Dekodierung für fehlererkennende Codes [NP-vollst.]
! Achtung: u.U. ist sogar ein auf einem NP-vollst. Problem basierendes Verfahren leicht zu brechen,
evtl. kann die sog. Klartext-Attacke erfolgreich sein!
4 Beispiel für diskreten Logarithmus: 3x ≡ 1( mod 5), x ∈ Z
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-36
! RSA-Kryptosystem (Faktorisierungsproblem)5
" Parameter: r = p1 p2
S ∈ [0, ϕ(r ) − 1]
p1, p2 ∼ 100 − stellige Primzahlen
ϕ(r) = (p1 − 1)(p2 − 1) (Eulersche Fkt.)
ggt(S, ϕ(r )) = 1
! damit existiert ein eindeutiges P ∈ [0, ϕ(r ) − 1] mit
! P ∗ S ≡ 1 (mod ϕ(r ))
[ zu finden mit Hilfe von p1, p2 mit dem Euklidischen Alg. ]
" Öffentlicher Schlüssel: (r, P )
" Geheimer Schlüssel: (r, S)
" Verschlüsselung: m P mod r
" Entschlüsselung: m 0
S
mod r
(O(log P ) Schritte) . . . öffentl. Schlüssel des Empfängers
(O(log S) Schritte)
" Beispiel 5-7: p1 = 3, p2 = 5, damit r = 15, ϕ(r ) = 2 ∗ 4 = 8
Sei S = 7, damit gesuchtes P aus [0, 7] mit P ∗ 7 = 1 modulo 8 also: P = 7.
Der Klartext sei als die Zahl m = 13 codiert.
Damit ergibt sich der Chiffretext zu:
m0 = mP mod r = 137 mod 15 = 62748517 mod 15 = 7
Die Entschlüsselung:
m = m0S mod r = 77 mod 15 = 823543 mod 15 = 13
5 (Rivest et al. 1978)
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-37
! Nachrichtenaustausch mit ausschließlich privaten Schlüsseln
" Voraussetzung: Ver- und Entschlüsselung kommutativ:
!
!
!
!
A sendet
B sendet
A sendet
B entschlüsselt
eSA (m)
eSB (eSA (m))
dSA (eSB (eSA (m))) = eSB (m)
dSB (eSB (m)) = m
an B
an A zurück
an B
" Nachteil: die Nachricht wird dreimal übertragen
⇒ kryptoanalytischer Ansatz möglich
! Nachrichtenaustausch mit Signatur (digitale Unterschrift)
" Voraussetzung: geeignetes public-key Kryptosystem
!
!
!
!
A unterschreibt
A sendet
B entschlüsselt
B verifiziert
eSA (m)
ePB eSA (m)
dSB (ePB (eSA (m))) = eSA (m)
dPA (eSA (m))
an B
Bemerkung: Verifikation durch Lesbarkeit des Klartextes
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-38
5.3.6.3
Zusammenfassung: Kryptographie
! Verschiedene Ebenen der Verschlüsselung möglich:
" Betriebssystem mit einem Systemschlüssel
" Benutzer mit privatem Schlüssel
" Applikation mit applikationsspezifischem Schlüssel
! Voraussetzungen für erfolgreiche Chiffrierung:
" Verschlüsselung konsequent (trotz Zeitaufwand)
" Schlüssel geheim
" Algorithmus nicht modifizierbar und nicht umgehbar
! Vorteile der Verschlüsselung:
" Verhindert unbefugtes Lesen
" Verhindert unerlaubtes Einfügen, Löschen, Modifikation (Backup notwendig)
" Hindert die Ausbreitung von Viren; hilft ggf., Viruszugriffe zu erkennen (Backup notwendig)
! Nachteile:
" Aufwand
" DB-Anfragen (Prädikatauswertung) oft nur auf entschlüsselten Daten möglich
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-39
5.4
Zusätzliche Literaturhinweise
! Allgemeine Übersichten, Lehrbücher:(Denning 1983; Fernandez et al. 1981; Oppliger 1992; Bauer 1993; Castano
et al. 1995)
! Zeitschriften: Datenschutz und Datensicherung (Vieweg), Computers & Security (Elsevier)
! Spezialliteratur zur Vertiefung: (Abadi 1991; Kargers 1991; Lampson 1973; Lunt 1990; IEEE Security 1980)
! außerdem: diverse Newsgroups, WWW-Sites
Abadi, M. (1991). A Calculus for Access Control in Distributed Systems, Kap. In: Advances in Cryptology Proceedings CRYPTO’91, LNCS 576. Springer.
Bauer, F. L. (1993). Kryptologie - Methoden und Maximen. Springer.
Bell, D.E. und L. LaPadula (Nov. 1973 + June 1974). Secure Computer Systems. Technical Report ESD-TR73-278, MITRE Cooperation, Bedford, MA.
Castano, S., M. Fugini, G. Martella und P. Samarati (1995). Database Security . Addison-Wesley / ACM Press.
Denning, D. E. (1983). Cryptography and Data Security . Addison-Wesley.
Fernandez, E. B., R. C. Summers und C. Wood (1981). Database Security and Integrity . Addison-Wesley.
IEEE Security (1980). Security and Privacy, Proc. IEEE Symposium on Security and Privacy . Vol. I: 1980-1984,
Vol. II: 1985-1987.
Kargers, P. A. (1991). A Retrospective on the VAX VMM Security Kernel. IEEE Transactions on Software
Engineering, 17(11):1147–1165.
Lampson, B. W. (1973). A Note on the Confinement Problem. Communications of the ACM, 16(10):613–615.
Lunt, T. F. (1990). The SeaView Security Model. IEEE Transactions on Software Engineering, 16(6):593–607.
Oppliger, R. (1992). Computersicherheit. Vieweg.
Rivest, R.L., L. Adleman und A. Shamir (1978). A Method for Obtaining Digital Signature and Public-Key
Cryptosystems. Communications of the ACM, 21(2):120–126.
c M. Scholl, 2004/05 – Informationssysteme: 5. Datenschutz und Datensicherheit
#
5-40
Herunterladen