Cuando se emplean claves criptográficas simétricas para la protección de datos almacenados o transmitidos, es necesario establecer ciertos protocolos para su carga, transmisión, rotación o bloqueo. En los estándares del PCI SSC (principalmente PCI PIN y P2PE), cuando los datos a proteger son datos de cuenta o datos de PIN empleando los algoritmos TDEA o AES, se permite el uso de tres métodos: clave fija, MK/SK y DUKPT, todos descritos en el estándar ANSI X9.24. En este artÃculo se revisará cada uno de esos métodos.
Clave fija
El método más simple para la gestión de claves criptográficas es mediante el uso de claves fijas, descrito en el estándar ANSI X9.24-1-2017 Retail Financial Services Symmetric Key Management Part 1: Using Symmetric Techniques. En este método se usa una clave dedicada para el cifrado de los datos. Estas claves pueden ser cargadas fÃsicamente desde un dispositivo de carga de claves (Key Loading Device – KLD), mediante el uso de componentes en claro o shares (m-of-n) o remotamente a través de criptografÃa asimétrica. Se denominan «claves fijas» ya que la única forma de remplazarlas es empleando cualquiera de los mecanismos de carga descritos anteriormente (es decir: no existe una clave simétrica de transporte que se pueda emplear para «rotar» remotamente la clave de cifrado de datos).
No se debe confundir el concepto de «clave fija» con el de «clave estática». Mientras que el primero se refiere a la imposibilidad de rotar la clave salvo que se usen las mismas técnicas que se emplearon en la carga inicial, el concepto de «clave estática» se refiere a una clave que no tiene definido un criptoperiodo y no se cambia regularmente.

| Ventajas | Desventajas |
|---|---|
| Facilita la operación ya que no necesita de claves adicionales de transporte. | La rotación de claves requiere del uso del mismo mecanismo empleado en la carga inicial, por lo que cualquier cambio de claves puede implicar el uso de componentes, shares o custodios. |
| Si la clave es comprometida, el tiempo de exposición se extenderá hasta que se realice el cambio de la clave. | |
|  El uso de claves fijas TDEA para la protección de datos de PIN o datos de cuenta (account data) está prohibido desde el 1 enero de 2023. |
Master Key/Sesion Key (MK/SK)
El método Master Key/Session Key (MK/SK) también es descrito en el estándar ANSI X9.24-1-2017 Retail Financial Services Symmetric Key Management Part 1: Using Symmetric Techniques. Este método implica el uso de dos claves independientes:
- Una clave de transporte (denominada Master Key), que debe ser de uso exclusivo para el cifrado de otras claves (es decir: no puede cifrar datos) y debe usar un algoritmo y una longitud de clave igual o superior al de la clave que se va a proteger. Esta clave es, a todos sus efectos, una clave fija. Debe ser cargada empleando componentes, shares o criptografÃa simétrica. No se puede usar esta clave para transportar su propio remplazo.
- Una clave de cifrado de datos (denominada Session Key), que debe ser de uso exclusivo para el cifrado de datos (PIN, datos de cuenta o cualquier otro dato sensible).
Empleando este método, es posible «rotar» o «remplazar» la clave de datos (SK) de forma remota mediante el uso de la clave de transporte (MK), siendo éste el principal diferencial con el método de clave fija. Esta acción se debe realizar cada vez que se cumpla el criptoperiodo de la clave de datos.
Dependiendo del escenario y del canal en donde se implemente este método, las claves MK/SK pueden recibir diferentes nombres:
- En conexiones genéricas:
- Key Encrypting Key (KEK) o Key Transport Key (KTK) para la MK
- Key Working Key (KWK) o Key Transaction Key (KTK) para la SK
- En conexiones con terminales (dispositivos de punto de venta o cajeros electrónicos):
- Terminal Master Key (TMK) para la MK
- Terminal Working Key (TWK) o Terminal PIN Key (TPK – si se usa para el cifrado de PIN) para la SK
- En conexiones host-to-host:
- Zone Master Key (ZMK) o Zone Control Master Key (ZCMK) para la MK
- Zone Working Key (ZWK) o Zone PIN Key (ZPK – si se usa para el cifrado de PIN) para la SK
- Acquirer Master Key (AMK) y Acquirer Working Key (AWK) para conexiones con adquirientes
- Issuer Master Key (IMK) e Issuer Working Key (IWK) para conexiones con emisores (issuers)

