Encriptación de Aplicaciones

La funcionalidad que se describe en esta sección permite a las implementaciones configurar campos encriptar al almacenarlos en la base de datos. Esta funcionalidad y la funcionalidad Protección de Interface de Usuario, que se describe en la sección anterior, son mutuamente excluyentes. Esta característica soporta elementos específicos de encriptación almacenados dentro de una columna CLOB o XML.

En los siguientes puntos, se realzan las características de la funcionalidad de encriptación:

  • La clave de encriptación se define mediante un almacén de claves, que debe estar configurado para poder usar esta funcionalidad. Para obtener información detallada acerca de la configuración del almacén de claves en el sistema, consulte la Guía de Instalación.

  • Cuando un campo se configura para ser encriptado, los datos encriptados se almacenan en un campo de encriptación especial que no es el campo de origen (el que el usuario puede ver en la interface de usuario). El campo de origen captura los datos protegidos. Dado que se requiere un campo especial para soportar la encriptación, el producto debe ofrecer soporte para que ese campo pueda encriptarse.

  • Para los datos encriptados que deben permitir la búsqueda, el sistema soporta la captura de un valor con hash en un campo especial. El producto debe ofrecer soporte para esta funcionalidad. Además de proporcionar un campo especial para capturar el valor con hash, la funcionalidad de búsqueda base para esos datos también debe ofrecer esta configuración.

  • El sistema soporta la encriptación de datos que se capturan como un elemento dentro de un campo XML. Si el campo XML se proporciona en un esquema que pertenece al producto, el producto debe proporcionar soporte específico para capturar los datos encriptados.

Las siguientes secciones proporcionan información adicional sobre el soporte para encriptación ofrecido por el marco. Consulte el capítulo sobre seguridad de la guía de administración del producto específico para obtener más información.

Encriptación y Protección de Datos

Cuando un producto permite la encriptación para un tipo de datos determinado, se debe crear un campo de encriptación especial para capturar el valor encriptado. Dado que la encriptación es opcional, el campo de origen (el que puede ver el usuario) no debe ser este campo de encriptación especial. Si se configura la encriptación, el sistema completará internamente el campo encriptado. El campo de origen se completará con asteriscos por defecto. De esa forma, los datos protegidos son los que se muestran al usuario en la página y no el valor encriptado.

En los siguientes puntos, se realza cómo se comporta el sistema cuando está configurada la encriptación y cuando no está configurada. A modo de ejemplo, suponga que el campo es un número de tarjeta de crédito. El usuario visualiza y completa un campo con el nombre de campo CC_​NBR. La tabla también tiene un segundo campo ENCR_​CC_​NBR. Un usuario completa el número de tarjeta de crédito:

  • Si la encriptación no está configurada, CC_​NBR se actualizará con el número de tarjeta de crédito ingresado y ENCR_​CC_​NBR estará vacío. Tenga en cuenta que, en este caso, una implementación puede optar por configurar la protección de interface de usuario.

  • Si la encriptación está configurada, CC_​NBR se actualizará con "*******************" y ENCR_​CC_​NBR contendrá el valor encriptado. Los asteriscos para el campo standard completarán el tamaño total del campo hasta 50 caracteres.

Si, por algún motivo, no se prefiere la protección standard que utiliza todos asteriscos, el sistema soporta un algoritmo de protección explícito que utiliza el mismo lugar de conector de Configuración de Funciones: Protección de Datos Sensibles utilizado para la Protección de Interface de Usuario.

Advertencia: A diferencia de la protección de interface de usuario, la protección de campos encriptados no está controlada por la seguridad. Deben protegerse los datos almacenados en el campo de origen para todos los datos encriptados. Asegúrese de no configurar la lógica de autorización de seguridad en los algoritmos utilizados para este tipo de protección.

Configuración de Opción de Característica

