Técnico de Soporte Informático
TEMA 06 EL CIFRADO DE LOS DATOS
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
TEMA 6. EL CIFRADO DE LOS DATOS CONTENIDO 1.
TÉCNICAS CRIPTOGRÁFICAS Y DE CIFRADO...................... CIFRADO............................................. ............................................... .............................................2 .....................2 1.1 CRIPTOGRAFÍA SIMÉTRICA .................... ............................................ ............................................... .............................................. ..............................................2 .......................2 1.2 CRIPTOGRAFÍA ASIMÉTRICA O DE CLAVE PÚBLICA ...................... ............................................. .............................................. ...............................3 ........3
2.
ALGORITMOS Y MECANISMOS DE FIRMA DIGITAL..... DIGITAL............................ .............................................. ............................................... ............................5 ....5 2.1 ALGORITMOS DE CLAVE SIMÉTRICA......................... SIMÉTRICA................................................ .............................................. .............................................. ............................5 .....5 Cifrado por bloque bloquess ...................... ............................................ ............................................. .............................................. ............................................... ....................................5 ............5 Cifrado de flujo de datos .................... ............................................ ............................................... .............................................. ............................................... ............................6 ....6 Algunos algoritmo algoritmos.......................................... s................................................................. ................................................ ................................................. ..................................... ............. 6 2.2 ALGORITMOS DE CLAVE ASIMÉTRICA. FIRMA DIGITAL ................... .......................................... .............................................. ............................9 .....9 RSA......................................... RSA................. ................................................ ................................................ ................................................ ...............................................................9 .......................................9 Diffie Hellman..... Hellman............................ .............................................. .............................................. ................................................ .............................................................9 ....................................9 ALGORITMOS DE AUTENTICACIÓN O HASH ..................... ............................................. ................................................ ..........................................10 ..................10 LA FIRMA DIGITAL.......... DIGITAL................................. ............................................... ............................................... .............................................. ............................................... ........................ 11
3. CERTIFICADOS DIGITALES Y DNI ELECTRÓNIC ELECTRÓNICO.................................... O............................................................ ................................................. ..........................14 .14 3.1 CERTIFICADOS DIGITALES DIGITALES.................... ............................................ ................................................ ................................................ .............................................14 .....................14 AUTORIDADES CERTIFICADO CERTIFICADORAS............................. RAS...................................................... ................................................. ................................................. ..........................15 .15 PROTOCOLOS MÁS COMUNES. SSL Y TLS...........................................................................................16 3.2. EL DNI ELECTRÓNICO................ ELECTRÓNICO........................................ ................................................ ................................................ ................................................ ............................... .......18 18 Tipos de Certific Certificado.................................. ado........................................................... .................................................. ................................................. ........................................19 ................19 Seguridad............................... Seguridad........ ............................................... ................................................. ................................................ ............................................................19 .....................................19
2
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
1. TÉCNICAS CRIPTOGRÁFICAS Y DE CIFRADO
El cifrado de los datos es uno de los métodos de protección más fiable. Básicamente, consiste en transformar los datos de manera que una persona que no deba tener acceso a ellos no pueda entenderlos. El cifrado puede realizarse a través de elementos físicos o lógicos.
La palabra criptografía proviene del griego kryptos que significa esconder y gráphein escribir, es decir escritura escondida. La criptografía ha sido utilizada a través de los años para mandar mensajes confidenciales cuyo propósito es que sólo las personas autorizadas puedan entender el mensaje.
1. 1 CRIPTOGRAFÍA SIMÉTRICA
La criptografía simétrica es un método criptográfico en el que se utiliza la misma clave para cifrar y descifrar el mensaje. Las dos partes que se comunican deben ponerse de acuerdo de sobre la clave a usar. Una vez las dos tienen acceso a la clave, el remitente cifra un mensaje utilizándolo, lo envía al destinatario, y éste lo descifra con la misma clave.
Un esquema de cifrado simétrico tiene cinco componentes: Texto claro: es el mensaje o los datos originales que se introducen en el algoritmo como entrada. Algoritmo de cifrado: el algoritmo de cifrado realiza varias sustituciones y transformaciones en el texto claro. Clave secreta: la clave es también una entrada en el algoritmo. Las sustituciones y transformaciones realizadas por el algoritmo dependen de ella.
Texto cifrado: el mensaje ilegible que se produce como salida. Depende del texto claro y de la clave secreta. Para un mensaje determinado, dos claves diferentes producirían dos textos cifrados diferentes. Algoritmo de descifrado: Es, básicamente el algoritmo de cifrado ejecutado a la inversa. Toma el texto cifrado y la misma clave secreta, y gentera el texto claro.
3
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Hay dos requisitos básicos para el uso seguro de cifrado simétrico: 1) Se requiere un algoritmo de cifrado robusto, una persona que intentara descifrar la clave no debería poder averiguarla aunque estuviera en posesión de una serie de textos cifrados junto con sus correspondientes textos originales. 2) El emisor y el receptor deben haber obtenido copias de la clave secreta de forma segura y deben guardarla de la misma manera. Si alguien descubre la clave y conoce el algoritmo, todas las comunicaciones que usen esa clave son descifrables. Es importante observar que la seguridad del cifrado simétrico depende de la privacidad de la clave, no de la privacidad del algoritmo. Esta causa del cifrado simétrico es la causa de su uso tan extendido. El hecho de que el algoritmo no tenga que ser secreto significa que los fabricantes pueden desarrollar y han desarrollado implementaciones con chips de bajo coste de los algoritmos de cifrado de datos. Esos chips se pueden conseguir fácilmente y se han incorporado a una serie de productos. Con el uso de cifrado simétrico, el problema principal de seguridad consiste en mantener la privacidad de la clave. CRIPTOANÁLISIS:
Es el proceso por el que se intenta descubrir un texto claro o una clave de cifrado. La estrategia usada por el criptoanalista depende de la naturaleza del esquema de cifrado y de la información disponible.
1. 2 CRIPTOGRAFÍA ASIMÉTRICA O DE CLAVE PÚBLICA La criptografía asimétrica es el método criptográfico que utiliza una pareja de claves, una pública y la otra privada, para la transmisión de mensajes. Ambas claves son generadas a la vez, la pública se entrega a las terceras partes, y la privada se guarda de manera que nadie tenga acceso a ella. Estos sistemas se crearon con el fin de evitar el problema de intercambio de claves que conllevaban los sistemas criptográficos simétricos. Este método comienza con la encriptación de un mensaje con la clave pública del destinatario, de manera que únicamente él, con la clave privada proporcionada, pueda desencriptar el envío. Al ser las claves públicas de dominio corriente, conseguir una copia de la misma no representa un problema para este sistema. Este método se utiliza en caso de que se quiera proteger la información desde un emisor (el que conoce la clave pública) a un receptor (que tiene su clave privada). La otra manera de utilizar algoritmos asimétricos es para la autentificación del mensaje. Mediante el uso de firmas digitales, el emisor tiene que generar un resumen del mensaje y codificarlo con su clave privada. El receptor puede ahora descifrar y comprobar el criptograma,
4
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
en caso de que coincida el mensaje es auténtico ya que el único que tiene la clave privada para codificar el mismo es el emisor.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
Los sistemas de cifrado mediante pares de claves públicaprivada están basados en el aprovechamiento de algunas propiedades particulares de las matemáticas que otorgan, por poner un ejemplo, los números primos. Es fácil multiplicar dos números primos para obtener uno compuesto, pero es casi imposible factorizar uno compuesto en sus componentes primos. Pero si se conoce uno de los factores, es muy fácil hallar el componente que falta. El cifrado de pares de claves utiliza algo parecido para poder computar el inverso de la función.
EN RESUMEN…
Los mecanismos dirigidos a garantizar la confidencialidad y autenticidad de los documentos electrónicos son conocidos como CRIPTOGRAFÍA O CIFRADO. Básicamente existen dos tipos de criptografía, la simétrica en la que se usa la misma clave para cifrar y descifrar, y la asimétrica que utiliza dos claves: la privada y la pública.
5
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
2. ALGORITMOS Y MECANISMOS DE FIRMA DIGITAL. 2. 1 ALGORITMOS DE CLAVE SIMÉTRICA. Dentro de estos algoritmos distinguimos dos tipos de algoritmos en función de la cantidad de datos de entrada que manejan a la vez: algoritmos de cifrado por bloques y algoritmos de cifrado de flujo.
CIFRADO PO R BLOQUES Los algoritmos de cifrado por bloques toman bloques de tamaño fijo del texto en claro y producen un bloque de tamaño fijo de texto cifrado, generalmente del mismo tamaño que la entrada. El tamaño del bloque debe ser lo suficientemente grande como para evitar ataques de texto cifrado. La asignación de bloques de entrada a bloques de salida debe ser uno a uno para hacer el proceso reversible y parecer aleatoria. Para la asignación de bloques los algoritmos de cifrado simétrico realizan sustituciones y permutaciones en el texto en claro hasta obtener el texto cifrado. La sustitución es el reemplazo de un valor de entrada por otro de los posibles valores de salida, en general, si usamos un tamaño de bloque k, el bloque de entrada puede ser sustituido por cualquiera de los 2k bloques posibles. La permutación es un tipo especial de sustitución en el que los bits de un bloque de entrada son reordenados para producir el bloque cifrado, de este modo se preservan las estadísticas del bloque de entrada (el número de unos y ceros). Los algoritmos de cifrado por bloques iterativos funcionan aplicando en sucesivas rotaciones una transformación (función de rotación) a un bloque de texto en claro. La misma función es aplicada a los datos usando una subclave obtenida de la clave secreta proporcionada por el usuario. El número de rotaciones en un algoritmo de cifrado por bloques iterativo depende del nivel de seguridad deseado. Un tipo especial de algoritmos de cifrado por bloques iterativos son los denominados algoritmos de cifrado de Feistel. En estos algoritmos el texto cifrado se obtiene del texto en claro aplicando repetidamente la misma transformación o función de rotación. El funcionamiento es como sigue: el texto a encriptar se divide en dos mitades, la función de rotación se aplica a una mitad usando una subclave y la salida de la función se emplea para hacer una oexclusiva con la otra mitad, entonces se intercambian las mitades y se repite la misma operación hasta la última rotación, en la que no hay intercambio. Una característica interesante de estos algoritmos es que la encriptación y desencriptación son idénticas estructuralmente, aunque las subclaves empleadas en la encriptación se toman en orden inverso en la desencriptación.
6
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Para aplicar un algoritmo por bloques es necesario descomponer el texto de entrada en bloques de tamaño fijo. Esto se puede hacer de varias maneras:
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
ECB (Electronic Code Book). Se parte el mensaje en bloques de k bits, rellenando el ultimo si es necesario y se encripta cada bloque. Para desencriptar se trocea el texto cifrado en bloques de k bits y se desencripta cada bloque. Este sistema es vulnerable a ataques ya que dos bloques idénticos de la entrada generan el mismo bloque de salida. En la práctica no se utiliza. CBC (Cipher Block Chaining). Este método soluciona el problema del ECB haciendo una oexclusiva de cada bloque de texto en claro con el bloque anterior cifrado antes de encriptar. Para el primer bloque se usa un vector de inicialización. Este es uno de los esquemas más empleados en la práctica. OFB (Output Feedback Mode). Este sistema emplea la clave de la sesión para crear un bloque pseudoaleatorio grande ( pad ) que se aplica en oexclusiva al texto en claro para generar el texto cifrado. Este método tiene la ventaja de que el pad puede ser generado independientemente del texto en claro, lo que incrementa la velocidad de encriptación y desencriptación. CFB (Cipher Feedback Mode). Variante del método anterior para mensajes muy largos.
CIFRADO DE FLUJO DE DATOS Generalmente operan sobre 1 bit (o sobre bytes o palabras de 16 ó 32 bits) de los datos de entrada cada vez. El algoritmo genera una secuencia (secuencia cifrante o keystream en inglés) de bits que se emplea como clave. La encriptación se realiza combinando la secuencia cifrante con el texto en claro. El paradigma de este tipo de algoritmos es el One Time Pad, que funciona aplicando una XOR (oexclusiva) a cada bit de la entrada junto con otro generado aleatoriamente para obtener cada bit de la salida. La secuencia de bits aleatorios es la clave de la sesión, secuencia de cifrado o el pad, que es del mismo tamaño que la entrada y la salida. Para recuperar el texto original el texto cifrado debe pasar por el mismo proceso empleado para encriptar usando el mismo pad. Este algoritmo es conocido por ser el único incondicionalmente seguro, aunque, como las claves son del mismo tamaño que la entrada, es de poca utilidad práctica. Los algoritmos de este tipo son intentos de conseguir algoritmos prácticos que se aproximen al funcionamiento del one time pad. ALGUNOS ALGORITMOS
DES
El DES (Data Encription Standard o Estándar de Encriptación de Datos) es el nombre del documento FIPS (Federal Information Processing Standard) 461 del Instituto Nacional de Estándares y Tecnología (NIST) del Departamento de Comercio de Estados Unidos. Fue publicado en 1977. En este documento se describe el DEA (Data Encription Algorithm o Algoritmo de Encriptación de Datos. Es el algoritmo de cifrado simétrico más estudiado, mejor conocido y más empleado del mundo.
7
Comentario [v1]: Puede
llevar a confusión habría que incluir un subapartado porque parece que forma parte de cifrado de flujo de datos HECHO
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
El DEA (llamado con frecuencia DES) es un algoritmo de cifrado por bloques de 64 bits de tamaño. Emplea una clave de 56 bits durante la ejecución (se eliminan 8 bits de paridad del bloque de 64). El algoritmo fue diseñado para ser implementado en hardware. Cuando se utiliza en comunicaciones ambos participantes deben conocer la clave secreta (para intercambiarla se suelen emplear algoritmos de clave pública). El algoritmo se puede usar para encriptar y desencriptar mensajes, generar y verificar códigos de autentificación de mensajes (MAC) y para encriptación de un sólo usuario (p. ej para guardar un archivo en disco). Aunque el DES era un algoritmo computacionalmente seguro, esto ha dejado de ser cierto, ya que con hardware específico es posible realizar ataques por fuerza bruta que descubran una clave en pocos días (ver referencia [EFF98]). El problema principal es que el tamaño de la clave (56 bits) es demasiado pequeño para la potencia de cálculo actual. De hecho, el DES dejó de ser el algoritmo empleado por el gobierno norteamericano en Noviembre de 1998 y de momento (hasta que el AES sea elegido), emplean el Triple DES. TRIPLE DES
Consiste en encriptar tres veces una clave DES. Esto se puede hacer de varias maneras: DESEEE3: Tres encriptaciones DES con tres claves distintas. DESEDE3: Tres operaciones DES con la secuencia encriptardesencriptarencriptar con tres claves diferentes. DESEEE2 y DESEDE2: Igual que los anteriores pero la primera y tercera operación emplean la misma clave. Dependiendo del método elegido, el grado de seguridad varía; el método más seguro es el DESEEE3. AES
El AES (Advanced Encription Standard o Estándar Criptográfico Avanzado) es un algoritmo de cifrado por bloques destinado a reemplazar al DES como estándar. En la actualidad se han aceptado 15 propuestas de estándar de las que saldrán 5 candidatos para una revisión más completa. El proceso no parece que vaya a terminar hasta pasado el año 2000. RC2
El RC2 es un algoritmo de cifrado por bloques de clave de tamaño variable diseñado por Ron Rivest de RSA Data Security (la RC quiere decir Ron's Code o Rivest's Cipher). El algoritmo trabaja con bloques de 64 bits y entre dos y tres veces más rápido que el DES en software. Se puede hacer más o menos seguro que el DES contra algoritmos de fuerza bruta eligiendo el tamaño de clave apropiadamente. El algoritmo está diseñado para reemplazar al DES. RC4
El RC4 es un algoritmo de cifrado de flujo diseñado por Ron Rivest para RSA Data Security. Es un algoritmo de tamaño de clave variable con operaciones a nivel de byte. Se basa en el uso de
8
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
una permutación aleatoria y tiene un periodo estimado de más de 10100. Además, es un algoritmo de ejecución rápida en software. El algoritmo se emplea para encriptación de ficheros y para encriptar la comunicación en protocolos como el SSL (TLS).
S E . L Y C J . P A L C E . W W W RC5
El RC5 es un algoritmo parametrizable con tamaño de bloque variable, tamaño de clave variable y número de rotaciones variable. Los valores más comunes de los parámetros son 64 o 128 bits para el tamaño de bloque, de 0 a 255 rotaciones y claves de 0 a 2048 bits. Fue diseñado en 1994 por Ron Rivest. El RC5 tiene 3 rutinas: expansión de la clave, encriptación y desencriptación. En la primera rutina la clave proporcionada por el usuario se expande para llenar una tabla de claves cuyo tamaño depende del número de rotaciones. La tabla se emplea en la encriptación y desencriptación. Para la encriptación sólo se emplean tres operaciones: suma de enteros, o exclusiva de bits y rotación de variables. La mezcla de rotaciones dependientes de los datos y de distintas operaciones lo hace resistente al criptoanálisis lineal y diferencial. El algoritmo RC5 es fácil de implementar y analizar y, de momento, se considera que es seguro. IDEA
El IDEA (International Data Encription Algorithm) es un algoritmo de cifrado por bloques de 64 bits iterativo. La clave es de 128 bits. La encriptación precisa 8 rotaciones complejas. El algoritmo funciona de la misma forma para encriptar que para desencriptar (excepto en el cálculo de las subclaves). El algoritmo es fácilmente implementable en hardware y software, aunque algunas de las operaciones que realiza no son eficientes en software, por lo que su eficiencia es similar a la del DES. El algoritmo es considerado inmune al criptoanálisis diferencial y no se conocen ataques por criptoanálisis lineal ni debilidades algebraicas. La única debilidad conocida es un conjunto de 251 claves débiles, pero dado que el algoritmo tiene 2 128 claves posibles no se considera un problema serio.
S E . L Y C J . P A L C E . W W W SAFER
El SAFER (Secure And Fast Encription Routine) es un algoritmo de cifrado por bloques no propietario. Está orientado a bytes y emplea un tamaño de bloque de 64 bits y claves de 64 (SAFER K64) o 128 bits (SAFER K128). Tiene un número variable de rotaciones, pero es recomendable emplear como mínimo 6. El algoritmo original fue considerado inmune al criptoanálisis lineal y diferencial, pero Knudsen descubrió una debilidad en el generador de claves y el algoritmo fue modificado (SAFER SK64 y SAFER SK128).
W W W .E C L A P . J C Y L .E S W W W .E C L A P . J C Y L .E S
9
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
BLOWFISH
Es un algoritmo de cifrado por bloques de 64 bits desarrollado por Scheiner. Es un algoritmo de tipo Feistel y cada rotación consiste en una permutación que depende de la clave y una sustitución que depende de la clave y los datos. Todas las operaciones se basan en oexclusivas sobre palabras de 32 bits. La clave tiene tamaño variable (con un máximo de 448 bits) y se emplea para generar varios vectores de subclaves. Este algoritmo se diseño para máquinas de 32 bits y es considerablemente más rápido que el DES. El algoritmo es considerado seguro aunque se han descubierto algunas claves débiles, un ataque contra una versión del algoritmo con tres rotaciones y un ataque diferencial contra una variante del algoritmo.
2. 2 ALGORITMOS DE CLAVE ASIMÉTRICA. FIRMA DIGITAL La criptografía asimétrica proporciona autenticidad, integridad y no repudio. RS A Este algoritmo está basado en la pareja de claves, pública y privada de las que ya hemos hablado antes. La seguridad de este algoritmo reside en el problema de la factorización de números enteros. Ventajas: Resuelve el problema de la distribución de las llaves simétricas (cifrado simétrico). Se puede emplear para ser utilizado en firmas digitales. Desventajas: La seguridad depende de la eficiencia de los ordenadores. Es más lento que los algoritmos de clave simétrica. La clave privada debe ser cifrada por algún algoritmo simétrico.
DIFFIEHELLMAN Se emplea para generar una clave privada simétrica a ambos extremos de un canal de comunicación inseguro. Se usa para conseguir la clave secreta con la que después se va a cifrar la información, junto con un algoritmo de cifrado simétrico.
10
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Su seguridad radica en la dificultad de calcular el logaritmo discreto de un número muy grande. El problema de este algoritmo es que no ofrece autenticación, no puede validar la identidad de los usuarios, por tanto si un tercer usuario intercepta la “conversación” también se haría con las claves y por tanto podría establecer comunicaciones con el emisor y el receptor suplantando las identidades.
S E . L Y C J . P A L C E . W W W
ALGORITMOS DE AUTENTICACIÓN O HASH
Una función hash es método para generar claves o llaves que representen de manera casi particular a un documento o conjunto de datos. Es una operación matemática que se realiza sobre este conjunto de datos de cualquier longitud, y su salida es una huella digital , de tamaño fijo e independiente de la dimensión del documento original. El contenido es ilegible.
Cifrar una huella digital se conoce como firma digital.
Los requisitos que deben cumplir las funciones hash son: Imposibilidad de obtener el texto original a partir de la huella digital. Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella digital (aunque como hemos visto anteriormente es posible que este requisito no se cumpla). Poder transformar un texto de longitud variable en una huella de tamaño fijo (como el SHA1 que es de 160bits). Facilidad de empleo e implementación.
S E . L Y C J . P A L C E . W W W
Las funciones hash más conocidas son las siguientes: SHA 1
Este algoritmo toma como entrada un mensaje con una longitud máxima menro que 264 bits y produce como salida un resumen de mensaje de 160 bits. La entrada se procesa en bloques de 512 bits. Realiza su función en 5 pasos que son: 1) Añadir bits de relleno. 2) Añadir longitud. 3) Inicializar el buffer MD 4) Procesar el mensaje en bolques de 512 bits (16 palabras).
W W W .E C L A P . J C Y L .E S W W W .E C L A P . J C Y L .E S
11
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
5) Salida. MD5
Es otro algoritmo de resumen de mensaje. Es una función hash de 128 bits. Como todas las funciones hash, toma unos determinados tamaños a la entrada, y salen con una longitud fija (128bits). El algoritmo MD5 no sirve para cifrar un mensaje. La información original no se puede recuperar al haber pérdida de datos. MD5 es utilizado para firmas digitales. SHA 2
Las principales diferencias con SHA1 reside en su diseño y que los rangos de salida han sido incrementados y podemos encontrar: SHA224, SHA256, SHA384, y SHA512 El más seguro, es el que mayor salida de bits tiene, el SHA512, que tiene 80 rondas (pasos), como el SHA1 pero se diferencia de éste en: Tamaño de salida 512 por los 160 de SHA1. Tamaño del bloque, tamaño de la palabra y tamaño interno que es el doble que SHA1. Como ocurre con todos los cifrados y hash, cuanto más seguro, más lento su procesamiento y uso, debemos encontrar un equilibrio entre seguridad y velocidad.
LA FIRMA DIGITAL La firma digital reconoce al receptor de un mensaje que el origen es auténtico, también podremos comprobar si el mensaje ha sido transformado. Falsificar una firma digital es prácticamente imposible a no ser que conozcan la clave privada de la persona que firma. Hay dos fases para la realización de la firma digital: Proceso de firma: el emisor cifra los datos con la clave privada y lo manda al receptor. Verificar la firma: el receptor descifra los datos usando la clave pública de el emisor y comprueba que la información coincide con los datos originales (si coincide es que no se ha modificado). En las firmas digitales se hace uso de las funciones HASH como MD5 o SHA1 ya que como hemos comentado anteriormente, el cifrado asimétrico es lento. El emisor empleará la función hash al mensaje original para obtener la huella digital. A continuación se cifra la huella con la clave privada y se envía al destinatario para que la descifre. El destinatario también aplicará la función hash a sus datos y comparará los
12
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
resultados (la que ha obtenido y la que ha recibido). Así podrá comprar que la información no ha sido alterada.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
Si alguien altera los datos, la huella digital será diferente.
13
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Con todo esto hemos cumplido:
Autenticidad (el emisor es quien dice ser).
Integridad (el mensaje no ha sido modificado).
No repudio (el emisor no puede negar haber enviado el mensaje al receptor).
Si queremos introducir la confidencialidad basta que el emisor cifre el mensaje original con la clave pública del receptor.
EN RESUMEN…
Los algoritmos de clave simétrica pueden ser por bloques o por flujo de datos. Los algoritmos de clave asimétrica son los que usa la firma digital. Esta firma digital permite demostrar la autenticidad de un mensaje digital o de un documento electrónico.
14
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
3. CERTIFICADOS DIGITALES Y DN I ELECTRÓNICO 3. 1 CERTIFICADOS DIGITALES Los certificados digitales son el equivalente digital del DNI, en lo que a autentificación de individuos se refiere, ya que permiten que un individuo demuestre que es quien dice ser, es decir que está en posesión de la clave secreta asociada a su certificado. Para los usuarios proporcionan un mecanismo para verificar la autenticidad de programas y documentos obtenidos a través de la red, el envío ce correo encriptado y/o firmado digitalmente, el control de acceso a recursos, etc.
Un certificado digital (Id digital o simplemente certificado) es un punto de unión entre la clave pública de una entidad y uno o más atributos referidos a su identidad. El certificado garantiza que la clave pública pertenece a la entidad identificada y que la entidad posee la correspondiente clave privada. La entidad identificada se denomina sujeto del certificado o subscriptor (si es una entidad legal, como por ejemplo una persona) Los certificados digitales sólo son útiles en caso de que exista alguna Autoridad Certificadora (Certification Authority o CA) que los valide, ya que si uno se certifica a sí mismo no hay ninguna garantía de que su identidad sea la que anuncia y por tanto, no debe ser aceptada por un tercero que no lo conozca. Es importante poder verificar que una autoridad certificadora ha emitido un certificado y detectar si un certificado no es válido. Para evitar la falsificación de certificados, la entidad certificadora después de autentificar la identidad de un sujeto, firma el certificado digitalmente. Los certificados digitales proporcionan un mecanismo criptográfico para implementar la autentificación; también proporcionan un mecanismo seguro y escalable para distribuir claves públicas en comunidades grandes. CICLO DE VIDA DE UN CERTIFICADO DIGITAL.
Los certificados tienen un periodo de validez que va de unos meses a unos pocos años. Durante el tiempo que el certificado es válido la entidad certificadora que lo generó mantiene información sobre el estado de ese certificado. La información más importante que guarda es el estado de anulación, que indica que el periodo de validez del certificado ha terminado antes de tiempo y el sistema que lo emplee no debe confiar en él. Las razones de anulación de un certificado son varias: la clave privada del sujeto se ha visto comprometida, la clave privada de la CA se ha visto comprometida o se ha
15
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
16
producido un cambio en la afiliación del sujeto, por ejemplo cuando un empleado abandona una empresa. Las CA utilizan un mecanismo llamado listas de anulación de certificados mediante el cual publican y distribuyen información a cerca de los certificados anulados a las aplicaciones que los emplean. Dentro de las aplicaciones básicas de la certificación digital podemos encontrar la autenticación, el cifrado, la privacidad, y la firma digital.
El estándar X.509 especifica que los certificados digitales contienen información normalizada. En concreto, los certificados de la versión 3 de X.509 contienen los campos siguientes:
Version number: La versión del estándar X.509 a la que se atiene el certificado.
Serial number: Un número que identifica de manera única al certificado y que está emitido por la entidad emisora de certificados.
Certificate algorithm identifier: Los nombres de los algoritmos de claves públicas que la entidad emisora ha utilizado para firmar el certificado digital.
Issuer name: La identidad de la entidad emisora de certificados que emitió realmente el certificado.
Validity period: El período de tiempo durante el cual un certificado digital es válido; contiene una fecha de inicio y una fecha de caducidad.
Subject name: El nombre del propietario del certificado digital.
Subject public key information: La clave pública asociada al propietario del certificado digital y los algoritmos de claves públicas asociados a la clave pública.
Issuer unique identifier: Información que puede utilizarse para identificar de manera única al emisor del certificado digital.
Subject unique identifier: Información que puede utilizarse para identificar de manera única al propietario del certificado digital.
Extensions: Información adicional relacionada con el uso y el tratamiento del certificado.
Certification authority's digital signature: La firma digital real realizada con la clave privada de la entidad emisora utilizando el algoritmo especificado en el campo Certificate algorithm identifiers.
AUTORIDADES CERTIFICADORAS
Comentario [v2]: Usar
términos en ingllés o en español TODOS LOS TÉRMINOS ESTÁN EN INGLÉS
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Una CA es una organización fiable que acepta solicitudes de certificados de entidades, las valida, genera certificados y mantiene la información de su estado.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
Una CA debe proporcionar una Declaración de Prácticas de Certificación que indique claramente sus políticas y prácticas relativas a la seguridad y mantenimiento de los certificados, las responsabilidades de la CA respecto a los sistemas que emplean sus certificados y las obligaciones de los subscriptores respecto de la misma.
Las labores de un CA son: Admisión de solicitudes. Autentificación del sujeto. Generación de certificados. Distribución de certificados. Anulación de certificados. Almacenes de datos.
Algunas de las Autoridades Certificadoras más conocidas actualmente son VerySign, BelSign, IPS…
PROTOCOLOS MÁ S COMUNES. SS L Y TL S SSL
El protocolo SSL fue diseñado originalmente por Netscape para establecer comunicaciones seguras con protocolos como HTTP o FTP. El protocolo SSL (Secure Sockets Layer) permite establecer conexiones seguras a través de Internet, de forma sencilla y transparente. La idea consiste en interponer una fase de codificación de los mensajes antes de enviarlos por la red. Una vez que se ha establecido la comunicación, cuando una aplicación quiere enviar información a otra computadora, la capa SSL la recoge y la codifica, para luego enviarla a su destino a través de la red. Análogamente, el módulo SSL del otro ordenador se encarga de decodificar los mensajes y se los pasa como texto plano a la aplicación destino. Una comunicación SSL consta fundamentalmente de dos fases: 1. Fase de saludo (handshaking). Consiste básicamente en una identificación mutua de los interlocutores, para la cual se emplean habitualmente los certificados X.509. Tras el
17
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
intercambio de claves públicas, los dos sistemas escogen una clave de sesión, de tipo simétrico. 2. Fase de comunicación. En esta fase se produce el auténtico intercambio de información, que se codifica mediante la clave de sesión acordada en la fase de saludo. Cada sesión SSL lleva asociado un identificador único que evita la posibilidad de que un atacante escuche la red y repita exactamente lo mismo que ha oido, aún sin saber lo que significa, para engañar a uno de los interlocutores. Las ventajas de este protocolo son evidentes, ya que liberan a las aplicaciones de llevar a cabo las operaciones criptográficas antes de enviar la información, y su transparencia permite usarlo de manera inmediata sin modificar apenas los programas ya existentes. Desde hace tiempo los principales navegadores de Internet incorporan un módulo SSL, que se activa de forma automática cuando es necesario. Desgraciadamente, las versiones de exportación tanto de Netscape como de Internet Explorer trabajan con claves de sesión de 40 bits, que pueden ser descifradas en cuestión de pocas horas por cualquier PC más o menos potente, por lo que en ningún caso pueden ser merecedoras de nuestra confianza. Afortunadamente, este problema se puede subsanar con utilidades como Fortify, que restauran su total funcionalidad a estos programas. TLS TLS es una mejora del protocolo SSL, en concreto es la versión SSLV3. El protocolo tiene varios objetivos: Seguridad criptográfica. El protocolo se debe emplear para establecer una conexión
segura entre dos partes. Interoperabilidad. Aplicaciones distintas deben permitir intercambiar parámetros
criptográficos sin necesidad de que ninguna de las dos conozca el código de la otra. Extensibilidad.
El protocolo admite la incorporación de nuevos algoritmos
criptográficos. Eficiencia. Los algoritmos criptográficos son costosos computacionalmente, por lo que
el protocolo incluye un esquema de cache de sesiones para reducir el número de sesiones que deben inicializarse desde cero (usando criptografía de clave pública). El protocolo está dividido en dos niveles: Protocolo de registro TLS (TLS RECORD PROTOCOL). Protocolo de mutuo acuerdo TLS (TLS HANDSHAKE PROTOCOL). El de más bajo nivel es el PROTOCOLO DE REGISTRO, que se implementa sobre un protocolo de transporte fiable como el TCP. El protocolo proporciona seguridad en la conexión con dos propiedades fundamentales:
18
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
La conexión es privada. Para encriptar los datos se usan algoritmos de cifrado simétrico. Las claves se generan para cada conexión y se basan en un secreto negociado por otro protocolo (como el de mutuo acuerdo). El protocolo también se puede usar sin encriptación.
S E . L Y C J . P A L C E . W W W
La conexión es fiable. El transporte de mensajes incluye una verificación de integridad.
El protocolo de mutuo acuerdo, proporciona seguridad en la conexión con tres propiedades básicas: La identidad del interlocutor puede ser autentificada usando criptografía de clave pública. Esta autentificación puede ser opcional, pero generalmente es necesaria al menos para uno de los interlocutores. La negociación de un secreto compartido es segura. La negociación es fiable, nadie puede modificar la negociación sin ser detectado por los interlocutores.
3.2. EL DN I ELECTRÓNICO
El DNI (Documento Nacional de Identidad) electrónico es el documento que acredita física y digitalmente la identidad personal de su titular y permite la firma electrónica de documentos.
Permite la identificación al usuario ante terceros, y también la firma electrónica. Este DNI aporta seguridad, rapidez, comodidad y realizar la gran mayoría de trámites administrativos y comerciales a través de medios telemáticos.
S E . L Y C J . P A L C E . W W W
El único organismo autorizado a expedir estos certificados digitales para el DNI electrónico es la Dirección General de la Policía.
El abanico de usos para este sistema es enorme. Para empezar, la utilización del DNI electrónico es válida para todo tipo de tramitación telemática: desde solicitar una beca a presentar la Declaración de la Renta y otros impuestos o acceder a los datos de la Seguridad Social, así como el acceso a información personal en bases de datos públicas, la realización de transacciones con empresas, etc. Su apariencia es muy similar al DNI normal, pero en este caso se incorpora un chip electrónico, que contiene la información básica que permita acreditar electrónicamente la identidad de su titular y la firma de documentos electrónicos con plena validez legal.
19
W W W .E C L A P . J C Y L .E S
Comentario [v3]:
Habla de esto desde un punto de vista demasiado de usuario común. Como mínimo incluiría los tipos de certificados que tiene el DNI electrónico: Certificado de Autenticación (Digital Signature), cuyo propósito exclusivo es el de identificar al ciudadano. Este certificado no vincula al ciudadano en ninguna forma y es exclusivamente utilizado para el establecimiento de canales privados y confidenciales con los prestadores de servicio. Permite cerrar el túnel SSL con el certificado del ciudadano y el del prestador de servicios, así como facilitar su identidad a éste ultimo.
W W W .E C L A P . J C Y L .E S
• Certificado de Firma (nonRepudiation), cuyo fin es permitir al ciudadano firmar tramites o documentos. Este certificado (certificado cualificado según ETSI y las RFC3039, RFC3739) permite sustituir la firma manuscrita por la electrónica en las relaciones del ciudadano con terceros (Ley 59/2003, de firma electrónica, artículos 3.4 y 15.2).
HECHO. HE DEJADO LA INFORMACIÓN TAL Y COMO APARECE EN EL PORTAL OFICIAL, YA QUE ME PARECE LO MÁS FIABLE EN ESTE CASO. HE AÑADIDO TAMBIÉN EL TEMA DE LA SEGURIDAD.
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
La tarjeta de soporte del DNI electrónico es de un material llamado policarbonato, es muy resistente, de alta calidad y durabilidad, que permite el grabado de los datos con láser destructivo, lo que hace virtualmente imposible falsificar la impresión.
TIPOS DE CERTIFICADO Existen dos tipos de certificados electrónicos por parte del ciudadano: Certificado de Autenticación (Digital Signature), cuyo propósito exclusivo es el de
identificar al ciudadano. Este certificado no vincula al ciudadano en ninguna forma y es exclusivamente utilizado para el establecimiento de canales privados y confidenciales con los prestadores de servicio. Permite cerrar el túnel SSL con el certificado del ciudadano y el del prestador de servicios, así como facilitar su identidad a éste último. Certificado de Firma (nonRepudiation), cuyo fin es permitir al ciudadano firmar
trámites o documentos. Este certificado (certificado cualificado según ETSI y las RFC3039, RFC3739) permite sustituir la firma manuscrita por la electrónica en las relaciones del ciudadano con terceros (Ley 59/2003, de firma electrónica, artículos 3.4 y 15.2).
SEGURIDAD Para hacer uso del DNI electrónico éste provee las siguientes funciones de seguridad: 1. Autenticación
20
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
La tarjeta DNIe dispone de distintos métodos de autenticación, mediante los que una entidad externa demuestra su identidad, o el conocimiento de algún dato secreto almacenado en la tarjeta. La correcta realización de cada uno de estos métodos, permite obtener unas condiciones de seguridad, que podrán ser requeridas para el acceso a los distintos recursos de la tarjeta.
S E . L Y C J . P A L C E . W W W
• Autenticación de usuario (PIN) La tarjeta DNIe soporta verificación de usuario (CHV Card Holder verification). Esta operación es realizada comprobando el código facilitado por la entidad externa a través del correspondiente comando.
Cada código CHV tiene su propio contador de intentos. Tras una presentación válida de PIN, el contador de reintentos correspondiente es automáticamente puesto a su valor inicial (típicamente = 3). El contador de intentos es decrementado cada vez que se realiza una presentación errónea, pudiendo llegar a bloquearlo si el contador llega a cero. Es posible desbloquear un código tras una correcta presentación de la huella dactilar del usuario, que en este caso actúa de código de desbloqueo. A su vez estas presentaciones de huellas tienen su propio contador de intentos. Si el número de intentos de presentación de huella dactilar se agota, no será posible realizar la operación de desbloqueo. Es posible cambiar el código de CHV a un nuevo valor presentando el valor actual o presentando la huella dactilar. El código PIN es personal e intransferible, por tanto, únicamente debe ser conocido por el titular de la tarjeta en cuestión. • Autenticación de usuarios mediante datos biométricos La tarjeta DNIe permite realizar una identificación biométrica del titular de ésta, si bien está función sólo estará disponible en puntos de acceso controlados. La aplicación que accede al DNIe, una vez conocida la información sobre las huellas contenidas en la tarjeta, decide sobre que huella va a proceder a verificar, solicitando al portador que coloque el dedo adecuado. Tras obtener los datos biométricos desde en el dispositivo lector de huellas, presenta la información biométrica a la tarjeta a través del correspondiente comando. Tras las comprobaciones iniciales de condiciones de uso y seguridad, la tarjeta procede, mediante su algoritmo Match on Card, a evaluar la correspondencia entre la huella presentada y la referencia.
S E . L Y C J . P A L C E . W W W
Si la evaluación supera el umbral, la verificación es correcta. En caso contrario, la tarjeta anota una presentación errónea sobre esa huella devolviendo el número de intentos restantes. • Autenticación de aplicación El propósito de este método de autenticación es que la entidad externa demuestre tener conocimiento del nombre y valor de un código secreto. Para realizar esta autenticación de aplicación, se utiliza un protocolo de desafíorespuesta, con los siguientes pasos: La aplicación pide un desafío a la tarjeta
W W W .E C L A P . J C Y L .E S W W W .E C L A P . J C Y L .E S
21
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
La aplicación debe aplicar un algoritmo a este desafío junto con el correspondiente código secreto y nombre de la clave La tarjeta realiza la misma operación y compara el resultado con los datos transmitidos por la aplicación. En caso de coincidir, considera correcta la presentación para posteriores operaciones • Autenticación mutua Este procedimiento permite que cada una de las partes (tarjeta y aplicación externa) confíe en la otra, mediante la presentación mutua de certificados, y su verificación. En el proceso, también se incluye el intercambio seguro de unas claves de sesión, que deberán ser utilizadas para securizar (cifrar) todos los mensajes intercambiados posteriormente. Este servicio permite el uso de diferentes alternativas, que podrán seleccionarse implícitamente en función de la secuencia de comandos, o explícitamente, indicando su identificador de algoritmo en un comando de gestión de entorno de seguridad anterior (MSE).
Las dos opciones disponibles están basadas en la especificación ‘CWA 148901 Application Interface for smart cards used as Secured Signature Creation Devices – Part 1’, y son las siguientes: Autenticación con intercambio de claves (descrita en el capítulo 8.4 de CWA 148901). Autenticación de dispositivos con protección de la privacidad, (descrita en el capítulo 8.5 de CWA 148901). 2. Securización de mensajes La tarjeta DNIe permite la posibilidad de establecer un canal seguro entre el terminal y la tarjeta que securice los mensajes transmitidos. Para el establecimiento es necesaria la autenticación previa del terminal y la tarjeta, mediante el uso de certificados. Durante la presencia del canal seguro los mensajes se cifran y autentican, de tal forma que se asegura una comunicación “una a uno” entre los dos puntos originarios del canal. El canal seguro puede ser requerido por la aplicación o puede ser una restricción de acceso impuesta a algún recurso de la tarjeta. Para el establecimiento del canal seguro, en primer lugar, se realiza un intercambio de las claves públicas de la tarjeta y el terminal mediante certificados que serán verificados por ambas partes. A continuación se realiza un protocolo de autenticación mutua, con intercambio de semillas para la derivación de una semilla común que dé lugar a las claves de sesión de cifrado y autenticado. Una vez concluido el protocolo para el establecimiento de la semilla común todos los mensajes deben transmitirse securizados. 3. Desbloqueo y cambio de PIN
22
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Se permite el cambio de PIN, mediante la presentación del valor antiguo. Es posible también el cambio de PIN bajo determinadas condiciones tras la realización de una verificación biométrica.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
Debido a la criticidad de esta operación, el cambio de PIN se ha de realizar siempre en condiciones de máxima confidencialidad y en terminales específicamente habilitados a tal efecto o con las debidas condiciones de seguridad, exigiéndose por tanto, el establecimiento de un canal seguro. El cambio de PIN, haciendo uso de la huella dactilar (desbloqueo), únicamente está permitido en dispositivos autorizados por la Dirección General de la Policía (DGP) y no se puede realizar, bajo ningún concepto, en otros terminales. 4. Funcionalidad criptográfica • Claves RSA La tarjeta DNIe es capaz de generar y gestionar claves RSA. La generación de la pareja de claves RSA sigue el estándar PKCS#1 v1.5. Se usa el algoritmo MillerRabin como test de primalidad. • Hash
La tarjeta DNIe es capaz de realizar hash de datos con el algoritmo SHA1. Es posible realizar todo el proceso en la tarjeta o finalizar un hash calculado externamente. Después de finalizar cualquier operación de hash, el código resultante es almacenado en la memoria de la tarjeta para ser usado posteriormente por un comando. El hash sólo permanece en memoria hasta la siguiente operación. • Firmas electrónicas La tarjeta DNIe tiene capacidad para la realización de firmas electrónicas de dos modos diferentes: Modo raw Modo relleno PKCS#1 5. Intercambio de claves La operación de intercambio de claves es usada para compartir claves simétricas o de sesión entre dos entidades. Es posible cifrar una clave Ks con la clave pública de un destinatario, la cual puede ser cargada en la memoria de la tarjeta protegida mediante una clave RSA. El destinatario puede descifrar la clave Ks usando la clave privada RSA correspondiente. 6. Cifrado La tarjeta puede realizar operaciones 3 DES CBC con claves de 16 bytes (k1, k2, k1). Para realizar operaciones 3DES en la tarjeta, la clave de 16 bytes de longitud debe ser cargada en memoria. El proceso de carga está protegido por algoritmo RSA. La clave permanece en memoria hasta que se finaliza la sesión con la tarjeta o se carga una nueva.
23
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
Aplicaciones de firma Uno de los principales usos del DNI electrónico es la realización de firma electrónica. Para utilizar esta funcionalidad de firma, numerosas aplicaciones pueden ser empleadas, ya que éstas acceden a las capas o módulos intermedios de CSP y PKCS#11, que proporcionan un interfaz estándar de acceso a la tarjeta. Es recomendable seguir los consejos y buenas prácticas que se describen en la dirección www.dnielectronico.es/Asi_es_el_dni_electronico/consejos.html Requisitos de seguridad del entorno Para el correcto y seguro funcionamiento de la tarjeta DNIe se han de utilizar los módulos criptográficos CSP y PKCS#11 que se encuentran en la dirección www.dnielectronico.es/descargas/ Estos módulos contienen lo necesario para establecer un entorno seguro en la operación con el DNI electrónico y satisfacer los requisitos de seguridad aplicables al entorno de las tecnologías de la información descritos en el perfil de protección CWA 14169.
EN RESUMEN…
Es un documento digital mediante el cual un tercero (una autoridad de certificación) garantiza la vinculación entre la identidad de un sujeto o entidad (por ejemplo: nombre, dirección y otros aspectos de identificación) y una clave pública. Este tipo de certificados se emplea para comprobar que una clave pública pertenece a un individuo o entidad. El DNI electrónico es un nuevo Documento Nacional de Identidad, que permite a la persona que lo posee realizar trámites administrativos telemáticamente.
24
Promoción Interna de Técnico de Soporte Informático
TEMA 06
Técnico de Soporte informático
BIBLIOGRAFÍA
TÉCNICO EN SEGURIDAD DE REDES Y SISTEMAS. Neptunos Formación.
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
S E . L Y C J . P A L C E . W W W
W W W .E C L A P . J C Y L .E S
ISMAEL GUTIERREZ GARCÍA Y WOLFGANG WILLEMS. Una introducción a la criptografía de clave pública. WILLIAM STALLINGS. Fundamentos de Seguridad de Redes. Aplicaciones y Estándares. ABAD DOMINGO A. Redes de Área Local. Mc Graw Hill
PÁGINAS WEB CONSULTADAS
http://www.inteco.es/ (Instituto Nacional de Tecnologías de la Comunicación) http://www.dnielectronico.es/ (Portal oficial sobre el DNI electrónico) http://www.uv.es
25