0% encontró este documento útil (0 votos)
57 vistas38 páginas

Tema Criptografia

Este documento describe los principios básicos de la criptografía y los diferentes tipos de algoritmos de cifrado, incluyendo criptografía simétrica, asimétrica e híbrida. También cubre certificados digitales y firmas digitales.

Cargado por

iamtaato14
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • RSA,
  • Software de cifrado,
  • Seguridad en la nube,
  • Ataques de diccionario,
  • Funciones hash,
  • Verificación de integridad,
  • Claves privadas,
  • PGP,
  • Firma digital,
  • Revocación de certificados
0% encontró este documento útil (0 votos)
57 vistas38 páginas

Tema Criptografia

Este documento describe los principios básicos de la criptografía y los diferentes tipos de algoritmos de cifrado, incluyendo criptografía simétrica, asimétrica e híbrida. También cubre certificados digitales y firmas digitales.

Cargado por

iamtaato14
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Temas abordados

  • RSA,
  • Software de cifrado,
  • Seguridad en la nube,
  • Ataques de diccionario,
  • Funciones hash,
  • Verificación de integridad,
  • Claves privadas,
  • PGP,
  • Firma digital,
  • Revocación de certificados

Seguridad y Alta Disponibilidad

UNIDAD 5.
CRIPTOGRAFÍA

1
1. Principios de criptografía
2. Tipos de algoritmos de cifrado
2.1. Criptografía simétrica
2.2. Criptografía de clave asimétrica
2.3. Criptografía híbrida
2.4. Firma digital
3. Certificados digitales
3.1. Terceras partes de confianza
3.2. DNIe
1
PRINCIPIOS DE
CRIPTOGRAFÍA

3
 CRIPTOGRAFÍA
 Arte o ciencia de cifrar y descifrar información.
 Del griego kriptos(ocultar) y graphos (escribir), literalmente escritura oculta.
 Se emplea para el intercambio de mensajes de manera segura, de forma que sólo
puedan ser leídos por personas a las que van dirigidos y que poseen los medios
para descifrarlos (confidencialidad).

 CRIPTOLOGÍA
 Como ciencia, engloba:
o Técnicas de cifrado: la criptografía.
o Técnicas complementarias: el criptoanálisis.
 Conceptos de criptología:
 Información original a proteger: texto en claro o texto plano.
 Cifrado: proceso de convertir el texto plano en un texto ilegible (texto cifrado o
criptograma).
 Algoritmos de cifrado: se basan en la existencia de una información secreta (clave) que
adapta el algoritmo de cifrado para cada uso distinto. Dos tipos:
o De cifrado en bloque: dividen el texto origen en bloques de bits de un tamaño fijo
y los cifran de manera independiente.
o De cifrado de flujo: se realiza bit a bit, byte a byte o carácter a carácter.
 Técnicas más sencillas de cifrado (en la criptografía clásica):
o Sustitución: cambio de significado de los elementos básicos del mensaje, las letras,
los dígitos o los símbolos.
o Transposición:reordenación de los mismos,los elementos básicos no se modifican.
 Descifrado: proceso inverso, recupera el texto plano a partir del criptograma y la clave.
 Ejemplos históricos:
 Cifrado del César
Sistema de sustitución que consiste en reemplazar cada letra del texto
original por otra que se encuentra un número fijo de posiciones más
adelante en el alfabeto.

Julio César solía utilizar un desplazamiento de 3 posiciones en casi todos sus mensajes.

 ROT13 ( = Rotar 13 posiciones )


Tipo de cifrado de César en el que ciframos un
texto sustituyendo cada letra por la que está 13
posiciones por delante en el alfabeto.
 Ejemplos históricos:
 El escitalo de Esparta (siglo V a.C)
Método de transposición que consistía en el uso de una
vara de madera (scytale) en la que se enrollaba una tira
de cuero o papiro sobre la que se escribía el mensaje. Cuando se desenrollaba el
mensaje, parecía una lista de letras sin sentido. Para descifrar el mensaje, el
destinatario simplemente necesitaba una vara del mismo diámetro.

 Trasposición de Riel
