updates
[silc.git] / doc / draft-riikonen-silc-ke-auth-04.nroff
index 479ea7ded0f3b45e99105e2e553d5e6b362771dc..315a91ba6d5f85ad7e7b088b23127e09463bd8dc 100644 (file)
@@ -399,12 +399,17 @@ and the Mutual Authentication flag is not set then the initiator MUST
 NOT provide the signature data.  If the flag is set then the initiator
 MUST provide the signature data so that the responder can verify it.
 
-The Mutual Authentication flag is usually used only if a separate
+The Mutual Authentication flag is usually used when a separate 
 authentication protocol will not be executed for the initiator of the
 protocol.  This is case for example when the SKE is performed between
-two SILC clients.  In normal case, where client is connecting to the
-server, or server is connecting to the router the Mutual Authentication
-flag is not necessary.
+two SILC clients.  In normal case, where client is connecting to a
+server, or server is connecting to a router the Mutual Authentication
+flag may be omitted.  However, if the connection authentication protocol 
+for the connecting entity is not based on public key authentication (it
+is based on passphrase) then it is RECOMMENDED that Mutual Authentication 
+flag is enabled.  This way the connecting entity has to provide proof
+of posession of the private key for the public key it will provide in
+SILC Key Exchange protocol.
 
 When performing re-key with PFS selected this is the only payload that
 is sent in the SKE protocol.  The Key Exchange Start Payload MUST NOT
@@ -610,7 +615,8 @@ Sending Initial Vector (IV)     = hash(0 | KEY | HASH)
 Receiving Initial Vector (IV)   = hash(1 | KEY | HASH)
 Sending Encryption Key          = hash(2 | KEY | HASH)
 Receiving Encryption Key        = hash(3 | KEY | HASH)
-HMAC Key                        = hash(4 | KEY | HASH)
+Sending HMAC Key                = hash(4 | KEY | HASH)
+Receiving HMAC Key              = hash(5 | KEY | HASH)
 .in 3
 
 
@@ -651,9 +657,9 @@ actually sender's sending key, and, the sending key is actually sender's
 receiving key.  Initiator uses generated keys as they are (sending key
 for sending and receiving key for receiving).
 
-The HMAC key is used to create MAC values to packets in the communication
-channel.  As many bytes as needed are taken from the start of the hash
-output.
+The HMAC keys are used to create MAC values to packets in the
+communication channel.  As many bytes as needed are taken from the start
+of the hash output to generate the MAC keys.
 
 These procedures are performed by all parties of the key exchange
 protocol.  This MUST be done before the protocol has been ended by
@@ -956,6 +962,11 @@ sent to the sender and the protocol execution fails.
 This is REQUIRED authentication method to be supported by all SILC
 implementations.
 
+When password authentication is used it is RECOMMENDED that maximum
+amount of padding is applied to the SILC packet.  This way it is not
+possible to approximate the length of the password from the encrypted
+packet.
+
 
 .ti 0
 3.2.2 Public Key Authentication