GNU/Linux >> Linux の 問題 >  >> Linux

pandomのインストール方法:Linux用の真の乱数ジェネレーター

このチュートリアルは、2.6.9以降のamd64 /x86_64Linuxカーネルバージョンを対象としています。 pandomのインストール方法について説明します。ncomputers.orgによって管理されているタイミングジッターの真の乱数ジェネレーター

はじめに

組み込みのLinuxカーネルの真の乱数ジェネレーターは、ソリッドステートドライブ(SSD)や仮想プライベートサーバー(VPS)を備えたパーソナルコンピューターなど、現代の状況ではスループットが低くなります。

この問題は、主にさまざまな暗号化の目的で真の乱数の必要性が継続的に高まっているため、Linuxの実装で一般的になりつつあります。

Pandomは、64ビット/64ビットの約8KiB / sのエントロピーを出力し、物理環境および仮想環境と互換性があり、rootユーザーとして実行されている他のプロセスが/ dev/randomに書き込むことはないと想定しています。

1パンドムのインストール

1.1ルートアクセスを取得する

Pandomはrootとしてインストールする必要があります。必要に応じて、このコマンドを実行してください。

su -

1.2ビルドの依存関係をインストールする

pandomをダウンロードしてインストールするには、GNU as が必要です。 sembler、GNU make 、GNU tar およびGNUwget (最後の2つは通常すでにインストールされています)。後で自由にアンインストールできます。

アーチベースのシステム
pacman -S binutils make
Debianベースのシステム
apt-get install binutils make

RedHatベースのシステム

dnf install binutils make
yum install binutils make

SUSEベースのシステム

zypper install binutils make

1.3ソースのダウンロードと抽出

これらのコマンドは、 wget を使用して、ncomputers.orgからpandomのソースをダウンロードして抽出します。 およびタール

wget http://ncomputers.org/pandom.tar.gz
tar xf pandom.tar.gz
cd pandom/amd64-linux

この推奨テストには約8分かかります。カーネルサポートをチェックし、 checkmeという名前のファイルを生成します (次のセクションで分析します。)

make check

1.5initシステムを決定する

pandomをインストールする前に、システムがどのinitソフトウェアを使用しているかを知る必要があります。次のコマンドがrunningという単語を出力する場合 、システムが systemdを使用していることを意味します 、そうでない場合は、システムが init.dを使用している可能性があります 実装(例:upstart、sysvinit)。いくつかの例外があるかもしれません。これらのunix.stackexchange.comの回答に詳細があります。

systemctl is-system-running
running

1.6pandomのインストール

Linux実装で使用されているシステムがわかれば、それに応じてpandomをインストールできます。

init.dベースのinitシステム(例:upstart、sysvinit)

システムがinit.dを使用している場合は、このコマンドを実行してpandomをインストールします 実装(例:upstart、sysvinit)。

make install-init.d

initシステムとしてのsystemd

システムでsystemdを使用している場合は、このコマンドを実行してpandomをインストールします 。

make install-systemd

2チェックミーファイルの分析

暗号化の目的でpandomを使用する前に、 checkmeを分析することを強くお勧めします。 このチュートリアルの前のセクションのインストールプロセス中に生成されたファイル。このタスクは、数字が本当にランダムであるかどうかを知るのに役立ちます。このセクションでは、チェックミーを分析する方法について説明します ncomputers.org/ entropyarrayを使用したファイル :入力のエントロピーとシリアル相関をテストするシェルスクリプト。

:この分析は、ラップトップまたはデスクトップコンピューターなどの別のコンピューターで実行される場合があります。例:リソースが制限された仮想プライベートサーバー(VPS)にpandomをインストールする場合は、 checkmeをコピーすることを選択できます。 そこで分析するために、パソコンにファイルします。
EntropyOnlineTesterを使用することもできます

2.1ルートアクセスを取得する

Entropyarrayはrootとしてインストールする必要があります。必要に応じて、このコマンドを実行してください。

su -

2.2ビルドの依存関係をインストールする

entropyarrayをダウンロードしてインストールするには、GNU g ++が必要です。 コンパイラ、GNU make 、GNU tar およびGNUwget (最後の2つは通常すでにインストールされています)。後で自由にアンインストールできます。

アーチベースのシステム
pacman -S gcc make
Debianベースのシステム
apt-get install g++ make

RedHatベースのシステム

dnf install gcc-c++ make
yum install gcc-c++ make

SUSEベースのシステム

zypper install gcc-c++ make

2.3ソースのダウンロードと抽出

これらのコマンドは、 wget を使用して、ncomputers.orgからentropyarrayのソースをダウンロードして抽出します。 およびタール

wget http://ncomputers.org/rearray.tar.gz
wget http://ncomputers.org/entropy.tar.gz
wget http://ncomputers.org/entropyarray.tar.gz

tar xf entropy.tar.gz
tar xf rearray.tar.gz
tar xf entropyarray.tar.gz

2.4entropyarrayのインストール

:-std =c ++ 11に関するエラーは、GNU g ++を意味します コンパイラバージョンはISOC++2011標準をサポートしていません。 ncomputers.org/エントロピーをコンパイルしてみてください およびncomputers.org/rearray それをサポートする別のシステム(例:お気に入りのLinuxディストリビューションの新しいバージョンのGNU g ++)で、 make installを使用してコンパイル済みバイナリをインストールします。 entropyarrayを実行するシステムで 、または checkme を分析することを強くお勧めしますが、この手順をスキップしてください 暗号化の目的でpandomを使用する前にファイルしてください。

cd rearray; make install; cd ..
cd entropy; make install; cd ..
cd entropyarray; make install; cd ..

2.5checkmeファイルの分析

