説明

読書装置、制御方法、及びプログラム

【課題】情報処理装置からの指示情報を記憶媒体に送信する際の通信をより適切に制御することを目的とする。
【解決手段】情報処理装置から暗号鍵情報を受信すると、暗号鍵情報を記憶部に記憶し、情報処理装置から送信された記憶媒体への指示を含む指示情報および指示情報を管理するための管理情報を受信すると、暗号鍵情報を用いて、指示情報および管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を記憶媒体に送信し、暗号化指示情報に対する記憶媒体からの応答を一定の時間内に受信しないと判断した場合、暗号鍵情報を用いて、指示情報、及び管理情報を次の送信を特定可能に更新した管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を記憶媒体に送信することによって課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、読書装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、シンクライアント型のリーダライタ(シンクライアント型RW)が提案されている。シンクライアント型RWは、ネットワークを介してサーバと接続され、サーバで作成された非接触式のICカード(非接触ICカード)へのコマンド情報をサーバから受信し、受信したコマンド情報を非接触ICカードに転送するものである。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ここで、シンクライアント型RW(読書装置の一例)とサーバ(情報処理装置の一例)と非接触ICカード(媒体の一例)とからなるシステムにおいて、暗号化を要するコマンド情報(指示情報の一例)に関する通信が行われる場合、サーバにおいて、通信のシーケンスを管理する通番(シーケンス番号)がコマンド情報と共に暗号される。
故に、シンクライアント型RWと非接触ICカード間での通信エラーの際には、通信のシーケンスを管理する必要があることから、サーバにおいて、新たなシーケンス番号がコマンド情報と共に暗号されてシンクライアント型RWに送信され、シンクライアント型RWと非接触ICカードとの再度の通信が行われる。
このため、シンクライアント型RWと非接触ICカード間で通信エラーが一度でも発生すると、シンクライアント型RWがネットワークを介して接続されたサーバからの暗号化されたコマンド情報を待つことになり、そのリカバリーに多くの時間が必要となる。例えば、そのリカバリーの間に、非接触ICカードがシンクライアント型RWと通信が可能な範囲(通信可能範囲)から外れてしまい、必要な通信が完結しない事態が発生する問題がある。
【0004】
本発明はこのような問題点に鑑みなされたもので、情報処理装置からの指示情報を記憶媒体に送信する際の通信をより適切に制御することを目的とする。
【課題を解決するための手段】
【0005】
そこで、本発明に係る読書装置は、記憶部を有し、記憶媒体および情報処理装置と通信可能な読書装置であって、前記情報処理装置から暗号鍵情報を受信すると、前記暗号鍵情報を前記記憶部に記憶する記憶手段と、前記情報処理装置から送信された前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を受信すると、前記暗号鍵情報を用いて、前記指示情報および前記管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信する通信手段と、を有し、前記通信手段は、前記暗号化指示情報に対する前記記憶媒体からの応答を一定の時間内に受信しないと判断した場合、前記暗号鍵情報を用いて、前記指示情報、及び前記管理情報を次の送信を特定可能に更新した管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信することを特徴とする。
【0006】
また、本発明に係る読書装置は、記憶媒体、並びに、前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を暗号化して暗号化指示情報を生成する情報処理装置と通信可能な読書装置であって、前記情報処理装置で送信の順序が指定された、指示情報は同じであるが管理情報が異なる複数の暗号化指示情報を前記情報処理装置から受信する受信手段と、前記順序に従って、前記複数の暗号化指示情報を前記記憶媒体に送信する送信手段と、を有することを特徴とする。
【0007】
なお、本発明は、システム、記録媒体などとしてもよい。
【発明の効果】
【0008】
本発明によれば、情報処理装置からの指示情報を記憶媒体に送信する際の通信をより適切に制御することができる。
【図面の簡単な説明】
【0009】
【図1】通信システムの構成の一例を示す図である。
【図2】各装置のハードウェアの構成の一例を示す図である。
【図3】各装置のモジュールの構成の一例を示す図である。
【図4】通信システムのシーケンスの一例を示す図である。
【図5】受信時処理に係るフローチャートの一例を示す図である。
【図6】通信システムのシーケンスの一例を示す図である。
【図7】受信時処理に係るフローチャートの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面に基づいて説明する。
【0011】
<第1の実施形態>
図1は、本実施形態に係る通信システムの構成の一例を示す図である。本通信システムは、サーバ100、RW(リーダライタ)200、及び媒体300を含んで構成される。サーバ100は、情報処理装置(コンピュータ)の一例である。RW200は、読書装置(コンピュータ)の一例である。媒体300は、記憶媒体(コンピュータ)の一例であり、非接触ICカード、お財布機能を有する携帯電話、PDA機能を有する携帯電話、モバイル端末などである。
サーバ100及びRW200は、ネットワーク900を介して通信可能に接続される。なお、通信の形態については、有線、無線、有線および無線の混合など、特定の形態に限定されるものではない。また、RW200及び媒体300では、無線の通信が行われる。例えば、RW200からキャリアが送信されて電磁誘導により媒体300に電力が供給され、キャリアの変調によりRW200と媒体300間で通信が行われる。
【0012】
次に、各装置のハードウェアの構成について図2を用いて説明する。図2は、各装置のハードウェアの構成の一例を示す図である。
図2(A)は、サーバ100のハードウェアの構成の一例を示す図である。サーバ100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、HDD(Hard disk drive)140、入出力デバイス150、及びI/F(interface)160を含んで構成される。
【0013】
CPU110は、サーバ100全体の制御を司る。例えば、CPU110は、ROM120に記憶されている各種のプログラム等を実行し、後述するサーバ100の機能を実現する。
ROM120は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM120は、各種のデータを記憶する記憶装置の一例である。RAM130は、CPU110の主メモリ、ワークエリア等として機能する。なお、RAM130は、各種のデータを一時的に記憶する一時記憶装置の一例である。
HDD140は、大容量の記憶領域を有する外部記憶装置の一例である。入出力デバイス150は、ディスプレイ、マウス、キーボードなどを含んで構成され、例えばマウス、キーボードなどのユーザによる操作(ユーザ操作)に応答して、データを入力或いは出力する。I/F160は、有線又は無線の通信を行うための通信インタフェースであり、例えば、LANケーブル等の各種のケーブルを介してネットワーク900に接続する。
【0014】
図2(B)は、RW200のハードウェアの構成の一例を示す図である。RW200は、CPU210、ROM220、RAM230、RF(Radio Frequency)回路240、ANT(antenna)250、及びI/F260を含んで構成される。
CPU210は、RW200全体の制御を司る。例えば、CPU210は、ROM220に記憶されている各種のプログラム等を実行し、後述するRW200の機能、フローチャートに係る処理を実現する。
【0015】
ROM220は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。ROM220は、電気的にデータの書き込み、データの消去が可能なメモリであり、EEPROM(Electrically Erasable and Programmable Read Only Memory)などである。なお、ROM220は、各種のデータを記憶する記憶装置の一例である。RAM230は、CPU210の主メモリ、ワークエリア等として機能する。なお、RAM230は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路240は、ANT250と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT250は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT250は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。I/F260は、有線又は無線の通信を行うための通信インタフェースであり、例えば、各種のケーブルを介してネットワーク900に接続する。
【0016】
図2(C)は、媒体300のハードウェアの構成の一例を示す図である。媒体300は、CPU310、ROM320、RAM330、RF回路340、及びANT350を含んで構成される。
CPU210は、媒体300全体の制御を司る。例えば、CPU310は、ROM320に記憶されている各種のプログラム等を実行し、後述する媒体300の機能を実現する。
【0017】
ROM320は、各種のプログラム、各種の処理の際に使用するデータ等の各種のデータを記憶する。なお、ROM320は、各種のデータを記憶する記憶装置の一例である。RAM330は、CPU310の主メモリ、ワークエリア等として機能する。なお、RAM330は、各種のデータを一時的に記憶する一時記憶装置の一例である。
RF回路340は、ANT350と高周波信号のやりとりを行うと共に、電力の供給と、データの変調および復調とを行う。ANT350は、高周波信号(高周波エネルギー)を電波(電磁波)として空間に放射(送信)する。また、ANT350は、空間の電波(電磁波)を高周波信号(高周波エネルギー)に変換(受信)する。
【0018】
次に、各装置のモジュールの構成について図3を用いて説明する。図3は、各装置のモジュールの構成の一例を示す図である。各モジュールの機能は、各装置の各CPUにより各プログラムが実行されることにより実現される。ただし、各モジュールの機能の一部又は全部について、専用のハードウェアにより実現されてもよい。
図3(A)は、サーバ100のモジュールの構成の一例を示す図である。サーバ100は、制御部170、記憶部180、及び通信部190を有する。
制御部170は、記憶部180、及び通信部190を制御し、サーバ100全体を制御する。記憶部180は、制御部170からの指示に基づいてRAM130、HDD140等の記憶装置のデータについての読み出し、書き込み等を行う。通信部190は、制御部170からの指示に基づいてI/F160を介してRW200と通信を行う。例えば、通信部190は、制御部170の制御のもと各種のコマンドをI/F160を介してRW200に送信する。
【0019】
図3(B)は、RW200のモジュールの構成の一例を示す図である。RW200は、制御部270、記憶部280、及び通信部290を有する。
制御部270は、記憶部280及び通信部290を制御し、RW200全体を制御する。記憶部280は、制御部270からの指示に基づいてROM220、RAM230等の記憶装置のデータについての読み出し、書き込み等を行う。例えば、記憶部280は、制御部270の制御のもとROM220内のデータを取得する。
通信部290は、制御部270からの指示に基づいてI/F260を介してサーバ100と通信を行う。例えば、通信部290は、I/F260を介して、サーバ100からの各種のコマンドを受信し、制御部270に通知する。また、通信部290は、制御部270からの指示に基づいてRF回路240及びANT250を介して媒体300と通信を行う。例えば、通信部290は、RF回路240及びANT250を介して、制御部270の制御のもとカードコマンドを媒体300に送信する。
【0020】
図3(C)は、媒体300のモジュールの構成の一例を示す図である。媒体300は、制御部370、記憶部380、及び通信部390を有する。
制御部370は、記憶部380及び通信部390を制御し、媒体300全体を制御する。記憶部380は、制御部370からの指示に基づいてROM320、RAM330等の記憶装置のデータについての読み出し、書き込み等を行う。
通信部390は、制御部370からの指示に基づいてRF回路340及びANT350を介してRW200と通信を行う。例えば、通信部390は、制御部370の制御のもとカードコマンドに対する処理を行い、処理の結果など(カードコマンドへの応答)を、RF回路340及びANT350を介してRW200に送信する。
【0021】
次に、通信システムにおける通信制御について図4を用いて説明する。図4は、通信システムのシーケンスの一例を示す図である。
まず、サーバ100は、サーバ100が媒体300の認証に要する情報を取得する指示(認証コマンドA)を含む中継コマンド(認証A)を生成し、生成した中継コマンド(認証A)をRW200に送信する(SQ5)。RW200は、中継コマンド(認証A)を受信すると、中継コマンド(認証A)に含まれる認証Aコマンドを媒体300に送信する(SQ10)。
そして、媒体300は、認証Aコマンドを受信すると、認証に要する認証A情報などを演算し、認証A情報などを含む認証AレスポンスをRW200に送信する(SQ15)。RW200は、認証Aレスポンスを受信すると、中継レスポンス(認証A)としてサーバ100に送信する(SQ20)。なお、サーバ100は、中継レスポンス(認証A)を受信すると、中継レスポンス(認証A)に含まれる認証A情報をもとに媒体300について認証を行う。
【0022】
また、サーバ100は、媒体300がサーバ100の認証に要する認証B情報を含む認証Bコマンドを生成し、生成した認証Bコマンドを含む中継コマンド(認証B)を生成し、生成した中継コマンド(認証B)をRW200に送信する(SQ25)。RW200は、中継コマンド(認証B)を受信すると、中継コマンド(認証B)に含まれる認証Bコマンドを媒体300に送信する(SQ30)。
そして、媒体300は、認証Bコマンドを受信すると、認証B情報をもとにサーバ100について認証を行い、その結果を含む認証BレスポンスをRW200に送信する(SQ35)。RW200は、認証Bレスポンスを受信すると、中継レスポンス(認証B)としてサーバ100に送信する(SQ40)。
上述の処理により、サーバ100と媒体300との相互認証が行われる。
【0023】
ここで、媒体300は、サーバ100の認証を行うと、本通信での暗号化及び復号化に用いられるトランザクション鍵(暗号鍵情報の一例)を生成する(SQ45)。また、サーバ100は、認証Bレスポンスを受信すると、本通信での暗号化及び復号化に用いられるトランザクション鍵を生成する(SQ50)。即ち、サーバ100と媒体300とでトランザクション鍵が共有される。なお、相互認証の方法、トランザクション鍵の共有の方法については、上述の構成に限られるものではなく、公知の他の方法を用いてもよい。
そして、サーバ100は、トランザクション鍵を含む鍵通知コマンドを生成し、生成した鍵通知コマンドをRW200に送信する(SQ55)。RW200は、鍵通知コマンドを受信すると、トランザクション鍵をRAM230に記憶し、鍵通知レスポンスをサーバ100に送信する(SQ60)。なお、サーバ100は、一定の時間内に鍵通知レスポンスをRW200から受信しないと判断した場合、再度、鍵通知コマンドをRW200に送信する。
【0024】
そして、サーバ100は、媒体300への指示を示す指示コマンド(指示情報の一例)を生成し、生成した指示コマンドおよび当該指示コマンドに係る通信を特定可能なシーケンス番号(管理情報の一例)を含む中継コマンドを生成し、生成した中継コマンドをRW200に送信する(SQ65)。RW200は、中継コマンドを受信すると、指示コマンドおよびシーケンス番号をRAM230に記憶し、指示コマンドにシーケンス番号を付加する(SQ70)。続いて、RW200は、RAM230に記憶したトランザクション鍵を読み出し、トランザクション鍵を用いてシーケンス番号が付加された指示コマンドを暗号化してカードコマンド(暗号化指示情報の一例)を生成する(SQ75)。
続いて、RW200は、生成したカードコマンドを媒体300に送信する(SQ80:第1送信工程の一例)。他方、媒体300は、カードコマンドを受信すると、トランザクション鍵を用いてカードコマンドを復号化して指示コマンドおよびシーケンス番号とし、当該指示コマンドおよびシーケンス番号に基づいて処理を行う。そして、媒体300は、処理を終了すると、シーケンス番号を更新し、更新したシーケンス番号と処理の結果とをトランザクション鍵を用いて暗号化してカードレスポンスとしてRW200に送信する(SQ85)。なお、図4では、通信エラーが発生し、カードレスポンスがRW200で受信されなかった例が示されている。
【0025】
また、RW200は、カードコマンドを媒体300に送信してから、当該カードコマンドに対応するカードレスポンスを受信することなく一定の時間が経過すると、RAM230に記憶した指示コマンドおよびシーケンス番号を読み出し、シーケンス番号を更新し、更新したシーケンス番号を指示コマンドに付加する(SQ90)。続いて、RW200は、RAM230に記憶したトランザクション鍵を読み出し、トランザクション鍵を用いて更新したシーケンス番号が付加された指示コマンドを暗号化してカードコマンドを生成する(SQ95)。
続いて、RW200は、生成したカードコマンドを媒体300に送信する(SQ100:第2送信工程の一例)。他方、媒体300は、カードコマンドを受信すると、カードコマンドを復号化して指示コマンドおよびシーケンス番号とし、当該指示コマンドおよびシーケンス番号に基づいて処理を行う。続いて、媒体300は、シーケンス番号を更新し、更新したシーケンス番号と処理の結果とをトランザクション鍵を用いて暗号化してカードレスポンスとしてRW200に送信する(SQ105)。
そして、RW200は、カードレスポンスを受信すると、中継レスポンスとしてサーバ100に送信する(SQ110)。なお、RW200は、トランザクション鍵を用いてカードレスポンスを復号化してから中継レスポンスとしてサーバ100に送信してもよい。
【0026】
次に、RW200が鍵通知コマンド及び中継コマンドを受信したときの処理(受信時処理)について図5を用いて説明する。図5は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、サーバ100からコマンドを受信する(S5)。続いて、制御部270は、受信したコマンドが鍵通知コマンドであるか否かを判断する(S10)。このとき、制御部270は、鍵通知コマンドであると判断した場合、S15に処理を移し、他方、鍵通知コマンドでないと判断した場合、S25に処理を移す。
【0027】
S15では、制御部270は、鍵通知コマンドからトランザクション鍵を取り出し、RAM230に記憶する。続いて、制御部270は、鍵通知レスポンスをサーバ100に送信し(S20)、処理を終了する。
S25では、制御部270は、受信したコマンドが暗号化を要するコマンド、より具体的には指示コマンドおよびシーケンス番号が含まれる中継コマンドであるか否かを判断する。このとき、制御部270は、暗号化を要するコマンドであると判断した場合、中継コマンドから指示コマンドとシーケンス番号とを取り出してRAM230に記憶し、S30に処理を移す。他方、制御部270は、暗号化を要するコマンドでないと判断した場合、当該コマンドをカードコマンドとしてS50に処理を移す。
【0028】
S30では、制御部270は、RAM230にトランザクション鍵が記憶されているか否かを判断する。このとき、制御部270は、記憶されていると判断した場合、S40に処理を移し、他方、記憶されていないと判断した場合、S35に処理を移す。S35では、制御部270は、サーバ100にエラーを示す情報を送信し、処理を終了する。
S40では、制御部270は、RAM230から指示コマンドおよびシーケンス番号を読み出し、シーケンス番号を更新し、読み出した指示コマンドに更新したシーケンス番号を付加する。続いて、制御部270は、RAM230からトランザクション鍵を読み出し、トランザクション鍵を用いて、シーケンス番号を付加した指示コマンドを暗号化してカードコマンドを生成する(S45)。
【0029】
S50では、制御部270は、カードコマンドを媒体300に送信する。続いて、制御部270は、送信したカードコマンドに対応する媒体300からのカードレスポンスの受信を完了したか否かを判断する(S55)。このとき、制御部270は、受信が完了したと判断した場合、S60に処理を移し、他方、受信が未完了であると判断した場合、S65に処理を移す。
S60では、制御部270は、カードレスポンスを中継レスポンスとしてサーバ100に送信し、処理を終了する。S65では、制御部270は、カードコマンドを送信してから一定の時間が経過したか否かを判断する。このとき、制御部270は、一定の時間が経過したと判断した場合、S70に処理を移し、他方、一定の時間が経過していないと判断した場合、S55に処理を移す。
S70では、制御部270は、送信したカードコマンドが暗号化したカードコマンドであるか否かを判断する。このとき、制御部270は、暗号化したカードコマンドであると判断した場合、S40に処理を移し、他方、暗号化したカードコマンドでないと判断した場合、S50に処理を移す。
【0030】
上述した構成によれば、媒体300とRW200間で発生した通信エラーに対するカードコマンドの再送制御をRW200単独で行うことができる。
【0031】
<第2の実施形態>
本実施形態では、第1の実施形態で示した構成に比して、媒体300とRW200間で発生した通信エラーに対するカードコマンドの再送制御を行うより簡素な構成について説明する。
本実施形態では、第1の実施形態の構成と同一の構成については同一の符号を用いて、その説明を適宜省略する。なお、シーケンス、及び受信時処理の構成が主に異なるので、これらについて説明する。
まず、シーケンスについて図6を用いて説明する。図6は、通信システムのシーケンスの一例を示す図である。なお、SQ5からSQ50までの処理は、第1の実施形態のシーケンスの処理と同様であるので、その説明を省略する。
【0032】
SQ205では、サーバ100は、複数のカードコマンドを生成する。より具体的には、サーバ100は、HDD140に記憶されているシーケンス番号、及びカードコマンドを送信する回数を示す送信回数情報を取得する。続いて、サーバ100は、取得したシーケンス番号と送信回数情報とに基づいて更新したシーケンス番号を付加した指示コマンドを暗号化してカードコマンドを生成する。
例えば、取得したシーケンス番号が「0」であり、送信回数情報が「3」である場合、サーバ100は、シーケンス番号「1」を付加した指示コマンドを暗号化したカードコマンドA、シーケンス番号「3」を付加した指示コマンドを暗号化したカードコマンドB、シーケンス番号「5」を付加した指示コマンドを暗号化したカードコマンドCを生成する。ここで、カードコマンドA、カードコマンドB、及びカードコマンドCは、指示コマンドは同じであるがシーケンス番号が異なるカードコマンドである。
なお、送信回数情報については、管理者による入出力デバイス150の操作等により、事前に登録され、適宜変更可能である。
【0033】
そして、サーバ100は、複数のカードコマンドを含む中継コマンドとしてRW200に送信する(SQ210)。RW200は、中継コマンドを受信すると、中継コマンドから先頭のカードコマンドを取り出し、取り出した先頭のカードコマンドを媒体300に送信する(SQ215)。そして、RW200は、カードコマンドを送信してから一定の時間が経過したと判断するごとに、次のカードコマンドを媒体300に送信する(SQ220、SQ225)。
また、媒体300は、カードコマンドを受信すると、RAM230からトランザクション鍵を読み出し、トランザクション鍵を用いてカードコマンドを復号化して指示コマンドおよびシーケンス番号とし、当該指示コマンドおよびシーケンス番号に基づいて処理を行う。続いて、媒体300は、処理を終了すると、シーケンス番号を更新し、トランザクション鍵を用いて更新したシーケンス番号と処理の結果とを暗号化してカードレスポンスとしてRW200に送信する(SQ230)。
そして、RW200は、媒体300からカードレスポンスを受信すると、中継レスポンスとしてサーバ100に送信する(SQ235)。
【0034】
次に、受信時処理について図7を用いて説明する。図7は、受信時処理に係るフローチャートの一例を示す図である。
まず、制御部270は、サーバ100から中継コマンドを受信する(S105)。続いて、制御部270は、中継コマンドに含まれる一個のカードコマンドを媒体300に送信する。より具体的には、サーバ100ではシーケンス番号の昇順にカードコマンドが中継コマンドとされているので、制御部270は、中継コマンドの先頭のカードコマンドから順次に送信する。
なお、送信の順序を決定(指定)する方法は、上述の構成に限られるものではない。例えば、サーバ100で、送信する順序を示す順序情報がカードコマンドに対応付けられ、制御部270は、順序情報に従ってカードコマンドを媒体300に送信する構成としてもよい。
【0035】
続いて、制御部270は、媒体300からカードレスポンスの受信を完了したか否かを判断する(S115)。このとき、制御部270は、受信が完了したと判断した場合、S120に処理を移し、他方、受信が未完了であると判断した場合、S125に処理を移す。
S120では、制御部270は、カードレスポンスを中継レスポンスとしてサーバ100に送信し、処理を終了する。この際、制御部270は、カードコマンドを送信した回数を示す送信済情報を中継レスポンスに含める。なお、サーバ100は、受信した中継レスポンスから、トランザクション鍵を用いて復号化した処理の結果とシーケンス番号とを読み出して整合性をチェックする。また、シーケンス番号については、HDD140に記憶され、次回の暗号化が必要な中継コマンドの生成時に使用される。
【0036】
S125では、制御部270は、カードコマンドを送信してから一定の時間が経過したか否かを判断する。このとき、制御部270は、一定の時間が経過したと判断した場合、S130に処理を移し、他方、一定の時間が経過していないと判断した場合、S115に処理を移す。
S130では、制御部270は、受信した中継コマンドに含まれる複数のカードコマンドのうち、送信していないカードコマンド(リトライ電文情報)が存在するか否かを判断する。このとき、制御部270は、存在すると判断した場合、S110に処理を移し、他方、存在しないと判断した場合、S135に処理を移す。
S135では、制御部270は、サーバ100にエラーを示す情報を送信し、処理を終了する。
【0037】
上述した構成によれば、媒体300とRW200間で発生した通信エラーに対するカードコマンドの再送制御をRW200単独で行うことができる。更に、上述した構成によれば、暗号化に係る処理をRW200で行う必要がなくなるので、RW200の構成を簡素化しつつ、一定水準以上の再送制御を確保したRW200とすることが可能となる。
【0038】
また、本実施形態は、上述した構成に限られるものではない。例えば、SQ205では、サーバ100は、全てのカードコマンドを一個の中継コマンドとして送信したが、この構成に限られるものではない。
例えば、サーバ100は、最初のカードコマンドを中継コマンドとしてRW200に送信し、その後、残りのカードコマンド(リトライ電文情報)を中継コマンドとしてRW200に送信する構成としてもよい。
この構成によれば、媒体300が最初の指示コマンドの処理に着手するまでの時間をより短縮することができるようになり、媒体300が通信可能範囲から外れて必要な通信が完結しない事態が発生する頻度をより低減することができる。
【0039】
また、本実施形態では、暗号化を要するコマンドの再送制御について説明したが、暗号化を要しないコマンドについても同様の再送制御を適用できる。
例えば、SQ205では、サーバ100は、暗号化を要しない媒体300への指示を含む指示コマンドを生成し、生成した指示コマンドを含むカードコマンド(平文コマンド)を生成する。即ち、サーバ100は、HDD140に記憶されている平文コマンドを送信する回数を示す送信回数情報を取得し、取得した送信回数情報に応じた数の平文コマンドを生成する。
また、SQ210では、サーバ100は、生成した複数の平文コマンドを中継コマンドとしてRW200に送信する。そして、SQ215では、RW200は、中継コマンドを受信すると、中継コマンドから一個の平文コマンドを取り出し、取り出した一個の平文コマンドを媒体300に送信する。また、RW200は、平文コマンドを送信してから一定の時間が経過したと判断するごとに、次の平文コマンドを媒体300に送信する(SQ220、SQ225)。
【0040】
<第3の実施形態>
本実施形態では、第2の実施形態で示した構成に比して、媒体300とRW200間で発生した通信エラーに対するカードコマンドの再送制御を行うより簡素な構成について説明する。
本実施形態では、第2の実施形態の構成と同一の構成については同一の符号を用いて、その説明を適宜省略する。なお、受信時処理の構成が主に異なるので、受信時処理について説明するが、図示は省略する。
本実施形態の受信時処理では、第2の実施形態の受信時処理のうち、S115、S120、S125の処理を削除し、S135の処理を正常終了に代え、制御部270がカードレスポンスを受信すると中継レスポンスとしてサーバ100に適宜のタイミングで送信する処理を採用する。即ち、制御部270は、媒体300からのカードレスポンスの有無にかかわらず、中継コマンドから取り出した全てのカードコマンドを媒体300に順次に送信する。
【0041】
付言するならば、媒体300がカードコマンドなどに基づいて行う処理については、限定されるものではない。例えば、カードコマンドには指示コマンドを識別可能な識別子が含まれ、媒体300は、復号化した指示コマンドの処理を既に行ったか否かを識別子に基づいて判断する。
そして、媒体300は、既に行ったと判断した場合、当該指示コマンドの処理を行わず、既に行われた処理の結果と更新したシーケンス番号とをカードレスポンスとしてRW200に送信する、或いは既に行われた処理をキャンセルし、当該指示コマンドに従って処理を行い、この処理の結果と更新したシーケンス番号とをカードレスポンスとしてRW200に送信する。
なお、何れの場合においても、媒体300は、指示コマンドと共に復号化したシーケンス番号を更新したシーケンス番号をカードレスポンスに含める。
【0042】
上述した構成によれば、第2の実施形態のRW200に比して本実施形態のRW200の構成をより簡素化しつつ、一定水準以上の再送制御を確保したRW200とすることが可能となる。
【0043】
<その他の実施形態>
上述した各実施形態の構成は、適宜組み合わせて採用することができる。
【0044】
以上、上述した構成によれば、情報処理装置からの指示情報を記憶媒体に送信する際の通信をより適切に制御することができるようになる。
【0045】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0046】
100 サーバ
200 RW
300 媒体

