Protezione rapida dell'integrità dei dati

1

Ho un piccolo dispositivo con un'architettura a 16 bit (incorporata), che trasmette 1500 byte ogni 3 millisecondi. Questo dispositivo non ha una protezione di integrità integrata ed è possibile manipolare i dati inviati da questo dispositivo. Stavo pensando di proteggere l'integrità dei dati usando HMAC o Blake2, ma il problema è che questi metodi sono lenti per la mia applicazione e, a causa del limite di tempo, non posso fare un passaggio completo sui dati. Capisco che ho bisogno di fare un compromesso tra velocità e sicurezza. Stavo pensando alle seguenti due soluzioni:

1) per selezionare casualmente una porzione più piccola di dati e fare il controllo di integrità; o

2) per utilizzare un metodo di checksum veloce.

Mi chiedevo se ci sarebbe stata una soluzione migliore. Apprezzerò le tue intuizioni.

    
posta Jolfaei 08.03.2016 - 19:42
fonte

1 risposta

0

Potresti usare l'algoritmo Fletcher16 e - non proprio molto sicuro, ma ancora - forniscilo con un IV "segreto", se possibile.

BLAKE2 vanta abbastanza buone velocità , quindi se non puoi usarlo temo che la sicurezza della classe MD5 sia irraggiungibile - - Tutte le alternative comparabili sarebbero ancora più lente.

Riordinare i dati in modo che le informazioni sensibili siano raccolte e Blakeing di quel blocco potrebbe essere fattibile, forse.

Oppure puoi preparare un blocco con un dispositivo segreto e una copia dei pochi campi che vuoi proteggere, quindi inviare il pacchetto insieme all'hash BLAKE2 del blocco di controllo, che non verrebbe inviato.

Affidandosi alla sicurezza attraverso l'oscurità (inutile dirlo, non consigliato) è possibile aggiungere al pacchetto XOR N-bit dei campi chiave; oppure un valore a N bit casuale più lo XOR dei campi chiave e il valore casuale, producendo un campo casuale a 2N bit apparentemente .

    
risposta data 10.03.2016 - 00:19
fonte

Leggi altre domande sui tag