¿Cómo la fuerza de encriptación hace una diferencia para un atacante?

2

Por ejemplo, tengo mi seguridad social y otra información personal almacenada como una cadena que estoy tratando de cifrar en mi disco local. Mi primer método para cifrar la cadena es utilizar un algoritmo AES basado en contraseña, y luego simplemente pegaría el texto cifrado generado en un archivo donde puedo almacenarlo y descifrarlo más tarde. Mi segundo método para cifrar la cadena es crear mi propio algoritmo, que es mucho más simple: tomo esa cadena y aplico algunos cambios de bits sencillos mezclados con algunas adiciones, multiplicaciones y rotaciones aleatorias de bits. Más tarde, si necesito descifrar esa cadena, puedo aplicar la negación de mi lógica para alcanzar mi cadena descifrada.

Ahora que tenemos una cadena cifrada con el popular algoritmo AES y otra cadena cifrada con mi algoritmo tonto, ambas se ven igual de complicadas y complejas.

Ahora supongamos que alguien quería descifrar mi información personal, tener acceso al archivo de texto simple en el que guardé el texto cifrado. El atacante no sabe qué tipo de algoritmo utilicé en el texto cifrado. ¿Qué texto cifrado será más difícil de descifrar? ¿Importa el algoritmo que utilicé para este escenario y por qué? Si este fuera un mal ejemplo de dónde podría importar la fuerza del algoritmo de cifrado, ¿podría explicar un mejor escenario de dónde importaría más?

No logro ver cómo un algoritmo complejo se sostiene mejor que uno de código cerrado propio o más débil, ya que asumo que un atacante intentará usar la fuerza bruta. Dado que asumo que intentarán la fuerza bruta, también asumo que no tienen control sobre qué tan aleatorias son sus suposiciones, (posiblemente) que la fuerza del algoritmo es inútil, es decir, ya que ambas cadenas están desordenadas y parecen aleatorias, ambos parecen complejos.

    
pregunta void.massive 21.01.2016 - 02:25
fuente

1 respuesta

1

Lo primero y más importante es que rodar su propio cripto es casi siempre una mala idea ver Por qué ¿No deberíamos rodar los nuestros? .

Ahora que ese requisito está fuera del camino, echemos un vistazo a su pregunta. En este caso, tienes que preguntar de qué estás protegiendo. El cifrado AES (asumiendo que se implementa correctamente y no hay canales laterales) protegerá sus datos de ataques de recursos altos a largo plazo y de ataques simples como navegar por los hombros. No debería importar si se trata de un ataque de oportunidad o un ataque dirigido, sus datos están seguros.

Se puede contar con todo el cifrado de tu hogar como una forma de ofuscación. Herramientas como el análisis de frecuencia son muy potentes. Parecer que ambas cuerdas están en mal estado no es suficiente. Cambiar todas las letras de la respuesta hace que se vea todo desordenado. Sin embargo esto es trivial de romper. Normalmente no es difícil encontrar patrones que permitan un descifrado completo con solo una pequeña muestra. Todo lo que puedes contar es la resistencia al surf de hombro y los ataques no calificados.

También parece que usted mismo ha implementado el AES y su algoritmo. Esto probablemente lo abrirá a un mayor riesgo de ataques de canal lateral (sincronización, ect. De sombra).

Si desea un método fácil de encriptación, puede usar un proyecto como KeePass o 7zip para almacenar sus datos (con encriptación). De esta manera, tiene la ventaja de un proyecto de código abierto, posiblemente probado en el tiempo, con criptografía fuerte. No quiere decir que esos atributos ofrezcan una protección completa, solo eche un vistazo a OpenSSL.

Al final, debe evaluar sus amenazas y preguntar si está dispuesto a conformarse con la ofuscación o si necesita protección completa.

    
respondido por el AstroDan 21.01.2016 - 04:51
fuente

Lea otras preguntas en las etiquetas