Confianza y firma: ¿clave pública completa o huella digital?

3

Imagine un servicio B2B en el que dos partes necesitan establecer una relación de confianza bidireccional: Alice solo aceptará solicitudes de Bob, y Bob quiere saber que sus solicitudes solo irán a Alice.

Al configurar esta relación, Alice y Bob necesitan intercambiar sus claves públicas. Pero cuando se trata de la verificación, ¿es suficiente verificar que la huella digital del certificado coincida? O, ¿deberían Alice y Bob intercambiar la clave pública completa?

Una clave pública es bastante larga, y una huella digital es corta, por lo que la huella digital es más conveniente. Pero como es más corto, ¿eso significa que tiene una mayor probabilidad de colisión? ¿Cuánta seguridad se pierde usando solo la huella digital para identificar a la persona que llama en lugar de la clave pública completa?

Esta página , por ejemplo, sugiere que la huella digital está bien para la verificación. ¿Alguien puede confirmar?

Y si la huella digital es suficiente, ¿por qué los servicios como Github esperan que usted cargue su clave pública completa en lugar de solo una huella digital al establecer la confianza?

    
pregunta Paul Stovell 26.05.2012 - 22:50
fuente

2 respuestas

4

Un hash de la clave pública es suficiente, siempre que sea lo suficientemente largo (recomendaría 160 bits), y la función hash es resistente a las segundas pre-imágenes.

Supongo que Github quiere claves públicas completas porque su biblioteca SSH espera eso. También hay algunas situaciones en las que es útil tener la clave completa disponible. Por ejemplo, puede cifrar sin conexión un mensaje a una determinada clave pública, pero no a un hash.

El hash de decisión frente a la clave pública no es una decisión basada en la seguridad, sino en cuál es más conveniente para un uso particular.

    
respondido por el CodesInChaos 27.05.2012 - 00:14
fuente
2

El intercambio de una huella digital es suficiente, siempre y cuando luego verifique que la clave pública coincida con la huella digital que se intercambió.

Github desea que cargue toda su clave pública SSH por varios motivos: (1) debido a la forma en que se configuran los archivos de configuración de SSH, el servidor Github SSH necesita conocer toda la clave pública (los archivos de configuración de SSH esperan un clave pública completa, no una huella digital), (2) es más fácil para los usuarios cargar su clave pública completa (es decir, cargar su archivo ~/.ssh/id_dsa.pub ) que cargar una huella digital (los usuarios tendrían que marcar manualmente su clave pública y luego Sube el hash, que es menos conveniente). Básicamente, para SSH, no hay una necesidad real de introducir huellas digitales en esta configuración, por lo que nadie se molesta en hacerlo, aunque si lo hicieran, eso sería suficiente para la seguridad.

    
respondido por el D.W. 28.05.2012 - 06:17
fuente

Lea otras preguntas en las etiquetas