updates.
authorPekka Riikonen <priikone@silcnet.org>
Mon, 12 Nov 2001 17:20:38 +0000 (17:20 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 12 Nov 2001 17:20:38 +0000 (17:20 +0000)
doc/FAQ
doc/draft-riikonen-silc-commands-02.nroff

diff --git a/doc/FAQ b/doc/FAQ
index 44d9056616ea846ee217ec0b40335a980a4c70da..951940c04a7a7297483000769d6fa879d92b3cc9 100644 (file)
--- a/doc/FAQ
+++ b/doc/FAQ
-Frequently Asked 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 superficially resembles IRC 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: When SILC will be completed?
-A: SILC still has a lot things to do.  The time of completion is much
-   related to how many interested people is willing to join the effort.
-   It will be ready when it is ready.  The reason for release of the
-   current development version is just to get it out and people aware
-   that something like this exist.
-
-
-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 leaved 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
+   Frequently Asked Questions
+
+   [16]1. General Questions
+       [17] 1.1 What is SILC?
+       [18] 1.2 When was SILC Project started?
+       [19] 1.3 Why SILC in the first place?
+       [20] 1.4 What license covers the SILC release?
+       [21] 1.5 Why SILC? Why not IRC3?
+       [22] 1.6 What platforms SILC supports?
+       [23] 1.7 Where can I find more information?
+       [24] 1.8 I would like to help out, what can I do?
+
+   [25]2. Protocol Questions
+       [26] 2.1 What is the status of SILC protocol in the IETF?
+       [27] 2.2 How much the SILC protocol is based on IRC?
+       [28] 2.3 Why use SILC? Why not IRC with SSL?
+       [29] 2.4 Can I talk from SILC network to IRC network?
+       [30] 2.5 Does SILC support file transfer?
+       [31] 2.6 Does SILC support DCC or alike?
+       [32] 2.7 I am behind a firewall, can I use SILC?
+       [33] 2.8 How secure SILC really is?
+       [34] 2.9 Does SILC support instant messaging?
+       [35] 2.10 Why SILC does not have LINKS command like in IRC?
+       [36] 2.11 Why SILC does not have STATS command like in IRC?
+       [37] 2.12 Is anyone outside a channel able to see the channel
+   messages?
+       [38] 2.13 I have suggestions to SILC Protocol, what can I do?
+
+   [39]3. Client Questions
+       [40] 3.1 Where can I find SILC clients?
+       [41] 3.2 Can I use SILC with IRC client and vice versa?
+
+   [42]4. Server Questions
+       [43] 4.1 Where can I find SILC servers?
+       [44] 4.2 Can I run own SILC server?
+       [45] 4.3 What is the difference between SILC server and SILC
+   router?
+       [46] 4.4 Why server says permission denied to write to a log file?
+       [47] 4.5 When I connect to to my server, it says "server does not
+   support one of your proposed cipher", what is wrong?
+
+   [48]5. Toolkit Questions
+       [49] 5.1 What is SILC Toolkit?
+       [50] 5.2 Is the SILC Toolkit Reference Manual Available?
+       [51] 5.3 How do I compile the Toolkit on Unix?
+       [52] 5.4 How do I compile the Toolkit on Win32?
+       [53] 5.5 Does the Toolkit package include any sample code?
+
+   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.
 
    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, 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
+   [54]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 [55]Contributing page and the
+   [56]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 [57]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: Yes. The SILC protocol support SFTP as mandatory file transfer
+   protocol. It provides simple client to client file transfer, but also
+   a possibility for file and directory manipulation. Even though the
+   SFTP is the file transfer protocol the support for file transferring
+   has been done so that practically any file transfer protocol may be
+   used with SILC protocol.
+
+   Q: Does SILC support DCC or alike?
+   A: SILC does not support the DCC commonly used in IRC. It does not
+   need it since it has builtin support for same features that DCC have.
+   You can transfer files securely and encrypted directly with another
+   client. You can also negotiate secret key material with another client
+   directly to use it in private message encryption. The private messages
+   are not, however sent directly between clients. The protocol, on the
+   hand does not prohibit sending messages directly between clients if
+   the implementation would support it. The current SILC Client
+   implementation does not support it. This means that private messages
+   travel through the SILC Network. SILC protocol also has a capability
+   to support DCC and CTCP like protocols with SILC. None of them,
+   however have not been defined to be used with SILC at the present
+   time.
+
+   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
 
    But to give you some parameters of security SILC uses the most secure
-   crytographic algorithms such as Blowfish, RC5, Twofish, 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
-   and Diffie Hellman algorithms.  Key lengths for ciphers are initially
-   set to 128 bits but many algorithm supports longer keys.  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.
+   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:
 
 
    To give a list of attacks that are ineffective against SILC:
 
-      o 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.
+   - 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", connection-oriented
+   chat and that kind of stuff. But I guess IRC is too called an Instant
+   Messaging system.
+
+   Q: Why SILC does not have LINKS command like in IRC?
+   A: It was felt that this information as an own command in SILC is not
+   necessary. Moreover, the topology of the network might be undisclosed
+   information even though the servers and routers in the network are
+   still open. We feel that the network topology information, if it is
+   wanted to be public, and the list of accessible servers can be made
+   available in other ways than providing command like LINKS, which shows
+   the active server links in IRC.
+
+   Q: Why SILC does not have STATS command like in IRC?
+   A: This too was considered as information that the protocol should not
+   address. We feel that server implementations will need to implement
+   some sort of adminstrative plugin, or module which provides various
+   means of accessing statistical and other information in the server.
+   And, we do consider this implementation issue, not protocol design
+   issue.
+
+   Q: Is anyone outside a channel able to see the channel messages?
+   A: A short answer is simply No. A longer answer involves assumptions
+   about security conditions. Initially channel keys are generated by the
+   server, so if the server would get compromised it would be possible
+   for an adversary to see the messages. However, users on the channel
+   can prevent this even if the server would be compromised. It is
+   possible to set so called channel private key that only the users on
+   the channel know about. The servers does not know about the key, and
+   therefore cannot see the messages even if they would be compromised.
+   So, longer answer results into same as the short one; No.
+
+   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 [58]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.
+
+   Q: Why server says permission denied to write to a log file?
+   A: The owner of the log files must be same user that the server is run
+   under, by default it is user `nobody'. Just change the permissions and
+   try again.
+
+   Q: When I connect to my server it says "server does not support one of
+   your proposed ciphers", what is wrong?
+   A: Most likely the ciphers and others has not been compiled as SIMs
+   (modules) and they are configured as modules in the silcd.conf. If
+   they are not compiled as modules remove the module paths from the
+   ciphers and hash functions from the silcd.conf, so that the server use
+   the builtin ciphers. Then try connecting to the server again. It is
+   also possible that the client IS proposing some ciphers that your
+   server does not support.
+
+   5. Toolkit Questions
 
 
-      o IP spoofing is ineffective (because of encryption and trusted 
-        keys).
+   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.
 
 
-      o Attacks that change the contents of the data or add extra
-        data to the packets are ineffective (because of encryption and
-        integrity checks).
+   Q: Is the SILC Toolkit Reference Manual Available?
+   A: Yes, partially completed reference manual is available in the
+   Toolkit releases as HTML package and they are available from the
+   silcnet.org website as well at the [59]documentation page.
 
 
-      o Passive attacks (listenning network traffic) are ineffective
-        (because of encryption).  Everything is encrypted including
-        authentication data such as passwords when they are needed.
+   Q: How do I compile the Toolkit on Unix?
+   A: You should read the INSTALL file from the package and follow its
+   instructions. The compilation on Unix is as simple as compiling any
+   other SILC package. Give, `./configure' command and then `make'
+   command.
 
 
-      o Any sort of cryptanalytic attacks are tried to make ineffective
-        by using the best cryptographic algorithms out there.
+   Q: How do I compile the Toolkit on Win32?
+   A: We have prepared instructions to compile the Toolkit on Win32 in
+   the Toolkit package. Please, read the README.WIN32 file from the
+   package for detailed instructions how to compile the Toolkit for
+   Cygwin, MinGW and native Win32 systems. We have also prepared ready
+   MSVC++ Workspace files in the win32/ directory in the package that
+   will compile automatically the Toolkit.
 
 
+   Q: Does the Toolkit package include any sample code?
+   A: Yes, naturally. It includes sample codes for two different SILC
+   Client implementations, and SILC Server. Win32 samples are included in
+   the win32/ directory, for simple client.
 
 
-More to come later...
index f9575ad565d5d5372d65a3d91121f009c3474944..df91216870114c480d2ce917d0100d1c545cb913 100644 (file)
@@ -8,7 +8,7 @@
 .ds RF FORMFEED[Page %]
 .ds CF
 .ds LH Internet Draft
 .ds RF FORMFEED[Page %]
 .ds CF
 .ds LH Internet Draft
-.ds RH XXX
+.ds RH 13 November 2001
 .ds CH
 .na
 .hy 0
 .ds CH
 .na
 .hy 0
@@ -16,8 +16,8 @@
 .nf
 Network Working Group                                        P. Riikonen
 Internet-Draft
 .nf
 Network Working Group                                        P. Riikonen
 Internet-Draft
-draft-riikonen-silc-commands-02.txt                     XXX
-Expires: XXX
+draft-riikonen-silc-commands-02.txt                     13 November 2001
+Expires: 13 May 2002
 
 .in 3
 
 
 .in 3
 
@@ -75,12 +75,12 @@ Table of Contents
 2 SILC Commands .................................................  2
   2.1 SILC Commands Syntax ......................................  2
   2.2 SILC Commands List ........................................  4
 2 SILC Commands .................................................  2
   2.1 SILC Commands Syntax ......................................  2
   2.2 SILC Commands List ........................................  4
-  2.3 SILC Command Status Types ................................. 32
-      2.3.1 SILC Command Status Payload ......................... 32
-      2.3.2 SILC Command Status List ............................ 32
-3 Security Considerations ....................................... 37
+  2.3 SILC Command Status Types ................................. 33
+      2.3.1 SILC Command Status Payload ......................... 33
+      2.3.2 SILC Command Status List ............................ 33
+3 Security Considerations ....................................... 38
 4 References .................................................... 38
 4 References .................................................... 38
-5 Author's Address .............................................. 39
+5 Author's Address .............................................. 40
 
 
 .ti 0
 
 
 .ti 0
@@ -1928,6 +1928,12 @@ security of this protocol.
              Requirement Levels", BCP 14, RFC 2119, March 1997.
 
 
              Requirement Levels", BCP 14, RFC 2119, March 1997.
 
 
+
+
+
+
+
+
 .ti 0
 5 Author's Address
 
 .ti 0
 5 Author's Address
 
@@ -1939,5 +1945,5 @@ Finland
 
 EMail: priikone@silcnet.org
 
 
 EMail: priikone@silcnet.org
 
-This Internet-Draft expires XXX
+This Internet-Draft expires 13 May 2002