CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. ·...

86
Servidor Criptográfico Software CRIPTOlib/DES 3.0 Servidor Criptográfico Software Indra Diciembre de 2.002

Transcript of CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. ·...

Page 1: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

Servidor Criptográfico Software

CRIPTOlib/DES 3.0

Servidor Criptográfico Software

Indra

Diciembre de 2.002

Page 2: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice

Page 3: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 3

Í N D I C E

Pág.

1 INTRODUCCIÓN ...............................................................................................................4

2 EVOLUCIÓN DE LOS SISTEMAS DE SEGURIDAD ........................................................7

2.1 CRIPTOGRAFÍA DE CLAVE SECRETA O SIMÉTRICA.......................................................................... 9

2.2 CRIPTOGRAFÍA DE CLAVE PÚBLICA O ASIMÉTRICA ........................................................................12

2.3 CERTIFICADOS........................................................................................................................15

2.4 PKI’S.....................................................................................................................................17

3 SERVIDOR CRIPTOGRÁFICO DES ...............................................................................22

3.1 TIPOS DE CLAVES ....................................................................................................................23

3.2 FICHERO DE CLAVES FICHKDES .............................................................................................28

4 SERVICIOS DE GESTIÓN DEL FICHKDES ...................................................................30

4.1 SCDIHMK - INSTALACIÓN DEL FICHERO Y CARGA DE LA CLAVE MAESTRA .....................................30

4.2 SCDCHMK - CAMBIO DE LA CLAVE MAESTRA ...........................................................................32

5 SERVICIOS DE GESTIÓN DE CLAVES .........................................................................35

5.1 SCDALTA - ALTA DE UNA CLAVE DE TRANSPORTE ....................................................................36

5.2 SCDBAJA - BORRADO DE UNA CLAVE DE TRANSPORTE .............................................................37

5.3 SCDGNTR - GENERACIÓN DE CLAVES DE TRANSPORTE ............................................................39

5.4 SCDGNAP - GENERACIÓN DE CLAVES DE APLICACIÓN ..............................................................40

5.5 SCDOPER - CIFRADO OPERATIVO DE CLAVES DE APLICACIÓN EN CLARO.....................................42

5.6 SCDRAPL - RECIFRADO APLICATIVO DE CLAVES DE APLICACIÓN ................................................44

5.7 SCDROPE - RECIFRADO OPERATIVO DE CLAVES DE APLICACIÓN................................................46

5.8 SCDRAND - GENERACIÓN DE CADENAS ALEATORIAS.................................................................48

6 SERVICIOS DE PROTECCIÓN DE DATOS ...................................................................50

6.1 SCDCIFR - CIFRADO DE DATOS ..............................................................................................53

6.2 SCDDESC - DESCIFRADO DE DATOS .......................................................................................55

7 SERVICIOS DE INTEGRIDAD Y AUTENTICACIÓN .......................................................59

7.1 SCDGMAC - GENERACIÓN DE CÓDIGOS MAC..........................................................................60

7.2 SCDHMD5 - CÁLCULO DE FUNCIÓN HASH MD5.........................................................................63

7.3 SCDHSHA1- CÁLCULO DE FUNCIÓN HASH SHA-1.....................................................................66

APÉNDICE A: Códigos de Retorno y Razón.....................................................................70

APÉNDICE B: Reglas de proceso de cifrado....................................................................73

APÉNDICE C: Instalación del producto ............................................................................79

APÉNDICE D: Utilidades ....................................................................................................83

Page 4: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Introducción

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 4

1 INTRODUCCIÓN

El Servidor de criptografía software CRIPTOlib/DES de Indra en su versión 3.0 para

entornos MVS, utiliza técnicas criptográficas de protección de datos basadas en el

algoritmo estándar DES —Data Encryption Standard—, también conocido como

DEA —Data Encryption Algorithm— definido en ANSI X3.92-1981 e ISO 9372, en el

modo de operación de cifrado en bloques CBC —Cipher Block Chaining— definido

en ANSI X3.106-1983 e ISO 8372.

El algoritmo estándar DES es el algoritmo simétrico más extendido mundialmente,

durante más de 20 años de existencia no ha demostrado ninguna debilidad

estructural grave en su diseño desde el punto de vista teórico, aunque a mediados

de 1998 se demostró que un ataque por la fuerza bruta era viable, debido a la

escasa longitud que emplea en su clave —64 bits, 56 reales más 8 de paridad—.

Actualmente los algoritmos con claves de menos de 56 bits no se consideran

seguros, ya que existe la posibilidad real, y económicamente viable, de descifrar

cualquier mensaje simplemente probando todas las posibles claves distintas. Las

claves de menos de 56 bits son “rompibles” con los medios adecuados,

recomendándose la utilización de claves de por lo menos 128 bits.

Para evitar el problema de la clave corta y continuar utilizando el algoritmo estándar

DES, existe un sistema que consiste en aplicar varias veces el algoritmo con

diferentes claves al mensaje original (ya que el DES no presenta estructura de

grupo), llamado triple DES o TDES. Se cifra con una primera clave de 56 bits, el

resultado se descifra con una segunda clave también de 56 bits, y por último se

vuelve a cifrar con la primera.

La clave resultante utilizada en este proceso es la concatenación de las dos claves,

con una longitud efectiva de 112 bits. Si se utilizan tres claves diferentes, en lugar

de reutilizar la primera en el tercer paso, la clave resultante sería de 168 bits.

Page 5: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Introducción

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 5

La versión 3.0 del Servidor de criptografía software CRIPTOlib/DES incorpora el

nuevo sistema de cifrado aplicando el algoritmo Triple DES, mediante la utilización

de claves criptográficas DES de longitud doble (128 bits) y de longitud triple (192

bits).

Este manual de usuario e instalación proporciona información del producto con la

finalidad de facilitar la instalación y el mantenimiento del mismo, así como describir

la información necesaria acerca de los servicios criptográficos (interfaz con los

programas de aplicación) que permitirán a las aplicaciones definir Sistemas de

Seguridad utilizando técnicas de criptografía y protección de datos.

En el segundo capítulo se hace una breve descripción de la evolución de los

Sistemas de Seguridad, enfocada principalmente a la situación actual de las

técnicas y métodos criptográficos modernos.

El tercer capítulo describe el servidor criptográfico, compuesto por un módulo de

seguridad y un fichero de claves denominado FICHKDES. El módulo de seguridad

es una implementación software del algoritmo DES y se encarga de suministrar las

funciones criptográficas. El fichero de claves almacena las claves criptográficas

manteniendo una estructura jerárquica, de tal forma que las claves de menor rango

se encuentran cifradas bajo claves de mayor rango.

A lo largo de este capítulo se revisarán las distintas claves que participan en el

sistema, las características y tamaño que pueden tener cada una de ellas, así como

el modo en el que opera el servidor con cada una de los tipos de claves, y los

métodos de protección utilizados para el almacenamiento y el intercambio seguro de

claves entre diferentes sistemas.

A continuación se describen los servicios de que dispone el Administrador del

sistema para efectuar la generación inicial del fichero de claves FICHKDES, la

generación e incorporación en el mismo de la clave Maestra del sistema, y para

realizar cambios de la clave Maestra.

Page 6: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Introducción

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 6

En el capítulo quinto se describen los servicios criptográficos que proporciona el

servidor para la generación, administración y distribución de los diferentes tipos de

claves del sistema.

El sexto capítulo describe los servicios de seguridad necesarios para mantener la

privacidad de la información almacenada en el propio sistema, proteger los datos

intercambiados entre diferentes sistemas o los datos almacenados en ficheros o

cintas (confidencialidad y privacidad de la información).

En el séptimo y último capítulo se describen los servicios que proporciona el

servidor para verificar que la información transmitida o almacenada no ha sido

alterada (integridad de los datos), y para asegurar que el remitente y el destinatario

de la información son en realidad quien dicen ser (autenticidad de los mensajes).

Finalmente y como apéndices se incluye la lista con los posibles códigos de error

que devuelven los servicios, un esquema con las reglas utilizadas en los procesos

de cifrado, la guía con los pasos a seguir para la instalación del producto, y un

conjunto de utilidades que facilitan la realización de las tareas de propósito general

frecuentemente utilizadas por las Aplicaciones.

Page 7: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 7

2 EVOLUCIÓN DE LOS SISTEMAS DE SEGURIDAD

En la actualidad el desarrollo de las comunicaciones electrónicas, unido al uso

masivo y generalizado de los ordenadores, hace posible la transmisión y

almacenamiento de grandes flujos de información confidencial que es necesario

proteger.

La revolución de la tecnología de información, conjuntamente con el desarrollo de la

infraestructura de comunicaciones y un nuevo entorno competitivo marcado por el

imparable desarrollo de Internet, está haciendo cambiar significativamente las

relaciones entre individuos y organizaciones en todo el mundo. Hay quien llega a

hablar de revolución social y de cambios drásticos en la forma de establecer

relaciones comerciales entre personas o entidades.

La diferencia principal introducida por este cambio en los comportamientos de

relación comercial, viene dada por la sustitución del formato papel por formatos

electrónicos. Y este cambio ha provocado la reactualización de ciertas amenazas

contra la seguridad de la operación, que en los usos tradicionales estaba resuelta.

Los servicios de seguridad aplicables al comercio basado en documentos en papel

y el basado en documentos electrónicos, requieren disponer de funciones análogas

tanto desde el punto de vista legal como desde el punto de vista comercial: los

documentos típicamente contienen firmas y fechas, necesitan protegerse de

posibles revelaciones de contenido, falsificación o destrucción, precisan ser

notariados y registrados o licenciados.

Aunque la trascendencia de los servicios de seguridad depende del contexto de la

organización, entre las amenazas de seguridad más importantes podemos destacar

las siguientes:

Page 8: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 8

• El remitente de la información ¿es en realidad quien dice ser? (servicios de

autenticación y control de acceso).

• La información recibida, ¿es la misma que fue enviada? (servicios de integridad

de los datos).

• La información enviada, ¿podrá ser espiada por un tercero? (servicios de

confidencialidad).

• ¿Podrá el remitente negar que la ha enviado, o el destinatario que la ha

recibido? (servicios de no repudio).

• ¿Podrá un tercero capturar la información para después eliminarla o reenviarla?

(servicios de integridad en la secuencia).

La probabilidad de que una de las amenazas descritas pueda llevarse a cabo, es

tanto mayor cuanto más abierta y mayor es el número de usuarios de la red por la

que viaja la información. En la situación actual, con un número creciente de

participantes, se deriva una necesidad también creciente de soluciones que eviten

que amenazas como las indicadas puedan llevarse a cabo.

LOS SISTEMAS TRADICIONALES FRENTE A LOS BASADOS EN ALGORITMOS

CRIPTOGRÁFICOS

La mayoría de los servicios actuales que se encuentran disponibles mediante las

tecnologías de la información, fundamentan su seguridad en la identificación de los

participantes a través de un nombre y/o de una contraseña (password). Este

sistema tradicional es adecuado si la comunicación se establece a través de una

red cerrada y donde todos los usuarios son conocidos de antemano.

Sin embargo, en el caso de redes abiertas —como Internet— no es posible

garantizar plenamente la confidencialidad de la información, así como la propia

identidad de los participantes.

Page 9: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 9

La solución a los problemas tradicionales pasa por la utilización de algoritmos

criptográficos. Cifrar es el proceso de transformar la información de tal manera que

solo sea inteligible para su destinatario; por otro lado, descifrar es el proceso por el

cual se hace inteligible la información cifrada.

Con la mayoría de los métodos actuales de criptografía, la seguridad no se basa en

el algoritmo criptográfico, que es ampliamente conocido, sino en el parámetro de

dicho algoritmo llamado clave, que se emplea para cifrar, para descifrar o para

ambas cosas. Descifrar con la clave correcta es fácil, hacerlo con la clave incorrecta

es muy difícil y en algunos casos, imposible en la práctica.

El tipo particular de transformación aplicada al texto claro o las características de

las claves utilizadas marcan la diferencia entre los diversos métodos criptográficos.

Las técnicas de criptografía se pueden clasificar en dos según el tipo de clave

utilizado, Criptografía de clave secreta o simétrica y Criptografía de clave pública o

asimétrica.

2.1 CRIPTOGRAFÍA DE CLAVE SECRETA O SIMÉTRICA

Los algoritmos de clave simétrica se caracterizan por el hecho que la clave para

cifrar puede ser calculada a partir de la clave para descifrar y viceversa. En la

mayoría de los casos, están basados en la existencia de una única clave que sirve

tanto para cifrar como para descifrar, y que deben conocer las dos partes que

intervienen en la relación telemática.

Toda la seguridad está basada en la privacidad de esta clave secreta, llamada

simétrica porque es la misma para el emisor y el receptor. Lógicamente dicha clave

tiene que permanecer secreta, lo que presupone que emisor y receptor se han

puesto de acuerdo previamente en la determinación de la misma, o bien que existe

Page 10: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 10

un centro de distribución de claves que se la ha hecho llegar a ambos por un canal

seguro.

Los algoritmos de clave simétrica son rápidos y eficientes, pero presentan varios

problemas operativos como la necesidad de que cada pareja de interlocutores

(emisor y receptor) compartan una misma clave, lo que dificulta la gestión de las

claves, y el hecho que con estos algoritmos no podamos garantizar completamente

el no-repudio (debido también a la compartición de la clave).

Además la confidencialidad y la autenticación, sólo podrán garantizarse mientras la

clave simétrica se mantenga en secreto entre cada par de interlocutores. Por todo

esto, el uso de estos algoritmos puede llegar a ser impracticable en grandes

comunidades (como es el caso de Internet).

