viernes, 14 de febrero de 2020

CRIPTOGRAFÍA


El cifrado basado en certificados es un sistema en el que una autoridad de certificación utiliza criptografía basada en ID para producir un certificado . Este sistema proporciona a los usuarios una certificación tanto implícita como explícita, el certificado se puede utilizar como un certificado convencional (para firmas, etc.), pero también implícitamente con fines de cifrado.

Ejemplo editar ]

Un usuario Alice puede encriptar doblemente un mensaje usando la clave pública Bob ) de otro usuario y su identidad Bob ).
Esto significa que el usuario ( Bob ) no puede descifrarlo sin un certificado actualmente válido y también que la autoridad de certificación no puede descifrar el mensaje ya que no tiene la clave privada del usuario (es decir, no hay depósito implícito como con la criptografía basada en ID) , ya que el doble cifrado significa que no pueden descifrarlo únicamente con la información que tienen). El certificado es la confianza entre dos partes.

Revocación de clave editar ]

La revocación de claves se puede agregar al sistema al exigir que se emita un nuevo certificado con la frecuencia que requiera el nivel de seguridad. Debido a que el certificado es "información pública", no necesita ser transmitido por un canal secreto. La desventaja de esto es el requisito de una comunicación regular entre los usuarios y la autoridad de certificación, lo que significa que la autoridad de certificación es más vulnerable a los ataques electrónicos (como los ataques de denegación de servicio ) y también que tales ataques podrían detener efectivamente el funcionamiento del sistema. . Este riesgo puede reducirse parcial pero no completamente al tener una jerarquía de múltiples autoridades de certificación.

Aplicaciones prácticas editar ]


El mejor ejemplo de uso práctico del cifrado basado en certificados es el Sistema de codificación de contenido (CSS, por sus siglas en inglés), que se utiliza para codificar películas en DVD de tal manera que solo se puedan reproducir en una parte del mundo donde se venden. Sin embargo, el hecho de que la clave de descifrado de la región se almacene a nivel de hardware en los reproductores de DVD debilita sustancialmente esta forma de protección.








Un ataque de texto cifrado elegido ( CCA ) es un modelo de ataque para el criptoanálisis en el que el criptoanalista puede recopilar información obteniendo las descifraciones de los textos cifrados elegidos A partir de estos datos, el adversario puede intentar recuperar la clave secreta oculta utilizada para el descifrado.
Para definiciones formales de seguridad contra ataques de texto cifrado elegido, ver por ejemplo: Michael Luby [1] y Mihir Bellare et al.

Introducción editar ]

Una serie de esquemas seguros pueden ser derrotados bajo el ataque de texto cifrado elegido. Por ejemplo, el criptosistema El Gamal es semánticamente seguro bajo un ataque de texto plano elegido , pero esta seguridad semántica puede ser derrotada trivialmente bajo un ataque de texto cifrado elegido. Las primeras versiones del relleno RSA utilizado en el protocolo SSL eran vulnerables a un sofisticado ataque adaptativo de texto cifrado elegido que revelaba claves de sesión SSL. Los ataques de texto cifrado elegido también tienen implicaciones para algunos cifrados de flujo de sincronización automática Diseñadores de tarjetas inteligentes criptográficas resistentes a la manipulación. debe ser particularmente consciente de estos ataques, ya que estos dispositivos pueden estar completamente bajo el control de un adversario, que puede emitir una gran cantidad de textos cifrados elegidos en un intento de recuperar la clave secreta oculta.
No estaba claro en absoluto si los criptosistemas de clave pública pueden resistir el ataque de texto cifrado elegido hasta el trabajo inicial de Moni Naor y Moti Yung en 1990, que sugirió un modo de encriptación dual con prueba de integridad (ahora conocido como "Naor-Yung" paradigma de cifrado). [3] Este trabajo hizo que la comprensión de la noción de seguridad contra el ataque de texto cifrado elegido fuera mucho más clara que antes y abrió la dirección de investigación para construir sistemas con diversas protecciones contra variantes del ataque.
Cuando un sistema de cifrado es vulnerable al ataque de texto cifrado elegido, los implementadores deben tener cuidado para evitar situaciones en las que un adversario pueda descifrar los textos cifrados elegidos (es decir, evitar proporcionar un oráculo de descifrado). Esto puede ser más difícil de lo que parece, ya que incluso los textos cifrados parcialmente elegidos pueden permitir ataques sutiles. Además, existen otros problemas y algunos sistemas criptográficos (como RSA ) utilizan el mismo mecanismo para firmar mensajes y descifrarlos. Esto permite ataques cuando el hash no se usa en el mensaje que se firmará. Un mejor enfoque es usar un sistema de cifrado que sea demostrablemente seguro bajo ataque de texto cifrado elegido, incluyendo (entre otros) RSA-OAEP seguro bajo la heurística aleatoria de oráculo, Cramer-Shoupque fue el primer sistema práctico de clave pública en ser seguro. Para los esquemas de cifrado simétrico, se sabe que el cifrado autenticado, que es una primitiva basada en el cifrado simétrico, brinda seguridad contra ataques de texto cifrado elegidos, como lo demostraron por primera vez Jonathan Katz y Moti Yung . [4]

