HMAC con o senza crittografia dei dati?

6

Sono in procinto di sviluppare un sistema che trasmette periodicamente una piccola quantità di dati (16/18 byte), in cui l'unica parte che cambierà sarà un contatore da 4 byte che incrementerà per ciascuna trasmissione. I dati stessi non sono sensibili, quindi la crittografia non è obbligatoria, ma il ricevitore deve convalidare i dati utilizzando un algoritmo MAC, HMAC-SHA è stata la mia scelta. Dato che, per trasmissioni successive, cambieranno solo pochi bit del carico utile dei dati (l'incremento del contatore), è sicuro utilizzare HMAC-SHA senza crittografia dei dati o questo tipo di implementazione potrebbe portare un utente malintenzionato a generare falsi MAC?

    
posta samuele.forconi 14.01.2016 - 13:31
fonte

2 risposte

2

Per stabilire l'integrità del messaggio, sì, HMAC-SHA dovrebbe andare bene.

L'unica preoccupazione che potresti avere è nel caso di un attacco man-in-the-middle in cui il messaggio potrebbe essere intercettato, il contatore modificato, l'HMAC rigenerato e il messaggio modificato passato al destinatario originale . In questo caso, puoi utilizzare un algoritmo a chiave pubblica per firmare l'hash HMAC (in pratica una firma digitale) per autenticare il mittente.

Modifica: non è una preoccupazione a meno che le tue chiavi non finiscano nelle mani sbagliate.

    
risposta data 14.01.2016 - 15:38
fonte
2

Gli attacchi alla crittografia non sono attacchi ai MAC in quanto sono due entità separate per scopi diversi. Hai risposto alla domanda da solo. Dato che non consideri i dati sensibili allo sniffing, non hai bisogno di crittografia.

Tuttavia per un MAC ti imbatti nei seguenti problemi che potrebbero richiedere la crittografia di altri dati:

  1. condivisione chiavi: condivisione della "chiave" che produce l'hash

  2. dimostrare a una terza parte (non ripudio) che i dati o la chiave asimmetrica in # 1 sono venuti da te e non dalla persona a cui stai inviando i dati. Dal momento che ora possono impersonare te con la chiave condivisa con loro ... I MAC hanno una natura simmetrica perché è un "chiave" -hash

Per risolvere la # 1 è richiesta la crittografia asimmetrica per trasferire le chiavi utilizzate per HMAC i dati. Per risolvere il n. 2 e / o verificare la chiave asimmetrica nel n. 1, è necessario impostare alcune PKI, che si tratti di un certificato o di una rete di fiducia.

    
risposta data 14.01.2016 - 15:45
fonte

Leggi altre domande sui tag