InfoDirectory使用手引書 |
目次 索引 |
第1部 ディレクトリサービス編 | > 第2章 機能 | > 2.2 サーバ機能 | > 2.2.1 認証 |
簡易認証と証明書認証の仕組みに関して説明します。
クライアントは、BINDのパラメタに利用者のDN(cn=ユーザ1,ou=開発,o=富士通,c=jp)とパスワード(kacyou)を設定して、InfoDirectoryサーバに送信します。
InfoDirectoryサーバ側では、BINDのパラメタに設定されたDNを元にDSAデータベースを検索します。利用者のエントリが見つかった場合は、そのエントリに格納されているパスワードと、BINDのパラメタに設定されたパスワードを比較します。
※ アノニマスでアクセスしたい場合はdnおよびpasswordにNULLを指定します。
クライアントは、証明書をInfoDirectoryサーバに送信します。InfoDirectoryサーバは、クライアントの証明書からDNを抽出します。抽出したDNでDSAデータベースから検索して、DNが存在していれば認証を行います。
証明書ベースの認証は、クライアント−InfoDirectoryサーバ間でSSL通信している場合に使用できます。
証明書ベースの認証を行う場合、InfoDirectoryサーバは、以下の処理を行います。
クライアントからBIND要求を受付けると、[管理ツール]ウィンドウの[セキュリティ]メニュー → [SSL管理一覧]ウィンドウを表示させます。[DSA]メニュー → [サーバ側環境ファイルの編集] → [DSA側SSL環境詳細設定]で指定した属性を条件としてInfoDirectoryサーバからエントリの検索を行い認証するユーザを絞り込みます。
クライアント証明書から属性を取出して認証用のアカウント文字列を作成します。このとき、取出したい属性が証明書の中に存在しない場合、認証エラーにすることもできます。
クライアント証明書から取出した文字列とInfoDirectoryサーバから検索したエントリのDNを比較して、一致したエントリを一意に特定できた場合は、そのDNでBINDします。証明書のDNから利用者エントリを特定する方法には、以下のパターンがあります。
証明書のDNとInfoDirectoryサーバ内のエントリが完全に一致するDNをもつ場合。この場合は、完全一致によるマッピング方法で比較することで認証エントリを見つけることができます。
証明書のDNとInfoDirectoryサーバ内のエントリが別のDNをもつ場合。この場合は、DN内の部分一致による比較で認証エントリを検索することができます。
該当するエントリが存在しない、または複数存在した場合は、認証エラー(LDAPコード0x31)となります。このときはクライアント証明書の発行時やInfoDirectoryサーバのエントリ作成時に、お互いのDNが一意に識別できるようにすることを推奨します。
また、本機能では、クライアントから送信された証明書とInfoDirectoryサーバ内に格納された証明書が一致するかチェックしていません。そのためエントリ内に証明書属性を格納する必要はありません。
注意事項
目次 索引 |