¿Es seguro usar el cifrado de clave pública para autenticarme? [duplicar]

1

La idea es enviar un mensaje cifrado de tal manera que el receptor pueda verificar el remitente. Aquí está la propuesta:

  • Genero un par de claves público-privadas RSA, y le doy la clave privada a Barry.

  • Mantengo mi clave pública en secreto (!) y la uso para cifrar mensajes.

  • Cuando le envío un mensaje cifrado a Barry, si él puede descifrarlo usando la clave privada que le di, entonces sabe que el mensaje vino de mí.

¿Esto es seguro? Sin acceso a mi clave pública, pero quizás un ojo en los mensajes, ¿puede alguien más engañar a Barry? (¿Y importa si otras personas ven la clave privada?)

Si no es así, ¿qué tipo de enfoque deberíamos estar utilizando para firmar mensajes cifrados, sin tener que realizar un apretón de manos de múltiples viajes? (Preferiblemente aún usando RSA.)

    
pregunta joeytwiddle 19.01.2017 - 11:41
fuente

3 respuestas

2

Es menos seguro que usar una clave privada:

Sin embargo, estas son pequeñas limitaciones que pueden ser aceptables en su caso.

    
respondido por el Sjoerd 19.01.2017 - 13:28
fuente
3

La forma común de firmar y cifrar un mensaje es ... ¡tanto cifrar como firmarlo!

Eso significa que le das a Barry tu clave pública, y él te da su clave pública. Luego, para autenticar un mensaje, lo cifra con su clave privada, y para cifrarlo de modo que solo Barry pueda leerlo, lo cifra con su clave pública. Si desea ambos, use ambos pases uno tras otro en un orden consistente.

De hecho, eso es más o menos lo que implementan los remitentes MIME, excepto que el cifrado usa una clave simétrica única, y solo esa clave está cifrada con la clave pública del destinatario, y para la autenticación, solo un hash del mensaje es Cifrado con la clave privada del remitente. Porque es mucho más simple y seguro ...

Alternativamente, si ambas partes deben mantenerse en secreto, no use una clave pública y solo comparta un secreto que se usa para un cifrado simétrico.

    
respondido por el Serge Ballesta 19.01.2017 - 12:23
fuente
2

El cifrado de clave pública se puede usar para la autenticación y también se usa en la práctica. Pero tu propuesta no es de criptografía de clave pública. En su propuesta, la clave "pública" se mantiene privada y su clave "privada" se hace pública, es decir, exactamente de la manera incorrecta.

Cuando se usa el cifrado de clave pública para la autenticación, generalmente la parte A crea un desafío aleatorio y lo envía a B, B lo firma con la clave privada de B y A puede verificar la firma con la clave pública de B y, por lo tanto, puede estar seguro de que A tiene acceso a la clave privada que es igual a una autenticación exitosa ya que solo A debería tener la clave privada . El paso con el desafío aleatorio creado por A y firmado por B en lugar de algunos datos creados y firmados por B es esencial porque, de lo contrario, alguien podría capturar el tráfico y reproducirlo más tarde para afirmar que es B.

    
respondido por el Steffen Ullrich 19.01.2017 - 12:21
fuente

Lea otras preguntas en las etiquetas