Verteilte Systeme - HTWG Konstanz - AIN 5
Karteikarten für das Fach Verteilte Systeme von Prof. Dr. Haase
Karteikarten für das Fach Verteilte Systeme von Prof. Dr. Haase
-
- 1 / 104
-
Lernkarten
-Abfangen(intercept) (unteautorisierte Zugriff auf Dienst/Daten,z.b. abhören,illgales kopieren von daten nach eindringen in Dateisystem)
-Stören(interrupt)(Daten/dienste bschädigen,unzugreifbar machen, zerstören)
-Verändern(modify):Abändern von Diesten/Daten(z.b. aktivitäten aufzeichnen)
-Einbringen(fabricate):hinzufügen falscher daten/aktivitäten
-->manchmal möglich durch erneutes Senden einer abgefangenen Nachricht (replay Attack)
-Verschlüsselung
-Authentisierung(tatsächlich die vorgegebene Entität?)
-Autorisierung(hat das Recht die gewünschte Aktivität durchzuführen?)
-Überprüfung(Auditing): Nachverfolgung wer worauf zugegriffen
-beschreibt wo sich Fokus der Schutzmechanismen eines Systems befinden
-->direkter Schutz der Daten
-->Fokus auf Zugriffskontrolle:für jede Operation spezifiziert von wem ausgeführt
-->Fokus auf Benutzer und Rollen:Nur bestimmten Rollen zugriff auf daten
Vom vertrauensmodell --> ob in die Sicherheit niedrigerer Dienste vertraut wird
-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 eindringlich kann nicht einfach lesen
-->aktiver eindringling kann nicht einfach Nachrichten ändern/erzeugen
-Ke = Kd = K --> D(K,E(K,P)) = P
-erforder Verwaltung eines eigenen SChlüssels pro Kommunikationspartner
-zahlreiche Verfahren wie DES,AES,Blowfish,Twofish
-Schlüsselpar besteht aus privatem Schlüssel K- und öffentlchem Schlüssel K+ sodass D(K-,E(K+,P)) = P und D(K+,E(K-,P))=P
-Nur ein Schlüsselpaar pro Besitzer, da öffentlciher Schlüssel geteilt werden kann
-Privater Schüssel darf ncht aus öffentlichem Schlüssel berechnet werden können
-typische Verfahren:
RSA,Merkle-Hellman,Chor-Rivest
-Client-Server-Systeme basieren auf Annahme derer
-->authentisierung von Server und Client, Nachrichtenintegrität,vertraulichkeit
-->feststellen ob ein klient autorisiert is bestimmte anfrage zu senden
-mit Hilfe gemeinsamer Schlüssel(in verkürzter Variante:Reflektionsangriff!)
-verwendung eines Key Distribution Centers(KDC)
-mittels asymmetrischer Schlüsselpaare
-für Nachrictenintegrität(A sendet an B)
-->B(und kein Dritter unterwegs) kann erhaltene Nachricht nicht verändern
-->B kann sicher sein dass A Sender ist
-->A kann nicht leugnen Nachricht gesendet zu haben
-E-Commerce
-Nachricht digital signieren:
-->A verschlüsselt mit privatem Schlsüssel Ka-
-->wenn B Nahricht mit Ka+ entschlüsseln kann muss sie zuvor mit Ka- verschlüsselt worden sein
-Elektronische Dokumente die durch eine digitale Signatur einen öffentlichen Schlüssel an einen Namen (schlüsselinhaber) binden
- in einer public key infrastructure(PKI) gehört die Sginatur einer Certificate Authory(CA)
-können genutz werden um öffentliche Schlüssel zu tauschen un die Authentizität der Sender sicherzustellen
Transport Layer Security
-->authentisierungsprotokoll für sichere Internetkommunikation
-->hemeals Secure Socket Layer(SSL)
-->fügt eine sichere Transportschicht zwischen Transport und Anwendungsschicht ein
M-Maintainability: Wartbarkeit (wie leicht kann ausgefallenes System repariert werden)
A-Availability:Verfügbarkeit(unmittelbare Benutzbarkeit,auf Zeitpunkt bezogen)
R-Reliability:Zuverlässigkeit(system läuft ausfallfrei,auf zeitintervall bezogen)
S-Safety:Funktionssicherheit(passiert nichts schlimmes wenn System vorübergehend nicht korrekt arbeitet)
Fallen aus wenn sie ihre Zusagen(Spezifikation) nichtmehr einhalten können.
-Ursache wird als Störung(fault) bezeichnet
-Vorübergehend(transient): einmaliger Vorfall
-Wiederkehrend: unberechenbares Wiederauftreten
-Permanent: Fehler bleibt bestehen bis fehlerhafte Komponente ersetzt
-Informationsredundanz
-zeitliche redundanz
-technische redundanz
-->anwendung der bereits bekannten Replikationsstrategien
--->urbildbasiert: koordinator der writeoperationen koordiniert, stürtzt koordinator ab wählen übrigen Prozesse einen neuen
--->aktive replikation/quorumbasierte Protokolle
-für einigungsproblem in verteiltem System
-zu übereinstimmung in fehlerhaftem verteiteln system kommen
-Mehere lager, generäle können funnktonieren oder Verräter seinm können über Boten kommunizieren
-->a: alle loyalen Generäle treffen geliche Entscheidung
-->B:keline Anzahl verräter kann keine schechte Entscheidung herbeiführen
Was gibt es für unterschiedliche Fälle bei den Byzantinischen Generälen?
-synchrone und assynchrone Systeme (gehen zusammen jeweils immer einen schritt weiter)
-kommunkiationsverzögerung ist begrenzt oder nicht
-nacrichtenauslieferung in korrekter Reihenfolge oder nicht
-nachrichtenübertragung per unicast oder multicast
Was für mögliche Probleme gibt es?
-Anfrage geht verloren
-Server stürtz nach Erhalt der Anfrage ab
-Antwort geht verloren
-Client stürtzt nach Senden der Afrage ab
Was für mögliche Probleme gibt es?
-->Anfrage geht verloren: Was tun?
-Timer starten beim abschicken der Anfrage
-Wenn Timer vor Eintreffen einer Antwort abläuft ->anfrage erneut schicken
(anfrage tatsächlich verloren gegangen: korrektes Verhalten aus Server sicht
Anfrage geht wiederholt verloren: Client gibt auf
Anfrage geht nicht verloren: Server erhält anfrage doppelt)
-->u.U. bereits in Transportpotokoll(z.b. in TCP, nicht in UDP)
Was für mögliche Probleme gibt es?
-->Server stürtzt ab: Was tun?
nachdem er Dienst ausgeführt hat:
-hängt von dienssemantik ab -->keine weitere Aktion
-->erneute Ausführung
bevor er Dienst ausgeführt hat:
-->Nachricht erneut schicken (evnt. an anderen Server)
Was für mögliche Probleme gibt es?
-->Antwort geht verloren: Was tun?
Problem: Für Client nicht zu utnerscheiden von Servercash
-->einfachster fall: idempotente operationen ->Dienst beliebig oft erneut anfordern
1)min-einmal-semantik: operation so oft anfordern bis erfolgreich
2)höchstens-einmal-semantik:sofortige Aufgabe bei ausbleibender Antwort
Was für mögliche Probleme gibt es?
-->Client-Crash: Was tun?
Client stürtzt ab bevor Server Antwort sendet->elternlose antworten können zu Problemen führen(Ressourcenverschwendung,..)
Lösungen:
-Extermination: client speichert angestossene Dienste persistent,löscht nach Neustart noch eintriffende Antworten
-Reinkarnation: Verwendung von Epochen ->lebenszeit des Client
-->Client Neustart->neue Epoche
-->Broadcast mit neuer Epoche an alle Computer
-->die löschen anhängige alte Requests
-->client löscht antworten von überlebenden alten Requests
Alle Prozesse einer Gruppe bekommen jede gesendete Nachricht