(57)【要約】【課題】データを、安全に、かつ容易に移動することができるようにする。【解決手段】非接触ICチップ１と２のメモリには同じ用途の領域が形成されおり、それらには同じ鍵が割り当てられている。非接触ICチップ１から非接触ICチップ２に対してデータを移動するとき、メモリに割り当てられている所定の鍵から生成された鍵により暗号化された乱数が送受信されることによって相互認証が行われる。相互認証が終わったとき、非接触ICチップ１と２においては、相互認証で用いられた乱数に基づいて移動用鍵が生成される。移動用鍵により暗号化された移動対象のデータが非接触ICチップ１から非接触ICチップ２に送信され、非接触ICチップ２においては、移動用鍵が用いられて移動対象のデータが取得される。本発明は、非接触ICチップに適用することができる。【選択図】図１
2006338423.tif 000002
【特許請求の範囲】
【請求項１】
リーダライタを介して通信を行うことが可能な、データ移動元の第１の非接触ICチップと、データ移動先の第２の非接触ICチップとからなり、前記第１と第２の非接触ICチップのそれぞれが内蔵のメモリに同じ用途のデータ領域を有するデータ送受信システムにおいて、
前記第１の非接触ICチップは、
移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記第２の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵を生成する第１の生成手段と、
前記第１の生成手段により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記第２の非接触ICチップに送信する送信手段と
を備え、
前記第２の非接触ICチップは、
移動対象の前記データが管理される前記第１の非接触ICチップの前記データ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記第１の非接触ICチップとの間で認証を行い、前記第１の非接触ICチップにおいて生成されるものと同じ移動用鍵を生成する第２の生成手段と、
前記第１の非接触ICチップから送信されてきた、前記第１の生成手段により生成された前記移動用鍵を用いて暗号化された移動対象の前記データを、前記第２の生成手段により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得手段と
を備えることを特徴とするデータ送受信システム。
【請求項２】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動元となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップにおいて、
移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵を生成する生成手段と、
前記生成手段により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記他の非接触ICチップに送信する送信手段と
を備えることを特徴とする非接触ICチップ。
【請求項３】
前記生成手段は、移動対象の前記データが管理されるデータ領域として内蔵のメモリに形成される全てのシステムを選択し、選択した全てのシステムに割り当てられている鍵、および、それぞれのシステムの下位にあるエリアのうちの所定のエリアに割り当てられている鍵を合成して得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行う
ことを特徴とする請求項１に記載の非接触ICチップ。
【請求項４】
前記生成手段は、移動対象の前記データが管理されるデータ領域として内蔵のメモリに形成される全てのシステムのうちの所定のシステムを選択し、選択した前記所定のシステムに割り当てられている鍵、および、前記所定のシステムの下位にあるエリアのうちの所定のエリアに割り当てられている鍵を合成して得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行う
ことを特徴とする請求項１に記載の非接触ICチップ。
【請求項５】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動元となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップの情報処理方法において、
移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵を生成する生成ステップと、
前記生成ステップの処理により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記他の非接触ICチップに送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項６】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動元となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップの情報処理をコンピュータに実行させるプログラムにおいて、
移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵を生成する生成ステップと、
前記生成ステップの処理により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記他の非接触ICチップに送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項７】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動元となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップであって、
移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵を生成する生成手段と、
前記生成手段により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記他の非接触ICチップに送信する送信手段と
を備える非接触ICチップを内蔵することを特徴とする携帯端末。
【請求項８】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動先となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップにおいて、
移動対象のデータが管理される前記他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、前記他の非接触ICチップにおいて生成され、移動対象の前記データの暗号化に用いられるものと同じ移動用鍵を生成する生成手段と、
前記他の非接触ICチップから送信されてきた暗号化された移動対象の前記データを、前記生成手段により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得手段と
を備えることを特徴とする非接触ICチップ。
【請求項９】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動先となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップの情報処理方法において、
移動対象のデータが管理される前記他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、前記他の非接触ICチップにおいて生成され、移動対象の前記データの暗号化に用いられるものと同じ移動用鍵を生成する生成ステップと、
前記他の非接触ICチップから送信されてきた暗号化された移動対象の前記データを、前記生成ステップの処理により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動先となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップの情報処理をコンピュータに実行させるプログラムにおいて、
移動対象のデータが管理される前記他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、前記他の非接触ICチップにおいて生成され、移動対象の前記データの暗号化に用いられるものと同じ移動用鍵を生成する生成ステップと、
前記他の非接触ICチップから送信されてきた暗号化された移動対象の前記データを、前記生成ステップの処理により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得ステップと
を含むことを特徴とするプログラム。
【請求項１１】
リーダライタを介して通信を行うことが可能な他の非接触ICチップにとってのデータの移動先となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップであって、
移動対象のデータが管理される前記他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、前記他の非接触ICチップにおいて生成され、移動対象の前記データの暗号化に用いられるものと同じ移動用鍵を生成する生成手段と、
前記他の非接触ICチップから送信されてきた暗号化された移動対象の前記データを、前記生成手段により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得手段と
を備える非接触ICチップを内蔵することを特徴とする携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送受信システム、非接触ICチップ、携帯端末、情報処理方法、並びにプログラムに関し、特に、データ移動元からデータ移動先に対して、所定の領域に記憶されているデータを、安全に、かつ容易に移動することができるようにするデータ送受信システム、非接触ICチップ、携帯端末、情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話機にも搭載されはじめたことなどをきっかけとして、FeliCa（登録商標）などの非接触ICチップがより身近なものとなりつつある。ユーザは、非接触ICチップが搭載された携帯電話機を使って商品購入時の代金を支払ったり、駅の改札機に設けられているリーダライタに携帯電話機をかざすことによって定期券の情報を確認させたりすることができる。
【０００３】
ところで、このように身近なものになる程、ある非接触ICチップに記憶されているデータを、他の非接触ICチップに移動する手段を確保する必要がある。例えば、携帯電話機の機種変更時などには、使わなくなる古い端末に搭載されている非接触ICチップに記憶されている電子マネーや定期券の情報を、新しい端末に搭載されている非接触ICチップに移動させる必要がある。
【０００４】
非接触ICチップに記憶されているデータを移動させる技術については例えば特許文献１に開示されている。
【特許文献１】特開２００２−１４０６６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
非接触ICチップに記憶されているデータを他の非接触ICチップに移動する際には、特に、その秘匿性が求められ、移動先の非接触ICチップ以外へのデータの複製を防止する必要がある。また、悪意のある者によるデータの解析も防止する必要がある。
【０００６】
さらに、このような移動は、非接触ICチップに記憶されているデータ全体のうち、所定の範囲のデータだけ、すなわち、移動させたいデータだけを対象として、不正な複製や解析を防止しつつ容易に行うことができることが好ましい。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、所定の領域に記憶されているデータを、安全に、かつ容易に移動することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明のデータ送受信システムは、リーダライタを介して通信を行うことが可能な、データ移動元の第１の非接触ICチップと、データ移動先の第２の非接触ICチップとからなる。この第１と第２の非接触ICチップのそれぞれは内蔵のメモリに同じ用途のデータ領域を有する。
【０００９】
ここで、用途が同じデータ領域とは、同じ種類のデータが記憶され、リーダライタからの同じコマンドによりデータの読み書きが行われる領域のことをいう。第１と第２の非接触ICチップにより駅の改札の入出場が管理される場合、例えば、第１の非接触ICチップに形成される領域のうちの入場した改札の情報（IDなど）を記憶する領域と、第２の非接触ICチップに形成される領域のうちの入場した改札の情報を記憶する領域は、同じ用途のデータ領域である。データ領域には後述するシステム、エリアも含まれる。第１の非接触ICチップに形成されるシステム、エリアに付されている識別情報と同じ識別情報が付されているシステム、エリアが第２の非接触ICチップにも形成されている場合、その同じ識別情報が付されているシステム、エリアはそれぞれ用途が同じデータ領域である。
【００１０】
データ送受信システムを構成する第１の非接触ICチップは、移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて第２の非接触ICチップとの間で認証を行い、移動対象のデータを暗号化するのに用いる移動用鍵を生成する第１の生成手段と、第１の生成手段により生成された移動用鍵を用いて移動対象のデータを暗号化し、暗号化した移動対象のデータを第２の非接触ICチップに送信する送信手段とを備えることを特徴とする。
【００１１】
一方、第２の非接触ICチップは、移動対象のデータが管理される第１の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて第１の非接触ICチップとの間で認証を行い、第１の非接触ICチップにおいて生成されるものと同じ移動用鍵を生成する第２の生成手段と、第１の非接触ICチップから送信されてきた、第１の生成手段により生成された移動用鍵を用いて暗号化された移動対象のデータを、第２の生成手段により生成された移動用鍵を用いて復号し、移動対象のデータを取得する取得手段とを備えることを特徴とする。
【００１２】
第１の本発明は、移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて他の非接触ICチップとの間で認証を行い、移動対象のデータを暗号化するのに用いる移動用鍵を生成する生成手段／ステップと、生成手段／ステップにより生成された移動用鍵を用いて移動対象のデータを暗号化し、暗号化した移動対象のデータを他の非接触ICチップに送信する送信手段／ステップとを備えることを特徴とする。
【００１３】
前記生成手段は、移動対象のデータが管理されるデータ領域として内蔵のメモリに形成される全てのシステムを選択し、選択した全てのシステムに割り当てられている鍵、および、それぞれのシステムの下位にあるエリアのうちの所定のエリアに割り当てられている鍵を合成して得られた鍵により暗号化されたデータを用いて他の非接触ICチップとの間で認証を行うようにすることができる。
【００１４】
前記生成手段は、移動対象のデータが管理されるデータ領域として内蔵のメモリに形成される全てのシステムのうちの所定のシステムを選択し、選択した所定のシステムに割り当てられている鍵、および、所定のシステムの下位にあるエリアのうちの所定のエリアに割り当てられている鍵を合成して得られた鍵により暗号化されたデータを用いて他の非接触ICチップとの間で認証を行うようにすることができる。
【００１５】
第２の本発明は、移動対象のデータが管理される他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて他の非接触ICチップとの間で認証を行い、他の非接触ICチップにおいて生成され、移動対象のデータの暗号化に用いられるものと同じ移動用鍵を生成する生成手段／ステップと、他の非接触ICチップから送信されてきた暗号化された移動対象のデータを、生成手段／ステップにより生成された移動用鍵を用いて復号し、移動対象のデータを取得する取得手段／ステップとを備えることを特徴とする。
【００１６】
本発明のデータ送受信システムを構成する第１の非接触ICチップ、および、第１の本発明においては、移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータが用いられて第２の（他の）非接触ICチップとの間で認証が行われ、移動対象のデータを暗号化するのに用いる移動用鍵が生成される。また、生成された移動用鍵が用いられて移動対象のデータが暗号化され、暗号化された移動対象のデータが第２の（他の）非接触ICチップに送信される。
【００１７】
本発明のデータ送受信システムを構成する第２の非接触ICチップ、および、第２の本発明においては、移動対象のデータが管理される第１の（他の）非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータが用いられて第１の（他の）非接触ICチップとの間で認証が行われ、第１の（他の）非接触ICチップにおいて生成されるものと同じ移動用鍵が生成される。また、第１の（他の）非接触ICチップから送信されてきた移動用鍵を用いて暗号化された移動対象のデータが、生成された移動用鍵が用いられて復号され、移動対象のデータが取得される。
【発明の効果】
【００１８】
本発明によれば、所定の領域に記憶されているデータを、安全に、かつ容易に移動することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載のデータ送受信システムは、リーダライタ（例えば、図１のリーダライタ３）を介して通信を行うことが可能な、データ移動元の第１の非接触ICチップ（例えば、図１の非接触ICチップ１）と、データ移動先の第２の非接触ICチップ（例えば、図１の非接触ICチップ２）とからなる。
【００２２】
そのうちの第１の非接触ICチップは、移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータ（例えば、乱数）を用いて前記第２の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵（例えば、図３の移動用鍵Ｋt）を生成する第１の生成手段（例えば、非接触ICチップ１の図７の暗号処理部１５）と、前記第１の生成手段により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記第２の非接触ICチップに送信する送信手段（例えば、非接触ICチップ１の図７の通信制御部１１）とを備えることを特徴とする。
【００２３】
また、第２の非接触ICチップは、移動対象の前記データが管理される前記第１の非接触ICチップの前記データ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記第１の非接触ICチップとの間で認証を行い、前記第１の非接触ICチップにおいて生成されるものと同じ移動用鍵（例えば、図３の移動用鍵Ｋt）を生成する第２の生成手段（例えば、非接触ICチップ２の図７の暗号処理部１５）と、前記第１の非接触ICチップから送信されてきた、前記第１の生成手段により生成された前記移動用鍵を用いて暗号化された移動対象の前記データを、前記第２の生成手段により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得手段（例えば、非接触ICチップ２の図７のメモリ管理部１４）とを備えることを特徴とする。
【００２４】
請求項２に記載の非接触ICチップは、請求項１に記載のデータ送受信システムを構成する第１の非接触ICチップに対応し、その各手段が対応する実施の形態（但し一例）は、第１の非接触ICチップと同様である。
【００２５】
請求項５に記載の情報処理方法は、リーダライタ（例えば、図１のリーダライタ３）を介して通信を行うことが可能な他の非接触ICチップ（例えば、図１の非接触ICチップ２）にとってのデータの移動元となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップ（例えば、図１の非接触ICチップ１）の情報処理方法であって、移動対象のデータが管理されるデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータ（例えば、乱数）を用いて前記他の非接触ICチップとの間で認証を行い、移動対象の前記データを暗号化するのに用いる移動用鍵（例えば、図３の移動用鍵Ｋt）を生成する生成ステップ（例えば、図１２のステップＳ２１）と、前記生成ステップの処理により生成された前記移動用鍵を用いて移動対象の前記データを暗号化し、暗号化した移動対象の前記データを前記他の非接触ICチップに送信する送信ステップ（例えば、図１４のステップＳ９３）とを含むことを特徴とする。
【００２６】
請求項６に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項５に記載の情報処理方法と同様である。
【００２７】
請求項８に記載の非接触ICチップは、請求項１に記載のデータ送受信システムを構成する第２の非接触ICチップに対応し、その各手段が対応する実施の形態（但し一例）は、第２の非接触ICチップと同様である。
【００２８】
請求項９に記載の情報処理方法は、リーダライタ（例えば、図１のリーダライタ３）を介して通信を行うことが可能な他の非接触ICチップ（例えば、図１の非接触ICチップ１）にとってのデータの移動先となり、前記他の非接触ICチップが内蔵のメモリに有するデータ領域と同じ用途のデータ領域を内蔵のメモリに有する非接触ICチップ（例えば、図１の非接触ICチップ２）の情報処理方法であって、移動対象のデータが管理される前記他の非接触ICチップのデータ領域と同じ用途のデータ領域に割り当てられている鍵を合成することによって得られた鍵により暗号化されたデータを用いて前記他の非接触ICチップとの間で認証を行い、前記他の非接触ICチップにおいて生成され、移動対象の前記データの暗号化に用いられるものと同じ移動用鍵（例えば、図３の移動用鍵Ｋt）を生成する生成ステップ（例えば、図１２のステップＳ４１）と、前記他の非接触ICチップから送信されてきた暗号化された移動対象の前記データを、前記生成ステップの処理により生成された前記移動用鍵を用いて復号し、移動対象の前記データを取得する取得ステップ（例えば、図１５のステップＳ１１２）とを含むことを特徴とする。
【００２９】
請求項１０に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項９に記載の情報処理方法と同様である。
【００３０】
以下、本発明の実施の形態について図を参照して説明する。
【００３１】
図１は、本発明の一実施形態に係るデータ送受信システムの構成例を示す図である。
【００３２】
このデータ送受信システムは、例えば、データの移動元となる非接触ICチップ１、データの移動先となる非接触ICチップ２、およびリーダライタ３から構成される。
【００３３】
非接触ICチップ１および２は、それぞれ、携帯電話機やPDA(Personal Digital Assistants)などに内蔵されたり、プラスチックのカード状のものに埋め込まれたりするものであり、その内部には、リーダライタからの電磁波を受信するアンテナ、電磁波を受信することに応じて発生された電力で駆動するCPU(Central Processing Unit)、不揮発性のメモリなどを有する。非接触ICチップ１および２は、リーダライタから送信されてきたコマンドを実行し、メモリに記憶されているデータの読み書きなどの所定の処理を実行する。
【００３４】
リーダライタ３は、非接触ICチップ１、非接触ICチップ２との間で電磁波を介した近距離無線通信を行い、非接触ICチップ１、非接触ICチップ２に対してコマンドを送信したり、非接触ICチップ１、非接触ICチップ２から送信されてくるコマンドの処理結果を受信したりする。
【００３５】
このような構成を有するデータ送受信システムにおいては、例えば、図１に示されるように、非接触ICチップ１と２がともに、リーダライタ３との間で通信を行うことができる状態にあるとき、非接触ICチップ１から非接触ICチップ２に対して、非接触ICチップ１（非接触ICチップ１のメモリ）に記憶されているデータの移動がリーダライタ３を介して行われる。
【００３６】
ここで、データの移動の流れについて説明する。
【００３７】
図２は、非接触ICチップ１と非接触ICチップ２の間で行われる相互認証について示す図である。なお、後に詳述するように、非接触ICチップ１と２には、同じ鍵があらかじめ用意されている（非接触ICチップ１により暗号化された情報を復号可能な鍵を非接触ICチップ２は有し、反対に、非接触ICチップ２により暗号化された情報を復号可能な鍵を非接触ICチップ１は有している）。
【００３８】
図２に示されるように、はじめに、リーダライタ３から、データの移動元となる非接触ICチップ１に対して、データの移動先となる非接触ICチップ２との間で相互認証を行うことの要求が行われる。この要求に応じて、非接触ICチップ１においては、所定の桁数の乱数（乱数Ａ）が生成され、生成された乱数Ａがあらかじめ用意されている鍵（認証用としても用いられる鍵（認証用鍵））により暗号化されて、リーダライタ３に対して送信される。
【００３９】
非接触ICチップ１からリーダライタ３に対して送信された、暗号化された乱数Ａは、相互認証−１（相互認証の一連のやりとりのうちの１つの処理で得られたデータ）としてリーダライタ３から非接触ICチップ２に対して送信される。リーダライタ３から送信されてきたデータを受信した非接触ICチップ２においては、あらかじめ用意されている認証用鍵による復号が行われ、非接触ICチップ１により生成された乱数Ａが取得される。取得された乱数Ａは非接触ICチップ２において記憶される。
【００４０】
また、非接触ICチップ２においても、所定の桁数の乱数（乱数Ｂ）が生成され、ここで生成された乱数Ｂと、復号して取得された乱数Ａが認証用鍵により暗号化されて、リーダライタ３に対して送信される。
【００４１】
非接触ICチップ２からリーダライタ３に対して送信された、暗号化された乱数ＡとＢは、相互認証−２としてリーダライタ３から非接触ICチップ１に対して送信される。リーダライタ３から送信されてきたデータを受信した非接触ICチップ１においては、認証用鍵による復号が行われ、非接触ICチップ２により生成された乱数Ｂと、非接触ICチップ２により暗号化された乱数Ａが取得される。取得された乱数Ａが、非接触ICチップ１自身が生成した乱数Ａと同じであることが確認された場合、復号することによって得られた乱数Ｂは非接触ICチップ１において記憶される。また、このとき、非接触ICチップ１においては、乱数Ｂが認証用鍵により暗号化されて、リーダライタ３に対して送信される。
【００４２】
非接触ICチップ１からリーダライタ３に対して送信された、暗号化された乱数Ｂは、相互認証−３としてリーダライタ３から非接触ICチップ２に対して送信される。リーダライタ３から送信されてきたデータを受信した非接触ICチップ２においては、認証用鍵による復号が行われ、非接触ICチップ１により暗号化された乱数Ｂが取得される。その取得された乱数Ｂが、非接触ICチップ２自身が生成した乱数Ｂと同じであることが確認された場合、相互認証が正常に行われたと判断され、これにより、一連の相互認証処理が終了される。
【００４３】
相互認証処理が終了したとき、非接触ICチップ１と２の双方は、それぞれにより生成された乱数ＡとＢを知っている状態となる。
【００４４】
図３は、鍵の共有について示す図である。
【００４５】
相互認証処理が終了したとき、非接触ICチップ１と２においては乱数ＡとＢに基づいて鍵が生成され、これが、データの移動元では移動対象のデータの暗号化に、データの移動先では移動対象のデータの復号にそれぞれ用いられる鍵（移動用鍵Ｋt）とされる。ここで生成された移動用鍵Ｋtは、非接触ICチップ１と２だけが知っている鍵であり、これが用いられて移動対象のデータの暗号化、復号が行われることにより、データの送信元の非接触ICチップ１と、送信先の非接触ICチップ２以外においてデータが複製されること防止される。
【００４６】
図４は、状態の遷移について示す図である。
【００４７】
移動用鍵Ｋtが非接触ICチップ１と２において取得されたとき、図４に示すように、非接触ICチップ１と２の内部状態（後述する、移動対象のデータが管理されるシステムの状態）は、一般状態からデータ移動状態に遷移する。この内部状態の遷移は、例えば、リーダライタ３からの要求に応じて行われる。それぞれの状態については後述するが、データ移動状態でのみ、データの移動が可能とされる。
【００４８】
図５は、データのエクスポートについて示す図である。
【００４９】
非接触ICチップ１と２の内部状態がデータ移動状態に遷移したとき、データの移動元の非接触ICチップ１においては、リーダライタ３からの要求に応じて、移動対象とするデータがメモリから読み出され、読み出されたデータと、非接触ICチップ１に固有のIDが移動用鍵Ｋtにより暗号化されることによって、エクスポート結果としてのメモリデータＤが生成される。メモリデータＤは、非接触ICチップ１からリーダライタ３に対して送信され、リーダライタ３を介して非接触ICチップ２に対して送信される。
【００５０】
図６は、データのインポートについて示す図である。
【００５１】
非接触ICチップ１によりエクスポートされたメモリデータＤが送信されてきたとき、非接触ICチップ２においては、移動用鍵ＫtによりメモリデータＤの復号が行われ、移動対象のデータとID（非接触ICチップ１のID）が取得される。非接触ICチップ２においては、復号して得られたIDが、非接触ICチップ２自身に固有のIDと一致するものではないことが確認されたとき、復号して得られた移動対象のデータがメモリの所定の領域に記憶され、これにより、データの移動が実現される。データの移動が終了したとき、非接触ICチップ１の内部状態は所定のタイミングで廃棄状態（使用不可の状態）になり、非接触ICチップ２の内部状態は一般状態になる（データ移行先である非接触ICチップ２の内部状態はデータ以降終了後に一般状態になるが、データ移行元である非接触ICチップ１が何度でもエクスポート可能な場合、その内部状態は、データ移行後もデータ移動状態のままとされ、ユーザがコマンドを実行させたときに廃棄状態に遷移するようにしてもよい）。
【００５２】
以上のような非接触ICチップ１と２の一連の処理についてはフローチャートを参照して後述する。
【００５３】
図７は、非接触ICチップ１の機能構成例を示すブロック図である。図７に示す機能部のうちの少なくとも一部は、非接触ICチップ１のCPUにより所定のプログラムが実行されることによって実現される。
【００５４】
通信制御部１１は、リーダライタ３との間の通信を制御し、リーダライタ３から送信されてきたコマンドを各部に出力する。例えば、通信制御部１１は、内部状態の遷移を要求するコマンドを状態管理部１２に、データのエクスポートを要求するコマンドをメモリ管理部１４に、相互認証を要求するコマンドを認証部１３にそれぞれ出力する。また、通信制御部１１は、暗号処理部１５から供給されてきたデータなどをリーダライタ３に送信する。暗号処理部１５から通信制御部１１に対しては、相互認証の際に生成され、暗号化された乱数や、エクスポート結果である、暗号化された移動対象のデータなどが供給される。
【００５５】
状態管理部１２は、非接触ICチップ１の内部状態を管理し、例えば、一般状態にある内部状態をデータ移動状態に遷移させることを要求するコマンドが通信制御部１１から供給されてきたとき（リーダライタ３から送信されてきたとき）、そのコマンドを実行し、メモリ管理部１４（メモリ）にフラグを設定することによって、メモリに記憶されているデータの読み書きを禁止する。また、状態管理部１２は、データ移動状態にある内部状態を一般状態に遷移させることを要求するコマンドが通信制御部１１から供給されてきたとき、そのコマンドを実行し、フラグの設定を変更することによって、メモリに記憶されているデータの読み書きを可能とする。
【００５６】
図８ＡおよびＢは、非接触ICチップ１の内部状態について示す図である。
【００５７】
図８Ａは一般状態について示し、この状態のとき、外部のリーダライタからのアクセスに応じて、例えば、電子マネーにより商品の代金を支払ったりするなどの、メモリに記憶されているデータの読み書きが可能とされる。
【００５８】
図８Ｂはデータ移動状態について示し、この状態のとき、データの移動元の非接触ICチップ１においては移動対象のデータのエクスポートのみが許可され、一般状態のときには可能とされているデータの読み書きが禁止される（データの移動先の非接触ICチップ２においては移動対象のデータのインポートのみが可能とされる）。
【００５９】
図７の説明に戻り、認証部１３は、相互認証の開始を要求するコマンドが通信制御部１１から供給されてきたとき、そのコマンドを実行し、相互認証に用いる所定の桁数の乱数Ａを生成する。生成された乱数Ａは暗号処理部１５に出力される。また、認証部１３は、非接触ICチップ２から暗号化されて送信されてきた乱数が暗号処理部１５により復号され、それが供給されてきたとき、暗号処理部１５により復号された乱数と、自分自身が生成した乱数とが同じであるかを確認し、同じである場合、乱数の確認ができたことを通信制御部１１を介してリーダライタ３に通知する。
【００６０】
メモリ管理部１４は、状態管理部１２により管理される内部状態に応じてメモリに記憶されているデータを管理する。
【００６１】
ここで、メモリ管理部１４により管理されるメモリの領域について説明する。
【００６２】
図９は、メモリに形成される領域の例を示す図である。
【００６３】
図９の例においては、メモリにはシステムＡ乃至Ｃが形成されている。ここで、システムとは、後述するエリア、サービスの領域をひとまとまりのものとして管理する範囲（領域）をいう。例えば、Windows（登録商標）でいうドライブと同様のものである。システムは、リーダライタから送信されてきたコマンドに基づいて、１つまたは２以上、非接触ICチップのメモリにおいて生成され、そのそれぞれにより、エリア、サービスが階層的に管理される。なお、エリア、サービスは、それぞれ、Windows（登録商標）でいうフォルダ、ファイルと同様のものである。
【００６４】
メモリに形成されるシステムには、それぞれ定義領域が含まれており、定義領域にはシステムの識別情報やシステムキーが記憶される。あるシステムの下位の層のデータにアクセス（読み書き）するとき、アクセス先のデータによっては、アクセスする側のリーダライタに、同じシステムキーが用意されている必要がある。
【００６５】
すなわち、図９の例においては、システムＡ乃至ＣのそれぞれにはシステムＡ乃至Ｃに割り当てられているシステムキーが記憶されている。また、システムＡ乃至Ｃには、それぞれの下位の層としてエリア、サービスが形成されている。
【００６６】
また、図９の例においては、状態管理領域２１と鍵管理領域２２が形成されており、そのうちの状態管理領域２１には、システムＡ乃至Ｃ全体のデータの移動の状態（上述した一般状態、データ移動状態）を表すフラグが記憶される。すなわち、図７のメモリ管理部１４は、状態管理部１２による制御に応じて、この状態管理領域２１のフラグの設定を切り替える。
【００６７】
例えば、状態管理領域２１にデータの移動を許可することを表すフラグが設定されている場合、システムＡ乃至Ｃのデータ（システムＡ乃至Ｃにより管理されるデータ）を一括して移動することが可能とされる。また、この場合、システムＡ乃至Ｃのデータの読み書きが不可とされる。
【００６８】
鍵管理領域２２には、相互認証のときに用いられた乱数に基づいて生成された移動用鍵Ｋtが記憶される。鍵管理領域２２に記憶されている移動用鍵Ｋtは、システムＡ乃至Ｃのデータ全体を一括して移動するときに用いられる。すなわち、図７の暗号処理部１５は、相互認証で用いられた乱数に基づいて生成した移動用鍵Ｋtを、メモリ管理部１４を介してこの鍵管理領域２２に記憶させておき、適宜、移動対象のデータ（システムＡ乃至Ｃのデータ全体）の暗号化に用いる。
【００６９】
図１０は、例えば、図９のシステムＡなどの、１つのシステムに形成されるエリア、サービスのディレクトリ構造を示す図である。
【００７０】
メモリの記憶領域のうちの一部は、各種のサービス（電子マネーサービスなどの一般的なサービスのことであり、メモリに形成されるサービスとは異なる）を提供するためのデータを記憶するデータ記憶領域として使用されるようになっている。このデータ記憶領域は、いわゆるディレクトリに相当するエリア定義領域を階層とする階層構造をなしており、エリア定義領域は、下位の階層のディレクトリに相当するエリア定義領域や、後述するサービス領域を管理するサービス定義領域を有することができるようになされている。
【００７１】
エリア定義領域は、メモリのデータ記憶領域の一部で、サービスを提供するサービス提供者を管理する管理者（サービス提供者自身である場合もある）に割り当てられる。エリア定義領域には、そのエリア定義領域を識別するための名前として使用可能な識別コードとしてのエリアコード、使用可能な空きブロック数を表す空き容量、エリア定義領域の下位階層のサービス領域などにアクセスするのに必要な鍵としてのエリアキーなどが配置される。
【００７２】
図１０の例では、管理者Ａに最上位階層のエリア定義領域（エリアコード００００ｈ）が割り当てられており、これを親の階層として、管理者Ｂ１およびＢ２のエリア定義領域が作成されている。さらに、管理者Ｂ１のエリア定義領域を親の階層として、管理者Ｃのエリア定義領域が作成されている。
【００７３】
サービス定義領域は、サービス領域を管理するための、メモリのデータ記憶領域の一部で、サービス提供者が提供するサービスに割り当てられる。サービス定義領域には、そのサービス定義領域を識別するための名前として使用可能な識別コードとしてのサービスコード、サービスの提供に必要なデータを記憶するサービス領域の容量を表すブロック数、サービス領域にアクセスするのに必要な鍵としてのサービスキーなどが配置される。
【００７４】
サービス領域は、データ記憶領域の一部で、サービスの提供に必要なデータが記憶される、０以上のブロックで構成される。サービス領域を構成するブロック数が、そのサービス領域を管理するサービス定義領域の容量として配置される。
【００７５】
サービス提供者は、ある管理者が管理するエリア定義領域の下位階層に、サービス定義領域を作成し、そのサービス定義領域で管理されるサービス領域を使用して、各種のサービスを提供する。例えば、電子マネーサービスの提供にあたっては、サービス領域に、電子マネーの金額（残高）や、電子マネーによって購入した商品の情報（例えば、商品名や値段など）、商品を購入した年月日などが記憶される。
【００７６】
なお、非接触ICチップ１と２は、データの移動を開始させる前に、同じシステム構成（同じ用途の領域構成）をメモリに有している。従って、図９のシステム構成が非接触ICチップ１のメモリに形成されているものとすると、非接触ICチップ２のメモリにもシステムＡ乃至Ｃが形成されている。すなわち、システムＡ乃至Ｃのシステムキーを非接触ICチップ１と２はあらかじめ有している。
【００７７】
また、あるシステムにある、エリアコードが００００ｈで表されるエリアに割り当てられているエリアキーは同じ情報とされるため、非接触ICチップ１と２は、システムＡ乃至Ｃのそれぞれのシステムキーの他に、システムＡ乃至Ｃのそれぞれのエリアコード００００ｈのエリアのエリアキーもあらかじめ有している。
【００７８】
相互認証処理で用いられる鍵は、全てのシステムのシステムキーと、それぞれのシステムにある、エリアコードが００００ｈで表されるエリアのエリアキーに基づいて生成される（システムキーとエリアキーが合成されることによって生成される（実際の認証に際しては２つの認証用鍵が用いられる））。非接触ICチップ１と２の双方において、同じ鍵に基づいて同じ鍵が生成されることにより、その鍵を用いて非接触ICチップ１により暗号化されたデータを非接触ICチップ２は復号することができ、反対に、非接触ICチップ２により暗号化されたデータを非接触ICチップ１は復号することができるようになる。
【００７９】
図７の説明に戻り、暗号処理部１５は、データの暗号化処理、暗号化されているデータの復号処理などを行う。例えば、暗号処理部１５は、相互認証処理のときに生成された乱数が認証部１３から供給されてきたとき、全てのシステムに割り当てられているシステムキーと、それぞれのシステムにあるエリアコードが００００ｈで表されるエリアのエリアキーを合成することによって認証用鍵を生成し、生成した認証用鍵を用いて乱数を暗号化する。暗号化された乱数は通信制御部１１に出力される。
【００８０】
また、暗号処理部１５は、相互認証処理で得られた乱数に基づいて移動用鍵Ｋtを生成し、生成した移動用鍵Ｋtをメモリ管理部１４を介してメモリの鍵管理領域２２に記憶させる。移動対象のデータがメモリ管理部１４から供給されてきたとき、暗号処理部１５は、鍵管理領域２２に記憶させておいた移動用鍵Ｋtを用いて移動対象のデータを暗号化し、暗号化されたデータを通信制御部１１に出力する。
【００８１】
なお、以上のような各機能部は非接触ICチップ２においても実現される。非接触ICチップ２において実現される各部も、基本的には、上述した非接触ICチップ１の各部と同様のものであり、重複する説明については適宜省略する。
【００８２】
非接触ICチップ２の暗号処理部１５は、暗号化された移動対象のデータと非接触ICチップ１のIDが通信制御部１１から供給されてきたとき（リーダライタ３を介して非接触ICチップ１から送信されてきたとき）、メモリの鍵管理領域２２に記憶させておいた移動用鍵Ｋtをメモリ管理部１４を介して読み出す。暗号処理部１５は、読み出した移動用鍵Ｋtを用いて復号することによって移動対象のデータとIDを取得し、取得したIDが、自分自身のIDと同じでない場合、復号することによって取得したデータをメモリ管理部１４を介してメモリに記憶させる。
【００８３】
次に、以上のような構成を有する非接触ICチップ１と２の間で行われる一連のデータ移動処理について説明する。
【００８４】
はじめに、図１１および図１２のフローチャートを参照して、相互認証処理について説明する。この処理は、図２と図３を参照して説明した処理に対応する。
【００８５】
ステップＳ１において、リーダライタ３は、データの移動元となる非接触ICチップ１に対して、データの移動先となる非接触ICチップ２との間で相互認証を行うことを要求するコマンドを送信する。
【００８６】
ステップＳ１１において、非接触ICチップ１の通信制御部１１は、リーダライタ３から送信されてきたコマンドを受信し、受信したコマンドを認証部１３に出力する。
【００８７】
ステップＳ１２において、認証部１３は、通信制御部１１から供給されてきたコマンドを実行して乱数Ａを生成し、生成した乱数Ａを暗号処理部１５に出力する。
【００８８】
ステップＳ１３において、暗号処理部１５は、メモリに形成される全てのシステムに割り当てられているシステムキーと、それぞれのシステムのうちのエリアコードが００００ｈで表されるエリアに割り当てられているエリアキーを合成することによって鍵を生成し、生成した鍵を、認証部１３から供給されてきた乱数Ａを暗号化する認証用鍵とする。暗号処理部１５は、認証用鍵を用いて乱数Ａを暗号化し、暗号化された乱数Ａを通信制御部１１に出力する。
【００８９】
ステップＳ１４において、通信制御部１１は、暗号処理部１５から供給されてきた、暗号化された乱数Ａをリーダライタ３に送信する。
【００９０】
ステップＳ２において、リーダライタ３は、非接触ICチップ１から送信されてきたデータ（暗号化された乱数Ａ）を受信し、ステップＳ３に進み、それを非接触ICチップ２に送信する（相互認証−１）。
【００９１】
ステップＳ３１において、非接触ICチップ２の通信制御部１１は、リーダライタ３から送信されてきたデータを受信し、受信したデータを暗号処理部１５に出力する。
【００９２】
ステップＳ３２において、暗号処理部１５は、メモリに形成される全てのシステムに割り当てられているシステムキーと、それぞれのシステムのうちのエリアコードが００００ｈで表されるエリアに割り当てられているエリアキーを合成することによって鍵を生成する。また、暗号処理部１５は、その生成した認証用鍵を用いて、通信制御部１１から供給されてきたデータを復号し、乱数Ａを取得する。
【００９３】
乱数Ａを取得したとき、ステップＳ３３において、暗号処理部１５は、その乱数Ａを一時的に記憶する。ここで記憶された乱数Ａは、後述する処理において、移動用鍵Ｋtを生成するために用いられる。
【００９４】
ステップＳ３４において、認証部１３は、乱数Ｂを生成し、生成した乱数Ｂを暗号処理部１５に出力する。
【００９５】
ステップＳ３５において、暗号処理部１５は、認証部１３により生成された乱数Ｂと、復号して取得された乱数Ａを、認証用鍵を用いてそれぞれ暗号化し、暗号化された乱数Ａと、暗号化された乱数Ｂを通信制御部１１に出力する。
【００９６】
ステップＳ３６において、通信制御部１１は、暗号処理部１５から供給されてきたデータ（暗号化された乱数Ａと、暗号化された乱数Ｂ）をリーダライタ３に送信する。
【００９７】
ステップＳ４において、リーダライタ３は、非接触ICチップ２から送信されてきたデータを受信し、ステップＳ５に進み、それを非接触ICチップ１に送信する（相互認証−２）。
【００９８】
ステップＳ１５において、非接触ICチップ１の通信制御部１１は、リーダライタ３から送信されてきたデータを受信し、受信したデータを暗号処理部１５に出力する。
【００９９】
ステップＳ１６において、暗号処理部１５は、認証用鍵を用いて、通信制御部１１から供給されてきたデータを復号し、乱数ＡとＢを取得する。取得された乱数Ａは認証部１３に出力される。
【０１００】
ステップＳ１７において、認証部１３は、非接触ICチップ２から送信されてきたデータを復号することによって取得された乱数Ａと、ステップＳ１２において生成した乱数Ａが同じであるかを確認する。同じであることが確認できたとき、そのことが暗号処理部１５に通知される。
【０１０１】
ステップＳ１８において、暗号処理部１５は、非接触ICチップ２から送信されてきたデータを復号することによって取得された乱数Ｂを一時的に記憶する。ここで記憶された乱数Ｂも、後述する処理において、移動用鍵Ｋtを生成するために用いられる。
【０１０２】
ステップＳ１９において、暗号処理部１５は、認証用鍵を用いて乱数Ｂを暗号化し、暗号化された乱数Ｂを通信制御部１１に出力する。
【０１０３】
ステップＳ２０において、通信制御部１１は、暗号処理部１５から供給されてきたデータ（暗号化された乱数Ｂ）をリーダライタ３に送信する。
【０１０４】
ステップＳ６において、リーダライタ３は、非接触ICチップ１から送信されてきたデータを受信し、ステップＳ７に進み、それを非接触ICチップ２に送信する（相互認証−３）。
【０１０５】
ステップＳ３７において、非接触ICチップ２の通信制御部１１は、リーダライタ３から送信されてきたデータを受信し、受信したデータを暗号処理部１５に出力する。
【０１０６】
ステップＳ３８において、暗号処理部１５は、認証用鍵を用いて、通信制御部１１から供給されてきたデータを復号し、乱数Ｂを取得する。取得された乱数Ｂは認証部１３に出力される。
【０１０７】
ステップＳ３９において、認証部１３は、非接触ICチップ１から送信されてきたデータを復号することによって取得された乱数Ｂと、ステップＳ３４において生成した乱数Ｂが同じであるかを確認する。同じであることが確認できたとき、そのことを表す情報が暗号処理部１５に出力されるとともに、通信制御部１１を介してリーダライタ３に送信される。
【０１０８】
ステップＳ８において、リーダライタ３は、非接触ICチップ２からの情報を受信し、これにより、相互認証が正常に行われたと判断して処理を終了させる。
【０１０９】
ステップＳ２１において、非接触ICチップ１の暗号処理部１５は、認証部１３により生成された乱数Ａと、記憶しておいた乱数Ｂに基づいて移動用鍵Ｋtを生成し、生成した移動用鍵Ｋtをメモリの鍵管理領域２２に記憶させる。
【０１１０】
同様に、ステップＳ４０において、非接触ICチップ２の暗号処理部１５も、認証部１３により生成された乱数Ｂと、記憶しておいた乱数Ａに基づいて、非接触ICチップ１において採用されたものと同じアルゴリズムで移動用鍵Ｋtを生成し、生成した移動用鍵Ｋtをメモリの鍵管理領域２２に記憶させる。
【０１１１】
これにより、データの移動元となる非接触ICチップ１と、移動先となる非接触ICチップ２の双方により、非接触ICチップ１と２だけが知ることのできる移動用鍵Ｋtが取得された状態になる（図３）。
【０１１２】
次に、図１３のフローチャートを参照して、状態遷移処理について説明する。この処理は、図１２の処理に続けて行われるものであり、図４を参照して説明した処理に対応する。
【０１１３】
ステップＳ５１において、リーダライタ３は、内部状態（システムの状態）を一般状態からデータ移動状態に遷移することを要求するコマンドを非接触ICチップ１に送信する。
【０１１４】
ステップＳ６１において、非接触ICチップ１の通信制御部１１は、リーダライタ３から送信されてきたコマンドを受信し、受信したコマンドを状態管理部１２に出力する。
【０１１５】
ステップＳ６２において、状態管理部１２は、通信制御部１１から供給されてきたコマンドを実行し、メモリの状態管理領域２１に、内部状態がデータ移動状態にあることを表すフラグを設定することによって内部状態を一般状態からデータ移動状態に遷移させる。
【０１１６】
ステップＳ６３において、状態管理部１２は、内部状態を遷移させたことを表す情報を通信制御部１１からリーダライタ３に送信し、処理を終了させる。
【０１１７】
ステップＳ５２において、リーダライタ３は、非接触ICチップ１からの情報を受信し、ステップＳ５３に進み、同様に、内部状態（システムの状態）を一般状態からデータ移動状態に遷移することを要求するコマンドを非接触ICチップ２に送信する。
【０１１８】
ステップＳ７１において、非接触ICチップ２の通信制御部１１は、リーダライタ３から送信されてきたコマンドを受信し、受信したコマンドを状態管理部１２に出力する。
【０１１９】
ステップＳ７２において、状態管理部１２は、通信制御部１１から供給されてきたコマンドを実行し、メモリの状態管理領域２１に、内部状態がデータ移動状態にあることを表すフラグを設定することによって内部状態を一般状態からデータ移動状態に遷移させる。
【０１２０】
ステップＳ７３において、状態管理部１２は、内部状態を遷移させたことを表す情報を通信制御部１１からリーダライタ３に送信し、処理を終了させる。ここで送信された情報は、ステップＳ５４においてリーダライタ３により受信される。
【０１２１】
次に、図１４のフローチャートを参照して、エクスポート処理について説明する。この処理は、図１３の処理に続けて行われるものであり、図５を参照して説明した処理に対応する。
【０１２２】
ステップＳ８１において、リーダライタ３は、移動対象のデータのエクスポートを要求するコマンドを非接触ICチップ１に送信する。
【０１２３】
ステップＳ９１において、非接触ICチップ１の通信制御部１１は、リーダライタ３から送信されてきたコマンドを受信し、受信したコマンドをメモリ管理部１４に出力する。
【０１２４】
ステップＳ９２において、メモリ管理部１４は、通信制御部１１から供給されてきたコマンドを実行して、移動対象のデータである全てのシステムのデータとともに、メモリの状態管理領域２１に記憶させておいた移動用鍵Ｋtをメモリから読み出し、読み出したデータを暗号処理部１５に供給して、移動用鍵Ｋtによりその移動対象のデータを暗号化させる。暗号処理部１５においては、移動対象のデータとともに、非接触ICチップ１のIDも移動用鍵Ｋtにより暗号化される。暗号処理部１５により暗号化されることによって得られたメモリデータＤは通信制御部１１に供給される。
【０１２５】
ステップＳ９３において、通信制御部１１は、暗号処理部１５から供給されてきたメモリデータＤをリーダライタ３に送信し、処理を終了させる。
【０１２６】
次に、図１５のフローチャートを参照して、インポート処理について説明する。この処理は、図１４の処理に続けて行われるものであり、図６を参照して説明した処理に対応する。
【０１２７】
ステップＳ１０１において、リーダライタ３は、非接触ICチップ１から送信されてきたメモリデータＤとともに、データのインポートを要求するコマンドを非接触ICチップ２に送信する。
【０１２８】
ステップＳ１１１において、非接触ICチップ２の通信制御部１１は、リーダライタ３から送信されてきたメモリデータＤと、コマンドを受信し、それらを暗号処理部１５に出力する。
【０１２９】
ステップＳ１１２において、暗号処理部１５は、メモリの状態管理領域２１に記憶させておいた移動用鍵Ｋtをメモリ管理部１４を介して読み出し、読み出した移動用鍵Ｋtを用いて復号することによって、メモリデータＤから移動対象のデータを取得する。また、暗号処理部１５は、メモリデータＤを復号することによって取得された非接触ICチップ１のIDと、自分自身のIDとを比較し、それらが同じでない場合にのみ、復号して取得されたデータを、メモリ管理部１４を介してメモリに記憶させる。
【０１３０】
このように、IDが確認されるようにすることにより、ある非接触ICチップから送信された移動対象のデータが他の非接触ICチップに移動されずに、その非接触ICチップのメモリに記憶されること、すなわち、データの移動元と移動先が同じ非接触ICチップとなってしまうことが防止される。
【０１３１】
なお、非接触ICチップ２において、復号して取得されたデータの記憶先となる領域（システム）は、非接触ICチップ１に形成されている、データの移動元のシステムと同じシステムとなる。これにより、例えば、非接触ICチップ１のシステムＡ乃至Ｃに記憶されていたデータが、そのまま、非接触ICチップ２のシステムＡ乃至Ｃに一括して移動されることになる。
【０１３２】
ステップＳ１１３において、暗号処理部１５は、インポートが終了したことを表す情報を通信制御部１１からリーダライタ３に送信し、処理を終了させる。ここで送信された情報は、ステップＳ１０２においてリーダライタ３により受信される。
【０１３３】
以上においては、図１６Ａ（図９）に示されるように、メモリに形成される全てのシステムであるシステムＡ乃至Ｃのデータ全体を一括して移動させるために、システムＡ乃至Ｃ全体のデータの移動の状態を表すフラグが管理される１つの状態管理領域２１が用意され、また、システムＡ乃至Ｃに記憶されているデータの移動に用いられる移動用鍵が管理される１つの鍵管理領域２２が用意されるものとしたが、これらの領域がシステム毎に用意され、システム単位で、データの移動を行うことができるようにしてもよい。
【０１３４】
図１６Ｂは、システム単位でデータの移動を行う場合のメモリに形成される領域の例を示す図である。
【０１３５】
図１６Ｂの例においては、システムＡには、システムＡのデータの移動の状態を表すフラグが管理される状態管理領域２１Ａが用意され、また、システムＡに記憶されているデータの移動に用いられる移動用鍵が管理される鍵管理領域２２Ａが用意されている。システムＢとＣにも同様に、データの移動の状態を表すフラグが管理される状態管理領域２１Ｂと２１Ｃが用意され、また、データの移動に用いられる移動用鍵が管理される鍵管理領域２２Ｂと２２Ｃが用意されている。
【０１３６】
例えば、システムＡに記憶されているデータだけを移動させる場合、状態管理領域２１Ａだけに、内部状態がデータ移動状態であることを表すフラグが設定され、システムＢの状態管理領域２１ＢとシステムＣの状態管理領域２１Ｃには、内部状態が一般状態であることを表すフラグが設定される。このとき、システムＢとＣに対するデータの読み書きは可能とされる。
【０１３７】
図１７ＡおよびＢは、相互認証で用いる鍵の選択の例について示す図である。
【０１３８】
上述したように、システムＡ乃至Ｃのデータを一括して移動させる場合、図１７Ａに実線で囲んで示すように、システムＡ乃至ＣのシステムキーＫSA，ＫSB，ＫSCと、システムＡ乃至Ｃにある、エリアコードが００００ｈで表されるエリアのエリアキーＫAA，ＫAB，ＫACに基づいて認証用鍵が生成されるのに対し、システム単位で、例えば、システムＢのデータだけを移動させる場合、図１７Ｂに実線で囲んで示すように、システムＢのシステムキーＫSBと、システムＢにあるエリアのエリアキーＫABに基づいて認証用鍵が生成される。
【０１３９】
また、以上においては、非接触ICチップ１から非接触ICチップ２に対してあるシステムのデータの移動が行われる場合について説明したが、図１８に示すように、非接触ICチップ２から非接触ICチップ１に対しても、同じシステムのデータの移動が行われ、これにより、データの交換が行われるようにしてもよい。
【０１４０】
この場合、例えば、まず、非接触ICチップ１からエクスポートされたメモリデータＤ1が非接触ICチップ２においてインポートされることによって、非接触ICチップ１から非接触ICチップ２に対するデータの移動が実現される。その後、非接触ICチップ１から非接触ICチップ２に対するデータの移動のときに用いられた移動用鍵Ｋtが再度用いられ、非接触ICチップ２からエクスポートされたメモリデータＤ2が非接触ICチップ１においてインポートされることによって、非接触ICチップ２から非接触ICチップ１に対するデータが移動が実現され、これにより、データの交換が実現される。
【０１４１】
なお、以上においては、非接触ICチップ１と２が１つのリーダライタ３に近づけられ、リーダライタ３を介した通信によりデータの移動や交換が行われるものとしたが、所定の経路で接続されている別々のリーダライタに、非接触ICチップ１と２がそれぞれ近づけられ、それを介した通信によりデータの移動や交換が行われるようにしてもよい。
【０１４２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、そのソフトウェアを実行させる装置は、例えば、図１９に示されるようなパーソナルコンピュータにより構成される。
【０１４３】
図１９において、CPU(Central Processing Unit)１０１は、ROM(Read Only Memory)１０２に記憶されているプログラム、または、記憶部１０８からRAM(Random Access Memory)１０３にロードされたプログラムに従って各種の処理を実行する。RAM１０３にはまた、CPU１０１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０１４４】
CPU１０１、ROM１０２、およびRAM１０３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。
【０１４５】
入出力インタフェース１０５には、キーボード、マウスなどよりなる入力部１０６、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部１０７、ハードディスクなどより構成される記憶部１０８、ネットワークを介しての通信処理を行う通信部１０９が接続されている。
【０１４６】
入出力インタフェース１０５にはまた、必要に応じてドライブ１１０が接続される。ドライブ１１０には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブルメディア１１１が適宜装着され、それから読み出されたコンピュータプログラムが必要に応じて記憶部１０８にインストールされる。
【０１４７】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１４８】
この記録媒体は、図１９に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory)，DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（登録商標）(Mini-Disk)を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア１１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１０２や、記憶部１０８に含まれるハードディスクなどで構成される。
【０１４９】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【０１５１】
【図１】本発明の一実施形態に係るデータ送受信システムの構成例を示す図である。
【図２】相互認証について示す図である。
【図３】鍵の共有について示す図である。
【図４】状態の遷移について示す図である。
【図５】データのエクスポートについて示す図である。
【図６】データのインポートについて示す図である。
【図７】非接触ICチップの機能構成例を示すブロック図である。
【図８】非接触ICチップの内部状態について示す図である。
【図９】メモリに形成される領域の例を示す図である。
【図１０】エリア、サービスのディレクトリ構造を示す図である。
【図１１】相互認証処理について説明するフローチャートである。
【図１２】相互認証処理について説明する、図１１に続くフローチャートである。
【図１３】状態遷移処理について説明するフローチャートである。
【図１４】エクスポート処理について説明するフローチャートである。
【図１５】インポート処理について説明するフローチャートである。
【図１６】メモリに形成される領域の例を示す図である。
【図１７】鍵の選択の例を示す図である。
【図１８】データの交換について示す図である。
【図１９】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１５２】
１，２  非接触ICチップ，  ３  リーダライタ，  １１  通信制御部，  １２  状態管理部，  １３  認証部，  １４  メモリ管理部，  １５  暗号処理部，  ２１  状態管理領域，  ２２  鍵管理領域
【図１】
2006338423.tif 000003
【図２】
2006338423.tif 000004
【図３】
2006338423.tif 000005
【図４】
2006338423.tif 000006
【図５】
2006338423.tif 000007
【図６】
2006338423.tif 000008
【図７】
2006338423.tif 000009
【図８】
2006338423.tif 000010
【図９】
2006338423.tif 000011
【図１０】
2006338423.tif 000012
【図１１】
2006338423.tif 000013
【図１２】
2006338423.tif 000014
【図１３】
2006338423.tif 000015
【図１４】
2006338423.tif 000016
【図１５】
2006338423.tif 000017
【図１６】
2006338423.tif 000018
【図１７】
2006338423.tif 000019
【図１８】
2006338423.tif 000020
【図１９】
2006338423.tif 000021