How to Make HTTPS Verifiable
blog.reclaimprotocol.org
blog.reclaimprotocol.org
There's a startup in this. Maybe for B2B commerce.
Unfortunately (some would say fortunately) this isn't cleanly possible, so you still have to rely on witnesses and/or magic ledgers in the sky for trust.
It's still quite unwieldy and requires trust in a set of notaries. IIRC a few years ago there was only efficient support for some TLS 1.2 ciphers [2], and TLS 1.3 was either very inefficient or non-functional.
[1] https://docs.tlsnotary.org/
[2] https://github.com/tlsnotary/tlsn/tree/main/tlsn/tlsn-core/s...
But still rather contrived.
Additionally, some of the statements about the "public" values in HTTPS are false in this document, that combined with relying on their custom TLS implementation deeply concerns me from a security perspective. I'm being hard pressed to imagine a situation where I would pick "write my own TLS implementation to subtly modify the protocol" as the answer.
And then that MITM is a trusted third party to verify towards other parties that the server sent you some data, such as an order confirmation, which that other party wants to act upon without needing to collaborate with the third party
Knock knock! Who's there? The patriot act.
This startup just asks to be given a national security letter.
Calling this gateway service a protocol is fraud at best and conspiracy at worst. This is just a glorified web archive service.
But on the topic of verified HTTP: something that I think you could do that would be pretty neat would be to allow first party assets to be offline-signed and then delivered over unencrypted HTTP (port 80).
This would mean that you could ship secure applications over HTTP (port 80) with guaranteed integrity even assuming that the server is or will become compromised.
> All data is routed through an HTTPS Proxy, which records the direction of data transfer without reading the encrypted content.
squints
> Certain parts of the request and response that are publicly known are revealed: For responses: HTTP response code and Date headers. For requests: Domain, Path, and Connection headers.
Um, domain (the Host header after establishing the connection), path, and headers (including Connection) are all encrypted. They claim this is public information but it's not.
I need more time to read into things but I'm skeptical thus far.
I was hoping for a proxy-based solution that would verify the source and time for any server.