Frequently Asked Questions
1. General Questions
1.1 What is SILC?
1.2 When was SILC Project started?
1.3 Why SILC in the first place?
1.4 What license covers the SILC release?
1.5 Why SILC? Why not IRC3?
1.6 What platforms SILC supports?
1.7 Where can I find more information?
1.8 I would like to help out, what can I do?
2. Protocol Questions
2.1 What is the status of SILC protocol in the IETF?
2.2 How much the SILC protocol is based on IRC?
2.3 Why use SILC? Why not IRC with SSL?
2.4 Can I talk from SILC network to IRC network?
2.5 Does SILC support file transfer?
2.6 I am behind a firewall, can I use SILC?
2.7 How secure SILC really is?
2.8 Does SILC support instant messaging?
2.9 I have suggestions to SILC Protocol, what can I do?
3. Client Questions
3.1 Where can I find SILC clients?
3.2 Can I use SILC with IRC client and vice versa?
4. Server Questions
4.1 Where can I find SILC servers?
4.2 Can I run own SILC server?
4.3 What is the difference between SILC server and SILC router?
5. Toolkit Questions
5.1 What is SILC Toolkit?
1. General Questions
Q: What is SILC?
A: SILC (Secure Internet Live Conferencing) is a protocol which provides
secure conferencing services in the Internet over insecure channel. SILC
is IRC like although internally they are very different. Biggest
similarity between SILC and IRC is that they both provide conferencing
services and that SILC has almost same commands as IRC. Other than that
they are nothing alike.
Biggest differences are that SILC is secure what IRC is not in any way.
The network model is also entirely different compared to IRC.
Q: When was SILC Project started?
A: The SILC development started in 1996 and early 1997. But, for various
reasons it suspended many times until it finally got some wind under its
wings in 1999. First public release was in summer 2000.
Q: Why SILC in the first place?
A: Simply for fun, nothing more. And actually for need back in the days
when it was started. When SILC was first developed there really did not
exist anything like this. SILC has been very interesting and educational
project.
Q: What license covers the SILC release?
A: The SILC software developed here at silcnet.org, the SILC Client, the
SILC Server and the SILC Toolkit are covered by the GNU General Public
License.
Q: Why SILC? Why not IRC3?
A: Question that is justified no doubt of that. SILC was not started to
become a replacement for IRC. SILC was something that didn't exist in 1996
or even today except that SILC is now released. However, I did check out
the IRC3 project in 1997 when I started coding and planning the SILC protocol.
But, IRC3 is problematic. Why? Because it still doesn't exist. The
project is almost at the same spot where it was in 1997 when I checked it
out. And it was old project back then as well. That's the problem of IRC3
project. The same almost happened to SILC as well as I wasn't making real
progress over the years. I talked to the original author of IRC, Jarkko
Oikarinen, in 1997 and he directed me to the IRC3 project, although he
said that IRC3 is a lot of talking and not that much of anything else. I
am not trying to put down the IRC3 project but its problem is that no one
in the project is able to make a decision what is the best way to go about
making the IRC3 and I wasn't going to be part of that. The fact is that
if I would've gone to IRC3 project, nor IRC3 or SILC would exist today. I
think IRC3 could be something really great if they just would get their
act together and start coding the thing.
Q: What platforms SILC supports?
A: The SILC Client is available on various Unix systems and is reported to
work under cygwin on Windows. The SILC Server also works on various Unix
systems. However, the server has not been tested under cygwin as far as we
know. The SILC Toolkit is distributed for all platforms, Unix, Cygwin
and native Windows.
Q: Where can I find more information?
A: For more technical information we suggest reading the SILC Protocol
specifications. You might also want to take a look at the documentation page on the web page.
Q: I would like to help out, what can I do?
A: You might want to take a look at the Contributing page and the TODO list. You might also want to join the
SILC development mailing list.
2. Protocol Questions
Q: What is the status of SILC protocol in the IETF?
A: The SILC protocol specifications has been submitted currently as
individual submissions. There does not currently exist a working group
for this sort of project. Our goal is to fully standardize the SILC and
thus submit it as RFC to the IETF at a
later time.
Q: How much SILC Protocol is based on IRC?
A: SILC is not based on IRC. The client superficially resembles IRC
client but everything that happens under the hood is nothing alike IRC.
SILC could *never* support IRC because the entire network toppology is
different (hopefully more scalable and powerful). So no, SILC protocol
(client or server) is not based on IRC. Instead, We've taken good things
from IRC and left all the bad things behind and not even tried to burden
the SILC with the IRCs problems that will burden IRC and future IRC
projects till the end. SILC client resembles IRC client because it is
easier for new users to start using SILC when they already know all the
commands.
Q: Why use SILC? Why not IRC with SSL?
A: Sure, that is possible, although, does that secure the entire IRC
network? And does that increase or decrease the lags and splits in the
IRC network? Does that provide user based security where some specific
private message are secured? Does that provide security where some
specific channel messages are secured? And I know, you can answer yes to
some of these questions. But, security is not just about applying
encryption to traffic and SILC is not just about `encrypting the
traffic`. You cannot make insecure protocol suddenly secure just by
encrypting the traffic. SILC is not meant to be IRC replacement. IRC is
good for some things, SILC is good for same and some other things.
Q: Can I talk from SILC network to IRC network?
A: Simple answer for this is No. The protocols are not compatible which
makes it impossible to directly talk from SILC network to IRC network or
vice versa. Developing a gateway between these two networks would
technically be possible but from security point of view strongly not
recommended. We have no plans for developing such a gateway.
Q: Does SILC support file transfer?
A: Not yet. This is a feature that will be added to the SILC protocol.
The exact file transfer protocol is undefined.
Q: I am behind a firewall, can I use SILC?
A: Yes. If your network administrator can open the port 706 (TCP) you can
use SILC without problems. You may also compile your SILC client with
SOCKS support which will proxy your SILC session through the firewall.
Q: How secure SILC really is?
A: A good question which I don't have an answer for. We have tried to make
SILC as secure as possible. However, there is no security protocol or
security software that has not been vulnerable to some sort of attacks.
SILC is in no means different from this. So, it is suspected that there
are security holes in the SILC. These holes just need to be found so
that they can be fixed.
But to give you some parameters of security SILC uses the most secure
crytographic algorithms such as AES(Rijndael), Twofish, Blowfish, RC5,
etc. SILC does not have DES or 3DES as DES is insecure and 3DES is just
too slow. SILC also uses cryptographically strong random number generator
when it needs random numbers. Public key cryptography uses RSA (PKCS #1)
and Diffie-Hellman algorithms. Key lengths for ciphers are initially set
to 256. For public key algorithms the starting key length is 1024 bits.
But the best answer for this question is that SILC is as secure as its
weakest link. SILC is open and the protocol is open and in public thus
open for security analysis.
To give a list of attacks that are ineffective against SILC:
- Man-in-the-middle attacks are ineffective if proper public key
infrastructure is used. SILC is vulnerable to this attack if the public
keys used in the SILC are not verified to be trusted (as any other
protocol for that matter).
- IP spoofing is ineffective (because of encryption and trusted keys).
- Attacks that change the contents of the data or add extra data to the
packets are ineffective (because of encryption and integrity checks).
- Passive attacks (listenning network traffic) are ineffective (because
of encryption). Everything is encrypted including authentication data
such as passwords when they are needed.
- Any sort of cryptanalytic attacks are tried to make ineffective by
using the best cryptographic algorithms out there.
Q: Does SILC support instant messaing?
A: SILC is not an instant message (IM) system, like ICQ and the others.
SILC is more IRC like system, "real-time" chat and that kind of
stuff.
Q: I have suggestions to SILC Protocol,
what can I do?
A: All suggestions and improvements are of course welcome. You should read
the protocol specifications first to check out whether your idea is
covered by them already. The best place to make your idea public is the
SILC development mailing list.
3. Client Questions
Q: Where can I find SILC clients?
A: The SILC client is available for free download from the silcnet.org web
page. Some people have also mentioned words Java and Perl when talking
about SILC clients. Nothing has appeared yet, though.
Q: Can I use SILC with IRC client and vice versa?
A: Generally the answer would be no for both. However, there exist already
at least one IRC client that supports SILC, the Irssi client. The current SILC client is
actually based on the user interface of the Irssi client. So, yes it is
possible to use SILC with some IRC clients and vice versa. But, this
does not mean that you can talk from SILC network to IRC network, that is
not possible.
4. Server Questions
Q: Where can I find SILC servers?
A: The SILC server is available for free download from the silcnet.org
web page. We are not aware of any other SILC server implementations, so far.
Q: Can I run own SILC server?
A: Yes of course. Download the SILC server package, compile and install
it. Be sure to check out the installation instructions and the README
file. You also should decide whether you want to run SILC server or SILC
router.
Q: What is the difference between SILC
server and SILC router?
A: The topology of the SILC network includes SILC routers and the SILC
servers (and SILC clients of course). Normal SILC server does not have
direct connections with other SILC servers. They connect directly to the
SILC router. SILC Routers may have several server connections and they
may connect to several SILC routers. The SILC routers are the servers in
the network that know everything about everything. The SILC servers know
only local information and query global information from the router when
necessary.
If you are running SILC server you want to run it as router only if you
want to have server connections in it and are prepared to accept server
connections. You also need to get the router connected to some other
router to be able to join the SILC network. You may run the server as
normal SILC server if you do not want to accept other server connections
or cannot run it as router.
5. Toolkit Questions
Q: What is SILC Toolkit?
A: SILC Toolkit is a package intended for software developers who would
like to develope their own SILC based applications or help in the
development of the SILC. The Toolkit includes SILC Protocol Core library,
SILC Crypto library, SILC Key Exchange (SKE) library, SILC Math
library, SILC Modules (SIM) library, SILC Utility library, SILC Client
library and few other libraries.