突然ですが、量子エントロピーでの乱数シードに興味がおありですか? wolfSSLはこの度、Whitewood Encryption Systems社と提携、同社のnetRandomクライアント・ライブラリーをサポートを開始しました。
Whitewood netRandomは真性乱数生成のためのクライアント・サーバソリューションです。Whitewoodエントロピー・エンジンを含むnetRandom サーバハードウェアによる高性能、量子乱数生生成器です。netRandomクライアントは、このサーバと安全に接続され量子エントロピーを取り出します。これは、良質の乱数の入手が非常に難しいか不可能な場所で威力を発揮します。暗号システムのセキュリティは真性乱数の如何にかかっているので、wolfSSLやwolfCryptのユーザにとっても非常に重要なことです。
wolfSSLをnetRandom APIサポートするようにコンパイルすると、wolfSSLはnetRandomサーバからの量子乱数からPRNGのシード値を得ることになります。netRandomをサポートするためには、wolfSSLをコンパイルする際、./configureオプションを次のようにするか “HAVE_WNR” をマクロ定義してください。
–with-wnr=PATH で.Whitewood netRandomのパスを指定する(デフォルトは/usr/local)。
netRandomサポート機能のために<wolfssl/wolfcrypt/random.h>ヘッダーを通じて次の二つのwolfSSL APIが追加されます。
int wc_InitNetRandom(const char* configFile, wnr_hmac_key hmac_cb, int timeout);
int wc_FreeNetRandom(void);
アプリケーションはセットアップ時に一回、wc_InitNetRandom()を呼び出す必要があります。この関数で、netRandomのコンフィグレーション・ファイル、オプショナルのHMACコールバック関数、そしてエントロピータイマーtimeout. wcを渡します。wc_FreeNetRandom()はショットダウン時にnetRandomのコンテキストを解放するために呼び出す必要があります。
サンプル・プログラムについては、wolfSSLダウンロード下の“./examples”ディレクトリを参照ください。netRandomサポートは現在wolfSSLの開発ブランチからダウンロードいただけますが、時期安定リリースにも含まれる予定です。
wolfSSLのnetRandomeクライアントにご質問、ご興味がありましたらinfo@wolfssl.com(英語),info@wolfssl.jp (日本語) 宛お問い合わせください。
参照:
Whitewood Encryption Systems
Whitewood netRandom
原文: https://www.wolfssl.com/wolfSSL/Blog/Entries/2016/5/9_Whitewood_Quantum_RNG_Support_in_wolfSSL.html
wolfSSLホーム:www.wolfssl.jp (English:www.wolfssl.com)