(57)【要約】【課題】セキュア通信方法を提示すること。【解決手段】サーバからアプリケーション・コードまたはコンテンツ・データあるいはその両方をダウンロードするように、クライアント装置を構成する。クライアントには、クライアント秘密鍵、クライアント通し番号、およびサーバ公開鍵のコピーが組み込まれる。クライアントは、クライアント通し番号を含む要求を形成し、サーバ公開鍵を用いてその要求を暗号化し、ダウンロード要求をサーバに送信する。サーバは、サーバの秘密鍵を用いて要求を暗号化解除し、クライアントを認証する。受信されたクライアント通し番号は、組込みクライアント秘密鍵に対応するクライアント公開鍵の探索に使用される。サーバは、要求された情報を含む応答を、要求元クライアントのクライアント公開鍵を用いて暗号化し、要求元クライアントの秘密鍵だけが、サーバからダウンロードされた情報の暗号化解除に使用可能である。
2004529561.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップを構成する方法であって、
秘密暗号鍵を選択するステップと、
前記公開暗号鍵および前記秘密暗号鍵が、暗号鍵対関係によって関係しないものであって公開暗号鍵を選択するステップと、
前記秘密暗号鍵および前記公開暗号鍵を前記半導体チップの読取専用メモリに組み込むステップと
を含む方法。
【請求項２】
前記半導体チップが、クライアントでのインターフェース処理を提供する、請求項１に記載の方法。
【請求項３】
前記組み込むステップが、さらに、前記半導体チップに関連する通し番号を組み込むことを含む、請求項１に記載の方法。
【請求項４】
前記公開暗号鍵を、前記通し番号に関連してデータベースに保管すること
をさらに含む、請求項３に記載の方法。
【請求項５】
前記読取専用メモリ内の前記秘密暗号鍵および前記公開暗号鍵が、前記半導体チップの入出力接続からアクセス不能である、請求項１に記載の方法。
【請求項６】
半導体チップであって、
組込み秘密暗号鍵を含む第１読取専用メモリ構造と、
組込み公開暗号鍵を含む第２読取専用メモリ構造であって、前記公開暗号鍵および前記秘密暗号鍵が、暗号鍵対関係によって関係しない第２読取専用メモリ構造と
を含む半導体チップ。
【請求項７】
データ処理システム内のクライアントとサーバとの間でのセキュア通信の方法において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記方法は、
前記クライアントでクライアント・メッセージを生成するステップと、
前記クライアント内の半導体チップ内の読取専用メモリ構造から組込みサーバ公開鍵を検索するステップと、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化するステップと、
前記クライアント・メッセージを前記サーバに送信するステップと
を含む方法。
【請求項８】
クライアント認証データを検索するステップと、
前記クライアント内の前記半導体チップ内の読取専用メモリ構造から組込みクライアント秘密鍵を検索するステップと、
前記組込みクライアント秘密鍵を用いて前記クライアント認証データを暗号化するステップと、
前記暗号化されたクライアント認証データを前記クライアント・メッセージに保管するステップと
をさらに含む、請求項７に記載の方法。
【請求項９】
前記クライアント内の前記半導体チップ内の読取専用メモリ構造から組込みクライアント通し番号を検索するステップと、
前記組込みクライアント通し番号のコピーを前記クライアント・メッセージに保管するステップと
をさらに含む、請求項８に記載の方法。
【請求項１０】
データ処理システム内のクライアントとサーバとの間でのセキュア通信の装置であって、
前記クライアントでクライアント・メッセージを生成する手段と、
前記クライアント内の請求項６に記載の前記半導体チップの読取専用メモリ構造から組込みサーバ公開鍵を検索する手段と、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化する手段と、
前記クライアント・メッセージを前記サーバに送信する手段と
を含む装置。
【請求項１１】
クライアントとサーバとの間でのセキュア通信のためにデータ処理システムで使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記コンピュータ・プログラム製品は、
前記クライアントでクライアント・メッセージを生成する命令と、
前記クライアント内の前記半導体チップの読取専用メモリ構造から組込みサーバ公開鍵を検索する命令と、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化する命令と、
前記クライアント・メッセージを前記サーバに送信する命令と
を含むコンピュータ・プログラム製品。
【請求項１２】
データ処理システム内でのクライアントとサーバとの間のセキュア通信の方法において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記方法は、
前記サーバでサーバ・メッセージを生成するステップと、
前記クライアントによって要求された情報を検索するステップと、
前記検索された情報を前記サーバ・メッセージに保管するステップと、
クライアント公開鍵が、前記クライアント内の前記半導体チップの読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって前記クライアント公開鍵を検索するステップと、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化するステップと、
前記サーバ・メッセージを前記クライアントに送信するステップと
を含む方法。
【請求項１３】
データ処理システム内のクライアントとサーバとの間でのセキュア通信の装置であって、
前記サーバでサーバ・メッセージを生成する手段と、
前記クライアントによって要求された情報を検索する手段と、
前記検索された情報を前記サーバ・メッセージに保管する手段と、
前記クライアント公開鍵が、前記クライアント内の請求項６に記載の前記半導体チップ内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって前記クライアント公開鍵を検索する手段と、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化する手段と、
前記サーバ・メッセージを前記クライアントに送信する手段と
を含む装置。
【請求項１４】
クライアントとサーバとの間のセキュア通信のためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記コンピュータ・プログラム製品は、
前記サーバでサーバ・メッセージを生成する命令と、
前記クライアントによって要求された情報を検索する命令と、
前記検索された情報を前記サーバ・メッセージに保管する命令と、
クライアント公開鍵が、前記クライアント内の前記半導体チップの読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって前記クライアント公開鍵を検索する命令と、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化する命令と、
前記サーバ・メッセージを前記クライアントに送信する命令と
を含むコンピュータ・プログラム製品。
【請求項１５】
データ処理システム内のクライアントとサーバとの間のセキュア通信の方法において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記方法は、
前記クライアントからクライアント・メッセージを受信するステップと、
サーバ秘密鍵を検索するステップと、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除するステップと、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索するステップと、
クライアント公開鍵が、前記クライアント内の前記半導体チップの読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって、前記検索されたクライアント通し番号に関連して保管された前記クライアント公開鍵を検索するステップと
を含む方法。
【請求項１６】
データ処理システム内のクライアントとサーバとの間のセキュア通信の装置であって、
前記クライアントからクライアント・メッセージを受信する手段と、
サーバ秘密鍵を検索する手段と、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除する手段と、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索する手段と、
クライアント公開鍵が、前記クライアント内の請求項６に記載の前記半導体チップの読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって、前記検索されたクライアント通し番号に関連して保管された前記クライアント公開鍵を検索する手段と
を含む装置。
【請求項１７】
クライアントとサーバとの間のセキュア通信のためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記クライアントからクライアント・メッセージを受信する命令と、
サーバ秘密鍵を検索する命令と、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除する命令と、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索する命令と、
クライアント公開鍵が、前記クライアント内の前記半導体チップの読取専用メモリ構造内の組込みクライアント秘密鍵に対応するものであって、前記検索されたクライアント通し番号に関連して保管された前記クライアント公開鍵を検索する命令と
を含むコンピュータ・プログラム製品。
【請求項１８】
データ処理システム内のクライアントとサーバとの間のセキュア通信の方法において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記方法は、
前記サーバからサーバ・メッセージを受信するステップと、
前記クライアント内の前記半導体チップの読取専用メモリ構造から組込みクライアント秘密鍵を検索するステップと、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除するステップと
を含む方法。
【請求項１９】
データ処理システム内のクライアントとサーバとの間のセキュア通信の装置において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記装置は、
前記サーバからサーバ・メッセージを受信する手段と、
前記クライアント内の請求項６に記載の前記半導体チップの読取専用メモリ構造から組込みクライアント秘密鍵を検索する手段と、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除する手段と
を含む装置。
【請求項２０】
クライアントとサーバとの間のセキュア通信ためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品において、前記クライアントが、半導体チップを有し、前記半導体チップが、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、組込み公開暗号鍵を含む第２読取専用メモリ構造とを含み、前記秘密暗号鍵が暗号鍵対関係によって関係しないものであって、前記コンピュータ・プログラム製品は、
前記サーバからサーバ・メッセージを受信する命令と、
前記クライアント内の前記半導体チップの読取専用メモリ構造から組込みクライアント秘密鍵を検索する命令と、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除する命令と
を含むコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、改良されたデータ処理システムに関し、具体的には、マルチコンピュータ・データ転送の方法および装置に関する。具体的に言うと、本発明は、セキュア・コンピュータ間通信の方法および装置に関する。
【背景技術】
【０００２】
消費者は、各装置が専門化された目的を有する多数の独立した電子装置を購入し、使用することに慣れてきた。一般に、各クラスの装置の構成は、装置の所期の目的を達成するための技術的要件、装置の構成および所期の用途に関するさまざまな経済的な考慮およびトレードオフに合わせて調整される。したがって、多数の電子装置を、多数の異なる目的に必要な計算機能を有する単一の装置に統合することに向かう進歩は、過去にはほとんどなかった。さらに、このタイプの統合を達成する必要もほとんどなかった。
【０００３】
たとえば、過去に、異なるクラスの装置からの出力を見せるために使用可能なビデオ・ディスプレイの品質は、大きく変化した。明らかな歴史的理由から、ゲーム機は、通常、標準的なテレビジョン・セットに接続された。というのは、ほとんどの家庭が、テレビジョン・セットを所有したが、コンピュータ・モニタは所有せず、したがって、家庭のテレビジョン・セットがゲーム機を接続できる唯一の使用可能な表示装置になったためである。ゲーム機によって生成されるグラフィックスが、より高い解像度の表示装置でよりよく表示されるとは思われなかったので、家庭のテレビジョン・セットは、長年にわって適当な表示装置であった。その一方で、パーソナル・コンピュータおよびワークステーションは、ユーザがよりよいモニタを必要とし、彼らの経済的に考慮すべき点によってよりよいモニタが正当化されたので、はるかに高い解像度およびイメージ品質を有するモニタを有している。
【０００４】
表示装置は、装置が最初に意図されなかった目的に使用することができるが、結果は、一般に不十分である。たとえば、ウェブ・ブラウジングは、ウェブ・ページが、コンピュータ・モニタではなく標準テレビジョン画面に表示される時に、たとえ小さいコンピュータ・モニタと比較される時であっても、粗悪な経験になる。この粗悪な表示品質が、ＷｅｂＴＶ（Ｒ）および他の類似するオファリングが成功しなかったことの多くの原因である。したがって、一般に、最初にそれを行うために構成されたのではない消費者電子製品にインターフェースする能力がほとんどないだけではなく、ほとんどの消費者電子装置には、それを行うのに有用である可能性がある機能性も欠けている。
【０００５】
しかし、技術は、大衆市場消費者娯楽機器の特定の計算要件が、パーソナル・コンピュータの要件をはるかに超え、場合によっては、プロフェッショナル・ワークステーションから使用可能な計算機能を超える点まで進歩した。たとえば、ゲーム機の専門化されたグラフィック処理要件は、現在、パーソナル・コンピュータが必要とするもの、あるいはパーソナル・コンピュータが提供するものを超えている。半導体技術が、消費者電子装置によって多数の所望の特性を経済的に提供できる状態に達したので、多くの消費者電子装置に、他の装置の類似する機能性に匹敵する品質の機能性が含まれる。たとえば、近い将来に、異なるクラスの表示装置の間の品質の差が、消滅し、高品位テレビジョン（ＨＤＴＶ）受像機（グラフィック・ワークステーション・ディスプレイの大多数を含むコンピュータ・モニタより高い解像度およびイメージ品質を有する）の出現に伴って逆転する。
【０００６】
さらに、ゲーム機には、パーソナル・コンピュータを超えるグラフィック処理能力が含まれる。したがって、現在はパーソナル・コンピュータに委ねられている目的の一部と組み合わせて、ゲーム機類似装置とＨＤＴＶ受像機を使用することに関する消費者の需要が高まる。一部の消費者は、レガシ・ソフトウェアにかなり投資しており、ゲーム機類似装置およびＨＤＴＶ品質のディスプレイの利益を得るだけのためにコンピュータ・ハードウェアおよびコンピュータ・ソフトウェアの両方を交換することを望まない可能性があるが、ゲーム機類似装置の性能能力によって、さまざまなコンピュータ・プロセッサのソフトウェア・エミュレーションが可能になり、このエミュレーションでは、一般的なビジネス・アプリケーションを実行するのに十分以上のものである。
【０００７】
ＨＤＴＶ受像機は、比較的新しく、高価であるが、ゲーム機類似装置およびＨＤＴＶシステムの両方で、これらが広範囲に展開された時に、製造規模の経済からかなりのコストの利益が実現される。ワークステーションおよびパーソナル・コンピュータ・システムの売上額が、テレビジョンおよびゲーム機に関連する売上額によって成長を妨げられ、したがって、かなり低いハードウェア製造コストがもたらされると期待される。より重要なことに、ゲーム機類似装置は、比較的安価に製造することができるので、ひげそりの販売モデル（使い捨てひげそりの売上が、比較的耐久性のあるひげそりの売上よりはるかに高い）に似た形でマーケティングすることができる。ゲーム機類似装置の場合に、ゲーム機装置の販売ではほとんど利益がないか、おそらくは多少の損失がある可能性があるが、利益は、その後の、ゲーム、コンテンツ、または他のソフトウェアのマージンの高い販売から生成することができる。反対に、ワークステーションまたはパーソナル・コンピュータ・システムの製造業者は、ハードウェア・システムおよび周辺機器の売上だけから利益を得なければならない。
【０００８】
上の考慮事項のすべてを与えられれば、高度なゲーム機類似装置が、高品位表示装置およびブロードバンド・ネットワーク接続と一緒に、最終的に、セット・トップ・ボックスおよびディジタル・ビデオ・レコーダなどのより最近の電子装置を含む、パーソナル・コンピュータおよびビデオ・カセット・レコーダなどの電子装置の多くに取って代わる可能性が非常に高いと多くの産業界の専門家が考えている。極度に現実的で詳細な個人ビデオ・ゲームおよびマルチプレイヤ・ビデオ・ゲームを提供するほかに、高度なゲーム機類似装置は、ウェブ・ブラウジング、電子メール、またはワードプロセッシングなどのさまざまな従来のコンピュータ・アプリケーション、ならびに、映画およびオーディオ・コンテンツのダウンロードおよび再生、電子商取引、インターネット電話、長距離教育、および他のアプリケーションなどのより高度なアプリケーションを提供する。
【０００９】
これらの新生の技術開発のほかに、もう１つの重要な新生の開発が、利用回数料金制（ｐａｙ−ｐｅｒ−ｕｓｅ）ビジネス・モデルの増殖である。この利用回数料金制では、ユーザが、必要に応じてアプリケーション・コードおよびオーディオビジュアル・コンテンツをダウンロードし、特定の制限された使用について支払う。このビジネス・モデルを用いると、ソフトウェア・アプリケーション・プロバイダが、コードの最新版が必ず使用されることを保証できるようになり、これによって、すべての問題をコードのソースで修正できるので、インターオペラビリティの問題が減り、サービス品質が改善される。さらに、より予測可能な収益ストリームも、個人のための減らされたコストと共に生じる。たとえば、複雑なビジネス・ソフトウェア・アプリケーション・スイートで、個々のユーザが、スイートの機能の一部を購入することができ、これは、現在の、スイート全体を購入するがそのごく一部だけを使用するという実践と対照的である。類似する議論が、ディジタル音楽コンテンツにもあてはまり、この場合に、消費者は、曲のコレクション全体を買うのではなく、あるアーティストの少数の曲だけをダウンロードするために支払うことを望むことができる。
【００１０】
これらの考慮事項の組合せから、グラフィック表示にＨＤＴＶシステムを使用する、多数の計算的に高性能な娯楽機器が広範囲に展開された消費者電子装置市場が示される。これらの消費者システムは、ブロードバンド・リンクを介してクライアント／サーバ構成でコンテンツ・サーバに接続される。ユーザ・インターフェースは、コードレス電話受話器およびリモート・コントロールのほかに、無線キーボード、マウス、またはジョイスティックあるいはこれらの組合せなどの無線入力装置とすることができるが、通常のコンピュータ周辺機器も接続することができる。より重要なことに、すべてではないとしてもほとんどのアプリケーション・コードおよびコンテンツが、利用回数料金制または購読契約ベースのビジネス・モデルを使用して、オンデマンドで購入され、ダウンロードされることが期待される。
【００１１】
このタイプの計算環境に対して、ダウンロードされたアプリケーション・コードおよびコンテンツに対する制御を維持すること、クライアント装置とサーバの間の通信のセキュリティを保証することに対する重要な必要がある。そのようなコンテンツの相当な価値に対して、特定のクライアント・システムを認証でき、その後、要求されたコンテンツの使用について正しく請求されながらそのコンテンツも受取を許可されることを保証することが必要である。セキュリティ電子商取引、他の金融取引、およびクライアントとサーバの間の通信全般も、保証されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、コンテンツ制御機構の迂回を防ぎながら、コードにウィルスまたは他の悪意のあるコードが含まれないことを保証する形でダウンロードされたコードの確実性も検証するシステムおよび方法を有することが有利である。実行可能アプリケーション・コードまたは再生可能な形でのオーディオビジュアル・コンテンツの違法なコピーなど、収入をサービス・プロバイダからそらす不適切な形でクライアントがダウンロードされたコンテンツを使用できないことを保証することが特に有利である。
【課題を解決するための手段】
【００１３】
したがって、本発明は、クライアントとサーバの間のセキュア通信の方法、システム、装置、およびコンピュータ・プログラム製品を提供する。クライアント装置は、アプリケーション・コードまたはコンテンツ・データあるいはその両方を、サービス・プロバイダによって運営されるサーバからダウンロードするように構成される。クライアント・プロセッサのチップに、クライアント秘密鍵、一意のクライアント通し番号、およびサーバ公開鍵のコピーが、組み込まれるか固定される。クライアントは、クライアント通し番号を含む要求メッセージを形成し、サーバ公開鍵を用いて要求を暗号化し、ダウンロード要求をサーバに送信する。サーバは、サーバ秘密鍵を用いて要求メッセージを暗号化解除し、クライアント装置を認証する。受信された要求内のクライアント通し番号が、クライアントに組み込まれたクライアント秘密鍵に対応するクライアント公開鍵の探索に使用される。要求された情報のダウンロードの前に、サーバは、要求元クライアントのクライアント公開鍵を用いて情報を暗号化し、要求元クライアントのプロセッサ・チップの秘密鍵だけが、サーバからダウンロードされた情報の暗号化解除に使用可能である。
【００１４】
したがって、本発明は、半導体チップを構成する方法であって、
秘密暗号鍵を選択すること、公開暗号鍵を選択することであって、前記公開暗号鍵および前記秘密暗号鍵が、暗号鍵対関係によって関係しない、選択すること、
前記秘密暗号鍵および前記公開暗号鍵を前記半導体チップの読取専用メモリに組み込むこと
を含む方法を提供する。
【００１５】
方法は、クライアントでのインターフェース処理を提供する前記半導体チップを提供することが好ましい。方法は、さらに、前記半導体チップに関連する通し番号を組み込むことを含む前記組む込むステップを提供することが好ましい。方法は、さらに、前記公開暗号鍵を、前記通し番号に関連してデータベースに保管するステップを提供することが好ましい。方法は、前記読取専用メモリ内の前記秘密暗号鍵および前記公開暗号鍵が、前記半導体チップの入出力接続からアクセス不能であることを提供することが好ましい。
【００１６】
本発明の第２の態様によれば、製造品であって、組込み秘密暗号鍵を含む第１読取専用メモリ構造と、
組込み公開暗号鍵を含む第２読取専用メモリ構造であって、前記公開暗号鍵および前記秘密暗号鍵が、暗号鍵対関係によって関係しない、第２読取専用メモリ構造と
を含む製造品が提供される。
【００１７】
製造品は、半導体チップであることが好ましく、半導体チップは、クライアントでのインターフェース処理を提供することが好ましい。製造品は、ＣＰＵチップの暗号装置に含まれる第１読取専用メモリ構造および第２読取専用メモリ構造を提供することが好ましい。
【００１８】
本発明の第３の態様によれば、データ処理システム内のクライアントとサーバとの間でのセキュア通信が提供される。方法は、前記クライアントでクライアント・メッセージを生成すること、
前記クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索すること、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化すること、
前記クライアント・メッセージを前記サーバに送信すること
を含む。
【００１９】
方法は、クライアント認証データを検索すること、前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索すること、
前記組込みクライアント秘密鍵を用いて前記クライアント認証データを暗号化すること、
前記暗号化されたクライアント認証データを前記クライアント・メッセージに保管すること
をさらに含むことが好ましい。
【００２０】
方法は、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント通し番号を検索すること、
前記組込みクライアント通し番号のコピーを前記クライアント・メッセージに保管すること
をさらに含むことが好ましい。
【００２１】
本発明の第４の態様によれば、データ処理システム内のクライアントとサーバとの間でのセキュア通信の装置であって、
前記クライアントでクライアント・メッセージを生成する手段と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索する手段と、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化する手段と、
前記クライアント・メッセージを前記サーバに送信する手段と
を含む装置が提供される。
【００２２】
装置は、
クライアント認証データを検索する手段と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索する手段と、
前記組込みクライアント秘密鍵を用いて前記クライアント認証データを暗号化する手段と、
前記暗号化されたクライアント認証データを前記クライアント・メッセージに保管する手段と
をさらに含むことが好ましい。
【００２３】
装置は、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント通し番号を検索する手段と、
前記組込みクライアント通し番号のコピーを前記クライアント・メッセージに保管する手段と
をさらに含むことが好ましい。
【００２４】
本発明の第５の態様によれば、クライアントとサーバとの間でのセキュア通信のためにデータ処理システムで使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記クライアントでクライアント・メッセージを生成する命令と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索する命令と、
前記組込みサーバ公開鍵を用いて前記クライアント・メッセージを暗号化する命令と、
前記クライアント・メッセージを前記サーバに送信する命令と
を含むコンピュータ・プログラム製品が提供される。
【００２５】
コンピュータ・プログラム製品は、
クライアント認証データを検索する命令と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索する命令と、
前記組込みクライアント秘密鍵を用いて前記クライアント認証データを暗号化する命令と、
前記暗号化されたクライアント認証データを前記クライアント・メッセージに保管する命令と
を含むことが好ましい。
【００２６】
コンピュータ・プログラム製品は、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント通し番号を検索する命令と、
前記組込みクライアント通し番号のコピーを前記クライアント・メッセージに保管する命令と
をさらに含むことが好ましい。
【００２７】
本発明の第６の態様によれば、データ処理システム内でのクライアントとサーバとの間のセキュア通信の方法であって、
前記サーバでサーバ・メッセージを生成すること、
前記クライアントによって要求された情報を検索すること、
前記検索された情報を前記サーバ・メッセージに保管すること、
クライアント公開鍵を検索することであって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索すること、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化すること、
前記サーバ・メッセージを前記クライアントに送信すること
を含む方法が提供される。
【００２８】
方法は、さらに、
サーバ認証データを検索すること、
サーバ秘密鍵を検索すること、
サーバ秘密鍵を用いてサーバ認証データを暗号化すること、
暗号化されたサーバ認証データをサーバ・メッセージに保管すること
を含むことが好ましい。
【００２９】
本発明の第７の態様によれば、データ処理システム内のクライアントとサーバとの間でのセキュア通信の装置であって、
前記サーバでサーバ・メッセージを生成する手段と、
前記クライアントによって要求された情報を検索する手段と、
前記検索された情報を前記サーバ・メッセージに保管する手段と、
クライアント公開鍵を検索する手段であって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索する手段と、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化する手段と、
前記サーバ・メッセージを前記クライアントに送信する手段と
を含む装置が提供される。
【００３０】
装置は、さらに、
サーバ認証データを検索する手段と、
サーバ秘密鍵を検索する手段と、
サーバ秘密鍵を用いてサーバ認証データを暗号化する手段と、
暗号化されたサーバ認証データをサーバ・メッセージに保管する手段と
を含むことが好ましい。
【００３１】
本発明の第８の態様によれば、クライアントとサーバとの間のセキュア通信のためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記サーバでサーバ・メッセージを生成する命令と、
前記クライアントによって要求された情報を検索する命令と、
前記検索された情報を前記サーバ・メッセージに保管する命令と、
クライアント公開鍵を検索する命令であって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索する命令と、
前記クライアント公開鍵を用いて前記サーバ・メッセージを暗号化する命令と、
前記サーバ・メッセージを前記クライアントに送信する命令と
を含むコンピュータ・プログラム製品が提供される。
【００３２】
コンピュータ・プログラム製品は、さらに、
サーバ認証データを検索する命令と、
サーバ秘密鍵を検索する命令と、
サーバ秘密鍵を用いてサーバ認証データを暗号化する命令と、
暗号化されたサーバ認証データをサーバ・メッセージに保管する命令と
を含むことが好ましい。
【００３３】
本発明の第９の態様によれば、データ処理システム内のクライアントとサーバとの間のセキュア通信の方法であって、
前記クライアントからクライアント・メッセージを受信すること、
サーバ秘密鍵を検索すること、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除すること、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索すること、
前記検索されたクライアント通し番号に関連して保管されたクライアント公開鍵を検索することであって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索すること
を含む方法が提供される。
【００３４】
方法は、さらに、
クライアント・メッセージから暗号化されたクライアント認証データを検索すること、
検索されたクライアント公開鍵を用いてクライアント認証データを暗号化解除すること、
暗号化解除されたクライアント認証データを検証すること
を含むことが好ましい。
【００３５】
本発明の第１０の態様によれば、データ処理システム内のクライアントとサーバとの間のセキュア通信の装置であって、
前記クライアントからクライアント・メッセージを受信する手段と、
サーバ秘密鍵を検索する手段と、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除する手段と、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索する手段と、
前記検索されたクライアント通し番号に関連して保管されたクライアント公開鍵を検索する手段であって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索する手段と
を含む装置が提供される。
【００３６】
装置は、さらに、
クライアント・メッセージから暗号化されたクライアント認証データを検索する手段と、
検索されたクライアント公開鍵を用いてクライアント認証データを暗号化解除する手段と、
暗号化解除されたクライアント認証データを検証する手段と
を含むことが好ましい。
【００３７】
本発明の第１１の態様によれば、クライアントとサーバとの間のセキュア通信のためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記クライアントからクライアント・メッセージを受信する命令と、
サーバ秘密鍵を検索する命令と、
前記サーバ秘密鍵を用いて前記クライアント・メッセージを暗号化解除する命令と、
前記暗号化解除されたクライアント・メッセージからクライアント通し番号を検索する命令と、
前記検索されたクライアント通し番号に関連して保管されたクライアント公開鍵を検索する命令であって、前記クライアント公開鍵が、前記クライアント内の製造品内の読取専用メモリ構造内の組込みクライアント秘密鍵に対応する、検索する命令と
を含むコンピュータ・プログラム製品が提供される。
【００３８】
コンピュータ・プログラム製品は、さらに、
クライアント・メッセージから暗号化されたクライアント認証データを検索する命令と、
検索されたクライアント公開鍵を用いてクライアント認証データを暗号化解除する命令と、
暗号化解除されたクライアント認証データを検証する命令と
を含むことが好ましい。
【００３９】
本発明の第１２の態様によれば、データ処理システム内のクライアントとサーバとの間のセキュア通信の方法であって、
前記サーバからサーバ・メッセージを受信すること、
前記クライアントの製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索すること、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除すること
を含む方法が提供される。
【００４０】
方法は、さらに、
サーバ・メッセージから暗号化されたサーバ認証データを検索すること、
クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索すること、
組込みサーバ公開鍵を用いてサーバ認証データを暗号化解除すること、
暗号化解除されたサーバ認証データを検証すること
を含むことが好ましい。
【００４１】
方法は、さらに、
サーバ・メッセージから要求される情報を検索すること、
暗号化解除されたサーバ認証データが検証されたと判定されることに応答して、要求された情報を処理すること
を含むことが好ましい。
【００４２】
本発明の第１３の態様によれば、データ処理システム内のクライアントとサーバとの間のセキュア通信の装置であって、
前記サーバからサーバ・メッセージを受信する手段と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索する手段と、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除する手段と
を含む装置が提供される。
【００４３】
装置は、さらに、
サーバ・メッセージから暗号化されたサーバ認証データを検索する手段と、
クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索する手段と、
組込みサーバ公開鍵を用いてサーバ認証データを暗号化解除する手段と、
暗号化解除されたサーバ認証データを検証する手段と
を含むことが好ましい。
【００４４】
装置は、さらに、
サーバ・メッセージから要求される情報を検索する手段と、
暗号化解除されたサーバ認証データが検証されたと判定されることに応答して、要求された情報を処理する手段と
を含むことが好ましい。
【００４５】
本発明の第１４の態様によれば、クライアントとサーバとの間のセキュア通信ためにデータ処理システム内で使用される、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記サーバからサーバ・メッセージを受信する命令と、
前記クライアント内の製造品内の読取専用メモリ構造から組込みクライアント秘密鍵を検索する命令と、
前記組込みクライアント秘密鍵を用いて前記サーバ・メッセージを暗号化解除する命令と
を含むコンピュータ・プログラム製品が提供される。
【００４６】
コンピュータ・プログラム製品は、さらに、
サーバ・メッセージから暗号化されたサーバ認証データを検索する命令と、
クライアント内の製造品内の読取専用メモリ構造から組込みサーバ公開鍵を検索する命令と、
組込みサーバ公開鍵を用いてサーバ認証データを暗号化解除する命令と、
暗号化解除されたサーバ認証データを検証する命令と
を含むことが好ましい。
【００４７】
コンピュータ・プログラム製品は、さらに、
サーバ・メッセージから要求される情報を検索する命令と、
暗号化解除されたサーバ認証データが検証されたと判定されることに応答して、要求された情報を処理する命令と
を含むことが好ましい。
【発明を実施するための最良の形態】
【００４８】
本発明は、データ処理システム内でのアプリケーション・コードおよびコンテンツ・データの配布を制御するシステムおよび方法を対象とする。背景として、分散データ処理システム内のハードウェア構成要素およびソフトウェア構成要素の通常の編成を、本発明を詳細に説明する前に説明する。
【００４９】
図面に関して、図１に、本発明を含むか、本発明を動作させるか、その両方を行うことができる、データ処理システムの通常のネットワークを示す。分散データ処理システム１００には、ネットワーク１０１が含まれ、ネットワーク１０１は、分散データ処理システム１００内で一緒に接続されたさまざまな装置およびコンピュータの間の通信リンクを提供するのに使用することができる媒体である。ネットワーク１０１には、ワイヤまたは光ファイバ・ケーブルなどの永久的接続あるいは電話通信または無線通信を介して行われる一時的接続を含めることができる。図示の例では、サーバ１０２およびサーバ１０３が、記憶装置１０４と共にネットワーク１０１に接続される。さらに、クライアント１０５から１０７も、ネットワーク１０１に接続される。クライアント１０５から１０７およびサーバ１０２から１０３は、メインフレーム、パーソナル・コンピュータ、携帯情報端末（ＰＤＡ）などのさまざまな計算装置によって表すことができる。分散データ処理システム１００に、図示されていない、追加のサーバ、クライアント、ルータ、他の装置、およびピアツーピア・アーキテクチャを含めることができる。
【００５０】
図示の例では、分散データ処理システム１００に、ＬＤＡＰ（Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネット・プロトコル）、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）、ＷＡＰ（Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）などの、さまざまなプロトコルを使用して互いに通信するネットワークおよびゲートウェイの全世界にわたる集合を表すネットワーク１０１を含むインターネットが含まれる。もちろん、分散データ処理システム１００に、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）などの、複数の異なるタイプのネットワークを含めることもできる。たとえば、サーバ１０２は、クライアント１０９およびネットワーク１１０を直接にサポートし、ネットワーク１１０には、無線通信リンクが組み込まれている。ネットワーク対応電話機１１１は、無線リンク１１２を介してネットワーク１１０に接続され、ＰＤＡ１１３は、無線リンク１１４を介してネットワーク１１０に接続される。電話機１１１およびＰＤＡ１１３は、Ｂｌｕｅｔｏｏｔｈ（商標）無線技術などの適当な技術を使用する無線リンク１１５を介してそれら自体の間で直接にデータを転送して、いわゆるパーソナル・エリア・ネットワーク（ＰＡＮ）またはパーソナル・アドホック・ネットワークを作成することができる。類似する形で、ＰＤＡ１１３が、無線通信リンク１１６を介してＰＤＡ１０７にデータを転送することができる。
【００５１】
本発明は、さまざまなハードウェア・プラットフォームで実施することができる。図１は、異機種計算環境の例として意図されたものであって、本発明に対するアーキテクチャ的制限として意図されたものではない。
【００５２】
図２に関して、図１に示されたものなど、本発明を実施することができるデータ処理システムの通常のコンピュータ・アーキテクチャが、図に示されている。データ処理システム１２０には、内部システム・バス１２３に接続された１つまたは複数の中央処理装置（ＣＰＵ）１２２が含まれ、この内部システム・バス１２３によって、ランダム・アクセス・メモリ（ＲＡＭ）１２４、読取専用メモリ１２６、および入出力アダプタ１２８が相互接続され、この入出力アダプタ１２８は、プリンタ１３０、ディスク装置１３２、またはオーディオ出力システムなどの図示されていない他の装置などのさまざまな入出力装置をサポートする。システム・バス１２３によって、通信リンク１３６へのアクセスを提供する通信アダプタ１３４も接続される。ユーザ・インターフェース・アダプタ１４８によって、キーボード１４０およびマウス１４２などのさまざまなユーザ装置あるいはタッチ・スクリーン、スタイラス、マイクロホンなどの図示されていない他の装置が接続される。ディスプレイ・アダプタ１４４によって、システム・バス１２３が表示装置１４６に接続される。
【００５３】
当業者は、図２のハードウェアを、システム実施形態に応じて変更できることを理解するであろう。たとえば、このシステムは、ディジタル信号プロセッサ（ＤＳＰ）および他のタイプの特殊目的プロセッサを含む１つまたは複数のプロセッサと、１つまたは複数のタイプの揮発性メモリおよび不揮発性メモリを有することができる。図２に示されたハードウェアに追加して、またはその代わりに、他の周辺装置を使用することができる。言い換えると、当業者は、ウェブ対応電話機またはネットワーク対応電話機と機能満載のデスクトップ・ワークステーションで類似する構成要素または類似するアーキテクチャを見つけることを期待しない。図示の例は、本発明に関するアーキテクチャ的制限を暗示することを意図されたものではない。
【００５４】
さまざまなハードウェア・プラットフォームで実施できることのほかに、本発明は、さまざまなソフトウェア環境で実施することができる。通常のオペレーティング・システムを使用して、各データ処理システム内でのプログラム実行を制御する。たとえば、ある装置で、Ｕｎｉｘ（Ｒ）オペレーティング・システムを実行し、別の装置に単純なＪａｖａ（Ｒ）ランタイム環境を含めることができる。代表的なコンピュータ・プラットフォームに、ブラウザを含めることができ、ブラウザは、グラフィック・ファイル、ワード・プロセッシング・ファイル、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）、ＨＤＭＬ（Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＷＭＬ（Ｗｉｒｅｌｅｓｓ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などのさまざまなフォーマット、およびさまざまな他のフォーマットおよびタイプのファイルのハイパーテキスト文書にアクセスする周知のソフトウェア・アプリケーションである。
【００５５】
本発明は、上で説明したように、さまざまなハードウェア・プラットフォームおよびソフトウェア・プラットフォームで実施することができる。具体的に言うと、本発明は、データ処理システム内のアプリケーション・コードおよびコンテンツ・データの配布を制御するシステムおよび方法に関する。この目標を達成するために、本発明では、認証処理および許可処理に、新規の形で暗号鍵を使用する。本発明を詳細に説明する前に、本発明の動作の効率および他の長所を評価するために、公開鍵暗号に関する背景情報を提供する。
【００５６】
公開鍵暗号では、通信またはトランザクションにかかわる各当事者が、公開鍵および秘密鍵と称する鍵の対を有することが必要である。各当事者の公開鍵は、別の当事者に公開または提供することができるが、秘密鍵は、秘密に保たれる。公開鍵は、特定の実体に関連する数であり、その実体と信頼性のある対話を有する必要があるすべての人に知られることが意図されている。秘密鍵は、特定の実体だけに知られると思われるすなわち秘密に保たれる数である。通常の公開鍵暗号システムでは、ある秘密鍵が、正確に１つの公開鍵に対応する。
【００５７】
公開鍵暗号システムでは、すべての通信に公開鍵だけが用いられ、秘密鍵は送信または共用もされないので、機密メッセージを、公開情報だけを使用して生成することができ、意図された受信側だけが所有する秘密鍵を使用することによらなければ暗号化解除できない。さらに、公開鍵暗号は、認証すなわちディジタル署名ならびにプライバシすなわち暗号化に使用することができる。
【００５８】
暗号化は、秘密の暗号化解除鍵を有しないすべての人に可読でない形へのデータの変換である。暗号化によって、暗号化されたデータを見ることができる人であっても、所期の人以外の誰からも情報の内容を隠すことによって、プライバシが保証される。認証は、ディジタル・メッセージの受信側が、送信側の身元またはメッセージの保全性あるいはその両方をそれによって確信することができるようにする処理である。
【００５９】
たとえば、送信側がメッセージを暗号化する時に、受信側の公開鍵を使用して、元のメッセージ内のデータを暗号化されたメッセージの内容に変換する。送信側は、公開鍵を使用してデータを暗号化し、受信側は、秘密鍵を使用して、暗号化されたメッセージを暗号化解除する。
【００６０】
データを認証する時には、データおよび署名者の秘密鍵からディジタル署名を計算することによって、データに署名することができる。データにディジタル署名したならば、そのデータを、署名者の識別および、データがその署名者から発したことを保証する署名と共に保管することができる。署名者は、秘密鍵を使用してデータに署名し、受信側は、公開鍵を使用して署名を検証する。
【００６１】
上で述べたように、本発明は、分散データ処理システム内でのアプリケーション・コードおよびコンテンツ・データの配布を制御するシステムおよび方法を対象とする。この目標を達成するために、本発明では、残りの図面に関して詳細に説明するシステム・アーキテクチャおよび１組の処理を使用する。
【００６２】
図３に関して、ブロック図に、本発明の好ましい実施形態による、永久的なハードウェア組込み暗号鍵を使用する、アプリケーション・コードおよびコンテンツのセキュア通信のためのデータ処理システムが示されている。システム２００では、クライアント２０２は、通信リンク２１０を介してサーバ２０８のサーバ通信ユニット２０６と通信するために、クライアント通信ユニット２０４を使用する。周知のまたは独自のネットワーク通信プロトコルの使用のほかに、クライアント２０２およびサーバ２０８が、適当なプロトコルを使用して通信して、要求メッセージおよび応答メッセージを交換して、クライアントとサーバの間の必要なアプリケーション・セッションを確立することができることにも留意されたい。たとえば、下で詳細に説明するように、クライアント２０２は、適当なプロトコルおよびメッセージ・フォーマットを使用して、サーバ２０８からセキュア・アプリケーション・コードおよびコンテンツ・データをダウンロードすることができる。
【００６３】
図３の分散データ処理システム２００は、図１のシステム１００に似ており、クライアント２０２およびサーバ２０８は、図２のシステム１２０に似ている。システム２００に、複数のクライアント２０２および複数のサーバ２０８を含めることができる。
【００６４】
より重要なことに、図３からわかるように、クライアント２０２に、それ自体に特殊目的処理ユニットまたは特殊目的処理構造すなわち暗号装置２１４が含まれるクライアントＣＰＵ２１２が含まれる。クライアントＣＰＵ２１２には、キャッシュなど、この図に示されていない他の標準的な処理ユニットおよび処理構造が含まれる。
【００６５】
クライアントＣＰＵ２１２は、特別に製造されたチップのクラスに属する、特殊目的クライアントシステム・プロセッサ・チップである。これらのクライアント・システムＣＰＵチップは、暗号機能性を有するように設計され、その結果、システム２００などの、下で詳細に説明する、ある目的のための特定の分散データ処理システム内で最適に使用できるようになる。各クライアントＣＰＵチップが、製造され、テストされた後に、各クライアントＣＰＵチップに、一意のクライアント通し番号および一意のクライアント公開鍵／秘密鍵対が割り当てられる。クライアントＣＰＵチップの製造業者は、製造業者に既知とすることもそうしないこともできるサーバ秘密鍵に関連するサーバ公開鍵の知識も有する。
【００６６】
各クライアントＣＰＵチップは、プログラマブル・メモリ・ストレージを含むように製造された暗号装置を有する。クライアントＣＰＵチップを発売する前に、製造業者は、割り当てられたクライアント通し番号、割り当てられたクライアント秘密鍵、およびサーバ公開鍵を、ＣＰＵチップに永久に組み込むか固定する。図３からわかるように、クライアントＣＰＵチップ２１２に、暗号装置２１４が含まれ、暗号装置２１４には、クライアント通し番号２１６、クライアント秘密鍵２１８、およびサーバ公開鍵２２０が含まれる。ＤＲＡＭ製造で使用される、半導体ヒューズの溶解など、半導体チップに２進データを組み込むさまざまな周知の方法が、使用可能である。
【００６７】
クライアントＣＰＵチップの製造業者は、クライアント秘密鍵２１８の既存のコピーをすべて破壊することができるが、クライアント秘密鍵２１８に対応するクライアント通し番号２１６およびクライアント公開鍵は、サーバのクライアント公開鍵データベース２２２に保管するなど、後続の使用および開発のために関連して保存される。その一方で、サーバ公開鍵２２０に対応するサーバ秘密鍵２２４は、セキュア・データベース２２６内など、セキュアに保管される。システム２００に複数のサーバ２０８が含まれる場合には、クライアント２０２と通信する必要がある各サーバが、サーバ秘密鍵２２４へのアクセスを必要とする。
【００６８】
クライアント２０２は、そのクライアントＣＰＵ２１２を使用して、サーバ２０８と通信して、残りの図面に示され、下でさらに詳細に説明される処理に関して説明されるように、暗号化されたアプリケーション・コード２２８および暗号化されたコンテンツ・データ２３０を要求し、ダウンロードする。
【００６９】
図４に関して、流れ図に、本発明の好ましい実施形態による、図３に関して説明したクライアントＣＰＵチップを含むクライアント・システムが暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方を要求する処理が示されている。図４に示されたステップは、クライアントＣＰＵ内で行われ、暗号化ステップおよび暗号化解除ステップは、組込みクライアント値が明かされないように保護する形で行われる。言い換えると、好ましい実施形態では、暗号処理の計算リソースおよびメモリ・リソースのすべてが、図３の暗号装置２１４など、自己内蔵型ユニットとしてクライアントＣＰＵチップ内に完全に組み込まれなければならない。
【００７０】
図４に示された流れ図では、図３のクライアント２０２などのクライアント・システムのオペレータまたはユーザが、図３のサーバ２０８などの対応するサーバを運営する特定のアプリケーション・サービス・プロバイダまたはコンテンツ・サービス・プロバイダあるいはその両方に、セキュア・アプリケーション・コードまたはコンテンツ・データあるいはその両方を要求することを試みている。ユーザは、サービス・プロバイダからクライアント装置を購入した可能性があり、またはその代わりに、クライアント装置の製造業者およびサービス・プロバイダが、クライアント装置の購入者がサービス・プロバイダからサービスを購入できるようにするように契約によって束縛される。どの場合でも、適当な初期化、構成、および財務的な処理または配置が、完全にまたは他の形で実行され、サービス・プロバイダのサーバ装置が、期待される形でユーザのクライアント装置と相互動作するコードまたはコンテンツあるいはその両方を供給すると仮定する。
【００７１】
この処理は、クライアントが、サーバに送信されるクライアント要求メッセージを生成することから開始される（ステップ３０２）。組込みクライアント通し番号が、クライアント要求メッセージに保管され（ステップ３０４）、特定のアプリケーションまたはコンテンツを識別するか、何らかの形で要求を限定するのに必要なすべての要求パラメータも、クライアント要求メッセージに保管される（ステップ３０６）。
【００７２】
その後、クライアント認証データが、検索され（ステップ３０８）、組込みクライアント秘密鍵を使用して暗号化される（ステップ３１０）。クライアント認証データの内容は、本発明の実施形態に応じて変更することができるが、サーバによって簡単に検証可能なデータ項目であることが好ましい。最も単純な場合に、クライアント認証データは、組込みクライアント通し番号のもう１つのコピーとするか、追加のセキュリティのために、クライアント認証データに、サーバ・プロバイダの有効なアカウントに関連するユーザ識別子を含めることができる。暗号化されたクライアント認証データを、クライアント要求メッセージに保管する（ステップ３１２）。
【００７３】
その後、クライアント要求メッセージ全体を、組込みサーバ公開鍵を用いて暗号化し（ステップ３１４）、暗号化されたクライアント要求メッセージを、適当なネットワーク・パケットにペイロード・データとして保管する（ステップ３１６）。その後、ネットワーク・パケットを、サービス・プロバイダのサーバに送信し（ステップ３１８）、クライアント要求を生成する処理が完了する。
【００７４】
図５に関して、流れ図に、本発明の好ましい実施形態による、必要なサーバ秘密鍵の知識を有するサーバ・システムが、暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方に関する要求をクライアントから受信し、認証する処理が示されている。図５および６に示されたステップは、サービス・プロバイダによって制御されるデータ処理環境で行われる。これらのステップは、必ずしもすべてが単一のサーバ内で完了しないが、サーバ秘密鍵のセキュリティを保護するのに必要な予防手段が講じられると仮定する。
【００７５】
この処理は、サーバが、要求元クライアント装置から暗号化されたクライアント要求メッセージを受信することから開始される（ステップ４０２）。暗号化されたクライアント要求メッセージを、ネットワーク・パケットからアンロードし、サーバ秘密鍵を使用して暗号化解除する（ステップ４０４）。クライアント通し番号を、暗号化解除されたクライアント要求メッセージから検索し（ステップ４０６）、これを使用して、適当なデータベースまたはディレクトリの関連するクライアント公開鍵を探索する（ステップ４０８）。クライアント公開鍵が突き止められたと仮定して、それを検索し（ステップ４１０）、暗号化されたクライアント認証データを、暗号化解除されたクライアント要求メッセージから検索（ステップ４１２）した後に、暗号化されたクライアント認証データを、クライアント公開鍵を用いて暗号化解除する（ステップ４１４）。適当な形でクライアント認証データを検証（ステップ４１６）した後に、クライアント要求メッセージを受信し、認証する処理が完了し、サーバは、要求に応答するダウンロード処理に進むことができる。
【００７６】
図６に関して、流れ図に、本発明の好ましい実施形態による、必要なサーバ秘密鍵の知識を有するサーバ・システムが、要求された暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方を検索し、クライアントに送信する処理が示されている。この処理は、サーバが、サーバ応答メッセージを生成し（ステップ５０２）、クライアントによって具体的に要求されたアプリケーション・コードまたはコンテンツ・データあるいはその両方を検索する（ステップ５０４）ことから開始される。その後、要求されたアプリケーション・コードまたはコンテンツ・データあるいはその両方を、サーバ応答メッセージに保管する（ステップ５０６）。
【００７７】
その後、サーバ認証データを検索し（ステップ５０８）、サーバ秘密鍵を使用して暗号化し（ステップ５１０）、サーバ応答メッセージに保管する（ステップ５１２）。サーバ認証データの内容は、本発明の実施形態に応じて変更することができるが、クライアントによって簡単に検証可能なデータ項目であることが好ましい。最も単純な場合に、サーバ認証データを、組込みサーバ公開鍵のもう１つのコピーとすることができ、あるいは、追加のセキュリティのために、サーバ認証データに、サービス・プロバイダのアカウントに関するユーザ識別子を含めることができる。
【００７８】
その後、サーバ応答メッセージ全体を、要求元クライアントのクライアント公開鍵を用いて暗号化し（ステップ５１４）、暗号化されたサーバ応答メッセージを、適当なネットワーク・パケットにペイロード・データとして保管する（ステップ５１６）。ネットワーク・パケットを要求元クライアント装置に送信し（ステップ５１８）、要求された情報をサーバ・プロバイダから供給する処理が完了する。
【００７９】
図７に関して、流れ図に、本発明の好ましい実施形態による、クライアント・システムが、要求された暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方を受信する処理が示されている。やはり、図７に示されたステップは、クライアントＣＰＵ内で行われ、暗号化ステップおよび暗号化解除ステップは、組込みクライアント値が明かされないように保護する形で行われる。言い換えると、好ましい実施形態では、暗号処理の計算リソースおよびメモリ・リソースのすべてが、クライアントＣＰＵに組み込まれなければならず、図３の暗号装置２１４など、クライアントＣＰＵのユニット内で自己内蔵されることが好ましい。
【００８０】
この処理は、クライアントが暗号化されたサーバ応答メッセージを受信することから開始される（ステップ６０２）。クライアントは、組込みクライアント秘密鍵を用いて、暗号化されたサーバ応答メッセージを暗号化解除する（ステップ６０４）。暗号化されたサーバ認証データを、検索し（ステップ６０６）、組込みサーバ公開鍵を用いて暗号化解除し（ステップ６０８）、適当な形で検証する（ステップ６１０）。認証データが検証されると仮定すると、要求されたアプリケーション・コードまたはコンテンツ・データを、暗号化解除されたサーバ応答メッセージから検索し（ステップ６１２）、クライアント装置によって、適当な形でアプリケーション・コードを実行するか、コンテンツ・データを提示する（ステップ６１４）。代替案では、アプリケーション・コードまたはコンテンツ・データを、暗号化し、後の使用のためにセキュアな形で保管することができる。その後、要求されたアプリケーション・コードまたはコンテンツ・データを受信し、使用する処理が、完了する。
【００８１】
図４から７に示された暗号化ステップまたは暗号化解除ステップのいずれかで失敗する場合に、適当なエラー手段を講じることができる。伝送中のビット・エラーが、基礎となる伝送プロトコルを使用して、クライアントおよびサーバの通信ユニットによって処理または訂正されるので、暗号化ステップまたは暗号化解除ステップで失敗するはずがないと仮定すると、クライアントまたはサーバは、適宜、エラー信号、エラー・メッセージ、エラー通知、エラー・ログなどを生成することができる。適宜、他の処置を講じることができる。たとえば、クライアントの要求の認証の失敗の繰り返しによって、クライアント装置に関するサービスまたはサービス呼出しの生成の打切りをもたらすことができる。
【００８２】
組込みクライアント通し番号、組込みクライアント秘密鍵、および組込みサーバ公開鍵を、クライアントＣＰＵの暗号装置からそのＣＰＵの他のユニットに読み取ることができないように、クライアントＣＰＵのアーキテクチャが配置され、これによって、組込み値が保護され、ダウンロードされた暗号化されたアプリケーション・コードまたはダウンロードされた暗号化されたコンテンツ・データが、サーバの応答が向けられたクライアントだけに対して価値を有することが保証されると仮定される。言い換えると、悪意を持つ実体が外部情報フローを監視できないように、暗号化処理に関する計算リソースおよびメモリ・リソースのすべてが、たとえば図３の暗号装置２１４内など、クライアント・プロセッサ・チップ内に組み込まれなければならない。
【００８３】
より重要なことに、組込み値が暗号装置によって絶対に使用されるように、クライアントＣＰＵのアーキテクチャが配置されると仮定される。言い換えると、暗号装置は、組込み値以外の暗号鍵値を一切使用することができない。したがって、攻撃者は、組込み値を読み取ることも、他の暗号鍵値に置換することも、試みることができない。そうでなければ、攻撃者が、下記の形で「トロイの木馬」攻撃を試みることができる。攻撃者は、攻撃者に既知の秘密鍵に対応する偽のサーバ公開鍵をクライアントＣＰＵに注入する。クライアントＣＰＵが、攻撃者からの悪意のあるコード断片を受信した場合に、そのコードは、注入された偽の公開鍵を用いて正しく暗号化解除されるので、暗号化されたアプリケーション・コードの合法的なパケットであるように見える。クライアントＣＰＵアーキテクチャが、クライアント秘密鍵を汎用レジスタにロードすることができるように構成されている場合に、それを行うことによって、悪意のあるコードの後続の実行を使用して、組込みクライアント秘密鍵を暴くことができる。
【００８４】
好ましい実施形態では、サービス・プロバイダのサーバからダウンロードされたアプリケーション・コードを上で説明した形で認証できない場合に、クライアントＣＰＵのアーキテクチャによって、ダウンロードされたアプリケーション・コードがクライアントＣＰＵの制御を得ることができなくなっていることも仮定される。言い換えると、サーバからダウンロードされたアプリケーション・コードを実行する前に、そのコードが、信頼されるサーバから発するものとして認証されなければならない。これによって、ダウンロードされるコードが、本当に、信頼されるサーバから発したものであることが保証され、これによって、悪意のある攻撃がクライアント装置上で行われないことが保証される。クライアント装置が信頼されるサーバからダウンロードされるとみなすすべてのアプリケーション・コードに対して認証処理を実行することは、時間がかかる可能性はあるが、コンテンツおよびダウンロードされるアプリケーション・コードのすべてに対して公開鍵アルゴリズムを実行する必要はない。たとえば、ダウンロードされるコードの小さい部分を、公開鍵アルゴリズムを使用して認証することができるが、ダウンロードされるアプリケーションの残りの部分は、計算的により安価な保全性検査アルゴリズムを使用して検査することができる。対称鍵クラスの暗号化アルゴリズムが、そのような技法の１例であり、これらのアルゴリズムでは、暗号化／暗号化解除に必要な計算がより少ないが、通信セッションを開始する前の、クライアントとサーバの間のセキュアな鍵交換が必要である。このタイプの検証を行うために、サーバ公開鍵を使用して認証されるアプリケーション・コードに、対称鍵を使用するダウンロードを実行する小さいプログラムを含めることができ、この小さいプログラムが、認証された後に実行されて、残りのアプリケーション・コードまたはコンテンツ・データをダウンロードする。
【００８５】
本発明の利点は、上で与えた本発明の詳細な説明に鑑みて明白である。プロセッサ・チップ内で暗号鍵を保管し、使用する新規の形を使用することによって、本発明を用いて、ダウンロードされるアプリケーション・コードおよびコンテンツをセキュアに制御できるようになる。さらに、クライアント装置とサーバの間のセキュア通信、クライアントとサーバの間の認証および許可、およびセキュア電子商取引および他の金融取引など、従来のセキュリティ要件を提供することができる。
【００８６】
しかし、より重要なことに、コンテンツ制御機構の迂回を防ぐことができると同時に、ダウンロードされたコードにウィルスまたは他の悪意のあるコードが含まれないことを保証する形で、ダウンロードされたコードの確実性が検証される。ターゲット・クライアントのプロセッサ・チップに、クライアント秘密鍵、通し番号、および１つまたは複数のサーバ公開鍵が組み込まれる。サーバがクライアントにアプリケーション・コードまたはコンテンツ・データをダウンロードする前に、情報が、要求元クライアントの公開鍵を用いて暗号化され、要求元クライアントのプロセッサ・チップ内の秘密鍵だけが、サーバからダウンロードされる情報の暗号解除に使用可能である。したがって、暗号化された情報が、類似するプロセッサ・チップを有するクライアントによってインターセプトされる場合であっても、ダウンロードされた情報は、インターセプトしたクライアントにとって価値がない。さらに、サーバの公開鍵のコピーを使用して、ダウンロードされた情報の正当性を検証することができ、これによって、ダウンロードされたアプリケーション・コードのどれにも、ウィルスまたは悪意のあるコードが含まれないことが保証される。さらに、別のクライアント・システムに渡される、ダウンロードされた情報の違法コピーは、価値がない。複数のサーバ公開鍵を、異なる目的のために組み込むことができる。たとえば、サーバ公開鍵の１つを、インターネット通信に使用することができ、もう１つのサーバ公開鍵を、無線通信に使用することができる。もう１つの例として、異なるサーバ公開鍵を、異なるサービス・プロバイダに対応させることができ、あるいは、複数のサーバ公開鍵を、サーバ秘密鍵が危険にさらされたと判定される場合の予備またはバックアップとして保管することができる。
【００８７】
本発明を、完全に機能するデータ処理システムに関して説明したが、本発明に関連する処理の一部を、配布の実行に実際に使用される信号軸受け媒体の特定のタイプに無関係に、コンピュータ可読媒体およびさまざまな他の形に含まれる命令の形で分配することができることを当業者が理解することに留意することが重要である。コンピュータ可読媒体の例には、ＥＰＲＯＭ、ＲＯＭ、テープ、紙、フロッピ・ディスク、ハード・ディスク、ＲＡＭ、およびＣＤ−ＲＯＭなどの媒体と、ディジタル通信リンクおよびアナログ通信リンクなどの伝送型媒体が含まれる。
【００８８】
具体的に言うと、サーバに対して要求元クライアントの身元を確認するために通し番号を送信することが、必須ではないことに留意されたい。各クライアントが、一意の公開暗号鍵対を有する場合に、その代わりにこれを送信することができる。サーバは、クライアント通し番号および関連する公開暗号鍵のデータベースを保存する必要がない。というのは、クライアント要求メッセージを暗号化解除したならば、サーバは、そのメッセージから直接に、必要な公開鍵を入手するからである。しかし、それでも、サーバは、登録された公開鍵のリストを維持する必要があり、処理の前に、受信した鍵がそのリストに含まれることを確認しなければならない。これが行われない場合には、要求および認証のデータ・フィールドがどのように構成されるかを知っている攻撃者が、暗号鍵の任意に選択された対を使用して、有効な要求を単純に生成することができる。通し番号を使用することによって、攻撃者が、有効な要求を作成するために、この通し番号および対応する公開鍵の両方を入手する必要も生じる。これらの鍵は、「公開」と呼ばれるが、これは、鍵が必ず公開されることを意味するのではなく、そのような鍵が、クライアントが接続されるサービス・プロバイダのサーバ位置のセキュア・ストレージに保持されることが好ましい。
【００８９】
最後に、本発明を、プロセッサ・チップに関して説明したが、本発明が、ネットワーク・インターフェース・カードまたはネットワーク・インターフェース・チップ内、あるいは他の種類のインターフェース処理装置またはインターフェース処理システムに常駐することもでき、汎用プロセッサに制限されないことを理解されたい。従来の技術で参照されたＴＣＰＡサブシステム・チップが、その例である。
【００９０】
本発明の説明は、例示のために提示されたものであって、網羅的であることまたは開示された実施形態に制限することを意図されたものではない。多数の修正形態および変形形態が、当業者に明白であろう。この実施形態は、本発明の原理および実用的な応用例を説明するため、および、他の企図される使用に適する可能性があるさまざまな修正を加えたさまざまな実施形態を実施するために当業者が本発明を理解できるようにするために選択されたものである。
【図面の簡単な説明】
【００９１】
【図１】本発明を実施することができる通常の分散データ処理システムを示す図である。
【図２】本発明を実施することができるデータ処理システム内で使用することができる通常のコンピュータ・アーキテクチャを示す図である。
【図３】本発明の好ましい実施形態による、永久的なハードウェア組込み暗号鍵を使用する、アプリケーション・コードおよびコンテンツのセキュア通信のためのデータ処理システムを示すブロック図である。
【図４】本発明の好ましい実施形態による、図３に関して説明したクライアントＣＰＵチップを含むクライアント・システムが暗号化されたアプリケーション・コードおよび暗号化されたコンテンツを要求し、入手する処理を示す流れ図である。
【図５】本発明の好ましい実施形態による、必要なサーバ秘密鍵の知識を有するサーバ・システムが、暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方に関する要求をクライアントから受信し、認証する処理を示す流れ図である。
【図６】本発明の好ましい実施形態による、必要なサーバ秘密鍵の知識を有するサーバ・システムが、暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方を検索し、クライアントに送信する処理を示す流れ図である。
【図７】本発明の好ましい実施形態による、クライアント・システムが、要求された暗号化されたアプリケーション・コードまたは暗号化されたコンテンツ・データあるいはその両方を受信する処理を示す流れ図である。
【図１】
2004529561.tif 000003
【図２】
2004529561.tif 000004
【図３】
2004529561.tif 000005
【図４】
2004529561.tif 000006
【図５】
2004529561.tif 000007
【図６】
2004529561.tif 000008
【図７】
2004529561.tif 000009
【国際公開パンフレット】
2004529561.tif 000010
2004529561.tif 000011
2004529561.tif 000012
2004529561.tif 000013
2004529561.tif 000014
2004529561.tif 000015
2004529561.tif 000016
2004529561.tif 000017
2004529561.tif 000018
2004529561.tif 000019
2004529561.tif 000020
2004529561.tif 000021
2004529561.tif 000022
2004529561.tif 000023
2004529561.tif 000024
2004529561.tif 000025
2004529561.tif 000026
2004529561.tif 000027
2004529561.tif 000028
2004529561.tif 000029
2004529561.tif 000030
2004529561.tif 000031
2004529561.tif 000032
2004529561.tif 000033
2004529561.tif 000034
2004529561.tif 000035
2004529561.tif 000036
2004529561.tif 000037
2004529561.tif 000038
2004529561.tif 000039
2004529561.tif 000040
2004529561.tif 000041
2004529561.tif 000042
2004529561.tif 000043
2004529561.tif 000044
2004529561.tif 000045
2004529561.tif 000046
2004529561.tif 000047
2004529561.tif 000048
【国際公開パンフレット（コレクトバージョン）】
2004529561.tif 000049
2004529561.tif 000050
【国際調査報告】
2004529561.tif 000051
2004529561.tif 000052
2004529561.tif 000053