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.
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.
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 requerimiento 3.4 y encripcion del PAN – Parte I
- El requerimiento 3.4 y encripcion del PAN – Parte III
.
