¿Cuál es la potencia de cifrado s / mime en iOS?

5

He configurado S / MIME en mi iPhone, pero a diferencia de otros clientes de correo, no tengo la opción de seleccionar el hash o los algoritmos de cifrado. Asumo que iOS toma esta decisión por mí.

¿Puede alguien decirme qué algoritmos se utilizan y cuáles son los tamaños de clave? Sería bueno saber que la NSA va a tener dificultades para entrar en mis notificaciones de Facebook. : D

    
pregunta cottsak 20.08.2013 - 08:20

2 respuestas

5

SHA-1 es muy probable. Esto es lo que he encontrado para apoyar esa afirmación:

En el documento Cryptographic Message Syntax Services Reference , es declaró que la versión S / MIME utilizada es 3.1 , que se define como aquí y donde se indica que admite SHA-1, SHA-256, SHA-384 y SHA-512 pero:

  

Los algoritmos SHA-256, SHA-384 y SHA-512 [FIPS180-2] no se recomiendan actualmente en S / MIME, y se incluyen aquí para completarlos.

Más aún, en Referencia de certificado, clave y servicios fiduciarios (aunque es la versión para Mac), se afirma que el algoritmo predeterminado utilizado es el SHA-1 .

En otro documento , se dice:

  

La función hash más común que utilizará es SHA-1 , un algoritmo desarrollado y publicado por el gobierno de los EE. UU. que produce un valor hash de 160 bits a partir de cualquier información de hasta 2 ** 64 bits. en longitud. También hay una serie de algoritmos más exóticos como SHA-2, algoritmos basados en curvas elípticas, etc.

     

Para la compatibilidad con los sistemas e infraestructura existentes, es posible que en ocasiones necesite usar algoritmos más antiguos como MD5, pero no se recomienda su uso en nuevos diseños debido a debilidades conocidas.

Por lo tanto, aunque no pude encontrar ninguna declaración directa que confirme el uso del algoritmo SHA-1, pistas apuntan en esa dirección.

    
respondido por el Thecafremo 20.08.2013 - 10:13
3

Para un mensaje específico, puedes usar openssl asn1parse para mirar dentro.

Me envié un mensaje usando el correo de iOS, firmado y cifrado para mí, y usando la línea de comandos

$ openssl smime -pk7out -in message.eml | openssl asn1parse

y el contenido de los resultados mostró que el mensaje parece estar cifrado con 3DES EDE en modo CBC:

  913:d=5  hl=2 l=   8 prim: OBJECT            :des-ede3-cbc

Encontrar el algoritmo de firma es otro desafío. Creo que es SHA-1, pero el mensaje descifrado incluye muchas firmas de certificados, y no estoy seguro de cuál es el mensaje.

$ openssl smime -decrypt -in smime.eml -recip me.crt -inkey me.key | \
    openssl smime -pk7out | openssl asn1parse

...

   30:d=5  hl=2 l=   5 prim: OBJECT            :sha1

Si bien la pregunta es realmente sobre el algoritmo simétrico y de hash utilizado para cifrar los datos del mensaje, los parámetros para el certificado en sí (que contiene la clave pública utilizada para cifrar la clave simétrica que, a su vez, se utiliza para tratar la datos) se seleccionan en el momento de la generación de claves. He visto esto en acción mientras generaba un nuevo par de claves personales en StartSSL ; la interfaz web solicita el tamaño de la clave RSA y el algoritmo de firma que deseo usar, junto con la advertencia de que elegir SHA-1 le dejará un certificado incompatible con algunos sistemas.

Para su valor, mi propio certificado personal utiliza RSA de 2048 bits y el algoritmo de firma SHA-1, que he encontrado que funciona bien en varios sistemas diferentes, incluyendo OS X Mail.app, iOS Mail y Outlook 2007 .

    
respondido por el zigg 29.08.2013 - 15:19

Lea otras preguntas en las etiquetas