Users

Authentication service endpoints

Initiate 2FA operation

STRIDE propertyRequirementRemark
AuthenticationOnly local clients can initiate a 2FA operation
IntegrityNot a risk. The entry in the DB are ephemeral and scoped to the client's ID
Non-repudiationNot a risk. The client needs to be authenticated, but not otherwise traced
ConfidentialityNot a risk. There is no confidential data in the query
AvailabilityClients should always be able to initiate 2FA operations
AuthorizationNot a risk. All clients should be allowed to initiate 2FA operations
Spam preventionNot a risk. The operation is not message-sending or otherwise enables spam

Initiate user registration

STRIDE propertyRequirementRemark
AuthenticationNot a risk. Anyone should be able to initialize user registration
IntegrityThe client_csr included in the request must be validated (e.g. user id must be unique)
Non-repudiationNot a risk. The client does not need to be identified beyond the client_csr
ConfidentialityNot a risk as long as basic confidentiality and authentication requirements hold
AvailabilityIt is not critical that new users be able to register and the endpoint can be disabled to mitigate an ongoing attack
AuthorizationNot a risk. Everyone should be able to initiate registration
Spam preventionUser registration is a big potential amplifier for spam and measures need to be taken to prevent sybil attacks

Finish user registration

STRIDE propertyRequirementRemark
AuthenticationOnly clients that have initialized user registration before should be able to call this endpoint
The OPAQUE setup must be completed successfully
IntegrityThe KeyPackage in the query parameters must be a valid KeyPackage with a valid credential for the calling client
Non-repudiationNot a risk. There is no need to trace this operation
ConfidentialityNot a risk as long as basic confidentiality and authentication requirements hold
AvailabilityIt is not critical that new users be able to register and the endpoint can be disabled to mitigate an ongoing attack
AuthorizationNot a risk. Only clients that have previously initiated registration should be able to complete it
Spam preventionUser registration is a big potential amplifier for spam and measures need to be taken to prevent sybil attacks

User account deletion

STRIDE propertyRequirementRemark
AuthenticationOnly the user's own clients should be able to delete the user's account
Account deletion should require multiple factors
IntegrityNot a risk. All user data is deleted
Non-repudiationNot a risk. Account deletion does not need to be traced
ConfidentialityNot a risk as long as basic confidentiality and authentication requirements hold
AvailabilityUsers must always be able to delete their own account
AuthorizationUsers must only be able to delete their own account
Spam preventionNot a risk. Account deletion should not be message sending

Dequeue messages

STRIDE propertyRequirementRemark
AuthenticationClients should only be able to dequeue messages from their own queue
IntegrityOutdated messages (sequence numbers lower than sequence_number_start) must be deleted from the queue
Non-repudiationNot a risk. Message dequeuing need not be traced
ConfidentialityNot a risk as long as basic confidentiality and authentication requirements hold
AvailabilityClients must always be able to dequeue messages from their own queue
AuthorizationClients must only be able to dequeue messages from their own queue
Spam preventionDequeuing messages is not a message sending operation

Enqueue message

STRIDE propertyRequirementRemark
AuthenticationNot a risk. All clients should be able to enqueue messages into the queues of all other clients
IntegrityNot a risk.
Non-repudiationNot a risk. Clients must be able to enqueue messages anonymously
ConfidentialityBasic confidentiality and authentication requirements must hold
Enqueued messages must be encrypted according to the specification
AvailabilityThe ability to enqueue messages for a given client might be deactivated or rate-limited if there is increased spam activity
AuthorizationNot a risk. All clients may enqueue messages for all other clients
Spam preventionEnqueuing messages entails a high spam risk. Message enqueuing should be heavily rate-limited