¿Es menos seguro firmar la representación semántica de la carga útil que la representación léxica?

0

Creo que un ejemplo ilustra mejor mis preguntas. Digamos que quiero enviar un mensaje JSON.

  

{"payload": {"b": 5, "a": 1}, "signature": "... 9oZRsvygw1pTFuRcfXXpFKMRBmkrzdTn6lzS ..."}

La alternativa X sería colocar la carga útil en una cadena, posiblemente codificada en base64, y firmar esa cadena.

La alternativa Y sería hacer una representación canónica del contenido semántico de la carga útil y firmarlo. Por ejemplo, podría crear y firmar la siguiente cadena en su lugar

  

{"a": 1, "b": 5}

Tenga en cuenta que en la representación semántica las claves se ordenan en función del nombre y no del orden inicial.

¿Sería más o menos seguro firmar la representación semántica?

    
pregunta Mikael Vandmo 06.10.2017 - 14:29
fuente

1 respuesta

1

Ambos deberían estar seguros por lo que puedo ver.

Ordenar las claves (en el supuesto de que al lector remoto no le importe hacerlo en el ejemplo inicial) en teoría lo hace un poco más seguro porque limita las opciones para el atacante cuando intenta crear una colisión, pero si está utilizando un sistema de cifrado seguro. firma entonces no debería importarle de ninguna manera. No debe pensar en términos de "más / menos seguro", solo en términos de "seguro" y "no seguro" donde no se sabe que el seguro sea rompible dentro de un plazo razonable con el conocimiento y la tecnología actuales.

    
respondido por el Hector 06.10.2017 - 14:50
fuente

Lea otras preguntas en las etiquetas