(57)【特許請求の範囲】
【請求項１】
ウェブコンテンツをセキュアに表示するためのコンピューティングデバイスであって、
前記ウェブコンテンツ内のユーザ認証タグ、第１のセキュアなウェブオブジェクトタグ及び第２のセキュアなウェブオブジェクトタグを検出するセキュリティモジュールであって、前記ユーザ認証タグは、許可されたユーザの生体認証データを識別し、前記第１のセキュアなウェブオブジェクトタグは、前記ウェブコンテンツ内の第１の暗号化されたウェブオブジェクトを識別し、前記第２のセキュアなウェブオブジェクトタグは、前記ウェブコンテンツ内の第２の暗号化されたウェブオブジェクトを識別する、セキュリティモジュールと、
当該コンピューティングデバイスの現在のユーザから生体データを受け取り、受け取った生体データ及び前記生体認証データに応じて、当該コンピューティングデバイスの前記現在のユーザを認証する、生体認識モジュールと、
前記現在のユーザが認証されていることに応答して、
前記認証された現在のユーザの秘密鍵を使用して、前記第１の暗号化されたウェブオブジェクトと関連付けてパッケージ化された第１の暗号化された対称鍵を暗号解除することにより、前記認証された現在のユーザが、前記第１の暗号化されたウェブオブジェクトの第１の暗号解除されたウェブオブジェクトを見ることを許可されるかどうか判断し、
前記認証された現在のユーザが前記第１の暗号解除されたウェブオブジェクトを見ることを許可されるとき、前記第１の暗号解除された対称鍵を使用して前記第１の暗号化されたウェブオブジェクトを暗号解除し、
前記秘密鍵を使用して、前記第２の暗号化されたウェブオブジェクトと関連付けてパッケージ化された第２の暗号化された対称鍵を暗号解除することにより、前記認証された現在のユーザが、前記第２の暗号化されたウェブオブジェクトの第２の暗号解除されたウェブオブジェクトを見ることを許可されるかどうか判断し、
前記認証された現在のユーザが前記第２の暗号解除されたウェブオブジェクトを見ることを許可されるとき、前記第２の暗号解除された対称鍵を使用して前記第２の暗号化されたウェブオブジェクトを暗号解除する、
暗号化モジュールと
を備え、
前記第１の暗号解除されたウェブオブジェクト及び／又は前記第２の暗号解除されたウェブオブジェクトが、前記現在のユーザに対して当該コンピューティングデバイスのディスプレイ上に表示される、コンピューティングデバイス。
【請求項２】
前記生体認識モジュールは、プロセッサグラフィクス回路を備える、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記生体認識モジュールは、前記生体データ及び前記生体認証データを、セキュアメディアパス回路を通して受け取るように構成される、請求項１に記載のコンピューティングデバイス。
【請求項４】
前記セキュアメディアパス回路は、保護されたオーディオビデオパスを備える、請求項３に記載のコンピューティングデバイス。
【請求項５】
前記生体認証データは、プロセッサグラフィクス回路内のセキュアメモリに格納されることになる、請求項１に記載のコンピューティングデバイス。
【請求項６】
前記プロセッサグラフィクス回路は、当該コンピューティングデバイスの中央処理ユニットと共通のダイ上に配置される、請求項５に記載のコンピューティングデバイス。
【請求項７】
前記プロセッサグラフィクス回路は、当該コンピューティングデバイスの周辺グラフィクスカード上に配置される、請求項５に記載のコンピューティングデバイス。
【請求項８】
前記現在のユーザの前記生体データを生成するバイオメトリックキャプチャデバイスを更に備える、請求項１に記載のコンピューティングデバイス。
【請求項９】
セキュアなウェブコンテンツを生成するためのサーバであって、
第１の許可されたユーザの第１の公開鍵、該第１の許可されたユーザの第１の生体認証データ、第２の許可されたユーザの第２の公開鍵及び該第２の許可されたユーザの第２の生体認証データを受け取る、通信モジュールと、
当該サーバに格納された第１の対称鍵を使用して第１のウェブオブジェクトを暗号化して、前記第１の許可されたユーザの前記第１の公開鍵を使用して前記第１の対称鍵を暗号化し、当該サーバに格納された第２の対称鍵を使用して第２のウェブオブジェクトを暗号化して、前記第２の許可されたユーザの前記第２の公開鍵を使用して前記第２の対称鍵を暗号化する、暗号化モジュールと、
前記第１の生体認証データと前記第２の生体認証データの少なくとも一方を識別するユーザ認証タグと、前記第１の暗号化されたウェブオブジェクトを識別する第１のセキュアなウェブオブジェクトタグと、前記第２の暗号化されたウェブオブジェクトを識別する第２のセキュアなウェブオブジェクトタグとを含むウェブコンテンツを生成する、ウェブコンテンツ生成モジュールと
を備え、
前記ウェブコンテンツ生成モジュールは、前記第１の暗号化されたウェブオブジェクト、前記第１の暗号化された対称鍵、前記第１の生体認証データ、前記第２の暗号化されたウェブオブジェクト、前記第２の暗号化された対称鍵及び前記第２の生体認証データを前記ウェブコンテンツ内にパッケージ化する、サーバ。
【請求項１０】
当該サーバ上に格納される前記対称鍵は、当該サーバ上で生成される、請求項９に記載のサーバ。
【請求項１１】
前記ユーザ認証タグ及び前記セキュアなウェブオブジェクトタグは、前記ウェブコンテンツのコード内の対応するマークアップ言語タグに応じて生成される、請求項９に記載のサーバ。
【請求項１２】
ウェブコンテンツをセキュアに表示するために、コンピューティングデバイスによって実行される方法であって、
前記ウェブコンテンツ内のユーザ認証タグを検出するステップであって、前記ユーザ認証タグは、許可されたユーザの生体認証データを識別する、ステップと、
前記ユーザ認証タグを検出したことに応答して、前記生体認証データ及び前記コンピューティングデバイスの現在のユーザから受信した生体データに応じて、前記コンピューティングデバイスの現在のユーザを認証するステップと、
前記ウェブコンテンツ内の第１のセキュアなウェブオブジェクトタグ及び第２のセキュアなオブジェクトタグを検出するステップであって、前記第１のセキュアなウェブオブジェクトタグは第１の暗号化されたウェブオブジェクトを識別し、前記第２のセキュアなオブジェクトタグは第２の暗号化されたウェブオブジェクトを識別する、ステップと、
前記認証された現在のユーザの秘密鍵を使用して、前記第１の暗号化されたウェブオブジェクトに関連付けてパッケージ化された第１の暗号化された対称鍵を暗号解除することにより、前記認証された現在のユーザが、前記第１の暗号化されたウェブオブジェクトの第１の暗号解除されたウェブオブジェクトを見ることを許可されているかどうかを判断するステップと、
前記秘密鍵を使用して、前記第２の暗号化されたウェブオブジェクトに関連付けてパッケージ化された第２の暗号化された対称鍵を暗号解除することにより、前記認証された現在のユーザが、前記第２の暗号化されたウェブオブジェクトの第２の暗号解除されたウェブオブジェクトを見ることを許可されているかどうかを判断するステップと、
前記認証された現在のユーザが前記第１の暗号解除されたウェブオブジェクトを見ることを許可されることに応答して、前記第１の暗号解除された対称鍵を使用して前記第１の暗号化されたウェブオブジェクトを暗号解除し、前記認証された現在のユーザが前記第２の暗号解除されたウェブオブジェクトを見ることを許可されることに応答して、前記第２の暗号解除された対称鍵を使用して前記第２の暗号化されたウェブオブジェクトを暗号解除し、該暗号解除された第１及び／又は第２のウェブオブジェクトを前記コンピューティングデバイスに表示するステップと
を含む、方法。
【請求項１３】
前記ユーザ認証タグを検出するステップは、マークアップ言語タグを検出することを含む、請求項１２に記載の方法。
【請求項１４】
前記現在のユーザを認証するステップは、前記現在のユーザを循環的に認証することを含む、請求項１２に記載の方法。
【請求項１５】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記生体認証データを、前記現在のユーザから受信した前記生体データと比較することを含む、請求項１２に記載の方法。
【請求項１６】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記生体認証データを、前記現在のユーザから受信した、前記コンピューティングデバイスのバイオメトリックキャプチャデバイスを使用してリアルタイムでキャプチャされた前記生体データと比較することを含む、請求項１２に記載の方法。
【請求項１７】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記コンピューティングデバイスにおいてチューリングテストを前記現在のユーザに提示することを含む、請求項１２に記載の方法。
【請求項１８】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記生体認証データ及び前記現在のユーザのキャプチャされた顔の画像に応じて、前記現在のユーザを認証することを含む、請求項１２に記載の方法。
【請求項１９】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記生体認証データ及び前記現在のユーザのキャプチャされた指紋に応じて、前記現在のユーザを認証することを含む、請求項１２に記載の方法。
【請求項２０】
前記コンピューティングデバイスの前記現在のユーザを認証するステップは、前記生体認証データのバイオメトリックテンプレート及び前記生体データに応じて、前記現在のユーザを認証することを含む、請求項１２に記載の方法。
【請求項２１】
前記セキュアなウェブオブジェクトタグを検出するステップは、マークアップ言語タグを検出することを含む、請求項１２に記載の方法。
【請求項２２】
前記ウェブコンテンツ内にパッケージ化された、前記第１及び第２の暗号化された対称鍵を取り出すステップを更に含む、請求項１２に記載の方法。
【請求項２３】
許可されたユーザの非対称鍵のペアを生成するステップであって、前記非対称鍵のペアは、公開鍵と秘密鍵を含む、ステップと、
前記許可されたユーザの秘密鍵をセキュアなメモリに格納するステップと、
前記許可されたユーザの前記生体認証データを、前記コンピューティングデバイスのバイオメトリックキャプチャデバイスによりキャプチャするステップと、
前記生体認証データと前記許可されたユーザの公開鍵をウェブサーバにアップロードするステップと
を更に含み、
前記ウェブコンテンツ内の暗号化された対称鍵は、前記許可されたユーザの公開鍵で暗号化されている、請求項１２に記載の方法。
【請求項２４】
許可されたユーザの非対称鍵のペアを生成するステップは、前記許可されたユーザの前記キャプチャされた生体認証データに応じて、非対称鍵のペアを生成することを含む、請求項２３に記載の方法。
【請求項２５】
前記現在のユーザが前記第１又は第２の暗号化されたウェブオブジェクトを暗号解除することを許可されていないことに応答して、前記コンピューティングデバイス上に、前記第１又は第２の暗号化されたウェブオブジェクトのフォームを暗号化されたままで表示するステップ
を更に含む、請求項１２に記載の方法。
【請求項２６】
前記ウェブコンテンツ内でセキュアなウェブオブジェクトタグが検出されないことに応答して、前記ウェブコンテンツの残りの部分を表示するステップ
を更に含む、請求項１２に記載の方法。
【請求項２７】
前記生体認証データ及び前記生体データを、前記コンピューティングデバイスのプロセッサグラフィクス回路に、セキュアなメディアパス回路を介して伝送するステップ
を更に含む、請求項１２に記載の方法。
【請求項２８】
前記セキュアなメディアパス回路は、保護されたオーディオビデオパスである、請求項２７に記載の方法。
【請求項２９】
コンピューティングデバイスであって、
プロセッサと、
前記プロセッサによって実行されると、当該コンピューティングデバイスに請求項１２乃至２８のいずれかに記載の方法を実行させる複数の命令を格納しているメモリと
を備える、コンピューティングデバイス。
【請求項３０】
実行されたことに応答してコンピューティングデバイスに請求項１２乃至２８のいずれかに記載の方法を実行させるコンピュータプログラム。
【請求項３１】
セキュアなウェブコンテンツを生成するために、サーバによって実行される方法であって、
前記サーバの第１の対称鍵を使用して第１のウェブオブジェクトを暗号化し、前記サーバの第２の対称鍵を使用して第２のウェブオブジェクトを暗号化するステップと、
第１の許可されたユーザの第１の公開鍵、該第１の許可されたユーザの第１の生体認証データ、第２の許可されたユーザの第２の公開鍵及び該第２の許可されたユーザの第２の生体認証データをコンピューティングデバイスから受け取るステップと、
前記第１の許可されたユーザの前記第１の公開鍵を使用して前記第１の対称鍵を暗号化し、記第２の許可されたユーザの前記第２の公開鍵を使用して前記第２の対称鍵を暗号化するステップと、
前記第１の生体認証データ及び前記第２の生体認証データの少なくとも一方を識別するユーザ認証タグ、前記第１の暗号化されたウェブオブジェクトを識別する第１のセキュアなウェブオブジェクトタグ及び前記第２の暗号化されたウェブオブジェクトを識別する第２のセキュアなウェブオブジェクトタグを含むウェブコンテンツを生成するステップと
を含み、
前記第１の暗号化されたウェブオブジェクト、前記第１の暗号化された対称鍵、前記第１の生体認証データ、前記第２の暗号化されたウェブオブジェクト、前記第２の暗号化された対称鍵及び前記第２の生体認証データが前記ウェブコンテンツ内にパッケージ化される、方法。
【請求項３２】
前記ウェブコンテンツを生成するステップは、前記ウェブコンテンツのコード内の対応するマークアップ言語タグに応答して、前記ユーザ認証タグを生成することを含む、請求項３１に記載の方法。
【請求項３３】
前記ウェブコンテンツを生成するステップは、前記ウェブコンテンツのコード内の対応するマークアップ言語タグに応答して、前記セキュアなウェブオブジェクトタグを生成することを含む、請求項３１に記載の方法。
【請求項３４】
前記ウェブコンテンツを生成するステップは、前記コンピューティングデバイスからの前記ウェブコンテンツへのアクセスの要求に応答する、請求項３１に記載の方法。
【請求項３５】
前記の対称鍵を暗号化するステップ及び前記ウェブコンテンツを生成するステップは、前記コンピューティングデバイスからの前記ウェブコンテンツへのアクセスの要求に応答する、請求項３１に記載の方法。
【請求項３６】
前記ウェブコンテンツへのアクセスの要求に基づいて、現在のユーザを識別するステップ
を更に含む、請求項３１に記載の方法。
【請求項３７】
前記現在のユーザを識別するステップは、前記現在のユーザのＩＰアドレスを識別することを含む、請求項３６に記載の方法。
【請求項３８】
サーバであって、
プロセッサと、
前記プロセッサによって実行されると、当該サーバに請求項３１乃至３７のいずれかに記載の方法を実行させる複数の命令を格納しているメモリと
を備える、サーバ。
【請求項３９】
実行されたことに応答してサーバに請求項３１乃至３７のいずれかに記載の方法を実行させるコンピュータプログラム。
【請求項４０】
請求項１２乃至２８、請求項３１乃至３７のいずれかに記載のコンピュータプログラムを記録する、１つ以上のマシン読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブページ又はウェブブラウザアプリケーションのウェブオブジェクトへのアクセスを制御するためのデバイス、方法及びシステムに関する。
【背景技術】
【０００２】
インターネットを通した情報の共有は、最近の社会の至る所に波及してきている。生活のほぼ全ての側面に関する情報は、公衆にアクセス可能なウェブサイトコンテンツを通じて見つけることが可能であるが、他の情報は極秘にしておくよう意図される。したがって、そのような情報の機密性は、多くのユーザにとって重要な懸念事項である。ウェブ開発者は、特定のユーザの機密情報をセキュアにすることを目的とする、多様なウェブ開発技術及び言語を実装している。典型的に、そのような機密性は、ユーザに、セキュアなデータ又はウェブオブジェクトにアクセスするトークン又はログインを提供することによって保証される。そのすることで、ユーザは、特定のウェブページ又はウェブブラウザアプリケーション全体へのアクセスを許可又は拒否される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
生体認識（biometric  recognition）は、個人のキャプチャされた生体データを何らかの既知の生体データと比較することによって、人を識別又は検証することができるプロシージャである。顔の画像及び指紋が主流であるように思われるが、特定の個人を正確に識別するのに様々な他の生体情報が使用されることがある。しかしながら、一部の生体認識システムは、生体認識システムがキャプチャされた生体データを既知の生体データと正確に比較し、それにより個人を識別することができるようになるには、何らかのトレーニングを必要とする。
【課題を解決するための手段】
【０００４】
本発明は、ウェブページ又はウェブブラウザアプリケーションのウェブオブジェクトへのアクセスを制御するデバイス、方法及びシステムを提供する。
【図面の簡単な説明】
【０００５】
本明細書で説明される概念は、限定ではなく例として添付の図面に図示されている。説明の簡潔性及び明確性のために、図面内に示される要素は、必ずしもスケーリングして描かれていない。例えば一部の要素の寸法は、明確性のために他の要素に対して誇張されていることがある。さらに、適切であると考えられる場合、参照ラベルは、図面内で対応する又は同様の要素を指すのに繰り替し使用される。
【図１】ウェブコンテンツをセキュアに表示するためのシステムの少なくとも１つの実施形態を示す簡略化されたブロック図である。
【図２】図１のシステムのウェブサーバの環境の少なくとも１つの実施形態の簡略化されたブロック図である。
【図３】図１のシステムのクライアントコンピューティングデバイスの環境の少なくとも１つの実施形態の簡略化されたブロック図である。
【図４】生体認証データ及び暗号化鍵をセキュアに登録するための方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図５】図１のウェブサーバ上でウェブコンテンツをセキュアに生成する方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図６】図１のクライアントコンピューティングデバイス上でウェブコンテンツをセキュアに表示する方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図７】図１のクライアントコンピューティングデバイス上でウェブコンテンツをセキュアに表示する方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【図８】図１のクライアントコンピューティングデバイス上で現在のユーザを認証する方法の少なくとも１つの実施形態の簡略化されたフロー図である。
【発明を実施するための形態】
【０００６】
本開示の概念は、様々な修正及び代替的な形式の影響を受けやすいが、その具体的な例示の実施形態が、例として図面に示されており、本明細書で詳細に説明される。しかしながら、本開示の概念を、開示される特定の形式に限定する意図はなく、反対に、本開示及び特許請求の範囲と整合性のある全ての修正、均等物及び代替物を網羅するよう意図されることを理解されたい。
【０００７】
以下の説明では、ロジック実装、オプコード、オペランドを指定する手段、実装を分割／共有／複製するリソース、システムコンポーネントのタイプ及び相互関係並びにロジックの分割／統合の選択肢等のような様々な具体的な詳細が、本開示のより全体的な理解を提供するために説明される。しかしながら、当業者には、本開示の実施形態が、そのような具体的な詳細を必要とせずに実施されてもよいことが認識されよう。他の例では、制御構成、ゲートレベルの回路及び完全なソフトウェア命令シーケンスは、本発明を曖昧にしないようにするために詳細には示されていない。当業者は、包含される説明により、適切な機能を、過度な実験を必要とせずに実装することができるであろう。
【０００８】
本明細書において、「一実施形態」、「実施形態」、「例示の実施形態」等への言及は、説明される実施形態が、特定の特徴、構造又は特性を含み得るが、必ずしも全ての実施形態がそのような特徴、構造及びを含まなくてもよい。さらに、そのようなフレーズは必ずしも同じ実施形態を指してはいない。さらに、特定の特徴、構造又は特性が、ある実施形態と関連して説明されるとき、そのような特徴、構造又は特性が、明示的に説明されるか又はされない他の実施形態との関連においても達成されることは、当業者の知識の範囲内である。
【０００９】
本発明の実施形態は、ハードウェア、ファームウェア、ソフトウェア又はこれらの任意の組合せで実装され得る。コンピュータシステムにおいて実装される発明の実施形態は、コンポーネント間の１つ若しくは複数のバスベースの相互接続及び／又はコンポーネント間の１つ若しくは複数のポイントツーポイント相互接続を含んでよい。本発明の実施形態は、一時的又は非一時的なマシン読取可能（例えばコンピュータ読取可能）媒体によって担持されるか、その媒体上に格納される命令として実装されてもよく、このような命令は、１つ又は複数のプロセッサによって読み取られ、実行される。マシン読取可能媒体は、マシン（例えばコンピューティングデバイス）によって読取可能な形式で情報を格納又は伝送するための任意のデバイス、機構又は物理的構造として具現化され得る。例えばマシン読取可能媒体は、読取専用メモリ（ＲＯＭ）；ランダムアクセスメモリ（ＲＡＭ）；磁気ディスク記憶媒体；光記憶媒体；フラッシュメモリデバイス；ミニ又はマイクロＳＤカード、メモリスティック、電気信号及び他のもの等として具現化され得る。
【００１０】
図面において、デバイス、モジュール、命令ブロック及びデータ要素を表す要素等のような図式的要素の具体的な配置又は順序は、説明の容易性のために示されている。しかしながら、当業者は、図面における図式的要素の具体的は順序又は配置は、処理の特定の順序若しくはシーケンス又は処理の分離が必要であることを暗示するようには意図されていないことを理解されたい。さらに、図内に図式的要素が含まれることは、そのような要素が全ての実施形態で必要とされること、あるいはそのような要素によって表される機能が一部の実施形態において他の要素内に含まれない又は他の要素と結合されないことがあることを暗示するようには意図されていない。
【００１１】
一般に、命令ブロックを表すのに使用される図式的要素は、ソフトウェア若しくはファームウェアアプリケーション、プログラム、関数、モジュール、ルーチン、プロセス、プロシージャ、プラグイン、アプレット、ウィジット、コードフラグメント及び／又は他のもののような、任意の適切な形式のマシン読取可能命令を使用して実装されてよく、そのような命令はそれぞれ、任意の適切なプログラミング言語、ライブラリ、アプリケーションプログラミングインタフェース（ＡＰＩ）及び／又は他のソフトウェア開発ツールを使用して実装され得る。例えば一部の実施形態は、Ｊａｖａ（登録商標）、Ｃ＋＋及び／又は他のプログラミング言語を使用して実装され得る。同様に、データ又は情報を表すのに使用される図式的要素は、レジスタ、データストア、レコード、アレイ、インデックス、ハッシュ、マップ、ツリー、リスト、グラフ、（任意のファイルタイプの）ファイル、フォルダ、ディレクトリ、データベース及び／又は他のもの等のような、任意の適切な電気的配置又は構造を使用して実装され得る。
【００１２】
さらに、図面では、実線若しくは破線又は矢印のような接続要素が、２つ又はそれ以上の他の図式的要素の間の接続、関係又は関連付けを示すのに使用されることがあるが、そのような接続要素がいずれも存在しないことは、接続、関係又は関連付けが存在しないことを暗示するようには意図されていない。言い換えると、要素間の一部の接続、関係又は関連付けは、本開示を曖昧にしないように、図面において示されていないことがある。加えて、説明の容易性のために、要素間の複数の接続、関係又は関連付けを表すのに単一の接続要素のみが使用されてもよい。例えば接続要素が、信号、データ又は命令の通信を表す場合、そのような要素は、必要に応じて、通信をもたらす１つ又は複数の信号経路（例えばバス）を表し得ることを当業者は理解されたい。
【００１３】
次に図１を参照すると、ウェブコンテンツをセキュアに表示するためのシステム１００は、ウェブサーバ１０２とクライアントコンピューティングデバイス１０６を含む。そのようなウェブコンテンツには、ウェブサーバ１０２からクライアントコンピューティングデバイス１０６へ配信可能な任意のタイプのウェブコンテンツが含まれてよい。例えば一部の実施形態において、ウェブコンテンツは、ウェブページ及び／又はウェブブラウザアプリケーション（例えばＨＴＭＬアプリケーション等）として具現化され得る。使用において、以下でより詳細に議論されるように、ウェブサーバ１０２は、クライアントコンピューティングデバイス１０６の１又は複数の許可されたユーザがネットワーク１０４を介してアクセス可能なセキュアなウェブオブジェクトのウェブコンテンツを生成することができる。図１では、１つのウェブサーバ１０２、１つのネットワーク１０４及び１つのクライアントコンピューティングデバイス１０６のみが例示的に示されているが、他の実施形態では、システム１００は、任意の数のウェブサーバ１０２、ネットワーク１０４及びクライアントコンピューティングデバイス１０６を含んでもよい。例えば一部の実施形態において、ウェブサーバ１０２は、異なるクライアントコンピューティングデバイス１０６の何人かの異なる許可されたユーザによってアクセス可能なセキュアなウェブオブジェクトを有するウェブコンテンツを生成してもよい。
【００１４】
ウェブサーバ１０２は、本明細書で説明される機能を実行することできる任意のタイプのコンピューティングデバイスとして具現化され得る。例えばウェブサーバ１０２は、デスクトップコンピュータ、ラップトップコンピュータ、モバイルインターネットデバイス、ハンドヘルドコンピュータ、スマートフォン、パーソナルデジタルアシスタント、テレフォニーデバイス又は他のコンピューティングデバイスとして具現化され得る。図１の例示の実施形態において、ウェブサーバ１０２は、プロセッサ１０８、Ｉ／Ｏサブシステム１１２、メモリ１１４、通信回路１１６、データストレージデバイス１１８及び１つ若しくは複数の周辺デバイス１３０を含む。一部の実施形態において、前述のコンポーネントのうちの幾つかをウェブサーバ１０２のマザーボード上に組み込み、一方、他のコンポーネントを、例えば周辺ポートを介してマザーボードに通信可能に結合してもよい。さらに、ウェブサーバ１０２は、説明の明確性のために図１には図示されていない、コンピュータ及び／又はコンピューティングデバイスにおいて一般に見られる他のコンポーネント、サブコンポーネント及びデバイスを含んでもよい。
【００１５】
ウェブサーバ１０２のプロセッサ１０８は、マイクロプロセッサ、デジタル信号プロセッサ、マイクロコントローラ等のように、ソフトウェア／ファームウェアを実行する能力を有する任意のタイプのプロセッサとして具現化され得る。プロセッサ１０８は例示的に、プロセッサコア１１０を有する単一のコアプロセッサとして具現化される。しかしながら、他の実施形態では、プロセッサ１０８は、複数のプロセッサコア１１０を有するマルチコアプロセッサとして具現化されてもよい。加えて、ウェブサーバ１０２は、１つ又は複数のプロセッサコア１１０を有する追加のプロセッサ１０８を含んでもよい。
【００１６】
ウェブサーバ１０２のＩ／Ｏサブシステム１１２は、ウェブサーバ１０２のプロセッサ１０８及び／又は他のコンポーネントとの入力／出力動作を容易にする回路及び／又はコンポーネントとして具現化され得る。一部の実施形態において、Ｉ／Ｏサブシステム１１２は、メモリコントローラハブ（ＭＣＨ又は「ノースブリッジ」）、入出力コントローラハブ（ＩＣＨ又は「サウスブリッジ」）及びファームウェアデバイスとして具現化され得る。そのような実施形態において、Ｉ／Ｏサブシステム１１２のファームウェアデバイスは、基本入出力システム（ＢＩＯＳ）データ及び／又は命令及び／又は他の情報（例えばウェブサーバ１０２のブート中に使用されるＢＩＯＳドライバ）を格納するためのメモリデバイスとして具現化され得る。しかしながら、他の実施形態では、他の構成を有するＩ／Ｏサブシステムが使用され得る。例えば一部の実施形態では、Ｉ／Ｏサブシステム１１２は、プラットフォームコントローラハブ（ＰＣＨ）として具現化され得る。そのような実施形態において、メモリコントローラハブ（ＭＣＨ）は、プロセッサ１０８内に組み込まれるか、あるいはプロセッサ１０８に関連付けられ、プロセッサ１０８は、（図１の破線で示されるように）メモリ１１４と直接通信することができる。加えて、他の実施形態では、Ｉ／Ｏサブシステム１１２は、システムオンチップ（ＳｏＣ）の一部を形成して、プロセッサ１０８及びウェブサーバ１０２の他のコンポーネントとともに、単一の集積回路チップ上に組み込まれてもよい。
【００１７】
プロセッサ１０８は、Ｉ／Ｏサブシステム１１２に複数の信号経路を介して通信可能に結合される。これらの信号経路（及び図１に図示される他の信号経路）は、ウェブサーバ１０２のコンポーネント間の通信を容易にすることができる任意のタイプの信号経路として具現化され得る。例えば信号経路を、バス、介在デバイス及び／又は同様のものを介する、任意の数のワイヤ、ケーブル、光ガイド、プリント基板トレースとして具現化してよい。
【００１８】
ウェブサーバ１０２のメモリ１１４は、１つ若しくは複数のメモリデバイス又はデータ記憶場所として具現化され得るか、あるいは他の方法でこれらを含んでよい。このようなメモリデバイスには、例えば動的ランダムアクセスメモリデバイス（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブルデータレートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、マスク読取専用メモリ（ＲＯＭ）デバイス、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電子的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）デバイス、フラッシュメモリデバイス並びに／又は他の揮発性及び／又は非揮発性メモリデバイスが含まれる。メモリ１１４は、複数の信号経路を介してＩ／Ｏサブシステム１１２に通信可能に結合される。図１では単一のメモリデバイス１１４のみが図示されているが、他の実施形態では、ウェブサーバ１０２は、追加のメモリデバイスを含んでもよい。様々なデータ及びソフトウェアがメモリデバイス１１４に格納されてよい。例えばプロセッサ１０８によって実行されるソフトウェアスタックを構成する１つ又は複数のオペレーティングシステム、アプリケーション、プログラム、ライブラリ及びドライバは、実行中にメモリ１１４内に存在し得る。さらに、メモリ１１４内に格納されるソフトウェア及びデータは、メモリ管理動作の一部として、メモリ１１４とデータストレージ１１８との間でスワップされることがある。
【００１９】
ウェブサーバ１０２の通信回路１１６は、ウェブサーバ１０２とリモートコンピューティングデバイス（例えばクライアントコンピューティングデバイス１０６）との間のネットワーク１０４を介した通信を可能にするための、任意の数のデバイス及び回路として具現化され得る。ネットワーク１０４は、任意の数の様々な有線及び／又は無線通信ネットワークとして具現化され得る。例えばネットワーク１０４は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）又はインターネットのような公衆アクセス可能なグローバルネットワークとして具現化されるか、あるいはこれらを含み得る。さらに、ネットワーク１０４は、ウェブサーバ１０２とクライアントコンピューティングデバイス１０６との間の通信を容易にする任意の数の追加のデバイスを含んでもよい。ウェブサーバ１０２及びクライアントコンピューティングデバイス１０６は、任意の適切な通信プロトコルを使用して、例えば特定のタイプのネットワーク１０４に応じて、ネットワーク１０４上で相互に通信することができる。
【００２０】
データストレージデバイス１１８は、例えばメモリデバイス若しくは回路、メモリカード、ハードディスクドライブ、固体ドライブ又は他のデータストレージデバイスのように、データの短期的又は長期的記憶のために構成される任意のタイプの１つ又は複数のデバイスとして具現化され得る。クライアントコンピューティングデバイス１０６の許可されたユーザと共有されることになる、機密の暗号化されていないウェブオブジェクト１２２が、データストレージデバイス１１８に格納され得る。加えて、以下でより詳細に説明されるように、１つ又は複数の暗号化鍵１２０が、ウェブオブジェクト１２２を暗号化する際に使用するため、データストレージデバイス１１８のセキュアな場所に格納され得る。一部の実施形態では、暗号化されたウェブオブジェクト１２４を、データストレージデバイス１１８に格納して、ウェブコンテンツ生成中のウェブサーバ１０２のプロセッサ１０８上のロードを低減してもよい。先にウェブオブジェクト１２２を暗号化することにより、プロセッサ１０８は、許可されたユーザによるウェブコンテンツへのアクセスの要求があるたびにウェブオブジェクト１２２を暗号化する必要はない。
【００２１】
ウェブサーバ１０２の周辺デバイス１３０は、任意の数の周辺又はインタフェースデバイスを含み得る。例えば周辺デバイス１３０は、ディスプレイ、キーボード、マウス、外部スピーカ及び／又は他の周辺デバイスを含んでよい。周辺デバイス１３０に含まれる特定のデバイスは、例えばウェブサーバ１０２の意図された使用に応じたものでよい。周辺デバイス１３０は、Ｉ／Ｏサブシステム１１２に、複数の信号経路を介して通信可能に結合され、これによりＩ／Ｏサブシステム１１２及び／又はプロセッサ１０８は、周辺デバイス１３０から入力を受信し、周辺デバイス１３０へ出力を送信することが可能になる。
【００２２】
クライアントコンピューティングデバイス１０６は、ウェブサーバ１０２に類似していてよい。例えばクライアントコンピューティングデバイス１０６は、デスクトップコンピュータ、ラップトップコンピュータ、モバイルインターネットデバイス、ハンドヘルドコンピュータ、スマートフォン、パーソナルデジタルアシスタント、テレフォニーデバイス又は本明細書で説明される機能を実行することができる他のコンピューティングデバイスとして具現化されてよい。さらに、クライアントコンピューティングデバイス１０６は、上述したウェブサーバ１０２のコンポーネントと同様のコンポーネントを含んでよい。ウェブサーバ１０２のこれらのコンポーネントについての説明は、クライアントコンピューティングデバイス１０６の類似のコンポーネントにも等しく当てはまり、ここでは説明の明確性のために繰り返し説明しない。図１の例示の実施形態において、クライアントコンピューティングデバイス１０６は、プロセッサ１４０、Ｉ／Ｏサブシステム１４８、メモリ１５４、通信回路１５６、データストレージデバイス１５８、バイオメトリックキャプチャデバイス１６６及び１つ若しくは複数の周辺デバイス１６８を含む。一部の実施形態において、前述のコンポーネントの幾つかをクライアントコンピューティングデバイス１０６のマザーボード上に組み込み、他のコンポーネントを、例えば周辺ポートを介してマザーボードに通信可能に結合してもよい。さらに、クライアントコンピューティングデバイス１０６は、説明の明確性のために図１には図示されていない、コンピュータ及び／又はコンピューティングデバイスに通常見られる、他のコンポーネント、サブコンポーネント及びデバイスを含んでもよい。
【００２３】
図１の例示の実施形態において、プロセッサ１４０は、プロセッサコア１４２と共通のダイ（die）において定義されるプロセッサグラフィクス回路１４４を含む。プロセッサグラフィクス回路１４４は、グラフィックの生成を加速すること等のような、様々なグラフィック処理機能を実行するように構成される。したがって、プロセッサグラフィクス回路１４４は典型的に、クライアントコンピューティングデバイス１０６におけるグラフィックの生成をサポートするのに使用される。例示の実施形態において、プロセッサグラフィクス回路１４４はセキュアメモリ１４６を含む。以下で更に検討されるように、セキュアメモリ１４６は典型的に、セキュアメディアパス（secure  media  path）回路１５０とともに使用されて、アプリケーションとハードウェアとの間のハードウェア強化セキュリティ（hardware  reinforced  security）を提供する。一部の実施形態において、セキュアメモリ１４６は、以下で検討されるように、クライアントコンピューティングデバイス１０６のメモリ１５４内に含まれてよい。一実施形態において、保護されたオーディオビデオパス（ＰＡＶＡ：Protected  Audio  Video  Path）を使用して、セキュアメモリ１４６及びセキュアメディアパス回路１５０を用いてそのようなハードウェア強化セキュリティを実装してもよい。さらに、ハードウェア強化セキュリティの代替の実装は、セキュアメモリ１４６及びセキュアメディアパス回路１５０を使用してもよいことを認識されたい。図１では、例示のプロセッサグラフィクス回路１４４がプロセッサ１４０内で具現化されているように示されているが、他の実施形態では、プロセッサグラフィクス回路１４４が、コンピューティングデバイス１０６のグラフィクス周辺カード１６４に含まれてもよい。例えばプロセッサグラフィクス回路１４４は、周辺コンポーネント相互接続エクスプレス（ＰＣＩｅ：peripheral  component  interconnect  express）バスのような周辺バスを介してＩ／Ｏサブシステム１４８に通信可能に結合され得る、グラフィクス周辺カード１６４のグラフィクス処理ユニットとして具現化されてもよい。
【００２４】
例示の実施形態において、Ｉ／Ｏサブシステムはセキュアメディアパス回路１５０を含む。上述のようにセキュアメディアパス回路１５０は、メディアをセキュアに伝送するハードウェア強化経路である。プロセッサ１４０は、Ｉ／Ｏサブシステム１４８へ複数の信号経路を介して通信可能に結合される。ウェブサーバ１０２の信号経路と同様に、クライアントコンピューティングデバイス１０６の信号経路は、クライアントコンピューティングデバイス１０６のコンポーネント間の通信を容易にすることができる任意のタイプの信号経路として具現化され得る。例示の実施形態では、バイオメトリックキャプチャデバイス１６６、プロセッサグラフィクス回路１４４及びグラフィクス周辺カード１６４が、複数のセキュアメディアチャネル１５２を介してＩ／Ｏサブシステム１４８のセキュアメディアパス回路１５０に通信可能に結合される。セキュアメディアチャネル１５２は、バイオメトリックキャプチャデバイス１６６、プロセッサグラフィクス回路１４４及びグラフィクス周辺カード１６４の間のセキュアな通信を容易にすることができる任意のタイプの信号経路として具現化され得る。例えば信号経路は、バス、介在デバイス及び／又は同様のものを介する任意の数のワイヤ、ケーブル、光ガイド、プリント基板トレースとして具現化され得る。一部の実施形態において、メモリ１５４はセキュアメモリ１４６の一部を含んでよい。上述のように、セキュアメモリ１４６は、アプリケーションとハードウェアとの間のハードウェア実施型の保護（hardware-enforced  protection）に使用され得る。他の実施形態では、セキュアメモリ１４６は、プロセッサグラフィクス回路１４４、グラフィクス周辺カード１６４及びバイオメトリックキャプチャデバイス１６６により使用するための、メモリ１５４との別個の部分であってよい。
【００２５】
クライアントコンピューティングデバイス１０６の通信回路１５６は、コンピューティングデバイス１０６とリモートコンピューティングデバイス（例えばウェブサーバ１０２）との間のネットワーク１０４上の通信を可能にするための任意の数のデバイス及び回路として具現化され得る。データストレージデバイス１５８は、例えばメモリデバイス及び回路、メモリカード、ハードディスクドライブ、固体ドライブ又は他のデータストレージデバイスのように、データの短期的又は長期的記憶のために構成される任意のタイプの１つ又は複数のデバイスとして具現化され得る。以下でより詳細に検討されるように、クライアントコンピューティングデバイス１０６が、暗号化されたウェブオブジェクト１２４をウェブサーバ１０２からダウンロードするとき、暗号化されたウェブオブジェクト１２４が、データストレージデバイス１５８に格納され得る。加えて、１つ又は複数の秘密暗号化鍵１６２が、以下でより詳細に説明されるように、ウェブサーバ１０２からの暗号化されたウェブオブジェクト１２４で受け取る、暗号化済みの対称鍵を暗号解除する際に使用するために、データストレージデバイス１５８のセキュアな場所に格納され得る。他の実施形態では、暗号化されたウェブオブジェクト１２４と１つ又は複数の秘密暗号化鍵１６２を、メモリ１５４又はセキュアメモリ１４６に格納してもよい。
【００２６】
バイオメトリックキャプチャデバイス１６６は、クライアントコンピューティングデバイス１０６のユーザのリアルタイムの生体データを生成することができる、任意のタイプのバイオメトリックキャプチャデバイスとして具現化され得る。例えばバイオメトリックキャプチャデバイスは、スチールカメラ、ビデオカメラ又は同様のもの等のような、コンピューティングデバイス１０６のユーザのリアルタイムの画像を生成することができるカメラとして具現化され得る。あるいはまた、バイオメトリックキャプチャデバイスは、指紋スキャナ、掌紋スキャナ、虹彩スキャナ、網膜スキャナ、音声分析器又は任意の区別可能な人間の生体情報をキャプチャする他のデバイスを含んでよい。バイオメトリックキャプチャデバイスは、生体測定システム（biometric  system）も含んでよく、この生体測定システムは、マルチモーダルの生体測定システムを含む任意のタイプの生体測定システムであってよい。一部の実施形態において、バイオメトリックキャプチャデバイス１６６は、クライアントコンピューティングデバイス１０６のハウジングへ組み込まれてもよい。例えばバイオメトリックキャプチャデバイス１６６は、クライアントコンピューティングデバイス１０６を動作させている間、クライアントコンピューティングデバイス１０６のユーザがモニタされるように、クライアントコンピューティングデバイス１０６のディスプレイ画面の近くに組み込まれるカメラであってよい。特に、カメラは、クライアントコンピューティングデバイス１０６の現在のユーザの顔の画像をキャプチャしてよい。他の実施形態では、バイオメトリックキャプチャデバイス１６６は、クライアントコンピューティングデバイス１０６に通信可能に結合され、かつクライアントコンピューティングデバイス１０６のユーザをモニタするように配置される、周辺デバイスであってよい。
【００２７】
使用において、図２に示されるように、ウェブサーバ１０２は、セキュアなウェブオブジェクト１２４のウェブコンテンツを生成する環境２００を確立し得る。例示の環境２００は、プロセッサ１０８上で実行されるウェブサービスエンジン２０２を含む。ウェブコンテンツ生成モジュール２０４がウェブサービスエンジン２０２内に含まれ、これによりウェブサーバ１０２は、クライアントコンピューティングデバイスがアクセスする、セキュアなウェブオブジェクトのウェブコンテンツを生成することが可能になる。ウェブコンテンツ生成モジュール２０４は、暗号化モジュール２０６と通信して、ウェブオブジェクト１２２をウェブコンテンツ内にパッケージ化するのに先立って、暗号化されていないウェブオブジェクト１２２を暗号化するように構成され得る。一部の実施形態において、暗号化モジュール２０６は、ウェブサーバ１０２のセキュリティコプロセッサ、プロセッサ１０８へ組み込まれる暗号化アクセラレータ又はスタンドアロンの暗号化ソフトウェア／ファームウェアとして具現化され得る。上記で検討したように、ウェブサーバ１０２は、暗号化されていないウェブオブジェクト１２２を暗号化モジュール２０６により暗号化して、暗号化されたウェブオブジェクト１２４をデータストレージデバイス１１８に格納してよい。したがって、ウェブコンテンツ生成モジュール２０４は、ウェブコンテンツを生成する間、データストレージデバイス１１８に格納された暗号化済みのウェブオブジェクト１２４にアクセスすることができる。しかしながら、他の実施形態では、ウェブコンテンツ生成モジュール２０４は、暗号化モジュール２０６から出力される暗号化済みウェブオブジェクトを、ウェブコンテンツへと直接パッケージ化してもよい。ウェブコンテンツ生成モジュールは、通信モジュール２１０と通信して、保護されていないデータ２０８にアクセスするようにも構成され得る。通信モジュール２１０は、ウェブサーバ１０２と、クライアントコンピューティングデバイス１０６を含むリモートコンピューティングデバイスとの間のネットワーク１０４を通した通信を処理することができる。ウェブサービスエンジン２０２、暗号化モジュール２０６及び／又は通信モジュール２１０はそれぞれ、ハードウェア、ソフトウェア、ファームウェア又はその組み合わせとして具現化され得る。
【００２８】
以下でより詳細に検討されるように、ウェブサーバ１０２は、クライアントコンピューティングデバイス１０６のユーザがネットワーク１０４を介してアクセスするため、セキュアなウェブオブジェクトでウェブコンテンツを生成し得る。そのようにするために、ウェブコンテンツ生成モジュール２０４は、暗号化されたウェブオブジェクト１２４をウェブコンテンツ（例えばウェブページ又はウェブブラウザアプリケーション）内にパッケージ化するのに先立って、暗号化されていないウェブオブジェクト１２２を暗号化する、暗号化モジュール２０６と通信するように構成される。例示の実施形態では、以下でより詳細に検討されるように、暗号化されていないウェブオブジェクト１２２は、暗号化モジュール２０６により対称暗号化鍵を使用して暗号化される。対称暗号化鍵は、暗号化モジュール２０６によって生成され得る。対称暗号化鍵は続いて、指定された許可済みの人（例えばクライアントコンピューティングデバイス１０６のユーザ）に属する公開鍵を使用して暗号化される。暗号化された対称鍵は次いで、クライアントコンピューティングデバイス１０６によりウェブコンテンツへのアクセス要求があると、暗号化されたウェブオブジェクト１２４とともに、ウェブコンテンツ内にパッケージ化される。このようにして、暗号化されたウェブオブジェクト１２４のみが公衆によりアクセス可能となる。
【００２９】
次に図３を参照すると、ウェブサーバ１０２と同様に、クライアントコンピューティングデバイス１０６は、ウェブオブジェクト１２２にセキュアにアクセスしてこれを表示するための環境３００を確立し得る。環境３００は、プロセッサ１４０によって実行されるオペレーティングシステム３０２を含む。ウェブブラウザ３０４は、オペレーティングシステム３０２によって実行されて、クライアントコンピューティングデバイス１０６が、ウェブサーバ１０２と通信して、例えばウェブコンテンツ、暗号化されたウェブオブジェクト１２４及びウェブコンテンツ内にパッケージ化された暗号化済みの対称鍵及び／又は他のデータをダウンロードすることを可能にする。ウェブブラウザ３０４はセキュリティモジュール３０６を含む。セキュリティモジュール３０６は、ブラウザプラグイン、スタンドアロンのアプリケーション又は他のソフトウェア／ファームウェアモジュールとして具現化されてよい。セキュリティモジュール３０６は、暗号化モジュール３１２と通信して、以下でより詳細に検討されるように、暗号化済みウェブオブジェクト１２４を暗号解除することを含め、様々な暗号化／暗号解除機能を実行するように構成される。ウェブサーバ１０２と同様に、クライアントコンピューティングデバイス１０６の暗号化モジュール３１２は、セキュリティコプロセッサ、プロセッサ１４０に組み込まれる暗号化アクセラレータ又はスタンドアロンの暗号化ソフトウェア／ファームウェアとして具現化されてよい。
【００３０】
環境３００は、プロセッサグラフィクス回路１４４上で実行される生体認識モジュール３１４も含み、クライアントコンピューティングデバイス１０６の現在のユーザを、バイオメトリックキャプチャデバイス１６６から受信したリアルタイム生体データ３１６から、予めトレーニングされるか、予め定義される生体認識データ３１８を使用して識別する。生体認識データ３１８は、セキュアメモリ１４６に格納され得る。そのようにするために、生体認識モジュール３１４は、バイオメトリックキャプチャデバイス１６６によって生成される生体データ３１６を分析することができる任意の生体情報検出及び認識アルゴリズムを使用して、現在のユーザを認証する。以下で図６〜図８に関連してより検討されるように、現在のユーザが認証され（すなわち、所定のユーザとして識別され）、ウェブオブジェクト１２２を見るのを許可されると決定される場合、セキュリティモジュール３０６は、暗号化モジュール３１２と通信して暗号化済みのウェブオブジェクト１２４を暗号解除し、暗号解除されたウェブオブジェクト３１０を、クライアントコンピューティングデバイス１０６の認証及び許可された現在のユーザに表示する。例示の実施形態において、暗号化済みウェブオブジェクト１２４及び生体認識モジュール３１４からのデータは、上述のようにセキュアメディアチャネル１５２を通してセキュリティモジュール３０６に通信される。一部の実施形態において、セキュリティモジュール３０６は、セキュアなメディアパスモジュール３０８も含んでよく、セキュアなメディアパスモジュール３０８は、クライアントコンピューティングデバイス１０６のＩ／Ｏサブシステム１４８内のセキュアメディアパス回路１５０とセキュアに対話するように設計されたソフトウェア／ファームウェアであってよい。一部の実施形態において、暗号化モジュール３１２は、セキュアメディアパスモジュール３０８の一部とリンクされるか、あるいは他の方法でセキュアメディアパスモジュール３０８の一部を形成する。セキュリティモジュール３０６、暗号化モジュール３１２及び生体認識モジュール３１４はそれぞれ、ハードウェア、ファームウェア、ソフトウェア又はその組み合わせとして具現化されてよい。
【００３１】
次に図４を参照すると、許可されたユーザの生体認証データ及び暗号化鍵をセキュアに登録するために、クライアントコンピューティングデバイス１０６によって実行され得る方法４００の１つの例示の実施形態が、ブロック４０２で開始する。ブロック４０２において、クライアントコンピューティングデバイス１０６は、許可されたユーザの非対称鍵のペアを生成する。当技術分野では周知であるように、公開鍵と秘密鍵がそれぞれ、非対称鍵のペアの一方である（すなわち、公開鍵と秘密鍵の暗号化鍵のペア）であることを認識されたい。非対称鍵のペアは、任意の適切な暗号化プロシージャを使用して生成されてよい。１つの特定の実施形態では、公開鍵は、非対称鍵のペアの所有者（すなわち、許可されたユーザ）の生体データに基づいて生成されるか、あるいはその生体データを他の方法で使用して生成される。例えば許可されたユーザの生体データを、非対称鍵のペアを生成するためのシード値（seed  value）として使用してもよい。他の実施形態では、非対称鍵のペアは、ＲＳＡ（Rivest-Shamir-Adleman）アルゴリズム又は楕円曲線暗号法を使用して生成されてもよい。
【００３２】
一部の実施形態において、特定の許可されたユーザに関連付けられる非対称鍵のペアは、（例えば証明機関を通して）第三者によって生成されて、クライアントコンピューティングデバイス１０６にセキュアに伝送されてもよい。非対称鍵のペアを生成又は受信した後、ブロック４０４において、非対称鍵のペアのうちの秘密鍵がセキュアメモリ１４６に格納される。さらに、ブロック４０６において、バイオメトリックキャプチャデバイス１６６を使用して、許可されたユーザの生体認証データをキャプチャする。上記で検討したように、バイオメトリックキャプチャデバイス１６６は、現在のユーザを認証するのに使用され得るリアルタイムの生体データをキャプチャするのに適した任意のデバイスとして具現化されてよい。ブロック４０８において、許可されたユーザの非対称鍵のペアの公開鍵及び許可されたユーザのキャプチャされた生体認証データを、ウェブサーバ１０２にアップロードする。あるいは、公開鍵及び生体認証データがウェブサーバ１０２にアップロードされる。一部の実施形態では、公開鍵自体をウェブサーバ１０２にアップロードする必要はない。代わりに、生体認証データをウェブサーバ１０２にアップロードして、ウェブサーバ１０２が、許可されたユーザの生体認証データに基づいて公開鍵を取得してもよい。
【００３３】
次に図５を参照すると、ウェブコンテンツをセキュアに生成するために、ウェブサーバ１０２によって実行され得る方法５００の１つの例示の方法の実施形態が、ブロック５０２及びブロック５０４で開始する。ブロック５０２及びブロック５０４は相互に同時に実行されてよい。ブロック５０２において、ウェブサーバ１０２は、許可されたユーザの公開鍵と生体認証データをクライアントコンピューティングデバイス１０６から受信する。ブロック５０４において、ウェブサーバ１０２は対称鍵を生成し、ブロック５０６において、ウェブサーバ１０２は、生成した対称鍵を使用してウェブオブジェクト１２２を暗号化する。例示の実施形態では、ウェブサーバ１０２は、暗号化モジュール２０６を使用して対称鍵を生成し、ウェブオブジェクト１２２を暗号化する。ウェブオブジェクト１２２は、同じ対称鍵を使用して暗号化されても、別個の対称鍵を使用して暗号化されてもよく、及び／又はウェブオブジェクト１２２は、該ウェブオブジェクト１２２の各グループが同じ対称鍵で暗号化されるようにグループ化されてもよい。一部の実施形態において、対称鍵は、ウェブサーバ１０２上では生成されず、代わりに別のコンピューティングデバイス上で生成されてウェブサーバ１０２へセキュアに伝送されてもよい。一部の実施形態において、ウェブサーバ１０２は対称鍵をセキュアメモリに格納してよい。
【００３４】
続いて、ブロック５０８において、ウェブサーバ１０２は、クライアントコンピューティングデバイス１０６が、セキュアなウェブオブジェクト１２２を有するウェブコンテンツへのアクセスを要求しているかどうかを決定する。ウェブサーバ１０２が、クライアントコンピューティングデバイス１０６はセキュアなウェブオブジェクト１２２を有するウェブコンテンツへのアクセスを要求していないと決定した場合、方法４００は進行しない。したがって、一部の実施形態において、ウェブオブジェクト１２２は、ウェブサーバ１０２によりクライアントコンピューティングデバイス１０６が上記ウェブコンテンツへのアクセスを要求していると決定されるまで、暗号化されないことがある。しかし、他の実施形態では、ウェブオブジェクト１２２は、クライアントコンピューティングデバイス１０６が、セキュアなウェブオブジェクト１２２を有するウェブコンテンツへのアクセスを要求するのに先立って暗号化されてもよい。
【００３５】
ウェブサーバ１０２が、クライアントコンピューティングデバイス１０６はアクセスを要求していると決定した場合、方法４００はブロック５１２に進み、ブロック５１２において、対称鍵が、許可されたユーザの公開鍵を使用して暗号化される。対称鍵は、それぞれの許可されたユーザの異なる公開鍵を使用して、別個に暗号化されてよい。あるいは、非対称鍵のペアの単一の公開鍵を使用して一度だけ対称鍵を暗号化すればよく、それによりウェブオブジェクト１２２を見るユーザのグループ全体を許可するように、ユーザのグループが、非対称鍵のペアの単一の秘密鍵を共有してもよい。一部の実施形態において、クライアントコンピューティングデバイス１０６の現在のユーザは、ブロック５１０において、ウェブサーバ１０２によって、ウェブコンテンツへのアクセスの要求に基づいて識別され得る。例えばウェブサーバ１０２は、ウェブコンテンツの要求に関連付けられる、ある特定の識別データ（例えばＩＰアドレス）に基づいて、要求しているユーザを識別してよい。そうすることで、ウェブサーバ１０２は、対称鍵を暗号化するときに、識別情報を使用して、適切な許可されたユーザの公開鍵を選択することができる。
【００３６】
ブロック５１４において、ウェブサーバ１０２は、クライアントコンピューティングデバイス１０６のためにセキュアなウェブコンテンツを生成する。その際に、ウェブサーバ１０２は、許可されたユーザの生体認証データ及び暗号化されたウェブオブジェクト１２４を識別するため、タグをウェブコンテンツに組み込む。ウェブコンテンツに組み込まれるタグは、クライアントコンピューティングデバイス１０６に対して、許可されたユーザの生体認証データ及び暗号化されたウェブオブジェクト１２４を識別することができる任意のタグとして具現化され得る。一部の実施形態において、タグは、生体認証データ及び暗号化されたウェブオブジェクト１２４に対応するマークアップ言語又はスクリプト言語タグ（すなわちＨＴＭＬ、ＸＨＴＭＬ、ＸＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）等で書かれたタグ）を含むか、これに応じて生成され得る。様々な実施形態において、暗号化されたウェブオブジェクト１２４及び生体認証データはそれぞれ、別個に識別されることもあり、単一のタグを使用して一緒に識別されることもある。他の実施形態において、クライアントコンピューティングデバイス１０６がバイオメトリックキャプチャデバイス１６６に供給される生体データを認証すべきことを指示することのように、様々な他の特徴のために追加のタグが提示されてもよい。
【００３７】
ブロック５１８及び５２０において、暗号化された対称鍵、暗号化されたウェブオブジェクト１２４及び許可されたユーザの生体データが、個々に又は集合的にウェブコンテンツ内にパッケージ化される。そのようにするために、暗号化された対称鍵、暗号化されたウェブオブジェクト１２４及び許可されたユーザの生体データは、ウェブコンテンツのヘッダ又はメタデータとしてパッケージ化されるか、あるいは他の方法でウェブコンテンツに組み込まれるか関連付けられることがある。例えば暗号化された対称鍵、暗号化されたウェブオブジェクト１２４及び許可されたユーザの生体データを、ウェブコンテンツのマークアップ又はスクリプトコードに直接組み込んでもよい。暗号化されたウェブオブジェクト１２４は、その後、許可されたユーザ及び／又は許可されていないユーザの双方によってアクセスされ得る。しかしながら、以下でより詳細に検討されるように、許可されていないユーザは、暗号化によりその許可されていないユーザには識別困難な、暗号化済みのウェブオブジェクト１２４しか見ることができない。
【００３８】
次に、図６及び図７を参照すると、ウェブコンテンツをセキュアに表示するため、クライアントコンピューティングデバイス１０６によって実行される方法６００の１つの例示の実施形態が、ブロック６０２で開始する。ブロック６０２において、クライアントコンピューティングデバイス１０６は、該クライアントコンピューティングデバイス１０６の現在のユーザが、ウェブサーバ１０２にウェブコンテンツを要求しているかどうかを判断する。クライアントコンピューティングデバイス１０６の現在のユーザが、ウェブサーバ１０２にウェブコンテンツを要求している場合、方法６００はブロック６０４に進み、ブロック６０４において、クライアントコンピューティングデバイス１０６は、要求されたウェブコンテンツをウェブサーバ１０２からダウンロードする。ウェブコンテンツは、例えば暗号化された対称鍵、暗号化されたウェブオブジェクト１２４及び許可されたユーザの生体データを含む標準のウェブページ又はウェブブラウザアプリケーションとして具現化されてよく、あるいは暗号化された対称鍵、暗号化されたウェブオブジェクト１２４及び許可されたユーザの生体データとして単独で具現化されてもよい。暗号化された対称鍵と、暗号化されたウェブオブジェクト１２４と生体認証データとのうちの１つ又は複数を、クライアントコンピューティングデバイス１０６のセキュアメモリ１４６に格納してもよい。
【００３９】
ブロック６０６において、クライアントコンピューティングデバイス１０６は、ウェブコンテンツ内でユーザ認証タグが検出されたかどうかを判断する。上述のように、ユーザ認証タグ並びにセキュアなウェブオブジェクトタグは、マークアップ言語タグ又はスクリプト言語タグとして具現化されてよい。ユーザ認証タグが検出されない場合、クライアントコンピューティングデバイス１０６は、ブロック６０８において、暗号化されたウェブオブジェクト１２をウェブブラウザ３０４に表示して、ブロック６０２に戻る。しかしながら、クライアントコンピューティングデバイス１０６が、ウェブコンテンツ内でユーザ認証タグを検出した場合、方法６００はブロック６１０に進み、ブロック６１０において、クライアントコンピューティングデバイス１０６の現在のユーザが認証される。
【００４０】
ブロック６１０において、クライアントコンピューティングデバイス１０６はユーザを認証する。そのようにするため、クライアントコンピューティングデバイス１０６は、図８に示されるように、方法８００を実行して、生体認識プロシージャを使用してクライアントコンピューティングデバイス１０６の現在のユーザを認証する。方法８００は、例えば生体認識モジュール３１４により実行されてよい。方法８００は、ブロック８０２で開始し、ブロック８０２において、生体認識データを、バイオメトリックキャプチャデバイス１６６から受信する。生体認識データ３１８は、クライアントコンピューティングデバイス１０６の現在のユーザを識別するのにクライアントコンピューティングデバイス１０６（例えばプロセッサグラフィクス回路１４４）によって使用可能な任意のデータタイプとして具現化されてよく、そのようなデータは、例えば予め生成された生体データ、バイオメトリック特徴（biometric  feature）データ、バイオメトリックテンプレート（biometric  template）データ又は現在のユーザのリアルタイムの画像と比較するのに使用され得る他のデータ等である。例えば上述のように、カメラをバイオメトリックキャプチャデバイス１６６として使用してもよい。そのような実施形態では、許可されたユーザの顔又は顔の表情データの予め生成されたピクチャを、適切な生体認識データ３１８として使用してもよい。一部の実施形態において、生体認識データ３１８は、生体認識モジュール３１４のトレーニング期間の間に事前に生成される。
【００４１】
ブロック８０４において、クライアントコンピューティングデバイス１０６の生体認識モジュール３１４は、クライアントコンピューティングデバイス１０６の現在のユーザのリアルタイム生体データ３１６を、バイオメトリックキャプチャデバイス１６６から、セキュアなメディアチャネル１５２及びセキュアなメディアパス回路１５０を介して受信する。一部の実施形態において、セキュアメディアパスモジュール３０８は、セキュアメディアパス回路１５０を介したデータのセキュアな伝送を容易にするのに実装されてよい。上述のように、バイオメトリックキャプチャデバイス１６６を、クライアントコンピューティングデバイス１０６に組み込んでもよく、あるいはバイオメトリックキャプチャデバイス１６６がクライアントコンピューティングデバイス１０６の現在のユーザの生体データ３１６を生成することができるようにバイオメトリックキャプチャデバイス１６６を配置してもよい。上述のように、一部の実施形態において、バイオメトリックキャプチャデバイス１６６は、クライアントコンピューティングデバイス１０６の現在のユーザをカメラによってモニタして、現在のユーザの継続的な存在を検証することができるように配置されるカメラとすることができる。以下でより詳細に検討されるように、一部の実施形態は、セキュアなウェブオブジェクト１２２をウェブブラウザ３０４上で暗号解除されたままにするためには、許可されたユーザの存在を必要とする。許可されたユーザがもはやバイオメトリックキャプチャデバイスによって成功裏に認証されない場合、ウェブオブジェクト１２２も、クライアントコンピューティングデバイス１０６の現在のユーザに対して識別不可能にしてもよい。ブロック８０６において、生体認識モジュール３１４は、ブロック８０２において受信した生体認識データ３１８を使用して生体認識プロシージャをリアルタイム生体データ３１６に対して実行し、現在のユーザを認証する。言い換えると、生体認識プロシージャは、現在のユーザを既知のユーザ又は未知のユーザとして識別し得る。生体認識モジュール３１４は、任意の適切な生体情報検出及び認識プロシージャを使用して現在のユーザを認証する。
【００４２】
方法８００、特にブロック８０６の生体認識プロシージャは、プロセッサ集約型のプロシージャであり得ることを認識されたい。したがって、例示の実施形態において、方法８００は、生体認識モジュール３１４に関して上記で検討したように、プロセッサグラフィクス回路１４４にオフロードされる。プロセッサグラフィクス回路１４４が方法８００を実行してクライアントユーザを認証することができるようにすることによって、クライアントコンピューティングデバイス１０６のプロセッサ１４０（すなわちプロセッサコア１４２）は、方法６００の他の部分を改善された効率及びスピードで実行することが可能である。したがって、ブロック６１０の認証プロセスは、方法６００ではシリアルに実行されるように示されているが、ブロック６１０において実行される方法８００は、プロセッサグラフィクス回路１４４によって、方法６００の残りの部分又はその一部と並行に実行されてよい。
【００４３】
図６に戻ると、一部の実施形態において、クライアントコンピューティングデバイス１０６の現在のユーザの認証は、ブロック６１２において、チューリングテスト（Turing  test）又はユーザプレゼンステストを現在のユーザに提供することを含んでよい。そのような実施形態において、チューリングテスト又はユーザプレゼンステストは、クライアントコンピューティングデバイス１０６の現在のユーザに対して提示される、現在のユーザが物理的に存在すると決定するのに適した任意のテストとして具現化されてよい。そのようなテストは、例えばユーザが、クライアントコンピューティングデバイス１０６のディスプレイ画面上に表示される情報に基づいて、クライアントコンピューティングデバイス１０６と対話することを必要してもよい。
【００４４】
ブロック６１４において、クライアントコンピューティングデバイス１０６は、現在のユーザが認証されるかどうかを判断する。現在のユーザを認証することができない場合（例えば現在のユーザを識別することができない場合やクライアントコンピューティングデバイス１０６の現在のユーザが存在していない場合等）、方法６００はブロック６１６に進み、クライアントコンピューティングデバイス１０６は、暗号化されたウェブオブジェクト１２２をウェブブラウザ３０４内に表示して、ブロック６１０に戻り、ブロック６１０において、ユーザを認証するよう別の試みを行う。しかしながら、現在のユーザの認証に成功した場合、方法６００は、ブロック６１８に進み、ブロック６１８において、認証されたユーザに関連付けられた秘密鍵をデータストレージデバイス１５８から取り出す。上述のように、秘密鍵は、非対称鍵のペアの一方である。公開鍵は、以前にブロック４０８で共有されており、一般に公衆に利用可能であるが、秘密鍵は秘密に保たれる。したがって、秘密鍵を、クライアントコンピューティングデバイス１０６のデータストレージデバイス１５８又は他のセキュアメモリ１４６のセキュアな場所に格納してよい。あるいは、秘密鍵を、リモートコンピューティングデバイスのセキュアな場所に格納して、クライアントコンピューティングデバイス１０６によってセキュアに取り出してもよい。
【００４５】
ブロック６２０において、クライアントコンピューティングデバイス１０６は、セキュアなウェブオブジェクトタグが、ウェブコンテンツ内で検出されたかどうかを判断する。ブロック５１４について上記で検討したように、セキュアなウェブオブジェクトタグは、暗号化されたウェブオブジェクト１２４をクライアントコンピューティングデバイス１０６に対して識別することができる任意のタグであってよい。タグには、例えば暗号化されたウェブオブジェクト１２４に対応するマークアップ言語タグ又はスクリプト言語タグが含まれ得る。クライアントコンピューティングデバイス１０６がセキュアなウェブオブジェクトタグを検出しない場合、方法６００はブロック６２２に進み、ブロック６２２において、クライアントコンピューティングデバイス１０６は、いずれかのセキュアにされてない（unsecured）ウェブオブジェクト及びセキュアでないウェブデータをウェブブラウザ３０４内に表示して、ブロック６０２に戻る。一部の実施形態において、セキュアなウェブオブジェクトタグが検出されない場合、クライアントコンピューティングデバイス１０６は、通常通りに（すなわち、セキュアなウェブオブジェクトが存在しないときのように）ウェブコンテンツをウェブブラウザ３０４内にレンダリングすることがある。
【００４６】
ブロック６２０において、クライアントコンピューティングデバイス１０６がセキュアなウェブオブジェクトタグを検出する場合、クライアントコンピューティングデバイス１０６は、ブロック６２４において、認証されたユーザが、暗号化されたウェブオブジェクト１２４の暗号解除されたウェブオブジェクト３１０を見ることを許可されているかどうかを判断する。そのようにするため、クライアントコンピューティングデバイス１０６は、暗号化済みのウェブオブジェクト１２４とともにウェブコンテンツ内にパッケージ化された暗号化済みの対称鍵（方法５００のブロック５１８を参照されたい）を暗号解除することを試みる。方法５００のブロック５１２において上述したように、暗号化されたウェブオブジェクトとパッケージ化された対称鍵は、許可されたユーザの公開鍵で暗号化されている。したがって、暗号化された対称鍵を暗号解除するために、クライアントコンピューティングデバイス１０６は、ブロック６１８で取り出された現在のユーザの秘密鍵を使用する。現在のユーザの秘密鍵及び許可されたユーザの公開鍵が、有効な非対称鍵のペアである場合、現在のユーザの秘密鍵は、暗号化された対称鍵を成功裏に暗号解除するであろう。言い換えると、暗号化された対称鍵は、現在の／認証されたユーザがウェブオブジェクト１２２の許可されたユーザでもある場合にのみ暗号解除され得ることを認識されたい。上述のように、そのような暗号解除プロセス及び他の暗号化／暗号解除プロセスは、クライアントコンピューティングデバイス１０６の暗号化モジュール３１２によって実行され得る。
【００４７】
クライアントコンピューティングデバイス１０６が、認証されたユーザの秘密鍵を使用して、暗号化された対称鍵を暗号解除することができない場合、クライアントコンピューティングデバイス１０６は、ブロック６２８において、現在のユーザは、認証はされているが、暗号解除されたウェブオブジェクト１２２を見ることは許可されていないと判断する。したがって、方法６００はブロック６１６に進み、ブロック６１６において、暗号化されたウェブオブジェクト１２４を、クライアントコンピューティングデバイス１０６のウェブブラウザ３０４上に表示する。しかしながら、クライアントコンピューティングデバイス１０６が、認証されたユーザの秘密鍵を使用して対称鍵を暗号解除することができる場合、クライアントコンピューティングデバイス１０６は、ブロック６２８において、認証されたユーザが、暗号化されたウェブオブジェクト１２４の暗号解除されたウェブオブジェクト１２２を見ることを許可されていると判断し、ブロック６３０に進む。一部の実施形態において、クライアントコンピューティングデバイス１０６は、認証されたユーザの秘密鍵を使用して、暗号化された対称鍵が成功裏に暗号解除されるかどうかを判断しないことがある。代わりに、クライアントコンピューティングデバイス１０６は単に、その秘密鍵を暗号化された対称鍵に適用するだけでよい。認証されたユーザが、暗号化されたウェブオブジェクト１２４の暗号解除されたウェブオブジェクト１２２を見ることが許可されている場合、認証されたユーザの秘密鍵を暗号化された対称鍵に適用することによって、正確に暗号解除された対称鍵とは対照的に、疑似的に暗号解除された（pseudo-decrypted）対称鍵が、暗号化の暗号解除プロセスから暗号化モジュール３１２に出力されることになる。
【００４８】
ブロック６３０において、暗号化されたウェブオブジェクト１２４が、暗号解除された対称鍵を使用して暗号解除される。この暗号解除された対称鍵は、上述のように認証されたユーザの秘密鍵を使用して暗号解除されたものである。この場合もやはり、暗号化されたウェブオブジェクト１２４の暗号解除プロセスは、クライアントコンピューティングデバイス１０６の暗号化モジュール３１２によって実行され得る。暗号化された対称鍵を許可されていないユーザの秘密鍵で暗号解除することから疑似的に暗号解除された対称鍵を取得するという、上記の代替的な実施形態では、疑似的に暗号解除された対称鍵が、暗号化されたウェブオブジェクト１２４に適用され得る。ブロック６３２において、暗号解除されたウェブオブジェクト３１０が、クライアントコンピューティングデバイス１０６上の認証されたユーザに対して表示される。疑似的に暗号解除された対称鍵が、暗号化されたウェブオブジェクト１２４に適用される上記の実施形態では、クライアントコンピューティングデバイス１０６の暗号化モジュール３１２への出力は、暗号化により現在のユーザに対して識別困難な、疑似的に暗号解除されたウェブオブジェクトとなる。言い換えると、認証されていないユーザの秘密鍵を暗号化された対称鍵に適用することにより、ブロック６１６のように、暗号化されたウェブオブジェクト１２４が、クライアントコンピューティングデバイス１０６のウェブブラウザ３０４に表示されることになる。
【００４９】
上記で検討したように、特定のユーザは、あるウェブオブジェクト１２２のみ見ることを許可されることがあるが、一部の実施形態において、クライアントコンピューティングデバイス１０６は、複数の暗号化されたウェブオブジェクト１２４に対応する複数のウェブオブジェクトタグを、ウェブコンテンツ内で検出することがある。さらに、暗号化されたウェブオブジェクト１２４の各々は、対称鍵を暗号化し、次いでこれらの対称鍵が、異なる許可されたユーザに関連付けられる公開鍵によって暗号化される。したがって、一部の実施形態において、認証されたユーザは、ウェブコンテンツ上の暗号化されたウェブオブジェクトのうちの１つ又は複数を見ることを許可されるが、暗号化されたウェブオブジェクト１２４の全てを見ることは許可されていないことがある。したがって、ブロック６３４において、クライアントコンピューティングデバイス１０６は、認証されたユーザが見ることを許可されていないウェブオブジェクト１２２について、暗号化されたウェブオブジェクト１２４をウェブブラウザ３０４上に表示してよい。
【００５０】
暗号解除されたウェブオブジェクト１２２が、クライアントコンピューティングデバイス１０６に表示されている間に、認証及び許可された現在のユーザが、クライアントコンピューティングデバイス１０６から離れるか、別のユーザと交代し、あるいはクライアントコンピューティングデバイス１０６の操作を停止することがある。したがって、暗号解除されたウェブオブジェクト１２２がクライアントコンピューティングデバイス１０６上で表示されている間、現在のユーザは、ブロック６３６及び６３８において循環的、継続的、周期的及び／又は非周期的に認証される。様々な実施形態において、現在のユーザは、任意のランダムな間隔、無秩序の間隔又は間隔の順序付けされたセットで認証されてよい。現在のユーザは、時間とは無関係のイベントに応答して認証されてもよい。そのようにするために、クライアントコンピューティングデバイス１０６は、方法８００を実行して、ブロック６３６において現在のユーザを認証してよい。上述のように、方法８００は、プロセッサグラフィクス回路１４４によって、方法６００の一部と並行して同時に実行されてよい。現在のユーザがもはや認証されなければ（例えば現在のユーザがクライアントコンピューティングデバイス１０６を離れる）、方法６００はブロック６１６に進み、ブロック６１６において、暗号解除されたウェブオブジェクト１２２が、暗号化されたウェブオブジェクト１２４と置換される。このようにして、暗号解除されたウェブオブジェクト１２２がクライアントコンピューティングデバイス１０６上に表示されている間、認証された現在のユーザは、循環的、継続的、周期的及び／又は非周期的にクライアントコンピューティングデバイス１０６で認証される。したがって、ウェブオブジェクト１２２の機密性は、許可されたユーザのみクライアントコンピューティングデバイス１０６上のウェブオブジェクト１２２を見ることを許容することを保証することによって、信頼できないチャネル（例えばネットワーク１０４）を通して伝送される間だけでなく、クライアントコンピューティングデバイス１０６においてもセキュアにされる。
【００５１】
＜例＞
本明細書で開示されるデバイス、システム及び方法の説明的な例を下記に提供する。デバイス、システム及び方法の実施形態は、以下で説明される例のいずれか１つ又は複数及びその任意の組合せを含み得る。
【００５２】
例１は、ウェブコンテンツをセキュアに表示するためのコンピューティングデバイスを含む。当該コンピューティングデバイスは、ウェブコンテンツ内のユーザ認証タグ及びセキュアなウェブオブジェクトタグを検出するセキュリティモジュールであって、ユーザ認証タグが生体認証データを識別し、セキュアなウェブオブジェクトタグが暗号化されたウェブオブジェクトを識別する、セキュリティモジュールと；（ｉ）当該コンピューティングデバイスの現在のユーザから生体データを受信し、（ｉｉ）該受信した生体データ及び生体認証データに応じて、当該コンピューティングデバイスの現在のユーザを認証する、生体認識モジュールと；ユーザが認証されていることに応答して、（ｉ）暗号化されたウェブオブジェクトと関連してパッケージ化された暗号化済みの対称鍵を、暗号解除し、（ｉｉ）該暗号解除された対称鍵を使用して、暗号化されたウェブオブジェクトを暗号解除する、暗号化モジュールと；を備え、暗号解除されたウェブオブジェクトは、現在のユーザに対して当該コンピューティングデバイスのディスプレイ上で表示される。
【００５３】
例２は、例１の主題を含み、生体認識モジュールが、プロセッサグラフィクス回路を備える。
【００５４】
例３は、例１及び例２のいずれかの主題を含み、生体認識モジュールが、現在のユーザから受信する生体データ及び生体認証データを、セキュアメディアパス回路を通して受信するように構成される。
【００５５】
例４は、例１乃至３のいずれかの主題を含み、セキュアメディアパス回路が、保護されたオーディオビデオパスを備える。
【００５６】
例５は、例１乃至４のいずれかの主題を含み、生体認証データは、プロセッサグラフィクス回路内のセキュアメモリに格納されることになる。
【００５７】
例６は、例１乃至５のいずれかの主題を含み、プロセッサグラフィクス回路は、当該コンピューティングデバイスの中央処理ユニットと共通のダイ上に配置される。
【００５８】
例７は、例１乃至６のいずれかの主題を含み、プロセッサグラフィクス回路は、当該コンピューティングデバイスの周辺グラフィクスカード上に配置される。
【００５９】
例８は、例１乃至７のいずれかの主題を含み、現在のユーザの生体データを生成するバイオメトリックキャプチャデバイスを更に含む。
【００６０】
例９は、セキュアなウェブコンテンツを生成するためのサーバを含み、当該サーバは、許可されたユーザの公開鍵と該許可されたユーザの生体認証データとを受信する通信モジュールと；（ｉ）当該サーバに格納された対称鍵を使用してウェブオブジェクトを暗号化し、（ｉｉ）許可されたユーザの公開鍵を使用して対称鍵を暗号化する、暗号化モジュールと；（ｉ）生体認証データを識別するユーザ認証タグと、（ｉｉ）暗号化されたウェブオブジェクトを識別するセキュアなウェブオブジェクトタグとを含むウェブコンテンツを生成する、ウェブコンテンツ生成モジュールと；を備え、上記ウェブコンテンツ生成モジュールは、暗号化されたウェブオブジェクト、暗号化された対称鍵及び生体認証データをウェブコンテンツ内にパッケージ化する。
【００６１】
例１０は、例９の主題を含み、当該サーバ上に格納される対称鍵は、当該サーバ上で生成される。
【００６２】
例１１は、例９又は１０のいずれかの主題を含み、ユーザ認証タグ及びセキュアなウェブオブジェクトタグは、ウェブコンテンツのコード内の対応するマークアップ言語タグに応じて生成される。
【００６３】
例１２は、コンピューティングデバイスにおいてウェブコンテンツをセキュアに表示するための方法を含む。当該方法は、ウェブコンテンツ内のユーザ認証タグを検出するステップであって、ユーザ認証タグが生体認証データを識別する、ステップと；ユーザ認証タグを検出したことに応答して、生体認証データ及び現在のユーザから受信した生体データに応じて、コンピューティングデバイスの現在のユーザを認証するステップと；ウェブコンテンツ内のセキュアなウェブオブジェクトタグを検出するステップであって、セキュアウェブオブジェクトタグが暗号化されたウェブオブジェクトを識別する、ステップと；認証された現在のユーザが、暗号化されたウェブオブジェクトの暗号解除されたウェブオブジェクトを見ることを許可されているかどうかを判断するステップと；セキュアなウェブオブジェクトを検出し、かつ現在のユーザが認証されていることに応答して、（ｉ）暗号化されたウェブオブジェクトを暗号解除し、（ｉｉ）該暗号解除されたウェブオブジェクトをコンピューティングデバイスに表示するステップとを含む。
【００６４】
例１３は、例１２の主題を含み、ユーザ認証タグを検出するステップは、マークアップ言語タグを検出することを含む。
【００６５】
例１４は、例１２及び１３のいずれかの主題を含み、現在のユーザを認証するステップは、現在のユーザを循環的に認証することを含む。
【００６６】
例１５は、例１２乃至１４のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、生体認証データを現在のユーザから受信した生体データと比較することを含む。
【００６７】
例１６は、例１２乃至１５のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、生体認証データを、現在のユーザから受信した、コンピューティングデバイスのバイオメトリックキャプチャデバイスを使用してリアルタイムでキャプチャされた生体データと比較することを含む。
【００６８】
例１７は、例１２乃至１６のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、コンピューティングデバイスにおいて、チューリングテストを現在のユーザに提示することを含む。
【００６９】
例１８は、例１２乃至１７のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、生体認証データ及び現在のユーザのキャプチャされた顔の画像に応じて、現在のユーザを認証することを含む。
【００７０】
例１９は、例１２乃至１８のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、生体認証データ及び現在のユーザのキャプチャされた指紋に応じて、現在のユーザを認証することを含む。
【００７１】
例２０は、例１２乃至１９のいずれかの主題を含み、コンピューティングデバイスの現在のユーザを認証するステップは、生体認証データのバイオメトリックテンプレート及び生体データに応じて、前記現在のユーザを認証することを含む。
【００７２】
例２１は、例１２乃至２０のいずれかの主題を含み、セキュアなウェブオブジェクトタグを検出するステップは、マークアップ言語タグを検出することを含む。
【００７３】
例２２は、例１２乃至２１のいずれかの主題を含み、ウェブコンテンツ内にパッケージ化された暗号化済みの対称鍵を取り出すステップを更に含む。
【００７４】
例２３は、例１２乃至２２のいずれかの主題を含み、暗号化済みの対称鍵は、ウェブコンテンツ内の暗号化されたウェブオブジェクトとともにパッケージ化される。
【００７５】
例２４は、例１２乃至２３のいずれかの主題を含み、認証された現在のユーザが、暗号化されたウェブオブジェクトの暗号解除されたウェブオブジェクトを見ることを許可されているかどうかを判断するステップは、コンピューティングデバイスにおいて、現在のユーザの非対称の秘密鍵を取り出すステップと；現在のユーザの非対称の秘密鍵を使用して、暗号化済み対称鍵を暗号解除するステップとを含む。
【００７６】
例２５は、例１２乃至２４のいずれかの主題を含み、暗号化されたウェブオブジェクトは、暗号解除された対称鍵を使用して暗号解除される。
【００７７】
例２６は、例１２乃至２５のいずれかの主題を含み、許可されたユーザの非対称鍵のペアを生成するステップであって、非対称鍵のペアが公開鍵と秘密鍵を含む、ステップと；許可されたユーザの秘密鍵をセキュアなメモリに格納するステップと；許可されたユーザの生体認証データを、コンピューティングデバイスのバイオメトリックキャプチャデバイスによりキャプチャするステップと；生体認証データと許可されたユーザの公開鍵をウェブサーバにアップロードするステップと；を更に含み、暗号化済み対称鍵は、許可されたユーザの公開鍵で暗号化されている。
【００７８】
例２７は、例１２乃至２６のいずれかの主題を含み、許可されたユーザの非対称鍵のペアを生成するステップは、許可されたユーザのキャプチャされた生体認証データに応じて、非対称鍵のペアを生成することを含む。
【００７９】
例２８は、例１２乃至２７のいずれかの主題を含み、許可されていないユーザが、暗号化されたウェブオブジェクトを暗号解除することに応答して、コンピューティングデバイス上に、暗号解除されるウェブオブジェクトのフォームを暗号化されたままで表示するステップを更に含む。
【００８０】
例２９は、例１２乃至２８のいずれかの主題を含み、ウェブコンテンツ内でセキュアなウェブオブジェクトタグが検出されないことに応答して、ウェブコンテンツの残りの部分を表示するステップを更に含む。
【００８１】
例３０は、例１２乃至２９のいずれかの主題を含み、生体認証データ及び生体データを、コンピューティングデバイスのプロセッサグラフィクス回路にセキュアなメディアパス回路を介して伝送するステップを更に含む。
【００８２】
例３１は、例１２乃至３０のいずれかの主題を含み、セキュアなメディアパス回路は、保護されたオーディオビデオパスである。
【００８３】
例３２は、コンピューティングデバイスであって、プロセッサと；プロセッサによって実行されると、コンピューティングデバイスに例１２乃至３１のいずれかに記載の方法を実行させる複数の命令を格納しているメモリとを備える、コンピューティングデバイスを含む。
【００８４】
例３３は、実行されたことに応答してコンピューティングデバイスに例１２乃至３１のいずれかに記載の方法を実行させることになる複数の命令を備える１つ又は複数のマシン読取可能な記憶媒体を含む。
【００８５】
例３４は、セキュアなウェブコンテンツを生成するための方法を含む。当該方法は、サーバにおいて、該サーバの対称鍵を使用してウェブコンテンツを暗号化するステップと；許可されたユーザの公開鍵と該許可されたユーザの生体認証データとをコンピューティングデバイスから受信するステップと；サーバにおいて、許可されたユーザの公開鍵を使用して対称鍵を暗号化するステップと；（ｉ）生体認証データを識別するユーザ認証タグと、（ｉｉ）暗号化されたウェブオブジェクトを識別するセキュアなウェブオブジェクトタグとを含むウェブコンテンツを生成するステップと；を含み、暗号化されたウェブオブジェクト、暗号化された対称鍵及び生体認証データがウェブコンテンツ内にパッケージ化される。
【００８６】
例３５は、例３４の主題を含み、サーバにおいて、該サーバの対称鍵を使用してウェブコンテンツを暗号化するステップは、サーバ上で生成される該サーバの対称鍵を使用してウェブコンテンツを暗号化することを含む。
【００８７】
例３６は、例３４又は３５のいずれかの主題を含み、ウェブコンテンツを生成するステップは、ウェブコンテンツのコード内の対応するマークアップ言語タグに応答して、ユーザ認証タグを生成することを含む。
【００８８】
例３７は、例３４乃至３６のいずれかの主題を含み、ウェブコンテンツを生成するステップは、ウェブコンテンツのコード内の対応するマークアップ言語タグに応答して、セキュアなウェブオブジェクトタグを生成することを含む。
【００８９】
例３８は、例３４乃至３７のいずれかの主題を含み、ウェブコンテンツを生成するステップは、コンピューティングデバイスからのウェブコンテンツへのアクセスの要求に応答する。
【００９０】
例３９は、例３４乃至３８のいずれかの主題を含み、対称鍵を暗号化するステップ及びウェブコンテンツを生成するステップは、コンピューティングデバイスからのウェブコンテンツへのアクセスの要求に応答する。
【００９１】
例４０は、例３４乃至３９のいずれかの主題を含み、ウェブコンテンツへのアクセスの要求に基づいて、現在のユーザを識別するステップを更に含む。
【００９２】
例４１は、例３４乃至４０のいずれかの主題を含み、現在のユーザを識別するステップは、現在のユーザのＩＰアドレスを識別することを含む。
【００９３】
例４２は、サーバであって、プロセッサと；プロセッサによって実行されると、当該サーバに例３４乃至４１のいずれかに記載の方法を実行させる複数の命令を格納しているメモリと；を備える、サーバを含む。
【００９４】
例４３は、実行されたことに応答してサーバに例３４乃至４１のいずれかに記載の方法を実行させることになる複数の命令を備える１つ又は複数のマシン読取可能な記憶媒体を含む。
【図１】
0005996804.tif 000002
【図２】
0005996804.tif 000003
【図３】
0005996804.tif 000004
【図４】
0005996804.tif 000005
【図５】
0005996804.tif 000006
【図６】
0005996804.tif 000007
【図７】
0005996804.tif 000008
【図８】
0005996804.tif 000009