SILC (Secure Internet Live Conferencing protocol) is a
protocol that provides secure
synchronous conferencing
Synchronous conferencing is the formal term used in computing, in particular in computer-mediated communication, collaboration and learning, to describe technologies informally known as online chat. It is sometimes extended to include audio/vi ...
services (very much like IRC) over the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a ''internetworking, network of networks'' that consists ...
.
Components
The SILC protocol can be divided in three main parts: SILC Key Exchange (SKE) protocol, SILC Authentication protocol and SILC Packet protocol. SILC protocol additionally defines SILC Commands that are used to manage the SILC session. SILC provides channels (groups), nicknames, private messages, and other common features. However, SILC nicknames, in contrast to many other protocols (''e.g.''
IRC), are not unique; a user is able to use any nickname, even if one is already in use. The real identification in the protocol is performed by unique Client ID. The SILC protocol uses this to overcome nickname collision, a problem present in many other protocols. All messages sent in a SILC network are binary, allowing them to contain any type of data, including text, video, audio, and other
multimedia
Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradi ...
data.
The SKE protocol is used to establish
session key and other security parameters for protecting the SILC Packet protocol. The SKE itself is based on the
Diffie–Hellman key exchange
Diffie–Hellman key exchangeSynonyms of Diffie–Hellman key exchange include:
* Diffie–Hellman–Merkle key exchange
* Diffie–Hellman key agreement
* Diffie–Hellman key establishment
* Diffie–Hellman key negotiation
* Exponential key exc ...
algorithm (a form of
asymmetric cryptography) and the exchange is protected with
digital signatures
A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
. The SILC Authentication protocol is performed after successful SKE protocol execution to authenticate a client and/or a server. The authentication may be based on
passphrase
A passphrase is a sequence of words or other text used to control access to a computer system, program or data. It is similar to a password in usage, but a passphrase is generally longer for added security. Passphrases are often used to control ...
or on
digital signatures
A digital signature is a mathematical scheme for verifying the authenticity of digital messages or documents. A valid digital signature, where the prerequisites are satisfied, gives a recipient very high confidence that the message was created b ...
, and if successful gives access to the relevant SILC network. The SILC Packet protocol is intended to be a secure binary packet protocol, assuring that the content of each
packet (consisting of a packet header and packet payload) is secured and authenticated. The packets are secured using algorithms based on
symmetric cryptography and authenticated by using
Message Authentication Code
In cryptography, a message authentication code (MAC), sometimes known as a ''tag'', is a short piece of information used for authenticating a message. In other words, to confirm that the message came from the stated sender (its authenticity) and ...
algorithm,
HMAC
In cryptography, an HMAC (sometimes expanded as either keyed-hash message authentication code or hash-based message authentication code) is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secre ...
.
SILC channels (groups) are protected by using symmetric channel keys. It is optionally possible to digitally sign all channel messages. It is also possible to protect messages with a privately generated channel key that has been previously agreed upon by channel members. Private messages between users in a SILC network are protected with session keys. It is, however, possible to execute SKE protocol between two users and use the generated key to protect private messages. Private messages may be optionally digitally signed. When messages are secured with key material generated with the SKE protocol or previously agreed upon key material (for example,
passphrase
A passphrase is a sequence of words or other text used to control access to a computer system, program or data. It is similar to a password in usage, but a passphrase is generally longer for added security. Passphrases are often used to control ...
s) SILC provides security even when the SILC server may be compromised.
History
SILC was designed by
Pekka Riikonen Pekka is a Finnish male given name. It was most popular around the middle of the 20th century. As of 2013 there were more than 100,000 people registered with this name in Finland. The nameday is the 29th of June in the Finnish tradition and the 25th ...
between 1996 and 1999 and first released in public in summer 2000. A
client
Client(s) or The Client may refer to:
* Client (business)
* Client (computing), hardware or software that accesses a remote service on another computer
* Customer or client, a recipient of goods or services in return for monetary or other valuabl ...
and a
server were written. Protocol specifications were proposed, but ultimately request for publication was denied in June 2004 by
IESG and no RFC has been published to date.
At present time, there are several clients, the most advanced being the official SILC client and an
irssi plugin. SILC protocol is also integrated to the popular
Pidgin
A pidgin , or pidgin language, is a grammatically simplified means of communication that develops between two or more groups of people that do not have a language in common: typically, its vocabulary and grammar are limited and often drawn from s ...
instant messaging client. Other
GUI clients are
Silky and
Colloquy
Colloquy may refer to:
* Colloquy (religious), a meeting to settle differences of doctrine or dogma
* Colloquy (company), a loyalty marketing company based in Milford, Ohio
* Colloquy (law), a legal term
* Colloquy (IRC client), an IRC client for ...
.
The Silky client was put on hold and abandoned on the 18th of July 2007, due to inactivity for several years. The latest news on the Silky website was that the client was to be completely rewritten.
As of 2008, three SILC protocol implementations have been written.
Most SILC clients use libsilc, part of the SILC Toolkit.
The SILC Toolkit is dual-licensed and distributed under both the GNU General Public License (GPL) and the revised BSD license.
Security
As described in the SILC FAQ, chats are secured through the generation of
symmetric encryption keys. These keys have to be generated somewhere, and this occurs on the server. This means that chats might be compromised, if the server itself is compromised. This is just a version of the
man-in-the-middle attack
In cryptography and computer security, a man-in-the-middle, monster-in-the-middle, machine-in-the-middle, monkey-in-the-middle, meddler-in-the-middle, manipulator-in-the-middle (MITM), person-in-the-middle (PITM) or adversary-in-the-middle (AiTM) ...
. The solution offered is that chat members generate their own public-private keypair for
asymmetric encryption. The private key is shared only by the chat members, and this is done out of band. The public key is used to encrypt messages into the channel. This approach is still open to compromise, if one of the members of the chat should have their private key compromised, or if they should share the key with another, without agreement of the group.
Networks
SILC uses a similar pattern to IRC, in that there is no global "SILC network" but many small independent networks consisting of one or several servers each, although it is claimed that SILC can scale better with many servers in a single network.
The "original" network is called SILCNet, at the round-robin. However, as of May 2014, it has only one active (though unstable) server out of four.
Most SILC networks have shut down due to declining popularity of SILC.
See also
*
Synchronous conferencing
Synchronous conferencing is the formal term used in computing, in particular in computer-mediated communication, collaboration and learning, to describe technologies informally known as online chat. It is sometimes extended to include audio/vi ...
*
Comparison of instant messaging protocols
*
Multiprotocol instant messaging application
*
Public-key cryptography
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic a ...
References
{{Reflist
External links
The SILC Project
Internet protocols
Instant messaging protocols
Online chat