Los algoritmos simétricos son más sencillos que los asimétricos, por ese motivo los

procesos son más simples y rápidos. Entre los algoritmos simétricos más utilizados,

podemos destacar:

• DES (Data Encryption Standard). Es un algoritmo de cifrado en bloques de 64

bits y con una longitud de clave de 56 bits, siendo el algoritmo simétrico más

extendido mundialmente. Data de mediados de los años setenta, cuando fue

adoptado como estándar por el Gobierno de los EE.UU., tras ganar el concurso

la propuesta presentada por la corporación IBM, inspirada en su sistema

propietario LUCIFER (clave de 128 bits).

La aprobación y modificación de la propuesta se hizo bajo la supervisión de la

NSA (National Security Agency), que fue la que impuso la modesta longitud de la

clave. El DES está considerado como un producto estratégico USA, por lo tanto,

no está permitida su exportación sin un permiso especial.

Durante más de 20 años el algoritmo no ha demostrado ninguna debilidad grave

en su diseño desde el punto de vista teórico, aunque a mediados de 1998, se

Page 11: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 11

demostró que un ataque por la fuerza bruta era viable, debido a la escasa

longitud que emplea en su clave.

• Triple DES Para evitar el problema de la clave corta y continuar utilizando el

DES, existe un sistema que consiste en aplicar varias veces el algoritmo con

diferentes claves al mensaje original (ya que el DES no presenta estructura de

grupo), llamado triple DES o TDES. Se cifra con una primera clave de 56 bits, el

resultado se descifra con una segunda clave también de 56 bits, y por último se

vuelve a cifrar con la primera. La clave resultante utilizada en este proceso es la

concatenación de las dos claves, con una longitud efectiva de 112 bits. Si se

utilizan tres claves diferentes, en lugar de reutilizar la primera en el tercer paso,

la clave resultante sería de 168 bits.

Actualmente los algoritmos con claves de menos de 56 bits no son seguros, ya que

existe la posibilidad real, y económicamente viable, de descifrar cualquier mensaje

simplemente probando todas las posibles claves distintas. Las claves de menos de

56 bits son “rompibles” con los medios adecuados, recomendándose la utilización

de claves de 128 bits.

La organización de estándares de los EE.UU. (NIST, National Institute of Standards

and Technology), decide en 1997 convocar un concurso público para buscar un

nuevo algoritmo simétrico estándar. El nuevo sistema se llamará AES (Advanced

Encryption Standard) y el algoritmo utilizado AEA (Advanced Encryption Algorithm).

El 2 de octubre de 2000 se proclamó el algoritmo vencedor, Rinjdael ganaba la

partida a sus competidores. A partir de este momento, el NIST definirá los

protocolos estándar de este algoritmo antes de publicar la propuesta definitiva,

prevista para mediados del año 2001.

Esta elección influirá mucho en la industria de los sistemas simétricos, ya que el

AES será utilizado para todas las comunicaciones oficiales y militares de los

Page 12: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 12

EE.UU., y por lo tanto, se producirá hardware y software del algoritmo en grandes

cantidades y a un precio asequible.

Además, al ser de dominio público, el algoritmo será analizado y probado por los

expertos más prestigiosos del mundo, por lo que probablemente, las empresas

privadas lo adoptarán en un plazo de tiempo razonable.

2.2 CRIPTOGRAFÍA DE CLAVE PÚBLICA O ASIMÉTRICA

En 1976 Diffie y Hellman publicaron el artículo “New directions in cryptography”. En

él proponían un nuevo tipo de criptografía basado en utilizar claves distintas para

cifrar y descifrar, una de ellas se hace pública y la otra es privada de cada usuario.

Estas ideas supusieron la revolución de la criptografía, se podía utilizar para

confidencialidad (como los sistemas simétricos), autenticación y firma digital,

además de solucionar el problema de la distribución de claves simétricas.

Con los algoritmos de clave asimétrica cada usuario tiene dos claves: una pública y

otra privada; la clave pública está accesible a cualquiera, la clave privada es de uso

restringido para su propietario.

A este conjunto de técnicas y métodos se le denominó criptografía de clave pública.

Los mensajes cifrados con la clave pública sólo pueden ser descifrados con la clave

privada asociada. Esto permite enviar documentos a un usuario con la garantía de

que sólo él, que posee la clave privada, podrá tener acceso al contenido del

mensaje.

Por otro lado los mensajes cifrados con la clave privada sólo pueden ser

descifrados con la clave pública; esta característica es la base de la firma digital.

Los algoritmos asimétricos están basados en funciones matemáticas fáciles de

resolver pero muy complicadas de realizar la inversa, por ejemplo, la potencia y el

Page 13: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 13

logaritmo. Estas funciones son útiles para criptografía si la inversa es fácil de

calcular conociendo un número concreto, —la clave privada—.

Por lo tanto, la clave privada y la clave pública están relacionadas

matemáticamente, pero esta relación debe ser suficientemente compleja para que

un criptoanalista no la pueda encontrar.

El algoritmo de clave pública más utilizado es el RSA, diseñado en 1977 por los

profesores del MIT (Massachussets Institute of Technology) Ronald R. Rivest, Adi

Shamir y Leonard M. Adleman, de ahí las siglas con las que es conocido.

Desde entonces este algoritmo de cifrado se ha convertido en el prototipo de los de

clave pública. Se fundamenta en la exponenciación modular del producto de dos

números primos enteros de gran tamaño. La seguridad de este método radica en la

dificultad de factorizar dicho producto.

Los algoritmos de clave asimétrica permiten una gestión racional de las claves, pero

son menos eficientes que los simétricos, de ahí que en la práctica se utilice una

combinación de ambos.

El cifrado de un mensaje normalmente se hace utilizando un algoritmo simétrico

(más rápido y eficiente), con una clave que se utiliza sólo durante una sesión

—clave de sesión—; los interlocutores intercambian esta clave de sesión utilizando

algoritmos asimétricos: el remitente selecciona una clave de sesión, la cifra con la

clave pública del destinatario, y se la envía a este.

Para la firma digital lo más habitual es utilizar un algoritmo de cifrado asimétrico,

como RSA o DSA, en combinación con un algoritmo de hash. Los algoritmos de

hash permiten obtener una secuencia única de tamaño fijo a partir de un bloque de

datos de cualquier tamaño, no siendo posible encontrar una secuencia alternativa

de datos que tenga un mismo hash, ni obtener los datos originales a partir del hash.

Page 14: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 14

Los algoritmos de hash estándares más utilizados son el MD5 (Message-Digest

Algorithm), que obtiene una secuencia o función hash de 128 bits, y el SHA-1

(Secure Hash Algorithm), que obtiene una función hash de 160 bits.

Los sistemas de clave pública permiten ofrecer los siguientes servicios de

seguridad:

• Autenticación: Este servicio tiene como objetivo que los usuarios se puedan

identificar de una forma fiable a otros usuarios y servicios en una red, sin

necesidad de enviar información secreta (como palabras de paso) por la red, de

manera que ambos interlocutores tengan la certeza de que el otro es quién dice

ser.

Esta autenticación puede hacerse por medio de un protocolo de desafío-

respuesta utilizando la firma digital: el sistema envía al usuario unos datos

aleatorios, éste les aplica una función hash y el resultado lo cifra utilizando su

clave privada, enviando el resultado de la encriptación al sistema; este hash

cifrado es lo que se considera la firma digital del usuario.

El sistema puede comprobar que los datos fueron firmados por el usuario,

descifrando éstos con la clave pública del usuario y comparando el resultado

con la semilla generada al aplicar el hash a los datos aleatorios. Si los dos hash

coinciden, el sistema puede tener la garantía que la clave pública que ha

utilizado para descifrar corresponde a la clave privada utilizada para generar la

firma.

• Confidencialidad: Este servicio debe garantizar la privacidad a los contenidos

de los datos electrónicos, impidiendo no solo la revelación de la información a

cualquier entidad no autorizada, sino también evitando que se pueda monitorizar

la frecuencia de transmisión de paquetes en una transacción o que se puede

obtener información (como la longitud) asociada a estos paquetes.

Normalmente, la confidencialidad de los datos se consigue cifrando el tráfico

entre los dos interlocutores.

Page 15: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 15

• No repudio: Estos servicios protegen contra la posible falsa negación de una

entidad participante en una transacción electrónica o proceso de comunicación,

de que dicha transacción o proceso se realizó. Los mensajes firmados con la

clave privada de un usuario sólo pueden haber sido generados por éste, ya que

sólo él la conoce (no-repudio de emisor). Por otro lado, el no-repudio en

recepción se puede conseguir exigiendo acuse de recibos basado en el

contenido de lo recibido y firmado por el receptor.

• Integridad: La firma electrónica también asegura que el valor de la información

electrónica no ha sido modificado por un tercero (integridad de los datos) al

encontrarse los datos firmados con la clave privada del remitente.

Además, el uso de los algoritmos de claves asimétricas, en combinación con otros

procedimientos (timestamping, números de secuencia, acuses de recibo,...) permite

garantizar la integridad en la secuencia de mensajes (protegiendo frente a

duplicaciones, adiciones, borrado o reenvíos).

2.3 CERTIFICADOS

La utilización de los algoritmos criptográficos sin más, sigue planteando una serie

de problemas de seguridad:

En primer lugar, para implementar los mecanismos de cifrado, los usuarios

necesitan conocer de manera segura la clave pública de todos sus interlocutores,

siendo necesario establecer mecanismos seguros para la publicación de las claves.

En el caso de la firma digital, se suele incluir la clave pública junto con la firma para

que no sea necesario acceder a un repositorio de claves.

En segundo lugar, la verificación de la autenticidad y la integridad de los datos no

necesariamente prueba la identidad del autor de la firma electrónica, es necesario

Page 16: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 16

establecer un mecanismo que garantice que la clave pública pertenece realmente a

la entidad que esta haciendo uso de ella y que esa clave sigue siendo válida.

Estos problemas se solventan con la utilización de certificados, también conocidos

como identidades o credenciales digitales.

Un Certificado Digital puede definirse como el medio utilizado en operaciones

electrónicas para vincular cierta información correspondiente a una entidad con su

clave pública. El certificado va, por tanto, estrechamente ligado a un par de claves

(una clave pública y otra privada) que se usan para cifrar o firmar información.

El certificado Digital viene a ser un documento electrónico firmado digitalmente por

una tercera parte confiable, entidad denominada Autoridad de Certificación (CA), en

el que se establece una ligazón entre un sujeto y su clave pública.

Si el certificado es auténtico, no está caducado y confiamos en la CA que lo emitió,

entonces, podemos confiar en que el sujeto identificado en el Certificado Digital

posee la clave pública que se señala en dicho certificado.

Así pues, si un sujeto firma un documento y anexa su certificado digital, cualquiera

que conozca la clave pública de la CA podrá autenticar el documento. La firma del

certificado por parte de la CA asegura que cualquier alteración del contenido del

certificado puede ser detectada fácilmente y este hecho es el que permite que los

certificados se puedan distribuir públicamente asegurando siempre su integridad.

Los certificados son, por tanto, documentos acreditativos infalsificables, si alguien

falsificara los datos de un certificado, este hecho quedaría claramente revelado ante

los usuarios que lo utilizarán, ya que la firma de la entidad que emitió el certificado

(incluida en el propio certificado) dejaría de ser válida.

Cuando alguien está en posesión de un certificado, éste se añade a cada uno de los

mensajes que envía de forma electrónica. El receptor del mensaje utiliza el

Page 17: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 17

certificado para verificar en primer lugar que la clave pública es autentica y luego

para verificar el contenido del mensaje mismo.

Existe la posibilidad de enviar más de un certificado asociados todos al mismo

mensaje, formando así una cadena de certificados en la cual sucesivamente cada

certificado prueba la autenticidad del anterior hasta llegar a la autoridad de más

nivel.

La autoridad de más nivel deberá ser una autoridad reconocida por todas las partes

como Autoridad Certificadora. Este esquema de certificados permite que el receptor

de un mensaje pueda comprobar la identidad de quien ha enviado el mensaje y la

integridad del mensaje enviado, es decir que no ha sido alterado.

Public-Key Criptography Standars (PKCS) son un conjunto de estándares para la

implementación de un sistema de criptografía de clave pública, desarrollados por

RSA Laboratories en cooperación con otras grandes empresas. Desde su

publicación en 1991, los PKCS han sido la base de muchas implementaciones de

PKI.

2.4 PKI’S

PKI’s son las siglas que corresponden a Public Key Infrastructure, término en inglés

con el que se designan las Estructuras de Seguridad basadas en Sistemas

Criptográficos de Clave Pública.

Con este término se agrupan un conjunto de nuevas tecnologías sobre las que

descansan toda una gama de estrategias de seguridad telemática, que permiten

implementar los más severos niveles de seguridad requeridos.

Las PKI’s permiten, por tanto, desarrollar de una manera flexible las Políticas de

Seguridad definidas según las necesidades propias de cada entorno operativo, que

Page 18: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 18

satisfagan los atributos de una comunicación telemática segura: autenticidad,

confidencialidad, integridad y no-repudio.

Una PKI determina que entidades entran a formar parte del sistema de certificación,

que papel juegan dichas entidades, que normas y protocolos se deben seguir para

poder operar dentro del sistema, cómo se codifica, transmite y publica la

información digital, qué información contendrán los objetos y documentos

gestionados por la infraestructura, y principalmente, cómo se gestionan las claves y

los certificados.

Así, por ejemplo, cada PKI puede definir un conjunto de información adicional a

incluir en un certificado. Esto proporciona una flexibilidad desconocida en

documentos de papel, que proporciona diferentes maneras de codificar la

