negociación de cifrado ssl xmpp

3

¿Alguien sabe cómo se cifran los cifrados ssl a través del protocolo xmpp? Cuando capturo paquetes, veo:

<starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>

No hay negociación de servidor / cliente o cifrado hello, como http. ¿Alguien puede apuntar a algún lugar donde pueda obtener más información?

    
pregunta marcwho 29.08.2013 - 15:03
fuente

1 respuesta

5

Como se explica en RFC 3920 (sección 5), una máquina enviará la etiqueta " <starttls> " para indicar que es compatible con SSL / TLS, y luego, cuando se envía y recibe el " > " final de un elemento XML " <proceed/> " posterior, la conexión subyacente se secuestra de forma inmediata para comenzar a TLS handshake . El protocolo de enlace consiste en mensajes TLS (que no son XML en absoluto), comenzando con ClientHello (desde el "cliente" de TLS) y luego ServerHello (desde el "servidor" de TLS) que incluye la negociación de la suite de cifrado.

No hay ningún método en XMPP para anunciar el soporte específico de la suite de cifrado TLS antes del protocolo de enlace TLS. Desde una vista de captura de paquetes, verá ClientHello y ServerHello justo después de la etiqueta " <proceed/> ", no donde ocurre el elemento " <starttls> ".

Una consecuencia es que las máquinas que usan XMPP para comunicarse entre sí no pueden saber si podrán encontrar un conjunto de cifrado TLS que ambos admitan antes de comprometerse realmente con el uso de TLS. No es un gran problema en la práctica, ya que las implementaciones SSL / TLS son compatibles con algunos conjuntos de cifrado de respaldo que todas las implementaciones conocen (RSA + RC4 + SHA-1 y RSA + 3DES + SHA-1, a saber), incluso si usualmente son prefiero algunas otras suites de cifrado.

    
respondido por el Tom Leek 29.08.2013 - 15:47
fuente

Lea otras preguntas en las etiquetas