(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを含む機器によって実行される、安全なネットワーク通信用の方法であって、前記方法が、
前記機器が、ハンドシェイク要求メッセージをサーバに送信することであって、
前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、送信することと、
前記機器が、前記サーバから返信されたハンドシェイク応答メッセージを受信することであって、前記ハンドシェイク応答メッセージが、前記第１のサービス要求データを用いることによって前記サーバにより生成された第１のサービス応答データと、第２の乱数とを含み、前記第１のサービス応答データは、前記第１の乱数を用いることによって暗号化され、前記第２の乱数は、前記第１の乱数を用いることによって暗号化され、前記第１の乱数と前記第１のサービス要求データは、前記ハンドシェイク応答メッセージを復号することによって取得される、受信することと、
前記機器が、前記第１のサービス応答データ及び前記第２の乱数を取得するために、前記第１の乱数を用いることによって前記ハンドシェイク応答メッセージを復号することと、
前記機器が、前記第１の乱数及び前記第２の乱数に従って、前記サーバとのセッションにおいて用いられるセッション鍵を計算することと、
を含む方法。
【請求項２】
前記機器が、暗号文サービス要求メッセージを前記サーバに送信することであって、
前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、
送信することと、
前記機器が、前記サーバから返信された暗号文サービス応答メッセージを受信することであって、
前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含み、
前記第２のサービス応答データが、前記セッション鍵の前記識別子を用いて前記暗号文サービス要求メッセージを復号することによって取得される前記第２のサービス要求データに従って生成される、
受信することと、
を更に含む、請求項１に記載の方法。
【請求項３】
前記機器が、平文サービス要求メッセージを前記サーバに送信することであって、
前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、
送信することと、
前記機器が、前記サーバから返信された平文サービス応答メッセージを受信することであって、
前記平文サービス応答メッセージが、前記平文の第３のサービス応答データを含み、
前記第３のサービス応答データが、前記平文サービス要求メッセージから取得される前記第３のサービス要求データに従って生成される、
受信することと、
を更に含む、請求項２に記載の方法。
【請求項４】
前記機器が、前記サーバから返信された前記セッション鍵の満了の通知を受信することと、
前記機器が、別のハンドシェイク要求メッセージを前記サーバに送信することと、
を更に含む、請求項２に記載の方法。
【請求項５】
少なくとも１つのプロセッサを含む機器によって実行される、安全なネットワーク通信用の方法であって、前記方法が、
前記機器が、クライアントから送信されたハンドシェイク要求メッセージを受信することであって、前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、受信することと、
前記機器が、前記第１の乱数及び前記第１のサービス要求データを取得するために、前記第１の公開鍵に対応する第１の秘密鍵を用いることによって、前記ハンドシェイク要求メッセージを復号することと、
前記機器が、前記第１のサービス要求データに従って、第１のサービス応答データを生成することと、
前記機器が、ハンドシェイク応答メッセージを前記クライアントに送信することであって、
前記ハンドシェイク応答メッセージが、前記第１の乱数を用いることによって暗号化された前記第１のサービス応答データ、及び前記第１の乱数を用いることによって暗号化された第２の乱数を含む、
送信することと、
前記機器が、第１の鍵アルゴリズムに基づき、前記第１の乱数及び前記第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算することと、
を含む方法。
【請求項６】
前記機器が、前記クライアントから送信された暗号文サービス要求メッセージを受信することであって、前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、受信することと、
前記機器が、前記セッション鍵の前記識別子に従って、対応するセッション鍵を調べることと、
前記機器が、前記第２のサービス要求データを取得するために、前記対応するセッション鍵を用いることによって、前記暗号文サービス要求メッセージを復号することと、
前記機器が、前記第２のサービス要求データに従って、第２のサービス応答データを生成することと、
前記機器が、暗号文サービス応答メッセージを前記クライアントに送信することであって、前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された前記第２のサービス応答データを含む、送信することと、
を更に含む、請求項５に記載の方法。
【請求項７】
前記機器が、前記クライアントによって送信された平文サービス要求メッセージを受信することであって、前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、受信することと、
前記機器が、前記平文サービス要求メッセージから前記第３のサービス要求データを取得することと、
前記機器が、前記第３のサービス要求データに従って、前記平文の第３のサービス応答データを生成することと、
前記機器が、平文サービス応答メッセージを前記クライアントに送信することであって、前記平文サービス応答メッセージが、前記平文の前記第３のサービス応答データを含む、送信することと、
を更に含む、請求項６に記載の方法。
【請求項８】
前記機器が、前記クライアントから送信された第４のサービス要求メッセージを受信することと、
前記機器が、前記第４のサービス要求メッセージが、前記暗号文サービス要求メッセージか又は前記平文サービス要求メッセージかどうかを判定することと、
前記機器が、前記第４のサービス要求メッセージが、前記暗号文サービス要求メッセージか又は前記平文サービス要求メッセージかどうかの判定結果に従って、第１の暗号化識別子を生成することと、
前記機器が、前記第４のサービス要求メッセージの識別子と前記第４のサービス要求メッセージの前記第１の暗号化識別子との間の第１のマッピング関係を確立することと、
前記機器が、前記クライアントから送信された第５のサービス要求メッセージを受信すると、前記第５のサービス要求メッセージの識別子及び前記第１のマッピング関係に従って、第２の暗号化識別子を調べることと、
前記機器が、前記第５のサービス要求メッセージが前記暗号文サービス要求メッセージであることを前記第２の暗号化識別子が示す場合に、前記クライアントへの前記暗号文サービス応答メッセージの送信の実行をトリガすることと、
前記機器が、前記第５のサービス要求メッセージが前記平文サービス要求メッセージであることを前記第２の暗号化識別子が示す場合に、前記クライアントへの前記平文サービス応答メッセージの送信の実行をトリガすることと、
を更に含む、請求項７に記載の方法。
【請求項９】
安全なネットワーク通信用の機器であって、前記機器が、
ハンドシェイク要求メッセージをサーバに送信するように構成されたハンドシェイク要求送信ユニットであって、
前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、
ハンドシェイク要求送信ユニットと、
前記サーバから返信されたハンドシェイク応答メッセージを受信するように構成されたハンドシェイク応答受信ユニットであって、前記ハンドシェイク応答メッセージが、前記第１のサービス要求データを用いることによって前記サーバにより生成された第１のサービス応答データと、第２の乱数とを含み、前記第１のサービス応答データは、前記第１の乱数を用いることによって暗号化され、前記第２の乱数は、前記第１の乱数を用いることによって暗号化され、前記第１の乱数と前記第１のサービス要求データは、前記ハンドシェイク応答メッセージを復号することによって取得される、ハンドシェイク応答受信ユニットと、
前記第１のサービス応答データ及び前記第２の乱数を取得するために、前記第１の乱数を用いることによって前記ハンドシェイク応答メッセージを復号するように構成されたハンドシェイク応答復号ユニットと、
前記第１の乱数及び前記第２の乱数に従って、前記サーバとのセッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニットと、
を含む機器。
【請求項１０】
暗号文サービス要求メッセージを前記サーバに送信するように構成された暗号文サービス要求送信ユニットであって、
前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、
暗号文サービス要求送信ユニットと、
前記サーバから返信された暗号文サービス応答メッセージを受信するように構成された暗号文サービス応答受信ユニットであって、
前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含み、
前記第２のサービス応答データが、前記セッション鍵の前記識別子を用いて前記暗号文サービス要求メッセージを復号することによって取得される前記第２のサービス要求データに従って生成される、暗号文サービス応答受信ユニットと、
を更に含む、請求項９に記載の機器。
【請求項１１】
平文サービス要求メッセージを前記サーバに送信するように構成された平文サービス要求送信ユニットであって、
前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、
平文サービス要求送信ユニットと、
前記サーバから返信された平文サービス応答メッセージを受信するように構成された平文サービス応答受信ユニットであって、
前記平文サービス応答メッセージが、前記平文の第３のサービス応答データを含み、
前記第３のサービス応答データが、前記平文サービス要求メッセージから取得される前記第３のサービス要求データに従って生成される、平文サービス応答受信ユニットと、
を更に含む、請求項１０に記載の機器。
【請求項１２】
安全なネットワーク通信用の機器であって、
クライアントによって送信されたハンドシェイク要求メッセージを受信するように構成されたハンドシェイク要求受信ユニットであって、前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、ハンドシェイク要求受信ユニットと、
前記第１の乱数及び前記第１のサービス要求データを取得するために、前記第１の公開鍵に対応する第１の秘密鍵を用いることによって、前記ハンドシェイク要求メッセージを復号するように構成されたハンドシェイク要求復号ユニットと、
前記第１のサービス要求データに従って第１のサービス応答データを生成するように構成された第１のサービス応答生成ユニットと、
ハンドシェイク応答メッセージを前記クライアントに送信するように構成されたハンドシェイク応答送信ユニットであって、
前記ハンドシェイク応答メッセージが、前記第１の乱数を用いることによって暗号化された前記第１のサービス応答データ、及び前記第１の乱数を用いることによって暗号化された第２の乱数を含む、
ハンドシェイク応答送信ユニットと、
第１の鍵アルゴリズムに基づき、前記第１の乱数及び前記第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニットと、
を含む機器。
【請求項１３】
前記クライアントによって送信された暗号文サービス要求メッセージを受信するように構成された暗号文サービス要求受信ユニットであって、前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、暗号文サービス要求受信ユニットと、
前記セッション鍵の前記識別子に従って、対応するセッション鍵を調べるように構成されたセッション鍵ルックアップユニットと、
前記第２のサービス要求データを取得するために、前記対応するセッション鍵を用いることによって、前記暗号文サービス要求メッセージを復号するように構成されたサービス要求復号ユニットと、
前記第２のサービス要求データに従って、第２のサービス応答データを生成するように構成された第２のサービス応答生成ユニットと、
暗号文サービス応答メッセージを前記クライアントに送信するように構成された暗号文サービス応答送信ユニットであって、前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された前記第２のサービス応答データを含む、暗号文サービス応答送信ユニットと、
を更に含む、請求項１２に記載の機器。
【請求項１４】
前記クライアントによって送信された平文サービス要求メッセージを受信するように構成された平文サービス要求受信ユニットであって、前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、平文サービス要求受信ユニットと、
前記平文サービス要求メッセージから前記平文の前記第３のサービス要求データを取得するように構成されたサービス要求データ取得ユニットと、
前記平文の前記第３のサービス要求データに従って、前記平文の第３のサービス応答データを生成するように構成された第３のサービス応答生成ユニットと、
平文サービス応答メッセージを前記クライアントに送信するように構成された平文サービス応答送信ユニットであって、前記平文サービス応答メッセージが、前記平文の前記第３のサービス応答データを含む、平文サービス応答送信ユニットと、
を更に含む、請求項１３に記載の機器。
【請求項１５】
命令のセットを格納する非一時的コンピュータ可読媒体であって、前記命令のセットは、機器に安全なネットワーク通信用の方法を行わせるように、前記機器の少なくとも一つのプロセッサによって実行可能であり、前記方法が、
ハンドシェイク要求メッセージをサーバに送信することであって、
前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、
送信することと、
前記サーバから返信されたハンドシェイク応答メッセージを受信することであって、前記ハンドシェイク応答メッセージが、前記第１のサービス要求データを用いることによって前記サーバにより生成された第１のサービス応答データと、第２の乱数とを含み、前記第１のサービス応答データは、前記第１の乱数を用いることによって暗号化され、前記第２の乱数は、前記第１の乱数を用いることによって暗号化され、前記第１の乱数と前記第１のサービス要求データは、前記ハンドシェイク応答メッセージを復号することによって取得される、受信することと、
前記第１のサービス応答データ及び前記第２の乱数を取得するために、前記第１の乱数を用いることによって前記ハンドシェイク応答メッセージを復号することと、
前記第１の乱数及び前記第２の乱数に従って、前記サーバとのセッションにおいて用いられるセッション鍵を計算することと、
を含む、非一時的コンピュータ可読媒体。
【請求項１６】
前記命令のセットは、前記機器に、
暗号文サービス要求メッセージを前記サーバに送信することであって、
前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、
送信することと、
前記サーバから返信された暗号文サービス応答メッセージを受信することであって、
前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含み、
前記第２のサービス応答データが、前記セッション鍵の前記識別子を用いて前記暗号文サービス要求メッセージを復号することによって取得される前記第２のサービス要求データに従って生成される、
受信することと、
を更に行わせるように、前記機器の前記少なくとも一つのプロセッサによって実行可能である、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記命令のセットは、前記機器に、
平文サービス要求メッセージを前記サーバに送信することであって、
前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、
送信することと、 
前記サーバから返信された平文サービス応答メッセージを受信することであって、
前記平文サービス応答メッセージが、前記平文の第３のサービス応答データを含み、
前記第３のサービス応答データが、前記平文サービス要求メッセージから取得される前記第３のサービス要求データに従って生成される、
受信することと、
を更に行わせるように、前記機器の前記少なくとも一つのプロセッサによって実行可能である、請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
命令のセットを格納する非一時的コンピュータ可読媒体であって、前記命令のセットは、機器に安全なネットワーク通信用の方法を行わせるように、前記機器の少なくとも一つのプロセッサによって実行可能であり、前記方法が、
クライアントから送信されたハンドシェイク要求メッセージを受信することであって、前記ハンドシェイク要求メッセージが、第１の公開鍵を用いることによって暗号化された第１の乱数、及び前記第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む、受信することと、
前記第１の乱数及び前記第１のサービス要求データを取得するために、前記第１の公開鍵に対応する第１の秘密鍵を用いることによって、前記ハンドシェイク要求メッセージを復号することと、
前記第１のサービス要求データに従って、第１のサービス応答データを生成することと、
ハンドシェイク応答メッセージを前記クライアントに送信することであって、
前記ハンドシェイク応答メッセージが、前記第１の乱数を用いることによって暗号化された前記第１のサービス応答データ、及び前記第１の乱数を用いることによって暗号化された第２の乱数を含む、
送信することと、
第１の鍵アルゴリズムに基づき、前記第１の乱数及び前記第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算することと、
を含む、非一時的コンピュータ可読媒体。
【請求項１９】
前記命令のセットは、前記機器に、
前記クライアントから送信された暗号文サービス要求メッセージを受信することであって、前記暗号文サービス要求メッセージが、前記セッション鍵の識別子、及び前記セッション鍵を用いることによって暗号化された第２のサービス要求データを含む、受信することと、
前記セッション鍵の前記識別子に従って、対応するセッション鍵を調べることと、
前記第２のサービス要求データを取得するために、前記対応するセッション鍵を用いることによって、前記暗号文サービス要求メッセージを復号することと、
前記第２のサービス要求データに従って、第２のサービス応答データを生成することと、
暗号文サービス応答メッセージを前記クライアントに送信することであって、前記暗号文サービス応答メッセージが、前記対応するセッション鍵を用いることによって暗号化された前記第２のサービス応答データを含む、送信することと、
を更に行わせるように、前記機器の前記少なくとも一つのプロセッサによって実行可能である、請求項１８に記載の非一時的コンピュータ可読媒体。 
【請求項２０】
前記命令のセットは、前記機器に、
前記クライアントによって送信された平文サービス要求メッセージを受信することであって、前記平文サービス要求メッセージが、平文の第３のサービス要求データを含む、受信することと、
前記平文サービス要求メッセージから前記第３のサービス要求データを取得することと、
前記第３のサービス要求データに従って、前記平文の第３のサービス応答データを生成することと、
平文サービス応答メッセージを前記クライアントに送信することであって、前記平文サービス応答メッセージが、前記平文の前記第３のサービス応答データを含む、送信することと、
を更に行わせるように、前記機器の前記少なくとも一つのプロセッサによって実行可能である、請求項１９に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【発明の概要】
【０００１】
技術分野
本出願は、通信技術に関し、特に安全なネットワーク通信方法及び機器に関する。
【０００２】
背景
インターネットの急速な発展と共に、情報セキュリティは、困難な問題になっている。ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）は、従来のパーソナルコンピュータ（ＰＣ）上でこの問題を解決するために採用された。ＨＴＴＰＳが用いられる場合に、クライアントとサーバとの間の通信プロセスは、ハンドシェイク段階を含み、その段階において、クライアントは、セキュリティキーのためにサーバと交渉する。サーバは、クライアントによって受信された応答が、正規サーバからのものであることを証明するために、関係機関によって発行された証明書をクライアントに提供する必要がある。それは、クライアントとサーバとの間の多くの対話、各対話における大きなパケットサイズ、及び巨大なネットワークトラフィックを必要とする。クライアントは、証明書を検証するために、中央処理装置（ＣＰＵ）を用いることによって多くの計算を必要とする。計算の必要電力消費は、モバイル端末にとっては難題である。
【０００３】
概要
本開示は、安全なネットワーク通信用の方法及び機器に関する。本開示は、クライアントとサーバとの間のセキュリティキーに関する交渉中におけるサービス要求及び応答用の情報対話の数を低減する。
【０００４】
一態様において、本開示は、安全なネットワーク通信用の方法に関する。方法は、ハンドシェイク要求メッセージをサーバに送信することを含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。サーバは、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵に従って、ハンドシェイク要求メッセージを復号し、且つ第１のサービス要求データに従って第１のサービス応答データを生成する。方法はまた、サーバから返信されたハンドシェイク応答メッセージを受信することを含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。方法は、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによってハンドシェイク応答メッセージを復号することを更に含んでもよい。加えて、方法は、第１の乱数及び第２の乱数に従って、サーバとのセッションにおいて用いられるセッション鍵を計算することを含んでもよい。
【０００５】
幾つかの実施形態において、方法は、暗号文サービス要求メッセージをサーバに送信することを含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。サーバは、セッション鍵の識別子に従って、対応するセッション鍵を調べ、且つ第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって、暗号文サービス要求メッセージを復号する。方法はまた、サーバから返信された暗号文サービス応答メッセージを受信することを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。第２のサービス応答データは、第２のサービス要求データに従って、サーバによって生成される。
【０００６】
幾つかの実施形態において、方法は、平文サービス要求メッセージをサーバに送信することを含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。サーバは、平文サービス要求メッセージから平文用の第３のサービス要求データを取得する。方法はまた、サーバから返信された平文サービス応答メッセージを受信することを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。第３のサービス応答データは、第３のサービス要求データに従って、サーバによって生成される。
【０００７】
幾つかの実施形態において、方法は、サーバから返信されたセッション鍵の満了の通知を受信することを含んでもよい。方法はまた、別のハンドシェイク要求メッセージをサーバに送信することを含んでもよい。
【０００８】
別の態様において、本開示は、安全なネットワーク通信用の方法に関する。方法は、クライアントから送信されたハンドシェイク要求メッセージを受信することを含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。方法はまた、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵を用いることによって、ハンドシェイク要求メッセージを復号することを含んでもよい。方法は、第１のサービス要求データに従って、第１のサービス応答データを生成することを更に含んでもよい。加えて、方法は、ハンドシェイク応答メッセージをクライアントに送信することを含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。クライアントは、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによって、ハンドシェイク応答メッセージを復号し、且つ第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算する。更に、方法は、第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算することを含んでもよい。
【０００９】
幾つかの実施形態において、方法は、クライアントから送信された暗号文サービス要求メッセージを受信することを更に含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。方法はまた、セッション鍵の識別子に従って、対応するセッション鍵を調べることを含んでもよい。方法は、第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって、暗号文サービス要求メッセージを復号することを更に含んでもよい。加えて、方法は、第２のサービス要求データに従って、第２のサービス応答データを生成することを含んでもよい。更に、方法は、暗号文サービス応答メッセージをクライアントに送信することを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。
【００１０】
幾つかの実施形態において、方法は、クライアントによって送信された平文サービス要求メッセージを受信することを更に含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。方法はまた、平文サービス要求メッセージから第３のサービス要求データを取得することを含んでもよい。方法は、第３のサービス要求データに従って、平文の第３のサービス応答データを生成することを更に含んでもよい。加えて、方法は、平文サービス応答メッセージをクライアントに送信することを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。
【００１１】
幾つかの実施形態において、方法は、クライアントから送信された第４のサービス要求メッセージを受信することを更に含んでもよい。方法はまた、第４のサービス要求メッセージが、暗号文サービス要求メッセージか又は平文サービス要求メッセージかどうかを判定することを含んでもよい。方法は、第４のサービス要求メッセージが、暗号文サービス要求メッセージか又は平文サービス要求メッセージかどうかの判定結果に従って、第１の暗号化識別子を生成することを更に含んでもよい。加えて、方法は、第４のサービス要求メッセージの識別子と第４のサービス要求メッセージの第１の暗号化識別子との間の第１のマッピング関係を確立することを含んでもよい。クライアントから送信された第５のサービス要求メッセージを受信すると、方法は、第５のサービス要求メッセージの識別子及び第１のマッピング関係に従って、第２の暗号化識別子を調べることを含んでもよい。方法は、第５のサービス要求メッセージが暗号文サービス要求メッセージであることを第２の暗号化識別子が示す場合に、クライアントへの暗号文サービス応答メッセージの送信の実行をトリガすることを含んでもよい。方法は、第５のサービス要求メッセージが平文サービス要求メッセージであることを第２の暗号化識別子が示す場合に、クライアントへの平文サービス応答メッセージの送信の実行をトリガすることを含んでもよい。
【００１２】
更なる態様において、本開示は、安全なネットワーク通信用の機器に関する。機器は、ハンドシェイク要求メッセージをサーバに送信するように構成されたハンドシェイク要求送信ユニットを含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。サーバは、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵に従って、ハンドシェイク要求メッセージを復号し、且つ第１のサービス要求データに従って第１のサービス応答データを生成する。機器はまた、サーバから返信されたハンドシェイク応答メッセージを受信するように構成されたハンドシェイク応答受信ユニットを含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。機器は、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによってハンドシェイク応答メッセージを復号するように構成されたハンドシェイク応答復号ユニットを更に含んでもよい。加えて、機器は、第１の乱数及び第２の乱数に従って、サーバとのセッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニットを含んでもよい。
【００１３】
幾つかの実施形態において、機器は、暗号文サービス要求メッセージをサーバに送信するように構成された暗号文サービス要求送信ユニットを更に含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。サーバは、セッション鍵の識別子に従って、対応するセッション鍵を調べ、且つ第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって、暗号文サービス要求メッセージを復号する。機器はまた、サーバから返信された暗号文サービス応答メッセージを受信するように構成された暗号文サービス応答受信ユニットを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。第２のサービス応答データは、第２のサービス要求データに従って、サーバによって生成される。
【００１４】
幾つかの実施形態において、機器は、平文サービス要求メッセージをサーバに送信するように構成された平文サービス要求送信ユニットを更に含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。サーバは、平文サービス要求メッセージから平文用の第３のサービス要求データを取得する。機器はまた、サーバから返信された平文サービス応答メッセージを受信するように構成された平文サービス応答受信ユニットを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。第３のサービス応答データは、第３のサービス要求データに従って、サーバによって生成される。
【００１５】
更に別の態様において、本開示は、安全なネットワーク通信用の機器に関する。機器は、クライアントによって送信されたハンドシェイク要求メッセージを受信するように構成されたハンドシェイク要求受信ユニットを含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。機器はまた、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵を用いることによって、ハンドシェイク要求メッセージを復号するように構成されたハンドシェイク要求復号ユニットを含んでもよい。機器は、第１のサービス要求データに従って第１のサービス応答データを生成するように構成された第１のサービス応答生成ユニットを更に含んでもよい。加えて、機器は、ハンドシェイク応答メッセージをクライアントに送信するように構成されたハンドシェイク応答送信ユニットを含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。クライアントは、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによって、ハンドシェイク応答メッセージを復号し、且つ第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算する。加えて、機器は、第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニットを含んでもよい。
【００１６】
幾つかの実施形態において、機器は、クライアントによって送信された暗号文サービス要求メッセージを受信するように構成された暗号文サービス要求受信ユニットを更に含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。機器はまた、セッション鍵の識別子に従って、対応するセッション鍵を調べるように構成されたセッション鍵ルックアップユニットを含んでもよい。機器は、第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって、暗号文サービス要求メッセージを復号するように構成されたサービス要求復号ユニットを更に含んでもよい。加えて、機器は、第２のサービス要求データに従って、第２のサービス応答データを生成するように構成された第２のサービス応答生成ユニットを含んでもよい。更に、機器は、暗号文サービス応答メッセージをクライアントに送信するように構成された暗号文サービス応答送信ユニットを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。
【００１７】
幾つかの実施形態において、機器は、クライアントによって送信された平文サービス要求メッセージを受信するように構成された平文サービス要求受信ユニットを更に含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。機器はまた、平文サービス要求メッセージから平文用の第３のサービス要求データを取得するように構成されたサービス要求データ取得ユニットを含んでもよい。機器は、平文用の第３のサービス要求データに従って、平文の第３のサービス応答データを生成するように構成された第３のサービス応答生成ユニットを更に含んでもよい。加えて、機器は、平文サービス応答メッセージをクライアントに送信するように構成された平文サービス応答送信ユニットを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。
【００１８】
本開示の実施形態において提供される上記の技術的解決法から、サービス要求データは、セッション鍵を交渉するプロセスにおいて同時に送信される。サービス応答データは、セッション鍵交渉のプロセスにおいて、ハンドシェイク応答メッセージを通して取得することができる。それは、サービス要求データのこの部分のためにサービス要求メッセージを送信する追加の後続ステップを省略することが可能であり、且つまた対応するサービス応答データのためにサービス応答メッセージを受信する別の追加ステップを省略し得る。従って、サーバとのメッセージ対話の数は、先行技術と比較して低減される。
【００１９】
図面の簡単な説明
本開示の実施形態において技術的解決法を説明するために、下記において例示的な図面が、簡潔に導入される。これらの図面は、本開示の幾つかの実施形態を含む。当業者は、発明的な労力なしに、これらの図面に従って更に他の図面を取得し得る。
【図面の簡単な説明】
【００２０】
【図１Ａ】本出願の実施形態による、安全なネットワーク通信用の例示的な方法の流れ図である。
【図１Ｂ】本出願の実施形態による、安全なネットワーク通信用の例示的な方法の流れ図である。
【図２】本出願の実施形態による、安全なネットワーク通信用の例示的な方法の例示的なプロセスの概略図である。
【図３】本出願の実施形態による、ハンドシェイク要求メッセージの例示的な実装形態の概略図である。
【図４】本出願の実施形態による、ハンドシェイク応答メッセージの例示的な実装形態の概略図である。
【図５】本出願の実施形態による、暗号文サービス要求メッセージの例示的な実装形態の概略図である。
【図６】本出願の実施形態による、サービス応答メッセージの例示的な実装形態の概略図である。
【図７】本出願の実施形態による、安全なネットワーク通信用の例示的な機器の概略図である。
【図８】本出願の実施形態による、安全なネットワーク通信用の別の例示的な機器の概略図である。
【発明を実施するための形態】
【００２１】
詳細な説明
当業者がより優れた理解を得るように本出願の技術的解決法を説明するために、本出願の幾つかの実施形態が、以下で図面を用いて説明される。これらの実施形態は、実施形態の全てではなく、本出願の実施形態の単に一部である。これらの実施形態に基づいて、発明的な労力なしに当業者によって導き出される全ての他の実施形態は、本出願の範囲内に入るものとする。
【００２２】
現在の通信技術において、クライアントとサーバとの間のサービス要求及び応答は、セキュリティキー用の交渉後に進められなければならない。それは、多くのメッセージ対話を必要とし、従って、それは、時間がかかる。
【００２３】
これらの問題を解決するために、本出願は、図１Ａに示されているように、安全なネットワーク通信用の方法を提案する。方法は、以下のステップを含んでもよい。
【００２４】
ステップＳ１０１Ａ：ハンドシェイク要求メッセージをサーバに送信する。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。サーバは、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵に従って、ハンドシェイク要求メッセージを復号し、且つ第１のサービス要求データに従って、第１のサービス応答データを生成する。
【００２５】
ステップＳ１０２Ａ：サーバによって返信されたハンドシェイク応答メッセージを受信する。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。
【００２６】
ステップＳ１０３Ａ：第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによって、ハンドシェイク応答メッセージを復号する。
【００２７】
ステップＳ１０４Ａ：第１の乱数及び第２の乱数に従って、サーバとのセッションにおいて用いられるセッション鍵を計算する。
【００２８】
クライアントは、上記のステップＳ１０１Ａ〜Ｓ１０４Ａを実行するエンティティであってもよい。
【００２９】
図１Ａに示されているような実施形態において、方法は、セッション鍵を交渉するプロセスにおいて、サービス要求データを同時に送信することを含んでもよい。サービス応答データは、セッション鍵交渉のプロセスにおいて、ハンドシェイク応答メッセージを通して取得されてもよい。それは、サービス要求データ用に追加のサービス要求メッセージを送信するステップを省き得る。それはまた、対応するサービス応答データ用に追加のサービス応答メッセージを受信するステップを省き得る。従って、それは、先行技術と比較して、サーバとのメッセージ対話の数を低減し得る。
【００３０】
図１Ｂに示されているように、本出願は、安全なネットワーク通信用の別の方法を提案する。方法は、以下のステップを含んでもよい。
【００３１】
ステップＳ１０１Ｂ：クライアントから送信されたハンドシェイク要求メッセージを受信する。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。
【００３２】
ステップＳ１０２Ｂ：第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵を用いることによって、ハンドシェイク要求メッセージを復号する。
【００３３】
ステップＳ１０３Ｂ：第１のサービス要求データに従って、第１のサービス応答データを生成する。
【００３４】
ステップＳ１０４Ｂ：ハンドシェイク応答メッセージをクライアントに送信する。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。クライアントは、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによって、ハンドシェイク応答メッセージを復号し、且つ第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算する。
【００３５】
ステップＳ１０５Ｂ：第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算する。
【００３６】
サーバは、上記のステップＳ１０１Ｂ〜Ｓ１０５Ｂを実行するエンティティであってもよい。
【００３７】
図１Ｂに示されているような実施形態において、方法は、クライアントとセッション鍵を交渉するプロセスにおいて、サービス要求データを同時に受信すること含んでもよい。サービス応答データは、セッション鍵交渉のプロセスにおいて、ハンドシェイク応答メッセージを通して送信されてもよい。それは、サービス要求データ用に追加のサービス要求メッセージを受信するステップを省き得る。それはまた、対応するサービス応答データ用に追加のサービス応答メッセージを送信する別のステップを省き得る。従って、それは、先行技術と比較して、クライアントとのメッセージ対話の数を低減し得る。
【００３８】
本出願の実施形態の例示的なプロセスが、以下で詳細に示される。
【００３９】
図２は、安全なネットワーク通信用の例示的な方法の例示的なプロセスの概略図である。図２に示されているように、方法は、以下のステップを含んでもよい。
【００４０】
ステップＳ２０１：クライアント２０１は、ハンドシェイク要求メッセージをサーバ２０２に送信する。ハンドシェイク要求メッセージは、非対称暗号化アルゴリズムの公開鍵を用いることによって暗号化された第１の乱数（ｎｏｎｃｅ１とマークされてもよい）及び公開鍵を用いることによって暗号化されたサービス要求データを含む。
【００４１】
非対称暗号化アルゴリズムの公開鍵は、サーバ２０２によって広く分配された公開鍵である。データをサーバ２０２に送信する装置は、公開鍵を用いることによってデータを暗号化してもよい。サーバ２０２は、サーバにおいて秘密鍵を用いることによってデータを復号してもよい。
【００４２】
クライアント２０１によってサーバ２０２に送信されるハンドシェイク要求メッセージは、図３に示されているようなメッセージフォーマットを採用してもよい。図３において、バージョンフィールドは、バージョン及びプロトコルに関する情報を示してもよい。例えば、クライアント２０１とサーバ２０２との間の安全な通信用の安全なチャネルが、ハイパーテキスト転送プロトコル（ＨＴＴＰ）に基づく場合に、バージョンフィールドは、１１００１Ｂ（ここでＢは、前の数が２進数であることを表す）であるように設定されてもよい。安全なチャネルが、ＳＰＤＹプロトコルに基づく場合に、バージョンフィールドは、１１１０１Ｂであるように設定されてもよい。
【００４３】
図３において、タイプフィールドは、メッセージタイプに関する情報を示してもよい。クライアント２０１によって送信されたハンドシェイク要求メッセージのタイプフィールドは、０ｘ０１であるように設定されてもよい。値は、メッセージタイプがハンドシェイク要求であることを示す。このように、サーバ２０２は、メッセージを受信すると、メッセージが、ハンドシェイク要求メッセージであることを知り得る。
【００４４】
図３において、長さフィールドは、バージョン、タイプ及び長さフィールド用の最初の４バイトを除いて、メッセージの長さをバイトで示してもよい。
【００４５】
図３において、ＲＳＡ公開鍵（３２ビット）フィールドは、３２ビットのリベスト−シャミア−エーデルマン（ＲＳＡ）公開鍵を示してもよい。ＲＳＡ公開鍵は、ステップＳ２０１における非対称暗号化アルゴリズムの公開鍵である。
【００４６】
第１の乱数は、クライアント２０１における計算から取得された乱数であってもよい。
【００４７】
ステップＳ２０２：サーバ２０２は、第１の乱数及びサービス要求データを取得するために、非対称アルゴリズムの秘密鍵に従って、受信されたハンドシェイク要求メッセージを復号し、且つサービス要求データに従ってサービス応答データを生成する。
【００４８】
幾つかの実施形態において、クライアント２０１とサーバ２０２との間の通信のセキュリティを保証するために、サーバ２０２は、クライアント２０１からのハンドシェイク要求メッセージを更に検証してもよい。検証が失敗である場合に、サーバ２０２は、クライアント２０１との接続を終了させ、且つ後続の手順の実行を停止してもよい。検証が成功である場合に、サーバ２０２は、サービス要求データに従って、引き続きサービス応答データを生成してもよい。
【００４９】
２つの方法が、ハンドシェイク要求メッセージの上記の検証用に用いられてもよい。
【００５０】
方法１：クライアント２０１によってサーバ２０２に送信されたハンドシェイク要求メッセージに含まれる第１の乱数の第１のフィールドは、マジックコードである。第三者が、クライアント２０１からサーバ２０２への送信プロセスにおいてメッセージを改竄した場合に、第１の乱数の第１のフィールドは、変更される。従って、ハンドシェイク要求メッセージに対するサーバ２０２による検証は、復号された第１の乱数の第１のフィールドがマジックコードであるかどうかをチェックすることによって行われてもよい。Ｙｅｓの場合に、検証は、成功である。Ｎｏの場合に、検証は、失敗である。マジックコードはまた、マジックナンバーと呼ばれてもよい。マジックナンバーの技術は、定数を示す一定数のバイトをデータのヘッダ又は末尾に挿入することによって、メッセージの正当性を迅速に判定し得る。
【００５１】
方法２：サーバ２０２は、クライアント２０１によって送信されたハンドシェイク要求メッセージの長さに要件を課してもよい。ハンドシェイク要求メッセージが、クライアント２０１からサーバ２０２に送信されるときに、攻撃のために悪意のあるユーザによって拡大された場合に、ハンドシェイク要求メッセージの長さは、異常である可能性がある。従って、ハンドシェイク要求メッセージに対するサーバ２０２による検証はまた、ハンドシェイク要求メッセージの長さが異常か否かをチェックすることによって行われてもよい。長さが異常である場合に、検証は、失敗である。長さが正常である場合に、検証は、成功である。
【００５２】
ステップＳ２０３：クライアント２０２は、ハンドシェイク応答メッセージをサーバ２０１に送信する。ハンドシェイク応答メッセージは、セキュリティキーとして第１の乱数を用いることによって暗号化された第２の乱数（ｎｏｎｃｅ２とマークされてもよい）及びセキュリティキー第１の乱数を用いることによって暗号化されたサービス応答データを含む。
【００５３】
第２の乱数は、サーバ２０２における計算から取得された乱数であってもよい。
【００５４】
サーバ２０２によってクライアント２０１に送信されたハンドシェイク応答メッセージは、図４に示されているようなメッセージフォーマットを採用してもよい。
【００５５】
図４において、バージョンフィールドは、バージョン及びプロトコルに関する情報を示してもよい。例えば、クライアント２０１とサーバ２０２との間の安全な通信用の安全なチャネルが、ＨＴＴＰに基づく場合に、バージョンフィールドは、１１００１Ｂであるように設定されてもよい。安全なチャネルが、ＳＰＤＹプロトコルに基づく場合に、バージョンフィールドは、１１１０１Ｂに設定されてもよい。
【００５６】
タイプフィールドは、メッセージタイプに関する情報を示してもよい。サーバ２０２によって送信されるハンドシェイク応答メッセージのタイプフィールドは、０ｘ０３であるように設定されてもよい。値は、メッセージタイプが、ハンドシェイク応答であることを示す。このように、クライアント２０１は、メッセージを受信すると、メッセージが、ハンドシェイク応答メッセージであることを知り得る。
【００５７】
図４において、長さフィールドは、バージョン、タイプ及び長さフィールド用の最初の４バイトを除いて、メッセージの長さをバイトで示してもよい。
【００５８】
図４において、暗号文フィールドは、セキュリティキーとして第１の乱数を用いることによって暗号化された第２の乱数及びセキュリティキーとして第１の乱数を用いることによって暗号化されたサービス応答データを含んでもよい。
【００５９】
ステップＳ２０４：クライアント２０１は、第２の乱数及びサービス応答データを取得するために、第１の乱数を用いることによって、受信されたハンドシェイク応答メッセージを復号してもよく、且つ対称暗号化アルゴリズムに基づき、第１の乱数及び第２の乱数に従ってセッション鍵を計算する。
【００６０】
セッション鍵は、次の計算によって取得されてもよい。
セッション鍵＝ｓｈａ２５６（ｎｏｎｃｅ１、ｎｏｎｃｅ２）
この式で、ｎｏｎｃｅ１は、第１の乱数であり、ｎｏｎｃｅ２は、第２の乱数である。
【００６１】
幾つかの実施形態において、クライアント２０１とサーバ２０２との間の通信のセキュリティを保証するために、クライアント２０１は、サーバ２０２からのハンドシェイク応答メッセージを更に検証してもよい。サーバ２０２によってクライアント２０１に送信されたハンドシェイク応答メッセージに含まれる第２の乱数の第１のフィールドは、マジックコードである。第三者が、サーバ２０２からクライアント２０１への送信プロセスにおいて、メッセージを改竄した場合に、第２の乱数の第１のフィールドは、変更される。従って、サーバ２０２のハンドシェイク応答メッセージに対する検証は、復号された第２の乱数の第１のフィールドが、マジックコードかどうかをチェックすることによって行われてもよい。Ｎｏの場合に、検証は、失敗である。Ｙｅｓの場合に、検証は、成功である。クライアント２０１は、セッション鍵を引き続き計算してもよい。
【００６２】
ステップＳ２０５：サーバ２０２は、第１の乱数及び第２の乱数に従って、ステップＳ２０４におけるアルゴリズムと同じアルゴリズムを介してセッション鍵を計算してもよい。
【００６３】
ステップＳ２０４及びステップＳ２０５においてセッション鍵を計算するためのアルゴリズムが同じである限り、ステップＳ２０４又はステップＳ２０５のどちらかは、もう一方の前に又は同時に実行されてもよい。このようにして、サーバ２０２及びクライアント２０１は、同じセッション鍵を取得してもよい。セッション鍵は、クライアント２０１及びサーバ２０２が、サービス要求メッセージ及びサービス応答メッセージを互いに送信する場合に、データを暗号化するために用いられてもよい。
【００６４】
上記のステップＳ２０１〜Ｓ２０５は、ハンドシェイク段階及びセッション鍵の交渉のプロセスを含んでもよい。
【００６５】
クライアント２０１及びサーバ２０２は、上記のハンドシェイク段階を通してセッションを生成してもよい。このセッションに基づく後続のサービス要求メッセージ及びサービス応答メッセージの送信は、ハンドシェイク段階における交渉中に取得された共通のセッション鍵を用いることによって暗号化されてもよい。サーバ２０２は、セッションＩＤとして示される、生成されたセッション用の識別子（ＩＤ）を割り当ててもよい。図４に示されているように、セッションＩＤは、サーバ２０２からクライアント２０１に送信されるハンドシェイク応答メッセージに含まれてもよい。
【００６６】
更に、図４におけるハンドシェイク応答メッセージは、セッション鍵の有効期間を更に含んでもよい。接続が、有効期間内において切断後に回復された場合に、セッション鍵は、再交渉なしに再利用されてもよい。有効期間がゼロである場合に、鍵は、一度だけ用いられてもよい。即ち、セッション鍵は、この接続においてのみ有効であってもよい。ひとたび接続が切断されると、別のセッション鍵を再交渉するために、再びステップＳ２０１〜Ｓ２０５を実行することが必要である。セッション鍵の有効期間は、相対的な期間であってもよい。例えば、セッション鍵は、サーバ２０２が、ハンドシェイク応答メッセージをクライアント２０１に送信した時刻に対する、且つその時刻後の第１の時間長さ内で有効であってもよい。第１の時間長さの値は、相対時間として、図４におけるセッション鍵フィールドの有効期間に含まれてもよい。
【００６７】
図４に示されている解決法において、サーバ２０２が、ハンドシェイク応答メッセージを通して、セッション鍵の有効期間及びセッションＩＤを一緒に送ることに留意されたい。幾つかの実施形態において、セッション鍵の有効期間及びセッションＩＤは、別のメッセージを通してクライアント２０１に送られてもよい。
【００６８】
ハンドシェイク段階後、クライアント２０１及びサーバ２０２は、サービスデータの対話を開始してもよい。サービスデータの対話プロセスは、以下において詳細に説明される。
【００６９】
ステップＳ２０６：クライアント２０１は、サービス要求メッセージをサーバ２０２に送信する。サービス要求メッセージは、セッションＩＤ、及びセッション鍵を用いることによって暗号化されたサービス要求データを含む。
【００７０】
クライアント２０１によって送信された暗号文サービス要求データを含むメッセージは、図５に示されているようなフォーマットを採用してもよい。
【００７１】
バージョンフィールドは、バージョン及びプロトコルに関する情報を示してもよい。クライアント２０１とサーバ２０２との間の安全な通信用の安全なチャネルが、ＨＴＴＰに基づく場合に、バージョンフィールドは、１１００１Ｂであるように設定されてもよい。安全なチャネルが、ＳＰＤＹプロトコルに基づく場合に、バージョンフィールドは、１１１０１Ｂに設定されてもよい。
【００７２】
タイプフィールドは、メッセージタイプに関する情報を示してもよい。クライアントによって送信された暗号文サービス要求メッセージのタイプフィールドは、０ｘ０２であるように設定され、メッセージタイプが、暗号文サービス要求であることを示してもよい。このように、サーバ２０２は、メッセージを受信すると、メッセージがサービス要求メッセージであること、及びサービス要求メッセージにおけるサービス要求データが暗号化されたことを知り得る。幾つかの実施形態において、同じセッションにおける、クライアント２０１とサーバ２０２との間のサービス要求メッセージ及びサービス応答メッセージの送信は、平文データ又は暗号文データを含んでもよい。セキュリティの懸念なしにそれらのサービスデータ取得するために、クライアント２０１によってサーバ２０２に送信されたサービス要求メッセージに含まれるサービス要求データは、平文形式であってもよい。このように、サーバ２０２は、サービス要求メッセージのメッセージタイプに関する情報を通して、サービス要求メッセージに含まれるサービス要求データが平文であることを通知され得る。サービス要求データを復号する必要はない。従って、クライアント２０１によってサーバ２０２に送信されたサービス要求メッセージは、セッションＩＤを含む必要はない。
【００７３】
ステップＳ２０７：サーバ２０２は、サービス要求メッセージにおけるセッションＩＤに従って、対応するセッション鍵及びセッション鍵の有効期間を調べ、且つ現在時刻がセッション鍵の有効期間を超過したかどうかを判定する。
【００７４】
セッション鍵の交渉中に、サーバ２０２は、セッションＩＤとセッション鍵との間の対応関係を確立しておいてもよい。従って、サーバ２０２が、サービス要求メッセージにおけるセッションＩＤを取得した後で、正確なセッション鍵が、上記の対応関係を通して見つけられてもよい。
【００７５】
幾つかの実施形態において、セッション鍵用に有効期間が割り当てられる。従って、セッション鍵が見つけられた後で、現在時刻が、セッション鍵の有効期間を超過したかどうかを判定することが必要である。幾つかの実施形態において、セッション鍵用に有効時間を割り当てるステップは、省略されてもよい。この場合に、現在時刻が、セッション鍵の有効期間を超過したかどうかを判定する必要はない。
【００７６】
現在時刻がセッション鍵の有効期間を超過したとサーバ２０２が判定した場合に、サーバ２０２は、セッション鍵の無効を通知するメッセージをクライアント２０１に返信してもよい。それは、サーバ２０２との別のセッション鍵の交渉プロセスを再開するようにクライアント２０１に促し得る。
【００７７】
ステップＳ２０８：現在時刻がセッション鍵の有効期間を超過していないとサーバ２０２が判定した後で、サーバ２０２は、復号されたサービス要求データを取得するために、セッション鍵を用いることによって、受信されたサービス要求メッセージにおけるサービス要求データを復号し、且つ復号されたサービス要求データに従ってサービス応答データを生成する。
【００７８】
ステップＳ２０９：サーバ２０２は、サービス応答メッセージをクライアント２０１に送信する。サービス応答メッセージは、ステップＳ２０７において見つけられたセッション鍵を用いることによって暗号化されたサービス応答データを含む。
【００７９】
サーバ２０２は、図６に示されているようなメッセージフォーマットを用いることによってカプセル化されたサービス応答メッセージを作成してもよい。
【００８０】
図６において、バージョンフィールドは、バージョン及びプロトコルに関する情報を示してもよい。クライアント２０１とサーバ２０２との間の安全な通信用の安全なチャネルが、ＨＴＴＰに基づく場合に、バージョンフィールドは、１１００１Ｂであるように設定されてもよい。安全なチャネルが、ＳＰＤＹプロトコルに基づく場合に、バージョンフィールドは、１１１０１Ｂであるように設定されてもよい。
【００８１】
タイプフィールドは、メッセージタイプに関する情報を示してもよい。サーバ２０２によってクライアント２０１に送信されるサービス応答メッセージに含まれるサービス応答データが、暗号化される場合に、メッセージのタイプフィールドは、０ｘ０５であるように設定されてもよい。
【００８２】
長さフィールドは、バージョン、タイプ及び長さフィールド用の最初の４バイトを除いて、メッセージの長さをバイトで示してもよい。
【００８３】
幾つかの実施形態において、サーバ２０２は、クライアント２０１からのサービス応答メッセージを同期した態様で処理してもよい。サービス応答メッセージに関して、サービス応答メッセージにおけるサービス応答データが暗号化されるかどうかは、受信されたサービス要求メッセージにおけるサービス要求データが暗号化されているかどうかに依存してもよい。即ち、サーバ２０２によって受信されたサービス要求メッセージにおけるサービス要求データが、セッション鍵を通して暗号化されている場合に、サーバ２０２によってクライアント２０１に返信されるサービス応答メッセージにおけるサービス応答データもまた、セッション鍵を通して暗号化される。サーバ２０２によって受信されたサービス要求メッセージにおけるサービス要求データが、暗号化されていない場合に、サーバ２０２によってクライアント２０１に返信されるサービス応答メッセージにおけるサービス応答データは、暗号化されない。幾つかの実施形態において、サーバ２０２は、サービス要求メッセージにおけるメッセージタイプ情報を読むことによって、サービス要求メッセージにおけるサービス応答データが暗号化されているかどうかを学習してもよい。例えば、メッセージのタイプ情報が、０ｘ０５であるように設定されていることをサーバ２０２が発見した場合に、サーバ２０２は、サービス要求メッセージにおけるサービス要求データが暗号化されていると判定してもよい。
【００８４】
幾つかの実施形態において、サーバ２０２は、クライアント２０１からのサービス要求メッセージを非同期の態様で処理してもよい。サーバ２０２が、サービス応答メッセージをクライアント２０１に返信する場合に、オリジナルのサービス要求メッセージにおけるサービス要求データが、暗号化されているかどうかを直接知ることは難しい。従って、サーバ２０２は、クライアント２０１によってサーバ２０２に送信された各サービス要求メッセージの識別子を記録し、且つ各サービス要求メッセージにおけるサービス要求データが暗号化されているかどうかに関する情報（情報は、以下において暗号化識別子と呼ばれる）を記録し、それによって、各サービス要求メッセージの識別子とサービス要求メッセージの暗号化識別子との間の関連性を維持してもよい。サーバ２０２が、クライアント２０１によって送信されたサービス要求メッセージ用のサービス応答メッセージを返信する必要がある場合に、サーバ２０２は、サービス要求メッセージの識別子に従い、上記の関連性を通してサービス要求メッセージの対応する暗号化識別子を最初に見つけてもよい。サービス要求データが暗号化されたことを暗号化識別子が示す場合に、サーバ２０２は、サービス応答メッセージにおけるサービス応答データを暗号化してもよい。サービス要求データが暗号化されていないことを暗号化識別子が示す場合に、サーバ２０２は、サービス応答メッセージにおけるサービス応答データを暗号化しなくてもよい。
【００８５】
幾つかの実施形態において、各サービス要求メッセージの識別子と、要求メッセージのサービス要求データが暗号化されているかどうかを示す情報との間の、サーバ２０２によって維持された関連性は、マッピング関係を用いることによって実現されてもよい。マッピング関係は、少なくとも１つのエントリを含んでもよい。各エントリは、サービス要求メッセージの識別子、及びサービス要求メッセージの暗号化識別子を格納してもよい。例えば、サービス要求メッセージのサービス要求データが、暗号化されている場合に、サービス要求メッセージの暗号化識別子は、「１」であるように設定されてもよい。サービス要求メッセージのサービス要求データが、暗号化されていない場合に、サービス要求メッセージの暗号化識別子は、「０」であるように設定されてもよい。
【００８６】
図７は、本出願の実施形態による、安全なネットワーク通信用の例示的な機器の概略図である。図７に示されているように、機器は、ハンドシェイク要求送信ユニット７０１、ハンドシェイク応答受信ユニット７０２、ハンドシェイク応答復号ユニット７０３、及びセッション鍵計算ユニット７０４を含んでもよい。
【００８７】
機器は、ハンドシェイク要求メッセージをサーバに送信するように構成されたハンドシェイク要求送信ユニット７０１を含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。サーバは、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵に従ってハンドシェイク要求メッセージを復号し、且つ第１のサービス要求データに従って第１のサービス応答データを生成する。
【００８８】
機器はまた、サーバから返信されたハンドシェイク応答メッセージを受信するように構成されたハンドシェイク応答受信ユニット７０２を含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。
【００８９】
機器はまた、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによってハンドシェイク応答メッセージを復号するように構成されたハンドシェイク応答復号ユニット７０３を更に含む。
【００９０】
加えて、機器は、第１の乱数及び第２の乱数に従って、サーバとのセッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニット７０４を含んでもよい。
【００９１】
幾つかの実施形態において、安全なネットワーク通信用の機器はまた、暗号文サービス要求送信ユニット及び暗号文サービス応答受信ユニットを含んでもよい。
【００９２】
機器は、暗号文サービス要求メッセージをサーバに送信するように構成された暗号文サービス要求送信ユニットを含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。サーバは、セッション鍵の識別子に従って、対応するセッション鍵を調べ、且つ第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって暗号文サービス要求メッセージを復号する。
【００９３】
機器はまた、サーバから返信された暗号文サービス応答メッセージを受信するように構成された暗号文サービス応答受信ユニットを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。第２のサービス応答データは、第２のサービス要求データに従って、サーバによって生成される。
【００９４】
幾つかの実施形態において、安全なネットワーク通信用の機器は、平文サービス要求送信ユニット及び平文サービス応答受信ユニットを更に含んでもよい。
【００９５】
機器は、平文サービス要求メッセージをサーバに送信するように構成された平文サービス要求送信ユニットを含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。サーバは、平文サービス要求メッセージから平文用の第３のサービス要求データを取得する。
【００９６】
機器はまた、サーバから返信された平文サービス応答メッセージを受信するように構成された平文サービス応答受信ユニットを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。第３のサービス応答データは、第３のサービス要求データに従って、サーバによって生成される。
【００９７】
幾つかの実施形態において、クライアントは、図７に示されている安全なネットワーク通信用の機器を含んでもよい。
【００９８】
別の態様において、本開示はまた、サーバ側の安全なネットワーク通信用の機器に関する。図８に示されているように、安全なネットワーク通信用の機器は、ハンドシェイク要求受信ユニット８０１、ハンドシェイク要求復号ユニット８０２、第１のサービス応答生成ユニット８０３、ハンドシェイク応答送信ユニット８０４、及びセッション鍵計算ユニット８０５を含んでもよい。
【００９９】
機器は、クライアントによって送信されたハンドシェイク要求メッセージを受信するように構成されたハンドシェイク要求受信ユニット８０１を含んでもよい。ハンドシェイク要求メッセージは、第１の公開鍵を用いることによって暗号化された第１の乱数、及び第１の公開鍵を用いることによって暗号化された第１のサービス要求データを含む。
【０１００】
機器はまた、第１の乱数及び第１のサービス要求データを取得するために、第１の公開鍵に対応する第１の秘密鍵を用いることによって、ハンドシェイク要求メッセージを復号するように構成されたハンドシェイク要求復号ユニット８０３を含んでもよい。
【０１０１】
機器はまた、第１のサービス要求データに従って、第１のサービス応答データを生成するように構成された第１のサービス応答生成ユニット８０３を更に含んでもよい。
【０１０２】
加えて、機器は、ハンドシェイク応答メッセージをクライアントに送信するように構成されたハンドシェイク応答送信ユニット８０４を含んでもよい。ハンドシェイク応答メッセージは、第１の乱数を用いることによって暗号化された第１のサービス応答データ、及び第１の乱数を用いることによって暗号化された第２の乱数を含む。クライアントは、第１のサービス応答データ及び第２の乱数を取得するために、第１の乱数を用いることによって、ハンドシェイク応答メッセージを復号し、且つ第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算する。
【０１０３】
更に、機器は、第１の鍵アルゴリズムに基づき、第１の乱数及び第２の乱数に従って、セッションにおいて用いられるセッション鍵を計算するように構成されたセッション鍵計算ユニット８０５を含んでもよい。
【０１０４】
幾つかの実施形態において、サーバ側における安全なネットワーク通信用の機器はまた、暗号文サービス要求受信ユニット、セッション鍵検索ユニット、サービス要求復号ユニット、第２のサービス応答生成ユニット、及び暗号文サービス応答送信ユニットを含んでもよい。
【０１０５】
機器は、クライアントによって送信された暗号文サービス要求メッセージを受信するように構成された暗号文サービス要求受信ユニットを含んでもよい。暗号文サービス要求メッセージは、セッション鍵の識別子、及びセッション鍵を用いることによって暗号化された第２のサービス要求データを含む。
【０１０６】
機器はまた、セッション鍵の識別子に従って、対応するセッション鍵を調べるように構成されたセッション鍵ルックアップユニットを含んでもよい。
【０１０７】
機器は、第２のサービス要求データを取得するために、対応するセッション鍵を用いることによって、暗号文サービス要求メッセージを復号するように構成されたサービス要求復号ユニットを更に含んでもよい。
【０１０８】
加えて、機器は、第２のサービス要求データに従って、第２のサービス応答データを生成するように構成された第２のサービス応答生成ユニットを含んでもよい。
【０１０９】
更に、機器は、暗号文サービス応答メッセージをクライアントに送信するように構成された暗号文サービス応答送信ユニットを含んでもよい。暗号文サービス応答メッセージは、対応するセッション鍵を用いることによって暗号化された第２のサービス応答データを含む。
【０１１０】
幾つかの実施形態において、サーバ側における安全なネットワーク通信用の機器は、平文サービス要求受信ユニット、サービス要求データ取得ユニット、第３のサービス応答生成ユニット、及び平文サービス応答送信ユニットを更に含んでもよい。
【０１１１】
機器は、クライアントによって送信された平文サービス要求メッセージを受信するように構成された平文サービス要求受信ユニットを含んでもよい。平文サービス要求メッセージは、平文用の第３のサービス要求データを含む。
【０１１２】
機器はまた、平文サービス要求メッセージから平文用の第３のサービス要求データを取得するように構成されたサービス要求データ取得ユニットを含んでもよい。
【０１１３】
機器は、平文用の第３のサービス要求データに従って、平文の第３のサービス応答データを生成するように構成された第３のサービス応答生成ユニットを更に含んでもよい。
加えて、機器は、平文サービス応答メッセージをクライアントに送信するように構成された平文サービス応答送信ユニットを含んでもよい。平文サービス応答メッセージは、平文の第３のサービス応答データを含む。
【０１１４】
１９９０年代に、技術の改善は、ハードウェアの改善（例えば、ダイオード、トランジスタ及びスイッチなどの回路構造の改善）又はソフトウェアの改善（方法手順の改善）として明らかに区別され得る。しかしながら、技術の発展と共に、現在、多くの方法手順における改善は、ハードウェア回路構造に対する直接の改善と見なされ得る。ほとんど全ての設計者は、改善された方法手順をハードウェア回路にプログラムして、対応するハードウェア回路構造を取得する。従って、方法手順に対する改善が、ハードウェアエンティティモジュールを用いることによっては実行され得ないと仮定することはできない。例えば、プログラマブル論理装置（ＰＬＤ）（例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ））は、かかる集積回路であり、その論理機能は、ユーザプログラミング装置によって決定される。設計者は、専用集積回路チップを設計し製造するようにチップメーカに要求するのではなく、デジタルシステムをＰＬＤのピースに集積するように独力でプログラムする。更に、現在、プログラミングは、手動で集積回路チップを製造する代わりに、論理コンパイラソフトウェアを用いることによってほとんど実行される。ソフトウェアは、プログラムを開発し書くために使用されるソフトウェアコンパイラに似ている。コンパイリング前のそのオリジナルコードはまた、特定のプログラミング言語で書かれる必要があり、その言語は、ハードウェア記述言語（ＨＤＬ）と呼ばれる。単に１つのタイプではなく、高度ブール表現言語（Advanced Boolean Expression Language）（ＡＢＥＬ）、アルテラハードウェア記述言語（Altera Hardware Description Language）（ＡＨＤＬ）、Confluence、コーネル大学プログラミング言語（Cornell University programming Language）（ＣＵＰＬ）、HDCal、ジャバハードウェア記述言語（Java（登録商標） Hardware Description Language）（ＪＨＤＬ）、Lava、Lola、MyHDL、PALASM、及びルビーハードウェア記述言語（Ruby Hardware Description Language）（ＲＨＤＬ）などの多くのタイプのＨＤＬが存在する。超高速集積回路ハードウェア記述言語（Very-High-Speed Integrated Circuit Hardware Description Language）（ＶＨＤＬ）及びVerilogは、現在、最も一般的に用いられている。当業者は、論理方法手順を実行するためのハードウェア回路が、上記の幾つかのハードウェア記述言語を用いて方法手順を論理的にプログラムし、且つそれを集積回路にコンパイルすることによってのみ容易に取得され得ることを知っているに違いない。
【０１１５】
コントローラが、任意の適切な方法で実現されてもよい。例えば、コントローラは、例えばマイクロプロセッサ又はプロセッサと、（マイクロ）プロセッサ、論理ゲート、スイッチ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理コントローラ及び埋め込み型マイクロコントローラによって実行可能なコンピュータ可読プログラムコード（例えばソフトウェア又はファームウェア）を格納するコンピュータ可読媒体と、の形態であってもよい。コントローラの例は、限定するわけではないが、次のマイクロコントローラを含む。即ち、ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、及びSilicone Labs C8051F320を含む。メモリコントローラもまた、メモリの制御論理の一部として実現されてもよい。
【０１１６】
純粋なコンピュータ可読プログラムを用いることによるコントローラの実現に加えて、当業者はまた、方法ステップが、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、及び埋め込み型マイクロコントローラの形態で同じ機能を実行するコントローラによって、論理プログラミングを通して実行され得ることを知っている。従って、この種のコントローラは、ハードウェアコンポーネントとして見なされてもよい。そこに含まれ、且つ様々な機能を実行するように構成された機器はまた、ハードウェアコンポーネント内の構造として見なされてもよい。代替として、様々な機能を実行するように構成された機器は、方法を実行するためのソフトウェアモジュール及びハードウェアコンポーネント内の構造の両方として見なされてもよい。
【０１１７】
上記の実施形態に示されているシステム、機器、モジュール又はユニットは、要求される機能を有するコンピュータ、コンピューティングチップ又は機器ユニットを用いることによって実現されてもよい。
【０１１８】
上記の機器は、それらのそれぞれの機能に従って、様々なユニットとして説明されている。幾つかの実施形態において、これらのユニットの機能は、同じ１つの又は多数のソフトウェア及び／又はハードウェア方式で実行されてもよい。
【０１１９】
実装形態の前述の説明に基づいて、当業者は、本出願が、ソフトウェア＋必要な汎用ハードウェアプラットフォームによって実施され得ることを明白に理解されよう。かかる理解に基づいて、本出願自体又は先行技術に寄与する部分の技術的解決法は、ソフトウェアプロダクトの形で実行され得る。典型的な構成において、コンピュータは、１つ又は複数のプロセッサ（ＣＰＵ）、入力／出力インターフェース、ネットワークインターフェース、及びメモリを含んでもよい。コンピュータソフトウェアプロダクトは、本出願の実施形態又は実施形態の幾つかの部分で説明された方法を実行するようにコンピュータ（パーソナルコンピュータ、サーバ、ネットワーク装置等であってもよい）に命令するための幾つかの命令を含んでもよい。コンピュータソフトウェアプロダクトは、メモリに格納されてもよい。メモリは、揮発性メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は読み取り専用メモリ（ＲＯＭ）若しくはフラッシュＲＡＭなど、コンピュータ可読媒体における非一時的なメモリ等を含んでもよい。メモリは、コンピュータ可読媒体の例である。コンピュータ可読媒体は、不揮発性及び揮発性媒体、並びに着脱可能及び着脱不能媒体を含んでもよく、且つ任意の方法又は技術によって情報の格納を実行してもよい。情報は、コンピュータ可読命令、データ構造、及びプログラム又は他のデータのモジュールであってもよい。コンピュータの記憶媒体は、限定するわけではないが、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのＲＡＭ、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）若しくは他の光記憶装置、カセットテープ、磁気テープ／磁気ディスク記憶装置若しくは他の磁気記憶装置、又は任意の他の非送信媒体を含んでもよい。コンピュータの記憶媒体は、計算装置によってアクセス可能な情報を記憶するために用いられてもよい。本明細書における定義によれば、コンピュータ可読媒体は、変調されたデータ信号及びキャリアなどの一時的な媒体を含まない。
【０１２０】
本出願の上記の実施形態は、増分式で説明されている。実施形態の同一又は類似部分は、互いを参照して取得されてもよい。各実施形態の説明は、他の実施形態とは異なる特徴を強調する。特に、システム実施形態が、方法実施形態にほとんど似ているので、それらは、単に簡潔に説明される。それらの類似部分の説明は、方法実施形態の説明を参照する場合がある。
【０１２１】
本出願の実施形態は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置又は携帯装置、タブレット装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電子装置、ネットワークパースンコンピュータ、マイクロコンピュータ、メインフレームコンピュータ、及び上記のシステム又は装置のいずれかを含む分散コンピューティング環境など、様々な汎用又は専用コンピュータシステム環境又は構成に適用可能である。
【０１２２】
本出願の実施形態は、例えばプログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の共通の文脈において実行されてもよい。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データ型を実行するために用いられるルーチン、プログラム、オブジェクト、アセンブリ、データ構造等を含んでもよい。本出願の実施形態はまた、分散コンピューティング環境において実施されてもよい。分散コンピュータ環境において、タスクは、通信ネットワークを通して接続された遠隔処理装置を用いることによって実行される。分散コンピュータ環境において、プログラムモジュールは、ローカル記憶装置及び／又は遠隔コンピュータ記憶媒体に置かれてもよい。
【０１２３】
本出願は、上記の実施形態を通して説明されるが、当業者は、本出願が、本出願の趣旨から逸脱しない多くの変形及び変更を含むことを知っているに違いない。次の特許請求の範囲は、本出願の趣旨から逸脱しないそれらの変形及び変更をカバーする。
【図１Ａ】
0006641363.tif 000002
【図１Ｂ】
0006641363.tif 000003
【図２】
0006641363.tif 000004
【図３】
0006641363.tif 000005
【図４】
0006641363.tif 000006
【図５】
0006641363.tif 000007
【図６】
0006641363.tif 000008
【図７】
0006641363.tif 000009
【図８】
0006641363.tif 000010