CRAM-MD5
En criptografía, CRAM-MD5 es un autenticación mediante desafío y respuesta mecanismo (CRAM) basado en el HMAC-MD5 algoritmo. Como uno de los mecanismos de apoyo de la Autentificación simple y capa de seguridad (SASL), a menudo se utiliza en un software de correo electrónico como parte de Autenticación SMTP y para la autentificación de SO3 y IMAP los usuarios, así como en aplicaciones de ejecución LDAP, XMPP, BIPy otros protocolos.
Cuando este tipo de software requiere autenticación sobre conexiones no cifradas, CRAM-MD5 se prefiere sobre los mecanismos que transmiten las contraseñas "a"salvo, tales como INICIO DE SESIÓN
y LLANO
. Sin embargo, no puede prevenir la derivación de una contraseña a través de un ataque de fuerza bruta, así que es menos eficaz que mecanismos alternativos que evite las contraseñas o que utilizan conexiones encriptadas con Transport Layer Security (TLS).
Contenido
- 1 Protocolo
- 2 Fortalezas
- 3 Debilidades
- 4 Estándares
- 5 Véase también
- 6 Referencias
Protocolo
El protocolo de CRAM-MD5 implica un desafío individual y ciclo de respuesta y se inicia el servidor:
- Desafío: El servidor envía un Base64-codificado en cadena para el cliente. Antes de codificarlo, podría ser cualquier cadena aleatoria, pero el estándar que define actualmente CRAM-MD5 dice que está en el formato de un
ID del mensaje
valor de encabezado de correo electrónico (incluyendo corchete angular de cierres) e incluye una cadena arbitraria de dígitos al azar, un fecha y horay del servidor nombre de dominio completamente calificado. - Respuesta: El cliente responde con una cadena creada como sigue.
- El desafío es base64-descodificado.
- El desafío decodificado es hash utilizando HMAC-MD5, con un secreto compartido (normalmente, la contraseña del usuario, o un hash de éstos) como la clave secreta.
- El desafío hash se convierte en una cadena de dígitos hexadecimales en minúsculas.
- El nombre de usuario y un carácter de espacio se antepone a los dígitos hexadecimales.
- La concatenación es codificada en base64 y se envía al servidor
- Comparación: El servidor utiliza el mismo método para calcular la respuesta esperada. Si coincide con la respuesta dada y la respuesta esperada, autenticación era acertada.
Fortalezas
El hash unidireccional y el nuevo desafío al azar ofrecen tres tipos de seguridad:
- Otros no pueden duplicar el hash sin conocer la contraseña. Esto proporciona autenticación.
- Otros no pueden reproducir el hash — es dependiente en el desafío impredecible. Esto se llama vario frescura o prevención de la repetición.
- Los observadores no aprenden la contraseña; Esto se llama secreto.
Debilidades
- No autenticación mutua:: el cliente no verifica el servidor.
- Almacenamiento de contraseñas débiles: algunas implementaciones requieren acceso a las contraseñas de texto sin formato del usuario, mientras que otros (e.g. Palomar) Utilice el paso intermedio del proceso HMAC para almacenar el MD5-hash de la contraseña (en sentido estricto de HMAC variables internas i_key_pad y o_key_pad).[1][2] Estas implementaciones que aprovechan para informática md5(something_with_64_bytes || something_else), sólo md5_internal(something_with_64_bytes) y something_else son necesarios para saber (causa de Merkle – Damgård uso en MD5; md5_internal es md5 sin el bloque final). Como i_key_pad y o_key_pad están en el comienzo del hash interno y externo de HMAC y tienen una longitud de 64 bytes, se puede utilizar este hecho.
- Amenaza de reversibilidad: una línea ataque de Diccionario recuperar la contraseña es factible después de capturar un intercambio exitoso de protocolo CRAM-MD5 (por ejemplo, mediante Cain & Abel).
- Proxy-capacidad: A diferencia un acuerdo clave de autenticación de contraseña Esquema (PAKE), CRAM-MD5 no establece un secreto compartido entre los dos extremos pero desconocido a un espía. Un activo hombre en el medio puede por lo tanto abrir una conexión con el servidor, conseguir un reto, ofrecer ese desafío al cliente, recibir respuesta del cliente y adelante esa respuesta en el servidor. Ahora lo puedes dejar mensajes más del cliente mientras haciéndose pasar por el cliente al servidor.
Estándares
CRAM-MD5 se define por la Documento de estándares-pista IETF RFC 2195, que reemplaza a RFC 2095, desde antes de 1997. Estos de facto estándares CRAM-MD5 se define como un método de autenticación para los protocolos de administración Buzón correo electrónico POP y IMAP.
CRAM-MD5 es uno de los métodos de autenticación soportados por Autentificación simple y capa de seguridad (SASL), definido en 2006 por RFC 4422, que reemplaza a la norma de 1997 RFC 2222.
El Autoridad de números asignados de Internet (IANA) mantiene un registro de los mecanismos de SASL,[3] incluyendo CRAM-MD5, para un uso limitado.
CRAM-MD5 se requiere para Relé de correo bajo demanda (ODMR), definida en RFC 2645.
Véase también
- Simple Mail Transfer Protocol (SMTP)
- John Klensin
Referencias
- ^ "función verify_credentials". Fuente del palomar 2.0. 23 de enero 2014.
- ^ "archivo hmac-md5.c". Fuente del palomar 2.0. 23 de enero 2014.
- ^ "Simple autenticación y mecanismos de seguridad (SASL) capa". Registros de protocolo. IANA.
Otras Páginas
- IOS 6
- Longevidad
- Seguro de riesgo del constructor
- Tanglewood Mall
- Bastia
- Soundwalk (colectiva)
- Carmel, California (seccion Mision San Carlos y Junipero Serra)
- Municipio de Rapid River
- Ford Focus (primera generacion)
- Motor de Chrysler Hemi-6
- Bursa Malasia (seccion estructura)
- Comparacion de los sistemas de salud en Canada y los Estados Unidos (seccion de seguro de salud)
- Fabricacion de nube
- Datos persistentes en el cliente
- Ficha de telefono