Por Rick H. - Experto en ciberseguridad en Squad
Hoy en día se generan cantidades ingentes de información de diversa índole, parte de la cual es sensible y debe protegerse. Con la llegada de nuevas normativas, como el proyecto de ley de programación militar, el RGPD o el PCI-DSS, las empresas deben cumplir con ellas. Para ello, es necesario poner en marcha proyectos de larga duración y, en ocasiones, revisar toda o parte de la arquitectura existente.
Afortunadamente, existen soluciones para proteger estos datos confidenciales sin dejar de cumplir con estas normativas o incluso eludiéndolas. Por lo general, la norma PCI-DSSse centra principalmente en el tratamiento de los números de las tarjetas; por lo tanto, si nos las arreglamos para dejar de manejar los números de las tarjetas propiamente dichos y pasar a manejar «otra cosa», quedamos fuera del ámbito de aplicación de la norma PCI-DSS.
Vamos a presentar brevemente cuatro tipos de protección de datos: el cifrado, el enmascaramiento, la anonimización y la tokenización.
El cifrado
El cifrado es el método de protección más conocido. Consiste en utilizar un algoritmo conocido por todos, denominado «algoritmo de cifrado», combinado con una clave, denominada «clave secreta». El objetivo es, por ejemplo, tomar un texto denominado «texto en claro» como entrada y obtener como resultado una secuencia de caracteres incomprensibles denominada «texto cifrado». Esta operación, a diferencia de la operación de hash, es reversible. Sin embargo, no conserva ni la longitud ni el formato inicial.

El enmascaramiento
El enmascaramiento consiste, como su nombre indica, en ocultar ciertos caracteres para impedir que se pueda rastrear el origen. Es el método que se utiliza en los recibos de tus transacciones con tarjeta de crédito; por lo general, solo se ven los cuatro últimos caracteres. El problema es, como habrás adivinado, que al correlacionar los mismos datos iniciales que se han ocultado varias veces de forma diferente, tal vez podamos rastrear el origen.

El anonimato
La anonimización es un método bastante amplio sobre el que podríamos hablar durante horas, pero me limitaré a explicar sus fundamentos. Se divide en dos grandes categorías: la aleatorización y la generalización. El objetivo principal de estos dos métodos es «difuminar» la información. La aleatorización altera un conjunto de datos inicial (por ejemplo, la lista de empleados de una empresa con sus salarios) utilizando métodos como la adición de ruido, la permutación o la supresión. Un ejemplo de conjunto de datos aleatorizado:

La generalización
Por su parte, la generalización no altera el conjunto de datos inicial, sino que se limita a difuminarlo lo suficiente como para que solo haya una probabilidad entre X (donde X está por definir) de remontarse a la fuente. Los métodos que se utilizan principalmente son el k-anonimato y la l-diversidad, pero no voy a extenderme en ello. He aquí simplemente un ejemplo de aplicación:

La tokenización
La tokenización es una técnica bastante reciente e innovadora. Consiste en transformar un dato sensible en un «token» que carece de valor intrínseco. Es reversible y permite conservar la longitud y el formato originales. Se basa en un método de transposición de tablas dinámicas para no tener que gestionar claves secretas y sus rotaciones, lo que aumenta también la seguridad del algoritmo, ya que es desconocido para un posible atacante, a diferencia del cifrado, donde un atacante «solo» tendría que encontrar la clave. El ejemplo más clásico de tokenización sigue siendo el del número de tarjeta de crédito, en el que se obtiene como resultado otro número de tarjeta de crédito de la misma longitud, pero que carece de valor intrínseco. También podemos limitarnos a proteger solo una parte de los datos, como en el caso de las fechas de nacimiento o los correos electrónicos, por ejemplo. Además, se puede decidir que el formato de los datos iniciales no nos interesa y que simplemente queremos hacerlos ilegibles sustituyendo los caracteres por otros. He aquí algunos ejemplos clásicos:

Por último, para aprovechar mejor toda esta información, aquí tienes una pequeña tabla comparativa entre los métodos que acabamos de mencionar:

