Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase

Die Seite wird erstellt Armin Christ
 
WEITER LESEN
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Verteilte Systeme
Sicherheit

Prof. Dr. Oliver Haase

                         1
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Einführung
‣ weitere Anforderung neben Verlässlichkeit (zur Erinnerung:
  Verfügbarkeit, Zuverlässigkeit, Funktionssicherheit (Safety) und
  Wartbarkeit)
  → Sicherheit vor Angriffen von außen (Security)

‣ Sicherheit umfasst:

  • Vertraulichkeit (Confidentiality): System gibt Informationen
    nur an autorisierte Parteien → lesender Zugriff

  • Integrität (Integrity): System lasst Änderungen nur durch
    autorisierte Parteien zu → schreibender Zugriff

                                  2
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Sicherheitsbedrohungen
1) Abfangen (intercept)

  •   unautorisierter Zugriff auf Dienst oder Daten, z.B.

      -   Abhören von Kommunikation

      -   Illegales Kopieren von Daten nach Eindringen in Dateisystem

2) Stören (interrupt)

  •   Daten/Dienste beschädigen, unzugreifbar machen, zerstören,
      z.B.

      -   Denial of Service Attack

                                     3
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Sicherheitsbedrohungen
3) Verändern (modify)

  •   Abändern von Diensten/Daten, z.B.

      -   schadhafter Dienst, der Aktivitäten des Benutzers aufzeichnet

4) Einbringen (fabricate)

  •   Hinzufügen falscher Daten / Aktivitäten, z.B.

      -   zusätzlicher Eintrag in Passworddatei oder DBMS

  •   manchmal möglich durch erneutes Senden einer
      abgefangenen Nachricht → Replay Attack

      Sicherheitsrichtlinien (Security Policies) definieren,
        welche Entitäten (Benutzer, Dienste, Rechner)
            welche Aktivitäten durchführen dürfen.
                                     4
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Sicherheitsmechanismen
‣ Verschlüsselung

‣ Authentisierung

  • handelt es sich tatsächlich um die vorgegebene Entität?

‣ Autorisierung

  • hat die Entität das Recht, die gewünschte Aktivität
    durchzuführen?

‣ Überprüfung (Auditing)

  • Nachverfolgung, wer worauf zugegriffen hat

  • Keine direkte Massnahme zur Abwehr von Angriffen, sondern
    zur Aufklärung und Verfolgung → durch Abschreckung
    indirekte Schutzmassnahme

                                 5
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Kontrollfokus
‣ beschreibt, wo sich der Fokus der Schutzmechanismen
 eines Systems befinden:

 • direkter Schutz der Daten, z.B. Integritätsbedingungen in
   DBMS

            aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]

                                                6
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Kontrollfokus
 • Fokus auf Zugriffskontrolle: für jede Operation wird
   spezifiziert, von wem sie ausgeführt werden darf.

            aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]

                                                7
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Kontrollfokus
 • Fokus auf Benutzer und Rollen: Nur bestimmten Rollen wird
  Zugriff auf die Daten gewährt.

           aus: [Tanenbaum, van Steen. Verteilte Systeme: Grundlagen und Paradigmen]

                                               8
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Sicherheit: Schichten
‣ Kombination von Kommunikationsschichtenmodell und
 Plattform für VS (siehe Vorlesung verteilte Architekturen)

‣ In welchen Schichten Sicherheitsmechanismen benötigt
 werden, hängt vom Vertrauensmodell ab, d.h. ob in die
 Sicherheit niedrigerer Dienste vertraut wird.
                               9
Verteilte Systeme Sicherheit - Prof. Dr. Oliver Haase
Kryptografie
‣ Grundprinzip & Sicherheitsangriffe

                              10
Kryptografie
‣ Sender verwendet Verfahren E und Schlüssel KE, um P zu
  verschlüsseln:

  • C = E(KE, P)

‣ Empfänger verwendet Verfahren D und Schlüssel KD, um C
  zu entschlüsseln:

  • P = D(KD, C)

‣ Passiver Eindringling kann nicht einfach lesen (→ aber:
  Existenz der Nachricht an sich hat schon Informationsgehalt!)

‣ Aktiver Eindringling kann nicht einfach Nachrichten ändern
  oder erzeugen

                                 11
symmetrische Verschlüsselung
‣ KE = KD = K → D(K, E(K,P)) = P

‣ erfordert Verwaltung eines eigenen Schlüssels pro
  Kommunikationspartner

‣ zahlreiche Verfahren, z.B.

  • DES (Data Encryption Standard): US-amerik.
    Verschlüsselungsstandard, Ergebnis einer NSA-Ausschreibung,
    nicht sicher aufgrund geringer Schlüssellänge (56-Bit)

  • AES (Advanced Encryption Standard): Nachfolger von DES,
    Schlüssellänge 128, 160, 192, 224 oder 256 Bit.

  • Blowfish: Public Domain, Schlüssellänge zwischen 32 und 448 Bit,
    verwendet von GNU Privacy Guard und Cryptographic File
    System (CFS).

  • Twofish: Nachfolger von Blowfish, Public Domain, Schlüssellänge
    128, 192 oder 256 Bit, verwendet in FreeOTFE, GNU Privacy
    Guard, TrueCrypt, KeePass, CrossCrypt, DiskCryptor, dm-crypt
                                  12
asymmetrische Verschlüsselung
‣ Schlüsselpaar   bestehend  aus privatem Schlüssel K- und
  öffentlichen Schlüssel K+, so dass

  • D(K-, E(K+, P)) = P und

  • D(K  +, E(K-, P)) = P

‣ Nur ein Schlüsselpaar pro Besitzer, da öffentlicher Schlüssel
  geteilt werden kann.

