¿Cómo funciona un ataque a una firma digital?

7

En nuestra clase de seguridad de TI se nos ha informado que necesita CA para evitar ataques a una firma digital. Lamentablemente, nuestro docente no elaboró cómo se realizaría tal ataque . Solo puedo suponer que alguien intentaría hacer un MitM:

  1. Alice quiere autenticarse con Bob, por lo que le escribe un mensaje y lo firma con su clave privada. Ella también agrega su clave pública.
  2. Eve intercepta el mensaje y verifica el mensaje con la clave pública de Alice, luego firma el mensaje con su propia clave privada y lo envía a Bob, agregando su propia clave pública en lugar de la de Alice.
  3. Bob recibe el mensaje asumiendo que es de Alice, verificándolo con la clave pública adjunta (de Eve) y ahora está seguro de comunicarse con Alice.

Entonces, si Bob hubiera buscado la clave pública de Alice en alguna CA, habría sabido que la clave adjunta era incorrecta.

¿Es el escenario al que las personas generalmente hacen referencia cuando se trata de por qué necesita CAs?

    
pregunta AdHominem 03.03.2016 - 14:35
fuente

2 respuestas

17

Una firma digital , como todo algoritmo criptográfico, no resuelve problemas, solo los mueve.

Tenga cuidado de que las firmas NO sean encriptadas. Si alguien trató de explicar las firmas como una especie de encriptación, vaya a buscarlas y golpéelas en los dientes con una llave, repetidamente. Dígales que son indignos, y estoy decepcionado con ellos. Esta explicación defectuosa no funciona, nunca funcionó y solo genera confusión.

En un sistema de firmas, hay un mensaje m , una clave pública kp , un privado clave ks , y una firma s . El algoritmo generación de firmas calcula s de m y k s . El algoritmo verificación de firmas toma m , s y k p , y devuelve "verdadero" o "falso". Cuando devuelve "verdadero", lo que esto significa es que quien posee la clave pública (es decir, sabe la clave privada correspondiente) participó en la generación de la firma s en el mensaje específico m .

El punto importante está en la propiedad de la clave: el algoritmo de verificación de firma no le dice "sí, esto está firmado por Bob"; solo le dice "sí, esto está firmado por quien posee esa clave pública". Esto garantiza que el firmante es realmente Bob solo si tiene una manera de asegurarse de que la clave pública que ve sea realmente la clave pública de Bob. Si Bob simplemente envió su clave pública junto con el mensaje firmado, sería fácil hacerse pasar por Bob simplemente diciendo "hola, soy Bob, aquí está mi clave pública y aquí está mi mensaje firmado". No probaría nada en absoluto. El ataque aquí es simple, se llama "mentira".

Si bien las firmas son útiles (de hecho, redujeron el problema de verificar la procedencia de varios mensajes al problema de asociar una sola clave pública con su propietario), no garantizan mágicamente la propiedad. de aire fino. Aquí es donde Autoridades de certificación entran en juego. El CA es un organismo cuyo trabajo es asegurarse de que Bob realmente posee su supuesta clave pública; Presumiblemente, el CA lo hace al encontrarse con Bob en persona, o algún otro mecanismo de ese tipo. Cuando la CA ha verificado debidamente la propiedad de Bob de su clave, la CA coloca la identidad de Bob (su nombre) y su clave pública en un certificado . La CA luego firma el certificado.

La máquina de Alice puede verificar la firma en el certificado, asegurándose así de que los contenidos del certificado son realmente de la CA esperada. En ese momento, Alice tiene alguna garantía sobre el hecho de que la clave pública que ve en el certificado es realmente la clave de Bob, y puede usarla para verificar las firmas que supuestamente ha sido calculada por Bob.

En este punto, debe decir: "¿Pero cómo puede Alice verificar la firma en el certificado de la CA? ¡Tendría que conocer la clave pública de la CA!" Y, de hecho, el problema se ha trasladado nuevamente a la cuestión de la propiedad de la clave de CA. Podemos moverlo una vez más, con otro CA. Y así. Pero debe detenerse en alguna parte. Ese "en algún lugar" es la raíz CA . Una CA raíz es una CA cuya clave pública ya conoce, absolutamente. Esa es la parte mágica. En la práctica, su computadora viene con un sistema operativo que ya incluye la clave pública de alrededor de un centenar de CA raíz, que creó una deal con Microsoft en el sentido de que sus claves públicas son inherentemente conocidas (y de confianza) por todos los sistemas Windows.

    
respondido por el Tom Leek 03.03.2016 - 14:57
fuente
2

Algo así, aunque una CA no es la única solución al problema.

Una autoridad de certificación proporciona a un tercero la garantía de que una clave pública pertenece a una entidad dada diciendo esencialmente "He mirado esta clave pública, y esta entidad, y declaro que están vinculadas, y como soy una Entidad de confianza, puedes creerme ". Lo hacen firmando la clave con su propia clave privada, que puede verificar si tiene su clave pública.

Todo esto está muy bien, pero en realidad no previene un ataque MitM, si Bob no verifica la firma, o si la CA no verifica que Alice es la dueña de la llave, o si Eve es capaz de convencer. La CA dice que su nombre es Alice, por lo que su clave parece ser válida, o si Eve opera una CA de confianza, Bob todavía no sabe que el mensaje fue firmado por Alice. Las AC lo saben, por lo que, en general, tratan de ser buenos ciudadanos y realmente realizan los controles que dicen hacer.

¿Qué evitaría un ataque MitM entonces? Bueno, si Alice y Bob tienen otro canal de comunicación en el que confían (tal vez se encuentren, examinen los pasaportes de los demás y, de lo contrario, demuestren sus identidades entre sí), luego intercambien las claves públicas, pueden enviar mensajes de forma segura en el futuro, ya que Bob sabe con certeza que tiene la clave pública correcta de Alice, y Alice sabe lo mismo acerca de Bob. Eve puede intentar intercambiar el contenido si lo desea, pero sin la clave privada para firmar el mensaje modificado, el destinatario sabrá que algo no está bien. En este caso, no necesita una CA en absoluto, tiene confianza directa.

    
respondido por el Matthew 03.03.2016 - 15:03
fuente

Lea otras preguntas en las etiquetas