| Ventajas | Desventajas |
|---|---|
| Permite la rotación de claves de datos de forma remota y periódica. | Se requiere un par de claves para cada terminal o dispositivo de cifrado de datos. Esto implica un crecimiento aritmético, complicando la gestión de claves a medida que aumentan las terminales de cifrado administradas. |
| Permite la transmisión segura y automatizada de claves de sesión. | Si la clave de transporte es comprometida, toda la jerarquÃa de claves bajo ella estará igualmente comprometida. |
| Si se cambia el algoritmo o la longitud de claves por uno superior al de la clave de transporte previamente desplegada, es necesario emplear una clave de transporte nueva. | |
| Para establecer un canal de comunicación bidireccional efectivo, es necesario que la clave de transporte (MK) sea previamente compartida entre los dos puntos en comunicación. |
Derived Unique Key Per Transaction (DUKPT)
Finalmente, el tercer método de gestión de claves se describe en el estándar ANSI X9.24-3-2017 Retail Financial Services Symmetric Key Management Part 3: Derived Unique Key Per Transaction. DUKPT (pronunciado duck-putt) permite que el dispositivo que inicia la transacción y envÃa los datos (una terminal de pago o un cajero electrónico) sea capaz de generar claves únicas por cada transacción sin la necesidad de almacenar ningún registro de claves usadas anteriormente. En el otro lado de la transacción, la entidad que recibe los datos escapaz de «regenerar» la clave empleada por el dispositivo emisor mediante una clave de derivación básica (denominada Derivation Key Base – BDK) y una serie de datos contenidos en la transacción sin necesidad de «sincronizarse» con el dispositivo origen.
En este proceso están involucrados los siguientes elementos:
- Derivation Key Base (BKD): Es la clave criptográfica principal de todo el proceso, pudiendo ser una clave TDEA de doble o triple longitud o AES. Esta clave debe estar presente en el receptor de la transacción para derivar las transacciones recibidas de los dispositivos origen. Igualmente, debe ser compartida con la entidad que realiza la inyección de las claves iniciales (denominada Key Injection Facility – KIF).
- BDK ID: Es el identificador de la clave BDK usada en el proceso.
- Derivation Identifier (ID): Es un número único asociado a cada terminal origen dentro del entorno.
- Transaction counter: Es un contador que se incrementa cada vez que se procesa una transacción
- Initial Key: Es el resultado de cifrar (BDK ID + Derivation ID + Transaction counter en cero) con la BDK. La clave resultante de este proceso es inyectada en la terminal origen durante la inicialización.
- Future Key (FK): Cada vez que se procesa una transacción en el dispositivo origen, el Transaction counter se incrementa (por lo general en 1, aunque es parametrizable). Cada vez que el Transaction counter se incrementa, es cifrado con la clave usada en esa transacción (old key) y ese resultado se convierte en una nueva clave que será empleada en la siguiente transacción. Una vez generada la future key, la old key es borrada del sistema.
- Variants: Empleando como origen una Future Key es posible generar un conjunto de claves adicionales para el cifrado de los datos del PIN (PINkey), de datos de cuenta (Datakey) y para funciones MAC (MACkey). Estas claves se generan aplicando una máscara binaria preestablecida a la FK. Este paso es opcional.
- Key Serial Number (KSN): Es el dato transmitido por la terminal origen conjuntamente con los datos cifrados, compuesto por la BKD ID, el Derivation ID and the Transaction Counter. Este dato es enviado por el dispositivo origen con los datos de la transacción cifrada, para que pueda ser descifrado en el entorno receptor.
Una vez el entorno receptor recibe la transacción cifrada y el KSN, puede regenerar internamente la clave empleada en la transacción asociada mediante el uso de la BKD.

| Ventajas | Desventajas |
|---|---|
| Solamente se requiere de una clave para la gestión completa del sistema criptográfico (Derivation Key Base – BDK) | La totalidad de la seguridad de este método estará en la Derivation Key Base (BDK). Si la BDK es comprometida, todo el criptosistema estará comprometido. |
| Si un atacante compromete una clave en el dispositivo emisor, esa clave solamente será útil para una única transacción y no ofrecerá información para la obtención de claves anteriores o futuras. | Es necesario inyectar una clave inicial en cada dispositivo origen. Esta inyección puede realizarse de forma local en una sala segura o mediante criptografÃa simétrica. |
| Con este método se pueden procesar millones de transacciones en un dispositivo origen sin necesidad de realizar rotaciones de claves ya que cada clave es única por transacción. | |
Conclusion
Uno de los principales problemas que plantea el cifrado con claves simétricas es la necesidad de que ambos puntos en comunicación tengan la misma clave antes de proceder con cualquier intercambio de datos. Una vez las claves estén establecidas, todos los datos transmitidos a partir de ese momento estarán protegidos. No obstante, este proceso asume que las claves criptográficas ya están desplegadas en los puntos en comunicación, lo cual es – de lejos – la tarea más delicada desde el punto de vista de seguridad.
Para esta gestión se emplean diferentes métodos (clave fija, MK/SK y DUKPT) con sus pros y contras. Es decisión de la entidad implementarlos en función de la cantidad de elementos en comunicación, si existen restricciones fÃsicas o no o si se necesita rotar de forma remota las claves de cifrado de datos.