Primitivo criptográfico

Una primitiva criptográfica es un algoritmo criptográfico de bajo nivel bien documentado sobre el que se construye cualquier sistema de seguridad informática . Estos algoritmos proporcionan en particular funciones de cifrado y hash criptográficas .

Razonamiento

Al crear un sistema criptográfico (o criptosistema), el diseñador se basa en ladrillos llamados "primitivas criptográficas". Por esta razón, las primitivas criptográficas están diseñadas para realizar una tarea específica de la manera más confiable posible. Estas tareas pueden estar relacionadas con el cifrado, la firma electrónica o el hash.

Las primitivas criptográficas que sirven como bloques de construcción en el desarrollo de sistemas de seguridad más complejos, deben ser extremadamente confiables, es decir, deben ajustarse exactamente a sus especificaciones. Por lo tanto, si una función de cifrado afirma poder romperse solo con un número N de operaciones de computadora, entonces, si es posible romperla con un número menor que este valor nominal, decimos de esta primitiva que está comprometida. Si una primitiva criptográfica se ve comprometida, cualquier protocolo que la utilice se vuelve virtualmente vulnerable. Dado que la creación de funciones criptográficas es un trabajo muy complejo, y probarlas para demostrar su confiabilidad es un proceso largo, rara vez es relevante (o seguro) diseñar una nueva primitiva criptográfica para satisfacer las necesidades de un nuevo criptosistema, para lo siguiente razones:

Las primitivas criptográficas son similares en algunos aspectos a los lenguajes de programación . Un programador rara vez inventa un nuevo lenguaje para escribir sus programas; más bien, utilizará un lenguaje ya conocido.

Hay primitivas criptográficas en cualquier sistema criptográfico: TLS , SSL , SSH , etc. Los diseñadores de tales sistemas, que no pueden demostrar la seguridad de los algoritmos que utilizan, deben poder depositar su confianza en ellos. Retener la mejor primitiva criptográfica para usar en cualquier protocolo generalmente proporciona la mejor seguridad posible. Sin embargo, las debilidades por diseño siempre son posibles en los sistemas criptográficos y es responsabilidad del desarrollador evitarlas.

Combinación de primitivas criptográficas

Los primitivos criptográficos por sí mismos, por su naturaleza, son bastante limitados. No pueden considerarse stricto sensu como un sistema criptográfico. Por lo tanto, un algoritmo de cifrado simple no proporcionará ningún mecanismo de autenticación ni un mensaje de verificación de integridad explícito. Solo combinándolos dentro de los protocolos de seguridad se puede resolver un problema de seguridad complejo. Por ejemplo, para transmitir un mensaje que no solo está encriptado sino que también está protegido contra cualquier alteración (es decir que debe ser confidencial y tener su integridad garantizada), es posible utilizar una función de encriptación como AES y un hash. función como SHA-3 . Si el atacante no conoce la clave de cifrado , no podrá modificar el mensaje sin que se detecte la alteración.

La combinación de primitivas criptográficas en un protocolo es en sí misma una especialización. La mayoría de los errores explotables (es decir, las vulnerabilidades de seguridad en los sistemas criptográficos) no se deben a errores conceptuales en los propios primitivos (siempre y cuando se han elegido con cuidado), pero la forma en que se utilizan, es decir, el protocolo pueden haber sido mal diseñadas o con errores o su la implementación puede haber sido insuficientemente completa. El análisis matemático de protocolos aún no está maduro. Algunas propiedades básicas se pueden verificar de forma automatizada, por ejemplo con la lógica Burrows-Abadi-Needham  (in) . Incluso existen métodos de verificación completos (por ejemplo, el cálculo de SPI, una extensión del cálculo de Pi ) pero son muy complejos de implementar y no pueden automatizarse. Diseñar un nuevo protocolo de seguridad es un arte que requiere un amplio conocimiento y experiencia en el dominio; y aun así los errores son frecuentes.

Notas y referencias

(fr) Este artículo está tomado parcial o totalmente del artículo de Wikipedia en inglés titulado Primitiva criptográfica  " ( consulte la lista de autores ) .
  1. http://www.cs.cmu.edu/~rwh/courses/llsec/slides/ban-logic.pdf
  2. A modo de ejemplo, se puede consultar la página de noticias del proyecto OpenSSL donde aparecen frecuentemente nuevas alertas de seguridad.

Apéndices

Artículos relacionados

Bibliografía

enlaces externos