Perché è richiesto a HMAC riv in HDCP 2.3?

1

In HDCP 2.3 (pdf ) durante lo scambio delle chiavi di sessione, il trasmettitore HDCP invia anche l'HMAC a 256 bit di riv (HMAC-SHA256 (riv, kd)).

Perché è richiesto? Previene qualsiasi attacco?

    
posta moti 19.11.2018 - 13:38
fonte

3 risposte

1

Iniziamo a suddividere questo (HMAC-SHA256(riv, kd)) .

Come descritto in RFC2104 , un HMAC può essere definito come segue: %codice% dove HM AC=H(K⊕opad||H(K⊕ipad||text)) è la funzione di hash scelta, H è la chiave segreta, K è il simbolo OR esclusivo, è il simbolo di concatenazione e || , ipad sono valori costanti.

Basato su questo articolo , la costruzione di HMAC sulla funzione di hash Merkle-Damgård backdoor produce uno schema HMAC backdoored, che è facilmente rimediabile usando la chiave backdoor.

Quindi, è facile vedere che dopo che i messaggi sono stati inseriti in opad , continuano a causare una collisione nella catena hash interna di HMAC ~ h. Poiché la catena esterna è uguale per tutti i messaggi, k⊕ipad e m hanno entrambi lo stesso tag m∗ . Mettendo in modo diverso , HMAC non è resiliente per le backdoor solo perché usa una chiave segreta. In sintesi, poiché un avversario in possesso di una backdoor può forgiare un tag per un nuovo messaggio, HMAC ~ h è perdonabile e quindi non è pseudocasuale.

Per favore, fai riferimento a paper , per ulteriori informazioni.

Che cos'è HMAC?

A HMAC is a specific construction for calculating a message authentication code (MAC) involving a cryptographic hash function in combination with a secret key. Input is a message and a key, output is the HMAC value. It is used to verify data integrity and authenticity of a message. The accompanying hash function for the HDCP standard is the SHA256 function which works with input blocks of 512 bits.

Perché è richiesto nello standard HDCP?

In the HDCP standard, the HMAC-SHA256 function is used for the locality check and the calculation of H (HMAC of km). The most demanding HMAC calculation concerning the timing is the one used in the locality check. As mentioned before, the NIOS processor has not enough computing power to complete a HMAC-SHA256 operation within 2 ms. That’s why this block has to be rewritten in VHDL. The HMAC for the locality check has a key size of 256 bits and a message size of 64 bits.

Funzione dell'algoritmo HMAC-SHA256 per il controllo della località:

The locality check asks receiver and transmitter to calculate a HMAC value of a random number rn (message) and the pre-shared key kd. Before the calculation starts, the pre-shared key kd has to be xored with a pre-shared random number (rrx). The random number rn is sent in plaintext to the receiver, the receiver sends back the HMAC value. The transmitter checks now if its own HMAC is identical to the received HMAC. Only someone who is in possession of the pre-shared key can compute the correct HMAC value. Additionally, it is impossible to conclude the key from the HMAC value, because the HMAC-SHA256 algorithm is a one way function.

Schema a blocchi Sistema HD over IP:

(Gentilmentefornitodalla Tesi di Master )

    
risposta data 19.11.2018 - 14:39
fonte
1

Come mostrato sotto, la chiave viene generata usando p = ((riv XOR streamCtr) || inputCtr). È necessario che "non ci siano due flussi elementari contenuti in un dato programma o programmi diversi che possano avere lo stesso streamCtr se questi flussi elementari condividono lo stesso Ks o riv" in modo che gli stream vengano crittografati con chiavi diverse (utilizzando p differenti).

Se un attaccante può modificare il riv, può fare in modo che il trasmettitore generi la chiave di un altro streamCtr inviando un riv modificato.

    
risposta data 12.12.2018 - 10:25
fonte
0

Lo scopo di inviare HMAC è di fornire più autenticità al messaggio.

HDCPReceiver’spublickeyCertificateisverifiedbytheHDCPtransmitterthenthedevicesshareamasterkeyKm.[...]UponreceivingtheencryptedKm,receiverdecryptitusingthereceiverprivatekey.

Quindieccoloscopodell'HMAC:

Afterthereceiversuccessfullydecryptsthekm,itsendsbacktheH_Prime,aHMAC-SHA-256,hashvalueofthemasterkeyKmtothetransmitter.ThisistoprovideanacknowledgementtothetransmitterthatthereceiverhasindeedsuccessfullydecryptthemasterKeyKm.

Controllaquesto link per dettagli

    
risposta data 19.11.2018 - 14:25
fonte

Leggi altre domande sui tag