información digital y de transmitirla a través de las redes de comunicaciones.

Gestionando claves y certificados a través de una PKI, una organización posibilita la

utilización de servicios de firma digital y cifrado en una amplia variedad de

aplicaciones y establece y mantiene un entorno de red totalmente fiable.

En un entorno de certificación, las responsabilidades de la emisión de certificados

se comparten entre la Autoridad de Registro (RA) y la Autoridad de Certificación

(CA):

• La RA es la encargada de recibir las solicitudes de certificación procedentes de

las entidades destinatarias y decidir su validación o denegación.

• La CA se dedica exclusivamente a la generación de los certificados y las listas

de revocación (CRLs, —Certificate Revocation Lists—).

La distinción entre estos dos componentes se realiza debido a su bajo grado de

independencia. Mientras el componente RA interacciona con las entidades

solicitantes de certificados y con el sistema de toma de decisiones de la

Page 19: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 19

organización, el componente CA se encarga exclusivamente de procesar las

solicitudes aprobadas y emitir los certificados correspondientes.

Autoridad de Registro

Una Autoridad de Registro (RA) es una entidad autorizada por la Autoridad de

Certificación para auxiliarla en el procedimiento de “dar fe” de que los requisitos que

un sujeto tiene que satisfacer para que se le emita un certificado sean satisfechos

de acuerdo a un procedimiento establecido.

Normalmente, este procedimiento consiste en que el sujeto pruebe su identidad.

Además, el sujeto debe de manifestar su voluntad de aceptar su clave pública y la

política de certificación de la PKI y probar (mediante autofirmado de un mensaje)

que es propietario de la correspondiente clave privada.

La RA, por tanto, es la encargada de gestionar el registro de usuarios, recibir las

solicitudes de certificación procedentes de las entidades destinatarias, decidir su

validación y enviar los certificados respuesta a dichas solicitudes gestionando la

mayoría del ciclo de vida de un certificado.

Autoridades de Certificación

La Autoridad de Certificación (CA) es una entidad de reconocido prestigio (tercera

parte confiable) que “da fe” de que una clave pública pertenece realmente al sujeto

que la posee.

Se encarga de generar los Certificados Digitales firmándolos con su clave privada,

lo que permitirá a cualquiera que conozca su clave pública autenticar el documento.

Si es el solicitante quien genera la clave pública, la CA sólo debe firmarla con el

certificado de firma de certificados de que dispone. En otro caso, previamente la CA

debe generar el par de claves, debiendo entregarlas junto con los certificados a la

RA para que ésta los haga llegar a los destinatarios.

Page 20: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 20

Las Autoridades de Certificación se organizan certificándose unas a otras de forma

que entre ellas exista una jerarquía que proporcione confianza, estableciéndose

vínculos de confianza a través de los cuales podemos autenticar a entidades o

clientes que no pertenezcan a nuestro dominio.

Repositorio de la información pública de la PKI

Como ya se ha mencionado, el papel de la CA es la de actuar como tercera parte

confiable emitiendo los certificados para los usuarios. Estos certificados, a su vez,

deben ser distribuidos a los usuarios para ser utilizados en las aplicaciones.

Los repositorios de certificados almacenan los certificados, de tal forma que las

aplicaciones puedan recuperar los mismos en nombre del usuario. El término

repositorio se refiere a un servicio de red que permite el almacenamiento y la

distribución de los certificados de una PKI.

La PKI puede utilizar también dicho repositorio para distribuir la información de los

certificados revocados (CRLs).

Entidades de Certificación en España

El proyecto de CERtificación Española (CERES) que lidera la Fábrica Nacional de

Moneda y Timbre, consiste en líneas generales, en establecer una Entidad Pública

de Certificación, que permita autentificar y garantizar la confidencialidad de las

comunicaciones entre ciudadanos, empresas u otras instituciones y

administraciones públicas a través de las redes abiertas de comunicación.

El objetivo principal de CERES es la securización de las comunicaciones

electrónicas con la Administración, siendo un intermediario transparente al usuario

que garantizará a ciudadanos y Administraciones la identidad de ambos partícipes

en una comunicación, así como la confidencialidad e integridad del mensaje

enviado.

Page 21: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Evolución de los Sistemas de Seguridad

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 21

Para ello, CERES utiliza técnicas y sistemas criptográficos basados en sistemas de

clave pública, con una característica básica: la identidad del usuario, al igual que su

capacidad de firma, se encuentra almacenada en una tarjeta inteligente (el

documento de identificación electrónica, informática y telemática), que no puede ser

accesible salvo por su propietario cuando introduzca el número de identificación

personal.

A título de ejemplo, en las relaciones entre ciudadanos y Administración, podemos

destacar la posible utilización de los servicios de CERES para garantizar la

seguridad en la solicitud de certificados diversos (registro civil, seguridad social,

etc.), peticiones de renovación del DNI o documentos oficiales, y en general para

cualquier envío y recepción de documentación oficial.

La Agencia de Certificación Española (ACE), como Autoridad de Certificación

Corporativa, ofrece soluciones de seguridad, basadas en certificados, a entidades y

corporaciones tanto en el ámbito del comercio electrónico como de las

comunicaciones a través de redes abiertas de información. Proporciona servicios de

certificación bajo el protocolo SET y certificación en redes abiertas (x509v3).

Page 22: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 22

3 SERVIDOR CRIPTOGRÁFICO DES

El servidor criptográfico DES proporciona los servicios de seguridad necesarios

para garantizar la confidencialidad y privacidad de la información, la integridad de

los datos transmitidos o almacenados, la autenticidad del par remitente/destinatario

y el no repudio de la información enviada o recibida.

A lo largo de este capítulo se revisarán las distintas claves que participan en el

sistema, sus procedimientos de generación, administración y los métodos de

protección utilizados para el almacenamiento y el intercambio seguro de claves

secretas entre diferentes sistemas.

El servidor criptográfico está compuesto por un módulo de seguridad y un fichero de

claves DES en donde se almacenan todas las claves criptográficas. El módulo de

seguridad es una implementación software del algoritmo DES, encargado de

suministrar las funciones criptográficas.

El fichero de claves DES, denominado FICHKDES, almacena las claves

criptográficas manteniendo una estructura jerárquica, de tal forma que las claves de

menor rango se encuentran cifradas bajo claves de mayor rango. Las aplicaciones

usuarias pueden abstraerse del mantenimiento de las claves que residen en el

fichero FICHKDES, y además se garantiza la necesaria seguridad del sistema.

El acceso a las funciones criptográficas del servidor se lleva a cabo mediante

llamadas a los servicios de seguridad. Un servicio de seguridad es una rutina que

recibe control desde una sentencia CALL de un lenguaje de aplicación.

Cada servicio ejecuta una o más funciones criptográficas, incluyendo:

• Generación y gestión de las claves criptográficas.

• Cifrado y descifrado de datos.

Page 23: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 23

• Cifrado de una clave en claro.

• Generación de números aleatorios.

• Recifrados de claves en forma operacional a forma aplicativa y viceversa.

• Garantizar la integridad de los datos y verificar la autenticidad de los mensajes.

• Generación, verificación y traducción de PINs de los sistemas financieros.

El diseño de este esquema criptográfico se ha realizado buscando siempre un nivel

máximo de seguridad, así como la compatibilidad absoluta con las especificaciones

y normas de las organizaciones internacionales.

3.1 TIPOS DE CLAVES

El servidor criptográfico establece diferentes clases y categorías de claves,

estableciendo el control para que las claves de un determinado tipo solamente

puedan ser utilizadas en los servicios y funciones criptográficas con la finalidad

pretendida. Por ejemplo, una clave que se genera con el propósito de ser utilizada

para proteger a otras claves, no podrá ser utilizada para proteger datos.

A continuación se describen los diferentes tipos de claves criptográficas utilizadas

por cualquier Aplicación que defina un Sistema de Seguridad basado en el Servidor

criptográfico DES.

En función del tamaño o longitud de las claves DES, se distinguen tres tipos de

claves, con formas de operación y comportamiento diferenciado en los servicios:

• Clave DES de longitud simple:

Una clave DES simple es una clave del estándar DES de 64 bits de longitud (56

bits, más 8 de paridad). El cifrado y descifrado de los datos o de una clave con

Page 24: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 24

una clave DES simple consiste en un cifrado/descifrado estándar del algoritmo

DES.

Clave simple: (K1) Cifrado simple: E[Tex]K1

Descifrado simple: D[Tex]K1

• Clave DES de longitud doble:

Una clave DES doble (128 bits) está compuesta por dos claves (K1,K2) del

estándar DES, ambas de 64 bits (56 bits, más 8 de paridad), y con K1 distinta

de K2. El cifrado de datos o de una clave con una clave DES doble (K1,K2)

consiste en un cifrado estándar DES con K1, un descifrado-DES del resultado

anterior con K2, y un cifrado-DES del último resultado con K1. Este proceso es

conocido como un triple cifrado DES. El triple descifrado, como es lógico,

consiste en un descifrado-DES con K1, un cifrado-DES con K2 y, por último, un

descifrado-DES con K1. Es un caso particular de clave DES triple, en donde

K3=K1.

Clave doble: (K1,K2) Triple cifrado: E[Tex]K1, D[Res]K2, E[Res]K1

Triple descifrado: D[Tex]K1, E[Res]K2, D[Res]K1

• Clave DES de longitud triple

Una clave DES triple (192 bits) está compuesta por tres claves (K1,K2,K3) del

estándar DES, cada una de 64 bits (56 bits, más 8 de paridad), y con K1 distinta

de K2 y distinta de K3. El cifrado de datos o de una clave con una clave DES

triple (K1,K2,K3) consiste en un cifrado estándar DES con K1, un descifrado-

DES del resultado anterior con K2, y un cifrado-DES del último resultado con

K3. El triple descifrado, consiste en un descifrado-DES con K3, un cifrado-DES

con K2 y, por último, un descifrado-DES con K1.

Clave triple: (K1,K2,K3) Triple cifrado: E[Tex]K1, D[Res]K2, E[Res]K3

Triple descifrado: D[Tex]K3, E[Res]K2, D[Res]K1

Page 25: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 25

Dependiendo de las funciones que ejecutan, se establecen las diferentes categorías

y jerarquías de claves:

• Clave Maestra

Es una clave DES de longitud simple utilizada exclusivamente para cifrar otras

claves (tipo KEK, Key Encipher Key). El servidor criptográfico tiene una única

clave maestra, almacenada en un área del fichero de claves FICHKDES de

forma segura.

Su función es cifrar y, por tanto, proteger al resto de las claves que residen en

el fichero FICHKDES. A su vez, la clave Maestra cifrará a cualquier clave de

Aplicación utilizada en los servicios de cifrado y descifrado de datos y, sin

embargo, nunca deberá cifrar a claves que residan en ficheros de Aplicación

ajenos al servidor criptográfico, por no verse estos afectados por el servicio de

cambio de clave Maestra.

El Administrador del sistema es el responsable y el encargado de efectuar la

instalación de la clave Maestra y de realizar los oportunos cambios periódicos

de clave. Para ello el servidor criptográfico proporciona los servicios de

instalación y cambio de la clave Maestra.

• Claves de Transporte

También denominadas claves de intercambio, claves auxiliares o claves

Exporter-Importer. Las claves de transporte son claves DES que pueden tener

longitud simple (64 bits) o longitud doble (128 bits). Son claves del tipo KEK

—Key Encipher Key— que se utilizan para cifrar a otras claves (no pueden

utilizarse para cifrar datos). Su función es la protección o cifrado de las claves

de Aplicación en los procesos de distribución de claves entre diferentes

sistemas, o cuando éstas se almacenan en ficheros externos al servidor.

Las claves de transporte residen en el fichero de claves FICHKDES del servidor

cifradas bajo la clave Maestra. Las aplicaciones las identifican mediante una

Page 26: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 26

etiqueta de 64 caracteres, a través de la cual son referenciadas para su

utilización en los diferentes servicios. Para su gestión y administración el

servidor criptográfico proporciona los servicios de incorporación, modificación y

borrado de una clave de Transporte.

• Claves de Aplicación

También denominadas claves de sesión o claves operacionales, las claves de

aplicación son claves DES que pueden tener longitud simple (64 bits),

longitud doble (128 bits) o longitud triple (192 bits). Son claves del tipo KED

—Key Encipher Data— que se utilizan para el cifrado y el descifrado de los

datos o información a proteger de la Aplicación. Su mantenimiento es

responsabilidad exclusiva de las Aplicaciones usuarias.

Cuando la Aplicación almacena en sus ficheros una clave de Aplicación, nunca

deberá guardarla en claro (para no violar la seguridad del sistema) ni tampoco

cifrada con la clave Maestra (para no violar la integridad del sistema: el cambio

de clave Maestra no accede a ficheros de la Aplicación, sólo recifra el fichero de

claves FICHKDES).

Por lo tanto, la Aplicación ha de guardarla en sus ficheros cifrada bajo una clave

de Transporte del FICHKDES, junto con su correspondiente label o etiqueta

para poder identificarla en el futuro.

Las claves de Aplicación siempre están protegidas o cifradas con otra clave, nunca

han de estar en claro. Dependiendo de la clave bajo la que se encuentre cifrada una

clave de Aplicación, se distinguen entre dos posibles formas o estados de la clave:

• Clave de Aplicación cifrada de forma operativa:

La clave de Aplicación está cifrada con la clave Maestra, lo que significa que la

clave puede ser utilizada para efectuar funciones criptográficas en el sistema

Page 27: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 27

propio (está operativa para ser utilizada por los servicios de cifrado y descifrado

de datos).

• Clave de Aplicación cifrada de forma aplicativa:

La clave de Aplicación está cifrada con una clave de Transporte, bien para que

la Aplicación la almacene en sus ficheros o bien para ser intercambiada entre

diferentes sistemas. Una clave cifrada de forma aplicativa no puede ser utilizada

para efectuar funciones criptográficas. Cuando una clave que se encuentra

cifrada de forma aplicativa es recifrada bajo la clave Maestra del sistema, vuelve

a estar en su forma operacional, disponible para ser utilizada en los servicios de

cifrado y descifrado de datos.

El servidor criptográfico proporciona los servicios para efectuar el recifrado de

claves de Aplicación, pasando una clave que se encuentre en forma operativa a

forma aplicativa y viceversa.

Resumiendo, la clave Maestra protege, de una forma u otra, a todas las claves; las

claves de Transporte se utilizan para el cifrado de las claves de Aplicación y, son

estas últimas las que se utilizan para el cifrado y el descifrado de los datos

—información a proteger de la Aplicación—.

El cifrado de un mensaje normalmente se hace utilizando una clave de Aplicación

que se utiliza sólo durante una sesión; los interlocutores intercambian esta clave de

Aplicación utilizando bien un algoritmo asimétrico: el remitente la cifra con la clave

pública del destinatario, o bien utilizando un algoritmo simétrico: el remitente la cifra

con una clave de Transporte del fichero FICHKDES (previamente intercambiada con

el destinatario).

Page 28: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 28

3.2 FICHERO DE CLAVES FICHKDES

El servidor criptográfico proporciona un fichero de claves DES, denominado

FICHKDES, en donde almacena todas las claves criptográficas cifradas,

manteniendo una estructura jerárquica de tal forma que las claves de menor rango

se encuentran cifradas bajo claves de mayor rango. Las aplicaciones usuarias

pueden abstraerse del mantenimiento de las claves que residen en el fichero

FICHKDES, y además se garantiza la necesaria seguridad del sistema.

Las aplicaciones utilizan las claves de Transporte que residen en el fichero

FICHKDES para proteger a sus claves —claves de Aplicación—, en los procesos de

distribución de claves entre diferentes sistemas o cuando se almacenan en ficheros

externos al servidor.

Cuando la Aplicación almacena en un fichero propio una clave de Aplicación, lo hará

cifrada bajo una clave de Transporte y, junto a ella, también ha de guardar la

referencia de dicha clave de Transporte, esto es, su correspondiente etiqueta que la

identifica en el fichero de claves FICHKDES.

Las claves de Transporte residen en el fichero de claves FICHKDES cifradas bajo la

clave Maestra del sistema, y su mantenimiento es gestionado por el servidor

criptográfico, a petición de las Aplicaciones usuarias mediante el servicio de

incorporación y el servicio de borrado de claves de Transporte, descritos más

adelante.

Las claves que residen en el fichero de claves FICHKDES se identifican mediante

una etiqueta de 64 caracteres, a través de la cual son referenciadas por las

Aplicaciones para su utilización en los diferentes servicios.

La etiqueta de una clave de Transporte tiene un formato de 64 caracteres

alfabéticos, con o sin representación gráfica, permitiéndose cualquier valor, excepto

que todos los caracteres sean nulos (x'00'). Dado que en el mismo fichero de claves

Page 29: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servidor Criptográfico DES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 29

FICHKDES se pueden almacenar las claves de diferentes aplicaciones, es

aconsejable normalizar la nomenclatura de sus etiquetas para independizar unas de

otras.

Durante el proceso de carga inicial o instalación del fichero de claves FICHKDES,

se almacenará a la clave Maestra del Sistema encargada de cifrar el resto de claves

de Transporte que residen en el fichero. La clave Maestra se incorpora en un área

segura del fichero de claves FICHKDES.

Dada la importancia que tiene la clave Maestra dentro de la jerarquía de claves, hay

que resaltar que su valor ha de ser conocido exclusivamente por el Administrador de

Seguridad de la Instalación, manteniéndola protegida y guardada en lugar seguro, y

cambiándola con cierta periodicidad o ante posibles sospechas de violación del

sistema.

Page 30: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión del FICHKDES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 30

4 SERVICIOS DE GESTIÓN DEL FICHKDES

Los dos servicios criptográficos proporcionados por el Servidor para la instalación

del fichero de claves FICHKDES con la carga de la clave Maestra del sistema, y

para efectuar el cambio de clave Maestra, son los siguientes:

• Instalación del fichero de claves FICHKDES y carga inicial de la clave Maestra

del sistema.

• Cambio de la clave Maestra del sistema en el fichero de claves FICHKDES.

Teniendo en cuenta la importancia de estos dos servicios, deberán estar

especialmente protegidos mediante las herramientas que proporcione el sistema

operativo, para que únicamente tenga acceso a ellos la persona autorizada como

Administrador de Seguridad del Sistema, y en un entorno físicamente seguro.

4.1 SCDIHMK - INSTALACIÓN DEL FICHERO Y CARGA DE LA CLAVE

MAESTRA

Este servicio se encarga de efectuar la generación inicial del fichero de claves

FICHKDES y de incorporar en el mismo a la clave Maestra del sistema, con el valor

especificado por el Administrador en los parámetros de entrada. La clave en claro

proporcionada ha de ser una clave DES de longitud simple.

El valor de la clave Maestra se especifica mediante 16 caracteres del alfabeto

hexadecimal (0,1,...,9,A,B,...,F) que representan, de dos en dos, a cada uno de sus

8 octetos (64 bits).

Asimismo, es condición imprescindible que cada uno de los ocho octetos que

forman la clave Maestra tengan paridad impar, es decir, cada octeto formado por

dos caracteres del alfabeto hexadecimal de la clave especificada, tiene que tener un

Page 31: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión del FICHKDES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 31

número impar de bits con valor 1. Por ejemplo, el valor ‘A1A3A1A1A1A1A1A1’ no es

una clave válida, por tener un octeto x'A3'='10100011' con 4 bits (nº par) con valor

1.

Este requisito fortalece la robustez e integridad de la clave Maestra y, puesto que el

algoritmo DES ignora un bit de cada uno de los ocho octetos de cualquier clave, no

se disminuye el cardinal del conjunto de claves posibles.

Para evitar posibles errores a la hora de introducir los caracteres de la clave

Maestra, se deberán indicar dos veces en parámetros diferentes, debiendo coincidir

los dos valores proporcionados. La clave Maestra especificada se deberá conservar

custodiada de forma segura para posibles usos futuros.

Formato

CALL SCDIHMK (código-retorno,código-razón,clave1-hmk,clave2-hmk)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

clave1-hmk

Dirección: Entrada Tipo: Carácter Longitud: 16 octetos

Page 32: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión del FICHKDES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 32

La clave Maestra del sistema especificada en claro y en formato de 16

caracteres hexadecimales que representan, de dos en dos, a cada uno de

sus 8 octetos, con paridad impar.

clave2-hmk

Dirección: Entrada Tipo: Carácter Longitud: 16 octetos

El mismo valor especificado en el parámetro anterior y en el mismo

formato. La clave Maestra se incorpora en un área segura del fichero de

claves FICHKDES.

4.2 SCDCHMK - CAMBIO DE LA CLAVE MAESTRA

Este servicio permite efectuar el cambio de la clave Maestra del sistema instalada

en el fichero de claves FICHKDES. Para invocarlo, es necesario conocer la clave

Maestra actualmente en curso. El valor de la nueva clave especificado por el

Administrador en los parámetros de entrada ha de ser diferente al valor de la clave

actual, y ha de cumplir las mismas normas y reglas que se han descrito en la carga

inicial de la clave Maestra.

El servicio de cambio de clave Maestra garantiza la integridad de las claves de

Transporte —pertenecientes a las Aplicaciones— almacenadas en el fichero de

claves FICHKDES, en el sentido de que durante dicho proceso se efectúa el

necesario recifrado de todas las claves de Transporte que residen en el fichero.

El proceso de recifrado efectúa, en el interior del módulo de seguridad, un

descifrado con la clave Maestra actualmente en curso, de todas las claves de

Transporte del fichero de claves FICHKDES, para posteriormente cifrar dicho

resultado bajo la nueva clave Maestra indicada por el Administrador en los

parámetros de entrada.

Page 33: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión del FICHKDES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 33

Este es el motivo por el que se requiere que las aplicaciones usuarias no

almacenen en sus ficheros o programas ninguna clave cifrada con la clave Maestra

(en forma operativa), ya que un cambio de clave las dejaría inservibles, perdiéndose

los datos que estuvieran protegiendo.

El cambio de clave Maestra es aconsejable efectuarlo con cierta periodicidad,

dependiendo de los requisitos de seguridad de cada instalación, y siempre ante

posibles sospechas de violación del sistema.

Formato

CALL SCDCHMK (código-retorno,código-razón,clave-hmk-old,clave-hmk-new)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

clave-hmk-old

Dirección: Entrada Tipo: Carácter Longitud: 16 octetos

La clave Maestra del sistema actualmente en curso. Se especifica en claro

y en el formato de 16 caracteres hexadecimales que representan, de dos

en dos, a cada uno de sus 8 octetos, con paridad impar. Si la clave

Maestra indicada no coincide con la instalada en el fichero de claves

Page 34: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión del FICHKDES

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 34

FICHKDES, se devolverá el código de retorno y razón correspondientes,

no permitiendo efectuarse el cambio de clave.

clave-hmk-new

Dirección: Entrada Tipo: Carácter Longitud: 16 octetos

La clave DES que va a pasar a ser la nueva clave Maestra del sistema. Se

especifica en claro y en el formato de 16 caracteres hexadecimales que

representan, de dos en dos, a cada uno de sus 8 octetos, con paridad

impar. La nueva clave Maestra ha de ser diferente a la actualmente en

curso, y se incorporará en el fichero de claves FICHKDES de igual forma

que en la carga inicial.

Page 35: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 35

5 SERVICIOS DE GESTIÓN DE CLAVES

En este capítulo se describen los servicios básicos que proporciona el Servidor para

mantenimiento del fichero de claves criptográficas FICHKDES, y para la generación,

administración y distribución de las claves.

Los servicios criptográficos que proporciona el Servidor para la gestión de claves,

son los siguientes:

• Incorporación de una clave de Transporte, proporcionada en claro, en el fichero

de claves FICHKDES.

• Eliminación de una clave de Transporte del fichero de claves FICHKDES.

• Generación de una clave de Transporte aleatoria e incorporación de la misma

en el fichero de claves FICHKDES.

• Generación de una clave de Aplicación aleatoria, la cual es devuelta en forma

operativa y en forma aplicativa.

• Cifrado de una clave de Aplicación proporcionada en claro con la clave Maestra

del sistema, para obtenerla en su forma operativa.

• Recifrado de una clave proporcionada en forma operativa a forma aplicativa.

• Recifrado de una clave proporcionada en forma aplicativa a forma operativa.

• Generación de una secuencia aleatoria de 64 ceros y unos, con o sin ajustar la

paridad.

Page 36: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 36

5.1 SCDALTA - ALTA DE UNA CLAVE DE TRANSPORTE

La función de este servicio es incorporar una clave en claro, del tipo clave de

Transporte, en el fichero de claves FICHKDES, con la etiqueta que la identifica y el

valor de la clave especificados en los parámetros de entrada. La clave en claro

proporcionada puede ser una clave DES de longitud simple o de longitud doble.

En el caso de que ya existiese una clave con la misma etiqueta de identificación en

el fichero FICHKDES, la nueva clave proporcionada substituirá a la clave existente

(perdiéndose su valor).

El proceso de incorporación efectúa, en el interior del módulo de seguridad, un

cifrado con la clave Maestra del Sistema de la clave en claro especificada, siendo el

resultado de esta operación el que se almacenará en el fichero, junto con la etiqueta

que identifica a la clave, y cierta información de control como la fecha y hora de la

incorporación, fecha y hora de la última modificación, tipo de la clave, etc.

Teniendo en cuenta la repercusión que en una Aplicación puede tener la

modificación de una clave de Transporte del fichero de claves FICHKDES —es la

que cifra a sus claves de Aplicación—, este servicio deberá estar especialmente

protegido mediante las herramientas de seguridad y control de accesos que

proporcione el sistema operativo.

Formato

CALL SCDALTA (código-retorno,código-razón,label-clave-transporte,longitud-clave,clave-claro)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

Page 37: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 37

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación con la que se va a incorporar la clave de

Transporte en el fichero de claves FICHKDES.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Transporte que se va a incorporar. Para una

clave DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES

doble (128 bits) el valor debe ser una ‘D’.

clave-claro

Dirección: Entrada Tipo: Carácter Longitud: 16 octetos

La clave en claro que se va a incorporar al fichero de claves FICHKDES.

Puede ser una clave DES de longitud simple (64 bits) o longitud doble (128

bits). Aunque se especifica en claro, se almacenará cifrada con la clave

Maestra del Sistema.

5.2 SCDBAJA - BORRADO DE UNA CLAVE DE TRANSPORTE

La función de este servicio es dar de baja una clave de Transporte que resida en el

fichero de claves FICHKDES, eliminando toda la información del fichero relativa a la

clave con la etiqueta de identificación especificada en los parámetros de entrada.

Page 38: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 38

Si no existe una clave con la etiqueta indicada en el fichero de claves FICHKDES, el

servicio devolverá un código de retorno y razón indicando el error.

Teniendo en cuenta la repercusión que en una Aplicación puede tener la

eliminación de una clave de Transporte del fichero de claves FICHKDES —es la que

cifra a sus claves de Aplicación—, este servicio deberá estar especialmente

protegido mediante las herramientas de seguridad y control de accesos que

