@@ -49,7 +49,7 @@ weight: 0
49
49
- [ 4.1 Authentication] ( #41-authentication )
50
50
- [ 4.1.1 Authenticating on a foreign server] ( #411-authenticating-on-a-foreign-server )
51
51
- [ 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 )
53
53
- [ 4.3 Protection against misuse by malicious home servers] ( #43-protection-against-misuse-by-malicious-home-servers )
54
54
- [ 5. Federation IDs (FIDs)] ( #5-federation-ids-fids )
55
55
- [ 6. Cryptography and ID-Certs] ( #6-cryptography-and-id-certs )
@@ -954,13 +954,15 @@ header value represents the second factor of authentication chosen.
954
954
TOTP verification code. If the chosen second factor of authentication is a password, then the
955
955
value of this header is to be that password.
956
956
957
- ### 4.2 Challenge strings and key trials
957
+ ### 4.2 Key trials
958
958
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
962
962
lifetime, 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.
964
966
965
967
!!! warning
966
968
@@ -1872,7 +1874,7 @@ actor aa as Alice Old (Redirection source)
1872
1874
participant sa as "Alice Old" Home Server
1873
1875
actor ab as Alice New (Redirection target)
1874
1876
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
1876
1878
par Verifying redirect intent by passing key trial
1877
1879
aa->>sa: Request redirect to Alice New
1878
1880
sa-)sa: Confirm "Alice New"<br/>is valid actor by resolving FID
0 commit comments