HTTPパスワード相互認証プロトコル
産総研 > RCIS > フィッシング対策のためのHTTP相互認証プロトコル > mod_auth_mutual: Apache用相互認証拡張モジュール

mod_auth_mutual: Apache用相互認証拡張モジュール

  • 現在の実験サーバ実装は、WEBrick ベースのものになっています。以下は古い版の情報になります。

「mod_auth_mutual」は、提案プロトコルによる認証機能をApache 2.2 Webサーバに導入する拡張モジュールです。本モジュールをApache Webサーバに導入することで、 MutualTestFox などの 対応ブラウザとの間で本プロトコルに基づく安全な相互認証を 行うことができます。

お知らせ

ダウンロード

・ソースファイルのアーカイブ

このモジュールは draft-07 仕様に対応しています。旧クライアントとの互換性が無くなっていますので注意してください。

このファイルは Sun JDK の jarsigner で署名されており、同ツールで署名検証できます。(または、OpenPGP署名ファイル と当センター 大岩 研究員の公開鍵を用いて検証することもできます。)

使用法

mod_auth_mutual.so: Apache組み込み用拡張モジュール

このモジュールをコンパイル後、生成された .libs/mod_auth_mutual.so を適切なパスに設置し、Apache 2.2/2.3 の設定ファイルに

 LoadModule auth_mutual_module /path/to/mod_auth_mutual.so

を追加します。

認証が必要なパスの .htaccess などに

 AuthType Mutual
 AuthName "MutualTest"
 AuthUserFile "/path/to/.htmutualpasswd"
 AuthMutualAlgorithm iso-kam3-dl-2048-sha256
 AuthMutualHost "http://mutualtest.rcis.jp:8000"
 AuthMutualPath "/"
 Require valid-user

のような設定を追加します。

  • AuthName は、プロトコル上の "realm" に対応します。
  • AuthMutualHost は、プロトコル上の verification の "host" に対応し、ポート番号を含むホスト名を記述します。ユーザに見えるホスト名と一致する必要があります。(一致しないと認証が成功しません。)
  • AuthUserFile には、配布に含まれる htmutual コマンドで生成したパスワードDBのファイル名を指定します。
  • AuthMutualAlgorithm には、プロトコル仕様で定義された4種のアルゴリズムの内、利用するものを指定します。EC 系のアルゴリズムを用いる場合には、MutualTestFoxのリリースノートを参照の上、特許権の取り扱いおよびクライアントの設定を確認して下さい。

制約事項

"Require valid-user" 以外のユーザ個別のアクセス制限を行い、かつ Apache 2.2 または 2.3 の古いバージョンを用いる場合に限り、配布に含まれるパッチを Apache 本体に当てる必要があります。(具体的には、authentication が成功し、authorization が拒否される場合に問題が生じます。)

htmutual: パスワードDB生成ツール

htmutual コマンドはコマンドラインから次のように起動します。基本的な起動方法は Apache 付属の htpasswd コマンドに類似しています。

 htmutual [オプション] [パスワードDBファイル] [アルゴリズム] [ホスト名] [realm] [ユーザ名]
  • [アルゴリズム] は、プロトコル仕様で定義された暗号強度を選択する "algorithm" の1つを指定します。サポートされているアルゴリズムのリストは、htmutual コマンドを引数なしで起動すると表示されます。
  • [ホスト名] ホスト名は、プロトコルの auth-domain に相当します。現状の実装ではサーバのホスト名(FQDN)のみを指定してください。
  • [realm] は、プロトコルの realm に相当します。Apache の AuthName ディレクティブと一致した値を指定します。
  • [オプション] は、-b, -c, -n 等が htpasswd コマンド同様に指定できます。詳しくは htmutual コマンドを引数なしで起動すると表示されるヘルプを参照してください。

このコマンドで生成されるDB内のパスワードは、本プロトコルに特有の一方向関数で処理されています。

問い合せ先

本ソフトウェアは、産総研およびヤフー株式会社の共同研究成果の一環として、株式会社レピダムが開発を担当し、産総研情報セキュリティ研究センターより配布しています。 本ソフトウェアについてのお問い合わせは、次のメールアドレスまでお願いします。

  • プロトコルについて: mutual-auth-contact@m.aist.go.jp
  • ソフトウェア実装について: mutualtestfox-contact@lepidum.co.jp