Concepto de Criptografía
La Criptología
(del griego criptos= oculto y logos= tratado, ciencia) es la ciencia que trata
las escrituras ocultas, está comprendida por la Criptografía, el Criptoanálisis
y la Esteganografía (Figura 1.1.1).
Las raíces
etimológicas de la palabra Criptografía son criptos (oculto), y graphos
(escritura). Una definición clásica de Criptografía es la siguiente:
Arte de
escribir mensajes en clave secreta o enigmáticamente
Anteriormente
la Criptografía era considerada como un arte pero en la actualidad se considera
una ciencia gracias a su relación con la estadística, la teoría de la
información, la teoría de los números y la teoría de la complejidad
computacional.
La
Criptografía es la ciencia que se encarga del estudio de técnicas para
transformar la información a una forma que no pueda entenderse a simple vista;
sin embargo, el objetivo de la Criptografía no es sólo mantener los datos
secretos, sino también protegerlos contra modificación y comprobar la fuente de
los mismos.
El Criptoanálisis
es la ciencia que se ocupa del análisis de un texto cifrado para obtener la
información original sin conocimiento de la clave secreta, esto es, de forma
ilícita rompiendo así los procedimientos de cifrado establecidos por la
Criptografía, por lo que se dice que Criptoanálisis y Criptografía son ciencias
complementarias pero contrarias.
La Esteganografía
por su parte, estudia la forma de ocultar la existencia de un mensaje. Esta
ciencia consiste en esconder en el interior de un mensaje, otro mensaje
secreto, el cual sólo podrá ser entendido por el emisor y el receptor y pasará
inadvertido para todos los demás.
Funciones de una vía
Función HASH
Función que recibe como entrada un mensaje y entrega como salida un código o
valor hash. Las de mayor importancia son las criptográficas hash que entregan la
huella digital o resumen del mensaje que permiten mantener la integridad de los
datos buscando que la salida sea, en lo posible, una imagen únicamente de un
solo elemento del dominio de mensajes. Otra característica es que la salida o
código siempre tendrá una longitud constante para todo valor del dominio de
entrada por lo que también se la conoce como función Resumen.
Las funciones
Las funciones
Los pares ordenados (x,y1) y (x,y2) son pares de una función si y solo si y1=y2. Partiendo de esta definición entonces las relaciones y, z, w son funciones, mientras que r no lo es. Las relaciones, elementos del álgebra relacional, que no sean funciones están desechadas en el ámbito hash, ya que de partida entregarían como mínimo dos códigos, que resulta inservible por no ser imagen única del mensaje.
Función inyectiva
Si (x1,y1) y (x2,y1) pertenecen a la funcíón, ésta es inyectiva si y solo si x1=x2. Entonces únicamente
las funciones z, w arriba mostradas son inyectivas. En general la función inyectiva garantiza que el
código o imagen generados corresponda a un único mensaje. Las funciones hash no son inyectivas,
por lo que la unicidad del mensaje se garantiza con funciones de una sola vía o "virtualmente
inyectivas".
Si (x1,y1) y (x2,y1) pertenecen a la funcíón, ésta es inyectiva si y solo si x1=x2. Entonces únicamente
las funciones z, w arriba mostradas son inyectivas. En general la función inyectiva garantiza que el
código o imagen generados corresponda a un único mensaje. Las funciones hash no son inyectivas,
por lo que la unicidad del mensaje se garantiza con funciones de una sola vía o "virtualmente
inyectivas".
En el ejemplo
la obtención del valor x tal que f(x)=100, es muy simple ya que basta con
aplicar el
antilogaritmo.
Colisiones en el dominio de las funciones
Si para un par de valores a1 y a2 pertenecientes al dominio de la función existe una imagen y, tal que
f(a1) = f(a2) =y, entonces existe una colisión. Toda función no inyectiva presenta colisiones y por ende
las funciones hash al no ser inyectivas van a presentar colisiones en su dominio, problema a resolver
con otras técnicas.
Funciones resistentes a colisiones
Una función f es resistente a colisiones si conocido f(x) para un valor x perteneciente al dominio, es
computacionalmente inviable conseguir x' tal que f(x) = f(x'). Toda función inyectiva es completamente
resistente a colisiones.
Funciones fuertemente resistentes a colisiones
Una función f es resistente a colisiones si conocido f(x) para un valor x perteneciente al dominio,
resulta computacionalmente inviable conseguir x' tal que f(x) = f(x').
Función de doble vía
Son las funciones cuyo cálculo de la inversa computacionalmente no es muy complicado, en un
entorno dado.
Ejemplo cotidiano Nº 1
antilogaritmo.
Colisiones en el dominio de las funciones
Si para un par de valores a1 y a2 pertenecientes al dominio de la función existe una imagen y, tal que
f(a1) = f(a2) =y, entonces existe una colisión. Toda función no inyectiva presenta colisiones y por ende
las funciones hash al no ser inyectivas van a presentar colisiones en su dominio, problema a resolver
con otras técnicas.
Funciones resistentes a colisiones
Una función f es resistente a colisiones si conocido f(x) para un valor x perteneciente al dominio, es
computacionalmente inviable conseguir x' tal que f(x) = f(x'). Toda función inyectiva es completamente
resistente a colisiones.
Funciones fuertemente resistentes a colisiones
Una función f es resistente a colisiones si conocido f(x) para un valor x perteneciente al dominio,
resulta computacionalmente inviable conseguir x' tal que f(x) = f(x').
Función de doble vía
Son las funciones cuyo cálculo de la inversa computacionalmente no es muy complicado, en un
entorno dado.
Ejemplo cotidiano Nº 1
Si matemáticamente es fácil determinar la inversa, computacionalmete no hay la
menor
complicación
complicación
Ejemplo cotidiano Nº 2
Aunque para la función mostrada no siempre es posible obtener la fórmula de la inversa,
computacionalmente es sencillo obtener X1 una vez dado Y1 con un simple algoritmo.
Función de una sola vía
Son las funciones cuyo cálculo de inversa es computacionalmente complicado. Implica esto que si m
es imagen de un mensaje x, conseguir el valor de x tal que f(x)=m resulta altamente complicado.
Función de paridad
Es una función especial, que asigna el valor 1 si el vector de entrada cuyas coordenadas son 1 y 0
tiene un número impar de unos (1s).
Características de la función de paridad
- No inyectiva
- No resistente a colisiones
- Doble vía
Ejemplo cotidiano Nº 1
Carlos, va a partir al exterior. Dejó su maleta en el guardametas del aeropuerto y olvidó la clave que
es un número perteneciente al intervalo {1,255}. Afortunadamente la dejó escrita en un papel en la
mesa de su cuarto en su ciudad natal. LLama y pide se la manden en un mensaje en binario
con bit de paridad.
Su padre, consigue el número 127 anotado en el papel y como algo sabe de números tiene una
disyuntiva: mandarlo como una cadena de 8 bits más bit de paridad para el 127 o como tres
cadenas de 3 bits + bit de paridad para 1, 2 y 7.
A continuación se muestra la cadena de 8 bits, con el bit de paridad.
- No inyectiva
- No resistente a colisiones
- Doble vía
Ejemplo cotidiano Nº 1
Carlos, va a partir al exterior. Dejó su maleta en el guardametas del aeropuerto y olvidó la clave que
es un número perteneciente al intervalo {1,255}. Afortunadamente la dejó escrita en un papel en la
mesa de su cuarto en su ciudad natal. LLama y pide se la manden en un mensaje en binario
con bit de paridad.
Su padre, consigue el número 127 anotado en el papel y como algo sabe de números tiene una
disyuntiva: mandarlo como una cadena de 8 bits más bit de paridad para el 127 o como tres
cadenas de 3 bits + bit de paridad para 1, 2 y 7.
A continuación se muestra la cadena de 8 bits, con el bit de paridad.
Cuando llegó encontró el maletero vacío. ¿Cómo pudo pasar esto?
1. Alguien entró a la sala de maleteros e hizo en cada maletero 255 intentos, como máximo, y logró
abrirlo.
2. Alguien capturó el mensaje y como no iba encriptado rápidamento lo descifró y en cada
maletero hizo un intento como máximo hasta conseguir el de Carlos.
Función dígito validador cédula ecuatoriana
La cédula ecuatoriana tiene las características siguientes:
Tomar los dígitos que ocupan las posiciones impares y multiplícarlos por 2
1 x 2 = 2
0 x 2 = 0
2 x 2 = 4
3 x 2 = 6
5 x 2 = 10
Si alguno es mayor o igaul a 10, restarle 9
1 x 2 = 2
0 x 2 = 0
2 x 2 = 4
3 x 2 = 6
5 x 2 = 10 - 9 =1
Sumar los subtotales = 2 + 4 + 6 +1 = 13
Sumar los dígitos que ocupan las posiciones pares. El dígito validador no se considera, pues es el
dígito a validar.
1 + 0 + 9 + 4 = 14
Finalmente sumar los dos subtotales ==> 13 + 14 = 27 y restarlo de la centena inmediata superior
30 - 27 = 3, que es el dígito validador.
Características adicionales de la función dígito validador de la cédula ecuatoriana
- No inyectiva
- No resistente a colisiones
- Doble vía
Ejemplo cotidiano Nº 1
He oído que Loja es una de las provincias con mayor índice de graduados universitarios.
Para de una buena vez determinarlo se pide diseñe una base de datos para almacenar la data
correspondiente: cédula, títulos obtenidos, universidad, fecha de registro.
Premisas
Si tiene títulos entonces están registrados en la SENESCyT
Si está vivo entonces está registrado en el CNE
Pasos
Iniciar con la cédula semilla 110000000?
Conseguir el validador.
Acceder a la página del CNE, para saber si está vivo.
Acceder a la página de la SENESCyT para obtener los títulos.
Cargar datos en la base de datos, si amerita.
Repetir mientras...
Ejemplo cotidiano Nº2
El Instituto Ecuatoriano de Seguridad Social (IESS) atiende solicitudes de citas con el siguiente
protocolo: Quienes tienen cédula que terminan en 1 o 6 deben llamar los lunes, si la cédula termina
en 2 0 7 deben llamar los días martes y así sucesivamente. Mientras que otra institución trabaja de
igual forma pero con los penúltimos dígitos de la cédula.
Se pide:
Diga cuál de los dos sistemas es más justo en la provincia deBolívar.
Propiedades que debe satisfacer una función hash h(x) para usos criptográficos
1- Fácil de computar para todo x perteneciente a dominio de h(x)
2- De una sola vía
3- Resistente a colisiones
4- Fuertemente resistente a colisiones
Firma
Digital
Cuando hablamos de firma digital en realidad nos estamos refiriendo a muchos conceptos relacionados, entre los cuales figuran documentos electrónicos, claves criptográficas, certificados digitales, funciones matemáticas, autoridades certificantes, infraestructuras de clave pública y muchos otros nombres que pueden resultarnos complicados o desconocidos.
¿Qué es la firma digital?
La firma digital es una herramienta tecnológica que permite garantizar la autoría e integridad de los documentos digitales, posibilitando que éstos gocen de una característica que únicamente era propia de los documentos en papel.
Una firma digital es un conjunto de datos asociados a un mensaje digital que permite garantizar la identidad del firmante y la integridad del mensaje.
La firma digital no implica asegurar la confidencialidad del mensaje; un documento firmado digitalmente puede ser visualizado por otras personas, al igual que cuando se firma holográficamente.
La firma digital es un instrumento con características técnicas y normativas. Esto significa que existen procedimientos técnicos que permiten la creación y verificación de firmas digitales, y existen documentos normativos que respaldan el valor legal que dichas firmas poseen.
¿Cómo funciona?
La firma digital funciona utilizando complejos procedimientos matemáticos que relacionan el documento firmado con información propia del firmante, y permiten que terceras partes puedan reconocer la identidad del firmante y asegurarse de que los contenidos no han sido modificados.
El firmante genera, mediante una función matemática, una huella digital del mensaje, la cual se cifra con la clave privada del firmante. El resultado es lo que se denomina firma digital, que se enviará adjunta al mensaje original. De esta manera el firmante adjuntará al documento una marca que es única para dicho documento y que sólo él es capaz de producir.
Para realizar la verificación del mensaje, en primer término el receptor generará la huella digital del mensaje recibido, luego descifrará la firma digital del mensaje utilizando la clave pública del firmante y obtendrá de esa forma la huella digital del mensaje original; si ambas huellas digitales coinciden, significa que no hubo alteración y que el firmante es quien dice serlo.
¿Claves privadas y claves públicas?
En la elaboración de una firma digital y en su correspondiente verificación se utilizan complejos procedimientos matemáticos basados en criptografía asimétrica (también llamada criptografía de clave pública).
En un sistema criptográfico asimétrico, cada usuario posee un par de claves propio. Estas dos claves, llamadas clave privada y clave pública, poseen la característica de que si bien están fuertemente relacionadas entre sí, no es posible calcular la primera a partir de los datos de la segunda, ni tampoco a partir de los documentos cifrados con la clave privada.
El sistema opera de tal modo que la información cifrada con una de las claves sólo puede ser descifrada con la otra. De este modo si un usuario cifra determinada información con su clave privada, cualquier persona que conozca su clave pública podrá descifrar la misma.
En consecuencia, si es posible descifrar un mensaje utilizando la clave pública de una persona, entonces puede afirmarse que el mensaje lo generó esa persona utilizando su clave privada (probando su autoría).
¿Qué son los certificados digitales?
Los certificados digitales son pequeños
documentos digitales que dan fe de la vinculación entre una clave pública y un
individuo o entidad. De este modo, permiten verificar que una clave pública
específica pertenece, efectivamente, a un individuo determinado. Los
certificados ayudan a prevenir que alguien utilice una clave para hacerse pasar
por otra persona.
En algunos casos, puede ser necesario
crear una cadena de certificados, cada uno certificando el previo, para que las
partes involucradas confíen en la identidad en cuestión.¿Qué contiene un certificado digital?
En su forma más simple, el certificado
contiene una clave pública y un nombre. Habitualmente, también contiene una
fecha de expiración, el nombre de la Autoridad Certificante que la emitió, un
número de serie y alguna otra información. Pero lo más importante es que el
certificado propiamente dicho está firmado digitalmente por el emisor del
mismo.
Su formato está definido por el estándar
internacional ITU-T X.509. De esta forma, puede ser leído o escrito por
cualquier aplicación que cumpla con el mencionado estándar.¿Qué valor legal tiene la firma digital?
Para la legislación argentina los términos “Firma Digital” y “Firma Electrónica” no poseen el mismo significado. La diferencia radica en el valor probatorio atribuido a cada uno de ellos, dado que en el caso de la “Firma Digital” existe una presunción “iuris tantum” en su favor; esto significa que si un documento firmado digitalmente es verificado correctamente, se presume salvo prueba en contrario que proviene del suscriptor del certificado asociado y que no fue modificado. Por el contrario, en el caso de la firma electrónica , de ser desconocida por su titular, corresponde a quien la invoca acreditar su validez.
Por otra parte, para reconocer que un documento ha sido firmado digitalmente se requiere que el certificado digital del firmante haya sido emitido por un certificador licenciado (o sea que cuente con la aprobación del Ente Licenciante ).
Es por esto que, si bien entendemos que en los ambientes técnicos se emplea habitualmente el término Firma Digital para hacer referencia al instrumento tecnológico, independientemente de su relevancia jurídica, solicitamos a todos los proveedores de servicios de certificación, divulgadores de tecnología, consultores, etc. que empleen la denominación correcta según sea el caso a fin de no generar confusión respecto a las características de la firma en cuestión.
La legislación argentina emplea el término “Firma Digital” en equivalencia al término “Firma Electrónica Avanzada” utilizado por la Comunidad Europea o “Firma Electrónica” utilizado en otros países como Brasil o Chile.
¿Qué es una Infraestructura de Firma Digital?
En nuestro país se denomina “Infraestructura de Firma Digital” al conjunto de leyes, normativa legal complementaria, obligaciones legales, hardware, software, bases de datos, redes, estándares tecnológicos y procedimientos de seguridad que permiten que distintas entidades (individuos u organizaciones) se identifiquen entre sí de manera segura al realizar transacciones en redes (por ej. Internet).
Realmente esta definición es conocida mundialmente con las siglas PKI que significan Public Key Infraestructure o Infraestructura de Clave Pública.
cf
No comments:
Post a Comment