視覚障害者のアクセシビリティを考慮したMoodleシステムの改良 筑波技術大学 保健科学部 情報システム学科1)、保健学科鍼灸学専攻2) 池部 実1) 三宅 輝久1) 大越教夫2) 小野 束1) 要旨:教育におけるICT活用のためグループウェアやe-LearningなどのWebアプリケーションが導入されている。本報告では、視覚障害者のWebアプリケーションへのログインなどにおいて、アクセシビリティ向上を目指し、学生証・職員証などのICカードを用いたWebアプリケーションへのログイン方法を検討し、ICカードによるログイン可能なWebアプリケーションを実現するためのシステム設計、実装について述べる。保健科学部に設置されている共同学習室のPCや、ノートPCに付属しているFelicaリーダを用いて、容易にWebアプリケーションへログインし利用することを目的として、Moodleの改良を実施したことを報告する。 キーワード:教育工学,e-Learning,Moodle,ICカード,FeliCa 1.はじめに  筑波技術大学保健科学部で学ぶ医療系学生のためのコンピュータシステムは、視覚に障害を持つ医療系学生がコンピュータリテラシ教育を受けることを可能とすること、また、その後の学習において提供される各種の教材の利用を目的として、春日キャンパス図書館内の共同学習室に設置されている。共同学習室のPCでは、学生証によるICカードを用いたWindows PCへのログインが可能である。  本報告では、先ほど述べたWindows PCへのログインと同様にICカードによるログイン可能なWebアプリケーションを実現するためのシステム設計、実装について述べる。共同学習室に設置されたPCなどに付属するFelicaリーダを用いて、容易にWebアプリケーションへログインし利用することを目的として、Moodle[1]の改良を実施した。Moodleを改良した理由は、既に保健科学部において授業サポートや国家試験対策のためにe-LearningシステムMoodleを構築し、運用しているためである。 2.アクセシビリティを考慮したシステム設計  本章では、アクセシビリティを考慮した学生証などのICカードを用いてWebアプリケーションへログイン可能とするシステムの設計について述べる。 2.1. 既存のログイン方法と問題点  視覚に障害をもつ人が、Webアプリケーションにログインする際に、キーボードのタブ操作によって、ログインフォームへ移動し、初回のみフォームに入力し、Webブラウザのパスワード保存機能を利用して次回以降ログインすることが多い。この場合、Cookieが削除されると、再びユーザID、パスワードを入力する必要がある。また、Webアプリケーションによっては、ログインフォームへタブ移動できないなどアクセシビリティの問題が指摘される場合がある。  共同学習室では、ICカードによるPCへのログインシステムを採用しているため、同様のインタフェースでWebアプリケーションのログインを可能にすることによりユーザの利便性向上を実現することが可能である。また、WindowsのログインやWebアプリケーションのログインにICカードを利用することで、ユーザID/パスワードをアプリケーション毎に入力することなく、セキュリティの向上と、ユーザID/パスワードの自動入力による利用者負荷の軽減と作業効率の向上が図られている。しかし、商用システムでは、クライアントソフトがWindows OS、WebブラウザがInternet Explorerに限定されていることが多い。本報告では、学生証などのICカードを用いてWebアプリケーションにどのようなWebブラウザでも動作し、ログイン可能とすることが目的である。Webアプリケーションの例として、e-LearningシステムであるMoodleをベースとしてシステムを改良した。 2.2. ユーザ認証に利用する情報  Webアプリケーションへログインするためには、システム内で一意なユーザIDが必要である。本システムでは、本学の学生証や職員証で採用されているFeliCa[2]のフリー領域に書き込まれた情報を用いて認証する。FeliCaとは、SONYが開発した非接触型ICカード方式である。電波による個体識別方式であるRFID(Radio Frequency IDentification)技術のひとつである。FeliCaにおけるリーダ/ライタとカードの間は、リーダ/ライタから発信される13.56MHzの周波数帯を利用し、212kbpsの速度で通信する。副搬送波を使用しない対称通信である。図1にFeliCaリーダライタを示す。本システムの開発には、図1に示したPasori RC-S370を用いた。  保健科学部の学生に配布される学生証には、学籍番号やユーザ名などの情報がFeliCaのフリー領域に書き込まれている。この他にも、FeliCaカードに書き込まれたIDmが利用可能である。IDmとは、FeliCaカード製造時にICチップに記録され書き換えができない固有のID番号である。IDmは8Byte(16桁)の数字で、トレーサビリティと個体識別を目的としてSONYが製造するICチップに書き込まれ同じ番号が流通しないようにSONYが管理している。ユーザIDに学籍番号、パスワードにIDmを用いることにした。FeliCaのIDmはNFC(Near Field Communication)対応リーダライタで簡単に読み取ることが可能である。NFCでもこのIDmを簡単に読み取ることができるためIDmを利用したアプリケーションが広く利用されている。一方で、SONYはセキュリティが必要とされるサービスについてはIDmのみに依存しないように推奨している。高いセキュリティが必要な場合には、FeliCaの暗号領域を利用したサービス等の利用を推奨している。例えば、EdyやSuicaなどのFeliCaカードもこのIDmを保有しており読み取ることができるが、電子マネーではこのIDmは利用されていない。  本システムでは、学生証に書き込まれている学籍番号とIDmを用いる。 2.3. Moodle  Moodleとは、PHPで動作するインターネット上で授業用のWebページを作るためのコンテンツ管理システムである。Moodleはオープンソースソフトウェアで、GNU GPLに基づいて配布されている。Moodleは、Modular Object-Oriented Dynamic Learning Environmentの略称である。三重大学[3]、筑波大学[4]、名古屋工業大学[5]など多くの大学がe-LearningシステムとしてMoodleを採用している。Moodleはカスタマイズ性に優れており、大学毎に様々な工夫をこらして運用している。本学保健科学部においても、授業支援、国家試験対策支援のためのMoodleが運用されている。 2.4. Moodleの認証方式の選択  Moodleでは、いくつかの認証方式が実装されており、その中から選択して運用可能である。 表1に、Moodleで利用可能な認証方法を示す。  Moodleのユーザ情報とは別途、FeliCaカードに書き込まれた情報を管理する。そのため、利用可能な認証方式としてはLDAPサーバ、外部データベースによる認証方法がある。今回の実装において、Moodleがデータを管理するためにデータベースを利用しているため、外部データベースによる認証を用いた。Moodleの管理するユーザ情報は、認証用に利用する外部データベースと連携する項目がいくつか存在する。これらの項目の連携は、任意であるが利用する学生が入力する手間を考慮すると、管理者がユーザ登録する段階で入力しておくことが望ましい。 3.システムの実装  本章では、ICカードを用いてMoodleへログインするための実装について述べる。 3.1.  FeliCa SDKを用いたFeliCa読み取りFlashアプリケーション  学生証、職員証がFeliCaであるため、今回は無償で利用可能なSDK for FeliCa & Adobe AIR/Adobe Flash Basic[6]を用いてICカードリーダ部分の読み取りプログラムを開発した。SDK for FeliCa & Adobe AIR/Adobe Flash Basicは、FeliCa技術の平文通信機能を使用したアプリケーション開発が可能である。このSDKを利用することでフリー領域に書き込まれたIDm等の情報を読み込むことが可能である。FeliCaを用いたWebアプリケーションの構成を図2に示す。FeliCaリーダライタを利用するPCには、FeliCaポートソフトウェアをインストールすることにより、図2に示したFeliCaライブラリとFeliCa ProxyがPC上で利用可能である。Webページに組み込んだSDK for FeliCaのライブラリを含むFlashアプリケーションは、FeliCa Proxyと通信する。FeliCa Proxyを通じて、FeliCaカードリーダにかざしたFeliCaカードの情報をWebアプリケーションへ送信する。  FeliCaカード読み取りアプリケーションは、Moodleサイトのログインページに組み込むため、SDK for FeliCa & Adobe AIR/Adobe Flashを用いてFlashベースのアプリケーションとして開発した。Flashアプリケーションの開発にはActionScript3.0を用いた。Flashは、HTMLやCSSだけでは実現できないリッチなWebコンテンツを提供するために、商用サイトをはじめとして広く利用されている。しかし、Flashを利用することはアクセシビリティへの配慮の点からあまり好ましくないとされる傾向がある。本システムで、Flashを用いた理由としては、FeliCaをカードリーダにかざして、そこから情報を取得することのみに利用するからである。この点は、MoodleサイトのWebアクセシビリティへ影響を与えることがない。  Moodleにおいて、外部スクリプトからユーザを認証するには、moodleサイトのURL/login/index.phpに、usernameとpasswordをHTTPのPOSTメソッドで渡すことで可能である。  ActionScript3.0プログラムからFeliCaを操作するには、ビルドする際に、SDK for FeliCa & Adobe AIR/Adobe Flashが提供するSDKforAIR_Flash_Basic.swcライブラリをインポートする必要である。ActionScript3.0プログラムでは、FeliCaを操作するために、com.sony.jp.felica関連のクラスをインポートする。インポートしたクラスを図3に示す。  FeliCaリーダを操作するためには、アプリケーション起動時にFeliCaControl()を呼び出す必要がある。FeliCaカードリーダを操作して情報を読み取る流れを図4に示す。  FeliCaControl()のインスタンスに対して、FeliCaカードをFeliCaリーダにかざした際に発生するイベント(表2)をaddEventListenerで追加する。  FeliCaOpenReaderWriterAutoRequest関数で、FeliCaリーダへアクセスする。FeliCaリーダがFeliCaカードにアクセスが成功した場合、FeliCaPollingAndGetCardInformationResponse型のインスタンスを取得する。このインスタンスには、IDmなどのフリー領域に書き込まれた情報が格納される。IDmや学籍番号などの値を取得した後、MoodleシステムにURLVariablesクラスのインスタンスを用いてusername、passwordをPOSTする。  このActionScriptプログラムをビルドし、SWF形式のファイルとして保存する。SWF形式のファイルは、Adobe Flashの再生用ファイルフォーマットのひとつである。次節以降で説明するMoodleサイトにこのSWFファイルを設置した。 図1 FeliCaリーダライタ(SONY製PaSori RC-S370) 表1 Moodleで利用可能な認証方式 図2 FeliCaを用いたアプリケーションの構成 図3 インポートするFeliCa操作関連のクラス 図4 FeliCa操作の処理フロー 表2 FeliCaカードをかざした際に発生するイベント 3.2. Moodleサイト構築  MoodleをPCサーバ上に構築した。Moodleを構築したPCのスペックを表3に示す。  Moodle2.1.2を用いて構築した。Moodleのデータを管理するためのデータベースとして、MySQLを用いた。設置したMoodleのlogin/index.phpに、前節で述べたように図5のように記述し、FeliCaカードを読み取るSWFファイルを設置した(図6)。  認証用データベースは、構築したMoodleと同様にMySQLを用いた。MySQL上に、新たにfelica_usersデータベースを構築し、FeliCaのIDmや学籍番号を格納するためのusers_infoテーブルを作成した。users_infoテーブルのデータ構造を表4に示す。  users_infoテーブルが保持するusername、password、firstname、lastname、city、countryは、Moodleが管理するユーザ管理テーブルにおけるusername、password、firstname、lastname、city、countryをそれぞれ対応させた。このような対応をとることにより、ユーザ自身が登録する必要はなくなる。ただし、外部データベースへユーザ情報をあらかじめ登録する必要があるため、管理者がCSVファイルに記述し、MoodleのWebインタフェースから一括登録する。 3.3. 各Webブラウザでのテスト  前節までに述べたように実装することで、学生証等のICカードを用いてMoodleシステムへログイン可能である。そこで、Windows XP、Windows 7(64bit)上において各種Webブラウザを用いて動作を確認した。テスト結果を表5に示す。Windows XP上のFirefox以外では動作することを確認している。Windows XP上のFirefoxで動作しない理由は、現在のところ不明であり、原因究明中である。 表3 Moodleを構築したサーバのスペック 図5 index.phpへのSWFファイルの埋め込み 図6 Flashを埋め込んだMoodleログイン画面 表4 users_infoテーブルのデータ構造 表5 各ブラウザでの動作テスト 4.既存のICカードを用いたMoodleシステム  Moodleシステムは、既に多くの大学、教育機関で導入されている。各大学で、状況に応じてカスタマイズして利用している。Moodleシステムで、ICカードを利用している例としては、名古屋工業大学での学生証を用いた出欠管理システム[7]やモバイルFeliCa付き携帯電話を用いた出席管理システム[8]がある。これは、授業に出席する際に、教員側が準備したPCに接続しているFeliCaリーダに、カードをかざすことにより出席を管理するシステムである。学生の出席情報がExcelファイルに書き込まれ、授業後にMoodleシステム側に同期することで出席を管理している。  Moodleシステム自体に、FeliCaカードを用いてログインするようなシステムはまだ報告されていない。 5.現状の問題点  既に稼働しているMoodleシステムでは、メールアドレスによる認証システムを用いているため、学生証・職員証などのICカードによる認証システムを導入することは、Moodleシステムの認証システムを一から見直すことになる。現状では、開発用プロトタイプシステムと、実際に学生が利用しているMoodleは分離しているため、新旧Moodleシステムの統合をどのように実施するかが問題である。 6.まとめ  本報告では、ICカードによるログイン可能なWebサービスを実現するために実施したシステム設計、Moodleへの実装について述べた。現在、共同学習室や各教室に設置されているPCには、FeliCaリーダが搭載されており、学生証をかざすことによりログイン可能である。同様のインタフェースを用いて、Moodleシステム等のWebアプリケーションへログイン可能になることは、ユーザの利便性向上につながると考える。  本研究は、平成23年度の文部科学省特別経費「視覚に障害を持つ医療系学生のための教育高度化改善事業」の支援を受けて実施した。 参考文献 [1] Moodle, http://www.moodle.org/ [2] FeliCa,http://www.sony.co.jp/Products/felica/ [3] 三重大学Moodle,http://portal.mie-u.ac.jp/moodle11/ [4] 筑波大学e-Learningポータル,http://moodle.tsukuba.ac.jp/ [5] 名古屋工業大学moodle,http://www.cc.nitech.ac.jp/portal/moodle/ [6] Adobe SDK for FeliCa & Adobe AIR/Adobe Flash,http://www.adobe.com/jp/joc/flex/sony_felica/ [7] 伊藤 宏隆,船橋 健司,中野 智文,内匠 逸,松尾 啓志,大貫 徹:名古屋工業大学におけるMoodleの構築と運用.メディア教育研究 第4巻(第2号):(15-21),2008. [8] 小島 潤,山岸 芳夫:モバイルFeliCaを用いたMoodle用出欠管理システムの構築.工学・工業教育研究講演会講演論文集 平成19年度:(198-199),2007 Improvements to Moodle System for Accessibility by Visually Impaired People IKEBE Minoru1), MIYAKE Teruhisa1), OHKOSHI Norio2), ONO Tsukasa1) 1)Department of Computer Sciences, Faculty of Health Sciences, 2)Course of Acupuncture and Moxibustion, Department of Health, Faculty of Health Sciences, Tsukuba University of Technology Abstract: Web applications such as groupware or e-Learning are introduced for information and com-munication technology utilization in the education sector. This report describes a login method to these Web applications using integrated circuit (IC) cards such as a student identification card. The login system to the Web applications using an IC card improves their accessibility to the visually impaired. Our web-developed prototype system is used with the Moodle learning management system. Keywords: Educational Technology, e-Learning, Moodle, IC Cards, FeliCa