‣ Privater Schlüssel darf nicht aus öffentlichem Schlüssel
  berechnet werden können

‣ typische Verfahren:

  • RSA

  • Merkle-Hellman

  • Chor-Rivest

                               13
sichere Kanäle
‣ Client-Server-Systeme basieren auf der Annahme sicherer
  Kanäle:

  • Authentisierung von Server und Client, Nachrichtenintegrität,
    Vertraulichkeit

  • feststellen, ob ein Klient autorisiert ist, eine bestimmte
    Anfrage zu senden

‣ Techniken zum Aufsetzen eines sicheren Kanals:

  1) mit Hilfe gemeinsamer Schlüssel

  2) unter Verwendung eines Key Distribution Center (KDC)

  3) mittels asymmetrischer Schlüsselpaare

                                 14
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

                Alice möchte sicheren Kanal zu Bob
                 aufbauen, sendet ihre Identität A.

                                 15
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

                 Bob antwortet mit Challenge RB
                  (Zufallszahl), die Alice korrekt
                        verschlüsseln soll.

                                16
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

                Alice antwortet mit verschlüsselter
                 Challenge; KA,B → gemeinsamer
                        geheimer Schlüssel

                                17
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

                   dito in umgekehrter Richtung

                                18
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

                              19
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

  ‣ Variante: verkürzt auf 3 Schritte

                                 20
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

  ‣ Reflektionsangriff: Chuck gibt Bob gegenüber vor, Alice zu
    sein.

         C kennt KA,B nicht, und kann deshalb
         die Challenge RB nicht beantworten.

                                   21
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

  ‣ Reflektionsangriff: Chuck gibt Bob gegenüber vor, Alice zu
    sein.

         C startet eine andere Sitzung mit B’s
         Challenge RB und kennt anschließend
                 die Antwort darauf.

                                   22
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

  ‣ Reflektionsangriff: Chuck gibt Bob gegenüber vor, Alice zu
    sein.

                                                                           de r
                                                            n i c h   t in
                                                 n  i e r t
                                       n  k t i o             m   ?
                             ri f f fu              W   a r u
                    n san  g              an  t e .
            ek t i o           a l v ar i
       Refl          Or i gi n

   C kann nun die erste Sitzung erfolgreich beenden.
                                           23
Aufsetzen eines sicheren Kanals
1) auf Basis eines gemeinsamen Schlüssels

  ‣ Reflektionsangriff: Chuck gibt Bob gegenüber vor, Alice zu
    sein.

  ‣ Sicherheitsprobleme mit der 3-Schritt-Variante:

    • C darf B’s Challenge RB verwenden

       - Abhilfe: Clients verwenden z.B. ungerade Zahlen,
          Server gerade Zahlen

    • B gibt wertvolle Information preis bevor C authentisiert
       ist.

                              24
Aufsetzen eines sicheren Kanals
2) mit Hilfe eines Key Distribution Center (KDC)
‣ Jeder Kommunikationspartner verwaltet nur einen
  gemeinsamen geheimen Schlüssel mit KDC

                             25
Aufsetzen eines sicheren Kanals
2) mit Hilfe eines Key Distribution Center (KDC)

  ‣ Variante: KDC sendet A ein Ticket

                               26
Aufsetzen eines sicheren Kanals
3) mit Hilfe asymmetrischer Schlüssel

 ‣ B entschlüsselt A’s Challenge, sendet selbst eines sowie
   einen Sessionschlüssel.
                              27
Digitale Signaturen
‣ für Nachrichtenintegrität (A sendet Nachricht an B):

  • B (und kein Dritter unterwegs!) kann erhaltene Nachricht
    nicht verändern;

  • A kann nicht leugnen, Nachricht gesendet zu haben.

‣ Beispielanwendungsgebiet: E-Commerce

‣ Nachricht digital signieren:

  • A verschlüsselt Nachricht mit KA- verschlüsseln

  • Wenn B Nachricht mit KA+ entschlüsseln kann, dann muss sie
    zuvor mit KA- verschlüsselt worden sein

                                28
Digitale Signaturen

                    Öffentlicher            Privater
                     Schlüssel            Schlüssel
                     von Bob              von Bob
                       KB+                   KB-

‣ Signatur und Verschlüsselung können kombiniert werden

‣ Bob  stellt durch Vergleich von m und KA
                                          -(m) fest, dass Alice

  tatsächlich der Sender sein muss.

                                  29
Digitale Zertifikate
‣ Elektronisches Dokument, das durch eine digitale Signatur
  einen öffentlichen Schlüssel an einen Namen
  (Schlüsselinhaber) bindet

‣ In einer Public Key Infrastructure (PKI) gehört die Signatur
  einer Certificate Authority (CA).

‣ Digitale Zertifikate können genutzt werden, um öffentliche
  Schlüssel zu tauschen und die Authentizität der Sender
  sicherzustellen.

                               30
Transport Layer Security (TLS)
‣ Authentisierungsprotokoll für sichere Internet-
  Kommunikation

‣ ehemals Secure Socket Layer (SSL)

‣ fügt eine sichere Transportschicht zwischen Transport- und
  Anwendungsschicht ein

                              31
Transport Layer Security (TLS)

       Übereinkunft über kryptographische
         und Komprimierungsverfahren

                       32
Transport Layer Security (TLS)

        Server schickt Client sein von CA
        (Certification Authority) erstelltes
         Zertifikat, das seinen öffentlichen
                 Schlüssel enthält.

                         33
Transport Layer Security (TLS)

       Clientauthentisierung nur, wenn vom
          Server verlangt, siehe 1. Phase.

                       34
Transport Layer Security (TLS)

 Client schickt Server einen zufällig erzeugten Sitzungsschlüssel.

                                35
Sie können auch lesen