H3-2

Android タブレットと PaSoRi リーダーを用いた
FCF 対応 IC カードリーダーの開発
永井孝幸

熊本大学総合情報基盤センター
tnagai@cc.kumamoto-u.ac.jp
概要：熊本大学では全学情報基盤整備の一環として 2012 年度より学生証の IC カードへの切替を実施した。今回導入した IC カードのフォーマットは FCF キャンパスカードに準じているが、大学独自サービスのためにプライベート領域にもデータを保存しており、IC カード対応サービス整備のためには IC カードリーダーの調達が最初の課題となる。安価にリーダーを実現する方法としては
NFC リーダー搭載のスマートフォンやタブレットを使って IC カードを読みとる方法が考えられるが、通常 IC カード読取り面が機器の背面に固定されているため、出席確認のように大勢が IC カードを次々とかざすという場面には適さない。そこで今回、市販の Android タブレットと外付けのPaSoRi リーダーを組み合わせる方式で FCF フォーマット対応の IC カードリーダーを開発した。

はじめに

ドフォーマット[2]に準じているが、FCF 用のデ

熊本大学では全学情報基盤整備の一環としてータ領域には本学独自の熊本大学 ID を格納する

2012 年度より学生証の IC カードへの切替を実施

場所がないため、熊本大学 ID は IC カードのプラした。カード偽造に対するセキュリティ向上と熊イベート領域に保存されている。

1

本大学 ID の導入が主な目的である。

IC カードを活用することで入退室管理だけで従来の磁気カードではカード情報の複製が技なく窓口業務や出席管理等の学内サービスを充実術的に容易であることから入退室管理での利用にさせることが考えられるが、IC カード対応サービおいてセキュリティ上の問題が懸念されている。

ス整備のためには IC カードリーダーの調達が最磁気カードのリーダライタは現在でも１０～２０初の課題となる。FCF フォーマット対応の IC カ

万円程度で一般に入手可能であるが、iPhone にードリーダーは多数市販されているが、低価格な汎用磁気カードの機能を持たせる製品[1]も最近

リーダーは FCF 情報の読取りに特化しているたになって発表されており、カード偽造対策の必要め本学独自のデータである熊本大学 ID を読みと性がますます高まっている。今回複製の困難な ICることができない。熊本大学 ID を扱うにはカスカードを導入することによりセキュリティが向上

タマイズに対応した高価格帯のリーダーが必要とすることが期待される。

なるが、今度は費用の面から導入台数が限定され熊本大学 ID は情報システム利用時のセキュリるという問題がある。

ティ向上を意図して導入した生涯 ID である。現

FCF 準拠の IC 学生証は技術的には単なる在熊本大学内の統合認証ではユーザ ID として学

FeliCa カードであり、FeliCa 対応リーダーを備え生番号を用いているが、学生番号には所属学部・た機器であればカード情報を読むことが可能であ入学年次などのユーザ属性が含まれているためユる。例えば、PaSoRi リーダーをつないだパソコンーザ属性を必要としないシステムに対しても結果や FeliCa 対応携帯電話を用いて出勤管理を行う的にユーザ属性が渡されてしまうことになる。本

製品は多数販売されており、これらを転用するこ来、個人情報保護の観点からは各システムにはシとも技術的には可能である。また、近距離無線通ステム利用に必要な最低限の情報だけを渡すこと信規格である NFC に準拠したリーダーであればが望ましい。そこで熊本大学 ID ではユーザ ID とFeliCa カードの非暗号化領域にアクセス可能でしてランダムな英数字列を割り当てている。

ある。市販の安価な機器を組み合わせて FCF 領

今回導入した IC カードのフォーマットは IC 学

域・大学独自領域のデータを扱える汎用的な IC カ

生証の代表的な規格である FCF キャンパスカーードリーダーを開発することができれば、学内サービスの整備を大きく前進させることができる。

読取り部を本体前面に配置した機種が存在する。

そこで今回、Android タブレットと外付けの問題は業務用製品であるため実売価格が 10 万PaSoRi リーダーを組み合わせる方式で FCF フォーマット対応の IC カードリーダーを開発した。

円前後と Android タブレットとしては高価なこ以下、2 節で IC カードリーダー開発におけるとである。少数の導入については問題ないが課題について述べ、3 節で開発した IC カードリー

100 台単位での導入を考えると数千万円単位でダーの実装方法について述べる。4 節では開発しの予算が必要となり、現在の大学の財政事情でたリーダー用 Android アプリケーションの概要をは大規模導入は難しい。

