El software de cifrado es un software que utiliza criptografía para evitar el acceso no autorizado a la información digital. [1] [2] La criptografía se utiliza para proteger la información digital en las computadoras , así como la información digital que se envía a otras computadoras a través de Internet . [3]
Existen muchos productos de software que proporcionan cifrado. El cifrado de software utiliza un código para ocultar el contenido y convertirlo en texto cifrado . Una forma de clasificar este tipo de software es el tipo de cifrado utilizado. Los cifrados se pueden dividir en dos categorías: cifrados de clave pública (también conocidos como cifrados asimétricos) y cifrados de clave simétrica . [4] El software de cifrado puede basarse en el cifrado de clave pública o de clave simétrica.
Otra forma de clasificar el cifrado de software es categorizar su propósito. Con este enfoque, el cifrado de software puede clasificarse en software que cifra " datos en tránsito " y software que cifra " datos en reposo ". Los datos en tránsito generalmente utilizan cifrados de clave pública, y los datos en reposo generalmente utilizan cifrados de clave simétrica.
Los cifrados de clave simétrica se pueden dividir en cifrados de flujo y cifrados de bloque. Los cifrados de flujo suelen cifrar el texto simple un bit o byte a la vez, y se utilizan con mayor frecuencia para cifrar comunicaciones en tiempo real, como información de audio y vídeo. La clave se utiliza para establecer el estado inicial de un generador de flujo de claves, y la salida de ese generador se utiliza para cifrar el texto simple. Los algoritmos de cifrado de bloque dividen el texto simple en bloques de tamaño fijo y cifran un bloque a la vez. Por ejemplo, AES procesa bloques de 16 bytes, mientras que su predecesor DES cifraba bloques de ocho bytes.
También existe un caso bien conocido en el que se utiliza PKI para datos en tránsito o en reposo.
Los datos en tránsito son aquellos que se envían a través de una red informática . Cuando los datos se encuentran entre dos puntos finales, cualquier información confidencial puede ser vulnerable. La carga útil (información confidencial) se puede cifrar para garantizar su confidencialidad, así como su integridad y validez. [5]
A menudo, los datos en tránsito se encuentran entre dos entidades que no se conocen entre sí, como en el caso de visitar un sitio web. Como establecer una relación y compartir de forma segura una clave de cifrado para proteger la información que se intercambiará, se ha desarrollado un conjunto de roles, políticas y procedimientos para lograr esto; se conoce como la infraestructura de clave pública o PKI. Una vez que PKI ha establecido una conexión segura, se puede compartir una clave simétrica entre los puntos finales. Se prefiere una clave simétrica sobre las claves privada y pública, ya que un cifrado simétrico es mucho más eficiente (usa menos ciclos de CPU) que un cifrado asimétrico. [6] [7] Existen varios métodos para cifrar datos en tránsito, como IPsec , SCP , SFTP , SSH , OpenPGP y HTTPS .
Los datos en reposo se refieren a los datos que se han guardado en un almacenamiento persistente . Los datos en reposo generalmente están cifrados mediante una clave simétrica .
El cifrado se puede aplicar en diferentes capas de la pila de almacenamiento. Por ejemplo, el cifrado se puede configurar en la capa de disco , en un subconjunto de un disco llamado partición , en un volumen , que es una combinación de discos o particiones, en la capa de un sistema de archivos o dentro de aplicaciones de espacio de usuario como bases de datos u otras aplicaciones que se ejecutan en el sistema operativo host .
Con el cifrado de disco completo, se cifra todo el disco (excepto los bits necesarios para arrancar o acceder al disco cuando no se utiliza una partición de arranque/prearranque sin cifrar). [8] Como los discos se pueden dividir en varias particiones, el cifrado de particiones se puede utilizar para cifrar particiones de disco individuales. [9] Los volúmenes, creados mediante la combinación de dos o más particiones, se pueden cifrar utilizando el cifrado de volumen . [10] Los sistemas de archivos, también compuestos por una o más particiones, se pueden cifrar utilizando el cifrado a nivel de sistema de archivos . Los directorios se denominan cifrados cuando los archivos dentro del directorio están cifrados. [11] [12] El cifrado de archivos cifra un solo archivo. El cifrado de base de datos actúa sobre los datos que se van a almacenar, aceptando información sin cifrar y escribiendo esa información en el almacenamiento persistente solo después de haber cifrado los datos. El cifrado a nivel de dispositivo, un término algo vago que incluye unidades de cinta con capacidad de cifrado, se puede utilizar para descargar las tareas de cifrado de la CPU.
Cuando existe la necesidad de transmitir datos en reposo de forma segura, sin la capacidad de crear una conexión segura, se han desarrollado herramientas de espacio de usuario que respaldan esta necesidad. Estas herramientas se basan en que el receptor publique su clave pública y que el remitente pueda obtenerla. El remitente puede entonces crear una clave simétrica para cifrar la información y luego usar la clave pública del receptor para proteger de forma segura la transmisión de la información y la clave simétrica. Esto permite la transmisión segura de información de una parte a otra. [ cita requerida ]
El rendimiento del software de cifrado se mide en relación con la velocidad de la CPU. Por lo tanto, los ciclos por byte (a veces abreviados como cpb ), una unidad que indica la cantidad de ciclos de reloj que necesitará un microprocesador por byte de datos procesados, es la unidad de medida habitual . [13] Los ciclos por byte sirven como un indicador parcial del rendimiento en el mundo real en funciones criptográficas . [14] Las aplicaciones pueden ofrecer su propio cifrado llamado cifrado nativo, incluidas las aplicaciones de bases de datos como Microsoft SQL, Oracle y MongoDB, y generalmente dependen del uso directo de ciclos de CPU para el rendimiento. Esto a menudo afecta la conveniencia del cifrado en las empresas que buscan una mayor seguridad y facilidad para satisfacer el cumplimiento al afectar la velocidad y la escala de cómo los datos dentro de las organizaciones pasan a sus socios. [15]