【特許請求の範囲】
【請求項1】
記憶部を有し、記憶媒体および情報処理装置と通信可能な読書装置であって、
前記情報処理装置から暗号鍵情報を受信すると、前記暗号鍵情報を前記記憶部に記憶する記憶手段と、
前記情報処理装置から送信された前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を受信すると、前記暗号鍵情報を用いて、前記指示情報および前記管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信する通信手段と、を有し、
前記通信手段は、前記暗号化指示情報に対する前記記憶媒体からの応答を一定の時間内に受信しないと判断した場合、前記暗号鍵情報を用いて、前記指示情報、及び前記管理情報を次の送信を特定可能に更新した管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信することを特徴とする読書装置。
【請求項2】
記憶媒体、並びに、前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を暗号化して暗号化指示情報を生成する情報処理装置と通信可能な読書装置であって、
前記情報処理装置で送信の順序が指定された、指示情報は同じであるが管理情報が異なる複数の暗号化指示情報を前記情報処理装置から受信する受信手段と、
前記順序に従って、前記複数の暗号化指示情報を前記記憶媒体に送信する送信手段と、を有することを特徴とする読書装置。
【請求項3】
前記送信手段は、送信した暗号化指示情報に対する前記記憶媒体からの応答を一定の時間内に受信しないと判断した場合、前記順序に従って、前記暗号化指示情報の次の暗号化指示情報を前記記憶媒体に送信することを特徴とする請求項2記載の読書装置。
【請求項4】
記憶部を有し、記憶媒体および情報処理装置と通信可能な読書装置における制御方法であって、
前記情報処理装置から暗号鍵情報を受信すると、前記暗号鍵情報を前記記憶部に記憶する記憶工程と、
前記情報処理装置から送信された前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を受信すると、前記暗号鍵情報を用いて、前記指示情報および前記管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信する第1送信工程と、
前記暗号化指示情報に対する前記記憶媒体からの応答を一定の時間内に受信しないと判断した場合、前記暗号鍵情報を用いて、前記指示情報、及び前記管理情報を次の送信を特定可能に更新した管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信する第2送信工程と、を有することを特徴とする制御方法。
【請求項5】
記憶媒体、並びに、前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を暗号化して暗号化指示情報を生成する情報処理装置と通信可能な読書装置における制御方法であって、
前記情報処理装置で送信の順序が指定された、指示情報は同じであるが管理情報が異なる複数の暗号化指示情報を前記情報処理装置から受信する受信工程と、
前記順序に従って、前記複数の暗号化指示情報を前記記憶媒体に送信する送信工程と、を有することを特徴とする制御方法。
【請求項6】
記憶部を有し、記憶媒体および情報処理装置と通信可能なコンピュータを、
前記情報処理装置から暗号鍵情報を受信すると、前記暗号鍵情報を前記記憶部に記憶する記憶手段と、
前記情報処理装置から送信された前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を受信すると、前記暗号鍵情報を用いて、前記指示情報および前記管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信する通信手段として機能させ、
前記通信手段は、前記暗号化指示情報に対する前記記憶媒体からの応答を一定の時間内に受信しないと判断した場合、前記暗号鍵情報を用いて、前記指示情報、及び前記管理情報を次の送信を特定可能に更新した管理情報を暗号化して暗号化指示情報を生成し、生成した暗号化指示情報を前記記憶媒体に送信することを特徴とするプログラム。
【請求項7】
記憶媒体、並びに、前記記憶媒体への指示を含む指示情報および前記指示情報を管理するための管理情報を暗号化して暗号化指示情報を生成する情報処理装置と通信可能なコンピュータを、
前記情報処理装置で送信の順序が指定された、指示情報は同じであるが管理情報が異なる複数の暗号化指示情報を前記情報処理装置から受信する受信手段と、
前記順序に従って、前記複数の暗号化指示情報を前記記憶媒体に送信する送信手段として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−46381(P2013−46381A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−185071(P2011−185071)
【出願日】平成23年8月26日(2011.8.26)
【出願人】(593092482)JR東日本メカトロニクス株式会社 (85)
【Fターム(参考)】