認可を必要とするシングルサインオンシステム 同志社大学 大学院 工学研究科 ◎ 牧野 浩之  廣安 知之  三木 光範 FIT2007
はじめに ( 現状 ) 私の所属する研究室にはウェブブラウザから利用する様々なイントラサービスがある サービスを利用する前に,それぞれのメンバーが抱えるタスクをこなしてから利用してもらいたい 私の研究室は 50 名のメンバーで構成されている タスクが処理されているか教員は把握しきれない 企業などの組織においても同様のことがいえる Intelligent Systems Design Laboratory
組織とタスク管理 タスク (TODO) 管理は組織において仕事や プロジェクトを行う際の重要な要素になる タスクにはいろいろな種類が存在 やればすぐできる軽微なタスク 長期的なスパンで行うタスク 軽微なタスクはついつい後回しにしてしまい, 結局すぐには完了しないことが多い 大規模な組織になるとリーダーは一人一人の 軽微なタスクは管理しきれない Intelligent Systems Design Laboratory
解決策 「アレやる前にコレやってね」とお願いする なかなかやってもらえない 組織内にはウェブブラウザを通じて利用させる イントラサービスが多い それらのサービスを利用する前にタスクを 完了してもらう Intelligent Systems Design Laboratory
システム比較   既存の仕組み      提案システム サービス内で権限の 確認が完結していた    権限管理の統合が可能 Intelligent Systems Design Laboratory
提案システム  認証システムとタスク管理を組み合わせた, 認可を必要とするシングルサインオンシステム 特長 タスク管理を認証時に行う タスクの状態に応じてアクセス 権限が付与される イントラ内での認証を想定 必要要件 タスク管理、認可、認証、シングルサインオン Intelligent Systems Design Laboratory
認可 認可とは,管理者がユーザに対してサービスの 利用を許可したり,アクセス権限を付与すること ユーザごとにアクセス可能なリソースの 制限が可能 認可の方法 個別に権限を付与 役職ごとに権限を付与 グループごとに権限を付与 ユーザの状態によって権限を付与 Intelligent Systems Design Laboratory
認証 ユーザ本人であるかの確認を行う仕組み システムがユーザを識別するための仕組み 認証方式 パスワード認証 ( 知識認証 ) 証明書認証 ( 所有物認証 ) バイオメトリクス認証 ( 特徴認証 ) パスワード認証にはフィッシング詐欺等のセキュリティリスクが顕著になってきている ログイン操作の頻度を減らし,確実な認証を行う Intelligent Systems Design Laboratory
シングルサインオン 一度の認証で複数サービスの利用が可能 アカウントの一元管理が可能 ユーザの利便性向上 管理者のアカウント管理の負担軽減 Intelligent Systems Design Laboratory
システム設計 一般的な LAMP(Linux,Apache,MySQL,PHP) 環境 で動作 Ethna フレームワークを利用 データベーステーブル構造 user テーブル…ユーザ情報格納 task テーブル…発行したタスク情報を格納 todo テーブル…ユーザに割り当てたタスク情報を格納 task_done テーブル…ユーザからのレスポンスを格納 Intelligent Systems Design Laboratory
タスク管理機構の仕様 管理者がユーザに対してタスクを割当 比較的軽いタスクに利用 タスクに期限の設定が可能 タスクの完了報告もタスク管理システムを 利用して行える Intelligent Systems Design Laboratory
認証機構の仕様 ( キーの発行 ) 認証画面で認証後,タスクが残っていなければ 認証サーバよりアクセスキーが発行され Cookie に格納される サービスにアクセスする際, Cookie に格納された key が http ヘッダで伝送される Intelligent Systems Design Laboratory
認証機構の仕様 ( キーの検証 ) ユーザのキー (Cookie) をサービスに送り, サービスが認証サーバの API に対してキーの 有効性を確認 success でなければ mod_rewrite で認証画面へ リダイレクト Intelligent Systems Design Laboratory
技術的な課題 サービスが認証システムに問い合わせる仕組み Cookie と mod_rewrite で実現 クロスドメインへの対応 Cookie には 1Cookie あたり 1 ドメインに対して有効 利用するサービスが動くドメインすべてに対して Cookie を発行する 認証情報の伝搬 http ヘッダにキー情報が流れる SSL を利用してヘッダ自体を暗号化する Intelligent Systems Design Laboratory
デモの概要 ユーザ側の操作 1.ログイン画面よりログインを行う 2.ログイン後,タスクがある画面が出現する 3.アクセスができないことを確認する 4.タスクを処理する 5.タスクがなければアクセスができることを確認する Intelligent Systems Design Laboratory
デモの概要 管理者側の操作 1.タスクを作成する 2.作成したタスクをユーザに割り当てる 3.ユーザ側にタスクが割り当てられたことを確認する 4.タスク処理後,レスポンスが返ってくることを確認 Intelligent Systems Design Laboratory
今後の課題 既存サービスへの実装 簡易な実装では .htaccess の設置で可能 密な連携を行うには認証 API の拡張が必要 統一的なアカウント管理 現在は DB にユーザアカウントを格納 ユーザアカウントを LDAP に格納して他システムと連携 タスクの発行方法 より柔軟にタスクの設定を可能にする Intelligent Systems Design Laboratory
まとめ 組織内にはウェブブラウザを通じて利用する イントラサービスがある 組織内においては,ユーザにサービスを利用 させる前にやってもらいたいタスクが存在する 一般的なサービスが認証サーバにユーザの状態を 問い合わせる仕組みがない タスクが完了すればサービスへのアクセスが許可 されるシングルサインオンシステムを構築した  タスク管理を通じた認可の仕組みを認証に適用 Intelligent Systems Design Laboratory
牧野 浩之 < hmakino@mikilab.doshisha.ac.jp > Intelligent Systems Design Laboratory

Single sign-on system requiring authorization