seGuriDad.mOpLin

InfoSeg & cumplimiento PCI-DSS

Artículos con la etiqueta 3.4

En la parte I de este artículo, se reviso lo que pide la norma respecto a la protección del PAN (Número principal de la cuenta de tarjeta de crédito), se definió que es lo que significa encripción para la norma y se explico cuáles son las opciones adicionales que contempla la norma respecto al requerimiento.

En esta parte del artículo, voy a desarrollar el tema de la encripción del PAN ya que es probablemente uno de los temas más complejos respecto al cumplimiento de la norma.

Ver: El requerimiento 3.4 y encripcion del PAN – Parte I

En el requerimiento 3 “Proteger los datos almacenados de la tarjeta”, en el punto 3.4 pide al menos dejar ilegible el numero PAN cuando se almacene, y el resto de datos como Nombre del titular, Código de servicio y fecha de caducidad cuando se encuentran junto al PAN.

Para estos casos la norma específica que la encripción la que debe contemplar la exigencia de “Criptografía Sólida”.

La finalidad de la criptografía como tal es la preservación de la confidencialidad de los datos, que cuando es implementada de forma apropiada, permitiría conservar el secreto de los mismos, incluso el caso en el que un atacante logre ingresar a la red y obtener la información le seria de poca utilidad; ya que si no posee las llaves para des-encripción la misma seria ilegible.

En los casos en los que es imposible implementar encripción de los datos almacenados, la norma contempla que se utilicen controles compensatorios, de los que hablare en la tercera parte del artículo.

Para quienes están evaluando la posibilidad encripción de sus Bases de Datos, Repositorios de archivos (Ej. Archivos de conciliación), deben considerar los siguientes métodos.

  • Encripción por encapsulación
  • Encripción a nivel de archivo o folder
  • Encripción completa de disco
  • Encripción en base de datos a nivel de columna y a nivel de datos

Encripción por encapsulación: La encripción por encapsulación se logra usando aplicativos que generan un súper archivo que se encontrara encriptado en base a normas de la industria (Criptografía Sólida) y depositara en él la información a encriptar. Este súper archivo puede ser por ejemplo un documento comprimido y encriptado (ej. PKware SecureZIP), o un volumen de encripción que puede crear un disco virtual encriptado (ej. Truecrypt ).

Una ventaja principal se da cuando se usan estos métodos para encriptar datos previo su envió por trasmisión insegura o por correo regular, estos sistemas pueden integrarse a desarrollos internos para lograr encripción en las aplicaciones.

Como desventaja fundamental, este método no es práctico para usar bases de datos.
Este tipo de métodos son muy eficientes para trasmisión de información o encripción en computadores portátiles, sin embargo para la revisión de conformidad se deberá tomar en cuenta el manejo y administración de llaves de des-encripción y contraseñas.

Encripcion a nivel de archivo o folder: Esta encripción se logra utilizando paquetes de terceros o configuraciones existentes en los sistemas operativos, en los que se permite especificar los elementos almacenados en el disco que encriptarán (archivos individuales o folders y su contenido).
Una de las ventajas es que por lo general esta solución puede estar atada a niveles de protección por acceso a la información por autenticación (ej. Permisos de acceso por directorio activo), son procesos menos invasivos a las bases de datos, suele consumir menos recursos, suele tener buenas cualidades de auditoría y bitácoras.

Dentro de sus desventajas pueden anotarse problemas o imposibilidad de realizar respaldos, complejidad del manejo de las llaves.

Como ejemplo de aplicación, se puede hablar de servidores de archivos en intranet, sistemas de FTP, etc. En los que las organizaciones almacenan datos que por lo general se usan para intercambio de información (Aun así recordemos que la norma nos exige no almacenar datos de tarjeta de crédito en forma local, pero para los que justifican por necesidad de negocio el almacenamiento, deben cumplir con encripción).

Encripcion completa del disco: FDE (Full Disk Encription) es el método que se logra utilizando productos especializados (Safenet, Truecrypt, etc.) o características del sistema operativo que permiten la encripción competa del disco duro. En este método se encripta todo el contenido del disco o discos, incluyendo el sistema operativo, esto se logra en base a encriptar sector por sector en el disco. Un driver filtro que por lo general se almacena en memoria al momento de arrancar el computador y previo a la inicialización del sistema operativo, es el responsable de la des-encripción de los datos en tiempo real y de forma transparente.

tp-lock

Dentro de las ventajas principales podemos mencionar que la encripción se logra de forma integral (incluyendo los sectores swap o de intercambio de memoria), la encripción es obligatoria para todos los usuarios, la encripción y des-encripción es transparente, aun en el caso de intentar el acceso con otros medios de inicialización de sistema es imposible leer la información, se pueden utilizar tokens de acceso (físicos y lógicos) para no usar contraseñas.

