Beaglebone Black OpenSSl 加密加速

Beaglebone Black OpenSSl 加密加速

我在 Beaglebone Black 上运行 Debian Wheezy。OpenSSL 默认使用硬件加密加速器吗?如果没有,我该如何启用它?

答案1

可能不是。你可以检查以下内容:

openssl speed -evp aes-128-cbc

如果每行显示大约 3 秒,则不是硬件加速。您需要更新内核,编译 cryptodev 并插入模块,然后使用 cryptodev 编译 OpenSSL。准备好了吗?我们开始吧!

首先,更新您的内核并安装标题(首先检查当前版本!)

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

要使 cryptodev 永久加载,请编辑 /etc/modules 并在末尾添加仅包含 cryptodev 的行

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

您现在已经获得了一个使用硬件加速 OpenSSL 的全新 OpenVPN 安装!

/opt/openvpn/sbin/openvpn --version

答案2

下载并构建cryptodev

下载debianopenssl源码包:

apt-get source openssl

通过编辑添加构建选项 -DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTS会议在文件中debian/规则

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。

相关内容