前: 技術的背景 上: 技術的背景 次: uPortal

CAS

CAS[3]は、Yale大学で開発されたユーザ認証システムで、現在はJA-SIG プロジェクト[5]に開発が引き継がれている。

CASのユーザ認証を簡単に以下に示す。

  1. 2(1)に示すように、CASに対応したWebアプリケーションに ユーザがアクセスすると、認証がまだの場合は、(2)CASサーバへユーザ をリダイレクトし、そこでユーザIDとパスワードによる認証を行う。熊 本大学の場合は認証に必要なデータは、全学LDAPサーバから取得してい る。
  2. 認証が通った場合、図2(3)に示すように、CASサーバから Webアプリケーションに、再リダイレクトされる。今度は、CASサーバで 取得したTicketを持って、(4)Webアプリケーションにアクセスする。有 効期限内にユーザ認証が既に成立している場合も、Ticketを持ってアク セスすることになる。
  3. Ticketを持ってWebアプリケーションにアクセスした場合、図 2(5)に示すように、WebアプリケーションはCASサーバにアク セスし、その正統性を検証する。
  4. 検証ができた場合、CASサーバはWebアプリケーションにユーザIDを返す ことで、Webアプリケーションはユーザ認証を終了し、同時にユーザID を取得する。

図 2: CASによるシングルサインオンの概略
\includegraphics[width=\linewidth]{figs/cas1.eps}

このように、比較的単純なシステムであるにもかかわらず、Webアプリケーショ ン自体はユーザのパスワードに関する情報をなにも持つ必要がなく、高いセキュ リティを持つ。Java、.Net、PHP、Perl、Apache、uPortal等多くの言語やシステ ムに対応しており、本研究で学習者ポータル構築のベースとして用いたuPortal をはじめ、ポータル環境を支えるSOSEKI等、種々のWebアプリケーションも対応 している。一例として、よくWebアプリケーション構築に利用されるApache Tomcat[6]においては、casclientクラスライブラリ[7] を利用することで、web.xmlにfilterを追加するだけで、ほとんどソースコード に変更を加えることなくCASによるシングルサインオンを実現することができる。

世界的に多くの大学で、また国内では名古屋大学[8]等で、 CASおよびuPortalを利用した大学ポータルが活用されている。



熊本大学総合情報基盤センター 中野 裕司   2007年8月16日(木)