El mensaje se escribe alternando las letras en dos líneas separadas. A continuación, la
secuencia de letras de la línea inferior, se añade al final de la secuencia de la línea
superior, creando el mensaje cifrado. El mensaje se recupera simplemente invirtiendo el
proceso.
2
TIPOS DE
ALGORITMOS DE
CIFRADO

8
Existen dos grandes tipos de algoritmos de cifrado:
 Simétricos o de clave simétrica o privada: usan una única clave tanto en el
proceso de cifrado como en el descifrado.

 Asimétricos o de clave asimétrica o pública: usan una clave para cifrar mensajes
y una clave distinta para descifrarlos. Forman el núcleo de las técnicas de cifrado
modernas (certificados digitales, firma digital, DNIe)

10
• Se usa una misma clave para cifrar y descifrar mensajes.
• Las dos partes que se comunican han de acordar de antemano sobre la clave a usar.
 Un buen sistema de cifrado pone toda la seguridad en la clave y ninguna en
el algoritmo: la clave debe ser muy difícil adivinar
Importante: longitud de la clave y conjunto de caracteres que emplee.
 Ejemplos de algoritmo de cifrado simétrico:
 DES: usa una clave de 56 bits hay 256 claves posibles.
 3DES, Blowfish e IDEA: usan claves de 128 bits hay 2128 claves posibles.
 RC5 y AES (Advanced Encryption Standard) o Rijndael (AES).

 Principales problemas de los sistemas de cifrado simétrico:


 El intercambio de claves
 ¿Qué canal de comunicación seguro han usado para transmitirse las claves?
 Más fácil para el atacante intentar interceptar una clave que probar todas las
posibles combinaciones.
 El número de claves que se necesitan
 Para n personas que necesiten comunicarse entre sí, se necesitan n/2 claves
diferentes por cada pareja.
 Funciona con un grupo reducido de personas, imposible con grupos grandes.
 PGP (Pretty Good Privacy)
 Programa más popular de encriptación y de creación de llaves públicas y privadas
para seguridad en aplicaciones informáticas.
 Criptosistema híbrido.

 GPG (GNU Privacy Guard)


 Herramienta para cifrado y firmas digitales.
 Reemplazo de PGP, es software libre licenciado bajo la GPL.

Comando: gpg
Opciones: – c (cifrado simétrico). Generará un archivo con la extensión .asc
– d (descifrado)
Ejemplo: gpg –c archivo
gpg –d [Link]
 Cada usuario del sistema ha de poseer una pareja de claves:
o Clave pública: conocida por todos los usuarios.
o Clave privada: custodiada por el propietario y no se dará a conocer.
 Claves
 Pareja de claves complementaria: lo que cifra una, sólo lo puede descifrar la otra y viceversa.
 Estas claves se obtienen mediante métodos matemáticos complicados de forma que por
razones de tiempo de cómputo, es imposible conocer una clave a partir de otra.

 Ventajas
 Se puede cifrar con una clave y descifrar con la otra.

 Desventajas
 Para una misma longitud de clave y mensaje se necesita mayor tiempo de proceso.
 Las claves deben ser de mayor tamaño que las simétricas (mínimo 1024 bits)
 El mensaje cifrado ocupa más espacio que el original.

 Algoritmos de técnicas de clave asimétrica:


 Diffie-Hellman, RSA, DSA, ElGamal, criptografía de curva elíptica.
 Funciones resumen o funciones hash
 Los sistemas asimétricos se basan en funciones resumen o funciones hash de un solo
sentido su cálculo directo es viable, pero el de la función inversa resulta casi imposible.
 Algoritmos empleados como funciones resumen o hash: MD5 y SHA.
 Usos:  Analizar la integridad de un archivo o verificar su atenticidad. Resumen.
 Cifrado de contraseñas de usuario, arhivo /etc/shadow de GNU/Linux
 Firma digital de archivos, mail, etc.
 Ejemplo de uso de las funciones resumen.
 Analizar la integridad de un archivo descargado mediante la comprobación de su
valor resumen calculado.
 En muchas ocasiones, las web de los fabricantes originales muestran junto a su
