RSA Blind Signature Authorisations

It’s useful for privacy to decouple authentication from request authorisation. When you sign in to Venice, you’re getting back a session cookie that you use to authenticate your requests to the chat endpoint.

https://en.wikipedia.org/wiki/Blind_signature#Blind_RSA_signatures

Instead, when you authenticate, your client can generate a blinded RSA token, and the authentication backend can sign that and return the signature to the client which can unblind it. The signed, unblinded token can be eligible for some number of requests / inferences / tokens. The client can use that signed token to authenticate its requests to the chat endpoint, which can track that token’s usage until it’s depleted.

The purpose of this is create a decoupled zero-knowledge relationship between the account information and the authorisation to consume resources.

If you use a zero knowledge SNARK to construct the blinded message, you can construct a more fine-grained partially blind message which the authentication backend can sign. As long as the constructed message is indistinct from the messages signed for other users, it’s k-anonymous to some degree.

Implementing this is pretty straightforward. I’d be happy to consult / help implement.

Please authenticate to join the conversation.

Upvoters
Status

Backlog

Board
💡

Feature Requests

Tags

Privacy

Date

About 1 year ago

Author

An Anonymous User

Subscribe to post

Get notified by email when there are changes.