Accueil > Dedibox > Activer le Padlock du VIA Nano (Dedibox V3) sous Debian 64 bits

Activer le Padlock du VIA Nano (Dedibox V3) sous Debian 64 bits

Certains d’entre vous auront remarqués que le Padlock n’est pas activé par défaut sous Debian 64 bits, et ce pour deux raisons.
Premièrement les modules ne sont pas chargés automatiquement au démarrage.
Et deuxièmement, OpenSSL ne se sert pas du Padlock en 64 bits.

  • Chargement des modules :

Première chose à faire, charges les modules dans le kernel !
pour cela, tapez dans une console :

modprobe padlock-aes<br />
modprobe padlock-sha

Pour que ces modules soient chargés dès le démarrage de la machine tapez ceci :

echo padlock-aes >> /etc/modules && echo padlock-sha >> /etc/modules

  • Modification d’OpenSSL :

C’est la partie la plus complexe et la plus longue. En effet il va falloir modifier les sources d’OpenSSL et les recompiler pour que OpenSSL utilise le Padlock.
Si vous êtes sous Debian 64, en install de base Dedibox et que vous ne voulez pas tout recompiler, je met à disposition les paquets en bas de la page.

Petite explication :
Le premier Padlock est apparu avec le processeur VIA C7 il y a quelques année. Il n’était que 32 bits. Quand son support a été ajouté à OpenSSL, il ne l’a été quand dans la version 32 bits !
Or le VIA Nano est compatible 64 bits, mais OpenSSL n’a pas encore intégré cette spécificité.

Tout d’abbord, téléchargez ce patch : centaur-openssl-padlock-x86_64.patch
Ce patch provient du Forum Ubuntu (inscription obligatoire pour le télécharger).

On installe les pré-requis :

aptitude install build-essential devscripts fakeroot<br />
aptitude build-dep openssl

On télécharge les sources d’OpenSSL :

apt-get source openssl

On entre dans le répertoire :

cd openssl-0.9.8g

(à adapter suivant votre version d’OpenSSL)

On patch une première partie :
wget -q -O – http://launchpadlibrarian.net/13798833/bug119295.patch | patch -p1
En fait, ce n’est pas nécessaire pour les version >= 0.9.8g

On patch une deuxième partie :

wget -q -O - http://www.logix.cz/michal/devel/padlock/contrib/openssl-0.9.8e-engine.diff | patch -p1

Puis on patch la dernière partie :

cat ../centaur-openssl-padlock-x86_64.patch | patch -p1

Un petit debchange : (optionnel)

debchange --nmu

Si nano s’ouvre : ctrl-o puis ctrl-x
Si vi s’ouvre : echap puis :wq

Et là, l’étape la plus longue : la compilation + création du package :

dpkg-buildpackage

Une fois fait (environ 10-15 minutes) on installe les paquets créés (à adapter suivant votre distribution) :

dpkg  -i ../openssl_0.9.8g-15+lenny6.1_amd64.deb  ../libssl0.9.8_0.9.8g-15+lenny6.1_amd64.deb  ../libssl-dev_0.9.8g-15+lenny6.1_amd64.deb

On vérifie qu’il est bien reconnu par OpenSSL :

#openssl engine<br />
(padlock) VIA PadLock (no-RNG, ACE)<br />
(dynamic) Dynamic engine loading support

Si vous voyez la ligne avec padlock, c’est bon 😉

Et voilà ! Maintenant on peut tester tout ça :

#openssl speed -evp aes-128-ecb [-engine padlock]<br />
type              16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes<br />
aes-128-ecb      49787.88k    53811.97k    54739.18k    55077.02k    54949.63k<br />
aes-128-ecb     144205.73k   493446.57k  1107523.84k  1591005.98k  1836111.30k

On voit tout de suite la différence !
La première ligne est en mode dynamic (sans le Padlock)
La deuxième est avec le Padlock.

Maintenant, il faut configurer OpenSSL pour utiliser par défaut le padlock :  c’est par ici

Source et Source

Categories: Dedibox Tags: , , , ,