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: Why SILC in the first place?
A: Simply for fun, nothing more. An actually for need back then when it
was started. SILC has been very interesting and educational project.
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? 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 use SILC with IRC client? What about can I use IRC with SILC client?
A: Answer for both question is no. IRC client is in no way compatible
with SILC server. SILC client cannot currently use IRC but this may
change in the future if IRC support is added to the SILC client. After
that one could use both SILC and IRC with the same client. Although, even
then one cannot talk from SILC network to IRC network. That just is not
possible.
Q: Why client/server protocol is based on IRC? Would it be more interesting to implement something extensible and more powerful?
A: They are not, not the least. Have you read the protocol specification?
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, I've taken good things from IRC and left all the bad things
behind and not even tried to burden myself with the IRC caveats that will
burden IRC and future IRC projects til 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 SILC? Why not IRC3?
A: Question that is justified no doubt of that. I didn't start doing SILC to be 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 at the same spot where it was in 1997 when I checked it out. And it was old project back then as well. Couple of months ago I checked it again and nothing were happening. 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: How secure SILC really is?
A: A good question which I don't have a answer. SILC has been tried to
make 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 needs 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, 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 analyzes.
To give a list of attacks that are ineffective against SILC:
More to come later...