💾 Archived View for bbs.geminispace.org › s › misfin › 17626 captured on 2024-07-09 at 07:02:50. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-06-20)

🚧 View Differences

-=-=-=-=-=-=-

Gemini connections are TOFU encrypted. Are all Misfin transactions conducted the same way, or is it optional? Any opinions on the privacy implications of using Misfin?

Posted in: s/misfin

🚀 blah_blah_blah

Jun 03 · 5 weeks ago

5 Comments ↓

😺 gemalaya · Jun 03 at 20:33:

@blah_blah_blah Hello. Here's what the original spec (by lem) says:

3.2 Certificate validation

Misfin clients and servers send certificates during a transaction, but have no obligation to verify these certificates; however, this is highly, highly discouraged.

Like Gemini, the default validation method for certificates is TOFU, or Trust on First Use. Misfin clients and servers should store the fingerprint of a received certificate the first time it is received, and subsequent certificates from that client or server should be matched against the stored fingerprint.

— https://git.sr.ht/~lem/misfin/tree/master/item/specification.gmi

🐐 satch · Jun 03 at 21:25:

Misfin messages are not end to end encrypted by default, but they are encrypted over the wire. End to end encryption is perfectly compatible with misfit but out of scope for the spec.

😺 gemalaya · Jun 03 at 21:43:

By the way here's the cert validation method in the python impl :) Not even sure TOFU is implemented.

def _validate_nothing(conn, cert, err, depth, rtrn):
    """ Callback that lets us steal certificate verification from OpenSSL. """
    """
    This is !!!DANGEROUS!!! but necessary to allow us to accept
    self-signed certs.
    """
    return True

😎 decant · Jun 04 at 01:20:

what is the role of client cert in the whole scheme? Is the client/server public keys used to wrap up the session key for TLS? sorry if the question is basic

😺 gemalaya · Jun 04 at 09:13:

@decant The misfin mail addresses are derived from the server/client X509 cert attributes. The client cert is the sender certificate, the server cert is the recipient mailbox certificate.