Tipos de claves. Versión criptográfica y cambio de clave
Los valores del campo VERSION CRIPTOGRAFICA son:
Versión 3.00 y 4.00 con autenticación DES ó RSA. El intercambio no es de forma automática como la criptografía 2.20 Esta modalidad utiliza claves Criptográficas que los usuarios deben haber intercambiado previamente por el método que estimen conveniente: correo, mail, teléfono, editran, o como crean conveniente las 2 entidades implicadas (con el módulo Gestión de claves de intercambio, se puede realizar este intercambio de manera segura, sin que ninguno de los intervinientes conozca el valor real de la clave intercambiada). Cuando se usa criptografía 3.00 o 4.00, existen 2 tipos de claves:
Claves de intercambio o de transporte (las que se intercambian las 2 entidades). Estas claves pueden ser DES, RSA. Con ellas, se hace referencia al algoritmo de autenticación con los valores posibles: DES, RSA
Si son DES (algoritmo autenticación DES), las entidades pueden intercambiar:
Claves DES simples (8 bytes). Cualquier máquina editran puede intercambiar estas claves
Claves DES dobles (16 bytes). Dependiendo del sistema operativo y de la versión editran instalada, es o no posible (entorno abiertos v.editran > 5.0, entornos zos, todas las versiones, entorno i-series no disponible aún). Si alguno de los 2 entornos no es compatible, pero quiere funcionar con claves dobles, los 8 primeros bytes de la clave deben tener el mismo valor que los 8 últimos. Si por ejemplo un UNIX genera una clave de transporte DES SIMPLE y se la envía a un zos, éste podría incluirla como una clave de transporte IMPORTER DES DOBLE (16 bytes), simplemente repitiendo los 8 bytes que le han enviado con la CLAVE DES SIMPLE (8 BYTES) A su vez, si un zos genera una clave de transporte EXPORTER DES DOBLE y el valor de sus 8 primeros bytes es idéntico al valor de sus últimos 8 bytes, el UNIX puede incluirla como CLAVE DES SIMPLE metiendo los 8 primeros bytes que le llegan. En ambos casos, el proceso funciona bien. Sin embargo, en claves dobles lo que se realiza son procesos de cifrado (con 8 primeros), descifrado (con 8 segundos) y recifrado (con 8 primeros), por lo que repetir los 8 primeros y los 8 segundos bytes en una clave doble, es triplicar las operacionales a realizar (comparando con claves simples), obteniendo al final el mismo resultado. Por ello, se recomienda no usar dobles iguales.
Claves DES tiples (24 octetos). Ningún extremo las genera.
Si son RSA, (algoritmo autenticación RSA) las entidades intercambian la parte pública de la clave, como se explicó anteriormente.
Claves operacionales. Estas claves son siempre DES (simples, dobles o triples). Con ellas, se hace referencia al algoritmo de confidencialidad con los valores posibles: DES (8 bytes o DES simple), TD2C (16 bytes, o doble DES) y TD3C (24 bytes o triple DES). Son las claves que cifrarán los datos editran (como se expuso anteriormente). No confunda con las claves de intercambio. Todos los entornos editran pueden generar claves operacionales DES triples, y, sin embargo, ninguno genera claves de intercambio triples.
En criptografía 3.0 o 4.0: Así, por ejemplo, si intercambiamos una clave RSA (clave de intercambio o transporte, autenticación RSA), enviamos al remoto la parte pública de nuestra clave y el remoto nos envía la suya. Al comienzo de cada transmisión, se genera una clave operacional des, (por ejemplo, triple, de 24 octetos. si hemos indicado confidencialidad TD3C). Por un lado, esa clave operacional DES, se guarda cifrada bajo la pública RSA que nos dio ese remoto. Por otro lado, editran cifra los datos con la operacional (cifrado-descifrado-cifrado). Por último, editran envía la operacional DES cifrada y los datos cifrados. Ese remoto, dispone de la privada, por lo que descifra con la misma la clave operacional cifrada y le da como resultado la clave operacional en claro (con la que ciframos los datos nosotros). A continuación, descifra los datos con esa operacional (descifrado-cifrado-descifrado). En el ejemplo anterior, cuando se indica cifrado-descifrado-cifrado o descifrado-cifrado-descifrado, lo que quiere decir en realidad es que la clave operacional es triple, de 24 bytes. Los datos se cifran con los 8 primeros bytes de la operacional. El resultado se descifra con los 8 segundos. El resultado se cifra con los 8 últimos. El resultado se envía al remoto. Este, descifra la operacional (como se expuso antes) y a continuación, descifra el dato que le llega con los 8 últimos de la operacional. El resultado lo cifra con los 8 intermedios y el resultado lo descifra con los 8 primeros de la operacional. El resultado final es el dato en claro.
En criptografía 3.0: Así, por ejemplo, si intercambiamos una clave DES (simple contra cualquier entorno o doble entre 2 zos) (clave de intercambio o transporte, autenticación DES), enviamos al remoto la misma. Al comienzo de cada transmisión, se genera una clave operacional DES, (por ejemplo, triple, si hemos indicado confidencialidad TD3C). El proceso es igual al ejemplo anterior. Por un lado, se cifra la operacional generada bajo la DES remota intercambiada y por otro los datos se cifran bajo la operacional generada.
Como se ha visto, el cifrado 3.00 de la operacional, es DES o RSA. Es más seguro RSA.
Ejemplo de un intercambio de claves DES y uso de TDES para cifrar datos:
Entidad A
Acción
Entidad B
1.- Genera una clave DES x’AAA…’
(proceso externo a editran)
2.- A comunica a B clave DES x’AAA…’
(proceso externo a editran)
3.- Incorpora clave DES x’AAA…’
(proceso externo a editran)
6.- Incorpora clave DES x’BBB…’
(proceso externo a editran)
5.- B comunica a A clave DES x’AAA…’
(proceso externo a editran)
4.- Genera una clave DES x’BBB…’
(proceso externo a editran)
7.- Editran A, en cada transmisión genera una clave OPERACIONAL TRIPLE DES x’CCC…’
8.- Editran A envía a editran B la clave x’CCC..’ cifrada bajo x’BBB..’
Además, firma bajo x’AAA..’
9.- Editran B, descifra x’CCC…’ bajo x’BBB..’ y saca en claro x’CCC..’
10.- Editran A, cifra DATOS bajo x’CCC’
10.- Editran de A, envía a editran B, DATOS cifrados bajo x’CCC’
11.- Editran B, descifra datos bajo x’CCC..’ y los saca en claro
Verifica la firma de x’AAA..’
Ejemplo de un intercambio de claves RSA y uso de TDES para cifrar datos:
Entidad A
Acción
Entidad B
1.- Genera una clave RSA, con 2 partes: privada x’AAA…’ y pública x’YYY’
(proceso externo ó automatizado con GC)
2.- A comunica a B clave RSA pública x’YYY…’
(proceso externo o automatizado con GC)
3.- Incorpora clave RSA x’YYY…’
(proceso externo o automatizado con GC)
6.- Incorpora clave RSA x’ZZZ…’
(proceso externo o automatizado con GC)
5.- B comunica a A clave RSA pública x’ZZZ…’
(proceso externo ó automatizado con GC)
4.- Genera una clave RSA, con 2 partes: privada x’BBB…’ y pública x’ZZZ’
(proceso externo o automatizado con GC)
7.- Editran A, en cada transmisión genera una clave OPERACIONAL TRIPLE DES x’CCC…’
8.- Editran A envía a editran B la clave x’CCC.’ cifrada bajo x’ZZZ..’
Además, firma bajo x’AAA..’
9.- B, descifra x’CCC…’ bajo x’ZZZ..’ (e x’YYY) y saca en claro x’CCC..’
10.- Editran A, cifra DATOS bajo x’CCC’
10.- Editran de A, envía a editran B, DATOS cifrados bajo x’CCC’
11.- Editran B, descifra datos bajo x’CCC.’ y los saca en claro
Verifica la firma de x’AAA..’ (porque dispone de x’YYY..’)
No confunda TRIPLE DES – DES - RSA, TRIPLE DES o DES es la forma de cifrar los datos, es la forma de generar CLAVE OPERACIONAL.
DES ó RSA es la forma de intercambiar la clave, es la forma de intercambiar la CLAVE DE INTERCAMBIO.