De forma recurrente he detectado que muchas personas (incluyendo asesores QSA) usan los términos «enmascaramiento» (masking) y «truncamiento» (truncation) como si fueran sinónimos. No obstante, desde la perspectiva de PCI DSS y de seguridad, estos términos tienen un significado y una aplicabilidad diferente, como se describe a continuación:

Enmascaramiento

El término «enmascaramiento» (masking o data masking) se aplica al ocultamiento total o parcial de los datos sensibles (en este caso, del PAN) cuando este dato es mostrado por pantalla o impreso. Usualmente, el enmascaramiento se realiza empleando asteriscos (*) o letras (X) para remplazar los dígitos a ocultar. De hecho, también se conoce coloquialmente como «asteriscado»:

Figura 1. Enmascaramiento del PAN cuando es mostrado por pantalla

 

Figura 2. Ejemplo de enmascaramiento del PAN en un recibo de pago

Figura 3. Enmascaramiento de datos del PAN empleando la función STUFF en SQL Server

El encasmaramiento se emplea usualmente para proteger los datos del PAN de observación no autorizada y su uso debe estar alineado con el requerimiento 3.3 de PCI DSS:

3.3 Enmascare el PAN (número de cuenta principal) cuando aparezca (los primeros seis o los últimos cuatro dígitos es la cantidad máxima de dígitos que aparecerá), de modo que solo el personal con una necesidad comercial legítima pueda ver más que los primeros seis o los últimos cuatro dígitos del PAN.

Sin embargo, hay que tener en cuenta que cuando se emplea enmascaramiento se protege el dato en el momento de mostrarlo (ya sea impreso o por pantalla). No obstante, el dato del PAN puede estar completo en los sistemas subyacentes de los cuales se extrae (bases de datos, ficheros, etc.).

Truncamiento

Por otro lado, el término «truncamiento» (truncation) aplica a eliminación permanente de un segmento específico de dígitos del PAN y se emplea para la protección del PAN durante su almacenamiento (en bases de datos, en ficheros, etc.).

Figura 4. PAN truncado almacenado en una base de datos

De cara al cumplimiento de PCI DSS se han definido unos criterios específicos para el truncamiento de los datos del PAN en función de la longitud del mismo, como se muestra a continuación:

Figura 5. Criterios aceptables para el truncamiento del PAN

En el caso del truncamiento, este método es aceptable para cumplir con el requerimiento 3.4 de PCI DSS orientado a la protección del PAN durante su almacenamiento:

3.4 Convierta el PAN (número de cuenta principal) en ilegible en cualquier lugar donde se almacene (incluidos los datos que se almacenen en medios digitales portátiles, en medios de copia de seguridad y en registros) utilizando cualquiera de los siguientes métodos:

  • Valores hash de una vía basados en criptografía sólida (el hash debe ser del PAN completo)
  • Truncamiento (los valores hash no se pueden usar para reemplazar el segmento truncado del PAN)
  • Tokens y ensambladores de índices (los ensambladores se deben almacenar de manera segura).
  • Criptografía sólida con procesos y procedimientos asociados para la administración de claves.

Igualmente, es importante aclarar que muchas veces los dígitos removidos del PAN para efectos de truncamiento se suelen remplazar permanentemente con asteriscos (*) o con letras (X), lo cual puede conllevar a una confusión entre los conceptos de truncamiento con enmascaramiento. Sin embargo, en este caso, el PAN completo no existe en ningún sistema subyacente.

Finalmente, es importante recordar que cuando se usan técnicas de hash para proteger el PAN durante su almacenamiento, éste no puede usado para reemplazar el segmento truncado del PAN, como se explica en el artículo «Por qué almacenar el PAN truncado junto con su hash es una muy mala idea«.

Referencias adicionales:


David Acosta

Asesor de Seguridad Calificado (QSA) para PCI DSS, P2PE, PIN, 3DS, TSP y PIN.
CISSP Instructor, CISA, CISM, CRISC, CHFI Trainer, CEH, OPST, BS25999 LA.