(57)【要約】本発明は、アクセスが装置プロセッサによって厳格に制御された安全な環境を有するように構成されたアプリケーションを実行する装置内に提供された暗号化されたアプリケーションの暗号解読を制御する方法、並びに、これを制御するべく構成されたシステムに関するものである。本発明は、アプリケーションが、アプリケーションの適切なセットアップを確立するインストール部分と、安全な環境内において実行される保護された部分に分かれているという概念に基づいたものである。本発明に伴う利点は、アプリケーションソフトウェアの暗号解読を制御する自由度をアプリケーションプロバイダが具備しているという点にある。アプリケーションが安全な環境内において実行されるため、装置の所有者が、アプリケーションにアクセスし、そのアプリケーションの複写、読み取り、又は操作を実行することができない。又、暗号化されたアプリケーションとこのアプリケーションを暗号解読するためのキーのインストールをアプリケーションプロバイダが処理しており、従って、暗号化／暗号解読方式及びキー管理を処理する能力がアプリケーションプロバイダに付与されている。
2006514321.tif 000002
【特許請求の範囲】
【請求項１】
アクセスが装置プロセッサによって厳格に制御されている安全な環境を有するように構成された装置上で実行されるべきアプリケーションを提供する方法であって、
暗号化されたアプリケーション（２０４）を前記装置（２０１）に提供する段階と、
前記安全な環境（２０５）内への安全なチャネル（２０７）を介して、前記装置（２０１）に対して、前記暗号化されたアプリケーション（２０４）を暗号解読するための第１キーを提供する段階と、
前記第１キーにより、前記安全な環境（２０５）内において、前記暗号化されたアプリケーション（２０４）を暗号解読する段階と、
第２キーにより、前記安全な環境内において、前記アプリケーション（２０９）を再暗号化する段階と、
前記再暗号化されたアプリケーションを前記安全な環境の外に保存する段階と、
を有する、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項２】
アクセスが装置プロセッサによって厳格に制御されている安全な環境を有するように構成された装置上において実行されるアプリケーションを提供する方法であって、
暗号化されたアプリケーション（２０４）を前記装置（２０１）に提供する段階と、
前記安全な環境（２０５）内への安全なチャネル（２０７）を介して、前記装置（２０１）に対して、前記暗号化されたアプリケーション（２０４）を暗号解読するための第１キーを提供する段階と、
第２キーにより、前記安全な環境（２０５）内において、前記第１キーを暗号化する段階と、
前記暗号化された第１キーを前記安全な環境（２０５）の外に保存する段階と、
を有する、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項３】
請求項１に記載の方法において、前記方法は、
前記第２キーにより、前記安全な環境（２０５）内において、前記第１キーを暗号化する段階と、
前記暗号化された第１キーを前記安全な環境（２０５）の外に保存する段階と、
を有する、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項４】
請求項１または２に記載の方法において、前記第２キーは、対称型であり、前記アプリケーション（２０２）から導出可能である、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項５】
請求項４に記載の方法において、前記第２キーは、前記アプリケーション（２０２）自体に含まれている、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項６】
請求項４に記載の方法において、前記第２キーは、アプリケーションシードを使用することにより、前記安全な環境（２０５）内において生成される、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項７】
請求項１乃至６の何れか１項に記載の方法において、前記安全なチャネル上において、複数のキーを前記安全な環境内に連続的に転送し、それぞれのキーを使用することにより、前記安全な環境内において、対応する暗号化されたアプリケーションを暗号解読可能である、装置上で実行されるべきアプリケーションを提供するための方法。
【請求項８】
アクセスが装置プロセッサによって制御されている安全な環境を有するように構成された装置上で実行されるべきアプリケーションを提供するべく構成されたシステムであって、
暗号化されたアプリケーション（２０４）を前記装置（２０１）に提供する手段と、
前記安全な環境（２０５）内への安全なチャネル（２０７）を介して、前記装置（２０１）に対して、前記暗号化されたアプリケーション（２０４）を暗号解読するための第１キーを提供する手段と、
前記第１キーにより、前記安全な環境（２０５）内において、前記暗号化されたアプリケーション（２０４）を暗号解読する手段と、
第２キーにより、前記安全な環境内において、前記アプリケーション（２０９）を再暗号化する手段と、
前記再暗号化されたアプリケーションを前記安全な環境の外に保存する手段と、
を有する、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項９】
アクセスが装置プロセッサによって制御されている安全な環境を有するように構成された装置上で実行されるべきアプリケーションを提供するべく構成されたシステムであって、
暗号化されたアプリケーション（２０４）を前記装置（２０１）に提供する手段と、
前記安全な環境（２０５）内への安全なチャネル（２０７）を介して、前記装置（２０１）に対して、前記暗号化されたアプリケーション（２０４）を暗号解読するための第１キーを提供する手段と、
第２キーにより、前記安全な環境（２０５）内において、前記第１キーを暗号化する手段と、
前記暗号化された第１キーを前記安全な環境（２０５）の外に保存する手段と、
を有する、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項１０】
請求項８に記載のシステムにおいて、
前記第２キーにより、前記安全な環境（２０５）内において、前記第１キーを暗号化する手段と、
前記暗号化された第１キーを前記安全な環境（２０５）の外に保存する手段と、
を有する、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項１１】
請求項８または９に記載のシステムにおいて、前記第２キーは、対称型であり、前記アプリケーション（２０２）から導出可能である、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項１２】
請求項１１に記載のシステムにおいて、前記第２キーは、前記アプリケーション（２０２）自体に含まれている、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項１３】
請求項１１に記載のシステムにおいて、前記第２キーは、アプリケーションシードを使用することにより、前記安全な環境（２０５）内において生成される、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【請求項１４】
請求項８乃至１３の何れか１項に記載のシステムにおいて、前記システムは、前記安全なチャネル上において、複数のキーを前記安全な環境内に連続的に転送し、それぞれのキーを使用することにより、前記安全な環境内において、対応する暗号化されたアプリケーションを暗号解読できるように構成されている、装置上で実行されるべきアプリケーションを提供するべく構成されたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクセスが装置プロセッサによって厳格に制御されている安全な環境を有するように構成された装置上において実行されるべきアプリケーションを提供する方法、並びに、これを提供するべく構成されたシステムに関するものである。
【背景技術】
【０００２】
モバイル通信端末、携帯型コンピュータ、及びＰＤＡなどの様々な電子装置においては、アプリケーションプログラム、暗号キー、暗号キーのデータ情報、中間的な暗号算出結果、パスワード、及び外部からダウンロードされたデータの認証などの、セキュリティに関係するコンポーネントに対するアクセスが必要である。これらのコンポーネント（並びに、これらの処理）は、多くの場合に、その電子装置内に秘匿されていることが必要であり、これらについて認知している人間が、可能な限り少ないことが理想である。これは、このようなコンポーネントに関する情報が漏洩すると、その装置（例：モバイル端末）が不正使用される可能性が高くなるためであり、これらのタイプのコンポーネントに対するアクセスは、その端末を操作しようとする悪意を有する攻撃者を支援することになろう。
【０００３】
このため、安全な実行環境が導入されており、この内部においては、セキュリティに関係するコンポーネントに対して電子装置内のプロセッサがアクセス可能である。このような安全な実行環境に対するアクセス、この中における処理、並びに、これからの離脱は、慎重に制御する必要がある。この安全な環境を有する従来技術によるハードウェアは、しばしば、不正使用が困難なパッケージ内に封入されている。そして、このようなタイプのハードウェア上においては、結果的にセキュリティに関係するコンポーネントの暴露及びこれらの処理を実現することができる調査又は計測及び試験を実行可能であってはならない。
【０００４】
アプリケーションプログラムのプロバイダは、不正使用が困難なソフトウェアを生成するために、プログラムを暗号化している。そして、このアプリケーションプログラムコードは、安全な環境において実行される場合にのみ、暗号解読され、プレーンなテキストとして管理される。
【０００５】
２０００年１１月のＡＳＰＬＯＳ−ＩＸ（Ｔｈｅ  ９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｒｃｈｉｔｅｃｔｕａｌ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅｓ  ａｎｄ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ）の会報（１６９〜１７７頁）に発表されているＤａｖｉｄ  Ｌｉｅ他による「Ａｒｃｈｉｔｅｃｔｕｒａｌ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｃｏｐｙ  ａｎｄ  Ｔａｍｐｅｒ  Ｒｅｓｉｓｔａｎｔ  Ｓｏｆｔｗａｒｅ」には、ＸＯＭ（ｅＸｅｃｕｔｅ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と呼ばれるシステムが開示されている。すべてのＸＯＭプロセッサは、パブリック／プライベートキーのペアを具備しており、プライベートキーは、ハードウェア内に保管され、これについて認知しているのは、プロセッサのみであって、プロセッサの所有者やその他のだれもがこれについては認知していない。ＸＯＭソフトウェアを購入する際に、そのソフトウェアは、このパブリック／プライベートキーのペアによって暗号化される。そして、実行可能なコードは、実行の直前に、プロセッサによって暗号解読され、絶対にプレーンテキストコードがプロセッサチップから外部に漏洩しないようになっている。但し、このタイプのアーキテクチャに伴う問題点は、アプリケーションのインストールの際にアプリケーションを処理する方法をアプリケーションプロバイダが定義する能力が非常に限られているということである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、前述の問題点を軽減すると共に、キー管理及び暗号化システムにおいて変更を円滑に実行するシステムを提供することにある。
【課題を解決するための手段】
【０００７】
この目的は、請求項１及び２に記載されているアクセスが装置プロセッサによって厳格に制御されている安全な環境を有するように構成された装置上において実行されるアプリケーションを提供する方法と、請求項８及び９に記載されているアクセスが装置プロセッサによって厳格に制御されている安全な環境を有するように構成された装置上において実行されるアプリケーションを提供するべく構成されたシステムによって実現される。
【０００８】
本発明の第１の態様によれば、装置に対して、暗号化されたアプリケーションを提供すると共に、この暗号化されたアプリケーションを暗号解読するための第１キーを安全な環境内への安全なチャネルを介して提供する方法が提供される。暗号化されたアプリケーションは、第１キーにより、安全な環境内において暗号解読される。そして、このアプリケーションは、第２キーにより、安全な環境内において再暗号化され、次いで、この再暗号化されたアプリケーションは、安全な環境の外に保存される。
【０００９】
本発明の第２の態様によれば、装置に対して、暗号化されたアプリケーションを提供すると共に、この暗号化されたアプリケーションを暗号解読するための第１キーを安全な環境内への安全なチャネルを介して提供する方法が提供される。そして、第１キーは、第２キーにより、安全な環境内において暗号化され、次いで、この暗号化されたキーは、安全な環境の外に保存される。
【００１０】
本発明の第３の態様によれば、装置に対して、暗号化されたアプリケーションを提供すると共に、この暗号化されたアプリケーションを暗号解読するための第１キーを安全な環境内への安全なチャネルを介して提供するべく手段が構成されたシステムが提供される。手段は、第１キーを使用することにより、安全な環境内において、暗号化されたアプリケーションを暗号解読するべく構成されている。更に、手段は、第２キーを使用することにより、安全な環境内においてアプリケーションを再暗号化するべく構成されており、次いで、この再暗号化されたアプリケーションは、安全な環境の外に保存される。
【００１１】
本発明の第４の態様によれば、装置に対して、暗号化されたアプリケーションを提供すると共に、この暗号化されたアプリケーションを暗号解読するための第１キーを安全な環境内への安全なチャネルを介して提供するべく手段が構成されたシステムが提供される。更に、手段は、第２キーを使用することにより、安全な環境内において第１キーを暗号化するべく構成されており、次いで、この暗号化されたキーは、安全な環境の外に保存される。
【００１２】
本発明は、アプリケーションを実行するべく構成された装置に対してアプリケーションをダウンロードするという概念に基づいたものである。このアプリケーションは、アプリケーションの適切なセットアップを確立するインストール部分と、安全な環境内において実行される保護された部分に分かれている。インストール部分は、暗号化されたアプリケーション（即ち、保護された部分）と、これを暗号解読するためのキーを生成する。インストール部分は、従来技術において周知のいくつかの方式を使用して暗号化することができよう。そして、このアプリケーションのインストールフェーズにおいては、ダウンロードされたデータは、安全な環境よりも緩和されたセキュリティ要件を具備している装置の部分内に保持されることになる。以下においては、この部分を「安全ではない環境（ｕｎｓｅｃｕｒｅ  ｅｎｖｉｒｏｎｍｅｎｔ）」と呼ぶことにする。アプリケーションが装置にダウンロードされると、インストール部分が、サーバーとの間に安全なチャネルを確立し、この安全なチャネル上において、サーバーが、第１キーを装置の安全な環境内に提供し、この第１キーにより、暗号化されたアプリケーションを暗号解読することができる。この第１キーを受信するべく、装置が自身の認証を必要とするようにすることも可能であろう。そして、暗号化されたアプリケーションを実行する際には、その暗号化されたアプリケーションを安全な環境内に読み込んだ後に、第１キーによって暗号解読する。この結果、そのアプリケーションは、プレーンテキストの形態となり、実行可能となる。一方、アプリケーションを実行する必要がない場合には、そのアプリケーションは、第２キーによって再暗号化され、安全な環境の外（即ち、安全ではない環境）に保存されることになる。この発明の概念に伴う利点は、アプリケーションソフトウェアの暗号解読を制御する自由度をアプリケーションプロバイダが具備している点にある。アプリケーションが安全な環境内において実行されるため、装置の所有者（この装置は、例えば、携帯電話機である）が、アプリケーションにアクセスし、そのアプリケーションを複写、読み取り、及び操作することはできない。又、暗号化されたアプリケーションとこのアプリケーションを暗号解読するためのキーのインストールをアプリケーションプロバイダが処理しており、従って、暗号化／暗号解読方式及びキー管理を処理する能力がアプリケーションプロバイダに付与されている。固定状態に維持しなければならない唯一の部分は、アプリケーションの読み込み部分（即ち、データを安全な環境に読み込んで、その暗号化されたアプリケーションの暗号解読を処理するアプリケーションの部分）である。更なる利点は、第２キーにより、安全な環境内においてアプリケーションを再暗号化し、安全な環境の外に保存可能であるという点である。この結果、アプリケーションを実行しない場合には、アプリケーションは、安全な環境内に保存されない。これは、安全な環境のメモリが、配置されている安全ではない環境のメモリと比べて、相対的に高価であるためである。アプリケーションを再実行する際には、再暗号化されているアプリケーションを即座に安全な環境内に読み込んで���第２キーによって暗号解読することになる。
【００１３】
本発明の実施例によれば、第２キーにより、安全な環境内において第１キーを暗号化する。次いで、この暗号化された第１キーは、安全な環境の外に保存される。この実施例は、アプリケーションの将来のダウンロードの際に第１キーを使用可能であるという利点を具備している。実行を要するのは、第２キーにより、安全な環境内において第１キーを暗号化し、この暗号化された第１キーを安全な環境の外に保存することのみである。この結果、この第１キーを使用することにより、ダウンロードされた暗号化されたアプリケーションを安全な環境内において暗号解読することができる。これは、暗号化された第１キーを安全な環境内に読み込み、第２キーにより、これを暗号解読することによって実行される。これは、第１キーの（安全なチャネルのセットアップを含む）インストール段階を使用する必要がないことを意味している。これは、短時間に大量のアプリケーションを装置にダウンロードする生産及び／又は開発フェーズにおいて、特に有用である。
【００１４】
本発明の別の実施例によれば、第２キーは、対称型であって、アプリケーション自体に含まれており、アプリケーションが、安全な環境内に読み込まれて、第１キーによって暗号解読される際に、抽出することにより、アプリケーションから導出される。これは、第２キーに関係する暗号化／暗号解読に使用するキーを決定するための自由度がアプリケーションプロバイダに付与されているという利点を具備しており、この場合には、アプリケーションプロバイダが第２キーの管理を制御可能である。又、第２キーが対称型であるという事実は、第２キーが非対称型である場合と比べて、第２キーを使用する暗号化／暗号解読の演算要件が厳しくないことを意味している。
【００１５】
本発明の更に別の実施例によれば、第２キーは、対称型であって、アプリケーションシードを使用してアプリケーションから導出される。例えば、アプリケーションシリアル番号などの形態のアプリケーションシードを使用することにより、第２キーを生成可能である。装置生成による静的キーを使用することにより、このシリアル番号を安全な環境内において適切なアルゴリズムによって暗号化し、この操作によって、対称型の第２キーを生成する。この実施例の場合には、第２キーを配布する必要がなく、安全な環境内において第２キーを非常に容易に生成可能であるという利点を有している。
【００１６】
本発明の更なる特徴及び利点については、添付の請求項と以下の説明を参照することによって明らかとなろう。当業者であれば、本発明の様々な特徴を組み合わせることにより、以下に記述されているもの以外の実施例を生成可能であることを理解するであろう。そして、当業者には、様々な多数の代替、変更、及び組み合わせが明らかとなろう。従って、以下に記述されている実施例は、添付の請求項によって定義されている本発明の範囲を限定することを意図するものではない。
【発明を実施するための最良の形態】
【００１７】
添付図面を参照し、本発明について更に詳細に説明する。
【００１８】
図１には、データセキュリティを提供する装置アーキテクチャが示されている。このようなシステムについては、本出願人による国際特許出願第ＰＣＴ／ＩＢ０２／０３２１６号明細書にも開示されており、この出願は、本引用によって本明細書に包含される。この装置は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１０１の形態で実装されている。そして、このアーキテクチャの処理部分には、ＣＰＵ１０３と、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１０２が含まれている。
【００１９】
安全な環境１０４は、ＡＳＩＣ１０１をブートするためのＲＯＭ１０５を有している。このＲＯＭ１０５には、ブートアプリケーションソフトウェアとオペレーティングシステムが含まれている。この安全な環境１０４内に存在している特定のアプリケーションプログラムは、その他のアプリケーションプログラムよりも高い優先順位を具備している。このＡＳＩＣ１０１を配置可能なモバイル通信端末内には、ブートソフトウェアが存在しており、このソフトウェアには、端末の主要な機能が含まれている。このソフトウェアなしには、端末を通常動作モードにブートすることはできない。このアーキテクチャは、このブートソフトウェアを制御することにより、それぞれの端末の初期起動を制御することも可能であるという利点を具備している。
【００２０】
又、安全な環境１０４は、データ及びアプリケーションを保存するためのＲＡＭ１０６をも有している。このＲＡＭ１０６は、好ましくは、所謂「保護されたアプリケーション」を保存しており、これらは、安全な環境１０４内において、セキュリティの面で重要な動作を実行する相対的に小さなサイズのアプリケーションである。保護されたアプリケーションを使用する通常の方法は、「一般」のアプリケーションから特定の保護されたアプリケーションに対してサービスを要求させる方法である。新しい保護されたアプリケーションを、随時、安全な環境１０４内にダウンロード可能であるが、これは、それらがＲＯＭ内に存在している場合には、当て嵌まらない。安全な環境１０４のソフトウェアは、保護されたアプリケーションのダウンロードと実行を制御する。実行を許可されるのは、署名を有する保護されたアプリケーションのみである。保護されたアプリケションは、安全な環境１０４内のあらゆるリソースにアクセス可能であると共に、それらは、セキュリティサービスの提供のために一般のアプリケーションと通信することも可能である。
【００２１】
安全な環境１０４内には、製造の際に生成され、ＡＳＩＣ１０１内にプログラムされている一意のランダムな番号を含むヒューズメモリ１０７が含まれている。このランダムな番号は、特定のＡＳＩＣ１０１の識別情報として使用されると共に、暗号操作のためのキーを導出するべく使用される。このアーキテクチャは、バス１０８上におけるデータ視認性を制限するための標準的なブリッジ回路１０９を更に有している。そして、このアーキテクチャは、不正使用が困難なパッケージ内に封入する必要がある。このタイプのハードウェア上においては、結果的にセキュリティ関係のコンポーネントの暴露とその実行を実現することができる調査又は計測及び試験が実行可能であってはならない。ＤＳＰ１０２は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）ユニット、ＲＡＭ、及びフラッシュメモリなどのその他の周辺機器１１０に対してアクセス可能であり、更なるプロセッサをＡＳＩＣ１０１の外部に提供することも可能である。
【００２２】
このようなアーキテクチャを提供することにより（このアーキテクチャにおいては、安全な動作モードと安全ではない動作モードという２つの異なるモードにおいてＣＰＵ１０３が動作可能である）、この装置１０１のＣＰＵ１０３を起動して、この装置１０１内にダウンロードされた検証されていないソフトウェアを実行可能である。これは、安全な環境１０４にアクセスできるのは、検証済みのソフトウェアのみであるという事実によるものである。この結果、装置１０１のセキュリティ関係のコンポーネントを操作して安全な環境１０４内のセキュリティ機能に影響を及ぼすことを可能にする情報へのアクセスが第三者に付与されるというリスクを伴うことなしに、モバイル通信端末及びそのソフトウェアの試験、デバッグ、及びサービスを実行することができる。
【００２３】
安全なモードにおいては、プロセッサ１０３は、安全な環境１０４内に配置されているセキュリティ関係のデータにアクセス可能である。このセキュリティデータには、暗号キー及びアルゴリズム、回路をブートするソフトウェア、暗号キー情報として使用されるランダム番号などの秘密データ、及びアプリケーションプログラムなどが含まれる。この装置１０１は、モバイル通信端末内において有利に使用することが可能であるが、コンピュータ、ＰＤＡ、或いは、データ保護のニーズを有するその他の装置においても有利に使用可能である。これらのセキュリティデータに対するアクセス及びそれらの処理は、セキュリティデータにアクセス可能な侵入者が端末を操作する可能性があるため、制限する必要がある。従って、端末を試験及び／又はデバッグする際には、このセキュリティ情報に対するアクセスを許容しない。この理由から、プロセッサ１０３は、安全ではないモードに設定され、このモードにおいては、プロセッサには、安全な環境１０４内の保護されたデータに対するアクセスが付与されない。
【００２４】
図２は、暗号化されたアプリケーションが安全な環境に読み込まれ、プレーンテキスト（即ち、実行可能な形態）に暗号解読される方法のブロックダイアグラムを示している。まず、アプリケーション２０２を実行するべく構成された装置２０１内に、アプリケーション２０２を読み込む２１１。このアプリケーション２０２は、アプリケーション２０２の適切なセットアップを確立するインストール部分２０３と、安全な環境２０５内において実行される保護された部分２０４に分かれている。インストール部分２０３は、暗号化されたアプリケーション（即ち、保護された部分２０４）と、これを暗号解読するキーを生成する。そして、このインストール部分２０３は、暗号化されてはいない。このインストール段階においては、アプリケーション２０２は、安全ではない環境２０６内に保持されている。アプリケーション２０２が装置２０１内に読み込まれると、インストール部分２０３は、サーバー２０８との間に安全なチャネル２０７を確立し、この安全なチャネル２０７上において、サーバーが、第１キーを装置２０１の安全な環境２０５内に提供し、この第１キーにより、暗号化されたアプリケーション２０４を暗号解読することができる。尚、安全なチャネル２０７は、いくつかの異なる方法で生成可能である。例えば、装置２０１のパブリックキーを使用することにより、サーバー２０８において、第１キーを暗号化可能である。そして、安全な環境２０５内において、これを装置２０１のプライベートキーによって暗号解読する。この結果、安全なチャネルが提供されることになる。或いは、ＳＳＬプロトコルを使用することにより、第１キーを安全な環境２０５に転送することも可能である。重要なことは、第三者がチャネル２０７を盗聴し、第１キーのプレーンテキストバージョンを取得できないように、第１キーを暗号化するという点である。暗号化されたアプリケーション２０４を実行する際には、そのアプリケーションを安全な環境２０５内に読み込んで、第１キーによって暗号解読する。この結果、その保護されたアプリケーションは、プレーンテキスト２０９の形態になり、実行可能となる。尚、安全な環境２０５内において実行する必要がない場合には、プレーンテキストアプリケーション２０９は、第２キーによって再暗号化され、安全ではない環境２０６内に保存されることになる。
【００２５】
第２キーは、対称型であり、様々な方法でアプリケーションから導出可能である。図３を参照すれば、この図には、装置３０５にダウンロードされたアプリケーション３０１が示されており、このアプリケーションには、インストール部分３０２と、保護されたアプリケーション部分（これは、本明細書においては、暗号化されたアプリケーションとも呼ぶ）３０３が含まれている。第２キーは、参照符号３０４によって表されており、これは、アプリケーションコード自体に付加されている。尚、この第２キーは、保護されたアプリケーション３０３の一部を形成しており、従って、これも、第１キーによって暗号化されていることに留意されたい。この第２キーは、保護されたアプリケーション３０３が安全な環境３０６内に読み込まれて、第１キーによって暗号解読される際に、抽出される。この結果、このアプリケーション３０７と第２キー３０８は、プレーンテキストの形態になる。又、第２キーは、アプリケーションシードを使用することにより、アプリケーションから導出することも可能である。例えば、アプリケーションシリアル番号の形態のアプリケーションシードを使用して第２キーを生成可能である。即ち、装置生成による静的キーを使用し、安全な環境内において、シリアル番号を適切なアルゴリズムによって暗号化し、この操作によって対称型の第２キーを生成するのである。この操作は、多様化（ｄｉｖｅｒｓｉｆｉｃａｔｉｏｎ）と呼ばれている。
【００２６】
再度、図２を参照すれば、本発明の実施例によれば、第１キーは、第２キーにより、安全な環境２０５内において暗号化される。次いで、この暗号化された第１キーは、安全ではない環境２０６内に保存される。この実施例は、アプリケーション２０２の将来のダウンロードの際に第１キーを使用可能であるという利点を具備している。実行を要するのは、第２キーにより、安全な環境２０５内において第１キーを暗号化し、この暗号化された第１キーを安全ではない環境２０６内に保存することのみである。この結果、この第１キーを使用することにより、安全な環境２０５内にダウンロードされた暗号化されたアプリケーション２０４を暗号解読することができる。これは、この暗号化された第１キーを安全な環境２０５内に読み込んで、第２キーにより、これを暗号解読することによって実行され、次いで、この第１キーにより、保護されたアプリケーション２０４を暗号解読する。これは、第１キーの（安全なチャネル２０７のセットアップを含む）インストール段階を使用する必要がないことを意味している。これは、大量のアプリケーション２０２を短時間で装置２０１にダウンロードする生産及び／又は開発フェーズにおいて、特に有用である。又、それぞれのキーを後から使用することにより、安全な環境内において、そのキーに対応する暗号化されたアプリケーションを暗号解読可能であるため、生産及び／又は開発フェーズにおいては、安全なチャネル上において複数のキーを安全な環境内に連続的に転送することが有利である。
【００２７】
尚、以上の実施例は、本発明を例示するものであり、当業者であれば、添付の請求項の範囲を逸脱することなしに、多数の代替実施例を設計可能であることに留意されたい。又、「有する（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、請求項に一覧表示されているもの以外の要素又は段階の存在を排除するものではない。要素の前に配置された「１つ（「ａ」又は「ａｎ」）」という用語も、その要素の複数の存在を排除するものではない。又、いくつかの手段を列挙した装置請求項においては、それらの手段のいくつかを、１つの同一のハードウェアアイテムによって実施可能である。
【図面の簡単な説明】
【００２８】
【図１】本発明を有利に適用可能なデータセキュリティを提供する装置アーキテクチャのブロックダイアグラムを示している。
【図２】本発明の実施例によって暗号化されたアプリケーションを安全な環境内に読み込んで、プレーンテキスト（即ち、実行可能な形態）に暗号解読する方法のブロックダイアグラムを示している。
【図３】本発明の実施例によってアプリケーションから対称型の第２キーを導出する方法を示している。
【図１】
2006514321.tif 000003
【図２】
2006514321.tif 000004
【図３】
2006514321.tif 000005
【国際調査報告】
2006514321.tif 000006
2006514321.tif 000007
2006514321.tif 000008