Glossar
Internetadresse (IP-Adresse)
In der Metapher eines Telefonanrufs entspricht die Internetadresse der Telefonnummer eines Computers. Du musst die Internetadresse kennen, um Informationen mit dem Computer austauschen zu können.
In der Version 4 des Internetprotokolls (IPv4) wird jeder mit dem Internet verbundene Computer durch eine weltweit eindeutige Nummer aus 32 Bit definiert, was etwa 4 Milliarden Adressen ermöglicht. Die Version 6 (IPv6) erlaubt eine noch viel, viel höhere Anzahl an eindeutig identifizierbaren Computern im Internet.
Um eine bessere Lesbarkeit zu gewährleisten, werden Internetadressen in Gruppen von Zahlen geschrieben. IPv4 Adressen bestehen aus 4 durch Punkte getrennte Gruppen mit je bis zu 3 Ziffern (z.B. 78.46.114.187
). Jede Gruppe kann eine Zahl zwischen 0 und 255 annehmen. IPv6 Gruppen verwenden 8 Gruppen von je bis zu 4 Hexadezimalzahlen, getrennt durch einen Doppelpunkt (z.B. 2a00:1450:4016:801:0000:0000:0000:1013
).
Da diese Adressen lang sind, gibt es Wege, sie abzukürzen. Ein Bereich, der nur aus Nullen besteht, kann einfach als Doppelpunkt geschrieben werden. Daher kann die Adresse im vorigen Beispiel als 2a00:1450:4016:801::1013
dargestellt werden. Die Adresse 0000:0000:0000:0000:0000:0000:0000:0001
kann auch einfach als ::1
, eine Adresse die ausschließlich aus Nullen besteht, kann auch als ::
geschrieben werden.
Portnummer
Da ein Computer für mehr als eine Aufgabe verantwortlich sein kann, ist seine Internetadresse nicht ausreichend für alle möglichen Services, die der Computer anbieten kann. Prozesse auf dem Server können einen Port (bestehend aus einer Zahl mit 16 Bit im Bereich 0 bis 65535) zugewiesen bekommen und ein bestimmtes Service auf diesem Port anbieten. In der Metapher des Telefonanrufs ist also die Internetadresse die Telefonnummer einer großen Firma, und die Portnummer ist die Durchwahl, um direkt mit einer gewissen Person verbunden zu werden.
Bekannte Services, wie etwa HTTP (für Webseiten), HTTPS (sichere Webseiten), SMTP (Versand von e-Mails), SSH (sichere Shell-Verbindung), usw. verwenden bekannte Portnummern. Die Internet Assigned Numbers Authority (IANA) unterhält ein Verzeichnis dieser bekannten Services und ihrer zugewiesenen Portnummern.
Protokoll
Als Protokoll bezeichnet man eine Konvention, wie Daten von einem Computer zu einem anderen übertragen werden. Die Spezifikationen des Protokolls legen fest, wie eine Adresse aussieht (z.B. 32 Bit Internetadressen plus 16 Bit Portnummern), welche zusätzliche Information notwendig ist, in welcher Reihenfolge Komponenten über die Leitung gesendet werden und so weiter. Wir unterscheiden verbindungsbasierte Protokolle (wie TCP) und verbindungslose Protokolle (wie UDP).
Die verbindungsbasierten Protokolle funktionieren analog zu einem Telefonanruf. Es gibt einen Computer, der die Verbindung aufbaut (= er startet den Anruf durch das Wählen einer Nummer) und der andere Computer akzeptiert die Verbindung (= er hebt den Hörer ab). Die Verbindung dauert so lange, bis einer der Teilnehmer sie trennt (= den Hörer wieder auflegt). Während die Verbindung aufrecht ist, kann jeder Computer zu jedem Zeitpunkt Daten zu dem anderen Computer senden (= sprechen). Die Computer können ein bestimmtes Format oder ein bestimmtes Subprotokoll (= eine Sprache) verwenden, solange sie sich darauf einigen können.
Ein verbindungsloses Protokoll entspricht eher einem Brief oder einer SMS. Die Daten werden in Paketen zu einer entfernten Adresse geschickt. Das Protokoll kann Informationen darüber liefern, ob die Daten angekommen sind oder nicht. Ein Datenpaket (= ein Brief, eine Nachricht) geht immer nur in eine Richtung. Der Empfänger kann mit einem anderen Brief antworten, er muss aber nicht.
Little Snitch kann keine eingehenden, verbindungslosen Daten verzögern. Siehe eingehende Verbindungen für mehr Details.
Internetprotokoll (IP)
Protokolle bestehen aus verschiedenen Ebenen (OSI model). Jede Ebene baut auf einem Service auf, das von einer niedrigeren Ebene bereitgestellt wird. Die unterste Ebene, mit der wir es zu tun haben, ist das Internetprotokoll (IP). Das Internet verwendet ausschließlich IP. Das Internetprotokoll definiert, wie Internetadressen aussehen (siehe oben) und wie Datenpakete von einem Computer zum anderen gesendet werden. IP benötigt ein weiteres Protokoll auf der Ebene darüber, es kann nicht alleine verwendet werden.
Transmission Control Protocol (TCP)
TCP ist ein Protokoll, das auf IP aufbaut und es bietet Ports und bidirektionale Datenströme. Es sichert die Zustellung, auch wenn einzelne Datenpakete auf dem Weg zwischen Sender und Empfänger verloren gegangen sind, indem es die Zustellung noch einmal versucht, und es stellt sicher, dass alle Daten in der richtigen Reihenfolge gesendet werden (und kein Datenpaket ein anderes überholen kann). Diese Features machen es zum bevorzugten Protokoll für fast alle Services im Internet. Es wird dazu verwendet, Webseiten aufzurufen, e-Mails zuzustellen, Dateien zu teilen etc.
User Datagram Protocol (UDP)
UDP ist eigentlich nur eine kleine Ergänzung des IP, um es für Anwender sinnvoll benutzbar zu machen. Es fügt dem IP ebenfalls Ports hinzu, aber es garantiert weder die Lieferung, noch die Reihenfolge von Datenpaketen. UDP wird daher für Echtzeit-Multimediainhalte wie Voice-Over-IP (Internettelefonie) oder andere Anwendungen verwendet, bei denen es besser ist, Pakete zu verlieren, als auf sie zu warten.
Internet Control Message Protocol (ICMP)
Dieses Protokoll ist ebenfalls eine minimale Ergänzung des IP. Anders als UDP verzichtet es allerdings auf die Portnummer und wird nur selten von Anwendungen benutzt. Meist wird ICMP vom Kernel des Betriebssystems selbst (dem IP stack) verwendet, um die Datenübertragung in andere Protokolle zu verwalten (z.B. für „Ziel-Port nicht erreichbar“-Nachrichten, etc.). Allerdings gibt es eine Ausnahme von dieser Regel: Der Unix-Befehl ping
sendet eine Anfrage im ICMP an einen entfernten Computer und wartet auf eine Antwort. Die dadurch gewonnen Informationen werden für die Fehlersuche und Fehlerbeseitigung in Netzwerken verwendet.
Code-Signaturen
Eine Code-Signatur ist eine kryptografische Unterschrift über eine ausführbare Datei (zum Beispiel eine Anwendung) und alle ihre Bestandteile.
Code-Signaturen in macOS beinhalten die folgenden Informationen:
- Ein Code Verzeichnis. Es besteht hauptsächlich aus einer Liste kryptografischer Checksummen über Codeblöcke und andere Programmbestandteile. Diese Liste erlaubt es, die Überprüfung der Signaturen auf bestimmte Codeblöcke oder Programmbestandteile zu beschränken. Andere Eigenschaften der Code-Signatur beinhalten den Team-Identifikator des Entwicklers und den Identifikator des Programms selbst.
- Eine kryptografische Unterschrift über das Code-Verzeichnis. Es stellt sicher, dass das Programm selbst nicht verändert wurde (z.B. durch einen Virus), seit die Unterschrift erstellt wurde.
- Den öffentlichen Schlüssel des Autors bzw. der Entwickler, siehe dazu Public-Key-Verschlüsselungsverfahren.
- Ein Zertifikat, üblicherweise ausgestellt von Apple. Das Zertifikat bestätigt, dass der öffentliche Schlüssel zu einem bestimmten Entwickler gehört. Es enthält eine eindeutige Identifikation des Entwicklers.
Was ist der Sinn von Code-Signaturen?
- Jede (möglicherweise böswillige) Veränderung des Programmcodes oder der mitgelieferten Programmbestandteile kann so entdeckt werden. Veränderungen können vor dem Herunterladen des Programms geschehen (z.B. wenn es von einer betrügerischen Seite geladen wird), durch eine Schadsoftware am eigenen Computer (z.B. durch einen Virus), oder aber durch den Benutzer selbst, vielleicht mit dem Ziel, das Programm zu verbessern.
- Die wahre Identität des Unterschreibenden (üblicherweise des Entwicklers) kann festgestellt werden, wenn das Zertifikat von einer Instanz, einer Autorität, ausgestellt wurde, die garantiert, Zertifikate nur nach einer Überprüfung der Identität auszustellen. Das bedeutet, dass im Schadensfall eine Person oder eine Firma für den von dem Programm verursachten Schaden verantwortlich gemacht werden kann.
Erfahre mehr darüber, wie Little Snitch Code-Signaturen behandelt …
Zertifikate (in der Kryptografie)
Ein Zertifikat verbindet einen öffentlichen Schlüssel eines bestimmten Kryptosystems mit einer Reihe von Eigenschaften (üblicherweise in einer kleinen Textdatei). Der Aussteller des Zertifikats (in unserem Fall Apple) bestätigt, dass die Person oder Organisation, die den dazu passenden privaten Schlüssel kennt, die im Zertifikat niedergeschriebenen Eigenschaften (z.B. einen bestimmten Namen) tatsächlich aufweist. Die Ausstellungsbehörde unterschreibt dafür den öffentlichen Schlüssel und die Eigenschaften mit der eigenen digitalen Unterschrift.
OK, aber einen Moment! Hier beißt sich doch die Katze in den Schwanz. Denn wer garantiert die Unterschrift der Ausstellungsbehörde? Es gibt dafür zwei mögliche Antworten: Es kann eine andere Ausstellungsbehörde sein (dann sprechen wir von einer Zertifikatskette) oder aber die Zertifikate werden durch eigene private Schlüssel (sogenannte Root-Zertifikate) signiert. Dein Computer erhält mit dem Betriebssystem eine Liste mit vertrauenswürdigen Root-Zertifikaten. Wenn sich ein Root-Zertifikat nicht in dieser Liste befindet, so ist es nicht vertrauenswürdig.
Ortungsdienste
Mobile Computer haben kein GPS, daher können sie ihren geografischen Standort nicht direkt ermitteln. Aber wenn du dich an einem Standort mit WLAN-Netzwerken befindest (sogar wenn du die Passwörter dafür nicht kennst), können die empfangenen Signale und Signalstärken von jedem dieser Netzwerke genug Informationen liefern, um deinen Standort mit erstaunlicher Präzision festzustellen.
Alles was dafür notwendig ist, ist eine Liste mit allen WLAN-Netzwerken der Welt und ihrem geografischen Standort. Diese Datenbank ist nicht auf deinem Mac installiert und sie wäre rasch veraltet, da sich Namen, Verfügbarkeit und Standorte von WLAN-Netzwerken laufend ändern. Aber Apple unterhält so eine Datenbank und erlaubt den Online-Zugriff, um deinen aktuellen Zustand herauszufinden. Dieses Service heißt Ortungsdienste.
Wenn du dieses Service verwendest, sendet dein Computer technische Eigenschaften und die Signalstärken aller WLAN-Netzwerke in deiner Nähe an Apple, und Apple schickt dir daraufhin seine Schätzung deiner Position.
Bedenke, dass Apple damit statistische Informationen über deinen geografischen Standpunkt speichern kann.
War dieser Eintrag hilfreich? Hinterlass uns Feedback.
© 2016-2024 Objective Development Software GmbH