The SILC Project

source navigation ]
identifier search ]
freetext search ]
file search ]

silc/README

  1 SILC - Secure Internet Live Conferencing
  2 ========================================
  3 
  4 SILC (Secure Internet Live Conferencing) is a protocol which provides
  5 secure conferencing services on the Internet over insecure channel.
  6 SILC is IRC-like software although internally they are very different.
  7 The biggest similarity between SILC and IRC is that they both provide
  8 conferencing services and that SILC has almost the same commands as IRC.  
  9 Other than that they are nothing alike.  Major differences are that SILC 
 10 is secure what IRC is not in any way.  The network model is also entirely
 11 different compared to IRC.
 12 
 13 
 14 Running SILC
 15 ============
 16 
 17 After installing the SILC to the system the SILC client is started by
 18 giving command:
 19 
 20         silc
 21 
 22 If you want to run with specific configuration file give -f option.
 23 
 24 To run the server you should configure the server first.  To run the
 25 server give the command:
 26 
 27         silcd
 28 
 29 This will launch the server on to the background.
 30 
 31 
 32 Features
 33 ========
 34 
 35 Features to be included into the final release of SILC.  [Note that the
 36 current Developer's Version does not include all of these features, read
 37 TODO file for more information.]
 38 
 39  o Normal conferencing services such as private messages, channels,
 40    channel messages, etc.  All traffic is secured and authenticated.
 41 
 42  o No unique nicknames.  There can same nicknames in SILC without
 43    collisions.  SILC has unique Client ID's, Server ID's and Channel ID's
 44    to assure that there are no collisions.
 45 
 46  o Secure key exchange and authentication protocol.  SILC Key Exchange
 47    protocol provides key material used in the SILC sessions in secure
 48    manner.  The protocol is immune for example to man-in-the-middle 
 49    attacks.  The SILC Authentication protocol provides strong 
 50    authentication.  Authentication may be based on passphrase or public
 51    key (RSA) authentication.  For clients there is an option not to
 52    use authentication when connecting to servers.
 53 
 54  o All traffic is encrypted and authenticated using the best cryptographic
 55    algorithms out there.  Command messages, private messages and channel
 56    messages are all protected by encryption.  User can set private keys
 57    for both private message and for channels so that even SILC servers do
 58    not know the keys.  Cipher keys are, by default, 128 bits in length and
 59    public keys, by default, 1024 bits in length.
 60 
 61  o Supports data compression with GZIP to improve performance.
 62 
 63  o Supports SOCKS4 and SOCKS5 firewall traversal protocols.
 64 
 65  o SIM (SILC Module) support.  Support for loading of shared objects at 
 66    run-time that provides new and extended features to both SILC client
 67    and server.  These can provide extra ciphers and extra features to
 68    the software.
 69 
 70  o SILC client can be installed and used without root privileges.
 71 
 72  o SILC client can be configured by system wide configuration files but
 73    with user specific configuration files as well.
 74 
 75 
 76 History
 77 =======
 78 
 79 SILC was released in the summer 2000 to the public, but the idea and the
 80 protocol itself is quite old. The SILC was designed by Pekka Riikonen in
 81 the year 1996 and first lines of codes were written in the early 1997. The
 82 SILC has been rewritten three times since its very first version in 1997.
 83 The first version included SILC client, very preliminary SILC server, RSA
 84 implementation and 3DES implementation. The server actually was not usable
 85 but the client looked pretty much the same as the first client released in
 86 the summer 2000. The first version had also random number generator which
 87 were based on the SSH's random number generator. The current RNG is based
 88 on the first RNG but has been rewritten twice since the first version. 
 89 
 90 The development of SILC was suspended in 1997 when Pekka got busy at
 91 school and in work. The pause laster several months. The development
 92 resumed in 1998 when Juha Räsänen and Pekka implemented the ElGamal
 93 algorithm. However, for the same reasons as previously the development
 94 stopped again, and was resumed again later in 1998 by doing rewrite of
 95 ther SILC in C++. This was obviously a mistake but at that time it seemed
 96 like a good idea. Again, in the winter 1999 the development suspended when
 97 Pekka got busy writing his thesis and was forced to stop the development. 
 98 
 99 Later, in 1999, it was decided that this time SILC will be rewritten from
100 scratch in the right way. C++ was obviously a bad choice so plain C 
101 language was selected again. The protocol itself faced some rework by
102 redesigning some core parts of the protocol. The protocol was also fully
103 documented and the protocol specifications were submitted to the IETF. The
104 result of this development effort is the release now in public. Since the
105 release in the summer 2000 several other people have contributed to the
106 project as well. And, the development continues. 
107 
108 
109 Contact
110 =======
111 
112 Feedback and comments are welcome.  Bug reports should be sent to the
113 development mailing list.
114 
115 Official SILC project web site      : http://silcnet.org/
116 FTP archive for SILC project        : ftp://ftp.silcnet.org/
117 Development mailing list address    : silc-devel@lists.silcnet.org
118 SILC Server                         : /server silc.silcnet.org
119 

This page was automatically generated by the LXR engine.
Free-text search provided by Glimpse