Internettechnologie Grundlagen
Mediapublishing II
Mediapublishing II
Kartei Details
Karten | 33 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 29.08.2016 / 19.08.2023 |
Weblink |
https://card2brain.ch/box/internettechnologie_grundlagen
|
Einbinden |
<iframe src="https://card2brain.ch/box/internettechnologie_grundlagen/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Aufgaben eines Webservers?
- Entgegennehmen von HTTP-Requests
- Auslieferung von statischen Dateien
- HTML, XML, CSS, JavaScript, Bilder, Audio, Video...
- Auslieferung von dynamischen Inhalten
- PHP, Perl, Ruby, Python
- Zugriffsbeschränkungen / Authentifizierungen
- Logging (Protokollierung von Anfragen und Aktivitäten)
- Response Caching (häufig angefragte Daten werden zwischengespeichert)
- Cookieverwaltung (Sessions)
Unterschied Skriptsprachen / kompilierte Sprachen?
Skriptsprachen liegen im Quellcode auf dem Server. Diese werden bei Aufruf in den (PHP-)Interpreter geladen und ausgeführt.
(kompilierte Sprachen werden durch einen Compiler in direkt ausführbare Programme umgewandelt.)
Was heißt PHP ausgeschrieben?
Hypertext Preprocessor
Wie startet ein PHP-Skript?
Wie endet ein PHP-Skript?
?>
Besonderheiten Server- und Clientskripte
Serverskripte:
Zugriff auf Webinhalte über die Domaingrenze hinweg (Datenbanken und externe Resourcen).
Clientskripte:
Direkte Änderungen im Browser, die auf Interaktionen des Benutzers stattfinden. Es können also Teilbereiche der Website geändert werden. Kein Zeitverzug durch weitere Serverkommunikation.
(Javascript hat keine Möglichkeit auf Resourcen des Rechners oder über die Domaingrenze hinweg zuzugreifen.)
Was bedeutet JSON?
Javascript Object Notation
Sinn und Zweck einer Datenbank?
Datenbanken dienen dem dauerhaften Speichern, Lö schen und Wiedergeben von Daten. Dabei stellen Datenbanken Funktionen zur Verfü gung, um Daten nach bestimmten Kriterien zu suchen und aufzubereiten.
Was sind relationale Datenbanken (SQL)?
Herkömmliche Datenbanken werden als relationale Datenbanken bezeichnet. Die Daten sind in Tabellen organisiert. Jede Tabelle enthält Zeilen und darin Spalten. Ähnlich zu einem Excel Sheet. Die Zugriffssprache heißt SQL (Structured Query Language).
Was sind objektbasierte (dokumentbasierte) Datenbanken?
Anders als relationale Datenbanken geben dokumentbasierte Datenbanken keine Struktur vor, in der die Daten gespeichert werden. Die Struktur gibt das Dokument vor, das abgelegt wird (zum Zeitpunkt des Erstellens ist noch nicht bekannt, wie die Daten strukturiert werden).
Heute gilt dieser DB-Typ als:
Flexibler, da keine Datenstruktur vorgegeben wird.
Schneller im Lesezugriff, da die Abfragesprache weniger mächtig als bei relationalen Datenbanken ist.
Skalierbarer, da sie einfacher auf mehreren Servern verteilt (repliziert) werden können.
Beispiel: Ein Onlinehändler verkauft Autos und Papiertaschentücher. Die Eigenschaften beider Artikel sind so unterschiedlich, dass er bei einer relationalen Datenbank dafür unterschiedliche Tabellen anlegen müsste. Bei einer dokumentbasierten Datenbank, ist das nicht notwendig.
- Beispiele für dokumentbasierte DB's: MongoDB, Simple DB, CouchDB
Wie funktioniert MongoDB?
Die Daten heißen "documents" und werden in collections organisiert, die den Container bilden. Dokumente werden im JSON-Format abgespeichert.
Das bedeutet es gibt immer ein Paar Schlüssel:Wert, der Schlüssel ist mit der Spaltenbezeichnung einer relationalen Datenbank vergleichbar, gilt aber im Grunde nur für das eine Dokument.
Wie funktioniert MySQL?
MySQL ist ein Datenbankserver für relationale Datenbanken. Bekannter Client, um auf die DB zuzugreifen ist z.B. phpMyAdmin. Vor dem Zugriff muss Login erfolgen. DB-Nutzer können unterschiedliche Rechte haben. Auch Programmschnittstellen, wie z.B. PHP müssen sich vor Zugriff mit Login identifizieren.
SQL ist wie folgt strukturiert:
Datenbanken > Tabellen > Spalten > Zeilen
Für was steht die Abkürzung MUA?
Mail User Agent
Für was steht die Abkürzung MTA?
Mail Transport Agent
Für was steht die Abkürzung MDA?
Mail Delivery Agent
Funktionsweise einer E-Mail Kommunikation?
MUA (Mail User Agent)
- Mailclient
- Damit wird die E-Mail erstellt und gesendet...
- oder empfangen und gelesen
MTA (Mail Transport Agent)
- Mailserver
- Für den Transport von Sender zum Empfänger,
den Rücktransport von Lesebestätigung und Fehlermeldung,
Abwehr von SPAM (Blacklists) zuständig - Läuft auf der Anwendungsschicht (SMTP – Simple Mail Transport Protocol)
MDA (Mail Delivery Agent)
- Werden mit Mail vons MTA's versorgt
- Stellen dem User die E-Mails in einer Struktur (Postfächer/Ordner) zur Verfügung
- Mailclients können sich einloggen um Mails abzurufen.
Verschlüsselung der Daten bei E-Mails?
Da POP3 und IMAP textbasiert sind, übertragen sie in ihrer grundsätzlichen Implementierung Kennwörter im Klartext. Aus diesem Grund sollten Verbindungen zwischen Client und Mailserver grundsätzlich SSL/TLS verschlüsselt sein!
Drei Sicherheitsgrundsätze bei der Kommunikation im Internet:
- Integrität
Sicherstellung, dass die Nachricht zwischen Sender und Empfänger nicht manipuliert wurde.
> Abgleich der Hash-Werte genügt - Vertraulichkeit
Sicherstellung, dass die Nachricht beim Transport niemand unbefugtes einsehen kann.
> Verschlüsselung des Inhalts, Empfänger muss durch Kenntnis des Schlüssels den Inhalt dekodieren können - Authentizität
Sicherstellung, dass die Nachricht vom wahren Sender kommt.
> Signieren der Daten.
Was ist ein Hash-Wert?
Eine Zahlenkombination, die sich durch die Anwendung eines Hash-Algorithmus auf Daten errechnet. Sind die Daten identisch, ist der Hash-Wert identisch. Vom Hash kann nicht mehr auf die Daten zurückgeschlossen werden.
- Beispiele für Hash-Algorithmen: MD5, SHA-1
Funktionsweise: Verschlüsselung?
Bei Verschlüsselungen können die Daten wiederhergestellt werden. Die Daten werden lediglich so codiert, dass der Inhalt in verschlüsselter Form nicht lesbar ist.
Symmetrische Verschlüsselung:
- Ein Schlüssel für codieren/decodieren
Asymmetrische Verschlüsselung:
- Schlüsselpaar (public key, private key – werden gemeinsam erzeugt)
- private key bleibt geheim
- public key kann an Dritte weitergegeben werden
Signieren von Hashes?
Damit der Empfänger sicherstellen kann, dass die Mail von der richtigen Person verschickt wurde, werden die Daten signiert. Dabei wird der Hashwert des Dokuments mit dem private key des Sender verschlüsselt. Der Empfänger entschlüsselt den Hashwert wieder mit dem public key des Senders und vergleicht diese mit dem Hash der empfangenen Daten.
Sind diese identisch, ist die Authentizität der Daten gewährleistet.
Alternativ: Verwendung von Zertifikaten:
- Zertifikat enthält Informationen zu Person, Gültigkeit, Server, IP-Adresse, public key etc.
> identifiziert den Zertifikatsinhaber - ist mit private key der Zertifizierungsstelle verschlüsselt und kann mit deren öffentlichen Schlüssel eingesehen werden
- Sender und Empfänger verlassen sich auf diese Zertifikate
Was ist TLS/SSL?
TLS (Transport Layer Security) gilt als nachfolger von SSL (Security Sockets Layer). Der Server identifiziert sich beim Client mit einem Zertifikat. Der Client prüft das Zertifikat und sendet dem Server einen zufälligen symmetrischen Schlüssel, welcher mit dem public key des Servers verschlüsselt ist. Jede weitere Kommunikation wird mit diesem symmetrischen Schlüssel verschlüsselt.
Risiko: Man in the Middle!
Was ist eine Anwendung von Verschlüsselung?
TOR (The Onion Routing)
Wie wird TOR noch genannt?
DarkNet
Was ist das DeepNet?
Das DeepNet basiert auf dem Konzept des Internets. Die Dienste sind aber i.d.R. nicht über Suchmaschinen auffindbar, und meist nur über die IP-Adresse ansprechbar.
Was sind die Ziele von TOR?
- Datenübertragung mit maximaler Verschlüsselung
- Quelle und Ziel sollen weitgehendst anonymisiert werden
- (Menschen erhalten Zugang zum Internet, in denen strenge Zensur und Überwachung stattfindet)
Funktionsweise von TOR.
- Die TOR-Server sind für den Transport von Daten von Person 1 zu Person 2 zuständig. Person 1 hat eine Liste möglicher Eintrittsservern (Eingang zum TOR-Netzwerk).
- Der TOR-Client wählt einen Eingangsserver und eine zufällige Route durch das TOR-Netzwerk (i.d.R. 3 Server) zum Ausgangsserver. Der Ausgangsserver ist die Verbindung zu Person B.
- Jeder Server kennt nur seinen Vorgänger und seinen Nachfolger. Die Route wird alle paar Minuten geändert.
Verschlüsselung:
Jeder Server handelt mit seinem Folge-Server eine Verschlüsselung aus. Die Nachricht wird bei Eintritt in das TOR-Netzwerk mit den Schlüsseln aller Serververbindungen der Route verschlüsselt. Jeder Server kann nur seine Schicht entschlüsseln. Deshalb auch das Zwiebelsymbol (mehrere Schlüsselschichten um die eigene Nachricht).
Kritische Betrachtung:
Wenn Eintritts- und Austrittsknoten von Angreifern überwacht werden, ist die Anonymität nicht mehr sichergestellt – da die Nachricht dort vollständig entschlüsselt ist. TOR ist durch die aufwendige Verschlüsselung vergleichsweise langsam.
Dienste im TOR-Netzwerk:
Im Dienstverzeichnis können Adresse und Beschreibung der Dienstes abgerufen werden.
[Hash des öffentlichen Schlüssels].onion
Was ist Bitcoin?
Bitcoin ist eine Internetwährung. Anders als bei staatlichen Währungen, bei denen eine Zentralbank den Wert garantiert und kontrolliert, ist Bitcoin dezentral organisiert.
Für die Teilnahme am Bitcoin-System ist ein Client, der sogenannte Bitcoin-Core notwendig.
Was sind die Aufgaben des Bitcoin-Core?
- Identifizierung der Person im Bitcoin-Netzwerk (Generierung von private und public key)
- Abwicklung von Zahlungstransaktionen
- Bestätigung von Bitcoin Transaktionen
- Mining (Erzeugen neuer Geldeinheiten)
Wie funktioniert Bitcoin?
Bitcoin Adresse
Jeder Teilnehmer hat eine Adresse. Diese Adresse ist der Hashwert des öffentlichen Schlüssels, den der Bitcoin Core für den Teilnehmer generiert hat. Eine Transaktion geht immer von Bitcoin-Adresse zu Bitcoin-Adresse.
Blöcke
Transaktionen werden in Blöcke zusammengefasst. Diese Blöcke und die darin enthaltenen Transaktionen müssen bestätigt werden. Transaktionen beziehen sich immer auf Vorgängertransaktionen (man kann nur ausgeben, was man gutgeschrieben bekommen hat). Deshalb existiert eine Transaktionshistorie.
Block Chain
In der Block Chain sind alle Transaktionen vom ersten Tag ab gespeichert (Transaktionshistorie). Hier können alle Transaktionen, die jemals stattgefunden haben, nachvollzogen werden. Derzeit ist die Block Chain 75GB größ, Tendenz steigend.
Blöcke in die Block Chain einfügen
Um einen Block einzufügen, muss erst durchgerechnet werden, ob die enthaltenen Transaktionen korrekt sind. Das ist sehr rechenintensiv (zirka 10 Minuten!). Es werden 5-6 Berechnungen abgewartet. Ist dier Block eingefügt, kann das nicht mehr rückgängig gemacht werden.
Mining
Als Vergütung für die abgeschlossenen Berechnungen wird den Beteiligten eine Transaktionsgebühr gutgeschrieben. Die Person, die die Transaktion durchführt, kann die Höhe der Gebühr selbst festlegen. Je höher, desto stärker wird die Aktion in der Berechnung bevorzugt. Zusätzlich zur Gebühr, bekommt derjenige, der die Transaktion durchgerechnet und bestätigt hat, neue Bitcoins gutgeschrieben, die aus dem System generiert werden.
Einzahlung/Auszahlung von Bitcoins
Es gibt Onlinebörsen zum Währungswechsel. Ein BTC entspricht ca. 600€. Geht der private Schlüssel verloren, sind alle daran gebundenen Bitcoins ebenfalls verloren.
Was macht ein Router?
Router sind Verteilzentren im Internet. Sie legen den Weg fest, den ein Datenpaket von Sender zum Emfpänger nehmen soll. Router sind nicht zuverlässig in der Datenübertragung – dafür ist TCP zuständig.