(57)【要約】【課題】内部ネットワークに対する外部ネットワークからのアクセス制御を正確にかつ効率的に実行する装置および方法を提供する。【解決手段】外部ネットワークに接続可能なクライアント機器と、アプリケーション・ゲートウェイとの双方が、共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤ：ＧＵＩＤ（Ｃ）と、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤ：ＧＵＩＤ（Ｓ）とを記憶部に格納し、アプリケーション・ゲートウェイが、クライアントからのアクセス要求を受信した際に、クライアントが正しい共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してアクセス権限を判定する。本構成により、ホームネットワーク等の内部ネットワークに対する外部ネットワークからのアクセスに対する権限判定を効率的かつ正確に実行可能となる。【選択図】  図６
2004274429.tif 000002
【特許請求の範囲】
【請求項１】
アクセス制御処理を実行する情報処理装置であり、
アクセス要求機器としてのクライアントとのデータ送受信処理を実行するデータ送受信部と、
正当なアクセス権限を有するクライアントとの共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを格納した記憶部と、
クライアントからのアクセス要求に応じて、前記クライアントが前記共有秘密情報を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶部は、
前記クライアントＩＤとサーバＩＤとを含む共有秘密情報を、前記情報処理装置デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤにより暗号化した暗号化データとして格納した構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記機器認証処理部は、
自ら生成した乱数とクライアントの保持する共有秘密情報とのハッシュ値をクライアント認証値としてクライアントから受信するとともに、前記乱数と前記記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記機器認証処理部は、
クライアントの生成した乱数を受信し、該受信乱数と、前記記憶部に格納した共有秘密情報とのハッシュ値をサーバ認証値として算出してクライアントに送信する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
クライアント識別子と、前記共有秘密情報のハッシュ値とを対応付けたクライアント識別テーブルを有し、
前記機器認証処理部は、
クライアントから受信する前記共有秘密情報のハッシュ値に基づく前記クライアント識別テーブルの検索により、クライアントを特定する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記情報処理装置は、
クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルを有し、
クライアントから受信するセッションＩＤに基づく前記クライアントセッションＩＤテーブルの検索によりクライアントの識別処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記機器認証処理部は、
前記クライアントが前記共有秘密情報を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、
前記暗号鍵に基づく送受信データの暗号化を行って、前記クライアントが前記共有秘密情報を有するか否かの確認処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記暗号鍵共有処理は、
ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置は、
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤのクライアントとの共有処理を実行する機器登録処理部を有し、
該機器登録処理部は、
クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記機器登録処理部は、
前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行する構成であることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
前記情報処理装置は、
ローカル領域内の内部ネットワークと、ローカル領域外の外部ネットワークの間に位置するアプリケーション・ゲートウェイとしての機能を有することを特徴とする請求項１に記載の情報処理装置。
【請求項１３】
前記情報処理装置は、
ローカル領域内の内部ネットワークと、ローカル領域外の外部ネットワークの間に位置するリバースプロキシサーバとしての機能を有することを特徴とする請求項１に記載の情報処理装置。
【請求項１４】
アクセス要求処理を実行するクライアントとしての情報処理装置であり、
データ送受信処理を実行するデータ送受信部と、
アプリケーション・ゲートウェイとの共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとを格納した記憶部と、
前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理部と、
を有することを特徴とする情報処理装置。
【請求項１５】
前記記憶部は、
前記クライアントＩＤとサーバＩＤとを含む共有秘密情報を、前記情報処理装置デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤにより暗号化した暗号化データとして格納した構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記機器認証処理部は、
自ら生成した乱数とアプリケーション・ゲートウェイの保持する共有秘密情報とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値としてアプリケーション・ゲートウェイから受信するとともに、前記乱数と前記記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１７】
前記機器認証処理部は、
アプリケーション・ゲートウェイの生成した乱数を受信し、該受信乱数と、前記記憶部に格納した共有秘密情報とのハッシュ値をクライアント認証値として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１８】
前記機器認証処理部は、
前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理によるアプリケーション・ゲートウェイの正当性判定処理の開始前に、アプリケーション・ゲートウェイとの暗号通信に適用する暗号鍵共有処理を実行し、
前記暗号鍵に基づく送受信データの暗号化を行って、前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１９】
前記暗号鍵共有処理は、
ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記情報処理装置は、
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤのアプリケーション・ゲートウェイとの共有処理を実行する機器登録処理部を有し、
該機器登録処理部は、
クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行する構成であることを特徴とする請求項１４に記載の情報処理装置。
【請求項２１】
前記機器登録処理部は、
前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行する構成であることを特徴とする請求項２０に記載の情報処理装置。
【請求項２２】
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする請求項１４に記載の情報処理装置。
【請求項２３】
アクセス制御処理を実行するサーバおよび、該サーバに対するアクセス要求処理を実行するクライアントからなるサーバクライアントシステムであり、
前記サーバは、
データ送受信処理を実行するサーバデータ送受信部と、
正当なアクセス権限を有するクライアントとの共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを格納したサーバ記憶部と、
クライアントからのアクセス要求に応じて、前記クライアントが前記共有秘密情報を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定するサーバ機器認証処理部とを有し、
前記クライアントは、
データ送受信処理を実行するクライアントデータ送受信部と、
アプリケーション・ゲートウェイとの共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとを格納したクライアント記憶部と、
前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定するクライアント機器認証処理部とを有することを特徴とするサーバクライアントシステム。
【請求項２４】
前記サーバ記憶部は、
前記クライアントＩＤとサーバＩＤとを含む共有秘密情報を、サーバのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤにより暗号化した暗号化データとして格納した構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項２５】
前記サーバ機器認証処理部は、
自ら生成した乱数とクライアントの保持する共有秘密情報とのハッシュ値をクライアント認証値としてクライアントから受信するとともに、前記乱数と前記サーバ記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行する構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項２６】
前記サーバ機器認証処理部は、
クライアントの生成した乱数を受信し、該受信乱数と、前記サーバ記憶部に格納した共有秘密情報とのハッシュ値をサーバ認証値として算出してクライアントに送信する処理を実行する構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項２７】
前記クライアント記憶部は、
前記クライアントＩＤとサーバＩＤとを含む共有秘密情報を、クライアントのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤにより暗号化した暗号化データとして格納した構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項２８】
前記クライアント機器認証処理部は、
自ら生成した乱数とアプリケーション・ゲートウェイの保持する共有秘密情報とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値としてアプリケーション・ゲートウェイから受信するとともに、前記乱数と前記クライアント記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行する構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項２９】
前記クライアント機器認証処理部は、
アプリケーション・ゲートウェイの生成した乱数を受信し、該受信乱数と、前記クライアント記憶部に格納した共有秘密情報とのハッシュ値をクライアント認証値として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする請求項２３に記載のサーバクライアントシステム。
【請求項３０】
情報処理装置におけるアクセス制御処理方法であり、
クライアントからのアクセス要求を受信するアクセス要求受信ステップと、
前記クライアントが、共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理ステップと、
を有することを特徴とするアクセス制御処理方法。
【請求項３１】
前記機器認証処理ステップは、
自ら生成した乱数とクライアントの保持する共有秘密情報とのハッシュ値をクライアント認証値としてクライアントから受信するステップと、
前記乱数と記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行するステップと、
両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行するステップと、
を含むことを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３２】
前記アクセス制御処理方法は、さらに、
クライアントの生成した乱数を受信し、該受信乱数と、記憶部に格納した共有秘密情報とのハッシュ値をサーバ認証値として算出してクライアントに送信する処理を実行するステップを含むことを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３３】
前記アクセス制御処理方法は、さらに、
クライアント識別子と、前記共有秘密情報のハッシュ値とを対応付けたクライアント識別テーブルに基づいて、クライアントから受信する前記共有秘密情報のハッシュ値によるテーブル検索を実行して、クライアントの特定処理を実行するステップを含むことを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３４】
前記アクセス制御処理方法は、さらに、
クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルに基づいて、クライアントから受信するセッションＩＤによる前記クライアントセッションＩＤテーブルの検索を実行してクライアントの識別処理を実行するステップを含むことを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３５】
前記アクセス制御処理方法は、
前記クライアントが前記共有秘密情報を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、
前記暗号鍵に基づく送受信データの暗号化を行って、前記クライアントが前記共有秘密情報を有するか否かの確認処理を実行することを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３６】
前記暗号鍵共有処理は、
ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする請求項３５に記載のアクセス制御処理方法。
【請求項３７】
前記アクセス制御処理方法は、さらに、
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤのクライアントとの共有処理を実行する機器登録処理ステップを有し、
該機器登録処理ステップは、
クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行するステップを含むことを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項３８】
前記機器登録処理ステップは、
前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行するステップを含むことを特徴とする請求項３７に記載のアクセス制御処理方法。
【請求項３９】
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする請求項３０に記載のアクセス制御処理方法。
【請求項４０】
アクセス要求処理を実行するクライアントにおける情報処理方法であり、
アプリケーション・ゲートウェイとの接続ステップと、
アプリケーション・ゲートウェイが、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとからなる共有秘密情報を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理ステップと、
を有することを特徴とする情報処理方法。
【請求項４１】
前記機器認証処理ステップは、
自ら生成した乱数とアプリケーション・ゲートウェイの保持する共有秘密情報とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値としてアプリケーション・ゲートウェイから受信するステップと、
前記乱数と記憶部に格納した共有秘密情報のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行するステップと、
両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行するステップと、
を含むことを特徴とする請求項４０に記載の情報処理方法。
【請求項４２】
前記機器認証処理ステップは、
アプリケーション・ゲートウェイの生成した乱数を受信し、該受信乱数と、記憶部に格納した共有秘密情報とのハッシュ値をクライアント認証値として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする請求項４０に記載の情報処理方法。
【請求項４３】
前記情報処理方法は、さらに、
前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理によるアプリケーション・ゲートウェイの正当性判定処理の開始前に、アプリケーション・ゲートウェイとの暗号通信に適用する暗号鍵共有処理を実行し、
前記暗号鍵に基づく送受信データの暗号化を行って、前記アプリケーション・ゲートウェイが前記共有秘密情報を有するか否かの確認処理を実行することを特徴とする請求項４０に記載の情報処理方法。
【請求項４４】
前記暗号鍵共有処理は、
ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする請求項４３に記載の情報処理方法。
【請求項４５】
前記情報処理方法は、さらに、
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤのアプリケーション・ゲートウェイとの共有処理を実行する機器登録処理ステップを有し、
該機器登録処理ステップは、
クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行することを特徴とする請求項４０に記載の情報処理方法。
【請求項４６】
前記機器登録処理ステップは、
前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行することを特徴とする請求項４５に記載の情報処理方法。
【請求項４７】
前記共有秘密情報を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする請求項４０に記載の情報処理方法。
【請求項４８】
情報処理装置におけるアクセス制御処理を実行するコンピュータ・プログラムであり、
クライアントからのアクセス要求を受信するアクセス要求受信ステップと、
前記クライアントが、共有秘密情報として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項４９】
アクセス要求処理を実行するクライアントにおける情報処理を実行するコンピュータ・プログラムであり、
アプリケーション・ゲートウェイとの接続ステップと、
アプリケーション・ゲートウェイが、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとからなる共有秘密情報を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、ホームネットワーク等の内部ネットワークに接続された装置に対する外部ネットワークからのアクセス権限の判定を行い正当な権限を有するクライアントのみのアクセスおよびデータ利用を実現する情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
昨今のデータ通信ネットワークの普及に伴い、家庭内においても家電機器やコンピュータ、その他の周辺機器をネットワーク接続し、各機器間での通信を可能とした、いわゆるホームネットワークが浸透しつつある。ホームネットワークは、ネットワーク接続機器間で通信を行なうことにより各機器のデータ処理機能を共有したり、機器間でコンテンツの送受信を行なう等、ユーザに利便性・快適性を提供するものであり、今後、ますます普及することが予測される。
【０００３】
このようなホームネットワークの構成に適するプロトコルとしてユニバーサルプラグアンドプレイ（ＵＰｎＰ：Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）が知られている。ユニバーサルプラグアンドプレイ（ＵＰｎＰ）は、複雑な操作を伴うことなく容易にネットワークを構築することが可能であり、困難な操作や設定を伴うことなくネットワーク接続された機器において各接続機器の提供サービスを受領可能とするものである。また、ＵＰｎＰはデバイス上のＯＳ（オペレーティングシステム）にも依存せず、容易に機器の追加ができるという利点を持つ。
【０００４】
ＵＰｎＰは、接続機器間で、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）に準拠した定義ファイルを交換し、機器間において相互認識を行なう。ＵＰｎＰの処理の概要は、以下の通りである。
（１）ＩＰアドレス等の自己のデバイスＩＤを取得するアドレッシング処理。
（２）ネットワーク上の各デバイスの検索を行ない、各デバイスから応答を受信し、応答に含まれるデバイス種別、機能等の情報を取得するディスカバリ処理。
（３）ディスカバリ処理で取得した情報に基づいて、各デバイスにサービスを要求するサービス要求処理。
【０００５】
上記処理手順を行なうことで、ネットワーク接続された機器を適用したサービスの提供および受領が可能となる。ネットワークに新たに接続される機器は、上記のアドレッシング処理によりデバイスＩＤを取得し、ディスカバリ処理によりネットワーク接続された他のデバイスの情報を取得して、取得情報に基づいて他の機器にサービスの要求が可能となる。
【０００６】
しかし、一方、この種のネットワークでは、不正アクセスに対する対策を考慮することも必要となる。ホームネットワーク内の機器、例えばサーバ等には私的なコンテンツや有料コンテンツ等の著作権管理を要求されるコンテンツが格納されることも多い。
【０００７】
このようなホームネットワーク内のサーバに格納されたコンテンツは、ネットワーク接続された他の機器からアクセス可能となる。例えば、上述の簡易な機器接続構成であるＵＰｎＰ接続を実行した機器によってコンテンツを取得することが可能となる。コンテンツが映画データや音楽データの場合、ネットワーク接続機器としてＴＶ、あるいはプレーヤ等を接続すれば、映画を視聴したり、音楽を聴いたりすることが可能となる。
【０００８】
コンテンツの利用権を有するユーザの接続した機器によるアクセスは許容されてもよいが、上述のようなネットワーク構成においては、コンテンツ等の利用権を持たないユーザがネットワークに入り込むことも容易である。例えば無線ＬＡＮによって構成されたネットワークの場合には家の中にあるサーバに対して、戸外、あるいは隣家等から通信機器を利用して不正にネットワークに参入し、コンテンツの搾取を行なうような事態も発生し得る。このような不正なアクセスを許容する構成は、秘密漏洩を生じさせることにもなり、また、コンテンツ著作権の管理の観点からも重要な問題となる。
【０００９】
上述のような不正アクセスを排除するため、例えばサーバにアクセスを許容するクライアントのリストを保持させ、クライアントからサーバに対するアクセス要求の際に、サーバでリストとの照合処理を実行して不正アクセスを排除する構成が提案されている。
【００１０】
例えば、ネットワーク接続機器に固有の物理アドレスであるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスを、アクセス許容機器リストとして設定するＭＡＣアドレスフィルタリングが知られている。ＭＡＣアドレスフィルタリングとは、ホームネットワーク等の内部ネットワーク（サブネット）と外部ネットワークとを隔離するルータあるいはゲートウェイに、予めアクセスを許容するＭＡＣアドレスを登録しておき、受信したパケットのＭＡＣアドレスと登録されたＭＡＣアドレスとを照合し、登録されていないＭＡＣアドレスを有する機器からのアクセスを拒否するものである。なお、この種の技術については、例えば特許文献１に開示されている。
【００１１】
しかし、アクセス制限をするためのＭＡＣアドレスの登録処理を行なうためには、ネットワークに接続される機器の全てのＭＡＣアドレスを調べることが必要であり、取得した全ての機器のＭＡＣアドレス（４８ｂｉｔ）をオペレータが入力してリストを作成するという処理が必要となる。このような処理は、例えば特定の会社、団体等、セキュアな環境を構築することが要求される場合には、所定の管理者の下に行なうことも可能であるが、例えば一般家庭に設定されるホームネットワーク環境において、一般ユーザにＭＡＣリストの生成、格納を要求することは現実的ではない。
【００１２】
ホームネットワークにおいては、新たな機器の追加処理が行われることは頻繁に発生することであり、このような機器追加処理の際に、ユーザが逐次、機器のＭＡＣアドレスを調べて登録処理をしなければならないとすると、ネットワーク構築の容易性を阻害することになる。
【００１３】
一方、一般家庭においても、ＰＣのみならず、家電機器も含んだネットワーク構成が構築され、どのような機器からでもネットワークにアクセス可能ないわゆるユビキタス環境が構築されつつあり、また、無線ＬＡＮ等の普及により、通信可能な機器が外部から無線ＬＡＮに侵入することも容易となっている。このようなネットワーク環境において、ネットワーク接続機器に対する不正アクセスもより発生しやすくなっており、不正なアクセスによる秘密情報の搾取、コンテンツの不正読み取り等が実行される可能性はますます高くなっている。このような状況において、一般ユーザに負担を強いることなく、適切なアクセス制御構成を容易に実現することが求められている。
【００１４】
【特許文献１】
特許公開平１０−２７１１５４号公報
【００１５】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、ホームネットワーク等の内部ネットワークに接続された装置に対する外部ネットワークからのアクセス権限の判定を行い正当な権限を有するクライアントのみに内部ネットワーク接続機器に対するアクセスおよびデータ利用を許容することを可能とした情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明の第１の側面は、
アクセス制御処理を実行する情報処理装置であり、
アクセス要求機器としてのクライアントとのデータ送受信処理を実行するデータ送受信部と、
正当なアクセス権限を有するクライアントとの共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを格納した記憶部と、
クライアントからのアクセス要求に応じて、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理部と、
を有することを特徴とする情報処理装置にある。
【００１７】
さらに、本発明の情報処理装置の一実施態様において、前記記憶部は、前記クライアントＩＤとサーバＩＤとを含む共有秘密情報（Ｓｅｃｒｅｔ）を、前記情報処理装置デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｓ））により暗号化した暗号化データとして格納した構成であることを特徴とする。
【００１８】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、自ら生成した乱数（Ｎｏｎｃｅ２）とクライアントの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）としてクライアントから受信するとともに、前記乱数（Ｎｏｎｃｅ２）と前記記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、クライアントの生成した乱数（Ｎｏｎｃｅ１）を受信し、該受信乱数（Ｎｏｎｃｅ１）と、前記記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ認証値（ＳｅｒｖｅｒＡｕｔｈ）として算出してクライアントに送信する処理を実行する構成であることを特徴とする。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、クライアント識別子と、前記共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値とを対応付けたクライアント識別テーブルを有し、前記機器認証処理部は、クライアントから受信する前記共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値に基づく前記クライアント識別テーブルの検索により、クライアントを特定する処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルを有し、クライアントから受信するセッションＩＤに基づく前記クライアントセッションＩＤテーブルの検索によりクライアントの識別処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、前記暗号鍵に基づく送受信データの暗号化を行って、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行する構成であることを特徴とする。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記暗号鍵共有処理は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤのクライアントとの共有処理を実行する機器登録処理部を有し、該機器登録処理部は、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行する構成であることを特徴とする。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記機器登録処理部は、前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行する構成であることを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、ローカル領域内の内部ネットワークと、ローカル領域外の外部ネットワークの間に位置するアプリケーション・ゲートウェイとしての機能を有することを特徴とする。
【００２８】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、ローカル領域内の内部ネットワークと、ローカル領域外の外部ネットワークの間に位置するリバースプロキシサーバとしての機能を有することを特徴とする。
【００２９】
さらに、本発明の第２の側面は、
アクセス要求処理を実行するクライアントとしての情報処理装置であり、
データ送受信処理を実行するデータ送受信部と、
アプリケーション・ゲートウェイとの共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとを格納した記憶部と、
前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理部と、
を有することを特徴とする情報処理装置にある。
【００３０】
さらに、本発明の情報処理装置の一実施態様において、前記記憶部は、前記クライアントＩＤとサーバＩＤとを含む共有秘密情報（Ｓｅｃｒｅｔ）を、前記情報処理装置デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｃ））により暗号化した暗号化データとして格納した構成であることを特徴とする。
【００３１】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、自ら生成した乱数（Ｎｏｎｃｅ１）とアプリケーション・ゲートウェイの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値（ＳｅｒｖｅｒＡｕｔｈ）としてアプリケーション・ゲートウェイから受信するとともに、前記乱数（Ｎｏｎｃｅ１）と前記記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行する構成であることを特徴とする。
【００３２】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、アプリケーション・ゲートウェイの生成した乱数（Ｎｏｎｃｅ２）を受信し、該受信乱数（Ｎｏｎｃｅ２）と、前記記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする。
【００３３】
さらに、本発明の情報処理装置の一実施態様において、前記機器認証処理部は、前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるアプリケーション・ゲートウェイの正当性判定処理の開始前に、アプリケーション・ゲートウェイとの暗号通信に適用する暗号鍵共有処理を実行し、前記暗号鍵に基づく送受信データの暗号化を行って、前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行する構成であることを特徴とする。
【００３４】
さらに、本発明の情報処理装置の一実施態様において、前記暗号鍵共有処理は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする。
【００３５】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤのアプリケーション・ゲートウェイとの共有処理を実行する機器登録処理部を有し、該機器登録処理部は、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行する構成であることを特徴とする。
【００３６】
さらに、本発明の情報処理装置の一実施態様において、前記機器登録処理部は、前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行する構成であることを特徴とする。
【００３７】
さらに、本発明の情報処理装置の一実施態様において、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする。
【００３８】
さらに、本発明の第３の側面は、
アクセス制御処理を実行するサーバおよび、該サーバに対するアクセス要求処理を実行するクライアントからなるサーバクライアントシステムであり、
前記サーバは、
データ送受信処理を実行するサーバデータ送受信部と、
正当なアクセス権限を有するクライアントとの共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを格納したサーバ記憶部と、
クライアントからのアクセス要求に応じて、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定するサーバ機器認証処理部とを有し、
前記クライアントは、
データ送受信処理を実行するクライアントデータ送受信部と、
アプリケーション・ゲートウェイとの共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとを格納したクライアント記憶部と、
前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定するクライアント機器認証処理部とを有することを特徴とするサーバクライアントシステムにある。
【００３９】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記サーバ記憶部は、前記クライアントＩＤとサーバＩＤとを含む共有秘密情報（Ｓｅｃｒｅｔ）を、サーバのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｓ））により暗号化した暗号化データとして格納した構成であることを特徴とする。
【００４０】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記サーバ機器認証処理部は、自ら生成した乱数（Ｎｏｎｃｅ２）とクライアントの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）としてクライアントから受信するとともに、前記乱数（Ｎｏｎｃｅ２）と前記サーバ記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行する構成であることを特徴とする。
【００４１】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記サーバ機器認証処理部は、クライアントの生成した乱数（Ｎｏｎｃｅ１）を受信し、該受信乱数（Ｎｏｎｃｅ１）と、前記サーバ記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ認証値（ＳｅｒｖｅｒＡｕｔｈ）として算出してクライアントに送信する処理を実行する構成であることを特徴とする。
【００４２】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記クライアント記憶部は、前記クライアントＩＤとサーバＩＤとを含む共有秘密情報（Ｓｅｃｒｅｔ）を、クライアントのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｃ））により暗号化した暗号化データとして格納した構成であることを特徴とする。
【００４３】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記クライアント機器認証処理部は、自ら生成した乱数（Ｎｏｎｃｅ１）とアプリケーション・ゲートウェイの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値（ＳｅｒｖｅｒＡｕｔｈ）としてアプリケーション・ゲートウェイから受信するとともに、前記乱数（Ｎｏｎｃｅ１）と前記クライアント記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行し、両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行する構成であることを特徴とする。
【００４４】
さらに、本発明のサーバクライアントシステムの一実施態様において、前記クライアント機器認証処理部は、アプリケーション・ゲートウェイの生成した乱数（Ｎｏｎｃｅ２）を受信し、該受信乱数（Ｎｏｎｃｅ２）と、前記クライアント記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする。
【００４５】
さらに、本発明の第４の側面は、
情報処理装置におけるアクセス制御処理方法であり、
クライアントからのアクセス要求を受信するアクセス要求受信ステップと、
前記クライアントが、共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理ステップと、
を有することを特徴とするアクセス制御処理方法にある。
【００４６】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記機器認証処理ステップは、自ら生成した乱数（Ｎｏｎｃｅ２）とクライアントの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）としてクライアントから受信するステップと、前記乱数（Ｎｏｎｃｅ２）と記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行するステップと、両ハッシュ値の一致を条件としてクライアントがアクセス権限を有するとの判定を実行するステップと、を含むことを特徴とする。
【００４７】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記アクセス制御処理方法は、さらに、クライアントの生成した乱数（Ｎｏｎｃｅ１）を受信し、該受信乱数（Ｎｏｎｃｅ１）と、記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ認証値（ＳｅｒｖｅｒＡｕｔｈ）として算出してクライアントに送信する処理を実行するステップを含むことを特徴とする。
【００４８】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記アクセス制御処理方法は、さらに、クライアント識別子と、前記共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値とを対応付けたクライアント識別テーブルに基づいて、クライアントから受信する前記共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値によるテーブル検索を実行して、クライアントの特定処理を実行するステップを含むことを特徴とする。
【００４９】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記アクセス制御処理方法は、さらに、クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルに基づいて、クライアントから受信するセッションＩＤによる前記クライアントセッションＩＤテーブルの検索を実行してクライアントの識別処理を実行するステップを含むことを特徴とする。
【００５０】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記アクセス制御処理方法は、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、前記暗号鍵に基づく送受信データの暗号化を行って、前記クライアントが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行することを特徴とする。
【００５１】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記暗号鍵共有処理は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする。
【００５２】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記アクセス制御処理方法は、さらに、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤのクライアントとの共有処理を実行する機器登録処理ステップを有し、該機器登録処理ステップは、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行するステップを含むことを特徴とする。
【００５３】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記機器登録処理ステップは、前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行するステップを含むことを特徴とする。
【００５４】
さらに、本発明のアクセス制御処理方法の一実施態様において、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする。
【００５５】
さらに、本発明の第５の側面は、
アクセス要求処理を実行するクライアントにおける情報処理方法であり、
アプリケーション・ゲートウェイとの接続ステップと、
アプリケーション・ゲートウェイが、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとからなる共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理ステップと、
を有することを特徴とする情報処理方法にある。
【００５６】
さらに、本発明の情報処理方法の一実施態様において、前記機器認証処理ステップは、自ら生成した乱数（Ｎｏｎｃｅ１）とアプリケーション・ゲートウェイの保持する共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をサーバ（アプリケーション・ゲートウェイ）認証値（ＳｅｒｖｅｒＡｕｔｈ）としてアプリケーション・ゲートウェイから受信するステップと、前記乱数（Ｎｏｎｃｅ１）と記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）のハッシュ値算出処理を実行し、受信ハッシュ値と算出ハッシュ値との比較照合処理を実行するステップと、両ハッシュ値の一致を条件としてアプリケーション・ゲートウェイが正当であるとの判定を実行するステップと、を含むことを特徴とする。
【００５７】
さらに、本発明の情報処理方法の一実施態様において、前記機器認証処理ステップは、アプリケーション・ゲートウェイの生成した乱数（Ｎｏｎｃｅ２）を受信し、該受信乱数（Ｎｏｎｃｅ２）と、記憶部に格納した共有秘密情報（Ｓｅｃｒｅｔ）とのハッシュ値をクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）として算出してアプリケーション・ゲートウェイに送信する処理を実行する構成であることを特徴とする。
【００５８】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるアプリケーション・ゲートウェイの正当性判定処理の開始前に、アプリケーション・ゲートウェイとの暗号通信に適用する暗号鍵共有処理を実行し、前記暗号鍵に基づく送受信データの暗号化を行って、前記アプリケーション・ゲートウェイが前記共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行することを特徴とする。
【００５９】
さらに、本発明の情報処理方法の一実施態様において、前記暗号鍵共有処理は、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理であることを特徴とする。
【００６０】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤのアプリケーション・ゲートウェイとの共有処理を実行する機器登録処理ステップを有し、該機器登録処理ステップは、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを暗号化データとしてネットワークを介して交換するＩＤ交換処理を実行することを特徴とする。
【００６１】
さらに、本発明の情報処理方法の一実施態様において、前記機器登録処理ステップは、前記ＩＤ交換処理の実行条件として、パスワード認証処理を実行することを特徴とする。
【００６２】
さらに、本発明の情報処理方法の一実施態様において、前記共有秘密情報（Ｓｅｃｒｅｔ）を構成するクライアントＩＤ、およびサーバＩＤの各々はグローバルユニーク性を持つＩＤであることを特徴とする。
【００６３】
さらに、本発明の第６の側面は、
情報処理装置におけるアクセス制御処理を実行するコンピュータ・プログラムであり、
クライアントからのアクセス要求を受信するアクセス要求受信ステップと、
前記クライアントが、共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤと、情報処理装置の生成ＩＤであるサーバＩＤとを有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する機器認証処理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００６４】
さらに、本発明の第７の側面は、
アクセス要求処理を実行するクライアントにおける情報処理を実行するコンピュータ・プログラムであり、
アプリケーション・ゲートウェイとの接続ステップと、
アプリケーション・ゲートウェイが、クライアントの生成ＩＤであるクライアントＩＤと、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤとからなる共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してアプリケーション・ゲートウェイの正当性を判定する機器認証処理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００６５】
【作用】
本発明の構成によれば、外部ネットワークに接続可能なクライアント機器と、アプリケーション・ゲートウェイとの双方が、共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤ：ＧＵＩＤ（Ｃ）と、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤ：ＧＵＩＤ（Ｓ）とを記憶部に格納し、アプリケーション・ゲートウェイが、クライアントからのアクセス要求を受信した際に、クライアントが、正しい共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する構成としたので、ホームネットワーク等のローカル領域の内部ネットワークに対する外部ネットワークからのアクセスに対する権限判定処理を効率的にかつ正確に実行することが可能となる。
【００６６】
さらに、本発明の構成においては、クライアント機器と、アプリケーション・ゲートウェイの双方が、共有秘密情報（Ｓｅｃｒｅｔ）、すなわちクライアントＩＤ：ＧＵＩＤ（Ｃ）とサーバＩＤ：ＧＵＩＤ（Ｓ）を保有するか否かを確認する処理を相互に実行して、相手の正当性を確認する構成としたので、いずれか一方が不正である場合にも内部ネットワークに対するアクセスが拒否されることになり、内部ネットワークの外部からのアクセスに対するセキュリティを高めることが可能となる。
【００６７】
さらに、本発明の構成によれば、アプリケーション・ゲートウェイが、クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルを保有する構成としたので、複数のクライアントが外部ネットワークからアクセスしている場合においても、セッションＩＤによるクライアントの識別が可能となる。
【００６８】
さらに、本発明の構成によれば、クライアントが共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、暗号鍵に基づく送受信データの暗号化を行って、クライアントが共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行する構成としたので、インターネット等、盗聴のおそれがあるネットワークを介した通信においてもセキュリティの高いアクセス権限判定処理が可能となる。
【００６９】
さらに、本発明の構成においては、クライアントＩＤ：ＧＵＩＤ（Ｃ）、およびサーバＩＤ：ＧＵＩＤ（Ｓ）の共有処理を実行する機器登録処理において、ＩＤ交換の前にパスワード認証を実行し、かつ、交換ＩＤを暗号化データとしてネットワークを介して交換する構成としたので、特定の閉じられたネットワークでのセキュアな機器登録処理が実現され、不正な機器登録の困難性を高めることが可能となる。
【００７０】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００７１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００７２】
【発明の実施の形態】
以下、図面を参照しながら、本発明の情報処理装置、およびアクセス制御処理方法、情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００７３】
［システム概要］
まず、図１を参照して、本発明の適用可能なネットワーク構成例について説明する。図１は、例えば特定ユーザの家等に構築されたホームネットワーク１００等のローカルエリアネットワーク、すなわち内部ネットワークであり、パーソナルコンピュータ（ＰＣ）１０１、１０２、ハードディスクレコーダ１０３、ＴＶ１０４、ＰＤＡ１０５等の様々な情報処理装置がホームネットワーク１００を介してデータ送受信を行う。
【００７４】
たとえば、ＰＣ１０１、１０２、あるいはハードディスクレコーダ１０３をコンテンツ提供サーバとし、ＴＶ１０４、ＰＤＡ１０５をクライアントとして、クライアントがサーバの格納コンテンツをネットワークを介して取得し、クライアントのディスプレイ、スピーカを利用してコンテンツ出力を行う。
【００７５】
ホームネットワーク１００は、有線、無線等いずれかのネットワークであり、各接続機器は、例えばイーサネット（登録商標）フレーム等の通信パケットをネットワークを介して送受信する。すなわち、クライアントは、イーサネットフレームのデータ部に処理要求情報を格納したフレームをサーバに送信することにより、サーバに対するデータ処理要求を実行する。サーバは、処理要求フレームの受信に応じて、データ処理を実行し、必要に応じてデータ処理結果としての結果データを通信パケットのデータ部に格納し、各クライアントに送信する。
【００７６】
ネットワーク接続機器は、例えばユニバーサルプラグアンドプレイ（ＵＰｎＰ：Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）対応機器によって構成される。従って、ネットワークに対する接続機器の追加、削除が容易な構成である。ネットワークに新たに接続する機器は、
（１）ＩＰアドレス等の自己のデバイスＩＤを取得するアドレッシング処理。
（２）ネットワーク上の各デバイスの検索を行ない、各デバイスから応答を受信し、応答に含まれるデバイス種別、機能等の情報を取得するディスカバリ処理。
（３）ディスカバリ処理で取得した情報に基づいて、各デバイスにサービスを要求するサービス要求処理。
上記処理手順を行なうことで、ネットワーク接続された機器を適用したサービスを受領することが可能となる。
【００７７】
図１において、ホームネットワーク１００は、インターネット等の外部ネットワーク１２０に接続されている。外部ネットワーク１２０にもＰＣ１２１、携帯電話１２２、ポータブル再生プレーヤ１２３等の各種の情報処理装置が接続される。ホームネットワーク１００内の情報処理装置と外部ネットワーク１２０の情報処理装置とは、外部ネットワーク１２０およびホームネットワーク１００を介して通信が可能となる。
【００７８】
外部ネットワーク１２０およびホームネットワーク１００によって構成される内部ネットワークの間には、外部ネットワーク１２０の接続装置からのアクセスを制限するためのファイアウォール機能を持つアプリケーション・ゲートウェイ１１０が設置される。アプリケーション・ゲートウェイは、外部ネットワークからのアクセス要求について、アプリケーション層において通信パケットのチェックを実行し、フィルタリングを行う。
【００７９】
なお、アプリケーション・ゲートウェイ１１０は、ホームネットワーク１００に接続された情報処理装置の代理応答サーバとしての機能も有する。すなわち、アプリケーション・ゲートウェイ１１０は、リバースプロキシサーバ機能も兼ね備えた構成をもつ。
【００８０】
このように、アプリケーション・ゲートウェイ１１０は、ホームネットワーク等のローカル領域内の内部ネットワークと、ローカル領域外の外部ネットワークの間に位置するアプリケーション・ゲートウェイであり、またリバースプロキシサーバとしての機能を有する。
【００８１】
外部ネットワーク１２０に接続されたＰＣ１２１、携帯電話１２２、ポータブル再生プレーヤ１２３等の各種の情報処理装置は、アプリケーション・ゲートウェイ１１０を介してホームネットワーク１００内のサーバ、例えばＰＣ１０１、１０２、ハードディスクレコーダ１０３等にアクセスし、これらの装置に格納されたコンテンツを取得してＰＣ１２１、携帯端末１２２、再生プレーヤ１２３等においてコンテンツ出力を行うことが可能となる。
【００８２】
ただし、これらのコンテンツ取得を不特定のクライアントに許容することは、コンテンツの著作権、秘密漏洩等の問題から好ましいことではない。従って、外部ネットワーク１２０とホームネットワーク１００の間に配置されたアプリケーション・ゲートウェイ１１０において、外部からのアクセスについてのアクセス権限判定処理を実行し、権限ありと判定した場合においてのみ、外部からのアクセスを許容する構成を持つ。この詳細処理構成については後述する。
【００８３】
図１に示す各情報処理装置、すなわちサーバ、クライアント、およびアプリケーション・ゲートウェイを構成する情報処理装置のハードウェア構成例について図２を参照して説明する。
【００８４】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、またはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０４等に記憶されているプログラムに従って、各種の処理を実行し、データ処理手段、あるいは通信制御処理手段として機能する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３には、ＣＰＵ２０１が実行するプログラムやデータが適宜記憶される。ＣＰＵ２０１、ＲＯＭ２０２、およびＲＡＭ２０３、ＨＤＤ２０４は、バス２０５を介して相互に接続されている。
【００８５】
バス２０５には、入出力インタフェース２０６が接続されており、この入出力インタフェース２０６には、例えば、ユーザにより操作されるキーボード、スイッチ、ボタン、あるいはマウス等により構成される入力部２０７、ユーザに各種の情報を提示するＬＣＤ、ＣＲＴ、スピーカ等により構成される出力部２０８が接続される。さらに、データ送受信手段として機能する通信部２０９、さらに、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体２１１を装着可能で、これらのリムーバブル記録媒体２１１からのデータ読み出しあるいは書き込み処理を実行するドライブ２１０が接続される。
【００８６】
図２に示す構成は、図１に示すネットワーク接続機器の一例としての一般的なＰＣの構成を示すものであるが、ネットワーク接続機器はＰＣに限らず、図１に示すように携帯電話、ＰＤＡ等の携帯通信端末、その他の様々な電子機器、情報処理装置によって構成することが可能である。従って、それぞれの機器固有のハードウェア構成を持つことが可能であり、そのハードウェアに従った処理を実行する。
【００８７】
［ホームネットワーク内のクライアントによるコンテンツ取得処理］
図１に示すホームネットワーク１００に接続されたＰＣ１０１、１０２、ハードディスクレコーダ１０３、ＴＶ１０４、ＰＤＡ１０５等の様々な情報処理装置間においては、上述したユニバーサルプラグアンドプレイ（ＵＰｎＰ：Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）プロトコルに従った通信を実行して、クライアントはサーバからコンテンツを取得することが可能となる。
【００８８】
ホームネットワーク１００に接続されたクライアント、すなわちサーバからコンテンツを取得しようとする情報処理装置は、ネットワーク上のサーバの検索としてのサーバ発見処理、例えばＵＰｎＰの規定するディスカバリ処理によりサーバからサーバの提供可能なサービス情報を取得することができる。ホームネットワーク１００に接続されたクライアントによるサーバのディスカバリ処理シーケンスを図３に示す。
【００８９】
クライアント３０１は、ホームネットワークを介して例えばネットワークサービスの検出プロトコルであるＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を適用してサーバ発見処理を行う。クライアントは、ステップＳ１において、ネットワークを介したサーチリクエストをＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）に従って、マルチキャスト送信（ＨＴＴＰＭＵ：ＨＴＴＰＭｕｌｔｉｃａｓｔ）する。ホームネットワークに接続されたサーバ１，３１１、サーバ２，３１２、サーバ３，３１３の各々は、クライアントからのサーチリクエストを受信すると、ステップＳ２，Ｓ３，Ｓ４において、サービス提供可能であることを示すＯＫレスポンスをＵＤＰに従って、クライアントに対してユニキャスト送信（ＨＴＴＰＵ：ＨＴＴＰＵｎｉｃａｓｔ）する。なお、ＯＫレスポンスには、各サーバに対するアクセス情報、提供可能なサービスについての情報等が含まれる。
【００９０】
上記のディスカバリ処理により、各サーバからのＯＫレスポンスを受信したクライアントは、サーバの提供可能なサービスについての情報を確認し、その後、これらの情報に基づいて、各デバイスにサービスを要求するサービス要求処理を実行する。例えば、サーバに対するコンテンツ送信要求等を実行し、サーバからコンテンツを取得してクライアントのディスプレイ、スピーカを介して出力する処理が可能となる。
【００９１】
［ホームネットワーク外のクライアントによるコンテンツ取得処理］
上述した一般的なＵＰｎＰに従ったサーバ発見処理を外部ネットワークに接続された情報処理端末とホームネットワーク内のサーバ間で実行すると、不正なクライアント、すなわちコンテンツの利用を許諾されていないクライアントからホームネットワークに接続されたサーバの格納コンテンツが不正に取得され、利用される可能性がある。
【００９２】
本発明の構成においては、外部ネットワークに接続されたクライアントからホームネットワーク等の内部ネットワークに接続されたサーバに対するアクセス要求を図１に示すアプリケーション・ゲートウェイ１１０において検証し、アクセス権限の判定処理を実行した上で、外部ネットワークに接続されたクライアントが正当なアクセス権限を有するとの判定があった場合にのみサーバに対するアクセスを許容する。
【００９３】
（１）機器登録処理
ホームネットワーク外のインターネット等の外部ネットワークに接続し、ホームネットワーク内のサーバに対するアクセスを行おうとする情報処理装置（モバイル機器）は、事前に機器登録処理を行うことが必要となる。
【００９４】
すなわち、モバイル機器は、ホームネットワーク内のアプリケーション・ゲートウェイを含む情報処理装置との間で、所定のシーケンスに従った機器登録処理を実行する。なお、機器登録処理はユーザが登録処理シーケンスを実行する２つの機器の操作、あるいはパスワード等の表示情報の確認をすることが必要であり、例えばホームネットワークに両機器（モバイル機器とアプリケーション・ゲートウェイ）を接続して実行する。
【００９５】
図４を参照してモバイル機器の機器登録処理の手順について説明する。図４には、左側にモバイル機器としてのクライアント、右側にホームネットワーク内のアプリケーション・ゲートウェイを含む情報処理装置を意味するサーバの処理を示している。
【００９６】
まず、ステップＳ１１において、ユーザがクライアント側に設けられた機器登録ボタンを押下する。すると、クライアントは、ステップＳ１２において、登録要求をブロードキャストする。これは、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）に従ったマルチキャスト送信として実行される。
【００９７】
登録要求を受信したサーバは、ステップＳ１３において確認要求をクライアントに対してユニキャスト送信する。これ以降のデータ送受信処理は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）に従って実行される。サーバからクライアントに送信する確認要求には、サーバ名が含まれる。確認要求を受信したクライアントは、ステップＳ１４において確認要求応答をサーバに対して送信する。確認要求応答には、クライアント名が含まれる。
【００９８】
確認要求応答を受信したサーバは、ステップＳ１５においてユーザに対して「クライアント“ＹＹＹＹ”のためのワンタイムパスワードは“○○○○”です。」なるメッセージを表示する。すなわち、ワンタイムパスワードをサーバのディスプレイに表示する。このパスワードは、サーバが例えば乱数発生処理により生成するものである。
【００９９】
ユーザは、ワンタイムパスワードを確認し、サーバ側からクライアント側に移動する。クライアント側に移動してきたユーザは、ステップＳ１６においてサーバ側に提示されたワンタイムパスワードをクライアントの入力手段から入力する。ステップＳ１７において、クライアントは、入力パスワードをサーバに送信する。
【０１００】
サーバは、ワンタイムパスワード提示後の所定時間の待機中にクライアントからのパスワードを受信すると、ステップＳ１８において、先のステップＳ１５においてサーバが生成しユーザに提示したワンタイムパスワードと受信パスワードとの照合処理を実行する。サーバは、ステップＳ１９において、クライアントに対してパスワード照合ＯＫ／ＮＧの通知を行う。パスワード照合ＮＧの場合は、処理を中止する。パスワード照合ＯＫの場合は、ステップＳ２０において、暗号化通信処理を可能とするためのＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理に移行する。
【０１０１】
ＳＳＬハンドシェイクにより、サーバおよびクライアントは、暗号通信のための鍵として適用可能な秘密情報の共有を行い、その後の通信においては、共有した秘密情報を用いた暗号化データの送受信が可能となる。
【０１０２】
ステップＳ２１において、サーバは、例えば乱数発生処理によりＩＤを生成する。ＩＤは、グローバルユニーク性を有することが好ましく、例えば１２８ｂｉｔ以上のビット列として生成される。サーバの生成するＩＤをサーバＩＤ：ＧＵＩＤ（Ｓ）とする。ＧＵＩＤは、Ｇｌｏｂａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒを意味する。
【０１０３】
ステップＳ２２において、サーバは、生成したサーバＩＤ：ＧＵＩＤ（Ｓ）をＳＳＬハンドシェイクによりサーバクライアント間で共有した鍵で暗号化してクライアントに送信する。クライアントは、受信データを復号しサーバＩＤ：ＧＵＩＤ（Ｓ）を取得する。
【０１０４】
一方、クライアントは、ステップＳ２３において、例えば乱数発生処理によりＩＤを生成する。ＩＤは、グローバルユニーク性を有することが好ましく、例えば１２８ｂｉｔ以上のビット列として生成される。クライアントの生成するＩＤをクライアントＩＤ：ＧＵＩＤ（Ｃ）とする。
【０１０５】
ステップＳ２４において、クライアントは、生成したクライアントＩＤ：ＧＵＩＤ（Ｃ）をＳＳＬハンドシェイクによりサーバクライアント間で共有した鍵で暗号化してサーバに送信する。サーバは、受信データを復号しクライアントＩＤ：ＧＵＩＤ（Ｃ）を取得する。
【０１０６】
ステップＳ２５において、クライアントは、サーバから受信したサーバＩＤ：ＧＵＩＤ（Ｓ）と自デバイスで生成したクライアントＩＤ：ＧＵＩＤ（Ｃ）を記憶手段に暗号化して格納する。暗号化鍵としては、例えば自デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｃ））を適用する。サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）は暗号化データとして記憶部に格納される。
【０１０７】
このように、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）は、ハードウェアユニークＩＤ（Ｈｕｉｄ（Ｃ））による暗号化がなされ、不正コピー、改ざん困難性を高めた暗号化データとして、すなわち、タンパレジスタント性を確保したデータとして格納される。
【０１０８】
ステップＳ２６において、サーバは、クライアントから受信したクライアントＩＤ：ＧＵＩＤ（Ｃ）と自デバイスで生成したサーバＩＤ：ＧＵＩＤ（Ｓ）を記憶手段に暗号化して格納する。暗号化鍵としては、クライアントと同様、自デバイスのハードウェアに固有の識別情報、すなわちハードウェアユニークＩＤ（Ｈｕｉｄ（Ｓ））を適用する。サーバにおいても、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）は暗号化データとして記憶部に格納され、不正コピー、改ざんの困難なタンパレジスタント性が確保される。
【０１０９】
上述の処理により、外部ネットワークに接続可能なモバイル機器と、ホームネットワーク内のアプリケーション・ゲートウェイを含むサーバの各々は、それぞれ、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）を共有する秘密情報（Ｓｅｃｒｅｔ）として保有することになる。
【０１１０】
（２）機器認証処理
【０１１１】
上述の機器登録処理により、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）をアプリケーション・ゲートウェイとの共有秘密情報（Ｓｅｃｒｅｔ）として保有したモバイル機器は、インターネット等の外部ネットワークに接続し、図１に示すアプリケーション・ゲートウェイ１１０に接続し、所定のアクセス権限判定処理シーケンスを実行することで、ホームネットワーク等の内部ネットワークに接続されたサーバに対するアクセスが可能となり、サーバからのコンテンツ取得等が許容される。
【０１１２】
すなわち、モバイル機器は、アプリケーション・ゲートウェイ１１０によって共有秘密情報（Ｓｅｃｒｅｔ）であるサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）を適用したアクセス権限判定処理が実行され、アクセス権限ありとの判定を条件として、ホームネットワーク内のサーバに対するアクセスが可能となる。
【０１１３】
図５に、外部ネットワークに接続したモバイル機器と、アプリケーション・ゲートウェイとの通信処理シーケンスを示す。
【０１１４】
図５において、クライアントは外部ネットワークに接続されたクライアントであり、サーバはホームネットワーク等の内部ネットワークに属し、アプリケーション・ゲートウェイが、両ネットワークの間に存在している。
【０１１５】
クライアントは、ステップＳ３１において、アプリケーション・ゲートウェイに接続する。なお、クライアントは、アプリケーション・ゲートウェイに接続するためアプリケーション・ゲートウェイのＩＰアドレス、ポート番号を取得することが必要である。例えばアプリケーション・ゲートウェイに設定されたホスト名等に基づいて、ネットワーク上のＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）サーバ、その他、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）の提供するサービスサーバによって、アプリケーション・ゲートウェイのＩＰアドレス、ポート番号を取得し接続を行う。
【０１１６】
なお、クライアントは、明示的にアプリケーション・ゲートウェイに接続する処理を実行することなく、例えばアプリケーション・ゲートウェイの接続されたホームネットワーク等、内部ネットワークの接続サーバのホスト名を用いてサーバに対するダイレクト接続を試みた場合においても、各サーバに設定されたゲートウェイの設定情報に基づいて、クライアントは、外部ネットワークと内部ネットワークの間に設置されたアプリケーション・ゲートウェイに接続され、以下に説明する機器認証シーケンスが実行される。
【０１１７】
なお、クライアントとアプリケーション・ゲートウェイとの接続は、接続期間において複数のＨＴＴＰパケットの送受信が可能なＨＴＴＰキープアライブ（ＨＴＴＰ  Ｋｅｅｐ  Ａｌｉｖｅ）の設定されたＴＣＰ接続とし、一接続シーケンスにおいて、以下に説明するＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理、およびログイン処理を継続して実行することが好ましい。
【０１１８】
ステップＳ３２において、クライアントと、アプリケーション・ゲートウェイ間において、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理を実行する。ＳＳＬハンドシェイクにより、クライアントと、アプリケーション・ゲートウェイは、暗号通信のための鍵として適用可能な秘密情報（セッション鍵）の共有を行い、その後の通信においては、共有した秘密情報（セッション鍵）を用いた暗号化データの送受信が可能となる。
【０１１９】
ステップＳ３３において、クライアントと、アプリケーション・ゲートウェイ間において、機器認証処理としてのログイン（Ｌｏｇｉｎ）処理を実行する。ログイン（Ｌｏｇｉｎ）処理の詳細について、図６、図７を参照して説明する。
【０１２０】
正規なアクセス権限を有するクライアントは、前述した機器登録処理を実行しており、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）をアプリケーション・ゲートウェイとともに共有する秘密情報（Ｓｅｃｒｅｔ）として保有する。なお、サーバＩＤ：ＧＵＩＤ（Ｓ）は、図４を参照して説明した機器登録シーケンスにおいて、アプリケーション・ゲートウェイの生成したサーバＩＤである。
【０１２１】
機器認証は、クライアントと、アプリケーション・ゲートウェイの各々が、秘密情報（Ｓｅｃｒｅｔ）、すなわちサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）を共有していることを相互に確認する処理として実行される。アプリケーション・ゲートウェイは、ゲートウェイの記憶部に格納しているサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）と同じ値をクライアントが知っていることを確認し、この確認を条件としてクライアントを認証する。また、クライアントは、クライアントの記憶部に格納しているサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）と同じ値をゲートウェイが知っていることを確認し、この確認を条件としてゲートウェイを認証する。
【０１２２】
図６、図７において、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）である。なお、Ａ‖ＢはＡとＢの連結を示す。
【０１２３】
まず、クライアントは、図６に示すステップＳ５１において、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）に一方向性関数としてのハッシュ関数（ｈ）を適用してダイジェスト値を下記式に従って計算する。
Ｄｉｇｅｓｔ＝ｈ（Ｓｅｃｒｅｔ）
さらに、クライアントは、乱数（Ｎｏｎｃｅ１）を生成する。なお、ハッシュ関数としてはたとえばＭＤ５等の関数が適用可能である。
【０１２４】
ステップＳ５２において、クライアントは、生成したダイジェスト（Ｄｉｇｅｓｔ）および乱数（Ｎｏｎｃｅ１）をアプリケーション・ゲートウェイに送信する。
【０１２５】
なお、クライアントとアプリケーション・ゲートウェイ間において既にコネクションが設定されセッションが継続している間において再度、認証を実行する場合、クライアントが、アプリケーション・ゲートウェイから受領済みのセッションＩＤを保有しているので、クライアントは、セッションＩＤについてもアプリケーション・ゲートウェイに送信する。初期接続の場合は、クライアントは、セッションＩＤを保持していないので生成したダイジェスト（Ｄｉｇｅｓｔ）および乱数（Ｎｏｎｃｅ１）のみをアプリケーション・ゲートウェイに送信する。
【０１２６】
なお、図６、図７に示すログイン処理シーケンスにおいてクライアントとアプリケーション・ゲートウェイ間で送受信するデータは、図５に示すステップＳ３２のＳＳＬハンドシェイク処理において双方で共有している鍵を用いて暗号化される。クライアントとアプリケーション・ゲートウェイ間の通信は、インターネット等の外部ネットワークを介した通信として実行されるが、暗号化通信によるセキュリティが確保される。
【０１２７】
ステップＳ５３において、アプリケーション・ゲートウェイは、クライアントからの受信データに含まれるＤｉｇｅｓｔ＝ｈ（Ｓｅｃｒｅｔ）を元にクライアントの特定を行う。アプリケーション・ゲートウェイは、図８に示すようなクライアント識別子とＤｉｇｅｓｔ＝ｈ（Ｓｅｃｒｅｔ）の対応テーブル（クライアント識別テーブル）を記憶部に格納している。
【０１２８】
なお、このクライアント識別テーブルは、アプリケーション・ゲートウェイが、図４を参照して説明した機器登録処理の際に、クライアントと共有した秘密情報（Ｓｅｃｒｅｔ）、すなわちサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）に基づくハッシュ値算出処理を実行して、クライアント識別子に対応付けたエントリを生成し記憶部に格納する。
【０１２９】
ステップＳ５４において、アプリケーション・ゲートウェイはサーバ認証値（ＳｅｒｖｅｒＡｕｔｈ）を下記式に従って生成する。
ＳｅｒｖｅｒＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）
すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と、クライアントから受信した乱数（Ｎｏｎｃｅ１）との結合データに対するハッシュ値を求めて、これをサーバ（アプリケーション・ゲートウェイ）認証値（ＳｅｒｖｅｒＡｕｔｈ）とする。さらに、アプリケーション・ゲートウェイは、乱数（Ｎｏｎｃｅ２）を生成する。
【０１３０】
さらに、アプリケーション・ゲートウェイは、クライアントとの接続が初期接続であり、ステップＳ５２において、クライアントからセッションＩＤを受信していない場合は、コネクション識別情報としてのセッションＩＤを生成し、クライアント識別子と対応付けて保存する。
【０１３１】
アプリケーション・ゲートウェイは、コネクションが継続しているクライアントについて、図９に示すようにクライアント識別子とセッションＩＤを対応付けたクライアントセッションＩＤテーブルにエントリを設定して記憶部に格納する。
【０１３２】
アプリケーション・ゲートウェイが、外部ネットワークの複数のクライアントと接続している場合においても、アプリケーション・ゲートウェイは、図９に示すクライアントセッションＩＤテーブルに基づいて、セッションＩＤから個々のクライアントを判別することが可能となる。
【０１３３】
ステップＳ５５において、アプリケーション・ゲートウェイは、クライアントに対してサーバ認証値［ＳｅｒｖｅｒＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）］と、生成乱数（Ｎｏｎｃｅ２）を送信する。
【０１３４】
ステップＳ５６において、クライアントは、アプリケーション・ゲートウェイから受信したサーバ認証値［ＳｅｒｖｅｒＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）］と、自デバイスで生成したＳｅｒｖｅｒＡｕｔｈ’＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）とを比較照合する。両値が一致、すなわち、ＳｅｒｖｅｒＡｕｔｈ＝ＳｅｒｖｅｒＡｕｔｈ’が成立すれば、クライアントは、通信を行っているアプリケーション・ゲートウェイが、自己の保有する秘密情報、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と同一の秘密情報を持つアプリケーション・ゲートウェイであり、機器登録シーケンスに基づいて秘密情報を共有した正当なアプリケーション・ゲートウェイであると判定する。
【０１３５】
一方、アプリケーション・ゲートウェイから受信したサーバ認証値［ＳｅｒｖｅｒＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）］と、自デバイスで生成したＳｅｒｖｅｒＡｕｔｈ’＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ１）とが不一致の場合は、アプリケーション・ゲートウェイは、クライアントが記憶部に格納した秘密情報、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と同一の秘密情報を持たないデバイスであり、機器登録シーケンスに基づいて秘密情報を共有したアプリケーション・ゲートウェイではなく、不正なアプリケーション・ゲートウェイであると判定する。この場合、クライアントは、アプリケーション・ゲートウェイとの接続を切断する。
【０１３６】
正当なアプリケーション・ゲートウェイであると判定された場合は、次のステップ、すなわち、図７のステップＳ５７に進む。
【０１３７】
図７のステップＳ５７において、クライアントは、クライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）を下記式に従って生成する。
ＣｌｉｅｎｔＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）
すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と、アプリケーション・ゲートウェイから受信した乱数（Ｎｏｎｃｅ２）との結合データに対するハッシュ値を求めて、これをクライアント認証値（ＣｌｉｅｎｔＡｕｔｈ）とする。
【０１３８】
ステップＳ５８において、クライアントは、アプリケーション・ゲートウェイに対してクライアント認証値［ＣｌｉｅｎｔＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）］を送信する。
【０１３９】
ステップＳ５９において、アプリケーション・ゲートウェイは、クライアントから受信したクライアント認証値［ＣｌｉｅｎｔＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）］と、自デバイスで生成したＣｌｉｅｎｔＡｕｔｈ’＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）とを比較照合する。両値が一致、すなわちＣｌｉｅｎｔＡｕｔｈ＝ＣｌｉｅｎｔＡｕｔｈ’が成立すれば、アプリケーション・ゲートウェイは、通信を行っているクライアントが、自己の保有する秘密情報、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と同一の秘密情報を持つクライアントであり、機器登録シーケンスに基づいて秘密情報を共有した正当なクライアントであると判定する。
【０１４０】
一方、クライアントから受信したクライアント認証値［ＣｌｉｅｎｔＡｕｔｈ＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）］と、自デバイスで生成したＣｌｉｅｎｔＡｕｔｈ’＝ｈ（Ｓｅｃｒｅｔ‖Ｎｏｎｃｅ２）とが不一致の場合は、クライアントは、アプリケーション・ゲートウェイが記憶部に格納した秘密情報、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）と同一の秘密情報を持たないデバイスであり、機器登録シーケンスに基づいて秘密情報を共有したクライアントではなく、不正なクライアントであると判定する。
【０１４１】
ステップＳ６０において、アプリケーション・ゲートウェイは、クライアントの認証結果［ＯＫ］または［ＮＧ］をクライアントに送信する。［ＯＫ］であれば、セッションＩＤも併せて送信する。
【０１４２】
ステップＳ６１において、クライアントは、認証成立なら、アプリケーションゲートウェイから受信したセッションＩＤを記憶部に格納し、次の処理（例えば図５のステップＳ３４のデバイスリスト取得処理）に移行する。認証不成立の場合には、アプリケーション・ゲートウェイとの接続を切断する。
【０１４３】
以上の処理により、外部ネットワークに接続されたクライアントと、ホームネットワーク等の内部ネットワークに接続されたアプリケーション・ゲートウェイとの認証処理が終了し、認証成立を条件として、クライアントは、ホームネットワーク等の内部ネットワークに接続されたサーバに関する情報取得、サーバに対するアクセス、サーバからのコンテンツ取得等の処理が可能となる。
【０１４４】
上述したように、機器認証処理は、クライアントと、アプリケーション・ゲートウェイの各々が、共有した秘密情報（Ｓｅｃｒｅｔ）、すなわち、サーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）を共有していることを相互に確認する処理として実行される。
【０１４５】
すなわち、アプリケーション・ゲートウェイは、ゲートウェイの記憶部に格納しているサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）と同じ値をクライアントが知っていることを確認し、この確認を条件としてクライアントを認証する。また、クライアントは、クライアントの記憶部に格納しているサーバＩＤ：ＧＵＩＤ（Ｓ）およびクライアントＩＤ：ＧＵＩＤ（Ｃ）と同じ値をゲートウェイが知っていることを確認し、この確認を条件としてゲートウェイを認証する。このように、相互に認証処理を実行することになり、相互の信頼性が確保されたことを条件としてその後の処理が実行可能となる。
【０１４６】
（３）デバイスリストの取得処理
外部ネットワークに接続されたクライアントと、アプリケーション・ゲートウェイ間でのログイン処理が済み、両デバイスの信頼性が確認されると、クライアントは、ホームネットワーク等、アプリケーション・ゲートウェイの接続された内部ネットワーク内のサーバ情報を取得する処理に移行する。
【０１４７】
ホームネットワーク内に接続されたクライアントであれば、このデバイス情報取得処理は、先に図３を参照して説明したように、ネットワークサービスの検出プロトコルであるＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を適用した処理として実行できる。すなわち、ネットワークを介したサーチリクエストをＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）に従って、マルチキャスト送信（ＨＴＴＰＭＵ：ＨＴＴＰＭｕｌｔｉｃａｓｔ）し、ホームネットワークに接続されたサーバから提供可能なサービスについての情報が含まれるＯＫレスポンスをＵＤＰに従って受信することでサーバ情報を取得することができた。
【０１４８】
しかし、外部ネットワークに接続され、アプリケーション・ゲートウェイと通信を行っているクライアントは、上述と同様のＵＤＰパケットのマルチキャスト送信を実行してホームネットワーク内のサーバ情報を取得することはできない。
【０１４９】
従って、新たな定義コマンドを用いて、この新定義コマンドをクライアントからアプリケーション・ゲートウェイに送信し、アプリケーション・ゲートウェイにおいて受信コマンドに基づいて、ＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を適用した処理に従ってホームネットワーク内においてサーバ発見処理を実行し、その結果としてアプリケーション・ゲートウェイが取得したサーバ情報をクライアントに対して送信する。
【０１５０】
図５に示すステップＳ３４において、クライアントは、新定義コマンドとしてのデバイスリスト取得コマンド（Ｇｅｔ  Ｄｅｖｉｃｅ  Ｌｉｓｔ）をアプリケーション・ゲートウェイに送信し、アプリケーション・ゲートウェイにおいて受信コマンドに基づいて、ＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を適用した処理に従ってホームネットワーク内においてサーバ発見処理を実行し、サーバは、ステップＳ３５において、ＳＳＤＰ処理結果として取得したサーバ情報、すなわちデバイスリストをクライアントに対して送信する。デバイスリストには、サーバに対するアクセス情報、サーバの提供可能なサービス情報が含まれる。
【０１５１】
以下、図１０を参照して外部ネットワークに接続されたクライアントによるサーバ情報取得処理として実行されるデバイスリスト取得（Ｇｅｔ  Ｄｅｖｉｃｅ  Ｌｉｓｔ）処理シーケンスの詳細について説明する。
【０１５２】
図１０において、クライアントは外部ネットワークに接続されたクライアントであり、サーバはホームネットワーク等の内部ネットワークに属し、アプリケーション・ゲートウェイが、両ネットワークの間に存在しているものとする。クライアントとアプリケーション・ゲートウェイ間では前述したログイン処理が実行済みであり、相互認証が成立し信頼性が保証されているものとする。
【０１５３】
ステップＳ７１において、クライアントは、アプリケーション・ゲートウェイに対して新定義コマンド、すなわちサーバ情報としてのデバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドを送信する。
【０１５４】
アプリケーション・ゲートウェイは、デバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドを受信すると、クライアント確認処理を実行した後、ステップＳ７２において、デバイスリストの取得処理を実行する。
【０１５５】
アプリケーション・ゲートウェイにおける処理の詳細について、図１１を参照して説明する。
【０１５６】
ステップＳ１０１において、アプリケーション・ゲートウェイは、クライアントからデバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドを受信すると、まず、クライアントがログイン処理により認証が成立したクライアントであるか否かを判定する。図９を参照して説明したクライアント識別子とセッションＩＤを対応付けたクライアントセッションＩＤテーブル登録されたクライアントであれば、ログイン処理による認証の成立したクライアントであり、未登録のクライアントであれば、ログイン処理による認証の成立していないクライアントであるので、処理の続行を中止し、ステップＳ１０６においてエラーメッセージをクライアントに送信し、ステップＳ１０７でクライアントとのコネクションを切断し、処理を終了する。
【０１５７】
デバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドの送信クライアントが、クライアントセッションＩＤテーブル登録されたクライアントであれば、ログイン処理による認証の成立したクライアントであると判定し、ステップＳ１０３において、デバイスリスト取得処理を実行する。
【０１５８】
デバイスリストの取得は、ＵＰｎＰのＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）を適用した処理として実行される。すなわち、アプリケーション・ゲートウェイは、アプリケーション・ゲートウェイの接続されたホームネットワーク等の内部ネットワークにおいてサーバ発見処理を実行し、各サーバからのサーバ情報を受信する。これは、ネットワークを介したサーチリクエストをＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）に従って、アプリケーション・ゲートウェイからマルチキャスト送信（ＨＴＴＰＭＵ：ＨＴＴＰＭｕｌｔｉｃａｓｔ）し、ホームネットワークに接続されたサーバから提供可能なサービスについての情報が含まれるＯＫレスポンスをＵＤＰに従って受信する処理である。
【０１５９】
ステップＳ１０４において、アプリケーション・ゲートウェイは、デバイスリストの取得に成功したか否かを判定し、取得処理に失敗した場合は、ステップＳ１０８において、デバイスリストの取得エラーメッセージをクライアントに送信する。
【０１６０】
デバイスリストの取得に成功した場合は、ステップＳ１０５に進み、取得したデバイスリストをクライアントに送信する。アプリケーション・ゲートウェイは、ホームネットワーク内でＵＤＰパケットにより各サーバから受信したサーバの提供可能なサービス情報をＴＣＰパケットのペイロードとして格納したＴＣＰパケットを生成してクライアントに送信する。なお、このデバイスリストの送信データは、前述のＳＳＬハンドシェイク処理においてクライアントと共有した秘密情報（暗号鍵）によって暗号化されて送信される。デバイスリストには、サーバに対するアクセス情報、サーバの提供可能なサービス情報が含まれる。
【０１６１】
図１０に示すステップＳ７３において、アプリケーション・ゲートウェイは、ホームネットワーク内のサーバ１、サーバ２、サーバ３から受信したサービス提供可能であることを示すＯＫレスポンスと、サーバにおいて提供可能なサービスについての情報を含むデバイスリストを暗号化してクライアントに送信する。
【０１６２】
上記の処理により、各サーバからのＯＫレスポンスをアプリケーション・ゲートウェイを介して受信したクライアントは、前述のＳＳＬハンドシェイク処理においてアプリケーション・ゲートウェイと共有した秘密情報（暗号鍵）によって受信データを復号してサーバリストを取得し、サーバに対するアクセス情報および提供可能なサービスについての情報を確認する。その後、これらの情報に基づいて、サーバにサービスを要求するサービス要求処理を実行する。例えば、サーバに対するコンテンツ送信要求等を実行し、コンテンツを取得してクライアントのディスプレイ、スピーカを介して出力する処理が可能となる。
【０１６３】
なお、アプリケーション・ゲートウェイがクライアントからデバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドを受信する以前に、既にサーバ情報を取得済みである場合は、アプリケーション・ゲートウェイは、クライアントからのデバイスリスト取得［Ｇｅｔ  Ｄｅｖｉｃｅ  ｌｉｓｔ］要求コマンドの受信後、新たにサーバ発見処理を実行せず、蓄積済みのサーバ情報をクライアントに送信してもよい。
【０１６４】
このように、外部ネットワークに接続された正規なアクセス権限を有するクライアントは、ＵＰｎＰにおいて適用されるＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）に基づくサーバ情報とまったく同じ情報をアプリケーション・ゲートウェイを介して受信できるので、ホームネットワーク内のクライアントと同様の環境でサーバに対するサービス要求を実行することが可能となる。
【０１６５】
デバイスリストを取得したクライアントは、図５に示すステップＳ３６において、サーバに対するコンテンツ取得要求を行う。サーバに対するコンテンツ取得処理は、例えば取得したサーバ情報に含まれるコンテンツのＵＲＬを指定したＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）ＧＥＴメソッドリクエストの送信処理として実行可能である。
【０１６６】
ステップＳ３７において、アプリケーション・ゲートウェイは、サーバに対するコンテンツ要求を中継してパケットをサーバに送信する。クライアントからパケットを受信したゲートウェイは、受信パケットのＨＯＳＴヘッダ値に書かれたデバイスのＩＰアドレスとポート番号に新たにコネクションを張り、パケット内容を変更することなく中継する。これにより、従来使用していたプロトコルを変更することなく、外部ネットワークに接続されたクライアントと内部ネットワークに接続されたサーバ間での通信およびサーバからクライアントに対するサービス提供が可能となる。
【０１６７】
サーバがコンテンツ要求を受信すると、サーバは、指定コンテンツを自己の記憶手段から取得して、クライアントに送信する。コンテンツは、アプリケーション・ゲートウェイを介してクライアントに送信（ステップＳ３８，Ｓ３９）される。クライアントは、サーバからの受信コンテンツをクライアントのディスプレイ、スピーカを介して再生することが可能となる。
【０１６８】
［アプリケーション・ゲートウェイ、およびクライアントの機能構成］
アプリケーション・ゲートウェイ、クライアント、およびサーバのハードウェア構成については、先に図２を参照して説明した通りであり、上述した各種の処理は、アプリケーション・ゲートウェイ、クライアント、およびサーバそれぞれの記憶部に格納されたプログラムに従って制御部としてのＣＰＵが実行する。
【０１６９】
ＣＰＵによって実行される処理は、例えばアプリケーション・ゲートウェイでは、クライアントからの要求を入力し、入力情報の解析、解析結果に基づく機器登録処理、機器認証処理（ログイン処理）、ＳＳＤＰに従ったサーバ発見処理、パケット中継処理、パケット生成、解析処理、さらに、機器登録処理におけるパスワード等、各種メッセージ出力、ユーザ入力情報の解析処理等である。クライアント側の処理としては、アプリケーション・ゲートウェイから受信する情報解析処理、アプリケーション・ゲートウェイと送受信するパケット生成、解析処理、機器登録処理、機器認証処理、メッセージ出力、ユーザ入力情報の解析処理、コンテンツ再生処理等である
【０１７０】
基本的にこれらの処理は、アプリケーション・ゲートウェイ、クライアント装置にそれぞれ備えられた制御部としてのＣＰＵの制御の下に予め格納された処理プログラムに従って実行される。制御部としてのＣＰＵが実行する処理および記憶部の格納データ中、本発明に関連する主要構成について、図１２および図１３を参照して説明する。図１２は、アプリケーション・ゲートウェイの主要機能構成を説明するブロック図であり、図１３は、クライアントの主要機能構成を説明するブロック図である。
【０１７１】
まず、図１２のブロック図を参照してアプリケーション・ゲートウェイの機能構成について説明する。データ送受信処理部５０１は、クライアントおよびサーバに対するパケット送受信処理を実行する。データ送受信処理部５０１は、送信パケットの生成処理、受信パケットの解析処理を行う。パケットのアドレス設定、アドレス認識、データ部に対するデータ格納、データ部からのデータ取得処理などである。
【０１７２】
データ入力部５０２は、キーボード、スイッチ等の入力手段からの入力情報を各処理部に対して入力する。データ出力部５０３は、各種処理部の出力信号を外部の出力部としてのディスプレイやスピーカに対して出力する処理を実行する。
【０１７３】
機器登録処理部５０４は、クライアントからの機器登録要求に基づく一連の処理シーケンスを実行する。図４を参照して説明したシーケンス中、アプリケーション・ゲートウェイ側の処理をプログラム記憶部５０７に格納された機器登録処理プログラム５２１に従って実行する。なお、機器登録処理部５０４は、パスワード生成判定部５１１を有し、パスワードの生成および照合処理を実行する。
【０１７４】
機器認証処理部５０５は、外部ネットワークに接続されたクライアントからの接続処理要求を受信した場合の機器認証処理を実行する。図５〜図７を参照して説明した機器認証処理（ログイン処理）におけるアプリケーション・ゲートウェイ側の処理を、プログラム記憶部５０７に格納された機器認証処理プログラム５２２に従って実行する。また、暗号鍵共有処理としてのＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理も実行する。
【０１７５】
サーバ発見処理実行部５０６は、クライアントからのデバイスリスト要求に基づいて、ＳＳＤＰに従ったサーバ発見処理を実行して取得したサーバリストをクライアントに送信する処理を実行する。図１０、図１１を参照して説明したアプリケーション・ゲートウェイ側の処理を、プログラム記憶部５０７に格納されたサーバ発見処理実行プログラム５２３に従って実行する。
【０１７６】
プログラム記憶部５０７には、上記各処理部において実行するプログラム、すなわち、機器登録処理プログラム５２１、機器認証処理プログラム５２２、およびサーバ発見処理実行プログラム５２３が格納される。
【０１７７】
データ記憶部５０８には、クライアントとの機器登録処理において生成した共有秘密情報（Ｓｅｃｒｅｔ）５３１、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）をハードウェアユニークＩＤ（Ｈｕｉｄ（Ｓ））で暗号化したデータ、および、クライアントとの機器登録処理において生成したクライアント識別テーブル５３２（図８参照）、および、クライアントとの相互認証が成立しクライアントとの信頼関係が構築されたセッションを、クライアント毎に識別するためのクライアントセッションＩＤテーブル５３３（図９参照）が格納される。
【０１７８】
なお、図１２に示すブロック図は、アプリケーション・ゲートウェイの実行する様々な処理の中から本発明に関連する処理を実行するための機能を中心として示した機能ブロック図であり、アプリケーション・ゲートウェイは、この他にも各種の処理プログラムを保持し、各処理プログラムに従った様々な処理を実行する。
【０１７９】
次に、図１３を参照してクライアントの機能構成について説明する。データ送受信処理部６０１は、アプリケーション・ゲートウェイおよびサーバに対するパケット送受信処理を実行する。データ送受信処理部６０１は、送信パケットの生成処理、受信パケットの解析処理を行う。パケットのアドレス設定、アドレス認識、データ部に対するデータ格納、データ部からのデータ取得処理などである。
【０１８０】
データ入力部６０２は、キーボード、スイッチ等の入力手段からの入力情報を各処理部に対して入力する。データ出力部６０３は、各種処理部の出力信号を外部の出力部としてのディスプレイやスピーカに対して出力する処理を実行する。
【０１８１】
機器登録処理部６０４は、アプリケーション・ゲートウェイ他のデバイス間で実行する機器登録処理シーケンスを実行する。図４を参照して説明した処理中、クライアント側の処理を、プログラム記憶部６０７に格納された機器登録処理プログラム６２１に従って実行する。
【０１８２】
機器認証処理部６０５は、外部ネットワークに接続されたクライアントが、アプリケーション・ゲートウェイに対して接続した際の機器認証処理を実行する。図５〜図７を参照して説明した機器認証処理（ログイン）におけるクライアント側の処理を、プログラム記憶部６０７に格納された機器認証処理プログラム６２２に従って実行する。また、暗号鍵共有処理としてのＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）ハンドシェイク処理も実行する。
【０１８３】
デバイスリスト要求処理実行部６０６は、アプリケーション・ゲートウェイに対するデバイスリスト要求の発行およびデバイスリスト取得処理を実行する。図１０を参照して説明した処理中、クライアント側の処理を、プログラム記憶部６０７に格納されたデバイスリスト要求処理実行プログラム６２３に従って実行する。
【０１８４】
プログラム記憶部６０７には、上記各処理部において実行するプログラム、すなわち、機器登録処理プログラム６２１、機器認証処理プログラム６２２、およびデバイスリスト要求処理実行プログラム６２３が格納される。
【０１８５】
データ記憶部６０８には、例えばアプリケーション・ゲートウェイとの機器登録処理において生成した共有秘密情報（Ｓｅｃｒｅｔ）６３１、すなわち、Ｓｅｃｒｅｔ＝ＧＵＩＤ（Ｃ）‖ＧＵＩＤ（Ｓ）をハードウェア識別子（Ｈｕｉｄ（Ｃ））で暗号化したデータ、および、アプリケーション・ゲートウェイとの認証が成立した場合に、アプリケーション・ゲートウェイから取得するセッションＩＤ６３２が格納される。
【０１８６】
なお、図１３に示すブロック図は、クライアントの実行する様々な処理の中から本発明に関連する処理を実行するための機能を中心として示した機能ブロック図であり、クライアントは、この他にも各種の処理プログラムを保持し、各処理プログラムに従った様々な処理を実行する。
【０１８７】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１８８】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１８９】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１９０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１９１】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【０１９２】
【発明の効果】
以上、説明したように、本発明によれば、外部ネットワークに接続可能なクライアント機器と、アプリケーション・ゲートウェイとの双方が、共有秘密情報（Ｓｅｃｒｅｔ）として、クライアントの生成ＩＤであるクライアントＩＤ：ＧＵＩＤ（Ｃ）と、アプリケーション・ゲートウェイの生成ＩＤであるサーバＩＤ：ＧＵＩＤ（Ｓ）とを記憶部に格納し、アプリケーション・ゲートウェイが、クライアントからのアクセス要求を受信した際に、クライアントが、正しい共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行してクライアントのアクセス権限の有無を判定する構成としたので、ホームネットワーク等のローカル領域の内部ネットワークに対する外部ネットワークからのアクセスに対する権限判定処理を効率的にかつ正確に実行することが可能となる。
【０１９３】
さらに、本発明の構成においては、クライアント機器と、アプリケーション・ゲートウェイの双方が、共有秘密情報（Ｓｅｃｒｅｔ）、すなわちクライアントＩＤ：ＧＵＩＤ（Ｃ）とサーバＩＤ：ＧＵＩＤ（Ｓ）を保有するか否かを確認する処理を相互に実行して、相手の正当性を確認する構成としたので、いずれか一方が不正である場合にも内部ネットワークに対するアクセスが拒否されることになり、内部ネットワークの外部からのアクセスに対するセキュリティを高めることが可能となる。
【０１９４】
さらに、本発明の構成によれば、アプリケーション・ゲートウェイが、クライアント識別子と、クライアントとのコネクション識別情報としてのセッションＩＤとを対応付けたクライアントセッションＩＤテーブルを保有する構成としたので、複数のクライアントが外部ネットワークからアクセスしている場合においても、セッションＩＤによるクライアントの識別が可能となる。
【０１９５】
さらに、本発明の構成によれば、クライアントが共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理によるクライアントのアクセス権限判定処理の開始前に、クライアントとの暗号通信に適用する暗号鍵共有処理を実行し、暗号鍵に基づく送受信データの暗号化を行って、クライアントが共有秘密情報（Ｓｅｃｒｅｔ）を有するか否かの確認処理を実行する構成としたので、インターネット等、盗聴のおそれがあるネットワークを介した通信においてもセキュリティの高いアクセス権限判定処理が可能となる。
【０１９６】
さらに、本発明の構成においては、クライアントＩＤ：ＧＵＩＤ（Ｃ）、およびサーバＩＤ：ＧＵＩＤ（Ｓ）の共有処理を実行する機器登録処理において、ＩＤ交換の前にパスワード認証を実行し、かつ、交換ＩＤを暗号化データとしてネットワークを介して交換する構成としたので、特定の閉じられたネットワークでのセキュアな機器登録処理が実現され、不正な機器登録の困難性を高めることが可能となる。
【図面の簡単な説明】
【図１】本発明の適用可能なネットワーク構成例を示す図である。
【図２】ネットワーク接続機器の構成例について説明する図である。
【図３】ホームネットワーク等の内部ネットワークに接続されたクライアントによるサーバ発見処理シーケンスを示す図である。
【図４】外部ネットワークに接続可能なクライアントの機器登録処理手順を説明するシーケンス図である。
【図５】外部ネットワークに接続されたクライアントによる認証および、コンテンツ取得処理手順を説明するシーケンス図である。
【図６】外部ネットワークに接続されたクライアントの認証処理手順を説明するシーケンス図（その１）である。
【図７】外部ネットワークに接続されたクライアントの認証処理手順を説明するシーケンス図（その２）である。
【図８】アプリケーション・ゲートウェイの生成するクライアント識別テーブルの構成例を示す図である。
【図９】アプリケーション・ゲートウェイの生成するクライアントセッションＩＤテーブルの構成例を示す図である。
【図１０】外部ネットワークに接続されたクライアントからのデバイスリスト取得要求の処理シーケンスを示す図である。
【図１１】外部ネットワークに接続されたクライアントからのデバイスリスト取得要求の受信に基づいてアプリケーション・ゲートウェイの実行する処理を説明するフロー図である。
【図１２】アプリケーション・ゲートウェイの機能構成を説明するブロック図である。
【図１３】クライアントの機能構成を説明するブロック図である。
【符号の説明】
１００  ホームネットワーク
１０１，１０２  ＰＣ
１０３  ハードディスクレコーダ
１０４  ＴＶ
１０５  ＰＤＡ
１２０  外部ネットワーク
１２１  ＰＣ
１２２  携帯端末
１２３  再生プレーヤ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  ＨＤＤ
２０５  バス
２０６  入出力インタフェース
２０７  入力部
２０８  出力部
２０９  通信部
２１０  ドライブ
２１１  リムーバブル記録媒体
３０１  クライアント
３１１，３１２，３１３  サーバ
５０１  データ送受信処理部
５０２  データ入力部
５０３  データ出力部
５０４  機器登録処理部
５０５  機器認証処理部
５０６  サーバ発見処理実行部
５０７  プログラム記憶部
５０８  データ記憶部
５１１  パスワード生成判定部
５２１  機器登録処理プログラム
５２２  機器認証処理プログラム
５２３  サーバ発見処理実行プログラム
５３１  共有秘密情報
５３２  クライアント識別テーブル
５３３  クライアントセッションＩＤテーブル
６０１  データ送受信処理部
６０２  データ入力部
６０３  データ出力部
６０４  機器登録処理部
６０５  機器認証処理部
６０６  デバイスリスト要求処理実行部
６０７  プログラム記憶部
６０８  データ記憶部
６２１  機器登録処理プログラム
６２２  機器認証処理プログラム
６２３  デバイスリスト要求処理実行プログラム
６３１  共有秘密情報
６３２  セッションＩＤ
【図１】
2004274429.tif 000003
【図２】
2004274429.tif 000004
【図３】
2004274429.tif 000005
【図４】
2004274429.tif 000006
【図５】
2004274429.tif 000007
【図６】
2004274429.tif 000008
【図７】
2004274429.tif 000009
【図８】
2004274429.tif 000010
【図９】
2004274429.tif 000011
【図１０】
2004274429.tif 000012
【図１１】
2004274429.tif 000013
【図１２】
2004274429.tif 000014
【図１３】
2004274429.tif 000015