proporcione el sistema operativo.

Formato

CALL SCDBAJA (código-retorno,código-razón,label-clave-transporte)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación correspondiente a la clave de Transporte del

fichero FICHKDES que va a ser eliminada.

Page 39: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 39

5.3 SCDGNTR - GENERACIÓN DE CLAVES DE TRANSPORTE

La función de este servicio es generar una clave DES aleatoria del tipo clave de

Transporte, con paridad impar, pudiendo ser una clave DES de longitud simple o

longitud doble. El proceso de generación verificará que la clave obtenida no sea

una de las claves consideradas débiles en el algoritmo DES.

La clave generada será incorporada en el fichero de claves FICHKDES con la

etiqueta de identificación que se especifique en los parámetros de entrada. En el

caso de que ya existiese una clave con la misma etiqueta en el fichero FICHKDES,

la nueva clave generada substituirá a la clave existente (perdiéndose su valor).

El proceso de incorporación efectúa, en el interior del módulo de seguridad, un

cifrado con la clave Maestra del Sistema de la clave generada, siendo el resultado

de esta operación el que se almacenará en el fichero, junto con la etiqueta que

identifica a la clave y cierta información de control, como la fecha y hora de la

incorporación, fecha y hora de la última modificación, tipo de la clave, etc.

Formato

CALL SCDGNTR (código-retorno,código-razón,longitud-clave,label-clave-transporte)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

Page 40: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 40

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Transporte que se va a generar. Para una clave

DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES doble

(128 bits) el valor debe ser una ‘D’.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación con la que se va a incorporar en el fichero de

claves FICHKDES a la clave de Transporte generada.

5.4 SCDGNAP - GENERACIÓN DE CLAVES DE APLICACIÓN

La función de este servicio es generar una clave DES aleatoria del tipo clave de

Aplicación, con paridad impar, pudiendo ser una clave DES de longitud simple,

longitud doble o longitud triple. El proceso de generación verificará que la clave

obtenida no sea una de las claves consideradas débiles en el algoritmo DES.

La clave generada será devuelta a la Aplicación usuaria, por un lado, de forma

operativa para el cifrado/descifrado de datos (es decir, cifrada con la clave Maestra

del Sistema) y, por otro lado, de forma aplicativa para guardarla y/o enviarla a un

destino (es decir, cifrada con una clave de Transporte que resida en el fichero de

claves FICHKDES). En ningún caso el servicio devuelve la clave que se ha

generado en claro.

Formato

CALL SCDGNAP (código-retorno,

Page 41: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 41

código-razón,longitud-clave,label-clave-transporte,clave-aplicativa,clave-operativa)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a generar. Para una clave

DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES doble

(128 bits) el valor debe ser una ‘D’, y para una clave DES triple (192 bits)

el valor debe ser una ‘T’.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación correspondiente a la clave de Transporte del

fichero FICHKDES, bajo la que se cifrará en el interior del módulo de

seguridad a la clave generada, para devolverla en su forma aplicativa.

clave-aplicativa

Dirección: Salida Tipo: Carácter Longitud: 24 octetos

Page 42: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 42

La clave de Aplicación que se ha generado en su forma aplicativa, cifrada

bajo la clave de Transporte que se haya indicado del fichero FICHKDES,

disponible para ser intercambiada con un remoto o almacenada en un

fichero. Puede ser una clave DES simple (64 bits), doble (128 bits) o triple

(192 bits) dependiendo del parámetro longitud-clave que se haya

especificado.

clave-operativa

Dirección: Salida Tipo: Carácter Longitud: 24 octetos

La misma clave de Aplicación que se ha generado pero en su forma

operativa (cifrada bajo la clave Maestra del Sistema), disponible para ser

utilizada en los servicios de cifrado y descifrado de datos.

5.5 SCDOPER - CIFRADO OPERATIVO DE CLAVES DE APLICACIÓN EN

CLARO

La función de este servicio es cifrar con la clave Maestra del Sistema una clave de

Aplicación proporcionada en claro, para obtenerla en su forma operativa. La clave

proporcionada puede ser una clave DES de longitud simple, longitud doble o

longitud triple.

La clave de Aplicación proporcionada en claro será devuelta operativa de manera

que pueda ser utilizada en los servicios de cifrado y descifrado de datos.

Formato

CALL SCDOPER (código-retorno,código-razón,longitud-clave,clave-claro,clave-operativa)

Parámetros

Page 43: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 43

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va cifrar de forma operativa.

Para una clave DES simple (64 bits), su valor debe ser una ‘S’, para una

clave DES doble (128 bits) el valor debe ser una ‘D’, y para una clave DES

triple (192 bits) el valor debe ser una ‘T’.

clave-claro

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación en claro que se va a poner en forma operativa.

Puede ser una clave DES simple (64 bits), doble (128 bits) o triple (192

bits) dependiendo del parámetro longitud-clave que se haya especificado.

clave-operativa

Dirección: Salida Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación cifrada bajo la clave Maestra del Sistema (en su

forma operativa) devuelta por el servicio, disponible para ser utilizada en

los servicios de cifrado y descifrado de datos.

Page 44: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 44

5.6 SCDRAPL - RECIFRADO APLICATIVO DE CLAVES DE APLICACIÓN

La función de este servicio es recifrar una clave de Aplicación que se encuentra

cifrada en su forma operativa (con la clave Maestra del Sistema), para obtenerla en

su forma aplicativa (cifrada con una clave de Transporte del fichero de claves

FICHKDES).

El proceso de recifrado efectúa, en el interior del módulo de seguridad, un

descifrado con la clave Maestra del Sistema, de la clave cifrada en forma operativa,

para posteriormente cifrar dicho resultado (clave de Aplicación en claro) bajo la

clave de Transporte correspondiente a la etiqueta indicada en los parámetros de

entrada, obteniéndola así en su forma aplicativa. En ningún caso el servicio

proporciona el valor de la clave de Aplicación en claro fuera del módulo de

seguridad.

De esta forma, una clave de Aplicación que se encuentra cifrada de forma operativa

para ser utilizada en los servicios de cifrado y descifrado de datos, puede utilizarse

para ser intercambiada entre dos extremos o bien para guardarse en ficheros

específicos de la Aplicación de una forma segura.

Formato

CALL SCDRAPL (código-retorno,código-razón,longitud-clave,label-clave-transporte,clave-aplicativa,clave-operativa)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

Page 45: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 45

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a recifrar. Para una clave

DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES doble

(128 bits) el valor debe ser una ‘D’, y para una clave DES triple (192 bits)

el valor debe ser una ‘T’.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación correspondiente a la clave de Transporte del

fichero FICHKDES, bajo la que se cifrará en el interior del módulo de

seguridad a la clave de Aplicación, para devolverla en su forma aplicativa.

clave-aplicativa

Dirección: Salida Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación en su forma aplicativa que devuelve el servicio,

cifrada bajo la clave de Transporte que se haya indicado del fichero

FICHKDES, disponible para ser intercambiada con un remoto o

almacenada en un fichero.

clave-operativa

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación en forma operativa (cifrada bajo la clave Maestra

del Sistema) de entrada al servicio, y que será devuelta en forma

aplicativa. Puede ser una clave DES simple (64 bits), doble (128 bits) o

Page 46: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 46

triple (192 bits) dependiendo del parámetro longitud-clave que se haya

especificado.

5.7 SCDROPE - RECIFRADO OPERATIVO DE CLAVES DE APLICACIÓN

La función de este servicio es recifrar una clave de Aplicación que se encuentra

cifrada de forma aplicativa (cifrada con una clave de Transporte del fichero de

claves FICHKDES), para obtenerla en su forma operativa (cifrada con la clave

Maestra del Sistema).

El proceso de recifrado efectúa, en el interior del módulo de seguridad, un

descifrado de la clave cifrada en forma aplicativa, con la clave de Transporte

correspondiente a la etiqueta indicada en los parámetros de entrada, para

posteriormente cifrar dicho resultado (clave de Aplicación en claro) bajo la clave

Maestra del Sistema, obteniéndola así en su forma operativa. En ningún caso el

servicio proporciona el valor de la clave de Aplicación en claro fuera del módulo de

seguridad.

De esta forma, una clave de Aplicación intercambiada entre dos extremos o bien

guardada en ficheros específicos de la Aplicación, que se encuentra cifrada de

forma aplicativa, puede ser utilizada en los servicios de cifrado y descifrado de

datos.

Formato

CALL SCDROPE (código-retorno,código-razón,longitud-clave,label-clave-transporte,clave-aplicativa,clave-operativa)

Parámetros

Page 47: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 47

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a recifrar. Para una clave

DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES doble

(128 bits) el valor debe ser una ‘D’, y para una clave DES triple (192 bits)

el valor debe ser una ‘T’.

label-clave-transporte

Dirección: Entrada Tipo: Carácter Longitud: 64 octetos

La etiqueta de identificación correspondiente a la clave de Transporte del

fichero FICHKDES, bajo la que se encuentra cifrada la clave de Aplicación

de forma aplicativa.

clave-aplicativa

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación en su forma aplicativa de entrada al servicio, cifrada

bajo la clave de Transporte del fichero FICHKDES correspondiente a la

etiqueta indicada. Puede ser una clave DES simple (64 bits), doble (128

bits) o triple (192 bits) dependiendo del parámetro longitud-clave que se

haya especificado.

Page 48: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 48

clave-operativa

Dirección: Salida Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación en forma operativa devuelta por el servicio (cifrada

bajo la clave Maestra del Sistema), disponible para ser utilizada en los

servicios de cifrado y descifrado de datos.

5.8 SCDRAND - GENERACIÓN DE CADENAS ALEATORIAS

La función de este servicio es generar una secuencia aleatoria de 64 ceros y unos,

con paridad impar ajustada cada 8 bits, para poder ser utilizada como una clave

DES, o sin ajustar la paridad para poder ser utilizada como vector de inicialización

en el servicio de cifrado de datos.

La cadena es devuelta por el servicio en dos formatos, en formato binario (8

octetos) y en formato hexadecimal (16 caracteres del alfabeto hexadecimal que

representan, de dos en dos, a cada uno de los 8 octetos).

Formato

CALL SCDRAND (código-retorno,código-razón,forma-cadena,cadena-binario,cadena-hexadecimal)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

Page 49: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Gestión de Claves

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 49

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

Forma-cadena

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

Especifica las características de la cadena que se va a generar. Los

valores posibles son una ‘P’ para indicar que la cadena generada tenga

paridad impar ajustada cada 8 bits, y una ‘N’ para indicar que no se ajuste

la paridad.

Cadena-aleatoria

Dirección: Salida Tipo: Carácter Longitud: 8 octetos

La cadena aleatoria generada de 64 bits, con las características que se

hayan especificado, en el formato de 8 octetos.

cadena-hexadecimal

Dirección: Salida Tipo: Carácter Longitud: 16 octetos

La misma cadena aleatoria generada pero en el formato de 16 caracteres

hexadecimales que representan, de dos en dos, a cada uno de sus 8

octetos.

Page 50: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 50

6 SERVICIOS DE PROTECCIÓN DE DATOS

El servidor criptográfico proporciona los servicios de seguridad necesarios para

mantener la privacidad de la información almacenada en el propio sistema, proteger

los datos intercambiados entre diferentes sistemas o los datos almacenados en

ficheros o cintas.

Los datos se protegen cifrándolos bajo una clave DES de longitud simple, doble o

triple, obteniéndose el texto cifrado. Solamente se pueden recuperar los datos

originales descifrando el texto con la misma clave utilizada durante el proceso de

cifrado.

Para el cifrado y descifrado de los datos el Servidor utiliza el algoritmo estándar

DES en el modo de operación de encadenamiento de bloques cifrados CBC. Este

modo procesa el texto en bloques de 8 octetos, de tal forma que antes de cifrar un

bloque se le hace el OR-exclusivo con el resultado del bloque anterior cifrado.

Se utiliza un vector inicial ICV —Initial Chaining Vector— para comenzar el cifrado

de los datos, efectuándose el OR-exclusivo entre el ICV proporcionado y el primer

bloque de datos antes del paso de cifrado, al resultado se le aplica un OR-exclusivo

con el siguiente bloque de datos, y así sucesivamente hasta completar el último

bloque de datos.

Para descifrar los datos se debe utilizar el mismo valor de ICV que el empleado al

cifrar los datos. El proceso es el inverso al de cifrado, se descifra el primer bloque

de datos y al resultado se le aplica el OR-exclusivo con el ICV proporcionado, se

descifra el siguiente bloque de datos y al resultado se le aplica el OR-exclusivo con

el bloque anterior cifrado, y así sucesivamente hasta completar el último bloque de

datos.

Page 51: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 51

El efecto que produce el ICV puede ser anulado si se utiliza como valor ceros

binarios.

Dado que el modo de operación CBC procesa el texto en múltiplos exactos de 8

octetos, existen diferentes reglas para el tratamiento del último bloque de datos

cuando el texto a cifrar no tiene una longitud múltiplo de 8, o es menor de 8.

El servidor criptográfico implementa el método CUSP de IBM, que define un

conjunto de reglas para el tratamiento del último bloque de datos incompleto (de 1 a

7 octetos) cuando la longitud total del texto no es un múltiplo exacto de 8.

Los servicios de cifrado y descifrado pueden operar con grandes volúmenes de

datos mediante la segmentación del texto. La segmentación es el proceso de dividir

la función en más de un paso de proceso. Las aplicaciones pueden dividir el texto

en diferentes fragmentos sin variar el resultado final del proceso.

En el anexo 1 se describe con detalle el modo de operación CBC, el método CUSP

de IBM para el tratamiento del último bloque incompleto de datos y el proceso de

