reviews/current/kimi-tls-architecture.md

VERDICT: Strong verification, fragile availability.

VERIFICATION

Binding the inner-TLS peer SPKI to a client nonce and a pinned Nitro PCR0 is a robust identity mechanism. It gives you fresh, replay-resistant proof of exactly which enclave image booted, and it removes dependency on external WebPKI. The client knows it is speaking to the intended code.

Caveat: PCR0 attests only to boot-time image measurement, not to runtime integrity, side-channel resistance, or absence of implementation bugs in the enclave code itself.

AVAILABILITY

Encapsulating a stateful inner TLS byte stream inside HTTPS GET messages creates a category error. GET is idempotent, cacheable, and routinely logged by proxies, load balancers, and web servers. If TLS handshake or record material appears in URLs, query strings, or even GET bodies, secrets are exposed to persistent logs and history. HTTP infrastructure may also replay, buffer, reorder, or drop GETs, which breaks TLS sequencing assumptions and can deadlock or desynchronize the inner state machine. Verification tells you the peer is genuine; it does not prevent HTTP-aware middleboxes from blocking or mangling the channel.

SUMMARY

RECOMMENDATION: Retain the attestation binding; move the inner TLS to a non-idempotent, non-logged bidirectional transport such as a CONNECT tunnel or WebSocket.