(57)【要約】【課題】データ処理システムにおける暗号化技術の実施に高い信頼性を与えるシステムと方法を提供すること。【解決手段】データ処理システムにおける暗号化技術の信頼性の高い実施のためのシステムと方法により、データ処理システムは、プライバシーが信頼できる方法で保護されているとの信用できるステートメントを伝えることができる。本発明ではまた、暗号化技術を実装するデータ処理システムのプライバシー認証と定期的点検のための標準化されたスキームを確立することにより、暗号化技術の信頼できる実施を実現する。認証と点検のスキームは、暗号化、改ざん顕示型コンピューティングおよびランタイムセキュリティエンフォースメント等の他の技術と組み合わせることもできる。【選択図】図２
2006174466.tif 000002
【特許請求の範囲】
【請求項１】
暗号化技術を有し、第二のコンピュータと通信する第一のコンピュータと、
前記第一のコンピュータ上に前記暗号化技術が実装されていることを確認する認証装置であって、前記第一のコンピュータ上の前記暗号化技術の実装に関し、認証が前記第二のコンピュータに伝えられる認証装置と
を備えたことを特徴とするシステム。
【請求項２】
前記第一のコンピュータはハードウェアであり、前記暗号化技術は前記ハードウェアの機密保護を実現することを特徴とする請求項１に記載のシステム。
【請求項３】
前記第一のコンピュータはソフトウェアであり、前記暗号化技術は前記ソフトウェアの機密保護を実現することを特徴とする請求項１に記載のシステム。
【請求項４】
前記暗号化技術は、暗号で保護されたデータを提供することを特徴とする請求項１に記載のシステム。
【請求項５】
前記暗号化技術は、改ざん顕示型ソフトウェアを提供することを特徴とする請求項１に記載のシステム。
【請求項６】
前記暗号化技術は、改ざん顕示型ハードウェアを提供することを特徴とする請求項１に記載のシステム。
【請求項７】
前記暗号化技術は、ランタイムセキュリティエンフォースメントを提供することを特徴とする請求項１に記載のシステム。
【請求項８】
前記認証装置は、前記第二のコンピュータに前記認証を伝えることを特徴とする請求項１に記載のシステム。
【請求項９】
前記認証装置は、第三者認証装置であることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記認証装置は、前記第一のコンピュータおよび前記第二のコンピュータのうちの一方にとってローカルであることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記第一のコンピュータはサーバであり、前記第二のコンピュータは前記第一のコンピュータのクライアントであることを特徴とする請求項１に記載のシステム。
【請求項１２】
前記第二のコンピュータはサーバであり、前記第一のコンピュータは前記第二のコンピュータのクライアントであることを特徴とする請求項１に記載のシステム。
【請求項１３】
暗号で保護されたデータを提供することに基づく第一の暗号化技術と、
機密保護されたソフトウェアを提供することに基づく第二の暗号化技術と、
機密保護されたハードウェアを提供することに基づく第三の暗号化技術と、
前記第一、第二、第三の暗号化技術が前記システム上に実装されていることを確認する認証装置と、
を備えたことを特徴とするシステム。
【請求項１４】
前記認証装置は、前記第一、第二、第三の暗号化技術の実装に関する認証を、前記システムと通信するコンピュータに供給することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記第一、第二、第三の暗号化技術のうちの少なくとも一つが、ランタイムセキュリティエンフォースメントを提供することを特徴とする請求項１３に記載のシステム。
【請求項１６】
コンピュータ上のソフトウェアが暗号化技術を含むことを検証するステップと、
前記コンピュータ上のハードウェアが暗号化技術を含むことを検証するステップと、
前記コンピュータ上の前記ハードウェアとソフトウェアが暗号化技術を含むことを示す認証を送るステップと、
を有することを特徴とする方法。
【請求項１７】
前記認証は暗号化されていることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記認証を送るステップは、前記認証を前記コンピュータのクライアントに送ることであることを特徴とする請求項１６に記載の方法。
【請求項１９】
前記認証を送るステップは、前記コンピュータのクライアントからの前記認証を前記コンピュータに送ることであることを特徴とする請求項１６に記載の方法。
【請求項２０】
前記コンピュータは暗号で保護されたデータを含むことを特徴とする請求項１６に記載の方法。
【請求項２１】
前記コンピュータは改ざん顕示型ソフトウェアを含むことを特徴とする請求項１６に記載の方法。
【請求項２２】
前記コンピュータは改ざん顕示型ハードウェアを含むことを特徴とする請求項１６に記載の方法。
【請求項２３】
前記コンピュータは、ランタイムセキュリティエンフォースメントを含むことを特徴とする請求項１６に記載の方法。
【請求項２４】
第三者認証装置からの認証を提供するステップをさらに有することを特徴とする請求項１６に記載の方法。
【請求項２５】
前記コンピュータからデータを受け取るステップをさらに有し、前記認証は前記データの使用に関する条件を含むことを特徴とする請求項１６に記載の方法。
【請求項２６】
前記条件は、前記データの削除であることを特徴とする請求項２５に記載の方法。
【請求項２７】
前記条件との適合性を検証するステップをさらに有することを特徴とする請求項２５に記載の方法。
【請求項２８】
コンピュータ上のソフトウェアが暗号化技術を含むことを検証するステップと、
前記コンピュータ上のハードウェアが暗号化技術を含むことを検証するステップと、
前記コンピュータ上の前記ハードウェアとソフトウェアが暗号化技術を含むことを示す認証を作成するステップと
を実行するためのコンピュータ実行可能命令を記録したことを特徴とするコンピュータ読取可能媒体。
【請求項２９】
前記認証を第二のコンピュータに送るステップを実行するためのコンピュータ実行可能命令をさらに記録したことを特徴とする請求項２８に記載のコンピュータ読取可能媒体。
【請求項３０】
第二のコンピュータ上の暗号化技術の実装についての認証に対する第一のコンピュータからの要求を送るステップと、
前記第一のコンピュータで前記認証を受け取るステップと
を有することを特徴とする方法。
【請求項３１】
前記第一のコンピュータにおいて、前記認証の信頼性を検証するステップをさらに有することを特徴とする請求項３０に記載の方法。
【請求項３２】
前記第一のコンピュータ上にあるデータの使用に関する条件を設定するステップと、
前記第一のコンピュータからのデータを前記第二のコンピュータに送るステップと、
をさらに有することを特徴とする請求項３０に記載の方法。
【請求項３３】
前記条件は前記データの削除であることを特徴とする請求項３２に記載の方法。
【請求項３４】
前記条件は、前記データに含まれるプライベート情報を秘密に保つよう求めることを特徴とする請求項３２に記載の方法。
【請求項３５】
前記第一のコンピュータはサーバであり、前記第二のコンピュータは前記第一のコンピュータのクライアントであることを特徴とする請求項３０に記載の方法。
【請求項３６】
前記第二のコンピュータはサーバであり、前記第一のコンピュータは前記第二のコンピュータのクライアントであることを特徴とする請求項３０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータデータ処理に関し、特にデータ処理における暗号化技術の実施に関する。
【背景技術】
【０００２】
暗号化技術は、コンピュータソフトウェアおよびハードウェアがデータ機密性を確保するための方針に従って動作することを保証することにより、データ処理の機密性を提供するために使用されている。このような技術には、たとえば、暗号化、改ざん顕示型（tamper evident）コンピューティングシステムまたはランタイムセキュリティ実装メカニズム等がある。しかしながら、暗号化技術を実装するだけでは、信頼性の高いデータ処理システムを構築することはできず、機密性を確保できない場合がある。信頼性の高いシステムを構築するためには、暗号化技術に、その技術が確実に実行されるという保証を組み合わせるべきである。暗号化技術が実行されることが保証されていれば、プライバシー保護について信用できるステートメントを発行できる。このステートメントが信用できるのは、暗号化技術支援の実行が、他のエンティティまたはシステムとの相互作用によって技術が変更されていない、あるいは今後も変更されないことを保証するからである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
プライバシーを保護し、暗号化技術とそれによって保護されるシステムの機能が低下しないようにするのは難しいであろう。データ処理環境では、情報が容易に複製され、広められうる。プライバシーを保護するためには、現在のものだけでなく、過去および将来の情報形態も管理すべきである。しかしながら、コンピュータシステムの複雑さにより、その過去と将来の挙動を推測することは難しい。ある時点で、（たとえば、慎重な物理的点検や管理された構成によって）すでにわかっている良い挙動を示すソフトウェア（そのソフトウェアだけ）がコンピュータシステム上で動作することを証明できたとしても、それが過去においても適正に動作しており、将来も適正な動作を続けることを保証するのは不可能である。この問題は、データ処理がネットワーク化された汎用コンピュータ上で実行される場合、より深刻となる。コンピュータが継続的に情報の複製を作り、おそらくたとえば管理者やバックアップオペレータ等の関係者に提供するだけでなく、ネットワークコンピュータは、いずれもプライバシーを損なう可能性のあるワーム、ウイルスまたは単純なオペレータのエラー等による、悪意の、または不注意による危険にさらされている。プライバシーを保護することが困難となりえ、したがって、データ処理システムにおけるプライバシー保護の信頼性について、信用できるステートメントを行うことが難しいかもしれない。
【０００４】
そこで、データ処理システムにおける、たとえばこのようなシステムの中に実装される暗号化技術の信頼性の高い実行を含めた、信用できる信頼性の高いプライバシー保護が必要である。
【課題を解決するための手段】
【０００５】
本発明は、データ処理システムにおける暗号化技術の信頼性の高い実行のためのシステムと方法を含む。本発明により、データ処理システムは、プライバシーが信頼できる方法で保護されているという信用できるステートメントを伝えることが可能となる。本発明には、暗号化技術を実装するデータ処理システムの初期プライバシー認証とその後の定期的点検に関する標準化されたスキームを確立することにより、暗号化技術の信頼性の高い実行を実現することが含まれる。認証と点検という形態は、暗号化、改ざん顕示型コンピューティングおよびランタイム保護等、他の技術と組み合わせてもよい。
【０００６】
本発明により、データ処理システムは、関係者に対し、暗号化技術が実装され、実行されているという信用できる信頼性の高いステートメントを発行することができる。本発明により、このようなシステムのエンドユーザは、システムの信頼性を信用することができ、したがって、ユーザとしてそのシステムに参加したいと考えるようになる。本発明の方法によれば、データ処理システムの物理的セキュリティ特性と改ざんの証拠により、異なるエンティティが、たとえばネットワーク上に物理的に分散されているか、あるいはバックアップや復元サイクル等によって一時的に分散されていたとしても、システムへの信用を確立することができる。物理的な観察や検証が実現不可能な場合（たとえば、物理的に分散されたシステムの場合等）、本発明では、物理的な点検や検証を信用できる認証または統制機関に委ねることができる。
【発明を実施するための最良の形態】
【０００７】
上記の概要および以下の実施形態の詳細説明は、添付の図面を参照しながら読むとより理解しやすい。本発明を説明するために、図には本発明の構成例が示されているが、本発明は開示されている具体的な方法や手段に限定されない。
【０００８】
（コンピューティング環境の例）
図１と以下の説明は、本発明の実施形態が実現されるのに適したコンピューティング環境を簡単に概説するものである。しかしながら、ハンドヘルド、ポータブルおよびあらゆる種類のその他のコンピューティング装置を本発明と関連して使用できると理解すべきである。以下に、汎用コンピュータについて述べられているが、これは一例にすぎない。本発明はまた、ネットワークサーバとの相互運用性と相互作用を有する小型軽量クライアント上でも実現できる。このため、本発明の実施形態は、クライアント装置が単にＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂとのブラウザまたはインタフェースとして機能するネットワーク環境等、クライアント資源がほとんど関係しない、あるいはわずかしか関係しないネットワークホストサービスの環境においても実現できる。
【０００９】
必要条件ではないが、本発明は、開発者や試験者が使用するように、アプリケーションプログラミングインタフェース（ＡＰＩ）を通じて実現でき、および／またはネットワークブラウジングソフトウェア中に含めることもでき、これについては、１台または複数のコンピュータ（たとえば、クライアントワークステーション、サーバまたはその他の装置）によって実行されるプログラムモジュール等のコンピュータ実行可能命令という一般的文脈で後述する。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データストラクチャその他を含む。一般に、プログラムモジュールの機能性は、各種の実施形態において、希望に応じて結合または分散される。さらに、当業者は、本発明を他のコンピュータシステム構成でも実現することができると理解するであろう。本発明で使用するのに適した、上記以外の周知のコンピューティングシステム、環境および／または構成には、これらに限定されないが、パーソナルコンピュータ（ＰＣ）、現金自動預け払い機、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能民生用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ等がある。本発明の実施形態はまた、タスクが、通信ネットワークまたはその他のデータ伝送媒体を通じて連結されたリモート処理装置によって実行される分散型コンピューティング環境においても実現できる。分散型コンピューティング環境において、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体のどちらにも位置づけることができる。
【００１０】
以上のように、図１は本発明を実現できる、適当なコンピューティングシステム環境の一例１００を示すが、前述のように、コンピューティングシステム環境１００は適当なコンピューティング環境の一例に過ぎず、本発明の用途または機能性の範囲に関して、いかなる限定も示唆しない。また、コンピューティング環境１００に、一例であるオペレーティング環境１００に示されているコンポーネントの中の１つまたはいくつかの組み合わせに関して、何らかの依存性または要求事項があると解釈すべきではない。
【００１１】
図１を参照すると、本発明を実現するためのシステムの一例は、コンピュータ１１０の形態をとる汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントには、たとえば、処理装置１２０、システムメモリ１３０および、システムメモリ等の各種のシステムコンポーネントを処理装置１２０に結合するシステムバス１２１がある。システムバス１２１は、メモリバスまたはメモリコントローラ、周辺バスおよび、各種のバスアーキテクチャのいずれかを使用したローカルバスを含む各種のバスストラクチャのいずれでもよい。たとえば、これらに限定されないが、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバスおよびＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニンバスとも呼ばれる）等がある。
【００１２】
コンピュータ１１０は通常、各種のコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０がアクセスできる、入手可能ないかなる媒体でもよく、揮発性および不揮発性、取り外し可能および固定の媒体の両方を含む。たとえば、これらに限定されないが、コンピュータ読取可能媒体には、コンピュータ記憶媒体と通信媒体がある。コンピュータ記憶媒体には、コンピュータ読取可能命令、データストラクチャ、プログラムモジュールまたはその他、データ等の情報を記憶するためのいずれかの方法や技術によって実現される揮発性および不揮発性、取り外し可能および固定の媒体がある。コンピュータ記憶媒体には、これらに限定されないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたはその他のメモリ技術、コンパクトディスクリードオンリーメモリ（ＣＤＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）またはその他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに使用でき、コンピュータ１１０がアクセス可能なその他の媒体がある。通信媒体は通常、コンピュータ読取可能命令、データストラクチャ、プログラムモジュールまたは、搬送波あるいはその他の伝送媒体等の変調データ信号における他のデータを具体化するもので、あらゆる情報伝達媒体を含む。「変調データ信号」との用語は、その特徴のひとつまたは複数が、その信号の中の情報を暗号化するように設定または変更されている信号を意味する。たとえば、これらに限定されないが、通信媒体は、有線ネットワークまたは直接配線（ダイレクトワイヤード: direct-wired）接続等の有線媒体と、音響、無線周波数（ＲＦ）、赤外線その他の無線媒体等の無線媒体を含む。上記のいずれかを組み合わせたものも、コンピュータ読取可能媒体の範囲に含まれるものとする。
【００１３】
システムメモリ１３０は、ＲＯＭ１３１およびＲＡＭ１３２等の揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等、コンピュータ１１０内のエレメントの間の情報伝達に役立つ基本的ルーチンを含むベーシック入出力システム１３３（ＢＩＯＳ）は通常、ＲＯＭ１３１に記憶される。ＲＡＭ１３２は通常、処理装置１２０が即座にアクセスでき、および／または現在動作させられているデータおよび／またはプログラムモジュールを含む。たとえば、これらに限定されないが、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６およびプログラムデータ１３７が示されている。ＲＡＭ１３２は、他のデータおよび／またはプログラムモジュールを含んでいてもよい。
【００１４】
コンピュータ１１０はまた、上記以外の取り外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体を含んでいてもよい。例にすぎないが、図１には、固定の不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、取り外し可能な不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、ＣＤ  ＲＯＭその他の光媒体等の取り外し可能な不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５が示されている。上記以外にも、図のオペレーティング環境の例において使用できる取り外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体には、これらに限定されないが、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭその他がある。ハードディスクドライブ１４１は通常、インタフェース１４０等の固定のメモリインタフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０等の取り外し可能メモリインタフェースによってシステムバス１２１に接続されている。
【００１５】
上で説明し、図１に示したドライブとこれに関連するコンピュータ記憶媒体は、コンピュータ１１０のためのコンピュータ読取可能命令、データストラクチャ、プログラムモジュールおよびその他のデータの記憶装置となる。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、プログラムデータ１４７を記憶しているように描かれている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、プログラムデータ１３７と同じでも異なってもよいことに注意されたい。本願においては、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６およびプログラムデータ１４７に、少なくともこれらが異なるコピーであることを示すために、異なる番号が付与されている。ユーザは、キーボード１６２および一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス１６１を通じて、コンピュータ１１０にコマンドや情報を入力できる。これ以外の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナその他がある。これらおよびその他の入力装置はしばしば、システムバス１２１に連結されたユーザ入力インタフェース１６０を通じて処理装置１２０に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）等のその他のインタフェースやバスストラクチャによって接続してもよい。
【００１６】
モニタ１９１またはその他の種類のディスプレイ装置も、ビデオインタフェース１９０等のインタフェースを通じてシステムバス１２１に接続される。モニタ１９１に加え、コンピュータは、スピーカ１９７およびプリンタ１９６等の他の周辺出力装置を備えていてもよく、これらは、出力周辺インタフェース１９５を通じて接続されていてもよい。
【００１７】
コンピュータ１１０は、リモートコンピュータ１８０等、１台または複数のリモートコンピュータとの論理接続を使ったネットワーク環境において動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置またはその他の一般的ネットワークノードであってもよく、一般に、コンピュータ１１０に関連してすでに説明した要素の多くまたは全部を備えているが、図１ではメモリ記憶装置１８１だけが描かれている。図１の論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含んでいてもよい。このようなネットワーキング環境は、オフィスや、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００１８】
ＬＡＮネットワーキング環境において使用された場合、コンピュータ１１０はネットワークインタフェースすなわちアダプタ１７０を通じてＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境において使用された場合、コンピュータ１１０は通常、モデム１７２または、インターネット等のＷＡＮ１７３上で通信を確立するためのその他の手段を備える。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インタフェース１６０またはその他の適当なメカニズムを通じてシステムバス１２１に接続されていてもよい。ネットワーク環境において、コンピュータ１１０に関連して説明したプログラムモジュールまたはその一部が、リモートメモリ記憶装置に記憶されているかもしれない。たとえば、これらに限定されないが、図１では、リモートアプリケーションプログラム１８５がメモリ装置１８１上にあるように描かれている。図のネットワーク接続は例であり、コンピュータ間の通信を確立するためのその他の手段も利用できることが理解されるであろう。
【００１９】
当業者であれば、コンピュータ１１０またはその他のクライアント装置をコンピュータネットワークの一部として配置することができると理解できる。この点で、本発明は、あらゆる数のメモリまたは記憶ユニットを有し、あらゆる数の記憶ユニットまたは記憶ボリューム上であらゆる数のアプリケーションと処理を発生させることのできるコンピュータシステムに関係する。本発明の実施形態は、リモートまたはローカル記憶装置を有する、ネットワーク環境に配置されたサーバコンピュータおよびクライアントコンピュータを含む環境に適用することができる。本発明はまた、プログラミング言語機能、通訳、実行機能を有するスタンドアロン型コンピューティング装置にも適用できる。
【００２０】
（実施形態）
図２は、データ処理における暗号化技術の信用できる信頼性の高い実行を実現するシステムの例２００のブロック図である。システム２００は、クライアント２１０、サーバ２２０、第三者認証装置２３０を含むかもしれない。クライアント２１０とサーバ２２０は１台または複数のコンピュータであってよく、その各々は図１に関してすでに説明したコンピュータ１１０とすることができる。クライアント２１０とサーバ２２０は、ネットワークを通じて通信可能に連結されていてよく、このネットワークは、ローカルエリアネットワーク（ＬＡＮ）または、たとえばインターネット等の広域ネットワーク（ＷＡＮ）でよい。あるいは、クライアント２１０は、直接接続を通じてサーバ２２０と通信し、ネットワークを通じて２２０に通信可能に連結されている場合と、連結されていない場合がある。第三者認証装置２３０は、サーバ２２０の付近に物理的に配置されるか、あるいはその他の方法でサーバ２２０を観察する。
【００２１】
クライアント２１０とサーバ２２０は、データを処理し、相互にデータを交換する。システム２００が備えるクライアントやサーバはいくつでもよい。サーバ２２０は、サーバ２２０上のソフトウェアが確実に機密保護され、期待通りに動作するようにするための暗号化技術を備えている。この技術はまた、サーバのハードウェアが確実に機密保護され、ハードウェアの保全性が確保されるようにするために暗号鍵を用いる。このような暗号化技術には、暗号化インフラストラクチャ２２１、改ざん顕示型ソフトウェアおよびハードウェア２２２、ランタイムセキュリティエンフォースメント２２３等がある。
【００２２】
暗号化インフラストラクチャ２２１は、当業者によく知られたインフラストラクチャであってよく、関係者が暗号によって保護されたステートメント、データまたは証明を作成するのを可能にする。改ざん顕示型ソフトウェアおよびハードウェア２２２により、サーバ２２０のソフトウェアとハードウェアが物理的に点検され、データ処理システムが改ざんされておらず、信頼できるもののままであることを確認することが可能となる。このような改ざん顕示型ソフトウェアおよびハードウェア２２２は、当業者の間で周知である。ランタイムセキュリティエンフォースメント２２３は、たとえば安全な起動、アプリケーションの立ち上げ、認証、シールドストレージ、立ち上げまたは起動後のソフトウェアコードの変更等の外的影響からの保護を実現するハードウェアまたはソフトウェアのためのメカニズムとすることができる。このようなランタイムセキュリティエンフォースメント２２３は、当業者の間で周知である。
【００２３】
暗号化技術のより具体的な例としては、暗号化されたメインメモリ、ハードウェアの秘密を保護するトラステッドフィジカルモジュール（ＴＰＭ：ｔｒｕｓｔｅｄ  ｐｈｙｓｉｃａｌ  ｍｏｄｕｌｅ）、安全な起動と、ソフトウェアの保全性をハードウェアに基づいて実現するハードウェアルートオブトラスト（ｈａｒｗａｒｅ−ｒｏｏｔ−ｏｆ−ｔｒｕｓｔ）、シールドストレージを提供するハードウェアルートオブトラストと暗号化を組み合わせたもの、ライセンスに基づく秘密保護とソフトウェア保全性をソフトウェアに基づいて実現するインフォメーションライツマネジメント（ＩＲＭ：ｉｎｆｏｒｍａｔｉｏｎ  ｒｉｇｈｔｓ  ｍａｎａｇｅｍｅｎｔ）またはデジタルライツマネジメント（ＤＲＭ：ｄｉｇｉｔａｌ  ｒｉｇｈｔｓ  ｍａｎａｇｅｍｅｎｔ）、ハードウェア、ソフトウェア、ライセンス、ユーザとロールの識別を可能にする暗号鍵の管理および認証スキーム、アクセス制御およびその他データ使用制限等がある。管理および認証スキームは、秘密共有、公開鍵インフラストラクチャ（ＰＫＩ：  Ｐｕｂｌｉｃ−Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅｓ）、鍵配布センタ（ＫＤＣ：Ｋｅｙ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｃｅｎｔｅｒｓ）、またはライセンスおよびポリシー記述言語に基づくものとすることができる。これらは、ハードウェアとソフトウェアのセキュリティを確保するための暗号化技術の例にすぎず、そのほかにもこのような技術がある。
【００２４】
第三者認証装置２３０は、サーバ２２０上に実装されるとする暗号化技術が確実にサーバ２２０上に実装されるようにし、これを証明する責任を負う。第三者認証装置２３０は、たとえば、サーバ２２０上のソフトウェアとハードウェアが保護され、予定通りの方法で機能することを検証する。もちろん、第三者認証装置２３０等の認証装置は、サーバ２２０等のサーバに加え、クライアントや他のコンピュータ上に実装された暗号化技術を検証することもある。
【００２５】
第三者認証装置２３０は、より具体的には、認証２３１および点検２３２の機能を実行することができる。第三者認証装置２３０は、暗号化を使ってサーバ２２０を認証することができる。認証２３１の機能には、暗号化技術（たとえば、暗号化インフラストラクチャ２２１、改ざん顕示型ハードウェアおよびソフトウェア２２２およびランタイムセキュリティエンフォースメント２２３）のサーバ２２０上への実装に対する初期検証が含まれる。認証機能にはまた、関係者（たとえば、クライアント２１０）に対し、そのような技術が実装されていることを証明することも含まれる。第三者認証装置２３０またはサーバ２２０は、クライアント２１０またはクライアント２１０のユーザに対し、暗号化技術がサーバ２２０上で使用、実現されているとの信用できる信頼性の高いステートメントを提示することができる。このステートメントは、認証の形態とすることができる。認証は、機械証明書であっても、クライアント２１０が認証を復号化し、その信頼性を検証するように暗号化されていてもよい。クライアント２１０はまた、たとえば証明書の信頼性を検証するソフトウェアを含むことができる。
【００２６】
証明書は、実行される暗号化技術のリストを含むことができ、暗号化技術のバージョンに関する詳細、インストールの日付、認証の日付およびフォローアップ点検の日付を含むことができる。証明書はまた、たとえば、鍵による検証が可能なハードウェアまたは鍵で署名されたソフトウェアも含む。証明書は、クライアント２１０によって供給されるデータの使用に適用される条件に関するポリシーを含むことができる。つまり、証明書は、クライアント２１０によって供給されるデータがどのように使用されるか、使用後に廃棄されるか否か等を詳細に記すことができる。さらに、証明書には、上記以外の環境情報を明記することができる。
【００２７】
サーバ２２０の初期監査に加え、第三者認証装置２３０はまた、事後点検２３２の機能を実行する責任を負う。点検２３２の機能には、標準化されたスキームにしたがって、サーバ２２０上で動作する、あるいは動作することになっている暗号化技術が実際に正しく動作していることを確認するために、サーバ２２０の定期的点検を行うことが含まれる。点検２３２の機能には、そのハードウェアとソフトウェアを含むサーバ２２０の物理的点検を含むことができる。さらに、点検２３２の機能には、サーバ２２０上に実装された暗号化技術を含め、サーバ２２０の動作試験や点検が含まれる。
【００２８】
システム２００の一例は、クライアント２１０上のエンドユーザが、サーバ２２０に送信されるデータの発生源であり、その答えがユーザによって提供されるデータに依存するクエリの発生源でもあるようなシステムとすることができる。このようなシステムにおいて、サーバ２２０は、ユーザ自身が実行できないデータへのデータ処理サービスを提供することができる。さらに、このようなシステムは、クライアント２１０上のエンドユーザが（たとえば、企業秘密であるとの理由により）利用できない専有的なアルゴリズムを使用するデータ処理サーバ２２０を含むことができる。さらに、システム２００において、クライアント２１０は、クライアント２１０がサーバ２２０に送信するすべてのデータを、クライアント２１０がデータ処理の結果を受け取ったら削除することを要件にすることができる。第三者認証装置２３０は、初期認証２３１の機能の実行中に、サーバ２２０がこのような削除を行うように設定されていることを確認する。さらに点検機能２３２は、第三者認証装置２３０に対し、定期的にサーバ２２０を点検し、クライアントデータが適正に使用され、その後削除されたことを検証する機会を提供することができる。
【００２９】
システム２００はさらに、たとえば、協調フィルタリング（たとえば、趣味や好みがどのように関係しているかのネットワークを構築する）のためのシステムや、取引の知識を構築するためのシステムおよび、クライアント２１０等のクライアントが慎重な取り扱いを必要とする情報をサーバ２２０に提供し、蓄積されたその情報から、ユーザが好むかもしれない付加的な事柄等、データに直接含まれないトピックに関するユーザの好みを知ることができる他のシステムを含むことができる。システム２００は、クライアント２１０のユーザが、データは所定の条件に従って扱われるという確信を得ると共に、サーバ２２０とプライベートな、あるいはその他慎重な扱いを必要とするデータの共有を信頼することを可能にする。
【００３０】
図３は、本発明の一実施形態による、ある会社３０５の内部のデータ処理における暗号化技術の信用できる信頼性の高い実施を提供するためのシステム３００の一例のブロック図である。会社３０５は、１台または複数の社員用コンピュータ３１０、会社サーバ３２０、データベース３２５、会社認証装置３３０を備えているかもしれない。図にはクライアント３４０も示されており、会社３０５と相互作用している。社員用コンピュータ３１０、会社サーバ３２０およびクライアント３４０は１台または複数のコンピュータで、それぞれ図１に関してすでに説明したコンピュータ１１０とすることができる。社員用コンピュータ３１０と会社サーバ３２０は、直接または通信可能に接続されている。クライアント３４０と会社サーバ３２０は、ネットワークを通じて通信可能に接続されていてもよく、このネットワークは、たとえばＬＡＮまたはＷＡＮでもよい。会社認証装置３３０は、社員用コンピュータ３１０と会社サーバ３２０の付近に物理的に配置されているかもしれない。会社認証装置３３０は、社員用コンピュータ３１０と会社サーバ３２０を観察することができる。
【００３１】
社員用コンピュータ３１０と会社サーバ３２０は、データを処理し、相互にデータ交換することができる。データは、データベース３２５に記憶することができる。社員用コンピュータ３１０と会社サーバ３２０は、暗号化インフラストラクチャ３１１，３２１、改ざん顕示型ソフトウェアおよびハードウェア３１２，３２２、ランタイムセキュリティエンフォースメント３１３，３２３のような、図２に関してすでに説明した暗号化技術を含むことができる。
【００３２】
クライアント３４０は、クライアント３４０のユーザがプライベートであると考える情報を（会社サーバ３２０を通じて）会社３０５に伝えるかもしれない。暗号化技術を実装し、会社認証装置３３０を通じてその技術を実行することにより、クライアント３４０のユーザはプライベートデータが会社３０５内でプライベートのままであり、あるいは所定の条件に従って処分されるとの確信を得ることができる。たとえば、会社３０５は、何らかのタスクが完了したところで、データからプライベート情報を削除し、あるいはデータ全体を削除することに同意することができる。
【００３３】
会社認証装置３３０は、上記の認証３３１と点検３３２の機能を実行して暗号化技術が実装されていること確認し、その暗号化技術に関する情報をクライアント３４０に提供することができる。システム３００において、会社認証装置３３０は、暗号化技術が会社サーバ３２０と社員用コンピュータ３１０の両方に実装されていることを確認することができる。会社認証装置３３０は、次に、会社サーバ３２０を通じて、あるいはその他の方法により、会社３０５内で暗号化技術が使用され、実行されているとの信用できる信頼性の高いステートメントを伝えることができる。このステートメントは、実行されている暗号化技術のリストを含み、前述のように、技術のバージョン、インストールの日付、認証の日付、フォローアップ点検の日付、ハードウェアおよびソフトウェアの鍵その他に関する詳細を含むことができる。ステートメントは認証の形態とすることができ、これは暗号化されていてもよい。クライアント３４０は、認証を復号化し、ステートメントの信頼性を確認する。
【００３４】
会社認証装置３３０は、プライバシー保護義務が果たされるような方法で、顧客データを管理するためのメカニズムを提供することができる。会社認証装置３３０を使用することにより、会社３０５は、プライベートデータの全部または一部を、会社の業務を遂行するために必要な部門または事業部に提供することも可能となる。
【００３５】
たとえば、データベース３２５は、会社３０５が、販売およびマーケティング業務、マーケットリサーチ、製品サポート、戦略企画等、顧客関係管理のために使用する顧客データを含んでいてもよい。会社３０５は、個人を特定できる情報の使用目的を、データ通信が行われたときに意図されていたものに限定することが求められる場合がある。会社３０５はまた、プライベートデータの使用に関し、クライアント３４０のユーザと明示的または暗黙的契約を持っている場合がある。インフォメーションライツマネジメント（ＩＲＭ）、デジタルライツマネジメント（ＤＲＭ）またはその他のシステムにより、会社３０５と会社認証装置３３０は、会社３０５の内部での顧客データの使用に対する制約を守ることができる。会社３０５は、ＩＲＭ、ＤＲＭまたはその他のシステムを使い、たとえば、メーリングリストが、住所ラベルを印刷するため、またはメールマージ動作以外の目的に使用されることを防止する。会社３０５は、メーリングリストの中の情報を、たとえば、メーリングリストの中の情報が使用できる回数を制限する、あるいは使用後にデータの削除を課す等によって保護することができる。会社認証装置３３０は、会社サーバ３２０と社員用コンピュータ３１０を点検し、メーリングリストが適正に使用され、削除されたことを確認することができる。
【００３６】
図４は、サーバ４２０からリモートロケーション４５０でのデータ処理における暗号化技術の信用できる信頼性の高い実施を提供するためのシステムの例４００のブロック図である。システム４００は、サーバ４２０、第三者認証装置４３０、リモートロケーション４５０を含むことができる。リモートロケーション４５０は、クライアント４１０と第三者認証装置４３０の代理機関４４０を含むことができる。クライアント４１０とサーバ４２０は１台または複数のコンピュータであってよく、その各々は図１に関してすでに説明したコンピュータ１１０とすることができる。クライアント４１０とサーバ４２０は、ネットワークを通じて通信可能に結合されることができる。あるいは、クライアント４１０は、リモートロケーション４５０にあるサーバ（図示せず）と通信していてもよく、このサーバはサーバ４２０と通信することができる。第三者認証装置４３０は、サーバ４２０の付近に物理的に配置されるか、あるいはその他の方法でサーバ４２０を観察することができる。第三者認証装置４３０の代理機関４４０は、リモートロケーション４５０に物理的に配置されるか、その他の方法でクライアント４１０を観察することができる。
【００３７】
クライアント４１０とサーバ４２０は、データを処理し、相互にデータ交換する。システム４００に含まれるクライアントとサーバの数はいくつでもよい。サーバ４２０とクライアント４１０は、ハードウェアとソフトウェアの保護を確実にするために、すでに説明した暗号化技術を備えることができる。このような暗号化技術には、たとえば、すでに説明したような暗号化インフラストラクチャ４２１，４１１、改ざん顕示型ソフトウェアおよびハードウェア４２２，４１２およびランタイムセキュリティエンフォースメント４２３，４１３がある。
【００３８】
第三者認証装置４３０は、すでに説明したように、認証４３１および点検４３２の機能を提供し、サーバ４２０に暗号化技術が実装されていることを確認し、伝えることができる。さらに、代理機関４４０は、クライアント４１０上にこのような技術が実装されていることを確認するために、同様な機能４４１，４４２を提供してもよい。このように、サーバ４２０とクライアント４１０は、相互によって暗号化技術が実装され、実行されているという信用できる保証の下、データ交換を行うことができる。
【００３９】
第三者認証装置４３０の代理機関４４０は、第三者認証装置４３０と、その認証４４１および点検４４２の機能を調整し、第三者認証装置４３０またはサーバ４２０のユーザが、代理機関４４０が信用されていると確信を持つことができるような関係を持っていてもよい。別の実施形態においては、代理機関４４０と第三者認証装置４３０の間には何の関係もないかもしれない。関係がない代わりに、代理機関４４０は、信用証明を有する、あるいはその他の方法でクライアント４４０またはサーバ４２０にそれが信用されていることを証明する、別の第三者認証装置であるかもしれない。
【００４０】
システムの一例４００は、クライアント４１０を有するリモートロケーション４５０として、パブリックライブラリを含む場合もある。クライアント４１０は、ユーザが、たとえばその電子メールをチェックするための、公共のアクセス可能なコンピュータかもしれない。サーバ４２０は、電子メールサーバであってもよい。サーバ４２０とユーザは、ユーザのデータが漏洩せず、電子メールまたはその他のプライベートデータが各セッション後にクライアント４１０から削除されることを確認するために、リモートロケーション４５０（たとえば、パブリックライブラリ）が暗号化技術を実装していることを確認することに関心を持つかもしれない。電子メールサーバ４２０は、リモートロケーション４５０が第三者認証装置４３０の代理機関４４０を備え、前述の認証４４１および点検４４２の機能を実施することを要求することができる。あるいは、電子メールサーバ４２０は、リモートロケーションがクライアント４１０上で実行している暗号化技術の実装を証明するために、第三者認証装置４３０に類似した自己の第三者認証装置を持つことを要求することができる。
【００４１】
図５は、データ処理における暗号化技術の信用できる信頼性の高い実行を提供するための方法５００の一例のフロー図である。ステップ５１０において、サーバはクライアントにデータを要求する。サーバから要求を受け取ると、ステップ５２０において、クライアントは暗号化技術の実装と実行に関する認証をサーバに要求する。クライアントは、このような認証がないと、サーバに要求されたデータを送信するのを拒否する。ステップ５３０において、サーバは機械認証、暗号化された認証またはその他の認証をクライアントに送信する。認証は、第三者認証装置、会社認証装置、第三者認証装置の代理機関または、サーバが暗号化技術を実装していることを監査し、確認することを担当するその他の実体によって提供されるかもしれない。
【００４２】
認証はたとえば、鍵または鍵で署名されたソフトウェアを備える検証可能なハードウェアを指すことがある。認証はまた、クライアントによって提供されたデータがどのように使用され、それが使用後に廃棄されるか否かに関するポリシーを含むことができる。さらに、認証は、環境情報も提供することができる。ステップ５４０において、クライアントは、サーバからの認証またはその他のステートメントを検討し、サーバが暗号化技術を実装し、実行していると結論を出し、要求されたデータをサーバに提供することができる。
【００４３】
もちろん、方法５００は、暗号化技術の信用できる信頼性の高い実行を提供するための一例にすぎない。本発明による別の実施形態においては、クライアントがサーバにデータを要求してもよく、この場合、クライアントは、図４についてすでに説明したシステム４００の場合と同様に、サーバに認証を提供する。
【００４４】
本願で紹介する各種の技術は、ハードウェアまたはソフトウェアに関連して、あるいは適当な場合はその両方を組み合わせたものにおいて実装することができる。このため、本発明またはその特定の態様または部分による方法と装置は、フロッピー（登録商標）ディスケット、        ＣＤ−ＲＯＭ、ハードドライブまたはその他の機械読取可能な記憶媒体等の有形媒体に具現化されているプログラムコード（つまり、命令）の形態をとることができ、この場合、プログラムコードが機械（たとえば、コンピュータ）にロードされ、機械によって実行されると、その機械が本発明を実行するための装置となる。プログラム可能なコンピュータ上でプログラムコードが実行される場合、コンピューティング装置は一般に、プロセッサ、プロセッサによって読取可能な記憶媒体（揮発性および不揮発性メモリおよび／または記憶エレメントを含む）、少なくとも１つの入力装置および少なくとも１つの出力装置を備える。たとえばデータ処理ＡＰＩその他の使用を通じて、本発明のドメイン別のプログラミングモデルの態様の作成および／または実装を利用する１つまたは複数のプログラムは、好ましくは、コンピュータシステムと通信するために、高水準手続型言語またはオブジェクト指向型プログラミング言語で実装される。しかしながら、プログラムは、希望に応じて、アセンブリまたは機械語で実装することもできる。いずれの場合も、言語はコンパイル型またはインタプリト型言語とすることができ、またハードウェア実装と組み合わせることもできる。
【００４５】
本発明を各種の図面に関連した具体的な例に関して説明したが、他の実施形態も使用でき、また、本発明から逸脱することなく、本発明と同じ機能を実行するために、紹介された実施形態を変更し、あるいはこれに追加することもできる。例は、本発明を説明するために挙げられたものであり、特許請求範囲で定義された本発明の範囲を一切限定するものではない。たとえば、図３に関して説明した会社認証装置３３０は、社員用コンピュータ３１０と会社サーバ３２０の両方を認証しても、あるいは社員用コンピュータ３１０だけを認証してもよい。また、たとえば、図２に関して説明した第三者認証装置２３０は、図３に関して説明したものと同様の会社認証装置であってもよい。さらに、たとえば、システム４００には証明者４３０がなくてもよい。要約すれば、本発明は、本明細書で紹介、説明された例には一切限定されない。したがって、本発明は、いずれの実施形態にも限定されるべきではなく、付属の特許請求範囲による広さと範囲で解釈すべきである。
【図面の簡単な説明】
【００４６】
【図１】本発明のいくつかの態様を実現できるコンピューティング環境の一例を示すブロック図である。
【図２】本発明によるデータ処理における暗号化技術の信用できる信頼性の高い実行を実現するシステムの一例を示すブロック図である。
【図３】本発明によるデータ処理における暗号化技術の信用できる信頼性の高い実行を実現する社内システムの一例を示すブロック図である。
【図４】本発明による、クライアントとサーバでのデータ処理における暗号化技術の信用できる信頼性の高い実行を実現するシステムの一例を示すブロック図である。
【図５】本発明によるデータ処理における暗号化技術の信用できる信頼性の高い実行を実現する方法の一例を示すフロー図である。
【図１】
2006174466.tif 000003
【図２】
2006174466.tif 000004
【図３】
2006174466.tif 000005
【図４】
2006174466.tif 000006
【図５】
2006174466.tif 000007
【外国語明細書】
2006174466000001.pdf