紹介し、5 節で試用結果を述べる。

2.2 Android 機器に外付け PaSoRi リーダーを

2

IC カードリーダー開発における課題

組み合わせる際の課題

この節では市販機材を用いて FCF フォーマ市販製品で容易に入手可能な FeliCa リーダット対応 IC カードリーダーを開発する際の課ー/ライターとしては SONY 製の PaSoRi(図 2)

題について述べる。市販の NFC 対応 Androidがあり、実売価格 3,000 円程度と安価である。

機器を用いる場合、
PaSoRi リーダーと Android

USB インターフェースを備えていることから機器を組み合わせる場合の 2 つのケースについ原理的には USB ホスト機能を備えた機器であて考察する。

れば利用可能であり、例えば Linux では PaSoRi

2.1 NFC 対応 Android 機器を用いる際の課題経由で FeliCa カードにアクセスするためのラ市販の Android 機器を用いて安価に IC カー

イブラリとして SONY 純正の SDK 以外にもドリーダーを実現する方法として、NFC 機能libpafe[4]や libnfc[5]等のフリーのライブラリ搭載のスマートフォンやタブレットを使ってが利用可能である。

IC カードを読みとる方法が考えられる。しかし、ほとんどの市販機器では IC カード読取り部が機器の背面に固定されているため、出席確認のように大勢が IC カードを次々とかざすという場面には適さない(図 1)。IC 乗車券対応改札や電子マネー対応レジのように「自分が手に持っているものを上から読取り部にかざす」のが利用者の期待する自然な動作である。

図 2 PaSoRi リーダー
Android OS では 2011 年に登場した Android
3.1(Ice Cream Sandwich)から USB ホスト機能に標準対応し、USB ホスト機能を備えたタブレット・スマートフォンが容易に入手可能となった。したがって、OS・ハードウェアの面からはAndroid 機器から PaSoRi を利用する環境はすでに整っている。
ただし Android で標準サポートされている
USB キーボードやマウスと異なり、Android から PaSoRi を利用するに PaSoRi 用ドライバ/ラ

図 1 背面リーダーによる読取りイブラリを用意する必要がある。これには(1)

一部の業務用タブレットでは NEC の「タブ「 Android カ ー ネ ル を 改 修 す る 方 法 」 と (2)レット型パネルコンピュータ」[3]のように NFC

「Android の USB ホスト機能を利用する方法」
が考えられる。
Android カ ー ネ ル の 改 修 に よ る 方 法 はAndroid の NFC サービスのレベルで PaSoRi

数年後には USB ホスト機能を備えた Android機器が一般的になると考え、Android タブレットに PaSoRi リーダーを組み合わせる方式で FCF 対応 IC カードリーダーを実装することとした。この方法は 2.2 節で述べたように実装の手間がかかるに対応させ、Android アプリから通常の NFCが、教員個人や各部署で導入した Android 機器を機器として扱えるようにする方法である。このIC カードリーダーに転用することで導入コスト場合、Android アプリからは Android 標準のを低く抑えられるメリットがある。

NFC クラスを使って PaSoRi と通信できるため、3.2 想定する利用形態

NFC 機能を使ったアプリがそのまま PaSoRi で開発する IC カードリーダーは学内業務での利用できるというメリットがある。カスタマイ

FCF キャンパスカード読取り・熊本大学 ID のズしたカーネルを Android 機器に書き込む必要読取り、講義での出席登録に利用するものとし、があるためこの手法が使える機器が限定される

タブレット本体と PaSoRi リーダーを使用場所のが欠点であるが、x86 環境に Android を移植まで持ち運ぶ利用形態を前提とする。場所を問し た Android x86 上 で こ の 手 法 を 使 っ てわずに使用できるようネットワーク接続は前提

PaSoRi に対応させた事例が知られている[6][7]。とせず、IC カード読取り記録はタブレット本体

Android の USB ホスト機能を利用する方法に CSV 形式のファイルとして蓄積し、タブレッ

では PaSoRi リーダーの制御、FeliCa コマンド

ト回収後にホスト PC から読み出すものとする。の処理を全てアプリケーション側で行うことで出席登録時のリーダーの使い方には(1)机上PaSoRi に対応させる。アプリケーション毎にに設置する方式、(2)教員自身がリーダーを持っ対応しなければならないのがデメリットであるて巡回する方式、(3)リーダー本体を巡回する方が、Android カーネルの変更を伴わないため幅式を想定する。

広い Android 機器を PaSoRi に対応させること

4 FCFReaderForPaSoRi 概要ができる。この方法を用いた事例には Androidアプリの「RC-S370 をつなぐ」や github で公開されている NfcPcd ライブラリ[8]がある。但しこれらの事例ではソースコードが公開されておらず、用途に応じて自由に改変することができない。

3

FCF 対応 IC カードリーダーの開発
今回開発した IC カードリーダーの実装方法と想定利用形態について述べる。
3.1 Android タブレット＋PaSoRi による実装
IC カードリーダーを出席登録や受け付け業務

この節では今回開発した Android タブレット
用 FCF 対応 IC カードリーダアプリケーション
FCFReaderForPaSoRi の概要について述べる。

4.1 動作環境
本アプリケーションは USB ホスト機能を備えた Android バージョン 3.1 以降の Android 機器と PaSoRi リーダーの元で動作する。2012 年
11 月時点で以下の Android タブレット・スマー
トフォンと PaSoRi リーダー(図 2)の組み合わせでの動作を確認している。
(1)Android 本体(図 3)

で利用することを考えるとカード読取り部は前面

GalaxyNoteSC-05D(Android4.0,5.3 インチ)にあることが望ましく、また、リーダー一式の価Nexus 7(Android 4.1, 7 インチ)格も低く抑えたい。一般に業務用製品の価格は高ICONIA A500(Android 3.2, 10.1 インチ)

止 ま り し が ち で あ る が 、 ICONIA A500 やGALAXY Tab, Nexus 7 など USB ホスト機能を備えた Android タブレットは現時点でも数万円程度で入手可能である。また、スマートフォンでもUSB ホスト機能を備えた機種が増えつつある。

(2)PaSoRi リーダー
RC-S360(スティック型,図 2 左)RC-S370(卓上設置型, 図 2 右)

時間になると自動的に出席登録表示になる(図 7)。
受付時間が終了すると受付終了の案内が表示される(図 8)。

図 3 開発に使用した Android 機器
4.2 ソフトウェア内部構成
開発した Android アプリは PaSoRi との通信、FeliCa コマンドの処理、IC カードデータ領域へのリード/ライト処理を行う基本クラス群と、IC カードリーダー用ユーザインタフェースを

図 5 出席設定画面提供するクラス群からなり、全体で 3,000 行程度の小規模なプログラムである。
PaSoRi との通信処理、FeliCa コマンドの処理については libpafe[4]のソースコードおよび「FeliCa カードユーザーズマニュアル」[9]を参考に独自に開発を行った。公開技術情報のみに基づく実装のため、アクセスできるのは FeliCaカードの非暗号化領域のみである。

図 6 受付け開始待ち状態の画面

4.3 IC カードリーダ機能紹介
開発したカードリーダの主要機能を利用場面と合わせて紹介する。
(1)IC カード情報読取り機能
PaSoRi リーダーに FCF キャンパスカードをかざすと学生番号と氏名を読取り画面に表示する(図 4)。また、熊本大学の IC 学生証では熊本大学ID も読みとることができる。

図 7 出席登録受付け中の画面

図 4

テスト用 IC 学生証による出席登録(2)出席受付け設定機能
出席登録時時間帯だけ出席登録を受付けるように受付け開始時間と受付期間を指定することができる(図 5)。指定時刻になるまでは出席登録画面には受付開始時刻の案内が表示され(図 6)、受付

図 8 出席登録〆切後の画面

(3)画面ロック機能
Android タブレットを机上に設置する利用形態、あるいはタブレット本体を巡回させる利用形態では、不意あるいは故意に出席受付け設定を変更したり IC カード読取り記録を閲覧したりしないよ

は、PaSoRi リーダーは軽量であるため長時間の利用でも手にかかる負担が少なく、また、機器の誤操作や落下などのトラブルを避けられることが挙げられる。

うに画面操作を制限する必要がある。そこで画面のロック機能を実装し、ロック解除用の暗証番号を入力するまでは出席登録画面から他の画面に移動できないようにしている。
(4)FCF カード読取り記録保存機能
読みとった FCF キャンパスカードの情報のうち、学生番号・氏名などの基本情報を読みとり時刻とともに CSV 形式でファイルに保存する。現在
は 1 つのファイルに全ての読取り記録を保存するようにしており、出席情報集計時に出席登録の区切りが分かりやすくなるよう、受付け開始時刻と受付け終了時刻も保存している(図 9)。

