JP2004056784A - セキュリティゲートウェイで実行する方法、記録媒体及びシステム - Google Patents

セキュリティゲートウェイで実行する方法、記録媒体及びシステム Download PDF

Info

Publication number
JP2004056784A
JP2004056784A JP2003165716A JP2003165716A JP2004056784A JP 2004056784 A JP2004056784 A JP 2004056784A JP 2003165716 A JP2003165716 A JP 2003165716A JP 2003165716 A JP2003165716 A JP 2003165716A JP 2004056784 A JP2004056784 A JP 2004056784A
Authority
JP
Japan
Prior art keywords
game console
packet
security
data
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003165716A
Other languages
English (en)
Other versions
JP2004056784A5 (ja
Inventor
Dinarte R Morais
ディナート アール.モライス
Ling Tony Chen
リン トニー チェン
Mark D Vanantwerp
マーク ディー.バンアントワープ
Daniel Caiafa
ダニエル カイアファ
Boyd C Multerer
ボイド シー.マルタラー
Damon V Danieli
デーモン ブイ.ダニエリ
Sean Christian Wohlgemuth
ショーン クリスチャン ウォルゲマス
Eric Neustadter
エリック ネウスタッダー
Michael Courage
マイケル カレッジ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004056784A publication Critical patent/JP2004056784A/ja
Publication of JP2004056784A5 publication Critical patent/JP2004056784A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】セキュアな通信を可能とするオンラインコンソールベースのゲームのためのセキュリティゲートウェイを実現する。
【解決手段】オンラインのコンソールベースゲームのためのセキュリティゲートウェイ150の例示的な実施が、公衆ネットワーク(例えば、インターネット)と専用ネットワーク(例えば、内部データセンタネットワーク)の間のゲートウェイとして動作する。このセキュリティゲートウェイ150により、公衆ネットワークを介してゲームコンソール102とセキュアな通信チャネルを確立することが可能になり、また公衆ネットワーク上のゲームコンソールと専用ネットワーク上のサービスデバイスの間におけるセキュアな通信が可能になる。
【選択図】    図2

Description

【0001】
【発明の属する技術分野】
本発明は、ゲームコンソールおよびオンラインゲームのための、セキュリティゲートウェイで実行する方法、記録媒体及びシステムに関する。詳細には、オンラインコンソールベースのゲームのためのセキュリティゲートウェイを実現する、セキュリティゲートウェイで実行する方法、記録媒体及びシステムに関する。
【0002】
【従来の技術】
従来、専用のコンソールを備えたゲームシステムは、限られた数のプレーヤ(例えば、2〜4名のプレーヤ)に対応する独立型のマシンであった。パーソナルコンピュータベースのゲームの人気が高まったのは、ある程度、多くの遠隔のプレーヤが参加してインターネットを介してゲームを行うことができることによる。したがって、専用ゲームシステムに関する1つの傾向は、インターネットベースのオンラインゲームなど、ネットワークを介するゲームを円滑にする能力を提供することである。
【0003】
オンラインゲームは、集中サーバ手法、またはピアツーピア手法で実施することが可能である。集中サーバ手法では、複数のゲームシステムが、1つまたは複数の集中サーバに接続し、その集中サーバを介して互いに対話する。ピアツーピア手法では、複数のゲームシステムが、互いに接続し、直接に互いに対話する。ただし、ピアツーピア手法においてさえ、ゲームシステムが互いを見出すのを助ける初期マッチメーキング(match−making)サービスなどの通信を助けるのに集中サーバが使用される可能性がある。
【0004】
そのような集中サーバを使用する際に遭遇する1つの問題は、サーバとゲームシステムの間のトラフィックを、ネットワーク上の他のデバイスによる改竄または観察に対して保護することである。ゲームを行う人々は、独創的ないかさまの仕組み(cheating mechanism)を開発することで悪名高く、ネットワークトラフィックが、そのようなユーザにとっての格好のターゲットとなっている。残念ながら、以前のコンソールベースのゲームシステムは、通常、集中サーバとのセキュアな通信を提供していなかった。
【0005】
尚、本明細書では、読者は、暗号化、解読、認証、ハッシング(hashing)、およびデジタル署名などの基本的な暗号法の原理に精通しているものと想定する。いくつかの文献に暗号法の基本的な概説に関連した技術内容が開示されている(例えば、非特許文献1を参照)。
【0006】
【非特許文献1】
Bruce Schneier, ”Applied Cryptography: Protocols, Algorithms, and Source Code in C,” published by John Wiley & Sons, copyright 1994 (second edition 1996)
【0007】
【発明が解決しようとする課題】
従来のシステムには上述したような種々の問題があり、さらなる改善が望まれている。
【0008】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、セキュアな通信を可能とするオンラインコンソールベースのゲームのためのセキュリティゲートウェイを実現する、セキュリティゲートウェイで実行する方法、記録媒体及びシステムを提供することにある。
【0009】
【課題を解決するための手段】
オンラインコンソールベースのゲームのためのセキュリティゲートウェイを本明細書で説明する。
【0010】
一態様によれば、セキュリティゲートウェイが、公衆ネットワーク(例えば、インターネット)と専用ネットワーク(例えば、内部データセンタネットワーク)の間のゲートウェイとして動作する。このセキュリティゲートウェイにより、公衆ネットワークを介してゲームコンソールとセキュアな通信チャネルを確立することが可能になり、また公衆ネットワーク上のゲームコンソールと専用ネットワーク上のサービスデバイスの間でセキュアな通信が可能になる。
【0011】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を詳細に説明する。本明細書全体で、同様の構成要素および/または同様の特徴を指すのに同一の符号を使用する。
【0012】
以下の解説は、コンソールベースのゲームシステムに関するオンラインサービスのためのセキュリティゲートウェイを対象とする。この解説では、読者は、暗号化、解読、認証、ハッシング(hashing)、およびデジタル署名などの基本的な暗号法の原理に精通しているものと想定する。
【0013】
図1は、例示的なオンラインゲーム環境100を示すブロック図である。複数のゲームコンソール102−1、102−2、...102−nが、ネットワーク106を介してセキュリティゲートウェイ104に結合されている。ネットワーク106は、様々な従来のデータ通信網の任意の1つまたは複数を表す。ネットワーク106は、通常、パケット交換網を含むが、回線交換網も含むことが可能である。ネットワーク106は、有線部分および/または無線部分を含むことが可能である。1つの例示的な実施では、ネットワーク106は、インターネットを含むが、オプションとして、1つまたは複数のローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)を含むことが可能である。ネットワーク106の少なくとも一部分は、公衆ネットワークであり、これは、ネットワークが公共アクセス可能であることを指す。実質的に、誰でも公衆ネットワークにアクセスできる。
【0014】
一部の状況では、ネットワーク106は、ゲームコンソール102−1〜102−nとセキュリティゲートウェイ104の間にルーティングデバイスが位置しているLAN(例えば、ホームネットワーク)を含む。このルーティングデバイスは、ネットワークアドレス変換(NAT)を行うことができ、専用ネットワーク108(またはLAN)上の複数のデバイスが、インターネット上で同一のIPアドレスを共用することを可能にし、また、悪意のあるユーザ、または性悪な(mischievous)ユーザによるインターネットを介してのアクセスに対してデバイスを保護するファイアウォールとして動作する。
【0015】
セキュリティゲートウェイ104は、公衆ネットワーク106と専用ネットワーク108の間のゲートウェイとして動作する。専用ネットワーク108は、ローカルエリアネットワークなどの多種多様な従来のネットワークの任意のものであることが可能である。専用ネットワーク108、ならびに以下にさらに詳述する他のデバイスは、セキュアゾーンとして動作するデータセンタ110の内部にある。データセンタ110は、信頼される通信を介して通信する信頼されるデバイスから構成される。したがって、セキュアゾーン110内における暗号化および認証は必要ない。ネットワーク108の専用性が指しているのは、ネットワーク108の限定されたアクセス可能性、すなわち、ネットワーク108に対するアクセスが、ある個人だけに限定されている(例えば、データセンタ110の所有者または運用者によって制限されている)ことである。
【0016】
セキュリティゲートウェイ104は、1つまたは複数のセキュリティゲートウェイコンピューティングデバイスのクラスタである。このセキュリティゲートウェイコンピューティングデバイスは、集合としてセキュリティゲートウェイ104を実現する。セキュリティゲートウェイ104は、オプションとして、セキュリティゲートウェイコンピューティングデバイスによって扱われるべき要求が、そのコンピューティングデバイスの適切なものに向けられるように動作する1つまたは複数の従来のロードバランシングデバイス(load balancing device)を含むことが可能である。この誘導、つまりロードバランシングは、様々なセキュリティゲートウェイコンピューティングデバイスにかかる負荷をほぼ平等に平衡させようと試みる形で(あるいは、何らかの他の基準に従って)行われる。
【0017】
またデータセンタ110内に、次のものが存在する。すなわち、1つまたは複数の監視サーバ112、1つまたは複数の存在−通知フロントドア(presence and notification front doors)114と、1つまたは複数の存在サーバ116と、1つまたは複数の通知サーバ118(集合として、存在−通知サービスを実施する)、1つまたは複数のマッチフロントドア120と、1つまたは複数のマッチサーバ122(集合として、マッチサービスを実施する)、ならびに1つまたは複数の統計フロントドア124と、1つまたは複数の統計サーバ126(集合として、統計サービスを実施する)である。サーバ116、118、122、および126は、ゲームコンソール102−1〜102−nにサービスを提供し、したがって、サービスデバイスと呼ぶことができる。サーバ116、118、122、および126に加えて、かつ/またはその代わりに、他のサービスデバイスも含まれることが可能である。さらに、図1では、1つのデータセンタだけを示しているが、別法では、ゲームコンソール102−1〜102−nが通信することができる複数のデータセンタが存在してもよい。これらのデータセンタ群は、独立に動作することが可能であり、あるいは、集合として(例えば、1つの大型のデータセンタをゲームコンソール102−1〜102−nに供与するように)動作することが可能である。
【0018】
ゲームコンソール102−1〜102−nは、データセンタ110から遠隔に位置し、ネットワーク106を介してデータセンタ110にアクセスする。データセンタ内の1つまたは複数のデバイスと通信することを望むゲームコンソール102−1〜102−nは、コンソール102−1〜102−nとセキュリティゲートウェイ104の間でセキュアな通信を確立する。ゲームコンソール102−1〜102−nおよびセキュリティゲートウェイ104は、やり取りされるデータパケットの暗号化および認証を行い、これにより、暗号化を破ることなしにデータパケットをキャプチャすること、またはコピーすることができる何らかの他のデバイスによって理解されることなく、ゲームコンソール102−1〜102−nとセキュリティゲートウェイ104の間でデータパケットがセキュアに伝送されることが可能になる。ゲームコンソール102−1〜102−nからセキュリティゲートウェイ104に通信される、またはセキュリティゲートウェイ104からゲームコンソール102−1〜102−nに通信される各データパケットには、データが組み込まれていることが可能である。この組み込まれたデータは、パケットの内容、またはパケットのデータ内容と呼ばれる。また、追加の情報も、パケットタイプ(例えば、以下にさらに詳述するハートビートパケット、またはトラバーサル(traversal)パケット)に基づき、本質的にパケットに含まれることが可能である。
【0019】
コンソール102−1〜102−nとセキュリティゲートウェイ104の間のセキュアな通信チャネルは、セキュリティチケットに基づく。コンソール102−1〜102−nは、鍵配信センタ128に対してコンソール102−1〜102−n自体、および現行のユーザを認証して、鍵配信センタ128からセキュリティチケットを獲得する。次に、コンソール102−1〜102−nは、このセキュリティチケットを使用してセキュリティゲートウェイ104とのセキュアな通信チャネルを確立する。セキュリティゲートウェイ104とセキュアな通信チャネルを確立する際、ゲームコンソール102−1〜102−nとセキュリティゲートウェイ104は、互いに対して自らを認証し、その特定のゲームコンソール102−1〜102−nおよびセキュリティゲートウェイ104だけに知られたセッションセキュリティ鍵を確立する。このセッションセキュリティ鍵は、ゲームコンソール102−1〜102−nとセキュリティゲートウェイ104のクラスタの間で転送されるデータを暗号化する根拠として使用され、したがって、その他のデバイス(他のゲームコンソール102−1〜102−nを含め)はどれも、そのデータを読み取ることができない。また、セッションセキュリティ鍵は、データパケットが、データパケットの起点とされるセキュリティゲートウェイ104、またはゲームコンソール102−1〜102−nからのものであることを認証する根拠としても使用される。したがって、そのようなセッションセキュリティ鍵を根拠として使用することにより、セキュリティゲートウェイ104と様々なゲームコンソール102−1〜102−nの間でセキュアな通信チャネルを確立することができる。
【0020】
ゲームコンソール102−1〜102−nとセキュリティゲートウェイ104の間でセキュアな通信チャネルが確立されると、暗号化されたデータパケットをその2つの間でセキュアに伝送することができる。ゲームコンソール102−1〜102−nが、データをデータセンタ110内の特定のサービスデバイスに送信することを望むとき、ゲームコンソール102−1〜102−nは、そのデータを暗号化してセキュリティゲートウェイ104に送信し、そのデータが、データパケットによって目標とされる特定のサービスデバイスに転送されることを要求する。セキュリティゲートウェイ104は、そのデータパケットを受信して、そのデータパケットを認証し、解読した後、パケットのデータ内容を、専用ネットワーク108を介して適切なサービスに送信される別のメッセージの中にカプセル化する。セキュリティゲートウェイ104は、データパケットによって目標とされる要求されたサービスに基づき、そのメッセージに適切なサービスを決定する。
【0021】
同様に、データセンタ110内のサービスデバイスが、ゲームコンソール102−1〜102−nにデータを通信することを望むとき、データセンタは、ゲームコンソール102−1〜102−nに送信されるべきデータ内容、ならびにそのデータ内容が送信されるべき先の特定のゲームコンソール102−1〜102−nの指示を含むメッセージを、専用ネットワーク108を介してセキュリティゲートウェイ104に送信する。セキュリティゲートウェイ104は、データ内容をデータパケットに組み込み、次に、データパケットを暗号化して、その特定のゲームコンソール102−1〜102−nだけしか解読することができないようにし、また、セキュリティゲートウェイ104を送信元とするものとしてデータパケットを認証する。
【0022】
セキュリティゲートウェイ104とゲームコンソール102−1〜102−nの間で暗号化されたデータパケットが主に通信されるものとして本明細書では述べているが、別法では、一部のデータパケットは、部分的に暗号化されることが可能である(データパケットのある部分は暗号化され、他の部分は暗号化されない)。データパケットのどの部分が暗号化され、どの部分が暗号化されないかは、データセンタ110および/またはゲームコンソール102−1〜102−nの設計者の所望に基づいて異なる可能性がある。例えば、設計者は、コンソール102−1〜102−nのユーザが互いに話すことができるようにコンソール102−1〜102−n間で音声データが通信されるのを許すことを選択することができ、設計者は、パケットの中のあらゆる他のデータは暗号化されているが、音声データは暗号化されていないのを許すことをさらに選択することができる。さらに、または別の代案として、一部のデータパケットが、暗号化された部分を全く有さない(すなわち、データパケット全体が暗号化されていない)ことが可能である。データパケットが暗号化されていない、または部分的にだけ暗号化されている場合でも、そのデータパケットは、認証されることに留意されたい。
【0023】
セキュリティゲートウェイ104の中の各セキュリティゲートウェイデバイスは、通常、1つまたは複数のゲームコンソール102−1〜102−nとのセキュアな通信チャネルに責任を負い、したがって、各セキュリティゲートウェイデバイスは、1つまたは複数のゲームコンソールを管理すること、または扱うことに責任を負っているものと見なすことができる。種々のセキュリティゲートウェイデバイスは、2つが互いに通信中で、3つ以上が互いにメッセージを通信することが可能である。例えば、自らが管理することに責任を負っていないゲームコンソールにデータパケットを送信する必要があるセキュリティゲートウェイデバイスは、そのゲームコンソールに送信されるべきデータを伴うメッセージをすべての他のセキュリティゲートウェイデバイスに送信することができる。このメッセージが、そのゲームコンソールを管理することに責任を負うセキュリティゲートウェイデバイスによって受信され、適切なデータをそのゲームコンソールに送信する。あるいは、セキュリティゲートウェイデバイスが、どのゲームコンソールがどのセキュリティゲートウェイデバイスによって扱われているかを認知していることが可能であり、この認知は、各セキュリティゲートウェイデバイスが、その他のセキュリティゲートウェイデバイスによって扱われるゲームコンソールのテーブルを維持しているなど、明示的であることが可能であり、あるいは、ゲームコンソールの識別子に基づき、どのセキュリティゲートウェイデバイスが、ある特定のゲームコンソールに責任を負うかを判定するなど、暗黙的であることが可能である。
【0024】
監視サーバ112は、データセンタ110内のデバイスに使用不可能なゲームコンソール102−1〜102−n、またはセキュリティゲートウェイ104の使用不可能なセキュリティゲートウェイデバイスについて知らせるように動作する。ゲームコンソール102−1〜102−nは、ハードウェアまたはソフトウェアの障害、コンソールが、データセンタ110からログアウトすることなしに電源遮断されたこと、コンソール102−1〜102−nに対するネットワーク接続ケーブルが、コンソール102−1〜102−nから接続解除されたこと、その他のネットワーク問題(例えば、コンソール102−1〜102−nが配置されているLANに動作不良が起きていること)などの様々な異なる理由で使用不可能になる可能性がある。同様に、セキュリティゲートウェイ104のセキュリティゲートウェイデバイスも、ハードウェアまたはソフトウェアの障害、デバイスが電源遮断されていること、デバイスに対するネットワーク接続ケーブルが、デバイスから接続解除されていること、その他のネットワーク問題などの様々な異なる理由で使用不可能になる可能性がある。
【0025】
セキュリティゲートウェイ104の中のセキュリティゲートウェイデバイスのそれぞれは、セキュリティゲートウェイデバイスのどれかが使用不可能になったときそれを検出する1つまたは複数の監視サーバ112によって監視される。あるセキュリティゲートウェイデバイスが利用不可になった場合、監視サーバ112は、データセンタ110内のその他のデバイスのそれぞれ(サーバ、フロントドア等)に、そのセキュリティゲートウェイデバイスをもはや使用不可能であるというメッセージを送信する。その他のデバイスのそれぞれは、この情報に基づき、適切と考えられる仕方で動作することができる(例えば、デバイスは、セキュリティゲートウェイデバイスによって管理されているその特定のゲームコンソールが、データセンタ110ともはや通信していないものと考え、それに応じて様々なクリーンアップ動作を行うことが可能である)。あるいは、あるデバイスだけ(例えば、セキュリティゲートウェイデバイスが応答可能であるかどうかに関心があるデバイスだけ)が、監視サーバ112からそのようなメッセージを受信することが可能である。
【0026】
セキュリティゲートウェイ104は、個々のゲームコンソール102−1〜102−nを監視し、ゲームコンソール102−1〜102−nのどれかが使用不可能になったときそれを検出する。セキュリティゲートウェイ104は、ゲームコンソールがもはや使用不可能であることを検出したとき、使用不可能なゲームコンソールを特定する監視サーバ112にメッセージを送信する。これに応答して、監視サーバ112は、データセンタ110内のその他のデバイスのそれぞれに(あるいは、選択されたデバイスだけに)、そのゲームコンソールがもはや使用不可能であるというメッセージを送信する。次に、その他のデバイスのそれぞれは、この情報に基づき、適切であると考えられる仕方で動作することができる。
【0027】
存在サーバ116が、オンラインゲームのためにデータセンタ110にログインした所与のユーザのステータスまたは存在に関するデータを維持し、処理する。通知サーバ118が、データセンタ110にログインしたプレーヤを宛先として発信されるメッセージの複数の待ち行列を維持する。存在−通知フロントドア114は、セキュリティゲートウェイ104とサーバ116および118の間の仲介役として動作する1つまたは複数のサーバデバイスである。1つまたは複数のロードバランシングデバイス(図示せず)が、フロントドア114として動作する複数のサーバデバイス間で負荷の平衡をとるように存在−通知フロントドア114内に含まれることが可能である。セキュリティゲートウェイ104は、サーバ116および118に向けられたメッセージをフロントドア114に通信し、フロントドア114は、サーバ116または118のどの特定のサーバにメッセージが通信されるべきかを特定する。フロントドア114を使用することにより、どちらのサーバが、どのユーザに関するデータを管理することに責任を負うかなどの、サーバ116および118の実際の実施が、セキュリティゲートウェイ104から抽出される。セキュリティゲートウェイ104は、単に、存在−通知サービスを目標とするメッセージを存在−通知フロントドア114に転送し、フロントドア114が、そのメッセージをサーバ116およびサーバ118の適切なものにルーティングすることに頼ることができる。
【0028】
マッチサーバ122が、オンラインプレーヤの互いとのマッチングに関するデータを維持し、処理する。オンラインユーザは、行われる用意のあるゲーム、ならびにゲームの様々な特性(例えば、フットボールゲームが行われる場所、ゲームが日中におこなわれるか、または夜に行われるか、ユーザの技能レベル等)を公示することができる。以上の様々な特性を基準として使用して、一緒にゲームを行うように様々なオンラインユーザを組み合わせることができる。マッチフロントドア120は、1つまたは複数のサーバデバイス(および、オプションとして、ロードバランシングデバイス)を含み、フロントドア114が、サーバ116およびサーバ118を抽出するのと同じ仕方で、セキュリティゲートウェイ104からマッチサーバ122を抽出するように動作する。
【0029】
統計サーバ126は、オンラインゲームに関する様々な統計に関するデータを維持し、処理する。使用される特定の統計は、ゲーム設計者の所望に基づき、様々である可能性がある(例えば、上位の第10位までのスコアまたは時間、ゲームのすべてのオンラインプレーヤに関する世界ランキング、最も多くのアイテムを見出した、または最も多くの時間をゲームをして過ごしたユーザのリスト)。統計フロントドア126は、1つまたは複数のサーバデバイス(および、オプションとして、ロードバランシングデバイス)を含み、フロントドア114が、サーバ116およびサーバ118を抽出するのと同じような仕方でセキュリティゲートウェイ104から統計サーバ126を抽出するように動作する。
【0030】
したがって、セキュリティゲートウェイ104が、信頼されない公衆ネットワーク106から、データセンタ110のセキュアゾーン内にデバイスを遮蔽するように動作するのを見て取ることができる。データセンタ110内の通信は、データセンタ110内のすべてのデバイスが信頼されるものであるので、暗号化される必要がない。しかし、データセンタ110内のデバイスからゲームコンソール102−1〜102−nに通信されるあらゆる情報は、セキュリティゲートウェイ104のクラスタを通過し、その情報によって目標とされるゲームコンソール102−1〜102−nだけが解読できるような仕方で暗号化される。
【0031】
図2は、例示的なセキュリティゲートウェイデバイス150をより詳細に示すブロック図である。複数のセキュリティゲートウェイデバイス150が、セキュリティゲートウェイ104内に含まれることが可能である。セキュリティゲートウェイデバイス150は、公衆ネットワークインタフェース152、パケット解読モジュール154、パケット認証モジュール156、ゲームコンソール認証モジュール158、ネットワークアドレス変換(NAT)トラバーサル(traversal)モジュール160、認証情報生成モジュール162、パケット暗号化モジュール164、ハートビートモジュール166、ティクル(tickle)モジュール168、セキュアゾーンインタフェース170、セキュリティ関係レコード172、ゲームコンソールアベイラビリティ(availability)モジュール176、およびパケットルーティングモジュール178を含む。本明細書では、互いにデータを通信する、または互いにデータを使用可能とするセキュリティゲートウェイデバイス150のモジュールについて述べる。この通信、またはこの可用性は、データを含むデータ構造をあるモジュールから別のモジュールに送ること、データが記憶されている場所に対する(例えば、メモリロケーションに対する)ポインタをあるモジュールから別のモジュールに送ることなどの多種多様な異なる仕方で実施することができる。
【0032】
公衆ネットワークインタフェース152は、公衆ネットワーク(例えば、図1のネットワーク)を介してゲームコンソール102と通信するインタフェースとして動作する。パケット解読モジュール154は、ゲームコンソール102から受信されたデータパケットを解読するように動作し、またパケット認証モジュール156は、ゲームコンソール102から受信されたパケットを認証するように動作する。ゲームコンソール認証モジュール158は、ゲームコンソール102を認証するように動作する。NATトラバーサルモジュール160は、ゲームコンソール102からのパケットをデータセンタ110内のデバイスに転送するように、またはデータセンタ110内のデバイスからのパケットをゲームコンソール102に転送するように動作する。認証情報生成モジュール162は、ゲームコンソール102に送信されるパケットに関する認証情報を生成するように動作し、またパケット暗号化モジュール164は、ゲームコンソール102に送信されるパケットを暗号化するように動作する。ハートビートモジュール166は、ゲームコンソール102に送信されるハートビートパケットを生成するように動作し、またティクルモジュール168は、ゲームコンソール102に送信されるハートビートパケット上に含まれる(ピギーバックされる(piggybacked on))データを管理するように動作する。セキュアゾーンインタフェース170は、専用ネットワーク(例えば、図1のネットワーク108)を介してデータセンタ内の他のデバイスと通信するためのインタフェースとして動作する。セキュリティ関係レコード172は、セキュリティゲートウェイデバイス150から様々なゲームコンソール102へのセキュアな通信チャネルに関連するセキュリティ情報のレコードである。ゲームコンソールアベイラビリティモジュール176は、ゲームコンソールが使用不可能になったときそれを検出し、またパケットルーティングモジュール178は、様々なタイプのパケットを検出し、それに応じてパケットをルーティングする。
【0033】
図3〜6を参照して、セキュリティゲートウェイデバイス150の動作について以下により詳細に述べる。
【0034】
図3は、ゲームコンソールとセキュリティゲートウェイデバイスの間でセキュアな通信チャネルを確立するための例示的なプロセス200を示す流れ図である。図3のプロセスは、セキュリティゲートウェイデバイス(例えば、図2のデバイス150)によって実施され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで行うことができる。図3のプロセスについて、図1および2の構成要素を参照して述べる。
【0035】
最初、セキュリティチケットが、セキュリティゲートウェイデバイスにおいて受信される(動作202)。1つの例示的な実施形態では、セキュリティチケットは、図1の鍵配信センタ128から獲得されるケルベロス(Kerberos)チケットである。ケルベロスチケットは、単一のチケットの中で、特定のゲームコンソール102の識別、およびそのゲームコンソール102においてゲームを行っている1名または複数名のユーザの識別を認証するケルベロス様式の認証プロトコルを使用してゲームコンソール102によって獲得される。ゲームコンソール102は、ケルベロスチケットを以下のように獲得する。
【0036】
解説のため、ゲームコンソール102の4名のユーザが存在するものと想定する。各ユーザには、識別U、U、U、およびUが与えられており、ユーザ鍵K、K、K、およびKが割り当てられている。またゲームコンソール102にも独自の識別C、およびゲームコンソール鍵Kが割り当てられている。さらに、ゲームディスクなどのゲームタイトルに、別個の識別Gが割り当てられている。同様に、図1のセキュリティゲートウェイ104に、独自の識別A、および鍵Kが割り当てられている。ユーザ、ゲームコンソール、およびセキュリティゲートウェイの認証は、ある程度、鍵K、K、K、K、K、および鍵Kに依存することに留意されたい。したがって、以上の鍵を選択し、記憶する際、その鍵が割り当てられたエンティティだけがその鍵を使用することができるように注意が払われなければならない。
【0037】
ゲームコンソール102は、ユーザ識別U、U、U、およびU、ならびにユーザ鍵K、K、K、Kに基づき、検証されたユーザ識別を生成する。より具体的には、検証されたユーザ識別は、ユーザ鍵から導出されたユーザ識別、および値を含む。検証されたユーザ識別は、鍵配信センタに要求とともにサブミットされ、ゲームコンソールがユーザ鍵の知識を有することを鍵配信センタに実証するのに使用され、したがって、ユーザを暗黙的に認証する。
【0038】
様々なメッセージおよび鍵が計算される仕方の説明を簡単にするため、以下の表記を導入する。
【0039】
H=HKy(M):Hは、鍵Kを使用するメッセージMの鍵付き一方向ハッシュ(MAC(message authentication code))である。任意のMACアルゴリズムを使用することができる。そのようなMACの一例が、IETF(Internet Engineering Task Force)RFC(Request For Comments) 2104に準拠するHMAC(hash based MAC)アルゴリズムである。
【0040】
EncryptedM=EKy(M):EncryptedMは、鍵Kを使用して暗号化された形態のメッセージMである。任意の暗号化アルゴリズムを使用することができる。そのような暗号化アルゴリズムの例には、DES(Data Encryption Standard)、トリプルDES、およびRC4−HMACが含まれる。
【0041】
M=DKy(EncryptedM):Mは、同一の鍵Kを使用して暗号化される前のEncryptedMの元のメッセージである。
【0042】
鍵導出値(key derivative value)を生成する1つのやり方は、ゲームコンソールの鍵を使用してユーザ鍵の暗号ハッシュを計算することである。鍵Kを有するユーザUの場合、ハッシュHは、以下のとおり計算される。
=HKc(K
【0043】
ハッシュHが鍵導出値を成す。別のやり方は、ユーザ鍵Kを使用して現在時刻を暗号化することである。
=EK1(T)
【0044】
この場合も、もたらされる値Hが鍵導出値を成す。検証されたユーザ識別は、以下のとおり、ユーザ識別Uと対応する鍵導出値Hの組合せである。
検証されたユーザ識別=(U,H
【0045】
ゲームコンソール102は、ゲームコンソール識別C、ゲームタイトル識別G、セキュリティゲートウェイデバイス150のオンラインサービス識別A(これは、図1のセキュリティゲートウェイ104の中のセキュリティゲートウェイデバイスのすべてに関して同一である)、および複数の検証されたユーザ識別(U,H)、(U,H)、(U,H)、および(U,H)を含む要求を構成する。要求は、以下の識別文字列を有する。
要求 = [C, G, A, (U, H), (U, H), (U, H), (U, H)]
【0046】
さらに、要求は、あるバージョンの認証プロトコル、およびゲームコンソールによって生成されたランダムなナンス(nonce)を含み、リプライ攻撃に抗することが可能である。要求は、識別文字列全体の受信を検証するのに使用されるチェックサム値をさらに含むことが可能である。ゲームコンソール102は、ネットワーク(例えば、図1のネットワーク106)を介して要求を鍵配信センタにサブミットする。
【0047】
鍵配信センタは、要求、ならびにその要求に含まれる識別を評価する。鍵配信センタは、セキュリティゲートウェイデバイス150のために使用されるランダムなセッション鍵を生成する。この例では、鍵配信センタは、セキュリティゲートウェイ104と通信する際にゲームコンソール102によって使用されるランダムなセッション鍵KCAを生成する(動作202において)。
【0048】
鍵配信センタは、ゲームコンソール102によってセキュリティゲートウェイデバイス150に後に提示されるチケットを生成する。セキュリティゲートウェイデバイス150に関して発行される1つのチケットが存在するが、チケットは、複数のユーザに関して有効である。チケットは、要求の中でサブミットされた識別文字列を含む。また、チケットは、チケットが生成された時刻T、チケットの失効までの時間の長さを特定する時間T、セキュリティゲートウェイデバイス150に関するランダムに生成されたセッション鍵KCA、およびゲームコンソール102のユーザがアクセスすることが許されたデータセンタ110内のサービスデバイスを特定するサービスマップSも含む。鍵配信センタは、どのユーザがどのサービスにアクセスすることが許されているか(例えば、どのユーザが、1つまたは複数の有料サービスにアクセスする料金を支払済みであるか)についてのレコードを維持するか、そのレコードを維持する別のデバイス、または別のセンタにアクセスする。チケット内容は、以下のとおり、セキュリティゲートウェイデバイスの鍵Kを利用する対称鍵暗号(例えば、トリプルDES)を介して暗号化される。
チケット = EKA [T, T, KCA, S, C, G, A, U ,U ,U ,U
【0049】
チケットは、対応する鍵導出値Hを担持しないことに注目されたい。鍵配信センタは、鍵導出値を読み取り、ゲームコンソールがユーザ鍵を知っていると確信すると、ユーザの識別を発行されるチケットの中に入れる。セキュリティゲートウェイデバイス150は、その後、チケットが知らせることはなんでも信頼し、したがって、鍵導出値Hを見る必要がない。
【0050】
鍵配信センタは、生成されたチケットをゲームコンソール102に戻す。ゲームコンソール102は、セキュリティゲートウェイデバイスの鍵Kを知らないので、そのチケットを開くことができず、その内容を変更することができない。また、鍵配信センタは、添付された暗号化されたメッセージの中でセッションセキュリティ鍵も戻す。セッション鍵メッセージは、チケット生成時刻T、チケット失効までの期間T、およびセッションセキュリティ鍵KCAを含み、すべての内容は、以下のとおり、ゲームコンソールの鍵Kを使用して暗号化される。
セッション鍵メッセージ = EKC [T, T, KCA
【0051】
セッション鍵メッセージは、ゲームコンソールの鍵Kで暗号化されているので、ゲームコンソール102は、セッション鍵メッセージを開き、セッション時間パラメータおよびセッション鍵を回復することができる。
【0052】
ゲームコンソール102(例えば、あるゲームコンソール)は、チケットを受け取ると、そのチケットを使用して、セキュリティゲートウェイデバイス150と相互認証を伴うセキュアな鍵交換を行うことができる(動作204)。セキュアな鍵交換に関するさらなる情報は、本明細書に組み込まれている米国特許出願10/170、002号で見ることができる。米国特許出願10/170、002号の内容は後述される。
【0053】
鍵交換により、ゲームコンソール102およびセキュリティゲートウェイデバイス150が、コンソール102とデバイス150の間で共有されるが、2つのデバイス間で伝送されることなく、コンソール102とデバイス150の間で往復するトラフィックに基づいて第三者(例えば、コンソール102およびデバイス150と同じネットワーク上の別のデバイス)が推論することができない新しい秘密を導出することが可能になる。1つの例示的な実施では、2つのデバイスは、ディフィ−ヘルマン指数演算(Diffie−Hellman exponentiation operation)を使用して新しい秘密を導出する。ディフィ−ヘルマンに関するさらなる情報は、W. Diffie and M. E. Hellman, ”New directions in Cryptography”, IEEE Transactions on Information Theoryv. IT−12, n. 6, Nov 1976, pp. 644−654に見ることができる。
【0054】
一般に、セキュアな鍵交換は、鍵交換イニシエータ(initiator)パケットを生成し、そのパケットをセキュリティゲートウェイデバイス150に送信するゲームコンソール102によって行われる。セキュリティゲートウェイデバイス150は、鍵交換イニシエータパケットを受信し、受信されたパケットを検証する。パケットが検証されると、セキュリティゲートウェイデバイス150は、ゲームコンソール102との通信をセキュアにするのに使用される暗号鍵を生成する。例示的な実施形態では、この暗号鍵は、2つのデバイス間のポイントツーポイント通信をセキュアにするのに使用されるセキュリティ関係鍵である。次に、セキュリティゲートウェイデバイス150は、鍵交換応答パケットを生成し、生成されたパケットをゲームコンソール102に送信する。ゲームコンソール102は、鍵交換応答パケットを受信し、その受信されたパケットを検証する。パケットが検証されると、ゲームコンソール102は、セキュリティゲートウェイデバイス150との通信をセキュアにするのに使用される暗号鍵を生成する。暗号鍵は、セキュリティゲートウェイデバイス150によって生成されるものと同じである。したがって、ゲームコンソール102とセキュリティゲートウェイデバイス150はともに、同じ暗号鍵を有することになるが、双方の間で鍵を実際に伝送することなしにそうなる。
【0055】
ゲームコンソール102は、鍵交換イニシエータメッセージを最初に生成することによって鍵交換イニシエータパケットを生成し、送信する。鍵交換イニシエータメッセージは、以下のとおり、NonceInitと呼ばれるゲームコンソール102によって生成されたランダム(または擬似ランダム)値を含み、またXがやはり、ゲームコンソール102によって生成されたランダムな(または擬似ランダムな)数であるディフィ−ヘルマン(g mod N)値、ならびに鍵交換プロセスが完了した後、このコンソール/セキュリティデバイス通信チャネルを一意的に定義するのに使用されるセキュリティパラメータインデックス値(SPI)を含む。
InitMess = [NonceInit, SPI, (g mod N)]
【0056】
次に、ゲームコンソール102は、鍵配信センタから受信されたケルベロスセッション鍵KCAを使用して鍵交換イニシエータメッセージのダイジェストを計算する。ダイジェストは、次のとおり計算される。
【0057】
【数1】
Figure 2004056784
【0058】
あるいは、一般的な一方向ハッシュ(鍵付きでない)も、HashInitMessの計算において使用することが可能である。鍵のセキュリティは、このハッシュが鍵付きであるか否かに依拠しない。
【0059】
次に、ゲームコンソール102は、ケルベロスオーセンティケータ(authenticator)を生成する。ケルベロスオーセンティケータは、タイムスタンプ(例えば、ゲームコンソール102の現在時刻)、およびHashInitMessダイジェストを含む。タイムスタンプは、ゲームコンソール102がケルベロスオーセンティケータを生成するたびに毎回、そのデバイス102によって増分され、これにより、セキュリティゲートウェイデバイス150が、リプレイ攻撃をよりよく検出することが可能になる。ゲームコンソール102は、以下のとおり、ケルベロスセッション鍵KCAを使用してケルベロスオーセンティケータを暗号化する。
【0060】
【数2】
Figure 2004056784
【0061】
次に、ゲームコンソール102は、鍵交換イニシエータパケットを生成する。鍵交換イニシエータパケットは、鍵交換イニシエータメッセージInitMess、暗号化されたケルベロスオーセンティケータAuth、および鍵配信センタ(例えば、図1のセンタ128)から受信されたセキュリティゲートウェイデバイス150に関するケルベロスチケットを含む。前述したとおり、ケルベロスチケットは、少なくとも、ケルベロスセッション鍵(KCA)、チケットが有効でありつづけるある範囲の時間、ゲームコンソール102を識別する一意的な番号を含み、以上のすべてが、鍵配信センタとセキュリティゲートウェイデバイス150によって共用される秘密の鍵を使用して暗号化される。SPI値は、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のセキュリティ関係、すなわち、通信チャネルを識別する。SPI値は、セキュリティゲートウェイデバイス150からゲームコンソール102への通信に関連し、またSPI値は、ゲームコンソール102からセキュリティゲートウェイデバイス150への通信に関連する。したがって、鍵交換イニシエータパケットは、以下のとおりである。
InitPacket = [InitMess, Auth, Ticket]
【0062】
オーセンティケータとチケットの組合せは、ケルベロス用語においてAP要求と呼ばれていることに留意されたい。次に、ゲームコンソール102は、鍵交換イニシエータパケットをセキュリティゲートウェイデバイス150に送信する。
【0063】
セキュリティゲートウェイデバイス150は、鍵交換イニシエータパケットInitPacketを受信する。一実施では、セキュリティゲートウェイデバイス150は、すべての鍵交換イニシエータパケットが所定の形式になっており、かつ所定のサイズであることを予期している。その所定の形式でない、またはその所定のサイズでないあらゆる鍵交換イニシエータパケットは、セキュリティゲートウェイデバイス150によって無視される。あるいは、セキュリティゲートウェイデバイス150は、鍵交換イニシエータパケットが、様々な形式になっており、かつ/または様々なサイズになっていることを許すことが可能である。
【0064】
鍵交換イニシエータパケットが受信されると、セキュリティゲートウェイデバイス150は、そのセキュリティゲートウェイデバイス150が鍵配信センタと共有する鍵を使用してケルベロスチケットを解読する。次に、セキュリティゲートウェイデバイス150は、解読されたチケットをチェックして、チケットが失効しているかどうかを判定する。現在時刻が、チケットが有効でありつづける時間の範囲(チケットの中で特定される)内に含まれる場合、そのチケットは、失効していない。しかし、現在時刻が、チケットが有効でありつづける時間の範囲内に含まれない場合、そのチケットは、失効している。ケルベロスチケットが失効している場合、鍵交換プロセスは失敗し、ゲームコンソール102とセキュリティゲートウェイデバイス150の間でセキュリティ関係が全く確立されないことがもたらされる。セキュリティゲートウェイデバイス150は、鍵交換プロセスが失敗したことをゲームコンソール102に通知することができ、あるいは、セキュリティゲートウェイデバイス150は、受信されたInitPacketを単に削除して、ゲームコンソール102に通知を行わないことが可能である。
【0065】
しかし、ケルベロスチケットが失効していない場合、セキュリティゲートウェイデバイス150は、解読されたケルベロスチケットから回復されたケルベロスセッション鍵KCAを使用してケルベロスオーセンティケータAuthを解読する。次に、セキュリティゲートウェイデバイス150は、ケルベロスオーセンティケータの中のタイムスタンプTimeにアクセスし、そのタイムスタンプが受入れ可能であるかどうかをチェックする。タイムスタンプは、セキュリティゲートウェイデバイス150上の現在時刻との同期が離れすぎていない場合、受入れ可能である。例示的な実施では、タイムスタンプは、セキュリティゲートウェイデバイス150上の現在時間からある閾値時間(例えば、推奨されるケルベロス時間スキューである5分間)の範囲内にある場合、受入れ可能である。タイムスタンプが受入れ可能ではない場合、鍵交換プロセスは失敗である。
【0066】
タイムスタンプが受入れ可能である場合、セキュリティゲートウェイデバイス150は、鍵交換メッセージInitMessのダイジェストを計算する。セキュリティゲートウェイデバイス150は、ゲームコンソール102がダイジェストHashInitMessを計算したのと同じ仕方でダイジェストを計算する。次に、セキュリティゲートウェイデバイス150は、計算したダイジェスト値が、暗号化されたケルベロスオーセンティケータAuthの一部としてゲームコンソール102から受け取られたダイジェスト値と一致する(等しい)かどうかをチェックする。2つのダイジェスト値が同じである場合、そのことは、鍵交換メッセージInitMessが、ゲームコンソール102とセキュリティゲートウェイデバイス150の間で変更されていない(例えば、鍵交換メッセージInitMessが不正変更されていない)ことを確認する役割をする。2つのダイジェスト値が一致しない場合(言い換えれば、2つのダイジェスト値が等しくない場合)、鍵交換プロセスは失敗である。
【0067】
しかし、受け取られたダイジェスト値と計算されたダイジェスト値が一致する場合、セキュリティゲートウェイデバイス150は、ケルベロスオーセンティケータが再生されているかどうかをチェックする。セキュリティゲートウェイデバイス150は、各ゲームコンソールCから受け取った各ケルベロスオーセンティケータからのタイムスタンプのレコード(これは、ケルベロスチケットの中で明らかにされる)を維持する。セキュリティゲートウェイデバイス150は、そのセキュリティゲートウェイデバイス150によって記録された最新のタイムスタンプより新しくないタイムスタンプTimeを伴うケルベロスオーセンティケータを受け取った場合、そのケルベロスオーセンティケータが再生されていることを知る。ケルベロスオーセンティケータが再生されている場合、鍵交換イニシエータパケットは有効ではなく、鍵交換プロセスは失敗である。しかし、ケルベロスオーセンティケータが再生されていない場合、鍵交換イニシエータパケットは、セキュリティゲートウェイデバイス150によって検証されたことになる。以上すべての試験が満たされ、かつ鍵交換イニシエータパケットが検証された場合、セキュリティゲートウェイデバイス150は、ゲームコンソール102を、実際にゲームコンソール102による主張どおりのデバイスであるものとして認証した、すなわち、セキュリティゲートウェイデバイス150は、ゲームコンソール102がケルベロスセッション鍵KCAの知識を有すること検証したことになる。
【0068】
最初、セキュリティゲートウェイデバイス150は、鍵交換イニシエータメッセージInitMess、ケルベロスセッション鍵KCA、ゲームコンソール102からのナンス(NonceInit)、およびセキュリティゲートウェイデバイス150によって生成されたナンス(NonceResp)に基づいて暗号鍵を生成する。セキュリティゲートウェイデバイス150は、ランダムな(または擬似ランダムな)数Y、ならびにNonceRespと呼ばれるランダム値を生成する。セキュリティゲートウェイデバイス150は、ディフィ−ヘルマン値(gXY mod N)、およびディフィ−ヘルマン値(g mod N)をさらに計算する。この時点で、セキュリティゲートウェイデバイス150は、セキュリティ関係鍵を計算するのに十分なデータを有する。セキュリティ関係鍵は、2つのコンソール間のポイントツーポイント通信をセキュアにするのに使用される。例示的な実施では、セキュリティゲートウェイデバイス150は、2つのディフィ−ヘルマン値((g mod N)および(Y))を使用して関数(gXY mod N)を計算する。次に、セキュリティゲートウェイデバイス150は、NonceInit、NonceResp、(gXY mod N)、およびケルベロスセッション鍵KCAに基づく様々なアルゴリズムを使用して様々なダイジェストを計算することができる。次に、そのダイジェストを使用してセキュリティ関係鍵を形成する。1つの例示的な実施では、セキュリティゲートウェイデバイス150は、NonceInit、NonceResp、および(gXY mod N)を入力として使用し、またケルベロスセッション鍵KCAも使用して、両方向ですべてのセキュアなパケットを認証し、かつ暗号化/解読するためのセキュリティ関係鍵として使用される4つの異なるダイジェストを計算する(認証のための1つの鍵、暗号化のための1つの鍵にそれぞれの方向として2を掛けて、合計で4になる)。あるいは、セッション鍵KCA自体を両方向でセキュアなパケットを認証し、かつ/または暗号化/解読するために使用することができる。
【0069】
次に、セキュリティゲートウェイデバイス150は、鍵交換応答メッセージを生成する。鍵交換応答メッセージは、以下のとおり、NonceInit、ゲームコンソール102から受信されたタイムスタンプTime、NonceResp、ディフィ−ヘルマン値(g mod N)、およびSPI値を含む。
RespMess = [NonceInit, SPI, NonceResp, (g mod N)]
【0070】
SPI値は、セキュリティゲートウェイデバイス150によって生成され、ゲームコンソール102からセキュリティゲートウェイデバイス150へのすべての通信に関連付けられる。次に、セキュリティゲートウェイデバイス150は、以下のとおり、ケルベロスセッション鍵およびハッシュ関数Hを使用して応答メッセージのダイジェストを計算する。
【0071】
【数3】
Figure 2004056784
【0072】
HashRespMessを生成するのに使用されるハッシュ関数Hは、HashInitMess(前述した)を生成するのに使用されるハッシュ関数Hと同一であること、あるいは異なるハッシュ関数であることが可能である。
【0073】
次に、セキュリティゲートウェイデバイス150は、以下のとおり、計算されたハッシュダイジェストと、ケルベロスオーセンティケータからのタイムスタンプTimeをともに含むケルベロス応答メッセージを生成する。
ReplyMess = [HashRespMess, Time]
【0074】
次に、セキュリティゲートウェイデバイス150は、以下のとおり、暗号化アルゴリズムE(例えば、トリプルDES)およびケルベロスセッション鍵KCAを使用してケルベロス応答メッセージReplyMessを暗号化する。
【0075】
【数4】
Figure 2004056784
【0076】
EncryptedReplyMessを生成するのに使用される暗号化アルゴリズムEは、Auth(前述した)を生成するのに使用されたのと同一の暗号化アルゴリズムであること、あるいは異なる暗号化アルゴリズムであることが可能である。
【0077】
次に、セキュリティゲートウェイデバイス150は、以下のとおり、鍵交換応答メッセージRespMess、および暗号化されたケルベロス応答メッセージEncryptedReplyMessを含む鍵交換応答パケットを生成する。
RespPacket = [RespMess, EncryptedReplyMess]
【0078】
次に、セキュリティゲートウェイデバイス150は、鍵交換応答パケットRespPacketをゲームコンソール102に送信する。
【0079】
ゲームコンソール102は、セキュリティゲートウェイデバイス150から鍵交換応答パケットRespPacketを受信する。ゲームコンソール102は、ケルベロスセッション鍵KCAを使用してケルベロス応答メッセージEncryptedReplyMessを解読する。次に、ゲームコンソール102は、解読された応答メッセージの中のタイムスタンプTimeが、ゲームコンソール102がセキュリティゲートウェイデバイス150に送信したタイムスタンプTimeと一致するかどうかをチェックする。両タイムスタンプが一致する場合(言い換えれば、タイムスタンプが等しい場合)、その一致により、セキュリティゲートウェイデバイス150が、ケルベロスチケットおよびケルベロスオーセンティケータを解読する(したがって、ケルベロスセッション鍵KCAの知識を有する)ことができ、したがって、現実に、自ら主張するとおりのセキュリティゲートウェイデバイス150であることが確認される。したがって、セキュリティゲートウェイデバイス150は、以上のタイムスタンプ値が一致する場合、ゲームコンソール102に対して認証される。
【0080】
タイムスタンプ値が一致しない場合、鍵交換プロセスは失敗であり、ゲームコンソール102とセキュリティゲートウェイデバイス150の間で全くセキュリティ関係が確立されないことがもたらされる(前述したのと同様に、ゲームコンソール102は、鍵交換プロセスが失敗したことをセキュリティゲートウェイデバイス150に通知することも、通知しないことも可能である)。ただし、タイムスタンプ値が一致した場合、セキュリティゲートウェイデバイス150は、ゲームコンソール102に対して認証され、ゲームコンソール102は、ケルベロスセッション鍵KCAを使用して鍵交換応答メッセージRespMessのダイジェストを計算することにとりかかる。ゲームコンソール102は、セキュリティゲートウェイデバイス150がHashRespMess(前述した)を計算したのと同じやり方でダイジェストを計算する。次に、ゲームコンソール102は、自らが計算したダイジェスト値が、暗号化されたケルベロス応答メッセージEncryptedReplyMessの一部としてセキュリティゲートウェイデバイス150から受け取られたダイジェスト値と一致する(等しい)かどうかをチェックする。2つのダイジェスト値が同じである場合、そのことは、鍵交換応答メッセージRespMessが、セキュリティゲートウェイデバイス150とゲームコンソール102の間で変更されていない(例えば、鍵交換応答メッセージRespMessが不正変更されていない)ことを確認する役割をする。2つのダイジェスト値が一致しない場合(言い換えれば、2つのダイジェスト値が等しくない場合)、鍵交換プロセスは、失敗である。
【0081】
ただし、2つのダイジェスト値が一致した場合、ゲームコンソール102は、ケルベロスセッション鍵KCA、NonceInit、NonceResp、およびgXY mod Nに基づいて暗号鍵を生成する。セキュリティゲートウェイデバイス150が暗号鍵を生成することに関して前述したのと同様に、この時点で、ゲームコンソール102は、ディフィ−ヘルマン値(gXY mod N)を計算し、またセキュリティ関係鍵を計算するのに十分なデータを有している。ゲームコンソール102によって計算されるセキュリティ関係鍵は、セキュリティゲートウェイデバイス150によって生成されるものと同じであり、同じやり方で計算される。gXY mod Nは、ゲームコンソール上のg modN、およびXから計算されることに留意されたい。また、前述したのと同様に、別法として、セッション鍵KCA自体を両方向でセキュアなパケットを認証し、かつ/または暗号化/解読するために使用できることにも留意されたい。
【0082】
ゲームコンソール102は、セッション関連鍵を有すると、鍵交換が完了するのを待っていたあらゆるパケットを自由に伝送することができる。ただし、セキュリティゲートウェイデバイス150は、同一のセットの鍵を有していても、それを自由に行うことができない。というのは、自らの応答メッセージRespMessが失われていないと確信することができないからである。セキュリティゲートウェイデバイス150は、ゲームコンソール102からの計算されたセキュリティ関係鍵で認証されたパケットを受信するまで待つか、またはオプションとして、ゲームコンソール102から肯定応答パケット(AckPack)を受信するまで待つ。
【0083】
一般的なケースでは、ゲームコンソール102は、パケットをセキュリティゲートウェイデバイス150に送信し、したがって、鍵交換プロセスは、2つのパケットだけから、すなわち、InitPacketおよびRespPacketだけから成る。あるいは、ゲームコンソール102が、送信するパケットを有さない場合、ゲームコンソール102は、擬似の肯定応答パケット(「AckPack」として表される)を送信する。AckPackは、ケルベロスセッション鍵KCAではなく、計算されたセキュリティ関係鍵を使用してハッシングされることで、このパケットは、他の2つの鍵交換パケットと異なる。
【0084】
以降、ゲームコンソール102およびセキュリティゲートウェイデバイス150は、セキュリティ関係鍵を使用して通信をセキュアにする。相手側に伝送される必要のあるすべてのネットワークパケットは、オプションとして、暗号化された後、認証され、受信側のデバイスが、認証データを検証してから、パケット内容を解読する。コンソール102とデバイス150のどちらも、同じNonceを含む相手側からの鍵交換パケットを無視することができる。
【0085】
セキュリティゲートウェイデバイス150は、ゲームコンソール102に関するセキュリティ関係情報のレコード172を維持する(動作206)。このレコードは、ゲームコンソール102に送信されるデータパケットを暗号化する際、およびゲームコンソール102から受信されたデータパケットを解読する際に使用されるセキュリティ鍵(セキュリティ関係鍵、および/またはセッション鍵KCA)、データセンタ110内のどのサービスデバイスにゲームコンソール102がアクセスすることが許可されているかを特定するサービスマッピング、完全に適格な(fully qualified)ゲームコンソールアドレス(XNADDRとも呼ばれる)、およびセキュリティパラメータインデックス(SPI)値を含む。
【0086】
動作204の相互認証の一環として、ゲームコンソール102は、自らがセキュリティゲートウェイデバイス150に送信する鍵交換パケットの中に含める、SPIと呼ばれるSPI値を生成する。同様に、セキュリティゲートウェイデバイス150は、自らが、ゲームコンソール102に送信される鍵交換応答パケットの中に含める値SPIを生成する。SPI値により、ゲームコンソール102が、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のセキュアな通信チャネルを、ゲートウェイデバイス150によって送信されるデータパケットが対応する特定のチャネルとして特定することが可能になる。ゲートウェイデバイス150からゲームコンソール102へのすべてのセキュアなチャネルのパケット(鍵交換後の)は、そのチャネルを特定するSPI値を含む。同様に、SPI値により、セキュリティゲートウェイデバイス150が、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のセキュアな通信チャネルを、セキュリティゲームコンソール102によって送信されるデータパケットが対応する特定のチャネルとして特定することが可能になる。ゲームコンソール102からゲートウェイデバイス150へのすべてのセキュアなチャネルのパケット(鍵交換後の)は、そのチャネルを特定するSPI値を含む。それぞれのセキュアな通信チャネルは、同一のゲームコンソール102とセキュリティゲートウェイデバイス150の間であっても、通常、2つの異なるSPI値(各方向で1つ)を有する。
【0087】
一実施では、セキュリティゲートウェイデバイス150へのすべてのパケット、およびセキュリティゲートウェイデバイス150からのすべてのパケットが、常に、パケットの先頭にSPI値を含み、どのセキュリティチャネルにそのパケットが向けられているかを指定している(セキュリティゲートウェイデバイス150またはゲームコンソール102がこの値を使用して、パケットを解読する対応する鍵をルックアップすることができるように)。鍵交換イニシエータパケット、および鍵交換応答パケットの場合、この先頭のSPIは、ゼロの値に設定されて、パケットが、対応するSPI番号がまだ確立されていない鍵交換パケットであることを示す。ただし、鍵交換パケット自体の内部には、鍵交換が完了した後に使用される新しい提案のSPI値(ゼロではない)が含まれる。したがって、鍵交換パケットは、実際には、2つのSPI値、つまり外部のSPI値(ゼロである)、および内部のSPI値(ゼロではない)を含む。
【0088】
ゲームコンソール102に関する完全に適格なアドレスは、次のものを含む。すなわち、ゲームコンソール102に関するイーサネット(登録商標)MAC(media access control)アドレス、ゲームコンソール102のローカルIPアドレス(これは、ゲームコンソール102が自ら有すると信じるIPアドレスであり、セキュリティゲートウェイ150がデータパケットをゲームコンソール102から受信する送信元のIPアドレスとは異なる可能性がある(例えば、ゲームコンソール102とセキュリティゲートウェイデバイス150の間に位置する、ルータなどのNATデバイスに起因して))、セキュリティゲートウェイデバイス150がデータパケットをゲームコンソール102から受信する送信元のIPアドレスおよびポート(これは、ゲームコンソール102のローカルIPアドレスと同じであることが可能であり、あるいは異なることが可能である(例えば、NATデバイスのアドレス))、論理上のセキュリティゲートウェイデバイス番号(セキュリティゲートウェイクラスタの中のセキュリティゲートウェイデバイスを一意的に識別するようにセキュリティゲートウェイデバイスに割り当てられた識別子)、SPI値(例えば、SPIおよび/またはSPI)、およびゲームコンソールid(前述したゲームコンソール識別C)である。完全に適格なアドレスの内容は、ゲームコンソール102から受け取られたセキュリティチケットに基づき、またゲームコンソール102から受信されたデータパケットに組み込まれた情報に基づいて判定することができる。
【0089】
動作204における認証の一環として、固有データセンタ可視IPアドレス(データセンタ(専用ネットワーク108上の)によって内部で使用されるアドレス))が、セキュリティゲートウェイデバイスに利用可能なアドレスのプールから、ゲームコンソールに割り当てられる。固有データセンタ可視IPアドレスは、公共/専用ネットワーク境界を越えてパケットを転送する際、セキュリティゲートウェイデバイス150(例えば、NATトラバーサルモジュール160)によって使用される。パケットが、図1のネットワーク106から受信されて、専用ネットワーク内部で転送され、送信元IPアドレスが、上記のデータセンタ可視IPアドレスとしてリストされる。データセンタ内のサーバがこのトラフィックに応答する際、応答は、その応答の目標IPアドレスを含むアドレス範囲が割り当てられたセキュリティゲートウェイデバイスに戻るようにルーティングされる。セキュリティゲートウェイデバイスは、目標IPアドレスが割り当てられたゲームコンソールに関するセキュリティ関係をルックアップすることによってNATプロセスを逆転し、応答が指定されたゲームコンソールに戻るように転送し、応答の送信元アドレスは、セキュリティゲートウェイのインターネットアドレスであるように変更される。
【0090】
セキュリティゲートウェイデバイス150は、ゲームコンソールがもはや使用不可能になるまで(ゲームコンソール102が、データセンタ110から自発的にログアウトしたか、または別の形で使用不可能になったかに関わらず)、ゲームコンソール102に関するセキュリティ関係情報を維持し、使用不可能になった時点で、セキュリティゲートウェイデバイス150は、ゲームコンソール102に関するセキュリティ関係情報を削除する(動作208)。セキュリティゲートウェイデバイス150は、以下により詳細に述べるとおり、ゲームコンソール102と通信する際に、この維持されたセキュリティ関係情報を使用する。したがって、セッションセキュリティ鍵および/またはセキュリティ関係鍵を含むセキュリティ関係情報は、各セッションの間にだけ維持される。すなわち、ゲームコンソール102がデータセンタにログインするたびに毎回、新しいセキュリティ関係が生成される。
【0091】
さらに、動作204の相互認証の一環として、様々なセッションパラメータが、ゲームコンソール102およびセキュリティゲートウェイデバイス150によって取り決めることが可能である。このセッションパラメータは、ある程度、コンソール102とデバイス150の間の通信がどのように行われるべきかを記述する。そのようなパラメータの例には、ハートビートパケットが送信されるべき間隔、使用されるデータ暗号化アルゴリズムおよび/または暗号化強度、データパケットが、完全に暗号化されるべきか、または部分的に暗号化されるべきか、ゲームコンソール102に提供されるサービス品質等が含まれる。それぞれのそのようなセッションパラメータが、ゲームコンソール102によって送信され、オプションとして、セキュリティゲートウェイデバイス150によって取り消されることが可能であり、あるいは、セキュリティゲートウェイデバイス150によって設定され、オプションとして、ゲームコンソール102によって取り消されることが可能である。
【0092】
図3のプロセス200は、ゲームコンソールとセキュリティゲートウェイデバイスの間で相互に認証されたセキュアな通信チャネルを確立する、ケルベロスチケットなどのセキュリティチケットの使用について述べている。あるいは、他のプロセスを使用してセキュアな通信チャネルを確立することができる。セキュアな通信チャネルの目的は、特定のゲームコンソール、およびセキュリティゲートウェイクラスタの特定のゲートウェイデバイスが、チャネル内で通信されているデータを他のデバイスが解釈する、または変更するのを防止する仕方で互いに通信することを可能にすることである。
【0093】
図2に戻ると、データセンタ110内の特定のサービスが、セキュリティゲートウェイデバイス150の特定のIPポートを使用するゲームコンソール102によって目標とされている。セキュリティゲートウェイデバイス150は、特定のサービスにそれぞれが関連付けられた(セキュリティゲートウェイデバイス150によって)複数のIPポートをゲームコンソールに公示する。したがって、例えば、存在−通知サービスデバイスが、ポート1として公示されたとすると、ゲームコンソール102上で実行されるゲームタイトルが、IPA:1にTCP/IPパケットを送信できることになり、ここで、IPAは、セキュリティゲートウェイデバイス150のIPアドレスを表す。
【0094】
ゲームコンソール102とセキュリティゲートウェイデバイス150の間の通信は、ユーザデータグラムプロトコル(UDP)に準拠するデータパケットとして行われる。インターネット上のゲームコンソール102に対するオンラインUDPデータパケットに特定のポートが割り振られ、したがって、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のすべての通信は、この特定のUDPポートを使用する。1つの例示的な実施では、Xbox(商標)ビデオゲームシステムに関して、この特定のUDPポートは、3074である。セキュリティゲートウェイデバイス150によって受信されるあらゆるUDPでないパケット、またはポート3074に送信されないあらゆるUDPパケットは、セキュリティゲートウェイデバイス150によって単に無視される。
【0095】
ゲームコンソール102からセキュリティゲートウェイデバイス150に送信されるあらゆるデータは、ゲームコンソール102の公衆ネットワークインタフェース174によってUDPパケットに組み込まれる。これは、ゲームコンソール102から送信されるデータが、何らかの別のプロトコルに従って送信される場合でも行われる。例えば、ゲームコンソール102上で実行されるゲームタイトルが、データセンタ110内のサービスに対するTCP/IP接続を開くことを望むものと想定する。ゲームタイトルは、ソケットを開き、ポート1024が割り当てられる(例えば、Winsockにより)。ゲームタイトルは、1つまたは複数のデータパケットを生成し、そのデータパケットをTCP/IPポート1024を介して、ゲームタイトルによって所望されるサービスデバイスに関してセキュリティゲートウェイデバイス150によって公示される適切なポートに送信する。公衆ネットワークインタフェース174が、そのTCP/IPパケットを代行受信し、そのパケットを暗号化し、その暗号化されたパケットを、セキュリティゲートウェイデバイス150のインターネットアドレスおよびポート3074を特定するUDPパケットに組み込み、そのUDPパケットをセキュリティゲートウェイデバイス150に送信する。UDPパケットが受信された後、そのパケットが認証されたものと想定すると、そのUDPパケットは、解読されて、そこからTCP/IPパケットが抽出される。セキュリティゲートウェイデバイス150が、TCP/IPパケットの中のセキュリティゲートウェイデバイスによって公示されたポートに基づいて適切なサービスデバイスを特定し、そのTCP/IPパケットを特定されたサービスデバイスに転送する。
【0096】
図4aおよび4bは、ゲームコンソールから受信されたデータパケットを管理するための例示的なプロセス240を示す流れ図である。図4aおよび4bのプロセスは、セキュリティゲートウェイデバイス(例えば、図2のデバイス150)によって実施され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで行われることが可能である。図4aおよび4bのプロセスについて、図1および2の構成要素を参照して述べる。
【0097】
最初、パケットが、ゲームコンソールから受信される(動作242)。ゲームコンソール102からセキュリティゲートウェイデバイス150に送信されるパケットは、ゲームコンソール102によって暗号化され、その暗号化されたパケットに関して、セッション鍵に基づいてゲームコンソール102によって認証情報が生成される。あるいは、この順序を逆にして、認証情報が最初に生成され、次に、パケットが暗号化されることも可能である。ただし、暗号化されたパケットに関して認証情報を生成することにより、パケットを認証するためにパケットを解読することの負担が、セキュリティゲートウェイデバイス150から取り除かれる。1つの例示的な実施では、暗号化アルゴリズムは、トリプルDES(データ暗号化標準(Data Encryption Standard))である。あるいは、他の公開された暗号化アルゴリズム、および/または専有の暗号化アルゴリズムを使用することができる。さらに、様々な異なるやり方でパケットに関する認証情報を生成することができる。1つの例示的な実施では、認証情報は、セッション鍵に基づいて暗号化されたパケットに対して暗号ハッシュアルゴリズム(HMAC−SHA−1(Hashed Message Authentication Code−Secure Hash Algorithm
1)のような)を実行することによって生成される。
【0098】
パケットが受信されると、公衆ネットワークインタフェース152は、そのパケットをパケット認証モジュール156に供与する。パケット認証モジュール156は、ゲームコンソール102によって使用されたのと同じ暗号ハッシュアルゴリズムを実行し、モジュール156によって計算された結果の値が、認証情報として受信されたものと同じであるかどうかをチェックすることにより、そのパケットを認証する。値が同じである場合、パケットは認証され、他方、値が異なる場合、パケットは、認証されない。
【0099】
パケットは、認証されなかった場合、ドロップされる(動作246)。セキュリティゲートウェイデバイス150は、ドロップされたパケットを単に無視する。しかし、パケットは、認証された場合、そのパケットを解読するようにパケット解読モジュール154に提供される(動作248)。この解読は、パケットを暗号化する際にゲームコンソール102によって使用される暗号化アルゴリズムに対応する解読アルゴリズムを使用して行われる。
【0100】
解読されると、パケットルーティングモジュール178は、パケットのタイプをチェックする(動作250)。1つの例示的な実施では、3つの異なるタイプのパケットが、セキュリティゲートウェイデバイス150によって受信されることが可能であり、そのタイプのそれぞれが、異なる仕方で扱われる。この3つのタイプは、次のとおりである。すなわち、ハートビートパケット(ゲームコンソールから受信されるハートビート)、NATトラバーサルパケット(別のゲームコンソールを目標とするゲームコンソールから受信されるパケット)、およびサービスを目標とするパケット(データセンタ内のサービスを目標とするゲームコンソールから受信されるパケット)である。パケットのタイプは、UDPパケットのヘッダの中で、またはUDPパケットの本体(例えば、組み込まれたTCP/IPパケットとは別個である、またはその一部である(例えば、ヘッダである))の中で特定されることが可能である。
【0101】
ハートビートパケットは、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のセキュアな通信チャネルを開いた状態に保つ目的でゲームコンソール102から受信される。ホームネットワーク上のルータなどの中間デバイスが、ゲームコンソール102とセキュリティゲートウェイデバイス150の間に配置されている状況では、中間デバイスは、ゲームコンソール102とセキュリティゲートウェイデバイス150の間で通信されているデータパケットのタイプの知識を全く有する必要はなく、通常、その知識を有していない。中間デバイスに分かるのは、そのデータパケットがUDPパケットであることだけである。ただし、そのような中間デバイスは、通常、ある期間(例えば、通常、30秒間から5分間までの範囲内であるが、他の期間を使用してもよい)中だけ、ルーティング情報(例えば、ゲームコンソール102とセキュリティゲートウェイデバイス150の間のルーティング情報を含む)を維持するように構成される。中間デバイスが、その期間内に以上の2つのデバイス間で全くパケットを見なかった場合、中間デバイスは、ルーティング情報を削除し、デバイス間で次のパケットが受信されると、新しいルーティング情報を確立する。セキュアな通信チャネルの性質のため、この新しいルーティング情報は、前に使用されたルーティング情報とは異なる可能性があり(また、通常、異なり)、したがって、新しいセッション鍵が、ゲームコンソール102およびセキュリティゲートウェイデバイス150によって生成される必要がある。
【0102】
この問題を解決するため、ゲームコンソール102は、様々な間隔で(例えば、ゲームコンソール102が、セキュリティゲートウェイデバイス150にパケットを最後に送信してから20秒で、またはセキュリティゲートウェイデバイス150にいつ最後のパケットが送信されたかに関わらず、20秒ごとに)ハートビート信号を送信する。時間の間隔は、様々であることが可能であるが、ルーティング情報をいつ削除するかを決定する際に中間デバイスによって通常、使用される期間より短くなるように構成されなければならない。1つの例示的な実施形態では、このハートビート信号は、セキュリティゲートウェイデバイス150に通信される特定のタイプのUDPパケットである。別の例示的な実施では、このハートビート信号は、セキュリティゲートウェイデバイス150に通信するのに先立ってUDPパケットに組み込まれた特定のタイプのTCP/IPパケットである(例えば、TCP/IPパケットのヘッダ、または本体に含まれるタイプ情報で、異なるタイプのパケットから区別される)。ハートビート信号は、さらに、パケットによって特定されたゲームコンソールが、まだ応答可能である(まだ存命中であるとも言う)ことをゲームコンソールアベイラビリティモジュール176に示すものとしての役割をする。特定のゲームコンソールからハートビート信号が受信されることなく、ある閾値時間(例えば、ハートビート信号がゲームコンソールによって送信されるべき間隔の3倍または4倍)が経過した場合、ゲームコンソールアベイラビリティモジュール176は、そのゲームコンソールがもはや応答可能ではないものと考え、そのゲームコンソールがもはや応答可能ではないことを示すメッセージを図1の監視サーバ112に通信する。
【0103】
ハートビート信号が、少なくともある程度、規則的にゲームコンソール102からセキュリティゲートウェイデバイス150に通信されることから、追加のステータス情報を、ハートビート信号を含む上記のハートビートパケットに組み込むことが可能である。例えば、あるタイプのゲームステータス情報(例えば、ユーザがゲームを行っているか、またはゲームを休止しているか、ユーザの現在のスコア、どれだけの活力(health)または時間がユーザに残されているか等)が、ゲームタイトルから、ゲームコンソール102の公衆ネットワークインタフェース174に通信される。インタフェース174は、次回に、自らがハートビート信号をセキュリティゲートウェイデバイス150に送信するまで待ち、そのステータス情報をハートビートパケットに組み込み、これにより、ステータス情報のために別個のデータパケットを送信する必要性を解消する。
【0104】
パケットがハートビートパケットである場合、ゲームコンソールアベイラビリティモジュール176は、そのゲームコンソールに関するハートビートタイマをリセットして、そのゲームコンソールからの最後のハートビート信号からゼロ時間が経過したことを示す(動作252)。さらに、パケットルーティングモジュール178が、何らかの状態情報がハートビートパケットの中に含まれているかどうかをチェックする(動作254)。パケットの中に全く動作情報が存在しない場合、そのパケットに関するプロセスは終了する(動作256)。しかし、状態情報が存在する場合、パケットルーティングモジュール178は、その状態情報をハートビートパケットから抽出し(動作258)、その状態情報を存在−通知フロントドアに転送する(動作260)。
【0105】
セキュリティゲートウェイデバイス150には、データセンタ内のネットワーク(例えば、図1のネットワーク108)上でデバイス150が識別されるようにある範囲のデータセンタIPアドレスが割り当てられる。フロントドア114、120、および124のそれぞれ、ならびに各監視サーバ112にも、データセンタ内で(ネットワーク108上で)フロントドア、および監視サーバが識別されるように特定のデータセンタIPアドレスおよびポートが割り当てられる。さらに、フロントドア114、120、および124の1つまたは複数、および監視サーバ112には、オプションとして、複数のデータセンタIPアドレスおよび/またはポートが割り当てられることが可能である。
【0106】
セキュリティゲートウェイデバイス150が、専用ネットワーク108を介してパケットをサーバまたはフロントドアに送信する必要があるとき、セキュアゾーンインタフェース170が、メッセージが、受信されるパケットの送信元であるゲームコンソール102に割り当てられた固有データセンタ可視IPアドレス、ならびに特定のポートからのものであることを特定するデータをメッセージヘッダの中に含める。セキュアゾーンインタフェース170によって特定されるポートは、パケットをセキュリティゲートウェイデバイス150に送信する際にゲームコンソール102上で実行されるゲームタイトルによって使用されるのと同じポートである(例えば、ゲームタイトルにTCP/IPポート1024が割り当てられている場合、ポート1024が、セキュアゾーンインタフェース170によって使用されるポートである)。これは、ゲームコンソール102上で実行されるゲームタイトルによって特定されたTCP/IPポートであり、セキュリティゲートウェイデバイス150によってインターネット上で公示されたサービスポートの1つではないことに留意されたい。パケットを送信する際に、ゲームタイトルによってポートが全く使用されなかった場合、セキュアゾーンインタフェース170が、使用するポートを選択する(例えば、ランダムに、何らかの所定の基準または順序に従って等)。セキュリティゲートウェイデバイス150は、パケットの宛先として、目標とされるサービスデバイスに関するデータセンタIPアドレスおよびポートを含む(動作260において、これは、存在−通知フロントドア114に関するデータセンタIPアドレスおよびポートである)。専用ネットワーク108を介して送信されるデータパケットは、データセンタのセキュアゾーン内にあるので、暗号化する必要がないことに留意されたい。
【0107】
データパケットが、セキュリティゲートウェイデバイス150からデータセンタ110のサービスデバイスに通信される仕方のため、データパケットが受信されたとき、受信側のデバイスは、パケットを元々、送信したゲームコンソールについてほとんど何も知らない可能性がある(というのは、サービスデバイスは、特定のゲームコンソールからではなく、セキュリティゲートウェイデバイス150から来るものとしてパケットを見るからである)。したがって、セキュリティゲートウェイデバイス150により、サービスデバイスが、特定のゲームコンソールについての情報に関してデバイス150にクエリを行うことが可能になる。サービスデバイスは、セキュリティゲートウェイデバイス150と直接に(ネットワーク108を介して)、あるいはサービスデバイスに対応するフロントドアを介して通信することができる。例えば、ネットワーク108上のセキュリティゲートウェイデバイス150に関する特定のポート(例えば、ポート0)が、その情報に関してクエリを行うパケットをデバイス150に送信するようにサービスデバイスに確保されることが可能である。サービスデバイスは、要求の中に、自らが情報を要求しているデータセンタIPアドレスおよびポートを含める。デバイス150は、どのデータセンタIPアドレスとポートの組合せが、どのゲームコンソールに割り当てられているかのマッピング(例えば、図2のレコード172)を維持し、またデバイス150は、対応するゲームコンソールに関して自らが有するすべての情報(例えば、完全に適格なアドレス)をルックアップし、その情報を要求側のサービスデバイスに戻すことによってクエリに応答する。これにより、例えば、サービスデバイスが、特定のユーザおよび/または特定のゲームコンソールの識別を検証することが可能になる(例えば、あるユーザのスコアを削除する要求が、実際にそのユーザから来ていることを確実にするため)。
【0108】
図4aの動作250に戻ると、パケットのタイプが、サービスを目標とするパケットである場合、パケットルーティングモジュール178が、そのパケットによって目標とされるサービスを特定する(動作262)。この特定は、ゲームコンソール102により、セキュリティゲートウェイデバイス150のどの公示されたポートにパケットが送信されたかをチェックすることによって行われる。次に、パケットルーティングモジュール178は、要求側のゲームコンソールが、目標とされるサービスにアクセスすることが許されているかどうかをチェックする(動作264)。このチェックは、目標とされるサービスを許可マッピング(レコード172の中の)と比較して、目標とされるサービスが、ゲームコンソールに対して許されたサービスとして特定されているかどうかを調べることによって行われる。ゲームコンソールが、目標とされるサービスを使用することが許されていない場合、そのパケットはドロップされ(動作266)、単にセキュリティゲートウェイデバイス150によって無視される。
【0109】
しかし、ゲームコンソールが、そのデバイスを使用することが許されている場合、セキュアゾーンインタフェース170が、そのパケットによって目標とされるサービスのデータセンタIPアドレスおよびポートを特定し(動作268)、そのパケットのデータ内容を含むメッセージを目標とされるサービスに送信する(動作270)。
【0110】
動作250に戻ると、パケットのタイプがNATトラバーサルパケットである場合、NATトラバーサルモジュール160が、解読されたパケットの内容に基づき、他のどのゲームコンソールに、そのパケットが転送されるべきかを特定する(図4bの動作272)。NATトラバーサルパケットは、ゲームコンソールが、1つまたは複数のNATデバイス(例えば、1つまたは複数のホームネットワーク上のルータ)を介して別のゲームコンソールと直接通信を確立しようと試みているときに、そのゲームコンソールによって送信されることが可能である。NATトラバーサルパケットにより、セキュリティゲートウェイ104が、ゲームコンソール間で直接通信を確立するのを容易にすることが可能になる。
【0111】
次に、パケットは、パケット暗号化モジュール164に転送され、モジュール164は、別のゲームコンソールに向けられたパケットを、別のゲームコンソールに関するセッション鍵を使用することによって暗号化する(動作274)。ゲームコンソールがデータパケットを暗号化することに関して前述したのと同様に、パケット暗号化モジュール164は、様々な暗号化アルゴリズムの任意のものを使用してデータパケットを暗号化することができる。次に、暗号化されたパケットは、認証情報生成モジュール162に提供され、モジュール162は、別のゲームコンソールに関するセッション鍵に基づき、そのパケットに関する認証情報を生成する(動作276)。ゲームコンソールが認証情報を生成することに関して前述したのと同様に、この認証情報は、様々な異なるやり方で生成することができる。次に、暗号化されたパケット、および認証情報は、公衆ネットワークインタフェース152によって別のゲームコンソールに送信される(動作278)。
【0112】
動作272〜278に関して、セキュリティゲートウェイクラスタが、複数のセキュリティゲートウェイデバイスを含み、かつクラスタ内の異なるセキュリティゲートウェイデバイスが、前述した2つのゲームコンソール(受信されたパケットの送信元のコンソール、および動作272で特定された別のコンソール)を扱うことに責任を負う状況が生じる可能性があることに留意されたい。その状況では、パケットを受信したセキュリティゲートウェイデバイスが、別のゲームコンソールを扱うことに責任を負うセキュリティゲートウェイデバイスを特定し、解読されたパケットをそのセキュリティゲートウェイデバイスに送信する。次に、他方のセキュリティゲートウェイデバイスが、別のゲームコンソールにそのパケットを転送することに責任を負う(動作274〜278を行って)。
【0113】
したがって、図1のデータセンタ110内の個々のサービスデバイスは、セキュリティゲートウェイ104が、公衆ネットワーク106を介してゲームコンソールから受信されたパケットの真正性を検証し、そのパケットに解読サービスを提供するのを頼りにすることができる。個々のサービスデバイスは、セキュリティゲートウェイ104と通信することができ、またデバイスが望む場合、ユーザおよび/またはゲームコンソールの何らかの検証を行う、または単にセキュリティゲートウェイ104を頼りにすることができる。
【0114】
また、専用ネットワーク108を介してデータセンタ110内の様々なサービスデバイス間で通信を行うことにより、様々なデバイスが、多種多様なデバイスの任意のものであることが可能であり、また互いに通信するためにネットワークプロトコル(例えば、TCP/IP)が使用されていることを理解しているだけでよいことを理解することができる。例えば、異なるサービスデバイスが、異なるオペレーティングシステムを実行していること、大幅に異なるハードウェアアーキテクチャを使用していること(例えば、異なるマイクロプロセッサアーキテクチャに基づいて)等が可能である。
【0115】
図5は、ゲームコンソールに送信されるデータパケットを扱うための例示的なプロセス300を示す流れ図である。図5のプロセスは、セキュリティゲートウェイデバイス(例えば、図2のデバイス150)によって実施され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで行われることが可能である。図5のプロセスについて、図1および2の構成要素を参照して述べる。
【0116】
最初に、データが、データセンタのセキュアゾーン内のサービスから受信される(動作302)。サービスは、データをあるゲームコンソールに送信することを、そのゲームコンソールによる要求に応答して行う、別のゲームコンソールによる要求に応答して行う、自発的に行うなど、様々な理由のいずれかで行うことを望むことが可能である。理由に関わらず、データは、セキュリティゲートウェイデバイス150(メッセージを送信する際にサービスによって特定された)によって受信され、データが送信される先のゲームコンソールが特定される(動作304)。セキュリティゲートウェイデバイス150がゲームコンソールを特定する仕方は、どのような識別情報をサービスがセキュリティゲートウェイデバイス150に提供するかに基づいて様々である可能性がある。一実施では、ゲームコンソールは、サービスによって提供される情報によって特定されることが可能である(例えば、サービスが、ゲームコンソールの完全に適格なアドレスを送信することが可能である)。別の実施形態では、サービスは、デバイスに関して自らが認知しているデータセンタIPアドレスおよびポート(例えば、セキュリティゲートウェイデバイス150によって割り当てられたデータセンタ可視IPアドレス、およびネットワーク108を介してゲームコンソールからサービスにメッセージを送信する際にセキュリティゲートウェイデバイス150によって使用されるポート)だけを伝え、それに応答して、セキュリティゲートウェイデバイスは、対応するゲームコンソールの完全に適格なアドレスをルックアップする(例えば、レコード172に基づいて)。
【0117】
受信されたデータは、次に、目標とされるゲームコンソールのために暗号化され(動作306)、データパケットに組み込まれる(動作308)。目標とされるゲームコンソールに関するセキュリティ関係鍵が、レコード172から獲得され、データをパケットのために暗号化するためにパケット暗号化モジュール164によって使用される。ゲームコンソールがデータパケットを暗号化することに関して前述したのと同様に、パケット暗号化モジュール164は、様々な暗号化アルゴリズムの任意のものを使用してデータパケットを暗号化することができる。暗号化されたパケットは、次に、目標とされるゲームコンソールに関するセッション鍵に基づいてパケットに関する認証情報を生成する認証情報生成モジュール162に提供される(動作310)。ゲームコンソールが認証情報を生成することに関して前述したのと同様に、この認証情報は、様々な異なる仕方で生成することができる。暗号化されたパケット、および認証情報は、次に、公衆ネットワークインタフェース152によって別のゲームコンソールに送信される(動作312)。
【0118】
セキュリティゲートウェイデバイス150によって行われる別の機能は、ハートビート信号がゲームコンソール102からセキュリティゲートウェイデバイス150に送信されるのと同様に、ハートビート信号をゲームコンソール102に送信することである。このハートビート信号は、あらゆる中間ルーティングデバイスにおいてルーティング情報を存命状態に保つのに役立ち、さらに、セキュリティゲートウェイデバイス150がまだ応答可能であることをゲームコンソール102に知らせる役割をする。
【0119】
セキュリティゲートウェイデバイス150は、様々な間隔で(例えば、セキュリティゲートウェイデバイス150が、ゲームコンソール102にパケットを最後に送信してから20秒で、またはゲームコンソール102にいつ最後のパケットが送信されたかに関わらず、20秒ごとに)ハートビート信号を送信する。時間の間隔は、様々である可能性があるが、ルーティング情報をいつ削除するかを決定する際に中間デバイスによって通常、使用される期間より短くなるように構成されなければならない。特定のセキュリティゲートウェイデバイスからハートビート信号が受信されることなく、ある十分な量の時間(例えば、セキュリティゲートウェイデバイスによってハートビート信号が送信される間隔の3倍、または4倍)が経過した場合、ゲームコンソールは、そのセキュリティゲートウェイデバイスがもはや応答可能ではないものと考え、それに応じて対処する(例えば、セキュリティゲートウェイクラスタと新しいセキュアな通信チャネルを確立しようと試みる)。
【0120】
図6は、ゲームコンソールに送信されるハートビートパケットを扱うための例示的なプロセス340を示す流れ図である。図6のプロセスは、セキュリティゲートウェイデバイス(例えば、図2のデバイス150)によって実施され、ソフトウェアで、ファームウェアで、ハードウェアで、または以上の組合せで行われることが可能である。図6のプロセスについて図1および2の構成要素を参照して述べる。
【0121】
セキュリティゲートウェイデバイス150のハートビートモジュール166は、ハートビートパケットをゲームコンソールに送信すべき時点まで待つ(動作342)。ハートビートパケットを送信すべき時点になったとき、ハートビートモジュール166は、ハートビートパケットの中に含められるべき何らかのデータが存在するかどうかをチェックする(ハートビート信号上にピギーバックされる)(動作344)。ゲームコンソールが、セキュリティゲートウェイデバイス150に送信されるハートビートパケットの中に他のデータを含めることに関して前述したのと同様に、セキュリティゲートウェイデバイス150も、ゲームコンソール102に送信されるハートビートパケットの中に他のデータを含めることが可能である。1つの例示的な実施形態では、あるサービス(例えば、存在−通知サービス)からのデータだけが、ハートビートパケットの中に含められる。別の例示的な実施形態では、サービスは、データをセキュリティゲートウェイデバイス150に送信する際、データをハートビート信号の中に含めることが可能であるかどうかを示す。
【0122】
一実施では、ティクルモジュール168が、コンソールに送信される次のハートビート信号の中に含められるべきデータを有する特定のゲームコンソールを特定することに責任を負う。ハートビートモジュール166は、ティクルモジュール168と通信して、自らが送信する用意をしているハートビート信号上に重畳されるべき何らかのデータが存在するかどうかを判定する。ハートビートパケットの中に含められるべきデータが存在する場合、そのデータが内部に組み込まれてデータパケットが生成され(動作346)、存在しない場合、全くそのようなデータなしにデータパケットが生成される(動作348)。1つの例示的な実施では、動作346および348で生成されたデータパケットは、ハートビートパケットとして識別され(例えば、パケットタイプ情報を使用して)、受信側のゲームコンソールが、そのパケットをそれに応じて処理することが可能になる(例えば、何らかの追加のデータが内部に組み込まれていないかチェックする)。
【0123】
動作346または348でパケットが生成されると、そのパケットの中のデータは、目標とされるゲームコンソールのためにパケット暗号化モジュール164によって暗号化される(動作350)。この暗号化プロセスは、前述した図5の動作308と同様である。次に、暗号化されたパケットに関する認証情報が、図5の動作310と同様に生成され(動作352)、暗号化されたパケット、およびその認証情報が、図5の動作312と同様にゲームコンソールに送信される(動作354)。次に、プロセスは、動作342に戻り、別のハートビート信号を送信すべき時点まで待つ。
【0124】
プロセス340の複数のインスタンスが同時に生じる可能性があることに留意されたい。例えば、動作346または348であるゲームコンソール向けにハートビートパケットが生成されており、一方、同時に、別のゲームコンソール向けのパケットが、動作358で暗号化されており、同時に、さらに別のゲームコンソール向けのパケットが、動作354で送信されていることが可能である。
【0125】
図2に戻ると、セキュリティゲートウェイデバイス150の様々なモジュールおよびインタフェースは、同一のハードウェア構成要素、または異なるハードウェア構成要素に実装すること、あるいは同一のハードウェア構成要素、または異なるハードウェア構成要素を利用することが可能であることに留意されたい。例えば、公衆ネットワークインタフェース152は、通常、デバイス150を公衆ネットワークに結合するネットワークインタフェースカード(NIC)、つまりハードウェアを使用して実装され、一方、セキュアゾーンインタフェース170は、通常、デバイス150を専用ネットワークに結合する別のNIC、つまりハードウェアを使用して実装される。さらに、一実施では、パケット解読モジュール154およびパケット暗号化モジュール164、ならびにオプションとして、パケット認証モジュール156および認証情報生成モジュール162が、特別の暗号プロセッサまたは暗号コプロセッサを使用して実装される。そのような暗号プロセッサまたは暗号コプロセッサは、暗号演算(暗号化、解読、およびハッシングなどの)を行い、デバイス150内の他のプロセッサが、計算リソースを多く消費する(computationally−expensive)暗号演算の負担を他のプロセッサ(例えば、汎用プロセッサ)から除くように設計されている。
【0126】
図7は、本明細書で説明する技術を実施するのに使用することができる一般的なコンピュータ環境400を示している。コンピュータ環境400は、計算環境の一例に過ぎず、コンピュータアーキテクチャおよびネットワークアーキテクチャの使用または機能の範囲に関する何らかの限定を示唆するものではない。また、コンピュータ環境400が、例示的なコンピュータ環境400に図示した構成要素のいずれか1つ、または組合せに関連する何らかの依存性または要件を有するものと解釈すべきでもない。
【0127】
コンピュータ環境400は、コンピュータ402の形態で汎用コンピューティングデバイスを含む。コンピュータ402は、例えば、図2のセキュリティゲートウェイデバイス150、図1のサーバ112、116、118、122、および/または126、または図1のフロントドア114、120、または124であることが可能である。コンピュータ402の構成要素には、1つまたは複数のプロセッサまたはプロセッサ404(オプションとして、暗号プロセッサまたは暗号コプロセッサを含む)、システムメモリ406、ならびにプロセッサ404からシステムメモリ406までを含む様々なシステム構成要素を結合するシステムバス408が含まれることが可能であるが、以上には限定されない。
【0128】
システムバス408は、様々なバスアーキテクチャの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート(accelerated graphics port)、およびプロセッサバスまたはローカルバスを含むいくつかのタイプのバス構造の任意のものの1つまたは複数を表す。例として、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(Industry Standard Architecture)(ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture)(MCA)バス、エンハンストISA(Enhanced ISA)(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association)(VESA)ローカルバス、およびメザニン(Mezzanine)バスとしても知られるペリフェラルコンポーネントインターコネクツ(Peripheral Component Interconnects)(PCI)バスが含まれることが可能である。
【0129】
コンピュータ402は、通常、様々なコンピュータ可読媒体を含む。この媒体は、コンピュータ402によってアクセス可能な任意の利用可能な媒体であることが可能であり、揮発性の媒体と不揮発性の媒体、取外し可能な媒体と取外し不可能な媒体がともに含まれる。
【0130】
システムメモリ406は、ランダムアクセスメモリ(RAM)410などの揮発性メモリ、および/または読取り専用メモリ(ROM)412などの不揮発性メモリの形態でコンピュータ可読媒体を含む。始動中など、コンピュータ402内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力/出力システム(BIOS)414が、ROM412の中に記憶される。RAM410は、通常、プロセッサ404が即時にアクセスすることができ、かつ/または現在、演算を行っているデータ、および/またはプログラムモジュールを含む。
【0131】
また、コンピュータ402は、その他の取外し可能な/取外し不可能な、揮発性/不揮発性のコンピュータ記憶媒体も含む。例として、図7が、取外し不可能な不揮発性の磁気媒体(図示せず)に対して読取りおよび書込みを行うためのハードディスクドライブ416、取外し可能な不揮発性の磁気ディスク420(例えば、「フロッピー(登録商標)ディスク」)に対して読取りおよび書込みを行うための磁気ディスクドライブ418、およびCD(compact disc [disk])−ROM、DVD(digital versatile disk)−ROM、またはその他の光媒体などの取外し可能な不揮発性の光ディスク424に対して読取りおよび/または書込みを行うための光ディスクドライブ422を示している。ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422はそれぞれ、1つまたは複数のデータ媒体インタフェース425でシステムバス408に接続される。あるいは、ハードディスクドライブ416、磁気ディスクドライブ418、および光ディスクドライブ422は、1つまたは複数のインタフェース(図示せず)でシステムバス408に接続することも可能である。
【0132】
以上のディスクドライブおよび関連するコンピュータ可読媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性ストーレッジがコンピュータ402に提供される。この例は、ハードディスク416、取外し可能な磁気ディスク420、および取外し可能な光ディスク424を示しているが、磁気カセットまたはその他の磁気記憶デバイス、フラッシュメモリカード、CD−ROM、デジタルバーサタイルディスク(DVD)またはその他の光ストーレッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、EEPROM(electrically erasable programmable read−only memory)などの、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体を利用して例示的な計算システムおよび計算環境を実施することも可能であることを理解されたい。
【0133】
例として、オペレーティングシステム426a、426b、1つまたは複数のアプリケーションプログラム428a、428b、その他のプログラムモジュール430a、430b、およびプログラムデータ432a、432bを含む任意の数のプログラムモジュールをハードディスク416、磁気ディスク420、光ディスク424、ROM412、および/またはRAM410に記憶することができる。そのようなオペレーティングシステム426a、426b、1つまたは複数のアプリケーションプログラム428a、428b、その他のプログラムモジュール430a、430b、およびプログラムデータ432a、432bのそれぞれが(または何らかの組合せが)、分散されたファイルシステムをサポートする常駐の構成要素のすべて、または一部を実施することができる。
【0134】
ユーザは、キーボード434やポインティングデバイス436(例えば、「マウス」)などの入力デバイスを介してコマンドおよび情報をコンピュータ402に入力することができる。その他の入力デバイス438(特に示さず)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、シリアルポート、スキャナ、および/または以上に類するものが含まれることが可能である。以上の入力デバイス、およびその他の入力デバイスは、システムバス408に結合された入力/出力インタフェース440を介してプロセッサ404に接続されているが、パラレルポート、ゲームポート、またはUSB(universal serial bus)などのその他のインタフェースおよびバス構造で接続してもよい。
【0135】
また、モニタ442、またはその他のタイプの表示デバイスも、ビデオアダプタ444などのインタフェースを介してシステムバス408に接続することができる。モニタ442に加え、その他の出力周辺デバイスには、入力/出力インタフェース440を介してコンピュータ402に接続することができるスピーカ(図示せず)やプリンタ446などの構成要素が含まれることが可能である。
【0136】
コンピュータ402は、リモートコンピューティングデバイスコンピューティングデバイス448などの1つまたは複数の遠隔コンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。例として、リモートコンピューティングデバイス448は、パーソナルコンピュータ、可搬コンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイスまたはその他の一般的なネットワークノード、ゲームコンソール等であることが可能である。リモートコンピューティングデバイス448は、コンピュータ402に関連して本明細書で説明した要素および特徴の多く、またはすべてを含むことが可能な可搬コンピュータとして示されている。
【0137】
コンピュータ402と遠隔コンピュータ448の間の論理接続は、ローカルエリアネットワーク(LAN)450、および一般的なワイドエリアネットワーク(WAN)452として描かれている。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットにおいて一般的である。
【0138】
LANネットワーキング環境において実施されるとき、コンピュータ402は、ネットワークインタフェースまたはネットワークアダプタ454を介してローカルネットワーク450に接続される。WANネットワーキング環境において実施されるとき、コンピュータ402は、通常、ワイドネットワーク452を介して通信を確立するためのモデム456、またはその他の手段を含む。コンピュータ402の内部にあることも、外部にあることも可能なモデム456は、入力/出力インタフェース440、またはその他の適切な機構を介してシステムバス408に接続することができる。図示したネットワーク接続は、例示的なものであり、コンピュータ402と448の間で通信リンクを確立する他の手段も使用できることを理解されたい。
【0139】
計算環境400で例示するようなネットワーク化された環境では、コンピュータ402に関連して描いたプログラムモジュール、またはプログラムモジュールの部分が、リモートメモリ記憶デバイスの中に記憶されることが可能である。例として、リモートアプリケーションプログラム458が、遠隔コンピュータ448のメモリデバイス上に常駐する。例示のため、オペレーティングシステムなどのアプリケーションプログラムおよびその他の実行可能プログラム構成要素は、本明細書では別々のブロックとして示されているが、そのようなプログラムおよび構成要素は、様々な時点で、コンピューティングデバイス402の異なる記憶構成要素の中に存在し、コンピュータのデータプロセッサによって実行されることが認識されている。
【0140】
本明細書では、様々なモジュールおよび技術は、1つまたは複数のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な状況で説明することができる。一般に、プログラムモジュールには、特定のタスクを行う、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。通常、プログラムモジュールの機能は、様々な実施形態において、所望に応じて結合する、または分散させることが可能である。
【0141】
以上のモジュールおよび技術の実施を何らかの形態のコンピュータ可読媒体に記憶する、またはコンピュータ可読媒体を介して伝送することが可能である。コンピュータ可読媒体は、コンピュータがアクセスすることができる任意の利用可能な媒体であることが可能である。例として、限定としてではなく、コンピュータ可読媒体は、「コンピュータ記憶媒体」および「通信媒体」を含むことが可能である。
【0142】
「コンピュータ記憶媒体」には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術で実装された揮発性の媒体および不揮発性の媒体、取外し可能な媒体および取外し不可能な媒体が含まれる。コンピュータ記憶媒体には、限定するものとしてではなく、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)またはその他の光ストーレッジ、磁気カセット、磁気テープ、磁気ディスクストーレッジまたはその他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、コンピュータがアクセスすることができる任意の他の媒体が含まれる。
【0143】
「通信媒体」は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波またはその他のトランスポート機構などの変調されたデータ信号として実現する。また、通信媒体には、あらゆる情報デリバリ媒体が含まれる。「変調されたデータ信号」という用語は、情報を信号の中に符号化するような仕方で特定の1つまたは複数が設定されている、または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線ネットワークなどの有線媒体、および音響媒体、RF(radio frequencies)媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。以上の媒体の任意のものの組合せも、コンピュータ可読媒体の範囲に含まれる。
【0144】
図8は、ゲームコンソールの機能構成要素をより詳細に示している。ゲームコンソール102は、中央処理装置(CPU)500、ならびにフラッシュROM(読取り専用メモリ)504、RAM(ランダムアクセスメモリ)506、ハードディスクドライブ508、およびポータブルメディアドライブ509を含む様々なタイプのメモリに対するプロセッサアクセスを円滑にするメモリコントローラ502を有する。CPU500は、データを一時的に記憶し、したがって、メモリアクセスサイクルの回数を減らすレベル1キャッシュ510およびレベル2キャッシュ512を備え、これにより、処理速度およびスループットが向上する。
【0145】
CPU500、メモリコントローラ502、および様々なメモリデバイスは、様々なバスアーキテクチャの任意のものを使用するシリアルバスおよびパラレルバス、メモリバス、周辺バス、およびプロセッサバスまたはローカルバスを含む1つまたは複数のバスを介して互いに接続される。例として、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(VESA)ローカルバス、およびメザニンバスとしても知られるペリフェラルコンポーネントインターコネクツ(PCI)バスが含まれることが可能である。
【0146】
1つの適切な実施として、CPU500、メモリコントローラ502、ROM504、およびRAM506が、共通モジュール514上に統合される。この実施では、ROM504は、PCI(ペリフェラルコンポーネントインターコネクツ)バスおよびROMバス(どちらも図示せず)を介してメモリコントローラ502に接続されたフラッシュROMとして構成される。RAM506は、別個のバス(図示せず)を介してメモリコントローラ502によって独立に制御される複数のDDR SDRAM(Double Data Rate Synchronous Dynamic RAM)として構成される。ハードディスクドライブ508およびポータブルメディアドライブ509は、PCIバスおよびATA(ATアタッチメント)バス516を介してメモリコントローラに接続される。
【0147】
3Dグラフィックスプロセッサ520およびビデオエンコーダ522が、高速かつ高解像度のグラフィックス処理のためのビデオ処理パイプラインを形成する。データは、デジタルビデオバス(図示せず)を介してグラフィックスプロセッサ520からビデオエンコーダ522に搬送される。オーディオプロセッサ524およびオーディオコーデック(エンコーダ/復号器)526が、高忠実度、かつステレオの処理を備えた対応するオーディオ処理パイプラインを形成する。オーディオデータは、通信リンク(図示せず)を介してオーディオプロセッサ524とオーディオコーデック526の間で搬送される。ビデオ処理パイプラインおよびオーディオ処理パイプラインは、テレビジョンまたはその他のディスプレイに伝送するためにデータをA/V(オーディオ/ビデオ)ポート528に出力する。図示した実施形態では、ビデオ処理構成要素およびオーディオ処理構成要素520〜528は、モジュール514上に実装される。
【0148】
やはりモジュール514上に実装されるのが、USBホストコントローラ530およびネットワークインタフェース532である。USBホストコントローラ530は、バス(例えば、PCIバス)を介してCPU500およびメモリコントローラ502に結合され、周辺コントローラ536−1〜536−4に対するホストの役割をする。ネットワークインタフェース232は、ネットワーク(例えば、インターネット、ホームネットワーク等)に対するアクセスを提供し、イーサネット(登録商標)カード、モデム、ブルートゥース(登録商標)モジュール、ケーブルモデム等を含む多種多様な有線または無線のインタフェース構成要素の任意のものであることが可能である。
【0149】
ゲームコンソール102は、2つのゲームコントローラ536−1〜536−4)をそれぞれがサポートする2つのデュアルコントローラサポートサブアセンブリ540−1および540−2を有する。フロントパネルI/Oサブアセンブリ542が、電源ボタン531および媒体ドライブ取出しボタン533の機能、ならびにゲームコンソールの外面上に露出したあらゆるLED(発光ダイオード)またはその他のインディケータをサポートする。サブアセンブリ540−1、540−2、および542は、1つまたは複数のケーブルアセンブリ544を介してモジュール514に結合される。
【0150】
8つのメモリユニット534−1〜534−8が、4つのコントローラ536−1〜536−4に、すなわち、各コントローラに対して2つのメモリユニットが、接続可能であるものとして示されている。各メモリユニット534は、ゲーム、ゲームパラメータ、およびその他のデータを記憶することができるさらなるストーレッジを提供する。コントローラに挿入されたとき、メモリユニット534−1〜534−8は、そのメモリコントローラ502によってアクセスされることが可能である。
【0151】
システム電源モジュール550が、ゲームコンソール102の構成要素に電力を供給する。ファン552が、ゲームコンソール102内部の回路を冷却する。
【0152】
コンソールユーザインタフェース(UI)アプリケーション560が、ハードディスクドライブ508に記憶される。ゲームコンソールに電源が投入されたとき、コンソールアプリケーション560の様々な部分が、RAM506および/またはキャッシュ510、512にロードされ、CPU500上で実行される。コンソールアプリケーション560は、ゲームコンソール上で利用可能な異なる媒体タイプにナビゲートする際に、整合性を有するユーザ体験を提供するグラフィカルユーザインタフェースを提示する。
【0153】
ゲームコンソール102は、暗号化、解読、認証、デジタル署名、ハッシングなどの一般的な暗号機能を行う暗号エンジンを実装する。暗号エンジンは、CPU500の一部として、またはCPU上で実行されるハードディスクドライブ508に記憶されたソフトウェアとして実装され、したがって、CPUが、暗号化機能を行うように構成されることが可能である。あるいは、暗号機能を行うように設計された暗号プロセッサまたは暗号コプロセッサが、ゲームコンソール102内に含まれることが可能である。
【0154】
ゲームコンソール102は、単にシステムをテレビジョンまたはその他のディスプレイに接続することにより、独立型システムとして動作させることが可能である。この独立型モードでは、ゲームコンソール102により、1名または複数名のプレーヤが、ゲームを行うこと、映画を観ること、または音楽を聴くことが可能になる。ただし、ネットワークインタフェース532を介して利用可能になるブロードバンド接続が統合されることで、ゲームコンソール102を、さらに、前述したとおり、オンラインゲームの参加者として動作させることが可能である。
【0155】
本明細書で解説したゲームコンソールは、専用のゲームコンソール(コンピュータゲームを実行する汎用PC(personal computer)ではなく)として説明したが、ゲームコンソールは、さらなる機能を組み込むことも可能である。例えば、ゲームコンソールは、デジタルVCR(video cartridge [cassette] recorder)として動作することができるようにビデオ録画機能を含むことが可能であり、テレビジョン信号(ブロードキャスト信号であるか、ケーブル信号であるか、サテライト信号であるかに関わらず)に同調して復号化することができるようにチャネル同調機能を含むこと等が可能である。
【0156】
また、以下に、米国特許出願10/170、002号の内容を説明する。
【0157】
以下の解説は、ネットワーク化されたデバイスに関する相互認証を使用したセキュアな鍵交換メカニズムを対象とするものである。この解説では、読者が暗号化、解読、認証、ハッシング、およびデジタル署名などの基本的な暗号法に精通しているものと想定される。
【0158】
図9は、相互認証を使用したセキュアな鍵交換が使用可能な例示的環境9100を示す構成図である。クライアント装置9102は、鍵配布センタ9104およびサーバ装置9106に結合される。デバイス9102と鍵配布センタ9104との結合は、デバイス9102とセンタ9104との間の通信を可能にする任意の様々な結合が可能である。同様に、デバイス9102と9106の間の結合も、デバイス9102とデバイス9106との間の通信を可能にする任意の様々な結合が可能である。一実施では、結合はインターネットを含み、任意選択として1つまたは複数の他のネットワーク(たとえばローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN))を含むこともできる。
【0159】
図9には単一のクライアント装置9102、単一のセンタ9104、および単一のサーバ装置9106が示されているが、環境9100はこうしたデバイスおよびセンタを複数含むことができる。たとえば、複数のクライアント装置9102が、1つまたは複数の鍵配布センタ9104および1つまたは複数のサーバ装置と通信することができる。
【0160】
クライアント装置9102とサーバ装置9106との間の通信、ならびにクライアント装置9102と鍵配布センタ9104との間の通信は、任意の様々な異なるパケット形式が可能である。一実施例では、通信はユーザデータグラムプロトコル(UDP/User Datagram Protocol)形式である。
【0161】
鍵配布センタ9104は鍵およびセキュリティチケットをクライアント装置9102に配布し、これをサーバ装置9106とのセキュアな鍵交換で使用することができる。サーバ装置9106はクライアント装置9102にサービスを提供するか、またはクライアント装置9102にサービスを提供する他のデバイス(図9には図示せず)へのゲートウェイとして動作する。
【0162】
クライアント装置9102は、任意の多種多様なデバイスであってよい。本明細書の解説の中には、クライアント装置9102をゲームコンソールと呼ぶものもある。こうしたゲームコンソールは、専用ゲームコンソールであるかまたは追加の機能を含むものであってよい。たとえばゲームコンソールは、デジタルVCRとして動作できるようにデジタルビデオレコーディング機能を含むこと、テレビジョン信号(同報通信信号、ケーブル信号、衛星放送信号などのいずれか)を同調およびデコードできるようにチャネル同調機能を含むこと、などが可能である。クライアント装置9102は、デスクトップPC、ポータブルコンピュータ、セルラー式電話、インターネット機器、サーバコンピュータなどの、他のタイプのコンピュータデバイスであってもよい。
【0163】
環境9100では、クライアント装置9102とサーバ装置9106との間の相互認証を使用したセキュアな鍵交換が望ましい。これにより、デバイス9102および9106が互いに認証し合うことが可能になり、さらに1つまたは複数の暗号鍵を確立し、セキュアでないネットワーク(たとえばインターネット)を介して相互にセキュアに通信するためにデバイス9102および9106の基礎として使用することが可能になる。
【0164】
相互認証を使用したセキュアな鍵交換を実行するために、鍵配布センタ9104からセキュリティチケットが取得される。一実施例では、セキュリティチケットは、単一チケットで、特定のクライアント装置9102の識別およびクライアント装置9102の1つまたは複数のユーザのユーザ識別を認証する、ケルベロスのような認証プロトコルを使用して、クライアント装置9102によって取得されるケルベロスチケットである。クライアント装置9102は、ケルベロスチケットを以下のように取得する。
【0165】
解説上、クライアント装置9102はゲームコンソールであると想定し、さらに4人のゲームコンソールユーザがいると想定する。それぞれのユーザには識別U、U、U、およびUが与えられ、ユーザ鍵K、K、K、およびKが割り当てられる。ゲームコンソールには、それ自体の識別Cおよびゲームコンソール鍵Kも割り当てられる。さらに、ゲームディスクなどのゲームコンソール上でプレイされるゲームタイトルには、別の識別Gが割り当てられる。同様の方法で、サーバ装置9106にはそれ自体の識別Aおよび鍵Kが割り当てられる。本明細書に記載された認証は、ある程度、鍵K、K、K、およびK、K、ならびに鍵Kに依存するものであることに留意されたい。したがって、これらの鍵を選択および格納する際には、それらの鍵を割り当てられたエンティティのみがそれらを使用できることに注意を払わなければならない。
【0166】
ゲームコンソールは、ユーザ識別U、U、U、およびUならびにユーザ鍵K、K、K、およびKに基づいて、検証されたユーザ識別を生成する。より具体的に言えば、検証されたユーザ識別には、ユーザ鍵から導出されたユーザ識別および値が含まれる。検証されたユーザ識別は要求と共に鍵配布センタ9104にサブミットされ、ゲームコンソールがユーザ鍵の知識を持っていることを、鍵配布センタに実証するために使用され、暗黙的にユーザを認証する。
【0167】
様々なメッセージおよび鍵が算出される方法を簡単に説明するために、次の表記法を導入する。
【0168】
H=HKx(M):Hとは、鍵Kを使用するメッセージMの鍵付き一方向ハッシュ(MAC)である。どんなMACアルゴリズムも使用できる。こうしたMACアルゴリズムの一例が、IETF RFC29104に従ったHMACアルゴリズムである。
【0169】
EncryptedM=EKx(M):EncryptedMとは、鍵Kを使用するメッセージMの暗号化形式である。どんな暗号化アルゴリズムも使用できる。こうした暗号化アルゴリズムの例に、DES、トリプルDES、およびRC4−HMACが含まれる。
【0170】
鍵導出値を生成する方法の1つが、ゲームコンソールの鍵を使用して、ユーザ鍵の暗号ハッシュを算出することである。鍵Kを持つユーザUの場合、ハッシュHは次のように算出される。
=HKc(K
【0171】
ハッシュHが鍵導出値を形成する。他の方法は、ユーザ鍵Kを使用して次のように現在時刻を暗号化することである。
=EK1(T)
【0172】
結果として生じる値Hが、鍵導出値を再度形成する。検証されたユーザ識別は、次のように、ユーザ識別Uおよび対応する鍵導出値Hの組合せである。
検証されたユーザ識別=(U,H
【0173】
ゲームコンソールは、ゲームコンソール識別C、ゲームタイトル識別G、サーバ装置9106のサーバ識別A、ならびに複数の検証されたユーザ識別(U,H)、(U,H)、(U,H)、および(U,H)を含む要求を構築する。要求は、次のような識別文字列を有する。
要求=[C,G,A,(U,H),(U,H),(U,H),(U,H)]
【0174】
さらに要求は、あるバージョンの認証プロトコル、およびゲームコンソールによって生成されるランダムナンス(nonce)を含みリプレイ攻撃を阻止することができる。要求は、識別文字列全体の受取りを検証するために使用される、チェックサム値も含むことができる。ゲームコンソールは、鍵配布センタ9104への結合を介して要求をサブミットする。
【0175】
鍵配布センタ9104は、要求ならびに要求に含まれる識別を評価する。鍵配布センタ9104は、サーバ装置9106用に使用されるランダムセッション鍵を生成する。この例では、鍵配布センタは、ゲームコンソール9102がサーバ装置9106と通信しながら使用するためのランダムセッション鍵KCAを生成する。本明細書ではこのランダムセッション鍵KCAをケルベロスセッション鍵とも呼ぶ。
【0176】
鍵配布センタがチケットを生成し、その後そのチケットがゲームコンソールによってサーバ装置9106に提示されることになる。サーバ装置9106向けに発行されるチケットは1つであるが、このチケットは複数のユーザに対して有効である。チケットには、要求で提出された識別文字列が含まれる。さらに、チケットが生成された時間T、チケットが満了するまでの時間長さを識別する時間T、およびサーバ装置9106向けにランダムに生成されたケルベロスセッション鍵KCAも含まれる。チケットは、任意選択で、ゲームコンソールのユーザがアクセスを許可されているサーバ装置9106を介して使用可能なサービスおよび/またはサービスデバイスを識別する、サービスマップSを含むこともできる。鍵配布センタは、どのユーザがどのサービスへのアクセスを許可されているか(たとえばどのユーザが、1つまたは複数の割増料金(premium)サービスにアクセスするための割増料金を払ったか)についての記録を維持するか、あるいは記録を維持する他のデバイスまたはセンタにアクセスする。チケットの内容は、サーバ装置の鍵Kを以下のように使用する対称鍵暗号(たとえばトリプルDES)を介して暗号化される。
【0177】
【数5】
Figure 2004056784
【0178】
チケットは対応する鍵導出値Hを搬送するものでないことに留意されたい。鍵配布センタが鍵導出値を読み取り、ゲームコンソールがユーザ鍵を認識していると確信すると、鍵配布センタはユーザの識別を発行済のチケット内に配置する。その後サーバ装置9106はチケットが伝えるすべての内容を信頼することになるため、鍵導出値Hを確認する必要はない。
【0179】
鍵配布センタは、生成されたチケットをゲームコンソールに戻す。ゲームコンソールはサーバ装置の鍵Kを知らないため、ゲームコンソールがチケットを開いて内容を変更することはできない。鍵配布センタは、添付の暗号化メッセージでセッションセキュリティ鍵も戻す。セッション鍵メッセージには、チケット生成時間T、チケット満了長さT、およびセッションセキュリティ鍵KCAが含まれ、すべての内容は以下のようにゲームコンソールの鍵Kを使用して暗号化される。
【0180】
【数6】
Figure 2004056784
【0181】
セッション鍵メッセージはゲームコンソールの鍵Kで暗号化されるため、ゲームコンソールはセッション鍵メッセージを開いて、セッション時間パラメータおよびセッション鍵を回復することができる。
【0182】
さらに図9を参照すると、いったんクライアント装置9102(たとえばゲームコンソール)が鍵配布センタ9104からチケットを受け取ると、クライアント装置9102はこのチケットを使用してサーバ装置9106との相互認証を使用したセキュア鍵交換を実行することができる。相互認証を使用したセキュア鍵交換は、クライアント装置9102およびサーバ装置9106にお互いを認証させることが可能であり、すなわちクライアント装置9102はサーバ装置9106が自分の要求するサーバ装置であることを検証可能であり、サーバ装置9106はクライアント装置9102が自分の要求するクライアント装置であることを検証可能である。さらにデバイス9102および9106は、他方が特定鍵の知識を有することを検証可能である。
【0183】
鍵交換により、2つのデバイス9102および9106が、これら2つのデバイス間で共用されるが2つのデバイス間で伝送されることはなく、第三者(たとえばデバイス9102および9106と同じネットワーク上にある他のデバイス)がデバイス間の往復するトラフィックに基づいて推定することのできない新しい秘密を、導出できるようにすることも可能である。一実施例では、2つのデバイスは新しい秘密を導出するためにディフィ−ヘルマン指数演算(Diffie−Hellman exponentiation operation)を使用する。ディフィ−ヘルマンに関するさらなる情報は、W. Diffie and M. E. Hellman, ”New directions in Cryptography”, IEEE Transactions on Information Theory v. IT−12, n. 6, Nov 1976, pp. 644−654に見ることができる。デバイス9102と9106との間の通信は、通信を暗号化することによって保護可能であるか、あるいは暗号化なしに実行することができる。
【0184】
図10は、クライアント装置とサーバ装置との間で相互認証を使用してセキュアな鍵交換を実行するための、例示的なプロセス10150を示す流れ図である。図10のプロセスは、図10の左側に示されたクライアント装置によって実行されるオペレーションと、図10の右側に示されたサーバ装置によって実行されるオペレーションにより、クライアント装置とサーバ装置の両方によって実施される。図10のプロセスは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行可能である。図10のプロセスは、図9の構成要素を参照して論じられる。さらにプロセスは、クライアント装置とサーバ装置との間のプロセスとして示されているが、互いの間にセキュアな通信チャネルを確立することが望ましい任意の2つのデバイスによって実行することもできる(たとえば、プロセスは2つのクライアント装置または2つのサーバ装置によって実行することができる)。
【0185】
初めに、クライアント装置9102は鍵交換イニシエータパケットを生成し、このパケットをサーバ装置9106に送信する(動作10152)。サーバ装置9106は鍵交換イニシエータパケットを受け取り、受け取ったパケットの妥当性を検査する(動作10154)。パケットの妥当性が検査されると、サーバ装置9106は、クライアント装置9102との通信をセキュアにするために使用される暗号鍵を生成する(動作10156)。一実施例では、これらの暗号鍵は、2つのデバイス間で2地点間通信をセキュアにするために使用されるセキュリティアソシエーション(security association)鍵である。
【0186】
次いでサーバ装置9106は鍵交換応答パケットを生成し、生成されたパケットをクライアント装置9102に送信する(動作10158)。クライアント装置9102は鍵交換応答パケットを受け取り、受け取ったパケットの妥当性を検査する(動作10160)。パケットの妥当性が検査されると、クライアント装置9102は、サーバ装置9106との通信をセキュアにするために使用される暗号鍵を生成する(動作10162)。暗号鍵は、動作10156でサーバ装置9106によって生成されたものと同じである。したがって、クライアント装置9102とサーバ装置9106はどちらも同じ暗号鍵で終わるが、それらの間で実際に鍵を伝送しなくても終わる。
【0187】
プロセス10150は、パーフェクトフォワードシークレシ(secrecy)を維持することに留意されたい。パーフェクトフォワードシークレシとは、たとえ第三者に以前の秘密の知識がある可能性があっても、その第三者は新しい秘密を推定できないことを言う。したがって、たとえば第三者(たとえば他のデバイス)がセッション鍵、またはクライアント装置9102とサーバ装置9106との間で以前に確立された鍵を発見しても、その第三者はセキュアな鍵交換プロセス10150から生成される新しい鍵を推定できないことになる。これは、たとえば第三者に、プロセス10150で使用されるDiffie−Hellman値(以下でより詳細に論じる)の知識がないためである。
【0188】
さらに、クライアント装置9102とサーバ装置9106との間では、2つのパケット、すなわち鍵交換イニシエータパケットおよび鍵交換応答パケットだけを通信すればよいことがわかる。したがって、相互認証を使用したセキュアな鍵交換を実行するために必要となるのは、単一の往復(クライアント装置9102からサーバ装置9106へのパケット、およびサーバ装置9106からクライアント装置9102への戻りパケット)のみである。この単一の往復は、使用されるパケット数を減らすことによって、待ち時間を減らし、鍵の確立およびデバイスの相互認証において帯域幅オーバヘッドを減らす働きをする。
【0189】
プロセス10150について、図11〜14を参照しながら以下でより詳細に論じる。図11は動作10152をより詳細に示し、図12は動作10154をより詳細に示し、図13は動作10156および10158をより詳細に示し、図14は動作10160および10162をより詳細に示す。
【0190】
図11は、鍵交換イニシエータパケットを生成および送信するための、例示的なプロセス11200を示す流れ図である。図11は、図10の動作10152をより詳細に示す図である。図11のプロセスはクライアント装置によって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行可能である。図11のプロセスは、図9の構成要素を参照して論じられる。
【0191】
初めに、クライアント装置9102が鍵交換イニシエータメッセージを生成する(動作11202)。鍵交換イニシエータメッセージは、以下のように、NonceInitと呼ばれるクライアント装置9102によって生成されるランダム(または擬似ランダム)値を含み、さらにDiffie−Hellman(g mod N)値も含み、この式のXもクライアント装置9102によって生成されるランダム(または擬似ランダム)値であって、さらに鍵交換プロセスが完了するとこのクライアント/サーバ通信チャネルを一意に定義する際に使用されることになる、セキュリティパラメータインデックス値(SPI)も含む。InitMess=[NonceInit,SPI,(g mod N)]
【0192】
次いでクライアント装置9102は、鍵配布センタ9104から受け取ったケルベロスセッション鍵KCAを使用して、鍵交換イニシエータメッセージのダイジェストを算出する(動作11204)。ダイジェストは以下のように生成される。
【0193】
【数7】
Figure 2004056784
【0194】
あるいは、HashInitMessの計算で、総称的一方向ハッシュ(鍵付きではない)を使用することもできる。鍵交換のセキュリティは、このハッシュが鍵付きであるか否かに依拠しない。
【0195】
次いでクライアント装置9102は、ケルベロス認証符号(authenticator)を生成する(動作11206)。ケルベロス認証符号は、タイムスタンプ(たとえばクライアント装置9102の現在時刻)と、動作11204で算出されたHashInitMessダイジェストを含む。タイムスタンプは、クライアント装置9102がケルベロス認証符号を生成するごとにクライアント装置9102によって増分され、これにより、サーバ装置9106にリプレイ攻撃をより良く検出させることができる。クライアント装置9102は、以下のように、ケルベロスセッション鍵KCAを使用してケルベロス認証符号を暗号化する(動作11208)。
【0196】
【数8】
Figure 2004056784
【0197】
次いでクライアント装置9102は、鍵交換イニシエータパケットを生成する(動作11210)。鍵交換イニシエータパケットは、鍵交換イニシエータメッセージInitMess、暗号化されたケルベロス認証符号Auth、および鍵配布センタ9104から受け取ったサーバ装置9106用のケルベロスチケットを含む。前述のように、ケルベロスチケットは、少なくともケルベロスセッション鍵(KCA)、チケットが有効な期間、およびクライアント装置9102を識別する一意の番号を含み、これらはすべて、鍵配布センタ9104およびサーバ装置9106が共用する秘密鍵を使用して暗号化される。SPI値は、クライアント装置9102とサーバ装置9106との間のセキュリティアソシエーションまたは通信チャネルを識別する。SPI値はサーバ装置9106からクライアント装置9102への通信に関連付けられ、SPI値はクライアント装置9102からサーバ装置9106への通信に関連付けられる。したがって、鍵交換イニシエータパケットは以下のようになる。
InitPacket=[InitMess,Auth,Ticket]
【0198】
認証符号とチケットの組合せは、ケルベロス用語でAP Requestと呼ばれることに留意されたい。次いでクライアント装置9102は、鍵交換イニシエータパケットをサーバ装置9106に送信する(動作11212)。
【0199】
図12は、鍵交換イニシエータパケットを受信および妥当性を検査するための、例示的なプロセス12250を示す流れ図である。図12は、図10の動作10154をより詳細に示す図である。図12のプロセスはサーバ装置によって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行可能である。図12のプロセスは、図9の構成要素を参照して論じられる。
【0200】
初めに、サーバ装置9106は鍵交換イニシエータパケットInitPacketを受信する(動作12252)。一実施では、サーバ装置9106はすべての鍵交換イニシエータパケットが所定の形式および所定のサイズであることを予測する。サーバ装置9106は、この所定の形式および所定のサイズに当てはまらないいずれの鍵交換イニシエータパケットも無視する。あるいは、サーバ装置9106は、様々な形式および/または様々なサイズの鍵交換イニシエータパケットを可能にすることができる。
【0201】
いったん鍵交換イニシエータパケットが受信されると、サーバ装置9106は、サーバ装置9106が鍵配布センタ9104と共用する鍵を使用して、ケルベロスチケットを解読する(動作12254)。次いでサーバ装置9106は、解読されたチケットをチェックして、チケットが失効(stale)していないかどうかを判別する(動作12256)。現在時刻が(チケットで識別された)チケットの有効な期間内に含まれる場合、チケットは失効していない。ただし、現在時刻がチケットの有効な期間内に含まれない場合、チケットは失効している。ケルベロスチケットが失効している場合、鍵交換プロセスは失敗し(動作12258)、その結果、クライアント装置9102とサーバ装置9106との間にセキュリティアソシエーションは確立されない。動作12258の一部として、サーバ装置9106は、鍵交換プロセスが失敗したことをクライアント装置9102に通知するか、あるいはサーバ装置9106は、受信したInitPacketを削除するだけでクライアント装置9102に通知しないことができる。
【0202】
ただし、ケルベロスチケットが失効していない場合、サーバ装置9106は、解読されたケルベロスチケットから回復されたケルベロスセッション鍵KCAを使用して、ケルベロス認証符号Authを解読する(動作12260)。次いでサーバ装置9106は、ケルベロス認証符号中のタイムスタンプTimeにアクセスし、タイムスタンプが受入れ可能であるかどうかを調べる(動作12262)。タイムスタンプは、サーバ装置9106の現在時刻とそれほど同期が外れていなければ、受入れ可能である。一実施例では、タイムスタンプがサーバ装置9106の現在時刻からの時間しきい値(たとえば、推奨されるケルベロス時間スキュー(skew)である5分)の範囲内であれば、タイムスタンプは受入れ可能である。タイムスタンプが受入れ可能でなければ、鍵交換プロセスは失敗する(動作12258)。
【0203】
タイムスタンプが受入れ可能な場合、サーバ装置9106は鍵交換メッセージInitMessのダイジェストを算出する(動作12264)。サーバ装置9106は、図11の動作11204でクライアント装置9102がダイジェストを算出したのと同じ方法で、ダイジェストを算出する。次いでサーバ装置9106は、動作12264で算出したダイジェスト値が、暗号化されたケルベロス認証符号Authの一部としてクライアント装置9102から受信したダイジェスト値に一致する(等しい)かどうかを調べる(動作12266)。2つのダイジェスト値が同じであれば、クライアント装置9102とサーバ装置9106との間の鍵交換メッセージInitMessが変更されていない(たとえば、鍵交換メッセージInitMessが不正変更されていない)ことを確認する働きをする。2つのダイジェスト値が一致しない場合(言い換えれば、2つのダイジェスト値が等しくない場合)、鍵交換プロセスは失敗する(動作12258)。
【0204】
ただし、受信したダイジェスト値と算出されたダイジェスト値が一致した場合、サーバ装置9106はケルベロス認証符号が再実行(replay)されたかどうかを調べる(動作12268)。サーバ装置9106は、各クライアント装置Cから受信したそれぞれのケルベロス認証符号(ケルベロスチケットに示されている)からのタイムスタンプの記録を維持する。サーバ装置9106が、サーバ装置9106によって記録された最後のタイプスタンプよりも新しくないタイムスタンプTimeの付いたケルベロス認証符号を受信すると、サーバ装置9106はケルベロス認証符号が再実行されたものであることを知る。ケルベロス認証符号が再実行されたものであれば、鍵交換イニシエータパケットは無効であり、鍵交換プロセスは失敗する(動作12258)。ただし、ケルベロス認証符号が再実行されたものでなければ、鍵交換イニシエータパケットはサーバ装置9106によって妥当性検査されている(動作12270)。これらの試験すべてに適合し、動作12270で鍵交換イニシエータパケットの妥当性が検査されると、サーバ装置9106はクライアント装置9102が実際に自分の要求したデバイスであると認証し、サーバ装置9106は、クライアント装置9102にケルベロスセッション鍵KCAの知識があることを検証し、クライアントにKの知識があることも(鍵配布センタの信用を通じて間接的に)検証する。
【0205】
図13は、暗号鍵を生成するため、ならびに鍵交換応答パケットを生成および送信するための例示的プロセス13300を示す流れ図である。図13は、図10の動作10156および10158をさらに詳細に示す図である。図13のプロセスはサーバ装置によって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行可能である。図13のプロセスは、図9の構成要素を参照して論じられる。
【0206】
初めに、サーバ装置9106は、鍵交換イニシエータメッセージInitMess、ケルベロスセッション鍵KCA、クライアント装置9102からのナンス(NonceInit)、およびサーバ装置9106によって生成されたナンス(NonceResp)に基づいて暗号鍵を生成する(動作13302)。サーバ装置9106は、ランダム(または擬似ランダム)数Y、ならびにNonceRespと呼ばれるランダム値を生成する。さらにサーバ装置9106は、Diffie−Hellman値(gXY mod N)ならびにDiffie−Hellman値(g mod N)を算出する。この時点で、サーバ装置9106はセキュリティアソシエーション鍵を算出するのに十分なデータを有する。セキュリティアソシエーション鍵は、2つのコンソール間での2地点間通信をセキュアにするために使用される。一実施例では、サーバ装置9106は2つのDiffie−Hellman値((g mod N)および(Y))を使用して関数(gXY mod N)を算出する。次いでサーバ装置9106は、値NonceInit、NonceResp、(gXY mod N)、およびケルベロスセッション鍵KCAに基づいて、様々なアルゴリズムを使用して様々なダイジェストを算出する。次いでこれらのダイジェストは、セキュリティアソシエーション鍵を形成するために使用される。一実施例では、サーバ装置9106が、NonceInit、NonceResp、(gXY mod N)を入力として使用し、ケルベロスセッション鍵KCAを双方向ですべてのセキュアパケットを認証および暗号化/解読するためのセキュリティ鍵として使用して、4つの異なるダイジェスト(1つの鍵を認証用、1つの鍵を暗号用に、それぞれの方向用に2倍して合計4つ)を算出する。
【0207】
次いでサーバ装置9106は、鍵交換応答メッセージを生成する(動作13304)。鍵交換応答メッセージは、以下のように、NonceInit、クライアント装置9102から受信したタイムスタンプTime、NonceResp、Diffie−Hellman値(g mod N)、およびSPI値を含む。
RespMess=[NonceInit,SPI,NonceResp,(g mod N)]
【0208】
SPI値はサーバ装置9106によって生成され、クライアント装置9102からサーバ装置9106へのすべての通信に関連付けられる。次いでサーバ装置9106は、以下のように、ケルベロスセッション鍵を使用して応答メッセージのダイジェストおよびハッシュ関数Hを算出する(動作13306)。
【0209】
【数9】
Figure 2004056784
【0210】
動作13306のハッシュ関数Hは、動作11204のハッシュ関数Hと同じであるか、または異なるハッシュ関数Hであってよい。
【0211】
次いでサーバ装置9106は、以下のように、算出されたハッシュダイジェストおよびケルベロス認証符号からのタイムスタンプTimeの両方を含む、ケルベロス回答メッセージを生成する(動作13308)。
ReplyMess=[HashRespMess,Time]
【0212】
次いでサーバ装置9106は、以下のように、暗号化アルゴリズムE(たとえばトリプルDES)およびケルベロスセッション鍵KCAを使用してケルベロス回答メッセージReplyMessを暗号化する(動作13310)。
【0213】
【数10】
Figure 2004056784
【0214】
動作13308の暗号化アルゴリズムEは、図11の動作11206で使用される暗号化アルゴリズムと同じであるか、または異なる暗号化アルゴリズムであってよい。
【0215】
次いでサーバ装置9106は、以下のように、鍵交換応答メッセージRespMessおよび暗号化されたケルベロス回答メッセージEncryptedReplyMessを含む、鍵交換応答パケットを生成する。
RespPacket=[RespMess,EncryptedReplyMess]
【0216】
次いでサーバ装置9106は、鍵交換応答パケットRespPacketをクライアント装置9102に送信する(動作13314)。
【0217】
図14は、鍵交換応答パケットを受信および妥当性評価するため、および暗号鍵を生成するための、例示的なプロセスを示す流れ図である。図14は、図10の動作10160および10162をより詳細に示す図である。図14のプロセスはクライアント装置によって実施され、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実行可能である。図14のプロセスは、図9の構成要素を参照して論じられる。
【0218】
初めに、クライアント装置9102は、サーバ装置9106から鍵交換応答パケットRespPacketを受信する(動作14352)。クライアント装置9102は、ケルベロスセッション鍵KCAを使用して、ケルベロス回答メッセージEncryptedReplyMessを解読する(動作14354)。次いでクライアント装置9102は、解読された回答メッセージ中のタイムスタンプTimeが、クライアント装置9102がサーバ装置9106に送信したタイムスタンプTimeと一致するかどうかを調べる(動作14356)。タイムスタンプが一致する場合(言い換えれば、タイムスタンプが等しい場合)、その一致により、サーバ装置9106がケルベロスチケット(Kの知識を証明する)およびケルベロス認証符号(したがってケルベロスセッション鍵KCAの知識を有する)を解読できたことが確認され、実際にサーバ装置9106が自分の要求したものであることが確認される。したがってこれらのタイムスタンプ値が一致すれば、サーバ装置9106はクライアント装置9102に対して認証され、この時点で、完全な相互認証が達成された(サーバはクライアントに対してKの知識を証明し、クライアントはサーバに対してKの知識を証明した)。
【0219】
タイムスタンプ値が一致しなければ、図12の動作12258と同様に、鍵交換プロセスは失敗する(動作14358)。ただし、タイムスタンプ値が一致する場合、サーバ装置9106はクライアント装置9102に対して認証され、続いてクライアント装置9102は、ケルベロスセッション鍵KCAを使用して鍵交換応答メッセージRespMessのダイジェストを算出する(動作14360)。クライアント装置9102は、図13の動作13306でサーバ装置9106がダイジェストを算出したのと同じ方法で、ダイジェストを算出する。次いでクライアント装置9102は、自分が動作14360で算出したダイジェスト値が、暗号化されたケルベロス回答メッセージEncryptedReplyMessの一部としてサーバ装置9106から受信したダイジェスト値と一致する(等しい)かどうかを調べる(動作14362)。2つのダイジェスト値が同じであれば、サーバ装置9106とクライアント装置9102との間の鍵交換応答メッセージRespMessが変更されていない(たとえば、鍵交換応答メッセージRespMessが不正変更されていない)ことを確認する働きをする。2つのダイジェスト値が一致しない場合(言い換えれば、2つのダイジェスト値が等しくない場合)、鍵交換プロセスは失敗する(動作14358)。
【0220】
ただし、2つのダイジェスト値が一致すれば、クライアント装置9102は、ケルベロスセッション鍵KCA、NonceInit、NonceResp、およびgXY mod Nに基づいて暗号鍵を生成する(動作14364)。図13の動作13302に関して上記で解説したのと同様に、この時点でクライアント装置9102には、Diffie−Hellman値(gXY mod N)を算出し、セキュリティアソシエーション鍵を算出するのに十分なデータがある。動作14364でクライアント装置9102によって算出されるセキュリティアソシエーション鍵は、図13の動作13302でサーバ装置9106によって算出されるものと同じであり、同じ方法で算出される。gXY mod Nは、クライアント装置のg mod NおよびXから算出されることに留意されたい。
【0221】
いったんクライアント装置9102がセキュリティアソシエーション鍵を持てば、デバイス9102は、鍵交換の完了を待っていたどんなパケットも自由に伝送することができる。ただしサーバ装置9106は、たとえ同じ鍵セットを持っていてもその応答メッセージRespMessが失われたことを確認できないため、自由に伝送することはできない。サーバ装置9106は、算出されたセキュリティアソシエーション鍵で認証されたパケットをクライアント装置9102から受信するまで、あるいは任意選択でクライアント装置9102から肯定応答パケット(AckPack)を受信するまで、待機する。
【0222】
一般には、クライアント装置9102がサーバ装置9106にパケットを送信するため、鍵交換プロセスは2つのパケット、すなわちInitPacketおよびRespPacketのみで構成される。あるいは、クライアント装置9102がまだパケットを送信していなければ、クライアント装置9102は人工の肯定応答パケット(「AckPack」と表記される)を送信することになる。このパケットは他の2つの鍵交換パケットとは異なり、ケルベロスセッション鍵KCAの代わりに算出されたセキュリティアソシエーション鍵を使用してAckPackがハッシュされる。
【0223】
これ以降、2つのデバイス9102および9104はセキュリティアソシエーション鍵を使用して通信をセキュアにする。他方のデバイスに伝送する必要のあるすべてのネットワークパケットは、任意選択で暗号化された後、受信側デバイスがパケットのコンテンツを解読する前に認証データを検証することによって認証される。デバイス9102および9104はいずれも、同じナンスを含む他方側からの鍵交換パケットを無視することができる。
【0224】
本明細書で論じた相互認証を使用したセキュア鍵交換は、秘密を導出するためのDiffie−Hellman指数演算を参照しながら論じられた。別法として、Diffie−Hellmanの代わりに他の暗号オペレーションまたは方法を使用することもできる。
【0225】
(結び)
以上の説明は、構造上の特徴および/または方法上の動作に特有の言い回しを使用したが、特許請求の範囲で定義される本発明は、説明した特定の特徴または動作に限定されないことを理解されたい。むしろ、以上の特定の特徴および動作は、本発明を実施する例示的な形態として開示している。
【0226】
【発明の効果】
以上説明したように本発明によれば、セキュアな通信を可能とするオンラインコンソールベースのゲームのためのセキュリティゲートウェイを実現できる。
【図面の簡単な説明】
【図1】本発明の実施形態の例示的なオンラインゲーム環境を示すブロック図である。
【図2】本発明の実施形態の例示的なセキュリティゲートウェイデバイスをさらなる詳細で示すブロック図である。
【図3】本発明の実施形態のゲームコンソールとセキュリティゲートウェイデバイスの間でセキュアな通信を確立するための例示的なプロセスを示すフローチャートの図である。
【図4a】本発明の実施形態のゲームコンソールから受信されたデータパケットを管理するための例示的なプロセスを示すフローチャートの図である。
【図4b】本発明の実施形態のゲームコンソールから受信されたデータパケットを管理するための例示的なプロセスを示すフローチャートの図である。
【図5】本発明の実施形態のゲームコンソールに送信されるデータパケットを扱うための例示的なプロセスを示すフローチャートの図である。
【図6】本発明の実施形態のゲームコンソールに送信されるハートビートパケットを扱うための例示的なプロセスを示すフローチャートの図である。
【図7】本発明の実施形態の一般的なコンピュータ環境を示す図である。
【図8】本発明の実施形態のゲームコンソールの機能上の構成要素をより詳細に示す図である。
【図9】本発明の実施形態の相互認証を使用したセキュアな鍵交換が使用可能な例示的環境を示す構成図である。
【図10】本発明の実施形態のクライアント装置とサーバ装置との間で相互認証を使用してセキュアな鍵交換を実行するための、例示的なプロセスを示すフローチャートの図である。
【図11】本発明の実施形態の鍵交換イニシエータパケットを生成および送信するための、例示的なプロセスを示すフローチャートの図である。
【図12】本発明の実施形態の鍵交換イニシエータパケットを受信および妥当性を検査するための、例示的なプロセスを示すフローチャートの図である。
【図13】本発明の実施形態の暗号鍵を生成し、さらに鍵交換応答パケットを生成および送信するための、例示的なプロセスを示すフローチャートの図である。
【図14】本発明の実施形態の鍵交換応答パケットを受信および妥当性を検査するため、および暗号鍵を生成するための、例示的なプロセスを示すフローチャートの図である。
【符号の説明】
102−1〜102−n ゲームコンソール
104 セキュリティゲートウェイ
106 公衆ネットワーク
108 専用ネットワーク
110 データセンタ
112 監視サーバ
114 存在−通知フロントドア
116 存在サーバ
118 通知サーバ
120 マッチフロントドア
122 マッチサーバ
124 統計フロントドア
126 統計サーバ
128 鍵配信センタ
150 セキュリティゲートウェイデバイス
152、174 公衆ネットワークインタフェース
154 パケット解読モジュール
156 パケット認証モジュール
158 ゲームコンソール認証モジュール
160 NATトラバーサルモジュール
162 認証情報生成モジュール
164 パケット暗号化モジュール
166 ハートビートモジュール
168 ティクルモジュール
170 セキュアゾーンインタフェース
172 セキュリティ関係レコード
176 ゲームコンソールアベイラビリティモジュール
178 パケットルーティングモジュール
9102 クライアント装置
9104 鍵配布センタ
9106 サーバ装置
10150  鍵交換プロセス

Claims (74)

  1. セキュリティゲートウェイで実行する方法であって、
    ゲームコンソールから、該ゲームコンソールが前記セキュリティゲートウェイを介してオンラインサービスと通信することができるようにするために、前記セキュリティゲートウェイとのセキュアな通信チャネルを確立する要求を受信するステップと、
    前記ゲームコンソールから受信されたデータに少なくともある程度基づいて前記ゲームコンソールを認証するステップと、
    前記セキュリティゲートウェイを前記ゲームコンソールに対して認証するステップと、
    前記セキュリティゲートウェイおよび前記ゲームコンソールによって、互いに送信される情報を暗号化するのに使用される、1つまたは複数のセキュリティ鍵を確立するステップと、
    前記1つまたは複数のセキュリティ鍵を前記ゲームコンソールに関連付けられたものとして維持するステップと
    を備えたことを特徴とする方法。
  2. 前記要求は、前記ゲームコンソール、および前記ゲームコンソールの1名または複数名の現行のユーザを前記セキュリティゲートウェイに対して認証するケルベロスチケットを含むことを特徴とする請求項1に記載の方法。
  3. 前記要求は、前記ゲームコンソールが前記ゲートウェイを介してアクセスすることが許される複数のサービスの1つまたは複数の、認証された指示を含むことを特徴とする請求項1に記載の方法。
  4. 前記ゲームコンソールに関連付けられたものとして、前記ゲームコンソールの完全に適格なアドレスを維持するステップをさらに備えた方法であって、
    前記ゲームコンソールに関する前記完全に適格なアドレスは、
    前記ゲームコンソールのイーサネット(登録商標)MACアドレスと、
    前記ゲームコンソールのローカルIPアドレスと、
    前記ゲームコンソールからデータパケットが受信される起点のIPアドレスおよびポートと、
    前記セキュリティゲートウェイのデバイス番号と、
    セキュアな通信チャネルのセキュリティパラメータインデックス(SPI)と、
    前記ゲームコンソールの識別と
    の1つまたは複数を含むことを特徴とする請求項1に記載の方法。
  5. 前記ゲームコンソールに関連付けられたものとして、前記ゲームコンソールの完全に適格なアドレスを維持するステップをさらに備えた方法であって、
    前記ゲームコンソールに関する前記完全に適格なアドレスは、
    前記ゲームコンソールのイーサネット(登録商標)MACアドレスと、
    前記ゲームコンソールのローカルIPアドレスと、
    前記ゲームコンソールからデータパケットが受信される起点のIPアドレスおよびポートと、
    前記セキュリティゲートウェイのデバイス番号と、
    セキュアな通信チャネルのセキュリティパラメータインデックス(SPI)と、
    前記ゲームコンソールの識別と
    を含むことを特徴とする請求項1に記載の方法。
  6. 前記ゲームコンソールと前記セキュリティゲートウェイとの間の通信がどのように行われるべきかを記述する1つまたは複数のセッションパラメータを、前記ゲームコンソールと取り決めるステップをさらに備えたことを特徴とする請求項1に記載の方法。
  7. 前記1つまたは複数のセキュリティ鍵は、前記セキュリティゲートウェイおよび前記ゲームコンソールによって、互いに受信される情報を認証するのにさらに使用されることを特徴とする請求項1に記載の方法。
  8. 1つまたは複数のプロセッサによって実行されたとき、該1つまたは複数のプロセッサに、
    ゲームコンソールから、該ゲームコンソールが前記セキュリティゲートウェイを介してオンラインサービスと通信することができるようにするために前記セキュリティゲートウェイとのセキュアな通信チャネルを確立する要求を受信するステップと、
    前記ゲームコンソールから受信されたデータに少なくともある程度基づいて前記ゲームコンソールを認証するステップと、
    前記セキュリティゲートウェイを前記ゲームコンソールに対して認証するステップと、
    前記セキュリティゲートウェイおよび前記ゲームコンソールによって互いに送信される情報を認証するのに使用される1つまたは複数のセキュリティ鍵を確立するステップと、
    前記1つまたは複数のセキュリティ鍵を前記ゲームコンソールに関連付けられたものとして維持するステップと
    を行わせる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ読み取り可能な記録媒体。
  9. 1つまたは複数のプロセッサによって実行されたとき、該1つまたは複数のプロセッサに、
    複数のゲームコンソールのそれぞれに関して、前記ゲームコンソールに対応する異なるセキュリティ関係を確立するステップであって、各セキュリティ関係が、前記対応するゲームコンソールに通信されるデータ、および前記対応するゲームコンソールから通信されるデータを暗号化するのに使用される1つまたは複数の関係するセキュリティ鍵を有するステップと、
    前記複数のゲームコンソールのそれぞれに関して、前記ゲームコンソールがもはや使用不可能になるまで、前記セキュリティ関係に関係する情報を維持するステップであって、前記セキュリティ関係に関係する前記情報が、前記1つまたは複数のセキュリティ鍵を含むステップと、
    サービスデバイスから受信されたデータを前記ゲームコンソールに通信する際、前記ゲームコンソールに対応する前記セキュリティ関係に関係する維持された前記情報を使用するステップと
    を行わせる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ読み取り可能な記録媒体。
  10. 特定のゲームコンソールに対応する前記セキュリティ関係に関係する前記情報は、前記特定のゲームコンソールがアクセスすることが許可されている複数のサービスの1つまたは複数の認証された指示を含むことを特徴とする請求項9に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  11. 特定のゲームコンソールに対応する前記セキュリティ関係に関係する前記情報は、
    前記特定のゲームコンソールのイーサネット(登録商標)MACアドレスと、
    前記特定のゲームコンソールのローカルIPアドレスと、
    前記特定のゲームコンソールからデータパケットが受信される起点のIPアドレスおよびポートと、
    前記セキュリティ関係のセキュリティパラメータインデックス(SPI)と、
    前記特定のゲームコンソールの識別と
    の1つまたは複数を含むことを特徴とする請求項9に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  12. 特定のゲームコンソールに対応する前記セキュリティ関係に関係する前記情報は、
    前記特定のゲームコンソールのイーサネット(登録商標)MACアドレスと、
    前記特定のゲームコンソールのローカルIPアドレスと、
    前記特定のゲームコンソールからデータパケットが受信される起点のIPアドレスおよびポートと、
    前記セキュリティ関係のセキュリティパラメータインデックス(SPI)と、
    前記特定のゲームコンソールの識別と
    を含むことを特徴とする請求項9に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  13. 前記1つまたは複数のプロセッサは、セキュリティゲートウェイデバイスの一部であることを特徴とする請求項9に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  14. 前記1つまたは複数のセキュリティ鍵は、前記対応するゲームコンソールに通信されるデータ、および前記対応するゲームコンソールから通信されるデータを認証するのにさらに使用されることを特徴とする請求項9に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  15. 複数のゲームコンソールのそれぞれに関して、前記ゲームコンソールに対応する異なるセキュリティ関係を確立するステップであって、各セキュリティ関係が、前記対応するゲームコンソールに通信されるデータ、および前記対応するゲームコンソールから通信されるデータを認証するのに使用される1つまたは複数の関係するセキュリティ鍵を有するステップと、
    前記複数のゲームコンソールのそれぞれに関して、前記ゲームコンソールがもはや使用不可能になるまで、前記セキュリティ関係に関係する情報を維持するステップであって、前記セキュリティ関係に関係する前記情報は、前記1つまたは複数のセキュリティ鍵を含むステップと、
    サービスデバイスから受信されたデータを前記ゲームコンソールに通信する際、前記ゲームコンソールに対応する前記セキュリティ関係に関係する維持された前記情報を使用するステップと
    を含むことを特徴とする方法。
  16. セキュリティゲートウェイで実行する方法であって、
    ゲームコンソールからデータパケットを受信するステップと、
    前記データパケットが、前記ゲームコンソールからのものとして認証されるかどうかをチェックするステップと、
    前記データパケットが認証された場合、
    前記ゲームコンソールに対応するセキュリティ鍵を特定するステップと、
    前記セキュリティ鍵を使用して前記パケットの中のデータを解読するステップと、
    前記パケットのタイプをチェックするステップと、
    前記パケットの前記タイプに基づいて前記パケットを扱うステップと
    を備えたことを特徴とする方法。
  17. 前記パケットの前記タイプは、ハートビートパケット、サービスを目標とするパケット、およびネットワークアドレス変換(NAT)トラバーサルパケットのどれか1つを含むことを特徴とする請求項16に記載の方法。
  18. 前記パケットがハートビートパケットである場合、前記パケットを扱うステップは、
    前記ゲームコンソール上で実行されるゲームタイトルに関するステータス情報が前記ハートビートパケットの中に含まれるかどうかをチェックするステップと、
    前記ステータス情報が前記ハートビートパケットの中に含まれる場合、前記ハートビートパケットから前記ステータス情報を抽出し、前記ステータス情報を、複数のゲームコンソールに関するステータス情報を管理する存在サーバに転送するステップと
    を含むことを特徴とする請求項16に記載の方法。
  19. 前記パケットがハートビートパケットである場合、前記パケットを扱うステップは、
    前記ゲームコンソールからの最後のハートビートパケット以来、ゼロ時間が経過したことを示すために、前記ゲームコンソールに関するハートビートタイマをリセットするステップ
    を含むことを特徴とする請求項16に記載の方法。
  20. 前記ゲームコンソールからハートビートパケットが受信されて以来、閾値時間が経過しているかどうかをチェックするステップと、
    前記閾値時間が経過している場合、前記ゲームコンソールがもはや使用不可能であることを示すメッセージを1つまたは複数の追加のデバイスに送信するステップと
    をさらに備えたことを特徴とする請求項16に記載の方法。
  21. 前記パケットがサービスを目標とするパケットである場合、前記パケットを扱うステップは、
    前記パケットによって目標とされるサービスを特定するステップと、
    前記ゲームコンソールが前記サービスを使用することが許されているかどうかをチェックするステップと、
    前記ゲームコンソールが前記サービスを使用することが許されている場合にだけ、前記サービスのアドレスを特定し、前記パケットの中のデータを前記サービスに転送するステップと
    を含むことを特徴とする請求項16に記載の方法。
  22. 前記サービスから、前記ゲームコンソールに関する追加の情報の要求を受信するステップと、
    前記サービスに、前記ゲームコンソールに関する前記追加の情報を転送するステップと
    をさらに備えたことを特徴とする請求項21に記載の方法。
  23. 前記追加の情報は、前記ゲームコンソールの完全に適格なアドレスを含むことを特徴とする請求項22に記載の方法。
  24. 前記パケットによって目標とされるサービスを特定するステップは、前記データパケットが受信されたポートを前記サービスのネットワークアドレスにマッピングするステップを含むことを特徴とする請求項21に記載の方法。
  25. 前記ゲームコンソールが前記サービスを使用することが許されているかどうかをチェックするステップは、前記ゲームコンソールに関連するセキュアな通信チャネルに対応する許可マッピングにアクセスし、該許可マッピングが、前記サービスへのアクセスが許可されていることを示すかどうかをチェックするステップを含むことを特徴とする請求項21に記載の方法。
  26. 前記サービスは、存在−通知サービスを含むことを特徴とする請求項21に記載の方法。
  27. 前記サービスは、マッチサービスを含むことを特徴とする請求項21に記載の方法。
  28. 前記サービスは、統計サービスを含むことを特徴とする請求項21に記載の方法。
  29. 前記サービスは、データセンタ内の1つまたは複数のサーバデバイスを含み、かつ前記サービスのアドレスは、データセンタ内部アドレスであることを特徴とする請求項21に記載の方法。
  30. 前記パケットがネットワークアドレス変換(NAT)トラバーサルパケットである場合、前記パケットを扱うステップは、
    前記パケットが転送される先の別のゲームコンソールを特定するステップと、前記別のゲームコンソールに対応する別のセキュリティ鍵を特定するステップと、
    解読された前記パケットを暗号化するために前記別のセキュリティ鍵を使用するステップと、
    暗号化された前記パケットを前記セキュリティゲートウェイからのものとして認証するために暗号化された前記パケットに関する認証情報を生成するステップと、
    暗号化された前記パケットおよび前記認証情報を前記別のゲームコンソールに送信するステップと
    を含むことを特徴とする請求項16に記載の方法。
  31. 第1のNATデバイスが、前記ゲームコンソールと前記セキュリティゲートウェイの間に配置され、かつ第2のNATデバイスが、前記別のゲームコンソールと前記セキュリティゲートウェイの間に配置されることを特徴とする請求項30に記載の方法。
  32. 前記パケットがネットワークアドレス変換(NAT)トラバーサルパケットである場合、前記パケットを扱うステップは、
    前記パケットが転送される先の別のゲームコンソールを特定するステップと、前記別のゲームコンソールを扱うことに責任を負う前記セキュリティゲートウェイのセキュリティゲートウェイデバイスを特定するステップと、
    前記別のゲームコンソールに送信するために前記パケットを前記セキュリティゲートウェイデバイスに転送するステップと
    を含むことを特徴とする請求項16に記載の方法。
  33. 前記データパケットは、部分的に暗号化され、かつ前記データパケットの中のデータを解読するステップは、前記パケットの中の前記データの一部分を解読するステップを含むことを特徴とする請求項16に記載の方法。
  34. 1つまたは複数のプロセッサによって実行されたとき、該1つまたは複数のプロセッサに、
    ゲームコンソールからデータパケットを受信するステップと、
    前記ゲームコンソールに対応するセキュリティ関係を特定するステップと、
    前記データパケットを前記ゲームコンソールからのものとして認証するために前記セキュリティ関係のセキュリティ鍵を使用するステップと、
    前記データパケットの内容を解読するために前記セキュリティ鍵を使用するステップと、
    前記データパケットのタイプをチェックするステップと、
    前記データパケットの前記タイプに基づいて前記データパケットの解読された前記内容を転送するステップと
    を行わせる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ読み取り可能な記録媒体。
  35. 前記データパケットの前記タイプは、ハートビートパケット、サービスを目標とするパケット、およびネットワークアドレス変換(NAT)トラバーサルパケットのどれかを含むことを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  36. 前記データパケットがハートビートパケットである場合、前記複数の命令は、前記1つまたは複数のプロセッサに、
    前記ゲームコンソール上で実行されるゲームタイトルに関するステータス情報が前記ハートビートパケットの中に含まれているかどうかをチェックするステップと、
    前記ステータス情報が前記ハートビートパケットの中に含まれている場合、前記ハートビートパケットから前記ステータス情報を抽出し、前記ステータス情報を複数のゲームコンソールに関するステータス情報を管理する存在サーバに転送するステップと
    をさらに行わせることを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  37. 前記データパケットがサービスを目標とするパケットである場合、前記複数の命令は、前記1つまたは複数のプロセッサに、
    前記データパケットによって目標とされるサービスを特定するステップと、
    前記ゲームコンソールが前記サービスを使用することが許されているかどうかをチェックするステップと、
    前記ゲームコンソールが前記サービスを使用することが許されている場合にだけ、前記サービスのアドレスを特定し、前記内容を前記アドレスで前記サービスに転送するステップと
    をさらに行わせることを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  38. 前記1つまたは複数のプロセッサに、前記パケットによって目標とされるサービスを特定するステップを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記データパケットが受信されたポートを前記サービスのネットワークアドレスにマップすることを行わせる命令を含むことを特徴とする請求項37に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  39. 前記1つまたは複数のプロセッサに、前記ゲームコンソールが前記サービスを使用することが許されているかどうかをチェックするステップを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記ゲームコンソールに関連するセキュアな通信チャネルに対応する許可マッピングにアクセスして、前記許可マッピングが、前記サービスへのアクセスが許可されていることを示すかどうかをチェックすることを行わせる命令を含むことを特徴とする請求項37に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  40. 前記サービスは、存在−通知サービスを含むことを特徴とする請求項37に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  41. 前記サービスは、マッチサービスを含むことを特徴とする請求項37に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  42. 前記サービスは、統計サービスを含むことを特徴とする請求項37に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  43. 前記パケットがネットワークアドレス変換(NAT)トラバーサルパケットである場合、前記複数の命令は、前記1つまたは複数のプロセッサに、
    前記データパケットが転送される先の別のゲームコンソールを特定するステップと、
    前記別のゲームコンソールに対応する別のセキュリティ鍵を特定するステップと、
    解読された前記データパケットを暗号化するために前記別のセキュリティ鍵を使用するステップと、
    暗号化された前記データパケットを前記セキュリティゲートウェイからのものとして認証するために暗号化された前記データパケットに関する認証情報を生成するステップと、
    暗号化された前記データパケットおよび前記認証情報を前記別のゲームコンソールに送信するステップと
    をさらに行わせることを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  44. 前記1つまたは複数のプロセッサは、セキュリティゲートウェイの一部であり、かつ第1のNATデバイスは、前記ゲームコンソールと前記セキュリティゲートウェイの間に配置され、かつ第2のNATデバイスは、前記別のゲームコンソールと前記セキュリティゲートウェイの間に配置されることを特徴とする請求項43に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  45. 前記データパケットは部分的に暗号化され、かつ前記1つまたは複数のプロセッサに、前記セキュリティ鍵を使用して前記データパケットの内容を解読することを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記データパケットの前記内容の一部分を解読することを行わせる命令を含むことを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  46. 前記命令は、前記1つまたは複数のプロセッサに、
    デバイスから、前記ゲームコンソールに関する追加の情報の要求を受け取るステップと、
    前記デバイスに、前記ゲームコンソールに関する追加の情報を転送するステップと
    をさらに行わせることを特徴とする請求項34に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  47. セキュリティゲートウェイで実行する方法であって、
    サービスデバイスから、暗号化されていないデータを受信するステップと、
    前記データが通信されるべきゲームコンソールを特定するステップと、
    前記ゲームコンソールに対応するセキュリティ鍵を特定するステップと、
    前記セキュリティ鍵を使用して前記データを暗号化するステップと、
    暗号化された前記データをデータパケットに組み込むステップと、
    前記データパケットに関する認証情報を生成するステップと、
    前記データパケットおよび前記認証情報を前記ゲームコンソールに送信するステップと
    を備えたことを特徴とする方法。
  48. 暗号化されていないデータを受信するステップは、データセンタセキュアゾーン内のサービスデバイスから暗号化されていないデータを受信するステップを含むことを特徴とする請求項47に記載の方法。
  49. 前記ゲームコンソールを特定するステップは、前記サービスデバイスから受信された情報に基づき、前記ゲームコンソールのアドレスを特定するセキュリティ関係情報のレコードにアクセスするステップを含むことを特徴とする請求項47に記載の方法。
  50. 前記ゲームコンソールに対応する前記セキュリティ鍵を特定するステップは、前記サービスデバイスから受信された情報に基づき、セキュリティ関係情報のレコードにアクセスして前記セキュリティ鍵を特定するステップを含むことを特徴とする請求項47に記載の方法。
  51. 前記サービスデバイスは、通知サービスデバイスを含むことを特徴とする請求項47に記載の方法。
  52. 前記サービスデバイスは、マッチサービスデバイスを含むことを特徴とする請求項47に記載の方法。
  53. 前記サービスデバイスは、統計サービスデバイスを含むことを特徴とする請求項47に記載の方法。
  54. 公衆ネットワークと専用ネットワークとの間でゲートウェイとして動作するセキュリティゲートウェイの1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    前記専用ネットワーク上のデバイスから、前記公衆ネットワーク上のゲームコンソールに通信されるべきデータを受信するステップと、
    前記ゲームコンソールに関連するセキュアな通信チャネルを特定するステップと、
    前記セキュアな通信チャネルに関係する情報からセキュリティ鍵を獲得するステップと、
    前記セキュリティ鍵を使用して前記データを暗号化するステップと、
    前記セキュリティ鍵を使用して、暗号化された前記データを前記セキュリティゲートウェイからのものとして認証するのに使用することができる認証情報を生成するステップと、
    暗号化された前記データおよび前記認証情報を前記ゲームコンソールに送信するステップと
    を行わせる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ読み取り可能な記録媒体。
  55. 前記命令は、前記1つまたは複数のプロセッサに、前記セキュアな通信チャネルに関係する前記情報から、暗号化された前記データおよび前記認証情報が送信されるべき先の前記ゲームコンソールに関連するアドレスを獲得することをさらに行わせることを特徴とする請求項54に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  56. 前記ゲームコンソールに関連する前記アドレスは、中間ネットワークアドレス変換(NAT)デバイスのアドレスであることを特徴とする請求項55に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  57. 前記1つまたは複数のプロセッサは、暗号プロセッサおよび汎用プロセッサを含むことを特徴とする請求項54に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  58. 前記1つまたは複数のプロセッサに、前記データを暗号化するステップを行わせる前記命令は、前記1つまたは複数のプロセッサに、前記セキュリティ鍵を使用して前記データの一部分を暗号化することを行わせる命令を含むことを特徴とする請求項54に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  59. セキュリティゲートウェイで実行する方法であって、
    ハートビートパケットがゲームコンソールに送信されるべき時点であることを判定するステップと、
    サービスデバイスから受信された、前記ゲームコンソールに送信されるべき追加のデータが存在するかどうかをチェックするステップと、
    ハートビートパケットを生成し、前記ゲームコンソールに送信されるべき追加のデータが存在する場合、前記追加のデータを前記ハートビートパケットに組み込むステップと、
    前記ゲームコンソールに対応するセキュリティ鍵を特定するステップと、
    前記追加のデータが存在する場合、該データを含め、前記ハートビートパケットのデータ内容を前記セキュリティ鍵を使用して暗号化するステップと、
    暗号化された前記ハートビートパケットに関する認証情報を生成するステップと、
    暗号化された前記ハートビートパケットおよび前記認証情報を前記ゲームコンソールに送信するステップと
    を備えたことを特徴とする方法。
  60. 前記セキュリティゲートウェイは、公衆ネットワークと専用ネットワークとの間のゲートウェイとして動作し、前記ゲームコンソールは、前記公衆ネットワークを介して前記セキュリティゲートウェイと通信し、かつ前記サービスデバイスは、前記専用ネットワークを介して前記セキュリティゲートウェイと通信することを特徴とする請求項59に記載の方法。
  61. 暗号化された前記ハートビートパケットおよび前記認証情報が送信されるべき先の前記ゲームコンソールに関連するアドレスを特定するステップをさらに含むことを特徴とする請求項59に記載の方法。
  62. 前記ゲームコンソールに関連する前記アドレスは、中間ネットワークアドレス変換(NAT)デバイスのアドレスであることを特徴とする請求項61に記載の方法。
  63. 公衆ネットワークと専用ネットワークとの間でゲートウェイとして動作するセキュリティゲートウェイの1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、
    前記公衆ネットワーク上のゲームコンソールに送信されるべき、前記専用ネットワーク上のサービスデバイスから受信された追加のデータを特定するステップと、
    前記ゲームコンソールに送信されるべきハートビートパケットを生成するステップと、
    前記追加のデータを前記ハートビートパケットに追加するステップと、
    前記ゲームコンソールに関連するセキュリティ鍵を特定するステップと、
    前記セキュリティ鍵を使用して前記ハートビートパケットを暗号化するステップと、
    暗号化された前記パケットを前記ゲームコンソールに送信するステップと
    を行わせる複数の命令を記憶していることを特徴とする1つまたは複数のコンピュータ読み取り可能な記録媒体。
  64. 前記セキュリティ鍵は、前記ゲームコンソールと前記セキュリティゲートウェイとの間のセキュリティ関係に対応することを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  65. 前記命令は、前記1つまたは複数のプロセッサに、暗号化された前記パケットが送信されるべき先の前記ゲームコンソールに関連するアドレスを特定するステップをさらに行わせることを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  66. 前記ゲームコンソールに関連する前記アドレスは、中間ネットワークアドレス変換(NAT)デバイスのアドレスであることを特徴とする請求項65に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  67. 前記1つまたは複数のプロセッサは、暗号コプロセッサおよび汎用プロセッサを含むことを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  68. 前記サービスデバイスは、通知サービスデバイスを含むことを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  69. 前記サービスデバイスは、マッチサービスデバイスを含むことを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  70. 前記サービスデバイスは、統計サービスデバイスを含むことを特徴とする請求項63に記載の1つまたは複数のコンピュータ読み取り可能な記録媒体。
  71. システムが、公衆ネットワークを介して複数のゲームコンソールとセキュアに通信することを可能にするように構成された第1のインタフェースと、
    前記システムが、専用ネットワークを介して複数のサービスデバイスと通信することを可能にするように構成された第2のインタフェースと、
    前記第1のインタフェースおよび前記第2のインタフェースに結合された1つまたは複数のモジュールであって、前記複数のゲームコンソールの中のゲームコンソールから受信されたデータパケットを認証し、解読して、前記データパケットが自らの目標として特定するサービスデバイス、ならびに前記データパケットの送信元である前記ゲームコンソールが、前記サービスデバイスにアクセスすることが許されているかどうかに基づき、前記データパケットの内容を前記複数のサービスデバイスの中の適切なデバイスに転送するように構成された1つまたは複数のモジュールと
    を備えたことを特徴とするシステム。
  72. 公衆ネットワークは、インターネットを含むことを特徴とする請求項71に記載のシステム。
  73. 前記専用ネットワークは、データセンタセキュアゾーン内のネットワークを含むことを特徴とする請求項71に記載のシステム。
  74. システムが、インターネットを介して複数のゲームコンソールと通信することを可能にするように構成されたインタフェースと、
    システムが、専用ネットワークを介して複数のサービスデバイスと通信することを可能にするように構成された別のインタフェースと、
    前記複数のゲームコンソールのそれぞれに関して、システムと前記ゲームコンソールとの間のセキュリティ関係に関する情報を記憶するデバイスと、
    1つまたは複数のモジュールであって、
    前記ゲームコンソールとの前記セキュリティ関係を確立し、
    前記ゲームコンソールからデータパケットを受信して、各パケットのタイプに従って前記データパケットを扱い、
    前記サービスデバイスからデータを受信し、前記データを暗号化して、前記データを前記サービスデバイスによって特定されたゲームコンソールに転送し、ハートビートパケットを前記ゲームコンソールに送信し、前記ハートビートパケットの1つまたは複数が、前記サービスデバイスの1つから受信された追加の情報を含む
    ように構成された1つまたは複数のモジュールと
    を備えたことを特徴とするシステム。
JP2003165716A 2002-06-10 2003-06-10 セキュリティゲートウェイで実行する方法、記録媒体及びシステム Pending JP2004056784A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/170,003 US7370194B2 (en) 2002-06-10 2002-06-10 Security gateway for online console-based gaming

Publications (2)

Publication Number Publication Date
JP2004056784A true JP2004056784A (ja) 2004-02-19
JP2004056784A5 JP2004056784A5 (ja) 2006-07-27

Family

ID=29583823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003165716A Pending JP2004056784A (ja) 2002-06-10 2003-06-10 セキュリティゲートウェイで実行する方法、記録媒体及びシステム

Country Status (3)

Country Link
US (2) US7370194B2 (ja)
EP (1) EP1372315A3 (ja)
JP (1) JP2004056784A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009525647A (ja) * 2006-01-30 2009-07-09 シーメンス アクチエンゲゼルシヤフト 第1の通信機と第2の通信機とのあいだでの共通鍵の指定方法、および、第1の通信機と第2の通信機とのあいだでの共通鍵の指定装置
US8386783B2 (en) 2006-12-04 2013-02-26 Fuji Xerox Co., Ltd. Communication apparatus and communication method
JP2014514889A (ja) * 2011-05-11 2014-06-19 アルカテル−ルーセント 公開鍵を利用した鍵管理のためのセキュリティアソシエーションの発見
JP2017059965A (ja) * 2015-09-15 2017-03-23 富士ゼロックス株式会社 情報処理装置、情報処理システム、及びプログラム

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080076580A1 (en) * 2000-05-12 2008-03-27 Murdock Wilbert Q Smart internet sports apparatus with multiple wireless protocols
US7803052B2 (en) * 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US7918734B2 (en) * 2002-09-30 2011-04-05 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. Gaming server providing on demand quality of service
US8443288B2 (en) * 2002-11-22 2013-05-14 Sony Pictures Entertainment Inc. Ubiquitous companion agent
US7712675B2 (en) * 2003-01-15 2010-05-11 Hewlett-Packard Development Company, L.P. Physical items for holding data securely, and methods and apparatus for publishing and reading them
FR2851863A1 (fr) * 2003-02-28 2004-09-03 France Telecom Systeme de telecommunication permettant une diffusion de flux multimedia via un reseau de communication public
US7185015B2 (en) 2003-03-14 2007-02-27 Websense, Inc. System and method of monitoring and controlling application files
US7529754B2 (en) 2003-03-14 2009-05-05 Websense, Inc. System and method of monitoring and controlling application files
US8862866B2 (en) 2003-07-07 2014-10-14 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
EP1646177B1 (en) * 2003-07-11 2012-04-11 Nippon Telegraph And Telephone Corporation Authentication system based on address, device thereof, and program
KR100568178B1 (ko) * 2003-07-18 2006-04-05 삼성전자주식회사 게이트웨이 장치 및 그 제어방법
US8245279B2 (en) 2003-08-19 2012-08-14 Certicom Corp. Method and apparatus for synchronizing an adaptable security level in an electronic communication
US20050055722A1 (en) * 2003-09-09 2005-03-10 Sony Corporation Intelligent routing of digital content
US7392422B2 (en) * 2003-10-20 2008-06-24 Sony Computer Entertainment America Inc., Violations in a peer-to-peer relay network
GB0405245D0 (en) * 2004-03-09 2004-04-21 Ibm Key-based encryption
US11343380B2 (en) 2004-03-16 2022-05-24 Icontrol Networks, Inc. Premises system automation
US11811845B2 (en) 2004-03-16 2023-11-07 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11368429B2 (en) 2004-03-16 2022-06-21 Icontrol Networks, Inc. Premises management configuration and control
US11316958B2 (en) 2008-08-11 2022-04-26 Icontrol Networks, Inc. Virtual device systems and methods
US11190578B2 (en) 2008-08-11 2021-11-30 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11244545B2 (en) 2004-03-16 2022-02-08 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US9141276B2 (en) 2005-03-16 2015-09-22 Icontrol Networks, Inc. Integrated interface for mobile device
US10721087B2 (en) 2005-03-16 2020-07-21 Icontrol Networks, Inc. Method for networked touchscreen with integrated interfaces
US20160065414A1 (en) 2013-06-27 2016-03-03 Ken Sundermeyer Control system user interface
US10127802B2 (en) 2010-09-28 2018-11-13 Icontrol Networks, Inc. Integrated security system with parallel processing architecture
US10522026B2 (en) 2008-08-11 2019-12-31 Icontrol Networks, Inc. Automation system user interface with three-dimensional display
US10156959B2 (en) 2005-03-16 2018-12-18 Icontrol Networks, Inc. Cross-client sensor user interface in an integrated security network
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US20050216302A1 (en) 2004-03-16 2005-09-29 Icontrol Networks, Inc. Business method for premises management
US7711796B2 (en) 2006-06-12 2010-05-04 Icontrol Networks, Inc. Gateway registry methods and systems
US11489812B2 (en) 2004-03-16 2022-11-01 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US20090077623A1 (en) 2005-03-16 2009-03-19 Marc Baum Security Network Integrating Security System and Network Devices
US9531593B2 (en) 2007-06-12 2016-12-27 Icontrol Networks, Inc. Takeover processes in security network integrated with premise security system
US9729342B2 (en) 2010-12-20 2017-08-08 Icontrol Networks, Inc. Defining and implementing sensor triggered response rules
US11677577B2 (en) 2004-03-16 2023-06-13 Icontrol Networks, Inc. Premises system management using status signal
US10237237B2 (en) 2007-06-12 2019-03-19 Icontrol Networks, Inc. Communication protocols in integrated systems
US11159484B2 (en) 2004-03-16 2021-10-26 Icontrol Networks, Inc. Forming a security network including integrated security system components and network devices
US11582065B2 (en) 2007-06-12 2023-02-14 Icontrol Networks, Inc. Systems and methods for device communication
US11113950B2 (en) 2005-03-16 2021-09-07 Icontrol Networks, Inc. Gateway integrated with premises security system
US11201755B2 (en) 2004-03-16 2021-12-14 Icontrol Networks, Inc. Premises system management using status signal
US20170118037A1 (en) 2008-08-11 2017-04-27 Icontrol Networks, Inc. Integrated cloud system for premises automation
US11277465B2 (en) 2004-03-16 2022-03-15 Icontrol Networks, Inc. Generating risk profile using data of home monitoring and security system
US10142392B2 (en) 2007-01-24 2018-11-27 Icontrol Networks, Inc. Methods and systems for improved system performance
US11916870B2 (en) 2004-03-16 2024-02-27 Icontrol Networks, Inc. Gateway registry methods and systems
US20060041741A1 (en) * 2004-08-23 2006-02-23 Nokia Corporation Systems and methods for IP level decryption
US20060055113A1 (en) * 2004-09-14 2006-03-16 Zone4Play, Inc. Multiplayer card tournaments and methods
US7822017B2 (en) * 2004-11-18 2010-10-26 Alcatel Lucent Secure voice signaling gateway
US20110128378A1 (en) 2005-03-16 2011-06-02 Reza Raji Modular Electronic Display Platform
US11615697B2 (en) 2005-03-16 2023-03-28 Icontrol Networks, Inc. Premise management systems and methods
US20120324566A1 (en) 2005-03-16 2012-12-20 Marc Baum Takeover Processes In Security Network Integrated With Premise Security System
US11700142B2 (en) 2005-03-16 2023-07-11 Icontrol Networks, Inc. Security network integrating security system and network devices
US20170180198A1 (en) 2008-08-11 2017-06-22 Marc Baum Forming a security network including integrated security system components
US10999254B2 (en) * 2005-03-16 2021-05-04 Icontrol Networks, Inc. System for data routing in networks
US11496568B2 (en) 2005-03-16 2022-11-08 Icontrol Networks, Inc. Security system with networked touchscreen
DE102005021849B4 (de) * 2005-05-11 2007-08-02 Infineon Technologies Ag Embedded-Kommunikationsendgerät
US7617541B2 (en) 2005-09-09 2009-11-10 Netapp, Inc. Method and/or system to authorize access to stored data
CN1929367B (zh) * 2005-09-10 2010-08-25 腾讯科技(深圳)有限公司 一种游戏数据传输方法及系统
EP1932272B1 (en) 2005-10-05 2013-12-11 Byres Security Inc. Network security appliance
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
US8453243B2 (en) 2005-12-28 2013-05-28 Websense, Inc. Real time lockdown
CN100571125C (zh) * 2005-12-30 2009-12-16 上海贝尔阿尔卡特股份有限公司 一种用于用户设备与内部网络间安全通信的方法及装置
WO2007118307A1 (en) * 2006-04-13 2007-10-25 Certicom Corp. Method and apparatus for providing an adaptable security level in an electronic communication
US10079839B1 (en) 2007-06-12 2018-09-18 Icontrol Networks, Inc. Activation of gateway device
US20070294380A1 (en) * 2006-06-14 2007-12-20 Kabushiki Kaisha Toshiba System and method for periodic server-to-client data delivery
US20070297609A1 (en) * 2006-06-23 2007-12-27 Research In Motion Limited Secure Wireless HeartBeat
US20080009337A1 (en) * 2006-07-08 2008-01-10 Jackson Mark D Self-authenticating file system in an embedded gaming device
US11706279B2 (en) 2007-01-24 2023-07-18 Icontrol Networks, Inc. Methods and systems for data communication
US7633385B2 (en) 2007-02-28 2009-12-15 Ucontrol, Inc. Method and system for communicating with and controlling an alarm system from a remote server
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8451986B2 (en) 2007-04-23 2013-05-28 Icontrol Networks, Inc. Method and system for automatically providing alternate network access for telecommunications
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US11218878B2 (en) 2007-06-12 2022-01-04 Icontrol Networks, Inc. Communication protocols in integrated systems
US10523689B2 (en) 2007-06-12 2019-12-31 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US11316753B2 (en) 2007-06-12 2022-04-26 Icontrol Networks, Inc. Communication protocols in integrated systems
US11646907B2 (en) 2007-06-12 2023-05-09 Icontrol Networks, Inc. Communication protocols in integrated systems
US11237714B2 (en) 2007-06-12 2022-02-01 Control Networks, Inc. Control system user interface
US11601810B2 (en) 2007-06-12 2023-03-07 Icontrol Networks, Inc. Communication protocols in integrated systems
US11089122B2 (en) 2007-06-12 2021-08-10 Icontrol Networks, Inc. Controlling data routing among networks
US11423756B2 (en) 2007-06-12 2022-08-23 Icontrol Networks, Inc. Communication protocols in integrated systems
US11212192B2 (en) 2007-06-12 2021-12-28 Icontrol Networks, Inc. Communication protocols in integrated systems
US8423767B2 (en) * 2007-06-13 2013-04-16 Cisco Technology, Inc. Security association verification and recovery
US11831462B2 (en) 2007-08-24 2023-11-28 Icontrol Networks, Inc. Controlling data routing in premises management systems
US8590012B2 (en) * 2007-08-27 2013-11-19 Microsoft Corporation Network access control based on program state
US20090080654A1 (en) * 2007-09-26 2009-03-26 Pri-Or Ester Method to track the downloading and playing of audible presentations
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US11916928B2 (en) 2008-01-24 2024-02-27 Icontrol Networks, Inc. Communication protocols over internet protocol (IP) networks
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US20170185278A1 (en) 2008-08-11 2017-06-29 Icontrol Networks, Inc. Automation system user interface
US11729255B2 (en) 2008-08-11 2023-08-15 Icontrol Networks, Inc. Integrated cloud system with lightweight gateway for premises automation
US11792036B2 (en) 2008-08-11 2023-10-17 Icontrol Networks, Inc. Mobile premises automation platform
US11258625B2 (en) 2008-08-11 2022-02-22 Icontrol Networks, Inc. Mobile premises automation platform
US11758026B2 (en) 2008-08-11 2023-09-12 Icontrol Networks, Inc. Virtual device systems and methods
WO2010054471A1 (en) 2008-11-17 2010-05-20 Sierra Wireless, Inc. Method and apparatus for network port and network address translation
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
US8924486B2 (en) 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
US8364567B2 (en) * 2008-12-29 2013-01-29 Bank Of America Corporation Secure platforms for financial transaction applications
US8750112B2 (en) 2009-03-16 2014-06-10 Echostar Technologies L.L.C. Method and node for employing network connections over a connectionless transport layer protocol
KR101048439B1 (ko) * 2009-04-24 2011-07-11 (주)엠더블유스토리 게임 실행 권한 인증 방법, 게임 실행 권한 인증 프로그램이 기록된 기록매체, 및 게임 실행 권한 인증 프로그램이 저장된 서버
US8638211B2 (en) 2009-04-30 2014-01-28 Icontrol Networks, Inc. Configurable controller and interface for home SMA, phone and multimedia
US9047458B2 (en) 2009-06-19 2015-06-02 Deviceauthority, Inc. Network access protection
US9047450B2 (en) * 2009-06-19 2015-06-02 Deviceauthority, Inc. Identification of embedded system devices
US8495359B2 (en) * 2009-06-22 2013-07-23 NetAuthority System and method for securing an electronic communication
US8131822B2 (en) * 2009-07-01 2012-03-06 Suresh Srinivasan Access of elements for a secure web page through a non-secure channel
US8726407B2 (en) * 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
US8917625B2 (en) * 2009-11-10 2014-12-23 Broadcom Corporation Mapping quality of service (QOS) from a wireless network to a wired network
US9088609B2 (en) 2009-12-24 2015-07-21 International Business Machines Corporation Logical partition media access control impostor detector
US8635163B2 (en) * 2010-01-13 2014-01-21 Green Man Gaming Limited System and method for facilitating a video game exchange
US8924304B2 (en) * 2010-06-04 2014-12-30 Apple Inc. Methods for using unique identifiers to identify systems in collaborative interaction in a mesh network
CN103229161B (zh) * 2010-08-24 2016-01-20 科派恩股份有限公司 连续接入网关和去重数据缓存服务器
US8836467B1 (en) 2010-09-28 2014-09-16 Icontrol Networks, Inc. Method, system and apparatus for automated reporting of account and sensor zone information to a central station
US20130198273A1 (en) 2010-10-16 2013-08-01 James Charles Vago Methods, devices, and systems for video gaming
CN102479238A (zh) * 2010-11-24 2012-05-30 深圳市快播科技有限公司 单机存档游戏系统及其存档方法
US11750414B2 (en) 2010-12-16 2023-09-05 Icontrol Networks, Inc. Bidirectional security sensor communication for a premises security system
US9147337B2 (en) 2010-12-17 2015-09-29 Icontrol Networks, Inc. Method and system for logging security event data
AU2011100168B4 (en) 2011-02-09 2011-06-30 Device Authority Ltd Device-bound certificate authentication
EP2673927A4 (en) 2011-02-08 2016-08-24 Sierra Wireless Inc METHOD AND DATA-TRANSFER SYSTEM BETWEEN NETWORK DEVICES
WO2012170800A1 (en) * 2011-06-08 2012-12-13 Cirque Corporation Protecting data from data leakage or misuse while supporting multiple channels and physical interfaces
AU2011101295B4 (en) 2011-06-13 2012-08-02 Device Authority Ltd Hardware identity in multi-factor authentication layer
AU2011101297B4 (en) 2011-08-15 2012-06-14 Uniloc Usa, Inc. Remote recognition of an association between remote devices
US9716691B2 (en) * 2012-06-07 2017-07-25 Early Warning Services, Llc Enhanced 2CHK authentication security with query transactions
CN103024095A (zh) * 2012-11-23 2013-04-03 北京百度网讯科技有限公司 数据中心系统及数据中心提供服务方法
US9143496B2 (en) 2013-03-13 2015-09-22 Uniloc Luxembourg S.A. Device authentication using device environment information
US9286466B2 (en) 2013-03-15 2016-03-15 Uniloc Luxembourg S.A. Registration and authentication of computing devices using a digital skeleton key
CN104468306B (zh) * 2013-09-25 2018-04-06 新华三技术有限公司 一种vxlan网络中的报文传输方法和设备
CN103607402B (zh) * 2013-11-26 2016-11-23 广州博冠信息科技有限公司 一种网络游戏数据加密以及解密方法和设备
US11405463B2 (en) 2014-03-03 2022-08-02 Icontrol Networks, Inc. Media content management
US11146637B2 (en) 2014-03-03 2021-10-12 Icontrol Networks, Inc. Media content management
US9413738B2 (en) * 2014-06-19 2016-08-09 Microsoft Technology Licensing, Llc Securing communications with enhanced media platforms
WO2016019016A1 (en) * 2014-07-29 2016-02-04 Blacksands Inc. Secure communication system and method
TWI534634B (zh) * 2015-01-29 2016-05-21 台達電子工業股份有限公司 主動式資料推送系統及主動式資料推送方法
US9954824B2 (en) * 2015-06-02 2018-04-24 Oracle International Corporation Exposing an interface to devices outside a network for requesting a subset of services provided by devices inside the network
US9930121B2 (en) * 2015-07-31 2018-03-27 Intel Corporation System, apparatus and method for optimizing symmetric key cache using tickets issued by a certificate status check service provider
US10503533B2 (en) * 2016-01-04 2019-12-10 Wesley John Boudville App streaming, bidirectional linket, phone number for mobile deep links
WO2017135942A1 (en) * 2016-02-03 2017-08-10 Hewlett-Packard Development Company, L.P. Heartbeat signal verification
CN108418776B (zh) * 2017-02-09 2021-08-20 上海诺基亚贝尔股份有限公司 用于提供安全业务的方法和设备
CN106972933B (zh) * 2017-03-09 2019-08-02 杭州明特科技有限公司 一种用于能源信息网关的数据请求方法
CN111343218A (zh) * 2018-12-18 2020-06-26 杭州光启人工智能研究院 基于心跳报文数据发送和接收方法、存储介质及处理器
US11411915B2 (en) * 2019-01-09 2022-08-09 Cisco Technology, Inc. Leveraging MACsec key agreement (MKA) state events to trigger fast IGP/EGP convergence on MACsec encrypted links
US11463249B2 (en) 2019-06-13 2022-10-04 International Business Machines Corporation Fairness in gaming
US10960314B2 (en) * 2019-07-12 2021-03-30 Microsoft Technology Licensing, Llc Data transport of encryption key used to secure communication between computing devices
CN111629029B (zh) * 2020-04-17 2023-06-20 金蝶软件(中国)有限公司 服务发布方法和系统
GB2598084A (en) * 2020-07-16 2022-02-23 The Sec Dep For Foreign Commonwealth And Development Affairs Acting Through The Government Communica Payload assurance at a network boundary
CN114390072B (zh) * 2021-12-17 2023-09-29 武汉慧联无限科技有限公司 一种信息处理方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0233239A (ja) * 1988-07-23 1990-02-02 Nintendo Co Ltd 通信制御装置
JP2002007914A (ja) * 2000-06-16 2002-01-11 Nec Corp 電子コンテンツ開封方法及び電子コンテンツレンタル方法並びにレンタル実現の装置

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4652998A (en) * 1984-01-04 1987-03-24 Bally Manufacturing Corporation Video gaming system with pool prize structures
US5592651A (en) * 1993-06-11 1997-01-07 Rackman; Michael I. Method and system for limiting multi-user play of video game cartridges
EP0720796B1 (en) 1993-09-20 1997-07-16 International Business Machines Corporation System and method for changing the key or password in a secure distributed communications network
RU95103479A (ru) * 1994-03-11 1996-12-27 Уолкер Эссет Мэнеджмент Лимитед Партнершип (US) Игровая система, игровой компьютер, способ проведения игры, лотереи с участием игрока
US5636209A (en) 1994-05-05 1997-06-03 Perlman; Stephen G. Modem to support multiple site call conferenced data communications
US5586257A (en) * 1994-05-05 1996-12-17 Perlman; Stephen G. Network architecture to support multiple site real-time video games
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5685775A (en) 1994-10-28 1997-11-11 International Business Machines Corporation Networking video games over telephone network
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
US5779549A (en) * 1996-04-22 1998-07-14 Walker Assest Management Limited Parnership Database driven online distributed tournament system
US5764887A (en) 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
AU1829897A (en) 1996-01-16 1997-08-11 Raptor Systems, Inc. Transferring encrypted packets over a public network
US6134590A (en) 1996-04-16 2000-10-17 Webtv Networks, Inc. Method and apparatus for automatically connecting devices to a local network
US6006266A (en) * 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6099408A (en) * 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US6240513B1 (en) 1997-01-03 2001-05-29 Fortress Technologies, Inc. Network security device
US6152824A (en) * 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US5984787A (en) 1997-06-17 1999-11-16 International Business Machines Corp. Method and system for multi-user game recovery
FI105753B (fi) * 1997-12-31 2000-09-29 Ssh Comm Security Oy Pakettien autentisointimenetelmä verkko-osoitemuutosten ja protokollamuunnosten läsnäollessa
US6246666B1 (en) 1998-04-09 2001-06-12 Compaq Computer Corporation Method and apparatus for controlling an input/output subsystem in a failed network server
US6012096A (en) 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
US6599194B1 (en) 1998-09-08 2003-07-29 Darren Smith Home video game system with hard disk drive and internet access capability
US6327662B1 (en) 1998-09-30 2001-12-04 3Com Corporation Security through the use of tokens and automatically downloaded applets
US6330562B1 (en) 1999-01-29 2001-12-11 International Business Machines Corporation System and method for managing security objects
US6468160B2 (en) 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
JP4616535B2 (ja) * 1999-12-23 2011-01-19 シテイシャン ネットワークス インコーポレイテッド パケットスケジューリングを用いるネットワーク交換方法
US7024692B1 (en) * 2000-01-21 2006-04-04 Unisys Corporation Non pre-authenticated kerberos logon via asynchronous message mechanism
US7155740B2 (en) 2000-07-13 2006-12-26 Lucent Technologies Inc. Method and apparatus for robust NAT interoperation with IPSEC'S IKE and ESP tunnel mode
WO2002042921A1 (en) 2000-11-27 2002-05-30 Butterfly.Net, Inc. System and method for synthesizing environments to facilitate distributed, context-sensitive, multi-user interactive applications
US7127069B2 (en) * 2000-12-07 2006-10-24 Igt Secured virtual network in a gaming environment
US6915437B2 (en) * 2000-12-20 2005-07-05 Microsoft Corporation System and method for improved network security
US6931529B2 (en) * 2001-01-05 2005-08-16 International Business Machines Corporation Establishing consistent, end-to-end protection for a user datagram
US7174568B2 (en) * 2001-01-31 2007-02-06 Sony Computer Entertainment America Inc. Method and system for securely distributing computer software products
US7421083B2 (en) * 2001-04-05 2008-09-02 General Instrument Corporation System for seamlessly updating service keys with automatic recovery
US6981144B2 (en) * 2001-04-06 2005-12-27 International Business Machines Corporation System console device authentication in a network environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0233239A (ja) * 1988-07-23 1990-02-02 Nintendo Co Ltd 通信制御装置
JP2002007914A (ja) * 2000-06-16 2002-01-11 Nec Corp 電子コンテンツ開封方法及び電子コンテンツレンタル方法並びにレンタル実現の装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009525647A (ja) * 2006-01-30 2009-07-09 シーメンス アクチエンゲゼルシヤフト 第1の通信機と第2の通信機とのあいだでの共通鍵の指定方法、および、第1の通信機と第2の通信機とのあいだでの共通鍵の指定装置
US8261076B2 (en) 2006-01-30 2012-09-04 Siemens Aktiengesellschsft Method and device for agreeing shared key between first communication device and second communication device
US8386783B2 (en) 2006-12-04 2013-02-26 Fuji Xerox Co., Ltd. Communication apparatus and communication method
JP2014514889A (ja) * 2011-05-11 2014-06-19 アルカテル−ルーセント 公開鍵を利用した鍵管理のためのセキュリティアソシエーションの発見
JP2017059965A (ja) * 2015-09-15 2017-03-23 富士ゼロックス株式会社 情報処理装置、情報処理システム、及びプログラム

Also Published As

Publication number Publication date
EP1372315A2 (en) 2003-12-17
US7370194B2 (en) 2008-05-06
US7650495B2 (en) 2010-01-19
US20030229779A1 (en) 2003-12-11
US20080177997A1 (en) 2008-07-24
EP1372315A3 (en) 2004-01-28

Similar Documents

Publication Publication Date Title
US7370194B2 (en) Security gateway for online console-based gaming
US7565537B2 (en) Secure key exchange with mutual authentication
JP4708688B2 (ja) コンテンツに対するアクセスを管理する方法及びシステム
EP1310283B1 (en) Network architecture for secure communications between two console-based gaming systems
JP4729602B2 (ja) サーバ装置、通信機器、通信システム、プログラム及び記録媒体
KR102068367B1 (ko) 사물인터넷을 위한 데이터그램 전송에서 경량 인증을 위한 컴퓨터 구현 시스템 및 방법
US7218739B2 (en) Multiple user authentication for online console-based gaming
EP1374959A2 (en) Discovery and distribution of game session information
JP2004127247A (ja) 情報の管理および通信を行うためのプレゼンスおよび通知システム
CN110808829B (zh) 一种基于密钥分配中心的ssh认证方法
US20090327730A1 (en) Apparatus and method for encrypted communication processing
US20080267395A1 (en) Apparatus and method for encrypted communication processing
WO2009082950A1 (fr) Procédé, dispositif et système de distribution de clés
JP2005236728A (ja) サーバ装置、要求発行機器、要求受諾機器、通信システム及び通信方法
KR20210126319A (ko) 키 관리 장치 및 방법
JP4707325B2 (ja) 情報処理装置
Schonwalder et al. Session resumption for the secure shell protocol
JP2002247023A (ja) セッション共有鍵共有方法、ネットワーク端末認証方法、ネットワーク端末および中継装置
JP2005303784A (ja) サーバ装置、要求発行機器、要求受諾機器、通信システム、通信方法及びプログラム
JP2005311747A (ja) サーバ装置、要求発行機器、要求受諾機器、通信システム及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060612

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100402