Grundlagen Flashcards
Was sind grundlegende Sicherheitsziele?
Vertraulichkeit (Confidentiality)
Integrität (Integrity)
Verfügbarkeit (Availability)
Authentizität (Authenticity)
Verbindlichkeit (Accountability) / Nichtabstreitbarkeit (Non-Repudiation)
Definiere Vertraulichkeit
Vertraulichkeit: Ein System gewährleistet Informationsvertraulichkeit (engl. confidentiality), wenn es keine unautorisierte Informationsgewinnung ermöglicht
Was versteht man unter Integrität?
Integrität: Ein System gewährleistet Datenintegrität (engl. integrity) , wenn es Subjekten nicht möglich ist, die zu schützenden Daten unautorisiert und unbemerkt zu manipulieren
Was versteht man unter Verfügbarkeit?
Verfügbarkeit: Ein System gewährleistet Verfügbarkeit (engl. availability), wenn authentifizierte und autorisierte Subjekte in der Wahrnehmung ihrer Berechtigungen nicht unautorisiert beeinträchtigt werden können.
Definiere Authentizität
Authentizität: Unter der Authentizität (engl. authenticity) eines Objekts bzw. Subjekts versteht man die Echtheit und Glaubwürdigkeit des Objekts bzw. Subjekts, die anhand einer eindeutigen Identität und charakteristischen Eigenschaften überprüfbar ist.
Zeige Authentizität vs. Authentifizierung vs. Authentisierung auf
Authentizität: ist ein Sicherheitsziel
Authentisierung: Vorgang „Echtheit nachweisen“
Authentifizierung: Vorgang „Echtheit überprüfen“
Definiere Identität
Definition: Eine Identität ist der eindeutige Identifikator für eine Person, Organisation, Ressource oder einen Dienst.
Was versteht man unter Verbindlichkeit/Zuordenbarkeit?
Verbindlichkeit/Zuordenbarkeit: Ein System gewährleistet Verbindlichkeit bzw. Zuordenbarkeit (engl. non repudiation) einer Menge von Aktionen, wenn es nicht möglich ist, dass ein Subjekt im Nachhinein die Durchführung einer solchen Aktion abstreiten kann.
Was versteht man unter einer Anforderungen in der Softwareentwicklung?
Anforderung = eindeutiger, isolierter, dokumentierter Bedarf von Eigenschaften, Funktionalitäten oder Qualitätsaspekten eines Produkts
Was unterscheidet unterscheidet funktionale und nicht-funktionale Anforderungen?
Welche Art ist meistens eine Sicherheitsanforderungen?
Funktionale Anforderungen:
beschreiben Vorhandensein einer bestimmten Funktionalität
Beispiel: „Benutzer der App werden per Push-Nachricht über eingehende Nachrichten benachrichtigt“
Nicht funktionale Anforderungen:
beschreiben qualitative oder quantitative Aspekte Beispiel: „Die App ist benutzerfreundlich“
Sicherheitsanforderungen meist nicht-funktionale Anforderungen
Nicht funktionale Anforderungen haben häufig ein Problem bei den Akzeptanzkriterien. Was kann man hier dagegen tun?
Bilde nicht-funktionale Eigenschaft auf eine funktionale Eigenschaft ab (z.B. innerhalb der Entwurfsphase)
Erzeuge aus nicht-funktionaler Anforderung eine funktionale Anforderung sowie eine leichter überprüfbare nicht-funktionale Anforderung
Unmöglich die Eigenschaft zu überprüfen, aber man geht nach einer Reihe von Prüfungen davon aus, dass Eigenschaft erfüllt
Definiere folgende Begriffe:
Chiffre
Chiffrat
Klartext (engl. Plaintext)
Chiffre = Symmetrischer Verschlüsselungsalgorithmus
Chiffrat = Verschlüsselter Text
Klartext (engl. Plaintext) = Unverschlüsselter Text
Wie arbeitet ein Stromchiffre?
Jedes Bit bzw. jedes „Zeichen“ (z.B. 8 Bit) des Klartexts wird einzeln mit einem „Schlüsselstrom“ verschlüsselt
Schlüsselstrom ist aus Schlüssel erzeugt
Gut geeignet, wenn regelmäßig Daten anfallen (Zeichen sofort verschlüsselt)
Wie funktioniert ein Blockchiffre?
Klartext wird in Blöcke aufgeteilt (z.B. 128 Bit), letzter Block evtl. mit Padding ergänzt (d.h. geeignet auffüllen)
Jeden Block einzeln verschlüsseln
Gut, wenn viele Daten
Was ist das Hybride Verschlüsselungsverfahren?
Wie funktioniert die Ver- und Entschlüsselung?
Kombination symmetrischer und asymmetrischer Verschlüsselung
Verschlüsselung:
1. Erzeuge zufällig symmetrischen Schlüssel
2. Verschlüssele Daten mit symmetrischem Verfahren
3. Verschlüssele symmetrischen Schlüssel mit asymmetrischem Verfahren und
öffentlichem Schlüssel Empfänger
4. Sende Daten und verschlüsselten symmetrischen Schlüssel
Entschlüsselung:
- Entschlüssele verschlüsselten symmetrischen Schlüssel mittels privatem Schlüssel
- benutze symmetrischen Schlüssel um Daten zu entschlüsseln
Was ist eine Hashfunktion und ihre Aufgabe?
Hash-Funktionen bilden Eingaben beliebiger Länge auf einen Hash-Wert mit fester Länge ab
Hash-Funktionen sind kryptographische Einwegfunktionen
Wird z.B. verwendet, um einen „Fingerabdruck“ von einem Dokument zu erstellen
Was sind wichtige Eigenschaften einer Signatur?
Der private Schlüssel muss geheim gehalten werden
Der öffentliche Schlüssel muss dem Prüfenden bekannt sein
Üblicherweise unterscheiden sich die zum Verschlüsseln verwendeten Schlüsselpaare von den zum Signieren verwendeten.
Was ist ein Zertifikat? Was enthält ein Zertifikat?
Zertifikate bescheinigen Zuordnungen
Zertifikate besitzen im Internet die vergleichbare Funktion eines Personalausweises in der Offline-Welt. Mit Hilfe eines Zertifikats lässt sich ein öffentlicher Schlüssel sicher einem bestimmten Besitzer zuweisen.
Ein Zertifikat enthält:
Identität des Inhabers der Zertifikats
Public Key des Inhabers
Identität des Ausstellers des Zertifikats (Certificate Authority, CA)
Weitere Verwaltungsinformationen (z.B. Schlüssel ID der CA, URL einer Widerrufsliste, …)
Digitalen Signatur über den Inhalt ausgestellt durch die Certificate Authority
Beschreibe kurz das Vertrauensproblem bei Zertifikaten. Gibt es einen Ansatz zur Etablierung von Vertrauen?
Vertrauen in Zertifikat-Aussteller notwendig
Definition: Problematik Vertrauen zwischen zwei Instanzen aufzubauen
Zertifikate und Vertrauensanker:
Zertifikate werden von Zertifizierungsstellen (engl. Certificate Authorities (CA)) ausgegeben
Zertifizierungsstellen verfügt über selbstsignierte Zertifikate
Damit ein Zertifikat vertrauenswürdig ist, muss es bis zu der Root of Trust zurückverfolgt werden können, von der es signiert wurde
Man hat ein Hierarchisches Modell
Was bedeuten die Begriffe Root-CA und Sub-CA?
Root-CA = Aussteller eines Root-Zertifikats
Sub-CA = Zertifizierungsstelle, für die es einen Pfad zu einer Root-CA gibt
Wie lauten Regeln bei kryptographischen Verfahren?
▪ Verwenden Sie nur standardisierte Algorithmen
▪ Verwenden Sie nur offengelegte Algorithmen
▪ Verwenden Sie nur populäre Algorithmen
▪ Beachten Sie Randbedingungen der Algorithmen
▪ Wenden Sie sich an einen Experten!!!
Symmetrische Verschlüsselung:
Alice und Charley sind beste Freundinnen, Bob und David sind beste Freunde. Auf einer Party verlieben sich Alice und Bob sowie Charley und David. Die Pärchen senden sich untereinander verschlüsselte Nachrichten. Auch die besten Freunde/Freundinnen senden sich untereinander verschlüsselte Nachrichten. Wie viele verschiedene Schlüssel werden benötigt?
4 Schlüssel
Die Länge des Schlüssels in Bit ist für die Sicherheit der Verschlüsselung von ganz zentraler Bedeutung. Warum?
Schutz vor Brutforce Angriffen (Errechnen/Erraten des Schlüssels)
Wahrscheinlichkeit sinkt, Aufwand steigt
Was sind Probleme bei Strom- und Blockchiffre?
Stromchiffre:
Wenn im Vorgang ein Fehler auftritt, ist das System kapput/zunichte
Blockchiffre:
Blöcke müssen am Ende wieder zusammengebaut werden. Also muss sich die Blockreihenfolge gemerkt werden
Was ist der große Vorteil von asymetrischer Verschlüsselung gegenüber der symetrischen?
Nutzer müssen nicht geheime Schlüssel teilen. Die Notwendigkeit der Schlüsselverteilung entfällt
Was ist das Schlüsselaustauschproblem?
Problematik einen Schlüssel für ein Verschlüsselungs- verfahren vor der ersten Benutzung sicher auszutauschen.
Bei symmetrischer Kryptografie muss die Vertraulichkeit (geheim/nicht einsehbar), Integrität (nicht manipulierbar) und Authentizität (Echtheit) gewährleistet sein.
Bei asymetrischer Kryptografie entfällt die Notwendigkeit von Vertraulichkeit (kein geheimer Schlüssel wird ausgetauscht)
Erkläre wie das hirarchische Modell für Zertrifikate und Vertrauensanker funktioniert.
Definiere eine/mehrere Zertifizierungsstellen als vertraut
Vertraue allen Zertifikaten, welche von dieser Zertifizierungsstelle unterschreiben wurden
Eventuell: vertraue allen Zertifikaten, für welche ein Pfad vom Zertifikat (evtl. über mehrere
zwischengeschaltete Zertifizierungsstellen) bis zu einer vertrauten Zertifizierungsstelle existieren