• 検索結果がありません。

切り詰めた( Truncated ) HMAC

ドキュメント内 Microsoft Word - wolfSSL User Manual-jp html (ページ 79-82)

ECDHE-PSK-CHACHA20-POLY1305 DHE-PSK-CHACHA20-POLY1305

4.11 切り詰めた( Truncated ) HMAC

現在定義されている TLS 暗号スイーツはレコード層通信の認証に HMAC を使 用しています。 TLS では、ハッシュ関数の全体出力に対して MAC タグとして 使用されています。しかし、制限された環境では、MAC タグを形成する時ハ ッシュ関数の出力を 80 ビットに切り詰める事によってバンド幅を節約したく なる場合があります。切り詰めた( Truncated ) HMAC を使用可能にするた

めには wolfSSL ではビルド時に単に次のように指定します:

./configure --enable-truncatedhmac

切り詰めた( Truncated ) HMAC をクライアント側で使用するには、次の二 つのいずれかの関数を呼び出す必要があります。

wolfSSL_CTX_UseTruncatedHMAC();

wolfSSL_UseTruncatedHMAC();

クライアント側でSNIを利用する場合、追加で以下のうちどちらかもう一つの関数呼び出 しが必要です。

wolfSSL_CTX_UseTruncatedHMAC ()はクライアントが同じサーバに複数回コンタクトする

場合に推奨されます。Truncated HMAC拡張をコンテクストレベルで設定することで、そ の呼び出しがされたて以降、同じコンテクストから生成される全てのオブジェクトにおい てTruncated HMACの使用を可能にします。

wolfSSL_UseTruncatedHMAC ()は一つのSSLオブジェクトのみにTruncated HMACを有効 化するので、TruncatedHMACが必要かどうかがセッション間で変わるような場合に推奨 されます。

© 2004 – 2016 wolfSSL, Inc.

80

サーバ側では関数呼び出しは不要です。サーバは自動的にクライアントのTruncated HMACの要求に対応します。

なお、すべてのTLS拡張は下記でも有効化されます:

./configure --enable-tlsx

4.12 ユーザ定義暗号モジュール

ユーザ定義暗号モジュールによって、ユーザはサポートされている処理の間に使用したい カスタム暗号をプラグインすることができます(現在の所、RSA処理がサポートされてい ます)。IPPを使ったモジュールの例はroot_wolfssl/wolfcrypt/user-crypto/ ディレクトリにあ ります。ユーザ定義暗号モジュールを使用するwolfSSLのビルドの場合のconfigureに対す るオプションの例は次の通りです:

./configure --with-user-crypto または

./configure --with-user-crypto=/dir/to

RSA処理を実行するユーザ暗号モジュールを生成する時には、user_rsa.hという名前の RSAのためのヘッダーファイルがあることが必須です。すべてのユーザ暗号処理のため

に、libusercryptという名前のユーザライブラリが必須です。これらは、ユーザ暗号モジ

ュールをリンクする際にwolfSSLのautoconfツールが探しに行く名前です。wolfSSLで 提供されるサンプルでは、user_rsa.hはwolfcrypt/user-crypto/include/ディレクトリにあり ます。また、一旦生成されたライブラリはwolfcrypt/user-crypto/lib/に置かれます。必要な APIのリストについては、提供されたヘッダーファイルを参照してください。

サンプルをビルドする伊波、IPPライブラリーをインストールした後、次のコマンドを

wolfSSLのルートディレクトリで実行させます。

cd wolfcrypt/user-crypto/

./autogen.sh

© 2004 – 2016 wolfSSL, Inc.

81

./configure

make

sudo make install

wolfSSLに含まれているサンプルはIPPを使用する必要があります。これはプロジェクト

がビルドされる前にインストールされている必要があります。サンプルをビルドするため にIPPライブラリーが無い場合でも、ユーザにファイル名の選択とAPIインターフェー スの例を提供するためです。一旦、libusercryptoとヘッダーファイルの両方がmakeさ れ、インストールされると、暗号モジュールを使ったwolfSSLのmakeに追加ステップは 必要なくなります。単に、

-with-user-crypto フラグを configure に使用するだけで、

通常の wolfSSL 暗号からユーザ暗号モジュールにすべての関数呼び出しがマッ

プされます。

もしwolfSSLのXMALLOCを使用している場合、メモリーアロケーションは

DYNAMIC_TYPE_USER_CRYPTOとタグ付けしなければなりません。モジュールで使わ

れたすべてのメモリーアロケーションの分析を可能にします。

ユーザ暗号モジュールはwolfSSL のconfigureオプションfast-rsaと/または fipsオプシ ョンと組み合わせ使用することはできません。FIPSは、特定の認証されたコードが使用 されることを要求します。fast-rsaはRSA処理の実行にサンプル・ユーザ暗号モジュール を使用させます。

© 2004 – 2016 wolfSSL, Inc.

82

ドキュメント内 Microsoft Word - wolfSSL User Manual-jp html (ページ 79-82)

関連したドキュメント