Variedades editar ]

Los ataques de texto cifrado elegido, como otros ataques, pueden ser adaptativos o no adaptativos. En un ataque adaptativo de texto cifrado elegido, el atacante puede usar los resultados de descifrados anteriores para informar sus elecciones de qué textos cifrados se descifrarán. En un ataque no adaptativo, el atacante elige descifrar los textos cifrados sin ver ninguno de los textos claros resultantes. Después de ver los textos simples, el atacante ya no puede obtener el descifrado de textos cifrados adicionales.

Ataques a la hora del almuerzo editar ]

Una variante especialmente notada del ataque de texto cifrado elegido es el ataque "almuerzo", "medianoche" o "indiferente", en el que un atacante puede realizar consultas adaptativas de texto cifrado elegido, pero solo hasta cierto punto, después de lo cual el atacante debe demostrar alguna habilidad mejorada para atacar el sistema. [5] El término "ataque a la hora del almuerzo" se refiere a la idea de que la computadora de un usuario, con la capacidad de descifrar, está disponible para un atacante mientras el usuario está almorzando. Esta forma de ataque fue la primera que se discutió comúnmente: obviamente, si el atacante tiene la capacidad de hacer consultas adaptativas de texto cifrado elegidas, ningún mensaje cifrado sería seguro, al menos hasta que se elimine esa capacidad. Este ataque a veces se denomina "ataque de texto cifrado elegido no adaptativo"; aquí, "no adaptativo" se refiere al hecho de que el atacante no puede adaptar sus consultas en respuesta al desafío, que se da después de que la capacidad de realizar consultas de texto cifrado ha expirado.

Ataque adaptativo de texto cifrado elegido editar ]

Un ataque de texto cifrado elegido (completo) adaptativo es un ataque en el que los textos cifrados se pueden elegir de forma adaptativa antes y después de que se le dé un texto cifrado de desafío al atacante, con la única condición de que el texto cifrado de desafío no se pueda consultar. Esta es una noción de ataque más fuerte que el ataque a la hora del almuerzo, y comúnmente se conoce como un ataque CCA2, en comparación con un ataque CCA1 (hora del almuerzo). [6] Pocos ataques prácticos son de esta forma. Más bien, este modelo es importante para su uso en pruebas de seguridad contra ataques de texto cifrado elegido. Una prueba de que los ataques en este modelo son imposibles implica que no se puede realizar ningún ataque realista de texto cifrado elegido.
Un ataque práctico adaptable de texto cifrado elegido es el ataque Bleichenbacher contra PKCS # 1 . [7]
Numerosos sistemas criptográficos están probados como seguros contra ataques adaptativos de texto cifrado elegido, algunos demuestran esta propiedad de seguridad basada solo en suposiciones algebraicas, y algunos requieren además una suposición de oráculo aleatorio idealizado. Por ejemplo, el sistema Cramer-Shoup [5] es seguro basado en suposiciones teóricas de números y sin idealización, y después de una serie de investigaciones sutiles también se estableció que el esquema práctico RSA-OAEP es seguro bajo el supuesto RSA en el azar idealizado modelo de oráculo.








