Implementación de la fragmentación EAP-TLS

0

Estoy tratando de construir un cliente EAP-TLS. El protocolo de enlace con el que tengo que lidiar implica la recepción de mensajes fragmentados del servidor RADIUS. Como parte de la respuesta del cliente, tengo que construir un mensaje de verificación de certificado, que involucre el hash de todos los mensajes involucrados en el protocolo de enlace usando una clave privada, para asegurar la autenticación mutua. Entonces, ¿trato los mensajes fragmentados como mensajes separados (porque cada fragmento tiene un encabezado de Ethernet agregado) o como un solo mensaje? Gracias!

    
pregunta previouslyactualname 25.07.2014 - 21:39
fuente

1 respuesta

0

En TLS , los mensajes de intercambio se codifican en registros . Cada registro tiene su propio encabezado. Un determinado mensaje de reconocimiento puede extenderse a varios registros, y un registro puede contener varios mensajes de reconocimiento.

Los cálculos de hash para CertificateVerify y Finished mensajes sobre los mensajes de handshake only : ingresas los mensajes sucesivos de handshake en la función hash, en el debido orden; cada mensaje de intercambio comienza con un encabezado de cuatro bytes (un byte para el tipo de mensaje, tres bytes para la longitud del mensaje de reconocimiento) y estos encabezados también van a la función de hash. Los encabezados de registro no no ingresan a la función hash.

En otras palabras, la fragmentación en registros se ignora en los cálculos de hash. El valor hash resultante no depende de cómo se transmiten los mensajes de intercambio, en particular, cualquier tipo de fragmentación. EAP / TLS define que los mensajes EAP contienen registros TLS . Ni los encabezados de Ethernet, los encabezados de paquetes EAP, ni siquiera los encabezados de registro TLS, ingresan a la función hash. Solo el propio mensaje de intercambio de manos está marcado.

(Esto permite una implementación limpia en capas: la biblioteca SSL / TLS produce mensajes de intercambio que se envían uno tras otro en un flujo de bytes conceptual sin fin; el flujo está en hash; la biblioteca sí no tiene que preocuparse por cómo se divide el flujo en registros encapsulados en mensajes EAP fragmentados en marcos Ethernet individuales.)

    
respondido por el Tom Leek 28.07.2014 - 17:40
fuente

Lea otras preguntas en las etiquetas