Looking at the setup code here, this looks a lot like SSL reinvented over Kafka (instead of over TCP), which is not a bad thing, just the mechanism feels a lot like you've automated a tcpdump into the protocol by making the handshake packets persisted in the stream + committed to disks. This somewhat makes sense if you're going to buy Kafka from a cloud provider without the ability to trust them, but the trust here i…
Perfect Forward Secrecy is pretty standard in TLS handshakes these days, so the persistence of messages should not be an issue. This pattern of burying TLS inside of application payloads is popping up all over the place. People realize that securing the transport isn't the same as securing the application, which often hops over multiple transports.
Exactly right. Application layer trust, with the transport and security layers abstracted away. This is important, since app developers typically can't control the transports from end to end, or at scale.