En criptografía , una lista de revocación de certificados (o CRL ) es "una lista de certificados digitales que han sido revocados por la autoridad emisora ​​de certificados (CA) antes de su fecha de vencimiento programada y ya no se debe confiar".

Estados de revocación editar ]

Hay dos estados diferentes de revocación definidos en RFC 5280 :
  • Revocado: un certificado se revoca de forma irreversible si, por ejemplo, se descubre que la autoridad de certificación (CA) emitió un certificado de forma incorrecta, o si se cree que una clave privada se ha visto comprometida. Los certificados también pueden revocarse por incumplimiento de la entidad identificada con los requisitos de la política, como la publicación de documentos falsos, la tergiversación del comportamiento del software o la violación de cualquier otra política especificada por el operador de CA o su cliente. La razón más común para la revocación es que el usuario ya no está en posesión exclusiva de la clave privada (por ejemplo, el token que contiene la clave privada se ha perdido o ha sido robado).
  • Retener: este estado reversible se puede utilizar para observar la invalidez temporal del certificado (por ejemplo, si el usuario no está seguro de si se ha perdido la clave privada). Si, en este ejemplo, se encontró la clave privada y nadie tenía acceso a ella, el estado podría restablecerse y el certificado es válido nuevamente, eliminando así el certificado de futuras CRL.

Razones para la revocación editar ]

Las razones para revocar un certificado de acuerdo con RFC 5280 p69 [2] son:
  • unspecified (0)
  • keyCompromise (1)
  • cACompromise (2)
  • affiliationChanged (3)
  • superseded (4)
  • cessationOfOperation (5)
  • certificateHold (6)
  • removeFromCRL (8)
  • privilegeWithdrawn (9)
  • aACompromise (10)
Tenga en cuenta que el valor 7 no se utiliza.

Publicación de listas de revocación editar ]

Una CRL se genera y publica periódicamente, a menudo en un intervalo definido. También se puede publicar una CRL inmediatamente después de que se haya revocado un certificado. Un emisor de CRL emite una CRL, que normalmente es la CA que también emitió los certificados correspondientes, pero que podría ser otra autoridad confiable. Todas las CRL tienen una vida útil durante la cual son válidas; este plazo suele ser de 24 horas o menos. Durante un período de validez de CRL, una aplicación habilitada para PKI puede consultarlo para verificar un certificado antes de su uso.
Para evitar ataques de suplantación de identidad o denegación de servicio , las CRL generalmente llevan una firma digital asociada con la CA por la cual se publican. Para validar una CRL específica antes de confiar en ella, se necesita el certificado de su CA correspondiente,
Los certificados para los que se debe mantener una CRL a menudo son certificados X.509 / clave pública , ya que este formato es comúnmente utilizado por los esquemas PKI.

Revocación vs. caducidad editar ]

Las fechas de vencimiento no son un sustituto de una CRL. Si bien todos los certificados caducados se consideran inválidos, no todos los certificados no caducados deben ser válidos. Las CRL u otras técnicas de validación de certificados son una parte necesaria de cualquier PKI operada adecuadamente, ya que se espera que ocurran errores en la verificación de certificados y la gestión de claves en las operaciones del mundo real.
En un ejemplo digno de mención, se emitió por error un certificado para Microsoft a un individuo desconocido, que se había hecho pasar exitosamente como Microsoft ante la CA contratada para mantener el sistema ActiveX 'certificado de editor' ( VeriSign ). [3] Microsoft vio la necesidad de parchear su subsistema de criptografía para verificar el estado de los certificados antes de confiar en ellos. Como una solución a corto plazo, se emitió un parche para el software de Microsoft relevante (lo más importante, Windows) que enumera específicamente los dos certificados en cuestión como "revocados". [4]

Problemas con las CRL editar ]

Las mejores prácticas requieren que donde sea y sin importar el estado del certificado se mantenga, debe verificarse siempre que se desee confiar en un certificado. De lo contrario, un certificado revocado puede ser aceptado incorrectamente como válido. Esto significa que para usar una PKI de manera efectiva, uno debe tener acceso a las CRL actuales. Este requisito de validación en línea niega una de las principales ventajas originales de PKI sobre los protocolos de criptografía simétrica , a saber, que el certificado es "auto autenticado". Los sistemas simétricos como Kerberos también dependen de la existencia de servicios en línea (un centro de distribución clave en el caso de Kerberos).
La existencia de una CRL implica la necesidad de que alguien (o alguna organización) aplique la política y revoque los certificados considerados contrarios a la política operativa. Si un certificado se revoca por error, pueden surgir problemas importantes. Como la autoridad de certificación tiene la tarea de hacer cumplir la política operativa para la emisión de certificados, generalmente es responsable de determinar si la revocación es apropiada y cuándo es adecuada al interpretarla.
La necesidad de consultar una CRL (u otro servicio de estado de certificado) antes de aceptar un certificado plantea un posible ataque de denegación de servicio contra la PKI. Si la aceptación de un certificado falla en ausencia de una CRL válida disponible, entonces no se pueden realizar operaciones que dependan de la aceptación del certificado. Este problema también existe para los sistemas Kerberos, donde la falla al recuperar un token de autenticación actual impedirá el acceso al sistema.
Una alternativa al uso de CRL es el protocolo de validación de certificados conocido como Protocolo de estado de certificado en línea (OCSP). OCSP tiene el beneficio principal de requerir menos ancho de banda de red, permitiendo verificaciones de estado en tiempo real y casi en tiempo real para operaciones de alto volumen o alto valor.
A partir de Firefox 28, Mozilla ha anunciado que están despreciando la CRL a favor de OCSP. [5]
Los archivos CRL pueden crecer bastante con el tiempo, por ejemplo, en el gobierno de EE. UU., Para ciertas instituciones de varios megabytes. Por lo tanto, las CRL incrementales se han diseñado [6] a veces denominadas "CRL delta". Sin embargo, solo unos pocos clientes los implementan.

CRIPTOGRAFÍA


CAST-128
General
DiseñadoresCarlisle Adams y Stafford Tavares
Publicado por primera vez1996
SucesoresCAST-256
Detalle de cifrado
Tamaños clave40 a 128 bits
Tamaños de bloque64 bits
EstructuraRed Feistel
Rondas12 o 16
Tres rondas del cifrado de bloque CAST-128
En criptografía , CAST-128 (alternativamente CAST5 ) es un cifrado de bloque de clave simétrica utilizado en varios productos, especialmente como el cifrado predeterminado en algunas versiones de GPG y PGP . También ha sido aprobado para uso del Gobierno de Canadá por el Establecimiento de Seguridad de Comunicaciones . El algoritmo fue creado en 1996 por Carlisle Adams y Stafford Tavares utilizando el procedimiento de diseño CAST . [1]
Otro miembro de la familia de cifrados CAST , CAST-256 (un ex candidato de AES ) se derivó de CAST-128. Según algunas fuentes, el nombre CAST se basa en las iniciales de sus inventores, aunque Bruce Schneier informa que los autores afirman que "el nombre debería evocar imágenes de aleatoriedad". [2]
CAST-128 es una red Feistel de 12 o 16 rondas con un tamaño de bloque de 64 bits y un tamaño de clave de entre 40 y 128 bits (pero solo en incrementos de 8 bits). Las 16 rondas completas se utilizan cuando el tamaño de la clave es superior a 80 bits. [3]
Los componentes incluyen grandes cajas S de 8 × 32 bits basadas en funciones dobladas , rotaciones dependientes de teclas, suma y resta modular , y operaciones XOR . Hay tres tipos alternos de función redonda, pero son similares en estructura y difieren solo en la elección de la operación exacta (suma, resta o XOR) en varios puntos.
Aunque Entrust posee una patente sobre el procedimiento de diseño de CAST, CAST-128 está disponible en todo el mundo sin regalías para usos comerciales y no comerciales.























