Articulo de referencia

Primitiva criptográfica

Las primitivas criptográficas son algoritmos criptográficos de bajo nivel bien establecidos que se utilizan con frecuencia para construir protocolos criptográficos para sistemas...

Las primitivas criptográficas son algoritmos criptográficos de bajo nivel bien establecidos que se utilizan con frecuencia para construir protocolos criptográficos para sistemas de seguridad informática . [ 1 ] Estas rutinas incluyen, pero no se limitan a, funciones hash unidireccionales y funciones de cifrado .

Razón fundamental

Al crear sistemas criptográficos , los diseñadores utilizan primitivas criptográficas como sus componentes básicos. Por ello, las primitivas criptográficas están diseñadas para realizar una tarea muy específica de forma precisa y altamente fiable.

Dado que las primitivas criptográficas se utilizan como bloques de construcción, deben ser muy fiables, es decir, funcionar según sus especificaciones. Por ejemplo, si una rutina de cifrado afirma ser vulnerable solo con X operaciones informáticas, y se descifra con muchas menos de X operaciones, entonces esa primitiva criptográfica ha fallado. Si se descubre que una primitiva criptográfica falla, casi todos los protocolos que la utilizan se vuelven vulnerables. Dado que crear rutinas criptográficas es muy difícil y probar su fiabilidad lleva mucho tiempo, en esencia nunca es sensato (ni seguro) diseñar una nueva primitiva criptográfica para satisfacer las necesidades de un nuevo sistema criptográfico. Las razones incluyen:

  • Es posible que el diseñador no sea competente en las consideraciones matemáticas y prácticas relacionadas con las primitivas criptográficas.
  • Diseñar una nueva primitiva criptográfica es un proceso que consume mucho tiempo y es muy propenso a errores, incluso para los expertos en la materia.
  • Dado que los algoritmos en este campo no solo deben estar bien diseñados, sino que también deben ser probados exhaustivamente por la comunidad de criptólogos, incluso si una rutina criptográfica parece buena desde el punto de vista del diseño, aún podría contener errores. Superar con éxito dicho escrutinio brinda cierta confianza (de hecho, hasta ahora, la única confianza) de que el algoritmo es lo suficientemente seguro para su uso; por lo general, no se dispone de pruebas de seguridad para las primitivas criptográficas.

Las primitivas criptográficas son uno de los componentes básicos de todo criptosistema, como TLS , SSL , SSH , etc. Los diseñadores de criptosistemas, al no poder demostrar su seguridad de forma concluyente, deben considerar seguras las primitivas que utilizan. Elegir la mejor primitiva disponible para un protocolo suele proporcionar la mejor seguridad posible. Sin embargo, cualquier criptosistema puede presentar vulnerabilidades de composición, y es responsabilidad del diseñador evitarlas.

Combinación de primitivas criptográficas

Las primitivas criptográficas no constituyen sistemas criptográficos, ya que por sí solas son bastante limitadas. Por ejemplo, un algoritmo de cifrado básico no proporciona ningún mecanismo de autenticación ni ninguna comprobación explícita de la integridad del mensaje. Solo al combinarse en protocolos de seguridad se pueden abordar múltiples requisitos de seguridad. Por ejemplo, para transmitir un mensaje que no solo esté codificado, sino también protegido contra manipulaciones (es decir, que sea confidencial y con integridad garantizada ), se puede utilizar en combinación una rutina de codificación, como DES , y una rutina hash, como SHA-1 . Si el atacante desconoce la clave de cifrado, no podrá modificar el mensaje de forma que su resumen sea válido.

Combinar primitivas criptográficas para crear un protocolo de seguridad es, en sí mismo, una especialización completa. La mayoría de los errores explotables (es decir, las inseguridades en los criptosistemas) no se deben a errores de diseño en las primitivas (siempre que se hayan elegido con cuidado), sino a la forma en que se utilizan, es decir, un mal diseño del protocolo y una implementación defectuosa o poco cuidadosa. El análisis matemático de protocolos, en el momento de escribir esto, no está lo suficientemente desarrollado. Hay algunas propiedades básicas que se pueden verificar con métodos automatizados, como la lógica BAN . Incluso hay métodos para la verificación completa (por ejemplo, el cálculo SPI ), pero son extremadamente engorrosos y no se pueden automatizar. El diseño de protocolos es un arte que requiere un conocimiento profundo y mucha práctica; incluso así, los errores son comunes. Un ejemplo ilustrativo, para un sistema real, se puede ver en la página de noticias sobre vulnerabilidades de OpenSSL aquí .

Primitivas de uso común

Véase también

Referencias

  1. "Primitivo criptográfico - Glosario CSRC" . csrc.nist.gov . Consultado el 19 de septiembre de 2021 .
  • Levente Buttyán, István Vajda  : Kriptográfia és alkalmazásai (Criptografía y sus aplicaciones), Typotex 2004, ISBN 963-9548-13-8
  • Menezes, Alfred J  .: Manual de criptografía aplicada, CRC Press, ISBN 0-8493-8523-7Octubre de 1996, 816 páginas.
  • Crypto101 es un curso introductorio sobre criptografía, disponible gratuitamente para programadores de todas las edades y niveles de habilidad.