SILC (englisch: Secure Internet Live Conferencing, dt. etwa ‚Sichere Konferenz via Internet, in Echtzeit‘) ist ein Netzwerkprotokoll für sicheres Synchronous Conferencing und wird vor allem für MUC (Multi-User Chat, dt. Mehrbenutzer-Chat) verwendet.

Funktionen und Funktionsweise

Bearbeiten

Ein SILC-Netzwerk kann (ähnlich einem IRC-Netz) auf mehrere Server verteilt sein. Trotz der oberflächlichen Ähnlichkeit zu IRC ist der interne Aufbau aber grundverschieden.

Ein wesentlicher Unterschied zu vielen anderen Chatprotokollen besteht darin, dass SILC sichere Kommunikation über unsichere Netze ermöglicht, da es die Möglichkeit bietet, Nachrichten auf dem gesamten Übertragungsweg verschlüsselt zu lassen (Ende-zu-Ende-Verschlüsselung).

So wie viele andere Konferenz- und Chatprotokolle bietet auch SILC Kanäle (Gruppen), Nicknamen, private Nachrichten und andere gebräuchliche Funktionen. Allerdings sind SILC-Nicknamen im Gegensatz zu vielen anderen Protokollen (z. B. IRC) nicht eindeutig: Ein Benutzer kann jeden Nicknamen verwenden, selbst wenn dieser schon verwendet wird. Die eigentliche Identifikation wird im Protokoll durch eine eindeutige Client ID vollbracht. Das SILC-Protokoll bedient sich dessen, um der Nicknamekollision Herr zu werden – ein Problem, das in vielen anderen Protokollen auftritt. Sämtliche in einem SILC-Netzwerk gesendete Nachrichten sind binär codiert, sodass in ihnen jeglicher Datentyp enthalten sein darf, einschließlich Text-, Video-, Audio- und andere Multimediadaten.

Durch die Struktur der SILC-Netze werden Netsplits, welche bei IRC auftreten können, verhindert.

Bestandteile des Protokolls

Bearbeiten

Das SILC-Protokoll kann in drei Hauptbestandteile gegliedert werden:

  1. SILC-Schlüsselaustauschprotokoll (SILC Key Exchange (SKE) protocol)
  2. SILC-Authentifizierungsprotokoll
  3. SILC-Paketprotokoll.

Im SILC-Protokoll sind zusätzlich SILC-Befehle definiert, welche verwendet werden, um die SILC-Sitzung zu steuern.

Das SKE-Protokoll dient dazu einen Sitzungsschlüssel und andere Sicherheitsparameter, welche das SILC-Paket-Protokoll absichern, zu ermitteln. Das SKE selbst basiert auf dem Diffie-Hellman Schlüsselaustauschalgorithmus (eine Form der Asymmetrischen Kryptographie) und der Austausch wird mit digitalen Signaturen abgesichert. Das SILC-Authentifizierungsprotokoll wird nach einer erfolgreichen Ausführung des SKE-Protokolls angewandt um einen Client und/oder einen Server zu authentifizieren. Die Authentifizierung kann auf einer Passphrase oder auf digitalen Signaturen basieren und gestattet, wenn erfolgreich, Zugang zum entsprechenden SILC-Netzwerk. Das SILC-Paketprotokoll ist als sicheres Binärpaketprotokoll gedacht, welches gewährleistet, dass der Inhalt eines jeden Pakets (bestehend aus einem Paket-Header und Paket-Nutzdaten) abgesichert und authentifiziert ist. Die Pakete werden mittels Algorithmen abgesichert die auf Symmetrischer Kryptographie beruhen und authentifiziert unter Verwendung des Message-Authentication-Code-Algorithmus, HMAC.

SILC-Kanäle (Gruppen) werden durch symmetrische Kanalschlüssel abgesichert. Optional ist es möglich alle Kanalnachrichten digital zu signieren. Auch ist es möglich Nachrichten mit einem privat generierten Kanalschlüssel, welcher im Voraus von den Kanalmitgliedern vereinbart wurde, abzusichern. Private Nachrichten zwischen Nutzern in einem SILC-Netzwerk werden mit Sitzungsschlüsseln abgesichert. Es ist allerdings möglich, das SKE-Protokoll zwischen zwei Nutzern anzuwenden und den generierten Schlüssel zu verwenden, um private Nachrichten abzusichern. Optional können private Nachrichten digital signiert werden. Wenn Nachrichten mit einem durch das SKE-Protokoll generierten Schlüsselmaterial oder einem im Voraus vereinbarten Schlüsselmaterial (zum  Beispiel Passphrasen) abgesichert sind, dann bietet SILC sogar dann Sicherheit, wenn der SILC-Server kompromittiert worden sein könnte.

Geschichte

Bearbeiten

SILC wurde von Pekka Riikonen entworfen und erstmals im Sommer 2000 veröffentlicht.

Implementierungen

Bearbeiten
Name Plattform(en) Lizenz Internetauftritt
Pidgin Windows/Linux & Unices (GIMP-Toolkit) GPL http://pidgin.im/
Silky Windows/Linux & Unices (GIMP-Toolkit) GPL http://silky.sourceforge.net/
Colloquy Mac OS X (Cocoa) GPL http://colloquy.info/
irssi mit SILC-Plug-in Linux & Unices (Kommandozeile) GPL http://penguin-breeder.org/silc/
SILC Client Windows/Linux & Unices (Kommandozeile) GPL http://silcnet.org/
kopete_silc Linux & Unices GPL http://www.brokenpipe.de/hp/wiki.cgi/KopeteSilc

Netzwerke

Bearbeiten

Diese Auflistung erhebt keinen Anspruch auf Vollständigkeit.

Netzwerk Round Robin Einzelserver Serverlisten und Infos Motto, Beschreibung, Besonderheit Angemeldete Clients
1. Nov. 07 zwischen 22:45 und 23:00
SILCNet silc.silcnet.org http://silcnet.org/ »SILC Network (SILCNet) is the very first SILC network, and is also the official SILC network.« 408
silcnyet silc.silcnyet.org http://silcnyet.org/ »where crypto matters« 22
c3d2 (CCC Dresden) silc.c3d2.de bzw. silc.dresden.ccc.de https://www.c3d2.de/wiki/SILC silc.toidinamai.de ist auch erreichbar als Tor hidden service via t3oisyiugzgvxph5.onion 30
compsec silc.compsec.net http://www.compsec.net… 165
luusa silc.luusa.org http://www.luusa.org… Linux/Unix Usergroup Sankt Augustin 19
Netz ohne Namen
silc.riseup.net
silc.immerda.ch
Dieses Netz hat keinen Namen. 40
Étoilé Projekt silc.etoile-project.org 1
NMRC-NET hell.nmrc.org
silc.caughq.org
dodo.unspecific.com
cheshire.unspecific.com
DC214 und NMRC 27
FFII Schweiz silc.bsdprojects.net
penrose.bsdprojects.net
7
SFOBUG silc.sfobug.org San Francisco OpenBSD Users Group 2
zerties silc.brokenpipe.de https://www.zerties.org… cccrbg 7
silc.perl.lt silc.perl.lt
tornado.ktu.lt
http://silc.perl.lt… Litauisch 6
Networld silc.networld.to http://silc.networld.to A small SILC Server which can be used by everybody and is used by MokSec. 6
Netzwerk Round Robin Einzelserver Serverlisten und Infos Motto, Beschreibung, Besonderheit Angemeldete Clients
1. Nov. 07 zwischen 22:45 und 23:00

Siehe auch

Bearbeiten
Bearbeiten