News for hackers. Stuff that matters.
Re:What should the next chat app look like? by GuidoW on Monday April 12, 2021 @03:24PM (#26783932)
My beef with many chat apps is to have to authenticate with my telephone number or an email address. Both are hard to acquire in sufficient quantities for a 'normal' user.

So I came up with a decentralised authentication system.

It offers easy key exchange between total strangers. Once they create an private channel there is no way for authorities to take it back.

Here's the protocol:

Signup: - each site operates an automated CA; - an account is a nickname and public key; - the sites' CA creates a certificate binding the nickname, public key and site-root-CA together; - the user's User Agent does the hard work of the crypto.

Requirement: the nickname and public key have not been seen before, the CA rejects when either has seen before. This creates a one-to-one mapping between nicknames and public keys. This one-to-one relationship will be verified. All hell breaks lose for the automated CA that cannot comply with that simple requirement: uniqueness.

Posting messages: - users can create as many accounts at each site; - users can post public messages at that site, the messages are signed using the account's private key.

Reading messages: - the site publishes the message signature along with the message (perhaps hidden with CSS); - the user's user agent verifies the signature; - if the signature matches, (and the uniqness requirement holds) the agent offers the user the option to write a private message, encrypted using the public key that has been validated form the signature.

The reader then writes a private message to the writer of a post. The site delivers it (or not). But if yes, then we have a successful key exchange between two people who have never met in real life!

To repeat: This does not give any certainty about the person behind the signed message, all it offers is a key exchange between strangers.

This opens new avenues. Suppose the reader (of the message) starts a tor hidden service and sends the onion address to the writer. When the writer wants to, he connects to the reader, both authenticate using their private keys and set up a session key. They now have a secure channel, independent of the site. In fact, when the site gets censored, this channel remains.

I wrote a lot about it this on my site: https://eccentric-authentication.nl/

There are no comments on this comment yet.