segmentación del texto.

En los servicios de cifrado y descifrado de datos, la selección entre el modo de

cifrado DES simple o el modo de cifrado Triple-DES se efectúa de forma automática,

dependiendo de la longitud de la clave de cifrado que se utilice en el proceso. Con

una clave de simple longitud se realiza un cifrado DES simple, mientras que con una

clave de doble o triple longitud se realiza el cifrado Triple-DES.

El servidor criptográfico implementa el cifrado de datos Triple-DES de la siguiente

forma:

• Cifrado de los datos con la primera clave de 8 octetos.

• Descifrado del resultado anterior con la segunda clave de 8 octetos.

Page 52: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 52

• Cifrado del resultado anterior con la tercera clave (si la clave proporcionada es

triple) o reutilizando la primera clave (si es doble).

Clave simple: (K1) Cifrado simple: E[Tex]K1

Clave doble: (K1,K2) Triple cifrado: E[Tex]K1, D[Res]K2, E[Res]K1

Clave triple: (K1,K2,K3) Triple cifrado: E[Tex]K1, D[Res]K2, E[Res]K3

El proceso inverso para descifrar los datos que han sido cifrados con el método

Triple-DES, es el siguiente:

• Descifrado de los datos con la tercera clave (si la clave proporcionada es triple)

o con la primera clave (si es doble).

• Cifrado del resultado anterior con la segunda clave de 8 octetos.

• Descifrado del segundo resultado con la primera clave de 8 octetos.

Clave simple: (K1) Descifrado simple:D[Tex]K1

Clave doble: (K1,K2) Triple descifrado: D[Tex]K1, E[Res]K2, D[Res]K1

Clave triple: (K1,K2,K3) Triple descifrado: D[Tex]K3, E[Res]K2, D[Res]K1

Los servicios que proporciona el Servidor criptográfico para la protección de los

datos, son los siguientes:

• Efectúa la operación de cifrado de datos según el algoritmo estándar DES, en el

modo CBC.

• Efectúa la operación de descifrado de datos según el algoritmo estándar DES,

en el modo CBC.

Page 53: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 53

6.1 SCDCIFR - CIFRADO DE DATOS

La función de este servicio es efectuar la operación de cifrado de datos basado en

el algoritmo estándar DES, en el modo CBC. La clave de cifrado que requiere este

servicio es una clave de Aplicación que puede ser de longitud simple, doble o triple.

La clave se ha de proporcionar en su forma operativa, esto es cifrada bajo la clave

Maestra del Sistema.

Por lo tanto, en el interior del módulo de seguridad se efectúa un descifrado de la

clave de entrada (proporcionada en su forma operativa) con la clave Maestra del

Sistema, obteniéndose la clave en claro que es la que, en realidad, interviene en el

proceso de cifrado de los datos.

Las claves de longitud doble o triple se consideran a todos los efectos como la

concatenación de claves individuales DES. Por lo tanto, la clave de Aplicación

suministrada en forma operativa se obtiene cifrando individualmente bajo la HMK a

cada una de las claves que la componen (cifrado en el modo de operación ECB, en

donde cada bloque de 8 octetos se cifra por separado, independientemente del

resto de los bloques).

Formato

CALL SCDCIFR (código-retorno,código-razón,longitud-clave,clave-operativa,vector-inicial,longitud-texto,texto-claro,texto-cifrado)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

Page 54: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 54

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a utilizar para cifrar los

datos. Si es una clave DES simple (64 bits) su valor debe ser una ‘S’, si es

una clave DES doble (128 bits) el valor debe ser una ‘D’, y para una clave

DES triple (192 bits) el valor debe ser una ‘T’.

clave-operativa

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación para cifrar los datos, en su forma operativa, esto es

cifrada bajo la clave Maestra del Sistema. Si la clave indicada es una clave

DES simple se realiza un cifrado estándar DES, y si la clave es doble o

triple, se realiza un cifrado Triple-DES.

vector-inicial

Dirección: Ent/Sal Tipo: Carácter Longitud: 8 octetos

En entrada, el ICV o vector inicial conteniendo un bloque de 8 octetos para

comenzar el cifrado del primer bloque de datos en el modo CBC. Si no se

quiere utilizar se deberá rellenar con ceros binarios. Para descifrar los

datos se deberá indicar el mismo valor de ICV.

Page 55: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 55

En salida se devuelve el OCV o valor de encadenamiento para pasar en la

siguiente llamada a la función como ICV, en el caso de que la aplicación

esté segmentando un texto.

longitud-texto

Dirección: Entrada Tipo: Entero Longitud: 8 octetos

La longitud exacta del texto claro que se va a cifrar. La longitud máxima es

proporcionada por cada instalación.

texto-claro

Dirección: Entrada Tipo: Carácter Longitud: variable

Contiene el texto en claro que va a ser cifrado, alineado a la izquierda y de

una longitud igual a la indicada en el parámetro longitud-texto.

texto-cifrado

Dirección: Salida Tipo: Carácter Longitud: variable

Contiene el texto cifrado que devuelve el servicio, alineado a la izquierda y

de una longitud igual a la indicada en el parámetro longitud-texto.

6.2 SCDDESC - DESCIFRADO DE DATOS

La función de este servicio es efectuar la operación de descifrado de datos basado

en algoritmo estándar DES, en el modo CBC. La clave de cifrado que requiere este

servicio es una clave de Aplicación que puede ser de longitud simple, doble o triple.

La clave se ha de proporcionar en su forma operativa, esto es cifrada bajo la clave

Maestra del Sistema.

Por lo tanto, en el interior del módulo de seguridad se efectúa un descifrado de la

clave de entrada (proporcionada en su forma operativa) con la clave Maestra del

Page 56: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 56

Sistema, obteniéndose la clave en claro que es la que, en realidad, interviene en el

proceso de descifrado de los datos.

Las claves de longitud doble o triple se consideran a todos los efectos como la

concatenación de claves individuales DES. Por lo tanto, la clave de Aplicación

suministrada en forma operativa se obtiene cifrando individualmente bajo la HMK a

cada una de las claves que la componen (cifrado en el modo de operación ECB, en

donde cada bloque de 8 octetos se cifra por separado, independientemente del

resto de los bloques).

Solamente se pueden recuperar los datos originales descifrando el texto con la

misma clave utilizada durante el proceso de cifrado y utilizando el mismo valor para

el ICV.

Formato

CALL SCDDESC (código-retorno,código-razón,longitud-clave,clave-operativa,vector-inicial,longitud-texto,texto-claro,texto-cifrado)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

Page 57: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 57

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a utilizar para descifrar los

datos. Si es una clave DES simple (64 bits) su valor debe ser una ‘S’, si es

una clave DES doble (128 bits) el valor debe ser una ‘D’, y para una clave

DES triple (192 bits) el valor debe ser una ‘T’.

clave-operativa

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación para descifrar los datos, en su forma operativa, esto

es cifrada bajo la clave Maestra del Sistema. Si la clave indicada es una

clave DES simple se realiza un descifrado estándar DES, y si la clave es

doble o triple, se realiza un descifrado Triple-DES. La única clave con la

que se pueden descifrar los datos es con la misma utilizada para cifrarlos.

vector-inicial

Dirección: Ent/Sal Tipo: Carácter Longitud: 8 octetos

En entrada, el ICV o vector inicial conteniendo un bloque de 8 octetos para

comenzar el descifrado del primer bloque de datos en el modo CBC. Se

debe indicar el mismo valor de ICV que el utilizado en el proceso de

cifrado.

En salida se devuelve el OCV o valor de encadenamiento para pasar en la

siguiente llamada a la función como ICV, en el caso de que la aplicación

esté segmentando un texto.

longitud-texto

Dirección: Entrada Tipo: Entero Longitud: 8 octetos

La longitud exacta del texto cifrado que se va a descifrar. La longitud

máxima es proporcionada por cada instalación.

Page 58: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Protección de Datos

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 58

texto-claro

Dirección: Salida Tipo: Carácter Longitud: variable

Contiene el texto en claro que devuelve el servicio, alineado a la izquierda

y de una longitud igual a la indicada en el parámetro longitud-texto.

texto-cifrado

Dirección: Entrada Tipo: Carácter Longitud: variable

Contiene el texto cifrado que va a ser descifrado, alineado a la izquierda y

de una longitud igual a la indicada en el parámetro longitud-texto.

Page 59: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 59

7 SERVICIOS DE INTEGRIDAD Y AUTENTICACIÓN

El servidor criptográfico proporciona los servicios de seguridad necesarios para

verificar que la información transmitida o almacenada no ha sido alterada

(integridad de los datos), y para asegurar que el remitente y el destinatario de la

información son en realidad quien dicen ser (autenticidad de los mensajes).

Los métodos utilizados para verificar la integridad de los datos y la autenticidad de

los mensajes se basan en la obtención de códigos MAC —Message Authentication

code— y en la utilización de funciones hash.

En el proceso de generación del código MAC de un mensaje se utiliza el algoritmo

DES y una clave de Aplicación. El código MAC es una parte del último bloque

cifrado del mensaje con dicha clave. Debido a que en el cifrado DES en modo CBC,

se encadena el cifrado de un bloque con el resultado del anterior, cualquier

alteración en el mensaje es detectada.

El procedimiento para la verificación de la integridad de los datos consiste en

calcular el código MAC de los datos que se van a transmitir y enviarlos junto al

código MAC generado; el extremo receptor calcula el MAC de los datos recibidos y

lo compara con el calculado en origen, debiendo coincidir ambos valores.

En el caso de datos almacenados el procedimiento sería el mismo, se guarda la

información junto a su código MAC, y al recuperar la información almacenada se

vuelve a calcular el MAC y se comprueba si ambos son iguales.

La autenticidad del mensaje recibido se basa en el secreto de la clave DES

compartida. Si el MAC calculado al recibir la información coincide con el enviado en

origen, dado que la clave compartida sólo la deben conocer el emisor y el receptor

del mensaje, se puede deducir que únicamente ha podido ser enviado por esta

persona.

Page 60: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 60

Las funciones hash, también conocidas como resumen o huella digital de un

mensaje, permiten obtener una secuencia única de tamaño fijo a partir de un

mensaje de cualquier tamaño, no siendo posible encontrar una secuencia

alternativa de datos que tenga un mismo hash, ni obtener los datos originales a

partir del hash.

Ofrecen los mismos servicios en cuanto a la verificación de la integridad de la

información, sin embargo, al no utilizar en su cálculo una clave secreta, no son

útiles por si solos para verificar la autenticidad de los mensajes. Esta autenticación

puede hacerse en combinación con un algoritmo de cifrado asimétrico, aplicando a

los datos una función hash y firmando digitalmente el resultado.

Los servicios que proporciona el Servidor criptográfico para verificar la integridad de

los datos y la autenticidad de los mensajes, son los siguientes:

• Generación del código MAC —Message Authentication code— de un texto de

entrada, obteniendo un código MAC de 32, 48 o 64 bits.

• Cálculo de la función hash según el algoritmo estándar MD5 —Message-Digest

Algorithm—, que obtiene una secuencia o función hash de 128 bits.

• Cálculo de la función hash según el algoritmo estándar SHA-1 —Secure Hash

Algorithm—, que obtiene una función hash de 160 bits.

7.1 SCDGMAC - GENERACIÓN DE CÓDIGOS MAC

La función de este servicio es generar el código MAC —Message Authentication

code— correspondiente al texto proporcionado en los parámetros de entrada. El

código MAC generado devuelto a la aplicación usuaria, puede tener una longitud de

32 bits (MAC-4), 48 bits (MAC-6) o 64 bits (MAC-8), dependiendo de la longitud de

MAC especificada.

Page 61: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 61

La clave de cifrado que requiere este servicio es una clave de Aplicación que puede

ser de longitud simple, doble o triple. La clave se ha de proporcionar en su forma

operativa, esto es cifrada bajo la clave Maestra del Sistema.

Por lo tanto, en el interior del módulo de seguridad se efectúa un descifrado de la

clave de entrada (proporcionada en su forma operativa) con la clave Maestra del

Sistema, obteniéndose la clave en claro que es la que, en realidad, interviene en el

proceso de cálculo del MAC.

El código MAC generado lo devuelve el servicio en dos formatos, en formato binario

en el campo código-mac-bin, y para facilitar su lectura o trascripción en el campo

código-mac-hex, con un formato de 16 caracteres del alfabeto hexadecimal ('0',

'1', ..., '9', 'A', 'B', 'C', 'D', 'E', 'F'), en donde cada pareja de dos caracteres se

corresponden con un octeto del código MAC generado.

Formato

CALL SCDGMAC (código-retorno,código-razón,longitud-clave,clave-operativa,longitud-texto,texto-claro,longitud-mac,código-mac-bin,código-mac-hex)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

Page 62: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 62

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

longitud-clave

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

La longitud de la clave de Aplicación que se va a utilizar para generar el

código MAC. Si es una clave DES simple (64 bits) su valor debe ser una

‘S’, si es una clave DES doble (128 bits) el valor debe ser una ‘D’, y para

una clave DES triple (192 bits) el valor debe ser una ‘T’.

clave-operativa

Dirección: Entrada Tipo: Carácter Longitud: 24 octetos

La clave de Aplicación para cálculo del MAC, en su forma operativa, esto

es cifrada bajo la clave Maestra del Sistema. Si la clave indicada es una

clave DES simple se realiza un cifrado estándar DES, y si la clave es doble

o triple, se realiza un cifrado Triple-DES.

longitud-texto

Dirección: Entrada Tipo: Entero Longitud: 8 octetos

La longitud exacta del texto en claro para el cual se va a generar el código

