web-dev-qa-db-ja.com

Beaglebone BlackOpenSSl暗号化アクセラレーション

BeagleboneBlackでDebianWheezyを実行しています。 OpenSSLはデフォルトでハードウェア暗号化アクセラレータを使用していますか?いいえの場合、どうすれば有効にできますか?

6
ftes

おそらくそうではありません。以下で確認できます。

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
5
Phil Evans

cryptodevをダウンロードしてビルドします。

Debian opensslソースパッケージをダウンロードします:

apt-get source openssl

ファイル内の[〜#〜] confargs [〜#〜]を編集して、ビルドオプション-DHAVE_CRYPTODEV -DUSE_CRYPTDEV_DIGESTSを追加します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

これで、ハードウェアアクセラレーションを備えた独自のopenssldebパッケージができました。インストールしてテストするだけです。

openssl speed -evp aes-128-cbc

Openvpnをコンパイルする必要はありません。

2
edev