Diferencia entre revisiones de «IT/Sodium»

De SIU
Saltar a: navegación, buscar
(Debian 8 Jessie)
m (Ajustes a la doc de Sodium en Debian)
Línea 62: Línea 62:
 
!libsodium en PHP
 
!libsodium en PHP
 
|-
 
|-
|Debian 8
+
| rowspan="2" |Debian 8
|1.0.11
+
| rowspan="2" |1.0.11
|(0)
+
|7.0 (0)
|(0) (1)
+
|(1)
 
|-
 
|-
|Debian 9
+
|7.1 (0)
|''1.0.11''
+
|(1)
|''7.0''
 
|''1.0.6''
 
 
|-
 
|-
|Debian 10
+
| rowspan="2" |Debian 9
|?
+
| rowspan="2" |1.0.11
|?
+
|7.0 (*)
|?
+
|1.0.6 (*)
 +
|-
 +
|7.1 (0)
 +
|(1)
 
|}
 
|}
 
Leyendas:
 
Leyendas:
Línea 81: Línea 82:
 
( x.x.x ) se ha probado su integración en dicha versión con los paquetes nativos
 
( x.x.x ) se ha probado su integración en dicha versión con los paquetes nativos
  
( ? )        versión desconocida, no liberado aún
+
( * )        versión nativa y presente en el repositorio de manera oficial
  
 
( 0 )      es posible instalarlo vía [https://deb.sury.org/ deb.sury.org], repositorio externo de paquetes PHP  para Debian  
 
( 0 )      es posible instalarlo vía [https://deb.sury.org/ deb.sury.org], repositorio externo de paquetes PHP  para Debian  
Línea 107: Línea 108:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Para finalizar, hay que asegurarse de que la extensión libsodium está cargada en PHP:<syntaxhighlight lang="bash" enclose="div">
+
El paso final es hacer que PHP cargue la extensión para utilizarla. Es posible que sea necesario ejecutar:<syntaxhighlight lang="bash" enclose="div">
 +
echo "extension=libsodium.so" | sudo tee /etc/php/7.1/cli/conf.d/20-libsodium.ini
 +
</syntaxhighlight>Para finalizar, hay que asegurarse de que la extensión libsodium está cargada en PHP:<syntaxhighlight lang="bash" enclose="div">
 
php -m | grep sodium
 
php -m | grep sodium
 
</syntaxhighlight>
 
</syntaxhighlight>
Si la salida es vacía ejecutar:<syntaxhighlight lang="bash" enclose="div">
 
printf "extension=libsodium.so\n" > /etc/php/7.0/cli/conf.d/20-libsodium.ini
 
</syntaxhighlight>
 
 
 
=== Debian 9 Strech ===
 
=== Debian 9 Strech ===
 
Para esta versión de ''Debian'', la instalación es directamente de los paquetes oficiales disponibles en su repositorio.<syntaxhighlight lang="bash" enclose="div">
 
Para esta versión de ''Debian'', la instalación es directamente de los paquetes oficiales disponibles en su repositorio.<syntaxhighlight lang="bash" enclose="div">
 
apt install libsodium18 php-libsodium
 
apt install libsodium18 php-libsodium
</syntaxhighlight><blockquote>Nota: esta versión, es la actualmente recomendada para la instalación de la plataforma '''SIU-Araí''', versión 2.0.</blockquote>
+
</syntaxhighlight><blockquote>Nota: esta versión, es la actualmente recomendada para la instalación de la plataforma '''SIU-Araí''', versión 2.0.</blockquote>  
 
 
=== Debian 10 Buster ===
 
Esta versión de ''Debian'' es actualmente la versión testing y no soportada oficialmente.
 
  
 
[[IT|< Volver]]
 
[[IT|< Volver]]

Revisión del 18:43 29 oct 2018

Siu-arai iso.png


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
    1. existe una variante como extensión PECL
    2. 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.

Debian Linux

sodium en S.O. PHP libsodium en PHP
Debian 8 1.0.11 7.0 (0) (1)
7.1 (0) (1)
Debian 9 1.0.11 7.0 (*) 1.0.6 (*)
7.1 (0) (1)

Leyendas:

( x.x.x ) se ha probado su integración en dicha versión con los paquetes nativos

( * ) versión nativa y presente en el repositorio de manera oficial

( 0 ) es posible instalarlo vía deb.sury.org, repositorio externo de paquetes PHP para Debian

( 1 ) es posible instalarlo vía PEAR, repositorio de extensiones PHP

Debian 8 Jessie

Para esta versión de Debian, no existen todos los paquetes oficialmente. Se han de recurrir a la configuración de repositorios externos, tales como deb.sury.org y a los backports del mismo Debian.

Primero, agregar backports
echo "deb http://ftp.debian.org/debian jessie-backports main" >> /etc/apt/sources.list.d/backports.list

Actualizar base de paquetes de apt

apt update
Siguiente, se debe instalar la versión de Sodium del S.O. desde backports:
apt -t jessie-backports install libsodium18 libsodium-dev
Luego, instalar la extensión para PHP de libsodium desde el repositorio PEAR:
pecl install -f libsodium-1.0.6
El paso final es hacer que PHP cargue la extensión para utilizarla. Es posible que sea necesario ejecutar:
echo "extension=libsodium.so" | sudo tee /etc/php/7.1/cli/conf.d/20-libsodium.ini
Para finalizar, hay que asegurarse de que la extensión libsodium está cargada en PHP:
php -m | grep sodium

Debian 9 Strech

Para esta versión de Debian, la instalación es directamente de los paquetes oficiales disponibles en su repositorio.
apt install libsodium18 php-libsodium
Nota: esta versión, es la actualmente recomendada para la instalación de la plataforma SIU-Araí, versión 2.0.

< Volver