図 10 リーダー部のみ手に持つ使い方
5.2 汎用 Android 機器を利用するデメリット
利用する Android 機器によってアプリの挙動が異なることがあり、機器毎に操作に習熟しておく必要がある。代表的なものを以下に挙げる。

図 9 出席ログ閲覧画面

5 IC カードリーダ試用結果
今回開発した IC カードリーダーはまだ実際の講義・業務では利用しておらず、基本機能が問題なく動作することを確認した段階である。
ソフト開発中の試用段階で気がついた点を以下にまとめる。
5.1 カード読取り部を分離することのメリット
今回開発した IC カードリーダーはカード読取り部が Android 機器本体と分離しているため、可搬型リーダーとして利用するには読取り部の固定方法を工夫する必要がある。しかし、逆に読取り部と機器本体を離して利用することが可能である。例えば、出席確認のために教員自身がリーダーを持って巡回する場合、機器本体はジャケットのポケットなどにしまい、読取り部だけを手に持って学生に見せるといった使い方が出来る(図 10)。この使い方のメリットとして(1)アプリの多重起動
Android では USB 機器を接続した際、その USB機器に対応づけられた Android アプリが自動的に起動される。この際、すでに IC カード読取りソフトを起動した状態で PaSoRi を接続すると IC カード読取りソフトが二重に起動されPaSoRi に正常にアクセスできなくなることがあった。この場合は起動された IC カード読取りソフトを一旦すべて終了させる必要がある。
(2)USB デバイスの認識動作
前述の多重起動を避けるためには PaSoRi リーダーを本体につないだままにしておくのが望ま
しいが、GalaxyNote では PaSoRi を接続したままの状態で本体を起動しても USB デバイスとして認識されないことを確認している。そのため、本体起動後に PaSoRi を接続する必要がある。

(3)ホスト PC でのログの読み出し操作型 の Android4.0 端 末 や 「 FT103-V2

21.5

IC カード読取り履歴を取り出すにはホスト

SmartDisplay」のように 20 インチを超える大PC から Android 機器内のファイルにアクセス型の Android4.0 タブレットも登場しており、ICする必要があるが、この操作が煩雑である。

カード読取り機能を持ったキオスク端末に転用

Android 3.0 までは Android デバイスをホストすることも考えられる。

PC に接続すると USB ストレージとして認識されるのが標準の動作であったため、USB メモリを PC につなぐのと違いは無かった。
ところが Android 3.1 からは新たに「メディアデバイス(MTP)」というアクセス方法が導入され、MTP デバイス内のデータを読み書きするにはホスト PC を MTP 方式に対応させる必要がある。Windows では MTP 機能に標準で対応しているが Mac、Linux では MTP アクセス用のソフトのインストールが必要となる。

図 11 利用場面に応じた機器の組み合わせ

また、USB ストレージ、MTP どちらの方式に対応しているかは機器によって異なり、片方6 今後の課題の方式にしか対応していない機器も存在する。

開発した IC カードリーダーを実地で使用し、このため Android 機器とホスト PC の組み合わ使い勝手を向上させていくことが今後の課題でせによりデータ読み書きに必要なソフト・手順ある。出席登録・受付窓口用のリーダー単体とが異なる。

して機能することはもちろん、学生出欠管理サ

例えば Nexus7 では USB ストレージデバイーバーや LMS 等のバックエンドシステムとのス機能が実装されておらず、メディアデバイス連携[12][13][14]により様々な学内サービスを(MTP)として内蔵ファイルシステムにアクセスIC カードに対応させることが可能になる。例えするようになっている。更にホスト PC 接続時

ば以下のような拡張が考えられる。に USB 接続時の設定を「カメラ(PTP)」モード(1) 履修者名簿との照合機能から「メディアデバイス(MTP)」モードに切り出席登録の受け付け締め切り後、即座に履替えておく必要がある。

修者名簿と照合することで応対の必要な学

このため、Android 機器の操作に不慣れな利用者がログ読み出し時に混乱する恐れがある。

生を見つけやすくすることが考えられる。
(2) カード読取り記録のアップロード機能
ホスト PC に接続しなくてもカード読取り

5.3 汎用 Android 機器を利用するメリット

記 録 を 取 り 出 せ る よ う 、 無 線 LAN ・開発した IC カードリーダーは USB ホスト機