MAC. La longitud máxima es proporcionada por cada instalación.

texto-claro

Dirección: Entrada Tipo: Carácter Longitud: variable

Contiene el texto en claro para el cual se va generar el código MAC,

alineado a la izquierda y de una longitud igual a la indicada en el

parámetro longitud-texto.

longitud-mac

Dirección: Entrada Tipo: Carácter Longitud: 5 octetos

Page 63: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 63

Indica la longitud para generar el código MAC, los valores posibles para

este campo son:

4 Genera un código MAC-4 de 32 bits de longitud (4 octetos).

6 Genera un código MAC-6 de 48 bits de longitud (6 octetos).

8 Genera un código MAC-8 de 64 bits de longitud (8 octetos).

código-mac-bin

Dirección: Salida Tipo: Carácter Longitud: 8 octetos

Contiene el código MAC generado que devuelve el servicio en formato

binario, alineado a la izquierda y de una longitud igual a la indicada en el

parámetro longitud-mac.

código-mac-hex

Dirección: Salida Tipo: Carácter Longitud: 16 octetos

Contiene el mismo código MAC generado que devuelve el servicio pero en

formato o notación hexadecimal, alineado a la izquierda. Cada pareja de

dos caracteres se corresponden con un octeto del código MAC generado.

7.2 SCDHMD5 - CÁLCULO DE FUNCIÓN HASH MD5

Este servicio se encarga de calcular la función hash según el algoritmo estándar

MD5 —Message-Digest Algorithm—, el cual obtiene una secuencia o función hash

de una longitud fija de 128 bits, a partir de un texto de cualquier longitud

proporcionado en los parámetros de entrada.

En el caso de que el texto de entrada tenga una longitud mayor que la máxima

permitida (64.512 octetos), se pueden encadenar sucesivas llamadas al servicio

Page 64: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 64

fragmentando el texto, indicando en el parámetro segmento si se trata de la

petición inicial, una petición intermedia o la petición final. El enlace del proceso

entre las sucesivas llamadas se lleva a cabo mediante el parámetro vector-

enlace.

Cuando se proceda a la segmentación de un texto de entrada, deberá efectuarse

una única y primera petición inicial con la primera parte del texto, una o varias

peticiones intermedias con las siguientes fracciones del texto, y una única y última

petición final con el último fragmento, en la cual el servicio devolverá el código hash

calculado del texto completo.

Formato

CALL SCDHMD5 (código-retorno,código-razón,segmento,vector-enlace,hash-md5,longitud-texto,texto-claro)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

segmento

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

Page 65: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 65

Indica si el texto de entrada va a ser segmentado en sucesivas llamadas al

servicio, y en este caso, el orden de la petición a que corresponde cada

una de las llamadas. Los valores posibles para este campo son:

‘U’ Segmento Único.

Indica que no se va a producir segmentación del texto de entrada y

por lo tanto, se devolverá el hash calculado correspondiente al texto

suministrado.

‘I’ Segmento Inicial.

Para el caso de segmentar el texto de entrada, indica que es la

primera de las llamadas al servicio con la parte inicial del texto. El

valor devuelto en el parámetro vector-enlace se deberá indicar como

entrada en la siguiente llamada.

‘M’ Segmento Medio.

En textos de entrada segmentados, indica que es una llamada

intermedia al servicio con el fragmento del texto siguiente. En el

parámetro vector-enlace se debe indicar el valor devuelto en este

mismo campo en la llamada anterior.

‘F’ Segmento Final.

En textos de entrada segmentados, indica que se trata de la última

llamada al servicio con el fragmento final del texto. En el parámetro

vector-enlace se debe indicar el valor devuelto en este mismo campo

en la llamada anterior. Como es la última llamada al servicio, se

devuelve el hash calculado correspondiente al texto completo.

Vector-enlace

Dirección: Ent/Sal Tipo: Carácter Longitud: 88 octetos

Page 66: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 66

En el caso de segmentar el texto de entrada en más de una fracción, este

campo contiene información de control para el encadenamiento de las

sucesivas llamadas. El valor que devuelve el servicio en cada una de las

llamadas, se utiliza como valor de entrada en la siguiente llamada que se

efectúe.

hash-md5

Dirección: Salida Tipo: Carácter Longitud: 16 octetos

Contiene el valor de la función hash MD5 que devuelve el servicio,

correspondiente al texto indicado en el parámetro de entrada.

longitud-texto

Dirección: Entrada Tipo: Entero Longitud: 5 octetos

La longitud exacta del texto en claro al que se le va a aplicar la función

hash MD5. La longitud máxima en cada llamada es de 64.512 octetos.

texto-claro

Dirección: Entrada Tipo: Carácter Long.: 64.512 octetos

Contiene el texto en claro al que se le va a aplicar la función hash MD5,

alineado a la izquierda y de una longitud igual a la indicada en el

parámetro longitud-texto.

7.3 SCDHSHA1- CÁLCULO DE FUNCIÓN HASH SHA-1

Este servicio se encarga de calcular la función hash según el algoritmo estándar

SHA-1 —Secure Hash Algorithm—, el cual obtiene una secuencia o función hash de

una longitud fija de 160 bits, a partir de un texto de cualquier longitud proporcionado

en los parámetros de entrada.

Page 67: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 67

En el caso de que el texto de entrada tenga una longitud mayor que la máxima

permitida (64.512 octetos), se pueden encadenar sucesivas llamadas al servicio

fragmentando el texto, indicando en el parámetro segmento si se trata de la

petición inicial, una petición intermedia o la petición final. El enlace del proceso

entre las sucesivas llamadas se lleva a cabo mediante el parámetro vector-

enlace.

Cuando se proceda a la segmentación de un texto de entrada, deberá efectuarse

una única y primera petición inicial con la primera parte del texto, una o varias

peticiones intermedias con las siguientes fracciones del texto, y una única y última

petición final con el último fragmento, en la cual el servicio devolverá el código hash

calculado del texto completo.

Formato

CALL SCDHSHA1(código-retorno,código-razón,segmento,vector-enlace,hash-sha1,longitud-texto,texto-claro)

Parámetros

código-retorno

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de retorno indica el resultado general del proceso.

código-razón

Dirección: Salida Tipo: Entero Longitud: 4 octetos

El código de razón especifica el tipo de error producido cuando el código

de retorno es distinto de ceros.

segmento

Page 68: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 68

Dirección: Entrada Tipo: Carácter Longitud: 1 octeto

Indica si el texto de entrada va a ser segmentado en sucesivas llamadas al

servicio, y en este caso, el orden de la petición a que corresponde cada

una de las llamadas. Los valores posibles para este campo son:

‘U’ Segmento Único.

Indica que no se va a producir segmentación del texto de entrada y

por lo tanto, se devolverá el hash calculado correspondiente al texto

suministrado.

‘I’ Segmento Inicial.

Para el caso de segmentar el texto de entrada, indica que es la

primera de las llamadas al servicio con la parte inicial del texto. El

valor devuelto en el parámetro vector-enlace se deberá indicar como

entrada en la siguiente llamada.

‘M’ Segmento Medio.

En textos de entrada segmentados, indica que es una llamada

intermedia al servicio con el fragmento del texto siguiente. En el

parámetro vector-enlace se debe indicar el valor devuelto en este

mismo campo en la llamada anterior.

‘F’ Segmento Final.

En textos de entrada segmentados, indica que se trata de la última

llamada al servicio con el fragmento final del texto. En el parámetro

vector-enlace se debe indicar el valor devuelto en este mismo campo

en la llamada anterior. Como es la última llamada al servicio, se

devuelve el hash calculado correspondiente al texto completo.

Vector-enlace

Page 69: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Servicios de Integridad y Autenticación

Indra Todos los derechos reservados diciembre de 2.002 — Pág. 69

Dirección: Ent/Sal Tipo: Carácter Longitud: 96 octetos

En el caso de segmentar el texto de entrada en más de una fracción, este

campo contiene información de control para el encadenamiento de las

sucesivas llamadas. El valor que devuelve el servicio en cada una de las

llamadas, se utiliza como valor de entrada en la siguiente llamada que se

efectúe.

hash-sha1

Dirección: Salida Tipo: Carácter Longitud: 20 octetos

Contiene el valor de la función hash SHA-1 que devuelve el servicio,

correspondiente al texto indicado en el parámetro de entrada.

longitud-texto

Dirección: Entrada Tipo: Entero Longitud: 5 octetos

La longitud exacta del texto en claro al que se le va a aplicar la función

hash SHA-1. La longitud máxima en cada llamada es de 64.512 octetos.

texto-claro

Dirección: Entrada Tipo: Carácter Long.: 64.512 octetos

Contiene el texto en claro al que se le va a aplicar la función hash SHA-1,

alineado a la izquierda y de una longitud igual a la indicada en el

parámetro longitud-texto.

Page 70: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice A

Indra Todos los derechos reservados diciembre de 2.002 — Pág. A-70

APÉNDICE A: Códigos de Retorno y Razón

En este apéndice se describen los posibles códigos de retorno y razón que son

devueltos en las llamadas a los servicios criptográficos.

El primer cuadro muestra los códigos de retorno y razón devueltos cuando se

detecta un valor incorrecto en la evaluación de los parámetros de entrada a los

servicios, antes de que se ejecuten las funciones criptográficas.

Retorno Razón DESCRIPCIÓN

1 XX El parámetro Función tiene un valor incorrecto

2 XXEl parámetro Longitud del texto tiene un valor incorrecto: ha de ser mayor que 0 y

menor que 64.512

3 XXEl parámetro Entorno de ejecución tiene un valor incorrecto: ha de ser ‘E’ Explotación

o ‘P’ Pruebas (sólo para la Interfase del S.N.C.E)

4 XXEl parámetro Longitud de clave tiene un valor incorrecto: ha de ser ‘S’ Simple, ‘D’

Doble o ‘T’ Triple

5 XXEl parámetro Label o etiqueta tiene un valor incorrecto: no puede ser todo espacios o

low-values

6 XXEl parámetro Local/Remota tiene un valor incorrecto: ha de ser ‘L’ Local/Exporter o ‘R’

Remota/Importer (sólo para la Interfase del S.N.C.E)

7 XXEl parámetro Segmento tiene un valor incorrecto: ha de ser ‘I’ Init, ‘M’ Medio o ‘F’

Final

8 XXEl parámetro Forma cadena tiene un valor incorrecto: ha de ser ‘P’ Paridad o ‘N’ Sin

paridad

El código de razón devuelto indica el servicio en el que se ha producido el error,

según los siguientes valores posibles:

1 – SCDCIFR 5 – SCDRAPL 10 – SCDGMAC2 – SCDDESC 6 – SCDOPER 11 – SCDHMD5

Page 71: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice A

Indra Todos los derechos reservados diciembre de 2.002 — Pág. A-71

3 – SCDGNAP 7 – SCDALTA 12 – SCDHSHA14 – SCDROPE 8 – SCDBAJA 30 – SCDRAND

El siguiente cuadro muestra los posibles códigos de retorno y razón devueltos al

ejecutarse las funciones criptográficas tras las llamadas a los servicios.

DESCRIPCIÓN

Retorno Razón "batch" o IMS CICS

0 0 Proceso realizado correctamente Proceso realizado correctamente

91 XError en borrado de un registro del fichero

de claves (X=errno de LE/370)

Error en borrado de un registro del fichero

de claves (X=EIBRESP de CICS)

92 XError en la apertura del fichero de claves

(X=errno de LE/370)

Error en la apertura del fichero de claves

(X=EIBRESP de CICS)

93 XError en lectura de un registro del fichero

de claves (X=errno de LE/370)

Error en lectura de un registro del fichero

de claves (X=EIBRESP de CICS)

94 XError en escritura de un registro del

fichero de claves (X=errno de LE/370)

Error en escritura de un registro del

fichero de claves (X=EIBRESP de CICS)

95 XError en búsqueda de un registro del

fichero de claves (X=errno de LE/370)

Error en búsqueda de un registro del

fichero de claves (X=EIBRESP de CICS)

96 XError del sistema en lectura del reloj

(X=errno de LE/370)

Error del sistema en lectura del reloj

(X=EIBRESP de CICS)

97 XError por label no contenido en el fichero

de claves (X=errno de LE/370)

Error por label no contenido en el fichero

de claves (X=EIBRESP de CICS)

98 XError por label existente en el fichero de

claves (X=errno de LE/370)

Error por label existente en el fichero de

claves (X=EIBRESP de CICS)

99 XError en reescritura de un registro en

fichero de claves (X=errno de LE/370)

Error en reescritura de un registro en

fichero de claves (X=EIBRESP de CICS)

9998 XError general en comando CICS, donde

X=EIBRESP de CICS

9999 ? Posible Abend CICS controlado

Page 72: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice A

Indra Todos los derechos reservados diciembre de 2.002 — Pág. A-72

Page 73: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-73

APÉNDICE B: Reglas de proceso de cifrado

Modo de operación CBC

El estándar ANSI X3.106-1983 e ISO 8372 define cuatro métodos de operación para

el cifrado. Uno de estos métodos es el modo de operación de cifrado en bloques

CBC —Cipher Block Chaining— o encadenamiento de bloques cifrados.

En el modo de operación CBC el texto se procesa en bloques de 8 octetos, de tal

forma que antes de cifrar un bloque se le hace el OR-exclusivo con el resultado del

bloque anterior cifrado. Si la clave es de longitud doble o triple se efectúa el proceso

de cifrado/descifrado/cifrado bloque a bloque, encadenando cada resultado con el

siguiente bloque a tratar. La longitud total del texto a cifrar debe ser un múltiplo de

8.

Para comenzar el cifrado de los datos se utiliza un vector inicial ICV —Initial

