(57)【特許請求の範囲】
【請求項１】
命令の実行特権が規定される少なくとも高低の二つの特権レベルを有し、マイクロプロセッサを識別する識別子をリクエストする命令に応じて、キーからハッシュ値を生成するマイクロプロセッサであって、
あるウエブサイトから、該ウエブサイトに関連付けされたキーと、前記マイクロプロセッサを識別する前記識別子をリクエストする、高い特権レベルにおいてのみ実行可能な命令とを受け取ると、プログラムに基づく前記キーを検証する命令に対応する第１の指示を出すようになっている命令ユニットと、
前記命令ユニットに接続され、前記命令ユニットからの前記第１の指示に応答して前記キーを検証するようになっている実行ユニットと、
を備え、ここで、前記命令ユニットは、前記キーを前記実行ユニットが検証した場合、前記プログラムによって前記識別子をリクエストする前記命令に対応付けされた、低い特権レベルにおいて実行可能なハッシュ値を得るためのプロセッサ命令に基づき、第２の指示をさらに出すようになっており、前記実行ユニットは、前記第２の指示にさらに応答して前記識別子を用いて前記キーからハッシュ値を生成するようになっており、
前記実行ユニットに接続され、前記ハッシュ値の表示をマイクロプロセッサの外部ピンに供給することにより、前記ウエブサイトに対するハッシュ値の表示を許可するようになっているバスインターフェースユニットと
をさらに備えることを特徴とするマイクロプロセッサ。
【請求項２】
前記実行ユニットが、
演算論理回路及びレジスタに接続されたコントロールユニットと、
前記コントロールユニットに接続され、前記コントロールユニットに前記キー及び前記
識別子を使用させ、前記ハッシュ値を生成させるマイクロコードを格納するメモリと
を備えることを特徴とする請求項１に記載のマイクロプロセッサ。
【請求項３】
前記識別子がプロセッサ番号からなることを特徴とする請求項１に記
載のマイクロプロセッサ。
【請求項４】
前記実行ユニットが一方向のハッシュ関数を使用するようになってお
り、前記ハッシュ値を生成させることを特徴とする請求項１に記載のマイクロプロセッサ
。
【請求項５】
前記実行ユニットが前記ハッシュ値を生成するために、交換不可能な
ハッシュ関数を使用するようになっていることを特徴とする請求項１に記載のマイクロプ
ロセッサ。
【請求項６】
前記実行ユニットが前記ハッシュ値を生成するために、衝突がないハ
ッシュ関数を使用するようになっていることを特徴とする請求項１に記載のマイクロプロ
セッサ。
【発明の詳細な説明】
【０００１】
［背景］
本発明は、コンピュータシステムの識別に関する。
【０００２】
サーバ（例えば、インターネットのサーバ）は、特定のサービスを提供するウェブサイトを備えることができる。この方法で、このウェブサイトのユーザは、クライアントのコンピュータシステムを介してこのウェブサイトと通信することができる。サーバは、時には、選択されたグループのユーザだけがウェブサイトが提供するサービスにアクセスできるように、ウェブサイトへのアクセスをコントロールすることができる。
【０００３】
電子メールを頻繁に使用すること及びコミュニティやチャットベースのウェブサイトの急速な成長により、インターネットのユーザがこれまで合ったことがない人々に手と連絡し交流を図ることができるようになる。残念なことに、これらのフォーラムに参加する全ての個人が善意的ではない。大抵のチャットルームが、コミュニティへのアクセスをコントロールするために、ユーザネーム及びパスワードのようなアクセスコントロールを使用しているにもかかわらず、不適切な行動を行ったためにアクセスを拒否されても、これらのアクセスコントロールを出し抜くユーザがいる。例えば、アクセスを禁止されたユーザは、新しいユーザネームをかたってチャットエリアへのアクセスを回復し、破壊的な行動を続けることができる。この出し抜く行動によって、単一の個人が人々の集まりの努力を破壊すると共に、彼らのオンラインの体験の楽しみを減少させてしまう。
【０００４】
プロセッサのシリアル番号などの埋込み識別子（以後、「プロセッサ番号」と呼ぶ）は、ウェブサイトにアクセスするコンピュータシステムを識別することによって、前述した行動を抑止する効果的な手段を提供することができる。未成年者用のチャットルームなどの、特別な責任を必要とする特定のチャットルームについては、ウェブサイトは信頼できるチャット環境を作ることができる。これらのチャット環境では、チャットルームにアクセスするためには、個人が（ネーム及びパスワードに加えて）自分たちのプロセッサ番号を提供することを要求することによって、行動規範を強制することが可能になり、また信頼できるものになる。チャットエリアの全てのメンバが彼又は彼女のプロセッサ番号を進んで提供するならば、最終的な結果は、潜在的に脅威となる行動に対して一層効果的に対処することができる、より安全なコミュニティになる。結局のところ、問題のユーザがプロセッサ番号を使用することによって、責任ある行動を推奨するだけでなく強制するルームに参加することを志願する場合は、たとえこれらの問題のユーザが彼らのユーザネームを変更しても、このチャットルームへの拒否されたアクセスを回復する能力を阻止することができる。
【０００５】
残念なことに、クライアントのコンピュータシステムを識別するために埋込み識別子を使用することには、困難がある。例えば、その番号を、インターネット上で維持される別々のデータベースにユーザをリンクする情報の手掛りを作るために使用することができる。これらのデータベースは、さらに、ユーザに関する個人情報の大きなデータベースを作り上げるように相関させることができる。ユーザがプロセッサ番号の識別を無効にするような能力を持つことができるという事実を考えるならば、そのようなデータベースが作られるとは思えないが、ユーザのプライバシーの保護を強化するための継続的な需要がある。
【０００６】
［概要］
本発明の１つの実施形態による方法は、第２のコンピュータシステムの識別のための、第１のコンピュータシステムからのリクエストを受け取るステップ、及びこの第２のコンピュータシステムを識別する識別子を検索するステップを含む。この識別子は、第１のコンピュータシステムに関連したキーにより暗号化（encrypt）され、ハッシュ値(hash value)が作られる。このハッシュ値は、リクエストに応えて第１のコンピュータシステムに提供される。
【０００７】
別の実施形態では、コンピュータシステムは、インターフェース及びプロセッサを備えている。このインターフェースは、第１のコンピュータシステムのために、別のコンピュータシステムからのリクエストを受け取るようになっている。このインターフェースは、第１のコンピュータシステムを識別するハッシュ値を他のコンピュータシステムに与える。プロセッサはこのインターフェースに接続され、他のコンピュータシステムに関連したキーを用いて、第１のコンピュータシステムを識別する識別子を暗号化し、ハッシュ値を作るようになっている。
【０００８】
別の実施形態では、物が第１のプロセッサベースのシステムによって読み取ることができる記録媒体を含んでいる。この記録媒体は、プロセッサに第１のシステムを識別するためのキーを別のシステムから受け取らせて、このキーが有効であるかどうかを決定させる命令を格納する。この識別に基づいて、命令はプロセッサに、このキーを用いて第１のシステムを識別する識別子の暗号化を選択的に許可させて、ハッシュ値を作る。
【０００９】
さらに別の実施形態では、マイクロプロセッサは、命令ユニット、実行ユニット及びバスインターフェースユニットを含んでいる。命令ユニットは、マイクロプロセッサを識別する識別子を要求する命令を命令ユニットが受け取ると、指示を出すようになっている。実行ユニットは命令ユニットに接続されて、命令ユニットからの指示に応答して、ハッシュ値を作るためにマイクロプロセッサを識別する識別子とともにキーを暗号化するようにされる。バスインターフェースユニットは実行ユニットに接続されて、このハッシュ値の表示をマイクロプロセッサの外部ピンに供給するようになっている。
【００１０】
［詳細な説明］
図１を参照する。本発明によるコンピュータシステムの実施形態１０は、コンピュータシステム１０を識別するために、ウェブサイト３６（例えば、ウェブサイト３６ａ，３６ｂ及び３６ｃ）かのら識別リクエストを受け取ることができる暗号化ユニット３１を備えている。これらのリクエストに応答して、暗号化ユニット３１は、別々のウェブサイト３６に別々のハッシュ値３２（例えば、ハッシュ値３２ａ，３２ｂ及び３２ｃ）を送ることができる。いくつかの実施形態では、各ハッシュ値３２は異なっており、その結果として、後で説明するように、単一のプロセッサ番号３０がそれぞれのハッシュ値３２を生成しても、各ウェブサイト３６は、異なったハッシュ値３２によってコンピュータシステム１０を識別することができる。各ウェブサイト３６は異なったハッシュ値３２を用いてコンピュータシステム１０と接続しているので、コンピュータシステム１０のユーザに関する情報は、異なったウェブサイト３６によって維持されているデータベース間で相関されないようにできる。例えば、特定のウェブサイト３６は、コンピュータシステム１０をハッシュ値「1bdf23」によって識別することができ、また別のウェブサイト３６は、ハッシュ値「53gh44」によってコンピュータシステム１０を識別することができる。さらに、後述するように、暗号化ユニット３１がハッシュ値３２を生成する方法によって、不良のウェブサイトがコンピュータシステム１０を他のウェブサイト３６に対して識別するハッシュ値３２を得ることは極めて困難になる。このため、暗号化ユニット３１が使用する技術のために、ユーザに関する情報を別々のウェブサイト３６が維持するデータベースから相関させることは極めて難しい。この文脈においては、「ウェブサイト」という用語は、一般に、コンピュータシステム（例えば、サーバ）が、コンピュータシステム１０などの他のコンピュータシステムにサービスを提供するためにソフトウェアを実行するような配置のことを指す。
【００１１】
このアプリケーションの面において、「コンピュータシステム」という慣用句は、一般に、プロセッサベースのシステムのことを指し、ほんのいくつかの例として、グラフィックスシステム、デスクトップコンピュータ、モバイルコンピュータ（例えば、ラップトップコンピュータ）、又はセットトップボックス（set-top box）を含むことができるが、これに限定されるものではない。「プロセッサ」という用語は、例としては、少なくとも１つの中央演算処理装置（ＣＰＵ）、マイクロコントローラ、Ｘ８６マイクロプロセッサ、アドバンストＲＩＳＣマシン（Advanced RISC Machine:ＡＲＭ）マイクロプロセッサ又はペンティアムベースのマイクロプロセッサのことを言う。上記に列挙した例は、限定を意図したものではなく、むしろ、別のタイプのコンピュータシステムや別のタイプのプロセッサを、本発明のいくつかの実施形態の中に含むことができる。
【００１２】
コンピュータシステム１０を識別するハッシュ値３２を得るために、特定のウェブサイト３６は、プライバシーキー３４（例として、プライバシーキー３４ａ，３４ｂ及び３４ｃ）をコンピュータシステム１０に送信する。これに応じて、暗号化ユニット３１はプライバシーキー３４を用いて、プロセッサ番号３０などの埋込み識別子を暗号化し、リクエストを送ったウェブサイト３６に対してコンピュータシステム１０が供給するハッシュ値３２を、生成させる。このように、それぞれのウェブサイト３６が異なったプライバシーキー３４をコンピュータシステム１０に送ると、それぞれのウェブサイト３６は、それぞれが特定のウェブサイト３６に対してコンピュータシステム１０を示すような、異なるハッシュ値３２を受け取ることになる。さらに後で説明するが、暗号化ユニット３１は、プロセッサ番号３０を用いてプライバシーキー３４の暗号化を支援するために、プロセッサ２００（図３を参照のこと）備えている。
【００１３】
プライバシーキー３４は、特定の実施形態によっては、秘密の鍵（private key）であってもそうでなくても良い。例えば、いくつかの実施形態では、プライバシーキー３４は、ウェブサイト３６についてのアドレスすなわち、ユニバーサルリソースロケータ（ＵＲＬ）から導かれ得る。このため、例として、プライバシーキー３４は、「www.example.com」のようなストリングを表す。後述するが、プライバシーキー３４がＵＲＬから導かれる実施形態については、コンピュータシステム１０は、特定のウェブサイト３６に供給されるプライバシーキー３４がウェブサイト３６のＵＲＬによるものかどうかを決定するために、有効性チェックを行うことができる。
【００１４】
いくつかの実施形態では、暗号化ユニット３１は、暗号化を実行するために、F(PN, PRIVACYKEY)と呼ばれるハッシュ関数を使用することができる。このF(PN, PRIVACYKEY)関数は、別々のウェブサイト３６上に蓄積されている（コンピュータシステム１０に関する）ユーザ情報を追跡することを、一層困難にする特性を有している。F(PN, PRIVACYKEY)ハッシュ関数については、記号「PN」はプロセッサ番号３０を示し、記号「PRIVACYKEY」はプライバシーキー３４を表している。
【００１５】
F(PN, PRIVACYKEY)ハッシュ関数の１つの特性は、F(PN, PRIVACYKEY)関数が一方向のハッシュ関数であり得るということで、これは、所定のハッシュ値３２及びプライバシーキー３４が与えられたとしても、プロセッサ番号３０を割り出すために逆に調べることは、不可能ではないにしても、極めて困難であるということを意味している。その結果として、特定のウェブサイト３６が、そのウェブサイト３６が得たハッシュ値３２を使用してプロセッサ番号３０を引き出すことは極めて難しいこととなる。
【００１６】
いくつかの実施形態における、F(PN, PRIVACYKEY)関数の別の特性は、F(PN, PRIVACYKEY)関数は衝突がない（collision free）ことである。これは、F(PN, PRIVACYKEY)ハッシュ関数が別々のプライバシーキー３４について同じハッシュ値を返すことは極めて起こりにくいことを意味している。このため、特定のウェブサイト３６が、（その関連するプライバシーキー３４を用いて）F(PN, PRIVACYKEY)関数を使用して２つの異なるプロセッサ番号３０に対して同じハッシュ値３２を得ることは非常にあり得べからざることである。従って、この特徴により、特定のウェブサイト３６が、異なる固有のプロセッサ番号３０で異なるコンピュータシステムを識別することがほぼ確実にできるようになる。
【００１７】
F(PN, PRIVACYKEY)関数の（いくつかの別の実施形態における）さらに別の特性は、後述するように、F(PN, PRIVACYKEY)関数が交換不可能（non-commuutative）であることである。すなわち、F(F(PN,PRIVACYKEY),PRIVACYKEY')) ≠ ( F(F(PN,PRIVACYKEY'),PRIVACYKEY))、ここで、「PRIVACYKEY'」は、「PRIVACYKEY」によって表されたプライバシーキー３４とは異なるプライバシーキー３４を示している。交換不可能な特性の結果として、別々のプライバシーキー３４が使用される場合、コンピュータシステム１０（及びユーザ）に関連する情報を（別々のウェブサイト３６にある）異なったデータベースについて相関させることは極めて困難である。
【００１８】
後述する特性の１つ、２つ以上、又は全てを満足させる識別子のハッシュ関数を、様々な実施形態の中で使用することができる。例えば、いくつかの実施形態では、安全ハッシュアルゴリズム（secure hash algorithm）（ＳＨＡ）、すなわち、前述した全ての特性を満足させるアルゴリズムを使用することができる。
【００１９】
いくつかの実施形態では、コンピュータシステム１０は、特定のウェブサイト３６がシステムの識別番号をリクエストしているとき、システム１０のユーザに通知することができる。例えば、この通知は、コンピュータシステム１０のディスプレイ１４（図３を参照のこと）上に形成されるウィンドウ内のプロンプトの形態とすることができる。このようにして、ユーザはウェブサイト３６が（ハッシュ値３２によって提供された）識別番号を得ることを許可するか、又はこのリクエストを拒絶することができる。ある実施形態では、ユーザがこのプロンプトをオフにする選択肢がある。
【００２０】
ユーザに識別番号のリクエストをプロンプトで知らせることに加えて、コンピュータシステム１０は、不良のウェブサイト３６が、別のウェブサイト３６に関連するハッシュ値３２を得る目的のために、不正確なプライバシーキー３４を提示することを防止するための措置を講じることができる。例えば、いくつかの実施形態では、識別番号についてのリクエストには、２段の識別手順が含まれている。第１は、ウェブサイト３６は、プロセッサ２００の（SETKEY(PRIVACYKEY)と呼ばれる）命令を実行することによって（後述するように許可された場合）、プライバシーキー３４を設定する。図２を参照する。後述するように、SETKEY(PRIVACYKEY)関数は、オペレーティングシステム２８のリングゼロ（すなわち、最高レベル）に関連している。その結果、ドライバ１９と呼ばれるソフトウェアプログラムを実行することによって、提供されたプライバシーキー３４をコンピュータシステム１０が検証するまで、コンピュータシステム１０はこのプロセッサの命令を実行することを許可しない。ドライバ１９の実行によってプライバシーキー３４が検証されると、次に、ウェブサイト３６は、ハッシュ値３２を得るために、オペレーティングシステム２８のリング３（すなわち、より低い特権レベル）に関連した、HWID()（すなわち、HWID()命令は入力パラメータを持っていない）と呼ばれるプロセッサの命令を実行することを許可される。
【００２１】
より詳細には、いくつかの実施形態では、前述した識別手順には、オペレーティングシステム２８、インターネットのブラウザ２７（例えば、インターネットイクスプローラ（登録商標）又はネットスケープナビゲータ（登録商標））、及びドライバ１９間の双方向通信が含まれる。例えば、SETKEY(PRIVACYKEY)命令はリングゼロに関連しているので、ウェブサイト３６は、単独では、ハッシュ値３２を得るために命令を実行させることはできない。これはウェブサイト３６がオペレーティングシステム２８のリング３（より低い特権レベル）及びより高いリング（すなわち、さらに低い特権レベル）へのアクセスを有しているに過ぎないためである。しかしながら、ドライバ１９はリングゼロの特権を有しているため、ウェブサイト３６とオペレーティングシステム２８のリングゼロの特権との間にブリッジを形成することができる。このように、ウェブサイト３６がSETKEY(PRIVACYKEY)命令を実行しようとする場合、ドライバ１９がオペレーティングシステム２８にコールされて、ハッシュ値３２を提供する前に、プロセッサ２００にプライバシーキー３４を検証させる。ドライバ１９を実行する場合、プロセッサ２００はブラウザ２７を実行することから得られた結果を使用して、後述するように、プライバシーキー３４を検証することができる。
【００２２】
図４を参照する。プロセッサ２００によって実行される場合、ドライバ１９はプロセッサ２００に次の機能を行わせることができる。特に、ドライバ１９は、識別リクエストを受け取ったとき、プロンプトでユーザに知らせるオプションをイネーブルにしているかどうかをプロセッサ２００に決定させる（ダイヤモンド５０）。ユーザがイネーブルにしている場合、プロセッサ２００は、ウェブサイト３６が識別リクエストを提出し、またユーザがこのリクエストを拒絶することを望むかどうかをユーザが（例えば、キーボード２４又はマウス２６によって（図３を参照のこと））示すことを待っていることを、ユーザに（例えば、ディスプレイ１４（図３を参照のこと）を介して）プロンプトで知らせる（ブロック５２）。拒絶することを望む場合は、プロセッサ２００は、ウェブサイト３６に通知して（ブロック５６）このリクエストを拒絶する。
【００２３】
しかしながら、ユーザがこのリクエストを拒絶しなかった場合、プロセッサ２００は、ブラウザ２７が現在起動しているかどうかを決定する（ダイヤモンド５８）。起動している場合、プログラム１９は、プロセッサ２００によって、プライバシーキー３４をブラウザ２７へと送信して（ブロック６０）、プロセッサ２００がブラウザ２７を実行するとき（例えば、別のスレッドで）、プロセッサ２００がウェブサイト３６のＵＲＬをプライバシーキー３４と比較できるようにする。その後、プロセッサ２００は、ドライバ１９が使用するために、比較の結果を伝える。このように、プロセッサ２００が次にドライバ１９を実行するとき、プロセッサ２００は、プライバシーキー３４がウェブサイト３６のＵＲＬとマッチするかどうかを決定する（ダイヤモンド６２）。マッチしない場合、プロセッサ２００はリクエストを拒絶し、識別リクエストを拒絶したことをウェブサイト３６に通知する（ブロック５６）。マッチした場合は、プロセッサ２００はSETKEY(PRIVACYKEY)命令を実行して（ブロック６４）、プライバシーキーをプロセッサ番号３０の暗号化に使用するように設定する。このように、プライバシーキーを提出したウェブサイト３６は、プロセッサ２００にHWID()命令を実行させて、プロセッサ２００にハッシュ値３２の表示を行わせる。しかしながら、プライバシーキー３４が設定されない場合は、プロセッサ２００はハッシュ値３２を表示するのではなく、エラー表示に戻る。
【００２４】
図３に戻って参照する。いくつかの実施形態では、コンピュータシステム１０はブリッジ又はメモリハブ１６を備えることができる。プロセッサ２００及びメモリハブ１６は、ホストバス２３に接続されている。メモリハブ１６はインターフェースを提供して、ホストバス２３、メモリバス２９及びアクセラレイテッド・グラフィックス・ポート（Accelerated Graphics Port:ＡＧＰ）バス１１を一緒に結合する。このＡＧＰは、カリフォルニア州Santa ClaraのIntel Corporationが、１９９６年７月３１日に出版した、「Accelerated Graphics Port Interface Specification、リビジョン１．０」の中で詳細に説明されている。システムメモリ１８はメモリバス２９に接続されており、ドライバ１９、ブラウザ２７及びオペレーティングシステム２８（図３では図示せず）の部分を格納している。グラフィックスアクセラレータ１３（ディスプレイ１４をコントロールする）は、ＡＧＰバス１１に接続されている。ハブ通信リンク１５は、メモリハブ１６を別のブリッジ回路又は入出力（Ｉ／Ｏ）ハブ２０に接続する。
【００２５】
いくつかの実施形態では、このＩ／Ｏハブ２０には、Ｉ／Ｏ拡張バス２５及び周辺コンポーネント相互接続（Peripheral Component Interconnect）（ＰＣＩ）バス２１に対するインターフェースが含まれる。ＰＣＩの仕様書は、オレゴン州ポートランド９７２１４の「The PCI Special Interest Group」から入手することができる。ネットワークインターフェース１２（例のように、モデム又はローカルエリアネットワーク（ＬＡＮ）カード）は、ＰＣＩバス２１に接続することができ、コンピュータシステム１０がウェブサイト３６と通信するための通信経路を提供する。このようにして、プロセッサ２００はネットワークインターフェース１２とやり取りして、ウェブサイト３６と通信することができる。Ｉ／Ｏハブ２０は、例のように、ハードディスクドライブ３７及びＣＤ−ＲＯＭドライブ３３用のインターフェースも含んでいる。Ｉ／Ｏコントローラ１７はＩ／Ｏ拡張バス２５に接続されており、例のように、キーボード２４及びマウス２６からの入力データを受信する。Ｉ／Ｏコントローラ１７は、フロッピーディスクドライブ２２の動作もコントロールする。ドライバ１９のコピー、実施例のようにハードディスクドライブ３７に、また例はわずかしかないが、ディスケット又はＣＤ−ＲＯＭに記録することができる。
【００２６】
図５を参照する。実施例のように、プロセッサ２００は、ホストバス２３のアドレスライン、コントロールライン及びデータラインに接続されているバスインターフェースユニット（ＢＩＵ）２０８を備えており、他の動作も行うが、システムメモリ１８からの命令及びデータを検索する。命令に関しては、プロセッサ２００は、バスユニット２０８に接続されている命令ユニット２０３を備えて、命令をデコードする。このようにして、命令ユニット２０３は、命令を格納するバッファ及びキャッシュを持っている。（プロセッサ２００の）コントロールユニット２０８は、デコードされた命令を示す、命令ユニット２０３からの信号を受け取る。例えば、これらの信号は、SETKEY(PRIVACYKEY)関数を実行する命令、又はHWID()関数を遂行する命令を示す。
【００２７】
命令ユニット２０３が示す命令に応じて、いくつかの実施形態では、コントロールユニット２０８は、プロセッサ２００のマイクロコード用リードオンリーメモリ（ＲＯＭ）２１０から、マイクロコードと呼ばれる対応する基本の命令を検索して、このマイクロコードを実行する。例えば、プロセッサ２００にSETKEY(PRIVACYKEY)命令及びHWID()命令を実行させるマイクロコード２１１は、マイクロコード用リードオンリーメモリ（ＲＯＭ）２１０の中に格納されている。命令の実行を行うに当たっては、コントロールユニット２０８は、演算論理回路（ＡＬＵ）２１２、レジスタ２１４及びアドレスユニット２０６をコントロールする。
【００２８】
他の実施形態は、以下のクレームの範囲の中にある。例えば、別の実施形態では、SETKEY(PRIVACYKEY)及びHWID()の命令を実行する回路は、マイクロコードで実行するのではなくハード的に組み込まれている。プロセッサ番号３０は、コンピュータシステム１０を識別する別の識別子で置き換えることができる。ＵＲＬを示すストリング以外のプライバシーキーを使用することができる。ウェブサイトが実行するアプリケーション以外のアプリケーションが、コンピュータシステム１０の識別番号をリクエストすることができる。例えば、ローカルエリアネットワーク（ＬＡＮ）を通して接続される他のコンピュータシステムが、コンピュータシステム１０からの識別番号をリクエストすることができる。
【００２９】
本発明を限られた数の実施形態に関して開示してきたが、当業者はこの開示を役立てて、そこからの多数の修正や変更に気づくだろう。添付した特許請求の範囲は、本発明の真の精神及び範囲の中に入る全てのそのような修正や変更をカバーするものとする。
【図面の簡単な説明】
【図１】  本発明の実施形態による、ネットワークの概略図である。
【図２】  本発明の実施形態による、図１のコンピュータシステムによって実行されるソフトウェアの説明図である。
【図３】  本発明の実施形態による、図１のコンピュータシステムのより詳細なブロック図である。
【図４】  図３のコンピュータシステムのプロセッサによる識別リクエストをコントロールするための、本発明の実施形態によるアルゴリズムを実行する説明図である。
【図５】  本発明の実施形態による図３のプロセッサの概略図である。
【図１】
0003730123.tif 000002
【図２】
0003730123.tif 000003
【図３】
0003730123.tif 000004
【図４】
0003730123.tif 000005
【図５】
0003730123.tif 000006