Por qué tu servidor NAS debe tener aceleración de cifrado por hardware

La aceleración de cifrado por hardware es una característica muy importante en los servidores NAS y en nuestros PC, gracias a esta característica el proceso de cifrado y descifrado con el algoritmo de cifrado simétrico AES se realiza a través de instrucciones en el procesador, permitiendo un mayor rendimiento que si lo hiciera directamente a nivel de sistema operativo por software. AES (Advanced Encryption Standard) es actualmente el cifrado simétrico más utilizado, por este motivo, todos los procesadores incorporan esta aceleración de cifrado. Hoy en RedesZone os vamos a explicar en detalle qué es la aceleración de cifrado por hardware, cómo funciona y en qué mejora el rendimiento de nuestro servidor NAS.

¿Qué es AES y qué significa AES-NI?

AES (Advanced Encryption Standard) es un esquema de cifrado por bloques que es actualmente el estándar de cifrado en todo el mundo, desde el año 2006 se impuso como el algoritmo de cifrado simétrico más utilizado en todo el mundo. Este algoritmo de cifrado simétrico tiene un tamaño de bloque fijo de 128 bits, y tamaños de longitud de clave de 128, 192 y 256 bits. Actualmente, AES se considera un algoritmo de cifrado simétrico seguro, aunque existen modos de cifrado de AES que son más seguros que otros, además de proporcionarnos características adicionales a la confidencialidad, como la autenticidad (integridad) si utilizamos GCM (Galois Counter Mode) ya que es AEAD (Authenticated Encryption with Associated Data). Además, el modo de cifrado GCM en AES permite un mayor rendimiento porque permite gestionar de forma paralela los datos.

Los fabricantes de procesadores como Intel, AMD o ARM han integrado el conjunto de instrucciones de AES dentro de sus procesadores, con el objetivo de mejorar enormemente el rendimiento en el trabajo de cifrado y descifrado de los datos, haciendo que la velocidad de lectura y escritura sea claramente muy elevada en comparación con otro procesador que no tenga esta característica. Popularmente se le denominan a este conjunto de instrucciones AES como AES-NI (Advanced Encryption Standard New Instructions) o simplemente aceleración de cifrado por hardware, para indicar que un procesador en concreto soporta esta tecnología.

Procesadores Intel y AMD compatibles con AES-NI

AES-NI es una extensión del juego de instrucciones en las arquitecturas X86 que nos permite incrementar enormemente la velocidad del cifrado y descifrado de datos. En la mayoría de los casos esta funcionalidad viene activada de manera predeterminada en la BIOS del equipo, no obstante, es recomendable revisar si en la BIOS tenemos esta funcionalidad habilitada. En algunos casos con equipos antiguos, la BIOS no es compatible con esta opción, por lo que es recomendable revisar nuestra versión y actualizarla siempre que sea posible.

Actualmente todos los nuevos procesadores que salen al mercado, excepto los de gama más baja basados en ARM, son compatibles con AES-NI, no obstante, siempre es recomendable visitar la web oficial de los diferentes fabricantes para conocer de primera mano si un procesador en concreto soporta la aceleración de cifrado por hardware. Por ejemplo, desde hace bastantes años todos los procesadores de Intel y AMD disponen de esta tecnología tan importante hoy en día, y es que podremos acelerar enormemente el rendimiento en lectura y escritura cuando estamos tratando con datos cifrados con AES, además, la carga de CPU por realizar esta operación es realmente baja en comparación con un procesador que no soporte esta función.

¿Cómo puedo saber si mi servidor NAS soporta aceleración de cifrado por hardware?

Cuando compramos un servidor NAS, normalmente en la web oficial del fabricante indica si soporta aceleración de cifrado por hardware o no lo soporta, no obstante, siempre sería recomendable mirar qué procesador lleva este servidor NAS, y entrar en la web oficial del fabricante del procesador y comprobar fehacientemente si realmente soporta AES-NI o aceleración de cifrado por hardware, para despejar cualquier tipo de duda sobre ello. Os vamos a poner dos ejemplos claros de servidores NAS que soportan aceleración de cifrado por hardware, uno con procesador Intel y otro con procesador AMD.

Si nos vamos a la web oficial del modelo QNAP TVS-h1288X, podemos ver que este servidor NAS sí incorpora motor de cifrado AES-NI, por tanto, tenemos aceleración de cifrado por hardware.

Este servidor NAS incorpora un procesador Intel Xeon W-1250, si nos metemos en la web oficial de Intel podemos comprobar que efectivamente soporta las «Nuevas instrucciones de AES Intel», por tanto, podemos afirmar que este procesador sí soporta aceleración de cifrado por hardware.

En el caso del servidor NAS QNAP TS-473A que es de gama más baja que el anterior, incorpora un procesador AMD Ryzen V1500B, según la web oficial de QNAP también tendremos aceleración de cifrado por hardware AES-NI, por tanto, conseguiremos un gran rendimiento a la hora de cifrar y descifrar la información.

Si nos metemos en la web oficial de la familia de procesadores AMD Ryzen V1500, podemos ver en la sección de seguridad que dispone de diferentes características relacionadas con el cifrado de datos y la seguridad, sin embargo, no indica claramente que tenga AES-NI.

Si nos metemos en una web de comparación de procesadores cualquiera, podemos ver que sí soporta AES-NI, tal y como podéis ver a continuación:

Hoy en día todos los procesadores de Intel y AMD que salen al mercado, aunque sean de gama de entrada, disponen de aceleración de cifrado por hardware AES-NI, porque es una funcionalidad muy necesaria hoy en día por lo que os explicaremos a continuación.

¿Para qué necesito un servidor NAS con aceleración de cifrado por hardware?

Los servidores NAS nos permiten almacenar toda la información en ellos, si queremos tomar medidas de seguridad para tener confidencialidad, es fundamental cifrar todos los datos, ya sea cifrado una vez que esté en el disco duro, o cifrado en las comunicaciones con el servidor NAS. De esta forma, podremos tener la seguridad de que nuestros datos no podrán ser leídos sin la contraseña maestra que descifran esos datos.

Cifrado de volúmenes y carpetas

Los servidores NAS a través de sus sistemas operativos permiten configurar cifrado de volúmenes y también de carpetas, por ejemplo, en el caso de QNAP podremos cifrar (encriptar) un volumen entero, con el objetivo de proteger al máximo la información en caso de que se extraiga el disco duro o que nos roben físicamente el servidor NAS. De esta forma, todos los datos que copiemos en ese volumen se cifrarán y descifrarán al vuelo, haciendo que el procesador se encargue de esta tarea. Si tenemos un procesador con AES-NI notaremos que todo va perfectamente y no tenemos ningún tipo de cuello de botella, además, podremos ver que el uso de CPU no se dispara a valores del 90% o 100% cuando estamos transfiriendo archivos. Si no tuviéramos esta característica, veríamos como el procesador principal del servidor NAS se dispara a un uso del 100%, y el rendimiento de lectura y escritura es claramente más bajo, porque tendremos un cuello de botella debido a este cifrado/descifrado de datos.

En cualquier momento podremos bloquear el acceso a este volumen cifrado, cambiar la contraseña y otras opciones de gestión de volúmenes cifrados:

Otra característica interesante es que podremos cifrar una carpeta únicamente, no es necesario cifrar el volumen entero. En este caso, también haremos uso del popular algoritmo de cifrado simétrico AES para la tarea de cifrado y descifrado de los datos. Si tenemos un procesador con AES-NI, podremos tener el mismo rendimiento que si la carpeta no estuviera cifrada, de esta forma, siempre será recomendable cifrar todo el contenido.

Tal y como podéis ver, tenemos la posibilidad de cifrar únicamente una carpeta, no obstante, nuestra recomendación es utilizar el cifrado por volumen directamente.

SMB 3.0: transferencias en red local cifradas

El último protocolo SMB 3.0 no solamente nos permite realizar una autenticación con seguridad utilizando cifrado, sino que toda la transferencia de datos desde un origen hasta un destino puede estar cifrada, haciendo uso del algoritmo de cifrado simétrico AES. Si el servidor NAS soporta la característica de aceleración de cifrado por hardware, podremos ver que el rendimiento que obtendremos es igual o casi igual que si usáramos SMB 2.0 que no utiliza cifrado de datos.

Gracias a la incorporación de AES-NI, podremos proteger todas nuestras comunicaciones en la red local, con el objetivo de que, si alguien es capaz de capturar la información, no pueda descifrarla, manteniendo nuestra privacidad.

FTPES: protocolo FTP con cifrado de datos

El protocolo FTP seguro, o también conocido como FTPES, también se ve claramente beneficiado por esta característica tan importante de los servidores NAS. FTPES hace uso de los protocolos TLS 1.2 o TLS 1.3 para el canal de control, sin embargo, para el canal de datos donde vamos a transferir toda la información hace uso de AES-GCM generalmente, aunque dependiendo de la configuración del servidor FTPES esto podría cambiar. La configuración en un servidor NAS de QNAP es tan sencillo como pinchar en «FTP con SSL/TLD (Explícito)» para activar esta funcionalidad tan importante.

Cuando nos vayamos a conectar con el servidor FTPES con programas como FileZilla, podremos ver que la comunicación está totalmente cifrada. Nos mostrará el certificado digital que hemos tenido que configurar, o que automáticamente ha configurado el servidor NAS por nosotros. Podremos ver que se ha utilizado un algoritmo de clave pública RSA de 2048 bits con SHA256 como firma. Nos indicará que la sesión de comunicación se ha realizado utilizando TLS 1.2 con una suite criptográfica en concreto, y que el cifrado de datos para el intercambio de información es AES-128-GCM, por tanto, tenemos AEAD como hemos explicado anteriormente.

En FileZilla nos aparecerá un candado en la parte inferior derecha, indicándonos que la conexión está cifrada y es segura.

SFTP: protocolo basado en SSH con cifrado

El protocolo SFTP está basado en SSH, nos permitirá intercambiar archivos de autenticarnos con el servidor de forma segura utilizando todos los protocolos criptográficos del SSH. Este protocolo es ampliamente utilizado porque solamente es necesario abrir un puerto, por donde fluye toda la comunicación. En este caso, la configuración del servidor SFTP se debe realizar a través de la sección de SSH, tal y como podéis ver a continuación:

Al conectarnos con un programa como FileZilla a este servidor SFTP, nos indicará los diferentes algoritmos que ha utilizado. Por ejemplo, el intercambio de clave se ha realizado con ECDH con Curve25519, usando un hash SHA-256. La clave del servidor es RSA 3072 bits, y el cifrado de datos se realiza a través de AES-256-GCM, lo que nos permitirá transferir datos a una grandísima velocidad.

En la parte inferior derecha de FileZilla también podréis ver un candado indicándonos que la comunicación es segura.

Servidor VPN con mayor rendimiento

La mayoría de servidores NAS disponen de servidores VPN para conectarnos de forma segura y remota a la red local. Si nuestro NAS incorpora AES-NI y hacemos uso de protocolos como OpenVPN que está basado en TLS, podremos conseguir un mayor ancho de banda para la descarga o subida de archivos. En nuestras pruebas hemos comprobado que un NAS con aceleración de cifrado por hardware como el QNAP TS-1277 es capaz de proporcionar hasta 500Mbps de velocidad simétrica, sin embargo, si no tuviera aceleración de cifrado por hardware el rendimiento sería de unos 100Mbps aproximadamente, tal y como ocurre actualmente con los routers que integran una VPN y no disponen de aceleración de cifrado por hardware. Si tu servidor NAS no soporta AES-NI, una buena alternativa puede ser utilizar WireGuard, este protocolo de VPN seguro es mucho más rápido que OpenVPN o que IPsec IKEv2, por lo que es ampliamente recomendable.

Tal y como podéis ver, hoy en día es fundamental que un servidor NAS cuente con aceleración de cifrado por hardware, además, también es muy recomendable que nuestros PC incorporen esta funcionalidad tan importante, para poder aprovechar al máximo la velocidad de las redes locales que hoy en día son ya Multigigabit (2.5G en adelante).