@@ -49,7 +49,7 @@ weight: 0
4949 - [ 4.1 Authentication] ( #41-authentication )
5050 - [ 4.1.1 Authenticating on a foreign server] ( #411-authenticating-on-a-foreign-server )
5151 - [ 4.1.2 Sensitive actions] ( #412-sensitive-actions )
52- - [ 4.2 Challenge strings and key trials] ( #42-challenge-strings-and -key-trials )
52+ - [ 4.2 Key trials] ( #42-key-trials )
5353 - [ 4.3 Protection against misuse by malicious home servers] ( #43-protection-against-misuse-by-malicious-home-servers )
5454 - [ 5. Federation IDs (FIDs)] ( #5-federation-ids-fids )
5555 - [ 6. Cryptography and ID-Certs] ( #6-cryptography-and-id-certs )
@@ -954,13 +954,15 @@ header value represents the second factor of authentication chosen.
954954 TOTP verification code. If the chosen second factor of authentication is a password, then the
955955 value of this header is to be that password.
956956
957- ### 4.2 Challenge strings and key trials
957+ ### 4.2 Key trials
958958
959- Servers use challenge strings to verify an actor's private identity key
960- possession without revealing the private key itself. These strings , ranging from 32 to 256
961- UTF-8 characters, have a UNIX timestamp lifetime. If the current timestamp surpasses this
959+ Servers use key trials to verify that an actor possesses the private key to their ID-Cert(s),
960+ without revealing the private key itself. These key trials contain a "trial string" , ranging from 32
961+ to 256 UTF-8 characters, have a UNIX timestamp lifetime. If the current timestamp surpasses this
962962lifetime, the challenge fails. The actor signs the string, sending the signature and their
963- ID-Cert to the server, which then verifies the signature's authenticity.
963+ ID-Cert to the server, which then verifies the signature's authenticity. The trial string is to be
964+ sourced from a (pseudo-)random RNG with a high entropy value. Trial string uniqueness is a key factor
965+ in preventing replay attacks.
964966
965967!!! warning
966968
@@ -1872,7 +1874,7 @@ actor aa as Alice Old (Redirection source)
18721874participant sa as "Alice Old" Home Server
18731875actor ab as Alice New (Redirection target)
18741876
1875- Note over aa, ab: These steps may be done in any order<br/>and are not necessarily sequential
1877+ Note over aa, ab: These two steps may be done in any order<br/>and are not necessarily sequential
18761878par Verifying redirect intent by passing key trial
18771879 aa->>sa: Request redirect to Alice New
18781880 sa-)sa: Confirm "Alice New"<br/>is valid actor by resolving FID
0 commit comments