Implicaciones de seguridad de proporcionar un oráculo de cifrado / descifrado

2

Necesito proporcionar un servicio que actúe como una caja negra de cifrado / descifrado simétrico:

  • la casilla obtiene una clave secreta k
  • los usuarios envían datos d y obtienen texto cifrado c = Encrypt(d,k)
  • los usuarios envían texto cifrado c y obtienen datos d = Decrypt(c,k)
  • la casilla debe cifrar / descifrar solo de / a un conjunto de usuarios autorizados
  • los usuarios nunca deben obtener la clave k

Tengo un pequeño problema para identificar lo que podrían ser agujeros en mi servicio. Según tengo entendido, necesito un cifrado que resista los siguientes ataques:

  • Ataque de texto cifrado elegido
  • Ataque de texto claro elegido
  • Conoce el ataque de texto simple

En una vista técnica, el cifrado / descifrado se realiza mediante AES, que se cree que resiste dicho ataque. Con un HMAC, debería poder rechazar solicitudes provenientes de usuarios no autorizados.

¿Es cierto que;

  • un usuario no podrá encontrar la clave a pesar del hecho de que puede cifrar / descifrar cualquier cantidad de datos (ya que AES es fuerte)
  • user1 puede cifrar datos, user2 puede obtenerlos (robar) y ahora user2 puede descifrar los datos de user1 usando el oráculo
  • ya que ofrezco un oráculo, tengo pocas preocupaciones con los ataques de tiempo y los ataques de relleno

¿Cuáles son los riesgos, ataques y agujeros que me faltan en este esquema?

    
pregunta calve 24.06.2015 - 12:17
fuente

0 respuestas

Lea otras preguntas en las etiquetas