説明

情報処理装置

【課題】TRM内に実装する記憶領域の容量を越えるプログラムを、各プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができるセキュアデバイスを提供する。
【解決手段】耐タンパ集積回路と耐タンパ集積回路の外部にある外部記憶手段とを備える情報処理装置であって、耐タンパ集積回路はデータを格納する内部記憶手段と、鍵情報を保持する鍵保持手段と、内部記憶手段に格納されているデータを鍵保持手段が保持する鍵情報を用いて暗号化して外部記憶手段に格納する暗号処理手段と、暗号処理手段が行う処理にエラーが発生した場合にエラーを耐タンパ集積回路の外部に出力するエラー出力手段とを備え、外部記憶手段は内部記憶手段に格納されているデータを暗号処理手段が鍵保持手段が保持する鍵情報を用いて暗号化したデータを格納し、内部記憶手段のデータが格納されていた空き領域にもう1つのデータを格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツの不正な使用を防止するための技術、及び、電子商取引(モバイルEC)における不正を防止する技術を備えるセキュアデバイスに関する。
【背景技術】
【0002】
近年、インターネット等のネットワークを介して、音楽コンテンツや動画像コンテンツの配信を受けるコンテンツ配信サービス、及び、モバイルECサービス等の様々な電子情報サービスが普及している。
これらの電子情報サービスにおいては、コンテンツの不正な使用を防止するコンテンツ保護技術、及び、モバイルECにおける認証技術や課金技術等のEC保護技術が不可欠であり、これら技術を備えるセキュアデバイスが開発され利用されている。
【0003】
例えば、利用者はこのようなセキュアデバイスを自分の携帯電話に装着して、外出先からコンテンツ配信サービスやモバイルECサービス等を安全に行うことができる。
セキュアデバイスについては、「コンテンツ配信・モバイルコマース用のセキュアマルチメディアカード」日立評論2001年10月号、三宅順、石原晴次、常広隆司に、コンテンツ保護技術とEC保護技術とを備えるセキュアマルチメディアカード(以下「SMMC」)が記載されている。
【0004】
SMMCには、JAVA(登録商標)Cardのようにプログラムのダウンロード機能を備えるタイプがある。ここでダウンロードされるプログラムは、新規アプリケーションプログラムや、カード内に記録されているプログラムのバージョンアップ版等である。
プログラムのダウンロード機能を備えるSMMCは、TRM(Tamper Resistant Module:耐タンパモジュール)内に暗号処理エンジン、セキュリティ鍵情報、CPU、RAM、ROM、EEPROMを備え、また、TRM外に大容量のフラッシュメモリ(例えば8MBから256MB程度)を備え、CPUが暗号処理エンジンやセキュリティ鍵情報を用いて認証処理や暗号処理等を制御し、また、外部よりダウンロードすべきプログラムを取得してTRM内に実装するEEPROMに記録して実行する。
【0005】
ここでTRMとは、外部から本モジュール内に記録されているデータの不正な参照や改竄などを困難にする施策が施されたモジュールである。
また、フラッシュメモリには、配信対象である音楽コンテンツや動画像コンテンツ等のデジタルデータが記録される。
TRM内に実装するEEPROMは、他のメモリと比較して記憶容量あたりのコストが高く高価なデバイスなので、EEPROMの容量を増やすとSMMCのコストに与える影響が大きい。またデバイスの特性上、TRM内に実装するEEPROMの容量には限界があり、現状ではEEPROMの容量が64KB程度の構成が一般的である。
【非特許文献1】「コンテンツ配信・モバイルコマース用のセキュアマルチメディアカード」日立評論2001年10月号、三宅順、石原晴次、常広隆司。
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、SMMCにダウンロードされるアプリケーションプログラムは今後益々増加するものと予想されるので、現状の構成ではアプリケーションプログラムを、TRM内に実装するEEPROMに格納しきれなくなるのは明らかである。
また、TRM内に実装するEEPROMの容量を超えるために記録できないアプリケーションプログラムを、TRM外に実装するフラッシュメモリに記録する方法も考えられるが、安全面を考慮すると無秩序にこのような方法を実施することはできず、少なくとも各プログラムの管理者の承認が必要であり、安全性を確保するための新たな技術の確立が望まれる。
【0007】
本発明は、TRM内に実装する記憶領域の容量を越えるプログラムを、各プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができるセキュアデバイスを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明に係るセキュアデバイスは、デジタルデータを格納して利用に供するセキュアデバイスであって、それぞれが記憶領域を備える複数の記憶手段と、格納先となる記憶手段を特定するための格納先情報が付加されたデジタルデータを入手する入手手段と、前記格納先情報により特定される記憶手段に前記デジタルデータを格納する処理手段とを備えることを特徴とする。
【0009】
上記目的を達成するために、本発明に係る格納方法は、デジタルデータを格納して利用に供するセキュアデバイスにおける格納方法であって、前記セキュアデバイスはそれぞれが記憶領域を備え、当該格納方法は、格納先となる記憶手段を特定するための格納先情報が付加されたデジタルデータを入手する入手ステップと、前記格納先情報により特定される記憶手段に前記デジタルデータを格納する処理ステップとを含むことを特徴とする。
【0010】
これらによって、デジタルデータの管理者がデジタルデータ毎に格納先を設定しておき、TRM内に実装するEEPROMのような保護レベルが高い記憶手段の容量が足らない場合に、各デジタルデータの管理者によって設定された格納先情報に基づいて、管理者によって許可されているデジタルデータであればTRM外に実装するフラッシュメモリのような保護レベルが低い記憶手段に記録することができるので、デジタルデータを価値に応じて効率よく記録することができる。
【0011】
従って、TRM内に実装する記憶領域の容量を越えるプログラムを、プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができる。
【発明の効果】
【0012】
本発明に係るセキュアデバイスは、デジタルデータを格納して利用に供するセキュアデバイスであって、それぞれが記憶領域を備える複数の記憶手段と、格納先となる記憶手段を特定するための格納先情報が付加されたデジタルデータを入手する入手手段と、前記格納先情報により特定される記憶手段に前記デジタルデータを格納する処理手段とを備えることを特徴とする。
【0013】
本発明に係る格納方法は、デジタルデータを格納して利用に供するセキュアデバイスにおける格納方法であって、前記セキュアデバイスはそれぞれが記憶領域を備え、当該格納方法は、格納先となる記憶手段を特定するための格納先情報が付加されたデジタルデータを入手する入手ステップと、前記格納先情報により特定される記憶手段に前記デジタルデータを格納する処理ステップとを含むことを特徴とする。
【0014】
これらによって、デジタルデータの管理者がデジタルデータ毎に格納先を設定しておき、TRM内に実装するEEPROMのような保護レベルが高い記憶手段の容量が足らない場合に、各デジタルデータの管理者によって設定された格納先情報に基づいて、管理者によって許可されているデジタルデータであればTRM外に実装するフラッシュメモリのような保護レベルが低い記憶手段に記録することができるので、デジタルデータを価値に応じて効率よく記録することができる。
【0015】
従って、TRM内に実装する記憶領域の容量を越えるプログラムを、プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができる。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報は保護レベルを示し、前記処理手段は、前記格納先情報が示す保護レベルと同じ保護レベルが設定されている記憶手段を前記デジタルデータの格納先として特定することを特徴とすることもできる。
【0016】
これによって、デジタルデータの管理者がデジタルデータ毎に保護レベルを設定しておき、保護レベルが一致する記憶手段を格納先として特定することができるので、デジタルデータを価値に応じて効率よく記録することができる。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報は保護レベルを示し、前記処理手段は、前記格納先情報が示す保護レベル以上の保護レベルが設定されている記憶手段のうちの1つを前記デジタルデータの格納先として特定することを特徴 とすることもできる。
【0017】
これによって、デジタルデータの管理者がデジタルデータ毎に保護レベルを設定しておき、保護レベルが同等以上の記憶手段を格納先として特定することができるので、デジタルデータを価値に応じて効率よく記録することができる。
また、セキュアデバイスにおいて、前記処理手段は、前記入手手段により入手された格納先情報が示す保護レベル以上の保護レベルが設定された記憶手段のうち前記デジタルデータを格納するための空いている記憶領域を確保できる記憶手段を全て検索する検索手段と、検索手段により検索された記憶手段のうち一番高い保護レベルが設定されている記憶手段を前記デジタルデータの格納場所として決定する決定手段と、前記デジタルデータを決定手段により決定された記憶手段に格納する格納手段とを含むことを特徴とすることもできる。
【0018】
これによって、空いている記憶領域を確保できる記憶手段のうち、一番高い保護レベルが設定されている記憶手段を格納先として特定することができるので、それぞれのデジタルデータをできるだけ安全に記録することができる。
また、セキュアデバイスにおいて、前記処理手段は、さらに、前記検索手段により何れの記憶手段も検索されなかった場合に利用者にデジタルデータを格納できない旨を提示するためのエラー情報を出力する出力手段を含むことを特徴とすることもできる。
【0019】
これによって、空いている記憶領域が無い場合に、利用者にデジタルデータを格納できない旨を提示することができる。
また、セキュアデバイスにおいて、前記処理手段は、さらに、前記検索手段により何れの記憶手段も検索されなかった場合に、(1)前記入手手段により入手された格納先情報が示す第1保護レベル以上の保護レベルが設定されている記憶手段に格納されているデジタルデータのそれぞれに付加された格納先情報を読み出し、(2)読み出した格納先情報のうち、それぞれの格納先情報が示す保護レベルが、当該第1保護レベルよりも低い格納先情報を抽出し、(3)抽出した格納先情報に対応するデジタルデータを、当該第1保護レベルよりも低く、且つ、それぞれの格納先情報が示す保護レベル以上の保護レベルが設定されている記憶手段に移動することにより、前記入手手段により入手されたデジタルデータを格納するための記憶領域を確保する移動手段を含み、前記格納手段は、移動手段により確保された記憶領域に前記入手手段により入手されたデジタルデータを格納することを特徴とすることもできる。
【0020】
これによって、先に格納されているデジタルデータを格納先情報に基づいて移動して、新しいデジタルデータを格納するための記憶領域を確保することができるので、それぞれのデジタルデータを価値に応じて効率よく記録することができる。
また、セキュアデバイスにおいて、記処理手段は、さらに、前記移動手段により記憶領域を確保できない場合に利用者にデジタルデータを格納できない旨を提示するためのエラー情報を出力する出力手段を含むことを特徴とすることもできる。
【0021】
これによって、先に格納されているデジタルデータを移動しても記憶領域を確保できない場合に、利用者にデジタルデータを格納できない旨を提示することができる。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報は保護レベルを示し、さらに、前記対応するデジタルデータの格納先として当該保護レベルが設定されている記憶手段のみを格納先として特定するか、及び、当該保護レベルが設定されている記憶手段以上の保護レベルが設定された記憶手段を格納先として特定するかのどちらかを指定し、前記処理手段は、前記格納先情報に従い前記格納先情報が示す保護レベルが設定されている記憶手段を、又は、前記格納先情報が示す保護レベル以上の保護レベルが設定されている記憶手段のうちの1つを前記デジタルデータの格納先として特定することを特徴とすることもできる。
【0022】
これによって、保護レベルが一致する記憶手段を格納先として特定するか、保護レベルが同等以上の記憶手段を格納先として特定するかを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟性が高い。
また、セキュアデバイスにおいて、前記格納先情報は前記対応するデジタルデータの格納先を当該セキュアデバイスにおいて格納する際に任意に決定してもよいか否かを指定し、前記処理手段は、前記格納先情報に従い任意に決定する記憶手段に、又は、前記格納先情報により特定される記憶手段に前記デジタルデータを格納することを特徴とすることもできる。
【0023】
これによって、格納先を当該セキュアデバイスにおいて格納する際に任意に決定してもよいか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟性が高い。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報はデジタルデータを所定の保護レベル以下の記憶手段に格納する際に暗号化するか否かを指定し、前記処理手段は、デジタルデータを前記所定の保護レベル以下の記憶手段に格納する際に前記格納先情報に従い当該デジタルデータを暗号化して格納するか、又は、そのまま格納することを特徴とすることもできる。
【0024】
これによって、デジタルデータを所定の保護レベル以下の記憶手段に格納する際に暗号化するか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、セキュアデバイス毎に固有の鍵を用いて暗号化して格納する場合には、フラッシュメモリのような保護レベルが低い記憶手段に格納したデジタルデータが、他のセキュアデバイスに不正にコピーされるといった攻撃を回避できる。
【0025】
つまり、他のセキュアデバイスに不正にコピーされたとしても、鍵が異なるので正しく復号することができないため、正常に利用できない。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報はデジタルデータを所定の保護レベル以下の記憶手段に格納する際にデジタルデータに改竄検出用の情報を付加するか否かを指定し、前記処理手段は、デジタルデータを前記所定の保護レベル以下の記憶手段に格納する際に前記格納先情報に従い当該デジタルデータに改竄検出用の情報を付加して格納するか、又は、そのまま格納することを特徴とすることもできる。
【0026】
これによって、デジタルデータを所定の保護レベル以下の記憶手段に格納する際に改竄検出用の情報を付加するか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、改竄検出用の情報を付加して格納する場合には、フラッシュメモリのような保護レベルが低い記憶手段に格納したデジタルデータや格納先情報が改竄されてデジタルデータが不正に用いられるといった攻撃を回避できる。
【0027】
つまり、デジタルデータや格納先情報が改竄されたとしても、認証処理を行うことにより改竄されていることが解るので、改竄されている場合にはデジタルデータの使用を禁止すればよい。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報はデジタルデータを所定の保護レベル以下の記憶手段に格納する際にデジタルデータにデジタル署名を埋め込むか否かを指定し、前記処理手段は、デジタルデータを前記所定の保護レベル以下の記憶手段に格納する際に前記格納先情報に従い当該デジタルデータにデジタル署名を埋め込んで格納するか、又は、そのまま格納することを特徴とすることもできる。
【0028】
これによって、デジタルデータを所定の保護レベル以下の記憶手段に格納する際に、デジタル署名を施すか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、デジタル署名を施して格納する場合には、フラッシュメモリのような保護レベルが低い記憶手段に格納したデジタルデータや格納先情報が改竄されてデジタルデータが不正に用いられるといった攻撃を回避できる。
【0029】
つまり、デジタルデータや格納先情報が改竄されたとしても、認証処理を行うことにより改竄されていることが解るので、改竄されている場合にはデジタルデータの使用を禁止すればよい。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記格納先情報は前記デジタルデータの優先度を示し、少なくとも1つの記憶手段にはデジタルデータが格納され、記憶手段に格納されているデジタルデータにはデジタルデータの優先度が設定され、記憶手段にはより優先度が高いデジタルデータがより保護レベルが高い記憶手段に格納されている状態でデジタルデータが格納されており、前記処理手段は、前記格納先情報により示される優先度に基づいて前記状態を維持したまま前記入手手段により入手されたデジタルデータを格納することを特徴とすることもできる。
【0030】
これによって、デジタルデータの管理者がデジタルデータ毎に優先度を設定しておき、優先度の高さに応じて格納先を特定することができるので、デジタルデータを効率よく記録することができる。
また、セキュアデバイスにおいて、記憶手段に格納されているデジタルデータにはデジタルデータの優先度を示す格納先情報が付加されており、前記処理手段は、一番高い保護レベルが設定されている記憶手段から順に、(1)前記入手手段により入手されたデジタルデータを格納するための空いている記憶領域を確保できるか否かを判定し、(2)判定が否定的な場合に、判定対象の記憶手段に格納されているデジタルデータのそれぞれに付加された格納先情報を読み出し、(3)読み出した格納先情報のうち、それぞれの格納先情報が示す優先度が、前記入手手段により入手された格納先情報が示す優先度よりも低い格納先情報を抽出し、(4)抽出した格納先情報を含むデジタルデータを、移動するデジタルデータ対応する保護レベルより低い保護レベルが設定されている記憶手段に移動し、(5)前記判定が肯定的となるまで(1)〜(4)の処理を繰り返すことにより、前記入手手段により入手されたデジタルデータを格納するための記憶領域を確保する移動手段と、移動手段により確保された記憶領域に前記入手手段により入手されたデジタルデータを格納する格納手段とを含むことを特徴とすることもできる。
【0031】
これによって、先に格納されているデジタルデータを優先度に基づいて移動して、新しいデジタルデータを格納するための、できるだけ高い保護レベルが設定されている記憶領域を確保することができるので、それぞれのデジタルデータをできるだけ安全に記録することができる。
また、セキュアデバイスにおいて、前記移動手段により読み出された格納先情報はデジタルデータを移動する場合に暗号化するか否かを指定し、前記移動手段は、移動すべきデジタルデータに付加された格納先情報に従い当該デジタルデータを暗号化して移動するか、又は、そのまま移動することを特徴とすることもできる。
【0032】
これによって、デジタルデータを移動する際に暗号化するか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、セキュアデバイス毎に固有の鍵を用いて暗号化して移動する場合には、フラッシュメモリのような保護レベルが低い記憶手段に移動したデジタルデータが、他のセキュアデバイスに不正にコピーされるといった攻撃を回避できる。
【0033】
つまり、他のセキュアデバイスに不正にコピーされたとしても、鍵が異なるので正しく復号することができないため、正常に利用できない。
また、セキュアデバイスにおいて、前記移動手段により読み出された格納先情報はデジタルデータを移動する場合にデジタルデータに改竄検出用の情報を付加するか否かを指定し、前記移動手段は、移動すべきデジタルデータに付加された格納先情報に従い当該デジタルデータに改竄検出用の情報を付加して移動するか、又は、そのまま移動することを特徴とすることもできる。
【0034】
これによって、デジタルデータを移動する際に改竄検出用の情報を付加する否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、改竄検出用の情報を付加して移動する場合には、フラッシュメモリのような保護レベルが低い記憶手段に移動したデジタルデータや格納先情報が改竄されてデジタルデータが不正に用いられるといった攻撃を回避できる。
【0035】
つまり、デジタルデータや格納先情報が改竄されたとしても、認証処理を行うことにより改竄されていることが解るので、改竄されている場合にはデジタルデータの使用を禁止すればよい。
また、セキュアデバイスにおいて、前記移動手段により読み出された格納先情報はデジタルデータを移動する際にデジタルデータにデジタル署名を埋め込むか否かを指定し、前記移動手段は、移動すべきデジタルデータに付加された格納先情報に従い当該デジタルデータにデジタル署名を埋め込んで移動するか、又は、そのまま移動することを特徴とすることもできる。
【0036】
これによって、デジタルデータを移動する際にデジタル署名を施すか否かを、デジタルデータの管理者がデジタルデータ毎に設定することができるので、設定の柔軟が高い。
また、デジタル署名を施して移動する場合には、フラッシュメモリのような保護レベルが低い記憶手段に移動したデジタルデータや格納先情報が改竄されてデジタルデータが不正に用いられるといった攻撃を回避できる。
【0037】
つまり、デジタルデータや格納先情報が改竄されたとしても、認証処理を行うことにより改竄されていることが解るので、改竄されている場合にはデジタルデータの使用を禁止すればよい。
また、セキュアデバイスにおいて、前記格納先情報は、さらに、保護レベルを示し、前記移動手段は、前記入手手段により入手された格納先情報が示す保護レベルより低い保護レベルが設定されている記憶手段においては前記処理を行わず、前記処理手段は、さらに、移動手段により記憶領域を確保できない場合に利用者にデジタルデータを格納できない旨を提示するためのエラー情報を出力する出力手段を含むことを特徴とすることもできる。
【0038】
これによって、デジタルデータの管理者が、さらに、デジタルデータ毎に保護レベルを設定しておき、保護レベルが低い記憶手段に対しては移動処理を行わないので、デジタルデータの安全性を確保することができる。
また、記憶領域を確保できない場合に、利用者にデジタルデータを格納できない旨を提示することができる。
【0039】
また、セキュアデバイスにおいて、前記入手手段により入手されるデジタルデータはコンピュータプログラムであり、複数のサブプログラムを含み、サブプログラム毎に格納先情報が付加されており、前記処理手段は、サブプログラム毎にそれぞれに付加された格納先情報により特定される記憶手段に、対応するサブプログラムを格納することを特徴とすることもできる。
【0040】
これによって、デジタルデータの管理者が、サブプログラム毎に格納先情報を設定しておき、格納先情報に基づいて、サブプログラム毎に格納先の記憶手段を特定することができるので、各サブプログラムの価値に応じて効率よく記録することができる。
また、セキュアデバイスにおいて、前記複数の記憶手段にはそれぞれ保護レベルが設定されており、前記入手手段により入手されるデジタルデータはコンピュータプログラムであり1つのメインルーチンと複数のサブルーチンを含み、各ルーチン毎に格納先情報が付加され特にメインルーチンに付加された格納先情報は保護レベルが高い記憶手段に格納すべき事を示し、前記処理手段は、ルーチン毎にそれぞれに付加された格納先情報により特定される記憶手段に、対応するルーチンを格納することを特徴とすることもできる。
【0041】
これによって、デジタルデータの管理者が、ルーチン毎に格納先情報を設定しておき、格納先情報に基づいて、ルーチン毎に格納先の記憶手段を特定することができるので、各ルーチンの価値に応じて効率よく記録することができる。
特に、メインルーチンを保護レベルの高い記憶素子に格納することによってプログラムを難化することができる。
【0042】
また、セキュアデバイスにおいて、前記入手手段により入手されるデジタルデータには、当該デジタルデータに付加された格納先情報の正当性を示し、又は、当該デジタルデータと格納先情報の対応が正しいことを示すデジタル署名が埋め込まれているか、又は、認証子が付加されており、前記処理手段は、前記デジタル署名、又は、認証子に応じた認証を実施し、当該認証が成功した場合に限り前記デジタルデータを格納することを特徴とすることもできる。
【0043】
これによって、格納先情報とデジタルデータとが切り離せないので、安全性が高い。
【発明を実施するための最良の形態】
【0044】
<概要>
本発明は、保護レベルの異なる複数種類の記憶領域を有するセキュアデバイスが、記憶領域を指定する付加情報を含むデジタルデータを入手して、付加情報に基づいて記憶領域の種類を特定してデジタルデータを記憶するものである。
より具体的には、保護レベルが高いEEPROMと保護レベルが低いフラッシュメモリとの2種類の記憶素子を有するSMMCにおいて、対応するプログラムを記憶すべき記憶素子がEEPROMであるかフラッシュメモリであるかを指定する付加情報を含むプログラムを、携帯電話を介してサーバから受信して、付加情報によりEEPROM及びフラッシュメモリの何れかを特定し、特定した記憶素子に対応するプログラムをダウンロードするものである。
【0045】
<システム構成>
図1は、本発明の実施の形態1に係るセキュアシステムの構成を示す図である。
図1に示すようにセキュアシステムは、サーバ1、携帯電話2、及び、セキュアデバイス10から構成される。
サーバ1は、予めプログラム毎に付加情報を記録しておき、サーバ1の操作者による指示操作、又は、携帯電話2の利用者による要求操作に応じて、付加情報を含むプログラムを電話回線を介して携帯電話2に送信する。
【0046】
ここで付加情報は、例えばTRM12内に実装するEEPROM19であるかTRM12外に実装するフラッシュメモリ18であるかを指定するフラグや、記憶素子毎に設定されている保護レベルを示す数値である。
携帯電話2は、電話回線を介してサーバ1から、付加情報を含むプログラムを受信する。
【0047】
セキュアデバイス10は、例えばJAVA(登録商標) Card等のダウンロード機能を備えるSMMCであり、利用者等によって携帯電話2に装着され、携帯電話2から受信された付加情報を含むプログラムを受取り、付加情報を用いてEEPROM19及びフラッシュメモリ18の何れかを特定して、特定した記憶素子にプログラムをダウンロードする。
セキュアデバイスの外形は、例えば従来のSMMCと同様に切手大程度のサイズや、従来のICカードのサイズであり、他の形状であってもよい。
【0048】
図1に示すようにセキュアデバイス10は、TRM12外にカードインタフェース回路11、及び、フラッシュメモリ18を備え、TRM12内に、暗号処理エンジン13、セキュリティ鍵情報14、CPU15、ROM16、RAM17、EEPROM19、付加情報処理部20を備える。
ここでダウンロードするプログラムは、例えば、有料のアプリケーションプログラム、課金に関わるプログラム、及び、カード内に記録されているプログラムのバージョンアップ版等であり、セキュアデバイス10において相応の安全性を確保しつつ利用しなければならない。
【0049】
また、TRM12内に実装するEEPROM19は、格納しているプログラムに対して外部から不正なアクセスが出来ず改竄が困難であるので、本明細書において保護レベルが高いと表現する。
一方、TRM12外に実装するフラッシュメモリ18は、格納しているプログラムに対して外部から不正なアクセスが比較的容易にできるので、本明細書において保護レベルが低いと表現する。
【0050】
カードインタフェース回路11は、携帯電話2とデータのやり取りを行うもであり、携帯電話2から付加情報を含むプログラムを受け取る。
TRM12は、耐タンパモジュール(Tamper Resistant Module)であり、内部に記録されているデータに対する外部からの不正なアクセスや改竄を困難にする対策が施された部分である。
【0051】
暗号処理エンジン13は、プログラムをフラッシュメモリに格納する際に暗号化したり、プログラムの安全性を確認する為に施されたMAC情報(Message Authentication Code)やデジタル署名の認証等を行う。
セキュリティ鍵情報14は、暗号処理エンジン13による暗号処理や認証処理等に用いられる。
【0052】
付加情報処理部20は、カードインタフェース回路11が受け取ったプログラムに含まれる付加情報の意味を解析して、対応するプログラムの格納すべき記憶素子がEEPROM19及びフラッシュメモリ18の何れであるかを特定する。
CPU15は、予めROM16に格納されたプログラムを実行し、RAM17、フラッシュメモリ18、及び、EEPROM19を用いて、暗号処理エンジン13、及び、付加情報処理部20の制御を行い、付加情報処理部20により特定された記憶素子に、カードインタフェース回路11が受け取ったプログラムをダウンロードする。
【0053】
なお、暗号処理エンジン13、及び、付加情報処理部20は、ROM16に格納されたプログラムをCPU15が実行することにより実現されるものであってもよい。
(実施の形態1)
<セキュアデバイスの構成>
図2は、本発明の実施の形態1に係るセキュアデバイス100の構成を示す図である。
【0054】
図2に示すセキュアデバイス100は、TRM110外にプログラム入手部101、及び、低保護レベル記憶部102を備え、TRM110内に、高保護レベル記憶部118、付加情報解析部111、領域検索部112、保護レベル判定部113、移動部114、プログラム格納部115、エラー出力部116、暗号処理部117を備える。
プログラム入手部101は、図1に示したカードインタフェース回路11に相当し、携帯電話から付加情報を含むプログラムを入手する。
【0055】
低保護レベル記憶部102は、例えばTRM外に実装するフラッシュメモリ等の、保護レベルが低い記憶素子である。
高保護レベル記憶部118は、例えばTRM内に実装するEEPROM等の、保護レベルが高い記憶素子である。
付加情報解析部111は、プログラム入手部101により入手されたプログラムに含まれる付加情報を解析して、領域検索部112、及び、暗号処理部117に動作指示を出す。
【0056】
領域検索部112は、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域を、付加情報解析部111の指示に従って、高保護レベル記憶部118、及び、低保護レベル記憶部102から検索して、当該記憶領域が存在するか否かを判断する。
保護レベル判定部113は、領域検索部112により検索された記憶領域が、付加情報の意味に適合するかを判定することによって、プログラム入手部101により入手されたプログラムの格納場所を決定し、必要に応じてエラー情報を出力するようにエラー出力部116に指示する。
【0057】
図3は、本実施の形態1における付加情報を示す図である。
図3に示すように本実施の形態1においては、付加情報は5ビットとする。
付加情報の下位2ビットは、“00”“01”“10”“11”の4段階の保護レベルのうちの何れかを示す。
下位2ビット“00”は、対応するプログラムを高保護レベル記憶部118中の空いている記憶領域に格納すべき旨、及び、対応するプログラムを格納できるだけの空いている記憶領域が高保護レベル記憶部118中に存在しない場合には格納せずにエラー情報を携帯電話に返すべき旨を意味する。
【0058】
下位2ビット“01”は、対応するプログラムを高保護レベル記憶部118中の空いている記憶領域に格納すべき旨、及び、対応するプログラムを格納できるだけの空いている記憶領域が高保護レベル記憶部118中に存在しない場合には、高保護レベル記憶部118中の記憶領域を空けて格納する旨を意味する。なお、下位2ビット“01”は、他のプログラムが格納されている高保護レベル記憶部118中の記憶領域に上書きすべき旨を意味することにしてもよい。
【0059】
下位2ビット“10”は、対応するプログラムを低保護レベル記憶部102に格納すべき旨、及び、対応するプログラムを格納できるだけの空いている記憶領域が低保護レベル記憶部102中に存在しない場合には格納せずにエラー情報を携帯電話に返すべき旨を意味する。
下位2ビット“11”は、対応するプログラムを格納できるだけの空いている記憶領域が高保護レベル記憶部118中に存在する場合には高保護レベル記憶部118に格納すべき旨、存在しない場合には低保護レベル記憶部102に格納すべき旨、及び、対応するプログラムを格納できるだけの空いている記憶領域が低保護レベル記憶部102中に存在しない場合には格納せずにエラー情報を携帯電話に返すべき旨を意味する。
【0060】
付加情報の下位から3ビット目は、対応するプログラムを低保護レベル記憶部102に格納する際に、暗号化するか否かを示す。
ここでは下位から3ビット目“0”は、暗号化しない旨を意味し、下位から3ビット目“1”は、暗号化する旨を意味することとする。
付加情報の下位から4ビット目は、対応するプログラムを低保護レベル記憶部102に格納する際に、MAC情報の付加やデジタル署名等を施すか否かを示す。
【0061】
ここでは下位から4ビット目“0”は、MAC情報を付加せずデジタル署名を施さない旨を意味し、下位から4ビット目“1”は、MAC情報を付加しデジタル署名を施す旨を意味することとする。
付加情報の最上位ビット(下位から5ビット目)は、セキュアデバイス100の利用者が、対応するプログラムの格納場所を自由に決めてよいか否かを示す。
【0062】
ここでは最上位ビット“0”は、格納場所を自由に決めてはならない旨を意味し、最上位ビット“1”は、下位2ビットが示す保護レベルに依存することなく格納場所を自由に決めてよい旨を意味することとする。
ここで保護レベル判定部113は、高保護レベル記憶部118から記憶領域が検索された場合であって、最上位ビットが“0”かつ下位2ビットが“00”、“01”、“11”の時には、検索された高保護レベル記憶部118中の記憶領域を格納場所に決定する。
【0063】
また保護レベル判定部113は、低保護レベル記憶部102から記憶領域が検索された場合であって、最上位ビットが“0”かつ下位2ビットが“10”の時、及び、高保護レベル記憶部118から記憶領域が検索されずかつ低保護レベル記憶部102から記憶領域が検索された場合であって、最上位ビットが“0”かつ下位2ビットが“11”の時には、検索された低保護レベル記憶部102中の記憶領域を格納場所に決定する。
【0064】
また保護レベル判定部113は、高保護レベル記憶部118と低保護レベル記憶部102との少なくとも一方から記憶領域が検索された場合であって、最上位ビット“1”の時には、検索された何れかの記憶部中の記憶領域を格納場所に決定する。
また保護レベル判定部113は、高保護レベル記憶部118から記憶領域が検索されない場合であって、最上位ビットが“0”かつ下位2ビットが“01”の時には、移動部114に高保護レベル記憶部118中の記憶領域を空ける処理を実施するよう指示する。なお、下位2ビット“01”が、他のプログラムが格納されている高保護レベル記憶部118中の記憶領域に上書きすべき旨を意味することにした場合には、他のプログラムが格納されている高保護レベル記憶部118中の記憶領域を格納場所に決定する。
【0065】
また保護レベル判定部113は、高保護レベル記憶部118から記憶領域が検索されない場合であって、最上位ビットが“0”かつ下位2ビットが“00”の時、低保護レベル記憶部102から記憶領域が検索されない場合であって、最上位ビットが“0”かつ下位2ビットが“10”の時、高保護レベル記憶部118と低保護レベル記憶部102との両方から記憶領域が検索されない場合であって、最上位ビットが“1”の時、又は、最上位ビットが“0”かつ下位2ビットが“11”の時には、エラー情報を出力するようにエラー出力部116に指示する。
【0066】
移動部114は、高保護レベル記憶部118から記憶領域が検索されず、付加情報の最上位ビット“0”、下位2ビットが“01”の場合に、高保護レベル記憶部118に格納されているプログラムのそれぞれに付加されている付加情報を読み出し、これら付加情報のうち、最上位ビット“0”、又は、下位2ビットが“11”である付加情報を抽出し、抽出した付加情報に対応するプログラムを低保護レベル記憶部102に移動し、プログラム入手部101により入手されたプログラムを格納するための記憶領域を高保護レベル記憶部118中に確保する。
【0067】
ここで、必要な容量の記憶領域を確保できない場合には、エラー情報を出力するようにエラー出力部116に指示する。なお、必要な容量の記憶領域を確保できない場合に、他のプログラムが格納されている高保護レベル記憶部118中の記憶領域を格納場所に決定することにしてもよい。
プログラム格納部115は、保護レベル判定部113により決定又は移動部114により確保された格納場所に、プログラム入手部101により入手されたプログラムを格納する。
【0068】
エラー出力部116は、保護レベル判定部113によりエラー情報を出力すると決定された場合に、その旨の指示を受けてエラー情報を携帯電話に返し、携帯電話の表示部にデジタルデータを格納できない旨を提示させる。
暗号処理部117は、セキュアデバイス毎に異なるID情報を保持し、プログラム入手部101により入手されたプログラムを低保護レベル記憶部102に格納する際、及び、プログラムを高保護レベル記憶部118から低保護レベル記憶部102に移動する際に、付加情報の下位から4ビット目が“1”の場合には、MAC情報を付加しデジタル署名を施し、付加情報の下位から3ビット目が“1”の場合には、保持しているID情報を用いてプログラムを暗号化する。
【0069】
ここで、暗号処理部117は、プログラムを高保護レベル記憶部118に格納する際にも、付加情報の下位から4ビット目が“1”の場合には、MAC情報を付加しデジタル署名を施し、付加情報の下位から3ビット目が“1”の場合には、保持しているID情報を用いてプログラムを暗号化してもよい。
<動作>
図4は、本発明の実施の形態1に係るセキュアデバイス100における、プログラムのダウンロード処理の動作を示す図である。
【0070】
以下に、プログラムのダウンロード処理の動作について説明する。
(1)プログラム入手部101が、携帯電話から付加情報を含むプログラムを受け取る(S1)。
(2)付加情報解析部111が、付加情報の最上位ビットが“0”であるか“1”であるかを解析する(S2)。
【0071】
(3)最上位ビットが“1”である場合は、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域を、高保護レベル記憶部118、及び、低保護レベル記憶部102から検索して、当該記憶領域が少なくとも一方の記憶部に存在するか否かを判断する(S3)。存在しない場合は、エラー処理を行う。
【0072】
(4)存在する場合は、利用者の直接指示や利用者により予め設定されている指示等に基づいて、検索された何れかの記憶部中の記憶領域を格納場所に決定する(S4)。
(5)最上位ビットが“0”である場合は、保護レベル判定部113が、付加情報の下位2ビットが“10”であるか否かを判定する(S5)。
(6)下位2ビットが“10”である場合は、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域が、低保護レベル記憶部102に存在するか否かを検索して、当該記憶領域が存在するか否かを判断する(S6)。存在しない場合は、エラー処理を行う。
【0073】
(7)存在する場合には、保護レベル判定部113が、検索された低保護レベル記憶部102中の記憶領域を格納場所に決定する(S7)。
(8)下位2ビットが“10”でない場合は、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域が、高保護レベル記憶部118に存在するか否かを検索して、当該記憶領域が存在するか否かを判断する(S8)。
【0074】
(9)存在する場合には、保護レベル判定部113が、検索された高保護レベル記憶部118中の記憶領域を格納場所に決定する(S9)。
(10)存在しない場合には、保護レベル判定部113が、付加情報の下位2ビットが“00”であるか否かを判定する(S10)。下位2ビットが“00”である場合は、エラー処理を行う。
【0075】
(11)下位2ビットが“00”でない場合は、保護レベル判定部113が、付加情報の下位2ビットが“01”であるか否かを判定する(S11)。
(12)下位2ビットが“01”である場合は、移動部114が、高保護レベル記憶部118に格納されているプログラムを、それぞれに付加されている付加情報に基づいて低保護レベル記憶部102に移動し、記憶領域を高保護レベル記憶部118中に確保する(S12)。確保出来ない場合にはエラー処理を行う。
【0076】
ここで、高保護レベル記憶部118に格納されている移動対象のプログラムに、暗号処理部117による各処理が施されていない場合には、当該プログラムの移動に際して、付加情報の下位から4ビット目に応じてMAC情報を付加しデジタル署名を施し、3ビット目に応じてプログラムを暗号化する。
(13)下位2ビットが“01”でない場合は“11”であるので、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域が、低保護レベル記憶部102に存在するか否かを検索して、当該記憶領域が存在するか否かを判断する(S13)。存在しない場合は、エラー処理を行う。
【0077】
(14)存在する場合には、保護レベル判定部113が、検索された低保護レベル記憶部102中の記憶領域を格納場所に決定する(S14)。
(15)プログラム格納部115が、決定又は確保された格納場所にプログラムを格納する(S19)。
ここで、当該プログラムを低保護レベル記憶部102に格納する際には、付加情報解析部111が付加情報の下位から4ビット目及び3ビット目を解析し、暗号処理部117が、解析結果に応じてMAC情報を付加しデジタル署名を施し、またプログラムを暗号化する。
【0078】
(16)格納場所を検索又は確保できない場合には、エラー出力部116が、エラー情報を携帯電話に返す(S20)。
(実施の形態2)
<セキュアデバイスの構成>
図5は、本発明の実施の形態2に係るセキュアデバイス200の構成を示す図である。
【0079】
なお、実施の形態1と同様の構成要素には同一番号を付し、その説明を省略する。
図5に示すセキュアデバイス200は、TRM210外にプログラム入手部101、及び、低保護レベル記憶部102を備え、TRM210内に、高保護レベル記憶部118、付加情報解析部111、領域検索部112、保護レベル判定部213、移動部214、プログラム格納部115、エラー出力部116、暗号処理部117を備える。
【0080】
保護レベル判定部213は、保護レベル判定部213は、優先度が高いプログラムから順に高保護レベル記憶部118に格納し、高保護レベル記憶部118に空き領域が足らなくなったら、低保護レベル記憶部102に格納し、必要に応じてエラー情報を出力するようにエラー出力部116に指示する。
図6は、本実施の形態2における付加情報を示す図である。
【0081】
図6に示すように本実施の形態2においては、付加情報は5ビットとする。
付加情報の下位2ビットは、“00”“01”“10”“11”の4段階のプログラムの優先度のうちの何れかを示す。
下位2ビット“00”はプログラムの優先度が最も高い事を意味する。
下位2ビット“01”はプログラムの優先度が2番目に高い事を意味する。
【0082】
下位2ビット“10”はプログラムの優先度が3番目に高い事を意味する。
下位2ビット“11”はプログラムの優先度が4番目に高い事を意味する。
付加情報の下位から3ビット目、4ビット目及び最上位ビットは、実施の形態1と同様である。
ここで保護レベル判定部213は、高保護レベル記憶部118から記憶領域が検索された場合には、検索された高保護レベル記憶部118中の記憶領域を格納場所に決定する。
【0083】
また保護レベル判定部213は、高保護レベル記憶部118から記憶領域が検索されなかった場合であって、付加情報の最上位ビット“0”かつ下位2ビットが“00”“01”“10”の時には、移動部214に高保護レベル記憶部118中の記憶領域を空ける処理を実施するよう指示する。
また保護レベル判定部213は、高保護レベル記憶部118から記憶領域が検索されず、低保護レベル記憶部102から記憶領域が検索された場合であって、付加情報の最上位ビット“0”かつ下位2ビットが“11”の時には、検索された低保護レベル記憶部102中の記憶領域を格納場所に決定する。
【0084】
移動部214は、高保護レベル記憶部118から記憶領域が検索されず、付加情報の最上位ビット“0”、下位2ビットが“00”“01”“10”の場合に、高保護レベル記憶部118に格納されているプログラムのそれぞれに付加されている付加情報を読み出し、これら付加情報のうち、元の付加情報よりも優先度が低い付加情報を抽出し、抽出した付加情報に対応するプログラムを低保護レベル記憶部102に移動し、プログラム入手部101により入手されたプログラムを格納するための記憶領域を高保護レベル記憶部118中に確保する。
【0085】
ここで、記憶領域を高保護レベル記憶部118中に確保できなかった場合には、記憶領域を低保護レベル記憶部102中に確保する。
また、記憶領域を低保護レベル記憶部102中にも確保できなかった場合には、保護レベル判定部213がエラー情報を出力するようにエラー出力部116に指示する。
また、例えば、付加情報の下位から2ビット目が“0”の場合には、高保護レベル記憶部118にのみ格納を許可するように予め取り決めていたとすると、移動部214は下位から2ビット目が“0”の付加情報に対応するプログラムの移動は行わず、また、保護レベル判定部213は高保護レベル記憶部118中に記憶領域が検索されなかった場合であって、付加情報の下位から2ビット目が“0”の時には、低保護レベル記憶部102に記憶領域が検索されたとしても低保護レベル記憶部102中の記憶領域を格納場所に決定はせずに、エラー情報を出力するようにエラー出力部116に指示する。
【0086】
<動作>
図7は、本発明の実施の形態2に係るセキュアデバイス200における、プログラムのダウンロード処理の動作を示す図である。
以下に、プログラムのダウンロード処理の動作について説明する。
なお、実施の形態1と同様のステップには同一番号を付しその説明を省略する。
【0087】
(1)実施の形態1の(1)と同じ。
(2)実施の形態1の(2)と同じ。
(3)実施の形態1の(3)と同じ。
(4)実施の形態1の(4)と同じ。
(5)最上位ビットが“0”である場合は、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域が、高保護レベル記憶部118に存在するか否かを検索して、当該記憶領域が存在するか否かを判断する(S21)。
【0088】
(6)存在する場合には、保護レベル判定部113が、検索された高保護レベル記憶部118中の記憶領域を格納場所に決定する(S22)。
(7)存在しない場合には、保護レベル判定部113が、付加情報の下位2ビットが“11”であるか否かを判定する(S23)。
(8)下位2ビットが“11”である場合は、領域検索部112が、プログラム入手部101により入手されたプログラムを格納できるだけの空いている記憶領域が、低保護レベル記憶部102に存在するか否かを検索して、当該記憶領域が存在するか否かを判断する(S24)。存在しない場合は、エラー処理を行う。
【0089】
(9)存在する場合には、保護レベル判定部113が、検索された低保護レベル記憶部102中の記憶領域を格納場所に決定する(S25)。
(10)下位2ビットが“11”でない場合は、移動部214が、高保護レベル記憶部118に格納されているプログラムのそれぞれに付加されている付加情報を読み出し、これら付加情報のうち、元の付加情報よりも優先度が低い付加情報を抽出し、抽出した付加情報に対応するプログラムを低保護レベル記憶部102に移動し、プログラム入手部101により入手されたプログラムを格納するための記憶領域を高保護レベル記憶部118中に確保する(S26)。
【0090】
ここで、高保護レベル記憶部118に格納されている移動対象のプログラムに、暗号処理部117による各処理が施されていない場合には、当該プログラムの移動に際して、付加情報の下位から4ビット目に応じてMAC情報を付加しデジタル署名を施し、3ビット目に応じてプログラムを暗号化する。
(11)記憶領域を高保護レベル記憶部118中に確保できない場合には、記憶領域を低保護レベル記憶部102中に確保する(S27)。記憶領域を低保護レベル記憶部102中にも確保できない場合には、エラー処理を行う。
【0091】
(12)実施の形態1の(15)と同じ(S15)。
(13)実施の形態1の(16)と同じ(S16)。
(変形例)
なお、付加情報は対応するプログラムと切り離しができないように、プログラムファイルのヘッダに付加情報をプログラムIDと共に記録し、ヘッダを含むプログラムファイル全体に対して、MAC情報を付加したりデジタル署名を施し、本発明のセキュアデバイスがプログラムのダウンロードの条件として、MAC情報やデジタル署名の認証を行なってもよいし、また、プログラムを実行することにより付加情報を出力するものであってもよい。
【0092】
また、本発明の実施の形態1及び2では、付加情報をプログラムと共に格納し、格納したプログラムを移動する際に用いているが、移動等を行なわず格納後に付加情報を使わない場合には付加情報を格納しなくてもよいので、付加情報を除いてプログラムのみを格納しても構わない。
また、本発明の実施の形態1及び2では、プログラムを格納する記憶素子として、保護レベルが異なる2種類の記憶素子を用いて説明したが、保護レベルが異なる3種類以上の記憶素子を用いても同様に実施できる。
【0093】
また、本発明の実施の形態1及び2では、プログラム毎に付加情報を対応付けているが、1つのプログラムに複数の付加情報を対応付けてもよい。例えば、1つのプログラムを複数のサブプログラムに分割してサブプログラム毎に付加情報を対応付けることによって、決算プログラムの中で料金を直接処理しているような秘匿性の高いサブプログラムだけを保護レベルの高い記憶素子に格納することができる。また例えば、プログラム中のメインルーチンと各サブルーチンを分離して各ルーチン毎に付加情報を対応付け、メインルーチンを保護レベルの高い記憶素子に格納することによってプログラムを難読化することができ、あるいは、各サブルーチンのうち秘匿性の高いサブルーチンだけを保護レベルの高い記憶素子に格納することができる。
【0094】
また、本発明の実施の形態1及び2では、ダウンロードの対象をプログラムとして説明したが、デジタルコンテンツであってもよいし、他のデジタルデータであってもよい。
(まとめ)
以上のように、本発明のセキュアデバイスによれば、プログラムに含まれる付加情報に基づいてプログラムの格納場所を決定する事ができるので、プログラムの管理者が付加情報を予め設定しておくことによって、TRM内に実装する記憶領域の容量を越えるプログラムを、各プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができる。
【0095】
ここで、産業上の利用の可能性という観点で考えると、本発明は、インターネット等のネットワークを介して、音楽コンテンツや動画像コンテンツの配信を受けるコンテンツ配信サービス、及び、モバイルECサービス等の様々な電子情報サービスに適用することができる。
本発明のセキュアデバイスにより、TRM内に実装する記憶領域の容量を越えるプログラムを、各プログラムの管理者が必要とする安全性を確保しつつダウンロードすることができ、利用者は本発明のセキュアデバイスを自分の携帯電話に装着して、外出先からコンテンツ配信サービスやモバイルECサービス等を安全に行うことができる。
【産業上の利用可能性】
【0096】
本発明は、コンテンツの不正な使用を防止するコンテンツ保護技術、及び、モバイルECにおける認証技術や課金技術等のEC保護技術を備えるセキュアデバイスなどの技術分野に広く適用することができる。
本発明によって、TRM内に実装するEEPROMのような保護レベルが高い記憶手段の容量が足らない場合に、管理者によって許可されているデジタルデータであれば、TRM外に実装するフラッシュメモリのような保護レベルが低い記憶手段に記録することができるので、TRM内に実装する記憶領域の容量を越えるプログラムを、プログラムの管理者が必要とする安全性を確保しつつ、ダウンロードすることができ、その産業的利用価値は極めて高い。
【図面の簡単な説明】
【0097】
【図1】本発明の実施の形態1に係るセキュアシステムの構成を示す図である。
【図2】本発明の実施の形態1に係るセキュアデバイス100の構成を示す図である。
【図3】本実施の形態1における付加情報を示す図である。
【図4】本発明の実施の形態1に係るセキュアデバイス100における、プログラムのダウンロード処理の動作を示す図である。
【図5】本発明の実施の形態2に係るセキュアデバイス200の構成を示す図である。
【図6】本実施の形態2における付加情報を示す図である。
【図7】本発明の実施の形態2に係るセキュアデバイス200における、プログラムのダウンロード処理の動作を示す図である。
【符号の説明】
【0098】
10 セキュアデバイス
11 カードインタフェース回路
12 TRM
13 暗号処理エンジン
14 セキュリティ鍵情報
15 CPU
16 ROM
17 RAM
18 フラッシュメモリ
19 EEPROM
20 付加情報処理部
100 セキュアデバイス
101 プログラム入手部
102 低保護レベル記憶部
110 TRM
111 付加情報解析部
112 領域検索部
113 保護レベル判定部
114 移動部
115 プログラム格納部
116 エラー出力部
117 暗号処理部
118 高保護レベル記憶部
200 セキュアデバイス
210 TRM
213 保護レベル判定部
214 移動部

