4 Arten der Bedrohung
Interception
unauthorisierte Partei erhält Zugriff auf Service oder Daten
z.B. Dritter lauscht Kommunikation
z.B. Daten klauen
Interruption
Datei korrumpiert oder verloren
Services oder Daten werden unverfügbar
Modification
unauthorisierte Veränderung von Daten/ Service
z.B. übermittelte Daten verändern
z.B. Programm verändern, dass es User-Aktionen heimlich aufnimmt
Fabrication
zusätzliche Daten oder Aktivitäten
z.B. zusätzlichen Eintrag in Passwort-Datei
z.B. Nachrichten noch einmal versenden
2.-4. = Daten falsifizieren
Was ist eine Sicherheitsrichtlinie?
security policy
beschränkt, welche Sicherheitsmaßnahmen nötig sind
beschreibt:
Welche Aktionen im System erlaubt sind
welche Aktionen im System verboten sind
für Entitäten
Nutzer
Services
Daten
Maschinen
4 Arten von Sicherheitsmechanismen
Encryption
für Daten-Vertraulichkeit (confidentiality)
Attacker versteht Daten nicht
Authentication
Identität eines User verifizieren
z.B. mit Passwörtern
Authorization
für Zugriff oder Verändern von Daten
Auditing
festhalten, welcher Client was wie benutzt hat
hilft bei Analyse von Sicherheitsverletzungen
-> Identität von Angreifern feststellen
Was ist Vertraulichkeit?
Eigenschaft eines Computersystems
Informationen wird nur authorisierten Personen gegeben
Was ist Integrität
"assets" (Daten, Hardware, Software) eines Systems können nur authorisiert verändert werden
-> falsche Veränderungen sollten erkennbar sein und rückgängig gemacht werden können
3 Design-Ansätze für Sicherheit
Daten schützen
Fokus auf Datenintegrität
Operationen kontrollieren
welche können ausgeführt werden
und von wem
User kontrollieren
welche Nutzer dürfen etwas
Kontrolle durch Rollen
Was ist Trusted Computing Base (TCB)?
Menge aller Sicherheitsmechanismen in einem VS
setzen Sicherheitsrichtlinie durch
müssen vertraut werden
je weniger desto besser
2 Arten von Encyption
symmetric
gleicher Schlüssel für En- und Decryption
auch secret-key oder shared-key genannt
asymmetric
einzigartiges Paar von Schlüsseln
einer für Encryption
einer für Decryption
public-key systems
2 Arten von Resistenz bei Hash-Functions
one-way function - geht nicht input für output zu finden
weak collision resistence - man findet keinen Input mit dem gleichen output wie ein anderer Input
strong collision resistence - es geht nicht, zwei Nachrichten mit gleichem Hashwert zu finden
Authentifizierungsverfahren (nennen)
3 Gruppen (mit 1 + 2 + 0 Protokollen)
um Kommunikation zwischen Client und Servern sicher zu machen
secure channels
um nur Authorisierten Aktionen auf dem Server ausführen zu lassen
beides (Authentifizierung und Integrität) gehören zusammen
basiert auf geteiltem geheimen Schlüssel
challenge-response protocols
A stellt B Aufgabe
B kann die nur lösen, wenn er Schlüssel hat
mit key distribution center (KDC)
wenn jedes Hostpaar Schlüssel braucht - > N( N - 1) / 2 Schlüssel
jeder Host nur mit KDC Schlüssel teilen -> N Schlüssel
KDC gibt Schlüssel für Kommunikation zu A und B
ticket Protokoll
A stellt selbst Verbindung zu B her
Needham-Schroeder Protokoll
.= multiway challenge-response Protokoll
mit public-key cryptography
A, B haben voneinander den öffentlichen Schlüssel
Was ist ein Sitzungsschlüssel?
Vorteile?
engl. session key
ein geteilter geheimer schlüssel
um Nachrichten für Integrität zu verschlüsseln
ggf. auch für confidentiality
genutzt nur solange Kanal existiert
Vorteile:
unterschiedliche Schlüssel leichter geheim zu halten
schützt vor replay attacks
schützt ältere Nachricht, wenn Schlüssel komprimittiert wird
günstiger für verschlüsselte Kommunikation mit nicht so vertrauenswürdigen Parteien
-> Authentifizierungsschlüssel zu ersetzen ist kostspieliger
Allgemeines zu Zugriffsrechten
und 2 Arten der Verwaltung
= rechte, um Operationen auszuführen auf Objekten, die vom Server kontrolliert werden
access control = Zugriffsrechte kontrollieren
Authorisierung = Zugriffsrechte zuweisen
Bild 9_19_access_control
reference monitor kontrolliert Rechte
Verwaltungsarten:
access control matrix
Zeilen = subjects
Spalten = objects
M[s, o] = sagt, welche Operationen s auf o ausführen darf
ungünstig, weil viele leere Felder
access control list
jedes Objekt hat Liste von Subjekten, die Operationen ausführen dürfen
Servers reference monitor überprüft, ob Client bekannt ist und Operation ausführen darf
Wie kann man Größe von Access Control lists verringern?
protection domain
= Menge von Objekt, Zugriffsrechten
Gruppen von Nutzern verwenden
auch hierarchische Gruppen
jedes Subjekt hat Zertifikat zu welcher Gruppe es gehört
dann braucht Server nicht Gruppenmitgliedschaften verwalten
Was sind capabilities?
jedes Subjekt hat Liste davon, was es machen darf
Server überprüft nur capability (wie Ticket) auf Validität
Was ist Rollenbasierte Zugriffskontrolle?
Subjekte loggen sich mit Rolle ein
je nach Rolle andere Privilegien
Diffie-Hellman-Algorithmus
Vorgehen
zum Erstellen eines Sitzungsschlüssels
in unsicheren Kanälen
Vorgehen:
A und B wollen kommunizieren
einigen sich auf große Nummern n und g
die können öffentlich sein
beide wählen geheim je eine große Nummer
A wählt x
B wählt y
A sendet (g^x) mod n zu B
B berechnet daraus ((g^x) mod n)^y
das ist mathematisch gleich zu (g^(xy)) mod n
B sendet (g^y) mod n zu A
A berechnet daraus ((g^y) mod n)^x
geheimer Schlüssel = (g^(xy)) mod n)
-> ein public-key cryptosystem
fuer A
x ist privat
g^x mod n ist publik
fuer B
y ist privat
g^y mod n ist publik
Firewall Allgemein
wenn man Verbindung zum Rest der Welt braucht
z.B. um Emails zu senden
Ressourcen verfügbar machen
= Reference Monitor
kontrolliert externen Zugriff auf jeden Teil des VS
trennt alle Teile des VS vom Rest der Welt
alle eingehenden (und ausgehenden) Pakete gehen durch speziellen Computer, der sie kontrolliert
müssen selbst stark kontrolliert sein
2 Arten von Firewalls (oft kombiniert)
packet-filtering gateway
wie ein Router
entscheidet anhand Empfänger und Absender, ob Paket passieren darf
nutzt also nur Header-Informationen
application level gateway
schaut sich Inhalt der Pakete an
z.B. Mail gateway, der Mails ab bestimmter Größe verwirft oder Spam rausfiltert
besondere Art: proxy gateway
front end für bestimmte Art von Anwendung
lässt nur bestimmte Nachrichten durch
3 Probleme beim Secure Naming
Validität = ist zurückgegebenes Objekt komplette, unveränderte Kopie von dem Objekt auf dem Server
Provenance = ist der Server vertrauenswürdig
z.B. wenn gecachtes Objekt zurück gegeben wird
Relevanz = ist zurückgegebenes Objekt relevant für Anfrage
Was ist ein self-certifying name?
Objekt O mit hash(O) verbinden
für Prüfung von Validität
braucht bekannten Public Key vom Objekt
Was ist ein proxy?
token, um einen anderen Benutzer die gleichen oder eingeschränktere Rechte zu geben, als man selbst hat
Last changeda year ago