archivo de instalación el valor resumen calculado, con el que podremos verificar tras
descargar el archivo de instalación su integridad o que no ha sido modificado o es
una falsificación.

 Comando md5sum
 Calcula el valor resumen MD5 de un fichero.
 Ejemplo:
Ejecutamos md5sum [Link] > archivo.md5
Para verificar la integridad del archivo: md5sum –c archivo.md5
 Si el archivo no ha sido modificado, mostrará: [Link]: OK
 Si el archivo ha sido modificado, mostrará: [Link]: FAILED
Atributo Clave simétrica Clave asimétrica
Años en uso Miles Menos de 50

Velocidad Rápida Lenta

Uso principal Cifrado de grandes volúmenes de Intercambio de claves


datos Firma digital
Claves Compartidas entre emisor y receptor Privada: sólo conocida por 1 persona.
Pública: conocida por todos.
Intercambio de Difícil de intercambiar por un canal La clave pública se comparte por
claves inseguro cualquier canal. La privada nunca se
comparte
Longitud de 56 bits (vulnerable) 1024 bits mínimo
claves 256 bits (seguro)
Algoritmos DES, 3DES, Blowfish, IDEA, AES Diffie-Hellman, RSA, DSA, ElGamal

Servicios de Confidencialida Confidencialida


seguridad d Integridad d Integridad
Autenticación Autenticación, No repudio
Advanced Encryption Standard (AES), también conocido como Rijndael.

Es un esquema de cifrado por bloques adoptado como un estándar de cifrado por


el gobierno de los Estados Unidos.

AES es uno de los algoritmos más populares usados en criptografía simétrica.


Sistema criptográfico de clave pública desarrollado en 1977.

Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar
como para firmar digitalmente.

La seguridad de este algoritmo radica en el problema de la factorización de


números enteros.

Los mensajes enviados se representan mediante números, y el funcionamiento se


basa en el producto, conocido, de dos números primos grandes elegidos al azar y
mantenidos en secreto.

Se cree que RSA será seguro mientras no se conozcan formas rápidas de


descomponer un número grande en producto de primos. La computación
cuántica podría proveer de una solución a este problema de factorización.
Es un algoritmo de cifrado, es decir, un método para cifrar información, escogido
como un estándar FIPS en los Estados Unidos en 1976, y cuyo uso se ha
propagado ampliamente por todo el mundo.

Hoy en día, DES se considera inseguro para muchas aplicaciones. Esto se debe
principalmente a que el tamaño de clave de 56 bits es corto; las claves de DES se
han roto en menos de 24 horas

Desde hace algunos años, el algoritmo ha sido sustituido por el nuevo AES.
• Ataque de fuerza bruta: Forma de recuperar una clave probando todas las
combinaciones posibles hasta encontrar aquella que permite el acceso.

• Ataque de diccionario: Es un método de cracking que consiste en intentar


averiguar una contraseña probando todas las palabras del diccionario. Más
eficiente que los ataques de fuerza bruta ya que muchos usuarios utilizan
palabras existentes en su idioma para que sea más sencillo de recordar. Pero
este sistema tendrá pocas posibilidades de éxito con contraseñas fuertes que
combinen mayúsculas, minúsculas y números.

• Protección: Una protección sencilla contra los ataques de fuerza bruta y de


diccionario es limitar el número de intentos, bloqueando el sistema cuando se
supere este número.
 GPG (GNU Privacy Guard)
 Generar par de claves para cifrado asimétrico: gpg –gen-key
Durante el proceso de generación se nos irán haciendo diversas preguntas:
o Tipo de cifrado. La opción DSA and ElGamal nos permite encriptar y firmar.
o Tamaño de las claves. Por defecto se recomienda 2048 (a mayor tamaño más seguridad).
o Tiempo de validez de la clave. 0 indicará que no caduque nunca.
o Frase de paso (o passphrase). Contraseña que nos va a asegurar que nadie más que
nosotros mismo va a poder usar esta clave GPG.

 Ver las claves públicas que tenemos disponibles: gpg --list-keys o gpg -k
Ver las claves privadas que tenemos disponibles: gpg --list-secret-keys

 Borrar claves:
o 1º borrar la clave privada: gpg –-delete-secret-key ClaveID
o 2º borrar la clave pública: gpg –-delete-key ClaveID

20
 GPG (GNU Privacy Guard)
 Distribución de la clave pública:
a. Subirla a un servidor de claves públicas (p. ej., el servidor pgp de rediris)
gpg --send-keys --keyserver [Link] ClaveID
b. Enviarla por correo o en soporte portable (USB, CD/DVD…).
La volcamos a un fichero de texto:
gpg --armor --output fichero –-export ClaveID

 Hacer una copia de nuestra clave privada para poder recuperarla:


gpg --armor --output fichero –-export-secret-key ClaveID

 Importar una clave volcada en un fichero: gpg --import fichero

 Crear certificado de revocación: gpg –o [Link] --gen-revoke ClaveID


Importar nuestra relación de claves: gpg --import [Link]
 Utiliza los dos algoritmos:
o Algoritmo de clave pública
 Para el cifrado en el envío de la clave simétrica (pequeña cantidad de
información). Más seguro.
o Algoritmo de clave simétrica
 Para el cifrado del mensaje. Se reduce el coste computacional.

 Herramientas SW que usan los algoritmos anteriores:


 PGP y GPG.

 Protocolos de comunicación que usan los algoritmos anteriores:


 SSH, SSL y TLS.
PROCESO:
 A y B tienen sus pares de claves respectivas.
 A escribe un mensaje a B. Lo cifra con el
sistema de criptografía de clave simétrica. La
clave que utiliza se llama clave de sesión y se
genera aleatoriamente. Para enviar la clave
de sesión de forma segura, ésta se cifra con la
clave púbica de B, utilizando por lo tanto
criptografía de clave asimétrica.
 B recibe el mensaje cifrado con la clave de
sesión y ésta misma cifrada con su clave
pública. Para realizar el proceso inverso, en
primer lugar utiliza su clave privada para
descifrar la clave de sesión. Una vez obtenida
la clave de sesión, ya puede descifrar el
mensaje.
 Permite al receptor de un mensaje:
 Verificar la autenticidad del origen de la información (autenticación)
 Verificar que la información no ha sido modificada desde su generación
(integridad)

 El emisor del mensaje firmado no puedo argumentar que no lo hizo (no repudio)

 Una firma digital está destinada al mismo propósito que una manuscrita, pero la
manuscrita es sencilla de falsificar, mientras la digital es imposible mientras no se
descubra la clave privada del firmante.

 La firma digital es un cifrado del mensaje que se está firmando


pero utilizando la clave privada en lugar de la pública.

Firma digital = resultado de cifrar con clave privada el resumen


de los datos a firmar, haciendo uso de funciones resumen o hash.
Diversos modos de envío de documentos firmados:

 Unir la firma digital al contenido del documento, el cual no se cifra.


gpg --clear-sign fichero

Tendremos a la salida un archivo [Link], donde el contenido no está cifrado y se


encuentra firmado digitalmente al final.

 Unir la firma digital al contenido del documento, el cual se cifra con la clave,
obteniendo un archivo binario.
gpg –s fichero

 Documento y firma en archivos separados.


gpg –b fichero
En el archivo [Link] tendremos la firma separada del documento. Para verificar la firma
emplearemos la opción --verify
3
CERTIFICADOS
DIGITALES
 Para garantizar la unicidad de las claves privadas
Soportes físicos, como tarjetas inteligentes (SmartCards). Ej: DNIe.
Garantizan la imposibilidad de la duplicación de claves.
Protegidas por un número personal o PIN (sólo lo conoce su propietario).

 Para asegurar que una determinada clave pública pertenece a un usuario concreto
Certificados digitales.
 CERTIFICADO DIGITAL = documento electrónico (archivo) que asocia una clave
pública con la identidad de su propietario.

 Contiene información sobre la identidad de su


propietario (nombre, dirección, mail), la clave
pública, otros atributos (ámbito de uso de la
clave pública, fechas de validez, etc.) y una
firma digital de una autoridad certificadora (en
España, La Casa de la Moneda y Timbre)

 El formato estándar es X.509 y su distribución es


