Introducció

Els protocols criptogràfics són conjunts de regles que defineixen com s'han d'utilitzar els algorismes criptogràfics per garantir la seguretat de les comunicacions i la integritat de les dades. Aquests protocols són essencials per a la seguretat en les comunicacions digitals, ja que asseguren que les dades es transmetin de manera segura i que només els destinataris autoritzats puguin accedir-hi.

Conceptes Clau

  1. Autenticació: Verificació de la identitat dels participants en una comunicació.
  2. Confidencialitat: Assegurar que només els destinataris autoritzats puguin llegir el contingut del missatge.
  3. Integritat: Garantir que les dades no han estat alterades durant la transmissió.
  4. No-repudiació: Assegurar que una part no pugui negar haver enviat un missatge.

Tipus de Protocols Criptogràfics

Protocols de Clau Pública

  1. SSL/TLS (Secure Sockets Layer / Transport Layer Security):

    • Utilitzat per assegurar les comunicacions a través d'Internet.
    • Proporciona autenticació, confidencialitat i integritat.
    • Exemple: HTTPS.
  2. SSH (Secure Shell):

    • Utilitzat per accedir de manera segura a sistemes remots.
    • Proporciona autenticació i confidencialitat.
    • Exemple: Administració remota de servidors.

Protocols de Clau Simètrica

  1. IPsec (Internet Protocol Security):

    • Utilitzat per assegurar les comunicacions a nivell de xarxa.
    • Proporciona autenticació, confidencialitat i integritat.
    • Exemple: VPNs (Virtual Private Networks).
  2. Kerberos:

    • Utilitzat per l'autenticació en xarxes d'ordinadors.
    • Proporciona autenticació i integritat.
    • Exemple: Autenticació en entorns corporatius.

Protocols de Signatura Digital

  1. DSS (Digital Signature Standard):

    • Utilitzat per crear signatures digitals.
    • Proporciona autenticació i no-repudiació.
    • Exemple: Signatura de documents electrònics.
  2. PGP (Pretty Good Privacy):

    • Utilitzat per assegurar correus electrònics.
    • Proporciona autenticació, confidencialitat i integritat.
    • Exemple: Encriptació de correus electrònics.

Exemples Pràctics

Exemple 1: SSL/TLS

1. El client envia una sol·licitud de connexió segura al servidor.
2. El servidor respon amb el seu certificat digital.
3. El client verifica el certificat del servidor.
4. El client genera una clau de sessió simètrica i l'encripta amb la clau pública del servidor.
5. El servidor desencripta la clau de sessió amb la seva clau privada.
6. Totes les comunicacions posteriors es xifren amb la clau de sessió simètrica.

Exemple 2: SSH

1. L'usuari inicia una connexió SSH amb el servidor.
2. El servidor envia la seva clau pública al client.
3. El client genera una clau de sessió simètrica i l'encripta amb la clau pública del servidor.
4. El servidor desencripta la clau de sessió amb la seva clau privada.
5. Totes les comunicacions posteriors es xifren amb la clau de sessió simètrica.

Exercicis Pràctics

Exercici 1: Configuració d'una Connexió SSL/TLS

Objectiu: Configurar una connexió HTTPS en un servidor web.

Passos:

  1. Generar una clau privada i un certificat de sol·licitud (CSR).
  2. Obtenir un certificat digital d'una autoritat de certificació (CA).
  3. Configurar el servidor web per utilitzar el certificat.

Solució:

# Generar una clau privada
openssl genpkey -algorithm RSA -out private.key

# Generar una CSR
openssl req -new -key private.key -out request.csr

# Obtenir un certificat de la CA (aquest pas varia segons la CA)

# Configurar el servidor web (exemple per a Apache)
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /path/to/certificate.crt
    SSLCertificateKeyFile /path/to/private.key
    SSLCertificateChainFile /path/to/chainfile.pem
</VirtualHost>

Exercici 2: Configuració d'una Connexió SSH

Objectiu: Configurar una connexió SSH segura entre un client i un servidor.

Passos:

  1. Generar una clau SSH al client.
  2. Afegir la clau pública al servidor.
  3. Connectar-se al servidor utilitzant SSH.

Solució:

# Generar una clau SSH al client
ssh-keygen -t rsa -b 4096 -C "[email protected]"

# Afegir la clau pública al servidor
ssh-copy-id user@server

# Connectar-se al servidor
ssh user@server

Errors Comuns i Consells

  1. Error: Certificat no vàlid:

    • Solució: Assegurar-se que el certificat no ha expirat i que és emès per una CA de confiança.
  2. Error: Clau SSH no reconeguda:

    • Solució: Verificar que la clau pública s'ha copiat correctament al servidor i que els permisos dels fitxers són correctes.

Conclusió

Els protocols criptogràfics són fonamentals per garantir la seguretat de les comunicacions digitals. Coneixent i aplicant aquests protocols, podem assegurar-nos que les dades es transmetin de manera segura i que només els destinataris autoritzats puguin accedir-hi. En els següents mòduls, explorarem aplicacions pràctiques i eines per implementar aquests protocols en entorns reals.

© Copyright 2024. Tots els drets reservats