6

Я использую Debian Wheezy в своем Beaglebone Black. Использует ли OpenSSL аппаратный криптоускоритель по умолчанию? Если нет, как я могу включить его?

2 ответа2

5

Это, вероятно, нет, нет. Вы можете проверить следующее:

openssl speed -evp aes-128-cbc

Если каждая строка показывает около 3 секунд, она не ускоряется. Вам нужно будет обновить ядро, скомпилировать cryptodev и вставить модуль, а затем скомпилировать OpenSSL с помощью cryptodev. Готовы? Поехали!

Сначала обновите ядро и установите заголовки (сначала проверьте текущую версию!)

sudo aptitude install linux-image-3.18.5-bone1 
sudo aptitude install linux-headers-3.18.5-bone1

Теперь скачайте и скомпилируйте cryptodev (аналогично, 1.7 может быть неактуальным, когда вы читаете это)

wget http://download.gna.org/cryptodev-linux/cryptodev-linux-1.7.tar.gz
tar zxf cryptodev-linux-1.7.tar.gz 
cd cryptodev-linux-1.7/
make
sudo make install

Теперь вам нужно зарегистрироваться и вставить модуль cryptodev

sudo depmod -a
sudo modprobe cryptodev

Теперь проверьте, что он загружен - это должно вывести список, который включает cryptodev!

lsmod

Чтобы криптодев загружался постоянно, отредактируйте /etc /modules и добавьте строку, содержащую только криптодев в конце

sudo sh -c 'echo cryptodev>>/etc/modules'

Теперь пришло время скачать и скомпилировать OpenSSL (проверьте ваши версии)!

cd ~
wget https://www.openssl.org/source/openssl-1.0.2.tar.gz
tar zxf openssl-1.0.2.tar.gz
cd openssl-1.0.2/
ls
./config -DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTS
make
sudo make install

Проверьте свою версию и скорость - вы должны увидеть 0,10 - 0,15 секунды

/usr/local/ssl/bin/openssl version
/usr/local/ssl/bin/openssl speed -evp aes-128-cbc

Теперь, вероятно, вам нужно это для OpenVPN, но предварительно упакованный OpenVPN не будет использовать этот недавно скомпилированный OpenSSL, так что пора снова скомпилировать его. ,

cd ~
wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.6.tar.xz
tar xvf openvpn-2.3.6.tar.xz 
cd openvpn-2.3.6/
./configure --prefix=/opt/openvpn OPENSSL_SSL_LIBS="-L/usr/local/ssl/lib/ -lssl" OPENSSL_SSL_CFLAGS="-I/usr/local/ssl/include/" OPENSSL_CRYPTO_LIBS="-L/usr/local/ssl/lib/ -lcrypto" OPENSSL_CRYPTO_CFLAGS="-I/usr/local/ssl/include/"
make
sudo make install

Теперь у вас есть новая блестящая установка OpenVPN с использованием ускоренного OpenSSL!

/opt/openvpn/sbin/openvpn --version
2

Скачайте и cryptodev .

Загрузите пакет исходного кода debian openssl :

apt-get source openssl

Добавьте опции сборки -DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTS, отредактировав CONFARGS в файле debian/rules.

CONFARGS  = -DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTS --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/$(DEB_HOST_MULTIARCH) no-idea no-mdc2 no-rc5 zlib  enable-tlsext no-ssl2

Сборка пакета Debian

dpkg-buildpackage -us -uc

Теперь у вас есть собственный пакет openssl deb с аппаратным ускорением. Просто установите и протестируйте его.

openssl speed -evp aes-128-cbc

Вам не нужно компилировать openvpn.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .