updates.
[silc.git] / public_html / faq.php
1 <b>Frequently Asked Questions</b>
2 <font size="2">
3 <br><br>
4 <font color="#2f486f">Q: What is SILC?</font><br>
5 A: SILC (Secure Internet Live Conferencing) is a protocol which provides
6 secure conferencing services in the Internet over insecure channel. SILC
7 is IRC like although internally they are very different. Biggest
8 similarity between SILC and IRC is that they both provide conferencing
9 services and that SILC has almost same commands as IRC. Other than that
10 they are nothing alike.
11 <br><br>
12 Biggest differences are that SILC is secure what IRC is not in any way.
13 The network model is also entirely different compared to IRC.
14 <br><br>
15 <font color="#2f486f">Q: Why SILC in the first place?</font><br>
16 A: Simply for fun, nothing more. An actually for need back then when it
17 was started. SILC has been very interesting and educational project.
18 <br><br>
19 <font color="#2f486f">Q: Why use SILC? Why not IRC with SSL?</font><br>
20 A: Sure, that is possible, although, does that secure the entire IRC
21 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.
22 <br><br>
23 <font color="#2f486f">Q: Can I use SILC with IRC client? What about can I use IRC with SILC client?</font><br>
24 A: Answer for both question is no. IRC client is in no way compatible
25 with SILC server. SILC client cannot currently use IRC but this may
26 change in the future if IRC support is added to the SILC client. After
27 that one could use both SILC and IRC with the same client. Although, even
28 then one cannot talk from SILC network to IRC network. That just is not
29 possible.
30 <br><br>
31 <font color="#2f486f">Q: Why client/server protocol is based on IRC? Would it be more interesting to implement something extensible and more powerful?</font><br>
32 A: They are not, not the least. Have you read the protocol specification?
33 The client superficially resembles IRC client but everything that happens
34 under the hood is nothing alike IRC. SILC could *never* support IRC
35 because the entire network toppology is different (hopefully more scalable
36 and powerful). So no, SILC protocol (client or server) is not based on
37 IRC. Instead, I've taken good things from IRC and left all the bad things
38 behind and not even tried to burden myself with the IRC caveats that will
39 burden IRC and future IRC projects til the end. SILC client resembles IRC
40 client because it is easier for new users to start using SILC when they
41 already know all the commands.
42 <br><br>
43 <font color="#2f486f">Q: Why SILC? Why not IRC3?</font><br>
44 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.
45 <br><br>
46 But, IRC3 is problematic. Why? Because it still doesn't exist. The
47 project is at the same spot where it was in 1997 when I checked it out.
48 And it was old project back then as well. Couple of months ago I checked
49 it again and nothing were happening. That's the problem of IRC3 project.
50 The same almost happened to SILC as well as I wasn't making real progress
51 over the years. I talked to the original author of IRC, Jarkko Oikarinen,
52 in 1997 and he directed me to the IRC3 project, although he said that
53 IRC3 is a lot of talking and not that much of anything else. I am not
54 trying to put down the IRC3 project but its problem is that no one in the
55 project is able to make a decision what is the best way to go about
56 making the IRC3 and I wasn't going to be part of that. The fact is that
57 if I would've gone to IRC3 project, nor IRC3 or SILC would exist today. I
58 think IRC3 could be something really great if they just would get their
59 act together and start coding the thing.
60 <br><br>
61 <font color="#2f486f">Q: How secure SILC really is?</font><br>
62 A: A good question which I don't have a answer. SILC has been tried to
63 make as secure as possible. However, there is no security protocol or
64 security software that has not been vulnerable to some sort of attacks.
65 SILC is in no means different from this. So, it is suspected that there
66 are security holes in the SILC. These holes just needs to be found so
67 that they can be fixed.
68 <br><br>
69 But to give you some parameters of security SILC uses the most secure
70 crytographic algorithms such as AES, Twofish, Blowfish, RC5, etc. SILC
71 does not have DES or 3DES as DES is insecure and 3DES is just too slow.
72 SILC also uses cryptographically strong random number generator when it
73 needs random numbers. Public key cryptography uses RSA (PKCS #1) and
74 Diffie Hellman algorithms. Key lengths for ciphers are initially set to
75 256. For public key algorithms the starting key length is 1024 bits.
76 <br><br>
77 But the best answer for this question is that SILC is as secure as its
78 weakest link. SILC is open and the protocol is open and in public thus
79 open for security analyzes.
80 <br><br>
81 To give a list of attacks that are ineffective against SILC:
82 <br><br>
83 - Man-in-the-middle attacks are ineffective if proper public key
84 infrastructure is used. SILC is vulnerable to this attack if the public
85 keys used in the SILC are not verified to be trusted (as any other
86 protocol for that matter).<br>
87 - IP spoofing is ineffective (because of encryption and trusted keys).<br>
88 - Attacks that change the contents of the data or add extra data to the
89 packets are ineffective (because of encryption and integrity checks).<br>
90 - Passive attacks (listenning network traffic) are ineffective (because
91 of encryption). Everything is encrypted including authentication data
92 such as passwords when they are needed.<br>
93 - Any sort of cryptanalytic attacks are tried to make ineffective by
94 using the best cryptographic algorithms out there.<br>
95 <br><br>
96 <i>More to come later...</i>
97 </font>
98 <br><br>