![]() |
Y tú… ¿firmas y/o cifras? |
AVISO: Lo que vamos a encontrarnos a continuación, es una super-simplificación para explicar el funcionamiento del firmado y el cifrado de información. Es una simplificación, porque es un post para que se entienda la lógica del funcionamiento que siguen estos procesos, pero no voy a entrar en el funcionamiento a bajo nivel.
Para entender la criptografía asimétrica, también llamada criptografía de clave pública, hay que tener clara una cosa. Las claves van a estar formadas por dos “partes” o dos claves, que son una clave pública y una clave privada.
Aquí es muy importante saber que la clave pública podemos distribuirla libremente, como su propio nombre indica, es pública.
No es así con la clave privada. Esta clave tenemos que guardarla celosamente y no debemos compartirla.
Para entender el funcionamiento, vamos a poner un ejemplo con 3 sujetos ficticios: Juan, María y Pedro.
Las claves de estos 3 individuos son las que vemos a continuación:
Juan
|
|
Clave Privada | Clave Pública |
Jcpv394867 | Jcp928347 |
María
|
|
Clave Privada | Clave Pública |
Mcpv92783 | Mcp823375 |
Pedro
|
|
Clave Privada | Clave Pública |
Pcpv02837 | Pcp982374 |
Estas claves no las vamos a poder elegir nosotros, normalmente haremos uso de algún proceso que nos proporcione cada par de claves.
Haciendo uso de la criptografía de clave pública, comúnmente vamos a poder realizar dos operaciones: firmar y cifrar.
Supongamos ahora que nuestros tres sujetos, han intercambiado sus claves, de forma que ahora tienen un “almacén de claves” donde van a guardar las claves que se han ido intercambiando.
Juan
|
|
Clave Privada
|
Clave Pública
|
Jcpv394867 | Jcp928347 |
Almacén de claves
|
|
Clave Publica De María (CPM) | Mcp823375 |
María
|
|
Clave Privada
|
Clave Pública
|
Mcpv92783 | Mcp823375 |
Almacén de claves
|
|
Clave Publica De Pedro (CPP) | Pcp982374 |
Clave Publica De Juan (CPJ) | Jcp928347 |
Pedro
|
|
Clave Privada
|
Clave Pública
|
Pcpv02837 | Pcp982374 |
Almacén de claves
|
|
Clave Publica De María (CPM) | Mcp823375 |
Ahora que ya conocemos las dos partes de una clave (La pública y la privada) y que hemos visto que las claves publicas hay que compartirlas, vamos a explicar cómo funciona el proceso de firmado y de cifrado.
La firma
El proceso de firmado se realiza utilizando la clave privada. Cuando firmamos un fichero, siempre, siempre, SIEMPRE vamos a utilizar la clave privada.
El resultado de un proceso de firma es propiamente una “firma digital”.
Hay que tener en cuenta que, para realizar una firma, se utilizan todos los bits de un fichero, por lo que si firmamos un fichero y más tarde lo modificamos, tendremos que realizar de nuevo el proceso de firmado para obtener una firma válida para el fichero modificado.
Vale y… ¿Para qué nos sirve una firma digital?
Haciendo uso de la clave pública correspondiente a la clave privada con la que se firmó el fichero, podemos verificar si la firma es correcta o no lo es.
Además, como únicamente se puede firmar haciendo uso de la clave privada, podemos verificar la identidad del firmante.
Veamos un ejemplo:
Supongamos que Juan firma un fichero, el proceso de firma vamos a representarlo de la siguiente manera:
Firma (fichero, CPVJ) = opasuiisjfahwoi
Como podemos ver, el resultado de la firma del fichero de Juan, haciendo uso de su clave privada, es “opasuiisjfahwoi”. El resultado de una firma es un conjunto de caracteres que sirve para verificar quien ha firmado el fichero, y si ha sido modificado a posteriori de realizar la firma.
Ahora supongamos que Juan, envía el fichero y la firma del fichero a María y Pedro.
Para verificar la firma, es necesaria la clave pública de Juan, por lo que… el pobre Pedro no podrá verificar si la firma es válida, ya que no tiene la clave pública de Juan.
Sin embargo, María sí que tiene la clave pública de Juan, por lo que, haciendo uso de la clave pública de Juan, el fichero y la firma del fichero, podrá verificar si la firma es válida o no, es decir, podrá verificar si el fichero realmente lo ha firmado Juan, y si el fichero no ha sufrido modificaciones después de que Juan lo firmara.
El proceso de verificación de firma, vamos a representarlo de la siguiente manera:
Verificación (fichero,firma, CPJ) = VALIDO
Como el fichero no ha sido modificado, la firma es la que ha realizado Juan, y la clave pública utilizada en la verificación es la de Juan, el proceso dará como resultado que la firma es válida.
En caso de que el fichero estuviese modificado, vamos a llamarlo fichero1, el resultado sería el siguiente:
Verificación (fichero1, firma, CPJ) = INVALIDO
Si por un casual, María se confunde, e intenta verificar el fichero original con la clave pública de Pedro, el resultado sería:
Verificación (fichero, firma, CPP) = INVALIDO
Ni que decir tiene que, si el fichero ha sido modificado, y la clave pública que se utiliza no es correcta, la verificación dará como resultado “invalido”
Verificación (fichero1, firma, CPP) = INVALIDO
Vale, enviar un documento firmado está muy bien para saber quién lo ha firmado y si ha sufrido modificaciones a posteriori, pero… ¿Qué hago si quiero enviar un fichero a alguien y que nadie pueda leerlo? Para eso está el cifrado de la información.
Como podemos ver, la firma digital, nos permite comprobar:
- Integridad
- Autenticación de origen
- No repudio
El Cifrado
El proceso de cifrado nos permite crear un mensaje/fichero (a partir de un mensaje/fichero original) que únicamente podrá descifrar la persona que contenga la “clave” necesaria para el proceso de descifrado.
Para el proceso de cifrado se utiliza siempre, siempre, SIEMPRE la clave pública de la persona a la que vamos a enviar el mensaje/fichero cifrado.
Supongamos que Juan quiere enviar un fichero cifrado a María, el proceso de cifrado sería el siguiente:
Cifrado (fichero, CPM) = ficheroCifrado
Ahora, Juan, lo único que tiene que hacer es enviar el fichero “ficheroCifrado” a María, y ella lo descifrará utilizando el siguiente proceso:
Descifrado (ficheroCifrado, CPVM) = fichero
Como podemos ver, ha sido necesaria la clave privada de María, por lo que si por alguna razón, el fichero “ficheroCifrado” hubiese llegado a manos de Pedro, le faltaría la clave privada de María para poder descifrar el fichero y por tanto no podría descifrarlo.
El proceso de cifrado nos proporciona:
- Confidencialidad
Y con esto llegamos al final del post de hoy, espero que con él podamos entender de forma básica como funciona el proceso de cifrado y firmado haciendo uso de la criptografía asimétrica.
No hay comentarios:
Publicar un comentario