¿El rendimiento de la verificación de la cadena de certificación?

1

Estoy escribiendo una aplicación donde el rendimiento es importante. Estoy usando una tecnología llamada Redes de datos con nombre , y el punto a tener en cuenta es que cada paquete de datos contiene una firma del remitente.

Ahora, me gustaría verificar el paquete de datos que recibo de Bob. Valido la cadena de certificación hasta la autoridad, etc. Supongamos que después de un tiempo, recibo otro paquete de datos de Bob. Si he guardado en caché el certificado anterior (suponga que solo tengo acceso al caché), cuando reciba otro paquete de Bob con la misma firma que el certificado en caché, ¿puedo estar seguro de que el paquete de datos es auténtico? ¿O debería verificar la cadena nuevamente (este proceso es un poco caro para mi aplicación)?

    
pregunta Joe Matt 26.08.2016 - 11:05
fuente

1 respuesta

2

Sí, puedes hacer esa suposición, al menos por algún tiempo. Lo mejor sería volver a validar la firma cada varios segundos / minutos / bytes, dependiendo del caso de uso.

Si es posible, intenta crear una cadena de paquetes. Por ejemplo; cada paquete individual calcula un hash (tome HMAC (K, m) ) sobre los datos m en el paquete con la tecla K , que puede ser la El hash del paquete anterior. Esto esencialmente enlaza una cadena de paquetes donde un paquete solo puede ser válido si el paquete anterior también lo era. Como beneficio adicional, no solo garantiza la autenticidad sino también la integridad de los datos. Tal construcción es manera más rápida, pero no siempre es posible. Si los paquetes se reciben en paralelo o en orden aleatorio, esto no funcionará.

    
respondido por el Yorick de Wid 26.08.2016 - 12:03
fuente

Lea otras preguntas en las etiquetas