]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/man/6/authsrv
games/mix: document -g option, rename tests to examples as it is in the man page
[plan9front.git] / sys / man / 6 / authsrv
index 7c068cb31441f12cf61ac09b68fa6dae3e3b2e6a..7e803849e8509c254b18aea6f331dc61d429af9d 100644 (file)
@@ -94,16 +94,16 @@ client's desired ID on server
 .BR suid )
 .TP
 .I YAc
-client \(-> AS DH public key
+client  AS DH public key
 .TP
 .I YBc
-AS \(-> client DH public key
+AS  client DH public key
 .TP
 .I YAs
-server \(-> AS DH public key
+server  AS DH public key
 .TP
 .I YBs
-AS \(-> server DH public key
+AS  server DH public key
 .TP
 .I RNc
 client's 32-byte random string
@@ -155,7 +155,7 @@ is the client's responsibility.
 .PP
 The protocol to obtain a ticket pair is:
 .TP
-.IR C \(-> A
+.I C→A:
 .IR AuthTreq ,
 .IR IDs ,
 .IR DN ,
@@ -163,7 +163,7 @@ The protocol to obtain a ticket pair is:
 .IR IDc ,
 .IR IDr
 .TP
-.IR A \(-> C
+.I A→C:
 .IR AuthOK ,
 .IR Kc { AuthTc ,
 .IR CHs ,
@@ -228,12 +228,12 @@ The Plan 9 shared key protocol
 allows a client and server to authenticate each other.
 The protocol is:
 .TP
-.IR C \(-> S
+.I C→S:
 .I CHc
 .br
 The client starts by sending a random challenge to the server.
 .TP
-.IR S \(-> C
+.I S→C:
 .IR AuthTreq ,
 .IR IDs ,
 .IR DN ,
@@ -245,7 +245,7 @@ The server replies with a ticket request giving its
 id and authentication domain along with its own 
 random challenge.
 .TP
-.IR C \(-> S
+.I C→S:
 .IR Ks { AuthTs ,
 .IR CHs ,
 .IR IDc ,
@@ -275,7 +275,7 @@ and is therefore allowed to authenticate as
 .IR CHs
 in the authenticator avoids replay attacks.)
 .TP
-.IR S \(-> C
+.I S→C:
 .IR Kn { AuthAs ,
 .IR CHc }
 .br
@@ -284,6 +284,10 @@ proving to the client that it also knows
 .I Kn
 and therefore 
 .I Ks .
+.PP
+The 64-bit shared secret
+.I Kn
+is used as the session secret.
 .SS "Password authenticated key exchange"
 Initially, the server and client keys
 .I Ks
@@ -353,7 +357,7 @@ and
 .I IDc
 is:
 .TP
-.IR C \(-> A
+.I C→A:
 .IR AuthPAK ,
 .IR IDs ,
 .IR DN ,
@@ -363,7 +367,7 @@ is:
 .IR YAs ,
 .I YAc
 .TP
-.IR A \(-> C
+.I A→C:
 .IR AuthOK ,
 .IR YBs ,
 .I YBc
@@ -376,7 +380,7 @@ to establish a single server key
 for
 .IR IDs :
 .TP
-.IR C \(-> A
+.I C→A:
 .IR AuthPAK ,
 .IR \- ,
 .IR DN ,
@@ -385,7 +389,7 @@ for
 .IR IDc ,
 .I YAs
 .TP
-.IR A \(-> C
+.I A→C:
 .IR AuthOK ,
 .I YBs
 .PP
@@ -396,7 +400,7 @@ to establish a single client key
 for
 .IR IDc :
 .TP
-.IR C \(-> A
+.I C→A:
 .IR AuthPAK ,
 .IR \- ,
 .IR \- ,
@@ -405,7 +409,7 @@ for
 .IR IDc ,
 .I YAc
 .TP
-.IR A \(-> C
+.I A→C:
 .IR AuthOK ,
 .I YBc
 .SS "Dp9ik"
@@ -426,12 +430,12 @@ to derive the ticket encryption keys
 and
 .IR Kc :
 .TP
-.IR C \(-> S
+.I C→S:
 .I CHc
 .br
 The client starts by sending a random challenge to the server.
 .TP
-.IR S \(-> C
+.I S→C:
 .IR AuthPAK ,
 .IR IDs ,
 .IR DN ,
@@ -453,7 +457,7 @@ along with its own random challenge
 and its public key
 .IR YAs .
 .TP
-.IR C \(-> S
+.I C→S:
 .IR YBs ,
 .IR Ks { AuthTs ,
 .IR CHs ,
@@ -515,7 +519,7 @@ The random string
 .I RNc
 is used in the derivation of the session secret.
 .TP
-.IR S \(-> C
+.I S→C:
 .IR Kn { AuthAs ,
 .IR CHc ,
 .IR RNs }
@@ -527,7 +531,7 @@ and contributes its random string
 .IR RNs
 for the session secret.
 .PP
-The 2048-bit session secret is derived with a PRF hashing the
+The 2048-bit session secret is derived with HKDF-SHA256 hashing the
 concatenated random strings
 .IR RNc | RNs
 with the the shared secret key
@@ -540,17 +544,17 @@ protocol, followed by the agreed-upon protocol.
 .PP
 The negotiation protocol is:
 .TP
-.IR S \(-> C
+.I S→C:
 .B v.2
 .IB proto@authdom
 .IB proto@authdom
 .I ...
 .TP
-.IR C \(-> S
+.I C→S:
 .I proto
 .I dom
 .TP
-.IR S \(-> C
+.I S→C:
 .B OK
 .PP
 Each message is a NUL-terminated UTF string.
@@ -586,23 +590,23 @@ authentication files
 and
 .IR attach (5)).
 Other services, such as
-.IR cpu (1)
+.IR cpu (1),
+.IR exportfs (4)
 and
-.IR exportfs (4),
+.IR tlssrv (8)
 run
 .I p9any
-over the network and then 
-use
-.I Kn
-to derive an
+over the network and then use the session secret to derive an
 .IR ssl (3)
+or
+.IR tls (3)
 key to encrypt the rest of their communications.
 .SS "Password Change
 Users connect directly to the AS
 to change their passwords.
 The protocol is:
 .TP
-.IR C \(-> A
+.I C→A:
 .IR AuthPass ,
 .IR \- ,
 .IR \- ,
@@ -612,7 +616,7 @@ The protocol is:
 .br
 The client sends a password change ticket request.
 .TP
-.IR A \(-> C
+.I A→C:
 .IR Kc { AuthTp ,
 .IR CHc ,
 .IR IDc ,
@@ -624,7 +628,7 @@ The server responds with a ticket containing the key
 encrypted with the client's key
 .IR Kc
 .TP
-.IR C \(-> A
+.I C→A:
 .IR Kn { AuthPass ,
 .IR old ,
 .IR new ,
@@ -643,7 +647,7 @@ the user's
 .IR secret ,
 the password used for non-Plan 9 authentications.
 .TP
-.IR A \(-> C
+.I A→C:
 .I AuthOK
 or
 .IR AuthErr ,
@@ -727,7 +731,7 @@ message is expected, a
 message may be substituted.
 .de Ok
 .TP
-.IR A \(-> S
+.I A→S:
 .IR AuthOK ,
 .IR Ks { AuthTs ,
 .IR CHs ,
@@ -739,7 +743,7 @@ message may be substituted.
 ..
 .PP
 .TP
-.IR S \(-> A
+.I S→A:
 .IR AuthChal ,
 .IR \- ,
 .IR DN ,
@@ -747,11 +751,11 @@ message may be substituted.
 .IR IDs ,
 .IR IDc
 .TP
-.IR A \(-> S
+.I A→S:
 .IR AuthOK ,
 .IR challenge
 .TP
-.IR S \(-> A
+.I S→A:
 .IR response
 .Ok
 .IP
@@ -759,7 +763,7 @@ This protocol allows the use of
 handheld authenticators such as SecureNet
 keys and SecureID tokens
 in programs such as
-.IR ssh (1)
+.I telnetd
 and
 .I ftpd
 (see
@@ -811,7 +815,7 @@ lines map from Plan 9 user ids to RADIUS ids.
 Users not listed are assumed to have the
 same id in both places.
 .TP
-.IR S \(-> A
+.I S→A:
 .IR AuthApop ,
 .IR \- ,
 .IR DN ,
@@ -819,11 +823,11 @@ same id in both places.
 .IR IDs ,
 .IR \-
 .TP
-.IR A \(-> S
+.I A→S:
 .IR AuthOKvar ,
 .IR challenge
 .TP
-.IR S \(-> A 
+.I S→A:
 .IR AuthApop ,
 .IR \- ,
 .IR DN ,
@@ -862,7 +866,7 @@ is the keyed MD5 hash using the user's secret as the key
 in
 .IR sechash (2)).
 .TP
-.IR S \(-> A
+.I S→A:
 .IR AuthChap ,
 .IR \- ,
 .IR DN ,
@@ -870,10 +874,10 @@ in
 .IR IDs ,
 .IR \-
 .TP
-.IR A \(-> S
+.I A→S:
 .I challenge
 .TP
-.IR S \(-> A
+.I S→A:
 .IR pktid ,
 .IR IDc ,
 .IR response
@@ -892,7 +896,7 @@ The reply packet is defined as
 in
 .BR <authsrv.h> .
 .TP
-.IR S \(-> A
+.I S→A:
 .IR AuthMSchap ,
 .IR \- ,
 .IR DN ,
@@ -900,10 +904,10 @@ in
 .IR IDs ,
 .IR \-
 .TP
-.IR A \(-> S
+.I A→S:
 .I challenge
 .TP
-.IR S \(-> A
+.I S→A:
 .IR IDc ,
 .IR lm-response ,
 .IR nt-response
@@ -924,7 +928,7 @@ The reply packet is defined as
 in
 .BR <authsrv.h> .
 .TP
-.IR S \(-> A
+.I S→A:
 .IR AuthVNC ,
 .IR \- ,
 .IR DN ,
@@ -932,11 +936,11 @@ in
 .IR IDs ,
 .IR IDc
 .TP
-.IR A \(-> S
+.I A→S:
 .IR AuthOKvar ,
 .I challenge
 .TP
-.IR S \(-> A
+.I S→A:
 .I response
 .Ok
 .IP