FreeBSD の IPsec 機能を独立検証するには
前のページ |  | 次のページ

# 2. 解決方法

最初に、暗号に使われている情報理論について考えます。

1. 暗号化されたデータは、一様に分布している。つまり、 各情報源シンボルは最大のエントロピーを持っている。

2. 通常、未処理のデータや圧縮されていないデータは冗長である。 つまり、各情報源シンボルのエントロピーは最大ではない。

ネットワークインターフェイスを入出力するデータのエントロピーを測定できると仮定すると、 「暗号化されていないデータ」と「暗号化されたデータ」の両者に、 違いを見ることができるはずです。 このことは、パケットのルーティングが行なわれる場合の一番外側の IP ヘッダなど、 データの一部が “暗号化モード” で暗号化されなかったとしても成立します。

## 2.1. MUST

Ueli Maurer 氏の “Universal Statistical Test for Random Bit Generators” (MUST) は、サンプルデータのエントロピーを高速に測定します。 これには圧縮と良く似たアルゴリズムが使われています。 文末に示すのは、 一つのファイル中で連続するデータ (最大 0.25 メガバイト) を測定するコードです。

## 2.2. Tcpdump

さて次に、上記に加えてネットワーク上の生データを捕捉するための手段も必要になります。 それを実現するプログラムに、tcpdump(1) と呼ばれるものがあります。 ただし、tcpdump を使うには、 カーネルコンフィグレーションファイルにおいて Berkeley Packet Filter インターフェイスが有効化されていなければなりません。

次のコマンド:

    tcpdump -c 4000 -s 10000 -w dumpfile.bin

は、4000 個の生パケットを捕捉し、`dumpfile.bin` に記録します。 この例のでは 10,000 バイト以下のパケットのみ記録されます。

前のページ | ホーム | 次のページ
FreeBSD の IPsec 機能を独立検証するには |  | 実験

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。