Audit Mechanisms
We devise three audit mechanisms to achieve seven goals in maTLS
Explicit authentication
An image will be inserted
▸ Explicit authentication means the client confirms all the entities with their own certificates
The client can be aware of all the entities in the session with the help of a series of the entities' certificate and the corresponding SCTs, which guarantees server authentication as well as middlebox authentication.
▸ Explicit authentication guarantees the extended validation certificate not to be degraded because of forgery
The extended validation (EV) certificate of the server is degraded to the domain validation certificate by the forged certificate or the shared certificate by the middlebox in SplitTLS. WIth the explicit authentication, the EV certificates are directly delivered to the client, so the server does not worry of the degradation.
▸ Explicit authentication supports validating and auditing certificate schemes such as CT and DANE
Because all the certificates are not forged, explicit authentication is compatible with CT or DANE. The client can check whether the certificates are logged in the log servers and verify the certificates with DANE, which are impossible with forged certificates.
Security parameter verification
▸ The client confirms the security level of all the segments by the information about the segment, reported by all the entities
All the entities report the information about their related segment, called security parameter blocks, to the client. The security parameter blocks include a negotiated TLS version, a selected ciphersuite, a transcript of a handshake, and a hash value of the master secret. Note that the information about each segment is reported twice by the related two entities for cross checking. This aims to reduce a chance of any mis-behavior in reporting.
▸ Security parameter verification guarantees segment secrecy
The client confirms all the TLS versions and ciphersuites selected in all the segments. The client can determine to accept or decline the session based on the information, which guarantees segment secrecy.
▸ Security parameter verification guarantees individual secrecy
The client receives transcripts of handshakes in segments and hash values of master secrets. A transcript shows the two entities "establish" the segment key. The different hash values of the master secrets imply different segment keys are established in the session, which guarantees individual secrecy.
An image will be inserted
Valid modification checks
▸ Valid modification checks become feasible with the help of modification log blocks
The entities in the session leave their own HMAC of the input/output messages. Specifically, the entities generate modification log blocks including the identifier of the entity, the hash value of the received message, and the HMAC of the input/output messages. The keys used to generate HMACs are called accountability keys.
▸ Valid modification checks guarantee data source authentication
When an entity sends the initial message, it generates the source MAC that consists of the identifier of the data source and an HMAC on the message. This helps the client to confirm the source of the received message.
▸ Valid modification checks ensure modification accountability
When an entity modifies the message from m to m', it generates the modification MAC that consists of the identifier of the writer, H(m), and HMAC(H(m') || H(m)), where a||b means the concatenation of a and b. This helps the client to confirm the write operation of the middlebox. For a reader (i.e., the middlebox that simply reads the message but not modifies it), it simply leaves HMAC over the prior HMAC to show it reads the message.
▸ Valid modification checks support path integrity
Since all the entities leave their own HMAC, the client receives the message with related HMACs in an order. The client can confirm whether the order is intended.
An image will be inserted