Share via


Autenticadores

Un autenticador le ayudará a evitar la sustitución del valor completo de los campos cifrados. Por ejemplo, considere la siguiente tabla de datos de nóminas:

Employee_ID

Standard_Title

Base_Pay

345

Copy Room Assistant

Fskj%7^edhn00

697

Chief Financial Officer

M0x8900f56543

694

Data Entry Supervisor

Cvc97824%^34f

Sin romper el cifrado, un usuario no autorizado puede obtener información importante del contexto en el que se almacena el texto cifrado. Puesto que al Chief Financial Officer se le paga más que al Copy Room Assistant, el valor cifrado como M0x8900f56543 debe ser mayor que el valor cifrado como Fskj%7^edhn00. En este caso, cualquier usuario con el permiso ALTER en la tabla puede conceder un aumento al Copy Room Assistant al sustituir los datos de su campo Base_Pay por una copia de los datos almacenados en el campo Base_Pay del Chief Financial Officer. Este ataque de sustitución del valor completo omite el cifrado completamente. Estos ataques de sustitución de valor completo se pueden combatir agregando información contextual al texto sin formato antes de cifrarlo. Esta información contextual se usa para verificar que el texto sin formato no se ha modificado.

Si se especifica un parámetro de autenticador al cifrar los datos, se necesita el mismo autenticador para descifrar dichos datos. En el momento del cifrado, se cifra un hash del autenticador junto con el texto sin formato. En el momento del descifrado, el mismo autenticador se debe pasar a la función de descifrado. Si no coinciden, se producirá un error durante el descifrado. Dicho error indicará que el valor ha sido modificado después de su cifrado. Se recomienda utilizar la clave principal de la tabla donde se almacenará el resultado como autenticador.