Como puntos en desventajas podemos mencionar que si el software (driver en memoria) para la des-encripción se corrompe haría imposible recuperar los datos almacenados, debe observarse la administración de contraseñas y llaves de des-encripción pues las mismas deben cumplir con las normas PCI, l fragmentación del disco puede ser un problema, algunos programas para lograr esta encripción pueden causar un aumento considerable en tiempo de acceso a los datos.

La encripción completa de disco es eficiente en los casos en los que se deben proteger los datos en estaciones de trabajo y equipos móviles que tienen un riesgo alto de compromiso. Puede utilizárselo para la encripción en servidores (bases de datos, servidores de archivos, ftp, correo, etc.) pero dependiendo del QSA podría no ser aceptado ya que por concepto, si el sistema operativo esta funcionando y el atacante accede por un servicio (recurso compartido, acceso remoto, etc.), podría acceder a los datos ya que la des-encripción se da entiempo real para todos sin discriminación por usuarios.

Encripción en base de datos a nivel de columna: Para este caso encontramos dos opciones en la primera se usa encripción por programa y en la segunda encripción por caja negra.

Card-Vault-PCI-DSS-S

Encripcion por programa: Se logra utilizando características de la base de datos o utilizando programas especializados que se instalan en el servidor de la base de datos. Aun cuando es una solución buena, siempre se debe afrontar que este método por lo general causa un desgaste enorme de recursos del servidor y por lo general aumenta el tiempo de respuesta en los sistemas.

Dentro de esta metodología se puede mencionar que el proceso de encripción y des-encripción se puede llevar a nivel de la aplicación que accede a los datos, en estos casos la ventaja se da en que el servidor de la base de datos no ve impacto en sus recursos, pero por lo general requiere de gran esfuerzo en programación y re-programación de los sistemas.

Encripcion por caja negra: Para esto se adquiere un equipo especializado que funciona como un filtro en la red, el mismo atrapa las transacciones antes de llegar a la base de datos o al salir de la misma y en base a configuraciones determina que datos deben ser encriptados o des-encriptados utilizando llaves que se encuentran sembradas en los mismos. Este caso por lo general es el más óptimo por ser efectivo y no causar estragos en los recursos del sistema o base de datos, pro por lo general es la solución más costosa.

En ambos casos lo la intención es encriptar en forma dinámica los datos que se están almacenando en una columna de una tabla dada en la base de datos. Para lograr esto por lo general se requiere de mucha planificación para implementación y por lo general la reprogramación de los sistemas que acceden a la base de datos.

Algunas de las ventajas a citar implican por ejemplo que los procesos de encripción / des-encripción por lo general son poco impactantes ya que solo aplican al valor almacenado y no a todos los datos; Estos sistemas se pueden usar en conjunto con otros controles para proteger los datos de los administradores del sistema o la base de datos.

Como desventaja a mencionar, esta solución es altamente invasiva al diseño de la aplicación y la base de datos.

Es importante que se considere que aun en estas solución es se deben contemplar y aplicar los requerimientos de administración de contraseñas y almacenamiento seguir de las llaves de encripción. Especialmente en el caso del almacenamiento de llaves pues todo atacante sabe que la encripción es inútil si se comprometen las mismas.


Parte III: En la parte final de este artículo trabajare sobre los controles compensatorios que se pueden usar para solventar el requerimiento, como se reduce el alcance y complejidad.

Ver:

.

El PCI-DSS dentro de sus varios puntos a cumplir exige que se realice la encripción de datos de Tarjetas de Crédito específicamente refiriéndose a datos del titular de la tarjeta (Numero principal de la tarjeta de crédito “PAN “, Nombre del titular, Código de servicio y fecha de caducidad – Los últimos tres solo si se encuentran almacenados junto al PAN).

Criptex

El requerimiento 3.4 de la norma dice:

Haga que el PAN quede, como mínimo, ilegible en cualquier lugar donde se almacene (incluidos los datos que se almacenen en medios digitales portátiles y en registros) utilizando cualquiera de los siguientes métodos:
Valores hash de una vía en criptografía sólida

  • Truncamiento.
  • Token y ensambladores de índices (los ensambladores se deben almacenar de manera segura).
  • Criptografía Sólida con procesos y procedimientos de gestión de claves relacionadas

Nota: La información de cuenta de tarjeta de crédito MÍNIMA que se debe dejar ilegible es el PAN (Numero principal de la Tarjeta de Crédito).

