IS - IT-Sicherheit
IS - IT-Sicherheit
IS - IT-Sicherheit
-
- 1 / 196
-
Lernkarten
Wie funktioniert HMAC?
Vor ein Dokument, welches authentifiziert werden muss, wird ein zusätzlicher 512 Bit Inner Key Block gehängt. Dieser Inner Key Block wird generiert, indem dem Secret Key Nullen als Padding zugefügt werden, bis er die volle Blockgrösse von 512 Bit hat. Dann wird der Secret Key mit einer Repetition des Wertes 0x36 XORed.
Das vergrösserte Dokument wird dann, durch einen Hash Algorithmus, zu einem Hash gemacht. Diesem Hash wird ein Outer Key hinzugefügt.
Der Outer Key wird generiert, indem der padded Secret Key mit einer Repetition des Wertes 0x5C XORed wird.
Outer Key + Hash werden dann nochmals durch eine Hash Funktion verschlüsselt. Der dadruch entstandene Hash ist der MAC.
Was war die ursprüngliche Idee von digitalen Signaturen und wie werden sie üblicherweise implementiert?
Idee: Etwas ähnliches wie handschriftliche Signatur zu haben, um z.B. einen digitalen Vertrag zu unterzeichnen.
Implementation: durch Public Key Kryptographie
Wie funktionieren digitale Signaturen mit Public Key Krypto?
Der Hash Value eines Dokuments wird vom Autor entschlüsselt, indem er seinen private key verwendet. Dadurch wird eine digitale Signatur erstellt, die dann mit dem entsprechenden Dokument übermittelt wird.
Der Empfänger berechnet den Hash über dem empfangenen Dokument und verschlüsselt die empfangene Signatur mit dem public Key des Autors. Wenn der verschlüsselte Wert und der berechnete Hash übereinstimmen, muss das Dokument authentisch sein.
Sollte man bei digitalen Signaturen vor oder nach dem unterzeichnen Hashen? Warum?
Vor dem Unterzeichnen. Wenn man das nicht tut, sind, abhängig vom verwendeten public key kryptographie Schema, möglich.
Was sind Vor- und Nachteile von digitalen Signaturen basierend auf Secret Keys?
Vorteile:
Sehr schnell und effizient, da die MAC Generierung auf einfachen Hash Funktionen basiert.
Nachteile:
Empfänger muss Secret Key kennen, um die Integrität und Authentizität zu verifizieren. Das führt oft zu einem secure key distribution problem.
Was sind Vor- und Nachteile von digitalen Signaturen basierend auf Public/Private Key Paaren?
Vorteile:
Public Keys können frei und offen verteilt werden, damit jeder (nicht nur die kommunizierenden Partner) die Authentizität und Integrität einer Nachricht prüfen können.
Nachteile:
Ver- und Entschlüsselungsoperationen, dei private und public Keys verwenden, sind extrem zeitaufwendig.
Wie kann die Public Key Kryptographie auf Server Authentication angewendet werden?
Mit dem Challenge-Respond Protokoll
Wie funktioniert das Challenge Respond Protokoll?
Der Client sendet dem Server eine Challenge.
Der Server signiert die Challenge mit seinem private Key und sendet sie dann als response zurück an den Client
Der Client verwendet den public Key des Servers, um die Response zu verifizieren.
Was macht ein digitales Zertifikat?
Es bindet eine Identität an einen public Key.
Was macht ein digitales Zertifikat?
Es bestätigt, dass ein public Key zu einer bestimmten Identität gehört.
Was ist der dominierende Standard für digitale Zertifikate?
X.509 Certificates
Von wem werden Zertifikate ausgestellt?
Von Certificate Authorities (CA)
Wie kann verhindert werden, dass ein digitales Zertifikat von "irgendjemandem" unterzeichnet wird?
Ein Zertifikat wird von der ausstellenden CA digital unterzeichnet.
Welche Art von Identitäten können durch Zertifikate an public Keys gebunden werden?
- Hostname
- E-Mail Adresse
- Name einer realen Person
Was sollte eine CA tun, bevor sie ein Zertifikat ausstellt?
Die Identität des Bewerbers prüfen.
Wie stellt eine CA ein Zertifikat für eine E-Mail Adresse aus (Ablauf)?
Der Bewerber gibt seine E-Mail Adresse an, indem er ein online Formular verwendet. Die CA verifiziert den Besitzer der Adresse, indem sie ihm ein Challenge E-Mail an die angegebene Adresse sendet.
Die E-Mail enthält einen non-predictable Link zur CA, den der User anklicken muss. Dies "beweist", dass der User die E-Mail Adresse besitzt (oder zumindest darauf Zugriff hat).
Was ist anders bei More Secure Server Certificates (oder besser Personal Certificates)?
Der Bewerber mus immer mind. Kopien von offiziellen Dokumenten senden (Pass, HR-Auszug, etc.)
Woraus besteht die Signatur eines Zertifikates?
Dem gehashten Certificate Body, der durch den private Key der CA verschlüsselt wurde.
Wofür wird ein Root Certificate einer CA verwendet?
Um die Zertifikate von Usern, Servern und intermediate CAs, die ihre Zertifikate von dieser CA bekommen haben, zu verifizieren.
Was sind intermediate Certificates?
Zertifikate, die von Root Certificates ausgestellt wurden und die wiederum selbst Zertifikate ausstellen können.
Was ist die Konsequenz von intermediate Zertifikaten?
Längere Ketten zwischen der Root CA und den User / Server Zertifikaten, denn ein User, der solch ein User / Server Zertifikat verifizieren möchte, muss die ganze Kette bis hoch zum Root CA aufbauen können.
Was ist der Vorteil von intermediate Zertifikaten?
Der private Key der Root CA muss nur relativ selten verwendet werden und muss nicht zugänglich sein für ein Online System, das mit dem Internet verbunden ist.
Was ist der Ablauf einer Zertifikatsvalidierung?
1. Der Client prüft, ob er ein Root Certificate hat, dass den issuer des Server Certificates als Subject hat.
2. Der Client prüft, ob das Root Certificate noch nicht abgelaufen ist.
3. Der Client verwendet den public Key des Root Certificates, um die Signatur des Server Certificates zu verifizieren (beweist, dass das Server Certificate von einer vertrauenswürdigen CA ausgestellt wurde).
4. Der Client prüft, ob das Server Certificate noch gültig ist.
5. Der Client prüft das Subject im Server Certificate, um zu verifizieren, dass er das Cert. vom Server erhalten hat, mit dem er kommunizieren will. Wenn das korrekt ist, weiss der Client, dass es nun den korrekten public Key des Servers hat.
Was geschieht, wenn ein Fehler bei der Validierung eines digitalen Zertifikates auftritt?
Der Client bricht den Vorgang ab.
Wie kommt der User / Client an das korrekte self-signed Root CA Certificate?
Softwarekomponenten, die Zertifikate verarbeiten sind vorkonfiguriert, mehrere Root CA Certificates zu haben.
Kann jeder Zertifikate erstellen und verteilen?
Ja.
Der einfachste Weg ist, ein Key Pair mit entsprechendem self-signed Zertifikat zu erstellen und auf einem Server zu installieren. Wenn der User sich zum ersten Mal verbindet, erhält er eine Warnung vom Browser, wo er auf "Accept" klicken kann. Damit akzeptiert er das Zertifikat als vertrauenswürdig.
Zertifikate haben eine Gültigkeitsdauer. Was sind Gründe für ein früheres Ablaufen ihrer Gültigkeit?
- Zertifikat wird nicht mehr benötigt (E-Mail Adresse geändert, etc.)
- Private Key wurde komprimitiert oder gestohlen.
Wie funktioniert eine Certificate Revocation?
Der Besitzer kontaktiert die CA, die das Zertifikat ausgestellt hat. Die CA setzt die Seriennummer des Zertifikates auf eine Certificate Revocation List (CRL)
Was ist OCSP und was macht es?
Online Certificate Status Protocol. Es führt einen Online Check durch, ob ein Zertifikat noch gültig ist.
Die CRL wird periodisch publiziert. Was enthält sie?
Seriennummer, Revocation Reason und den Revocation Timestamp des zurückgezogenen Zertifikates.
Ausserdem das Ausstelldatum der CRL, das Datum des nächsten Updates und die Signatur der CA
Was sind die Nachteile von CRLs?
- Da die CRLs nur alle paar Tage aufdatiert werden, gibt es immer ein Zeitfenster zwischen dem Rückzug eines Zertifikates und dessen Auftauchen auf der Liste.
- Wenn viele Zertifikate zurückgezogen werden, kann die Liste sehr gross werden
Wie funktioniert OCSP?
OCSP verwendet das HTTP-Protokoll. Die Seriennummer wird mit dem Request mitgeschickt. Die Response ist meist mit dem gleichen private Key signiert, der das Zertifikat ausgestellt hat (muss aber nicht)
Der Status der Response zeigt an ob das Zertifikat gut ist oder zurückgezogen wurde
Was sind die Vorteile von OCSP verglichen mit CRLs?
- Status Information in einer OCSP Response ist meist frischer, als die in einer CRL.
- Es muss nur wenig Info ausgetauscht / geparsed werden, um den Status eines Zertifikates zu verifizieren. Grosse CRLs müssen auch nicht heruntergeladen oder durchsucht werden.
Was sind die Nachteile von OCSP?
- Die CA muss immer verfügbar sein, damit Revocation Checks immer ausgeführt werden können.
- Bei einigen wichtigen Szenarios inkompatibel
Die meisten Clients implementieren einen Soft Fail Approach bei OCSP. Wie funktioniert dieser?
Wenn keine OCSP Response empfangen wird, wird ein Zertifikat als "not revoked" behandelt.
Was sind die Sicherheitsrisiken bei einem Soft Fail des OCSP?
Ein Angreifer kann ein Zertifikat verwenden, für welches er den private Key gestohlen hat, auch wenn dieses zurückgezogen wurde. Er blockiert einfach die OCSP Response.
Was ist OCSP Stapling?
Der Server fragt den OCSP-Responder, der im Zertifikat selbst aufgelistet ist ab und cached die OCSP Responses, solange sie valide sind.
Der Client erhält die OCSP-Response vom Server während des TLS Handshake. Solange eine Response gültig ist, kontaktiert der Server den OCSP-Responder nicht nochmal, sondern sendet dem Client die gecachte Response
Was sind grosse Vorteile von OCSP Stapling?
- Löst das Chicken-and-egg Problem bei Captive Portal Systems
- Weniger abhängig von der Verfügbarkeit des OCSP-Responders. Wenn er nicht erreicht werden kann, kann der Server immer noch die gecachten Responses verwende (wenn noch gültig)
- Skalierbar
Was sind die Nachteile von OCSP Stapling?
- Wenn keine gültige Response gecached ist, inkludieren Server einfach keine
- Keine stapled OCSP Response heisst, dass die verletzlichen Fall-Back Mechanismen verwendet werden (OCSP, CRLs) --> Soft Fail
Was geschieht, wenn heine OCSP Stapling mit must-staple Flag fehlschlägt?
Es gibt einen hard fail. Der Handshake failt und das Zertifikat muss zurückgewiesen werden.