(57)【要約】  第１及び第２ネットワークエンティティ間のデータ合意を認証するための方法は、第１ネットワークエンティティが合意されたデータ値にコミットし、そしてそのコミットされたデータ値及び第１ランダム値を第２ネットワークエンティティへ送信することを含む。第１ネットワークエンティティは、第２ランダム値を受信し、次いで、コミットされたデータ値をオープンして、第２ネットワークエンティティがそのコミットされたデータ値をチェックできるようにする。成功である場合には、データ値と、第１及び第２のランダム値とに基づいて、第２ネットワークエンティティが第３チェックストリングを計算することができ、同様に、第１ネットワークエンティティが第４チェックストリングを計算することができる。第１ネットワークエンティティは、第２ネットワークエンティティがデータ値へコミットすることなく、第４チェックストリングを計算することができる。この方法は、次いで、チェックストリングを比較して、この比較に基づいて、合意されたデータを、認証されたと考えることができる。【選択図】図４
2009510963.tif 000002
【特許請求の範囲】
【請求項１】
第２ネットワークエンティティとのデータ合意を認証するための第１ネットワークエンティティにおいて、この第１ネットワークエンティティは、
選択された第１ランダム値に基づいて第１チェックストリングを形成し、そしてその第１チェックストリングを前記第２ネットワークエンティティへ送信することにより第１のデータ値へコミットすることのできる処理要素を備え、
前記処理要素は、前記第２ネットワークエンティティから選択された第２ランダム値を受信することができ、その後、
前記処理要素は、前記第１ランダム値を前記第２ネットワークエンティティへ送信することにより前記第１データ値へのコミットメントをオープンすることができて、前記第２ネットワークエンティティが、前記コミットされた第１データ値を、前記第１チェックストリングと、前記第１ランダム値に基づいて計算された第２チェックストリングとに基づいてチェックできるようにし、その後、前記第２ネットワークエンティティが、前記第１データ値と、前記第１及び第２ランダム値とに基づいて第３チェックストリングを計算できるようにし、
前記処理要素は、第２データ値と、前記第１及び第２ランダム値とに基づいて第４チェックストリングを計算することができ、この第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算され、
前記処理要素は、前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができ、前記データ合意は、この比較に基づいて認証され、そして
前記処理要素は、前記第２ネットワークエンティティが前記コミットされた第１データ値を首尾良くチェックしたときに、前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができる、第１ネットワークエンティティ。
【請求項２】
前記処理要素は、第１キーを含む第１データ値へコミットすることができ、前記処理要素は、前記第１チェックストリング及び第１キーを送信することができ、
前記処理要素は、前記第１ランダム値を送信することができて、前記第２ネットワークエンティティが、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づいて計算された第２チェックストリングに基づいてチェックできるようにする、請求項１に記載の第１ネットワークエンティティ。
【請求項３】
前記第２データ値は、第２キーを備え、前記処理要素は、更に、前記第２ネットワークエンティティから前記第２キーを受信することができ、そして
前記処理要素は、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算することができる、請求項２に記載の第１ネットワークエンティティ。
【請求項４】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、前記処理要素は、そのデータストリングへコミットすることができ、
前記処理要素は、第１ランダム値を送信することができて、前記第２ネットワークエンティティが、前記コミットされたデータストリングを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックできるようにする、請求項１に記載の第１ネットワークエンティティ。
【請求項５】
前記処理要素は、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算することができる、請求項４に記載の第１ネットワークエンティティ。
【請求項６】
前記処理要素は、前記第２ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとのデータ合意を認証する複数の場合において、前記第１データ値にコミットし、前記第２ランダム値を受信し、前記コミットメントをオープンし、前記第４チェックストリングを計算し、そして前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができ、そして
前記選択された第１ランダム値は、少なくとも幾つかの場合について異なり、前記第１データ値は、少なくとも幾つかの場合について同じである、請求項１に記載の第１ネットワークエンティティ。
【請求項７】
前記処理要素は、前記第１データ値に更に基づいて前記第１チェックストリングを形成することにより前記第１データ値にコミットすることができる、請求項１に記載の第１ネットワークエンティティ。
【請求項８】
前記処理要素は、前記第１データ値とは独立して前記第１チェックストリング形成し、そしてその第１チェックストリング及び前記第１データ値を前記第２ネットワークエンティティへ送信することにより、前記第１データ値へコミットすることができる、請求項１に記載の第１ネットワークエンティティ。
【請求項９】
第１ネットワークエンティティとのデータ合意を認証するための第２ネットワークエンティティにおいて、この第２ネットワークエンティティは、
第１チェックストリングを受信することのできる処理要素を備え、前記第１ネットワークエンティティは、選択された第１ランダム値に基づいて前記第１チェックストリングを形成することにより第１データ値にコミットし、
前記処理要素は、選択された第２ランダム値を前記第１ネットワークエンティティへ送信することができ、その後、
前記処理要素は、前記第１ランダム値を受信することができ、前記第１ネットワークエンティティは、前記第１ランダム値を前記第２ネットワークエンティティへ送信することにより前記第１データ値へのコミットメントをオープンし、
前記処理要素は、前記コミットされた第１データ値を、前記第１チェックストリングと、前記第１ランダム値に基づいて計算された第２チェックストリングとに基づいてチェックすることができ、
前記処理要素は、前記第１データ値と、前記第１及び第２ランダム値とに基づいて第３チェックストリングを計算することができ、前記第１ネットワークエンティティは、前記第２データ値と、前記第１及び第２ランダム値とに基づいて第４チェックストリングを計算することができ、この第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算され、
前記処理要素は、前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができ、前記キー合意は、この比較に基づいて認証され、そして
前記処理要素は、前記処理要素が前記コミットされた第１データ値を首尾良くチェックしたときに、前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができる、第２ネットワークエンティティ。
【請求項１０】
前記第１データ値は、第１キーを含み、前記処理要素は、前記第１キーを更に受信することができ、
前記処理要素は、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づいて計算された第２チェックストリングに基づいてチェックすることができる、請求項９に記載の第２ネットワークエンティティ。
【請求項１１】
前記第２データ値は、第２キーを備え、前記処理要素は、更に、前記第１ネットワークエンティティへ前記第２キーを送信することができて、前記第１ネットワークエンティティが、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算できるようにする、請求項１０に記載の第２ネットワークエンティティ。
【請求項１２】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、前記処理要素は、データストリングと、前記第１ネットワークエンティティがそのデータストリングにコミットする状態で選択された第１ランダム値とに基づいて形成された第１チェックストリングを受信することができ、
前記処理要素は、前記コミットされた第１キーを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックすることができる、請求項９に記載の第２ネットワークエンティティ。
【請求項１３】
前記処理要素は、前記第２ランダム値を前記第１ネットワークエンティティへ送信することができて、前記第１ネットワークエンティティが、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算できるようにする、請求項１２に記載の第２ネットワークエンティティ。
【請求項１４】
前記処理要素は、前記第１ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとのデータ合意を認証する複数の場合において、前記第１チェックストリングを受信し、前記第２ランダム値を送信し、前記第１ランダム値を受信し、前記コミットされた第１データ値をチェックし、前記第３チェックストリングを計算し、そして前記第３及び第４のチェックストリングを比較するか又は比較を容易にすることができ、
前記選択された第２ランダム値は、少なくとも幾つかの場合について異なり、そして前記第２データ値は、少なくとも幾つかの場合について同じである、請求項９に記載の第２ネットワークエンティティ。
【請求項１５】
第１及び第２のネットワークエンティティ間のデータ合意を認証する方法において、
選択された第１ランダム値に基づいて第１チェックストリングを形成し、そしてその第１チェックストリングを前記第２ネットワークエンティティへ送信することにより、前記第１ネットワークエンティティにおいて第１のデータ値へコミットするステップと、
前記第２ネットワークエンティティから前記第１ネットワークエンティティにおいて選択された第２ランダム値を受信するステップと、その後、
前記第１ランダム値を前記第２ネットワークエンティティへ送信することにより前記第１ネットワークエンティティにおいて前記第１データ値へのコミットメントをオープンして、前記第２ネットワークエンティティが、前記コミットされた第１データ値を、前記第１チェックストリングと、前記第１ランダム値に基づいて計算された第２チェックストリングとに基づいてチェックできるようにし、その後、前記第２ネットワークエンティティが、前記第１データ値と、前記第１及び第２のランダム値とに基づいて第３チェックストリングを計算できるようにするステップと、
第２データ値と、前記第１及び第２のランダム値とに基づいて前記第１ネットワークエンティティにおいて第４チェックストリングを計算するステップであって、この第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算されるようなステップと、
前記第３及び第４のチェックストリングを比較するか又は比較を容易にするステップであって、前記データ合意がこの比較に基づいて認証されるようなステップと、
を備え、前記比較ステップは、前記第２ネットワークエンティティが前記コミットされた第１データ値を首尾良くチェックしたときに行われるようにした方法。
【請求項１６】
前記コミットするステップは、第１キーへコミットすることを含み、前記第１チェックストリングの送信は、前記第１キーを送信することを含み、
前記第１ランダム値の送信は、前記第１ランダム値を送信して、前記第２ネットワークエンティティが、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づいて計算された第２チェックストリングに基づいてチェックできるようにすることを含む、請求項１５に記載の方法。
【請求項１７】
前記第２データ値は、第２キーを備え、前記受信ステップは、更に、前記第２ネットワークエンティティから前記第１ネットワークエンティティにおいて前記第２キーを受信することを含み、
第４チェックストリングを計算する前記ステップは、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算することを含む、請求項１６に記載の方法。
【請求項１８】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、前記コミットするステップは、そのデータストリングへコミットすることを含み、
前記第１ランダム値の送信は、第１ランダム値を送信して、前記第２ネットワークエンティティが、前記コミットされたデータストリングを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックできるようにする、請求項１５に記載の方法。
【請求項１９】
前記第４チェックストリングの計算は、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算することを含む、請求項１８に記載の方法。
【請求項２０】
前記コミット、受信、オープン、計算及び比較のステップは、前記第１ネットワークエンティティと前記第２ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとのデータ合意を認証する複数の場合において行なわれ、
前記選択された第１ランダム値は、少なくとも幾つかの場合について異なり、前記第１データ値は、少なくとも幾つかの場合について同じである、請求項１５に記載の方法。
【請求項２１】
前記コミットするステップは、前記第１データ値に更に基づいて前記第１チェックストリングを形成することにより前記第１データ値にコミットすることを含む、請求項１５に記載の方法。
【請求項２２】
前記コミットするステップは、前記第１データ値とは独立して前記第１チェックストリング形成し、そしてその第１チェックストリング及び前記第１データ値を前記第２ネットワークエンティティへ送信することにより、前記第１データ値へコミットすることを含む、請求項１５に記載の方法。
【請求項２３】
第１及び第２のネットワークエンティティ間のデータ合意を認証する方法において、
前記第２ネットワークエンティティで第１チェックストリングを受信するステップであって、前記第１ネットワークエンティティが、選択された第１ランダム値に基づいて前記第１チェックストリングを形成することにより第１データ値にコミットするようなステップと、
選択された第２ランダム値を前記第２ネットワークエンティティから前記第１ネットワークエンティティへ送信するステップと、その後、
前記第２ネットワークエンティティで前記第１ランダム値を受信するステップであって、前記第１ネットワークエンティティが、前記第１ランダム値を前記第２ネットワークエンティティへ送信することにより前記第１データ値へのコミットメントをオープンするようなステップと、
前記コミットされた第１データ値を、前記第１チェックストリングと、前記第１ランダム値に基づいて計算された第２チェックストリングとに基づいて、前記第２ネットワークエンティティにおいてチェックするステップと、
前記第１データ値と、前記第１及び第２ランダム値とに基づき前記第２ネットワークエンティティにおいて第３チェックストリングを計算するステップであって、前記第１ネットワークエンティティは、前記第２データ値と、前記第１及び第２ランダム値とに基づいて第４チェックストリングを計算することができ、この第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算されるようなステップと、
前記第３及び第４のチェックストリングを比較するか又は比較を容易にするステップであって、前記キー合意がこの比較に基づいて認証される様なステップと、
を備え、前記比較ステップは、前記第２ネットワークエンティティが前記コミットされた第１データ値を首尾良くチェックしたときに行われるようにした方法。
【請求項２４】
前記第１データ値は、第１キーを含み、前記第１チェックストリングの受信は、前記第１キーを受信することを更に含み、
前記チェックするステップは、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づいて計算された第２チェックストリングに基づいてチェックすることを含む、請求項２３に記載の方法。
【請求項２５】
前記第２データ値は、第２キーを備え、前記送信ステップは、更に、前記第１ネットワークエンティティへ前記第２キーを送信して、前記第１ネットワークエンティティが、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算できるようにすることを含む、請求項２４に記載の方法。
【請求項２６】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、第１チェックストリングの受信は、データストリングと、前記第１ネットワークエンティティがそのデータストリングにコミットする状態で選択された第１ランダム値とに基づいて形成された第１チェックストリングを受信することを含み、
前記チェックするステップは、前記コミットされた第１キーを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックすることを含む、請求項２３に記載の方法。
【請求項２７】
前記送信ステップは、前記第２ランダム値を前記第１ネットワークエンティティへ送信して、前記第１ネットワークエンティティが、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算できるようにすることを含む、請求項２６に記載の方法。
【請求項２８】
前記第１チェックストリングの受信、前記送信、前記第１ランダム値の受信、前記チェック、前記計算、及び前記比較ステップは、前記第２ネットワークエンティティと前記第１ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとの間のデータ合意を認証する複数の場合において行なわれ、
前記選択された第２ランダム値は、少なくとも幾つかの場合について異なり、前記第２データ値は、少なくとも幾つかの場合について同じである、請求項２３に記載の方法。
【請求項２９】
第１及び第２のネットワークエンティティ間のデータ合意を認証するためのコンピュータプログラム製品であって、コンピュータ読み取り可能なプログラムコード部分が記憶された少なくとも１つのコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラム製品において、前記コンピュータ読み取り可能なプログラムコード部分が、
選択された第１ランダム値に基づいて第１チェックストリングを形成し、そしてその第１チェックストリングを前記第２ネットワークエンティティへ送信することにより第１ネットワークエンティティにおいて第１のデータ値へコミットするための第１の実行可能な部分と、
前記第２ネットワークエンティティから前記第１ネットワークエンティティにおいて選択された第２ランダム値を受信するための第２の実行可能な部分と、
前記第２の実行可能な部分が前記第２ランダム値を受信した後に前記第１ネットワークエンティティにおいて前記第１データ値へのコミットメントをオープンするための第３の実行可能な部分であって、前記コミットメントは、前記第１ランダム値を前記第２ネットワークエンティティへ送信することによりオープンされて、前記第２ネットワークエンティティが、前記コミットされた第１データ値を、前記第１チェックストリングと、前記第１ランダム値に基づき計算された第２チェックストリングとに基づいてチェックできるようにし、その後、前記第２ネットワークエンティティが、前記第１データ値と、前記第１及び第２ランダム値とに基づいて第３チェックストリングを計算できるようにする第３の実行可能な部分と、
第２データ値と、前記第１及び第２ランダム値とに基づいて前記第１ネットワークエンティティにおいて第４チェックストリングを計算するための第４の実行可能な部分であって、前記第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算されるような第４の実行可能な部分と、
前記第３及び第４のチェックストリングを比較するか又は比較を容易にするための第５の実行可能な部分であって、前記データ合意がこの比較に基づいて認証されるような第５の実行可能な部分と、
を備え、前記第５の実行可能な部分は、前記第２ネットワークエンティティが前記コミットされた第１データ値を首尾良くチェックしたときに、前記第３及び第４のチェックストリングを比較するか又は比較を容易にするようにした、コンピュータプログラム製品。
【請求項３０】
前記第１の実行可能な部分は、第１キーへコミットすると共に、更に、第１キーを送信するようにされ、
前記第２の実行可能な部分は、前記第１ランダム値を送信して、前記第２ネットワークエンティティが、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づき計算された第２チェックストリングに基づいてチェックできるようにした、請求項２９に記載のコンピュータプログラム製品。
【請求項３１】
前記第２データ値は、第２キーを備え、前記第２の実行可能な部分は、更に、前記第２ネットワークエンティティから前記第１ネットワークエンティティにおいて前記第２キーを受信するようにされ、そして
前記第４の実行可能な部分は、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算するようにした、請求項３０に記載のコンピュータプログラム製品。
【請求項３２】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、前記第１の実行可能な部分は、そのデータストリングへコミットするようにされ、
前記第３の実行可能な部分は、第１ランダム値を送信して、前記第２ネットワークエンティティが、前記コミットされたデータストリングを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックできるようにした、請求項２９に記載のコンピュータプログラム製品。
【請求項３３】
前記第４の実行可能な部分は、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算するようにした、請求項３２に記載のコンピュータプログラム製品。
【請求項３４】
前記第１、第２、第３、第４及び第５の実行可能な部分は、前記第１ネットワークエンティティと前記第２ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとの間のデータ合意を認証する複数の場合において、前記第１データ値にコミットし、前記第２ランダム値を受信し、前記コミットメントをオープンし、前記第４チェックストリングを計算し、そして前記第３及び第４のチェックストリングを比較するか又は比較を容易にするようにされ、
前記選択された第１ランダム値は、少なくとも幾つかの場合について異なり、前記第１データ値は、少なくとも幾つかの場合について同じである、請求項２９に記載のコンピュータプログラム製品。
【請求項３５】
前記第１の実行可能な部分は、前記第１データ値に更に基づいて前記第１チェックストリングを形成することにより前記第１データ値にコミットするようにした、請求項２９に記載のコンピュータプログラム製品。
【請求項３６】
前記第１の実行可能な部分は、前記第１データ値とは独立して前記第１チェックストリング形成し、そしてその第１チェックストリング及び前記第１データ値を前記第２ネットワークエンティティへ送信することにより、前記第１データ値へコミットするようにした、請求項２９に記載のコンピュータプログラム製品。
【請求項３７】
第１及び第２のネットワークエンティティ間のデータ合意を認証するためのコンピュータプログラム製品であって、コンピュータ読み取り可能なプログラムコード部分が記憶された少なくとも１つのコンピュータ読み取り可能な記憶媒体を含むコンピュータプログラム製品において、前記コンピュータ読み取り可能なプログラムコード部分が、
前記第２ネットワークエンティティにおいて第１チェックストリングを受信するための第１の実行可能な部分であって、前記第１ネットワークエンティティが、選択された第１ランダム値に基づいて前記第１チェックストリングを形成することにより第１データ値にコミットするようにした第１の実行可能な部分と、
選択されたランダム値を前記第２ネットワークエンティティから前記第１ネットワークエンティティへ送信するための第２の実行可能な部分と、
前記第２の実行可能な部分が前記第２のランダム値を送信した後に、前記第２ネットワークエンティティにおいて前記第１ランダム値を受信するための第３の実行可能な部分であって、前記第１ネットワークエンティティが、前記第１ランダム値を前記第２ネットワークエンティティへ送信することにより前記第１データ値へのコミットメントをオープンするようにした第３の実行可能な部分と、
前記コミットされた第１データ値を、前記第２ネットワークエンティティにおいて前記第１チェックストリングと、前記第１ランダム値に基づき計算された第２チェックストリングとに基づいてチェックするための第４の実行可能な部分と、
前記第２ネットワークエンティティにおいて前記第１データ値と、前記第１及び第２ランダム値とに基づいて第３チェックストリングを計算するための第５の実行可能な部分であって、前記第１ネットワークエンティティは、第２データ値と、前記第１及び第２ランダム値とに基づいて第４チェックストリングを計算することができ、この第４チェックストリングは、前記第２ネットワークエンティティが前記第２データ値へコミットしたり又は前記第２データ値へのコミットメントをオープンしたりせずに計算されるようにした第５の実行可能な部分と、
前記第３及び第４のチェックストリングを比較するか又は比較を容易にするための第６の実行可能な部分であって、前記キー合意が、この比較に基づいて認証されるようにした第６の実行可能な部分と、
を備え、前記第６の実行可能な部分は、前記第３の実行可能な部分が前記コミットされた第１データ値を首尾良くチェックしたときに、前記第３及び第４のチェックストリングを比較するか又は比較を容易にするようにした、コンピュータプログラム製品。
【請求項３８】
前記第１データ値は、第１キーを含み、前記第１の実行可能な部分は、前記第１キーを更に受信するようにされ、
前記第４の実行可能な部分は、前記コミットされた第１キーを、前記第１チェックストリングと共に送信された第１キーに更に基づき計算された第２チェックストリングに基づいてチェックするようにした、請求項３７に記載のコンピュータプログラム製品。
【請求項３９】
前記第２データ値は、第２キーを備え、前記第２の実行可能な部分は、更に、前記第１ネットワークエンティティへ前記第２キーを送信して、前記第１ネットワークエンティティが、前記受信した第２キーと、前記第１及び第２のランダム値とに基づいて前記第４チェックストリングを計算できるようにした、請求項３８に記載のコンピュータプログラム製品。
【請求項４０】
前記第１及び第２データ値は、前記データ合意を認証する前に前記第１及び第２の両ネットワークエンティティに知られた同じデータストリングを備え、前記処第１の実行可能な部分は、データストリングと、前記第１ネットワークエンティティがそのデータストリングにコミットする状態で選択された第１ランダム値とに基づいて形成された第１チェックストリングを受信するようにされ、
前記第４の実行可能な部分は、前記コミットされた第１キーを、前記第２ネットワークエンティティに知られたデータストリングに更に基づいて計算された第２チェックストリングに基づいてチェックするようにした、請求項３７に記載のコンピュータプログラム製品。
【請求項４１】
前記第２の実行可能な部分は、前記第２ランダム値を前記第１ネットワークエンティティへ送信して、前記第１ネットワークエンティティが、前記第１ネットワークエンティティに知られたデータストリングと、前記第１及び第２ランダム値とに基づいて前記第４チェックストリングを計算できるようにした、請求項４０に記載のコンピュータプログラム製品。
【請求項４２】
前記第１、第２、第３、第４、第５及び第６の実行可能な部分は、前記第２ネットワークエンティティと前記第１ネットワークエンティティ又は少なくとも１つの他のネットワークエンティティとの間のデータ合意を認証する複数の場合において、前記第１チェックストリングを受信し、前記第２ランダム値を送信し、前記第１ランダム値を受信し、前記コミットされた第１データ値をチェックし、前記第３チェックストリングを計算しそして前記第３及び第４のチェックストリングを比較するか又は比較を容易にするようにされ、
前記選択された第２ランダム値は、少なくとも幾つかの場合について異なり、そして前記第２データ値は、少なくとも幾つかの場合について同じである、請求項３７に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ネットワークエンティティ間のデータ合意を認証するシステム及び方法に係り、より詳細には、ネットワークエンティティ間での接続の確立中にそれらエンティティ間のキー合意を認証するシステム及び方法に係る。
【背景技術】
【０００２】
本明細書において、ショートレンジワイヤレスデータ送信接続の概念は、主に、互いに比較的接近配置された２つ以上の装置又はエンティティがワイヤレス式に互いに通信できる接続を指す。通信においては、例えば、無線通信、赤外線通信、誘導性通信、等を適用することができる。例えば、ショートレンジ無線通信の目的で、低電力の無線送信器及び無線受信器を使用するＢｌｕｅｔｏｏｔｈTM技術が開発されている。このような装置は、互いに通信することができ、従って、アドホックネットワークを形成する。例えば、ショートレンジ通信技術を適用することにより、周辺装置をコンピュータにワイヤレス接続することができる。更に、例えば、ワイヤレス通信装置をポータブルコンピュータに結合し、このコンピュータからインターネットのような別の通信ネットワークへワイヤレス接続を行うことができる。従って、ユーザは、ポータブルコンピュータによってデータネットワークへの接続を設定するとき、に自分のユーザ識別及びパスワードを入力しなければならない事態が発生する。従って、ポータブルコンピュータと、ショートレンジワイヤレス接続でこれに接続されるワイヤレス通信装置との間で暗号化を行なわないと、ユーザ識別及びパスワード送信が盗み聞きされるおそれが生じる。
【０００３】
この状況において言及できるショートレンジデータ送信接続に対して考えられる他の実施領域は、ＩＥＥＥ８０２．１１（例えば、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、等）のようなワイヤレスローカルエリアネットワーク（ＷＬＡＮ）技術、ＩＥＥＥ８０２．１６のようなＷｉＭＡＸ技術、ＩＥＥＥ８０２．１５のような超ワイドバンド（ＵＷＢ）技術、ワイヤレスユニバーサルシリアルバス（ＷＵＳＢ）技術、ワイヤレスペイターミナル技術、及びワイヤレスに動作するロック技術を含む。例えば、ＷＬＡＮ、ＷｉＭＡＸ、ＵＷＢ及びＷＵＳＢのような技術により、小さなオフィスファシリティで、配線を行う必要なく多数のコンピュータを含むＬＡＮを実施することができる。例えば、ワイヤレスペイターミナルシステムでは、ユーザは、ショートレンジ通信手段を含むワイヤレス通信装置によって勘定を支払うことができる。従って、ワイヤレス通信装置と勘定を支払うためのペイターミナルとの間にショートレンジデータ接続を設定することができる。対応的に、ワイヤレスに動作するロックでは、ユーザは、当該キーがその特定ロックのファンクションを制御するために意図されたものであることを保証するために、ロックとワイヤレス通信するキーを有する。このようなキーは、個別のキーとして実施されてもよいし、又はワイヤレス通信装置のような別の装置に関連して実施されてもよい。
【０００４】
このような通信システムでは、当該装置が実際に通信プロセスに許可されたものであることを通信における異なる当事者がどのようにして確信できるかが問題である。これは、特に、異なる装置間に機密情報が転送される状況において重要となる。例えば、上述したペイターミナルの実施形態では、ペイターミナルは、支払トランザクションに使用される装置が、実際に、当該アカウント保有者、又はアカウント保有者により許可された個人により使用される装置であることを保証しなければならない。又、例えば、ロックの実施形態では、ロックは、ロックが開く前にキーが本物であることを保証しなければならない。このような実施形態では、当事者を検証する目的で、装置間の通信を、盗み聞きする人や介在する当事者のような外部の侵入者から保護しなければならない。これらの安全性観点を考慮するために、例えば、ＢｌｕｅｔｏｏｔｈTMシステムに対して多数の異なる暗号化メカニズムが開発されている。使用する技術は、例えば、パブリックキー及びプライベートキーを含むキー対（ＰＫＩ−パブリックキーインフラストラクチャー）を含む。このような構成では、ユーザは、パブリックキーと、暗号化されていないものを相手の当事者へ送信できるというＰＫＩからの証明書と、いずれの段階でも通信システムへ転送する必要がなく機密に維持されるプライベートキーとを有する。従って、情報をパブリックキーで暗号化することにより暗号化情報をユーザへ送信することができる。ユーザは、自分のプライベートキーで情報を解読することができる。
【０００５】
前記種類の非対称的暗号化システムの１つの欠点は、比較的低速であり、大量の情報を暗号化すると、データ送信が著しく減速することである。このような非対称的暗号化システムの別の欠点は、パブリックキーのための証明書がない場合には、無許可の当事者がパブリックキーを自分自身のパブリックキーに置き換えることができるので、相手の当事者は、ユーザから受け取るパブリックキーを信用できないことである。アドホックシナリオでは、パブリックキーの交換を認証するための証明書当局の存在を一般的に仮定することができず、従って、パブリックキーの交換を認証するための他の手段を必要とする。
【０００６】
又、通信システムは、通信の両当事者が同じプライベートキー（共有機密キー）を共有する対称的暗号化技術も適用する。この構成の問題は、例えば、このプライベートキーが部外者に見つからないようにしてこのプライベートキーを別の装置へどのようにして送信できるかである。ある場合には、ユーザ自身がこのプライベートキーを異なる装置に入力することができる。ＢｌｕｅｔｏｏｔｈTMシステムによる装置では、このプライベートキーは、無線通信に使用されるリンクキーを計算するのに使用でき、このリンクキーにより、送信されるべき実際の情報が暗号化される。リンクキーに対して決定された最大長さは１２８ビットであり、この場合、プライベートキーの長さは、少なくとも３２キャラクタでなければならない。３２キャラクタを含むこのようなストリングを入力することは、骨の折れることであり、特に、接続を設定できるまでにエラーなくこのストリングを少なくとも２回連続的に入力しなければならないときには、エラーの確率が高くなる。
【０００７】
前記非対称的及び対称的暗号化システムの欠点を克服するよう設計された１つの暗号化技術が米国特許第５，２４１，５９９号に開示されている。この点について、この‘５９９号特許は、通信に使用される暗号キーを短い暗号キーで最初に暗号化し、その後、暗号キーを暗号化フォーマットにおいてある装置から非暗号化通信チャンネルを経て別の装置へ送信できるような暗号化キー交換（ＥＫＥ）のための技術を開示している。ショートレンジシステムでは、この技術は、ユーザが短い暗号キーを両方の装置へ入力し、その後、両方の装置が、それら自身の暗号キーを、短い暗号キーで暗号化された状態で他の装置へ送信するようにして適用することができる。しかしながら、このようなシステムは、暗号効率が、例えば、どれほど頻繁にユーザがこの短い暗号キーを変化させるかに依存するという点で欠点がある。更に、ユーザにより選択されるこのような短い暗号キーは、比較的容易に推測でき、それ故、この技術が適用されるときには、短い暗号キーが部外者に分ることがあり得る。
【０００８】
又、大きな素数の指数的モジュロに基づくいわゆるディフィー・ヘルマン(Diffie-Hellman)技術も知られている。この点に関して、このような指数的モジュロに基づいて、ディフィー・ヘルマン技術で実施された暗号を解読する困難さは、今日、大きな素数の離散的対数モジュロを計算する困難さに正比例するとみなされている。ディフィー・ヘルマン技術は、特にキー交換で一般的に使用されるパブリックキーベースのアルゴリズムである。この技術は、充分な長さのキー及び適切なディフィー・ヘルマンジェネレータが使用されるときには、しばしば安全と考えられる。
【０００９】
ディフィー・ヘルマン技術によれば、第１当事者は、第１の機密番号に基づいて第１のキー番号を決定し、第１のキー番号が第２の当事者へ送信される。対応的に、第２の当事者は、第２の機密番号に基づいて第２のキー番号を決定し、第２のキー番号が第１の当事者へ送信される。その後、第１の当事者は、第１の機密番号と、それが受け取った第２のキー番号とに基づいて、第３のキー番号を生成し、そして第２の当事者は、第２の機密番号と、それが受け取った第１のキー番号とに基づいて、第４のキー番号を生成する。第３及び第４のキー番号は、同一であり、それらは、当該当事者間で送信されない。その後、第３及び第４のキー番号は、当事者間で送信されるべき情報の暗号化及び解読に使用することができる。
【００１０】
しかしながら、ディフィー・ヘルマン技術では、パブリックキーを認証するための外部手段（例えば、証明書）をもたずにパブリックキーを交換する他の技術（非対称的）と同様に、第３者が第１のキー番号又は第２のキー番号を変更できることがある。これは、例えば、第３者がそれ自身を第１当事者と第２当事者との間に配し（ＭＩＭ−マン・イン・ザ・ミドル（人間が中間にいる））、第１当事者が第３者を第２当事者と間違え、そして対応的に、第２当事者が第３者を第１当事者と間違えるようにして行なわれる。従って、実際には、データは、第１当事者と第２当事者との間で第３者を経て送信され、第３者は、第１当事者により送信されたメッセージ、及び第２当事者により送信されたメッセージの両方を検出して、それらを変更することができる。ディフィー・ヘルマン技術の更なる情報については、参考としてここに全体を援用する米国特許第４，２００，７７０号を参照されたい。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ディフィー・ヘルマン技術に対し、ショートレンジワイヤレス通信技術において異なる当事者を検証できるようにする改良が示唆されている。この技術は、F. Stajano & R. Anderson著の出版物 The Resurrecting Duckling: Security Issues for Ad-Hoc Wireless Networks, 1999 AT&T SOFTWARE SYMPOSIUMに開示されている。この出版物に開示された技術は、上述したアクションの結果として得られる第３及び第４の暗号番号が同一であることを両当事者がチェックすることに基づいている。これは、例えば、計算された暗号番号が両当事者の装置に表示され、そして装置のユーザがそれら番号を互いに比較するようにして行うことができる。充分に強い暗号（少なくとも１２８ビットの暗号キー）を得るために、暗号番号は、通常、少なくとも３２キャラクタのストリングでなければならない。しかしながら、このような長いストリングを比較することは困難であり、エラーの確率が望ましからぬほど高くなる。
【課題を解決するための手段】
【００１２】
上述した従来の暗号システム及び方法の欠点を少なくとも部分的に克服するための努力において、長くて複雑な暗号キー又はチェック番号を必要とせずに、互いに通信する当事者を検証できるようにするシステム及び方法が開発されている。このようなシステム及び方法は、２００２年６月５日に出願された“Method for Ensuring Data Transmission Security, Communication System and Communication Device”と題する米国特許出願第１０／１６４，４３７号に開示されており、これは、２００２年１２月１２日に米国特許出願公告第２００２／０１８６８４６号として公告されたものであり、その内容を参考としてここに援用する。‘４３７号出願のシステム及び方法によれば、短い独特のランダムストリングを選択することができ、そこから、データ送信セキュリティを容易にするために両方の装置においてチェックコードを計算することができる。計算されたチェックコードは、次いで、一方又は両方の装置で表わすことができる。両方の装置が、計算したチェックコードを表わす場合には、コードを互いに比較することができる。しかしながら、一方の装置しかチェックコードを表わさない場合には、その表わされたチェックコードを他方の装置へ入力し、この装置が、次いで、その入力されたチェックコードを、同様に計算されたチェックコードと比較することができる。
【００１３】
上述したシステム及び方法は、充分なものであるが、‘４３７号出願を含む既存のシステム及び方法を改良することが一般に望まれる。従って、本発明の実施形態は、第１及び第２のネットワークエンティティ間に接続を確立する間、等に、それらエンティティ間のデータ合意を認証するためのネットワークエンティティ、方法及びコンピュータプログラム製品を提供する。本発明の１つの態様によれば、この方法は、第１ネットワークエンティティが、第１データ値、例えば、第１キー（例えば、Ｐ１）、第１及び第２の両ネットワークエンティティに知られたデータストリング（例えば、Ｄ）、等へコミットすることを含む。この点に関して、第１ネットワークエンティティは、選択された第１ランダム値（例えば、Ｒ１）に基づいて第１チェックストリング（例えば、Ｃ１）を形成し、そしてその第１チェックストリングを第２ネットワークエンティティへ送信することにより、第１データ値へコミットすることができる。第１チェックストリングは、更に、第１データ値に基づいて形成することもできるし、又は第１データ値とは独立して形成することもできる。第１チェックストリングが第１データ値とは独立して形成されるとき、例えば、第２ネットワークエンティティが第１キー又はデータ値をまだ知らないときには、第１ネットワークエンティティは、更に、第１キー又はデータ値を第２ネットワークエンティティへ送信することができる。
【００１４】
第１チェックストリングを受け取った後に、第２ネットワークエンティティは、選択されたランダム値（例えば、Ｒ２）及び第２のデータ値（例えば、Ｐ２、Ｄ）を第１ネットワークエンティティへ送信することができる。第２のデータ値及び第２のランダム値を受け取った後に、第１ネットワークエンティティは、第１のランダム値を第２ネットワークエンティティへ送信して第２ネットワークエンティティがコミットされた第１データ値をチェックできるようにすることにより、第１データ値へのコミットメントをオープンすることができる。又、これは、第１ネットワークエンティティが、第１のデータ値、又はその一部分を、第２ネットワークエンティティへ送信することも含む。この点に関して、第２ネットワークエンティティは、コミットされた第１データ値を、第１チェックストリング及び第２チェックストリング（例えば、Ｃ２）に基づいてチェックすることができる。このような場合における第２チェックストリングは、第１のランダム値と、第２ネットワークエンティティに知られた又はそこに送信された第１データ値とに基づいて、計算されている。
【００１５】
コミットされた第１データ値をチェックした後に、チェックが成功であった場合には、第２ネットワークエンティティは、第１及び第２のデータ値、並びに第１及び第２のランダム値に基づいて、第３チェックストリング（例えば、Ｃ３）を計算することができる。同様に、第１ネットワークエンティティは、第１及び第２のデータ値、並びに第１及び第２のランダム値に基づいて、第４チェックストリング（例えば、Ｃ４）を計算することができる。この点に関して、第１ネットワークエンティティは、第２ネットワークエンティティが第２のデータ値にコミットするか又は第２のデータ値へのコミットメントをオープンすることなく、第４チェックストリングを計算することができる。第３及び第４チェックストリングが計算された後に、この方法は、第３及び第４チェックストリングを比較し又は比較を促進して、この比較に基づき、例えば、第３及び第４チェックストリング間の一致が示された場合に、データ値及び／又はキー合意が認証されたとみなせるようにすることを含む。
【００１６】
この方法のコミット、送信、オープン、計算及び比較ステップは、第１ネットワークエンティティと、第２ネットワークエンティティ又は１つ以上の他のネットワークエンティティとの間のデータ及び／又はキー合意を認証する複数の場合において行うことができる。このような場合には、選択された第１ランダム値及び／又は選択された第２ランダム値が、少なくとも幾つかの場合について相違し得る。逆に、第１データ値及び／又は第２データ値は、少なくとも幾つかの場合に同じままである。従って、第１及び／又は第２のデータ値は、キー合意を認証する異なる場合について、各ネットワークエンティティにより再使用可能となる。
【００１７】
本発明の他の態様によれば、第１及び第２のネットワークエンティティ間に接続を確立する間にそれらエンティティ間のキー合意を認証するための第１及び第２のネットワークエンティティ及びコンピュータプログラム製品が提供される。再使用可能なデータ値で動作することにより、本発明の実施形態のネットワークエンティティ、方法及びコンピュータプログラム製品は、特にデータ値がキーを含むときに望ましからぬ量の時間及びリソースを必要とする、２つのネットワークエンティティの各関連付けのために新たな第１及び第２のデータ値を発生する必要性を回避することができる。データ値及びキーを認証のステップ内に送信して合意するのを許すことにより、本発明の実施形態の方法は、ステップの合計数、及びユーザによる制御を必要とするステップの数も、減少することができる。又、減少された数のメッセージ交換に基づいてキー合意を認証することにより、本発明の実施形態のネットワークエンティティ、方法及びコンピュータプログラム製品は、ネットワークエンティティ間のキー合意を認証するための効率的なチェック段階を提供する。それ故、本発明の実施形態のネットワークエンティティ、方法及びコンピュータプログラム製品は、従来技術で示された問題を解消し、付加的な効果を発揮することができる。
【００１８】
以上、本発明を一般的に説明したが、必ずしも正しい縮尺で描かれていない添付図面を参照して以下に詳細に説明する。
【発明を実施するための最良の形態】
【００１９】
本発明の好ましい実施形態が示された添付図面を参照して本発明を以下に詳細に説明する。しかしながら、本発明は、多数の異なる形態で実施することができ、ここに示す実施形態に限定されるものではなく、むしろ、これら実施形態は、この開示が完全なものとなるように設けられたもので、本発明の範囲を当業者に完全に伝えるものである。全体にわたり同じ要素が同じ番号で示されている。
【００２０】
図１を参照すれば、本発明から利益が得られるターミナル及びシステムの一形式が示されている。本発明の実施形態のシステム、方法及びコンピュータプログラム製品は、主として、移動通信用途に関連して説明する。しかしながら、本発明の実施形態のシステム、方法及びコンピュータプログラム製品は、移動通信産業及びそれ以外のものの両方における種々の他の用途に関連して使用することができる。例えば、本発明の実施形態のシステム、方法及びコンピュータプログラム製品は、ワイヤライン及び／又はワイヤレスネットワーク（例えば、インターネット）用途に関連して使用することができる。
【００２１】
図示されたように、システム１０は、互いにワイヤレス結合されてアドホックネットワークを形成することのできる第１及び第２ターミナル１２ａ、１２ｂを備えている。更に、これらターミナルの一方又は両方を１つ以上のワイヤレスアクセスポイント（ＡＰ）１４に結合することができる。この点に関して、ターミナル及びＡＰは、１つ以上の多数の異なるワイヤレスネットワーク技術、例えば、ＢｌｕｅｔｏｏｔｈTM（ＢＴ）技術、赤外線（ＩｒＤＡ）、ＩＥＥＥ８０２．１１（例えば、８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、等）のようなワイヤレスＬＡＮ（ＷＬＡＮ）技術、ＩＥＥＥ８０２．１６のようなＷｉＭＡＸ技術、ＩＥＥＥ８０２．１５のような超ワイドバンド（ＵＷＢ）技術、ワイヤレスユニバーサルシリアルバス（ＷＵＳＢ）技術、近フィールド通信（ＮＦＣ）技術、等に基づいて、互いに通信するように構成することができる。
【００２２】
ＡＰ１４は、更に、１つ以上のデータネットワーク、例えば、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、及び／又はワイドエリアネットワーク（ＷＡＮ）に結合することもできる。ＭＳＣをデータネットワークに直結することもできる。しかしながら、ここに示す実施形態では、ＡＰがゲートウェイ（ＧＴＷ）１６に結合され、このゲートウェイが、インターネット１８のようなＷＡＮに結合される。次いで、処理要素２０のような装置（例えば、パーソナルコンピュータ、サーバーコンピュータ、等）を、インターネットを経てターミナル（１つ又は複数）に結合することができる。図１には示されていないが、ターミナル１２ａ、１２ｂの一方又は両方は、更に、１つ以上のセルラーネットワーク、パーソナル通信サービス（ＰＣＳ）ネットワーク、データネットワーク（例えば、インターネット）、等を横切って通信することにより移動ステーションとして機能することもできる。
【００２３】
ターミナル１２ａ、１２ｂを互いに及び／又はＡＰ１４に接続することにより、これらのターミナルは、アドホックネットワークにおいて互いに通信し、及び／又は１つ以上のアクセスポイントネットワークを横切ってＡＰを経て通信して、ターミナルの種々のファンクションを実行することができる。例えば、これらターミナルは、互いに、及び／又は１つ以上のアクセスポイントネットワークを横切って通信し、データ、コンテンツ、等をコンピュータシステムへ送信し、及び／又はコンテンツ、データ、等をコンピュータシステムから受信することができる。ここで使用する用語「データ」、「コンテンツ」、「情報」及び同様の用語は、本発明の実施形態により送信、受信及び／又は記憶することのできるデータを指すように、交換可能に使用できる。従って、このような用語の使用は、本発明の精神及び範囲を限定するものではない。
【００２４】
図２を参照すれば、本発明の一実施形態によりターミナル１２及び／又はＡＰ１４として動作することのできるエンティティの概略ブロック図が示されている。図示されたように、エンティティは、より詳細に示されて説明されるものを含めて、本発明の実施形態による１つ以上のファンクションを遂行するための種々の手段を含む。しかしながら、エンティティは、本発明の精神及び範囲から逸脱せずに、１つ以上の同様のファンクションを遂行するための別の手段を含んでもよいことを理解されたい。より詳細には、例えば、図２に示すように、エンティティは、メモリ２４に接続されたプロセッサ２２を含むことができる。メモリは、揮発性及び／又は不揮発性メモリを含み、そして通常、コンテンツ、データ、等を記憶する。例えば、メモリは、通常、各エンティティから送信され、及び／又は各エンティティにより受信されたコンテンツを記憶する。又、例えば、メモリは、通常、本発明の実施形態により各エンティティのオペレーションに関連したステップをプロセッサが遂行するためのクライアントアプリケーション、インストラクション、等を記憶する。
【００２５】
ここに述べるように、各クライアントアプリケーションは、各エンティティ（例えば、ターミナル１２、ＡＰ１４）により動作されるソフトウェアを含む。しかしながら、ここに述べる１つ以上のクライアントアプリケーションは、本発明の精神及び範囲から逸脱せずに、ファームウェア又はハードウェアを含んでもよいことを理解されたい。一般的に、エンティティは、１つ以上のクライアントアプリケーションの種々のファンクションを遂行するための１つ以上のロジック要素を含むことができる。明らかに、ロジック要素は、多数の異なる仕方のいずれで実施されてもよい。この点に関して、１つ以上のクライアントアプリケーションのファンクションを遂行するロジック要素は、エンティティ、又はより詳細には、例えば、各エンティティのプロセッサ２２と一体的であるか、さもなければ、それと通信する１つ以上の集積回路を含む集積回路アッセンブリにおいて実施することができる。集積回路の設計は、主として、高度に自動化されたプロセスによる。この点に関して、ロジックレベル設計を、半導体基板上にエッチングして形成する準備のできた半導体回路設計へと変換するための複雑且つパワフルなソフトウェアツールを入手することができる。これらのソフトウェアツール、例えば、カリフォルニア州フレモントのＡｖａｎｔ！Ｃｏｒｐｏｒａｔｉｏｎ、及びカリフォルニア州サンノセのＣａｄｅｎｃｅ  Ｄｅｓｉｇｎにより提供されるものは、充分に確立されている設計ルール、及び予め記憶された設計モジュールの膨大なライブラリーを使用して、半導体チップ上に自動的に導体を引き回しそしてコンポーネントを配置する。半導体回路の設計が完了すると、それにより得られた設計は、標準化された電子フォーマット（例えば、Ｏｐｕｓ、ＧＤＳＩＩ、等）において、半導体製造設備又は製造のための“ｆａｂ”へ送信することができる。
【００２６】
又、メモリ２４に加えて、プロセッサ２２は、データ、コンテンツ、等を表示し、送信し及び／又は受信するための少なくとも１つのインターフェイス又は他の手段へ接続することもできる。この点に関して、インターフェイスは、データ、コンテンツ、等を送信し及び／又は受信するための少なくとも１つの通信インターフェイス２６又は他の手段を含むことができる。以下で説明するように、例えば、通信インターフェイスは、エンティティを別のエンティティに結合するためのＢＴ、ＩｒＤＡ、ＷＬＡＮ、ＷｉＭＡＸ、ＵＷＢ、ＷＵＳＢ及び／又はＮＦＣインターフェイスのような１つ以上のショートレンジ通信インターフェイスを含むことができる。又、通信インターフェイスに加えて、インターフェイスは、ディスプレイ２８及び／又はユーザ入力インターフェイス３０を含む少なくとも１つのユーザインターフェイスを含むこともできる。ユーザ入力インターフェイスは、次いで、エンティティがユーザからデータを受け取るのを許す多数の装置、例えば、マイクロホン、キーパッド、タッチディスプレイ、ジョイスティック、又は他の入力装置のいずれかを含むことができる。
【００２７】
本発明の実施形態から利益が得られるターミナル１２の一形式を詳細に示した図３を参照する。しかしながら、図示して以下に説明するターミナルは、本発明から利益が得られるターミナル１２の一形式を例示するものに過ぎず、それ故、本発明の範囲をこれに限定するものではない。例示の目的でターミナルの多数の実施形態を図示して以下に説明するが、他の形式のターミナル、例えば、ポータブルデジタルアシスタント（ＰＤＡ）、ページャー、ラップトップコンピュータ、及び他の形式の電子システムも、本発明を容易に利用できる。
【００２８】
ターミナル１２は、より詳細に示されて説明されるものを含めて、本発明の実施形態による１つ以上のファンクションを遂行するための種々の手段を含む。しかしながら、ターミナルは、本発明の精神及び範囲から逸脱せずに、１つ以上の同様のファンクションを遂行するための別の手段を含んでもよいことを理解されたい。より詳細には、例えば、図３に示すように、アンテナ３２に加えて、ターミナルは、送信器３４と、受信器３６と、これら送信器及び受信器へ信号を供給し且つそこから信号を受信するコントローラ３８又は他のプロセッサとを備えている。これらの信号は、適用可能なセルラーシステムのエアインターフェイス規格に基づくシグナリング情報を含むと共に、ユーザスピーチ及び／又はユーザ発生データも含む。この点に関して、ターミナルは、１つ以上のエアインターフェイス規格、通信プロトコル、変調形式、及びアクセス形式で動作することができる。より詳細には、ターミナルは、多数の第１世代（１Ｇ）、第２世代（２Ｇ）、２．５Ｇ、及び／又は第３世代（３Ｇ）通信プロトコル等のいずれかに基づいて動作することができる。
【００２９】
コントローラ３８は、ターミナル１２のオーディオ及びロジックファンクションを実施するのに必要な回路を含むことが理解されよう。例えば、コントローラは、デジタル信号プロセッサ装置、マイクロプロセッサ装置、種々のアナログ／デジタルコンバータ、デジタル／アナログコンバータ、及び他のサポート回路で構成される。ターミナルの制御及び信号処理ファンクションは、これらの装置間に、それらの各能力に基づいて割り当てられる。コントローラは、更に、内部ボイスコーダ（ＶＣ）を含むことができ、又、内部データモデム（ＤＭ）を含んでもよい。更に、コントローラは、メモリに記憶される１つ以上のソフトウェアプログラムを動作するファンクションを含んでもよい（以下に述べる）。
【００３０】
又、ターミナル１２は、１つ以上のイヤホン及び／又はスピーカ４０、リンガー４２、ディスプレイ４４、及びユーザ入力インターフェイスを含むユーザインターフェイスも備え、これらは全てコントローラ３８に結合される。ターミナルがデータを受信できるようにするユーザ入力インターフェイスは、ターミナルがデータを受信できるようにする多数の装置、例えば、マイクロホン４６、キーパッド４８、タッチディスプレイ及び／又は他の入力装置のいずれかを含む。キーパッドを含む実施形態では、キーパッドは、従来の数字（０−９）及び関連キー（＃、＊）、並びにターミナルを操作するのに使用される他のキーを含む。図示されていないが、ターミナルは、ターミナルを動作するのに必要な種々の回路を付勢すると共に、検出可能な出力として機械的な振動を任意に与えるための振動バッテリパックのようなバッテリを含むことができる。
【００３１】
又、ターミナル１２は、例えば、このターミナルを別のターミナルへ結合してアドホックネットワークを形成することにより、データを共有し及び／又は得るための１つ以上の送信器、受信器及び／又はトランシーバ５０を含むこともできる。例えば、このターミナルは、ブルーツース・スペシャル・インタレスト・グループにより開発されたＢｌｕｅｔｏｏｔｈTMワイヤレス技術を使用して動作するＢｌｕｅｔｏｏｔｈTM（ＢＴ）トランシーバを含むことができる。それに加えて又はそれとは別に、ターミナルは、他のショートレンジトランシーバ、例えば、赤外線（ＩＲ）トランシーバ、ＷＬＡＮトランシーバ、ＷｉＭＡＸトランシーバ、ＵＷＢトランシーバ、ＷＵＳＢトランシーバ及び／又は近フィールド通信（ＮＦＣ）トランシーバを含むことができる。それ故、ターミナルは、それに加えて又はそれとは別に、このような技術に基づいて他のターミナルのような装置へデータを送信し及び／又はそこからデータを受信することができる。
【００３２】
更に、ターミナル１２は、移動加入者に関係した情報エレメントを通常記憶するメモリ、例えば、加入者アイデンティティモジュール（ＳＩＭ）６２、取り外し可能なユーザアイデンティティモジュール（Ｒ−ＵＩＭ）、等を含むことができる。ＳＩＭに加えて、ターミナルは、他の取り外し可能なメモリ及び／又は固定メモリを含むことができる。この点に関して、ターミナルは、データを一時的に記憶するためのキャッシュエリアを含む揮発性ランダムアクセスメモリ（ＲＡＭ）のような揮発性メモリ６４を含むことができる。又、ターミナルは、埋め込みでき及び／又は取り外しできる他の不揮発性メモリ６６も含むことができる。それに加えて又はそれとは別に、不揮発性メモリは、ＥＥＰＲＯＭ、フラッシュメモリ、等を含むことができる。メモリは、ターミナルのファンクションを実施するためにターミナルにより使用される多数の情報断片及びデータのいずれかを記憶することができる。例えば、メモリは、ターミナルを独特に識別できる識別子、例えば、国際移動装置識別（ＩＭＥＩ）コード、国際移動加入者識別（ＩＭＳＩ）コード、移動ステーションサービス総合デジタル網（ＭＳＩＳＤＮ）コード（移動電話番号）、セッションイニシエーションプロトコル（ＳＩＰ）アドレス、等を記憶することができる。更に、メモリは、ターミナルにおいて動作できる１つ以上のクライアントアプリケーションを記憶することができる。
【００３３】
本発明の実施形態に基づき第１ネットワークエンティティ６８と第２ネットワークエンティティ７０との間にピア・ツー・ピア接続を確立する間にそれらエンティティを互いに安全に関連付ける制御フローを示した図４を参照する。図示して説明するように、第１及び第２のネットワークエンティティは、本発明の実施形態に基づいて動作できる多数の異なるエンティティのいずれかを含むことができる。例えば、第１ネットワークエンティティは、第１又は第２ターミナル１２ａ、１２ｂのいずれかを含み、一方、第２ネットワークエンティティは、第１又は第２ターミナルの他方を含む。或いは又、例えば、第１ネットワークエンティティは、第１又は第２ターミナルのいずれかを含み、一方、第２ネットワークエンティティは、ＡＰ１４を含んでもよい。別の態様では、例えば、第１ネットワークエンティティがＡＰを含み、一方、第２ネットワークエンティティが第１又は第２のターミナルのいずれかを含む。
【００３４】
第１及び第２のネットワークエンティティ６８、７０の間にデータ接続を設定することが目的である状況では、本発明の一実施形態による方法に次のステップをとることができる。ネットワークエンティティは、その付近にデータ接続を設定できる他のネットワークエンティティがあるかどうか検出することに向けられる。この点について、このような段階は、ページング段階と称され、例えば、次のように実施することができる。第１及び第２のネットワークエンティティの一方又は両方は、１つ以上のページングメッセージ等をある間隔で送信し、そしておそらくその応答メッセージを聴取することができる。従って、第１又は第２のネットワークエンティティのいずれかがページングメッセージを送信する状態では、ページングメッセージを受信したネットワークエンティティが応答メッセージをページングネットワークエンティティ２、３へ送信することができる。ページングネットワークエンティティのユーザには、次いで、その付近でおそらく検出される他のネットワークエンティティのリストを与えることができる。従って、ユーザは、このリストから１つ以上のネットワークエンティティを選択して、それとデータ接続を設定することができる。本発明の一実施形態による方法がデータ接続の設定に適用されるときには、ユーザは、識別番号等を入力する必要がないことを理解されたい。この点について、ページング段階に関して、ネットワークエンティティは、それら自身のアドレス又は他の識別子を、設定されるべきデータ接続に含まれる他のネットワークエンティティへ送信することができ、これらのアドレスは、ネットワークエンティティを独特に識別し、それ故、それらの間の通信中に使用することができる。
【００３５】
ページング段階の後に、第１及び第２のネットワークエンティティ６８、７０の一方は、それらの間の非安全チャンネル（例えば、ＢｌｕｅｔｏｏｔｈTM、ＷＬＡＮ、ＷｉＭＡＸ、ＵＷＢ、ＷＵＳＢ、等）を横切って他方のネットワークエンティティとデータ接続を確立することができ、ここで、ネットワークエンティティ間の第１データ接続の確立は、関連付けと称される。この点について、第１及び第２のネットワークエンティティの関連付けは、非安全チャンネルを横切って双方向キー交換又は合意を遂行し、その間に、もし成功であれば、共有プライベートキーＫ＝Ｋ１＝Ｋ２を発生して、第１及び第２のネットワークエンティティしか知らないようにすることを含む。キー合意は、多数の異なる仕方のいずれかで行うことができる。しかしながら、一実施形態では、キー交換は、例えば、図５に示すように、ディフィー・ヘルマン技術に基づいて行なわれる。しかしながら、ディフィー・ヘルマン技術に加えて、本発明の実施形態は、データを安全なものとするための多数の他の技術のいずれかに基づいて交換されるか、さもなければ、合意されるキーの認証に等しく適用できることを理解されたい。
【００３６】
ディフィー・ヘルマン技術に基づいて示されたように、素数値ｐ、素数値ｑ除算ｐ−１、及び乗算オーダーｑ  ｍｏｄ  ｐの値ｇを含む多数のパラメータを第１ネットワークエンティティにより選択することができる。或いは又、第１及び第２のネットワークエンティティの一方又は両方にパラメータを与えることができる。第１ネットワークエンティティがパラメータをどのように受け取るかに関らず、第１ネットワークエンティティは、例えば、１とｑ−１との間のランダム値を選択することにより第１の機密値ａを発生し、そして少なくともパラメータｇに基づいて第１のキー値Ｙ１を次のように計算することができる：Ｙ１＝ｇa  ｍｏｄ  ｐ。次いで、第１のネットワークエンティティは、第１のキー値Ｙ１及びパラメータｇ及びｐを第２のネットワークエンティティに送信することができる。但し、これは、これらのパラメータが第２のネットワークエンティティにまだ与えられていない場合である。
【００３７】
ここに述べるように、多数の値が、「ランダム」であるか、さもなければ、ランダムに発生されるとして記述される。しかしながら、このような値は、多数の異なる仕方のいずれかで発生されるか、さもなければ、選択され、従って、この値は、ある場合から次の場合へ変化することがあり、そしてほとんど、通常、変化することを理解されたい。この点に関して、値は、ランダムであるか、又はランダムに選択されるか、さもなければ、発生されると記述されるが、この値は、ランダムに、又は擬似ランダムに、或いは多数の異なるアルゴリズムの１つ以上により、選択されるか、さもなければ、発生されて、複数の異なる場合において複数の異なる値を選択するか、さもなければ、発生する。
【００３８】
第１のネットワークエンティティ６８と同様に、第２のネットワークエンティティ７０は、例えば、１とｑ−１との間のランダム（又は擬似ランダム）値を選択することにより第２の機密値ｂを発生し、そして少なくともパラメータｇに基づいて第１のキー値Ｙ２を次のように計算することができる：Ｙ２＝ｇb  ｍｏｄ  ｐ。次いで、第２のネットワークエンティティは、第２のキー値Ｙ２を第１のネットワークエンティティに送信することができる。第１及び第２のネットワークエンティティがそれらの各々の第１及び第２機密値ａ及びｂを発生し、そして他のネットワークエンティティのキー値Ｙ２及びＹ１を各々受信すると、これらネットワークエンティティは、それに基づいて第１及び第２のプライベートキーを計算するか、さもなければ、発生することができる。即ち、第１ネットワークエンティティは、第１プライベートキーＫ１を第１の機密値ａ及び第２のキー値Ｙ２に基づいて次のように発生することができる：Ｋ１＝（Ｙ２）a  ｍｏｄ  ｐ。同様に、第２ネットワークエンティティは、第２プライベートキーＫ２を第２の機密値ａ及び第１のキー値Ｙ１に基づいて次のように発生することができる：Ｋ２＝（Ｙ１）b  ｍｏｄ  ｐ。その後、キー合意が成功であり、障害や外部の影響なしにデータ送信が行なわれたことを意味する場合には、Ｋ１＝Ｋ２となる。従って、第１及び第２のネットワークエンティティは、同じ共有暗号キーＫ＝Ｋ１＝Ｋ２が分り、これを使用して、データ接続を経て送信されるべき情報を暗号化し、そして当事者が互いに本人であることをチェックした後に解読することができる。
【００３９】
上述したように、整数・モジュロ・素数により定義された代数グループのアルゴリズムで多数の変数が計算されるか、さもなければ、発生される。しかしながら、これら変数を計算するか、さもなければ、発生するアルゴリズムは、必要に応じて、他の適当な代数グループにおいて動作できることを理解されたい。又、キー合意中に発生された共有暗号キーＫが、このようなキーについてエンティティ６８、７０により予約された最大長さより長い場合には、エンティティにより利用される共有暗号キーＫは、例えば、発生されたキーＫを適当な長さに切断するか、又はその所定の部分を選択することにより、キー合意中に発生された暗号キーから形成できることも理解されたい。例えば、現在のＢｌｕｅｔｏｏｔｈTM技術に基づくシステムでは、１２８ビットの最大長さをもつ暗号キーを共有暗号キーとして使用することができる。
【００４０】
背景技術で述べたように、ディフィー・ヘルマン技術の１つの欠点は、キー合意が、キー合意プロセスに介入する第３者に対して無防備で、第１及び第２のネットワークエンティティ６８、７０間の通信に影響を及ぼすことができ、他の交換される変数の中で、送信される第１及び第２のキー値Ｙ１、Ｙ２の一方又は両方を変更する機会をもち得ることである。従って、本発明の実施形態は、エンティティ間のキー合意を認証するために更に別のチェック段階を与える。以下に述べるように、キー合意の認証は、第１及び第２のエンティティ間のキー合意の後に行うことができる。しかしながら、それとは別に、キー合意の認証は、本発明の精神及び範囲から逸脱せずに、キー合意の前、又はキー合意の間にも、実行できることを理解されたい。
【００４１】
再び図４を参照すれば、第１及び第２のネットワークエンティティ間のキー合意の後に、第１及び第２のネットワークエンティティ６８、７０は、更に別のチェック段階に使用するために、比較的長い（例えば、１６０ビットの）ランダム（又は擬似ランダム）な値Ｒ１及びＲ２を各々選択することができる。又、更に別のチェック段階に使用するために、第１及び第２のネットワークエンティティは、各々再使用可能なキー又はデータ値Ｐ１及びＰ２を発生し、計算し、さもなければ、与えることができる。再使用可能なキーは、例えば、以前に計算された第１及び第２のキー値Ｙ１及びＹ２（例えば、Ｐ１＝Ｙ１、Ｐ２＝Ｙ２）を含む多数の異なる値のいずれかを含むことができる。このような場合、合意された機密キーＫは、Ｐ１及びＰ２の関数Ｋ＝ｇ（Ｐ１、Ｐ２）を含むことができる。
【００４２】
第１のランダム値Ｒ１を発生した後に、第１のネットワークエンティティ６８は、最初に、第１の再使用可能なキーＰ１及びランダム値Ｒ１に基づくコミットメントを形成することにより第１の再使用可能なキーＰ１へコミットすることができる。例えば、第１のネットワークエンティティは、例えば、次の関係：Ｃ１＝ｈ１（Ｐ１、Ｒ１）に基づいて、一方向ハッシュ関数ｈ１を、第１の再使用可能なキーＰ１及びランダム値Ｒ１を含むメッセージに適用することにより、コミットメントＣ１（第１チェックストリング）を形成することができる。ハッシュ関数ｈ１は、例えば、ＳＨＡ−２５６（安全ハッシュアルゴリズム）関数、等を含む多数の異なるハッシュ関数のいずれかを含むことができる。ハッシュ関数に代わって、暗号コミットメントを計算することのできる他の関数を使用することもできる。コミットメントＣ１を計算した後、第１のネットワークエンティティは、そのコミットメントＣ１、及び必要に応じて、第１の再使用可能なキーＰ１の全部又は一部分を、第２のネットワークエンティティへ送信することができる。第１のネットワークエンティティ６８と同様に、第２のネットワークエンティティ７０は、第２の再使用可能なキーＰ２及びランダム値Ｒ２を第１のネットワークエンティティへ送信することができ、この第２の再使用可能なキーＰ２及び／又はランダム値Ｒ２は、第２のネットワークエンティティが第２の再使用可能なキーにコミットせずに明白なテキストにおいて送信することができる。
【００４３】
第１の再使用可能なキーＰ１へコミットした後であって、且つ第２の再使用可能なキーＰ２及び第２のランダム値Ｒ２を受け取った後のある時点で、第１のネットワークエンティティ６８は、第１のランダム値Ｒ１を第２のネットワークエンティティ７０へ送信することによりコミットメントをオープンすることができる。更に、第２のネットワークエンティティが、第１の再使用可能なキーＰ１の以前の知識をもたないか、さもなければ、第１の再使用可能なキーＰ１受信していない場合には、第１のネットワークエンティティは、第１の再使用可能なキーＰ１（又はその一部分）を第２のネットワークエンティティへ送信することもできる。このように、第２のネットワークエンティティは、コミットされた第１の再使用可能なキーＰ１（コミットメントＣ１における）が、以前に受け取られた第１の再使用可能なキーＰ１（コミットメントＣ１と共に受け取られた）に一致することをチェックできる。より詳細には、第２のネットワークエンティティは、第１のネットワークエンティティがコミットメントＣ１を形成するのと同様に、次の関係：Ｃ２＝ｈ２（Ｐ１、Ｒ１）に基づいて（例えば、ｈ１＝ｈ２）、以前に受信した第１の再使用可能なキーＰ１及び現在受信した第１のランダム値Ｒ１を含むメッセージに一方向ハッシュ関数ｈを適用することにより、チェックストリングＣ２を計算することができる。次いで、第２のネットワークエンティティは、比較関数ｂ１＝ｆ１（Ｃ１、Ｃ２）を適用することによりコミットメントＣ１をチェック氏とリングＣ２と比較することができる。この比較関数は、Ｃ１とＣ２を多数の異なる仕方のいずれかで比較するが、一実施形態では、比較関数は、Ｃ１とＣ２との間の一致（即ち、Ｃ１＝Ｃ２）を識別するための同等性チェックを含む。比較関数ｂ１の結果が偽（例えば、Ｃ１≠Ｃ２）である場合には、キー合意が非認証であると考えられ、第２のネットワークエンティティは、第１及び第２のネットワークエンティティの関連付けを中止することができる。
【００４４】
比較関数ｂ１の結果が真（例えば、Ｃ１＝Ｃ２）である場合には、第２のネットワークエンティティ７０は、コミットされた第１の再使用可能なキーＰ１を首尾良くチェックし、第１及び第２の再使用可能なキーＰ１及びＰ２、並びに第１及び第２のランダム値Ｒ１及びＲ２に基づいて第３のチェックストリングＣ３を計算することができる。同様に、第２の再使用可能なキー及びランダム値Ｐ２及びＲ２を受信した後のある時点で、第１のネットワークエンティティは、Ｐ１及びＰ２並びにＲ１及びＲ２に基づいて第４のチェックストリングＣ４を計算することができる。この点に関して、第１のネットワークエンティティ６８は、第２のネットワークエンティティが第３チェックストリングを計算する（第２のネットワークエンティティがコミットメントを最初にチェックする）前に、第４チェックストリングを計算できるので、第１のネットワークエンティティは、両ネットワークエンティティがそれらの各第３及び第４チェックストリングをほぼ同じ時間までに取得することを希望する場合に、第４チェックストリングを計算するのに、より長い時間がかかることになる。
【００４５】
ネットワークエンティティ６８、７０は、第３及び第４のチェックストリングＣ３及びＣ４を多数の異なる仕方のいずれかで計算することができる。例えば、ネットワークエンティティは、最初に、例えば、次の関係：Ｒ＝ｆ（Ｒ１、Ｒ２）に基づいて、合成関数（例えば、ハッシュ関数、連結、等）を適用することにより、第１及び第２のランダム値Ｒ１及びＲ２の合成Ｒを計算することができる。次いで、ネットワークエンティティは、各関数ｃｖ１及びｃｖ２を合成Ｒ並びに第１及び第２の再使用可能なキーＰ１及びＰ２に適用することにより、第３及び第４のチェックストリングＣ３及びＣ４を計算することができ、ここで、関数ｃｖ１及びｃｖ２は、同じ関数でもよいし、異なる関数でもよい。例えば、ネットワークエンティティは、ＭＡＣ（メッセージ認証コード）関数をＰ１及びＰ２に入力メッセージとしてそしてＲをキーとして適用することにより第３及び第４のチェックストリングを計算し、それにより、短い出力チェックストリングＣ３及びＣ４を発生することができる。出力チェックストリングのサイズを更に減少するために、第３及び第４チェックストリングは、必要に応じて、裁断したＭＡＣを含むことができる。
【００４６】
ネットワークエンティティ６８、７０が第３及び第４のチェックストリングＣ３及びＣ４を計算した後に、これらチェックストリングは、比較関数ｂ２＝ｆ２（Ｃ３、Ｃ４）を適用することにより、比較することができる。この比較関数は、Ｃ３とＣ４を多数の異なる仕方のいずれかで比較するが、一実施形態では、比較関数は、Ｃ３とＣ４との間の一致（即ち、Ｃ３＝Ｃ４）を識別するための同等性チェックを含む。比較関数は、多数の異なる仕方のいずれかにおいて第３及び第４チェックストリングに適用することができる。例えば、以前のメッセージ交換は、ネットワークエンティティ間の非安全チャンネル（例えば、ＢｌｕｅｔｏｏｔｈTM、ＷＬＡＮ、ＷｉＭＡＸ、ＵＷＢ、ＷＵＳＢ、等）を横切ってインバンド式に行なわれたが、比較関数は、アウトオブバンド式に適用することができる。例えば、ネットワークエンティティの１つは、その第３又は第４の各チェックストリングを、アウトオブバンドチャンネル（例えば、ＩＲ、ＮＦＣ、等）を横切って他のネットワークエンティティへ送信することができ、受信側ネットワークエンティティは、第３及び第４チェックストリングを比較するか、又は例えば、ユーザ比較のためのチェックストリングを与えることでチェックストリングの比較を容易にするように比較関数を適用することができる。他のアウトオブバンドの例では、ネットワークエンティティのユーザ（又はネットワークエンティティの一方又は両方のユーザ）により比較するために第３及び第４のチェックストリングを提示することにより第３及び第４のチェックストリングを比較するように比較関数を適用することができる。ユーザ（１人又は複数）が第３及び第４のチェックストリングを比較する場合には、ユーザは、例えば、各エンティティのユーザ入力インターフェイスを経てネットワークエンティティの一方又は両方へ一致又は不一致を指示することができる。
【００４７】
第３及び第４のチェックストリングＣ３及びＣ４がどのように比較されるかに関らず、比較関数ｂ２の結果が偽である場合には、キー合意が非認証と考えられ、ネットワークエンティティ６８、７０の一方又は両方がそれらの関連付けを中止することができる。しかしながら、比較関数ｂ１の結果が真である場合には、キー合意が認証されたと考えられ、ネットワークエンティティは、共有暗号キーＫが信頼できると仮定することができる。次いで、共有暗号キーＫは、ネットワークエンティティにより、データを暗号化及び解読して、非安全チャンネルを横切って安全に通信するように使用することができる。
【００４８】
明らかなように、種々の場合に、この更に別のチェック段階の前には、第１及び第２の再使用可能なキーＰ１及びＰ２の一方又は両方がネットワークエンティティ６８、７０の一方又は両方に知られ得る。このような場合に、第１及び第２の再使用可能なキーＰ１及びＰ２を予め知っているエンティティ（１つ又は複数）は、他のエンティティからこれらキーのいずれかを受け取る必要がない。より詳細には、両方の再使用可能なキーが第１のネットワークエンティティに知られた場合には、第１のネットワークエンティティは、第２のネットワークエンティティから第２の再使用可能なキーＰ２を受け取る必要がない。又、両方の再使用可能なキーが第２のネットワークエンティティに知られた場合には、第２のネットワークエンティティは、第１のネットワークエンティティから第１の再使用可能なキーＰ１を受け取る必要がない。又、再使用可能なキーＰ１が先験的に第２エンティティに知られているか、又はＰ１がコミットメントＣ１と共に第２エンティティへ送信される場合には、第１のネットワークエンティティは、コミットメントＣ１の計算に再使用可能なキーＰ１を含ませる必要がない。しかしながら、再使用可能なキーＰ１が第１のランダム値と共に第２エンティティのみに暴露された場合には、上述したように、通常、コミットメントの計算にＰ１が含まれることになる。
【００４９】
又、明らかなように、再使用可能なキーＰ１及びＰ２は、キーそれ自体だけではなく、全キー合意メッセージも含むことがある。このような場合には、個別のキー合意プロトコルが要求されない。というのは、キー合意メッセージに、コミットメント及び各ランダム値を送信するためのメッセージを便乗させることができるからである。
【００５０】
更に、本発明の実施形態は、一般に、エンティティ間のデータ合意を認証するのに適用できる。図６に示すように、本発明の実施形態によりデータ合意を認証することは、第１及び第２のネットワークエンティティ６８、７０が非安全チャンネルを横切って双方向データ合意を遂行し、その間に、もし成功であれば、第１及び第２のネットワークエンティティに分るように、データストリングＤを発生できるか、さもなければ、合意できるようにすることを含む。図示されたように、更に別のチェック段階は、図４と同様に進めることができる。しかしながら、図４に示された更に別のチェック段階とは対照的に、図６の第１ネットワークエンティティは、データストリングＤ及びランダム値Ｒ１を含むメッセージに一方向ハッシュ関数ｈ１を適用することによりコミットメントＣ１（第１チェックストリング）を形成することができる（即ち、Ｃ１＝ｈ１（Ｄ、Ｒ１）。次いで、第１のネットワークエンティティは、コミットメントＣ１を第２のネットワークエンティティへ送信することができ、この第２ネットワークエンティティは、第２ランダム値Ｒ２を第１ネットワークエンティティへ送信する。
【００５１】
又、図６に示すように、第１ネットワークエンティティ６８から第１ランダム値Ｒ１を受信した後に、第２ネットワークエンティティ７０は、コミットされたデータストリングＤ（コミットメントＣ１における）が、第２ネットワークエンティティに知られたデータストリングＤに一致することをチェックできる。この点について、第２ネットワークエンティティは、第１ネットワークエンティティがコミットメントＣ１を形成するのと同様に、次の関係：Ｃ２＝ｈ２（Ｄ、Ｒ１）に基づいて（例えば、ｈ１＝ｈ２）、既知のデータストリングＤ及び現在受信した第１のランダム値Ｒ１を含むメッセージに一方向ハッシュ関数ｈ２を適用することにより、チェックストリングＣ２を計算することができる。上述したように、第２ネットワークエンティティは、比較関数ｂ１を適用することによりコミットメントＣ１をチェックストリングＣ２と比較し、一致（即ち、Ｃ１＝Ｃ２）を示すことができる。比較関数ｂ１の結果が偽（例えば、Ｃ１≠Ｃ２）である場合には、データ合意が非認証であると考えられ、第２ネットワークエンティティは、第１及び第２のネットワークエンティティの関連付けを中止することができる。さもなければ、比較関数ｂ１の結果が真（例えば、Ｃ１＝Ｃ２）である場合には、ネットワークエンティティは、例えば、上述したように合成Ｒを計算し、そして各関数ｃｖ１及びｃｖ２（例えば、ＭＡＣ関数）をＲ及びＤに適用し、そして必要に応じて、それにより得られるＭＡＣを裁断することにより、既知のデータストリングＤ、並びに第１及び第２のランダム値Ｒ１及びＲ２に基づいて、第３及び第４のチェックストリングＣ３及びＣ４を計算することができる。第３及び第４のチェックストリングＣ３及びＣ４は、上述したように、比較関数ｂ２を適用することにより比較して、一致（即ち、Ｃ３＝Ｃ４）を示すことができる。
【００５２】
明らかなように、ランダム値Ｒ１及びＲ２は、第１ネットワークエンティティを第２及び／又は他のネットワークエンティティに関連付け、及び／又は第２ネットワークエンティティを第１及び／又は他のネットワークエンティティに関連付ける場合ごとに相違し得るが、第１及び第２キーＰ１及びＰ２（又はデータストリングＤ）は、場合ごとに再使用可能である。それ故、本発明の実施形態は、２つのネットワークエンティティの各関連付けのために新たなキーＰ１及びＰ２を発生して望ましからぬ量の時間及びリソースを必要とすることを回避する。又、３つのインバウンドメッセージの交換（例えば、Ｃ１及びＰ１の送信、Ｐ２及びＲ２の送信、並びにＲ１の送信）しか必要としないことにより、本発明の実施形態は、ネットワークエンティティ間のキー合意を認証するための効率的なチェック段階を与える。
【００５３】
本発明の１つの態様によれば、第１及び第２のネットワークエンティティ６８、７０（例えば、ターミナル１２、ＡＰ１４、等）の一方又は両方のような、システムの１つ以上のエンティティにより遂行されるファンクションは、上述したものを含むハードウェア及び／又はファームウェアのような種々の手段により、又は単独で、及び／又はコンピュータプログラム製品の制御のもとで、遂行することができる。本発明の実施形態の１つ以上のファンクションを遂行するためのコンピュータプログラム製品は、不揮発性記憶媒体のようなコンピュータ読み取り可能な記憶媒体と、このコンピュータ読み取り可能な記憶媒体に実施される一連のコンピュータインストラクションのようなコンピュータ読み取り可能なプログラムコード部分を含むソフトウェアとを備えている。
【００５４】
この点に関して、図４、５及び６は、本発明の実施形態による方法、システム及びプログラム製品の制御フローチャートである。この制御フローチャートの各ブロック又はステップ、及び制御フローチャートのブロック又はステップの組み合せは、ハードウェア、ファームウェア、及び／又は１つ以上のコンピュータプログラムインストラクションを含むソフトウェアのような種々の手段により実施できることが理解される。明らかなように、このようなコンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置（即ち、ハードウェア）にロードされて、マシンを形成し、コンピュータ又は他のプログラム可能な装置で実行されるインストラクションが、制御フローチャートのブロック又はステップに指定されたファンクションを遂行するための手段を生成するようにする。又、これらのコンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置が特定の仕方で機能するように指令できるコンピュータ読み取り可能なメモリに記憶され、このコンピュータ読み取り可能なメモリに記憶されたインストラクションは、制御フローチャートのブロック又はステップに指定されたファンクションを遂行するインストラクション手段を含む製品を形成する。又、コンピュータプログラムインストラクションは、コンピュータ又は他のプログラム可能な装置にロードされ、コンピュータ又は他のプログラム可能な装置で一連のオペレーションステップを遂行させられて、コンピュータ実施プロセスを形成し、コンピュータ又は他のプログラム可能な装置で実行されるインストラクションは、制御フローチャートのブロック又はステップに指定されたファンクションを実施するためのステップを与える。
【００５５】
従って、制御フローチャートのブロック又はステップは、特殊なファンクションを遂行するための手段の組み合せ、指定のファンクションを遂行するためのステップの組み合せ、及び指定のファンクションを遂行するためのプログラムインストラクション手段をサポートする。又、制御フローチャートの１つ以上のブロック又はステップ、及び制御フローチャートのブロック又はステップの組み合せは、指定のファンクション又はステップ、或いは特殊目的ハードウェア及びコンピュータインストラクションの組み合せを遂行する特殊目的のハードウェアベースのコンピュータシステムによって実施できることが理解されよう。
【００５６】
以上の説明及び添付図面に示された教示の利益を得る本発明に関する当業者であれば、本発明の多数の変更や他の実施形態が明らかであろう。それ故、本発明は、ここに開示した特定の実施形態に限定されず、且つ特許請求の範囲内に変更や他の実施形態が包含されることを理解されたい。又、特定の用語を使用したが、それらは、一般的な説明の意味で使用されたに過ぎず、限定のためではない。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態から利益が得られるターミナル及びシステムの一形式のブロック図である。
【図２】本発明の実施形態によりターミナル及び／又はアクセスポイントとして動作することのできるエンティティの概略ブロック図である。
【図３】本発明の一実施形態によるターミナルの一形式をより詳細に示す概略ブロック図である。
【図４】本発明の一実施形態によりエンティティ間の接続を確立する間にエンティティを関連付ける方法の種々のステップを示す制御フローチャートである。
【図５】本発明の一実施形態により図４の方法におけるキー交換方法の種々のステップを示す制御フローチャートである。
【図６】本発明の別の実施形態によりエンティティ間の接続を確立する間にエンティティを関連付ける方法の種々のステップを示す制御フローチャートである。
【図１】
2009510963.tif 000003
【図２】
2009510963.tif 000004
【図３】
2009510963.tif 000005
【図４】
2009510963.tif 000006
【図５】
2009510963.tif 000007
【図６】
2009510963.tif 000008
【国際調査報告】
2009510963.tif 000009
2009510963.tif 000010
2009510963.tif 000011
2009510963.tif 000012