【文献】
北御門 靖宏 ほか,MOBIKEを応用したIPsecGW冗長化方式の提案,電子情報通信学会2009年通信ソサイエティ大会講演論文集2,日本,社団法人電子情報通信学会,2009年 9月 1日,B−6−27,p.27
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
[実施形態1に係るシステム1]
図1は実施形態1に係るシステム1の模式図である。
図1に示すように、実施形態1に係るシステム1は、中継装置32と、中継装置32に接続される第1SAM42及び第2SAM44と、中継装置32にネットワーク50を介して接続されるリーダ・ライタ22と、リーダ・ライタ22との間で通信を行うユーザ装置12と、を備えている。以下、詳細に説明する。
【0014】
(ユーザ装置12)
ユーザ装置12には、例えば、ICカードやICカード機能が内蔵されたスマートフォンなどを用いることができる。ユーザ装置12には、バリューの残高や、ユーザ装置12と第1SAM42との相互認証により取得された認証情報などが記憶される。バリューの残高には電子マネーの残高やポイントの残高などを用いることができる。相互認証とは2つの装置が互いの正当性を確認する処理をいう。正当性の確認は、例えば、2つの装置にあらかじめ同じ秘密鍵を所持させておき、2つの装置それぞれにおいて、相手装置が自装置と同じ秘密鍵を有しているかどうかを確認することにより行うことができる。相互認証に成功すると、2つの装置それぞれにおいて同一の認証情報が取得され、これが両装置の間で共有される。認証情報は、2つの装置との間で送受信されるデータの暗号化・復号などに用いられる。認証情報にはセッション鍵やトランザクションIDなどを用いることができる。第3者の装置は、認証情報を有していないため、2つの装置の間で送受信されるデータを、暗号化や復号することができず、また適切に処理することができない。
【0015】
ユーザ装置12は、第1SAM42からリーダ・ライタ22を介してコマンドを受信すると、第1SAM42との相互認証により取得された認証情報を用いてこれを復号などし、コマンドに従う処理を実行する。コマンドとは特定の処理の実行を命じる情報である。コマンドにはバリューの残高の増額、減額、照会などを用いることができる。
【0016】
ユーザ装置12は、コマンドに従う処理の実行後、第1SAM42との相互認証により取得された認証情報を用いてレスポンスを暗号化などし、リーダ・ライタ22を介してこれを第1SAM42に送信する。レスポンスとはコマンドに従う処理の実行結果に応じた情報である。レスポンスには、コマンドに従う処理が正常終了、もしくは異常終了したことを示す情報、バリューの残高などを用いることができる。
【0017】
(リーダ・ライタ22)
リーダ・ライタ22は、例えば、スーパーマーケットのレジ装置や駅の改札機などである。
【0018】
リーダ・ライタ22とユーザ装置12との間の通信は、無線且つ近距離で行なわれる。近距離とは例えば0cm以上20cm以下の距離をいう。リーダ・ライタ22とユーザ装置12との間の通信は、近距離無線通信方式(Near Field Communication)などに従って非接触で行なわれてもよいし、ISO7816などに従って接触して行なわれてもよい。
【0019】
リーダ・ライタ22と中継装置32との間の通信は、例えば、パケットを用いて行なわれる。上記したコマンドやレスポンスなどは例えばパケットのペイロードに収容される。
【0020】
(中継装置32)
中継装置32には例えばWebサーバが用いられる。中継装置32は、第1SAM42及び第2SAM44に接続されるとともに、リーダ・ライタ22にネットワーク50を介して接続される。
【0021】
中継装置32は、第1SAM42から、ユーザ装置12と第1SAM42との相互認証により取得された認証情報を受信する。この認証情報は、第1SAM42により、第2SAM44が保持する暗号鍵と同一の暗号鍵を用いて暗号化されている。中継装置32は、リーダ・ライタ22からレスポンスを受信した場合であって、第1SAM42がレスポンスを処理できない場合に、このリーダ・ライタ22から受信したレスポンスと、第1SAM42から受信した暗号化されている認証情報と、を第2SAM44に送信する。
【0022】
(第1SAM42)
第1SAM42にはSAMを用いることができる。SAMとは、Secure Application Moduleの略である。第1SAM42は、ユーザ装置12との相互認証により認証情報を取得し、これを自装置内に記憶する。また、第1SAM42は、第2SAM44に記憶されている暗号鍵と同じ暗号鍵を自装置内に記憶している。暗号鍵には、Triple−DESの秘密鍵、AESの秘密鍵、または公開鍵方式のRSAの鍵などを用いることができる。
【0023】
(第2SAM44)
第2SAM44には第1SAM42と同じ種別のSAMを用いることができる。同じ種別のSAMとは、データを処理するアルゴリズムが同じであるSAMをいう。アルゴリズムが同じであるかどうかは、データの処理手順やデータの処理に関するプロトコルが同じであるかどうかにより定めることができる。第2SAM44は、第1SAM42に記憶されている暗号鍵と同じ暗号鍵を自装置内に記憶している。
【0024】
(実施形態1に係るシステム1の動作例)
図2は実施形態1に係るシステム1の動作例を示すシーケンス図である。以下、
図2を参照しつつ、実施形態1に係るシステム1の動作例を説明する。
【0025】
(ステップA1からA3)
まず、ユーザ装置12と第1SAM42との間で相互認証が行われる(ステップA1)。相互認証により、ユーザ装置12と第1SAM42は認証情報を取得する。取得された認証情報は、ユーザ装置12と第1SAM42それぞれにおいて記憶される(ステップA2、A3)。
【0026】
(ステップA4、A5)
次に、第1SAM42は、ユーザ装置12との相互認証により取得された認証情報を第1SAM42内に記憶される暗号鍵を用いて暗号化し(ステップA4)、これを中継装置32に送信する(ステップA5)。第1SAM42は、第2SAM44が用いる暗号鍵と同じ暗号鍵を第1SAM42内に記憶している。
【0027】
(ステップA6からA8)
次に、第1SAM42は、認証情報を用いてコマンド1を暗号化し、これを中継装置32に送信する(ステップA6)。中継装置32は第1SAM42から受信した暗号化されているコマンド1をリーダ・ライタ22を介してユーザ装置12に送信する(ステップA7、A8)。
【0028】
(ステップA9、A10)
次に、ユーザ装置12は、ステップA3で記憶した認証情報を用いてコマンド1を復号し(ステップA9)、コマンド1に従う処理を実行する(ステップA10)。
【0029】
(ステップA11、A12)
次に、ユーザ装置12は、コマンド1の実行結果に応じたレスポンス1を、ユーザ装置12内に記憶されている認証情報を用いて暗号化し、これをリーダ・ライタ22を介して中継装置32に送信する(ステップA11、A12)。
【0030】
(ステップA13、A14)
次に、中継装置32はリーダ・ライタ22から暗号化されているレスポンス1を受信し、これを第1SAM42に送信する(ステップA13)。ここで、第1SAM42には障害が発生しており、例えば、この送信はエラーになる、あるいは、送信はエラーにはならないが、第1SAM42からは何も応答がないものとする。これにより、中継装置32は、第1SAM42に障害が発生していることを検知し、ステップA5で第1SAM42から受信した、暗号鍵を用いて暗号化されている認証情報と、ステップA12でリーダ・ライタ22から受信した暗号化されているレスポンス1と、を第2SAM44に送信する(ステップA14)。
【0031】
(ステップA15、A16)
次に、第2SAM44は、中継装置32から受信した暗号化されている認証情報を第2SAM44内に記憶されている暗号鍵を用いて復号する(ステップA15)。第2SAM44は、復号した認証情報を第2SAM44内に記憶する(ステップA16)。
【0032】
(ステップA17、A18)
次に、第2SAM44は、第2SAM44内に記憶されている認証情報を用いてユーザ装置12に関する処理を継続する。具体的には、第2SAM44内に記憶されている認証情報を用いて、ステップA14で中継装置32から受信した暗号化されているレスポンス1を復号し(ステップA17)、復号したレスポンス1に応じて特定の処理を実行する(ステップA18)。
【0033】
(ステップA19からA26)
以降、第2SAM44は、例えば、コマンド1に続くコマンド2を、第2SAM44内に記憶されている認証情報を用いて暗号化し、中継装置32に送信してもよい(ステップA19)。
【0034】
この場合、中継装置32は、第2SAM44から受信した暗号化されているコマンド2をリーダ・ライタ22を介してユーザ装置12に送信する(ステップA20、A21)。
【0035】
ユーザ装置12は、ユーザ装置12内に記憶されている認証情報を用いて、受信した暗号化されているコマンド2を復号し(ステップA22)、復号したコマンド2に従う処理を実行する(ステップA23)。
【0036】
ユーザ装置12は、コマンド2に従う処理の実行結果に応じたレスポンス2を、ユーザ装置12内に記憶されている認証情報を用いて暗号化し、これをリーダ・ライタ22を介して中継装置32に送信する(ステップA24、A25)。
【0037】
中継装置32は受信した暗号化されているレスポンス2を第2SAM44に送信する(ステップA26)。
【0038】
以上説明した実施形態1によれば、第1SAM42の障害発生時に、第1SAM42から第2SAMユニット44へ処理を直ちに切り替えることができる。したがって、ユーザ装置12に関する処理が遅延することを抑制できる。自動的な切り替えであるため、復旧作業などは不要である。
【0039】
前記のとおり、第1SAM42と第2SAMユニット44は同じ暗号鍵を保持しており、この同じ暗号鍵を用いて認証情報を暗号化・復号するが、この暗号化・復号は、暗号鍵のみを用いて行なわれてもよいし、暗号鍵に加えて、他の情報を用いて行なわれてもよい。例えば、カード番号などのカード識別情報はそのような他の情報の一例であり、認証情報は、暗号鍵そのものではなく、暗号鍵とカード識別情報とを用いて作成される一時的な暗号鍵により暗号化・復号されてもよい。この場合は、カード識別情報がユーザ装置12から第1SAM42へ送信され、これが第1SAM42から中継装置32を介して第2SAM44に送信される。第2SAM44は、第1SAM42から中継装置32を介して受信したカード識別情報と第2SAM44内に記憶されている暗号鍵を用いて第1SAM42が作成していた一時的な暗号鍵と同一の一時的な暗号鍵を作成し、これを用いて、第1SAM42から中継装置32を介して受信した暗号化されている認証情報を復号することができる。このように、暗号鍵に加えて、他の情報を用いて暗号化・復号を行うものとすれば、一時的な暗号鍵が流出したとしても、復号できるのは特定のカード識別情報に紐づいたデータのみで、他のデータを復号することはできないため、セキュリティを高めることができる。
【0040】
(実施形態1に係るシステム1の他の動作例)
図3は実施形態1に係るシステム1の他の動作例を示すシーケンス図である。
図3に示すように、他の動作例では、中継装置32は、第1SAM42及び第2SAM44それぞれとの相互認証により第1セッション鍵及び第2セッション鍵をそれぞれ生成し、第1セッション鍵を用いて暗号化された認証情報を第1SAM42から受信する。また、中継装置32は、リーダ・ライタ22からレスポンスを受信した場合であって、第1SAM42がレスポンスを処理できない場合に、第1SAM42から受信した認証情報を第1セッション鍵を用いて復号し、復号された認証情報を第2セッション鍵を用いて暗号化し、第2セッション鍵を用いて暗号化した認証情報とレスポンスとを第2SAM44に送信する。以下、詳細に説明する。
【0041】
(ステップB1からB3)
まず、中継装置32と第1SAM42との間で相互認証が行われる(ステップB1)。相互認証により、中継装置32と第1SAM42は第1セッション鍵を取得する。取得された第1セッション鍵は、中継装置32と第1SAM42それぞれにおいて記憶される(ステップB2、B3)。
【0042】
(ステップB4からB6)
次に、中継装置32と第2SAM44との間で相互認証が行われる(ステップB4)。相互認証により、中継装置32と第2SAM44は第2セッション鍵を取得する。取得された第2セッション鍵は、中継装置32と第2SAM44それぞれにおいて記憶される(ステップB5、B6)。
【0043】
(ステップB7からB9)
次に、ユーザ装置12と第1SAM42との間で相互認証が行われる(ステップB7)。相互認証により、ユーザ装置12と第1SAM42は認証情報を取得する。取得された認証情報は、ユーザ装置12と第1SAM42それぞれにおいて記憶される(ステップB8、B9)。
【0044】
(ステップB10、B11)
次に、第1SAM42は、ユーザ装置12との間の相互認証により取得された認証情報を第1SAM42内に記憶される第1セッション鍵を用いて暗号化し(ステップB10)、これを中継装置32に送信する(ステップB11)。
【0045】
(ステップB12からB14)
次に、第1SAM42は、ステップB8で記憶した認証情報を用いてコマンド1を暗号化し、これを中継装置32に送信する(ステップB12)。中継装置32は第1SAM42から受信した暗号化されているコマンド1をリーダ・ライタ22を介してユーザ装置12に送信する(ステップB13、B14)。
【0046】
(ステップB15、B16)
次に、ユーザ装置12は、ステップB9で記憶した認証情報を用いて、暗号化されているコマンド1を復号し(ステップB15)、コマンド1に従う処理を実行する(ステップB16)。
【0047】
(ステップB17、B18)
次に、ユーザ装置12は、コマンド1の実行結果に応じたレスポンス1を、ステップB9で記憶した認証情報を用いて暗号化し、これをリーダ・ライタ22を介して中継装置32に送信する(ステップB17、B18)。
【0048】
(ステップB19からB22)
次に、中継装置32はリーダ・ライタ22から暗号化されているレスポンスを受信し、これを第1SAM42に送信する(ステップB19)。ここで、第1SAM42には障害が発生しており、例えば、この送信はエラーになる、あるいは、送信はエラーにはならないが、第1SAM42からは何も応答がないものとする。これにより、中継装置32は、第1SAM42に障害が発生していることを検知し、ステップB11で第1SAM42から受信した第1セッション鍵を用いて暗号化されている認証情報を、ステップB3で記憶した第1セッション鍵を用いて復号する(ステップB20)。そして、復号した認証情報を、ステップB6で記憶した第2セッション鍵を用いて暗号化し(ステップB21)、暗号化されているレスポンス1と共に、これを第2SAM44に送信する(ステップB22)。
【0049】
(ステップB23、B24)
次に、第2SAM44は、中継装置32から受信した暗号化されている認証情報を、ステップB5で記憶した第2セッション鍵を用いて復号し(ステップB23)、これを第2SAM44内に記憶する(ステップB24)。
【0050】
(ステップB25、B25)
次に、第2SAM44は、ステップB24で記憶した認証情報を用いてユーザ装置12に関する処理を継続する。具体的には、ステップB24で記憶した認証情報を用いて、ステップB22で中継装置32から受信した暗号化されているレスポンス1を復号し(ステップB25)、復号したレスポンス1に応じて特定の処理を実行する(ステップB26)。
【0051】
(ステップB27からB34)
以降、第2SAM44は、例えば、コマンド1に続くコマンド2を、ステップB24で記憶した認証情報を用いて暗号化し、これを中継装置32に送信してもよい(ステップB27)。この場合、中継装置32は、暗号化されているコマンド2をリーダ・ライタ22を介してユーザ装置12に送信する(ステップB28、B29)。
【0052】
ユーザ装置12は、ステップB9で記憶した認証情報を用いて、暗号化されているコマンド2を復号し(ステップB30)、復号したコマンド2に従う処理を実行する(ステップB31)。
【0053】
ユーザ装置12は、コマンド2に従う処理の実行結果に応じたレスポンス2を、ステップB9で記憶した認証情報を用いて暗号化し、これをリーダ・ライタ22を介して中継装置32に送信する(ステップB32、B33)。
【0054】
中継装置32は受信した暗号化されているレスポンス2を第2SAM44に送信する(ステップB34)。
【0055】
以上説明した他の動作例によっても、先に説明した動作例の場合と同様に、第1SAM42の障害発生時に、第1SAM42から第2SAMユニット44へ処理を直ちに切り替えることができる。したがって、ユーザ装置12に関する処理が遅延することを抑制できる。また、他の動作例による切り替えも自動的に行なわれるため、復旧作業などは不要である。
【0056】
さらに、他の動作例によれば、第1SAM42と中継装置32の間で送受信される認証情報が第1セッション鍵により暗号化され、第2SAM44と中継装置32の間で送受信される認証情報が第2セッション鍵により暗号化される。したがって、たとえ第1セッション鍵が第三者に流出したとしても第2SAM44と中継装置32の間で送受信される認証情報が当該第三者により復号されることはない。同様に、たとえ第2セッション鍵が第三者に流出したとしても第1SAM42と中継装置32の間で送受信される認証情報が当該第三者により復号されることはない。
【0057】
また、第1セッション鍵や第2セッション鍵はセッションごとに作成される暗号鍵である。したがって、あるセッションの第1セッション鍵や第2セッション鍵が第三者に流出しても、他のセッションにおいて認証情報が当該第三者により復号されることはない。
【0058】
なお、セッションは2装置間の相互認証ごとに設定される時間間隔であり、第1SAM42とユーザ装置12との間、第2SAM44とユーザ装置12との間、第1SAM42と中継装置32との間、第2SAM44と中継装置32との間、それぞれに存在する。各セッションは、例えば、所定の処理が完了した際に終了するほか、所定の時間(例:60秒あるいは60秒以上の所定の時間)が経過した後に終了する。一のセッションが終了すると、2装置間で取得されたセッション鍵などの認証情報は無効になる。第1SAM42や第2SAM44は、一のセッションが終了すると、中継装置32との間で再び相互認証を行って、新たなセッション鍵などの認証情報を作成し、新たなセッションを開始する。
【0059】
[実施形態2に係るシステム2]
図4は実施形態2に係るシステム2の模式図である。
図4に示すように、実施形態2に係るシステム2は、第1SAM42に接続される第1中継装置34と、第2SAM44に接続される第2中継装置36と、を備えるとともに、第1中継装置34がリーダ・ライタ22にネットワーク50を介して接続され、第2中継装置36が、リーダ・ライタ22と第1中継装置34とにネットワーク50を介して接続される点で、実施形態1に係るシステム1と相違する。また、実施形態2に係るシステム2は、第1中継装置34が、第2SAM44が保持する暗号鍵と同一の暗号鍵を用いて暗号化された認証情報を第1SAM42から受信し、受信した認証情報を第2中継装置36に送信し、第2中継装置36が、第1中継装置34に障害が発生している場合に、リーダ・ライタ22からレスポンスを受信し、受信したレスポンスと第1中継装置34から受信した認証情報とを第2SAM44に送信する点で、実施形態1に係るシステム1と相違する。その他の点では実施形態1と同じ構成を有する。
【0060】
(実施形態2に係るシステム2の動作例)
図5は実施形態2に係るシステム2の動作例を示すシーケンス図である。以下、
図5を参照しつつ、実施形態2に係るシステム2の動作例を説明する。
【0061】
(ステップC1からC3)
まず、ユーザ装置12と第1SAM42との間で相互認証が行われる(ステップC1)。相互認証により、ユーザ装置12と第1SAM42は認証情報を取得する。取得された認証情報は、ユーザ装置12と第1SAM42それぞれにおいて記憶される(ステップC2、C3)。
【0062】
(ステップC4からC7)
次に、第1SAM42は、ユーザ装置12との間で相互認証により取得された認証情報を第1SAM42内に記憶される暗号鍵を用いて暗号化し(ステップC4)、これを第1中継装置34に送信する(ステップC5)。第1中継装置34は第1SAM42から受信した暗号化されている認証情報を第2中継装置36に送信し(ステップC6)、第2中継装置36が受信した暗号化されている認証情報を記憶する(ステップC7)。第1SAM42は、第2SAM44が用いる暗号鍵と同じ暗号鍵を第1SAM42内に記憶しているものとする。
【0063】
(ステップC8からC10)
次に、第1SAM42は、認証情報を用いてコマンド1を暗号化し、これを中継装置32に送信する(ステップC8)。中継装置32は第1SAM42から受信した暗号化されているコマンド1をリーダ・ライタ22を介してユーザ装置12に送信する(ステップC9、C10)。
【0064】
(ステップC11、C12)
次に、ユーザ装置12は、ステップC3で記憶した認証情報を用いてコマンド1を復号し(ステップC11)、コマンド1に従う処理を実行する(ステップC12)。
【0065】
(ステップC13−C16)
次に、ユーザ装置12は、コマンド1の実行結果に応じたレスポンス1を、ユーザ装置12内に記憶されている認証情報を用いて暗号化し、これをリーダ・ライタ22を介して中継装置34に送信する(ステップC13、C14)。ここで、第1中継装置34には障害が発生しており、例えば、この送信はエラーになる、あるいは、送信はエラーにはならないが、第1中継装置34からは何も応答がないものとする。これにより、リーダ・ライタ22は、第1中継装置34に障害が発生していることを検知し、ステップC13でユーザ装置12から受信した暗号化されているレスポンス1を第2中継装置36に送信する(ステップC15)。第2中継装置36は受信した暗号化されているレスポンス1とステップC7で記憶した暗号化されている認証情報を第2SAM44に送信する(ステップC16)。
【0066】
(ステップC17、C18)
次に、第2SAM44は、第2中継装置36から受信した暗号化されている認証情報を第2SAM44内に記憶されている暗号鍵を用いて復号する(ステップC17)。第2SAM44は、復号した認証情報を第2SAM44内に記憶する(ステップC18)。
【0067】
(ステップC19、C20)
次に、第2SAM44は、第2SAM44内に記憶されている認証情報を用いてユーザ装置12に関する処理を継続する。具体的には、第2SAM44内に記憶されている認証情報を用いて、ステップC16で第2中継装置36から受信した暗号化されているレスポンス1を復号し(ステップC19)、復号したレスポンス1に応じて特定の処理を実行する(ステップC20)。
【0068】
(ステップC21からC28)
以降、第2SAM44は、例えば、コマンド1に続くコマンド2を、第2SAM44内に記憶されている認証情報を用いて暗号化し、第2中継装置36に送信してもよい(ステップC21)。この場合、第2中継装置36は、第2SAM44から受信した暗号化されているコマンド2をリーダ・ライタ22を介してユーザ装置12に送信する(ステップC22、C23)。
【0069】
ユーザ装置12は、ユーザ装置12内に記憶されている認証情報を用いて、受信した暗号化されているコマンド2を復号し(ステップC24)、復号したコマンド2に従う処理を実行する(ステップC25)。
【0070】
ユーザ装置12は、コマンド2に従う処理の実行結果に応じたレスポンス2を、ユーザ装置12内に記憶されている認証情報を用いて暗号化し、これをリーダ・ライタ22を介して第2中継装置36に送信する(ステップC26、C27)。
【0071】
第2中継装置36は受信した暗号化されているレスポンス2を第2SAM44に送信する(ステップC28)。
【0072】
以上説明した実施形態2によれば、第1中継装置34の障害発生時に、第1中継装置34から第2中継装置36へ処理を直ちに切り替えることができる。したがって、ユーザ装置12に関する処理が遅延することを抑制できる。自動的な切り替えであるため、復旧作業などは不要である。
【0073】
なお、実施形態1で説明したのと同様に、暗号鍵を用いた認証情報の暗号化・復号は、暗号鍵のみを用いて行なわれてもよいし、暗号鍵に加えて、他の情報を用いて行なわれてもよい。この場合は、カード識別情報などの他の情報がユーザ装置12から第1SAM42へ送信され、これが第1SAM42から第1中継装置34、第2中継装置36を介して第2SAM44に送信される。第2SAM44は、第1SAM42から第1中継装置34と第2中継装置を介して受信した他の情報と第2SAM44内に記憶されている暗号鍵を用いて第1SAM42が作成していた一時的な暗号鍵と同一の一時的な暗号鍵を作成し、これを用いて、第1SAM42から第1中継装置34と第2中継装置36を介して受信した暗号化されている認証情報を復号することができる。
【0074】
(実施形態2に係るシステム2の他の動作例)
図6Aと
図6Bは実施形態2に係るシステム2の他の動作例を示すシーケンス図である。
図6A、
図6Bに示すように、他の動作例では、第1中継装置34が、第1SAM42との相互認証により第1セッション鍵を生成し、生成した第1セッション鍵を第2中継装置36に送信し、第1セッション鍵を用いて暗号化された認証情報を第1SAM42から受信して、これを第2中継装置36に送信する。また、第2中継装置36が第2SAM44との相互認証により第2セッション鍵を生成し、第1中継装置34に障害が発生した場合に、リーダ・ライタ22からレスポンスを受信し、第1中継装置34から受信した第1セッション鍵で認証情報を復号し、復号した認証情報を第2セッション鍵で暗号化し、第2セッション鍵で暗号化した認証情報とレスポンスとを第2SAM44に送信する。以下、詳細に説明する。
【0075】
(ステップD1からD5)
まず、第1中継装置34と第1SAM42との間で相互認証が行われる(ステップD1)。相互認証により、第1中継装置34と第1SAM42は第1セッション鍵を取得する。取得された第1セッション鍵は、第1中継装置34と第1SAM42それぞれにおいて記憶されるとともに(ステップD2、D3)、第1中継装置34から第2中継装置36に送信され(ステップD4)、第2中継装置36にて記憶される(ステップD5)。
【0076】
(ステップD6からD10)
次に、第2中継装置36と第2SAM44との間で相互認証が行われる(ステップD6)。相互認証により、第2中継装置36と第2SAM44は第2セッション鍵を取得する。取得された第2セッション鍵は、第2中継装置36と第2SAM44それぞれにおいて記憶されるとともに(ステップD7、D8)、第2中継装置36から第1中継装置34に送信され(ステップD9)、第1中継装置34にて記憶される(ステップD10)。
【0077】
(ステップD11からD13)
次に、ユーザ装置12と第1SAM42との間で相互認証が行われる(ステップD11)。相互認証により、ユーザ装置12と第1SAM42は認証情報を取得する。取得された認証情報は、ユーザ装置12と第1SAM42それぞれにおいて記憶される(ステップD12、D13)。
【0078】
(ステップD14からD17)
次に、第1SAM42は、ユーザ装置12との間の相互認証により取得された認証情報を第1SAM42内に記憶される第1セッション鍵を用いて暗号化し(ステップD14)、これを第1中継装置34に送信する(ステップD15)。第1中継装置34は受信した暗号化されている認証情報を第2中継装置36に送信し(ステップD16)、第2中継装置36は受信した暗号化されている認証情報を第2中継装置36内に記憶する(ステップD17)。
【0079】
(ステップD18からD20)
次に、第1SAM42は、コマンド1をステップD12で記憶した認証情報を用いて暗号化し、これを第1中継装置34に送信する(ステップD18)。第1中継装置34は第1SAM42から受信した暗号化されているコマンド1をリーダ・ライタ22を介してユーザ装置12に送信する(ステップD19、D20)。
【0080】
(ステップD21、D22)
次に、ユーザ装置12は、ステップD13で記憶した認証情報を用いて、暗号化されているコマンド1を復号し(ステップD21)、コマンド1に従う処理を実行する(ステップD22)。
【0081】
(ステップD23からD25)
次に、ユーザ装置12は、コマンド1の実行結果に応じたレスポンス1を、ステップD13で記憶した認証情報を用いて暗号化し、これをリーダ・ライタ22を介して第1中継装置34に送信する(ステップD23、D24)。ここで、第1中継装置34には障害が発生しており、例えば、この送信はエラーになる、あるいは、送信はエラーにはならないが、第1中継装置34からは何も応答がないものとする。これにより、リーダ・ライタ22は、第1中継装置34に障害が発生していることを検知し、暗号化されているレスポンス1を第2中継装置36に送信する(ステップD25)。
【0082】
(ステップD26からD28)
次に、第2中継装置36は、ステップD17で記憶した暗号化されている認証情報を、ステップD5で記憶した第1セッション鍵で復号する。また、第2中継装置36は復号した認証情報をステップD8で記憶した第2セッション鍵で暗号化する(ステップD27)。第2中継装置36は、第2セッション鍵で暗号化された認証情報と、リーダ・ライタ22から受信した暗号化されているレスポンス1を第2SAM44に送信する(ステップD28)。
【0083】
(ステップD29からD30)
次に、第2SAM44は、第2中継装置36から受信した暗号化されている認証情報を、ステップD7で記憶した第2セッション鍵を用いて復号し(ステップD29)、これを第2SAM44内に記憶する(ステップD30)。
【0084】
(ステップD31、D32)
次に、第2SAM44は、ステップD30で記憶した認証情報を用いてユーザ装置12に関する処理を継続する。具体的には、ステップD30で記憶した認証情報を用いて、ステップD28で第2中継装置36から受信した暗号化されているレスポンス1を復号し(ステップD31)、復号したレスポンス1に応じて特定の処理を実行する(ステップD32)。
【0085】
(ステップD33からD40)
以降、第2SAM44は、例えば、コマンド1に続くコマンド2を、ステップD30で記憶した認証情報を用いて暗号化し、これを第2中継装置36に送信してもよい(ステップD33)。この場合、第2中継装置36は、暗号化されているコマンド2をリーダ・ライタ22を介してユーザ装置12に送信する(ステップD34、D35)。
【0086】
ユーザ装置12は、ステップD13で記憶した認証情報を用いて、暗号化されているコマンド2を復号し(ステップD36)、復号したコマンド2に従う処理を実行する(ステップD37)。
【0087】
ユーザ装置12は、コマンド2に従う処理の実行結果に応じたレスポンス2を、ステップD13で記憶した認証情報を用いて暗号化し、これをリーダ・ライタ22を介して第2中継装置36に送信する(ステップD38、D39)。
【0088】
第2中継装置36は受信した暗号化されているレスポンス2を第2SAM44に送信する(ステップD40)。
【0089】
以上説明した他の動作例によっても、先に説明した動作例の場合と同様に、第1中継装置44の障害発生時に、第1中継装置44から第2中継装置46へ処理を直ちに切り替えることができる。したがって、ユーザ装置12に関する処理が遅延することを抑制できる。また、他の動作例による切り替えも自動的に行なわれるため、復旧作業などは不要である。
【0090】
さらに、他の動作例によれば、第1SAM42と第1中継装置34の間で送受信される認証情報が第1セッション鍵により暗号化され、第2SAM44と第2中継装置36の間で送受信される認証情報が第2セッション鍵により暗号化される。したがって、たとえ第1セッション鍵が第三者に流出したとしても第2SAM44と第2中継装置36の間で送受信される認証情報が当該第三者により復号されることはない。同様に、たとえ第2セッション鍵が第三者に流出したとしても第1SAM42と第1中継装置34の間で送受信される認証情報が当該第三者により復号されることはない。
【0091】
また、第1セッション鍵や第2セッション鍵はセッションごとに作成される暗号鍵である。したがって、あるセッションの第1セッション鍵や第2セッション鍵が第三者に流出しても、他のセッションにおいて認証情報が当該第三者により復号されることはない。
【0092】
なお、セッションは2装置間の相互認証ごとに設定される時間間隔であり、第1SAM42とユーザ装置12との間、第2SAM44とユーザ装置12との間、第1SAM42と第1中継装置34との間、第2SAM44と第2中継装置36との間、それぞれに存在する。各セッションは、例えば、所定の処理が完了した際に終了するほか、所定の時間(例:60秒あるいは60秒以上の所定の時間)が経過した後に終了する。一のセッションが終了すると、2装置間で取得されたセッション鍵などの認証情報は無効になる。第1SAM42や第2SAM44は、一のセッションが終了すると、第1中継装置34や第2中継装置36との間で再び相互認証を行って、新たなセッション鍵などの認証情報を作成し、新たなセッションを開始する。
【0093】
なお、上記したコマンドやレスポンスなどの情報は1つのデータからなるものであってもよいし、複数のデータからなるものであってもよい。また、上記したコマンドやレスポンスなどの情報の送信は1回の送信で送信されてもよいし、複数の送信に分けて送信されてもよい。同様に、上記したコマンドやレスポンスなどの情報の受信は1回の受信で受信されてもよいし、複数の受信に分けて受信されてもよい。また、上記したコマンドやレスポンスなどの情報は単独で送受信されてもよいし、他の情報とともに送信されてもよい。例えば、上記したコマンドやレスポンスなどの情報にヘッダなどの情報を付加して1つまたは複数のパケットを構成し、この1つまたは複数のパケットを送受信することにより、上記したコマンドやレスポンスなどの情報を送受信することとしてもよい。
【0094】
上記のとおり、暗号化や復号は、認証情報や鍵情報や識別情報などの情報を用いて行なわれるが、暗号化や復号のアルゴリズムは特に限定されない。例えば、認証情報を用いたコマンドやレスポンスの暗号化とは、例えば、コマンドやレスポンスに認証情報を乗算するこというが、暗号化のアルゴリズムは乗算に限られるものではない。
【0095】
上記の説明では、システム1、2が第1SAM42と第2SAM44を備えるものとしたが、システム1、2は、第1SAM42と第2SAM44に加えて、第1SAM42や第2SAM44と同様の機能を備える他のSAMなどをさらに備えていてもよい。
【0096】
以上、実施形態について説明したが、これらの説明によって特許請求の範囲に記載された構成は何ら限定されるものではない。