Aquí hay que hacer algunas aclaraciones, primero este punto contempla el hecho de no poder ser ejecutado, por lo que se pueden tomar medidas compensatorias de las que luego hablaremos. Y segundo cuando se habla de criptografía, la norma espera que sea “criptografía solida”.

Pero que es Criptografía:
La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) mediante el cifrado de la información y, en segundo lugar, asegurar que la información que se envía es auténtica en un doble sentido: que el remitente sea realmente quien dice ser y que el contenido del mensaje enviado, habitualmente denominado criptograma, no haya sido modificado en su tránsito.

El cifrado es el proceso de convertir el texto plano en un galimatías ilegible, denominado texto cifrado o criptograma

Ahora que para el PCI-DSS solo la Criptografía Solida se considerara como opción, esta es el método de cifrado que se ha basado en algoritmos probados y aceptados por la industria, extensiones de clave sólidas y prácticas adecuadas de administración de claves, excluyendo de esta forma todo tipo de desarrollo criptográfico propio o métodos propietarios no conocidos.

Ejemplos de método HASH aceptado:

  • SHA-1, Whirlpool

Ejemplos de criptografía solida aceptada:

  • AES (128 bits y superior)
  • TDES (claves mínimas de doble extensión)
  • RSA (1024 bits y superior)
  • ECC (160 bits y superior)
  • ElGamal (1024 bits y superior).

Esto para varias entidades procesadores, bancos, comercios se ha convertido en uno de los temas de mayor controversia respecto a la norma, ya que estas consideraciones implican la utilización de sistemas de encripción basados en al industria y eliminan la posibilidad de uso de métodos o técnicas de encripción propietarias, lo que para muchos significa cambiar sus sistemas y aplicaciones para que las mismas estén en cumplimiento. Adicionalmente la encripción en bases de datos, en las que se maneja el PAN puede recaer en costos muy altos, desarrollos extensos, horas extras interminables, modificación de programas ya estables y muchos otros dolores de cabeza.

Antes de entrar en la discusión de encripción para cumplimiento del punto 3.4, hablemos de el significado completo del punto.

Recordemos que el punto hace referencia a “hacer que le PAN sea ilegible”, no especifica que la única forma de salvaguardarlo sea por encripción. Como tal la norma plantea la posibilidad de usar otras formas menor impactantes como son Valores hash de una vía en criptografía sólida, Truncamiento, Token y ensambladores de índices, estas opciones son validas para soluciones especificas, en las que pueda no requerirse revertir el cambio que sufrieron los datos.

Valores hash de una vía
Los valores hash de una vía (como SHA-1) pueden usarse para transformar a los datos del titular de la tarjeta. Los valores hash son apropiados cuando no hay necesidad de recuperar el número original, para estos casos se debe considerar que los valores hash de una vía son irreversibles.

Esta solución  por lo general puede usarse para realizar autenticación y comprobación de datos, tanto almacenados como en transporte.

Truncamiento
Este método es usado para que se almacene sólo una porción del PAN (que no se superen los primeros seis dígitos y los últimos cuatro). El truncamiento como tal es parte de la solución del enmascaramiento propuesta por la norma, y mucho de los comercios pueden optar por truncar o enmascarar la información para realizar los procesos de conciliación con los bancos y procesadores.

Esto es distinto al ocultamiento, en donde el PAN completo se almacena pero se oculta cuando aparece (es decir, sólo aparece una parte del PAN en las pantallas, los informes, los recibos, etc.).

Token y ensambladores de índices
Estos últimos pueden usarse para que los datos de los titulares de tarjetas sean ilegibles.

Un token de índice es un token criptográfico que reemplaza el PAN en base a un índice dado para un valor imprevisible. Un ensamblador de una vez es un sistema en el que una clave privada, que se genera de forma aleatoria, se usa sólo una vez para cifrar un mensaje que luego se descifra con un ensamblador de una vez y una clave.

Estos son sistemas complejos que pueden representar una solución apropiada ya que por lo general estas soluciones se brindan como equipos separados a la base de datos, en donde el performance de los equipos y la latencia es mínima.

El problema que se tiene en la mayoría de los sistemas desarrollados, se da cuando se han usado los números principales de tarjeta de crédito PAN, como clave única o principal de la tabla en la que se los guarda. En ese caso, ninguno de los métodos anteriores e incluso la encripción puede ser una solución apropiada o realizar el cambio ya involucra una cantidad de trabajo e inversión económica que no es sostenible para las organizaciones.

Para estos casos, se recomienda analizar las opciones existentes para el establecimiento de controles compensatorios.

Parte II: En la segunda parte de este artículo concluiré con un análisis sobre los que significa la encripción de estos datos para las organizaciones, como afecta los sistemas, el alcance real que este punto de la norma tiene.

Ver:

.