Multimedia Internet KEYing (MIKEY) es un protocolo de administración de claves que está diseñado para su uso con aplicaciones en tiempo real. Se puede utilizar específicamente para configurar claves de cifrado para sesiones multimedia que están protegidas mediante SRTP , el protocolo de seguridad que se utiliza habitualmente para proteger las comunicaciones en tiempo real, como VoIP.
MIKEY se definió por primera vez en RFC 3830. Se han definido modos adicionales de MIKEY en RFC 4650, RFC 4738, RFC 6043, RFC 6267 y RFC 6509.
Propósito de MIKEY
Como se describe en RFC 3830, el protocolo MIKEY está destinado a proporcionar seguridad de extremo a extremo entre usuarios para respaldar una comunicación. Para ello, comparte una clave de sesión, conocida como Traffic Encryption Key (TEK), entre los participantes de una sesión de comunicación. El protocolo MIKEY también puede autenticar a los participantes de la comunicación.
MIKEY proporciona muchos métodos para compartir la clave de sesión y autenticar a los participantes.
Usando MIKEY en la práctica
MIKEY se utiliza para realizar la gestión de claves para asegurar un protocolo de comunicación multimedia. Como tal, los intercambios MIKEY generalmente ocurren dentro del protocolo de señalización que soporta la comunicación.
Una configuración común es que MIKEY admita Secure VoIP al proporcionar el mecanismo de administración de claves para el protocolo VoIP (SRTP). La gestión de claves se realiza mediante la inclusión de mensajes MIKEY dentro del contenido SDP de los mensajes de señalización SIP . [1]
Casos de uso
MIKEY considera cómo proteger los siguientes casos de uso:
- Comunicaciones uno a uno
- Comunicaciones de conferencia
- Transmisión grupal
- Desvío de llamadas
- Bifurcación de llamadas
- Entrega retrasada (correo de voz)
No todos los métodos MIKEY son compatibles con cada caso de uso. Cada método MIKEY también tiene sus propias ventajas y desventajas en términos de compatibilidad de funciones, complejidad computacional y latencia de la configuración de la comunicación.
Métodos clave de transporte e intercambio
MIKEY admite ocho métodos diferentes para configurar un secreto común (para ser utilizado, por ejemplo, como una clave de sesión o una KEK de sesión ):
- Clave precompartida (MIKEY-PSK) : esta es la forma más eficiente de manejar el transporte del secreto común, ya que solose usa cifrado simétrico y solo se debe intercambiar una pequeña cantidad de datos. Sin embargo, se debe compartir una clave individual con cada uno de los pares, lo que genera problemas de escalabilidad para grupos de usuarios más grandes.
- Clave pública (MIKEY-PK) : el secreto común se intercambia con la ayuda del cifrado de clave pública . En sistemas más grandes, esto requiere una PKI para manejar la distribución segura de claves públicas.
- Diffie-Hellman (MIKEY-DH) :se utilizaun intercambio de claves Diffie-Hellman para configurar el secreto común. Este método tiene un mayor consumo de recursos (tanto tiempo de cálculo como ancho de banda) que los anteriores, pero tiene la ventaja de proporcionar un secreto directo perfecto . Además, se puede utilizar sin PKI.
- DH-HMAC (MIKEY-DHHMAC) (Diffie – Hellman autenticado por HMAC): esta es una versión ligera de Diffie – Hellman MIKEY: en lugar de certificados y firmas RSA, utiliza HMAC para autenticar las dos partes entre sí. DH-HMAC se define en RFC 4650.
- RSA-R (MIKEY-RSA-R) ( RSA inverso ): el secreto común se intercambia con la ayuda del cifrado de clave pública de una manera que no requiere ninguna PKI: el iniciador envía su clave RSA pública al respondedor, que responde seleccionando el secreto común y luego lo envía de vuelta al iniciador encriptado con la clave pública del iniciador. RSA-R se define en RFC 4738.
- TICKET (MIKEY-TICKET) : Modos de distribución de claves basados en tickets en KEYing de Internet multimedia (MIKEY). MIKEY-TICKET se define en RFC 6043.
- IBAKE (MIKEY-IBAKE) : Modo de intercambio de claves autenticadas basado en identidad (IBAKE) de distribución de claves en CLAVES de Internet multimedia (MIKEY). MIKEY-IBAKE se define en RFC 6267.
- SAKKE (MIKEY-SAKKE) : Cifrado de clave Sakai-Kasahara en CLAVES de Internet multimedia (MIKEY). Este es un método de intercambio de claves autenticadas basado en identidad. MIKEY-SAKKE se define en RFC 6509.
Mensajes de MIKEY
La mayoría de los métodos MIKEY requieren que el iniciador envíe un mensaje a los participantes (el I_MESSAGE) y que los receptores respondan con otro mensaje (el R_MESSAGE). Una vez finalizado este intercambio, los participantes pueden generar la clave de sesión. MIKEY-SAKKE no requiere un R_MESSAGE.
Contenido del mensaje de MIKEY
Los mensajes MIKEY se componen de una serie de cargas útiles. Cada carga útil describe la siguiente carga útil en el mensaje MIKEY. De esta manera, el protocolo MIKEY ha demostrado que es flexible para ser ampliado y adaptado.
La primera carga útil es siempre el encabezado común (HDR). Identifica la versión del protocolo MIKEY, el método utilizado (tipo de datos), si se requiere respuesta e identifica la sesión criptográfica que se establecerá a través del intercambio.
Las cargas útiles adicionales se definen mediante el método MIKEY en uso. Con frecuencia, estos incluirán cargas útiles de información como:
- Una carga útil de marca de tiempo (T): contiene la hora y, por lo tanto, ayuda a proteger contra ataques de repetición.
- Cargas útiles de identidad (ID): identifica a los participantes. Este tipo de carga útil también puede contener certificados (CERT). Esto se amplió en RFC 6043 para incluir el 'rol' del usuario como parte del ID (IDR).
- Una carga útil RAND (RAND): se trata de datos aleatorios que se utilizan para agregar sal a la derivación de la clave posterior al intercambio.
- Políticas de seguridad (SP): contiene un conjunto limitado de políticas de seguridad para respaldar la comunicación.
- Hash de certificado (CHASH): un hash que indica un certificado utilizado para el cifrado de clave pública.
Además de esto, el mensaje MIKEY contendrá al menos una carga útil que encapsula el material clave. Éstas incluyen:
- Transporte de datos clave (KEMAC): encapsula la clave cifrándola mediante un secreto previamente compartido. RFC 4650 amplía esto para admitir Diffie-Hellman autenticado (DHHMAC).
- Diffie-Hellman (DH): contiene información criptográfica que respalda el protocolo Diffie-Hellman .
- Envelope Data (PKE): encapsula la clave mediante cifrado de clave pública . Esto está extendido por RFC 4738 y RFC 6267.
- Sakai-Kasahara (SAKKE): encapsula la clave utilizando el protocolo Sakai-Kasahara basado en identidad . Esto está definido por RFC 6509.
- Ticket (TICKET): proporciona un token criptográfico para solicitar material de claves de un servidor externo (KMS). Esto está definido por RFC 6043.
Finalmente, el mensaje MIKEY puede contener una carga útil de autenticación. Éstas incluyen:
- Firma (SIGN): una firma en el mensaje de MIKEY.
- Verificación (V): un MAC enviado por el receptor para verificar la recepción.
Ver también
- ZRTP: una alternativa a MIKEY como protocolo de acuerdo de clave criptográfico para SRTP
- Descripciones de seguridad del protocolo de descripción de sesión SDES para flujos de medios
- Protocolo de acuerdo de claves
- Intercambio de claves de Internet (IKE): otro protocolo de administración de claves
- wolfSSL : una biblioteca SSL / TLS que tiene integración con MIKEY SAKKE