ChangeCipherSpec Authentication

0

Secondo RFC 5246 , 7.1. Cambia protocollo specifico cifrario:

The ChangeCipherSpec message is sent during the handshake after the security parameters have been agreed upon, but before the verifying Finished message is sent.

E 6.1. Stati di connessione:

A TLS connection state is the operating environment of the TLS Record Protocol. It specifies a compression algorithm, an encryption algorithm, and a MAC algorithm.... All records are processed under the current read and write states. The security parameters for the pending states can be set by the TLS Handshake Protocol, and the ChangeCipherSpec can selectively make either of the pending states current, in which case the appropriate current state is disposed of and replaced with the pending state; the pending state is then reinitialized to an empty state. It is illegal to make a state that has not been initialized with security parameters a current state. The initial current state always specifies that no encryption, compression, or MAC will be used.

ChangeCipherSpec non è coperto dal messaggio Finito. Dal 7.4.9. Finito:

Note: ChangeCipherSpec messages, alerts, and any other record types are not handshake messages and are not included in the hash computations.

Perdona la mia ignoranza, ma in che modo è autenticato ChangeCipherSpec?

    
posta jww 06.06.2014 - 19:34
fonte

1 risposta

2

Il ChangeCipherSpec è non autenticato. Tuttavia, questo non è un problema: il suo contenuto non è importante (c'è solo un tipo di messaggio ChangeCipherSpec ), e può apparire solo in momenti specifici. Quando un client o un server riceve un messaggio ChangeCipherSpec , in realtà lo aspetta. Pertanto, quel messaggio non trasmette informazioni reali; quindi, non ha bisogno di alcuna protezione.

Lo scopo principale del messaggio ChangeCipherSpec è di forzare le implementazioni per iniziare un nuovo record. In SSL / TLS, i messaggi di handshake sono memorizzati in record handshake, ma non con una relazione 1 a 1: un messaggio di handshake può essere suddiviso su più record e diversi messaggi di handshake possono essere archiviati in un singolo record. Nel workflow concettuale dell'handshake, la crittografia dovrebbe essere attivata immediatamente prima di inviare il messaggio Finished ; poiché la crittografia è basata su record, deve essere aperto un nuovo record. Il messaggio ChangeCipherSpec impone quel nuovo record, rendendo così più pulite sia l'implementazione che le specifiche.

    
risposta data 06.06.2014 - 20:08
fonte

Leggi altre domande sui tag