Beaglebone Black OpenSSL крипто ускорение

2881
ftes

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

5
Что заставляет вас думать, что он еще не включен? Вот несколько хороших [инструкций] (http://datko.net/2013/10/03/howto_crypto_beaglebone_black/) Ramhound 9 лет назад 0
Плохая производительность / большой контраст производительности, когда мое приложение отправляет незашифрованные запросы. ftes 9 лет назад 0

2 ответа на вопрос

4
Phil Evans

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

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
edev

Скачать и собрать cryptodev.

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

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.

Добро пожаловать в СУ! Использование «выше» и «ниже» - не лучший способ ссылки на ответы других, поскольку порядок представления не фиксирован - лучше ссылаться на постер ответа. zagrimsan 8 лет назад 1

Похожие вопросы