(57)【要約】      （修正有）【課題】情報を安全かつ確実にセキュアメモリに書き込むことができるセキュアデバイスを提供する。【解決手段】ＩＣカード１０は、１以上のアプリケーション１６とＩＣカード１０の動作を制御するカード制御部１４とを有する耐タンパモジュール１２と、耐タンパモジュール１２からのみアクセス可能なセキュアメモリ領域１８と、サービス端末６０と通信するための非接触インターフェース２４とを備える。カード制御部１４は、格納指示情報を生成し、非接触インターフェース２４は、格納指示情報をサービス端末６０へ送信する。格納指示情報には、データの書込み先のセキュアメモリ領域１８のアドレスと、一時的にデータを保管するための保管先を示す通常メモリ領域２０のアドレスと、通常メモリ領域２０からセキュアメモリ領域１８へのデータ移動を実行するアプリケーションの識別子と、データを中継する中継端末４０のアドレスとを含む。【選択図】図１
2006155589.tif 000002
【特許請求の範囲】
【請求項１】
サービス端末から送信されるデータを、情報書込み機能を有する中継端末を介して受信するセキュアデバイスであって、
１以上のアプリケーションと前記セキュアデバイスの動作を制御するデバイス制御部とを有する耐タンパモジュールと、
前記耐タンパモジュールからのみアクセス可能なセキュアメモリと、
前記サービス端末と通信するための通信部と、
を備え、
前記デバイス制御部は、前記データの書込み先を示す前記セキュアメモリのアドレスと前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る格納指示情報を生成、格納し、
前記通信部は、前記格納指示情報を前記サービス端末へ送信するセキュアデバイス。
【請求項２】
前記対処法に関する情報は、一時的に前記データを保管するための保管先を示す前記セキュアデバイス又は前記中継端末の有する通常メモリのアドレスと、前記通常メモリに保管されたデータを前記セキュアメモリへ移動させる前記アプリケーションの識別子を有する請求項１に記載のセキュアデバイス。
【請求項３】
前記対処法に関する情報は、一時的に前記データを保管するための保管先、または、前記データの書き込み先のメモリ領域の少なくとも一方を確保しておく期限を示す格納先確保期限を有する請求項２に記載のセキュアデバイス。
【請求項４】
前記通信部は、前記サービス端末から送信されるデータの属性情報を受信し、
前記デバイス制御部は、前記属性情報に基づいて前記サービス端末から送信されるデータを中継する中継端末を決定し、決定された前記中継端末のアドレスを前記格納指示情報に含める請求項１に記載のセキュアデバイス。
【請求項５】
前記通信部は、前記サービス端末から送信されるデータの属性情報を受信し、
前記デバイス制御部は、前記属性情報に基づいて前記中継端末と前記サービス端末との間の通信方式を決定し、前記格納指示情報に含める請求項１に記載のセキュアデバイス。
【請求項６】
サービス端末から送信されたデータを通信可能に接続されたセキュアデバイスに書き込む中継端末であって、
前記データと、前記データの書込み先を示す前記セキュアデバイスが有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る格納指示情報とを、前記サービス端末から受信するデータ受信部と、
受信したデータを前記格納指示情報で指定された前記セキュアメモリのアドレスへ書き込む命令を前記セキュアデバイスに送信し、前記命令に対する前記セキュアデバイスからの応答を受信する命令送信部と、
前記応答に基づいて前記セキュアメモリへのデータ書込みの可否を判断し、書込み不能と判断した場合に、前記格納指示情報で指定された対処法に関する情報に基づいて、前記セキュアデバイス又は該中継端末の有する通常メモリに前記データを書き込む制御部と、
を備える中継端末。
【請求項７】
サービス端末から送信されたデータを通信可能に接続されたセキュアデバイスに書込む中継端末であって、
前記データと、前記データの書込み先を示す前記セキュアデバイスが有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る格納指示情報とを、前記サービス端末から受信するデータ受信部と、
前記セキュアデバイスの処理状態を管理し、前記処理状態に基づいて前記セキュアメモリへのデータ書込みの可否を判断し、書込み不能と判断した場合に、前記格納指示情報で指定された対処法に関する情報に基づいて、前記セキュアデバイス又は該中継端末の有する通常メモリに前記データを書き込む制御部と、
を備える中継端末。
【請求項８】
前記中継端末は、さらに、前記格納指示情報にて指定された通常メモリのアドレスへのデータの書込みの完了に応じて前記格納指示情報を削除する削除部を備える請求項６または７に記載の中継端末。
【請求項９】
前記対処法に関する情報は、一時的に前記データを保管するための保管先を示す前記セキュアデバイス又は前記中継端末の有する通常メモリのアドレスと、前記通常メモリに保管されたデータを前記セキュアメモリへ移動させる前記アプリケーションの識別子を含む請求項６に記載の中継端末。
【請求項１０】
前記命令送信部は、前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、
起動した前記アプリケーションに対し、前記通常メモリに一時的に保管された前記データを前記セキュアメモリのアドレスに移動させるデータ移動命令を出力する請求項９に記載の中継端末。
【請求項１１】
前記対処法に関する情報は、一時的に前記データを保管するための保管先を示す前記セキュアデバイス又は前記中継端末の有する通常メモリのアドレスと、前記通常メモリに保管されたデータを前記セキュアメモリへ移動させる前記アプリケーションの識別子を含む請求項７に記載の中継端末。
【請求項１２】
前記対処法に関する情報は、一時的に前記データを保管するための保管先、または、前記データの書き込み先のメモリ領域の少なくとも一方を確保しておく期限を示す格納先確保期限を有する請求項１１に記載の中継端末。
【請求項１３】
前記命令送信部は、
前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、
起動した前記アプリケーションは、前記格納指示情報を参照し、前記通常メモリに一時的に保管されたデータを前記セキュアメモリのアドレスに移動させる請求項９または請求項１１に記載の中継端末。
【請求項１４】
前記格納指示情報で指定された通常メモリのアドレスにアクセスして、前記通常メモリに一時的に保管されたデータを読み出すデータ読出部をさらに備え、
前記命令送信部は、
前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、
起動した前記アプリケーションに対し、前記データ読出部で読み出した前記データの前記セキュアメモリのアドレスへの書き込みを指示する書込み命令を出力する請求項９または請求項１１に記載の中継端末。
【請求項１５】
前記命令送信部は、
前記格納指示情報で指定された格納先確保期限を参照し、前記通常メモリに一時的に保管されたデータを削除する請求項１２に記載の中継端末。
【請求項１６】
サービス端末から送信されるデータを、情報書込み機能を有する中継端末を介して受信するセキュアデバイスの動作方法であって、
前記セキュアデバイスが、前記データの書込み先を示す前記セキュアデバイスの有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込み不能であった場合の対処法に関する情報とから成る格納指示情報を生成するステップと、
前記セキュアデバイスが前記格納指示情報を前記サービス端末へ送信するステップと、
を備えるセキュアデバイスの動作方法。
【請求項１７】
サービス端末から送信されるデータを情報書込み機能を有する中継端末を介して受信するためのセキュアデバイスによって読み取り可能なプログラムであって、
前記データの書込み先を示す前記セキュアデバイスの有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込み不能であった場合の対処法に関する情報とから成る格納指示情報を生成するステップと、
前記格納指示情報を前記サービス端末へ送信するステップと、
を前記セキュアデバイスに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、耐タンパ領域を有するセキュアデバイスおよびセキュアデバイスにデータを書き込む中継端末に関する。
【背景技術】
【０００２】
従来、デジタルコンテンツをセキュアに格納する方法として、例えばＩＣカードを用いた方法がとられていた。ＩＣカードは、耐タンパモジュールからのみアクセスが可能で不正な手段では読み出すことができないセキュアメモリ領域を備えているが、セキュアメモリ領域は少容量であったため、保護すべきデジタルコンテンツを暗号化して復号用の鍵をセキュアメモリ領域に格納し、暗号化されたデジタルコンテンツは端末の通常メモリ領域やメモリカード上に格納されていた。このような格納の形態を採用する場合、例えば特許文献１に開示されているように、デジタルコンテンツを復号化する鍵を、暗号通信路を用いてセキュアメモリに配信し、暗号化されたデジタルコンテンツを後から通常メモリ領域に配信する。
【特許文献１】特開２００２−１２４９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年のＩＣカードのメモリの大容量化に伴い、デジタルコンテンツ自体をセキュアメモリに格納したいという要望が高まっている。しかし、セキュアメモリ領域には、外部から受信したデータを直接書き込むことはできず、耐タンパモジュールからのみアクセスすることが可能である。従って、耐タンパモジュールが他の高負荷な処理を行っている場合等には、配信した情報を保存できないおそれがある。
【０００４】
このような不都合を防止するため、耐タンパモジュールが他の処理を行っている場合、つまりビジー状態のときには、中継端末にデータを一時的に保存しておき、適当なタイミングで一時保存データを耐タンパモジュールを介してセキュアメモリへ移動させる手順が考えられる。
【０００５】
しかし、この手順では、ＩＣカードを別のカードリーダライタに移動させると、一時保存されたデータを最終格納先であるセキュアメモリに移動することができない。また、カードリーダライタに保存されたデータが一時的に保存されているデータであることも把握できない。さらに、カードリーダライタが、耐タンパモジュールに転送するための情報を記憶しておくことは、カードリーダライタの負荷を増大させるばかりでなく、セキュリティ上も問題がある。
【０００６】
本発明は、上記背景に鑑み、耐タンパモジュールの状況によらず、データを安全かつ確実にセキュアメモリ領域に書き込むことができるセキュアデバイスおよび中継端末を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のセキュアデバイスは、サービス端末から送信されるデータを、情報書込み機能を有する中継端末を介して受信するセキュアデバイスであって、１以上のアプリケーションと前記セキュアデバイスの動作を制御するデバイス制御部とを有する耐タンパモジュールと、前記耐タンパモジュールからのみアクセス可能なセキュアメモリと、前記サービス端末と通信するための通信部とを備え、前記デバイス制御部は、前記データの書込み先を示すセキュアメモリのアドレスと、前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る格納指示情報を生成、格納し、前記通信部は、前記格納指示情報を前記サービス端末へ送信する。
【０００８】
このように格納指示情報を生成してサービス端末に送信することにより、セキュアデバイスにて指定した中継端末を介してデータを受信できる。また、格納指示情報に書込みが不能であった場合の対処法に関する情報を含めることにより、セキュアメモリへのデータ書込みを行えないときには、セキュアデバイスが上記対処法に関する情報を参照することで、受信したデータを所定の場所に緊急避難的に保存しておくといった措置をとることができる。
【０００９】
上記書込みが不能であった場合の対処法に関する情報は、一時的に前記データを保管するための保管先を示す前記セキュアデバイス又は前記中継端末の有する通常メモリのアドレスと、前記通常メモリに保管されたデータを前記セキュアメモリへ移動させる前記アプリケーションの識別子を有していてもよい。
【００１０】
データを一時的に保管するための通常メモリのアドレスを含めることにより、セキュアメモリへのデータ書込みを行えないときには、データを一旦通常メモリに書き込んでおくことができる。従って、セキュアメモリへのデータ書込みが可能となった後に、通常メモリからデータを読み出し、セキュアメモリへのデータ書込みを実行できる。これにより、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、確実にセキュアメモリへのデータ書込みを行うことができる。
【００１１】
上記書込みが不能であった場合の対処法に関する情報は、一時的に前記データを保管するための保管先、または、前記データの書き込み先のメモリ領域の少なくとも一方を確保しておく期限を示す格納先確保期限を有していてもよい。
【００１２】
メモリの確保期限を含めることにより、期限を過ぎてもデータが格納されないメモリを解放することが出来る。これにより、メモリ領域が不当に確保されたままになることによるメモリ容量減少を防ぐことができる。
【００１３】
上記セキュアデバイスにおいて、前記通信部は、前記サービス端末から送信されるデータの属性情報を受信し、前記デバイス制御部は、前記属性情報に基づいて前記サービス端末から送信されるデータを中継する中継端末を決定し、決定された前記中継端末のアドレスを前記格納指示情報に含めてもよい。
【００１４】
この構成により、サービス端末から受信した属性情報に応じて、適切な中継端末を決定することができる。ここで属性情報としては、例えば、送信されるデータのデータ量、拡張子、中継端末の種類などがある。例えば、データ量の属性に応じて、データ量が大きい場合には家庭のＰＣ、データ量が小さいときには携帯端末を受信する中継端末として決定することにより、データ量が大きい場合に、すべてのデータを受信するまで携帯端末での処理ができないという不都合を回避できる。
【００１５】
上記セキュアデバイスにおいて、前記通信部は、前記サービス端末から送信されるデータの属性情報を受信し、前記デバイス制御部は、前記属性情報に基づいて前記中継端末と前記サービス端末との間の通信方式を決定し、前記格納指示情報に含めてもよい。
【００１６】
この構成により、サービス端末から受信した属性情報に応じて、適切な通信方式を決定することができる。
【００１７】
本発明の中継端末は、前記サービス端末から送信されたデータを通信可能に接続されたセキュアデバイスに書き込む中継端末であって、前記データと、前記データの書込み先を示す前記セキュアデバイスが有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る前記格納指示情報を受信するデータ受信部と、受信したデータを前記格納指示情報で指定されたセキュアメモリのアドレスへ書き込む命令を前記セキュアデバイスに送信し、前記命令に対する前記セキュアデバイスからの応答を受信する命令送信部と、前記応答に基づいて前記セキュアメモリへのデータ書込みの可否を判断し、書込み不能と判断した場合に、前記格納指示情報で指定された対処法に関する情報に基づいて、前記セキュアデバイス又は中継端末の有する通常メモリに前記データを書き込む制御部と、を備えた構成を有する。
【００１８】
このようにセキュアメモリへのデータ書込みを行えないときに、通常メモリにデータを書き込んでおくことにより、後でセキュアメモリへのデータ書込みが可能となったときに、通常メモリからセキュアメモリにデータを移動することができる。これにより、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、確実にセキュアメモリへのデータ書込みを行うことができる。
【００１９】
本発明の別の態様に係る中継端末は、サービス端末から送信されたデータを通信可能に接続されたセキュアデバイスに書込む中継端末であって、前記データと、前記データの書込み先を示す前記セキュアデバイスが有するセキュアメモリのアドレスと前記セキュアメモリへのデータ書込みが不能であった場合の対処法に関する情報とから成る格納指示情報とを、前記サービス端末から受信するデータ受信部と、前記セキュアデバイスの処理状態を管理し、前記処理状態に基づいて前記セキュアメモリへのデータ書込みの可否を判断し、書込み不能と判断した場合に、前記格納指示情報で指定された対処法に関する情報に基づいて、前記セキュアデバイス又は該中継端末の有する通常メモリに前記データを書き込む制御部と、を備えた構成を有する。
【００２０】
このように、制御部がセキュアデバイスの処理状態を管理しており、処理状態に基づいて書込みが不能と判断した場合は、通常メモリにデータを書き込んでおくことにより、後でセキュアメモリへのデータ書込みが可能となったときに、通常メモリからセキュアメモリにデータを移動することができる。これにより、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、確実にセキュアメモリへのデータ書込みを行うことができる。
【００２１】
本発明の別の態様に係る中継端末は、格納指示情報にて指定された通常メモリのアドレスへのデータの書込みの完了に応じて前記格納指示情報を削除する削除部を備えた構成を有する。
【００２２】
これにより、中継端末から格納指示情報を不正に読み取られる危険を低減し、セキュリティを向上させることができる。
【００２３】
上記対処法に関する情報は、一時的に前記データを保管するための保管先を示す前記セキュアデバイス又は前記中継端末の有する通常メモリのアドレスと、前記通常メモリに保管されたデータを前記セキュアメモリへ移動させる前記アプリケーションの識別子を含んでいてもよい。
【００２４】
これにより、データを一時的に保管するための通常メモリのアドレスを含めることにより、セキュアメモリへのデータ書込みを行えないときには、データを一旦通常メモリに書き込んでおくことができる。従って、セキュアメモリへのデータ書込みが可能となった後に、通常メモリからデータを読み出し、セキュアメモリへのデータ書込みを実行できる。これにより、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、確実にセキュアメモリへのデータ書込みを行うことができる。
【００２５】
上記対処法に関する情報は、一時的に前記データを保管するための保管先、または、前記データの書き込み先のメモリ領域の少なくとも一方を確保しておく期限を示す格納先確保期限を含んでいてもよい。
【００２６】
これにより、期限を過ぎてもデータが格納されないメモリを解放させることができ、メモリ領域が不当に確保されたままになることによるメモリ容量減少を防ぐことができる。
【００２７】
上記中継端末において、前記命令送信部は、前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、起動した前記アプリケーションに対し、前記通常メモリに一時的に保管された前記データを前記セキュアメモリのアドレスに移動させるデータ移動命令を出力してもよい。
【００２８】
このようにセキュアデバイスから読み出した格納指示情報にて指定されたアプリケーションの識別子と共に、通常メモリからセキュアメモリへのデータの移動命令をセキュアデバイスに送信することにより、セキュアデバイスは、通常メモリからデータを読み出し、読み出したデータをセキュアメモリに格納することができる。これにより、通常メモリに一時的に保管されていたデータをセキュアメモリに移動させることができる。
【００２９】
上記中継端末において、前記命令送信部は、前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、起動した前記アプリケーションは、前記格納指示情報を参照し、前記通常メモリに一時的に保管されたデータを前記セキュアメモリのアドレスに移動させてもよい。
【００３０】
このようにセキュアデバイスから読み出した格納指示情報にて指定されるアプリケーションの識別子をセキュアデバイスに送信することにより、セキュアデバイスは指定されたアプリケーションを起動する。そして、起動されたアプリケーションは、セキュアデバイス自身が保持する格納指示情報を参照し、通常メモリに格納されたデータを読み出してセキュアメモリに格納するので、通常メモリに一時的に保管されていたデータをセキュアメモリに移動させることができる。
【００３１】
上記中継端末は、前記格納指示情報で指定された通常メモリのアドレスにアクセスして、前記通常メモリに一時的に保管されたデータを読み出すデータ読出部をさらに備え、前記命令送信部は、前記格納指示情報で指定されたアプリケーションの識別子に基づいて、前記アプリケーション識別子に対応するアプリケーションの起動命令を出力し、起動した前記アプリケーションに対し、前記データ読出部で読み出した前記データの前記セキュアメモリのアドレスへの書き込みを指示する書込み命令を出力してもよい。
【００３２】
このようにセキュアデバイスから読み出した格納指示情報にて指定される通常メモリのアドレスに基づいて、通常メモリに格納されたデータを読み出し、読み出したデータと共にセキュアメモリへのデータ書込み命令をセキュアデバイスに送信することにより、通常メモリに一時的に保管されていたデータをセキュアメモリに移動させることができる。
【００３３】
本発明のセキュアデバイスの動作方法は、サービス端末から送信されるデータを、情報書込み機能を有する中継端末を介して受信するセキュアデバイスの動作方法であって、前記セキュアデバイスが、前記データの書込み先を示すセキュアデバイスの有するセキュアメモリのアドレスと、前記セキュアメモリへのデータ書込み不能であった場合の対処法に関する情報とから成る格納指示情報を生成するステップと、前記セキュアデバイスが前記格納指示情報を前記サービス端末へ送信するステップとを備えた構成を有する。
【００３４】
この構成により、本発明のセキュアデバイスと同様に、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、格納指示情報に基づいて確実にセキュアメモリへのデータ書込みを行うことができる。また、本発明のセキュアデバイスの各種の構成を本発明のセキュアデバイスの動作方法に適用することも可能である。
【００３５】
本発明のプログラムは、サービス端末から送信されるデータを情報書込み機能を有する中継端末を介して受信するセキュアデバイスの動作プログラムであって、前記データの書込み先を示すセキュアメモリのアドレスと前記セキュアメモリへのデータ書込み不能であった場合の対処法に関する情報とから成る格納指示情報を生成するステップと、前記格納指示情報を前記サービス端末へ送信するステップとを前記セキュアデバイスに実行させる。
【００３６】
この構成により、本発明のセキュアデバイスと同様に、一時的にセキュアメモリへのデータ書込みを行えない状態であっても、格納指示情報に基づいて確実にセキュアメモリへのデータ書込みを行うことができる。また、本発明のセキュアデバイスの各種の構成を本発明のプログラムに適用することも可能である。
【発明の効果】
【００３７】
本発明によれば、格納指示情報にデータを一時的に保管するための通常メモリのアドレスを含めることにより、セキュアメモリ領域へのデータ書込みを行えないときには、データを一旦通常メモリに書き込んでおき、セキュアメモリ領域へのデータ書込みが可能となった後に、書込みを実行可能となり、一時的にセキュアメモリ領域へのデータ書込みを行えない状態であっても、確実にセキュアメモリ領域へのデータ書込みを行うことができる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施の形態のセキュアデバイスおよび中継端末について図面を用いて説明する。以下の説明では、サービス端末６０から中継端末４０にデータを送信し、中継端末４０がセキュアデバイスの一つであるＩＣカード１０にデータを書き込むＩＣカードシステムを例として説明する。本システムでは、サービス端末６０とＩＣカード１０との通信によりコンテンツの購入を決定し、購入された対象のコンテンツデータをサービス端末６０から中継端末４０に配信する。そして、中継端末４０がＩＣカード１０のセキュアメモリ領域１８にコンテンツデータを格納するという流れで動作する。
【００３９】
図１は、本発明の第１の実施の形態のＩＣカードおよび中継端末を含んだＩＣカードシステムを示す図である。ＩＣカードシステムは、ＩＣカード１０と、ＩＣカード１０に情報を提供するサービス端末６０と、ＩＣカード１０に情報を書き込む中継端末４０とを備えている。
【００４０】
ＩＣカード１０は、耐タンパモジュール（Tamper Resistant Module、以下「ＴＲＭ」
という）１２と、セキュアメモリ領域１８と通常メモリ領域２０とを含むメモリ２２を備えている。セキュアメモリ領域１８は、ＴＲＭ１２によってのみアクセス可能な領域である。通常メモリ領域２０は、ＴＲＭ１２および接触インターフェース２６からアクセス可能な領域である。
【００４１】
ＴＲＭ１２は、ＩＣカード１０の動作を制御するカード制御部１４、および単数または複数のカードアプリケーション（以下、「カードアプリ」という）１６を含んでいる。ＴＲＭ１２のハードウェアは、ＣＰＵとＲＯＭを備えた１個のモジュールである。ＲＯＭにカードアプリ１６が格納され、ＣＰＵがＲＯＭからカードアプリ１６を読み出して実行することによりＩＣカード１０の動作を制御する。
【００４２】
また、ＩＣカード１０は、非接触インターフェース２４と接触インターフェース２６とを有している。本実施の形態においては、非接触インターフェース２４によってサービス端末６０との通信を行い、接触インターフェース２６によって中継端末４０との通信を行う。
【００４３】
接触インターフェース２６は、ＴＲＭ１２および通常メモリ領域２０に接続されている。接触インターフェース２６は、外部からメモリアクセスコマンドを受信した場合には通常メモリ領域２０にアクセスし、ＩＣカードアクセスコマンドを受信した場合にはＴＲＭ１２を介してセキュアメモリ領域１８にアクセスする。メモリアクセスコマンドが接触インターフェース２６によって常時受信されるのに対し、ＩＣカードアクセスコマンドは、ＩＣカード１０がビジー状態の場合には受信されず、接触I／F５２に対しエラーを返す。ＩＣカード１０のビジー状態の例としては、非接触インターフェース２４と接触インターフェース２６とが同時に動作できないＩＣカード１０において非接触インターフェース２４が処理中の場合や、シングルチャネルのＩＣカード１０において他の処理が行われている場合がある。
【００４４】
また、ＩＣカード１０にＩＣカードアクセスコマンドを送りエラーを受信することでビジーを検知するのではなく、中継端末４０のカードアクセス制御部５４で、ＩＣカード１０が非接触処理開始中であることや接触処理開始中であることを管理し、いずれか一方の処理を行っているときには他方の通信処理の開始要求をＩＣカード１０に送信しないようにしてもよい。また、接触処理中に最大チャネル数までコネクションを張っている場合も、カードアクセス制御部５４でビジー状態であることを判断し、更なるアクセス要求をＩＣカード１０に送信しないようにしてもよい。
【００４５】
非接触インターフェース２４はＴＲＭ１２に接続されている。非接触インターフェース２４は、外部から入力された情報をＴＲＭ１２に送信すると共に、ＴＲＭ１２から渡された情報を外部に送信する。非接触インターフェース２４としては、例えば、ISO/IEC 14443 のType AやType B、JICSAP 2.0、赤外線通信、ブルートゥース等のインターフェースを用いることができる。なお、図１に示した例においては、非接触Ｉ／Ｆ２４はＩＣカード１０内にあるとしているが、これに限ったものではなく、非接触Ｉ／Ｆの一部、もしくは全部が中継端末４０側にあり、接触Ｉ／Ｆ２６、５２を介してＩＣカード１０がサービス端末６０と非接触通信を行うように構成してもよい。
【００４６】
中継端末４０は、一般的なコンピュータが備える端末制御部４２、ＲＡＭ４４、ＲＯＭ４６、表示部４８、通信部５０の構成に加え、ＩＣカード１０の情報を読み書きするための接触インターフェース５２と、カードアクセス制御部５４を備えている。中継端末４０としては、例えば、携帯電話機能付きの携帯端末、インターネット接続されたＰＣやインターネット接続されたＴＶなどを用いることができる。
【００４７】
サービス端末６０は、一般的なコンピュータが備える制御部６２、ＲＡＭ６４、ＲＯＭ６６、通信制御部６８、通信インターフェース７０の構成に加え、ＩＣカード１０と無線通信するための非接触インターフェース７２を備えている。サービス端末６０のＲＯＭ６６には、ＩＣカード１０に送信するコンテンツデータが格納されている。
【００４８】
次に、第１の実施の形態のＩＣカードシステムの動作について説明する。最初に、ＩＣカード１０がビジーでなくセキュアメモリ領域１８へのデータ書込みを正常に行える場合の動作について説明し、その後でＴＲＭ１２がビジーの場合の動作について説明する。
【００４９】
図２は、ＩＣカード１０、サービス端末６０および中継端末４０の間で送受信されるデータの流れを示す図である。まず、ＩＣカード１０とサービス端末６０との間で非接触通信を行い、セッションを接続する（Ｓ１０）。
【００５０】
図３は、ＩＣカード１０およびサービス端末６０の処理を詳細に示す図である。まず、ＩＣカード１０およびサービス端末６０は、カードアプリ１６を起動する（Ｓ４０）。その後、ＩＣカード１０とサービス端末６０との間で相互認証を行って（Ｓ４２）、セキュア通信路を生成し、セッション鍵を共有する（Ｓ４４）。ここまでの動作により、ＩＣカード１０およびサービス端末６０では、図２に示す共通のセッション鍵の保存までが行われる（Ｓ１２）。
【００５１】
次に、図３に示すように、ＩＣカード１０とサービス端末６０との間で決済処理を行う（Ｓ４６）。ここでは、ＩＣカード１０が、サービス端末６０にコンテンツデータの購入要求を送信し、サービス端末６０が購入要求に応じてコンテンツデータの配信を決定する。これにより、ＩＣカード１０とサービス端末６０との間でコンテンツデータ購入の決済処理が行われる。続いて、サービス端末６０は、コンテンツデータの属性情報をＩＣカード１０に送信する（Ｓ４８）。
【００５２】
ＩＣカード１０は、サービス端末６０から送信された属性情報を受信すると（Ｓ５０）、受信した属性情報に基づいて格納指示情報３０を生成する（Ｓ５２）。ここで、ＩＣカード１０にて生成される格納指示情報３０について説明する。
【００５３】
図４は、ＩＣカード１０が格納指示情報３０を生成し、サービス端末６０に送信する動作を示す図である。まず、サービス端末６０がＩＣカード１０にデータの属性情報を送信する（Ｓ６０）。データの属性情報としては、データ量、データ種別などがある。ＩＣカード１０のカードアプリ１６は、サービス端末６０から送信された属性情報を受信すると、受信した属性情報をカード制御部１４に渡す（Ｓ６２）。カード制御部１４は、属性情報に基づいてサービス端末６０から送信されるデータの送信先および送信経路を決定する（Ｓ６４）。なお、カード制御部のＳ６４からＳ７４の処理は、ライブラリの形でカードＯＳに組み込んでもよいし、カードアプリケーションの形でＴＲＭに保持するとしてもよい。
【００５４】
図５は、属性情報としてデータサイズを受信したときに送信先および書込みエラー時の一時保管先を決定するための、カード制御部が保持するテーブルの一例を示す図である。図５に示されるように、テーブルは、データサイズに関連付けて送信先情報およびエラー時の対処法を示す情報を有する。図５に示すテーブルでは、データサイズが１００ＫＢ未満の場合には、中継端末として携帯端末のデバイスアドレスが指定され、１００ＫＢ以上の場合には、中継端末としてホームサーバのデバイスアドレスが指定されている。これにより、少量のデータの場合には携帯端末で受信して円滑に利用でき、大量のデータの場合には記憶容量の大きいホームサーバで受信することが可能となる。また、エラー時の対処法については、データが１００ＫＢ未満の場合には、ＩＣカード１０内の通常メモリ領域２０に保管するよう指定されている。これにより、携帯端末のメモリの圧迫を回避できる。データが１００ＫＢ以上１００ＭＢ未満の場合には、ホームサーバの通常メモリに保管するよう指定されている。これにより、一般的に大容量のホームサーバの通常メモリを一時保管領域として利用できる。このように、図５に示すテーブルを用いて、データサイズに応じて適切な送信先および一時保管先を決定できる。なお、エラー時の対処法を二つ以上指定してもよい。例えば、一番目の対処法としてＩＣカード１０内の通常メモリ領域２０への保管を指定し、二番目の対処法として中継端末４０内の通常メモリ領域への保管を指定する。こうしておくことで、中継端末にＩＣカードがささっていない場合にも、二番目の対処法により中継端末４０内の通常メモリに一時保存することが出来る。また、サービス端末６０から受信する属性情報は、データサイズに限られず、例えば、属性情報としてデータ種別を受信してもよい。この場合は、例えば図６に示すようなテーブルを備え、データ種別に応じて送信先を決定する。
【００５５】
なお、エラー時の対処方法については、空きメモリ領域の確認（図４のＳ６６、Ｓ６８、Ｓ７０、Ｓ７２）の後にＩＣカードの１０のカード制御部１４でメモリ領域の空き状態に応じて動的に決定してもよい。その場合、図５および図６のテーブルにおいてエラー時の対処法の列は省略してもよい。
【００５６】
図４に示すように、カード制御部１４は、送信先を決定した後、セキュアメモリ領域１８の空き領域を確認し（Ｓ６６）、データの格納領域を確保する（Ｓ６８）。これにより、確保したデータ格納用の領域への他のデータの書込みを防止し、セキュアメモリ領域１８に確実にデータを格納することができる。続いて、カード制御部１４は、通常メモリ領域２０内の空き領域を確認し（Ｓ７０）、データの一時保管先の領域を確保する（Ｓ７２）。これにより、確保した一時保管用の領域への他のデータの書込みを防止し、ＩＣカード１０がビジー状態でセキュアメモリ領域１８にデータを格納できない場合にも、通常メモリ領域２０に確実にデータを保管できる。ただし、データの一時保管先である通常メモリ領域２０については書き込み先の指定やメモリ領域の確保は行わず、空いている領域に書き込ませることとしてもよい。つまり、ステップＳ７２は省略してもよい。次に、カード制御部１４は、格納指示情報３０を作成する（Ｓ７４）。
【００５７】
図７は、格納指示情報３０の例を示す図である。図７に示すように、格納指示情報３０は、「送信先情報」「カードアプリＩＤ」「格納先アドレス」「エラー時の保管先」「データサイズ」の各情報を含んでいる。送信先情報は、送信先決定のステップにて決定された送信先のアドレスである。図７に示す例では、送信先情報には、送信先の中継端末としての携帯端末のデバイスアドレスが含まれる他、通信方式がブルートゥースであることを示す情報「ｂｌｔ」が含まれている。通信方式が、赤外線、ＩＰ、ファイル転送などの場合には、図８に示す情報が送信先情報に含まれることになる。カードアプリＩＤは、データの受信処理を実行するカードアプリ１６を識別する情報である。格納先アドレスは、ステップＳ６８にて確保された格納先の領域のアドレスを示す情報である。エラー時の保管先は、ステップＳ７２にて確保された保管先の領域のアドレスを示す情報である。データサイズは、確保した領域のデータサイズを示す情報である。なお、エラー時の保管先領域を確保しない場合は、エラー時の保管先には通常メモリ領域とのみ指定する。
【００５８】
また、格納指示情報３０に、他に「格納先確保期限」を含んでもよい。「格納先確保期限」はステップＳ６８およびステップＳ７２にて確保された領域を確保しておく期限を示す日時である。
【００５９】
図４に示すように、ＩＣカード１０のカード制御部１４は、生成したカードアプリ１６に格納指示情報３０を送信する（Ｓ７６）。カードアプリ１６は、受信した格納指示情報３０を保存すると共に、格納指示情報３０をサービス端末６０に送信する（Ｓ７８、Ｓ８０）。なお、ＩＣカード１０内に保存する格納指示情報３０は、図９に示すように、送信先情報を含まなくてもよい。送信先情報は、サービス端末６０がデータを送信すべき中継端末４０を把握するための情報なので、サービス端末６０から中継端末４０に送信するデータには含まれなくてもよい。以上、格納指示情報について説明した。
【００６０】
図３に示すように、ＩＣカード１０は格納指示情報３０をサービス端末６０に送信する（Ｓ５４）。サービス端末６０がＩＣカード１０から送信された格納指示情報３０を受信して、ＩＣカード１０とサービス端末６０との間の通信が完了する（Ｓ５６）。
【００６１】
図２に示すように、サービス端末６０は、ＩＣカード１０から送信された格納指示情報３０を受信すると（Ｓ２０）、ＩＣカード１０から要求されたコンテンツデータを格納指示情報３０にて指定された中継端末４０に送信する（Ｓ２２〜Ｓ２８）。
【００６２】
図１０は、サービス端末６０および中継端末４０の処理を詳細に示す図である。まず、サービス端末６０は、送信すべきデータをセッション鍵で暗号化し、暗号化データを生成する（Ｓ９０）。暗号化が終了すると、サービス端末６０は、暗号化に用いたセッション鍵を削除する（Ｓ９２）。次に、サービス端末６０は、暗号化データにヘッダを付加して中継端末４０に送信する（Ｓ９４）。
【００６３】
図１１（ａ）および図１１（ｂ）は、サービス端末６０から中継端末４０に送信されるデータの例を示す図である。図１１（ａ）に示すように、ここで送信されるデータには暗号化データにヘッダが付加されている。ヘッダには、ＴＬＶ形式を採用することが好ましい。図１１（ｂ）はヘッダに含まれるデータの内容である。ヘッダには、中継端末４０を特定する端末ミドルウェア（ＭＷ）ＩＤ、および格納指示情報３０が含まれる。また、図１１（ｂ）に示すように、ヘッダに、セッションＩＤ、データＩＤ、Ｒ／Ｗ ＩＤを含めてもよい。
【００６４】
中継端末４０の通信部５０は、サービス端末６０から送信された暗号化データを受信する（Ｓ９６）。そして、中継端末４０は、暗号化データの受信処理についての応答信号をサービス端末６０に送信し（Ｓ９８）、サービス端末６０が応答信号を受信して、サービス端末６０と中継端末４０との間の通信が完了する（Ｓ１００）。ここまでの動作により、図２に示す暗号化データの送信およびその応答の送信まで完了する（Ｓ２６、Ｓ２８）。
【００６５】
次に、中継端末４０は、受信した暗号化データをＩＣカード１０にデータを書き込む（Ｓ３０）。
【００６６】
図１２は中継端末４０およびＩＣカード１０の処理を詳しく示す図、図１３はＩＣカード１０へのデータ書込み時のデータの流れを示す図である。図１２に示すように、中継端末４０が、サービス端末６０から送信された格納指示情報３０および暗号化データを受信すると（Ｓ１１０）、ＩＣカード１０に対して、アプリケーションＩＤを指定してカードアプリ１６の起動を指示する（Ｓ１１２）。具体的には、中継端末４０のカードアクセス制御部５４が、カードアプリ１６を起動させるＩＣアクセスコマンドを送信する。ＩＣカード１０のカード制御部１４は、中継端末４０から送信されたＩＣアクセスコマンドを受信すると、指定されたカードアプリ１６を起動し、その処理結果を中継端末４０に送信する（Ｓ１１４）。
【００６７】
次に、中継端末４０のカードアクセス制御部５４は、ＩＣカード１０に対し、暗号化データを送信すると共に、格納指示情報３０にて指定される格納先アドレスへの暗号化データの格納を指示する（Ｓ１１６）。ＩＣカード１０のカードアプリ１６は、受信した暗号化データをセッション鍵で復号化し（Ｓ１１８）、復号化したデータをカード制御部１４に渡す（Ｓ１２０）。カード制御部１４は、復号されたデータを格納鍵で暗号化し（Ｓ１２２）、暗号化したデータをセキュアメモリ領域１８に格納する（Ｓ１２４）。カード制御部１４は、暗号化データを正しく格納された結果を示すＯＫ通知を受けると（Ｓ１２６）、格納処理の結果をカードアプリ１６に通知する（Ｓ１２８）。カードアプリ１６は、データが正しく格納された結果を示すＯＫの通知を受けると、セッション鍵を削除し（Ｓ１３０）、カード制御部１４に結果を送信する（Ｓ１３２）。カード制御部１４は、カードアプリ１６からＯＫの通知を受けると、エラー時の一時保管先として確保されていた保管先メモリを解放する（Ｓ１３３）。そして、格納指示情報３０を削除し（Ｓ１３４）、データの格納処理の結果を中継端末４０に送信する（Ｓ１３６）。中継端末４０は、データが正しく格納された結果を示すＯＫの通知を受信すると、格納指示情報３０を削除する（Ｓ１３８）。なお、セッション鍵の削除処理（Ｓ１２８〜Ｓ１３２）、保管先メモリの解放処理（Ｓ１３３）の処理順序は上記に限らず、入れ替わっていてもよい。また、エラー時の一時保管先の確保を行わず、空き領域に一時保存するとしていた場合は、ステップＳ１３３は無くてよい。以上、ＩＣカード１０がビジー状態でなく、正常にデータを書き込む動作を説明した。
【００６８】
次に、セキュアメモリ領域１８のデータ書込み時に、ＩＣカード１０のＴＲＭ１２がビジー状態の場合の動作について説明する。動作の概要について説明すると、ＴＲＭ１２がビジーの場合には、中継端末４０は、暗号化データを一時的に通常メモリ領域２０に保管しておき、適当なタイミングで格納指示情報３０をＩＣカード１０から読み出して、格納指示情報３０に基づいて通常メモリ領域２０からセキュアメモリ領域１８にデータを移動させる。なお、ＩＣカード１０のビジー状態は、ＩＣカード１０にアクセスした際のエラー通知によって検出してもよいし、中継端末４０のカードアクセス制御部５４で判断してもよい。
【００６９】
図１４は中継端末４０およびＩＣカード１０の処理を示す図、図１５はセキュアメモリのデータ書込み時にＩＣカード１０がビジー状態の場合のデータの流れを示す図である。図１４に示すように、中継端末４０は、サービス端末６０から格納指示情報３０と暗号化データを受信すると（Ｓ１４０）、ＩＣカード１０に対して、アプリケーションＩＤを指定してカードアプリ１６の起動を指示する（Ｓ１４２）。具体的には、中継端末４０のカードアクセス制御部５４が、カードアプリ１６を起動させるＩＣアクセスコマンドを送信する。ＩＣカード１０は、ＩＣカード１０がビジー状態なので、アプリケーションの起動失敗を示すＮＧの処理結果を中継端末４０に送信する（Ｓ１４４）。
【００７０】
中継端末４０は、ＩＣカード１０からＮＧの処理結果を受信すると、暗号化データをＩＣカード１０の通常メモリ領域２０に格納する（Ｓ１４６）。具体的には、中継端末４０のカードアクセス制御部５４が、格納指示情報３０にて指定された一時保管先のアドレスを指定してメモリアクセスコマンドを送信する。メモリアクセスコマンドは、常時ＩＣカード１０によって受け付けられ、かつ通常メモリ領域２０にはデータを保管するための領域が確保されているので、暗号化データを確実に通常メモリ領域２０に格納できる。なお、ここでは、図１５に示すように、中継端末４０が受信した暗号化データがそのまま通常メモリ領域２０に保管される。格納指示情報３０のエラー時の保管先に通常メモリのみが指定されている場合は、保管先のアドレスはカード制御部により動的に行われる。そして、カード制御部は、内部で保持している格納指示情報３０のエラー時の保管先にデータを保管したアドレスを追加する。なお、カードアクセス制御部５４でカードのビジー状態を判断するできる中継端末４０の場合は、カードアプリ１６の起動指示（Ｓ１４２）とＮＧの処理結果の受信（Ｓ１４４）を行わず、直接暗号化データをＩＣカード１０の通常メモリ領域２０に格納する（Ｓ１４６）を行う。
【００７１】
中継端末４０は、ＩＣカード１０から、通常メモリ領域２０への暗号化データ格納が成功したことを示すＯＫの処理結果を受信すると（Ｓ１４８）、格納指示情報３０を削除する（Ｓ１５０）。以上の動作により、ＩＣカード１０がビジー状態の場合には、通常メモリ領域２０に一時的にデータを保管することができる。
【００７２】
次に、通常メモリ領域２０に保管されたデータを、適当なタイミングでセキュアメモリ領域１８に移動する動作について説明する。
【００７３】
図１６は中継端末４０およびＩＣカード１０の処理を示す図、図１７は通常メモリ領域２０に保管されたデータをセキュアメモリ領域１８に移動する場合のデータの流れを示す図である。図１６に示すように、中継端末４０は、ＩＣカード１０に対して格納指示情報３０の取得要求を送信する（Ｓ１６０）。格納指示情報３０の取得要求を送信するタイミングは、ＩＣカード１０のビジーを検出してから一定時間経過したときでもよいし、ＩＣカード１０の状態を監視するためのＩＣカードアクセスコマンドをＩＣカード１０に送信してＯＫ応答を受信したときでもよい。
【００７４】
ＩＣカード１０のカード制御部１４は、中継端末４０から格納指示情報３０の取得要求を受信すると、格納指示情報３０を中継端末４０に送信する（Ｓ１６２）。次に、中継端末４０は、取得した格納指示情報３０にて指定されるアプリケーションＩＤを指定して、カードアプリ１６を起動させるＩＣアクセスコマンドをＩＣカード１０に送信する（Ｓ１６４）。ＩＣカード１０のカード制御部１４は、ＩＣアクセスコマンドを受信すると、指定されたカードアプリ１６の起動処理を行い、その処理結果を中継端末４０に送信する（Ｓ１６６）。図１６に示す例では、正常にカードアプリ１６が起動され、処理結果としてＯＫが中継端末４０に送信されている。
【００７５】
中継端末４０は、カードアプリ１６の起動後、通常メモリ領域２０からセキュアメモリ領域１８へのデータの移動命令をＩＣカード１０に送信する（Ｓ１６８）。具体的には、暗号化データが一時保管されたアドレスおよび格納先であるセキュアメモリ領域１８のアドレスを格納指示情報３０から抽出し、抽出したアドレス情報を含むＩＣアクセスコマンドをＩＣカード１０に送信する。ＩＣカード１０のカードアプリ１６は、中継端末４０からデータ移動命令を受信すると、受信したデータ移動命令に基づいてデータを移動する。すなわち、カードアプリ１６は、指定された保管先アドレスに基づいて通常メモリ領域２０にアクセスし、通常メモリ領域２０に格納された暗号化データを読み出す（Ｓ１７０、Ｓ１７２）。続いて、カードアプリ１６は、読み出した暗号化データをセッション鍵で復号化し（Ｓ１７４）、復号化したデータおよびデータの格納先アドレスをカード制御部１４に渡す（Ｓ１７６）。
【００７６】
カード制御部１４は、カードアプリ１６から渡されたデータを格納鍵で暗号化し（Ｓ１７８）、暗号化したデータを指定された格納先アドレスで示されるセキュアメモリ領域１８に格納する（Ｓ１８０）。カード制御部１４は、暗号化データの格納が成功したことを示すＯＫの応答を受信すると（Ｓ１８２）、カードアプリ１６にＯＫの応答を送信する（Ｓ１８４）。このＯＫの応答を受けてカードアプリ１６はセッション鍵を削除し（Ｓ１８６）、カード制御部１４にＯＫの応答を送信する（Ｓ１８８）。このＯＫの応答を受けてカード制御部１４は、格納指示情報３０を削除し（Ｓ１９０）、中継端末４０にＯＫの応答を送信する（Ｓ１９２）。中継端末４０は、データの移動が正常に完了したことを示すＯＫの通知をＩＣカード１０から受信すると、格納指示情報３０を削除する（Ｓ１９４）。なお、このデータの移動（Ｓ１７０、Ｓ１７２）によりステップ７２で確保されていたデータの一時保管先のメモリ領域は解放される。このように図１６および図１７に示す動作により、通常メモリ領域２０に一時保管されたデータをセキュアメモリ領域１８に移動することができる。
【００７７】
次に、通常メモリ領域２０に保管されたデータを、適当なタイミングでセキュアメモリ領域１８に移動することができず、格納指示情報３０に指示された「格納先確保期限」が来てしまった場合について説明する。
【００７８】
図２７は格納先確保期限が来てしまった場合の中継端末４０およびＩＣカード１０の処理を示す図である。なお、中継端末４０のカードアクセス制御部５４は、「格納先確保期限」に示された日時に到達したことを、カード制御部１４からの通知、もしくは、中継端末４０がカード制御部１４内に保持されている格納指示情報３０を取得することで検知する。カード制御部１４からの通知で検知する場合、中継端末４０は直後にＩＣカード１０から格納指示情報３０を取得する。格納指示情報３０の取得については、図１６に示す手順と同様であるため、図２７では省略する。
【００７９】
中継端末４０のカードアクセス制御部５４は、「格納先確保期限」に示された日時に到達したことを検知すると（Ｓ２７１）、再度通常メモリ領域２０に保管されたデータをセキュアメモリ領域１８に移動させる処理を行う。具体的には、格納指示情報３０にて指定されるアプリケーションＩＤを指定して、カードアプリ１６を起動させるＩＣアクセスコマンドをＩＣカード１０に送信する（Ｓ２７２）。カードアプリ１６の起動が失敗となった（Ｓ２７３）場合、もしくは、図１６に示すようなデータ移動処理の途中でエラーが発生し正常に移動が行われなかった場合、中継端末４０のカードアクセス制御５４はカード制御部１４にクリア命令を送る（Ｓ２７４）。カード制御部１４は、クリア命令を受けると通常メモリに一時保管されているデータの削除（Ｓ２７５〜Ｓ２７７）、カードアプリが保存しているセッション鍵の削除（Ｓ２７８〜Ｓ２８０）、ステップ６８で確保されたセキュアメモリ領域１８の解放（Ｓ２８１）を行う。そして、格納指示情報３０を削除し（Ｓ２８２）、中継端末４０に成功した旨を通知する（Ｓ２８３）。中継端末４０は通知を受け、事前に取得していた格納指示情報３０を削除する（Ｓ２８４）。なお、通常メモリに一時保管されているデータの削除処理、カードアプリが保存しているセッション鍵の削除処理、セキュアメモリ領域１８の解放処理の処理順序は上記に限らず、入れ替わっていてもよい。
【００８０】
このように図２７に示す動作により、セキュアメモリ領域が確保されたまま、データは格納されていないのにメモリ残量が少なくなることを防ぐことが出来る。
【００８１】
また、サービス端末６０から中継端末４０に暗号化データの送信（図２のＳ２６）が行われず、格納指示情報３０に指示された「格納先確保期限」が来てしまった場合についても、図２７と同様に中継端末４０のカードアクセス制御部５４はカード制御部１４にクリア命令を送る（Ｓ２７４）。ただし、この場合は、通常メモリに一時保管されているデータの削除（Ｓ２７５〜Ｓ２７７）は省略してよい。
【００８２】
本発明の実施の形態において、中継端末４０のカードアクセス制御部５４は中継端末４０にＩＣカード１０が挿入されＩＣカードの初期処理が行われる際に、必ずカード制御部１４に格納指示情報３０が保存されていないかチェックを行う。格納指示情報３０が保存されていた場合は、上述した保存データの移動処理を実施する。また、格納先確保期限が切れている場合は図２７に示すクリア処理を実施する。
【００８３】
以上、本発明の第１の実施の形態のＩＣカード１０および中継端末４０について説明した。
【００８４】
第１の実施の形態のＩＣカード１０は、データの格納先および一時保管先を指定した格納指示情報３０を格納してカード制御部１４に保存する。そして、中継端末４０からＩＣカード１０のセキュアメモリ領域１８のデータを書き込む際に、ＩＣカード１０のＴＲＭ１２がビジーの場合には、一時保管先の通常メモリ領域２０にデータを一時的に保管しておき、後で一時保管先から最終的な格納先であるセキュアメモリ領域１８にデータを移動する。これにより、ＴＲＭ１２がビジーの状態でも確実にデータをＩＣカード１０のセキュアメモリ領域１８に格納することができる。
【００８５】
また、中継端末４０は、データを通常メモリ領域２０に一時保管した後は、格納指示情報３０を削除し、後でデータを移動させる際にＩＣカード１０から格納指示情報３０を読み出すので、データの一時保管先のアドレスを含む格納指示情報３０を中継端末４０から読み出される危険を低減でき、セキュリティを向上させることができる。
【００８６】
また、データの属性情報に応じてデータ送信先の中継端末４０を決定し、その中継端末４０を特定する送信先情報を含む格納指示情報３０をサービス端末６０に送信しているので、サービス端末６０は適切な中継端末４０にデータを送信できる。
【００８７】
また、カード制御部１４がセキュアメモリ領域１８に格納先を確保しているため、メモリ不足を起こすことなくセキュアメモリ領域１８にデータを格納することが出来ると共に、格納先確保期限に応じて中継端末４０がクリア処理を実行させることで、メモリが確保されたままになりセキュアメモリ領域の利用可能領域が減ることを防ぐことができる。
【００８８】
また、中継端末４０は、ＩＣカード１０が新たに挿入された際に、必ず格納指示情報３０の有無を調べるので、セキュアに保存したいデータが通常メモリ領域２０に保管されたままの状態になることを防ぎ、セキュリティを向上させることができる。
【００８９】
次に、第１の実施の形態のＩＣカードシステムの変形例について説明する。変形例に係るＩＣカードシステムの基本的な構成は、第１の実施の形態のＩＣカードシステムと同じであるが、通常メモリ領域２０からセキュアメモリ領域１８へデータを移動させるときの動作が異なる。
【００９０】
図１８は中継端末４０およびＩＣカード１０の処理を示す図、図１９は通常メモリ領域２０に保管されたデータをセキュアメモリ領域１８に移動する場合のデータの流れを示す図である。変形例に係るＩＣカードシステムでは、通常メモリ領域２０からセキュアメモリ領域１８にデータを移動させる動作は第１の実施の形態と基本的に同じであるが、ＩＣカード１０が送信するデータ移動命令には、一時保管先アドレス、格納先アドレスが含まれない点が異なる。ＩＣカード１０のカードアプリ１６は、中継端末４０からデータ移動命令を受信すると（Ｓ２０８）、カード制御部１４に格納された格納指示情報３０を読み出し（Ｓ２１０、Ｓ２１２）、一時保管先アドレスと格納先アドレスを取得する。一時保管先アドレスと格納先アドレスを取得した後の動作は、第１の実施の形態のＩＣカードシステムと同じである。
【００９１】
次に、本発明の第２の実施の形態のＩＣカードシステムについて説明する。第２の実施の形態のＩＣカードシステムの基本的な構成は、第１の実施の形態のＩＣカードシステムと同じであるが、第２の実施の形態で用いられるＩＣカード１０の構成が第１の実施の形態とは異なる。また、これに伴い、通常メモリ領域２０に一時的に保管されたデータをセキュア領域に移動させる手順も、第１の実施の形態とは異なる。
【００９２】
図２０は、第２の実施の形態で用いられるＩＣカード１０の構成を示す図である。第２の実施の形態のＩＣカード１０は、第１の実施の形態と異なり、ＴＲＭ１２が通常メモリ領域２０にアクセスできない。この構成により、ＴＲＭ１２およびセキュアメモリ領域１８を通常メモリ領域２０から分離して、さらにセキュリティを向上させることができる。
【００９３】
図２１は中継端末４０およびＩＣカード１０の処理を示す図、図２２は通常メモリ領域２０に保管されたデータをセキュアメモリ領域１８に移動する場合のデータの流れを示す図である。
【００９４】
図２１に示すように、中継端末４０が適切なタイミングでＩＣカード１０から格納指示情報３０を取得し、カードアプリ１６を起動するまでの動作は（Ｓ２４０〜Ｓ２４６）、第１の実施の形態と同じである。第２の実施の形態では、カードアプリ１６を起動した後、中継端末４０はＩＣカード１０の通常メモリ領域２０にアクセスして一時保管されているデータを読み出す。具体的には、中継端末４０は、格納指示情報３０にて指定された保管先アドレスから暗号化データを読み出すメモリアクセスコマンドを送信し（Ｓ２４８）、ＩＣカード１０からデータを受信する（Ｓ２５０）。
【００９５】
次に、中継端末４０は、通常メモリ領域２０から読み出した暗号化データをＩＣカード１０に送信すると共に、暗号化データを格納するＩＣアクセスコマンドを送信する（Ｓ２５２）。ＩＣカード１０のカードアプリ１６は受信した暗号化データをセッション鍵で復号化し（Ｓ２５４）、復号化したデータをカード制御部１４に渡す（Ｓ２５６）。カード制御部１４は、カードアプリ１６から渡されたデータを格納鍵で暗号化し（Ｓ２５８）、暗号化されたデータをセキュアメモリ領域１８に格納する（Ｓ２６０）。カード制御部１４が、セキュアメモリ領域１８にデータを格納した後の動作は（Ｓ２６２〜Ｓ２７４）、第１の実施の形態と同じである。
【００９６】
以上、本発明の第２の実施の形態のＩＣカード１０および中継端末４０について説明した。
【００９７】
第２の実施の形態の中継端末４０は、ＩＣカード１０の通常メモリ領域２０に一時保管されたデータを読み出し、読み出したデータをセキュアメモリ領域１８に書き込む。この構成により、ＴＲＭ１２が通常メモリ領域２０にアクセスできないタイプのＩＣカード１０においても、第１の実施の形態と同様に、確実にデータを受信できるという効果を有する。
【００９８】
次に、第２の実施の形態のＩＣカードシステムの変形例について説明する。変形例に係るＩＣカードシステムは、中継端末４０が受信したデータを一時保管するのが端末メモリ領域（ＲＡＭ）４４である点が第２の実施の形態と異なる。
【００９９】
図２３は中継端末４０およびＩＣカード１０の処理を示す図、図２４は端末メモリ領域４４に保管されたデータをセキュアメモリ領域１８に移動する場合のデータの流れを示す図である。
【０１００】
図２３に示すように、中継端末４０が適切なタイミングでＩＣカード１０から格納指示情報３０を取得し、カードアプリ１６を起動するまでの動作は（Ｓ２８０〜Ｓ２８６）、第２の実施の形態と同じである。変形例では、中継端末４０のカードアクセス制御部５４は、カードアプリ１６起動後、端末メモリ領域４４にアクセスし（Ｓ２８８）、一時保管されたデータを読み出す（Ｓ２９０）。一時保管されたデータを読み出した後の動作は（Ｓ２９２〜Ｓ３１４）、第２の実施の形態と同じである。
【０１０１】
このように、受信したデータを端末メモリ領域４４に一時保管しておき、端末メモリ領域４４からセキュアメモリ領域１８のデータを移動させる構成により、ＩＣカード１０の通常メモリ領域２０の残容量の制限を受けない。すなわち、通常メモリ領域２０の残容量が少ない場合にも、ＩＣカード１０に確実にデータを受信させることができる。
【０１０２】
以上、本発明のセキュアデバイスおよび中継端末について、実施の形態を挙げて詳細に説明したが、本発明のセキュアデバイスおよび中継端末は上記した実施の形態に限定されるものではない。
【０１０３】
上記した実施の形態において、中継端末４０からＩＣカード１０にデータを書き込む際に、セッション鍵で署名検証を行ってもよい。
【０１０４】
図２５は、セッション鍵による署名検証のステップＳ３３０を備えたデータ書込み処理を示す図である。図２５に示すように、ＩＣカード１０が暗号化データを受信した後にセッション鍵による署名検証を行うことにより、セキュリティをさらに向上させることができる。
【０１０５】
また、上記した実施の形態において、セッションＩＤごとにセッション鍵を管理する構成としてもよい。
【０１０６】
図２６は、セッションＩＤに応じてセッション鍵を選択するステップＳ３３２を備えたデータ書込み処理を示す図である。図２５に示すように、ＩＣカード１０が暗号化データを受信した後にヘッダからセッションＩＤを読み出し、セッションＩＤに応じたセッション鍵を選択する。そして、ＩＣカード１０は、選択したセッション鍵を用いてデータを復号化する。この構成により、セッションＩＤに応じて適切なセッション鍵を選択できるので、サービス端末６０からＩＣカード１０にデータを送信するセッションが複数存在する場合にも適切にデータを処理することができる。
【０１０７】
上記した実施の形態では、セキュアデバイスの例としてＩＣカード１０を例として説明したが、本発明はＩＣカード以外のセキュアデバイスに適用することも可能である。
【産業上の利用可能性】
【０１０８】
以上説明したように、本発明は確実にセキュアメモリへのデータ書込みを行うことができるという効果を有し、耐タンパ領域を有するセキュアデバイス等として有用である。
【図面の簡単な説明】
【０１０９】
【図１】第１の実施の形態のＩＣカードシステムの構成を示す図
【図２】第１の実施の形態のＩＣカードシステムの動作の概要を示す図
【図３】ＩＣカードおよびサービス端末の処理の詳細を示す図
【図４】格納指示情報の生成の動作を示す図
【図５】送信先決定に用いるテーブルの例を示す図
【図６】送信先決定に用いるテーブルの例を示す図
【図７】格納指示情報の例を示す図
【図８】格納指示情報に含まれる送信先情報の例を示す図
【図９】格納指示情報の例を示す図
【図１０】中継端末およびサービス端末の処理を示す図
【図１１】（ａ）サービス端末から中継端末に送信されるデータの形式を示す図（ｂ）ヘッダの内容を示す図
【図１２】ＩＣカードへのデータ書込みの動作を示す図
【図１３】ＩＣカードへのデータ書込みの際のデータの流れを示す図
【図１４】ＩＣカードがビジーの場合のデータ書込みの動作を示す図
【図１５】ＩＣカードがビジーの場合のデータ書込みの際のデータの流れを示す図
【図１６】通常メモリ領域からセキュアメモリ領域へデータを移動する動作を示す図
【図１７】通常メモリ領域からセキュアメモリ領域へデータを移動する際のデータの流れを示す図
【図１８】通常メモリ領域からセキュアメモリ領域へデータを移動する動作を示す図
【図１９】通常メモリ領域からセキュアメモリ領域へデータを移動する際のデータの流れを示す図
【図２０】第２の実施の形態で用いられるＩＣカードの構成を示す図
【図２１】第２の実施の形態におけるデータ移動の動作を示す図
【図２２】第２の実施の形態におけるデータ移動のデータの流れを示す図
【図２３】第２の実施の形態におけるデータ移動の動作を示す図
【図２４】第２の実施の形態におけるデータ移動のデータの流れを示す図
【図２５】変形例におけるＩＣカードへのデータ書込みの動作を示す図
【図２６】変形例におけるＩＣカードへのデータ書込みの動作を示す図
【図２７】格納先確保期限に到達した場合のデータ削除の動作を示す図
【符号の説明】
【０１１０】
１０  ＩＣカード
１２  耐タンパモジュール
１４  カード制御部
１６  カードアプリケーション
１８  セキュアメモリ領域
２０  通常メモリ領域
２２  メモリ
２４  非接触インターフェース
２６  接触インターフェース
３０  格納指示情報
４０  中継端末
４２  端末制御部
４４  ＲＡＭ
４６  ＲＯＭ
４８  表示部
５０  通信部
５２  接触インターフェース
５４  カードアクセス制御部
６０  サービス端末
６２  制御部
６４  ＲＡＭ
６６  ＲＯＭ
６８  通信制御部
７０  通信インターフェース
７２  非接触インターフェース
【図１】
2006155589.tif 000003
【図２】
2006155589.tif 000004
【図３】
2006155589.tif 000005
【図４】
2006155589.tif 000006
【図５】
2006155589.tif 000007
【図６】
2006155589.tif 000008
【図７】
2006155589.tif 000009
【図８】
2006155589.tif 000010
【図９】
2006155589.tif 000011
【図１０】
2006155589.tif 000012
【図１１】
2006155589.tif 000013
【図１２】
2006155589.tif 000014
【図１３】
2006155589.tif 000015
【図１４】
2006155589.tif 000016
【図１５】
2006155589.tif 000017
【図１６】
2006155589.tif 000018
【図１７】
2006155589.tif 000019
【図１８】
2006155589.tif 000020
【図１９】
2006155589.tif 000021
【図２０】
2006155589.tif 000022
【図２１】
2006155589.tif 000023
【図２２】
2006155589.tif 000024
【図２３】
2006155589.tif 000025
【図２４】
2006155589.tif 000026
【図２５】
2006155589.tif 000027
【図２６】
2006155589.tif 000028
【図２７】
2006155589.tif 000029