Conceptos iniciales
Una clave, se guarda siempre asociada a una etiqueta. En los perfiles editran, se especifican las etiquetas que contienen esas claves (o al menos, una referencia que permita encontrar etiqueta y clave, si se usa gestión de claves de intercambio).
Hay 3 tipos de criptografía: DES, RSA y AES. Para usar cualquiera de ellas, se requieren distintos módulos editran (y que el remoto con el que nos conectemos, también disponga de ellos.
Se requiere disponer de licencias según se use uno u otro sistema:
En DES:
CRIPTOlib/DES (producto comercializado por Indra, válido para todos los entornos) o tarjeta criptográfica ICSF-CMOS (sólo en los entornos zos)
API de criptografía DES (para CRIPTOlib/DES o para ICSF-CMOS), comercializado por Indra.
En RSA:
Disponer de entorno DES, con las licencias descritas anteriormente
CRIPTOlib/RSA (producto comercializado por Indra, válido para todos los entornos)
API de criptografía RSA para enlace con entorno DES utilizado, comercializado por Indra.
En AES:
Disponer de entorno RSA, con las licencias descritas anteriormente
API de criptografía RSA para enlace con entorno AES utilizado, comercializado por Indra.
API de criptografía AES.
La criptografía DES, puede realizarse de 2 formas:
Criptografía hardware (sólo entornos Zos con tarjeta criptográfica). Se usa ICSF-CMOS. Para su uso con editran, se requiere el módulo editran API DES para ICSF. El fichero de claves DES se llama CKDS o MKDS.
Criptografía software. Para su uso con editran, se requieren 2 módulos propiedad de Indra: CRIPTOlib/DES y API DES para CRIPTOlib/DES. El fichero de claves DES, se llama FICHKDES (entornos zos) ó ckds.des (entornos abiertos)
El fichero de claves de criptografía DES, contiene una clave maestra de la entidad, llamada HMK (Host Master Key) ó clave maestra de la instalación. El producto proporciona herramientas para incorporar esa primera clave a dicho fichero (en el caso de criptografía software). En el caso de zos con CRIPTOlib/DES, se proporciona el jcl JGENFICH, donde se inicializa el FICHKDES y se incorpora una clave que se introduce 2 veces en la sysin del jcl, para evitar errores. Si usted lista el fichero, ya no verá el valor que indicó en claro. Una vez introducida la HMK, en zos, se deben introducir 2 claves, llamadas AUXILIARES. Cuando en el entorno local editran indicamos:
Estamos señalando esas claves auxiliares (mediante 2 etiquetas que contienen las claves), que serán importantes en la instalación, pues servirán para cifrar, generar, recifrar, otras claves, de forma que queden ocultas en los distintos sitios donde se guarden éstas últimas. Estas 2 etiquetas guardan claves DES SIMPLES, de 8 octetos), cuyo valor debe ser idéntico en ambas. Se proporcionan herramientas editran que sirven para incorporar dichas claves auxiliares al FICHKDES: jcl ZTBSJCR (CRIPTOlib/DES) ó ZTBSJICS (ICSF-CMOS). En este último, hay paneles donde se indica el label escogido y la clave escogida. El label local contiene una clave de tipo EXPORTER y el label remoto contiene una clave de tipo IMPORTER. Las claves que se generan son aleatorias, no se especifican en el jcl, las crea el propio programa llamado. Una vez están ambas claves incorporadas al entorno DES correspondiente y en el entorno local, se podrá empezar a funcionar con la criptografía.
En entornos abiertos, habitualmente, los pasos anteriores de criptografía DES, vienen “preinstalados”. Al instalar el producto, se genera automáticamente el fichero ckds.des con las claves anteriores. Si usted quiere empezar de cero, creando sus propias claves (sólo se puede hacer este proceso cuando no hay sesiones editran creadas), renombre el ckds.des antiguo y ejecute en una ventana MSDOS sobre el directorio editran instalado el comando pinsdes xxxxxxxxxxxxxxxx yyyyyyyyyyyyyyyy (x e y son los mismos valores, de confirmación de la HMK, que es de 16 caracteres hexadecimales, 8 octetos finales), de forma que se creará la HMK, A continuación, para la AUXILIAR, introduzca el comando introsec SI000000000016 yyyyyyyyyyyyyyyy (SI000000000016 es la etiqueta. El resto es el valor de esa clave, que debe tener paridad impar
Cuando se usa criptografía RSA, además de disponer de un entorno DES, se requieren 2 módulos: CRIPTOlib/RSA + API RSA (para ICSF-CMOS ó para CRIPTOlib/DES). Es un cifrado software, propiedad de Indra, que simula las funciones de la criptografía RSA. Cuando se usa RSA, se crea en zos un fichero llamado FICHKRSA (en entornos abiertos se llama ckds.rsa). Es necesario incorporar en el entorno DES que tengamos, una etiqueta asociada a una clave DES, que servirá para cifrar todas las claves RSA que incorporemos en el FICHKRSA. En zos se proporciona un jcl XSCRFILE, que inicializa el FICHKRSA, y a través de 2 sysin se incorporan 2 etiquetas (de hasta 64 octetos en este caso), de forma que el programa inicializa el registro de control de dicho fichero con las 2 claves DES que protegen al mismo (claves en forma aplicativa junto con los lábeles). A continuación, el programa en un paso posterior, genera una clave aleatoria de paridad impar (la que cifra a las 2 anteriores), y la incorpora 2 veces en el fichero DES de la entidad (ICSF ó CRIPTOlib), una con el primer laber (local o de tipo exporter) y otra con el segundo label (remota o importer)
En entornos abiertos, habitualmente los pasos anteriores de criptografía RSA, se consiguen ejecutando en una ventana MSDOS sobre el directorio editran instalado el comando inst_rsa xxxxxxxxxxxxxx (x es un label de 14 caracteres)
La criptografía RSA, se basa en lo siguiente:
Una clave tiene 2 partes, parte privada y parte pública, cada una se guarda con una etiqueta distinta.
La parte pública la puede conocer cualquiera sin riesgo de integridad
Ambos extremos se intercambian la parte pública de sus respectivas claves. La parte privada, no se intercambia nunca. Es propiedad de la entidad que generó la clave RSA. Ni siquiera esta, puede verla en claro.
Con la parte pública remota, se cifran claves DES, (que servirán luego para cifrar los datos). El único capaz de descifrar esta clave DES (para luego descifrar los datos), es la entidad que dispone de la parte privada de la clave RSA asociada.
Con la parte privada, se firman textos. El que tenga la parte pública de la anterior privada, puede reconocer al que firmó, (pues sólo lo pudo firmar el que tenía la privada)