Pregunta

Estoy utilizando la utilidad de Botan para realizar el cifrado. Cuando inicializar mi conexión con una máquina remota utilizando SSH, soy capaz de comercio teclas través de la conexión segura de SSH. Sin embargo, a veces uso inetd para establecer la conexión, y en este caso, no hay seguridad en la conexión inetd, pero necesito usarlo para comerciar con las teclas de la máquina remota.

Me imagino que hay un cierto estándar para este mediante el cual puedo enviar una clave pública sobre un canal inseguro y el extremo remoto utiliza esto para cifrar una clave para enviar de nuevo a mí sobre el canal no seguro, que puedo descífralo para obtener la clave .

¿Cuál sería un ejemplo de este tipo de protocolo que soporta Botan?

¿Fue útil?

Solución

Sin confianza anterior, o la comunicación a través de un canal lateral, no hay manera de hacerlo. Diffie-Hellman KEX le permite establecer un canal seguro contra otras personas que no participan en la conexión, pero no se puede verificar que se está comunicando con el destinatario.

MITM ejemplo: se conecta a algún punto final remoto, recibe su clave pública y le envía algo firmado con esa clave. Sin embargo, no hay manera de verificar si usted ha enviado su clave al destino real, o si la respuesta viene de un atacante - por lo tanto, tiene un túnel seguro, pero no tiene la información con la que estás comunicando ( el atacante puede incluso conectarse a su destino previsto y el proxy el tráfico que pasa por encima de él sin cifrar).

Para estar seguro de que está realmente comunicando con el punto final previsto, es necesario intercambiar algún tipo de identificación del host de antemano o a través de un canal seguro. SSH hace esto usando las "huellas digitales" -. Le pregunta en primera conexión si confía en que el anfitrión, y se supone para verificar la huella digital a través de un canal independiente

Otros consejos

Lo que hice en una situación similar fue arreglar primero en conseguir un par de claves pública / privada intercambiada, así, que tenía la clave pública de cada cliente, por lo que cuando se conectan a mí, se aprobó un mensaje, que tenía una marca de tiempo en él, que podría entonces descifrar.

Si eso pasó, y la marca de tiempo era válida (I usado 5 segundos como la vida de la marca de tiempo), entonces me gustaría intercambiar la clave, ya que teníamos una manera de comunicarse de forma segura.

Sin embargo, esto es algo que hace necesaria por adelantado.

Si esperas un usuario anónimo para conectar y tener cierta seguridad de que es imposible.

Un artículo que encontré muy útiles en asuntos como éste era * Programación informática de Satanás", http://www.cl.cam.ac.uk/~rja14/Papers/satan.pdf , en el que está tratando de tener una comunicación segura con un administrador de sistemas de poca confianza.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top