¿Qué tipo de cifrado necesitamos ahora que sea seguro durante los próximos 100 años?

Descargo de responsabilidad: aunque menciono a Intel varias veces en esta respuesta, y trabajo para Intel en ciertos aspectos de la seguridad. Esto no debe interpretarse como un consejo de Intel (ni nada oficial de Intel), ni tampoco de un experto en seguridad en este tema. Estoy hablando solo por mí y basado en el conocimiento limitado que tengo.

Hay dos respuestas “triviales” a la pregunta, pero al ampliarlas espero que entienda el problema que realmente enfrenta.

La primera respuesta trivial es “una almohadilla de una sola vez igual en longitud a los datos que desea cifrar”. Un pad de una sola vez es un número [verdaderamente, no pseudo-) aleatorio que solo conocen las personas que desean poder descifrar los datos. Un pad de una sola vez, incluso si se utiliza con un esquema de cifrado simple, puede hacer que los resultados no sean descifrados. La razón es que las variaciones y los patrones en la salida no se pueden atribuir de manera confiable a las variaciones y patrones en el texto que se va a cifrar o las variaciones y patrones en el teclado. El cifrado con un teclado de una sola vez equivale a convertir sus datos en ruido blanco. Repetir o reutilizar la almohadilla significa que comienza a filtrar información y cuanto más la reutiliza, más se filtra. Es por eso que uno no debe reutilizar las contraseñas cuando realmente desea proteger los datos que la contraseña está cubriendo.

Ahora, por la segunda respuesta trivial. Si desea proteger algo durante 100 años (y no está dispuesto o no es capaz de usar una sola vez), entonces la respuesta es que no puede. 100 años es mucho tiempo y no tenemos idea de qué avances se producirán en nuestra capacidad para resolver problemas “difíciles” en ese lapso de tiempo. La mayoría de la criptografía se basa en problemas concretos específicos, por ejemplo, la factorización de grandes números en números primos o tipos similares de cálculos en campos booleanos. Ahora, dada nuestra tecnología actual, a medida que aumenta la longitud del número, el tiempo para factorizar aumenta más rápido que el lineal (es decir, es exponencial (si recuerdo bien, no soy un criptógrafo)), por lo que duplicar la longitud de la clave , hace que el tiempo para “adivinar” la clave aumente más rápido que duplicar (o incluso cuadrar) el tiempo. Sin embargo, se logran avances en la forma en que resolvemos estos problemas: las tablas de arco iris han hecho que el descifrado de contraseñas sea mucho más fácil de lo que solía ser. Si no está preocupado por una tecnología innovadora que haga que su cifrado quede obsoleto, entonces con una clave RSA muy larga, digamos 4k bits (ese fue un número que escuché a algunos criptógrafos hablar recientemente), es probable que sea bueno durante un período de tiempo razonable. Tenga en cuenta que las claves más largas no solo tardan más tiempo en romperse, sino que son más largas en usarlas (no en la misma proporción, es decir, mucho más largas para un atacante, sino que también son un poco más largas que los usuarios). Es probable que tampoco pueda obtener la aceleración de hardware para cifrar / descifrar con claves conocidas durante tanto tiempo. La mayor parte de la aceleración está dirigida a casos de uso web y, por lo tanto, utiliza claves más cortas, ya que los datos solo necesitan ser protegidos durante un breve periodo de tiempo, antes de que sean inútiles.

Eso llega al siguiente punto. El cifrado no es una protección absoluta. Simplemente retrasa el tiempo que tarda un atacante comprometido en descubrir la información. Con suerte, en ese momento, uno recibe una alerta sobre el hecho de que la información está siendo atacada y puede moverla a otro lugar o protegerla de alguna otra manera. Dicho de otra manera, no espere que su información protegida con contraseña permanezca segura indefinidamente. Sepa que tiene que mover y / o cambiar los secretos que desea proteger.

Lo que es más importante, tenga en cuenta que la mayor debilidad probablemente no sea el método de cifrado que está utilizando, sino las personas con las que ha compartido el secreto. Se cometen más ataques al encontrar una solución de ingeniería social (hacer que una persona haga clic en un correo electrónico o descarga infectada) que al descifrar las contraseñas, aunque algunas contraseñas son tan triviales que entran en la categoría de ingeniería social.

En la última línea, tenga en cuenta que incluso los mecanismos de encriptación bien publicados pueden tener puertas traseras, formas de evitarlos fácilmente, ponerlas intencionalmente o accidentalmente. En Intel [y las compañías con las que trabajamos] tenemos pasos específicos que tomamos para tratar de minimizar tales debilidades, pero también estamos obligados a obedecer las leyes. Entonces, dependiendo de dónde viva, es posible que no sea posible obtener un cifrado [legalmente] que el gobierno no pueda descifrar y el hecho de comprar un cifrado ilegal suena como una apuesta más segura [en la que usted confía]. He escuchado que algunos países incluso tienen leyes en las que pueden exigirle que renuncie a su clave de cifrado.

Con todo esto en mente, tienes que determinar quién es tu adversario. Si los datos no son tan interesantes, probablemente pueda protegerlos fácilmente de manera adecuada, ya que nadie gastará los recursos para descifrarlos. Guardo todas mis contraseñas en una base de datos “keepass” que he duplicado en varias computadoras. No me preocupa el cifrado que utiliza el software, ya que a nadie le importa mucho hacerme pasar por mi persona, ni siquiera para acceder a mis activos financieros. La información que genero para Intel está más protegida y el departamento de TI administra la forma en que está cifrada y no se nos permite enviarla en formas no cifradas a través de canales inseguros, porque hay personas [con recursos importantes] que intentarán acceder a ella. Esperamos mantenerlo en secreto [en general] por un período de aproximadamente 6 meses [algunos más, otros más cortos], nada como su marco de tiempo de 100 años. Todos los miembros de Intel deben cambiar su contraseña cada 3 meses (o con mayor frecuencia), de modo que las contraseñas antiguas no tengan valor incluso si están comprometidas.

Tenga en cuenta que en esta respuesta he combinado las contraseñas y las claves de cifrado, ya que si bien son diferentes en ciertos aspectos técnicos, son lo suficientemente similares desde la perspectiva de uso que las sugerencias para uno generalmente se aplican al otro.