FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Praktische Informatik (HS)

Vss: Data origin Authentication vs. Entity Authentication ?

Vss: Data origin Authentication vs. Entity Authentication ? 2011-03-16 14:03
Anonymer User
Was ist der Unterschied zwischen 1.Data origin Authentication und 2.Entity Authentication?
Bei 1. wollen wir die Datenherkunft sicherstellen und bei der Entity Auth. Wollen wir sicherstellen das es von einer bestimmten Entität kommt.

1.stellen wir durch Mac verfahren sicher
2.stellen wir durch ein Zertifikats basierte Signatur verfahren sicher.

Das heißt bei 2. haben wir eine erhöhte Sicherheit dadurch das uns ein dritter bestätigt das es sich bei dem Public Key auch wirklich um unseren Public Key handelt.

RE: Vss: Data origin Authentication vs. Entity Authentication ? 2011-03-27 20:12
KPK
Was ist der Unterschied zwischen 1.Data origin Authentication und 2.Entity Authentication?
Bei 1. wollen wir die Datenherkunft sicherstellen und bei der Entity Auth. Wollen wir sicherstellen das es von einer bestimmten Entität kommt.

würde ich erst mal so gelten lassen. Eigentlich haben wir ja in unseren Datennetzen immer Pakete, die zwischen Alice und Bob ausgetauscht werden. Die Idee, dass wir eine direkte Verbindung haben, ist ja nur eine geschaffene Abstraktion. D.h. technisch müssen alle Pakete einer Verbindung auf den Sender zurückzuführen sein (Data Origin = Datenherkunft). Auf Anwendungsebene können wir aber auch den Begriff bei Email einsetzen um anzuzeigen, dass uns der Sender interessiert.

Entity (Entitäten, also Prozesse bzw. Benutzer) Authentication betont die erstmalige Identifikation und den nachfolgenden Beweis (=Authentifikation), dass die behauptete Identität auch die tatsächliche ist. Damit kommt dies vor allem beim "Einloggen" vor oder beim Aufbau einer Verbindung, über die dann Emailpostfächer abgeglichen werden etc.

Es gibt also zwei Herausforderungen:
  • wie stelle ich sicher, dass ein Benutzer auf Anwendungsebene für den Aufbau einer neuen Verbindung authentisiert wird
  • wie stelle ich sicher, dass alle nachfolgenden über die Verbindung übertragenen Pakete bis hin zum letzten von dem richtigen - d.h. dem berechtigten und authentisierten - Benutzer stammen

1.stellen wir durch Mac verfahren sicher
2.stellen wir durch ein Zertifikats basierte Signatur verfahren sicher.

Wie mache ich das jetzt? Indem ich einfach Kryptographie einsetzen. Dies kann durchaus unterschiedlich und mit dem ganzen Instrumentarium geschehen, dass ich zur Verfügung habe. D.h. die genannte Liste greift zu kurz. Und wie beantworten Sie jetzt eine solche oder ähnliche Frage? Sie gehen alle Verfahren durch!

Wenn Sie haben:
  1. Nur symmetrische Kryptographie
    • Beide Kommunikationspartner müssen einen gemeinsam bekannten Schlüssel haben (shared secret a.k.a. secret key)
    • Mit diesem kann dann:
      • die ganze Nachricht verschlüsselt werden und damit implizit durch Nachweis des Geheimnisses die Identität des Senders (muss ja der andere gewesen sein) authentisiert werden
      • der Nachricht ein MAC (a.k.a. Message Authentication Code) hinzugefügt werden und damit wird ebenfalls implizit der Sender nachgewiesen, weil für den MAC
        • ein Hash über die Nachricht plus Geheimnis (keyed Hash) gebildet wird
        • die Nachricht mit dem Geheimnis als Schlüssel symmetrisch verschlüsselt wird (ggf. CBC) und der letzte Block als Nachweis angehängt wird
  2. Nur asymetrische Kryptographie
    • Beide Kommunikationspartner jeweils ein Schlüsselpaar (private und public key) und jeweils Zugriff auf den Public Key des anderen
    • Mit diesen kann dann:
      • vom Sender mit seinem Private Key die ganze Nachricht verschlüsselt werden, so dass jeder diese mit dem zugeordneten Public Key des Senders wieder entschlüsseln kann, und dabei die sogenannte Digitale Signatur überprüft
      • vom Sender nicht die ganze Nachricht sondern nur ein Hash (a.k.a. MIC = Message Integrity Code) derart verschlüsselt wird (geht halt schneller)
  3. Eine Kombination von beidem, d.h. symmetrisch und asymetrisch
    • Beide Kommunikationspartner jeweils ein Schlüsselpaar (private und public key) und jeweils Zugriff auf den Public Key des anderen
    • Mit diesen kann dann:
      • der Sender einen Session Key (auch ein dann später gemeinsam bekanntes Geheimnis, also shared secret) für ein symmetrisches Verfahren bestimmen, mit dem der Text verschlüsselt wird
      • damit der Empfänger den Session Key bekommt, muss dieser mit dem Public Key des Empfängers vom Sender verschlüsselt werden
      • allerdings ist obiges kein Nachweis des Senders, weil dies alles auch ein beliebiger Mensch machen könnte. Also muss der Sender zusätzlich machen, was schon beschrieben steht: einen Hash bilden und diesen wiederum mit seinem Private Key so verschlüsseln, dass andere diesen prüfen können.

Das alles ist in den Anwendungen automatisiert und natürlich für den Anwender nicht sichtbar. Er wird nur dann und wann aufgefordert, seine Schlüssel für die Anwendungen freizuschalten. Der PC - hoffentlich nicht Viren-verseucht - macht das dann schon richtig …

RE: Vss: Data origin Authentication vs. Entity Authentication ? 2011-03-28 10:13
Anonymer User
Ich wundere mich manchmal, wieso nicht alle unsere Dozenten wie KPK sein können… Danke für die Erklärung!

RE: Vss: Data origin Authentication vs. Entity Authentication ? 2011-03-28 18:33
KPK
Danke für das Lob!

Ich danke aber auch, vor allem für das Mitarbeiten der Studentinnen und Studenten. Dies ist mir wichtig, denn dadurch wird alles einfacher (für beide Seiten) und die Inhalte werden auch meistens besser erklärbar. Ich kann dann sehen, dass es "ankommt", worauf es mir ankommt ;)

In diesem Sinne keine Angst vor meinen letzten Prüfungen morgen und übermorgen und natürlich viel Spaß und Erfolg im Studium!

Ihr KPK