MicrosoftのIEチームでは、こうしたWebスライス利用を前提とした認証プロセスの実装について、サイト管理者向けに4つのケースを想定してその手法を解説している

  1. Persistent Login Cookies (“remember me”)
  2. Web Slice Specific Authentication Cookie
  3. Unique Subscription URLs
  4. HTTP Authentication

(1)のPersistent Login Cookiesとは、認証情報をCookieとしてIEに食べさせることで2回目以降のログイン作業を割愛するものだ。英語サイトなどでIDとパスワードの横に「Remember me」などと書かれたチェックボックスを見かけることが多いが、これはPersistent Login Cookiesを利用するという意味だ。だが "Persistent (永続的な)" とは言いつつも、実際にはセキュリティ上の理由からCookieに賞味期限、つまり有効期限が設定されているケースが多い。サイトにより異なるが、だいたい数週間から1カ月程度ということが多いようだ。Webスライスの利用を前提とした場合、最初のログインから一定時間が経過することで、再度手動で認証を行わない限りアップデート機能が利用できないことになる。

Webスライス上にログイン画面を表示させる

有効期限切れ後はユーザーにサイトを訪問させて、ログイン作業から再度Cookieを食べさせるのも手だが、Webスライスの機能を使ってそのままWebスライス上にログイン画面を表示させるやり方がスマートだ。

Webスライスの画面はQVGA (320×240)で定義されており、このサイズに適した形の認証画面を用意しておく。Cookie情報が有効期限を迎えた際には、最新アップデートとしてこの認証画面をIEからのリクエストに対して返すようにすればいい。ポイントとしてはDynamic Web Slicesの仕組みを利用することと、認証の際には可能な限りSSLを利用することの2点が挙げられる。またサイト自身の信頼性を示すため、SmartScreenのような機能を活用するのも手だ。公的認証を受けてフィッシングサイトやマルウェアサイトでないことを示すといいだろう。

サイト認証を利用した例

また認証付きサイト標準のPersistent Login Cookies以外に、Webスライス用の専用認証を用意する方法もある。サイト管理者にとっては二度手間となるが、CSRF (Cross Site Request Forgery)のような脆弱性に対してよりセキュアな仕組みを提供できる。2つに認証を分けることで、Webスライスにはサイト情報の読み込みのみを許可するといったことも可能となる。これが(2)のWeb Slice Specific Authentication Cookieだ。Dynamic Web Slices、またはAlternative Update/Display Sourceやfeedurlを利用するWebスライスでの実装が対象となる。

以上の2つはCookieを利用した認証方法だが、いっそ認証そのものが不要なWebスライス専用ページを用意してしまうのもいい。認証がないため安全性は確保されないが、読み込み専用で秘匿性が低い情報、あるいは一般的な情報でサイト全体に認証をかけてまでクローズドにする必要がない場合に有効となる。Webスライスを窓口にユーザーを認証サイトへと誘導するのも手だろう。(3)のUnique Subscription URLsとは、このような形でWebスライスの購読(定期アップデート)専用のURLを用意してしまう方法だ。注意点としてはWebスライス専用のユニークなURLを必ず用意し、コードはサーバ側で実行すること。Ajaxのような仕組みは利用できないので注意したい。