:64 ubits / 64ビットのpandom実装は、 15.977を超えるエントロピーでこのテストを実行する必要があります および最大 70未満の頻度 。結果が大きく異なる場合は、このチュートリアルの5番目のセクションで説明されているように、pandomの実装の予測不可能性を高めようとすることがあります。最後のステップをスキップした場合は、疑似乱数シーケンステストなどの他のツールを使用できます。

entropyarray checkme
entropyarray in /tmp/tmp.mbCopmzqsg
15.977339
min:12
med:32
max:56
15.977368
min:11
med:32
max:58
15.977489
min:11
med:32
max:59
15.977077
min:12
med:32
max:60
15.977439
min:8
med:32
max:59
15.977374
min:13
med:32
max:60
15.977312
min:12
med:32
max:67

2.6 entropyarrayのアンインストール(オプション)

entropyarrayをこれ以上使用しない場合は、自由にアンインストールすることをお勧めします。

cd entropyarray; make uninstall; cd ..
cd entropy; make uninstall; cd ..
cd rearray; make uninstall; cd ..

3debianリポジトリを使用したインストール

Debianベースのシステムでpandomを最新の状態に保ちたい場合は、ncomputers.orgdebianリポジトリを使用してインストール/再インストールすることを選択できます。

3.1ルートアクセスを取得する

以下のDebianパッケージはrootとしてインストールする必要があります。必要に応じて、このコマンドを実行してください。

su -

3.2キーリングのインストール

このdebianパッケージには、ncomputers.orgdebianリポジトリの公開鍵が含まれています。

wget http://ncomputers.org/debian/keyring.deb
dpkg -i keyring.deb
rm keyring.deb

3.3ソースリストのインストール

これらのdebianパッケージには、最新のdebianディストリビューション(2017年)に従ったncomputers.orgdebianリポジトリのソースリストが含まれています。

:以下のコメント行を /etc/apt/sources.listに書き込むこともできます。 、debianディストリビューション用にそれぞれのdebianパッケージをインストールする代わりに、これらのソースが将来変更される場合は、手動で更新する必要があります。

Wheezy

#deb http://ncomputers.org/debian wheezy main
wget http://ncomputers.org/debian/wheezy.deb
dpkg -i wheezy.deb
rm wheezy.deb
ジェシー
#deb http://ncomputers.org/debian jessie main
wget http://ncomputers.org/debian/jessie.deb
dpkg -i jessie.deb
rm jessie.deb
ストレッチ
#deb http://ncomputers.org/debian stretch main
wget http://ncomputers.org/debian/stretch.deb
dpkg -i stretch.deb
rm stretch.deb

3.4ソースリストの更新

キーリングとソースのリストがインストールされたら。

apt-get update

3.5パンダムのテスト

テストが完了したら、以下のパッケージを自由にアンインストールできます。

:Linux実装ですでにpandomをテストしている場合は、この手順をスキップできます。

apt-get install pandom-test
pandom-test
generating checkme file, please wait around 8 minutes ...
entropyarray in /tmp/tmp.5SkiYsYG3h
15.977366
min:12
med:32
max:57
15.977367
min:13
med:32
max:57
15.977328
min:12
med:32
max:61
15.977431
min:12
med:32
max:59
15.977437
min:11
med:32
max:57
15.977298
min:11
med:32
max:59
15.977196
min:10
med:32
max:57

3.6pandomのインストール

apt-get install pandom

4パンダムの管理

パンダムをインストールした後、それを管理することをお勧めします。

4.1パフォーマンステスト

Pandomは1秒あたり約8キロバイトを提供しますが、そのパフォーマンスは環境によって異なる場合があります。

dd if=/dev/random of=/dev/null bs=8 count=512
512+0 records in
512+0 records out
4096 bytes (4.1 kB, 4.0 KiB) copied, 0.451253 s, 9.1 kB/s

4.2エントロピーとシリアル相関テスト

ncomputers.org/entropyarrayの他に 、さらに多くのテストがあります。たとえば、IljaGerhardtによるNISTテストスイートです。

entropyarray /dev/random 1M

4.3システムサービス

Pandomはシステムサービスとして実行されます。

init.dベースのinitシステム(例:upstart、sysvinit)

/etc/init.d/random status
/etc/init.d/random start
/etc/init.d/random stop
/etc/init.d/random restart

initシステムとしてのsystemd

systemctl status random
systemctl start random
systemctl stop random
systemctl restart random

5予測不可能性またはパフォーマンスの向上

パンダム実装の予測不可能性またはパフォーマンスを向上させたい場合は、CPU時間の測定値を追加または削除してみてください。

5.1ソースファイルの編集

ソースファイル内test.s およびtRNG.s 測定ブロックを自由に追加または削除します。

#measurement block
mov $35,%rax
syscall
rdtsc
[...]

#measurement block
mov $35,%rax
syscall
rdtsc
[...]

5.2予測不可能性のテスト

暗号化の目的で使用する前に、パーソナライズされたpandomの実装を常にテストすることをお勧めします。

make check

5.3パーソナライズされたパンダムをインストールする

結果に満足している場合は、パーソナライズされたpandom実装をインストールできます。

make install

追加情報と更新:http://ncomputers.org/pandom


Linux
  1. LinuxにPythonをインストールする方法

  2. LinuxにJavaをインストールする方法

  3. LinuxにVagrantをインストールする方法

  1. LinuxにNodeJSをインストールする方法

  2. LinuxにFFmpegをインストールする方法

  3. LinuxにTeamViewer15をインストールする方法

  1. Linuxを3つのステップでインストールする方法

  2. KaliLinuxのインストール方法

  3. Microsoft SQL Server for Linux (fedora) をインストールするにはどうすればよいですか?