En criptografía , el Algoritmo de cifrado de mensajes celulares ( CMEA ) es un cifrado de bloque que se utilizó para proteger los teléfonos móviles en los Estados Unidos . CMEA es una de las cuatro primitivas criptográficas especificadas en un estándar de la Asociación de la Industria de las Telecomunicaciones (TIA), y está diseñada para cifrar el canal de control, en lugar de los datos de voz. En 1997, un grupo de criptógrafos publicó ataques contra el cifrado que mostraban que tenía varias debilidades que le daban una fuerza trivial efectiva de un cifrado de 24 a 32 bits. [1] Se hicieron algunas acusaciones de que la NSAhabía presionado a los diseñadores originales para que paralizaran la CMEA, pero la NSA ha negado cualquier papel en el diseño o la selección del algoritmo. Los cifrados ECMEA y SCEMA se derivan de CMEA.
CMEA se describe en la patente de los Estados Unidos 5.159.634 . Está orientado a bytes , con un tamaño de bloque variable , típicamente de 2 a 6 bytes. El tamaño de la clave es de solo 64 bits. Ambos son inusualmente pequeños para un cifrado moderno. El algoritmo consta de solo 3 pases sobre los datos: una operación de difusión no lineal de izquierda a derecha, una mezcla lineal sin clave y otra difusión no lineal que es, de hecho, la inversa de la primera. Las operaciones no lineales usan una tabla de búsqueda con clave llamada T-box , que utiliza una tabla de búsqueda sin clave llamada CaveTable . El algoritmo es autoinverso.volver a cifrar el texto cifrado con la misma clave es equivalente a descifrarlo.
CMEA es severamente inseguro. Hay un ataque de texto sin formato elegido , efectivo para todos los tamaños de bloque, que utiliza 338 textos sin formato seleccionados. Para los bloques de 3 bytes (generalmente utilizados para cifrar cada dígito marcado), hay un ataque de texto sin formato conocido que utiliza de 40 a 80 textos sin formato conocidos. Para bloques de 2 bytes, son suficientes 4 textos claros conocidos.
El CMEA "mejorado", CMEA-I, no es mucho mejor: el ataque de texto sin formato elegido requiere menos de 850 textos claros en su versión adaptativa.







El algoritmo Cayley-Purser fue un algoritmo de criptografía de clave pública publicado a principios de 1999 por la irlandesa Sarah Flannery , de 16 años , basado en un trabajo inédito de Michael Purser , fundador de Baltimore Technologies , una compañía de seguridad de datos de Dublín . Flannery lo nombró por el matemático Arthur Cayley . Desde entonces se ha descubierto que es defectuoso como un algoritmo de clave pública, pero fue objeto de considerable atención de los medios.

Historia editar ]

