En esta entrada hablaremos de:
-Un poco de historia de la criptografía
-Criptografía simétrica y asimétrica
-Algoritmos
-Algoritmos
-Función Resumen
-Firma digital
-Certificados digitales
-PKI
Un poco de historia de la criptografía
La etimología del término criptografía proviene de dos palabras del
griego, cripta, que significa 'escondido', y grafía, que quiere decir
'escritura'. Por tanto podemos definir la criptografía como la ciencia
que estudia la escritura oculta, es decir, aquella que enseña a diseñar
códigos secretos y la operación inversa, a interpretar los mensajes
cifrados.
Los primeros mensajes cifrados datan del siglo V a.C.; ya entonces los
espartanos usaban la escítala para ocultar las comunicaciones. El método
consistía en enrollar una cinta sobre un bastón y posteriormente
escribir el mensaje en forma longitudinal. Después la cinta se
desenrollaba del bastón y era enviado mediante un mensajero; si éste era
atrapado por los enemigos, sólo obtendrían un conjunto de caracteres
sin sentido. El receptor sólo podría interpretar el mensaje siempre y
cuando tuviese un bastón similar al que se utilizó para ocultar el
mensaje, es decir una vara con el mismo diámetro.

A mediados del siglo II a.C., los griegos desarrollaron otro método
conocido con el nombre de quien se cree que lo desarrolló, el
historiador Polybios. El cifrado consistía en sustituir cada letra del
mensaje original por el par de letras o números que indicaban la fila y
columna en la cual se encontraba.
En el siglo I a.C. los romanos desarrollan el cifrador del César, cuyo
método consistía en sustituir cada carácter por otro, resultado de
desplazar tres posiciones hacia la derecha el carácter original del
alfabeto utilizado.
Todos estos métodos criptográficos se fueran perfeccionando y mejorando
según avanzaba el tiempo. Es en la Segunda Guerra Mundial cuando se hace
imprescindible el uso de máquinas que cifren los mensajes para así
evitar que el enemigo interceptase información sensible para el
desarrollo de las operaciones.
Podemos hacer una clasificación de los métodos de criptografía:
- Sistemas de transposición: como indica su nombre consiste en descolocar el orden de las letras, sílabas o conjunto de letras.
- Sistemas de sustitución: como su nombre indica se reemplazan algunas letras del alfabeto por otras o por un conjunto de ellas según el método.
Criptografía simétrica y asimétrica
Hoy en día se utilizan fundamentalmente dos métodos de cifrados, el primero de ellos conocido como cifrado simétrico o de clave privada, el cual utiliza la misma clave para el cifrado y el descifrado. El segundo, conocido como cifrado asimétrico o de clave público, utiliza una pareja de claves para el proceso de cifrado y descifrado.Criptografía simétrica
Se basa en un secreto compartido entre la entidad que cifra el mensaje y la que lo quiere descifrar, es decir, utiliza la misma clave en el proceso de cifrado que en el de descifrado.Si analizamos los métodos utilizados para salvaguardar la confidencialidad de los mensajes desde los primeros tiempos de la criptografía hasta mediados de los setenta, veremos que solo se hacía uso de métodos simétricos, que exigían necesariamente que el emisor y el receptor se pusieran previamente de acuerdo en la clave que iban a utilizar. El método de Vigenere es un claro ejemplo de lo dicho.Supongamos que Virginia y Macarena quieren intercambiar información confidencial. Antes de hacerlo, han de ponerse de acuerdo sobre la clave a utilizar, pues si la receptora no la conociera, le sería imposible leer el mensaje.
Este método tiene dos desventajas: la primera, como podemos deducir de lo explicado, es la que conlleva el intercambio de claves, ya que si las personas se conocen y están físicamente en contacto es más o menos fácil comunicarse la clave a utilizar, pero si Virginia y Macarena se encuentran separadas por miles de kilámetros, o incluso no se conocen, como se intercambiarían la clave. Mediante un correo electrónico, correo ordinario, una llamada telefónica, pero todos ellos son medios de comunicación inseguros.La segunda desventaja es la cantidad de claves que una persona debe memorizar; supongamos que Macarena intercambia información confidencial con cincuenta personas diferentes, con cada una de ellas utiliza una clave distinta y cada cierto tiempo modifica dichas claves por seguridad.
Criptografía asimétrica
En 1976, dos criptógrafos, Whitfield Diffie y Martin Hellmon, publicaron un nuevo método criptográfico que solucionaba las desventajas de la criptografía simétrica.
Consiste en que cada una de las partes involucradas en una comunicación segura tienen una pareja de claves. Una de ellas, pública, que deberá intercambiar con cada una de las entidades con las que quiera comunicarse mensajes secretos, y otra de ellas privada, y que par tanta, jamás debe comunicar a nadie. Una de las claves, la pública, se la comunicará a todo el mundo sin que cree ninguna vulnerabilidad en las comunicaciones, porque con ella nunca podría un intruso descifrar el mensaje.
Para cifrar un mensaje, el emisor utilizará la clave pública del receptar, y a su vez, el receptar descifrará este mensaje haciendo uso de su clave privada.
Como es lógico pensar, estas claves se generan a la vez y se encuentran relacionadas matemáticamente entre sí mediante funciones de un solo sentido; resulta prácticamente imposible descubrir la clave privada a partir de la pública.
Como observamos en la imagen anterior, la clave pública es conocida por numerosas personas, mientras que la clave privada debe ser guardada por el receptor con celo para no comprometer la confidencialidad de los mensajes.
Criptografía híbrida
La desventaja de la criptografía de clave pública es la lentitud del proceso de cifrado y descifrado, que obedece tanto a la complejidad de los métodos utilizados como a la longitud de las claves.
Otra de las desventajas es el mayor tamaño de la información cifrada con clave pública frente al tamaño de la misma cuando se cifra con clave privada.
Todo esto nos hace pensar que lo ideal sería utilizar criptografía de clave privada para intercambiar mensajes, pues estos son más pequeños y además el proceso es rápido, y utilizar criptografía de clave pública para el intercambio de las claves privadas.
Algoritmos
Los algoritmos son los métodos que se utilizan para transformar el texto claro en el texto cifrado.El algoritmo consiste en sustituir cada letra del texto sin cifrar por otra letra del mismo alfabeto que se encuentra situada en el orden del diccionario N puestos por delante. N es el valor de la clave, que como podemos ver, junto con el algoritmo, determinará exactamente la letra que sustituirá a la original.El principio de Kerckhoff establece que la fortaleza de un sistema de cifrado debe recaer en la clave y no en el algoritmo, lo cual quiere decir que aunque el algoritmo sea de dominio público, si no conocemos la clave, no seremos capaces de descifrar los mensajes.Como podemos imaginar, hoy en día se utilizan diferentes algoritmos, algunos válidos para criptografía de clave privada y otras para criptografía de clave pública. DES, 3DES, RC4, IDEA Y AES son nombres de algoritmos de clave privada y DH, EIGamal, RSA de clave pública, entre otros.Los algoritmos de cifrado se clasifican en dos tipos:- De bloque: llamados así porque dividen el documento en bloques de bits, que por lo general son del mismo tamaño, y cifran cada uno de estos de manera independiente, para posteriormente construir el documento cifrado. Cuando se envía un documento cifrado utilizando un algoritmo de bloque, primero se cifra completamente el archivo a enviar y luego se realiza su transmisión.
- De flujo: se diferencian de los anteriores en que se cifra bit a bit, byte a byte o carácter a carácter, en vez de grupos completos de bits; son muy útiles cuando tenemos que transmitir información cifrada según se va creando, es decir, se cifra sobre la marcha.
Función Resumen
Son funciones que asocian a cada documento un número y que tienen la propiedad de que conocido el valor numérico, no se puede obtener el documento. Estas son conocidas por el nombre de funciones de un solo sentido.
El tamaño de un documento en bits podría ser una función resumen; también podría serlo, por ejemplo, la función que a cada documento le asocia su fecha de creación. Y aunque es verdad que estas dos funciones son funciones resúmenes, serían muy pocos útiles en el mundo de la criptografía, porque no cumplen los dos requisitos fundamentales: el primero de ellos, debe ser muy difícil que dos documentos distintos tengan el mismo resumen, y el segundo, que debe ser muy difícil, por no decir imposible, crear un documento a partir del valor de su resumen.
Si nos fijamos en el primer ejemplo de la función tamaño en bits de un documento, no cumple ninguno de estos requisitos, pues es fácil que dos documentos tengan el mismo tamaño, y aún mas fócil es crear un documento que tenga un tamaño dado.
Esto nos hace pensar que la manero de obtener el valor resumen de un documento empleará algoritmos complejos matemáticamente, para que así pueda cumplir las dos especificaciones de la función resumen. Algunos de estos algoritmos son el MD5 y el SHA.
El aspecto que tiene el valor hash o función resumen de un documento utilizando el algoritmo MD5 es lDE928978E2BF219F76ElC5C2A9CCB1A; como podemos ver, un número escrito en hexadecimal de 32 dígitos, o lo que es lo mismo de 128 bits.
El resultado de aplicar este algoritmo a un documento siempre genera un número de 128 bits.
Sabemos que en Linux las contraseñas de los usuarios se encuentro n en el fichero /etc/passwd o en versiones más actuales en el fichero /etc/shadow. Como imaginamos, estas contraseñas no se encuentran en texto claro, sino que se almacenan en estos ficheros utilizando funciones resumen; los algoritmos que más se utilizan son el MD5 y el SHA-512. Se recomienda utilizar este último pues se considera el MD5 mucho más inseguro.
Firma digital
Cuando estampamos nuestra firma manuscrita en un documento, le estamos dando al mismo veracidad y aceptando nuestra respansabilidad sobre la que en él se diga.La firma digital viene a sustituir a la manuscrita en el mundo de la informática. Es decir, si firmamos de forma digital un documento, le estaremos dando veracidad y como sucede con la firma manuscrita, no podremos decir que no lo hemos firmado nosotros; por lo tanto, seremos responsables de lo que en él se diga.La descripción del mecanismo de firma electrónica es el siguiente:- Se calcula un valor resumen del documento, utilizando algún algoritmo como el SHA.
- Este valor resumen se cifra utilizando la clave privada de nuestra pareja de claves pública-privada
- El resultado de este valor es el que se conoce como firma digital del documento.