【特許請求の範囲】
【請求項1】
耐タンパ集積回路と前記耐タンパ集積回路の外部にある外部記憶手段とを備える情報処理装置であって、
前記耐タンパ集積回路は、
データを格納する内部記憶手段と、
鍵情報を保持する鍵保持手段と、
前記内部記憶手段に格納されているデータを前記鍵保持手段が保持する鍵情報を用いて暗号化して前記外部記憶手段に格納する暗号処理手段と、
前記暗号処理手段が行う処理にエラーが発生した場合にエラーを前記耐タンパ集積回路の外部に出力するエラー出力手段と、
を備え、
前記外部記憶手段は前記内部記憶手段に格納されているデータを前記暗号処理手段が前記鍵保持手段が保持する鍵情報を用いて暗号化したデータを格納し、前記内部記憶手段の前記データが格納されていた空き領域にもう1つのデータを格納する
ことを特徴とする情報処理装置。
【請求項2】
さらに、前記内部記憶手段の空き領域を調べる領域検索手段を備え、
前記領域検索手段が前記もう1つのデータを格納する空き領域が前記内部記憶手段にあるかを調べ、
空き領域がある場合には前記もう1つのデータを前記内部記憶手段に格納し、
空き領域が無い場合には前記暗号処理手段が前記内部記憶手段に格納されているデータを前記鍵保持手段が保持する鍵情報を用いて暗号化して前記外部記憶手段に格納し、前記内部記憶手段の前記データが格納されていた空き領域にもう1つのデータを格納する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記鍵保持手段が保持する鍵情報は、前記耐タンパ集積回路に固有の鍵情報であることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記暗号処理手段は、さらに、前記外部記憶手段に格納されている暗号化したデータを前記鍵保持手段が保持する鍵情報を用いて復号する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記データは付加情報を備え、
前記暗号処理手段は、前記付加情報をもとにデータの優先度を判断し、優先度の高いデータを前記内部記憶手段に格納するために、優先度の低いデータを暗号化して前記外部記憶手段に格納する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記データは付加情報を備え、
前記付加情報がデータの改竄検出用の情報の付加を示す場合に、
前記暗号処理手段が、さらに、前記外部記憶手段に格納されるデータに、前記改竄検出用の情報を含める
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記もう1つのデータは付加情報を備え、
前記付加情報が前記外部記憶手段への格納を示す場合に、前記暗号処理手段が前記もう1つのデータを前記鍵保持手段が保持する鍵情報を用いて暗号化して前記外部記憶手段に格納し、
前記付加情報が前記内部記憶手段への格納を示す場合に、前記空き領域にもう1つのデータを格納する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項8】
情報処理装置で用いられる情報処理方法であって、
前記情報処理装置は、耐タンパ集積回路と前記耐タンパ集積回路の外部にある外部記憶手段とを備え、
前記耐タンパ集積回路は、
データを格納する内部記憶手段と、
鍵情報を保持する鍵保持手段とを備え、
前記方法は、
前記内部記憶手段に格納されているデータを前記鍵保持手段が保持する鍵情報を用いて暗号化して前記外部記憶手段に格納する暗号処理ステップと、
前記暗号処理手段が行う処理にエラーが発生した場合にエラーを前記耐タンパ集積回路の外部に出力するエラー出力ステップと含み、
前記外部記憶手段は前記内部記憶手段に格納されているデータを前記暗号処理手段が前記鍵保持手段が保持する鍵情報を用いて暗号化したデータを格納し、前記内部記憶手段の前記データが格納されていた空き領域にもう1つのデータを格納する
ことを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−70408(P2009−70408A)
【公開日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2008−307370(P2008−307370)
【出願日】平成20年12月2日(2008.12.2)
【分割の表示】特願2003−67248(P2003−67248)の分割
【原出願日】平成15年3月12日(2003.3.12)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】