32
Distributed Systems (Fach) / Fragekatalog! Part III (Lektion)
Anzeige
- Name protection goals ! Confidentiality Only authorized persons should have access to messages and data Integrity Unauthorized changes of messages and data have to be detected and to be eliminated Authenticity User identity can be validated Access Control No unauthorized access to data and services is allowed Accountability Interactions can be mapped to particular instances or persons who are accountable Anonymity Executing procedures without disclosing user identities (as opposed to authenticity!) Availability Permanent availability of services, information and communication connections
- Describe symmetric / asymmetric encryption! symmetric Same key used for encryption and decryption Keys created at key generator Keys have to be delivered to communication partners over a secure communication channel asymmetric Different keys for encryption and decryption Unique key pair: •Public key for encryption –distributable to everyone •Private key for decryption –secret key •Key pair created by key owner (e.g. based on calculus of large prime numbers) •One-way function: inverse function not computable in relevant time frame •One key can‘t be derived from the other
- Describe hybrid encryption! Mix of symmetric and asymetric encryption Symmetric keys distributed through asymmetric procedures -secure and simple These private keys are then used in a symmetric way for the encryption and decryption of the actual user data -> guarantees high efficiency
- Why should the mechanisms symetric and asymetric be combined? To use to best of both worlds. Symmetric +better performance compared to asym. -Key exchange needs effort for secure channel Asymmetric +Simple key exchange -Much slower thab symmetric (up to 1000 times)
- How are digital signatures created and validated? a checksum is created from the data to be signed, this checksum is encrypted with the private key of the signing entity and attached to the signed data the receiver decrypts the encrypted checksum with the public key of the signing entity, creates the checksum for the received data with the same algorithm and compares this checksum with the checksum contained in the signature -> if both are equal the signature is validated
- Why are symmetric cryptography procedures not good for digital signatures? symmetric not applicable to digital signatures because no 1:1 matching of keys to persons
- How are the public and private key used when a digital signature is to be created on the basis of asymmetric cryptographic procedures? •Private key used for encryption (signature) •Only owner of private key (one entity) can sign •Public key used for decryption/checking of signature •Everyone can check signature, certificates (trust center) required to check assignment private/public key and person/organization Message digest/check sum to ensure that signed document is not changed after signing it
- Warum gibt es Trust Center? Weil die Zuordnung eines öffentlichen Schlüssels zu einem Benutzernamen durch ein Dritten zertifiziert werden muss , um Angriffe unter einem falschen Benutzernamen zu verhindern
- Was ist und wie funktioniert Encryption? Schützen der Daten durch Encryption um Vertraulichkeit zu garantieren. Encryption (verschlüsseln/cipher) beim sender Decryption (entziffern/decipher) beim receiver Verschlüsselungsalgorithmen, die durch kryptografische Schlüssel parametrisiert werden, werden nur von Sender und Empfänger gehalten Ebenso wird ein Key generiert, welcher sowohl für cipher als auch decipher genutzt und über einen seperaten sicheren Channel übertragen wird.
- Vor und Nachteil von asymetrisch und symmetrisch? symmetrisch Ist Effizient, besonders für große Datenmengen Es muss aber darauf geachtet werden, dass der Key auch sicher versendet wird Ebenso sind Digitale Signaturen nicht möglich (Schlüssel ist nicht eindeutig) asymmetrisch Der Vorteil ist das einfach Versenden des Public Keys, ohne nötigen Sicherheitskanal Dennoch benötigt man erstmal den Verschlüsselungsalgorithmus und es kann auch zu weiteren möglichen Attacken kommen Attacker könnte einen öffentlichen Schlüssel unter falschem Namen verteilen. Vertrauenswürdige Teilnehmer könnten diesen Schlüssel möglicherweise verwenden und vertrauliche Informationen (wie z. B. Passwörter) an den attacker Lösung: Zertifizierung öffentlicher Schlüssel durch digitale Signaturen von Trust Centern
- Anzeige
- Wie funktioniert die Authentifizierung nach dem symmetrischen Needham-Schroeder? 1. Client sendet Key request an KDC um mit dem Server zu kommunizieren, einschließlich Random Number Z1 2. KDC antwortet mit der selben Number Z1, Key (Mit Ks encrypted) und Ticket 3. Client sendet RPC Request zusammen mit Ticket und Challenge Z2 zum Server 4. Server antwortet mit RPC Respone , inklusive Antwort auf die Challenge und einer neuen Challenge Z3 5. Client antwortet der Server Challenge mit Z3 - 1 , gefolgt von Server Response
- Wie funktioniert eine Authentifizierung mithilfe eines Key Distribution Centers? 1. Client authentifziert sich beim KDC 2. Client stellt key_request ans KDC um mit dem Server zu kommunizieren 3. KDC generiert einen Key und sendet diesen verschlüsselt an Client und Sender verschlüsselt mit Kc und Ks Probleme: Mangelnde Synchronisation zwischen Client und Server Server erwarten keine Nachricht von KDC (obwohl angefordert)
- What asymmetric authentication problem can be solved with certificates and how? asymmetric encryption only ensures public key owner is comm partner -> does not ensure that intended partner is owner of key -> certificates: digital confirmation of public key and owner: tuple<key,owner>
- Name 2 main methods for authorization Access Matrix can be implemented as •Access Control list containing the rows of the matrix (subject –rights) stored on the objects to be controlled •Capability containing the columns of the matrix (object –rights) carried by the subjects requesting access
- Welche Filter besitzt die Firewall? Packet Filter Etabliert auf Netzwerk- und Transportschicht Filter basierend auf Paket-Header (Quelle, Ziel, Protokolltyp usw.) Z.B. Filterregel: Verweigert Anforderungen an einen internen Webserver, wenn diese nicht aus dem Adressbereich des internen Netzwerks stammen Application Filter Arbeit an der Anwendungsschicht Überprüft den Inhalt aller eingehenden und ausgehenden Nachrichten in anwendungsspezifischer Form Z.B. Spamfilter - Scannt Nachrichten nach Schlüsselwörtern und untersucht Absender und Empfänger. Markiert oder löscht Sie Spam-Nachrichten Proxy Filter Aktiv auf der Transportschicht mit TCP und UDP Vermittlung zwischen Clients im externen Netzwerk, wenn sie interne Dienste nutzen möchten Dient als Server für die externen Clients und als Client für die internen Server
- What do Firewalls determine? Filtering data packets to let through network segments Auditing actions should be logged Access Control, Authentication authentication and access requirements exist
- What are the goals and methods of anonymity? Online-Aktivitäten durchführen, ohne die Identität preiszugeben Anonyme Nachrichten senden, z. um Geschäftsbeziehungen zwischen Unternehmen zu verbergen Nichtoffenlegung von Produktbestellungen oder Suchanfragen aus Datenschutzgründen Mixes Pseudonyme fiktiver Name, der verwendet wird, wenn eine Person eine bestimmte Rolle spielt. Aktionen, die dem Pseudonym aufgrund eines internen Benutzerprofils zugeordnet werden können. Einschränkungen: Die Zustellung von Waren an einen anonymen Empfänger Informationen über Benutzer können aus den verschiedenen Pseudonymen aggregiert und kombiniert werden
- Beschreibung der zwei Phasen des 2-Phase-Protcols? Erste Phase "Prepare"-Messages werden vom Koordinator zu den Participants gesendet Persistente Kopie der Daten mit den vorgenommen Änderungen und die vorherige Version werden gespeichert (Crash/Neustart) "Ready"-Messages werden von den Participants gesendet nachdem sie erfolgreich die neue Version gespeichert haben "Abort"-Messages werden gesendet, sofern dies nicht geklappt hat Zweite Phase Prüfe ob von allen Participants ein "Ready" ankam? -> Koordinator sendet Commit an Participants -> Alte Version der Daten wird durch neue Ersetzt -> Bestätigung an den Koordinator -> Transaktion erfolgreich beendet Prüfe ob von einem Participant ein "Abort" ankam? -> Koordinator erkennt einen Fehler -> Koordinator sendet "abort" an alle Participants -> Alte Version der Daten wird beibehalten -> Transkation abgebrochen
- Was ist JDBC? Java Database Connectivity Programmier Interface um auf relationale Datenbanken zuzugreifen benutzt Datenbank-SQL Befehle Datenbankschnittstelle der Java-Plattform, die eine einheitliche Schnittstelle zu Datenbanken verschiedener Hersteller bietet und speziell auf relationale Datenbanken ausgerichtet ist.
- Wozu dient Concurrency Control? Sichert die "Isolation" der Transaktionen
- Which method is recommended to withdraw rights? With the use of access control lists, access rights can be withdrawn more easily because they exist centrally at the object and are controlled by the object.
- Was sind die Requirments für Directory Services? •Scalability, reliability, fault tolerance: oDistributed, decentralized name management (e.g. one server per department of a company) oDistributed protocol for name interpretation oReplication of name tables (efficiency, fault tolerance) •Performance: o Result caching -> reduce amount of queries needed
- Was ist eine "Junction"? Kombination von Namespaces zu einen (zb. Domain und Filenamespace) Jeder individuelle Namespace wird von seinen zugehörigen Server gemanaged (DNS, FTP-Server..) Es werden zu einem oberen Namspace hierarchisch untergeordnete Namespaces hinzugefügt.
- Was sind die Aufgabe von Naming Service und Directory Service? Naming Service • Zuordnung von logical names zu physischen Adressen oder Objektreferenzen. • Benutzer geben logische Namen an (ortsunabhängig). • Der Dienst gibt die Adressen zurück (ortsabhängig). • Simple name interpretation, mapping between names and addresses • Example: DNS, RMI Registry Directory Service • Zuordnung von Attributen an die logischen Namen • Attributbasierte Suche für die benannten Instanzen • Ähnlich zu den Gelben Seiten • Ressourcen können nun nicht nur aufgrund ihres Namen, sondern auch anhand ihrere Attribute gefunden werden
- Was sind die Hauptfunktion von Naming Services? Registration von Namen und Adresspaaren Suche nach Logical Names
- Explain the main functions of naming and directory services. What is the main difference between the two services? Naming services carry out name interpretations, by which logical names are mapped to addresses. •Simple name interpretation, mapping between names and addresses •Example: DNS, RMI Registry Directory services are an extension of naming services. In addition to the basic functions of naming services, directory services enable an assignment of attributes to logical names (properties) •attribute based search and ranking •Example: X.500, LDAP, UDDI
- Different servers must communicate with each other in order to carry out a distributed name interpretation. What possibilities exist for the realization of this and what are the associated consequences for the querying client? Chaining (recursive) Resolution of names is carried out internally by the distributed name servers and takes place therewith transparently for the client. The client need only to send a name query to a known name server, then receive the result from this. Referral (iterative) Client must send queries to all name servers involved in the name resolution and receives only a part of the result from each server, or as the case may be a reference to another server. The complexity of the name resolution lies thereby with the client.
- What is JNDI? Java Naming and Directory Interface (JNDI) is a Java API for a directory service that allows Java software clients to discover and look up data and resources (in the form of Java objects) via a name.
- What is DNS? Resolves domain names to Ip-Adresses. searches for domain name and tries to match IP to name -> sends Ip-Adress back to Client
- How does a Client get the IP of a Domain Adress? Client send Request to Resolver(Server) if it cant find it, it will send it to the Root Servers (Hierarchicaly Top Server) Root Server gives back the top level domain (.com, .de..) Resolver sends Request with additonal information to the TLD Resolver get Answer and sets it to the Name Server(s), number depends on dots in link Name Server responds with IP Adress Resolver sends Client the IP Adress (IP will be stored in Cache to avoid process)
- Anzeige
- What are the Goals of Context Replication? Goals: •Fault tolerance, Locality of queries, Load Balancing Approach: •Implementation of a context via several name servers •Selection of an alternative server after timeout by a query
- What are the goals of Caching? Performance improvement via re-use of precedent query results •complete names (specific, fast resolution) •partial name (more general, more requests) Caching via clients of the Directory Service: •parts of an interpreted name and address of the interpreting name server of subordinate level •example of a cache-record: (“OnlineTrader: CustomerMngt”, “S5”) -> direct querying of the lowest subordinate server possible (here “S5”) Caching via name server directly: •records: name context and addresses of all servers on the same level •reduction of one level Time stamps to recognize and discard obsolete cache entries