Bluetooth 機能を使ったファイルアップロ

能を持った Android 3.1 以降の Android 機器でード機能を実装することで使い勝手が向上あれば利用可能である。そのため、利用場面・すると考えられる。ただし、データの暗号利用形態に応じて異なるサイズの Android 機器化を適切に行うなどセキュリティ面への配を組み合わせて利用することができる(図 11)。

慮も必要となる。

更に「MK802」や「Tizzbird N1」のようにディスプレイに接続して使う USB スティック(3) 棚卸し・貸出業務への展開
今回開発した IC カードリーダーでは出席登録での用途を想定した画面表示を行っていードの読取りだけでなく一般の NFC タグも読取るが、IC カードとの通信処理自体は NFCり可能となることから、キオスク端末や物品管理タグ一般に対する処理である。したがって、
NFC タグの IDm 番号を表示・保存するよなど他の用途への応用も進めていきたい。

参考文献

うに変更すれば棚卸し・貸出業務にも利用できると考えられる。
(4) Felica Lite, Felica Lite-S への対応
Felica の技術規格を簡素化し、無線タグの小型化・低価格化を実現した規格に Felica
Lite, Felica Lite-S がある。Felica Lite/S タ
グの読み書きには PaSoRi がそのまま使え[1] Geode,http://www.kickstarter.com/projects/1404403369/geode-from-icache?ref=live[2] FCF キャンパスカードとは、FCF(共通利用フォーマット)推進フォーラム、
http://www.fcf.jp/whats%20fcf/whatsfcfc.ht
ml[3] NEC 社製タブレット型パネルコンピュータ（業務用タブレッ

るだけでなく、暗号化領域への通信方法がト）,http://www.nec.co.jp/products/pnc/tabl

秘 匿 さ れ て い る Felica と 異 な り Felica
Lite/S では暗号化領域への通信方法が公開[4]されている1。
通信処理を Felica Lite/S タグに対応させることで、データの暗号化を伴う用途にも

[5]
[6]

et/index.html
libpafe,http://homepage3.nifty.com/slokar/pasori/libpafe.html
libnfc,http://www.libnfc.org/
NFCServiceForPasori,https://github.com/hi
rokuma/NfcServiceForPasori
android-x86 を動かす,

Android 機器を利用できるようにすること[7]が考えられる。

http://hiro99ma.blogspot.jp/2012/03/androi
d-x86.html[8] NfcPcd,
https://github.com/hirokuma/NfcPcd[9] FeliCa カードユーザーズマニュアル、ソニー

7 まとめ
本稿では市販の Android タブレットと PaSoRi
リーダーの組み合わせによる FCF 対応 IC カードリーダーの開発について述べた。この実装方法ではリーダー一式の価格を数万円程度に抑えることができ、IC カード対応サービス整備の敷居を下げることができると考えられる。
PaSoRi を用いて IC カード対応出席システムを構築した事例は多数知られているが、多くは IC タ
グの IDm 番号を識別に用いており、タグと学生番

株式会社[10] スティック型 Android4.0 端末 geaneee
ADH-40,http://www.geanee.jp/products/gea
nee_adh-40.html[11] Android(TM)4.0 搭載 21.5 型フル HD タッチ
パネルモニタ FT103-V2

21.5

SmartDisplay[12] 常盤 祐司、「遠隔講義における Active号の対応づけを別途行う必要がある。今回開発しLearning 支援ツールの開発と Sakai への統たリーダーは FCF フォーマットに対応している合」、法政大学情報メディア教育研究センター

ことから他大学でも広く利用可能である。また先研究報告、Vol.26、pp.97-104,2012

行事例の多くではノートパソコンを用いてシステ[13] 学生出欠管理サーバーソフト、ムを構築しているが、今回開発した IC カードリー

http://www.cc.nitech.ac.jp/about/tech-info/develop.html#ICC[14] 伊藤 宏隆,堀江 匠,舟橋 健司,内匠 逸,松尾

ダーは Android タブレットを用いることで可搬性が大幅に向上している。
USB ホスト機能を備えた Android 機器用のア

啓志、「出欠データと学習データを用いた学生

プリとして IC カードリーダーを実装することで、の修学傾向分析」、全国大会講演論文集,利用場面に応じたサイズの機器を選択することがvol.71,no4. pp.357-385, 2009可能となった。ソフトウェアの改良により FCF カ1暗号強度は Felica の方が Felica Lite/S よりも高い