SDES ( Descripciones de seguridad del protocolo de descripción de sesión ) para Media Streams es una forma de negociar la clave para el Protocolo de transporte seguro en tiempo real . Se propuso su estandarización al IETF en julio de 2006 (ver RFC 4568).
Cómo funciona
Las claves se transportan en el adjunto SDP de un mensaje SIP . Eso significa que la capa de transporte SIP debe asegurarse de que nadie más pueda ver el archivo adjunto. Esto se puede hacer usando la capa de transporte TLS u otros métodos como S / MIME. El uso de TLS supone que se puede confiar en el siguiente salto en la cadena de proxy SIP y se ocupará de los requisitos de seguridad de la solicitud.
La principal ventaja de este método es que es extremadamente simple. El método de intercambio de claves ya ha sido elegido por varios proveedores, aunque algunos proveedores no utilizan un mecanismo seguro para transportar la clave. Esto ayuda a obtener la masa crítica de implementación para hacer de este método el estándar de facto.
Para ilustrar este principio con un ejemplo, el teléfono envía una llamada al proxy. Al utilizar el esquema de sorbos, indica que la llamada debe ser segura. La clave está codificada en base 64 en el archivo adjunto SDP.
INVITAR sorbos: *[email protected]; usuario = teléfono SIP / 2.0Vía: SIP / 2.0 / TLS 172.20.25.100:2049;branch=z9hG4bK-s5kcqq8jqjv3;rportDe: "123" < sorbos: [email protected] >; tag = mogkxsrhm4Para: < sorbos: *[email protected]; usuario = teléfono >ID de llamada: 3c269247a122-f0ee6wcrvkcq @ snom360-000413230A07CSeq: 1 INVITARDelanteros máximos: 70Contacto: < sip: [email protected]: 2049; transport = tls; line = gyhiepdm >; reg-id = 1Usuario-Agente: snom360 / 6.2.2Aceptar: aplicación / sdpPermitir: INVITAR, ACK, CANCELAR, BYE, REFER, OPTIONS, NOTIFY, SUSCRIBE, PRACK, MESSAGE, INFOPermitir eventos: hablar, esperar, referirSoportado: temporizador, 100rel, reemplaza, calleridLa sesión expira: 3600; actualización = uasMínimo SE: 90Tipo de contenido: aplicación / sdpLongitud del contenido: 477v = 0o = raíz 2071608643 2071608643 EN IP4 172.20.25.100s = llamarc = EN IP4 172.20.25.100t = 0 0m = audio 57676 RTP / SAVP 0 8 9 2 3 18 4101a = criptográfico: 1 AES_CM_128_HMAC_SHA1_32 en línea: WbTBosdVUZqEb6Htqhn + m3z7wUh4RJVR8nE15GbNa = rtpmap: 0 pcmu / 8000a = rtpmap: 8 pcma / 8000a = rtpmap: 9 g722 / 8000a = rtpmap: 2 g726-32 / 8000a = rtpmap: 3 g / m2 / 8000a = rtpmap: 18 g729 / 8000a = rtpmap: 4 g723 / 8000a = rtpmap: 101 evento telefónico / 8000a = fmtp: 101 0-16a = ptiempo: 20a = cifrado: opcionala = sendrecv
El teléfono recibe la respuesta del proxy y ahora puede haber una llamada segura bidireccional:
SIP / 2.0 200 OkVía: SIP / 2.0 / TLS 172.20.25.100:2049;branch=z9hG4bK-s5kcqq8jqjv3;rport=62401;received=66.31.106.96De: "123" < sorbos: [email protected] >; tag = mogkxsrhm4Para: < sorbos: *[email protected]; usuario = teléfono >; etiqueta = 237592673ID de llamada: 3c269247a122-f0ee6wcrvkcq @ snom360-000413230A07CSeq: 1 INVITARContacto: < sip: *[email protected]: 5061; transport = tls >Soportado: 100rel, reemplazaPermitir eventos: consultarPermitir: INVITAR, ACK, CANCELAR, BYE, REFER, OPTIONS, PRACK, INFOAceptar: aplicación / sdpUsuario-Agente: pbxnsip-PBX / 1.5.1Tipo de contenido: aplicación / sdpLongitud del contenido: 298v = 0o = - 1996782469 1996782469 EN IP4 203.43.12.32s = -c = EN IP4 203.43.12.32t = 0 0m = audio 57076 RTP / SAVP 0101a = rtpmap: 0 pcmu / 8000a = rtpmap: 101 evento telefónico / 8000a = fmtp: 101 0-11a = criptográfico: 1 AES_CM_128_HMAC_SHA1_32 en línea: bmt4MzIzMmYxdnFyaWM3d282dGR5Z3g0c2k5M3Yxa = ptiempo: 20a = sendrecv
Discusión: Inicio de llamada y cifrado de extremo a extremo faltante
Un problema común con los medios seguros es que es posible que el intercambio de claves no finalice cuando llega el primer paquete de medios. Para evitar los clics iniciales, esos paquetes deben descartarse. Por lo general, esto es solo un período de tiempo corto (por debajo de 100 ms), por lo que no es un problema importante.
El método SDES no aborda el cifrado de medios "de un extremo a otro". Por ejemplo, si el usuario A está hablando con el usuario B a través de un proxy P, SDES permite la negociación de claves entre A y P o entre B y P, pero no entre A y B. Para la seguridad de los medios de extremo a extremo, primero debe establecer una relación de confianza con el otro lado. Si utiliza un intermediario de confianza para esto, la demora en la configuración de la llamada aumentará significativamente, lo que dificulta las aplicaciones como pulsar para hablar. Si lo hace de igual a igual, puede resultarle difícil identificar el otro lado. Por ejemplo, su operador podría implementar una arquitectura B2BUA y desempeñar el papel del otro lado, de modo que aún no tenga seguridad de extremo a extremo. Los protocolos más nuevos y modernos, como ZRTP , ofrecen cifrado de extremo a extremo para llamadas SIP / RTP.