Unvollständiger Entwurf der Stichwortliste zur Vorlesung
Anwendungen kryptografischer und anderer sicherheitstechnischer Methoden zur Absicherung elektronischer Kommunikation im Internet
Organisation
Vorlesungsnummer: 260072
Datum: 25.02.2008-29.02.2008
Uhrzeit: 10-16 Uhr
Ort: Einsteinstraße 60, ZIV-Pool 3 (Erdgeschoss)
URL: https://www.uni-muenster.de/ZIV/Lehre/Internet/
Skriptmaterialien: am gleichen Ort
Folien: https://www.uni-muenster.de/ZIV/Lehre/Internet/PublicKeyKryptografieFolien.pdf
Ergänzende Literaturempfehlungen:
Clifford Stoll, Kuckucksei, Fischer Taschenbuch, ISBN 3596139848
Simon Singh, Geheime Botschaften, Dtv Taschenbuch, ISBN 3423330716
Zahllose Artikel aus der Zeitschrift c't, Heise-Verlag
Wikipedia-Artikel http://de.wikipedia.org zu »Internetprotokoll« und dort verlinkte Artikel
Bruce Schneier, Applied Cryptography, Second Edition, John Wiley & Sons, ISBN 0471117099
David Kahn, The Codebreakers, Scribner Book Company, ISBN 0684831309
Virtuelle Maschinen:
WinXPPro-1 = Installation + TCP/IP-Filterung + Windows Update (nur automatisch, aber inkl. IE7) (+ VMware Tools)
WinXPPro-2 = dito + Benutzer eingerichtet + Windows + Datenausführungsverhinderung + Vollständige Dateinamen + Antivirus
WinXPPro-3 = dito + Internetoptionen + Firefox (ohne Quality-Feedback-Agent, unkonfiguriert)
Ubuntu710-1 = Installation + Updates (+ VMware Tools)
Ubuntu710-2 = dito + Thunderbird (unkonfiguriert)
UbuntuStart = Leer, mit Ubuntu-Alternate-Install-CD und mehr Devices
Motivation
Wiedergewinnung von etwas Privatsphäre und Anonymität
Wiedergewinnung von etwas vertraulichem Gedankenaustausch
Schutz eigener Daten und Interessen
Beispiel: Siemens verlor 1993/94 Vier-Mrd.-ICE-Südkorea-Auftrag: DGSE las Angebotfax, Alstom bot TGV günstiger
Beispiel: eigene Verbeamtung
Aufrechterhaltung der Nutzbarkeit des Rechners
Vermeidung der Beihilfe zu Kriminalität und Terrorismus
Vermeidung, das Ziel polizeilicher Ermittlungen zu werden
Verdächtige unaufgeklärter Strafverfahren bleiben 10 Jahre im Polizeicomputer
Geschichte des Internet
http://www.zakon.org/robert/internet/timeline/
1957: Gründung ARPA (Advanced Research Projects Agency) im DoD (Department of Defense) nach Sputnik-Schock
1961: Erste Theorien zu paketorientierten Netzen
1966: Erste Planungen zum ARPANET
29.10.1969 22:30 PST (30.10.1969 07:30 MEZ) Erste Verbindung im ARPANET (Los Angeles - Menlo Park, knapp 600 km)
1969: 4 Rechner
1971: 23 Rechner in 15 Universitäten
1973: Erste interntionale Verbindungen
1982: Festlegung von TCP/IP (Transmission Control Protocol / Internet Protocol)
1984: 1.000 Rechner überschritten
1987: 10.000 Rechner überschritten
1989: 100.000 Rechner überschritten
1989: Vorschlag für konkretes Konzept eines World Wide Web beim CERN
Dezember 1990: Erste World-Wide-Web-Verbindung beim CERN http://www.w3.org/2005/01/timelines/
1991: Entwicklung von PGP durch Phil Zimmermann http://www.philzimmermann.com
1992: 1.000.000 Rechner überschritten
1995: WWW übernimmt Spitzenposition bzgl. übertragener Datenmenge
1996: 10.000.000 Rechner überschritten
1996: Öffentliches Aufsehen durch staatliche Zensurmaßnahmen
China: Nur polizeilich registrierte Nutzer
Deutschland: Zensur von NetNews-Foren
Saudi-Arabien: Zugang nur für Universitäten und Krankenhäuser
Singapur: Religiöse und politische Internetseiten nur nach polizeilicher Registrierung
Heute sind Zensur und Mitlesen omnipräsent, Beispiel Echelon.
2001: 100.000.000 Rechner überschritten
Mitte 2006: Etwa 440.000.000 Rechner in 171 Ländern
Ende 2006: über 100.000.000 WWW-Server
Aufbau des Internet - Einführung
Sehr gute Beschreibung aller Einzelheiten in Wikipedia http://de.wikipedia.org
Das Internet = ein Netz von Netzen
Gemeinsames Protokoll (formalisierte Sprache zwischen Computern) aller Computer in allen Netzen: IP (Internet Protocol)
Darauf aufbauend viele Protokolle für Anwendungen: HTTP, SMTP, Telnet, FTP, IRC, ICQ, NNTP, ...
Unabhängig vom Transportmedium: Kupfer, Glasfaser, Funk, Laser, Satellit
Sogar Brieftauben möglich: RFCs 1149, 2549
Wer Verbindung zum Internet hat, ist Bestandteil des Internet
Es gibt keine Institution namens Internet und niemanden, der für das Internet verantwortlich ist
Es gibt Teilbereiche, für die Institutionen verantwortlich sind:
ICANN (Internet Corporation for Assigned Names and Numbers) betreibt IANA (Internet Assigned Numbers Authority)
Regional Internet Registries: RIPE NCC (Réseaux IP Européens, Network Coordination Centre; Europa+Mittlerer Osten)
Parallel dazu: AfriNIC (Afrika), APNIC (Asien+Pazifik), ARIN (Amerika), LACNIC (Lateinamerika+Karibik)
Internet seit 1969, WWW erst ab 1991
Viele Internetcafés bieten kein Internet, sondern nur WWW-Zugang
WWW und E-Mail sind nur zwei von vielen Teilen des Internet! ICQ, SSH, Internet-Telefonie u.v.a.m.
Internet nicht kostenlos: WWU+UKM+FH bezahlen etliche hunderttausend Euro pro Jahr für Anschlusskosten
Aufbau des Internet - IP-Pakete (Internet Protocol)
IP-Adressen = Adressen von Rechnern (Hausnummern), vier Ziffern aus 0...255
ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse (evtl. beim Rechnerstart per Rundruf »Wer bin ich?« erfragt)
PRAXIS: ipconfig
ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse
Paketinhalte können unterschiedlich interpretiert werden: Protokollnummer im Paketkopf: 1=ICMP, 6=TCP, 17=UDP, 47=GRE
InternetControlMessageProtocol TransmissionControlProtocol UserDatagramProtocol GenericRoutingEncapsulation
PRAXIS: ping 128.176.4.4 (ICMP Echo Request)
Verknüpfung von lokalen Netzen via Router (von Microsoft Gateway genannt) (Haus mit Türen an verschiedenen Straßen)
Lokale IP-Pakete direkt adressieren, nicht-lokale IP-Pakete an Router
ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask
Falls eigene IP-Adresse und Ziel-Adresse, durch Netmask betrachtet, gleich sind, lokal adressieren, sonst an Default-Router
ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse, Via-IP-Adresse
Router nimmt Pakete, ersetzt Via-Adresse durch nächste Via-Adresse gemäß in ihm vorhandener Tabellen
Router leitet über einen durch die Tabellen festgelegten Netzwerkanschluss (Haustür) weiter
PRAXIS: Netmask: ipconfig/all, Routen: netstat -r
Jeder Netzanschluss hat eigene IP-Adresse - ein Rechner kann mehrere IP-Adressen haben (Hausnummern an jeder Haustür)
Router können Tabelleninhalte über das Internet (BGP über TCP oder eigene Protokolle 89=OSPF usw.), über statische Einträge usw. erhalten
Pakete durch fehlerhafte Tabellen im Kreis? Schutz durch TTL-Angabe (Time To Live)
Absender setzt TTL, jeder Router verringert TTL um eins, bei Null wird verworfen und Absender per ICMP (Internet Control Message Protocol) benachrichtigt
PRAXIS: auf realer Maschine: tracert 128.176.4.4 (oder vorgreifend: tracert www.washington.edu)
ALSO: Adressierung IP-Pakete: Von-IP-Adresse, An-IP-Adresse, Via-IP-Adresse, Time to Live (dazu Länge, Framentnummer usw.)
Letzter Router setzt Via-IP-Adresse auf An-IP-Adresse
ICMP-Pakete (Internet Control Message protocol) für Tests und Fehlermeldung: Echo Request (Ping), Echo Reply, Destination Unreachable, Time Exceeded usw.
IP-Adressen werden von zentralen Internet-Registraren (RIPE, AfriNIC, APNIC, ARIN, LACNIC) über lokale Registrare (DENIC usw.) blockweise vergeben
Uni Münster hat 128.176.0.0 bis 128.176.255.255, auch als 128.176.0.0/255.255.0.0 oder 128.176.0.0/16 geschrieben
Gewisse private IP-Adressbereiche 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 darf jeder verwenden, aber nicht nach außen durchlassen
IP-Adressbereich 127.0.0.0/8 bezeichnet immer den eigenen Rechner, unabhängig von sonst zugewiesenen IP-Adressen
Pakete können zwischendurch in Teilpakete fragmentiert werden (Medien haben maximale Paketgröße: MTU = Maximum Transmission Unit)
Nächste Via-Station re-assembliert Fragmente
Aufbau des Internet - UDP/IP-Pakete (User Datagram Protocol)
Ein Rechner kann mehrere Dienste beherbergen: Jeder Dienst hat eindeutige Portnummer (Zimmernummer) aus 1...65536
Well-Known Port Numbers: Überlicherweise benutzen bestimmte Dienste bestimmte Portnummern, Liste bei IANA
Mehrere Programme können gleichzeitig auf das Internet zugreifen: Zum Zuordnen der Antwortpakete ebenfalls Portnummern nötig
ALSO: Adressierung UDP/IP-Pakete: Von-IP-Adresse, Von-Portnummer, An-IP-Adresse, An-Portnummer, Via-IP-Adresse, Protokoll 17=UDP, Time To Live usw.
Gut für Audio/Video/Telefonie, wo einzelne Paketverluste nicht schaden (gibt Ruckler, oder Knacken)
Gut für Kommunikation in kleinen Mengen, wo alle Daten in ein Paket passen (Nameserverabfragen usw.)
Aufbau des Internet - TCP/IP-Pakete (Transmission Control Protocol)
IP-/ICMP-/UDP-Pakete können verloren gehen (z.B. Router-Überlastung), keine überwachte Verbindung, nur kleine Datenmengen pro Paket
TCP/IP sorgt für Eingangsbestätigungen und bei deren Ausbleiben für Retransmission von Paketen, virtuelle Verbindungen möglich
Portnummern wie bei UDP (aber eigenes Protokoll, daher eigener Nummernsatz: Gelbe und blaue Zimmertüren jeweils von 1...65535)
Sequenznummern zur Paketsortierung (Pakete können sich überholen)
Flaggen SYN, ACK, FIN, RST und mehr für Pakettyp: Verbindungsaufbau, -bestätigung, Daten, -bestätigung, Verbindungsabbau, -bestätigung, Rücksetzung
Verbindungaufbau (3-Wege-Handshake): Hin: SYN-Paket, Zurück: SYN+ACK-Paket, Hin: ACK-Paket
Paketfilter können Verbindungsaufbau unterdrücken, indem sie das SYN-Paket nicht durchlassen
Verbindungsabbau analog mit FIN statt SYN, gewaltsam mit RST
Flusssteuerung: Datenpakete werden mit ACK bestätigt, sonst erfolgt Retransmission:
TCP-Window: Wie viele noch unbestätigte Daten (-pakete) maximal unterwegs sein dürfen
TCP/IP-Verbindungen werden eindeutig erkannt an Kombination: Client-IP-Adresse, Client-Port, Server-IP-Adresse, Server-Port
PRAXIS: netstat, netstat -a
Aufbau des Internet - Funktionsweise von Paketfiltern
Einzelne IP-Pakete werden untersucht
Paketfilter können in sichtbaren Routern oder auch unsichtbar in »intelligenten Leitungen« stecken
Mögliche Entscheidungskriterien: Jede Kombination aus:
Richtung
Quell-IP-Adresse, Ziel-IP-Adresse
Protokollnummer (1=ICMP, 6=TCP, 17=UDP, 47=GRE usw.)
Bei ICMP: Pakettyp (Echo Request, Echo Reply, Host Unreachable usw.)
Bei TCP und UDP: Quell-Portnummer, Ziel-Portnummer
Bei TCP: Flags (SYN, ACK, FIN, RST usw.)
Weitere Eigenschaften wie Länge, Fragmentierung, Seriennummer usw.
Externe Informationen wie Uhrzeit usw.
Bei Paketfiltern auf Quell- oder Zielsystem: Welches Programm hat den Port geöffnet
Aber nicht: Wer bzw. welches Programm hat diesem Programm den Auftrag gegeben, den Port zu öffnen
(Trojanische Pferde können Outlook Express oder Internet Explorer bitten, Informationen weiterzugeben)
Inhalte schlechtes Kriterium, da über beliebig viele Pakete verteilt
Kein Virenschutz möglich - Virenscanner bleiben unverzichtbar
Kein Inhaltsfilter/Jugendschutz - dafür Application Firewalls nötig, die den Datenstrom zusammenbauen und komplett analysieren
Kein Filter aufgrund von WWW- oder Mail-Adressen - diese stehen irgendwo im Datenstrom, dafür wären Application Firewalls nötig
Kein Filter aufgrund von Rechnernamen - die Pakete enthalten nur die Adressen, viele Namen haben gleiche Adresse
Beispiel: Eingehende WWW-Anfrage filtern: Eingehendes Paket, Protokoll TCP, Ziel-Portnummer 80, Flags SYN=1 ACK=0 FIN=0 RST=0
Reaktionsmöglichkeiten: Paket wegwerfen, durchlassen, abändern, Antwortpaket (meist mit RST=Verbindungsabbruch) generieren
Stateful Packet Filter: Ändert Regeln abhängig von durchlaufenden Paketen
erlaubt z.B. bestimmte eingehende Pakete nur, wenn vorher durch ein ausgehendes Paket angefordert und Zeitfenster eingehalten
Auch Lastverteilung denkbar: Pakete verschiedener Verbindungen werden unterschiedlich weitergeleitet (WWU: POP, IMAP, WWW)
PRAXIS: Windows-TCP-Paketfilterung - sehr eingeschränkte Funktionalität (aktivieren, 53/tcp für DNS und GRE=47 für VPN erlauben)
PRAXIS: Windows-Firewall - eingeschränkte Funktionalität (aktivieren, keine Ausnahmen zulassen
Die meisten »Desktop Firewalls« sind nur Paketfilter mit mehr oder weniger eingeschränkter Funktionalität
PRAXIS: Linux-IPTables - volle Funktionalität
Reinitialisierung (habe ich in /etc/rc.local, was eigentlich zu spät ist):
/sbin/iptables -F # Alte Regeln weg
/sbin/iptables -X 2>/dev/null # Alte Chains weg
/sbin/iptables -P INPUT DROP # Nichts herein, falls nicht anders gesagt
/sbin/iptables -P FORWARD DROP # Nichts hindurch, falls nicht anders gesagt
/sbin/iptables -P OUTPUT ACCEPT # Alles heraus, falls nicht anders gesagt
/sbin/iptables -N both # Neue Chain (um doppelte Regeln zu vermeiden)
/sbin/iptables -A INPUT -j both # Hinein-Pakete und
/sbin/iptables -A FORWARD -j both # Hindurch-Pakete gleich behandeln
Erlaubnisse:
/sbin/iptables -A both -i lo -j ACCEPT # Interne Verbindungen (Interface »lo« = localhost)
/sbin/iptables -A both -p icmp -m icmp --icmp-type any -j ACCEPT # ICMP, mit ping testen
/sbin/iptables -A both -m tcp -p tcp ! --tcp-flags SYN,RST,ACK SYN -j ACCEPT # Alles TCP außer SYN-Paketen
Verbotsantworten:
/sbin/iptables -A both -m tcp -p tcp --dport 113 --tcp-flags SYN,RST,ACK SYN -j REJECT --reject-with tcp-reset # ident-Rückfragen
Ausgefeilter mit Stateful-Filterung (habe ich in /etc/rc.local)
/sbin/iptables -A both -m state --state ESTABLISHED,RELATED -j ACCEPT # bestehende/assoziierte Verbindungen
/sbin/iptables -A both -m state --state NEW -i lo -j ACCEPT # lokale Verbindungen
/sbin/iptables -A both -m state --state NEW -i vmnet+ -j ACCEPT # virtuelle Maschinen
/sbin/iptables -A both -m state --state NEW -p tcp --dport 113 -j REJECT --reject-with tcp-reset # ident-Rückfragen
Aufbau des Internet - Rechnernamen, Nameserver
IP-Adressen nicht nutzerfreundlich, Namen besser
Nameserver (meist über UDP) wandeln Namen in IP-Adressen um
Mehrere Namen für einen Rechner möglich: Kanonischer Name, Aliasname (Beispiel: news und sagnix), häufig für dienstbezogene Namen genutzt
ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask, Nameserver
Mehrere Nameserver wegen Ausfallsicherheit möglich
PRAXIS: ipconfig/all, ping zivunix, nslookup zivunix
Mehrere Adressen für einen Namen möglich: Lastverteilung
Aufbau des Internet - Domain Name Server (DNS)
Verschiedene Einrichtungen möchten gerne gleiche Namen verwenden: Welcher »www« ist gemeint?
Abhilfe: Domains: www.jura.uni-muenster.de = Rechner www in 3rd-Level-Domain jura in 2nd-Level-Domain uni-muenster in Toplevel-Domain de
Rechnernamen ohne Domainangabe werden in eigener Domain gesucht
ALSO: Jeder Rechner muss kennen: Eigene IP-Adresse, Default-Router, Netmask, Nameserver, eigene Domain
Domain-Hierarchie unabhängig von Netz-Topologie: Rechner völlig unterschiedlicher Adressen können in einer Domain zusammengefasst werden
Jede Domain hat einen oder mehrere Domain Name Server
Jeder Nameserver kennt: Rechner der eigenen Domain, Nameserver unter- und übergeordneter Domains
Oberhalb der Toplevel-Domainserver gibt es Root-Domain-Server (Politikum: Die meisten indirekt unter Kontrolle der US-Regierung)
Toplevel-Domains: anfangs: net, org, com, edu, gov, mil; später Länderdomains: de, ch, at, eu usw; neu: info, biz, name usw.
Politikum: ICANN beschließt über neue Topleveldomains. Zu viel Einfluss der US-Regierung.
Vergabe von Subdomains durch NIC (Network Information Center) der übergeordneten Domain: uni-muenster.de durch DENIC, jura durch uns
PRAXIS: nslookup (www, mail, pop, imap; auch mit verschiedenen Domains)
Aufbau des Internet - Mail-Exchanger und andere Records
Ein A-Record im Nameserver liefert die IP-Adresse zu einem Rechnernamen
Ein CNAME-Record liefert zu einem Rechnernamen einen anderen Rechnernamen (Alias, in Münster wenig genutzt)
Ein NS-Record liefert einen zuständigen Nameserver (meist mehrere)
Ein MX-Record liefert den Rechnernamen zu einer Maildomain (uni-muenster.de in perske@uni-muenster.de)
Zu einer Maildomain kann es mehrere MX-Einträge mit gleicher oder unterschiedlicher Priorität geben
Falls kein MX-Record, dann gilt der A-Record (aber manche Software fehlerhaft)
PRAXIS: nslookup -q=mx, nslookup -q=any; host -a; dig any (www, www.uni-muenster.de, www.uni-ms.de, ...)
Rückwärtsauflösung möglich falls ordentlich gepflegt: zu a.b.c.d gehört PTR-Record für d.c.b.a.in-addr.arpa
PRAXIS: nslookup -q=ptr 4.4.176.128.in-addr.arpa (oder -q=any)
Aufbau des Internet - NAT (Network Address Translation)
IP-Adressraum extrem knapp
NAT ermöglicht vielen Rechnern, unter der gleichen IP-Adresse nach außen aufzutreten
Lokal können private IP-Adressen verwendet werden
Ausgehende Verbindungen gehen über NAT-Router, der ersetzt lokale Adressen und Portnummern durch eigene
NAT-Router merkt sich in Tabelle, wie er Adressen in Antwortpaketen zurückübersetzen muss
Unaufgeforderte Pakete werden weggeworfen (es sei denn, es gibt dafür spezielle, händisch gepflegte Tabelleneinträge)
NAT wird benutzt beispielsweise:
Von VMware, damit die virtuelle Maschine die IP-Adresse der realen Maschine mitbenutzen können
Von Einwahlroutern, damit die eine zugewiesene IP-Adresse von einem ganzen lokalen Netz benutzt werden kann
Von Lastverteilern, die eingehende Verbindungen auf verschiedene Server verteilen
NAT ist schon eine sehr gute Paketfilter-Firewall, weil unaufgeforderte Pakete gar nicht erst ankommen
Aufbau des Internet - Richtige Firewalls
Application Firewalls auf Anwendungs-Ebene in DMZ (Demilitarized Zone) zusätzlich zu Paketfiltern
Datenströme werden zusammengesetzt und per getrennter Verbindung weitergeleitet
Vom Internet aus sollte nur die Firewall sichtbar sein, die stellvertretend (als Proxy) für die Clients handelt
Ermöglicht Virenfilterung, Content-Filterung (Jugendschutz) usw.
Richtige Firewalls bestehen nicht nur aus mehreren Systemen, sondern aus einem komplexen Konzept
PS: Jugendschutz hat im Grundgesetz höheren Stellenwert als Meinungs- und Pressefreiheit!
Intrusion Prevention Systeme (wie von der Uni eingesetzt)
Sammeln Informationen aus durchlaufenden Daten und korrelieren diese
Aktivieren Paketfilter, sobald verdächtige Konstellationen auftreten
Angriffswege gegen ein einzelnes System und Sicherungsmaßnahmen
Einzelnes System heißt nicht unbedingt ein einzelner Rechner
* Böse konstruierte IP-Pakete (WinNuke, Ping O'Death) nutzen Betriebssystemfehler
Keinerlei Schutzprogramme (Desktop Firewall, Antivirensoftware usw.) auf dem Rechner können helfen!
Einziger zuverlässiger Schutz: Beseitigung des Fehlers (Betriebssystemaktualisierung)
Unzuverlässiger Schutz: Externe Paketfilter (nur falls so konfiguriert, dass diese Pakete hängen bleiben)
Folgen: Denial Of Service oder gar Einbruch mit kompletter Übernahme des Rechners
PRAXIS: Windows-Update einstellen, Linux-Update einstellen
* Fehler in nicht benötigter Software
Deinstallieren: Was nicht da ist, kann auch keine Fehler haben
Gilt insbesondere auch für Windows-Komponenten
* Distributed Denial Of Service
Die Atombombe des Internets: (Zig)Tausende von Rechnern greifen gleichzeitig auf einen bestimmten Rechner zu
Die vielen Rechner wurden mit anderen Mitteln übernommen
Wegen der Überlastung des Netzanschlusses kommen zu wenig echte Pakete zeitgerecht an: Zusammenbruch der Verbindung
-- Name, Matrikel, Geburtstag und -ort, Semesteranschrift der Teilnehmer wegen Teilnahmebescheinigung einsammeln --
* Viren allgemein (keine genaue Definition)
Software, die sich verbreitet (»Würmer« aus eigener Kraft, »Viren« durch Mithilfe anderer Software oder des Nutzers)
Software, die Schaden ausübt (gegenüber dem befallenen System oder gar gegenüber Dritten)
* Böse konstruierte IP-Daten nutzern Softwarefehler in Dienstprogrammen
»Würmer« verbreiten sich auf diesem Weg, ohne dass der Nutzer mithelfen muss
Zuverlässiger Schutz: Beseitigung des Fehlers (Softwareaktualisierung) oder Abschaltung des Dienstprogramms
Unzuverlässiger Schutz gegen Buffer-Overflow-Fehler durch Ausführungsverhinderung
PRAXIS: Windows: Start | Systemsteuerung | Leistung und Wartung | System | Erweitert | Systemleistung |
Einstellungen | Datenausführungsverhinderung | für alle aktivieren
Neuere 64-Bit-Prozessoren können das besser (Not-eXecute-Flag auf Speicherbereiche)
PRAXIS: Unnötige Dienstprogramme deaktivieren (Problem: Hunderte von Autostartmöglichkeiten unter Windows)
Desktop Firewalls schützen gegen Ausnutzung von Softwarefehlern in versehentlich (!) gestarteten Dienstprogrammen
nur falls entsprechend konfiguriert (wer das kann, weiß meist aber auch den versehentlichen Start zu verhindern)
dies ist der einzige echte Schutz, den Desktop Firewalls bieten
Kein Schutz: Antivirensoftware
Falls das Dienstprogramm nicht mit Administrator-Rechten läuft, sind die Folgen für das befallene System begrenzt:
Niemals irgendwelche Software als Administrator ausführen außer wenn unbedingt notwendig!
PRAXIS: Eingeschränkte Nutzer einrichten: Start | Systemsteuerung | Benutzerkonten
Neues Konto erstellen | Verwalter | Weiter | Computeradministrator | Konto erstellen
Neues Konto erstellen | Nutzer | Weiter | Eingeschränkt | Konto erstellen
Konto ändern | Verwalter | Kennwort erstellen | Kennwort und Hinweis eingeben | Kennwort erstellen
Konto ändern | Nutzer | Kennwort erstellen | Kennwort und Hinweis eingeben | Kennwort erstellen
PRAXIS: Unangenehmen Hintergrund für Verwalter einrichten
* Bootsektor-Viren und Programm-Viren
Verbreitung über Austausch von Datenträgern (Boot-Disketten) oder Programmdateien, lange Zeit schlimmste Plage
Betriebssystem (Bootsektor-Virus) bzw. Programm (Programm-Virus) wurde scheinbar normal gestartet
aber jede eingelegte Diskette und jede beschreibbare Programmdatei wurde infiziert
Kein Schutz durch Paketfilter - erst die Summe vieler Pakete kann ein Programm-Virus ergeben
Einziger zuverlässiger Schutz
Niemals den Rechner starten, wenn fremde Medien in den Laufwerken liegen
Ausnahmslos niemals unbekannte Programme starten
Unzuverlässiger Schutz:
(Nach Erstinstallation) Boot-Reihenfolge im BIOS so ändern, dass nur von der eingebauten Festplatte gebootet wird
(Nicht gegen Bootviren) On-Access-Antivirensoftware, die jeden Lese- und jeden Schreibzugriff prüft
Schützt nur gegen bekannte Viren, nicht gegen unbekannte und nur manchmal gegen polymorphe.
Heutige Viren fast alle polymorph
Falls keine Backdoor im Virus: Rettung nach Booten vom sauberen Medium durch Virenscanner und -säuberer (z. B. Knoppicillin)
PRAXIS: Nachschlagen von »Bagle.c« auf http://vil.nai.com (legte perMail-Server durch ca. 100 Verseuchungen pro Sekunde lahm)
PRAXIS: Download von Testviren: http://www.eicar.org/anti_virus_test_file.htm
PRAXIS: Installation von Sophos Antivirus
PRAXIS: Testviren öffnen (Scan-on-access) und Festplatte prüfen (Scan-on-demand)
* Makro-Viren
Wie Programm-Viren, aber nicht als eigenständige Programme, sondern als Makros in Office-Dokumenten
Schutzmaßnahmen analog zu Programmviren:
Niemals unbekannte Office-Dateien starten; On-Access-Antivirensoftware
Grundsatz: Office-Dokumente niemals im DOC- oder XLS-Format verbreiten, sondern in makrofreie Formate (PDF, RTF, ...) umwandeln
PRAXIS: Word-Dokument als RTF oder PDF speichern
* E-Mail-Viren
Eigentlich keine Viren, sondern trojanische Pferde: Werden erst nach bewusst vom Nutzer durchgeführtem Öffnen aktiv
Verbreitung per automatisch generierter E-Mails
Empfänger- und Absender- (!) Adressen aus lokalen Adressbüchern, E-Mail-Ordnern, temporären (Internet- und sonst.) Dateien
Kein Schutz durch Paketfilter - erst die Summe vieler Pakete kann ein E-Mail-Virus ergeben
Unzuverlässige Schutzmaßnahmen
Niemals unbekannte Anlagen öffnen - auch wenn sie scheinbar von Bekannten stammen
E-Mail- und On-Access-Antivirensoftware
Namenstäuschungen vermeiden: Iloveyou.bmp.exe
PRAXIS: Vollständige Dateinamen anzeigen lassen (als Verwalter und als Nutzer)
Start | Systemsteuerung | Darstellung und Designs | Ordneroptionen | Ansicht | Erweiterte Einstellungen | Erweiterungen bei
bekannten Dateitypen ausblenden: AUS | Übernehmen | Alle zurücksetzen | Ja | OK
PRAXIS: In der Registry alle NeverShowExt umbenennen nach ExNeverShowExt
* WWW-Viren
Eigentlich trojanische Pferde, die zusammen mit dem Inhalt von bösartigen WWW-Seiten untergeschoben werden
Häufig unter Ausnutzung von Browser-Fehlern
Unzuverlässige Schutzmaßnahmen
Beseitigung der Browserfehler (Softwareaktualisierung)
Defensive Browser-Konfiguration
Zum Surfen eine virtuelle Maschine benutzen
Niemals Links aus zweifelhafter Quelle folgen
PRAXIS: Absicherung des Internet Explorer nach Anleitung
* Dialer
Trojanisches Pferd oder Virus, welches als Schadfunktion teure 0190, 0900- oder 118-Nummern anruft
Gleiche Schutzmaßnahmen wie gegen andere Viren und trojanische Pferde
Anti-Dialer ist analog zu Antivirensoftware ein mäßig guter Schutz, kann umgangen werden
Besser und viel komfortabler: DSL-Flatrate benutzen, Modems und ISDN-Karten raus, Verbindung zum Telefonnetz physisch trennen
* Spyware
Trojanisches Pferd, welches neben der gewünschten Funktion auch Informationen an den Hersteller oder Dritte weitergibt
Gleiche Schutzmaßnahmen wie gegen andere Viren und trojanische Pferde
Gegen dumme Spyware schützen Desktop Firewalls, die den Programmnamen kontrollieren
Kluge Spyware benutzt zugelassene Programme (Internet Explorer, svchost usw.) zur Datenübermittlung
Anti-Spyware ist analog zu Antivirensoftware ein mäßig guter Schutz
Selbst seriöse Softwarehäuser wie Microsoft, Opera u.a. stellen Spyware her (wieso benutzen Sie noch Windows? Das ist Spyware!)
* Phishing
Keine Weiterverbreitung, Keine Schadfunktion, trotzdem trojanisches Pferd
Nutzer wird dazu verleitet, auf einer nicht vertrauenswürdigen WWW-Seite schützenswerte persönliche Daten (PINs, TANs) preiszugeben
Zuverlässige Schutzmaßnahmen
Niemals Links zum Homebanking folgen, immer die richtige Adresse selbst eintippen (ggf. Lesezeichen)
Gehirn einschalten! Banken verbreiten niemals Mitteilungen per E-Mail!
Zertifikat genauestens prüfen (später)
Zusätzlich für Homebanking eine eigene virtuelle Maschine benutzen, die bei jedem Start den gleichen Zustand besitzt
* Social Engeneering
»Hier ist Ihre Bank, es gibt ein Problem, wir helfen Ihnen, können Sie uns drei TANs geben?«
Kann sich alles verdammt echt anhören
Niemals weich werden, niemals PINs, TANs oder auch nur Kontonummern oder ähnliche Daten herausgeben.
Analog bei Inkasso-Aufforderungen usw.
-- Liste der Geburtsdaten und Heimatanschriften vernichten -- Sind Sie reingefallen?
Mit den Daten könnte ich während der Semesterferien bei Ihnen einbrechen; Auskünfte von manchen Behörden über Sie erhalten usw.
Es sind schon Betrugsopfer deshalb auf dem Schaden sitzen geblieben, weil sie dem Betrüger ihre Kontonummer gegeben haben (Gerichtsurteile).
* Weitere betrügerische Aktionen
Polizeimitteilungen per E-Mail-Kettenbrief: Niemals weiterleiten, niemals beachten
Hoaxes: Virenwarnungen per E-Mail-Kettenbrief: Niemals weiterleiten, niemals beachten
Die angeblichen Reparaturanleitungen schädigen in Wirklichkeit das eigene System
Keine seriöse Einrichtung startet Kettenbriefe
Geschäftsangebote, Hilfegesuche bei Geldtransfer usw.
Genau wie in der Zeitung: Unseriös, niemals beachten
»Nigeria-Connection« und ähnliche: Die »Mithilfe« ist in Wirklichkeit Geldwäsche.
Jobangebote mit leichtem Verdienst, Kaufangebote u. ä.: Häufig soll man erst Geld bezahlen und hört dann nie wieder was
Andere Formen:
Bei eBay zuviel bezahlt: Rückerstattung auf anderes Konto = Geldwäsche; Nur an Ursprungskonto zurück!
Immer gesundes Misstrauen behalten: Sie sind über das Internet viel einfacher für die Gauner erreichbar
* Bedienungsfehler
Die Ursache für 99 % aller Probleme befindet sich zwischen Bildschirm und Rückenlehne
Beschränkung der Folgen
Regelmäßiges Backup durchführen
Neuinstallation häufig schneller als Reparatur, aber Konfiguration nachzuvollziehen ist schwierig
Mehrstufiges, aber handhabbares Backup-Konzept angepasst an individuelle Anforderungen entwickeln
Restore üben!
Arbeiten als eingeschränkter Nutzer
Problem: Zu sichernde Dateien liegen bei Windows quer über das ganze System verteilt
Image-Backup alle paar Wochen ernsthaft in Betracht ziehen: Booten von Knoppicillin oder Life-CD
mount /dev/hda /mnt ; dd if=/dev/zero of=/mnt/null bs=10M ; rm /mnt/null ; umount /mnt # spart Platz beim Komprimieren
mount /dev/hdb1 /mnt ; gzip </dev/hda >/mnt/hda-datum.gz ; umount /mnt # kopiert komprimiert
mount /dev/hdb1 /mnt ; gunzip </mnt/hda-datum.gz >/dev/hda ; umount /mnt # restauriert
Vor dem Einschlafen starten
* Datenverlust durch Defekt oder Diebstahl
Backup-Medien wegschließen (feuersicherer Tresor)
Backups an getrennten Orten aufbewahren
* Datenpreisgabe durch Diebstahl
Backup-Medien wegschließen (feuersicherer Tresor)
Backup-Daten verschlüsseln (entfällt bei verschlüsselten Dateien, falls zum Backup nicht entschlüsselt wird)
Verschlüsselte Backups sind wertlos, wenn der Schlüssel fehlt
Backups von verschlüsselten Daten lassen sich nicht leider komprimieren
Aber manches Verschlüsselungswerkzeug komprimiert vor dem Verschlüsseln
Komplettes Dateisystem oder zumindest vertrauliche Dateien verschlüsseln
Verschlüsselung hilft nicht gegen Online-Angriffe
PRAXIS: Komplett verschlüsseltes Ubuntu aus Alternate Install CD aufsetzen
* Physische Gewalt
Bauliche Sicherungsmaßnahmen
Zusammenfassung der Sicherungsmaßnahmen gegen Angriffe auf einzelnes System
Betriebssystem- und Softwareaktualisierung - das Fundament der ganzen Burg, extrem wichtig
Vernünftige Softwarekonfiguration, welche ungewolltes Aktivieren von Schadprogrammen erschwert - die Burgmauer, extrem wichtig
Nicht als Administrator, sondern als eingeschränkter Nutzer arbeiten - Schießpulver wegschließen, extrem wichtig
Unangenehmen Hintergrund für Verwalterkonten einrichten - das Warnschild an der Pulverkammertür, wichtig
Gehirn und gesunden Menschenverstand einschalten und nicht auf alles doppelklicken - die Wachen am Burgtor, extrem wichtig
Dateinamen vollständig anzeigen - Maskierungsverbot, damit die Burgtorwachen nicht getäuscht werden
Antiviren-Software - sehr wichtig, Wachsoldaten im Inneren der Burg gegen Feinde, die die Mauer bereits überwunden habe, aber nur gegen bekannte Feinde
Datenausführungsverhinderung - wichtig, verstärkt das Fundament durch Leimmatten, an denen Durchbuddler hängen bleiben, aber nur bei bestimmten Löchern
Desktop Firewall / Paketfilter (eingehend) - versperrt versehentlich geöffnete Türen, aber nur diese - als Zusatzschutz sinnvoll
Desktop Firewall / Paketfilter (ausgehend) - versperrt nur dummen Halunken den Weg ins Internet - nur Schadensbegrenzung im Katastrophenfall
Anti-Dialer-Software - versperrt nur dummen Halunken den Weg ins Telefonnetz - nur Schadensbegrenzung im Katastrophenfall
Anti-Spyware-Software - Hilfstruppen für Wachsoldaten (Antiviren-Software), erkennt vielleicht weitere Feinde
Regelmäßiges vernünftig organisiertes Backup = Bergfried mit Fluchttunnel in neue Burg, letzter Rückzug im Katastrophenfall - extrem wichtig
Verschlüsselung = Optimale Tarnung bei der Flucht vor Räubern, individuell unterschiedlich wichtig
Deinstallation nicht benötigter Software - keine Bäume oder Bauwerke in der Nähe der Burgmauer, die den Feinden nützen könnten
NAT-Router - eine Burg um die Burg, schützt auch gegen böse konstruierte IP-Pakete u. ä., extrem wichtig
Bauliche Maßnahmen gegen Diebstahl und Feuer
Schulung zur Wachsamkeit
Spuren im Netz
Im Internet gibt es weniger Anonymität als auf der Straße: Jeder darf Kameras aufstellen
Nationale Datenschutzgesetze im internationalen Netz de facto unwirksam
Echelon (USA+UK hören gesamten transatlantischen Daten- und Fernmeldeverkehr ab)
Jeder protokolliert: Einwahl, Webserver, Mailserver, häufig sogar Router
Anhand der Logs sind IP-Adressen den Personen zuzuordnen
In Deutschland Fernmeldegeheimnis: Herausgabe nur auf richterliche Anordnung gemäß §§ 100 StPO ff.
Aber auch Vorratsdatenspeicherung
Einbrecher sind meist nicht an Daten interessiert, sondern daran, sich hinter Ihnen zu verstecken!
Sorglosigkeit ist Beihilfe zum Terrorismus: Schon jetzt existieren Bot-Netze mit 100.000 befallenen fernsteuerbaren Rechnern.
Virenschreiber werden durch Spammer bezahlt; Spammer versenden Millionen Mails für 100 Dollar
E-Mail-Kopfzeilen
Geben Hinweise auf den Ursprung einer E-Mail, zeigen viele, meist fälschbare Spuren
Ausführlich: http://www.uni-muenster.de/ZIV/Hinweise/EMailBelaestigung.html
Angriffswege gegen Kommunikation verschiedener Systeme und Sicherungsmaßnahmen
Unabhängig davon ob einzelnes IP-Paket, E-Mail, Webseite oder Sonstiges
* Probleme bei der Nachrichtenübermittlung
Problem: Die Nachricht kommt nicht beim Empfänger an
Problem: Die Nachricht wird unterwegs von Dritten gelesen
Problem: Die Nachricht wird unterwegs von Dritten geändert
Problem: Dritte senden eine falsche Nachricht ab
* Problemlösung Kryptographie
Verschlüsselung
verhindert Lesen durch Dritte
Elektronische (Digitale) Signatur
beweist die Identität des Absenders
beweist die Unverändertheit der Nachricht
Hilft nicht gegen Verlust einer Nachricht
* Symmetrische Kryptographie (Secret-Key-Systeme)
Meist gleicher Schlüssel zum Verschlüsseln und Entschlüsseln
Meist gleicher Schlüssel zum Signieren und Verifizieren
Je zwei Teilnehmer benötigen einen Schlüssel
Beide müssen Schlüssel streng geheim halten
Anzahl Schlüssel wächst quadratisch mit der Teilnehmerzahl
* Wie helfen Secret-Key-Systeme?
Verschlüsseln verhindert Abhören
Verschlüsseln = Signieren (bei geeigneten Systemen), daher
Erfolgreiches Entschlüsseln beweist Unversehrtheit
Erfolgreiches Entschlüsseln beweist korrekten Absender
DEMO: an Caesar-Chiffre
* Eigenschaften von Secret-Key-Systemen
Rechenoperationen sind schnell
Beliebige Zahlen als Schlüssel
ab 128-Bit-Schlüssel gelten als sicher (2 hoch 128 Möglichkeiten)
Weniger als 64 Bit sind unsicher (alle Schlüssel ausprobieren)
Beispiele
Geheimschriften, DES, RC5, IDEA, Blowfish, Rijndael (AES)
* Asymmetrische Kryptographie (Public-Key-Systeme)
Nicht Einzelschlüssel, sondern Schlüsselpaare
Getrennte Schlüssel zum Verschlüsseln und Entschlüsseln
Getrennte Schlüssel zum Signieren und Verifizieren
Aus einem Schlüssel kann der andere nicht berechnet werden
Schlüssel zum Entschlüsseln und Signieren streng geheim
Schlüssel zum Verschlüsseln und Verifizieren öffentlich
Pro Teilnehmer nur ein Schlüsselpaar (oder zwei)
Anzahl Schlüssel wächst linear mit Teilnehmerzahl
Bildlich: Offene Vorhängeschlösser werden verteilt, nur der Empfänger hat den Schlüssel
* GRAFIK: Signieren und Verschlüsseln + Entschlüsseln und Verifizieren
* Wie helfen Public-Key-Systeme?
Nur ein bis zwei Schlüsselpaare pro Teilnehmer
Verschlüsseln und Signieren unabhängig voneinander
Verschlüsseln verhindert Abhören
Verifizieren der Signatur beweist korrekten Absender
Verifizieren der Signatur beweist Unversehrtheit
Neue Gefahr: Unterschieben falscher öffentlicher Schlüssel
* Eigenschaften von Public-Key-Systemen
Rechenoperationen sind meist sehr langsam (große Zahlen)
Nur Zahlen mit bestimmten Eigenschaften als Schlüssel
Systeme auf Basis großer Primzahlen
Beispiele: RSA, ElGamal/DH, Rabin, ...
2048-Bit-Schlüssel gelten als sicher
512-Bit-Schlüssel werden unsicher (Faktorisierung)
Systeme auf Basis elliptischer Kurven
170-Bit-Schlüssel gelten als sicher
Andere Systeme, auch Nur-Signier-Verfahren: DSS, ...
* Misch-Systeme
Vorteile beider Systeme nutzen
Secret-Key-Systeme für große Datenmengen (Geschwindigkeit)
Public-Key-Systeme für kleine Datenmengen (Schlüsselverwaltung)
Kryptografische Essenzen zur Datenreduktion
* Kryptographische Essenzen (Fingerprints)
Mathematische Hash-Funktion, Einweg-Funktion
Erzeugt aus Texten (Daten) beliebiger Länge eine Essenz
Essenz sehr kurz, meist 128 oder 160 Bit
Es ist praktisch unmöglich,
zu einer gegebenen Essenz einen Text zu finden
zwei ungleiche Texte mit gleicher Essenz zu finden (Geburtstagsangriff)
QUIZ: Wie viele Leute in einem Raum, bis >50% für gleichen Geburtstag? 23
DEMO: 4 Ich-schulde-100-Texte und 4 Ich-schulde-10000-Texte = 16 Kollisionsmöglichkeiten
Bei je 2^64 Texten (64 Leerzeichen einfach oder doppelt) = 2^128 Kollisionsmöglichkeiten
Abhilfe: Jedes nicht selbst erstellte Dokument vor dem Signieren leicht verändern
Dadurch Fälschungssicherheit auf 1:2^128 statt 1:2^64 usw.
Beispiele: MD2, MD5, SHA-1, RIPE-MD, ...
* GRAFIK: Signieren und Verschlüsseln (1-6) + Entschlüsseln und Verifizieren (1-6)
* Signieren
Mit geheimem Schlüssel des Senders
Essenz aus Nachricht bilden
Essenz mit Public-Key-System verschlüsseln, ergibt Signatur
* Verifizieren
Mit öffentlichem Schlüssel des Senders
Gefahr: Habe ich den richtigen Schlüssel?
Signatur entschlüsseln
Zum Vergleich: Essenz aus Nachricht bilden
Wenn beide Ergebnisse gleich, ist Verifizieren gelungen.
* Verschlüsseln
Mit öffentlichem Schlüssel des Empfängers
Gefahr: Habe ich den richtigen Schlüssel?
Mit Zufallszahl für Secret-Key-System
Gefahr: Zufallszahl muss zufällig sein
Nachricht (mit Signatur) mit Secret-Key-System verschlüsseln
Auch bei mehreren Empfängern nur einmal
An alle Empfänger übermitteln
Zufallszahl mit Public-Key-System verschlüsseln
Für jeden Empfänger einzeln
An jeden (oder alle) Empfänger übermitteln
* Entschlüsseln
Mit geheimem Schlüssel des Empfängers
Die mit dem eigenen Schlüssel verschlüsselte Zufallszahl heraussuchen
Zufallszahl mit Public-Key-System entschlüsseln
Nachricht (mit Signatur) mit Secret-Key-System entschlüsseln
* Anwendungen, die Public-Key-Systeme nutzen
PGP-Familie für E-Mail u. a.
PGP (Pretty Good Privacy)
GnuPG (Gnu Privacy Guard), auch in perMail oder Enigmail für Mozilla Thunderbird
PRAXIS: Schlüsselerzeugung mit perMail
PRAXIS: Mit perMail Schlüssel an andere Kursteilnehmer versenden
PRAXIS: Mit perMail signierte und/oder verschlüsselte E-Mails an andere Kursteilnehmer versenden
X.509-Familie für alles Mögliche
S/MIME (Secure Multipurpose Internet Mail Extensions) für E-Mail:
Microsoft Outlook,
Mozilla Thunderbird
SSL (Secure Sockets Layer) für WWW, POP, IMAP, News usw.
Bei SSL hat häufig nur der Server ein Schlüsselpaar
SSH (Secure SHell) statt Rlogin (Telnet), Rsh, Rcp (Ftp), Rdist
SSH zum Tunneln von X11- und anderen Verbindungen
u. v. a. m.
* Schlüsselverwaltung bei Public-Key-Systemen
Key-Server mit öffentlichen Schlüsseln
Gefahr: Untergeschobener Schlüssel mit falscher Identität
Mögliche Problemlösungen
»Sichere« Übergabe des Schlüssels
Persönliche Schlüsselübergabe oder
Unsichere Schlüsselübergabe plus persönliche Übergabe der Essenz des Schlüssels
Ausweiskontrolle, falls nicht persönlich bekannt
Telefon-Vergleich der Essenz des Schlüssels (bei bekannter Stimme)
Beglaubigungen (Zertifikate) vertrauenswürdiger Dritter
PRAXIS: https://mein-ziv.uni-muenster.de/testca/
PRAXIS: CA-Zertifikat mit Firefox importieren und gültig schalten
PRAXIS: Fingerprintkontrolle (absolut wichtig bei Homebanking, später mehr)
MD5 Fingerprint=DF:4F:AC:32:7D:0E:94:CB:E8:03:41:89:70:24:28:00
SHA1 Fingerprint=94:B4:C9:6E:D9:59:78:0E:10:5C:77:89:FB:C4:BC:AB:DE:39:F7:3D
PRAXIS: CA-Import in Thunderbird (Firefox: Rechtsklick, Ziel speichern unter; Thunderbird-Import)
PRAXIS: PKCS#12-Datei aus Firefox nach Thunderbird (oder Outlook oder ...)
PRAXIS: Signierte und später verschlüsselte E-Mails mit Thunderbird
* Zertifikate
Zertifikate sind elektronisch signierte Beglaubigungen
Festgelegte Formate (PGP, X.509, ...)
»Dieser öffentliche Schlüssel gehört zu dieser Identität«
Weitere Angaben (Gültigkeitsdauer, ...)
Jeder kann Zertifikate ausstellen
Nicht obskuren Firmen Geld in den Rachen schmeißen!
Zur Kontrolle der öffentliche Schlüssel des Ausstellers
Aus sicherer Quelle besorgen!
Empfänger entscheidet, ob er dem Aussteller traut
Ohne Vertrauen das Zertifikat nicht akzeptieren!
* Zertifizierung
Inhaber gibt öffentlichen Schlüssel »sicher« an Zertifizierer
Zertifizierer erstellt Zertifikat mit geheimem Schlüssel
Inhaber oder Zertifizierer geben »unsicher« Zertifikat weiter
* GRAFIK: Zertifikate (1-6)
* Zertifikatkontrolle
Partner erhält »sicher« öff. Schlüssel des Zertifizierers Z
Partner erhält »unsicher« öff. Schlüssel und Zertifikat von X
Partner verifiziert Zertifikat mit öff. Z-Schlüssel
Partner vertraut Zertifizierer
Dann weiß Partner, dass der öff. Schlüssel wirklich X gehört
* Zertifizierungsstellen
CA = Certification Authority
Zertifikate können unter Beachtung unterschiedlich hoher Sicherheitsanforderungen ausgestellt werden
Je höher die Sicherheitsanforderung, desto höher die Vertrauenswürdigkeit (Beweiswert) der Zertifikate
Sicherheitsanforderungen werden in Zertifizierungsrichtlinien (Policy) beschrieben
Zertifizierungsstellen verpflichten sich, Zertifikate nur unter Beachtung der Policy auszustellen
* Zertifizierungsketten
Nicht immer ist »sichere« Quelle für öffentlichen Zertifizierungs-Schlüssel erreichbar
Aber öffentlicher Zertifizierungs-Schlüssel kann selbst durch Dritten zertifiziert sein
Und dessen Schlüssel durch einen Vierten usw.
OK, falls:
Letzter öffentlicher Schlüssel der Kette aus »sicherer« Quelle erhalten
Und jedes Zertifikat der Kette erfolgreich verifiziert
Und jeder Zertifizierer der Kette voll vertrauenswürdig
Bei PGP ist man selbst das Ende der Kette
* GRAFIK: Zertifikate (7)
* Zertifizierungsketten
Ich weiß, der Schlüssel von X ist echt (valid), denn:
Ich habe »unsicher« Schlüssel und Zertifikat von X erhalten
Und das Zertifikat von X wurde von Z ausgestellt
Und ich vertraue (trust) den Zertifikaten von Z
Und ich weiß, der Schlüssel von Z ist echt (valid), denn:
Ich habe »unsicher« Schlüssel und Zertifikat von Z erhalten
Und das Zertifikat von Z wurde von Z2 ausgestellt
Und ich vertraue (trust) den Zertifikaten von Z2
Und ich weiß, der Schlüssel von Z2 ist echt (valid), denn:
Ich habe den Schlüssel von Z2 »sicher« erhalten (oder bin Z2)
* Zertifizierungshierarchien
Ketten können in Hierarchien gegliedert werden
Bei PGP möglich, bei X.509 quasi zwingend
Beispiel: DFN-Zertifizierungshierarchie
1. Telekom Root CA
2. DFN-PCA (Policy Certification Authority)
3. WWUCA, DFN-User-CA, andere CAs in den Einrichtungen
4. Nutzer, WWW-Server, ...
Kreuz-Zertifizierungen zwischen Hierarchien (DFN, c't, ...)
PRAXIS: Zertifikate von http://www.uni-muenster.de/WWUCA/ importieren
PRAXIS: Zertifizierungsketten mit Firefox nachvollziehen:
Manuell anhand DFN-PKI-Hierarchie
Halbautomatisch beim Überprüfen einer signierten E-Mail
* Standard-Format X.509
Verwendung bei S/MIME (E-Mail), SSL/TLS (WWW-Server), ...
Problem bei X.509-Implementierungen: Verordnetes Vertrauen
Oft nicht einstellbar, wem ich traue und wem nicht
Falls ich der Wurzel traue, traue ich allen Gliedern
Gängige WWW-Browser enthalten bereits öffentliche Schlüssel etlicher Zertifizierungsstellen
Diesen Ausstellern wird vom Browser automatisch getraut
Sehr sinnvoll für geschlossene Nutzergruppen
Einfachere Handhabung durch fehlende Einstellmöglichkeiten
Heutige Programme ungünstig für weltweite E-Mails
* Widerruf
Bei Kompromittierung vor Ablauf der Gültigkeit
PGP
Widerruf durch Schlüsselbesitzer
Signiert mit geheimem Schlüssel des Inhabers
Verteilung über Keyserver usw. unzuverlässig
X.509
Widerruf durch Zertifizierungsstelle
Signiert mit öff. Schlüssel der Zertifizierungsstelle
Verteilung über CRLs (Certificate Revocation List)
periodisch, Gültigkeitsdauer von CRLs beschränkt
Alternative: Online Certificate Status Protocol OCSP
PRAXIS: CRLs von DFN-PCA und WWUCA importieren
* Verbindungsaufbau mit einem SSL-Server
Abhörsichere Verbindungen mit HTTP- (WWW-) Servern
genauso: SMTP, POP, IMAP (E-Mail), NNTP (NetNews), ...
Nur Server benötigt Schlüsselpaar mit Zertifikaten
Client kann sich mit eigenen Zertifikaten ausweisen
Transport Level Security TLS 1.0 = RFC 2246, vormals SSL
Keine Datenübertragung, bevor Verschlüsselung etabliert ist:
Client: Hallo, ..., diese Methoden sind akzeptabel; Kommen
Methoden = Verschlüsselung, Wer sich ausweist, Kompression
Server: Hallo, ..., diese Methode wähle ich
Server: Hier mein öffentlicher Schlüssel mit Zertifikaten
Client überprüft alles, u. a.
Stimmt Server-IP-Adresse mit Angabe im Zertifikat überein?
Ist Server-Zertifikat in Ordnung?
Ggf. Nutzer fragen, ob Zertifikat akzeptabel
Server: Gib Client-Zertifikat einer dieser CAs/Typen
Client: Hier mein öffentlicher Schlüssel mit Zertifikaten, ...
Client: Hier Schlüsseldaten, mit Server-Schlüssel verschlüsselt
Beide berechnen Sitzungsschlüssel aus Schlüsseldaten
Umschaltung auf Secret-Key-Verschlüsselung mit Sitzungsschlüssel
Client: Hier meine Prüfsumme über alles Bisherige; Kommen
Server überprüft alles (ggf. auch Client-Zertifikat)
Server: Hier meine Prüfsumme über alles Bisherige; Fertig
Client überprüft alles; Fertig
Verschlüsselte Übertragung der Daten beginnt.
PRAXIS: Homebanking mit http://www.sparda-ms.de -> SpardaNet-Banking
Immer die Adresse eintippen oder aus Bookmark; nie einem Link dorthin folgen!
SHA1 Fingerprint=3b:21:06:25:11:06:f6:8c:8a:54:f5:c8:7a:a3:10:fc:fc:73:c5:a3
»Überprüfen Sie unser Zertifikat« ist Augenwischerei! (Kann nachgemacht werden)
Meine Sicherheitsmaßnahmen:
Fingerprint persönlich in Geschäftsstelle erfragt.
Virtuelle Maschine, die beim Ausschalten alle Änderungen vergisst (auch Viren und Updates, falls welche wären)
Ubuntu auf verschlüsseltem Dateisystem, fertig vorbereitete Bookmarks
IPTables, die nur ausgehende HTTPS-Verbindungen zu den beiden IP-Adressen von banking.sparda.de erlauben
Virtuelle Maschine läuft auf einer stark gesicherten realen Maschine hinter NAT-Router (sonst Angriff auf Boot-Partition)
Falls Zeit: Dialogverbindungen mit SSH
Falls Zeit: SSH-Tunnel
Falls Zeit: VPN-Tunnel
unverschlüsselt, aber sichere Passwortkontrolle: vpn-internet.uni-muenster.de
verschlüsselt: CISCO-Client
Falls Zeit: Steganographie
http://www.uni-muenster.de/ZIV/Lehre/Internet/Stegano.txt
Falls Zeit: Quantenkryptographie
Seit kurzem kommerzielles Produkt, funktioniert über zig Kilometer
http://de.wikipedia.org/wiki/Quantenkryptografie

