請求項1に記載の実施態様であるマイグレーション装置は、第1の端末内で保護されたデータを第2の端末に移動するマイグレーション装置であって、前記第1の端末から前記第1の端末内のセキュリティモジュールにおいて第1の暗号アルゴリズムで保護された秘密データを受信し、前記秘密データのダウンロード要求を前記第2の端末から受信する受信手段と、前記第1の端末から送られた証明書から前記第1の暗号アルゴリズムを識別し、前記第2の端末から送られた証明書から前記第2の端末内のセキュリティモジュールで用いられる第2の暗号アルゴリズムを識別する識別手段と、前記第1の暗号アルゴリズム及び前記第2の暗号アルゴリズムを対応付けたセキュリティポリシーテーブルを保持する保持手段と、前記ダウンロード要求を前記第2の端末から受けたとき、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直して前記第2の端末に送信する制御手段とを備え、前記制御手段は、前記第1の暗号アルゴリズムから前記第2の暗号アルゴリズムで保護し直した秘密データを前記第2の端末に送信するに先立って、前記秘密データが送信される宛先である端末が備えている評価レベルとして前記第1の端末が要求する最低評価レベルを前記第1の端末から受信し、前記第2の端末の評価レベルを前記第2の端末から受信し、前記第2の端末の評価レベルが前記最低評価レベル以上か否かを判断し、前記第2の端末の評価レベルが前記最低評価レベル以上の場合に、前記保護し直した秘密データを前記第2の端末に送信することを特徴とする。
また、請求項2に記載の実施態様であるマイグレーション装置において、前記第1の端末は、前記秘密データを用いた処理を行う実行環境を仮想マシンによって実現する実行手段と、前記実行環境を実現する仮想マシンから前記秘密データを取り除き、前記秘密データが取り除かれた仮想マシンを前記秘密データとは異なる経路で前記第2の端末へ移動する移動手段とを備えることを特徴とする。
ここで、上記仮想マシンには、下記の実施の形態におけるVirtualMachine2604、2605が該当する。仮想マシンは、具体的には、CPU、メモリなどのコンピュータの物理的リソースと、前記物理的リソースを仮想化し、複数のプラットフォームが並列に存在するように見せかけたり、そのコンピュータでは、本来動作しないアプリケーションが動作できるプラットフォームを実現したりするプログラム群である。
このように、秘密データを含む仮想マシン全体を移動する場合、総データサイズはかなり大きくなる。ところで、仮想マシンに係る技術は既に公知であり、前述したプログラム群の多くは秘匿する必要性が低いと考えられる。そのため、秘密データが含まれなければ、マイグレーション装置を介さない高速な他の移動方法で、仮想マシンを移動しても差し支えない。
上記の構成によると、前記制御手段は、仮想マシンから前記秘密データを取り除き、前記秘密データが取り除かれた仮想マシンを前記秘密データとは異なる経路で前記第2の端末へ移動する。そのため、マイグレーション装置は、真に保護する必要のある秘密データのみを、安全に、第1の端末から第2の端末へ移動することと、第1の端末から第2の端末へ、前記仮想マシンのうち秘密データ以外の部分を迅速に移動させることを両立することができる。
また、請求項3に記載の実施態様であるマイグレーション装置において、前記セキュリティポリシーテーブルが示す前記第1の暗号アルゴリズム及び前記第2の暗号アルゴリズムの対応関係は、前記第2の暗号アルゴリズムの暗号強度のレベルが前記第1の暗号強度のレベルより低い場合を含むことを特徴とする。
また、請求項4に記載の実施態様であるマイグレーション装置において、前記第1の端末の第1のセキュリティ認証レベルと前記第2の端末の第2のセキュリティ認証レベルとを格納した第2のセキュリティポリシーテーブルを設け、前記制御手段は、前記セキュリティポリシーテーブルに従って前記第1の暗号アルゴリズに対応する第2の暗号アルゴリズムが存在する場合であっても、前記第2のセキュリティポリシーテーブルに従って前記第2の端末の第2のセキュリティ認証レベルと前記第1の端末の第1のセキュリティ認証レベルとの差が所定値以上の場合は、前記秘密データを前記第2暗号アルゴリズムで保護し直すことを禁止することを特徴とする。
また、請求項5に記載の実施態様であるマイグレーション装置において、前記第1の端末の第1のセキュリティ認証レベルと前記第2の端末の第2のセキュリティ認証レベルとを格納した第2のセキュリティポリシーテーブルを設け、前記制御手段は、前記セキュリティポリシーテーブルに従って前記第1の暗号アルゴリズに対応する第2の暗号アルゴリズムが存在する場合であっても、前記第2のセキュリティポリシーテーブルに従って前記第2の端末の第2のセキュリティ認証レベルと前記第1の端末の第1のセキュリティ認証レベルとの差が所定値以上の場合は、前記秘密データを前記第2暗号アルゴリズムで保護し直して前記第2の端末に送信することを禁止することを特徴とする。
また、請求項6に記載の実施態様であるマイグレーション装置において、前記第1の暗号アルゴリズムの暗号強度のレベルは、前記第1の暗号アルゴリズムで用いられる鍵の長さで表され、また、前記第2の暗号アルゴリズムの暗号強度のレベルは、前記第2の暗号アルゴリズムで用いられる鍵の長さで表されることを特徴とする。
また、請求項7に記載の実施態様であるマイグレーション装置において、前記識別手段は、前記第1の暗号アルゴリズムの種類と鍵長とを識別し、第2の暗号アルゴリズムの種類を識別し、前記保持手段は、前記第1の暗号アルゴリズムに対応する暗号アレゴリズムの種類及び鍵長と同一暗号強度レベルとなるような、前記第2の暗号アルゴリズムに対応する暗号アレゴリズムの種類の鍵長を示した前記セキュリティポリシーテーブルを保持し、
前記制御手段は、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直す際、前記第1の暗号アルゴリズムの鍵長に対応する前記第2の暗号アルゴリズムの鍵長を用いて保護し直すことを特徴とする。
また、請求項8に記載の実施態様であるマイグレーション装置において、前記識別手段は、前記第1の暗号アルゴリズムの種類と鍵長とを識別し、第2の暗号アルゴリズムの種類を識別し、前記保持手段は、複数の暗号アルゴリズム間で、同一暗号強度レベルとなる鍵長を対応付けた前記セキュリティポリシーテーブルを保持し、前記制御手段は、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直す際、前記第1の暗号アルゴリズムに対応する暗号アレゴリズムの種類及び鍵長と同一暗号強度レベルとなるような前記第2の暗号アルゴリズムに対応する暗号アレゴリズムの種類の鍵長を検索し、前記第1の暗号アルゴリズムの鍵長に対応する前記第2の暗号アルゴリズムの鍵長を用いて保護し直すことを特徴とする。
また、請求項9に記載の実施態様であるマイグレーション装置において、前記セキュリティポリシーテーブルは、前記第1の端末から前記マイグレーション装置に送信されたものであることを特徴とする。
また、請求項10に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵、前記親鍵を用いるときの暗号アルゴリズムを示す情報及び前記親鍵を用いて暗号する範囲を示す情報を受信し、前記制御手段は、前記受信した親鍵及び前記親鍵を用いるときの暗号アルゴリズムを用いて、前記親鍵を用いて暗号する範囲を示す情報に基づいて、前記秘密データの最上位のデータのみを保護することを特徴とする。
また、請求項11に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵及び前記親鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した親鍵とは異なる第2の鍵を生成して、前記第2の鍵及び前記親鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項12に記載の実施態様であるマイグレーション装置において、前記制御手段は、前記受信した親鍵とは異なる第2の鍵を前記親鍵より下の階層に生成することを特徴とする。
また、請求項13に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から公開鍵及び前記公開鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した公開鍵及び前記公開鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項14に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から秘密鍵及び前記秘密鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した秘密鍵及び前記秘密鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項15に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵を受信し、前記制御手段は、前記受信した親鍵が示す暗号強度のレベルと同一レベルで、前記秘密データ全体を保護することを特徴とする。
また、請求項16に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から暗号強度のレベルを示した情報を受信し、前記制御手段は、前記受信した情報が示す暗号強度のレベルと同一レベルで、前記秘密データを保護することを特徴とする。
また、請求項17に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第1の端末が秘密データを保護した際の暗号強度のレベルと同一レベルでの保護を要求する旨の情報を前記第2の端末から受信し、前記制御手段は、前記受信した情報に基づいて、前記第1の端末が秘密データを保護した際の暗号強度のレベルと同一レベルで、前記秘密データを保護することを特徴とする。
また、請求項18に記載の実施態様であるマイグレーション装置は、マイグレーションサーバを含むことを特徴とする。
また、請求項19に記載の実施態様であるマイグレーション装置は、前記第1の端末の内部に含まれることを特徴とする。
また、請求項22に記載の実施態様であるマイグレーションシステムは、マイグレーション装置を介して、第1の端末装置から第2の端末装置へ秘匿すべき秘密データを移動するマイグレーションシステムであって、前記第1の端末は、用いた処理を行う実行環境を、仮想マシンによって実現する第1実行手段と、前記秘密データを安全に前記マイグレーション装置へ送信する送信手段と、前記実行環境を実現する仮想マシンから前記秘密データを取り除き、前記秘密データが取り除かれた仮想マシンを前記秘密データとは異なる経路で前記第2の端末へ移動する移動手段とを備え、前記マイグレーション装置は、前記第1の端末から、前記秘密データを安全に受信する受信手段と、前記第2の端末のセキュリティに係る評価レベルが、前記秘密データを取得する装置が有するべき最低評価レベル以上であるか否かを判断する判断手段と、前記評価レベルが前記最低評価レベル以上である場合、前記秘密データを、前記第2の端末に適した方法で、前記第2の端末へ安全に送信する送信手段と、前記評価レベルが前記最低評価レベル以上である場合、前記第1の端末へ前記移動を許可する許可手段とを備え、前記第2の端末は、前記秘密データを安全に受信する受信手段と、前記第1の端末から仮想マシンを取得し、受信した前記秘密データを用いた処理を行う実行環境を、取得した前記仮想マシンを用いて実現する第2実行手段とを備えることを特徴とする。
(実施の形態1)
以下、本発明の実施の形態1について、図面を参照しながら説明する。
図1は、本発明の実施の形態1におけるシステムの全体構成を示す図である。
図1において、MigrationAuthority101はネットワークを介して電子端末との通信を行い、秘密のデータのMigrationのサービスを提供する。ここで、MigrationAuthority101は、電子端末間の秘密のデータのマイグレーションを管理するサーバである。
第一の電子端末102はCPUやRAMといった構成要素からなるコンピュータシステムである。一般的にはPC、携帯電話、PDAなどで実現されるが、それに限定されるものではない。第一の電子端末102は、TCGによって定められたTrustedPlatformModule(TPM)と呼ばれるセキュリティモジュールを中心としたセキュアなプラットフォームを備えている。TPMは、ProtectedStorageと呼ばれる秘密のデータをセキュアに保存する技術をサポートしている。ProtectedStorageではツリー構造でデータを管理しており、ツリー構造のリーフに割り当てたデータを、ルートからそのリーフに至るまでのノードおよびルートに割り当てた鍵で階層的に暗号化して保護している。ツリー構造のルートには、asymmetricSRK(StorageRootKey)と呼ばれる公開鍵暗号の鍵(ルート鍵)が割り当てられている。
第二の電子端末103はCPUやRAMといった構成要素からなるコンピュータシステムである。一般的にはPC、携帯電話、PDAなどで実現されるが、それに限定されるものではない。第二の電子端末103は、第一の電子端末102と同様に、TCGによって定められたTrustedPlatformModule(TPM)と呼ばれるセキュリティモジュールを中心としたセキュアなプラットフォームを備えている。第二の電子端末103も第一の電子端末102と同様、ProtectedStorage技術をサポートしており、ツリー構造でデータを管理している。ただし、ルート鍵は、公開鍵暗号の鍵ではなく、symmetricSRKと呼ばれる秘密鍵暗号の鍵である。
続いて、第一の電子端末102及び第二の電子端末103の構成の詳細について説明する。
図2は、第一の電子端末102及び第二の電子端末103の構成を示した図である。TrustedPlatformModule201は、TCGによって定められたセキュリティモジュールである。暗号エンジンや不揮発メモリなどを備える。詳細については、“TPM Main Part1、2、3 Design Principles”において記載されているため、説明を省略する。
なお、第一の電子端末102や第二の電子端末103が備えるセキュリティモジュールをTrustedPlatformModule(TPM)としたが、TCG Mobile PhoneWGでは同等のセキュリティモジュールをMobile Trusted Moduleと呼んでおり、呼称はこれに限定されるものではない。また、その実装方法は一般的には半導体を用いたハードウェアで実現されるが、ソフトウェアで実現されてもよい。
TCGSoftwareStack202は、TrustedPlatformModule201を備えたセキュアなプラットフォーム上で各種アプリケーションにサービスを提供するソフトウェアのライブラリ群である。詳細については、“TCG Software Stack(TSS) Specification Version1.2
Level1 ErrataA”において記載されているため、説明を省略する。
LocalMigrationServices203は、データのMigrationサービスを実現するためのクライアント側のモジュールである。詳細については、非特許文献1において記載されているため、説明を省略する。
Controlling Application204は、クライアント内のMigration処理を制御するためのクライアント側のモジュールである。詳細については、非特許文献1において記載されているため、説明を省略する。
LocalApplication205は、データのMigrationサービスを利用する一般的なアプリケーションである。例としては、音楽や映像などのデジタルコンテンツの権利管理を行うDigitalRightsManagement(DRM)アプリケーション、住所録、クレジット決済などのアプリケーションが考えられるが、これに限定されるものではない。
入出力手段206は、MigrationAuthority101とデータの送受信を行う。
保存領域207は、AIK証明書210や情報管理証明書211などを保存している。一般的にはHDD、Flashメモリなどで実現されるが、情報を保存できる機能を持つものであればこれに限定されるものではない。
AIK証明書210は、Attestation Identity Key Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority101によって発行されているものとする。AIK証明書210は、TPMがAIK(Attestation Identity Key)を保有していることなどを確認するために用いられる。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
情報管理証明書211は、秘密データ215の管理方法について確認するために用いられる。本実施の形態ではMigrationAuthority101によって発行されているものとする。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
Conformance証明書212は、TCGの評価基準に準拠していることを証明する属性証明書である。一般的には評価を行う機関によって発行される。本実施の形態では、MigrationAuthority101によって発行されているものとする。
なお、AIK証明書210や情報管理証明書211、Conformance証明書212は別々の証明書として説明したが、これらが一つにまとまって証明書を構成していてもよい。
秘密データ215は、SRK(StorageRootKey)を用いて管理された秘密データの集合である。AIK(Attestation Identity Key)もこれに含まれる。TCGによって定められたSRKによって保護される秘密のデータは、一般的にツリー構造で管理されるが、詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
なお、秘密のデータには鍵が含まれるが、この鍵の生成時間や生存期間を示すようなパラメータが含まれていてもよい。
続いて、情報管理証明書211の詳細について説明する。
図3は、情報管理証明書211の構成を示した図である。情報管理証明書211は、4つのデータを含むデータ構造を持つ。1つ目は、SRKTypeである。これは秘密データの管理方法に公開鍵暗号を用いた方法を用いているか、秘密鍵暗号を用いた方法を用いているかを示すデータ型のデータである。
2つ目は、CihperTypeである。これは秘密データの管理方法で用いている暗号アルゴリズムについて示すデータ型のデータである。暗号アルゴリズムの例としては、RSA(Rivest Shamir Adleman)暗号、ECC(Elliptic Curve Cryptosystem)暗号、AES(Advanced Encryption Standard)暗号などが挙げられるが、これらに限定されるものではない。
3つ目は、Key Lengthである。これは秘密データの管理方法で用いている暗号鍵の鍵長を示すデータ型のデータである。
4つ目は、デジタル署名である。1〜3のデータ型のダイジェスト値をMigrationAuthority101の秘密鍵で暗号化したデータが入る。
なお、情報管理証明書211には、鍵の更新機能を持つか否かを示すようなデータが含まれていてもよい。
続いて、Conformance証明書212の詳細について説明する。
図4は、Conformance証明書212の構成を示した図である。Conformance証明書212は、9つのデータを含むデータ構造を持つ。1つ目は、Evaluateレベルを示すデータである。ISO/IEC15408で定められたセキュリティの評価基準に基づいて認定されたレベルなどで表される。EALはEvaluation Assurance Levelの略で、後ろに付与される数字が大きければ大きいほど高いレベルの保証要件をクリア出来ていることになる。また、“EAL4+“といったレベルも策定されているため、時代の変化に応じて追加されたものを、本領域で扱われるデータとして追加してもよい。また、本領域は必ずしもISO/IEC15408に基づいて認定されたレベルだけのために使われる領域ではなく、通信キャリアなどMigrationAuthority101となる業者が任意にレベルを決定し、用いても良い領域である。
2つ目は、Evaluateレベルに用いるセキュリティ評価基準の仕様を特定するためのデータである。ISO/IEC15408にも1999年に策定されたISO/IEC15408:1999や2005年に策定されたISO/IEC15408:2005など複数あるため、本領域を参照して評価基準の対象仕様を特定する。
3つ目以降のデータは、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
続いて、MigrationAuthority101の詳細について説明する。
図5は、MigrationAuthority101の構成を示した図である。
データ受信手段500は、電子機器102や電子機器103からのMigrationPackageのUploadやDownloadリクエストや各種処理に必要なデータを受信する。
Attestation処理手段501は、電子端末よりMigrationAuthority101へアクセスがあったときにAttestation処理を行う。Attestation処理により電子端末に不正があれば、その不正を発見することができる。Attestationについては、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。Attestationの結果はデータ送信手段506を通じて電子端末へ送る。
証明書解析手段502は、Migration元となる電子機器やMigration先となる電子機器から送られてきた証明書が正当なものであるかの解析を行う。RSA暗号演算機能、RSA暗号演算機能で用いられる公開鍵と秘密鍵の鍵ペア、SHA(Secure Hash Algorithm)1演算機能を備えるとする。
証明書の正当性の検証には、Public Key Infrastructure(PKI)で定められた公開鍵暗号による検証の方法を用いるとする。PKI用いた検証については一般的であるため、説明は省略する。なお、証明書の正当性を証明できる方法であれば、これに限定されない。また、証明書によっては、MigrationAuthority101以外により発行される場合があるが、本実施の形態においては全ての証明書はMigrationAuthority101によって発行されたものであるとして、MigrationAuthority101以外により発行される場合の説明は省略する。
証明書検証の結果は、データ送信手段506を通じて電子端末へ送られる。
MigrationPackage登録手段503は、電子機器102や電子機器103より送られてきた秘密のデータを格納したMigrationPackageを、後述するMigrationPackage管理表601に登録し、保存領域507へ保存する。
Migrate可否判定手段504は、電子機器102や電子機器103から送られてきたMigrationPackage送信要求に応じて、後述するMigrationPackageID、後述する暗号化された親鍵、後述する暗号化パラメータ1201、Conformance証明書212、情報管理証明書211からMigrateの可否を判定する。判定には、後述する暗号強度表701と後述する認証レベル判定表801、後述するMigrationPackage管理表601を用いる。Migrate可能と判定された場合は、MigrationPackage再生成手段505へ、MigrationPackage再生成要求を出す。
なお、Migrate可否判定手段504は、MigrationPackage管理表601に基づいて、判定するとしたが、証明書の情報に直接アクセスして判定する方法をとってもよい。
MigrationPackage再生成手段505は、Migrate可否判定手段504からMigratePackage再生成要求とともにMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受け取ると、MigrationPackageの暗号変換を行い再生成する。再生成の手順の詳細については後述する。再生成したMigrationPackageは、データ送信手段506へ送る。
データ送信手段506は、Migrate可否判定手段504からMigratePackageを受け取ると、保存領域507よりMigrationPackageを取り出し、電子機器102や電子機器103へ送信する。
続いて、MigrationPackage管理表601の詳細について説明する。
図6は、MigrationPackage管理表601の構成を示した図である。表は、MigrationPackageをMigrationAuthority101内で特定するMigrationPackageID、MigrationPackageを保存した保存領域507のフルパスのファイル名などのデータを含む。なお、他のパラメータは、情報管理証明書211およびConformance証明書212のEvaluateレベルと同一であるため、説明を省略する。
続いて、暗号強度表701の詳細について説明する。
図7は、暗号強度表701の構成を示した図である。表は強度レベル、秘密鍵暗号アルゴリズム鍵長、RSAアルゴリズム鍵長、ECCアルゴリズム鍵長といったパラメータで構成される。図7では例えば、強度レベル1を満たすには、秘密鍵暗号アルゴリズムを用いた場合の鍵長は80ビット、RSAアルゴリズムを用いた場合の鍵長は1024ビット、ECCアルゴリズムを用いた場合の鍵長は160ビットであることを示している。
なお、暗号強度表701はまだ暗号アルゴリズムに脆弱性が発見されていないことが前提となっている。暗号アルゴリズムによって脆弱性が発見された場合はさらなる鍵長を必要とするため、暗号強度表701は、時間とともに変化するものである。よって、暗号強度表701は、適宜認証局のような第三者機関から更新されるものであってもよい。更新をすることで最新の暗号強度の評価や暗号アルゴリズムへの対応が可能となる。
Migrate可否判定手段504は、この暗号強度表701を用いて、Migrate先の電子機器の強度レベルが、Migrate元と比べて同等以上であれば、Migrateを許可するという判定アルゴリズムに従って判定を行う。これは、Migrateによって強度を下げないようにするためである。
なお、判定アルゴリズムとしては、Migrate先は1つ認証レベルの下がったもの以上であれば許可する、もしくは1つ以上認証レベルが上でなければ許可しない、などが考えられる。
また、Migrate可否判定手段504が使用する判定アルゴリズムを、Migrate元が指定できるような構成であってもよい。さらに、判定に用いる暗号強度表701や認証レベル判定表801を、Migrate元が、MigrationAuthority101へ送り、指定できるような構成であってもよい。
続いて、認証レベル判定表801の詳細について説明する。
図8は、認証レベル判定表801の構成を示した図である。認証レベル半定評は、MigrationAuthorityがどのような時に、Migrateを許可するかについてのセキュリティポリシーを示す。表はMigrate元認証レベル、Migrate先認証レベルといったパラメータで構成される。認証レベル判定表801では、Migrate元認証レベルがEAL1の場合は、Migrate先認証レベルはいかなるものであってもよい(ANY)ことを示している。また、EAL2の場合はEAL1以上、EAL3の場合はEAL2以上、EAL4の場合はEAL3以上の認証レベルが必要であるとしている。また、EAL5以上ではMigrate先でも同等の認証レベルが必要とされる。EAL1〜7以外であれば、Migrate先認証レベルはいかなるものでもよいとしている。
なお、ここではMigrate元がEAL2からEAL4であれば、Migrate先は1つ認証レベルの下がったものでもよいとしたが、同等以上でなければならないとしてもよい。
続いて、本実施の形態における秘密のデータのUploadを行う動作について説明する。
図9は、第一の電子端末102がMigrationAuthority101に対して秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S901)第一の電子端末102で秘密のデータのUploadの準備を行う。Uploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。
そして、第一の電子端末102は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第一の電子端末102を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S902)第一の電子端末102からMigrationAuthority101へ、MigrationPackageをUploadするリクエストを行う。第一の電子端末102は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority101へ送る。
ダイジェスト値とデジタル署名の送付は、Integrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S903)MigrationAuthority101は、第一の電子端末102からMigrationPackageのUploadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、AttestationAttestation処理の実行により第一の電子端末102が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
(S904)MigrationAuthority101は、(S903)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority101の公開鍵(MApubKey)を第一の電子端末102へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第一の電子端末102へ送る。
(S905)第一の電子端末102は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority101よりOKを受信した場合、同時に受信したMApubKeyで(S901)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority101よりNGを受信した場合は、処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第一の電子端末102とMigrationAuthority101で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S906)第一の電子端末102は、(S905)で暗号化したMigrationPackage、Conformance証明書212、情報管理証明書211をMigrationAuthority101へ送付する。
なお、MigrationPackageと、Conformance証明書212、情報管理証明書211をそれぞれ別々のデータとして扱ったが、各証明書が、MigrationPackageに含まれる構成をとってもよい。
(S907)MigrationAuthority101は、MigrationPackage、Conformance証明書212、情報管理証明書211を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて、以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)いずれかの証明書で不正が発見された場合は、データ送信手段506を通じてNGを返す。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Conformance証明書212、情報管理証明書211を受信すると、MigrationPackageをMigrationAuthority101で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S908)MigrationAuthority101は、(S907)の登録処理が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageIDを、第一の電子端末102へ送る。
続いて、本実施の形態における秘密のデータのDownloadを行う動作について説明する。
図10は、第二の電子端末103が、MigrationAuthority101から秘密のデータをDownloadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S1001)第二の電子端末103では、MigrationPackageのDownloadの準備を行う。具体的には、第二の電子端末103は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第二の電子端末103を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S1002)第二の電子端末103からMigrationAuthority101へ、MigrationPackageをDownloadするリクエスト(Downloadリクエスト)を行う。第二の電子端末103は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority101へ送る。
(S1003)MigrationAuthority101は、第二の電子端末103からMigrationPackageのDownloadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、AttestationAttestation処理の実行により第二の電子端末103が不正な端末であるかどうかを検証する。
(S1004)MigrationAuthority101は、(S1003)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合、MigrationAuthority101は、Attestation結果のOKとMigrationAuthority101の公開鍵(MApubKey)とを、第二の電子端末103へ送る。
ii)不正があることが発見された場合、MigrationAuthority101は、Attestation結果のNGを第二の電子端末103へ送る。
(S1005)第二の電子端末103は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority101よりOKを受信した場合、第二の電子端末103は、親鍵を、同時に受信したMApubKeyで暗号化する。親鍵は、MigrationPackageを展開したときにできるツリー構造中で最上位にくる秘密のデータを暗号化する鍵である。
ii)MigrationAuthority101よりNGを受信した場合、第二の電子端末103は、処理を終了する。
なお、親鍵を安全に取扱うために、MApubKeyを用いて親鍵の暗号化をしているが、親鍵を安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第二の電子端末103とMigrationAuthority101で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S1006)第二の電子端末103は、DownloadをしたいMigrationPackageのMigrationPackageID、(S1005)で暗号化した親鍵、MigrationPackageの再生成時に用いられる暗号化パラメータ、Conformance証明書212、情報管理証明書211をMigrationAuthority101へ送付する。
(S1007)MigrationAuthority101はMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合、証明書解析手段502は、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を、Migrate可否判定手段504へ送る。
ii)いずれかの証明書で不正が発見された場合、証明書解析手段502は、データ送信手段506を通じてNGを返す。
Migrate可否判定手段504は、証明書解析手段502からMigrationPackageID、暗号化された親鍵、暗号化パラメータ1201、Conformance証明書212、情報管理証明書211を受信する。Migrate可否判定手段504の判定の動作については、図11を用いて後述する。この判定の結果に応じて、Migrate可否判定手段504は、以下の動作を行う。
i)OKであれば、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211をとともにMigrationPackage再生成要求をMigrationPackage再生成手段505へ送る。
ii)NGであれば、データ送信手段506を通じてNGを返す。
MigrationPackage再生成手段505は、MigrationPackage再生成要求とともに、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受け取ると、MigrationPackageIDで指定されたMigrationPackageの再生成を行う。再生成の動作については、図13を用いて後述する。
(S1008)MigrationAuthority101は、(S1007)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第二の電子端末103へ送る。
なお、第二の電子端末103は、MigrationPackageを受信した後、MigrationPackageをTrustedPlatformModule201の中で復号化し、正当なデータか否かを証明書を用いて確認するとしてもよい。この場合、正当なデータではなかった場合は、MigrationAuthority101へ、MigrationPackageの再送信を要求する処理を行ってもよい。
続いて、本実施の形態における秘密のデータのMigrateの可否を判定する動作について説明する。
図11は、MigrationAuthority101のMigrate可否判定手段504の動作手順を表した図である。
本実施の形態では、指定されたMigrationIDは001、Conformance証明書211のEvaluateレベルはEAL4、情報管理証明書211のSRKTypeはsymmetric、CipherTypeはAES、KeyLengthは128を指定したものとして説明を行う。
(S1101)Migrate可否判定手段504は、受信したMigrationID001で示されるエントリ情報を、MigrationPackage管理表601より取得する。
(S1102)Migrate可否判定手段504は、まずEvaluateレベルについて比較、判定を行う。判定には、認証レベル判定表801を用いる。
本実施の形態では、Conformance証明書211のEvaluateレベルはEAL4である。MigrationID001で指定されたEvaluateレベルの値はEAL4であるため、それぞれの認証レベルは同一である。認証レベル判定表801によると、EAL3以上であればMigrateを可能としているため、判定はOKである。
(S1103)Migrate可否判定手段504は、暗号強度について比較、判定を行う。
本実施の形態では、情報管理証明書211のSRKTypeはsymmetric、CipherTypeはAES、KeyLengthは128である。MigrationID001で指定されたSRKTypeはasymmetric、CipherTypeはRSA、KeyLengthは2048である。ここで、SRKType、CipherTypeが異なるため、KeyLengthのみの比較では強度レベルの判定はできない。したがって、強度レベルの判定に暗号強度表701が用いられる。
MigrationID001で指定された暗号の強度レベルは暗号強度表701より強度レベル2である。一方、情報管理証明書211で指定された暗号の強度レベルは暗号強度表701より強度レベル3となる。Migrate可否判定手段504の判定アルゴリズムでは、Migrate先の強度レベルがMigrate元と比べて同等以上であればMigrateを許可するとしているので、判定はOKである。
続いて、暗号化パラメータ1201の構成の詳細について説明する。
図12は、MigrationPacakageをDownloadしたいときに電子端末が送る暗号化パラメータ1201の構成を示した図である。暗号化パラメータ1201は、6つのデータを含んだデータ構造を持つ。
1つ目は、(A)親鍵Lengthである。これは、(S1006)で送った親鍵の鍵長を示すデータである。
2つ目は、(B)親鍵アルゴリズムである。これは、(S1006)で送った親鍵を用いるときの暗号アルゴリズムを示すデータである。RSAやECC、AESといったものが指定される。
3つ目は、(C)変更方法である。これは、MigrationPackage再生成手段505において、どのようなMigrationPackageの再生成を行うかを示すデータである。以下の3つを指定することが出来る。
(1)パラメータ0:親鍵の下の階層に来るデータだけを親鍵で暗号化をする。
(2)パラメータ1:MigrationPackageに含まれる秘密データの暗号アルゴリズムを全て親鍵アルゴリズムで指定されるアルゴリズムに統一する。
(3)パラメータ2:MigrationPackageに含まれる秘密データの暗号アルゴリズムのうち秘密鍵方式のアルゴリズムを(D)指定秘密鍵アルゴリズムで指定されるアルゴリズムに変更する。また、公開鍵方式のアルゴリズムを(E)指定公開鍵アルゴリズムで指定されるアルゴリズムに変更する。
4つ目は、(D)指定秘密鍵アルゴリズムである。秘密鍵アルゴリズムが指定される。これは、(C)変更方法でパラメータ2が指定されたときに参照される。
5つ目は、(E)指定公開鍵アルゴリズムである。公開鍵アルゴリズムが指定される。これは、(C)変更方法でパラメータ2が指定されたときに参照される。
6つ目は、(F)変更強度レベルである。(C)変更方法においてパラメータ1もしくはパラメータ2が指定されたときに参照される。以下の3つを指定することができる。
(1)パラメータ0:親鍵と同一の強度レベルでMigrationPackageの再生成を行う。
(2)パラメータ1:情報管理証明書211と同一の強度レベルでMigrationPackageの再生成を行う。
(3)パラメータ2:現在のMigrationPackageと同一の強度レベルでMigrationPackageの再生成を行う。
続いて、MigrationPackage再生成手段505にある暗号化パラメータ1201が与えられたときの再生成動作について説明する。
図13〜図15は、それぞれ、MigrationAuthority101のMigrationPackage再生成手段505に、ある暗号化パラメータ1201が与えられたときの再生成動作の例を表した図である。
図13は、MigrationPackageが再生成例1301の左側で示されるツリー構造をしているときに、暗号化パラメータ1302が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1302の(C)変更方法においてパラメータ0が指定されているため、MigrationPackage再生成手段505は、親鍵での暗号化のみを行う。
MigrationPackageを展開したとき、最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらを、MigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1301の右側に示されたツリー構造の親鍵を除いた波線の部分が、MigrationPackageとして再生成される。
図14は、MigrationPackageが再生成例1401の左側で示されるツリー構造をしているときに、暗号化パラメータ1402が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1402の(C)変更方法においてパラメータ1が指定されているため、MigrationPackage再生成手段505は、全体の暗号アルゴリズムの変更を行う。
以下その手順をステップ毎に説明する。
ステップ1:
まず、MigrationPackageを展開したときの最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらをMigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、そのRSA2048ビットの秘密鍵を用いて、RSA1024ビットの鍵ペアとデータ1を復号化する。そして、RSA1024ビットの秘密鍵を用いてデータ2を復号化する。
ステップ2:
(F)変更強度レベルがパラメータ2であるため、MigrationPackage再生成手段505は、現在のMigrationPackageと同一の強度レベルで再生成を行う。RSA1024ビットに相当する秘密鍵アルゴリズムの鍵長は、暗号強度表701より80ビットである。
しかしながら、AESのとる最小の鍵長は、128ビットであるため、128ビットの鍵を生成しAESアルゴリズムを用いてデータ2を暗号化する。さらに、RSA2048ビットに相当する秘密鍵アルゴリズムの鍵長は、暗号強度表701より112ビットである。しかしながら、AESのとる最小の鍵長は128ビットであるため、128ビットの鍵を生成しAESアルゴリズムを用いてAES128ビットの鍵とデータ1を暗号化する。最後に(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1301の右側に示されたツリー構造の親鍵を除いた波線の部分が、MigrationPackageとして再生成される。
図15は、MigrationPackageが、再生成例1501の左側で示されるツリー構造をしているときに、暗号化パラメータ1502が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1502において(C)変更方法でパラメータ2、(D)指定秘密鍵アルゴリズムでAES、(E)指定公開鍵アルゴリズムでECCが指定されているため、MigrationPackage再生成手段505は、全体の秘密鍵アルゴリズムおよび公開鍵アルゴリズムの変更を行う。
以下、その手順をステップ毎に説明する。
ステップ1:
まず、MigrationPackageを展開したときの最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらをMigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、そのRSA2048ビットの秘密鍵を用いて、DES(Data Encryption Standard)56ビットの鍵ペアとデータ1を復号化する。そして、DES56ビットの秘密鍵を用いてデータ2を復号化する。
ステップ2:
(F)変更強度レベルでパラメータ0であるため、現在の親鍵と同一の強度レベルで再生成を行う。DESは秘密鍵暗号であるので、(D)指定秘密鍵アルゴリズムに指定されているAES128ビットに変更される。よって、128ビットの鍵を生成しAESアルゴリズムを用いてデータ2を暗号化する。次に、RSAは公開鍵暗号であるため、(E)指定公開鍵アルゴリズムでECCに変更される。親鍵であるAES128ビットに相当するECCの鍵長は、暗号強度表701より256ビットである。よって、256ビットの鍵を生成しECCアルゴリズムを用いてAES128ビットの鍵とデータ1を暗号化する。最後に(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1301の右側に示されたツリー構造の親鍵を除いた波線の部分が、MigrationPackageとして再生成される。
なお、親鍵はMigrationPackageをDownloadする第二の電子端末から送るとしたが、MigrationAuthority101側で生成する構成であってもよい。
以上で、本発明の実施の形態1の説明を終る。
(実施の形態2)
続いて、本発明の実施の形態2について、図面を参照しながら説明する。
本実施の形態2では、実施の形態1で説明した秘密のデータのMigrate方法をDRM(DigitalRightsManagement)アプリケーションに適用した例を説明する。
LocalApplication205が、DRMアプリケーションであると想定する。DRMアプリケーションは、音楽や動画などのデジタルコンテンツを取扱うアプリケーションで、これらの著作権保護を実現する。また、デジタルコンテンツの利用に関して回数制限や期間制限、時間制限など細やかな権利管理を実現するアプリケーションである。
図16は、コンテンツ管理テーブル1601およびコンテンツ管理テーブル1602の構成を示した図である。コンテンツ管理テーブル1601は、DRMアプリケーションで取扱うコンテンツの保存先を管理する。2つコンテンツ管理テーブルがあるのは、DRMアプリケーションが、一定数以上のコンテンツを管理し、1つのコンテンツ管理テーブルで扱うコンテンツ数を超えた状態を意味している。
コンテンツ管理テーブル1601は、コンテンツを特定するコンテンツIDと、保存位置を特定できるフルパスで示されたファイル名がリストになって構成されている。このコンテンツ管理テーブル1601によりコンテンツIDから保存領域207に保存されているコンテンツの保存位置を特定することができる。コンテンツ管理テーブル1602についてもコンテンツ管理テーブル1601と同様の構成をとる。
図17は、本発明の実施の形態2におけるDRMアプリケーションが、著作権保護および権利管理を実現するための構成を示す図である。
権利管理テーブル1701は、DRMアプリケーションが取扱うコンテンツの権利管理を行うテーブルである。それぞれはその状態を示す一例である。各行のエントリ情報は、コンテンツID、コンテンツ鍵、権利情報などを含む。各エントリ情報は、コンテンツ権利情報の受信時かもしくは電子端末で定められたタイミングで権利管理テーブルに登録されるが、本実施の形態ではその登録に関する手順は省略する。
コンテンツIDはコンテンツを特定するための識別情報である。復号要求送信手段112から送られるコンテンツIDと一致する番号情報が登録されており、それをキーとしてエントリ情報を検索することができる。
コンテンツ鍵はコンテンツIDで示される暗号化されたコンテンツの復号鍵である。コンテンツがAESで暗号化されている場合、鍵長は128ビットや192ビット等あるが、本実施の形態はそれに限定しない。
権利情報はコンテンツIDで示されるコンテンツがどのような権利で管理されるかを特定する情報である。権利情報の詳細については、説明を省略する。
移動フラグは、コンテンツをMigrationAuthority101へアップロードしたかどうかを示すフラグである。「0」はアップロードしていない状態を示す。「1」はアップロードした状態を示す。「1」のフラグが示されている状態の場合は、ユーザはコンテンツの再生や移動を行うことができない。
権利管理テーブル1704は権利管理テーブル1701と同様の構成をとり、権利管理テーブル1704に対応している。
権利保護鍵テーブル1702は、権利管理テーブル1701における各エントリ情報を暗号化する権利保護鍵を管理するテーブルである。権利保護鍵でエントリ情報のコンテンツID以外の情報を暗号化して保護している。
権利保護鍵テーブル1705は権利保護鍵テーブル1702と同様の構成をとる。
時変鍵1703は、権利保護鍵テーブル1702を暗号化する鍵である。時間の経過とともに鍵の値が変化する特徴をもつ。このような鍵が用いられる目的は、DRMアプリケーションにおける権利管理では、悪意のあるユーザが権利消費前の権利をバックアップしておいて、権利を消費した後にバックアップしておいた権利消費前の権利をリストアすることで、永久に権利消費が行われないようなバックアップリストア攻撃を防止するためである。
時変鍵はユーザによって改竄されないセキュアな時刻情報やカウンタなどによって生成されるが、生成方法の詳細については、説明を省略する。
時変鍵1706は、時変鍵1703と同様の特徴を持ち、権利保護鍵テーブル1705に対応している。
図18は、DRMアプリケーションが時変鍵1703および時変鍵1706、権利保護鍵テーブル1702及び権利保護鍵テーブル1705をツリー構造で管理している図(左側)と、ユーザによってコンテンツのUploadを指定され、生成されたMigrationPackageが持つツリー構造の図(右側)である。
左側のツリーの状態は、権利保護鍵テーブル1702が時変鍵1703で暗号化され、権利保護鍵テーブル1705が時変鍵1706で暗号化されている状態を示している。暗号アルゴリズムにはAESが用いられ、それぞれの時変鍵の鍵長は128ビットであることを示している。さらに時変鍵1703、時変鍵1706はDRMアプリケーションと対応するDRM鍵で暗号化されている。暗号アルゴリズムにはRSAが用いられ、DRM鍵の鍵長は2048ビットであることを示している。
右側のツリーの状態は、MigrationPackageを生成した後の結果を示している。ユーザが指定したコンテンツのコンテンツIDに対応する権利管理テーブル1701または権利管理テーブル1704のエントリ情報を暗号化している権利保護鍵を取り出して移動用権利保護鍵テーブル1802を生成し、128ビットの移動鍵1801を生成して、移動用権利保護鍵テーブルを暗号化する。暗号アルゴリズムにはAESを用いている。
図19は、第一の電子端末102のDRMアプリケーションがMigrationAuthority101に対して秘密のデータをUploadする時の動作手順を表した図である。
(S1901)ユーザがDRMアプリケーションで管理しているコンテンツ管理テーブル1601のコンテンツID001とコンテンツ管理テーブル1602のコンテンツID00aのUploadを指定したとき、第一の電子端末102で秘密のデータのUploadの準備を行う。
(a)DRMアプリケーションは、ユーザからUploadの指定を受けると、指定されたコンテンツのコンテンツIDに対応するエントリ情報を権利管理テーブル1701または権利管理テーブル1704から取り出す。
(b)DRMアプリケーションは、(a)で取り出したエントリ情報より移動用権利管理テーブルを生成する。
(c)DRMアプリケーションは、暗号化されたコンテンツのデータと(b)で生成した移動用権利管理テーブルを、Migrate先となる第二の電子端末103へ直接送る。
なお、コンテンツのデータと移動用権利管理テーブルの第二の電子端末へ渡す方法は、記録メディアを通じたものや、MigrationAuthority101を経由するようなサーバを通じたものであってもよい。
(d)DRMアプリケーションは、TrustedPlatformModule201の中で時変鍵1703、時変鍵1706を用いて、権利保護鍵テーブル1702および権利保護鍵テーブル1705を復号化する。また、指定されたコンテンツのコンテンツIDに対応する権利保護鍵を取り出し、移動用権利保護鍵テーブル1802を生成する。
(e)DRMアプリケーションは、TrustedPlatformModule201の中で128ビットの移動鍵1801を生成し、移動用権利保護鍵テーブル1801を暗号化する。暗号アルゴリズムにはAESが用いられる。
(f)DRMアプリケーションは、移動鍵1801と暗号化した移動用権利保護テーブル1801より、MigrationPackageを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。
MigrationPackageを生成した以降の処理は、(S901)と同一であるため、説明を省略する。
(S1902)(S902)と同一であるため説明を省略する。
(S1903)(S903)と同一であるため説明を省略する。
(S1904)(S904)と同一であるため説明を省略する。
(S1905)(S905)と同一であるため説明を省略する。
(S1906)第一の電子端末102において、
(a)DRMアプリケーションは、TrustedPlatformModule201の中で時変鍵1703、時変鍵1706を用いて、権利保護鍵テーブル1702および権利保護鍵テーブル1705を復号化し、指定されたコンテンツのコンテンツIDで対応する権利保護鍵を取り出す。
(b)DRMアプリケーションは、(a)で取り出した権利保護鍵を用いて、ユーザがUploadを指定した権利管理テーブル1701のコンテンツID「001」とコンテンツ管理テーブル1602のコンテンツID「00a」のエントリ情報を、復号化する。
(c)DRMアプリケーションは、(b)で復号化したエントリ情報の移動フラグを「1」とする。
(d)DRMアプリケーションは、(a)で取り出した権利保護鍵を用いて、再度ユーザがUploadを指定した権利管理テーブル1701のコンテンツID001とコンテンツ管理テーブル1602のコンテンツID00aのエントリ情報を、暗号化する。
(e)DRMアプリケーションは、時変鍵1703および時変鍵1706を更新し、再度利保護鍵テーブル1702および権利保護鍵テーブル1705を暗号化する。
以降の処理は、(S906)と同一であるため、説明を省略する。
(S1907)(S907)と同一であるため説明を省略する。
(S1908)(S908)と同一であるため説明を省略する。
以上で、第一の電子端末102のDRMアプリケーションがMigrationAuthority101に対して秘密のデータをUploadする時の動作手順の説明を終る。
図19(S1906)で移動フラグを「1」としたエントリ情報およびコンテンツは、以下のいずれかで制御される。
(i)図19でUploadしたMigrationPackageを第二の電子端末103がDownloadした後、第一の電子端末102に通知され、コンテンツに対応する情報は全て消去される。
(ii)図19でUploadしたMigrationPackageが第二の電子端末103にDownloadされなかった場合は、移動フラグを「0」に戻し、第一の電子端末102上で再生可能な状態とする。なお、MigrationPackageが第二の電子端末103にDownloadされなかった場合の例としては、MigrationAuthority101におけるMigrationPackageの管理期限が切れ、その旨が第一の電子端末102に通知された場合などが考えられる。
なお、MigrationPackageを第二の電子端末103がDownloadした後、第一の電子端末102がコンテンツに関する情報を全て削除したことを、MigrationAuthority101が把握するために、コンテンツを削除したことを示す情報を、TCGで定められたExtend処理を施してダイジェスト値を生成し、Attestation処理を行うとしてもよい。MigrationAuthority101は第二の電子端末103によるDownload後、Attestation処理が行われない限りは、第一の電子端末102からのアクセスを防ぐような処置を施すことが出来る。
また、DRM方式によっては、ドメインという概念が導入されている。ドメインとは、複数の端末を同一のグループとして捉える概念で、音楽や動画などのデジタルコンテンツの共有に用いられる。以上で説明した秘密のデータのMigrateは、ドメインという枠内に限定されるものとしてもよい。その場合、MigrationAuthority101が第一の電子端末102と第二の電子端末103が同一ドメインであるかどうかを判定する。
以上で、本発明の実施の形態2の説明を終る。
(実施の形態3)
続いて、本発明の実施の形態3について、図面を参照しながら説明する。
図20は、本発明の実施の形態3におけるシステムの全体構成を示す図である。
図20において、MigrationAuthority2001はネットワークを介して第三の電子端末との通信を行い、秘密のデータのMigrationのサービスを提供する。詳細な構成はMigrationAuthority101と同一であるため、説明を省略する。
第三の電子端末2002の基本構成は第一の電子端末102や第二の電子端末103と同一で、ツリー構造でデータを管理しており、ツリー構造のリーフに割り当てたデータを、ルートからそのリーフに至るまでのノードおよびルートに割り当てた鍵で階層的に暗号化して保護している。第一の電子端末102や第二の電子端末103と異なる点は、第一の記憶装置2004と接続している点にある。
続いて第三の電子端末2002の構成の詳細について説明する。
図21は、第三の電子端末2002の構成を示した図である。StorageApplication2101および、Storage証明書2103以外の構成については、第一の電子端末102や第二の電子端末103と同一であるため、説明を省略する。
StorageApplication2101は、第一の記憶装置2004の制御やMigrationAurthority2001との通信を行うソフトウェアである。本実施の形態では、StorageApplication2101は、ホストとStorageDevice間のセキュアなデータ通信などのプロトコルを規定した“TCG
Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”のHost Application仕様を満たしている。SRKで管理されていた秘密データ215の第一の記憶装置2004へのMigrateを実現する。
Storage証明書2103は、ORG Certificateと呼ばれる認証機関から発行された証明書である。本実施の形態では、MigrationAuthority101によって発行されているものとする。ORG Certificateには、第一の記憶装置2004における機能を特徴付けるTemplateが何かが記載されている。Templateには、第一の記憶装置2004でサポートする暗号アルゴリズムについて記載されているため、本実施の形態では第一の記憶装置2004においてサポートする暗号強度を示す情報としてこれを利用する。第一の記憶装置2004にあって、記憶領域を保持し、Methodと呼ばれる外部へ機能を提供する関数を用意するソフトウェアはServiceProviderと呼ばれる。ServiceProviderの機能はTemplateによって決定される。
他にORG Certificateの内容としては、発行機関、サポートする仕様書のバージョン番号、署名で使うアルゴリズム、署名情報などが含まれるが、詳細については、“TCG Storage Workgroup Storage Certificate Profiles1.0”において記載されているため、説明を省略する。また、Templateは、“TCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
そしてStorage証明書2103は、さらに拡張され、Conformance証明書212において説明したEvaluateレベルやセキュリティ評価基準の仕様を特定するためのデータが追加されているものとする。Storage証明書2103は、第一の記憶装置2004がどのくらいの評価認定を受けているかを示す情報として用いられる。評価の指標としては、Conformance証明書212のEvaluateレベルと同じく、ISO/IEC15408で定められたセキュリティの評価基準に基づいて認定されたレベルなどで表される。
また、Storage証明書2103はORG Certificateであるとしたが、暗号強度やEvaluateレベルなど同等の情報を持つデータであれば、これに限定するものではない。
続いて第一の記憶装置2004の構成の詳細について説明する。
図22は、第一の記憶装置2004の構成と第三の電子端末の関係を示した図である。
TrustedPeripheral2200は、第一の記憶装置2004の機能と記憶領域2206に記憶されたデータのデータ構造を管理する。第三の電子端末2002のStorageApplication2101とセキュアな通信路を構築し、データへのアクセスコントロールを実現する。なお、詳細については“TCG Storage
Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
AdminSP2202は、TrustedPeripheral2200に必ず存在するSecurityProviderである。Methodが用意されており、StorageApplication2101がこれをCallする。詳細についてはTCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
CryptoSP2204は、記憶領域2206へ記憶するデータを暗号化するMethodを提供するSecurityProviderである。詳細についてはTCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
記憶領域2206には、TrustedPeripheral2200のAdminSP2202やCryptoSP2204などを通してデータが記憶される。一般的にはHDD、Flashメモリ、BDやDVD、CDなどのOpticalDiskで実現されるが、情報を保存できる機能を持つものであればこれに限定されるものではない。
続いて、本実施の形態におけるTrustedPlatformModule201が保護する秘密のデータのMigrateを行う動作について説明するが、MigrationAuthority2001へのUploadの方法は実施の形態1で既に説明済みであるため、省略する。
以下、本実施の形態におけるMigrationAuthority2001から秘密のデータのDownloadし、第一の記憶装置2004へ記録する動作について説明する。
図23は、第三の電子端末2002がMigrationAuthority2001から秘密のデータをDownloadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S2301)第三の電子端末2002でMigrationPackageのDownloadの準備を行う。第三の電子端末2002は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第三の電子端末2002を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S2302)第三の電子端末2002からMigrationAuthority2001へMigrationPackageをDownloadするリクエスト(Downloadリクエスト)を行う。第三の電子端末2002は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority2001へ送る。
(S2303)MigrationAuthority2001は、第三の電子端末2002からMigrationPackageのDownloadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第三の電子端末2002が不正な端末であるかどうかを検証する。
(S2304)MigrationAuthority2001は、(S2303)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority2001の公開鍵(MApubKey)を第三の電子端末2002へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第三の電子端末2002へ送る。
(S2305)第三の電子端末2002は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2001よりOKを受信した場合、親鍵を、同時に受信したMApubKeyで暗号化する。親鍵はMigrationPackageを展開したときにできるツリー構造中で最上位にくる秘密のデータを暗号化する鍵である。
ii)MigrationAuthority2001よりNGを受信した場合は処理を終了する。
なお、親鍵を安全に取扱うために、MApubKeyを用いて親鍵の暗号化をしているが、親鍵を安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第三の電子端末2002とMigrationAuthority2001で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S2306)第三の電子端末2002は、DownloadをしたいMigrationPackageのMigrationPackageID、(S2305)で暗号化した親鍵、MigrationPackageの再生成時に用いられる暗号化パラメータ、Storage証明書2103をMigrationAuthority2001へ送付する。
(S2307)MigrationAuthority2001はMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、Storage証明書2103の正当性を検証し、検証結果に応じて以下の動作を行う。
i)Storage証明書2103の正当性が確認された場合は、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103をMigrate可否判定手段504へ送る。
ii)Storage証明書2103に不正が発見された場合は、データ送信手段506を通じてNGを返し、処理を終了する。
上記i)の証明書の正当性が確認された場合に、Migrate可否判定手段504は、証明書解析手段502からMigrationPackageID、暗号化された親鍵、暗号化パラメータ1201、Storage証明書2103を受信する。
Migrate可否判定手段504の判定の動作については、図24を用いて後述する。
この判定の結果に応じて、Migrate可否判定手段504は、以下の動作を行う。
i)OKであれば、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103とともにMigrationPackage再生成要求をMigrationPackage再生成手段505へ送る。
ii)NGであれば、データ送信手段506を通じてNGを返し、処理を終了する。
上記i)Migrate可否判定手段504の判定結果がOKの場合に、MigrationPackage再生成手段505は、MigrationPackage再生成要求とともにMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103を受け取ると、MigrationPackageIDで指定されたMigrationPackageの再生成を行う。
(S2308)MigrationAuthority2001は、(S2307)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第三の電子端末2002へ送り、第三の電子端末2002はあらかじめ定められた方法によって、MigrationPakageを第一の記憶装置2004へ記録する。
なお、第三の電子端末2002は、MigrationPackageを受信した後、MigrationPackageをTrustedPlatformModule201の中で復号化し、正当なデータか否かを証明書を用いて確認するとしてもよい。この場合、正当なデータではなかった場合は、MigrationAuthority2001へMigrationPackageの再送信を要求する処理を行ってもよい。
続いて、本実施の形態における秘密のデータのMigrateの可否を判定する動作について説明する。
図24は、MigrationAuthority2001のMigrate可否判定手段504におけるMigrate判定の動作手順を表した図である。
本実施の形態では、MigrationIDは001、Storage証明書2103のEvaluateレベルはEAL4、CipherTypeはAES、KeyLengthは128を指定したものとして説明を行う。
(S2401)Migrate可否判定手段504は、受信したMigrationID001で示されるエントリ情報をMigrationPackage管理表601より取得する。
(S2402)Migrate可否判定手段504は、まずEvaluateレベルについて比較、判定を行う。判定には、認証レベル判定表801を用いる。
Storage証明書2103のEvaluateレベルはEAL4であるとする。MigrationID001で指定されたEvaluateレベルの値はEAL4であるため、それぞれの認証レベルは同一である。認証レベル判定表801によると、EAL3以上であればMigrateを可能としているため、判定はOKである。
(S2403)Migrate可否判定手段504は、暗号強度について比較、判定を行う。
Storage証明書2103のCipherTypeがAES、KeyLengthが128であるとする。MigrationID001で指定されたSRKTypeはasymmetric、CipherTypeはRSA、KeyLengthは2048である。ここで、SRKType、CipherTypeが異なるため、KeyLengthのみの比較では強度レベルの判定はできない。したがって、強度レベルの判定に暗号強度表701が用いられる。
MigrationID001で指定された暗号の強度レベルは暗号強度表701より強度レベル2である。一方、Storage証明書2103で指定された暗号の強度レベルは暗号強度表701より強度レベル3となる。Migrate可否判定手段504の判定アルゴリズムでは、Migrate先の強度レベルがMigrate元と比べて同等以上であればMigrateを許可するとしているので、判定はOKである。
なお、StorageApplication2101は、第三の電子端末2002にインストールされた第一の記憶装置2004を管理するホスト側アプリケーションとして記述したが、第三の電子端末2002とは異なる電子端末にインストールされ、MigrationAuthority2001経由でデータのMigrateが行われるとしてもよい。
また、MigrationAuthority2001は、第三の電子端末2002と異なる装置である必要はなく、アプリケーションとして第三の電子端末2002にインストールされ、StorageApplication2101と第三の電子端末2002内で通信しながらMigrateを行う構成であってもよい。
続いて、本実施の形態における第一の記憶装置2004が記録する秘密のデータのMigrateを行う動作について説明するが、MigrationAuthority2001からのDownloadの方法は実施の形態1で既に説明済みであるため、省略する。
以下、本実施の形態におけるMigrationAuthority2001へ秘密のデータのUploadする動作について説明する。
図30は、第三の電子端末2002が、MigrationAuthority2001から秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S3001)第三の電子端末2002で第一の記憶装置2004のデータのMigrationPackageのUploadの準備を行う。Uploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。
そして、第三の電子端末2002は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第三の電子端末2002を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S3002)第三の電子端末2002からMigrationAuthority2001へMigrationPackageをUploadするリクエスト(Uploadリクエスト)を行う。第三の電子端末2002は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority2001へ送る。
(S3003)MigrationAuthority2001は、第三の電子端末2002からMigrationPackageのUploadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第三の電子端末2002が不正な端末であるかどうかを検証する。
(S3004)MigrationAuthority2001は、(S3003)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority2001の公開鍵(MApubKey)を第三の電子端末2002へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第三の電子端末2002へ送る。
(S3005)第三の電子端末2002は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2001よりOKを受信した場合、同時に受信したMApubKeyで(S3001)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority2001よりNGを受信した場合は処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第三の電子端末2002とMigrationAuthority2001で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S3006)第三の電子端末2002は、(S3005)で暗号化したMigrationPackage、Storage証明書2103をMigrationAuthority2001へ送付する。
なお、MigrationPackageと、Storage証明書2103をそれぞれ別々のデータとして扱ったが、証明書がMigrationPackageに含まれる構成をとってもよい。
(S3007)MigrationAuthority2001はMigrationPackage、Storage証明書2103を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、Storage証明書2103の正当性を検証し、検証結果に応じて以下の動作を行う。
i)Storage証明書2103の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)Storage証明書2103に不正が発見された場合は、データ送信手段506を通じてNGを返し、処理を終了する。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Storage証明書2103を受信すると、MigrationPackageをMigrationAuthority101で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S3008)MigrationAuthority101は、(S3007)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第三の電子端末2002へ送る。
以上で、本発明の実施の形態3の説明を終る。
(実施の形態4)
続いて、本発明の実施の形態4について、図面を参照しながら説明する。
図25は、本発明の実施の形態4におけるシステムの全体構成を示す図である。
図25において、MigrationAuthority2501はネットワークを介して電子端末との通信を行い、電子端末における仮想環境や秘密のデータのMigrationのサービスを提供する。詳細な構成はMigrationAuthority101と同一であるため、説明を省略する。
第四の電子端末2502や第五の電子端末2503の基本構成は第一の電子端末102や第二の電子端末103と同一であるが、仮想化技術の導入により複数OSの共存が可能となっている。詳細については、図26を用いて後述する。
図26は、第四の電子端末2502および第五の電子端末2503の構成を示した図である。
Hypervisor2602は、コンピュータにおけるリソースを抽象化する仮想化技術を実現するモジュールである。代表的な例としては、複数のOSを制御するXENやVMWare、アプリケーションの移植性に強さを発揮するJava(登録商標)VirtualMachineなどがあげられる。
Management手段2603は、他の電子端末のManagement手段2603と連携し、VirtualMachineのMigrateを実現する。実施の形態1〜3では、Migrateの対象は秘密データであったが、本実施の形態では、VirtualMachineをMigrateする。VirtualMachineのMigrateとは、仮想化技術におけるある電子端末からOSやアプリケーションを含むVirtualMachineごと別の電子端末へ移動し、実行する技術のことをさす。
なお、VirtualMachine2604およびVirtualMachine2605の詳細については、図27を用いて後述する。
AIK証明書2610は、Attestation Identity Key Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority101によって発行されているものとする。AIK証明書210は、TPMがAIK(Attestation Identity Key)を保有していることなどを確認するために用いられる。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
情報管理証明書2611は、第四の電子端末2502および第五の電子端末2503でサポートする秘密データ215の管理方法を記載している。複数の暗号方式をサポートしている場合は、複数の情報管理証明書2611が保存領域2607に記録されてもよい。本実施の形態ではMigrationAuthority2501によって発行されているものとする。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
Conformance証明書2612は、TCGの評価基準に準拠していることを証明する属性証明書である。一般的には評価を行う機関によって発行される。本実施の形態では、MigrationAuthority2501によって発行されているものとする。
なお、AIK証明書210や情報管理証明書211、Conformance証明書212は別々の証明書として説明したが、これらが一つにまとまって証明書を構成していてもよい。
続いてVirtualMachine2604およびVirtualMachine2605の構成の詳細について説明する。
図27は、VirtualMachine2604およびVirtualMachine2605の構成を示した図である。各VirtualMachineは、それぞれが仮想的に1つの装置全体を実現している。そのため、各VirtualMachineは、第一の電子端末102や第二の電子端末103と同様の構成を備えている。MachineMigrate制御手段2701および、基盤証明書2703以外の構成については、第一の電子端末102や第二の電子端末103と同一であるため、説明を省略する。
MachineMigrate制御手段2701は、Management手段2603やMigrationAuthority2501と連携しながら、VirtualMachineのMigrationを行う。
基盤証明書2703は、Platform Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority2501によって発行されているものとするが、第四の電子端末2502や第五の電子端末2503の内部で生成されてもよい。“TCG Virtualized Platform WG”では、従来のPlatform CredentialにVirtualMachineのMigrate先となる電子端末に必要な最低限のレベルを記載する“Minimum Trust Level”を追加している。Minimum Trust Levelの記載は、Conformance証明書212のEvaluateレベル、Evaluate仕様と同じく行われる。基盤証明書2703は他に、VirtualMachineの製造会社や、VirtualMachineの基盤となっているタイプについての情報が記載されるが、詳細については、“TCG Specification Architecture Overview”や“TCG Virtulized Platform WG”より公開される仕様書において記載されているため、説明を省略する。
続いて、本実施の形態におけるVirtualMachineのMigrateについて説明するが、VirtualMachineのMigrate後に行われる秘密データのDownloadの方法については既に説明済みであるため、省略する。
本実施の形態では、VirtualMachineを端末間でMigrateする場合には、VirtualMachine本体をMigrationAuthority経由で移動させるのではなく、VirtualMachineが使用する秘密のデータをMigrationAuthority経由で移動する。また、VirtualMachine本体は、秘密の情報を取り除いた上で別途移動させる。
図28は、第四の電子端末2502から第五の電子端末2503へVirtualMachineをMigrateするときに、第四の電子端末2502がMigrationAuthority2501に対して秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S2801)第四の電子端末2502でVirtualMachineのMigrateの準備を行う。MigrationAuthority2501へUploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第四の電子端末2502を構成するブートローダ、Hypervisor2602などVirtualMachineを動作させるために必要なソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ2615に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2802)第四の電子端末2502からMigrationAuthority2501へVirtualMachineを第五の電子端末2503へMigrateするリクエストを行う。第四の電子端末2502は、ダイジェスト値とデジタル署名とAIK証明書2610、基盤証明書2703をリクエストと共にMigrationAuthority2501へ送る。
ダイジェスト値とデジタル署名の送付はIntegrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2803)MigrationAuthority2501は、第四の電子端末2502からVirtualMachineを第五の電子端末2501へMigrateするリクエストを受信する。このとき、同時に受信したダイジェスト値とデジタル署名、AIK証明書2610をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第四の電子端末2502が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
(S2804)MigrationAuthority2501は、(S2803)の結果、第四の電子端末2502に不正がないことが検証された場合は、第五の電子端末2503へ第四電子端末2502からのMigrate要求を送る。
(S2805)第五の電子端末2503は、MigrationAuthority2501より受信したリクエストに応じて、Migrateの準備を行う。TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第五の電子端末2502を構成するブートローダ、Hypervisor2602などVirtualMachineを動作させるために必要なソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ2615に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2806)第五の電子端末2503は、ダイジェスト値とデジタル署名とAIK証明書2610、Conformance証明書2612をリクエストと共にMigrationAuthority2501へ送る。
ダイジェスト値とデジタル署名の送付はIntegrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2807)MigrationAuthority2501は、第五の電子端末2503からダイジェスト値とデジタル署名、AIK証明書2610をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第四の電子端末2502が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
また、(S2803)で受信した基盤証明書2703とConformance証明書2612を証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、それぞれの証明書をMigrate可否判定手段504へ送る。
ii)いずれかの証明書で不正が発見された場合は、(S2808)のとおりNGを返し、処理を終了する。
上記i)の証明書の正当性が確認された場合に、Migrate可否判定手段504は、証明書解析手段502から基盤証明書2703とConformance証明書2612を受信し、基盤証明書2703の“Minimum Trust Level”とConformance証明書2612の“Evaluateレベル”を比較し以下の動作を行う。
i)“Minimum Trust Level” ≦ “Evaluateレベル”の場合、判定はOK、
ii)“Minimum Trust Level” > “Evaluateレベル”の場合、判定はNG、
をそれぞれ生成する。
上述の通り、“Minimum Trust Level”は、Migrate先に求められる最低限のレベルを示している。そのため、(S2807)では、Migrate先である第五の電子端末のEvaluateレベルが“Minimum Trust Level”よりも高ければ、Migrateを許可すると判断している。また、Evaluate Levelの方が“Minimum Trust Level”よりも低ければ、第五の電子端末はMigrate先として十分なレベルを有していないということになるので、Migrateを許可しない。
(S2808)MigrationAuthority2501は、(S2507)の結果に応じて、以下の動作を行う。
i)判定結果がOKの場合は、結果のOKを第五の電子端末2503へ送る。また、MigrationのOKとMigrationAuthority2501の公開鍵(MApubKey)を第四の電子端末2502へ送る。
ii)判定結果がNGの場合は、結果のNGを第五の電子端末2503へ、MigrationのNGを第四の電子端末2502へ返し、処理を終了する。
(S2809)第四の電子端末2502は、MigrationAuthority2501より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2501よりOKを受信した場合、同時に受信したMApubKeyで(S2801)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority2501よりNGを受信した場合は処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第四の電子端末2502とMigrationAuthority2501で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S2810)第四の電子端末2502は、(S2809)で暗号化したMigrationPackage、Conformance証明書2612、情報管理証明書2611をMigrationAuthority2501へ送付する。
なお、MigrationPackageと、Conformance証明書2612、情報管理証明書2611をそれぞれ別々のデータとして扱ったが、各証明書がMigrationPackageに含まれる構成をとってもよい。
(S2811)MigrationAuthority2501は、MigrationPackage、Conformance証明書2612、情報管理証明書2611を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて、以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)いずれかの証明書で不正が発見された場合は、データ送信手段506を通じてNGを返す。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Conformance証明書212、情報管理証明書211を受信すると、MigrationPackageをMigrationAuthority2501で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S2812)MigrationAuthority2501は、(S2811)の登録処理が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageIDを第四の電子端末2502へ送る。
(S2813)第四の電子端末2502は、(S2812)でUpload結果のOKとMigrationPackageIDを受信すると、VirtualMachineの第五の電子端末2503への移動が行われる。VirtualMachineは第五の電子端末2503へ移動したあと、実行を継続し、MigrationAuthority2501からの秘密データのDownloadなどを行う。
なお、MigrationAuthority2501は、第四の電子端末2502と異なる装置でなくとも良い。例えば、アプリケーションとして第四の電子端末2502にインストールされ、第五の電子端末2503と通信しながらMigrateを行う構成であってもよい。
また、Management手段2603は、Hypervisor2602の構成であると説明したが、Hypervisor2602の外部にあって電子端末内で同一の機能を実現するものであってもよい。
以上で、本発明の実施の形態4の説明を終る。
(まとめ)
以上にて述べたように、本発明では、MigrationAuthority101が秘密データのMigrate元である第一の電子端末102とMigrate先の第二の電子端末103のセキュリティ認証レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、MigrationAuthority101が秘密データのMigrate元である第一の電子端末102とMigrate先の第二の電子端末103の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第二の電子端末103が秘密データのDownload時に所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第二の電子端末103で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第二の電子端末103を購入することで、その時代に応じた高速で強度の高い暗号アルゴリズムを用いて秘密のデータを管理することが可能となる。
また、MigrationAuthority2001が秘密データのMigrate元である第三の電子端末2002とMigrate先の第一の記憶装置2004の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第三の電子端末2002が秘密データのDownloadし、第一の記憶装置2004に書き込みを行うときに、所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第二の電子端末103で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第一の記憶装置2004を購入することで、その時代に応じた高速で強度の高い暗号アルゴリズムを用いて秘密のデータを管理することが可能となる。
また、MigrationAuthority2501が第四の電子端末2502から第五の電子端末2503へ実行環境をMigrateするときに、秘密データのMigrate元である第四の電子端末2502とMigrate先の第五の電子端末2503の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第五の電子端末2503が秘密データのDownload時に所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第五の電子端末2503で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第五の電子端末2503を購入することで、仮想化技術のMigrate技術により容易に、かつその時代に応じた高速で強度の高い暗号アルゴリズムを用いた秘密のデータ管理に移行することが可能となる。
(その他の実施態様)
以下に本発明に係る各種の実施態様について、説明する。
本発明の1実施態様であるデータマイグレーションシステムは、前記第一の端末はセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をUploadし、前記第二の端末はセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をDownloadし、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第二の端末から第一の端末へのデータ移動時にそれぞれの端末の属性情報と前記セキュリティポリシーテーブルに基づいてその可否を判定することを特徴とする。
この構成によると、第一の端末の秘密のデータは、データマイグレーションシステムにおけるセキュリティポリシーに従って、第二の端末にマイグレートされるため、誤って不適切な端末へマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、データを受信する受信手段と、データを送信する送信手段と、アクセスした端末が不正に改竄されていないか端末認証子を検証する検証手段と、前記端末から送られた証明書が正当なものであるかどうかを解析する解析手段と、前記マイグレーションサーバ内で管理する秘密のデータのパッケージを管理するパッケージ管理表と、前記マイグレート元の端末からアップロードされた前記秘密のデータのパッケージをパッケージ管理表に登録するパッケージ登録手段と、前記パッケージのダウンロード要求をマイグレート先の端末から受けたとき、同時に送られた前記端末の属性情報は証明書の情報であって、前記証明書の情報をもとにマイグレートの可否を前記セキュリティポリシーテーブルに従って判定するマイグレート可否判定手段と、前記パッケージを前記マイグレート先の端末で用いることができるように、パッケージを再生成するパッケージ再生成手段を備えることを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、本発明の1実施態様であるマイグレーションサーバは、前記秘密のデータのパッケージと前記マイグレート元の端末のセキュリティ認証レベルを管理するパッケージ管理表と、前記マイグレート元の端末のセキュリティ認証レベルとアップロードされた前記秘密のデータとをパッケージ管理表に登録するパッケージ登録手段とを備え、前記セキュリティポリシーテーブルは前記マイグレート元の端末の持つセキュリティ認証レベルと、前記マイグレート先の端末の持つセキュリティ認証レベルの対応表であることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、前記秘密のデータのパッケージと前記マイグレート元の秘密データの管理方式、暗号アルゴリズム、鍵長を管理するパッケージ管理表と、前記マイグレート元の端末の秘密データの管理方式、暗号アルゴリズム、鍵長とアップロードされた前記秘密のデータとをパッケージ管理表に登録するパッケージ登録手段と、前記セキュリティポリシーテーブルは暗号強度のレベルが、各種暗号アルゴリズムの場合どの鍵長によって実現されるかを示す表であらわされることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、前記マイグレート先の端末から要求された、暗号アルゴリズムや暗号強度によって構成される暗号化パラメータによって、前記パッケージの暗号変換を行いパッケージを再生成するパッケージ再生成手段を、を備えることを特徴とする。
この構成によると、第二の端末の暗号返還要求に応じて、暗号変換を施したパッケージをマイグレートすることができる。例えば、最新の暗号アルゴリズムを第二の端末が備えている場合、そのユーザは最新の秘密のデータの管理方法を手に入れることが出来る。
また、本発明の実施態様の一つである第一の端末は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記第一の端末のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記第二の端末の端末認証子に署名をする鍵と、前記第二の端末の端末認証子に署名をする鍵の証明書と、前記第二の端末におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段とを備えることを特徴とする。
この構成によると、第一の端末はマイグレーションサーバ経由でマイグレート先の第二の端末に、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記第一の端末は、前記セキュリティ特徴情報は、前記第一の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第一の端末は、前記セキュリティ特徴情報は、前記マイグレート元の秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第一の端末は、前記パッケージがDownloadされた旨、前記マイグレーションサーバより通知されたとき、Uploadした前記パッケージを削除する削除手段とを備えることを特徴とする。
この構成によると、前記パッケージがマイグレートされたことを確認してから、マイグレートもとの第一の端末の前記パッケージを削除することができる。
また、本発明の実施態様の一つである第二の端末は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記秘密のデータを含む前記パッケージを展開するパッケージ展開手段と、前記第二の端末のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記第二の端末の端末認証子に署名をする鍵と、前記第二の端末の端末認証子に署名をする鍵の証明書と、前記第二の端末におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記暗号アルゴリズムや暗号強度によって構成される暗号化パラメータを前記マイグレーションサーバへ送信することにより、前記マイグレーションサーバへ前記パッケージの再生成方法を指定することを特徴とする。
この構成によると、第二の端末は、所望の暗号化パラメータを指定して前記パッケージをDownloadすることができる。
また、前記第二の端末は、前記セキュリティ特徴情報は、前記第一の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第二の端末は、前記セキュリティ特徴情報は、前記マイグレート先の秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第二の端末は、前記マイグレーションサーバより受信したパッケージを復号化し、正当なデータであるかどうかを証明書を用いて確認する前記セキュリティモジュールとを備えることを特徴とする。
また、本発明の1実施態様である秘密データのアップロード方法は、前記第一の端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、前記第一の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記第一の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記第一の端末で改竄がないことが確認された場合、前記第一の端末へOK結果と公開鍵を送るステップ、ii)前記第一の端末で改竄が確認された場合、前記第一の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第一の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第一の端末が、前記暗号化したパッケージと、前記セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記暗号化したパッケージと、前記セキュリティ特徴情報をパッケージ管理表に登録するステップと、前記マイグレーションサーバが前記暗号化したパッケージの登録時に生成したパッケージIDとOK結果を前記第一の端末へ送るステップとを含むことを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、別の実施態様である秘密データのダウンロード方法は、前記第二の端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、前記第二の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記第二の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記第二の端末で改竄がないことが確認された場合、前記第二の端末へOK結果と公開鍵を送るステップ、ii)前記第二の端末で改竄が確認された場合、前記第二の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第二の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第一の端末が、前記暗号化した端末鍵と、前記パッケージの再生成時に用いられる前記暗号化パラメータと、前記セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記セキュリティ特徴情報をもとに、ダウンロードの可否を判定するステップと、前記マイグレーションサーバが、ダウンロード可否判定の結果に応じて、i)OKであれば、暗号化パラメータおよびセキュリティポリシーテーブルにもとづいて前記パッケージの再生成を行い、第二の端末へ送るステップii)NGであれば、NG結果を送るステップのいずれかをとるステップとを含むことを特徴とする。
また、別の実施態様であるデータマイグレート装置は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、アクセスした端末が不正に改竄されていないか端末認証子を検証する検証手段と、前記端末から送られた証明書が正当なものであるかどうかを解析する解析手段と、前記マイグレーションサーバ内で管理する秘密のデータのパッケージを管理するパッケージ管理表と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記第一の端末の端末認証子に署名をする鍵と、前記第一の端末の端末認証子に署名をする鍵の証明書と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータおよびセキュリティに関連した情報を記載したセキュリティ特徴情報を格納するデータ記憶手段と、前記パッケージのダウンロード要求をマイグレート先の端末から受けたとき、同時に送られた前記端末の属性情報は証明書の情報であって、前記セキュリティ特徴情報と前記証明書の情報をもとにマイグレートの可否を前記セキュリティポリシーテーブルに従って判定するマイグレート可否判定手段と、前記パッケージを前記マイグレート先の端末で用いることができるように、パッケージを再生成するパッケージ再生成手段とを備えることを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレート装置は、前記マイグレート先の端末から要求された、暗号アルゴリズムや暗号強度によって構成される暗号化パラメータによって、前記セキュリティモジュール内で、前記パッケージの暗号変換を行いパッケージを再生成するパッケージ再生成手段を備えることを特徴とする。
この構成によると、第二の端末の暗号返還要求に応じて、暗号変換を施したパッケージをマイグレートすることができる。例えば、最新の暗号アルゴリズムを第二の端末が備えている場合、そのユーザは最新の秘密のデータの管理方法を手に入れることが出来る。
また、本発明の1実施態様である集積回路は、暗号変換を行うための2つ以上の暗号アルゴリズムを持つ暗号手段と、前記パッケージの暗号変換時に用いる記憶手段とを備えることを特徴とする。
この構成によると、不正なアクセスのない安全な環境で暗号変換を行うことが出来る。
また、別の実施態様は、コンテンツ管理再生装置であって、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記コンテンツ管理再生装置のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、コンテンツデータの記録先を管理するコンテンツ管理テーブルと、コンテンツの権利を管理するコンテンツ権利管理テーブルと、前記コンテンツの権利を暗号化する権利保護鍵を管理する権利保護鍵管理テーブルと、前記権利保護鍵管理テーブルを暗号化する、カウンタのインクリメントに同期して値が変る時変鍵と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記コンテンツ管理再生装置の端末認証子に署名をする鍵と、前記コンテンツ管理再生装置の端末認証子に署名をする鍵の証明書と、前記コンテンツ管理再生装置におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記秘密のデータを含む前記パッケージを展開するパッケージ展開手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段とを備えることを特徴とする。
この構成によると、コンテンツ管理再生装置間でマイグレーションサーバを経由した安全な著作権保護コンテンツのマイグレートを実現することができる。
また、前記コンテンツ管理再生装置は、前記パッケージがDownloadされた旨、前記マイグレーションサーバより通知されたとき、Uploadした前記パッケージおよびパッケージに含まれる秘密の情報に関連したコンテンツ情報を削除する削除手段とを備えることを特徴とする。
この構成によると、著作権保護コンテンツのマイグレート時に権利が二重になることを防止することができる。
また、本発明の1実施態様であるデータマイグレーションシステムは、前記第一のモジュールはセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をUploadし、前記第二のモジュールは前記第一のモジュールにUploadされた秘密のデータの一部もしくは全部をDownloadし、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第二のモジュールから第一のモジュールへのデータ移動時にそれぞれのモジュールの属性情報と前記セキュリティポリシーテーブルに基づいてその可否を判定することを特徴とする。
この構成によると、第一のモジュールの秘密のデータは、データマイグレーションシステムにおけるセキュリティポリシーに従って、第二のモジュールにマイグレートされるため、誤って不適切なモジュールへマイグレートされることを防ぐことが出来る。
また、本発明の実施態様の1つであるデータマイグレーション端末は、データマイグレーション端末は、セキュアストレージと接続されており、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記データマイグレーション端末の1つ以上のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記データマイグレーション端末の端末認証子に署名をする鍵と、前記データマイグレーション端末の端末認証子に署名をする鍵の証明書と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記データ受信手段が受信した保護されたデータを、前記セキュアストレージへ書き込む前記第二のモジュールと、前記データマイグレーション端末におけるセキュリティに関連した情報を記載した第一のセキュリティ特徴情報と前記セキュアストレージにおけるセキュリティに関連した情報を記載した第二のセキュリティ特徴情報とを格納するデータ記憶手段とを備えることを特徴とする。
この構成によると、データマイグレーション端末はマイグレーションサーバ経由でマイグレート先のセキュアストレージに、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記データマイグレーション端末は、前記第一のセキュリティ特徴情報は、前記データマイグレーション端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満のセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末は、前記第一のセキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末は、前記第二のセキュリティ特徴情報は、前記データマイグレーション端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満のセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末において、前記第二のセキュリティ特徴情報は、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、本発明の実施態様の一つである秘密データのダウンロード方法は、前記データマイグレーション端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記データマイグレーション端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がないことが確認された場合、前記データマイグレーション端末へOK結果と公開鍵を送るステップ、ii)前記データマイグレーション端末で改竄が確認された場合、前記データマイグレーション端末へNG結果を送るステップ、のいずれかをとるステップと、前記データマイグレーション端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップ ii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記データマイグレーション端末が、前記暗号化した端末鍵と、前記パッケージの再生成時に用いられる前記暗号化パラメータと、前記第二のセキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記第一のセキュリティ特徴情報をもとに、ダウンロードの可否を判定するステップと、前記マイグレーションサーバが、ダウンロード可否判定の結果に応じて、i)OKであれば、暗号化パラメータおよびセキュリティポリシーテーブルにもとづいて前記パッケージの再生成を行い、第二の端末へ送るステップii)NGであれば、NG結果を送るステップのいずれかをとるステップとを含むことを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーションシステムは、マイグレーションサーバ仲介して第五の端末にマイグレートするデータマイグレーションシステムであって、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第四の端末から第五の端末へのデータ移動時にそれぞれの端末の属性情報と前記セキュリティポリシーテーブルに基づいてMigrateの可否を判定する、ことを特徴とする。
また、本発明の1実施態様である第四の端末は、前記セキュリティモジュールと、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記第四の端末の端末認証子に署名をする鍵と、前記第四の端末の端末認証子に署名をする鍵の証明書と、前記第四の端末におけるセキュリティに関連した情報を記載した端末セキュリティ特徴情報と、1つかそれ以上の実行環境を制御する実行環境制御手段は、マイグレーションの実行を制御するマイグレーション制御手段を備え、前記実行環境制御手段によって制御される実行環境は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記実行環境のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記実行環境の端末認証子に署名をする鍵と、前記実行環境の端末認証子に署名をする鍵の証明書と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記実行環境におけるセキュリティに関連した情報を記載した実行環境セキュリティ特徴情報と、マイグレート先となる前期第五の端末に必要とするセキュリティに関連した情報を記載したセキュリティレベル情報を備えることを特徴とする。
この構成によると、第四の端末はマイグレーションサーバ経由でマイグレート先の第五の端末に、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記第四の端末は、前記実行環境セキュリティ特徴情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末において、前記実行環境のセキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末は、前記端末セキュリティ特徴情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末は、前記端末セキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末において、前記セキュリティレベル情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
また、本発明の1実施態様である秘密データのアップロード方法は、前記データマイグレーション端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、 前記データマイグレーション端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記データマイグレーション端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書と前記実行環境セキュリティ特徴情報を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記データマイグレーション端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がないことが確認された場合、前記第四の端末からのマイグレート要求を前記第五の端末へ送るステップ、ii)前記データマイグレーション端末で改竄が確認された場合、前記第四の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第五の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、 前記第五の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書と前記セキュリティレベル情報を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第五の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第五の端末の改竄の有無を検証するステップと、 前記マイグレーションサーバが、i)前記第五の端末で改竄がないことが確認された場合、前記第四の端末より受信した前記実行環境セキュリティ特徴情報と前記セキュリティレベル情報をもとに、マイグレートの可否を判定するステップと、ii)前記第五の端末で改竄が確認された場合、NG結果を生成するステップ、のいずれかをとるステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がなく、マイグレートの可否の判定がOKであることが確認された場合、前記第五の端末へOK結果を送り、前記第四の端末へOK結果と公開鍵を送るステップ、ii)前記データマイグレーション端末で改竄が確認されるか、もしくはマイグレートの可否の判定がNGであることが確認された場合、前記第五の端末と第四の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第四の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第四の端末が、前記暗号化したパッケージと、前記実行環境セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第四の端末より受信した、前記暗号化したパッケージと、前記実行環境セキュリティ特徴情報をパッケージ管理表に登録するステップと、前記マイグレーションサーバが前記暗号化したパッケージの登録時に生成したパッケージIDとOK結果を前記第一の端末へ送るステップと前記第四の端末から実行環境を前記第五の端末にマイグレートをするステップとを含むことを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
(その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態では、MigrationAuthority101と第一の電子端末102、第二の電子端末103のデータの送受信は、インターネットなどネットワークを前提として記載したが、着脱可能な記憶媒体を用いる構成であってもよい。
(2)上記の実施の形態では、MigrationAuthority101と第一の電子端末102を別構成であるとして記載したが、第一の電子端末102がMigrationAuthority101の機能を備え、第二の電子端末103のMigrationPackageのDownloadリクエストを受け付ける構成であってもよい。
(3)上記の実施の形態では、Migrate元の第一の電子端末102がasymmetricSRK、Migrate先の第二の電子端末103がsymmetricSRKを備えるとしたが、第一の電子端末102がsymmetricSRK、第二の電子端末103がasymmetricSRKを備える構成であってもよい。
(4)上記の実施の形態では、AIK証明書210、情報管理証明書211、Conformance証明書212はMigrationAuthority101より発行されるものとしたが、第三者である認証局(CertificateAuthority)が発行したものであるとしてもよい。このときMigrationAuthority101は、認証局から発行された証明書を用いてAIK証明書210、情報管理証明書211、Conformance証明書212の検証を行う。
(5)上記の実施の形態では、管理された秘密のデータのツリーの全体をMigrateするよう記載したが、ユーザが選択的にツリー構造の一部をMigrateするとしてもよい。
(6)上記の実施の形態では、MigrationAuthority101でMigrationPackageの全体を一度に再生成するとしたが、MigratePackageのデータのサイズが大きい場合は、階層を何段階かに分けて再生成を行い、第二の電子端末103へ送ることを繰り返してもよい。
(7)上記の実施の形態では、Migrate可否判定手段504は暗号強度表701や認証レベル判定表801に含まれるパラメータに基づいて判定するとしたが、第一の電子端末および第二の電子端末における鍵更新の機能や、鍵の生存期間などで判定するとしてもよい。
(8)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(9)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(10)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(11)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。 また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
請求項1に記載の実施態様であるマイグレーション装置は、第1の端末内で保護されたデータを第2の端末に移動するマイグレーション装置であって、前記第1の端末から前記第1の端末内のセキュリティモジュールにおいて第1の暗号アルゴリズムで保護された秘密データを受信し、前記秘密データのダウンロード要求を前記第2の端末から受信する受信手段と、前記第1の端末から送られた証明書から前記第1の暗号アルゴリズムを識別し、前記第2の端末から送られた証明書から前記第2の端末内のセキュリティモジュールで用いられる第2の暗号アルゴリズムを識別する識別手段と、前記第1の暗号アルゴリズム及び前記第2の暗号アルゴリズムを対応付けたセキュリティポリシーテーブルを保持する保持手段と、前記ダウンロード要求を前記第2の端末から受けたとき、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直して前記第2の端末に送信する制御手段とを備え、前記制御手段は、前記第1の暗号アルゴリズムから前記第2の暗号アルゴリズムで保護し直した秘密データを前記第2の端末に送信するに先立って、前記秘密データが送信される宛先である端末が備えている評価レベルとして前記第1の端末が要求する最低評価レベルを前記第1の端末から受信し、前記第2の端末の評価レベルを前記第2の端末から受信し、前記第2の端末の評価レベルが前記最低評価レベル以上か否かを判断し、前記第2の端末の評価レベルが前記最低評価レベル以上の場合に、前記保護し直した秘密データを前記第2の端末に送信することを特徴とする。
また、請求項2に記載の実施態様であるマイグレーション装置において、前記第1の端末は、前記秘密データを安全に保持するセキュア保持手段と、前記秘密データを取り扱う仮想実行手段と、前記制御手段により許可された場合に限り、前記仮想実行手段を実現する1以上のコンピュータプログラムである仮想マシンを、前記第2の端末へ移動する移動手段とを備え、前記制御手段は、前記判断の結果が肯定的である場合、前記移動を許可することを特徴とする。
ここで、上記仮想実行手段には、下記の実施の形態におけるVirtualMachine2604、2605が該当する。仮想実行手段は、具体的には、CPU、メモリなどのコンピュータの物理的リソースを仮想化し、複数のプラットフォームが並列に存在するように見せかけたり、そのコンピュータでは、本来動作しないアプリケーションが動作できるプラットフォームを実現したりするプログラム群である。
このように、秘密データだけでなく仮想実行手段を実現するプログラム群を移動する場合、総データサイズはかなり大きくなる。ところで、仮想実行手段に係る技術は既に公知であり、前述したプログラム群の多くは秘匿する必要性が低いと考えられる。そのため、機器間で採用している暗号方式などが異なっている場合、平文で送受信しても差し支えない。
上記の構成によると、前記制御手段は、前記判断の結果が肯定的である場合、言い換えると、第2の端末が、第1の端末の使用者の要望に適う機器である場合、前記第1の端末に、仮想実行部を実現するプログラム群を移動させる。
そのため、マイグレーション装置は、真に保護する必要のある秘密データのみを、安全に、第1の端末から第2の端末へ移動することと、第1の端末から第2の端末へ、前記プログラム群を迅速に移動させることを両立することができる。
また、請求項3に記載の実施態様であるマイグレーション装置において、前記セキュリティポリシーテーブルが示す前記第1の暗号アルゴリズム及び前記第2の暗号アルゴリズムの対応関係は、前記第2の暗号アルゴリズムの暗号強度のレベルが前記第1の暗号強度のレベルより低い場合を含むことを特徴とする。
また、請求項4に記載の実施態様であるマイグレーション装置において、前記第1の端末の第1のセキュリティ認証レベルと前記第2の端末の第2のセキュリティ認証レベルとを格納した第2のセキュリティポリシーテーブルを設け、前記制御手段は、前記セキュリティポリシーテーブルに従って前記第1の暗号アルゴリズに対応する第2の暗号アルゴリズムが存在する場合であっても、前記第2のセキュリティポリシーテーブルに従って前記第2の端末の第2のセキュリティ認証レベルと前記第1の端末の第1のセキュリティ認証レベルとの差が所定値以上の場合は、前記秘密データを前記第2暗号アルゴリズムで保護し直すことを禁止することを特徴とする。
また、請求項5に記載の実施態様であるマイグレーション装置において、前記第1の端末の第1のセキュリティ認証レベルと前記第2の端末の第2のセキュリティ認証レベルとを格納した第2のセキュリティポリシーテーブルを設け、前記制御手段は、前記セキュリティポリシーテーブルに従って前記第1の暗号アルゴリズに対応する第2の暗号アルゴリズムが存在する場合であっても、前記第2のセキュリティポリシーテーブルに従って前記第2の端末の第2のセキュリティ認証レベルと前記第1の端末の第1のセキュリティ認証レベルとの差が所定値以上の場合は、前記秘密データを前記第2暗号アルゴリズムで保護し直して前記第2の端末に送信することを禁止することを特徴とする。
また、請求項6に記載の実施態様であるマイグレーション装置において、前記第1の暗号アルゴリズムの暗号強度のレベルは、前記第1の暗号アルゴリズムで用いられる鍵の長さで表され、また、前記第2の暗号アルゴリズムの暗号強度のレベルは、前記第2の暗号アルゴリズムで用いられる鍵の長さで表されることを特徴とする。
また、請求項7に記載の実施態様であるマイグレーション装置において、前記識別手段は、前記第1の暗号アルゴリズムの種類と鍵長とを識別し、第2の暗号アルゴリズムの種類を識別し、前記保持手段は、前記第1の暗号アルゴリズムに対応する暗号アレゴリズムの種類及び鍵長と同一暗号強度レベルとなるような、前記第2の暗号アルゴリズムに対応する暗号アレゴリズムの種類の鍵長を示した前記セキュリティポリシーテーブルを保持し、
前記制御手段は、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直す際、前記第1の暗号アルゴリズムの鍵長に対応する前記第2の暗号アルゴリズムの鍵長を用いて保護し直すことを特徴とする。
また、請求項8に記載の実施態様であるマイグレーション装置において、前記識別手段は、前記第1の暗号アルゴリズムの種類と鍵長とを識別し、第2の暗号アルゴリズムの種類を識別し、前記保持手段は、複数の暗号アルゴリズム間で、同一暗号強度レベルとなる鍵長を対応付けた前記セキュリティポリシーテーブルを保持し、前記制御手段は、前記セキュリティポリシーテーブルに従って前記秘密データを前記第1の暗号アルゴリズムに代えて前記第2の暗号アルゴリズムで保護し直す際、前記第1の暗号アルゴリズムに対応する暗号アレゴリズムの種類及び鍵長と同一暗号強度レベルとなるような前記第2の暗号アルゴリズムに対応する暗号アレゴリズムの種類の鍵長を検索し、前記第1の暗号アルゴリズムの鍵長に対応する前記第2の暗号アルゴリズムの鍵長を用いて保護し直すことを特徴とする。
また、請求項9に記載の実施態様であるマイグレーション装置において、前記セキュリティポリシーテーブルは、前記第1の端末から前記マイグレーション装置に送信されたものであることを特徴とする。
また、請求項10に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵、前記親鍵を用いるときの暗号アルゴリズムを示す情報及び前記親鍵を用いて暗号する範囲を示す情報を受信し、前記制御手段は、前記受信した親鍵及び前記親鍵を用いるときの暗号アルゴリズムを用いて、前記親鍵を用いて暗号する範囲を示す情報に基づいて、前記秘密データの最上位のデータのみを保護することを特徴とする。
また、請求項11に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵及び前記親鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した親鍵とは異なる第2の鍵を生成して、前記第2の鍵及び前記親鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項12に記載の実施態様であるマイグレーション装置において、前記制御手段は、前記受信した親鍵とは異なる第2の鍵を前記親鍵より下の階層に生成することを特徴とする。
また、請求項13に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から公開鍵及び前記公開鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した公開鍵及び前記公開鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項14に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から秘密鍵及び前記秘密鍵を用いるときの暗号アルゴリズムを示す情報を受信し、前記制御手段は、前記受信した秘密鍵及び前記秘密鍵を用いるときの暗号アルゴリズムを用いて、前記秘密データを保護することを特徴とする。
また、請求項15に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から親鍵を受信し、前記制御手段は、前記受信した親鍵が示す暗号強度のレベルと同一レベルで、前記秘密データ全体を保護することを特徴とする。
また、請求項16に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第2の端末から暗号強度のレベルを示した情報を受信し、前記制御手段は、前記受信した情報が示す暗号強度のレベルと同一レベルで、前記秘密データを保護することを特徴とする。
また、請求項17に記載の実施態様であるマイグレーション装置において、前記受信手段は、前記第1の端末が秘密データを保護した際の暗号強度のレベルと同一レベルでの保護を要求する旨の情報を前記第2の端末から受信し、前記制御手段は、前記受信した情報に基づいて、前記第1の端末が秘密データを保護した際の暗号強度のレベルと同一レベルで、前記秘密データを保護することを特徴とする。
また、請求項18に記載の実施態様であるマイグレーション装置は、マイグレーションサーバを含むことを特徴とする。
また、請求項19に記載の実施態様であるマイグレーション装置は、前記第1の端末の内部に含まれることを特徴とする。
また、請求項22に記載の実施態様であるマイグレーションシステムは、マイグループレーション装置を介して、第1の端末装置から第2の端末装置へ秘匿すべき秘密データを移動するマイグレーションシステムであって、前記第1の端末は、前記秘密データ安全に保持する第1保持手段と、前記秘密データを取り扱う仮想実行手段と、前記秘密データを安全に前記マイグレーション装置へ送信する送信手段と、前記マイグレーション装置により許可された場合に限り、前記仮想実行手段を実現する1以上のコンピュータプログラムである仮想マシンを前記第2の端末へ移動する移動手段とを備え、前記マイグレーション装置は、前記第1の端末から、前記秘密データを安全に受信する受信手段と、前記第2の端末のセキュリティに係る評価レベルが、前記秘密データを取得する装置が有するべき最低評価レベル以上であるか否かを判断する判断手段と、前記評価レベルが前記最低評価レベル以上である場合、前記秘密データを、前記第2の端末に適した方法で、前記第2の端末へ安全に送信する送信手段と、前記評価レベルが前記最低評価レベル以上である場合、前記第1の端末へ前記移動を許可する許可手段とを備え、前記第2の端末は、前記秘密データを安全に受信する受信手段と、前記第1保持手段とは異なる方法により、前記秘密データを安全に保持する第2保持手段と、前記第1の端末から、前記仮想マシンを取得する取得手段とを備えることを特徴とする。
(実施の形態1)
以下、本発明の実施の形態1について、図面を参照しながら説明する。
図1は、本発明の実施の形態1におけるシステムの全体構成を示す図である。
図1において、MigrationAuthority101はネットワークを介して電子端末との通信を行い、秘密のデータのMigrationのサービスを提供する。ここで、MigrationAuthority101は、電子端末間の秘密のデータのマイグレーションを管理するサーバである。
第一の電子端末102はCPUやRAMといった構成要素からなるコンピュータシステムである。一般的にはPC、携帯電話、PDAなどで実現されるが、それに限定されるものではない。第一の電子端末102は、TCGによって定められたTrustedPlatformModule(TPM)と呼ばれるセキュリティモジュールを中心としたセキュアなプラットフォームを備えている。TPMは、ProtectedStorageと呼ばれる秘密のデータをセキュアに保存する技術をサポートしている。ProtectedStorageではツリー構造でデータを管理しており、ツリー構造のリーフに割り当てたデータを、ルートからそのリーフに至るまでのノードおよびルートに割り当てた鍵で階層的に暗号化して保護している。ツリー構造のルートには、asymmetricSRK(StorageRootKey)と呼ばれる公開鍵暗号の鍵(ルート鍵)が割り当てられている。
第二の電子端末103はCPUやRAMといった構成要素からなるコンピュータシステムである。一般的にはPC、携帯電話、PDAなどで実現されるが、それに限定されるものではない。第二の電子端末103は、第一の電子端末102と同様に、TCGによって定められたTrustedPlatformModule(TPM)と呼ばれるセキュリティモジュールを中心としたセキュアなプラットフォームを備えている。第二の電子端末103も第一の電子端末102と同様、ProtectedStorage技術をサポートしており、ツリー構造でデータを管理している。ただし、ルート鍵は、公開鍵暗号の鍵ではなく、symmetricSRKと呼ばれる秘密鍵暗号の鍵である。
続いて、第一の電子端末102及び第二の電子端末103の構成の詳細について説明する。
図2は、第一の電子端末102及び第二の電子端末103の構成を示した図である。TrustedPlatformModule201は、TCGによって定められたセキュリティモジュールである。暗号エンジンや不揮発メモリなどを備える。詳細については、“TPM Main Part1、2、3 Design Principles”において記載されているため、説明を省略する。
なお、第一の電子端末102や第二の電子端末103が備えるセキュリティモジュールをTrustedPlatformModule(TPM)としたが、TCG Mobile PhoneWGでは同等のセキュリティモジュールをMobile Trusted Moduleと呼んでおり、呼称はこれに限定されるものではない。また、その実装方法は一般的には半導体を用いたハードウェアで実現されるが、ソフトウェアで実現されてもよい。
TCGSoftwareStack202は、TrustedPlatformModule201を備えたセキュアなプラットフォーム上で各種アプリケーションにサービスを提供するソフトウェアのライブラリ群である。詳細については、“TCG Software Stack(TSS) Specification Version1.2 Level1 ErrataA”において記載されているため、説明を省略する。
LocalMigrationServices203は、データのMigrationサービスを実現するためのクライアント側のモジュールである。詳細については、非特許文献1において記載されているため、説明を省略する。
Controlling Application204は、クライアント内のMigration処理を制御するためのクライアント側のモジュールである。詳細については、非特許文献1において記載されているため、説明を省略する。
LocalApplication205は、データのMigrationサービスを利用する一般的なアプリケーションである。例としては、音楽や映像などのデジタルコンテンツの権利管理を行うDigitalRightsManagement(DRM)アプリケーション、住所録、クレジット決済などのアプリケーションが考えられるが、これに限定されるものではない。
入出力手段206は、MigrationAuthority101とデータの送受信を行う。
保存領域207は、AIK証明書210や情報管理証明書211などを保存している。一般的にはHDD、Flashメモリなどで実現されるが、情報を保存できる機能を持つものであればこれに限定されるものではない。
AIK証明書210は、Attestation Identity Key Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority101によって発行されているものとする。AIK証明書210は、TPMがAIK(Attestation Identity Key)を保有していることなどを確認するために用いられる。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
情報管理証明書211は、秘密データ215の管理方法について確認するために用いられる。本実施の形態ではMigrationAuthority101によって発行されているものとする。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
Conformance証明書212は、TCGの評価基準に準拠していることを証明する属性証明書である。一般的には評価を行う機関によって発行される。本実施の形態では、MigrationAuthority101によって発行されているものとする。
なお、AIK証明書210や情報管理証明書211、Conformance証明書212は別々の証明書として説明したが、これらが一つにまとまって証明書を構成していてもよい。
秘密データ215は、SRK(StorageRootKey)を用いて管理された秘密データの集合である。AIK(Attestation Identity Key)もこれに含まれる。TCGによって定められたSRKによって保護される秘密のデータは、一般的にツリー構造で管理されるが、詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
なお、秘密のデータには鍵が含まれるが、この鍵の生成時間や生存期間を示すようなパラメータが含まれていてもよい。
続いて、情報管理証明書211の詳細について説明する。
図3は、情報管理証明書211の構成を示した図である。情報管理証明書211は、4つのデータを含むデータ構造を持つ。1つ目は、SRKTypeである。これは秘密データの管理方法に公開鍵暗号を用いた方法を用いているか、秘密鍵暗号を用いた方法を用いているかを示すデータ型のデータである。
2つ目は、CipherTypeである。これは秘密データの管理方法で用いている暗号アルゴリズムについて示すデータ型のデータである。暗号アルゴリズムの例としては、RSA(Rivest Shamir Adleman)暗号、ECC(Elliptic Curve Cryptosystem)暗号、AES(Advanced Encryption Standard)暗号などが挙げられるが、これらに限定されるものではない。
3つ目は、Key Lengthである。これは秘密データの管理方法で用いている暗号鍵の鍵長を示すデータ型のデータである。
4つ目は、デジタル署名である。1〜3のデータ型のダイジェスト値をMigrationAuthority101の秘密鍵で暗号化したデータが入る。
なお、情報管理証明書211には、鍵の更新機能を持つか否かを示すようなデータが含まれていてもよい。
続いて、Conformance証明書212の詳細について説明する。
図4は、Conformance証明書212の構成を示した図である。Conformance証明書212は、9つのデータを含むデータ構造を持つ。1つ目は、Evaluateレベルを示すデータである。ISO/IEC15408で定められたセキュリティの評価基準に基づいて認定されたレベルなどで表される。EALはEvaluation Assurance Levelの略で、後ろに付与される数字が大きければ大きいほど高いレベルの保証要件をクリア出来ていることになる。また、“EAL4+“といったレベルも策定されているため、時代の変化に応じて追加されたものを、本領域で扱われるデータとして追加してもよい。また、本領域は必ずしもISO/IEC15408に基づいて認定されたレベルだけのために使われる領域ではなく、通信キャリアなどMigrationAuthority101となる業者が任意にレベルを決定し、用いても良い領域である。
2つ目は、Evaluateレベルに用いるセキュリティ評価基準の仕様を特定するためのデータである。ISO/IEC15408にも1999年に策定されたISO/IEC15408:1999や2005年に策定されたISO/IEC15408:2005など複数あるため、本領域を参照して評価基準の対象仕様を特定する。
3つ目以降のデータは、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
続いて、MigrationAuthority101の詳細について説明する。
図5は、MigrationAuthority101の構成を示した図である。
データ受信手段500は、電子機器102や電子機器103からのMigrationPackageのUploadやDownloadリクエストや各種処理に必要なデータを受信する。
Attestation処理手段501は、電子端末よりMigrationAuthority101へアクセスがあったときにAttestation処理を行う。Attestation処理により電子端末に不正があれば、その不正を発見することができる。Attestationについては、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。Attestationの結果はデータ送信手段506を通じて電子端末へ送る。
証明書解析手段502は、Migration元となる電子機器やMigration先となる電子機器から送られてきた証明書が正当なものであるかの解析を行う。RSA暗号演算機能、RSA暗号演算機能で用いられる公開鍵と秘密鍵の鍵ペア、SHA(Secure Hash Algorithm)1演算機能を備えるとする。
証明書の正当性の検証には、Public Key Infrastructure(PKI)で定められた公開鍵暗号による検証の方法を用いるとする。PKI用いた検証については一般的であるため、説明は省略する。なお、証明書の正当性を証明できる方法であれば、これに限定されない。また、証明書によっては、MigrationAuthority101以外により発行される場合があるが、本実施の形態においては全ての証明書はMigrationAuthority101によって発行されたものであるとして、MigrationAuthority101以外により発行される場合の説明は省略する。
証明書検証の結果は、データ送信手段506を通じて電子端末へ送られる。
MigrationPackage登録手段503は、電子機器102や電子機器103より送られてきた秘密のデータを格納したMigrationPackageを、後述するMigrationPackage管理表601に登録し、保存領域507へ保存する。
Migrate可否判定手段504は、電子機器102や電子機器103から送られてきたMigrationPackage送信要求に応じて、後述するMigrationPackageID、後述する暗号化された親鍵、後述する暗号化パラメータ1201、Conformance証明書212、情報管理証明書211からMigrateの可否を判定する。判定には、後述する暗号強度表701と後述する認証レベル判定表801、後述するMigrationPackage管理表601を用いる。Migrate可能と判定された場合は、MigrationPackage再生成手段505へ、MigrationPackage再生成要求を出す。
なお、Migrate可否判定手段504は、MigrationPackage管理表601に基づいて、判定するとしたが、証明書の情報に直接アクセスして判定する方法をとってもよい。
MigrationPackage再生成手段505は、Migrate可否判定手段504からMigratePackage再生成要求とともにMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受け取ると、MigrationPackageの暗号変換を行い再生成する。再生成の手順の詳細については後述する。再生成したMigrationPackageは、データ送信手段506へ送る。
データ送信手段506は、Migrate可否判定手段504からMigratePackageを受け取ると、保存領域507よりMigrationPackageを取り出し、電子機器102や電子機器103へ送信する。
続いて、MigrationPackage管理表601の詳細について説明する。
図6は、MigrationPackage管理表601の構成を示した図である。表は、MigrationPackageをMigrationAuthority101内で特定するMigrationPackageID、MigrationPackageを保存した保存領域507のフルパスのファイル名などのデータを含む。なお、他のパラメータは、情報管理証明書211およびConformance証明書212のEvaluateレベルと同一であるため、説明を省略する。
続いて、暗号強度表701の詳細について説明する。
図7は、暗号強度表701の構成を示した図である。表は強度レベル、秘密鍵暗号アルゴリズム鍵長、RSAアルゴリズム鍵長、ECCアルゴリズム鍵長といったパラメータで構成される。図7では例えば、強度レベル1を満たすには、秘密鍵暗号アルゴリズムを用いた場合の鍵長は80ビット、RSAアルゴリズムを用いた場合の鍵長は1024ビット、ECCアルゴリズムを用いた場合の鍵長は160ビットであることを示している。
なお、暗号強度表701はまだ暗号アルゴリズムに脆弱性が発見されていないことが前提となっている。暗号アルゴリズムに脆弱性が発見された場合はさらなる鍵長を必要とするため、暗号強度表701は、時間とともに変化するものである。よって、暗号強度表701は、適宜認証局のような第三者機関から更新されるものであってもよい。更新をすることで最新の暗号強度の評価や暗号アルゴリズムへの対応が可能となる。
Migrate可否判定手段504は、この暗号強度表701を用いて、Migrate先の電子機器の強度レベルが、Migrate元と比べて同等以上であれば、Migrateを許可するという判定アルゴリズムに従って判定を行う。これは、Migrateによって強度を下げないようにするためである。
なお、判定アルゴリズムとしては、Migrate先は1つ認証レベルの下がったもの以上であれば許可する、もしくは1つ以上認証レベルが上でなければ許可しない、などが考えられる。
また、Migrate可否判定手段504が使用する判定アルゴリズムを、Migrate元が指定できるような構成であってもよい。さらに、判定に用いる暗号強度表701や認証レベル判定表801を、Migrate元が、MigrationAuthority101へ送り、指定できるような構成であってもよい。
続いて、認証レベル判定表801の詳細について説明する。
図8は、認証レベル判定表801の構成を示した図である。認証レベル判定表801は、MigrationAuthorityがどのような時に、Migrateを許可するかについてのセキュリティポリシーを示す。表はMigrate元認証レベル、Migrate先認証レベルといったパラメータで構成される。認証レベル判定表801では、Migrate元認証レベルがEAL1の場合は、Migrate先認証レベルはいかなるものであってもよい(ANY)ことを示している。また、EAL2の場合はEAL1以上、EAL3の場合はEAL2以上、EAL4の場合はEAL3以上の認証レベルが必要であるとしている。また、EAL5以上ではMigrate先でも同等の認証レベルが必要とされる。EAL1〜7以外であれば、Migrate先認証レベルはいかなるものでもよいとしている。
なお、ここではMigrate元がEAL2からEAL4であれば、Migrate先は1つ認証レベルの下がったものでもよいとしたが、同等以上でなければならないとしてもよい。
続いて、本実施の形態における秘密のデータのUploadを行う動作について説明する。
図9は、第一の電子端末102がMigrationAuthority101に対して秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S901)第一の電子端末102で秘密のデータのUploadの準備を行う。Uploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。
そして、第一の電子端末102は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第一の電子端末102を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S902)第一の電子端末102からMigrationAuthority101へ、MigrationPackageをUploadするリクエストを行う。第一の電子端末102は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority101へ送る。
ダイジェスト値とデジタル署名の送付は、Integrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S903)MigrationAuthority101は、第一の電子端末102からMigrationPackageのUploadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第一の電子端末102が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
(S904)MigrationAuthority101は、(S903)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority101の公開鍵(MApubKey)を第一の電子端末102へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第一の電子端末102へ送る。
(S905)第一の電子端末102は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority101よりOKを受信した場合、同時に受信したMApubKeyで(S901)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority101よりNGを受信した場合は、処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第一の電子端末102とMigrationAuthority101で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S906)第一の電子端末102は、(S905)で暗号化したMigrationPackage、Conformance証明書212、情報管理証明書211をMigrationAuthority101へ送付する。
なお、MigrationPackageと、Conformance証明書212、情報管理証明書211をそれぞれ別々のデータとして扱ったが、各証明書が、MigrationPackageに含まれる構成をとってもよい。
(S907)MigrationAuthority101は、MigrationPackage、Conformance証明書212、情報管理証明書211を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて、以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)いずれかの証明書で不正が発見された場合は、データ送信手段506を通じてNGを返す。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Conformance証明書212、情報管理証明書211を受信すると、MigrationPackageをMigrationAuthority101で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S908)MigrationAuthority101は、(S907)の登録処理が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageIDを、第一の電子端末102へ送る。
続いて、本実施の形態における秘密のデータのDownloadを行う動作について説明する。
図10は、第二の電子端末103が、MigrationAuthority101から秘密のデータをDownloadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S1001)第二の電子端末103では、MigrationPackageのDownloadの準備を行う。具体的には、第二の電子端末103は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第二の電子端末103を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S1002)第二の電子端末103からMigrationAuthority101へ、MigrationPackageをDownloadするリクエスト(Downloadリクエスト)を行う。第二の電子端末103は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority101へ送る。
(S1003)MigrationAuthority101は、第二の電子端末103からMigrationPackageのDownloadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、AttestationAttestation処理の実行により第二の電子端末103が不正な端末であるかどうかを検証する。
(S1004)MigrationAuthority101は、(S1003)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合、MigrationAuthority101は、Attestation結果のOKとMigrationAuthority101の公開鍵(MApubKey)とを、第二の電子端末103へ送る。
ii)不正があることが発見された場合、MigrationAuthority101は、Attestation結果のNGを第二の電子端末103へ送る。
(S1005)第二の電子端末103は、MigrationAuthority101より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority101よりOKを受信した場合、第二の電子端末103は、親鍵を、同時に受信したMApubKeyで暗号化する。親鍵は、MigrationPackageを展開したときにできるツリー構造中で最上位にくる秘密のデータを暗号化する鍵である。
ii)MigrationAuthority101よりNGを受信した場合、第二の電子端末103は、処理を終了する。
なお、親鍵を安全に取扱うために、MApubKeyを用いて親鍵の暗号化をしているが、親鍵を安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第二の電子端末103とMigrationAuthority101で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S1006)第二の電子端末103は、DownloadをしたいMigrationPackageのMigrationPackageID、(S1005)で暗号化した親鍵、MigrationPackageの再生成時に用いられる暗号化パラメータ、Conformance証明書212、情報管理証明書211をMigrationAuthority101へ送付する。
(S1007)MigrationAuthority101はMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合、証明書解析手段502は、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を、Migrate可否判定手段504へ送る。
ii)いずれかの証明書で不正が発見された場合、証明書解析手段502は、データ送信手段506を通じてNGを返す。
Migrate可否判定手段504は、証明書解析手段502からMigrationPackageID、暗号化された親鍵、暗号化パラメータ1201、Conformance証明書212、情報管理証明書211を受信する。Migrate可否判定手段504の判定の動作については、図11を用いて後述する。この判定の結果に応じて、Migrate可否判定手段504は、以下の動作を行う。
i)OKであれば、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211とともにMigrationPackage再生成要求をMigrationPackage再生成手段505へ送る。
ii)NGであれば、データ送信手段506を通じてNGを返す。
MigrationPackage再生成手段505は、MigrationPackage再生成要求とともに、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Conformance証明書212、情報管理証明書211を受け取ると、MigrationPackageIDで指定されたMigrationPackageの再生成を行う。再生成の動作については、図13を用いて後述する。
(S1008)MigrationAuthority101は、(S1007)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第二の電子端末103へ送る。
なお、第二の電子端末103は、MigrationPackageを受信した後、MigrationPackageをTrustedPlatformModule201の中で復号化し、正当なデータか否かを証明書を用いて確認するとしてもよい。この場合、正当なデータではなかった場合は、MigrationAuthority101へ、MigrationPackageの再送信を要求する処理を行ってもよい。
続いて、本実施の形態における秘密のデータのMigrateの可否を判定する動作について説明する。
図11は、MigrationAuthority101のMigrate可否判定手段504の動作手順を表した図である。
本実施の形態では、指定されたMigrationPackageIDは001、Conformance証明書212のEvaluateレベルはEAL4、情報管理証明書211のSRKTypeはsymmetric、CipherTypeはAES、KeyLengthは128を指定したものとして説明を行う。
(S1101)Migrate可否判定手段504は、受信したMigrationPackageID001で示されるエントリ情報を、MigrationPackage管理表601より取得する。
(S1102)Migrate可否判定手段504は、まずEvaluateレベルについて比較、判定を行う。判定には、認証レベル判定表801を用いる。
本実施の形態では、Conformance証明書212のEvaluateレベルはEAL4である。MigrationPackageID001で指定されたEvaluateレベルの値はEAL4であるため、それぞれの認証レベルは同一である。認証レベル判定表801によると、EAL3以上であればMigrateを可能としているため、判定はOKである。
(S1103)Migrate可否判定手段504は、暗号強度について比較、判定を行う。
本実施の形態では、情報管理証明書211のSRKTypeはsymmetric、CipherTypeはAES、KeyLengthは128である。MigrationPackageID001で指定されたSRKTypeはasymmetric、CipherTypeはRSA、KeyLengthは2048である。ここで、SRKType、CipherTypeが異なるため、KeyLengthのみの比較では強度レベルの判定はできない。したがって、強度レベルの判定に暗号強度表701が用いられる。
MigrationPackageID001で指定された暗号の強度レベルは暗号強度表701より強度レベル2である。一方、情報管理証明書211で指定された暗号の強度レベルは暗号強度表701より強度レベル3となる。Migrate可否判定手段504の判定アルゴリズムでは、Migrate先の強度レベルがMigrate元と比べて同等以上であればMigrateを許可するとしているので、判定はOKである。
続いて、暗号化パラメータ1201の構成の詳細について説明する。
図12は、MigrationPacakageをDownloadしたいときに電子端末が送る暗号化パラメータ1201の構成を示した図である。暗号化パラメータ1201は、6つのデータを含んだデータ構造を持つ。
1つ目は、(A)親鍵Lengthである。これは、(S1006)で送った親鍵の鍵長を示すデータである。
2つ目は、(B)親鍵アルゴリズムである。これは、(S1006)で送った親鍵を用いるときの暗号アルゴリズムを示すデータである。RSAやECC、AESといったものが指定される。
3つ目は、(C)変更方法である。これは、MigrationPackage再生成手段505において、どのようなMigrationPackageの再生成を行うかを示すデータである。以下の3つを指定することが出来る。
(1)パラメータ0:親鍵の下の階層に来るデータだけを親鍵で暗号化をする。
(2)パラメータ1:MigrationPackageに含まれる秘密データの暗号アルゴリズムを全て親鍵アルゴリズムで指定されるアルゴリズムに統一する。
(3)パラメータ2:MigrationPackageに含まれる秘密データの暗号アルゴリズムのうち秘密鍵方式のアルゴリズムを(D)指定秘密鍵暗号アルゴリズムで指定されるアルゴリズムに変更する。また、公開鍵方式のアルゴリズムを(E)指定公開鍵暗号アルゴリズムで指定されるアルゴリズムに変更する。
4つ目は、(D)指定秘密鍵暗号アルゴリズムである。秘密鍵暗号アルゴリズムが指定される。これは、(C)変更方法でパラメータ2が指定されたときに参照される。
5つ目は、(E)指定公開鍵暗号アルゴリズムである。公開鍵暗号アルゴリズムが指定される。これは、(C)変更方法でパラメータ2が指定されたときに参照される。
6つ目は、(F)変更強度レベルである。(C)変更方法においてパラメータ1もしくはパラメータ2が指定されたときに参照される。以下の3つを指定することができる。
(1)パラメータ0:親鍵と同一の強度レベルでMigrationPackageの再生成を行う。
(2)パラメータ1:情報管理証明書211と同一の強度レベルでMigrationPackageの再生成を行う。
(3)パラメータ2:現在のMigrationPackageと同一の強度レベルでMigrationPackageの再生成を行う。
続いて、MigrationPackage再生成手段505にある暗号化パラメータが与えられたときの再生成動作について説明する。
図13〜図15は、それぞれ、MigrationAuthority101のMigrationPackage再生成手段505に、ある暗号化パラメータが与えられたときの再生成動作の例を表した図である。
図13は、MigrationPackageが再生成例1301の左側で示されるツリー構造をしているときに、暗号化パラメータ1302が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1302の(C)変更方法においてパラメータ0が指定されているため、MigrationPackage再生成手段505は、親鍵での暗号化のみを行う。
MigrationPackageを展開したとき、最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらを、MigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1301の右側に示されたツリー構造の親鍵を除いた破線の部分が、MigrationPackageとして再生成される。
図14は、MigrationPackageが再生成例1401の左側で示されるツリー構造をしているときに、暗号化パラメータ1402が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1402の(C)変更方法においてパラメータ1が指定されているため、MigrationPackage再生成手段505は、全体の暗号アルゴリズムの変更を行う。
以下その手順をステップ毎に説明する。
ステップ1:
まず、MigrationPackageを展開したときの最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらをMigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、そのRSA2048ビットの秘密鍵を用いて、RSA1024ビットの鍵ペアとデータ1を復号化する。そして、RSA1024ビットの秘密鍵を用いてデータ2を復号化する。
ステップ2:
(F)変更強度レベルがパラメータ2であるため、MigrationPackage再生成手段505は、現在のMigrationPackageと同一の強度レベルで再生成を行う。RSA1024ビットに相当する秘密鍵暗号アルゴリズムの鍵長は、暗号強度表701より80ビットである。
しかしながら、AESのとる最小の鍵長は、128ビットであるため、128ビットの鍵を生成しAESアルゴリズムを用いてデータ2を暗号化する。さらに、RSA2048ビットに相当する秘密鍵暗号アルゴリズムの鍵長は、暗号強度表701より112ビットである。しかしながら、AESのとる最小の鍵長は128ビットであるため、128ビットの鍵を生成しAESアルゴリズムを用いてAES128ビットの鍵とデータ1を暗号化する。最後に(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1301の右側に示されたツリー構造の親鍵を除いた破線の部分が、MigrationPackageとして再生成される。
図15は、MigrationPackageが、再生成例1501の左側で示されるツリー構造をしているときに、暗号化パラメータ1502が与えられた場合の再生成後の結果を示している図である。
この例では、暗号化パラメータ1502において(C)変更方法でパラメータ2、
(D)指定秘密鍵暗号アルゴリズムでAES、(E)指定公開鍵暗号アルゴリズムでECCが指定されているため、MigrationPackage再生成手段505は、全体の秘密鍵暗号アルゴリズムおよび公開鍵暗号アルゴリズムの変更を行う。
以下、その手順をステップ毎に説明する。
ステップ1:
まず、MigrationPackageを展開したときの最上位にあるデータが暗号アルゴリズムRSAの2048ビットの公開鍵と秘密鍵のペアを示しているため、MigrationPackage再生成手段505は、これらをMigrationAuthority101のMApubKeyに対応する秘密鍵で復号化する。そして、そのRSA2048ビットの秘密鍵を用いて、DES(Data Encryption Standard)56ビットの鍵とデータ1を復号化する。そして、DES56ビットの秘密鍵を用いてデータ2を復号化する。
ステップ2:
(F)変更強度レベルでパラメータ0であるため、現在の親鍵と同一の強度レベルで再生成を行う。DESは秘密鍵暗号であるので、(D)指定秘密鍵暗号アルゴリズムに指定されているAES128ビットに変更される。よって、128ビットの鍵を生成しAESアルゴリズムを用いてデータ2を暗号化する。次に、RSAは公開鍵暗号であるため、(E)指定公開鍵暗号アルゴリズムでECCに変更される。親鍵であるAES128ビットに相当するECCの鍵長は、暗号強度表701より256ビットである。よって、256ビットの鍵を生成しECCアルゴリズムを用いてAES128ビットの鍵とデータ1を暗号化する。最後に(B)親鍵アルゴリズムで示されたAES、(A)親鍵Lengthで表される128ビットの親鍵で暗号化して、再生成例1501の右側に示されたツリー構造の親鍵を除いた破線の部分が、MigrationPackageとして再生成される。
なお、親鍵はMigrationPackageをDownloadする第二の電子端末から送るとしたが、MigrationAuthority101側で生成する構成であってもよい。
以上で、本発明の実施の形態1の説明を終る。
(実施の形態2)
続いて、本発明の実施の形態2について、図面を参照しながら説明する。
本実施の形態2では、実施の形態1で説明した秘密のデータのMigrate方法をDRM(DigitalRightsManagement)アプリケーションに適用した例を説明する。
LocalApplication205が、DRMアプリケーションであると想定する。DRMアプリケーションは、音楽や動画などのデジタルコンテンツを取扱うアプリケーションで、これらの著作権保護を実現する。また、デジタルコンテンツの利用に関して回数制限や期間制限、時間制限など細やかな権利管理を実現するアプリケーションである。
図16は、コンテンツ管理テーブル1601およびコンテンツ管理テーブル1602の構成を示した図である。コンテンツ管理テーブル1601は、DRMアプリケーションで取扱うコンテンツの保存先を管理する。2つコンテンツ管理テーブルがあるのは、DRMアプリケーションが、一定数以上のコンテンツを管理し、1つのコンテンツ管理テーブルで扱うコンテンツ数を超えた状態を意味している。
コンテンツ管理テーブル1601は、コンテンツを特定するコンテンツIDと、保存位置を特定できるフルパスで示されたファイル名がリストになって構成されている。このコンテンツ管理テーブル1601によりコンテンツIDから保存領域207に保存されているコンテンツの保存位置を特定することができる。コンテンツ管理テーブル1602についてもコンテンツ管理テーブル1601と同様の構成をとる。
図17は、本発明の実施の形態2におけるDRMアプリケーションが、著作権保護および権利管理を実現するための構成を示す図である。
権利管理テーブル1701は、DRMアプリケーションが取扱うコンテンツの権利管理を行うテーブルである。それぞれはその状態を示す一例である。各行のエントリ情報は、コンテンツID、コンテンツ鍵、権利情報などを含む。各エントリ情報は、コンテンツ権利情報の受信時かもしくは電子端末で定められたタイミングで権利管理テーブルに登録されるが、本実施の形態ではその登録に関する手順は省略する。
コンテンツIDはコンテンツを特定するための識別情報である。復号要求送信手段112から送られるコンテンツIDと一致する番号情報が登録されており、それをキーとしてエントリ情報を検索することができる。
コンテンツ鍵はコンテンツIDで示される暗号化されたコンテンツの復号鍵である。コンテンツがAESで暗号化されている場合、鍵長は128ビットや192ビット等あるが、本実施の形態はそれに限定しない。
権利情報はコンテンツIDで示されるコンテンツがどのような権利で管理されるかを特定する情報である。権利情報の詳細については、説明を省略する。
移動フラグは、コンテンツをMigrationAuthority101へアップロードしたかどうかを示すフラグである。「0」はアップロードしていない状態を示す。「1」はアップロードした状態を示す。「1」のフラグが示されている状態の場合は、ユーザはコンテンツの再生や移動を行うことができない。
権利管理テーブル1704は権利管理テーブル1701と同様の構成をとり、権利管理テーブル1701に対応している。
権利保護鍵テーブル1702は、権利管理テーブル1701における各エントリ情報を暗号化する権利保護鍵を管理するテーブルである。権利保護鍵でエントリ情報のコンテンツID以外の情報を暗号化して保護している。
権利保護鍵テーブル1705は権利保護鍵テーブル1702と同様の構成をとる。
時変鍵1703は、権利保護鍵テーブル1702を暗号化する鍵である。時間の経過とともに鍵の値が変化する特徴をもつ。このような鍵が用いられる目的は、DRMアプリケーションにおける権利管理では、悪意のあるユーザが権利消費前の権利をバックアップしておいて、権利を消費した後にバックアップしておいた権利消費前の権利をリストアすることで、永久に権利消費が行われないようなバックアップリストア攻撃を防止するためである。
時変鍵はユーザによって改竄されないセキュアな時刻情報やカウンタなどによって生成されるが、生成方法の詳細については、説明を省略する。
時変鍵1706は、時変鍵1703と同様の特徴を持ち、権利保護鍵テーブル1705に対応している。
図18は、DRMアプリケーションが時変鍵1703および時変鍵1706、権利保護鍵テーブル1702及び権利保護鍵テーブル1705をツリー構造で管理している図(左側)と、ユーザによってコンテンツのUploadを指定され、生成されたMigrationPackageが持つツリー構造の図(右側)である。
左側のツリーの状態は、権利保護鍵テーブル1702が時変鍵1703で暗号化され、権利保護鍵テーブル1705が時変鍵1706で暗号化されている状態を示している。暗号アルゴリズムにはAESが用いられ、それぞれの時変鍵の鍵長は128ビットであることを示している。さらに時変鍵1703、時変鍵1706はDRMアプリケーションと対応するDRM鍵で暗号化されている。暗号アルゴリズムにはRSAが用いられ、DRM鍵の鍵長は2048ビットであることを示している。
右側のツリーの状態は、MigrationPackageを生成した後の結果を示している。ユーザが指定したコンテンツのコンテンツIDに対応する権利管理テーブル1701または権利管理テーブル1704のエントリ情報を暗号化している権利保護鍵を取り出して移動用権利保護鍵テーブル1802を生成し、128ビットの移動鍵1801を生成して、移動用権利保護鍵テーブルを暗号化する。暗号アルゴリズムにはAESを用いている。
図19は、第一の電子端末102のDRMアプリケーションがMigrationAuthority101に対して秘密のデータをUploadする時の動作手順を表した図である。
(S1901)ユーザがDRMアプリケーションで管理しているコンテンツ管理テーブル1601のコンテンツID001とコンテンツ管理テーブル1602のコンテンツID00aのUploadを指定したとき、第一の電子端末102で秘密のデータのUploadの準備を行う。
(a)DRMアプリケーションは、ユーザからUploadの指定を受けると、指定されたコンテンツのコンテンツIDに対応するエントリ情報を権利管理テーブル1701または権利管理テーブル1704から取り出す。
(b)DRMアプリケーションは、(a)で取り出したエントリ情報より移動用権利管理テーブルを生成する。
(c)DRMアプリケーションは、暗号化されたコンテンツのデータと(b)で生成した移動用権利管理テーブルを、Migrate先となる第二の電子端末103へ直接送る。
なお、コンテンツのデータと移動用権利管理テーブルの第二の電子端末へ渡す方法は、記録メディアを通じたものや、MigrationAuthority101を経由するようなサーバを通じたものであってもよい。
(d)DRMアプリケーションは、TrustedPlatformModule201の中で時変鍵1703、時変鍵1706を用いて、権利保護鍵テーブル1702および権利保護鍵テーブル1705を復号化する。また、指定されたコンテンツのコンテンツIDに対応する権利保護鍵を取り出し、移動用権利保護鍵テーブル1802を生成する。
(e)DRMアプリケーションは、TrustedPlatformModule201の中で128ビットの移動鍵1801を生成し、移動用権利保護鍵テーブル1802を暗号化する。暗号アルゴリズムにはAESが用いられる。
(f)DRMアプリケーションは、移動鍵1801と暗号化した移動用権利保護テーブル1802より、MigrationPackageを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。
MigrationPackageを生成した以降の処理は、(S901)と同一であるため、説明を省略する。
(S1902)(S902)と同一であるため説明を省略する。
(S1903)(S903)と同一であるため説明を省略する。
(S1904)(S904)と同一であるため説明を省略する。
(S1905)(S905)と同一であるため説明を省略する。
(S1906)第一の電子端末102において、
(a)DRMアプリケーションは、TrustedPlatformModule201の中で時変鍵1703、時変鍵1706を用いて、権利保護鍵テーブル1702および権利保護鍵テーブル1705を復号化し、指定されたコンテンツのコンテンツIDで対応する権利保護鍵を取り出す。
(b)DRMアプリケーションは、(a)で取り出した権利保護鍵を用いて、ユーザがUploadを指定した権利管理テーブル1701のコンテンツID「001」とコンテンツ管理テーブル1602のコンテンツID「00a」のエントリ情報を、復号化する。
(c)DRMアプリケーションは、(b)で復号化したエントリ情報の移動フラグを「1」とする。
(d)DRMアプリケーションは、(a)で取り出した権利保護鍵を用いて、再度ユーザがUploadを指定した権利管理テーブル1701のコンテンツID001とコンテンツ管理テーブル1602のコンテンツID00aのエントリ情報を、暗号化する。
(e)DRMアプリケーションは、時変鍵1703および時変鍵1706を更新し、再度権利保護鍵テーブル1702および権利保護鍵テーブル1705を暗号化する。
以降の処理は、(S906)と同一であるため、説明を省略する。
(S1907)(S907)と同一であるため説明を省略する。
(S1908)(S908)と同一であるため説明を省略する。
以上で、第一の電子端末102のDRMアプリケーションがMigrationAuthority101に対して秘密のデータをUploadする時の動作手順の説明を終る。
図19(S1906)で移動フラグを「1」としたエントリ情報およびコンテンツは、以下のいずれかで制御される。
(i)図19でUploadしたMigrationPackageを第二の電子端末103がDownloadした後、第一の電子端末102に通知され、コンテンツに対応する情報は全て消去される。
(ii)図19でUploadしたMigrationPackageが第二の電子端末103にDownloadされなかった場合は、移動フラグを「0」に戻し、第一の電子端末102上で再生可能な状態とする。なお、MigrationPackageが第二の電子端末103にDownloadされなかった場合の例としては、MigrationAuthority101におけるMigrationPackageの管理期限が切れ、その旨が第一の電子端末102に通知された場合などが考えられる。
なお、MigrationPackageを第二の電子端末103がDownloadした後、第一の電子端末102がコンテンツに関する情報を全て削除したことを、MigrationAuthority101が把握するために、コンテンツを削除したことを示す情報を、TCGで定められたExtend処理を施してダイジェスト値を生成し、Attestation処理を行うとしてもよい。MigrationAuthority101は第二の電子端末103によるDownload後、Attestation処理が行われない限りは、第一の電子端末102からのアクセスを防ぐような処置を施すことが出来る。
また、DRM方式によっては、ドメインという概念が導入されている。ドメインとは、複数の端末を同一のグループとして捉える概念で、音楽や動画などのデジタルコンテンツの共有に用いられる。以上で説明した秘密のデータのMigrateは、ドメインという枠内に限定されるものとしてもよい。その場合、MigrationAuthority101が第一の電子端末102と第二の電子端末103が同一ドメインであるかどうかを判定する。
以上で、本発明の実施の形態2の説明を終る。
(実施の形態3)
続いて、本発明の実施の形態3について、図面を参照しながら説明する。
図20は、本発明の実施の形態3におけるシステムの全体構成を示す図である。
図20において、MigrationAuthority2001はネットワークを介して第三の電子端末との通信を行い、秘密のデータのMigrationのサービスを提供する。詳細な構成はMigrationAuthority101と同一であるため、説明を省略する。
第三の電子端末2002の基本構成は第一の電子端末102や第二の電子端末103と同一で、ツリー構造でデータを管理しており、ツリー構造のリーフに割り当てたデータを、ルートからそのリーフに至るまでのノードおよびルートに割り当てた鍵で階層的に暗号化して保護している。第一の電子端末102や第二の電子端末103と異なる点は、第一の記憶装置2004と接続している点にある。
続いて第三の電子端末2002の構成の詳細について説明する。
図21は、第三の電子端末2002の構成を示した図である。StorageApplication2101および、Storage証明書2103以外の構成については、第一の電子端末102や第二の電子端末103と同一であるため、説明を省略する。
StorageApplication2101は、第一の記憶装置2004の制御やMigrationAurthority2001との通信を行うソフトウェアである。本実施の形態では、StorageApplication2101は、ホストとStorageDevice間のセキュアなデータ通信などのプロトコルを規定した“TCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”のHost Application仕様を満たしている。SRKで管理されていた秘密データ215の第一の記憶装置2004へのMigrateを実現する。
Storage証明書2103は、ORG Certificateと呼ばれる認証機関から発行された証明書である。本実施の形態では、MigrationAuthority101によって発行されているものとする。ORG Certificateには、第一の記憶装置2004における機能を特徴付けるTemplateが記載されている。Templateには、第一の記憶装置2004でサポートする暗号アルゴリズムについて記載されているため、本実施の形態では第一の記憶装置2004においてサポートする暗号強度を示す情報としてこれを利用する。第一の記憶装置2004にあって、記憶領域を保持し、Methodと呼ばれる外部へ機能を提供する関数を用意するソフトウェアはServiceProviderと呼ばれる。ServiceProviderの機能はTemplateによって決定される。
他にORG Certificateの内容としては、発行機関、サポートする仕様書のバージョン番号、署名で使うアルゴリズム、署名情報などが含まれるが、詳細については、“TCG Storage Workgroup Storage Certificate Profiles1.0”において記載されているため、説明を省略する。また、Templateは、“TCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
そしてStorage証明書2103は、さらに拡張され、Conformance証明書212において説明したEvaluateレベルやセキュリティ評価基準の仕様を特定するためのデータが追加されているものとする。Storage証明書2103は、第一の記憶装置2004がどのくらいの評価認定を受けているかを示す情報として用いられる。評価の指標としては、Conformance証明書212のEvaluateレベルと同じく、ISO/IEC15408で定められたセキュリティの評価基準に基づいて認定されたレベルなどで表される。
また、Storage証明書2103はORG Certificateであるとしたが、暗号強度やEvaluateレベルなど同等の情報を持つデータであれば、これに限定するものではない。
続いて第一の記憶装置2004の構成の詳細について説明する。
図22は、第一の記憶装置2004の構成と第三の電子端末の関係を示した図である。
TrustedPeripheral2200は、第一の記憶装置2004の機能と記憶領域2206に記憶されたデータのデータ構造を管理する。第三の電子端末2002のStorageApplication2101とセキュアな通信路を構築し、データへのアクセスコントロールを実現する。なお、詳細については“TCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
AdminSP2202は、TrustedPeripheral2200に必ず存在するSecurityProviderである。Methodが用意されており、StorageApplication2101がこれをCallする。詳細についてはTCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
CryptoSP2204は、記憶領域2206へ記憶するデータを暗号化するMethodを提供するSecurityProviderである。詳細についてはTCG Storage Architecture Core Specification”や“TCG Storage Workgroup Security Subsystem Class:Optical”において記載されているため、説明を省略する。
記憶領域2206には、TrustedPeripheral2200のAdminSP2202やCryptoSP2204などを通してデータが記憶される。一般的にはHDD、Flashメモリ、BDやDVD、CDなどのOpticalDiskで実現されるが、情報を保存できる機能を持つものであればこれに限定されるものではない。
続いて、本実施の形態におけるTrustedPlatformModule201が保護する秘密のデータのMigrateを行う動作について説明するが、MigrationAuthority2001へのUploadの方法は実施の形態1で既に説明済みであるため、省略する。
以下、本実施の形態におけるMigrationAuthority2001から秘密のデータのDownloadし、第一の記憶装置2004へ記録する動作について説明する。
図23は、第三の電子端末2002がMigrationAuthority2001から秘密のデータをDownloadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S2301)第三の電子端末2002でMigrationPackageのDownloadの準備を行う。第三の電子端末2002は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第三の電子端末2002を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S2302)第三の電子端末2002からMigrationAuthority2001へMigrationPackageをDownloadするリクエスト(Downloadリクエスト)を行う。第三の電子端末2002は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority2001へ送る。
(S2303)MigrationAuthority2001は、第三の電子端末2002からMigrationPackageのDownloadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第三の電子端末2002が不正な端末であるかどうかを検証する。
(S2304)MigrationAuthority2001は、(S2303)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority2001の公開鍵(MApubKey)を第三の電子端末2002へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第三の電子端末2002へ送る。
(S2305)第三の電子端末2002は、MigrationAuthority2001より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2001よりOKを受信した場合、親鍵を、同時に受信したMApubKeyで暗号化する。親鍵はMigrationPackageを展開したときにできるツリー構造中で最上位にくる秘密のデータを暗号化する鍵である。
ii)MigrationAuthority2001よりNGを受信した場合は処理を終了する。
なお、親鍵を安全に取扱うために、MApubKeyを用いて親鍵の暗号化をしているが、親鍵を安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第三の電子端末2002とMigrationAuthority2001で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S2306)第三の電子端末2002は、DownloadをしたいMigrationPackageのMigrationPackageID、(S2305)で暗号化した親鍵、MigrationPackageの再生成時に用いられる暗号化パラメータ、Storage証明書2103をMigrationAuthority2001へ送付する。
(S2307)MigrationAuthority2001はMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、Storage証明書2103の正当性を検証し、検証結果に応じて以下の動作を行う。
i)Storage証明書2103の正当性が確認された場合は、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103をMigrate可否判定手段504へ送る。
ii)Storage証明書2103に不正が発見された場合は、データ送信手段506を通じてNGを返し、処理を終了する。
上記i)の証明書の正当性が確認された場合に、Migrate可否判定手段504は、証明書解析手段502からMigrationPackageID、暗号化された親鍵、暗号化パラメータ1201、Storage証明書2103を受信する。
Migrate可否判定手段504の判定の動作については、図24を用いて後述する。
この判定の結果に応じて、Migrate可否判定手段504は、以下の動作を行う。
i)OKであれば、MigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103とともにMigrationPackage再生成要求をMigrationPackage再生成手段505へ送る。
ii)NGであれば、データ送信手段506を通じてNGを返し、処理を終了する。
上記i)Migrate可否判定手段504の判定結果がOKの場合に、MigrationPackage再生成手段505は、MigrationPackage再生成要求とともにMigrationPackageID、暗号化された親鍵、暗号化パラメータ、Storage証明書2103を受け取ると、MigrationPackageIDで指定されたMigrationPackageの再生成を行う。
(S2308)MigrationAuthority2001は、(S2307)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第三の電子端末2002へ送り、第三の電子端末2002はあらかじめ定められた方法によって、MigrationPakageを第一の記憶装置2004へ記録する。
なお、第三の電子端末2002は、MigrationPackageを受信した後、MigrationPackageをTrustedPlatformModule201の中で復号化し、正当なデータか否かを証明書を用いて確認するとしてもよい。この場合、正当なデータではなかった場合は、MigrationAuthority2001へMigrationPackageの再送信を要求する処理を行ってもよい。
続いて、本実施の形態における秘密のデータのMigrateの可否を判定する動作について説明する。
図24は、MigrationAuthority2001のMigrate可否判定手段504におけるMigrate判定の動作手順を表した図である。
本実施の形態では、MigrationPackageIDは001、Storage証明書2103のEvaluateレベルはEAL4、CipherTypeはAES、KeyLengthは128を指定したものとして説明を行う。
(S2401)Migrate可否判定手段504は、受信したMigrationPackageID001で示されるエントリ情報をMigrationPackage管理表601より取得する。
(S2402)Migrate可否判定手段504は、まずEvaluateレベルについて比較、判定を行う。判定には、認証レベル判定表801を用いる。
Storage証明書2103のEvaluateレベルはEAL4であるとする。MigrationPackageID001で指定されたEvaluateレベルの値はEAL4であるため、それぞれの認証レベルは同一である。認証レベル判定表801によると、EAL3以上であればMigrateを可能としているため、判定はOKである。
(S2403)Migrate可否判定手段504は、暗号強度について比較、判定を行う。
Storage証明書2103のCipherTypeがAES、KeyLengthが128であるとする。MigrationPackageID001で指定されたSRKTypeはasymmetric、CipherTypeはRSA、KeyLengthは2048である。ここで、SRKType、CipherTypeが異なるため、KeyLengthのみの比較では強度レベルの判定はできない。したがって、強度レベルの判定に暗号強度表701が用いられる。
MigrationPackageID001で指定された暗号の強度レベルは暗号強度表701より強度レベル2である。一方、Storage証明書2103で指定された暗号の強度レベルは暗号強度表701より強度レベル3となる。Migrate可否判定手段504の判定アルゴリズムでは、Migrate先の強度レベルがMigrate元と比べて同等以上であればMigrateを許可するとしているので、判定はOKである。
なお、StorageApplication2101は、第三の電子端末2002にインストールされた第一の記憶装置2004を管理するホスト側アプリケーションとして記述したが、第三の電子端末2002とは異なる電子端末にインストールされ、MigrationAuthority2001経由でデータのMigrateが行われるとしてもよい。
また、MigrationAuthority2001は、第三の電子端末2002と異なる装置である必要はなく、アプリケーションとして第三の電子端末2002にインストールされ、StorageApplication2101と第三の電子端末2002内で通信しながらMigrateを行う構成であってもよい。
続いて、本実施の形態における第一の記憶装置2004が記録する秘密のデータのMigrateを行う動作について説明するが、MigrationAuthority2001からのDownloadの方法は実施の形態1で既に説明済みであるため、省略する。
以下、本実施の形態におけるMigrationAuthority2001へ秘密のデータのUploadする動作について説明する。
図29は、第三の電子端末2002が、MigrationAuthority2001から秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S3001)第三の電子端末2002で第一の記憶装置2004のデータのMigrationPackageのUploadの準備を行う。Uploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。
そして、第三の電子端末2002は、TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第三の電子端末2002を構成するブートローダ、OS、デバイスドライバ、アプリケーションなどのソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ215に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
(S3002)第三の電子端末2002からMigrationAuthority2001へMigrationPackageをUploadするリクエスト(Uploadリクエスト)を行う。第三の電子端末2002は、ダイジェスト値とデジタル署名とAIK証明書210をリクエストと共にMigrationAuthority2001へ送る。
(S3003)MigrationAuthority2001は、第三の電子端末2002からMigrationPackageのUploadリクエストを受信する。このとき同時に受信したダイジェスト値とデジタル署名、AIK証明書210をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第三の電子端末2002が不正な端末であるかどうかを検証する。
(S3004)MigrationAuthority2001は、(S3003)の結果に応じて、以下の動作を行う。
i)不正がないことが検証された場合は、Attestation結果のOKとMigrationAuthority2001の公開鍵(MApubKey)を第三の電子端末2002へ送る。
ii)不正があることが発見された場合は、Attestation結果のNGを第三の電子端末2002へ送る。
(S3005)第三の電子端末2002は、MigrationAuthority2001より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2001よりOKを受信した場合、同時に受信したMApubKeyで(S3001)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority2001よりNGを受信した場合は処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第三の電子端末2002とMigrationAuthority2001で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S3006)第三の電子端末2002は、(S3005)で暗号化したMigrationPackage、Storage証明書2103をMigrationAuthority2001へ送付する。
なお、MigrationPackageと、Storage証明書2103をそれぞれ別々のデータとして扱ったが、証明書がMigrationPackageに含まれる構成をとってもよい。
(S3007)MigrationAuthority2001はMigrationPackage、Storage証明書2103を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、Storage証明書2103の正当性を検証し、検証結果に応じて以下の動作を行う。
i)Storage証明書2103の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)Storage証明書2103に不正が発見された場合は、データ送信手段506を通じてNGを返し、処理を終了する。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Storage証明書2103を受信すると、MigrationPackageをMigrationAuthority2001で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S3008)MigrationAuthority2001は、(S3007)の動作が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageを第三の電子端末2002へ送る。
以上で、本発明の実施の形態3の説明を終る。
(実施の形態4)
続いて、本発明の実施の形態4について、図面を参照しながら説明する。
図25は、本発明の実施の形態4におけるシステムの全体構成を示す図である。
図25において、MigrationAuthority2501はネットワークを介して電子端末との通信を行い、電子端末における仮想環境や秘密のデータのMigrationのサービスを提供する。詳細な構成はMigrationAuthority101と同一であるため、説明を省略する。
第四の電子端末2502や第五の電子端末2503の基本構成は第一の電子端末102や第二の電子端末103と同一であるが、仮想化技術の導入により複数OSの共存が可能となっている。詳細については、図26を用いて後述する。
図26は、第四の電子端末2502および第五の電子端末2503の構成を示した図である。
Hypervisor2602は、コンピュータにおけるリソースを抽象化する仮想化技術を実現するモジュールである。代表的な例としては、複数のOSを制御するXENやVMWare、アプリケーションの移植性に強さを発揮するJava(登録商標)(登録商標)VirtualMachineなどがあげられる。
Management手段2603は、他の電子端末のManagement手段2603と連携し、VirtualMachineのMigrateを実現する。実施の形態1〜3では、Migrateの対象は秘密データであったが、本実施の形態では、VirtualMachineをMigrateする。VirtualMachineのMigrateとは、仮想化技術におけるある電子端末からOSやアプリケーションを含むVirtualMachineごと別の電子端末へ移動し、実行する技術のことをさす。
なお、VirtualMachine2604およびVirtualMachine2605の詳細については、図27を用いて後述する。
AIK証明書2610は、Attestation Identity Key Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority2501によって発行されているものとする。AIK証明書210は、TPMがAIK(Attestation Identity Key)を保有していることなどを確認するために用いられる。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
情報管理証明書2611は、第四の電子端末2502および第五の電子端末2503でサポートする秘密データ2615の管理方法を記載している。複数の暗号方式をサポートしている場合は、複数の情報管理証明書2611が保存領域2607に記録されてもよい。本実施の形態ではMigrationAuthority2501によって発行されているものとする。詳細については、“TCG Specification Architecture Overview”において記載されているため、説明を省略する。
Conformance証明書2612は、TCGの評価基準に準拠していることを証明する属性証明書である。一般的には評価を行う機関によって発行される。本実施の形態では、MigrationAuthority2501によって発行されているものとする。
なお、AIK証明書2610や情報管理証明書2611、Conformance証明書2612は別々の証明書として説明したが、これらが一つにまとまって証明書を構成していてもよい。
続いてVirtualMachine2604およびVirtualMachine2605の構成の詳細について説明する。
図27は、VirtualMachine2604およびVirtualMachine2605の構成を示した図である。各VirtualMachineは、それぞれが仮想的に1つの装置全体を実現している。そのため、各VirtualMachineは、第一の電子端末102や第二の電子端末103と同様の構成を備えている。MachineMigrate制御手段2701および、基盤証明書2703以外の構成については、第一の電子端末102や第二の電子端末103と同一であるため、説明を省略する。
MachineMigrate制御手段2701は、Management手段2603やMigrationAuthority2501と連携しながら、VirtualMachineのMigrationを行う。
基盤証明書2703は、Platform Credentialと呼ばれる証明書である。本実施の形態ではMigrationAuthority2501によって発行されているものとするが、第四の電子端末2502や第五の電子端末2503の内部で生成されてもよい。“TCG Virtualized Platform WG”では、従来のPlatform CredentialにVirtualMachineのMigrate先となる電子端末に必要な最低限のレベルを記載する“Minimum Trust Level”を追加している。Minimum Trust Levelの記載は、Conformance証明書212のEvaluateレベル、Evaluate仕様と同じく行われる。基盤証明書2703は他に、VirtualMachineの製造会社や、VirtualMachineの基盤となっているタイプについての情報が記載されるが、詳細については、“TCG Specification Architecture Overview”や“TCG Virtulized Platform WG”より公開される仕様書において記載されているため、説明を省略する。
続いて、本実施の形態におけるVirtualMachineのMigrateについて説明するが、VirtualMachineのMigrate後に行われる秘密データのDownloadの方法については既に説明済みであるため、省略する。
本実施の形態では、VirtualMachineを端末間でMigrateする場合には、VirtualMachine本体をMigrationAuthority経由で移動させるのではなく、VirtualMachineが使用する秘密のデータをMigrationAuthority経由で移動する。また、VirtualMachine本体は、秘密の情報を取り除いた上で別途移動させる。
図28は、第四の電子端末2502から第五の電子端末2503へVirtualMachineをMigrateするときに、第四の電子端末2502がMigrationAuthority2501に対して秘密のデータをUploadする時の動作手順を表した図である。以下、この動作手順を説明する。
(S2801)第四の電子端末2502でVirtualMachineのMigrateの準備を行う。MigrationAuthority2501へUploadをする対象となる一つもしくは複数の秘密のデータを集約して、MigrationPackageと呼ばれるひとまとまりのデータを生成する。MigrationPackageの詳細については、非特許文献1に記載されているので説明を省略する。TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第四の電子端末2502を構成するブートローダ、Hypervisor2602などVirtualMachineを動作させるために必要なソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ2615に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2802)第四の電子端末2502からMigrationAuthority2501へVirtualMachineを第五の電子端末2503へMigrateするリクエストを行う。第四の電子端末2502は、ダイジェスト値とデジタル署名とAIK証明書2610、基盤証明書2703をリクエストと共にMigrationAuthority2501へ送る。
ダイジェスト値とデジタル署名の送付はIntegrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2803)MigrationAuthority2501は、第四の電子端末2502からVirtualMachineを第五の電子端末2503へMigrateするリクエストを受信する。このとき、同時に受信したダイジェスト値とデジタル署名、AIK証明書2610をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第四の電子端末2502が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
(S2804)MigrationAuthority2501は、(S2803)の結果、第四の電子端末2502に不正がないことが検証された場合は、第五の電子端末2503へ第四電子端末2502からのMigrate要求を送る。
(S2805)第五の電子端末2503は、MigrationAuthority2501より受信したリクエストに応じて、Migrateの準備を行う。TCGで定められたIntegrity Measurementと呼ばれる機能を用いて、第五の電子端末2503を構成するブートローダ、Hypervisor2602などVirtualMachineを動作させるために必要なソフトウェアの全てもしくは一部を対象に算出したダイジェスト値をTrustedPlatformModule201内のPlatform Configuration Registers(PCR)と呼ばれるレジスタから取り出す。そして、このダイジェスト値に秘密データ2615に含まれるAIKを用いてTrustedPlatformModule201内でデジタル署名を施す。
Integrity Measurementは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2806)第五の電子端末2503は、ダイジェスト値とデジタル署名とAIK証明書2610、Conformance証明書2612をリクエストと共にMigrationAuthority2501へ送る。
ダイジェスト値とデジタル署名の送付はIntegrity Reportingと呼ばれる。Integrity Reportingは、“TCG Specification Architecture Overview”において記載されているため、詳細な説明を省略する。
(S2807)MigrationAuthority2501は、第五の電子端末2503からダイジェスト値とデジタル署名、AIK証明書2610をAttestation処理手段501へ送る。Attestation処理手段501は、Attestation処理の実行により第四の電子端末2502が不正な端末であるかどうかを検証する。不正な端末とは、悪意のあるユーザやウィルスなどによって改竄が加えられ、予期しない動作をする端末である。
また、(S2803)で受信した基盤証明書2703とConformance証明書2612を証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、それぞれの証明書をMigrate可否判定手段504へ送る。
ii)いずれかの証明書で不正が発見された場合は、(S2808)のとおりNGを返し、処理を終了する。
上記i)の証明書の正当性が確認された場合に、Migrate可否判定手段504は、証明書解析手段502から基盤証明書2703とConformance証明書2612を受信し、基盤証明書2703の“Minimum Trust Level”とConformance証明書2612の“Evaluateレベル”を比較し以下の動作を行う。
i)“Minimum Trust Level” ≦ “Evaluateレベル”の場合、判定はOK、
ii)“Minimum Trust Level” > “Evaluateレベル”の場合、判定はNG、
をそれぞれ生成する。
上述の通り、“Minimum Trust Level”は、Migrate先に求められる最低限のレベルを示している。そのため、(S2807)では、Migrate先である第五の電子端末のEvaluateレベルが“Minimum Trust Level”よりも高ければ、Migrateを許可すると判断している。また、Evaluate Levelの方が“Minmum Trust Level”よりも低ければ、第五の電子端末はMigrate先として十分なレベルを有していないということになるので、Migrateを許可しない。
(S2808)MigrationAuthority2501は、(S2507)の結果に応じて、以下の動作を行う。
i)判定結果がOKの場合は、結果のOKを第五の電子端末2503へ送る。また、MigrationのOKとMigrationAuthority2501の公開鍵(MApubKey)を第四の電子端末2502へ送る。
ii)判定結果がNGの場合は、結果のNGを第五の電子端末2503へ、MigrationのNGを第四の電子端末2502へ返し、処理を終了する。
(S2809)第四の電子端末2502は、MigrationAuthority2501より受信した情報に応じて以下の動作を行う。
i)MigrationAuthority2501よりOKを受信した場合、同時に受信したMApubKeyで(S2801)で生成したMigrationPackageを暗号化する。
ii)MigrationAuthority2501よりNGを受信した場合は処理を終了する。
なお、MigrationPackageを安全に取扱うために、MApubKeyを用いてMigrationPackageの暗号化をしているが、MigrationPackageを安全に取扱う方法であれば特にこの方法に限定するものではない。例えば、第四の電子端末2502とMigrationAuthority2501で相互認証した後、一時的に用いられるセッション鍵と呼ばれる共有鍵を持ち合い、そのセッション鍵で暗号化通信を行うとしてもよい。
(S2810)第四の電子端末2502は、(S2809)で暗号化したMigrationPackage、Conformance証明書2612、情報管理証明書2611をMigrationAuthority2501へ送付する。
なお、MigrationPackageと、Conformance証明書2612、情報管理証明書2611をそれぞれ別々のデータとして扱ったが、各証明書がMigrationPackageに含まれる構成をとってもよい。
(S2811)MigrationAuthority2501は、MigrationPackage、Conformance証明書2612、情報管理証明書2611を受信する。データ受信手段500は、これらのデータを受信すると、証明書解析手段502へ送る。
証明書解析手段502は、これらの証明書の正当性を検証し、検証結果に応じて、以下の動作を行う。
i)それぞれの証明書の正当性が確認された場合は、これらをMigrationPackage登録手段503へ送る。
ii)いずれかの証明書で不正が発見された場合は、データ送信手段506を通じてNGを返す。
MigrationPackage登録手段503は、証明書解析手段502からMigrationPackage、Conformance証明書2612、情報管理証明書2611を受信すると、MigrationPackageをMigrationAuthority2501で一意に特定するMigrationPackageIDを生成し、MigrationPackageを保存領域507へ保存する。また、保存先とそれぞれの証明書からデータを抽出し、MigrationPackage管理表に登録する。
(S2812)MigrationAuthority2501は、(S2811)の登録処理が完了すると、データ送信手段506を通じて、結果のOKとMigrationPackageIDを第四の電子端末2502へ送る。
(S2813)第四の電子端末2502は、(S2812)でUpload結果のOKとMigrationPackageIDを受信すると、VirtualMachineの第五の電子端末2503への移動が行われる。VirtualMachineは第五の電子端末2503へ移動したあと、実行を継続し、MigrationAuthority2501からの秘密データのDownloadなどを行う。
なお、MigrationAuthority2501は、第四の電子端末2502と異なる装置でなくとも良い。例えば、アプリケーションとして第四の電子端末2502にインストールされ、第五の電子端末2503と通信しながらMigrateを行う構成であってもよい。
また、Management手段2603は、Hypervisor2602の構成であると説明したが、Hypervisor2602の外部にあって電子端末内で同一の機能を実現するものであってもよい。
以上で、本発明の実施の形態4の説明を終る。
(まとめ)
以上にて述べたように、本発明では、MigrationAuthority101が秘密データのMigrate元である第一の電子端末102とMigrate先の第二の電子端末103のセキュリティ認証レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、MigrationAuthority101が秘密データのMigrate元である第一の電子端末102とMigrate先の第二の電子端末103の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく強化レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第二の電子端末103が秘密データのDownload時に所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第二の電子端末103で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第二の電子端末103を購入することで、その時代に応じた高速で強度の高い暗号アルゴリズムを用いて秘密のデータを管理することが可能となる。
また、MigrationAuthority2001が秘密データのMigrate元である第三の電子端末2002とMigrate先の第一の記憶装置2004の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく認証レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第三の電子端末2002が秘密データのDownloadし、第一の記憶装置2004に書き込みを行うときに、所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第二の電子端末103で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第一の記憶装置2004を購入することで、その時代に応じた高速で強度の高い暗号アルゴリズムを用いて秘密のデータを管理することが可能となる。
また、MigrationAuthority2501が第四の電子端末2502から第五の電子端末2503へ実行環境をMigrateするときに、秘密データのMigrate元である第四の電子端末2502とMigrate先の第五の電子端末2503の情報管理における暗号の強度レベルを確認し、所定のアルゴリズムに基づいてMigrateの可否を判定するため、Migrate元に比べて著しく強度レベルで劣るMigrate先に誤って秘密のデータがMigrateされることがなく、秘密のデータを安全に取扱うことができる。
また、第五の電子端末2503が秘密データのDownload時に所望の暗号アルゴリズム、暗号強度で秘密データの管理構造を再生成できるため、その時代に応じた最新の暗号アルゴリズム、暗号強度を用いて第五の電子端末2503で秘密データを管理することができる。つまり、本発明によれば、ユーザは最新の暗号アルゴリズムを搭載した第五の電子端末2503を購入することで、仮想化技術のMigrate技術により容易に、かつその時代に応じた高速で強度の高い暗号アルゴリズムを用いた秘密のデータ管理に移行することが可能となる。
(その他の実施態様)
以下に本発明に係る各種の実施態様について、説明する。
本発明の1実施態様であるデータマイグレーションシステムは、前記第一の端末はセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をUploadし、前記第二の端末はセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をDownloadし、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第二の端末から第一の端末へのデータ移動時にそれぞれの端末の属性情報と前記セキュリティポリシーテーブルに基づいてその可否を判定することを特徴とする。
この構成によると、第一の端末の秘密のデータは、データマイグレーションシステムにおけるセキュリティポリシーに従って、第二の端末にマイグレートされるため、誤って不適切な端末へマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、データを受信する受信手段と、データを送信する送信手段と、アクセスした端末が不正に改竄されていないか端末認証子を検証する検証手段と、前記端末から送られた証明書が正当なものであるかどうかを解析する解析手段と、前記マイグレーションサーバ内で管理する秘密のデータのパッケージを管理するパッケージ管理表と、前記マイグレート元の端末からアップロードされた前記秘密のデータのパッケージをパッケージ管理表に登録するパッケージ登録手段と、前記パッケージのダウンロード要求をマイグレート先の端末から受けたとき、同時に送られた前記端末の属性情報は証明書の情報であって、前記証明書の情報をもとにマイグレートの可否を前記セキュリティポリシーテーブルに従って判定するマイグレート可否判定手段と、前記パッケージを前記マイグレート先の端末で用いることができるように、パッケージを再生成するパッケージ再生成手段を備えることを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、本発明の1実施態様であるマイグレーションサーバは、前記秘密のデータのパッケージと前記マイグレート元の端末のセキュリティ認証レベルを管理するパッケージ管理表と、前記マイグレート元の端末のセキュリティ認証レベルとアップロードされた前記秘密のデータとをパッケージ管理表に登録するパッケージ登録手段とを備え、前記セキュリティポリシーテーブルは前記マイグレート元の端末の持つセキュリティ認証レベルと、前記マイグレート先の端末の持つセキュリティ認証レベルの対応表であることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、前記秘密のデータのパッケージと前記マイグレート元の秘密データの管理方式、暗号アルゴリズム、鍵長を管理するパッケージ管理表と、前記マイグレート元の端末の秘密データの管理方式、暗号アルゴリズム、鍵長とアップロードされた前記秘密のデータとをパッケージ管理表に登録するパッケージ登録手段と、前記セキュリティポリシーテーブルは暗号強度のレベルが、各種暗号アルゴリズムの場合どの鍵長によって実現されるかを示す表であらわされることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記マイグレーションサーバは、前記マイグレート先の端末から要求された、暗号アルゴリズムや暗号強度によって構成される暗号化パラメータによって、前記パッケージの暗号変換を行いパッケージを再生成するパッケージ再生成手段を、を備えることを特徴とする。
この構成によると、第二の端末の暗号返還要求に応じて、暗号変換を施したパッケージをマイグレートすることができる。例えば、最新の暗号アルゴリズムを第二の端末が備えている場合、そのユーザは最新の秘密のデータの管理方法を手に入れることが出来る。
また、本発明の実施態様の一つである第一の端末は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記第一の端末のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記第二の端末の端末認証子に署名をする鍵と、前記第二の端末の端末認証子に署名をする鍵の証明書と、前記第二の端末におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段とを備えることを特徴とする。
この構成によると、第一の端末はマイグレーションサーバ経由でマイグレート先の第二の端末に、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記第一の端末は、前記セキュリティ特徴情報は、前記第一の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第一の端末は、前記セキュリティ特徴情報は、前記マイグレート元の秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第一の端末は、前記パッケージがDownloadされた旨、前記マイグレーションサーバより通知されたとき、Uploadした前記パッケージを削除する削除手段とを備えることを特徴とする。
この構成によると、前記パッケージがマイグレートされたことを確認してから、マイグレートもとの第一の端末の前記パッケージを削除することができる。
また、本発明の実施態様の一つである第二の端末は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記秘密のデータを含む前記パッケージを展開するパッケージ展開手段と、前記第二の端末のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記第二の端末の端末認証子に署名をする鍵と、前記第二の端末の端末認証子に署名をする鍵の証明書と、前記第二の端末におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記暗号アルゴリズムや暗号強度によって構成される暗号化パラメータを前記マイグレーションサーバへ送信することにより、前記マイグレーションサーバへ前記パッケージの再生成方法を指定することを特徴とする。
この構成によると、第二の端末は、所望の暗号化パラメータを指定して前記パッケージをDownloadすることができる。
また、前記第二の端末は、前記セキュリティ特徴情報は、前記第一の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第二の端末は、前記セキュリティ特徴情報は、前記マイグレート先の秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第二の端末は、前記マイグレーションサーバより受信したパッケージを復号化し、正当なデータであるかどうかを証明書を用いて確認する前記セキュリティモジュールとを備えることを特徴とする。
また、本発明の1実施態様である秘密データのアップロード方法は、前記第一の端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、前記第一の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記第一の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記第一の端末で改竄がないことが確認された場合、前記第一の端末へOK結果と公開鍵を送るステップ、ii)前記第一の端末で改竄が確認された場合、前記第一の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第一の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第一の端末が、前記暗号化したパッケージと、前記セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記暗号化したパッケージと、前記セキュリティ特徴情報をパッケージ管理表に登録するステップと、前記マイグレーションサーバが前記暗号化したパッケージの登録時に生成したパッケージIDとOK結果を前記第一の端末へ送るステップとを含むことを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、別の実施態様である秘密データのダウンロード方法は、前記第二の端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、前記第二の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記第二の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記第二の端末で改竄がないことが確認された場合、前記第二の端末へOK結果と公開鍵を送るステップ、ii)前記第二の端末で改竄が確認された場合、前記第二の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第二の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第一の端末が、前記暗号化した端末鍵と、前記パッケージの再生成時に用いられる前記暗号化パラメータと、前記セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第一の端末より受信した、前記セキュリティ特徴情報をもとに、ダウンロードの可否を判定するステップと、前記マイグレーションサーバが、ダウンロード可否判定の結果に応じて、i)OKであれば、暗号化パラメータおよびセキュリティポリシーテーブルにもとづいて前記パッケージの再生成を行い、第二の端末へ送るステップii)NGであれば、NG結果を送るステップのいずれかをとるステップとを含むことを特徴とする。
また、別の実施態様であるデータマイグレート装置は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、アクセスした端末が不正に改竄されていないか端末認証子を検証する検証手段と、前記端末から送られた証明書が正当なものであるかどうかを解析する解析手段と、前記マイグレーションサーバ内で管理する秘密のデータのパッケージを管理するパッケージ管理表と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記第一の端末の端末認証子に署名をする鍵と、前記第一の端末の端末認証子に署名をする鍵の証明書と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータおよびセキュリティに関連した情報を記載したセキュリティ特徴情報を格納するデータ記憶手段と、前記パッケージのダウンロード要求をマイグレート先の端末から受けたとき、同時に送られた前記端末の属性情報は証明書の情報であって、前記セキュリティ特徴情報と前記証明書の情報をもとにマイグレートの可否を前記セキュリティポリシーテーブルに従って判定するマイグレート可否判定手段と、前記パッケージを前記マイグレート先の端末で用いることができるように、パッケージを再生成するパッケージ再生成手段とを備えることを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレート装置は、前記マイグレート先の端末から要求された、暗号アルゴリズムや暗号強度によって構成される暗号化パラメータによって、前記セキュリティモジュール内で、前記パッケージの暗号変換を行いパッケージを再生成するパッケージ再生成手段を備えることを特徴とする。
この構成によると、第二の端末の暗号返還要求に応じて、暗号変換を施したパッケージをマイグレートすることができる。例えば、最新の暗号アルゴリズムを第二の端末が備えている場合、そのユーザは最新の秘密のデータの管理方法を手に入れることが出来る。
また、本発明の1実施態様である集積回路は、暗号変換を行うための2つ以上の暗号アルゴリズムを持つ暗号手段と、前記パッケージの暗号変換時に用いる記憶手段とを備えることを特徴とする。
この構成によると、不正なアクセスのない安全な環境で暗号変換を行うことが出来る。
また、別の実施態様は、コンテンツ管理再生装置であって、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記コンテンツ管理再生装置のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、コンテンツデータの記録先を管理するコンテンツ管理テーブルと、コンテンツの権利を管理するコンテンツ権利管理テーブルと、前記コンテンツの権利を暗号化する権利保護鍵を管理する権利保護鍵管理テーブルと、前記権利保護鍵管理テーブルを暗号化する、カウンタのインクリメントに同期して値が変る時変鍵と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記コンテンツ管理再生装置の端末認証子に署名をする鍵と、前記コンテンツ管理再生装置の端末認証子に署名をする鍵の証明書と、前記コンテンツ管理再生装置におけるセキュリティに関連した情報を記載したセキュリティ特徴情報とを格納するデータ記憶手段と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記秘密のデータを含む前記パッケージを展開するパッケージ展開手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段とを備えることを特徴とする。
この構成によると、コンテンツ管理再生装置間でマイグレーションサーバを経由した安全な著作権保護コンテンツのマイグレートを実現することができる。
また、前記コンテンツ管理再生装置は、前記パッケージがDownloadされた旨、前記マイグレーションサーバより通知されたとき、Uploadした前記パッケージおよびパッケージに含まれる秘密の情報に関連したコンテンツ情報を削除する削除手段とを備えることを特徴とする。
この構成によると、著作権保護コンテンツのマイグレート時に権利が二重になることを防止することができる。
また、本発明の1実施態様であるデータマイグレーションシステムは、前記第一のモジュールはセキュリティモジュールで保持する鍵で保護された秘密のデータの一部もしくは全部をUploadし、前記第二のモジュールは前記第一のモジュールにUploadされた秘密のデータの一部もしくは全部をDownloadし、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第二のモジュールから第一のモジュールへのデータ移動時にそれぞれのモジュールの属性情報と前記セキュリティポリシーテーブルに基づいてその可否を判定することを特徴とする。
この構成によると、第一のモジュールの秘密のデータは、データマイグレーションシステムにおけるセキュリティポリシーに従って、第二のモジュールにマイグレートされるため、誤って不適切なモジュールへマイグレートされることを防ぐことが出来る。
また、本発明の実施態様の1つであるデータマイグレーション端末は、データマイグレーション端末は、セキュアストレージと接続されており、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記データマイグレーション端末の1つ以上のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記データマイグレーション端末の端末認証子に署名をする鍵と、前記データマイグレーション端末の端末認証子に署名をする鍵の証明書と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記データ受信手段が受信した保護されたデータを、前記セキュアストレージへ書き込む前記第二のモジュールと、前記データマイグレーション端末におけるセキュリティに関連した情報を記載した第一のセキュリティ特徴情報と前記セキュアストレージにおけるセキュリティに関連した情報を記載した第二のセキュリティ特徴情報とを格納するデータ記憶手段とを備えることを特徴とする。
この構成によると、データマイグレーション端末はマイグレーションサーバ経由でマイグレート先のセキュアストレージに、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記データマイグレーション端末は、前記第一のセキュリティ特徴情報は、前記データマイグレーション端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満のセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末は、前記第一のセキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末は、前記第二のセキュリティ特徴情報は、前記データマイグレーション端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満のセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーション端末において、前記第二のセキュリティ特徴情報は、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つセキュアストレージに秘密のデータがマイグレートされることを防ぐことが出来る。
また、本発明の実施態様の一つである秘密データのダウンロード方法は、前記データマイグレーション端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記データマイグレーション端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第一の端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がないことが確認された場合、前記データマイグレーション端末へOK結果と公開鍵を送るステップ、ii)前記データマイグレーション端末で改竄が確認された場合、前記データマイグレーション端末へNG結果を送るステップ、のいずれかをとるステップと、前記データマイグレーション端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップ ii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記データマイグレーション端末が、前記暗号化した端末鍵と、前記パッケージの再生成時に用いられる前記暗号化パラメータと、前記第二のセキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記第一のセキュリティ特徴情報をもとに、ダウンロードの可否を判定するステップと、前記マイグレーションサーバが、ダウンロード可否判定の結果に応じて、i)OKであれば、暗号化パラメータおよびセキュリティポリシーテーブルにもとづいて前記パッケージの再生成を行い、第二の端末へ送るステップii)NGであれば、NG結果を送るステップのいずれかをとるステップとを含むことを特徴とする。
この構成によると、不正な改竄がなされた第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記データマイグレーションシステムは、マイグレーションサーバ仲介して第五の端末にマイグレートするデータマイグレーションシステムであって、前記サーバは、セキュリティポリシーを記述したセキュリティポリシーテーブルを保持し、第四の端末から第五の端末へのデータ移動時にそれぞれの端末の属性情報と前記セキュリティポリシーテーブルに基づいてMigrateの可否を判定する、ことを特徴とする。
また、本発明の1実施態様である第四の端末は、前記セキュリティモジュールと、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記第四の端末の端末認証子に署名をする鍵と、前記第四の端末の端末認証子に署名をする鍵の証明書と、前記第四の端末におけるセキュリティに関連した情報を記載した端末セキュリティ特徴情報と、1つかそれ以上の実行環境を制御する実行環境制御手段は、マイグレーションの実行を制御するマイグレーション制御手段を備え、前記実行環境制御手段によって制御される実行環境は、データを受信する受信手段と、データを送信する送信手段と、前記セキュリティモジュールと、前記実行環境のモジュールを対象に端末認証子を生成する、端末認証子生成手段と、前記セキュリティモジュールで保持する鍵で保護された秘密のデータと、前記実行環境の端末認証子に署名をする鍵と、前記実行環境の端末認証子に署名をする鍵の証明書と、前記秘密のデータの一部もしくは全部をパッケージ化するパッケージ生成手段と、前記端末認証子に前記署名をする鍵でデジタル署名を生成するデジタル署名生成手段と、前記実行環境におけるセキュリティに関連した情報を記載した実行環境セキュリティ特徴情報と、マイグレート先となる前期第五の端末に必要とするセキュリティに関連した情報を記載したセキュリティレベル情報を備えることを特徴とする。
この構成によると、第四の端末はマイグレーションサーバ経由でマイグレート先の第五の端末に、セキュリティポリシーに従った秘密のデータの保護レベルを要求することができる。
また、前記第四の端末は、前記実行環境セキュリティ特徴情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末において、前記実行環境のセキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末は、前記端末セキュリティ特徴情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末は、前記端末セキュリティ特徴情報は、秘密データの管理方式、暗号アルゴリズム、鍵長であることを特徴とする。
この構成によると、セキュリティポリシーで決定された暗号強度レベル未満の管理方法を持つ第五の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
また、前記第四の端末において、前記セキュリティレベル情報は、前記第四の端末のセキュリティ認証レベルであることを特徴とする。
また、本発明の1実施態様である秘密データのアップロード方法は、前記データマイグレーション端末が、秘密データの一部もしくは全部からパッケージを生成するパッケージ生成ステップと、 前記データマイグレーション端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、前記データマイグレーション端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書と前記実行環境セキュリティ特徴情報を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記データマイグレーション端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記データマイグレーション端末の改竄の有無を検証するステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がないことが確認された場合、前記第四の端末からのマイグレート要求を前記第五の端末へ送るステップ、ii)前記データマイグレーション端末で改竄が確認された場合、前記第四の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第五の端末が、前記端末認証子から前記署名をする鍵を用いて前記デジタル署名を生成するステップと、 前記第五の端末が、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書と前記セキュリティレベル情報を前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第五の端末より受信した、前記端末認証子と前記デジタル署名と前記署名をする鍵の証明書をもとに、前記第五の端末の改竄の有無を検証するステップと、 前記マイグレーションサーバが、i)前記第五の端末で改竄がないことが確認された場合、前記第四の端末より受信した前記実行環境セキュリティ特徴情報と前記セキュリティレベル情報をもとに、マイグレートの可否を判定するステップと、ii)前記第五の端末で改竄が確認された場合、NG結果を生成するステップ、のいずれかをとるステップと、前記マイグレーションサーバが、i)前記データマイグレーション端末で改竄がなく、マイグレートの可否の判定がOKであることが確認された場合、前記第五の端末へOK結果を送り、前記第四の端末へOK結果と公開鍵を送るステップ、ii)前記データマイグレーション端末で改竄が確認されるか、もしくはマイグレートの可否の判定がNGであることが確認された場合、前記第五の端末と第四の端末へNG結果を送るステップ、のいずれかをとるステップと、前記第四の端末が、i)OK結果を受信した場合に、公開鍵で前記パッケージを暗号化するための端末鍵を暗号化するステップii)NG結果を受信した場合に、処理を終了するステップのいずれかをとるステップと、前記第四の端末が、前記暗号化したパッケージと、前記実行環境セキュリティ特徴情報とを前記マイグレーションサーバへ送るステップと、前記マイグレーションサーバが前記第四の端末より受信した、前記暗号化したパッケージと、前記実行環境セキュリティ特徴情報をパッケージ管理表に登録するステップと、前記マイグレーションサーバが前記暗号化したパッケージの登録時に生成したパッケージIDとOK結果を前記第一の端末へ送るステップと前記第四の端末から実行環境を前記第五の端末にマイグレートをするステップとを含むことを特徴とする。
この構成によると、セキュリティポリシーで決定されたセキュリティ認証レベル未満の第二の端末に秘密のデータがマイグレートされることを防ぐことが出来る。
(その他変形例)
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態では、MigrationAuthority101と第一の電子端末102、第二の電子端末103のデータの送受信は、インターネットなどネットワークを前提として記載したが、着脱可能な記憶媒体を用いる構成であってもよい。
(2)上記の実施の形態では、MigrationAuthority101と第一の電子端末102を別構成であるとして記載したが、第一の電子端末102がMigrationAuthority101の機能を備え、第二の電子端末103のMigrationPackageのDownloadリクエストを受け付ける構成であってもよい。
(3)上記の実施の形態では、Migrate元の第一の電子端末102がasymmetricSRK、Migrate先の第二の電子端末103がsymmetricSRKを備えるとしたが、第一の電子端末102がsymmetricSRK、第二の電子端末103がasymmetricSRKを備える構成であってもよい。
(4)上記の実施の形態では、AIK証明書210、情報管理証明書211、Conformance証明書212はMigrationAuthority101より発行されるものとしたが、第三者である認証局(CertificateAuthority)が発行したものであるとしてもよい。このときMigrationAuthority101は、認証局から発行された証明書を用いてAIK証明書210、情報管理証明書211、Conformance証明書212の検証を行う。
(5)上記の実施の形態では、管理された秘密のデータのツリーの全体をMigrateするよう記載したが、ユーザが選択的にツリー構造の一部をMigrateするとしてもよい。
(6)上記の実施の形態では、MigrationAuthority101でMigrationPackageの全体を一度に再生成するとしたが、MigratePackageのデータのサイズが大きい場合は、階層を何段階かに分けて再生成を行い、第二の電子端末103へ送ることを繰り返してもよい。
(7)上記の実施の形態では、Migrate可否判定手段504は暗号強度表701や認証レベル判定表801に含まれるパラメータに基づいて判定するとしたが、第一の電子端末および第二の電子端末における鍵更新の機能や、鍵の生存期間などで判定するとしてもよい。
(8)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(9)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(10)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(11)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。 また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。