¿Cuál sería un mejor algoritmo de cifrado que RSA_DES_EDE3_CBC?

1

Primero que nada, déjame explicarte por qué estoy preguntando esto:

La implementación predeterminada de EnvelopedCms está usando AlgorithmIdentifier que solo utilizará RSA_DES_EDE3_CBC o OID
1.2.840.113549.3.7
como algoritmo de cifrado. Muchas herramientas que usan EnvelopedCms simplemente copian & pegue código de ejemplo . Ahora no sé usted, pero en 2017, cuando leí DES , creo que " no es seguro ". Tal vez ya me equivoque en este momento, al menos el DES todavía se usa aquí y allá, pero la última vez que verifiqué la recomendación fue usar códigos cifrados más avanzados como AES.

Ahora para mi (s) pregunta (s):

  1. ¿Es RSA_DES_EDE3_CBC todavía "seguro" suficiente? Cuando pregunto esto, quiero decir que es lo suficientemente seguro para los próximos años, ya que un usuario típico no quiere volver a cifrar los archivos cada año. Por el bien de la discusión, simplemente asumamos la ley de Moore e ignoremos cualquier avance imprevisto, por ejemplo. computación cuántica.
  2. Si no, como supongo (ver título), qué OID sería una mejor opción al usar EnvelopedCms ? Quizás OID 2.16.840.1.101.3.4.1.42 (es ¿Esto es un OID de cifrado de bloque correcto?) o algo más avanzado? Y lo más importante: dónde puedo encontrar una lista de OID / FriendlyNames con el soporte de AlgorithmIdentifier ?
pregunta masi 18.06.2017 - 08:30
fuente

2 respuestas

1

RSA_DES_EDE3_CBC significa que RSA se utiliza junto con una versión de DESE. Si para cada paso (E, D, E) se usa una clave única, efectivamente está utilizando Tripple-DES (3-DES). Según el NIST, todavía proporciona una seguridad de 112 bits, que se supone que es suficiente hoy (06/2017, quién sabe ...). Sin embargo, NIST también recomienda usar AES (128 o más).

Puede encontrar una lista de algunos OID admitidos aquí: enlace

No sé qué tipo de software estás construyendo. Si solo desea cifrar algo, puede usar RSA junto con AES . Así que iría cifrando un mensaje con AES128_CBC (OID 2.16.840.1.101.3.4.1.2) y cifrando la clave utilizada con RSAES_OAEP (OID 1.2.840.113549.1.1.7)

Personalmente probaría libsodium ( enlace ) que hace muchas cosas por ti sin ningún avellano (generación de teclas, envoltura , ...). Utiliza ChaCha20-Poly1305 en lugar de AES-GCM y Ed25519 en lugar de RSA.

    
respondido por el fr00tyl00p 18.06.2017 - 13:58
fuente
1
  1. DES no es seguro, no debería usarlo. Sin embargo, el algoritmo en cuestión no es DES, sino 3DES en Encrypt -Decrypt-Encryt mode. Aquí hay una respuesta sobre la seguridad de esta versión.
  2. El OID que publicó es para AES256-CBC, que es un algoritmo recomendado y actualizado. Aunque el modo CBC es no es lo mejor que podría usar , para criptografía simétrica este es el mejor que proporciona Microsoft: aquí hay una lista de los OID soportados .
respondido por el buherator 18.06.2017 - 12:17
fuente

Lea otras preguntas en las etiquetas