Chaining Vector—, de tal forma que se aplica el OR-exclusivo entre el ICV

proporcionado y el primer bloque de datos antes del paso de cifrado, al resultado se

le aplica un OR-exclusivo con el siguiente bloque de datos, y así sucesivamente

hasta completar el último bloque de datos.

Para descifrar los datos se debe utilizar el mismo valor de ICV que el empleado al

cifrar los datos. El proceso es el inverso al de cifrado, se descifra el primer bloque

de datos y al resultado se le aplica el OR-exclusivo con el ICV proporcionado, se

descifra el siguiente bloque de datos y al resultado se le aplica el OR-exclusivo con

el bloque anterior cifrado, y así sucesivamente hasta completar el último bloque de

datos.

El efecto que produce el ICV puede ser anulado si se utilizan ceros binarios como

valor del ICV.

Page 74: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-74

A continuación se muestran dos figuras en donde se representa el método de

cifrado y descifrado de datos en el modo de operación CBC.

Page 75: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-75

Cifrado en modo CBC

Texto claro

Texto cifrado

Ci = Ek [mi ⊕⊕ Ci-1]

m1 m2 ... mn

C1 C2 ... Cn

mi-

Ek

+

Ci-1 Ci

m

+

Ek

Page 76: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-76

Descifrado en modo CBC

Texto cifrado

Texto claro

mi = Dk [Ci] ⊕⊕ Ci-1

C1 C2 ... Cn

m1 m2 ... mn

Ci-1

mi- m

Ci

+ +

Dk Dk

Page 77: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-77

Reglas de cifrado para el último bloque

En el modo de operación CBC el texto se trata en bloques de 8 octetos, debiendo

ser la longitud total del texto a cifrar un múltiplo exacto de 8. Para los casos en que

la longitud total del texto a cifrar no sea un múltiplo de 8, existen varios algoritmos o

técnicas que tratan el último bloque incompleto de datos, denominados “last-block

rules”.

El servidor criptográfico implementa el método CUSP de IBM que define las reglas

para el tratamiento del último bloque de datos incompleto (de 1 a 7 octetos) cuando

la longitud total del texto no es un múltiplo exacto de 8.

• La longitud del texto a cifrar es mayor que 8 y no es múltiplo exacto de 8.

El tratamiento del último bloque de datos incompleto consiste en cifrar

doblemente el anterior bloque de datos completo y hacer el OR-exclusivo entre

este resultado y el bloque corto, obteniéndose así el último bloque corto de texto

cifrado.

• La longitud total del texto a cifrar es menor que 8 octetos.

El proceso utilizado para obtener el bloque corto de texto cifrado consiste en

cifrar el ICV y al resultado aplicarle el OR-exclusivo con el bloque corto del texto

claro.

En ambos casos la longitud final del texto cifrado es la misma que la del texto en

claro.

Segmentación del texto

El servicio de cifrado/descifrado puede operar con grandes volúmenes de datos

mediante la segmentación del texto. La segmentación es el proceso de dividir la

Page 78: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice B

Indra Todos los derechos reservados diciembre de 2.002 — Pág. B-78

función en más de un paso de proceso. Las aplicaciones pueden dividir el texto en

diferentes fragmentos sin variar el resultado final del proceso.

Los segmentos del texto fragmentado deberán tener una longitud múltiplo exacto de

8, salvo el último segmento de datos. El servicio proporciona la facilidad de

segmentación a través del campo ICV (de entrada/salida). En cada llamada a la

función se devuelve en el ICV un valor que, en el caso de que la aplicación esté

segmentando el texto, deberá utilizarse como entrada de ICV en la siguiente

llamada al servicio.

El valor que devuelve el servicio en el campo ICV es el último bloque de 8 octetos

del texto cifrado (tanto al cifrar como al descifrar los datos). En la llamada al servicio

con el último segmento, si el texto tiene una longitud que no es un múltiplo de 8, el

valor que se devuelve en el ICV son ceros binarios, ya que no se pueden encadenar

más llamadas.

Page 79: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice C

Indra Todos los derechos reservados diciembre de 2.002 — Pág. C-79

APÉNDICE C: Instalación del producto

CRIPTOlib/DES 3.0 es un producto software que, en su versión MVS, está

desarrollado en lenguaje Cobol y lenguaje C. Por este motivo, es necesario para su

funcionamiento disponer de las run-time adecuadas de LE/370, cuyo acceso y

disponibilidad serán imprescindibles tanto en los procesos "batch" como desde los

monitores CICS o IMS.

La instalación del producto se lleva a cabo enviando desde Indra las librerías que

contienen los módulos y jcl’s necesarios para su funcionamiento. Una vez recibidos

se procederá a la generación del fichero de claves FICHKDES y la instalación de la

clave Maestra del Sistema. Por último, se definirán los recursos al sistema,

dependiendo de si el monitor de teleproceso es CICS o IMS.

Contenido de las librerías

Los módulos de la versión 3.0 (en lenguaje Cobol y lenguaje C) están compilados

con las librerías del LE/370 y las opciones RMODE=ANY, AMODE=31.

Dependiendo de la configuración particular de cada instalación, es posible que

estas dos opciones sea necesario cambiarlas.

La lista completa de jcl’s y módulos que contienen las librerías enviadas es la

siguiente:

"Jcls":

JCAMBHMK - Utilidad para cambio de clave Maestra en elfichero FICHKDES

JGENFICH - Utilidad para la generación inicial del ficheroFICHKDES y carga de la clave Maestra

XSCDALTA - Utilidad para incorporación de claves en elfichero FICHKDES

Page 80: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice C

Indra Todos los derechos reservados diciembre de 2.002 — Pág. C-80

XSCDBAJA - Utilidad para borrado de claves del ficheroFICHKDES

Ejecutables:

- Interfaz batch

SCDALTA - Lenguaje COBOL

SCDBAJA (")

SCDCIFR (")

SCDDESC (")

SCDGMAC (")

SCDGNAP (")

SCDHMD5 (")

SCDHSHA1 (")

SCDOPER (")

SCDRAND (")

SCDRAPL (")

SCDROPE (")

SCDALTAX - Utilidad para incorporación de claves

SCDBAJAX - Utilidad para borrado de claves

SCDIHMK - Utilidad para instalación y cambio de HMK

- Interfaz CICS

SCDALTAO - Lenguaje COBOL

SCDBAJAO - Lenguaje COBOL

SCDALBAO - Lenguaje C

SCDCIFRO (")

SCDDESCO (")

SCDGNAPO (")

SCDOPERO (")

SCDRAPLO (")

SCDROPEO (")

Page 81: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice C

Indra Todos los derechos reservados diciembre de 2.002 — Pág. C-81

Generación del fichero FICHKDES

Para la generación inicial del fichero de claves FICHKDES y la instalación de la

clave Maestra del sistema se debe adaptar y ejecutar el jcl JGENFICH, recibido en

la librería de jcl’s. Consta de dos pasos, en el primero se define el fichero indexado

a VSAM y en el segundo se instala la clave Maestra seleccionada por el

Administrador del Sistema.

Este jcl se adaptará en cada instalación con los nombres adecuados de las librerías

e indicándose los parámetros de entrada específicos, tal y como se describe en el

Apéndice D: Utilidades.

Definición de recursos

Entorno batch e IMS

Modificar los jcls y regiones IMS de las Aplicaciones usuarias de la siguiente

forma:

• concatenar —bien en STEPLIB o JOBLIB, o bien en la lista de LNKLST— las

librerías de run-time de LE/370, así como la librería que contenga a los

ejecutables de CRIPTOlib/DES.

• añadir una ficha con DDName FICHKDES y DSName el nombre físico definido

a VSAM para el fichero de claves “FICHKDES”:

Entorno CICS

• Modificación del proceso de arranque del CICS, concatenando la librería de

ejecutables de CRIPTOlib/DES en la ficha DFHRPL.

• Alta en CICS de los programas ejecutables descritos en la lista de la interfaz

CICS.

Page 82: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice C

Indra Todos los derechos reservados diciembre de 2.002 — Pág. C-82

• Alta en CICS del fichero de claves "FICHKDES":

Page 83: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice D

Indra Todos los derechos reservados diciembre de 2.002 — Pág. D-83

APÉNDICE D: Utilidades

En este apéndice se describen un conjunto de utilidades que se proporcionan con el

producto CRIPTOlib/DES, mediante las cuales se facilita la gestión, administración y

el mantenimiento de las claves almacenadas en el fichero de claves FICHKDES.

Estas utilidades consisten en procesos batch que se encargan de efectuar las

llamadas a los servicios estándar del servidor para efectuar las funciones

criptográficas. Cada uno de los programas de utilidad se ejecuta con su

correspondiente jcl de llamada.

Los jcl’s deberán adaptarse en cada instalación con los nombres adecuados de las

librerías —tanto la de ejecutables de CRIPTOlib/DES, como la de run-time de

LE/370 si es necesario—, y el nombre físico o DSName con el que se haya creado

el fichero de claves FICHKDES.

A continuación se da una breve descripción de cada una de las utilidades

proporcionadas, y se indican los parámetros que en cada caso es necesario

cumplimentar en los jcl’s de llamada.

JGENFICH - Generación inicial del fichero de claves FICHKDES

Mediante esta utilidad se lleva a cabo la generación inicial del fichero de claves

FICHKDES y de la instalación en el mismo de la clave Maestra del sistema.

El jcl de ejecución consta de dos pasos, en el primero se define el fichero indexado

a VSAM, debiéndose indicar el nombre físico o dsname con el que se va crear el

fichero FICHKDES, y los parámetros propios de VSAM y de cada instalación

necesarios para definir el fichero.

Page 84: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice D

Indra Todos los derechos reservados diciembre de 2.002 — Pág. D-84

En el segundo paso se instala en el fichero FICHKDES la clave Maestra

seleccionada por el Administrador del Sistema, mediante una llamada al programa

de utilidad del servidor SCDIHMK. Se especificará —vía PARM— el valor de la

clave Maestra a instalar, según el formato y las reglas descritas en el capítulo 4.1,

tecleándola 2 veces para evitar en lo posible errores de trascripción.

JCAMBHMK – Cambio de la clave Maestra del Sistema

Mediante esta utilidad se realiza el cambio de la clave Maestra del sistema instalada

en el fichero de claves FICHKDES. Para poder ejecutar el proceso es necesario

conocer el valor de la clave Maestra actualmente en curso.

El jcl de ejecución consta de un único paso en el que se efectúa una llamada al

programa de utilidad del servidor SCDIHMK. Se deben indicar —vía PARM—

primero el valor de la clave Maestra actual y segundo el valor de la nueva clave a

instalar, según el formato y las reglas descritas en el capítulo 4.1.

Debido a que el proceso de cambio de clave Maestra realiza un recifrado de todas

las claves del fichero, se requiere tener abierto en exclusividad el fichero

FICHKDES, por lo que durante el proceso no se puede acceder al fichero desde

otras aplicaciones, siendo necesario además cerrar el FICHKDES al CICS.

XSCDALTA – Alta de una clave de Transporte en el FICHKDES

Con esta utilidad se incorporan nuevas claves de Transporte en el fichero de claves

FICHKDES, o se modifican claves que ya existan en el fichero. Las nuevas claves a

incorporar se indicarán con su valor en claro y la etiqueta que las identifica en el

fichero de claves.

Page 85: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice D

Indra Todos los derechos reservados diciembre de 2.002 — Pág. D-85

En el caso de que ya existiese una clave en el fichero FICHKDES con la misma

etiqueta de identificación que la indicada, la nueva clave proporcionada substituirá a

la clave existente (perdiéndose su valor).

El jcl de ejecución consta de un único paso en el que se efectúa una llamada al

programa de utilidad del servidor SCDALTAX. Se debe especificar en cuatro líneas

diferentes de la ficha SYSIN y por este orden:

• La etiqueta de identificación con la que se va a incorporar la clave de

Transporte en el fichero de claves FICHKDES.

• La longitud de la clave de Transporte que se va a incorporar. Para una clave

DES simple (64 bits), su valor debe ser una ‘S’, para una clave DES doble (128

bits) el valor debe ser una ‘D’.

• Los primeros 64 bits de la clave en claro (y únicos si se trata de una clave

simple) que se va a incorporar al fichero de claves FICHKDES. El valor de la

clave se especificará mediante 16 caracteres del alfabeto hexadecimal

(0,1,...,9,A,B,...,F) que representan, de dos en dos, a cada uno de sus 8 octetos

(64 bits).

• Solo en el caso de claves dobles, se indicarán los segundos 64 bits que

componen la clave, con el mismo formato descrito para la primera parte de la

clave.

XSCDBAJA – Borrado de una clave de Transporte del FICHKDES

Esta utilidad realiza el borrado de una clave de Transporte que resida en el fichero

de claves FICHKDES, eliminándose toda la información del fichero relativa a la

clave con la etiqueta de identificación especificada en los parámetros de entrada.

Page 86: CRIPTOlib/DES 3montilla.indra.es/doc/IMS/criptografia/Cr30usia.pdf · 2003. 2. 18. · CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Índice. CRIPTOlib/DES 3.0 — MVS.

CRIPTOlib/DES 3.0 — MVS. Manual de usuario e instalación Apéndice D

Indra Todos los derechos reservados diciembre de 2.002 — Pág. D-86

El jcl de ejecución consta de un único paso en el que se efectúa una llamada al

programa de utilidad del servidor SCDBAJAX. Se debe especificar en la primera y

única línea de la ficha SYSIN la etiqueta de identificación de la clave de Transporte

que se quiere dar de baja del fichero de claves FICHKDES.