(57)【要約】セキュアプロセッサ（１８０）においてアプレットをインストールかつ実行するためのシステム（１００）および方法（３００）が提供される。前記システム（１００）および前記方法（３００）は、非セキュアなデータ記憶装置（１７４）においてアプレットを受信することができる。前記アプレットは、メタデータ部分（２０２）と実行可能部分（２０４）とを含む。前記メタデータ部分は、セキュリティ・メタデータ部分（２１２）とメタデータ署名部分（２１６）とを含む。前記システムおよび前記方法は、セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットのセキュリティ・メタデータ部分およびリソース・メタデータ部分に少なくとも部分的に基づいて判断し、かつ、セキュアプロセッサによりアプレットを実行することができれば、アプレットはセキュアプロセッサ上にインストールされる。
2005505028.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶装置とセキュアプロセッサとを有するコンピュータシステム上において、アプレットをセキュアにインストールするための方法であって、
データ記憶装置において、アプレットを受信する段階と、
セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断する段階と、
セキュアプロセッサがアプレットを実行することができれば、セキュアプロセッサ上にアプレットをインストールする段階と
を具備することを特徴とする方法。
【請求項２】
前記アプレットは、非セキュアな記憶装置に記憶されることを特徴とする請求項１に記載の方法。
【請求項３】
前記アプレットは、
メタデータ部分と、
実行可能部分と
をさらに具備することを特徴とする請求項２に記載の方法。
【請求項４】
前記アプレットは、認証部分をさらに具備することを特徴とする請求項３に記載の方法。
【請求項５】
前記メタデータ部分は、
セキュリティ・メタデータ部分と、
実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、
メタデータ署名部分と
をさらに具備することを特徴とする請求項３に記載の方法。
【請求項６】
前記リソース・メタデータ部分は、
バイオメトリックセンサーと、
セキュアな出力と、
キーボードと、
個人識別番号入力装置と、
全地球測位システム入力と、
磁気ストライプカード読取装置と、
セキュアな記憶領域と、
パフォーマンス測定基準と、
特定の暗号化アルゴリズムを実施するアルゴリズムと、
少なくとも１つのスマートカードスロットと
のうちの少なくとも１つを具備するリソースを指定するように適応することを特徴とする請求項５に記載の方法。
【請求項７】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、アプレットのメタデータ部分を、セキュアプロセッサのセキュアな記憶領域内へロードする段階をさらに具備することを特徴とする請求項５に記載の方法。
【請求項８】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、アプレットのメタデータ部分のセキュリティ・メタデータ部分およびリソース・メタデータ部分を、アプレットのメタデータ部分の署名部分に対して、暗号化的に検証する段階をさらに具備することを特徴とする請求項７に記載の方法。
【請求項９】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、アプレットのセキュリティ・メタデータ部分のセキュアプロセッサのセキュリティ必要条件がセキュアプロセッサのセキュリティ等級により満たされるか、または、超過されることを検証する段階をさらに具備することを特徴とする請求項７に記載の方法。
【請求項１０】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、
アプレットのセキュリティ・メタデータ部分のセキュアプロセッサのセキュリティ必要条件がセキュアプロセッサのセキュリティ等級により満たされない、または、超過されないと判断する段階と、
セキュアプロセッサのセキュリティ等級により満たされるか、または、超過されるセキュアプロセッサの第２セキュリティ必要条件を有し得る第２アプレットを用いることを提案する段階と
をさらに具備することを特徴とする請求項９に記載の方法。
【請求項１１】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、前記第２アプレットを用いるための手数料を請求する段階をさらに具備することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、アプレットのメタデータ部分のリソース・メタデータ部分内で指定されたリソースを、セキュアプロセッサが供給できることを検証する段階をさらに具備することを特徴とする請求項７に記載の方法。
【請求項１３】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、
アプレットのメタデータ部分のリソース・メタデータ部分内で指定されたリソースのうちの少なくとも１つを、セキュアプロセッサが供給できないことを検証する段階と、
セキュアプロセッサが供給できるリソースのみを指定し得る第２アプレットを用いることを提案する段階と
をさらに具備することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記実行可能部分は、
暗号化された実行可能部分と、
暗号化されない実行可能部分と
をさらに具備することを特徴とする請求項３に記載の方法。
【請求項１５】
前記セキュアプロセッサ上にアプレットをインストールする段階は、アプレットの実行可能部分を、セキュアな記憶領域に記憶する段階をさらに具備することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記セキュアプロセッサ上にアプレットをインストールする段階は、
アプレットの暗号化された実行可能部分のための解読鍵を要請する段階と、
解読鍵を受信する段階と、
解読鍵を用いて、暗号化された実行可能部分を、暗号化されない実行可能部分の形に解読する段階と
をさらに具備することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記セキュアプロセッサ上にアプレットをインストールする段階は、暗号化されない実行可能部分を、暗号化されない実行可能署名部分に対して検証する段階をさらに具備することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記セキュアプロセッサ上にアプレットをインストールする段階は、アプレットシリアル番号を先頭に付加された暗号化されない実行可能部分を、暗号化されない実行可能署名部分に対して検証する段階をさらに具備することを特徴とする請求項１６に記載の方法。
【請求項１９】
前記セキュアプロセッサ上にアプレットをインストールする段階は、暗号化されない実行可能部分を、セキュアプロセッサに結びつける段階をさらに具備することを特徴とする請求項１７に記載の方法。
【請求項２０】
前記セキュアプロセッサ上にアプレットをインストールする段階は、
暗号化されない実行可能部分を、暗号化された実行可能部分に暗号化する段階と、
暗号化された実行可能部分を、非セキュアな記憶装置に記憶する段階と、
暗号化された実行可能部分の解読鍵を、セキュアな記憶領域に記憶する段階と
をさらに具備することを特徴とする請求項１７に記載の方法。
【請求項２１】
前記コンピュータシステムは、非セキュアプロセッサを具備することを特徴とする請求項１に記載の方法。
【請求項２２】
データ記憶装置とセキュアプロセッサとを有するコンピュータシステム上において、アプレットをセキュアにインストールするための方法であって、
前記方法は、非セキュアなデータ記憶装置において、アプレットを受信する段階
を具備し、
前記アプレットは、
メタデータ部分と、
実行可能部分と
を具備し、
前記メタデータ部分は、
セキュリティ・メタデータ部分と、
実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、
メタデータ署名部分と
を具備し、
前記方法は、
セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットのセキュリティ・メタデータ部分およびリソース・メタデータ部分に少なくとも部分的に基づいて判断する段階
を具備し、
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、
アプレットのセキュリティ・メタデータ部分のセキュアプロセッサのセキュリティ必要条件がセキュアプロセッサのセキュリティ等級により満たされるか、または、超過されることを検証する段階と、
アプレットのメタデータ部分のリソース・メタデータ部分内で指定されたリソースを、セキュアプロセッサが供給できることを検証する段階と
を具備し、
前記方法は、
セキュアプロセッサがアプレットを実行することができれば、セキュアプロセッサ上にアプレットをインストールする段階
を具備することを特徴とする方法。
【請求項２３】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、アプレットのメタデータ部分のセキュリティ・メタデータ部分およびリソース・メタデータ部分を、アプレットのメタデータ部分の署名部分に対して検証する段階をさらに具備することを特徴とする請求項２２に記載の方法。
【請求項２４】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、
アプレットのセキュリティ・メタデータ部分のセキュアプロセッサのセキュリティ必要条件がセキュアプロセッサのセキュリティ等級により満たされない、または、超過されないと判断する段階と、
セキュアプロセッサのセキュリティ等級により満たされるか、または、超過されるセキュアプロセッサの第２セキュリティ必要条件を有し得る第２アプレットを用いることを提案する段階と
をさらに具備することを特徴とする請求項２３に記載の方法。
【請求項２５】
前記セキュアプロセッサによりアプレットを実行することができるか否かを判断する段階は、前記第２アプレットを用いるための手数料を請求する段階をさらに具備することを特徴とする請求項２４に記載の方法。
【請求項２６】
前記セキュアプロセッサ上にアプレットをインストールする段階は、アプレットの実行可能部分を、セキュアな記憶領域に記憶する段階をさらに具備することを特徴とする請求項２２に記載の方法。
【請求項２７】
前記セキュアプロセッサ上にアプレットをインストールする段階は、
アプレットの暗号化された実行可能部分のための解読鍵を要請する段階と、
解読鍵を受信する段階と、
解読鍵を用いて、暗号化された実行可能部分を、暗号化されない実行可能部分の形に解読する段階と
をさらに具備することを特徴とする請求項２６に記載の方法。
【請求項２８】
前記セキュアプロセッサ上にアプレットをインストールする段階は、
解読鍵を用いて、暗号化された実行可能部分を、暗号化されない実行可能部分の形に解読する段階と
暗号化されない実行可能部分を、セキュアプロセッサに結びつける段階と
をさらに具備することを特徴とする請求項２６に記載の方法。
【請求項２９】
前記セキュアプロセッサ上にアプレットをインストールする段階は、
暗号化されない実行可能部分を、暗号化された実行可能部分に暗号化する段階と、
暗号化された実行可能部分を、非セキュアな記憶装置に記憶する段階と、
暗号化された実行可能部分の解読鍵を、セキュアな記憶領域に記憶する段階と
をさらに具備することを特徴とする請求項２８に記載の方法。
【請求項３０】
少なくとも１つのリソースを有し、かつ、セキュリティ等級と関連するセキュアプロセッサを有するコンピュータにインストールできなかった第１アプレットの代わりに、代替アプレットのリストを提供するための方法であって、
前記方法は、
セキュアプロセッサから、代替アプレットのリストを求める要請を受信する段階
を具備し、
前記要請は、
第１アプレットを識別するアプレットシリアル番号と、
セキュアプロセッサを識別する識別子と、
セキュアプロセッサのセキュリティ等級を識別する第１インジケータと、
コンピュータの前記少なくとも１つのリソースを識別する第２インジケータと、
を具備し、
前記方法は、
第１インジケータおよび第２インジケータに少なくとも部分的に基づいて、複数のアプレットから、代替アプレットのリストを作成する段階と、
代替アプレットのリストを、顧客のコンピュータへ送信する段階と
を具備することを特徴とする方法。
【請求項３１】
前記代替アプレットのリストから、代替アプレットをインストールする段階と、
代替アプレットをインストールするための手数料を請求する段階と
をさらに具備することを特徴とする請求項３０に記載の方法。
【請求項３２】
前記識別子は、セキュアプロセッサを独自に識別することを特徴とする請求項３０に記載の方法。
【請求項３３】
セキュアなアプレット実行システムであって、
前記セキュアなアプレット実行システムにより受信されたアプレットを受信するデータ記憶素子と、
セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断するセキュアプロセッサにして、かつ、該セキュアプロセッサがアプレットを実行することが可能であれば該セキュアプロセッサ上にアプレットをインストールするセキュアプロセッサと
を具備することを特徴とするセキュアなアプレット実行システム。
【請求項３４】
前記アプレットは、
メタデータ部分と、
実行可能部分と
をさらに具備することを特徴とする請求項３３に記載のセキュアなアプレット実行システム。
【請求項３５】
前記アプレットは、認証部分をさらに具備することを特徴とする請求項３４に記載のセキュアなアプレット実行システム。
【請求項３６】
前記メタデータ部分は、
セキュリティ・メタデータ部分と、
実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、
メタデータ署名部分と
をさらに具備することを特徴とする請求項３５に記載のセキュアなアプレット実行システム。
【請求項３７】
セキュアなアプレット実行システムであって、
前記セキュアなアプレット実行システムは、
セキュアなアプレット実行システムにより受信されたアプレットを記憶する非セキュアなデータ記憶素子
を具備し、
前記アプレットは、
メタデータ部分と、
実行可能部分と
を具備し、
前記メタデータ部分は、
セキュリティ・メタデータ部分と、
実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、
メタデータ署名部分と
を具備し、
前記セキュアなアプレット実行システムは、
セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断するセキュアプロセッサにして、かつ、該セキュアプロセッサがアプレットを実行することが可能であれば該セキュアプロセッサ上にアプレットをインストールするセキュアプロセッサ
を具備することを特徴とするセキュアなアプレット実行システム。
【請求項３８】
暗号化的にセキュアな実行可能部分を含むように構成設定されたセキュアなアプレットであって、
メタデータ部分と、
実行可能部分と、
認証部分と
を具備し、
前記メタデータ部分は、
セキュリティ・メタデータ部分と、
リソース・メタデータ部分と、
メタデータ署名部分と
を具備し、
前記実行可能部分は、
暗号化された実行可能部分と、
暗号化されない実行可能署名部分と
を具備することを特徴とするセキュアなアプレット。
【請求項３９】
前記セキュリティ・メタデータ部分は、暗号化されない実行可能部分の解読および実行のために必要なセキュリティ必要条件について説明する情報を具備することを特徴とする請求項３８に記載のセキュアなアプレット。
【請求項４０】
前記リソース・メタデータ部分は、暗号化された実行可能部分の実行のために必要なリソースについて説明する情報を具備することを特徴とする請求項３８に記載のセキュアなアプレット。
【請求項４１】
前記リソース・メタデータ部分は、アプレットシリアル番号を具備することを特徴とする請求項３８に記載のセキュアなアプレット。
【請求項４２】
前記暗号化されない署名部分は、暗号化された実行可能部分が解読されかつアプレットシリアル番号を先頭に付加される場合に、該暗号化された実行可能部分が多少なりとも変更されたか否かを検証するように適応した情報を具備することを特徴とする請求項４１に記載のセキュアなアプレット。
【請求項４３】
前記メタデータ署名部分は、セキュリティ・メタデータ部分およびリソース・メタデータ部分が多少なりとも変更されたか否かを検証するように適応した情報を具備することを特徴とする請求項３８に記載のセキュアなアプレット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化システム（cryptographic systems）に関する。より詳細には、本発明は、認証されたソフトウェアアプリケーションのセキュアな（secure）インストールおよび実行に関する。
【背景技術】
【０００２】
多くのコンピュータアプリケーションは、１つ以上のセキュアな機能を実行することを必要とする。セキュアな機能は、コンピュータプログラム、該コンピュータプログラムの特徴、および、ユーザーまたは第三者により改竄されることに対して高い耐性がある該コンピュータプログラムの動作である。
【０００３】
例えば、ソフトウェアプログラムは期限満了日を有することができ、該期限満了日の後に、ソフトウェアアプレットプログラムは動作不能となる。しかしながら、通常のソフトウェアの期限満了機能は、ローカルコンピュータのクロックを過去の時間設定に再設定することにより、または、ローカルコンピュータのクロックをチェックするプログラム部分を飛び越えるように該ソフトウェアを変更することにより容易に打破されてしまうので、セキュアではない。
【０００４】
他の例として、暗号化されたローカルデータベースの使用についての請求という目的のために該暗号化されたローカルデータベースからアクセスされたデータの記録を保持するコンピュータプログラムは、通常は、２つの重要なレジスタを有する。最初のレジスタは過去のデータ使用量を示し、かつ、他方のレジスタは残存の貸方（credit）額を示す。しかしながら、使用量レジスタ／貸方レジスタの更新がセキュアな機能でなければ、ユーザーは、システムを打破するために、使用量レジスタの内容を減少させること、および／または、貸方レジスタの内容を増加させることができてしまう。同様に、賃貸についての請求という目的のために自身の使用量の記録を保持する賃貸式ソフトウェアは、ユーザーが賃貸アカウントレジスタと他の重要な内部レジスタおよび機能とを改竄することを防止するためのセキュアな機能を必要とする。
【０００５】
他の例として、遠隔アクセスデータベースは、該データベースへのアクセスについて、認可されたユーザーに請求することができる。セキュアな機能は、データベースへのアクセス権を付与する前に、各々のユーザーの身元を認証することをしばしば要求される。さらに他のセキュアな機能は、鍵管理（すなわち、認可されたユーザーに対して暗号化鍵を配布すること）である。
【０００６】
セキュアな機能による解決法の１つは、クライアントのデスクトップソフトウェアにおいて、セキュアな機能を実施することである。デスクトップソフトウェアにおいて、セキュアな機能を実施することは、ほぼ普遍的であるという利点を有する。しかしながら、デスクトップソフトウェアにおいて、セキュアな機能を実施することは、ハードウェアにおいて、セキュアな機能を実施する場合ほどセキュアではない。その反面、ハードウェアによるセキュアな機能の実施は、ソフトウェアの場合よりも費用がかかり、かつ、各々のアプリケーションのために特殊化されたハードウェアを必要とし得る。各々のアプリケーションが独自の特殊化されたハードウェアを必要とすれば、ハードウェアによるセキュアな機能の実施は普遍的なものではなくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、セキュアな環境において、アプレット（applet）を条件付きでインストールかつ実行するためのシステムおよび方法を提供することである。特定の実施例において、本発明は、アプレットを実行するためのリソースをセキュアプロセッサが有する場合にのみ、アプレットのインストールを提供する。
【課題を解決するための手段】
【０００８】
本発明の方法に関する第１の例示的実施例によれば、データ記憶装置とセキュアプロセッサとを有するコンピュータシステム上において、アプレットをセキュアにインストールするための方法が提供される。本発明の特徴は、データ記憶装置において、アプレットを受信する段階と、セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断する段階と、セキュアプロセッサがアプレットを実行することができれば、セキュアプロセッサ上にアプレットをインストールする段階とを具備する。本発明の一特徴において、前記アプレットは、メタデータ部分と、実行可能部分と、認証部分とをさらに具備する。本発明の他の特徴において、前記メタデータ部分は、セキュリティ・メタデータ部分と、実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、メタデータ署名部分とをさらに具備する。
【０００９】
本発明の方法に関する第２の例示的実施例によれば、非セキュアプロセッサとセキュアプロセッサとを有するコンピュータシステム上において、アプレットをセキュアにインストールするための方法が提供される。本発明の他の特徴は、非セキュアなデータ記憶装置において、アプレットを受信する段階を含む。前記アプレットは、メタデータ部分と、実行可能部分とを具備し、前記メタデータ部分は、セキュリティ・メタデータ部分と、リソース・メタデータ部分と、メタデータ署名部分とを含む。本発明のさらに他の特徴は、セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットのセキュリティ・メタデータ部分およびリソース・メタデータ部分に少なくとも部分的に基づいて判断する段階を含む。本発明の一特徴において、アプレットのセキュリティ・メタデータ部分のセキュアプロセッサのセキュリティ必要条件がセキュアプロセッサのセキュリティ等級により満たされるか、または、超過されることを検証する段階と、セキュアプロセッサがアプレットを実行することができれば、セキュアプロセッサ上にアプレットをインストールする段階とを含む。
【００１０】
本発明の方法に関する第３の例示的実施例によれば、少なくとも１つのリソースを有し、かつ、セキュリティ等級と関連するセキュアプロセッサを有するコンピュータにインストールできなかった第１アプレットの代わりに、代替アプレットのリストを提供するための方法が提供される。本発明の他の特徴は、セキュアプロセッサから、代替アプレットのリストを求める要請を受信する段階を含み、前記要請は、第１アプレットを識別するアプレットシリアル番号と、セキュアプロセッサを識別する識別子と、セキュアプロセッサのセキュリティ等級を識別する第１インジケータと、コンピュータの前記少なくとも１つのリソースを識別する第２インジケータとを含む。本発明の一特徴において、第１インジケータおよび第２インジケータに少なくとも部分的に基づいて、複数のアプレットから、代替アプレットのリストが作成され、かつ、代替アプレットのリストはコンピュータへ送信される。本発明の他の特徴において、前記方法は、前記代替アプレットのリストから、代替アプレットをインストールする段階と、代替アプレットをインストールするための手数料を請求する段階とをさらに含む。
【００１１】
本発明の方法に関する第４の例示的実施例によれば、セキュアなアプレット実行システムにより受信されたアプレットを受信するデータ記憶素子と、セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断するセキュアプロセッサとを含むセキュアなアプレット実行システムが提供され、かつ、前記アプレットは、セキュアプロセッサがアプレットを実行することが可能であれば該セキュアプロセッサ上にアプレットをインストールされる。本発明のさらに他の特徴において、前記アプレットは、メタデータ部分と、実行可能部分とをさらに含む。
【００１２】
本発明の方法に関する第５の例示的実施例によれば、セキュアなアプレット実行システムにより受信されたアプレットを記憶する非セキュアなデータ記憶素子を含むセキュアなアプレット実行システムが提供される。本発明の他の特徴において、前記アプレットは、メタデータ部分と、実行可能部分とを具備し、前記メタデータ部分は、セキュリティ・メタデータ部分と、実行用アプレットにより必要とされるあらゆるリソースを指定するリソース・メタデータ部分と、メタデータ署名部分とを含む。セキュアプロセッサは、セキュアプロセッサによりアプレットを実行することができるか否かを、アプレットの少なくとも一部分から判断し、かつ、前記アプレットは、セキュアプロセッサがアプレットを実行することが可能であれば該セキュアプロセッサ上にインストールされる。
【発明を実施するための最良の形態】
【００１３】
本発明に関するさらなる目的、特徴、および、利点は、本発明の例示的実施例を示す添付図面と関連して取り上げられる以下の詳細な説明から明らかとなるであろう。
【００１４】
これらの図面全般を通して、特に明記しない限り、同じ参照数値／文字は、例示的実施例に関する類似した特徴、素子、構成要素、または、部分を示すために用いられる。さらに、これらの図面を参照して、かつ、例示的実施例と関連して、以下に本発明について詳細に説明する一方で、添付の請求項により定義されるような本発明の真の範囲および真意から逸脱することなく、説明される実施例に対して変更および修正を行うことができる。
【００１５】
１９９９年３月１７日に出願され、スティーヴン Ｊ．スプレイグ（Steven J Sprague）およびグレゴリー Ｊ．カズミエルクザック（Gregory J Kazmierczak）による、"Public Cryptographic Control Unit and System Therefor"（以後、本明細書において、“スプレイグ他”と称する）という題目の米国特許第０９／３１３，２９５号は、アプレットを内外で交換できる暗号化制御ユニットについて説明しており、その明細書全体は、この参照により開示に含まれる。
【００１６】
図１は、（例えば、“スプレイグ他”において、ソフトウェア開発者のＰＣ（software developer PC）として開示されているような）アプレットサーバー１１０からアプレットをダウンロードするための、（例えば、“スプレイグ他”において、デスクトップＰＣ（desktop PC）として開示されているような）顧客のコンピュータ１７０上にアプレットをインストールするための、かつ、（例えば、“スプレイグ他”において、公開暗号化制御ユニット（public cryptographic control unit）として開示されているような）セキュアプロセッサ１８０上において、アプレットをセキュアな様式で実行するためのシステム１００を示す。アプレットサーバー１１０は、ＣＰＵ１１２と、データ記憶素子１１４と、ネットワークインターフェース１１６と、データベース１１８とを含んで設けられる。データ記憶素子１１４は、様々な顧客およびアプレットについて説明する情報を含む。ネットワーク接続１３０は、通信ネットワーク１５０を介して通信することをウェブサーバー１１０に許容するネットワークインターフェース１１６を経て、アプレットサーバー１１０を、通信ネットワーク１５０に接続する。通信ネットワーク１５０は、インターネットであることが好ましいが、直通のモデム回線や無線接続などであってもよい。
【００１７】
（例えば、“スプレイグ他”において、暗号化オペレーションセンター（cryptographic operations center）として開示されているような）認可された認証局（authorized certification authority）１２０は、ＣＰＵ１２２と、データ記憶装置１２４と、ネットワークインターフェース１２６と、データベース１２８とを含んで設けられる。ネットワーク接続１４０は、通信ネットワーク１５０を介して通信することを前記認可された認証局１２０に許容するネットワークインターフェース１２６を経て、認可された認証局１２０を、通信ネットワーク１５０に接続する。
【００１８】
顧客のコンピュータ１７０は、ＣＰＵ１７２と、データ記憶装置１７４と、ネットワークインターフェース１７６と、データベース１７８と、（“スプレイグ他”において、独自のユニットの身元（unique unit identity）として開示されているような）独自の身元１８２を有するセキュアプロセッサ１８０とを含んで設けられる。ネットワーク接続１６０は、通信ネットワーク１５０を介して通信することを顧客のコンピュータ１７０に許容するネットワークインターフェース１７６を経て、顧客のコンピュータ１７０を、通信ネットワーク１５０に接続する。
【００１９】
認証局システム（certificate authority system）１９０は、ＣＰＵ１９２と、データ記憶装置１９４と、ネットワークインターフェース１９６と、データベース１９８とを含んで設けられる。ネットワーク接続１９９は、通信ネットワーク１５０を介して通信することを認証局システム１９０に許容するネットワークインターフェース１９６を経て、認証局システム１９０を、通信ネットワーク１５０に接続する。認証局システム１９０は、信頼を受けた認証階層を提供し、この場合に、アプレットサーバー１１０／認可された認証局１２０の認証／関連公開鍵が、顧客のコンピュータ１７０内のセキュアプロセッサ１８０に認識される。
【００２０】
図２Ａは、メタデータ部分２０２と、実行可能部分２０４と、認証部分２０６とを含むアプレット２００を示す。図２Ｂに示されるメタデータ部分２０２は、セキュリティ・メタデータ部分２１２と、リソース・メタデータ部分２１４と、メタデータ署名部分２１６とを含む。リソース・メタデータ部分２１４は、必要なリソースと、（“スプレイグ他”において、アプレットシリアル番号（applet serial number）として開示されているような）アプレットシリアル番号とを指定する情報を含む。前記必要なリソースは、例えば、バイオメトリック（biometric）センサー、セキュアな出力、キーボード、個人識別番号入力装置、第１スマートカードスロット、第２スマートカードスロット、指紋印刷スキャナ、汎用スキャナ、ディスクドライブ、全地球測位システム入力、磁気ストライプカード読取装置、セキュアな記憶領域、ハードウェアについての最低限の基準を定義するパフォーマンス測定基準（performance metrics）、特定の暗号化アルゴリズムを実施するアルゴリズム、などを含み得る。アプレットシリアル番号は、メタデータ部分２０２が属するアプレットを示す。メタデータ署名部分２１６は、認可された認証局１２０により作成される。図２Ｃに示される実行可能部分２０４は、暗号化された（encrypted）実行可能部分２２２と、実行可能署名部分２２４とを含む。実行可能署名部分２２４は、認可された認証局１２０により作成される。認証部分２０６は、認証局システム１９０により作成される。いったん、ソフトウェアアプレットがダウンロードされると、該ソフトウェアアプレットはデータ記憶素子１７４に記憶される。
【００２１】
図３は、ソフトウェアアプレットのインストール／実行プロセス３００を示す。ソフトウェアアプレットのインストール／実行プロセス３００を開始するために、段階３０２において、顧客のコンピュータ１７０は、アプレットサーバー１１０にアプレット２００を要請する。前記要請は、独自のユニット識別子１８２と、アプレットシリアル番号とを含む。これによって、顧客のコンピュータ１７０は、アプレット要請を、通信ネットワーク１５０を介して、アプレットサーバー１１０へ送信する。代替的実施例において、顧客のコンピュータ１７０は、“スプレイグ他”において配布メディア（distribution media）として説明されているような配布メディアから、または、他のソースから、アプレット２００を読み取る。段階３０６において、顧客のコンピュータ１７０は、アプレット２００を、該顧客のコンピュータ１７０のデータ記憶装置１７４へダウンロードする。
【００２２】
段階３０４において、アプレットのインストール要請が検証される。顧客のコンピュータ１７０は、顧客に催促して認証コードを提供させて、要請が顧客から生じたことを検証する。顧客により提供された認証コードが、独自の識別子１８２としてセキュアプロセッサ１８０内に記憶された認証コードと符合すれば、アプレット２００はインストールのための候補である。認証コードが、独自の識別子１８２としてセキュアプロセッサ１８０内に記憶された認証コードと符合しなければ、プロセス３００は停止され、インストールプロセスはエラーメッセージを受信し、かつ、プロセス３００は終了する。図４においてさらに詳述するように、段階３０８において、セキュアプロセッサ１８０は、該セキュアプロセッサ１８０がアプレット２００を実行する能力を検証する。代替案として、段階３０８における検証のために、最初に、メタデータ部分２０２および認証部分２０６のみが、顧客のコンピュータ１７０へダウンロードされる。さらに、このように最初にメタデータ部分２０２および認証部分２０６をダウンロードする場合には、セキュアプロセッサ１８０内のデータ記憶装置へ直接的にダウンロードすることができる。
【００２３】
図４において、アプレット２００のメタデータ部分２０２および認証部分２０６は、段階４０２において、データ記憶装置１７４からセキュアプロセッサ１８０内へ移動される。メタデータ部分２０２がセキュアプロセッサ１８０内へ移動された後に、段階４０３において、アプレット２００の認証部分２０６が、セキュアプロセッサ１８０により、リベスト（Rivest）・シャミア（Shamir）・エイドルマン（Adleman）・アルゴリズムを用いて検証される。認証局システム１９０が認証部分２０６を作成したことをセキュアプロセッサ１８０が検証すれば、プロセス３００は段階４０４へ進行する。認証局システム１９０が認証部分２０６を作成しなければ、プロセス３００は終了する。
【００２４】
段階４０４において、一時的な変数リソース（temporary variable resource）が偽（ＦＡＬＳＥ）に設定され、かつ、一時的な変数セキュリティ（temporary variable security）が偽に設定される。このことは、セキュアプロセッサ１８０がアプレットを実行するために必要なセキュリティレベルを有していると認識されていない旨と、セキュアプロセッサ１８０がアプレットを実行するために必要なリソースを有していると認識されていない旨とを示すために行われる。
【００２５】
段階４０６において、アプレット２００のメタデータ部分２０２のデータ無欠性（data integrity）が検証される。セキュアプロセッサ１８０は、公開鍵検証アルゴリズムを用いて、セキュリティ・メタデータ部分２１２およびリソース・メタデータ部分２１４のデータ無欠性を、メタデータ署名部分２１６に対して検証する。ある実施例において、リベスト・シャミア・エイドルマン・アルゴリズムが用いられる。最初に、アプレット２００がアプレットサーバー１１０からダウンロードされる前に、メタデータ署名部分２１６が、セキュリティ・メタデータ部分２１２およびリソース・メタデータ部分２１４に基づいて作成された。メタデータ署名部分２１６が作成された時間と検証が発生する時間との間に、セキュリティ・メタデータ部分２１２およびリソース・メタデータ部分２１４内の情報が変更されれば、検証プロセスは失敗となる。検証プロセスが失敗すれば、プロセス３００は終了し、かつ、エラーを示す。検証プロセスが、セキュリティ・メタデータ部分２１２およびリソース・メタデータ部分２１４において、何の変更も検出しなければ、プロセス３００は継続する。
【００２６】
段階４０８において、セキュアプロセッサ１８０上における、必要なリソースの利用可能性が検証される。リソース・メタデータ部分２１４は、実行可能部分が実行される場合に必要とし得る多くのリソースを指定する。リソース・メタデータ部分２１４は、実行可能部分が実行される場合に必要とし得る全てのリソースを指定することが好ましい。リソース・メタデータ部分２１４内で指定された全てのリソースは、アプレット２００をインストールするために、セキュアプロセッサ１８０上において利用可能である必要がある。アプレット２００がインストールされる際には、これらのリソースを他のプロセスにより当面は用いることができるが、実行時においては、全ての指定されたリソースは、アプレット２００の裁量下にある必要がある。セキュアプロセッサ１８０が必要なリソースを有していれば、一時的な変数リソースは、必要なリソースがセキュアプロセッサ１８０内に存在することを示すために、真（ＴＲＵＥ）に設定される。
【００２７】
段階４１０において、セキュアプロセッサ１８０によりサポートされるセキュリティレベル（すなわち、セキュアプロセッサ１８０のセキュリティ等級）については、セキュリティ・メタデータ部分２１２内で指定されたセキュリティレベルと少なくとも同じ程度にセキュアであるものとして検証する必要がある。セキュアプロセッサ１８０において利用可能なセキュリティレベルが、セキュリティ・メタデータ部分２１２内で指定されたセキュリティレベルと少なくとも同じ程度にセキュアであれば、アプレット２００をセキュアプロセッサ１８０上にインストールすることができる。アプレット２００をセキュアプロセッサ１８０上にインストールすることができれば、一時的な変数セキュリティは、必要なセキュリティレベルがセキュアプロセッサ１８０内に存在することを示すために、真に設定される。
【００２８】
次に、プロセス３００は図３の段階３１０へ進行して、アプレットをインストールすることができるか否かが判断される。一時的な変数セキュリティおよび一時的な変数リソースが真であれば、アプレット２００をインストールすることができる。アプレット２００のメタデータ部分２０２は、セキュアプロセッサ１８０に記憶され、かつ、プロセス３００は段階３１８へ進行する。一時的な変数セキュリティまたは一時的な変数リソースのいずれかが偽であれば、アプレットをインストールすることができず、かつ、プロセス３００は段階３１２へ進行する。
【００２９】
段階３１２において、セキュアプロセッサ１８０は、アプレット２００の代替となる既知のアプレットが存在するか否かを判断する。必要なリソースをセキュアプロセッサ１８０が所有していなかったという理由、または、必要なセキュリティプロトコルをセキュアプロセッサ１８０がサポートしていなかったという理由のいずれかにより、アプレット２００のインストールが失敗した。セキュアプロセッサ１８０は、顧客のコンピュータ１７０に、アプレットサーバー１１０に対して代替アプレットのリストを要請させることにより、代替アプレットが存在するか否かに関する自身の判断を開始する。顧客のコンピュータ１７０は、代替アプレットのリストを求める要請を送信する。前記要請は、独自のユニット識別子１８２と、インストールできなかったアプレットについてのアプレットシリアル番号と、セキュアプロセッサ１８０のセキュリティ等級と、セキュアプロセッサ１８０のリソース能力とを含む。アプレットサーバー１１０から顧客のコンピュータ１７０へ返信された代替アプレットのリストが空白であれば、プロセス３００は終了する。代替アプレットのリストが空白でなければ、プロセス３００は段階３１４へ進行する。
【００３０】
段階３１４において、セキュアプロセッサ１８０は、代替アプレットのリストを顧客に提示するように、顧客のコンピュータ１７０に命令する。段階３１６において、顧客は、代替アプレットの１つをインストールすることを、または、代替物を拒絶することを選択することができる。顧客が代替アプレットの１つを受理することを選択すれば、プロセス３００は、段階３０２から再び開始される。顧客が代替アプレットを拒絶すれば、プロセス３００は終了する。
【００３１】
段階３１８において、セキュアプロセッサ１８０は、アプレットサーバー１１０に、解読鍵（decryption key）を要請する。解読鍵の要請は、独自のユニットの身元１８２と、アプレットシリアル番号とを含む。解読鍵は、セキュアプロセッサ１８０に、アプレット２００の暗号化された実行可能部分２２２を解読することを許容する。段階３２０において、セキュアプロセッサ１８０は、解読鍵を待機する。セキュアプロセッサ１８０がアプレットサーバー１１０から解読鍵を受信すれば、セキュアプロセッサ１８０は、段階３２２へ進行することにより、アプレット２００のインストールを継続することができる。顧客のコンピュータ１７０がアプレットサーバー１１０から解読鍵を受信しなければ、アプレット２００をインストールすることができず、かつ、プロセス３００は終了する。段階３２２において、アプレット２００の暗号化された実行可能部分２２２が検証される。
【００３２】
図５は、段階３２２における、アプレット２００の実行可能部分２２２の検証を、より詳細に示す。暗号化された実行可能部分２２２を検証するために、段階５０２において、これをデータ記憶装置１７４からセキュアプロセッサ１８０へ移動する必要がある。段階５０４において、暗号化された実行可能部分２２２は、解読鍵を用いて、暗号化されない（unencrypted）実行可能部分の形に解読される。
【００３３】
段階５０６において、暗号化されない実行可能部分のデータ無欠性が検証される。セキュアプロセッサ１８０は、暗号化されない実行可能部分の先頭にアプレットシリアル番号を付加することにより、かつ、公開鍵検証アルゴリズムを用いて実行可能署名部分２２４を検証することにより、暗号化されない実行可能部分のデータ無欠性を検証する。ある実施例において、リベスト・シャミア・エイドルマン・アルゴリズムが用いられる。アプレットサーバー１１０がアプレットをダウンロードする前に、実行可能署名部分２２４が、アプレットシリアル番号を先頭に付加された暗号化されない実行可能部分内に含まれるデータに基づいて作成される。実行可能署名部分２２４が作成された後に、暗号化されない実行可能部分からアプレットシリアル番号が除去され、かつ、該暗号化されない実行可能部分は、暗号化された実行可能部分２２２を作成して暗号化される。セキュアプロセッサ１８０上において、暗号化されない実行可能署名部分２１６が作成された時間と検証が発生する時間との間に、暗号化された実行可能部分２２２内の情報、暗号化されない実行可能部分内の情報、または、アプレットシリアル番号内の情報が変更されれば、検証プロセスは失敗となる。検証プロセスが失敗すれば、プロセス３００は終了する。検証プロセスが、暗号化されない実行可能部分において、何の変更も検出しなければ、アプレット２００をインストールすることができる。
【００３４】
段階５０８において、暗号化されない実行可能部分は、暗号化され、かつ、セキュアプロセッサ１８０に結びつけられる。暗号化されない実行可能部分は再暗号化（re-encrypt）され、かつ、ローカルな解読鍵が作成される。ローカルな解読鍵は、セキュアプロセッサ１８０により作成され、かつ、セキュアプロセッサ１８０にとって独自のものとなる。再暗号化された実行可能部分については、セキュアプロセッサ１８０に記憶されるローカルな解読鍵によってのみ解読することができ、これにより、暗号化された実行可能部分をセキュアプロセッサ１８０に結びつける。次に、段階５１０において、再暗号化された実行可能部分は、データ記憶装置１７４へアンロードされ、これにより、段階３２２が完了する。次に、プロセス３００は、図３の段階３２４へ進行する。
【００３５】
段階３２４において、実行がこの時点で望ましいか否かが判断される。実行がこの時点で望ましければ、プロセス３００は段階３２６へ進行する。実行がこの時点で望ましくなければ、プロセス３００は終了する。
【００３６】
図６は、段階３２６における、アプレット２００の実行を、より詳細に示す。実行プロセス６００についても、インストールプロセス部分と同様に、自動的にアクティブ化することができる。段階６０２において、暗号化された実行可能部分が、データ記憶装置１７４からセキュアプロセッサ１８０内へ移動される。段階６０４において、暗号化された実行可能部分２２２は、セキュアプロセッサ１８０に記憶されたローカルな解読鍵を用いて、セキュアプロセッサ１８０内で解読される。
【００３７】
暗号化されない実行可能部分を実行するために、アプレット２００のメタデータ部分２０２内で指定されたリソースが利用可能である必要がある。段階６０６において、アプレット２００のメタデータ部分２０２内で指定されたリソースの利用可能性が検証される。セキュアプロセッサ１８０は、セキュアプロセッサ１８０に記憶されるアプレット２００のメタデータ部分２０２のリソース・メタデータ部分２１４から、必要なリソースを読み取る。セキュアプロセッサ１８０の必要なリソースが空いていれば、プロセスは段階６０９へ進行する。セキュアプロセッサ１８０の必要なリソースが空いていなければ、プロセスは段階６０７へ進行する。
【００３８】
段階６０７において、セキュアプロセッサ１８０は、空いていない必要なリソースを識別するメッセージを顧客に表示するように、顧客のコンピュータ１７０に指示し、かつ、必要なリソースを解放する機会を顧客に与える。暗号化されない実行可能部分は、自身が必要とし得る全てのリソースが、自身の使用のために利用可能である場合にのみ、実行される。段階６０８において、必要なリソースを顧客が解放すれば、プロセス３００は段階６０９へ進行する。必要なリソースを顧客が解放できなければ、または、解放しなければ、プロセス３００は終了する。代替的実施例において、セキュアプロセッサ１８０は、必要なリソースが利用可能となるまで、プログラム的に待機する。他の代替的実施例において、セキュアプロセッサ１８０は、必要なリソースが利用可能となるまでアプレットの実行を遅延させる、または、アプレットを全く実行しないという選択肢を、顧客に提示する。さらに他の代替的実施例において、これらのリソースは、予め確立された優先権または優先順位に基づいて、プログラム的に解放される。
【００３９】
代替的実施例において、必要なリソースを顧客が解放できれば、プロセス３００は段階６０９へ進行する代わりに、段階６０６へ戻る。
【００４０】
段階６０８において、セキュアプロセッサ１８０は、必要なリソースが顧客により解放されていることを検証する。必要なリソースを顧客が解放していれば、プロセス６００は段階６０９へ進行する。必要なリソースを顧客が解放していなければ、プロセス３００は終了する。段階６０９において、暗号化されない実行可能部分が実行される。段階６１０において、暗号化されない実行可能部分は、自身に要求されるあらゆる作用を実行し、かつ、終了する。暗号化されない実行可能部分の実行が終了した後に、該暗号化されない実行可能部分を再暗号化する必要がある。暗号化されない実行可能部分は、段階６１２において暗号化され、かつ、データ記憶装置１７４へ移動され、かつ、解読鍵がセキュアプロセッサ１８０に記憶され、これにより、段階３２６が完了し、かつ、プロセス３００が終了する。この段階は、実行可能部分と関連するあらゆるユーザーデータまたはアプリケーションデータを再暗号化するために実行される。
【００４１】
代替的実施例において、セキュアプロセッサ１８０により、アプレットの実行可能部分に対して、何の変更もプログラム的に行われなかったならば、段階６１２，６１４をスキップすることができる。
【００４２】
代替的実施例において、実行可能部分を検証した後に、該実行可能部分を即時に実行することを許容するために、インストールプロセス中において、段階６０２，６０４をスキップすることができる。
【００４３】
図７は、アプレットを求める要請に対する、アプレットサーバー１１０による応答のためのプロセス７００を示す。段階７０２において、アプレットサーバー１１０は、アプレットを求める要請を受信する。アプレットを求める要請は、独自のユニット識別子１８２と、アプレットシリアル番号とを含む。段階７０４において、アプレットサーバー１１０は、段階７０２において受信された要請内で指定されたアプレットシリアル番号を有するアプレットを求めて、データベース１１８を検索する。アプレットサーバー１１０が、段階７０２において受信された要請内で指定されたアプレットを有していれば、アプレットサーバー１１０は、段階７０８において、認証要請を、顧客のコンピュータ１７０へ送信する。アプレットサーバー１１０が、要請内で指定されたアプレットを有していなければ、アプレットサーバー１１０は、段階７０６において、エラーメッセージを顧客のコンピュータ１７０へ送信し、かつ、プロセス７００を終了する。
【００４４】
代替的実施例において、アプレットサーバーがアプレットを有していれば、段階７０８，７１０，７１２，７１４，７１６は省略され、かつ、プロセス７００は、段階７０４から段階７１６へ直接的に進む。
【００４５】
段階７１０において、アプレットサーバー１１０は、認証コードを、顧客のコンピュータ１７０から受信する。段階７１２において、アプレットサーバー１１０は、認証コードを検証する。セキュアプロセッサ１８０が最初に登録されている場合に、アプレットサーバー１１０は、認証コードを、登録された各々および全ての独自の識別名１８２として、該アプレットサーバー１１０のデータベース１１８に記憶する。段階７１０においてアプレットサーバー１１０により受信された認証コードが、独自の識別名１８２としてデータベース１１８に記憶された認証コードと符合すれば、プロセス７００は、段階７１６へ進行する。２つのコードが符合しなければ、アプレットサーバー１１０は、段階７１４において拒絶を送信し、かつ、プロセス７００を終了する。
【００４６】
段階７１６において、アプレットサーバー１１０は、顧客の預金口座が良好な状態にあることを検証する。顧客の預金口座が滞納状態でなければ、アプレットサーバー１１０は、段階７１８において、要請されたアプレットを送信し、かつ、プロセス７００を終了する。顧客の預金口座が滞納状態であれば、アプレットサーバー１１０は、段階７２０において、顧客のコンピュータ１７０へ拒否を送信し、かつ、プロセス７００を終了する。適時な形で、または、アプレットを実行するための許可を得ることができるグループの一部となるような他の取引上の目的に対して、顧客の請求額が支払われていなければ、顧客の預金口座を滞納状態と考えることができる。
【００４７】
代替的実施例において、顧客は、アプレットサーバー１１０上に、預金口座を有し得る。要請されたアプレットについてのライセンスの費用よりも多くの金額を預金口座が自身の中に有していれば、預金口座は滞納状態ではない。他の代替的実施例において、顧客は、アプレットサーバー１１０におけるファイル上に、クレジットカード番号を有し得る。要請されたアプレットについてのライセンスにかかる金額について、クレジットカード番号に請求できれば、預金口座は滞納状態ではない。
【００４８】
代替的実施例において、顧客は、セキュアプロセッサ１８０上に、借方勘定（debit account）を有し得る。要請されたアプレットについてのライセンスの費用よりも多くの金額を借方勘定が有していれば、アプレットのインストール料金と関連した金銭上の商取引のために、ローカルな借方勘定を用いることができる。
【００４９】
他の代替的実施例において、ユーザーは、セキュアプロセッサ１８０上に、貸方勘定（credit account）を有し得る。リアルタイムの貸方商取引（credit transaction）を生じさせるためにこの貸方勘定を用いることができれば、インストールが進行できる。
【００５０】
図８は、解読鍵を求める要請に対する、アプレットサーバー１１０による応答のためのプロセス８００を示す。段階８０２において、アプレットサーバー１１０は、アプレットのための解読鍵を求める要請を受信する。解読鍵を求める要請は、独自のユニット識別子１８２と、アプレットシリアル番号とを含む。段階８０４において、アプレットサーバー１１０は、段階８０２において受信された要請内で識別されたアプレットのための解読鍵を求めて、データベース１１８を検索する。アプレットサーバー１１０が、段階８０２において受信された要請内で指定されたアプレットのための解読鍵を有していれば、プロセス８００は段階８０８へ進行する。アプレットサーバー１１０が、正しい解読鍵を有していなければ、アプレットサーバー１１０は、段階８０６において、エラーメッセージを顧客のコンピュータ１７０へ送信し、かつ、プロセス８００を終了する。
【００５１】
段階８０８において、アプレットサーバー１１０は、顧客の預金口座が良好な状態にあることを検証する。顧客の預金口座が滞納状態でなければ、アプレットサーバー１１０は、段階８１２において、要請された解読鍵を送信し、かつ、プロセス８００を終了する。顧客の預金口座が滞納状態であれば、アプレットサーバー１１０は、段階８１０において、顧客のコンピュータ１７０へ拒否を送信し、かつ、プロセス８００を終了する。適時な形で顧客の請求額が支払われていなければ、顧客の預金口座は滞納状態である。
【００５２】
代替的実施例において、顧客は、アプレットサーバー１１０上に、預金口座を有し得る。要請されたアプレットについてのライセンスの費用よりも多くの金額を預金口座が自身の中に有していれば、預金口座は滞納状態ではない。他の代替的実施例において、顧客は、アプレットサーバー１１０におけるファイル上に、クレジットカード番号を有し得る。要請されたアプレットについてのライセンスにかかる金額について、クレジットカード番号に請求できれば、預金口座は滞納状態ではない。
【００５３】
代替的実施例において、顧客は、セキュアプロセッサ１８０上に、借方勘定を有し得る。要請されたアプレットについてのライセンスの費用よりも多くの金額を借方勘定が有していれば、アプレットのインストール料金と関連した金銭上の商取引のために、ローカルな借方勘定を用いることができる。
【００５４】
他の代替的実施例において、ユーザーは、セキュアプロセッサ１８０上に、貸方勘定を有し得る。リアルタイムの貸方商取引を生じさせるためにこの貸方勘定を用いることができれば、インストールが進行できる。
【００５５】
図９は、代替アプレットを求める要請に対する、アプレットサーバー１１０による応答を示す。段階９０２において、アプレットサーバー１１０は、代替アプレットのリストを求める要請を受信する。代替アプレットのリストを求める要請は、独自のユニット識別子１８２と、アプレットシリアル番号と、セキュアプロセッサ１８０のセキュリティ等級と、セキュアプロセッサ１８０のリソース能力とを含む。
【００５６】
段階９０４において、セキュアプロセッサ１８０は、アプレット２００の代替となる既知のアプレットを検索する。必要なリソースをセキュアプロセッサ１８０が所有していなかったという理由、または、必要なセキュリティ保護をセキュアプロセッサ１８０がサポートしていなかったという理由のいずれかにより、アプレット２００のインストールが失敗した。アプレットサーバー１１０は、セキュアプロセッサ１８０のセキュリティ等級と、セキュアプロセッサ１８０のリソース能力とを分析して、インストールが失敗した背景にある理由を判断する。インストールが失敗した背景にある理由に応じて、アプレットサーバー１１０は、必要なリソースがより少なく、必要なセキュリティ基準の厳格さがより低く、または、これらの条件を両方とも満たす等価なアプレットを求めて、自身のデータベース１１８を検索する。
【００５７】
段階９０６において、アプレットサーバー１１０は、代替アプレットのリストを生成する。アプレットサーバー１１０は、段階９０４において実行されたデータベース照会の結果を得て、かつ、このデータから代替アプレットのリストを生成する。段階９０８において、アプレットサーバー１１０は、リストが空白であるか否かとは無関係に、代替アプレットのリストを、顧客のコンピュータ１７０へ送信する。リストが送信された後に、プロセス９００は終了する。
【００５８】
代替的実施例において、セキュリティレベルを、アプレットの費用に結びつけることができる。換言すれば、アプレットにより通常は要求されるよりも低いセキュリティレベルをセキュアプロセッサ１８０が有していれば、顧客は、セキュアプロセッサ１８０においてアプレットを受信するために、より高い料金を支払う必要があり得る。従って、顧客は、低いセキュリティレベルでアプレットを用いるための手数料を支払う。
【００５９】
代替的実施例において、アプレット２００の費用を、該アプレットにより提供されるセキュリティレベルに結びつけることができる。より高いセキュリティサービスほど、より高いレベルのサービス無欠性を提供するので、顧客は、よりセキュアなサービスのため、より高い料金を支払う必要があり得る。
【００６０】
他の代替的実施例において、実行される会計監査の量により、等価なセキュリティレベルを割り当てることができる。システム内における会計監査の量が多いほど、要求されるセキュリティレベルも高い。セキュリティハードウェアおよびセキュリティソフトウェアの検証を専門に扱う独立的なサードパーティー企業は、セキュアプロセッサおよびアプレットに、セキュリティレベルを独立的に割り当てることができる。評判が良くかつ業界において信頼を受けたサードパーティーに、環境および関連サービスを検証させることにより、より高い認証レベルを提供することが可能であり、さらに、サービスの責任を分散するために、保険金または他の引受業務（underwriting）を提供することが可能である。
【００６１】
アプレット発行業者が自分たちのリソースおよびセキュリティの必要条件を指定する能力と、ハードウェアプロバイダが自分たちのセキュアプロセッサにより提供されるリソースおよびセキュリティレベルを指定する能力と、ユーザーが自分たちの優先権についての最小限のセキュリティの必要条件を指定する能力とによって、多者間（multi-party）商取引形式からなる多様なセットについての全ての必要条件を満たすカスタマイズされたセキュアな実行能力を、顧客のコンピュータ上で生じさせることが可能である。
【図面の簡単な説明】
【００６２】
【図１】アプレットサーバーからアプレットをダウンロードするためのシステムを示すブロック図である。
【図２Ａ】アプレットの構造を示すブロック図である。
【図２Ｂ】アプレットの構造を示すブロック図である。
【図２Ｃ】アプレットの構造を示すブロック図である。
【図３】アプレットのインストールおよび実行プロセスを示すフローチャートである。
【図４】第１アプレットの検証を、より詳細に示すフローチャートである。
【図５】アプレットの実行可能部分の検証を、より詳細に示すフローチャートである。
【図６】アプレットの実行可能部分の実行を、より詳細に示すフローチャートである。
【図７】アプレットを求める要請に対する、アプレットサーバーの応答を示すフローチャートである。
【図８】解読鍵を求める要請に対する、アプレットサーバーの応答を示すフローチャートである。
【図９】代替アプレットを求める要請に対する、アプレットサーバーの応答を示すフローチャートである。
【符号の説明】
【００６３】
１１０  アプレットサーバー
１２０  認可された認証局
１１２，１２２，１７２，１９２  ＣＰＵ
１１４，１２４，１７４，１９４  データ記憶装置
１１６，１２６，１７６，１９６  ネットワークインターフェース
１１８，１２８，１７８，１９８  データベース
１３０、１４０，１６０，１９９  ネットワーク接続
１５０  通信ネットワーク
１７０  顧客のコンピュータ
１８０  セキュアプロセッサ
１８２  独自のユニット識別子
１９０  認証局システム
２００  アプレット
２０２  メタデータ部分
２０４  実行可能部分
２０６  認証部分
２１２  セキュリティ・メタデータ部分
２１４  リソース・メタデータ部分
２１６  メタデータ署名部分
２２２  暗号化された実行可能部分
２２４  実行可能署名部分
【図１】
2005505028.tif 000003
【図２Ａ】
2005505028.tif 000004
【図２Ｂ】
2005505028.tif 000005
【図２Ｃ】
2005505028.tif 000006
【図３】
2005505028.tif 000007
【図４】
2005505028.tif 000008
【図５】
2005505028.tif 000009
【図６】
2005505028.tif 000010
【図７】
2005505028.tif 000011
【図８】
2005505028.tif 000012
【図９】
2005505028.tif 000013
【国際公開パンフレット】
2005505028.tif 000014
2005505028.tif 000015
2005505028.tif 000016
2005505028.tif 000017
2005505028.tif 000018
2005505028.tif 000019
2005505028.tif 000020
2005505028.tif 000021
2005505028.tif 000022
2005505028.tif 000023
2005505028.tif 000024
2005505028.tif 000025
2005505028.tif 000026
2005505028.tif 000027
2005505028.tif 000028
2005505028.tif 000029
2005505028.tif 000030
2005505028.tif 000031
2005505028.tif 000032
2005505028.tif 000033
2005505028.tif 000034
2005505028.tif 000035
2005505028.tif 000036
2005505028.tif 000037
2005505028.tif 000038
2005505028.tif 000039
2005505028.tif 000040
2005505028.tif 000041
2005505028.tif 000042
2005505028.tif 000043
2005505028.tif 000044
2005505028.tif 000045
2005505028.tif 000046
2005505028.tif 000047
【国際調査報告】
2005505028.tif 000048