posible realizarla:
o Con clave privada (extensión *.pfx o *.p12)
o Con clave pública (extensión *.cer o *.crt)

 Aplicaciones de certificados digitales y DNIe: realizar compras y comunicaciones seguras,


trámites con la banca online, con las administraciones públicas (Hacienda, Seg. Social) a
través de Internet, etc.
 ¿Cómo confiar si un determinado certificado es válido o si está falsificado?

Mediante la confianza en terceras partes.


Idea: dos usuarios pueden confiar directamente entre sí, si
ambos tienen relación con una tercera parte y que ésta
puede dar fe de la fiabilidad de las dos.

 Se podrá tener confianza en el certificado digital de un


usuario al que previamente no conocemos si dicho
certificado está avalado por una tercera parte en la que sí
confiamos mediante su firma digital sobre el
certificado.

 La Tercera Parte Confiable (TPC o TTP, Trusted Third Party) que se encarga de la firma
digital de los certificados de los usuarios de un entorno de clave pública se conoce
con el nombre de Autoridad de Certificación (AC).

30
 ¿Cómo puedo garantizar que la clave pública de un usuario es suya y no es la
de un impostor? Cualquiera puede generar un par de claves y pretender ser
otra persona.

Autoridades de Certificación (AC o CA, del inglés Certification


Authority), que asumen la responsabilidad de autenticar la identidad de
esa clave pública y que aparecerá en un documento electrónico llamado
certificado digital.

Por infraestructura de clave pública o PKI


(Public Key Infraestructure) se entiende el
conjunto de herramientas hardware, software,
Infraestructura de clave pública procesos y procedimientos legales que
permiten crear, gestionar, almacenar, distribuir
y revocar certificados digitales.
 El modelo de confianza basado en Terceras Partes Confiables es la base de la
definición de las Infraestructuras de Clave Pública (ICP o PKI, Public Key
Infrastructures), formado por:

 Autoridad de certificación (CA): emite y elimina los


certificados digitales.
 Autoridad de registro (RA): controla la generación de los
certificados, procesa las peticiones y comprueba la
identidad de los usuarios.
 Autoridades de repositorio: almacenan los certificados
emitidos y eliminados.
 Software para el empleo de certificados.
 Política de seguridad en las comunicaciones relacionadas
con gestiones de certificados.
(DNIe)


chip

o Un certificado electrónico para autenticar la personalidad del ciudadano.


o Un certificado electrónico para firmar electrónicamente (con la misma validez
jurídica que la firma manuscrita).
o Certificado de la Autoridad de Certificación emisora.
o Claves para su utilización.
o La plantilla biométrica de la impresión dactilar.


o HW específico: lector de
tarjetas inteligentes.
o SW específico: módulos
criptográficos que permitan el
acceso al chip.
1. Comprobar la veracidad de un sitio web.
2. Instalar certificados en el sistema operativo, en navegadores web o clientes de correo
electrónico Eliminamos el uso de credenciales escritas por teclado.
DIRECCIONES DE INTERÉS
 Web de la Fábrica Nacional de Moneda y Timbre, Autoridad de Certificación y
expedición de certificados digitales: [Link]
 Camerfirma. Web de las cámaras de comercio con información sobre certificados
digitales: [Link]
 Web del DNI electrónico. Ministerio del Interior: [Link]

SOFTWARE
 GPG. Completo software de cifrado: [Link]/[Link]
 TrueCrypt. Software de cifrado de volúmenes, particiones, etc.: [Link]
 Generador de funciones hash-resumen. Cifrado de texto plano mediante diversos
algoritmos como MD5 o SHA: [Link]
 OpenSSL: librerías de criptografía, proporciona entre otras aplicaciones, soporte SSL
para entornos web: [Link]

Common questions

Con tecnología de IA

Symmetric encryption uses a single key for both encryption and decryption, which requires secure key distribution. The main challenge is the secure exchange of this key since it can be intercepted during transmission . Asymmetric encryption, on the other hand, uses a pair of keys: a public key for encryption and a private key for decryption, eliminating the need for a secure key distribution channel since the public key can be freely shared . However, asymmetric encryption typically requires longer keys and more processing time than symmetric encryption .