Describamos ahora el proceso de comprobación de una firma digital. El que se utiliza es el siguiente:- La firma se descifra utilizando la clave pública del firmante, y con ello, como se deduce del método de firmado, se obtiene el valor resumen del documento.
- Se obtiene el valor resumen del documento utilizando el mismo algoritmo que en el proceso de cifrado, por ejemplo el SHA.
- Por último se comparan los dos valores resúmenes obtenidos en los dos procesos anteriores y si estos coinciden entonces la firma es válida; si estos son distintos la firma será nula.
Certificados digitales
El certificado digital es un documento que contiene fundamentalmente formación sobre una persona o entidad, guarda su nombre, su dirección, email ... , y una clave pública y una firma digital de un organismo de confianza (autoridad certificadora) que rubrica que la clave pública que contiene el certificado pertenece al propietario del mismo.Esta última firma podríamos decir que es la más importante del certificado.Estos certificados nos facilitan muchos de los trámites que debemos realizar con las administraciones públicas, podemos entregar la declaración de la renta, consultar nuestra vida laboral y otras muchas gestiones. Todo ello gracias a que el certificado digital establece la identidad del usuario en la red.Existen multitud de formatos para los archivos que almacenan los certificadosdigitales. El más extendido y usado en Internet es el estándar conocido como X.509.
El certificado almacena los siguientes campos:
PKI
PKI son los siglas de Public Key Infrastructure (infraestructura de clave pública), o lo que es lo misma, todo lo necesario, tanta de hardware como de software, para las comunicaciones seguras mediante el uso de certificadas digitales y firmas digitales. De esta manera se alcanzan los cuatro objetivos de la seguridad informática que estudiamos en la primera unidad: autenticidad, confidencialidad, integridad y no repudio.Las PKI están compuestas de:- La autoridad de certificación, también conocida por sus siglas CA es la entidad de confianza encargada de emitir y revocar los certificados digitales.
- La autoridad de registro, también conocida por sus siglas RA es la encargada de controlar la generación de certificados.
- Las autoridades de los repositorios donde se almacenan los certificados emitidos y aquellos que han sido revocados por cualquier motivo y han dejado de ser válidos.
- Todo el software necesario para poder utilizar los certificados digitales.
- Política de seguridad definida para las comunicaciones.En España para realizar numerosos trámites con las administraciones públicas por In-
ternet nos exigen el uso de un certificado digital que asegure nuestra identidad. Dicho certificado es emitido por la Fábrica de la Moneda y Timbre, autoridad de certificación, que haciendo uso de numerosas oficinas de la administración pública como autoridades de registro verifican que la persona que solicita el certificado es quien dice ser al presentar el documento nacional de identidad en dichas oficinas.













































