1 KiB
security
cryptography
A list of cryptographic primitives and every place they're used.
- ed25519 for signing
- user ids
- event signatures
- sha224 for hashes
- item refs/ids
authentication
Authentication is handled by the server. Currently, each session token has an "auth level" (eg. readonly, readwrite). Each endpoint has a minimum auth level required to use. In the future, this will probably be replaced with bitflags/enumflags for more fine grained control over token permissions.
"Fetch event" (for x.files only), "fetch blob", and "fetch thumbnail" can be used without authentication. While this does reduce security, item hashes are already pretty much unguessable, and this makes implementations simpler.
Share links, by design, offer a way to bypass authentication for some things.
Potential problem: anyone can currently cause any server to download
a blob from any other server with ?via
. I'm probably not going to
fix this; i'll deal with potentially unwanted content once a proper dht
is implemented.