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

ユーザとグループの認証

ドキュメント内 WebDAV WebDAV WebDAV WebDAV HTTP/ (ページ 44-48)

2. WebDAV 関連仕様

2.6. ユーザとグループの認証

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

(b) Digest 認証

Basic認証の問題点は、パスワードが実際にネットワーク上で送信されることである。これは

セキュリティ上非常に問題がある。これに対してDigest認証では、MD5方式によるチャレンジ アンドレスポンス認証を行う。

MD5はハッシュ関数であり、元文字列から一定長のハッシュ文字列を出力する。ハッシュ関 数は一方向性があり、ハッシュ文字列から元の文字列へ逆変換することは困難とされている(不 可能ではない)。

チャレンジアンドレスポンス認証は次のようなものである。

(1) 認証を行う両者の間で暗号系と鍵を打ち合わせる

(2) サーバがランダムなデータをクライアントに返す

(3) クライアントは受け取ったデータを、鍵で暗号化し、サーバに返す

(4) サーバも同様に送信したランダムデータを鍵で暗号化する

(5) 双方が暗号化した結果が同一であれば鍵も同一であり、正当なクライアントと 判断することができる

ダイジェスト認証は両者を組み合わせたものである。通信シーケンスは次のようになる。

(1) サーバはあらかじめハッシュされたパスワードを持っている

(2) クライアントはAuthorizationヘッダ無しでアクセスする

(3)  ア ク セ ス が あ る と 、 サ ー バ は ラ ン ダ ム な 文 字 列 nonce を 作 成 し 、 WWW-Authenticateヘッダに付加してクライアントにレスポンスする

(4) クライアントはユーザにパスワードの入力を促し、パスワードをハッシュする

(5) nonce とハッシュパスワードを規定の方法で組み合わせてハッシュしレスポン スを作成する

(6) クライアントはレスポンスを Authorization ヘッダに付加して再リクエストを 行う

(7) サーバは保持しているハッシュ化されたパスワードとnonceを規定の方法で組 み合わせてハッシュする

(8) クライアントのレスポンスと比較し、同一であればコンテンツを送信する このシーケンスではセッションを識別することが必要であるので、ランダムな文字列opaque

(c) HTTP におけるユーザ識別

HTTP で用いられる認証方式では、認証に用いられる要素は「ユーザ名」「パスワード」「領 域(realm)」の3種類である。

このうち、領域はその認証を識別する名前であり、クライアントがユーザを選択するヒントに なる情報である。クライアントが認証を要求されるリソースにアクセスするたびにユーザ名とパ スワードの入力をユーザに要求することを防ぐため、ある領域に対して一度認証されたユーザ名 とパスワードは同一の領域にアクセスする限り再利用される。

したがって、HTTPにおけるユーザ識別はユーザ名のみによって行われることになる。HTTP 仕様にはユーザにグループの概念は無く、グループに対する認証の概念も無い。

(d) グループに対する認証

実際には、ユーザのうちいくつかをグループとしてまとめ、そのグループに対してアクセスを 許可するような認証方式が必要とされる。いくつかのサーバにおいてはグループに対する認証の 設定が可能となっている。これはサーバ側でグループとそのメンバーのリストを持ち、認証の際 に送信されてきたユーザ名が対象となるグループに含まれているかを調べ、次にパスワードを確 認することにより認証を実現している。本質的にはHTTPとしてグループへの認証を行ってい るのではなく、サーバ側で認証のプロセスを一段増やしているにすぎない。

2.6.2. 実装

(a) HTTP ユーザの実装方法

HTTPユーザをどのように定義しているかは、サーバソフトウエアによって異なる。

Apacheでは、ユーザはOSとは別個にApacheが持つデータベースにより定義される。その

ため対応するモジュールを利用することにより、ユーザデータベースを gdbm や各種のリレー ショナルデータベース、LDAPなどで自由に管理することが可能である。HTTPユーザはApache が持つ以上の権限を持つことはできないが、セキュリティ上のメリットは大きい。

Windows サ ー バ に お け る 標 準 的 な Web サ ー バ で あ る マ イ ク ロ ソ フ ト 社 の Internet Information Server(以下IISとよぶ)では、HTTPユーザはOSのユーザとして定義されてい る。つまりWindowsのユーザとして登録されたユーザがHTTPの認証にも使用される。そのた

めWindows独自のネットワークサービスについては適合し易いが、HTTPユーザにOSにログ

オンしたのと同等の権限を与えるため、セキュリティ上のリスクも存在している。

(b) 認証方法の実装状況

HTTP/1.1に定義される認証メカニズムの実装状況を以下に示す。

クライアントにおける実装状況

Basic認証はHTTP/1.0 から存在する認証方法であり、ほぼすべてのHTTPクライア ントで実装されていると言ってよい。しかしDigest認証をサポートしているのは比較的 最近のソフトウエアに限られる。クライアントの実装状況を以下に示す。

表 2-1 クライアントにおける実装状況

名称・バージョン Basic認証 Digest認証

InternetExplorer 4 ○ ×

InternetExplorer 5,6 ○ ○

Netscape 4,5,6 ○ ×

Netscape 7 ○ ○

Opera 6,7 ○ ○

Mozilla 0.9.6 ○ ×

Mozilla 0.9.7以降 ○ ○

Cadaver ○ ○

Webフォルダ ○ ○

OS X ファインダ(10.1.3以降) ○ ○

サーバにおける実装状況

認証メカニズムのサーバにおける実装状況を以下に示す。

表 2-2 サーバにおける実装状況

名称・バージョン Basic認証 Digest認証

Apache 2.0 ○ ○

IIS 5.0 ○ △(注1)

OS X ○ ○

※ 注1: IIS 5.0におけるダイジェスト認証には、クライアントがIEであり、サーバと クライアントが同一または認証されたドメインに所属している必要があると

ドキュメント内 WebDAV WebDAV WebDAV WebDAV HTTP/ (ページ 44-48)

関連したドキュメント