28
1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück [email protected]

1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück [email protected]

Embed Size (px)

Citation preview

Page 1: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

1

Kapitel 15:Sicherheit

Oliver Vornberger

Fachbereich Mathematik/Informatik

Universität Osnabrück

49069 Osnabrück

[email protected]

Page 2: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

2

Datenschutz

Datenbank

Page 3: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

3

Legislative Maßnahmen

Gesetz zum Schutz

vor Mißbrauch personenbezogener

Daten

Page 4: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

4

Organisatorische Maßnahmen

• bauliche Maßnahmen• Pförtner• Ausweiskontrolle• Diebstahlsicherung• Alarmanlage

Page 5: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

5

Authentisierung

• Magnetkarte• Stimmanalyse• Fingerabdruck• Paßwort• dynamisches Paßwort

Page 6: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

6

Zugriffskontrolle durch Berechtigungsmatrix

A (Manager) R R RW

B (Personalchef) RW RW R

C (Lohnbüro) R R -

Benutzer Ang-Nr Gehalt Leistung

Zugriff (A, Gehalt): R: Gehalt < 10.000W: Gehalt < 5.000

Page 7: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

7

Zugriffskontrolle durch Sichten

define view v(angnr, gehalt) as

select angnr, gehalt from angest

where gehalt < 3000

Page 8: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

8

Zugriffskontrolle durch Abfrageeinschränkung

deny (name, gehalt) where gehalt > 3000

+

select gehalt from angest where name = ‘Schmidt‘=

select gehalt from angestwhere name = ‘Schmidt‘ and not gehalt > 3000

Page 9: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

9

Statistische Datenbanken

Nur aggregierte Werte erlaubt !

Obacht !

select sum (gehalt) from angest

select sum (gehalt) from angestwhere gehalt < (select max(gehalt) from angest)

Page 10: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

10

Zugriffsrechte in SQL-92

grant { select |

insert |

delete |

update |

references |

all }

on <relation> to <user> [with grant option]

A: grant read, insert on angest to B with grant option

B: grant read on angest to C with grant option

B: grant insert on angest to C

Obacht bei Recht auf Fremdschlüssel:

Probeweises Einfügen kann Schlüssel finden !create table Agententest(Kennung character(3) references Agenten)

Page 11: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

11

Revoke-Anweisung

revoke { select | insert | delete | update | references | all }

on <relation> from <user>

B: revoke all on angest from C

Page 12: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

12

Entzug eines Grant

... als wenn es nie gewährt worden wäre:

A: grant read, insert, update on angest to D

B: grant read, update on angest to D with grant option

D: grant read, update on angest to E

A: revoke insert, update on angest from D

D verliert nur sein insert-Recht (weil update von B erhalten)

E verliert keine Rechte (weil indirekt von B erhalten)

Aber: Falls vorher A: grant all on angest to B with grant option

D und E verlieren update-Recht

Page 13: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

13

Auditing

audit delete any table

noaudit delete any table

audit update on professoren whenever not successful

Page 14: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

14

Verschlüsselung

Selber Atmenz76;9#d5%j§östSelber Atmen

Page 15: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

15

Caesar-Chiffre

Verschiebe Buchstaben im Alphabet

G

C A E S A R

E I EW V

z.B. 4

Page 16: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

16

Klartext: 010010101110110

1

Schlüssel:

0001

110110110110110

Klartext: 010010101110110

Schlüssel: 110110110110110

Chiffre:

XOR-Verknüpfung

100 1000000

Page 17: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

17

Ablauf

encode decodeKlartext x Klartext xChiffre y

Schlüssel e Schlüssel d

SPION

Page 18: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

18

Diffie & Hellman, 1976

x

aus der Kenntnis von encode läßt sich nicht decode ermitteln

decode( )encode( ) = x

Page 19: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

19

BobAlice

Nachricht verschlüsseln

y :=

encBencBdecB

x

ydecB ( )x :=

encB ( )

Page 20: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

20

Einweg-Funktion

Caan 456789Cabarena 423477Cadiz 996543Caesar 784513Carter 341123Castrop 458944Capellen 675432

Page 21: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

21

Rivest, Shamir, Adleman, 1978:

Wähle 2 Primzahlen p,q

Bestimme n := p·q

Wähle Primzahl d relativ prim zu (n) := (p-1) • (q-1)

Bestimme e mit e·d 1 mod (n)

encode(x) := x e mod n

decode(y) := y d mod n

Page 22: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

22

Beispiel mit 2-stelligen Primzahlen:

p := 11q := 13n := 143d := 23e := 47

encode(x) := x 47 mod 143

decode(y) := y 23 mod 143

Page 23: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

23

Beispiel mit 200-stelligen Primzahlen:

p=89909531058836627717440422858641402456684976683721255300590190073945028024188735646917834001445460697949352415335921952260900528540697407053331179637761895800615635806322855777396006499513330486337609

q=79902175078147244686379339512677276366231220752229356019349893671876420931744377430687365812687754246830101282297574713772455933933867764022563251792393443769903948317050160321698561025532877647684683

n=7183967091857281647581304065755973526232171670874824234027764220263949612908867044764409948013198639812433071661572827626547829385245705289778323945746104767498330122039464149315665206737745079315029030505846196489917568869335544777353689814016451189380595050450835091699231543139661865507163114707749384671493207215643822775585016598035481820024189408851781761294219320404437751888461388903116142947

d=6912880792983134201795097575592609129094117142951732155916113134708061619270609376090284210013866218445930101961895056516397352324585120228774900720850196541261833070428620931661349155515945612960396000308199646278344377562606989931674080238238945773520492076314252906439396129185619926176106618391594863515996066327659034986867136911356014076859406917008870341895680167331429079515342903719787052113

e=32060956321701259905596578736460047365111500078235979150808651783912548293819432597831619829917499109195252931659284324831218397277144058830127546998961582106443297700554088899665948071647548434168832003527652121631893839546797171960967191537076338226340888927287616084554407880875931958510259177246251661227907691999195827804405610391749679780186113

Page 24: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

24

BobAlice

Nachricht verschlüsseln

y :=

[e , n][e , n]

p , q

[d , n]

x

y d mod nx :=

e mod n

Page 25: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

25

Komplexitätxe mod n

x13 = ((x2•x)2)2 •x

e·d 1 mod (p-1)·(q-1)

ggt (a,b) := ggt(b, a mod b)(p-1)•(q-1) d

120 1919 6

6 11 0

Page 26: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

26

Primzahlen

würfel ungerades x (500 Bit)

teste x, x+2, x+4, ...

mittlerer Abstand ln(x) ln(2500) 350

x ist Zeuge für die Zusammengesetztheit von n

n zusammengesetzt mehr als ¾ n Zeugen

z=0;

repeat z++; würfel x

until (x ist Zeuge für n) or (z=50)

Fehler = ¼50 10-30

Page 27: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

27

Sicherheit

Der Spion kennt e, n, y

Faktorisieren von n würde p und q liefern.

Damit könnte er d ausrechnen.

encode decode

SPION

ln ln (n)ln (n)

nAber: Faktorisieren von n dauert Schritte !

n = 21000

n0.1 Schritte

= 1030 Schritte = 1013 Jahre (bei 109 Schritte/sec)

Page 28: 1 Kapitel 15: Sicherheit Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück 49069 Osnabrück oliver@uos.de

28

Und wenn sie nicht gestorben sind,

entschlüsseln sie noch heute !