Skip to content

Commit ca515b8

Browse files
committed
[doc] Update Application Security spec with details of renovated session and proof of work hashing
1 parent 2c13c3b commit ca515b8

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

documentation/security/ApplicationSecurity.rst

+3-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ Session encryption
108108
------------------
109109
To minimize the exposure of users' encryption keys, the keys are stored in an encrypted format and decrypted only upon each client request.
110110

111-
The implementation uses Libsodium's SecretBox, where the client's session key is used as the secret. Only the client maintains a copy of the session key, while the server retains only a SHA-256 hash.
111+
The implementation uses Libsodium's SecretBox, where the client's session key is used as the secret. Only the client maintains a copy of the session key, while the server retains only a SHA-512 hash.
112112

113113
Cookies and xsrf prevention
114114
---------------------------
@@ -358,6 +358,8 @@ Proof of work on users' sessions
358358
--------------------------------
359359
The system implements an automatic `Proof of Work <https://en.wikipedia.org/wiki/Proof_of_work>`__ based on the hashcash algorithm for every user session, requiring clients to request a token and continuously solve a computational problem to acquire and renew the session.
360360

361+
Specifically the algorithm used to perform the hash is Argon2id with requirement of 1 iteration and 1MB of RAM.
362+
361363
Rate limit on users' sessions
362364
------------------------------
363365
The system implements rate limiting on user sessions, preventing more than 5 requests per second and applying increasing delays on requests that exceed this threshold.

0 commit comments

Comments
 (0)