The SILC Project

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

silc/TODO-SILC

  1 SILC Protocol
  2 =============
  3 
  4 Possible SILC protocol and specification document changes.  All of these
  5 are tentative and doesn't mean that any of them would be done at any
  6 point.
  7 
  8  o Full rework of the documents as requested by RFC Editor.  The plan
  9    is to create only two documents:
 10 
 11    silc-architecture-xx.txt
 12    silc-specification-xx.txt
 13 
 14  o Make @ reserved character in channel names.  Accept channel@server
 15    names in all commands and notify types.
 16 
 17  o Add acknowlegments section to specification documents.
 18    
 19  o Group Diffie-Hellman protocol for establishig key with two or more
 20    users on a channel.
 21 
 22  o Change CTR mode description:
 23 
 24     Truncated HASH from SKE (4 bytes) - This value is the first 4
 25     bytes from the HASH value that was computed as a result of SKE
 26     protocol.  This acts as session identifier and each rekey MUST
 27     produce a new HASH value.
 28 
 29    to
 30 
 31     Truncated HASH from SKE (4 bytes) - This value is the first 4
 32     bytes from the HASH value that was computed in SKE.  In each rekey 
 33     the value MUST be recomputed as follows:
 34 
 35       HASH = hash(new Sending/Receiving IV from SKE)
 36 
 37     The hash function is the one used in SKE.  The 'new Sending/Receiving 
 38     IV from SKE' is the first 8 bytes of the new value computed during 
 39     rekey.  The first 4 bytes are used from the recomputed HASH.
 40 
 41  o Extend the Channel ID port to be actually a counter, allowing the
 42    2^32 channels per cell, instead of 2^16 like now.  The port with
 43    compliant implementation would always be 706, and it could be used
 44    as a counter, starting from 706... For interop, with old code.
 45 
 46  o In SKE with UDP/IP responder doesn't have to do retransmissions.
 47    Initiator will retransmit its packet.  Initiator can be considered
 48    the one that actually WANTs to establish the keys.  So no need for
 49    responder to retransmit.  Define this clearly in the specs.
 50 
 51  o Define clearly that the DSS signature format is the the Dss-Sig-Value
 52    ASN.1 encoding defined for PKIX.
 53 
 54  o Define clearly the SSH2 signature format is the one specified for SSH2
 55    protocol.
 56 
 57  o Dynamic server and router connections, ala Jabber.  SILC has allowed 
 58    this from the beginning.  It should be written out clearly in the
 59    specs.  Connection would be created with nick strings (which are of
 60    format nick@server).
 61 
 62  o NAT detection protocool during SKE so that party behind NAT can 
 63    detect if it is behind NAT and receive the public IP address and port
 64    that it may need (servers need it to create valid Server ID).  (***DONE)
 65 
 66  o Counter block send/receive IV 64 bits instead of 32 bits, and the
 67    value itself is used as 64-bit MSB ordered counter, which must
 68    be reset before the packet sequence counter wraps.  It's basically
 69    a counter which is initially set to a random value. (***DONE)
 70 
 71  o Nickname to NEW_CLIENT packet. (***DONE)
 72 
 73  o Add Source and Destination ID in message MAC computation to fully
 74    associate the Message Payload with the true sender and the true
 75    recipient of the message.  This will fix some security issues that
 76    currently exists.  It is currently possible in some specific set of 
 77    conditions to mount a replay attack using Message Payload.  This change
 78    will remove the possibility of these attacks.
 79 
 80    After including Source and Destination ID in message MAC, ONLY replay
 81    attack possible is the following and with ONLY following conditions:
 82 
 83    1. the attacker is able to record encrypted Message Payloads and has
 84       the ability to replay them.
 85    2. the message payload is encrypted with static private message key
 86    3. the original sender of the message is not anymore in the network,
 87       has changed nickname, has detached and resumed, or has reconnected
 88       to other server.
 89    4. the original receiver of the message is still in the network, has
 90       not changed nickname, has not detached and resumed, and has not  
 91       reconnected to any other server, or, some other user has the same
 92       client ID.
 93    5. the attacker is able to get the same client ID as the original   
 94       sender.
 95    6. the original receiver still has the static key set for the same  
 96       remote client ID (for original sender's client ID).
 97 
 98    All this is possible to happen though likelyhood is quite small.  It
 99    does illustrate how inappropriate the use of static keys is. (***DONE)
100 
101  o The SILC public key identifier separator is ', ' not ','.  The
102    whitespace is mandatory. (***DONE)
103    
104  o Definition of EAP as new authentication method for connection auth
105    protocol (RFC 3748).
106 
107  o Count limit to LIST command?
108 
109  o Strict announces if Channel ID is different than on router?  To not
110    allow any modes, topic, etc changes from server if the ID was wrong
111    initially?  Meaning: riding with netsplits not possible since the
112    channel created during split will not enforce is modes to the
113    router.  Or more liberal solution, like now?  Read emails on
114    silc-users.  (This is very old issue)
115 
116  o The time values in STATS is 32-bits.  After 2038 it's over 32-bits.
117 
118  o Consider for future authenticated encryption modes.

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