Q1: RFC 5705のexported keying materialを決めるinputはどれか
単一選択二つのTLS 1.2 peerが, 確立済みTLS sessionから同じapplication固有の32-byte値を導出したいと考えています.
範囲: ここではTLS 1.2とRFC 5705のconstructionを扱います.TLS 1.3のexporter constructionはRFC 8446で定義されます.RFC 5705はkeying materialを提供しますが,context encoding,proof semantics,key handling,gateway trustはapplication profileが定義します.
二つのTLS 1.2 peerが, 確立済みTLS sessionから同じapplication固有の32-byte値を導出したいと考えています.
A2A protocolがTLS handshake後にexporter利用をnegotiateします. そのcontextにはapplication messageで送るtask identifierが含まれます.
gatewayがclient TLS 1.2 sessionを終端してRFC 5705 outputを導出し, 別のTLS sessionでbackendへbytesをforwardします. backendは, clientがbackend connectionのkeying materialをshareするproofとして使おうとしています.
同じTLS sessionから32-byteのrequest-proof keyと32-byteのaudit-chain keyを導出します. draftは両方に同じlabelとcontextを使い, 呼び出しfunctionだけで区別します.
A2A serviceはexporter値を導出し, request proofのMAC keyとして直接使います. diagnosticsのためoperations teamが読めるlogへ値を記録します. teamはRFC 5705のexporter independenceにより安全だと主張しています.
clientがvalidなgrantと, TLS session Aから導出したproofをgatewayへ送ります. gatewayはTLS session Bでbackendへrequestをretryします. resourceを所有するbackendは, proofがretry後のmethod, target, bodyをcoverしたか知る必要があります.