Protección rápida de la integridad de los datos

1

Tengo un dispositivo pequeño con una arquitectura de 16 bits (incrustada), que transmite 1500 bytes cada 3 milisegundos. Este dispositivo no tiene protección de integridad incorporada, y es posible manipular los datos enviados desde este dispositivo. Estaba pensando en proteger la integridad de los datos mediante HMAC o Blake2, pero el problema es que estos métodos son lentos para mi aplicación y, debido a la restricción de tiempo, no puedo realizar una pasada completa sobre los datos. Entiendo que necesito hacer un compromiso entre velocidad y seguridad. Estaba pensando en las siguientes dos soluciones:

1) para seleccionar aleatoriamente una porción más pequeña de datos y hacer una verificación de integridad; o

2) para utilizar un método de suma de comprobación rápida.

Me preguntaba si habría una mejor solución. Apreciaré sus ideas.

    
pregunta Jolfaei 08.03.2016 - 19:42
fuente

1 respuesta

0

Puede utilizar el algoritmo Fletcher16 y, en realidad, no es muy seguro, pero sigue siendo - proporcione un IV "secreto", si es posible.

BLAKE2 cuenta con velocidades bastante buenas , así que si no puedes usarlo, me temo que la seguridad de clase MD5 es inalcanzable. - todas las alternativas comparables serían aún más lentas.

Reordenar los datos para que la información confidencial se recopile y Blakeing pueda ser viable, quizás.

O puede preparar un bloque con un secreto de dispositivo y una copia de los pocos campos que desea proteger, luego enviar el paquete junto con el hash BLAKE2 del bloque de verificación, que no se enviaría.

Confiando en la seguridad a través de la oscuridad (no hace falta decirlo, no se recomienda) usted podría adjuntar al paquete el XOR de N bits de los campos clave; o un valor aleatorio de N bits más el XOR de los campos clave y el valor aleatorio, produciendo un aparentemente campo de 2N bits aleatorio.

    
respondido por el LSerni 10.03.2016 - 00:19
fuente

Lea otras preguntas en las etiquetas