Entendiendo que esto no es realmente una respuesta a su pregunta, yo voy a ser la encriptación de los mensajes directamente con RSA, antes de enviarlos con 0mq.
En ausencia de un método de cifrado más integrado que está totalmente probado e implementado en mi plataforma de elección, eso es lo que voy a. 0mq acaba de lanzar la versión 4, que tiene encriptado, pero todavía se considera experimental y no es totalmente compatible con los enlaces de idioma.
Encriptar el mensaje, en lugar de la conexión, parece proporcionar la ruta de actualización más sencilla, y la diferencia para nuestros propósitos es prácticamente semántica dada la forma en que tendríamos que implementar el cifrado actualmente.
Editar: Sé más de cifrado ahora que lo hice cuando escribí esto, RSA no es una opción apropiada para el cifrado de datos del mensaje. Use AES, ya sea manualmente compartiendo claves (este es nuestro enfoque a corto plazo) o implementando un esquema de intercambio de claves como en la respuesta de Jim Miller ... pero tenga cuidado si usa el último enfoque, diseñando e implementando un esquema de intercambio de claves de forma segura es difícil. Mucho más difícil de lo que piensasPuede implementar SSL/TLS directamente (utilizando mensajes BIO), y otros lo han hecho, tampoco es simple, pero al menos saben que el esquema SSL es estándar de la industria y, por lo tanto, cumple con un requisito de seguridad mínimo.
En resumen, antes de que la curva elíptica criptografiada en ZMQ 4 se considere confiable y se convierta en estándar, la "solución aceptada" sería implementar SSL/TLS sobre la conexión manualmente y, en su defecto, usar AES 128 o 256 con un mecanismo seguro para compartir claves (compartir claves es donde RSA se usaría apropiadamente).
¿Cómo es el progreso? – Anko