Cree una configuración de característica con el Tipo de Característica Encriptación. Para cada campo de origen que está encriptando, ingrese una opción con el tipo de opción Encriptación de Campo. El valor contendrá mnemotécnicos que hacen referencia al alias de clave de encriptación adecuado definido en el almacén de claves junto con la configuración relacionada con el campo y su ubicación en la tabla. A diferencia de la protección de datos sensibles de interface de usuario, la configuración para la encriptación de datos se relaciona con la manera en que se almacenan los datos y no con la manera en que se despliegan. Además, cada registro puede definir un algoritmo de protección explícito para sustituir el valor por defecto y, si es soportado, también puede definir un campo con hash y un alias con hash.

Para los datos almacenados en una columna específica de una tabla, debe existir un campo explícito para capturar el valor encriptado. Indique el nombre de la tabla, el nombre del campo de origen y el nombre del campo encriptado junto con el alias: table='table_​name', field='fld_​name', encryptedField='encr_​fld_​name', alias='alias key'

También se puede especificar una cláusula "where" cuando los datos residen en una tabla secundaria y solo es necesario encriptar los datos de un determinado tipo.

Por ejemplo, table='CI_​PER_​ID', field='PER_​ID_​NBR', encryptedField='ENCR_​PER_​ID_​NBR', alias='key alias', where='ID_​TYPE_​CD='SSN''

En el caso de datos que están almacenados en una columna XML de un registro, el campo de origen que será encriptado debe hacer referencia al nombre de campo de los metadatos de la definición de esquema junto con el elemento que captura los datos encriptados y el alias: field='field_​name', encryptedField='encr_​field_​name', alias='key alias'

La sintaxis para agregar una referencia a un algoritmo de protección es maskAlg='algorithm name' .

La sintaxis para agregar una configuración para capturar un valor con hash con finalidad de búsqueda es hashAlias='hashAliasKey' hashField='HASH_​FLD_​NAME'.

A continuación, se presenta un ejemplo de configuración que utiliza todas las opciones posibles (algoritmo de protección específico, cláusula where y soporte de campo con hash):

table='CI_​​PER_​​ID', field='PER_​​ID_​​NBR', alias='aliasKey', encryptedField='ENCR_​​PER_​​ID_​​NBR', hashAlias='hashAliasKey' hashField='HASH_​​PER_​​ID_​​NBR', where='ID_​​TYPE_​​CD=SSN', maskAlg='CM-PERIDMASK'

Búsqueda por Valor Encriptado

Si el producto soporta un valor con hash para un campo encriptado con finalidad de búsqueda, los siguientes puntos realzan la configuración de zona de explorador con esta finalidad.

  • El valor de filtro de usuario debe hacer referencia al campo de origen y debe incluir un mnemotécnico encrypt= adicional. Por ejemplo

    type=STRING
    label=PER_ID_NBR 
    encrypt=[CI_PER_ID,PER_ID_NBR,ID_TYPE_CD,F1]

    Consulte Filtros de Usuario para obtener más información.

  • El SQL debe incluir el valor con hash en la cláusula WHERE. Tenga en cuenta que, dado que la encriptación es opcional, una zona de producto que incluye la búsqueda por campo elegible para encriptación incluirá la búsqueda de una asociación para el filtro en el campo de origen (como texto sin formato) o en el campo con hash. Por ejemplo:

    WHERE
       [(F2) (ID.PER_ID_NBR =:F2 OR ID.HASH_PER_ID_NBR = :F2)]

Personalización del Algoritmo de Encriptación

Aunque el algoritmo de encriptación que se usará con una clave determinada se puede obtener de la clave del almacén de claves, a veces, hay información adicional asociada con un algoritmo que quizá sea necesario usar para encriptar o desencriptar datos.

El sistema ofrece una opción de configuración de característica para el tipo de característica Encriptación mediante el tipo de opción Información de Algoritmo que se puede utilizar para adaptar el comportamiento de la encriptación.

  • Puede modificar el relleno con ceros y el modo por defecto del algoritmo de encriptación.

  • Si se utilizará una clave para firmar digitalmente cualquier elemento, también se puede especificar el algoritmo de firmado para la clave.

Para obtener más detalles sobre la sintaxis, consulte la descripción detallada del tipo de opción de característica.