Durante una colocación de experiencia laboral con Baltimore Technologies, Michael Purser le mostró a Flannery un documento inédito que describía un nuevo esquema criptográfico de clave pública que utilizaba la multiplicación no conmutativa . Se le pidió que escribiera una implementación de este esquema en Mathematica .
Antes de esta colocación, Flannery había asistido a la Exposición de jóvenes científicos y tecnología de ESAT de 1998 con un proyecto que describe técnicas criptográficas ya existentes desde el cifrado César hasta RSA . Esto le había valido el Premio Intel Student, que incluía la oportunidad de competir en la Feria Internacional Intel de Ciencia e Ingeniería de 1998 en los Estados Unidos. Sintiendo que necesitaba un trabajo original para agregar a su proyecto de exhibición, Flannery le pidió permiso a Michael Purser para incluir el trabajo basado en su esquema criptográfico.
Siguiendo el consejo de su padre matemático, Flannery decidió usar matrices para implementar el esquema de Purser, ya que la multiplicación de matrices tiene la propiedad necesaria de no ser conmutativo. Como el algoritmo resultante dependería de la multiplicación, sería mucho más rápido que el algoritmo RSA que utiliza un paso exponencial . Para su proyecto de Intel Science Fair, Flannery preparó una demostración en la que se cifró el mismo texto simple utilizando RSA y su nuevo algoritmo Cayley-Purser y, de hecho, mostró una mejora significativa en el tiempo.
Volviendo a la Exposición de jóvenes científicos y tecnología de ESAT en 1999, Flannery formalizó el tiempo de ejecución de Cayley-Purser y analizó una variedad de ataques conocidos, ninguno de los cuales se determinó que era efectivo.
Flannery no hizo ninguna afirmación de que el algoritmo Cayley-Purser reemplazaría a RSA, sabiendo que cualquier nuevo sistema criptográfico necesitaría resistir la prueba del tiempo antes de que pueda ser reconocido como un sistema seguro. Sin embargo, los medios no fueron tan cautelosos y cuando recibió el primer premio en la exposición de ESAT, los periódicos de todo el mundo informaron la historia de que una joven genio había revolucionado la criptografía.
De hecho, se descubrió un ataque al algoritmo poco después, pero lo analizó y lo incluyó como un apéndice en competencias posteriores, incluida una competencia en toda Europa en la que ganó un premio importante.

Descripción general editar ]

La notación utilizada en esta discusión es como en el artículo original de Flannery.

Generación de claves editar ]

Al igual que RSA, Cayley-Purser comienza generando dos primos grandes p y q y su producto n , un semiprime . A continuación, considere GL (2, n ), el grupo lineal general de matrices 2 × 2 con elementos enteros y mod aritmética modular n . Por ejemplo, si n = 5, podríamos escribir:
Este grupo se elige porque tiene un orden grande (para semiprime grande n ), igual a ( 2 -1) ( 2 - p ) ( 2 -1) ( 2 - q ).
Dejar  y ser dos de esas matrices de GL (2, n ) elegidas de manera queElija un número natural r y calcule:
La clave pública es La clave privada es.

Cifrado editar ]

El remitente comienza generando un número natural aleatorio sy calculando:
Luego, para cifrar un mensaje, cada bloque de mensajes se codifica como un número (como en RSA) y se colocan de cuatro en cuatro como elementos de una matriz de texto sin formato Cada está encriptado usando:
Luego  y  son enviados al receptor.

Descifrado editar ]

El receptor recupera la matriz de texto sin formato original.  vía:

Seguridad editar ]

Recuperando la clave privada  desde es computacionalmente inviable, al menos tan difícil como encontrar mods de raíces cuadradas n (ver residuo cuadrático ). Podría ser recuperado de y  si el sistema  podría resolverse, pero la cantidad de soluciones para este sistema es grande siempre que los elementos del grupo tengan un orden grande, lo que puede garantizarse para casi todos los elementos.
Sin embargo, el sistema puede romperse al encontrar un múltiple  de  resolviendo para  en la siguiente congruencia:
Observe que existe una solución si para algunos  y 
Si  es conocida,  - un múltiplo de Cualquier múltiplo de rendimientos Esto presenta una debilidad fatal para el sistema, que aún no se ha reconciliado.
Esta falla no impide el uso del algoritmo como un algoritmo mixto de clave privada / clave pública, si el remitente transmite en secreto, pero este enfoque no presenta ninguna ventaja sobre el enfoque común de transmitir una clave de cifrado simétrico utilizando un esquema de cifrado de clave pública y luego cambiar al cifrado simétrico, que es más rápido que Cayley-Purser.