Criptografía, métodos de cifrado y hashing: cómo las empresas PCI almacenamos datos de forma segura

Post de experto

Andrés de la Cruz, Desarrollador Web en PaynoPain

 

En un sector como el fintech, donde se utilizan y manipulan infinidad de datos personales, la seguridad en un factor decisivo y que no solamente se debe tener en cuenta, sino que debe utilizarse de forma coherente.

Los datos más importantes que un usuario confía a la hora de realizar un pago online son los relativos a su tarjeta de débito o crédito. Información que empresas como PaynoPainalmacenamos para poder ofrecer servicios como devoluciones, cargos mensuales, compras con un sólo clic, etc. Estos datos no pueden ser almacenados de cualquier forma: son datos que deben cifrarse. Entramos de lleno en la criptografía.

 

¿Qué es la criptografía?

Es la ciencia que hace uso de métodos y herramientas matemáticas con el objetivo principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando para ello dos o más claves, con los que se logra en algunos casos la confidencialidad, en otros la autenticidad o bien ambas simultáneamente. Consiste en la conversión de datos en un código codificado para que sea ilegible.

En otras palabras, transformamos un mensaje en algo inteligible que sólo podemos leer si tenemos la clave secreta. También puede ser un pdf, un correo, un archivo multimedia, etc.

La criptografía no es algo moderno ni tiene por qué ser informático. Ya en los tiempos romanos de Julio César se utilizaban métodos para que los escritos que transportaban los mensajeros no pudieran ser entendidos por cualquiera.

Cifrado César

En el llamado cifrado César las letras se codificaban desplazando la letra correspondiente un número de veces en el alfabeto. En la imagen podemos ver un desplazamiento de 3 letras.

De esta forma, la palabra PAYNOPAIN quedaría cifrada como: SDBPRSDLP.

Conforme avanza la historia, los cálculos matemáticos para cifrar se han vuelto increíblemente complejos y variados, a la par que la potencia de los ordenadores ha ido aumentando. Esto conlleva que algunos métodos para cifrar ya no resultan seguros, porque un ordenador puede encontrar la clave secreta en cuestión de poco tiempo. También significa que elegir cómo cifrar los datos es esencial y que el exceso de información en estos casos puede hacer que se elija un mal método de cifrado. Pero antes de continuar conviene que diferenciemos cuándo hay que cifrar y cuándo no.

¿Cuándo hay que cifrar? ¿Cifrar o hashear?

Antes del auge de los pagos online, los datos más importantes que todas las plataformas web debían guardar eran las contraseñas de usuario. Las contraseñas son secretas y nadie salvo el usuario debe conocerlas. Esto significa que es un dato que no se debe poder recuperar.

Muchas empresas emplean métodos de cifrado para contraseñas que por su propio uso, como hemos visto anteriormente con el cifrado César, permiten recuperar el contenido original del mensaje.

Las contraseñas son un mal ejemplo de uso de cifrado. Para las ocasiones en que el contenido no debe poder recuperarse están los llamados métodos de hashing.

Hashearun mensaje es también convertirlo en algo inteligible, pero con la particularidad de que el mensaje resultante no contiene el original.

Cifrar y Hashear

 

Sin embargo, para los datos de tarjeta sí que es necesario utilizar el cifrado y es algo tan crítico que existen estándares que regulan con qué y cómo deben cifrarse los datos. Estamos hablando del estándar PCI DSS (Payment Card Industry Data Security Standard) que permite a las empresas poder operar con esta información. En PaynoPain contamos con esta certificación y la renovamos de forma anual.

 

Métodos de cifrado

La elección de un método de cifrado siempre es una decisión importante y deben analizarse los diferentes métodos antes de tomarla. El estándar PCI mantiene una lista de métodos recomendados que va actualizándose a medida que se desarrollan nuevos.

A continuación, repasamos algunos de los cifrados más conocidos y sus especificaciones técnicas:

DES: Estándar de cifrado de flujo de 52 bits usado en 1976. La cadena de 56 bits es muy corta, por lo que es capaz de comprometerse en menos de 24 horas.

  • Longitud de clave: 52 bits.
  • Tamaño de bloque: No

TDES: Conocido también como 3DES o TripleDES, una mejora de DES que lo hace más seguro.

  • Longitud de clave: 192 bits.
  • Tamaño de bloque: No

AES: El algoritmo más utilizado hoy en día. Basado en sustituciones, permutaciones y transformaciones lineales, ejecutadas en varias veces en bloques de datos.

  • Longitud de clave: 128, 192 y 256 bits.
  • Tamaño de bloque: 128 bits.

Rindjael: Es un algoritmo de cifrado simétrico por bloques, estándar para su uso en AES.

  • Longitud de clave: Variable múltiplo de 4 bytes: 128, 192 y 256 bits.
  • Tamaño de bloque: Variable múltiplo de 4 bytes: 128, 192 y 256 bits.

Blowfish: Es un codificador de bloques simétricos incluido en un gran número de conjuntos de codificadores y productos de cifrado.

  • Longitud de clave: Variable: de 32 a 448 bits.
  • Tamaño de bloque: 64 bits.

 

En un sector tan creciente como el fintech, estar al día en la seguridad es un deber con los usuarios. Desde PaynoPain recomendamos a los usuarios que compren en sitios que ofrezcan garantías y busquen los sellos que acreditan las certificaciones de seguridad como PCI.

Comments are closed.