IT/Sodium
Sumario
Sodium: librería para encriptación
Sodium es una librería de software moderna, fácil de usar, para la encriptación, desencriptación, signatures, password hashing y más. Al ser una librería estándar que se ha ganado su reconocimiento, se han implementado bindings en múchos lenguajes incluído para PHP.
De esta forma, las soluciones SIU hacen uso de Sodium mediante la librería Paragonie/Halite que facilita llevar adelante la implementación de diversas funciones.
Organización
Hay que comprender de forma precisa la organización de los componentes que nos permiten utilizar dicha librería, pues están muy correlacionados entre sí.
- Sodium existe a nivel sistema operativo u S.O., es una librería en C que implementa todas las funciones de criptoanálisis
- Sodium como extensión en PHP, permite acceder a la librería del S.O y hacer uso de las funciones de criptoanálisis
- existe una variante como extensión PECL
- existe como extensión ya embebida en el core de PHP
- Paragonie/Halite, la librería hecha en PHP e integrada a los proyectos SIU. Es la que facilita el uso de diversos mecanismos de encriptación y protección, todos basados en Sodium
Versiones
A continuación se detalla la correlación entre las versiones de cada uno de los componentes, tanto con la versión de PHP como con la versión de la plataforma SIU-Araí. Los componentes principales de SIU-Araí lo validan explícitamente.
PHP | libsodium en PHP | sodium en S.O. | SIU-Araí | |
---|---|---|---|---|
Paragonie/Halite 1.6 | 5.6 - 7.0 - 7.1 | 1.0.6 a 1.0.7 | 1.0.6 o superior | 2.0.0 |
Paragonie/Halite 3.x | 7.0 - 7.1 - 7.2 | 2.0.4 a 2.0.10 | 1.0.9 o superior | x |
Paragonie/Halite 4.x | 7.2 | - | 1.0.13 o superior | x |
Leyendas:
( x.x.x ) se ha probado su integración en dicha versión
( - ) integrada al core de PHP en la versión 7.2
( x ) no se ha hecho integración con la plataforma
Instalación
La instalación de todas las librerías requeridas varía de sistema operativo a sistema operativo. A continuación se expone algunos ejemplos habituales de instalación en sistemas Linux reconocidos.
- Instalando Sodium y PHP en Debian
- Ubuntu
- CentOS
Toda contribución y/o mejora a la instalación así como versiones de los paquetes intervinientes más adecuadas a tal fin, es bienvenida!
Verificación
El proceso de instalación de este soporte Sodium tanto a nivel de Sistema Operativo como a nivel PHP puede ser muy engorroso y propenso a multitud de errores. Debido a ello, a continuación se enumeran una serie de controles que pueden realizarse para verificar que se cuenta con el soporte adecuado.
Versión de PHP
La forma mas simple de verificar la versión instalada por defecto en el S.O. es la de utilizar la línea de comandos y ejecutar el comando php -v
, que produce una salida similar a:
icionalmente, como la versión de PHP que es ejecutada por Apache puede diferir, es necesario verificarla de forma manual. Para ello es posible crear un pequeño script que contenga d
Versión de PHP ejecutado por Apache