¿Cómo intercambiar claves públicas RSA de forma segura entre dos partes a través de internet ?
Consigue una clave de confianza. Las dos opciones más fáciles son un certificado SSL ($ 50 .. $ 100) y una clave GPG (gratis).
Cifre o firme los datos que envíe con esa clave. Con SSL, solo puede servir sus datos a través de https, pero también puede firmarlos. Con GPG, debe generar suficiente confianza para su clave, de modo que el extremo receptor esté seguro de que es usted y no un impostor.
Otra opción es crear una clave pública para su servidor SSH, publicarla y dejar que la gente solo haga un SCP de sus datos desde allí. Envíeles las huellas dactilares de su clave SSH por correo postal o avise verbalmente por Skype / teléfono. Un impostor tendría que falsificar su clave, su servidor en un nombre de dominio conocido y su teléfono / Skype / SIP contacto; esto debería ser lo suficientemente difícil como para frustrar tales intentos.
Hay algunas opciones fáciles.
Coloque la clave u otros datos en cualquier lugar de Internet, calcule una huella digital a través de SHA-256 u otro hash decente, y comunique la huella digital fuera de banda con la otra parte: a través de una llamada telefónica , SMS o quizás correo electrónico si no está demasiado preocupado por que alguien más intercepte un correo electrónico.
Obtenga un tercero en el que ambos confíen para responder por la clave u otros datos. Podrían hacerlo a través de una firma PGP en la clave (la clásica web de confianza), o una firma de CA en la clave en un certificado X.509, o quizás proporcionando una huella digital para la clave en un sitio SSL. Si sigue la ruta de la CA, tenga en cuenta que los navegadores implementados confían implícitamente en cientos de CA y es difícil saber o especifique en cuál de los dos está confiando realmente. a href="https://security.stackexchange.com/questions/2268/how-feasible-is-it-for-a-ca-to-grant-exceptions-to-the-verification-process-whi"> Cómo ¿Es factible que un CA sea hackeado? ¿Qué certificados raíz de confianza predeterminados debo eliminar? ".
Por supuesto, su preferencia dependerá de qué tipo de clave es, a quién se la está enviando, cómo pretende usarla, cómo se ven sus amenazas, qué está utilizando para protegerla, etc.
Correo electrónico, pm en un foro, realmente de la forma que desee. La idea es que cualquiera pueda conocer la clave pública y no importa.
editar: tenga en cuenta que esto supone que solo desea que puedan enviarle mensajes cifrados, que otras personas no pueden leer. Si desea garantizar el remitente, en lugar de tratar de mantener la clave pública privada (lo que anula el propósito, y tampoco puede usar RSA), consígalos en firma el mensaje usando, por ejemplo, su propia clave RSA.
O en su defecto, cifre la clave con algo como su clave pública RSA, para que puedan descifrarla.
Lea otras preguntas en las etiquetas cryptography key-exchange