Smart cards enhance the security of digital certificate management by securely storing the user's private key and digital certificate within a tamper-resistant chip. This physical security prevents unauthorized access to the keys and certificates. Moreover, smart cards often require a personal identification number (PIN) or biometric authentication to access the information, adding an additional layer of security . The use of smart cards minimizes the risk of key duplication and ensures that sensitive cryptographic operations, such as signing, occur within the card, further protecting private keys from exposure .

To ensure secure key exchange in symmetric encryption, several strategies can be employed. One approach is using asymmetric encryption, such as the Diffie-Hellman key exchange, to securely transmit symmetric keys over an insecure channel . Another strategy involves using secure pre-established channels or physical exchanges in controlled environments to distribute keys. Embedding key exchange mechanisms within secure protocols like TLS, which incorporates public key-based handshake processes to negotiate session keys securely, is also effective. Regularly rotating keys and using complex, randomly generated keys enhance security by minimizing exposure risks if a key is compromised .

Hash functions are critical in public key cryptography because they produce a fixed-size output (digest) from variable-size input, which is essential for ensuring data integrity and efficient encryption. A cryptographic hash function should have properties such as pre-image resistance (infeasibility of deriving the input from the hash), second pre-image resistance (difficulty in finding another input that produces the same hash), and collision resistance (difficulty in finding two different inputs that produce the same hash). These properties help in verifying data authenticity and integrity within digital signatures and other applications.

The DES encryption algorithm is considered insecure in modern applications primarily due to its short key length of 56 bits, which makes it vulnerable to brute force attacks where all possible key combinations are tested until the correct one is found . The rapid increase in computational power has made it feasible to break DES-encrypted data in a relatively short amount of time. Additionally, cryptanalysis techniques have further exposed weaknesses in the algorithm, leading to its phase-out and replacement by more secure algorithms such as AES, which provides longer key lengths and enhanced security features .

RSA ensures security through the mathematical difficulty of factoring large integers into their prime components, as it relies on the product of two large prime numbers. If an attacker can efficiently factor this large number, they can potentially break the encryption. The threat of quantum computing poses a risk to RSA's security, as quantum algorithms could significantly decrease the time needed to factor large numbers, thus undermining RSA's effectiveness .

Elliptic curve cryptography (ECC) offers significant benefits, including smaller key sizes for equivalent security levels compared to traditional public-key systems like RSA, leading to faster computations and reduced storage requirements. These efficiencies make ECC particularly advantageous in resource-constrained environments such as mobile devices . However, ECC also presents challenges, including implementation complexity and the requirement for careful parameter selection to avoid security vulnerabilities. Additionally, while ECC is computationally efficient, it may face challenges in standardization and widespread adoption compared to more established algorithms like RSA .

Digital signatures are created by encrypting a hash of the message with the sender's private key. This process ensures that the message has not been altered (integrity), and the sender cannot deny having sent the message (authenticity) since the signature can be verified with the sender's public key. The recipient can verify the signature by decrypting it with the sender's public key and comparing the resulting hash to the hash of the received message .

PGP enhances security by using a hybrid approach that combines the speed and efficiency of symmetric encryption with the security advantages of asymmetric encryption. When a message is encrypted with PGP, it uses symmetric encryption for the actual message, ensuring quick processing. The symmetric key (session key) is then encrypted using the recipient's public key through asymmetric encryption. This combination maximizes security—since the session key is robustly protected during transmission—while maintaining efficiency in handling large volumes of data .

Certificate Authorities (CAs) play a pivotal role in managing digital certificates by verifying the identities of entities and issuing digital certificates that bind public keys to individuals or organizations. They maintain trust within a PKI by serving as a trusted third party that authenticates the identities of certificate holders and signs digital certificates to provide assurance that a public key belongs to the purported owner . This authentication process is essential for establishing a secure and trustworthy digital environment where participants can rely on the integrity and origin of public keys. CAs also manage certificate revocation, ensuring that invalid or compromised certificates are removed from circulation .

También podría gustarte