Es Criptografía Ingeniería o Ciencias? #cryptoparty…


Traducción cc

En respuesta a un tweet de Thomas Ptacek diciendo: “Si no estás aprendiendo cripto por los ataques de codificación, es posible que en realidad no aprenderá crypto,” Colin Percival publicó una refutación bien pensada, que dice en parte:

Si todavía estábamos en la década de 1990, estoy de acuerdo con Thomas. 1990 criptografía estaba lleno de agujeros, y lo mejor que podía esperar era saber cómo se rompieron las herramientas para que puedas tratar de solucionar sus deficiencias. Este fue un momento en que fueron ampliamente utilizados DES y RC4, a pesar de tener defectos conocidos. Este fue un momento en que la gente evitaba utilizar el modo CTR para convertir cifrados de bloque en cifras de la corriente, debido a la preocupación de que la debilidad del cifrado de bloque se puede quebrar si los bloques de entrada alimentados que compartían muchos bytes (cero) en común. Este fue un tiempo cuando la gente se preocupaba por las propiedades “de propagación de errores” de cifrado por bloques, es decir, la cantidad de la producción sería destrozado si se da la vuelta a un pequeño número de bits del texto cifrado. Este fue un tiempo cuando la gente rutinariamente recomienda comprimir los datos antes de cifrarlo, ya que “compactado” la entropía en el mensaje, y así lo hizo “más difícil para un atacante para identificar cuando encontró la tecla correcta”. No debería ser ninguna sorpresa que SSL, diseñado durante esta época, ha tenido una larga lista de defectos de diseño.

Criptografía en la década de 2010 es diferente. Ahora empezamos con los componentes básicos que se cree que son por ejemplo muy seguro, cifrado de bloques que se cree que son indistinguibles de permutaciones aleatorias y que han sido matemáticamente probado ser seguro contra ciertos tipos de ataques, por ejemplo, AES se sabe que es inmune a la diferencia criptoanálisis. A partir de estos componentes, que luego construimos sistemas de orden superior a través de mecanismos que se han demostrado para no introducir vulnerabilidades. Por ejemplo, si se genera una secuencia ordenada de paquetes mediante el cifrado de datos mediante un cifrado de bloques indistinguibles-de-aleatorios permutación (por ejemplo, AES) en el modo CTR con un número de secuencia de paquetes como el nonce CTR y, a continuación, añadir una débilmente infalsificable MAC (por ejemplo, HMAC-SHA256) de los datos cifrados y el número de secuencia de paquetes, los paquetes tanto preservar la privacidad y no permiten ninguna alteración detectada (incluyendo repeticiones y reordenación de paquetes). La vida será aún mejor una vez Keccak (aka. SHA-3) se hace más ampliamente opinión y de confianza, como su construcción “esponja” se puede utilizar para construir – con seguridad demostrable – una muy amplia gama de componentes criptográficos importantes.

Se recomienda un enfoque más moderno a la criptografía: “el estudio de la teoría y los sistemas que permite demostrar el diseño son seguros.”

Creo que ambas afirmaciones son ciertas – y no contradictorias en absoluto. El desacuerdo aparente se debe a las diferentes definiciones de la criptografía.

Hace muchos años, en el panel del criptógrafo en la conferencia RSA, científico entonces jefe de RSA Bert Kaliski habló de la aparición de algo que él llama el “ingeniero de cifrado.” Su punto era que la práctica de la criptografía fue cambiando. Allí estaba la criptografía tradicional matemática – diseño y análisis de algoritmos y protocolos, y la construcción de la teoría de cifrado -, pero también hubo una criptografía más orientado a la práctica: tomar bloques criptográficos existentes y la creación de sistemas de seguridad de ellos. Es este último grupo se llama ingenieros de cifrado. Es el grupo de personas que escribí Criptografía Aplicada, y, más recientemente, co-escribió Criptografía Ingeniería, para. Colin lo sabe, dirigir sus consejos a los “promotores” – ingenieros de cifrado de Kaliski.

Criptografía tradicional es una ciencia – matemática aplicada – y criptografía aplicada es la ingeniería. Prefiero el término “ingeniería de seguridad”, ya que necesariamente abarca mucho más que la criptografía – ver gran libro del mismo nombre de Ross Andersen. Y los errores en la ingeniería es donde una gran cantidad de sistemas criptográficos del mundo real rompa.

Seguridad demostrable tiene sus limitaciones. Criptógrafo Lars Knudsen dijo una vez: “Si es demostrablemente seguro, probablemente no lo es.” Sí, tenemos demostrablemente seguro criptografía, pero esas pruebas adoptar formas muy específicas de los ataques muy específicos. Se reducirá el número de supuestos de seguridad que tenemos que hacer de un sistema, pero todavía tenemos que hacer un montón de supuestos de seguridad.

Y la criptografía tiene sus limitaciones, en general, a pesar de los puntos fuertes aparentes. La gran fuerza de la criptografía es que da a la defensa una ventaja natural: la adición de un solo bit a una clave criptográfica aumenta el trabajo para cifrar por sólo una pequeña cantidad, pero duplica el trabajo necesario para romper el cifrado. Esta es la forma en que diseñamos algoritmos que – en teoría – no se pueden romper hasta que el universo se colapsa sobre sí mismo.

A pesar de ello, los sistemas criptográficos se rompen todo el tiempo: mucho antes de la muerte térmica del universo. Están rotas a causa de errores de software en la codificación de los algoritmos. Están rotos porque el sistema de gestión de la memoria de la computadora dejó una copia de la llave perdida por ahí, y el sistema operativo copia automáticamente al disco. Están rotas a causa de los desbordamientos de búfer y otros fallos de seguridad. Son interrumpidos por ataques de canal lateral. Están rotas a causa de las interfaces de usuario malas o prácticas inseguras de usuario.

Mucha gente ha dicho: “En teoría, la teoría y la práctica son lo mismo, pero en la práctica no lo son.”. Es cierto acerca de la criptografía. Si quieres ser un criptógrafo, estudiar matemáticas. Estudia las matemáticas de la criptografía y el criptoanálisis especial. Hay un montón de arte a la ciencia, y no será capaz de diseñar buenos algoritmos y protocolos hasta que adquiera experiencia en romper las ya existentes. Si quieres ser un ingeniero de seguridad, implementaciones de estudio y codificación. Tome las herramientas criptógrafos crean, y aprender a utilizar bien.

El mundo tiene necesidad de ingenieros de seguridad aún más de lo que necesita criptógrafos. Estamos muy bien en criptografía matemáticamente segura, y terrible en el uso de esas herramientas para diseñar sistemas seguros.

Después de escribir esto, me encontré con una conversación entre los dos, donde ambos básicamente de acuerdo conmigo.

Bruce Schneier

“I don’t want to have unprotected communication with you.” #cryptoparty https://www.youtube.com/watch?v=7ra2JA7PL2Y&feature=youtu.be …

Anuncios

Acerca de tapanco

Un peatón que camina entre metáforas, código, sueños...convencido de que un paso, hace la diferencia al andar. Lo que nos resta de Patria, debemos defenderla! Para dejarle algo de sustancia de ella a nuestros hijos, algo de su esencia que nosotros disfrutamos un día a carcajadas...
Esta entrada fue publicada en Uncategorized. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s