¿Cifrar luego la suma de comprobación o viceversa?

5

Esta es probablemente una pregunta ingenua, pero aquí va: ¿Qué es mejor para la seguridad sobre TCP / IP?

  1. ¿Encriptar la carga útil y luego agregar una suma de comprobación?
  2. ¿Verifica la carga útil y luego la cifra?
  3. Verifica la carga útil y luego la encripta, y luego vuelve a sumar?
  4. ¿Algo más enteramente?

Y por seguridad, me refiero a que los malos no pueden leer la carga útil, reproducir los mensajes, inyectar sus propios mensajes o modificar los mensajes en tránsito sin ser detectados.

    
pregunta kmort 13.04.2013 - 17:46
fuente

3 respuestas

4

Creo que te refieres a usar un MAC cuando dices suma de comprobación.

La situación ideal es cifrar y luego MAC. Consulte esta pregunta para obtener más información sobre por qué.

    
respondido por el Ayrx 13.04.2013 - 17:48
fuente
7

Para la respuesta práctica , lo mejor para la seguridad es evitar reinventar la rueda . Diseñar un protocolo seguro para el transporte de datos es una tarea desalentadora (es fácil hacer que funcione, es difícil saber si es "seguro"). Ya hay algunos protocolos conocidos que se han estudiado mucho y están disponibles como una biblioteca lista para usar. La principal de ellas es SSL / TLS . Es posible que desee utilizar DTLS si desea proteger paquetes individuales (DTLS es para UDP lo que TLS es para TCP).

Para la respuesta científica : cuando se trata de cifrar algunos datos y que protegen su integridad, la mejor idea es utilizar un modo de cifrado que realice ambas acciones (GCM y EAX son las sugerencias habituales). Si tiene que confiar en algoritmos separados para el cifrado y para la verificación de integridad (lo que aparentemente llama una "suma de comprobación", pero es mejor conocido como MAC ), entonces la forma correcta es cifrar primero, luego calcular el MAC en los datos cifrados (sin olvidar la IV y algunas otras cosas, como se explica en este question ).

Pero permítanme señalar que esto es solo una parte del protocolo. Al realizar el cifrado y un MAC en una "carga útil", se supone que el remitente y el receptor ya comparten un valor secreto común de alta entropía que pueden usar como clave para el cifrado y el MAC. También necesitas algunas funciones más para evitar los ataques de repetición y, más generalmente, derrotar a los atacantes que intentan eliminar paquetes, duplicar Paquetes, y reordenar paquetes. Autenticación (unidireccional o mutua) es otra área difícil.

    
respondido por el Thomas Pornin 13.04.2013 - 18:17
fuente
0

Parece que estás reinventando "Tunnel mode ESP" (que es el único protocolo útil en IPSec enlace )

Encripta y luego firma.

    
respondido por el Vitaly Osipov 15.04.2013 - 02:21
fuente

Lea otras preguntas en las etiquetas