(57)【特許請求の範囲】
【請求項１】
楕円曲線暗号化に基づくＥＡＰプロトコルを用い、無線通信機器を認証する方法であって、
第１のメッセージを通信機器からサーバに送信するステップと、
前記サーバにおいて乱数を生成するステップであって、前記乱数がマスクされるステップと、
前記サーバにおいて、第２のメッセージを前記マスクされた乱数と１つのメッセージフィールドとし第１の暗号化信号を生成するステップと、
前記第１の暗号化信号を、前記サーバから前記通信機器に送信するステップと、
前記通信機器において前記第１の暗号化信号を復号化するステップと、
前記通信機器において前記乱数を取り出すステップであって、前記マスクが取り除かれるステップと、
前記通信機器において署名値を用いて署名信号を生成するステップと、
前記通信機器において署名信号を含む第２の暗号化信号を生成するステップと、
前記第２の暗号化信号を前記通信機器から前記サーバに送信するステップと、
前記サーバにおいて前記第２の暗号化信号を復号化するステップと、
前記サーバにおいて、前記サーバと前記通信機器での対応する署名値を比較することにより、前記第２の暗号化信号を検証するステップと、
前記サーバにおいて、前記署名値の前記比較に基づき、前記第２の暗号化信号に対するレスポンスを生成するステップと、
前記サーバにより、前記レスポンスを前記通信機器に送信するステップと、を備える方法。
【請求項２】
前記第１の暗号化信号は、前記第２のメッセージを、前記マスクされた乱数に関連付けられたハッシュ値、公開鍵、および前記乱数に関連付けられたナンス値のうちの少なくとも１つと共に束ねることにより生成される、請求項１に記載の方法。
【請求項３】
前記第２の暗号化信号は、第３のメッセージを、前記通信機器の秘密鍵と関連付けられた署名信号と共に束ねることにより生成される、請求項１に記載の方法。
【請求項４】
楕円曲線暗号化に基づくＥＡＰプロトコルを用い、無線通信機器を認証する方法であって、
第１のメッセージを通信機器からサーバに送信するステップと、
前記サーバにおいて第１の乱数と素数とを生成するステップであって、前記乱数がマスクされるステップと、
前記サーバにおいて、第２のメッセージを、前記マスクされた乱数と、その乱数によって暗号化した素数を用いて第１の暗号化信号を生成するステップと、
前記第１の暗号化信号を、前記サーバから前記通信機器に送信するステップと、
前記通信機器において、前記第１の暗号化信号を復号化するステップと、
前記通信機器において、前記第１の乱数および前記素数を取り出すステップであって、それぞれ対応するマスクが取り除かれるステップと、
前記通信機器において第２の乱数を生成するステップと、
前記通信機器において前記第２の乱数と、これに前記サーバと共有するハッシュ関数を適用したハッシュ値とナンス値とを用いて第２の暗号化信号を生成するステップと、
前記第２の暗号化信号を前記通信機器から前記サーバに送信するステップと、
前記サーバにおいて、前記第２の暗号化信号を復号化するステップと、
前記サーバにおいて、前記第２の乱数を取り出すステップと、
前記サーバにおいて、前記サーバと前記通信機器での対応するハッシュ値およびナンス値を比較することにより、前記第２の暗号化信号を検証するステップと、
前記サーバにおいて、前記ハッシュ値およびナンス値の前記比較に基づき、前記第２の暗号化信号に対するレスポンスを生成するステップと、
前記サーバにより、前記レスポンスを前記通信機器に送信するステップと、を備える方法。
【請求項５】
予め共有される１９２ビットの秘密（暗号）鍵を、ＡＥＳ‐ＣＴＲアルゴリズムを用いて、前記サーバから前記通信機器に送信することをさらに含む、請求項４に記載の方法。
【請求項６】
前記第２の乱数は、擬似乱数生成（ＰＲＮＧ）法を用いて生成される、請求項４に記載の方法。
【請求項７】
前記第２の暗号化信号は、第３のメッセージを、前記第２の乱数と関連付けられたハッシュ値および秘密鍵と関連付けられたナンス値と共に束ねることにより生成されるものであり、前記秘密鍵は決定論的乱数列生成（ＤＲＳＧ）プロセスを用いて生成される、請求項４に記載の方法。
【請求項８】
前記第２の暗号化信号を復号化することは、前記秘密鍵を取り出すことを含んでいる、請求項５に記載の方法。
【請求項９】
前記第２の暗号化信号の検証は、前記第２の乱数と関連付けられたハッシュ値および前記通信機器の前記秘密鍵と関連付けられたナンス値のうちいずれかの対応する値を比較することにより行われる、請求項４に記載の方法。
【請求項１０】
楕円曲線暗号化に基づくＥＡＰプロトコルを用い、無線通信機器を認証するシステムであって、
サーバにおいて第１の乱数を生成するように構成された乱数生成器であって、前記乱数はマスクされる、乱数生成器と、
前記サーバにおいて素数を生成するように構成された素数生成器と、
前記サーバにおいて、第２のメッセージを、前記第１の乱数および前記素数から得られるマスクされたデータ信号と１つのメッセージフィールドとすることにより、第１の暗号化信号を生成するように構成された第１の暗号化モジュールと、
前記第１の暗号化信号を、前記サーバから受信するように構成された通信機器と、
前記通信機器において、前記第１の暗号化信号を復号化し、さらに、復号化されたデータ信号から対応するマスクを取り除いて、取り出すように構成された第１の復号化モジュールと、
前記通信機器において第２の乱数を生成するように構成された乱数生成器と、
前記通信機器において署名信号を生成するように構成された署名信号生成モジュールと、
前記通信機器において、第３のメッセージを、前記第２の乱数から得られるデータ信号と１つのメッセージフィールドとすることにより、第２の暗号化信号を生成するように構成された第２の暗号化モジュールと、
前記通信機器において、前記第２の暗号化信号を前記サーバに送信するように構成された送受信機と、
前記サーバにおいて、前記第２の暗号化信号を復号化するように構成された第２の復号化モジュールと、
前記サーバにおいて、前記サーバと前記通信機器での対応する署名値、ハッシュ値、およびナンス値のいずれか１つを比較することにより、前記第２の暗号化信号を検証するように構成された検証モジュールと、を備えるシステム。
【請求項１１】
前記第１の暗号化モジュールは、前記第２のメッセージを、前記マスクされた乱数と関連付けられたハッシュ値、前記乱数と関連付けられたハッシュ値、秘密鍵、および前記乱数と関連付けられたナンス値のうちの少なくとも１つと共に束ねることにより、前記第１の暗号化信号を生成するように構成されている、請求項１０に記載のシステム。
【請求項１２】
前記第２の暗号化モジュールは、前記第３のメッセージを、秘密鍵、この秘密鍵に関連付けられた署名信号、および前記第２の乱数のハッシュ値のうちの少なくとも１つと共に束ねることにより、前記第２の暗号化信号を生成するように構成されている、請求項１０に記載のシステム。
【請求項１３】
前記第２の復号化モジュールは、前記第２の暗号化信号から前記秘密鍵を取り出すように構成されている、請求項１２に記載のシステム。
【請求項１４】
前記検証モジュールは、前記通信機器の秘密鍵か、前記サーバと前記通信機器でのハッシュ値か、又はナンス値か、のいずれかの対応する値を比較することにより、前記第２の暗号化信号を検証するように構成されている、請求項１０に記載のシステム。
【請求項１５】
前記通信機器は、２Ｇ、３Ｇ、あるいは４Ｇ通信プロトコルを用いて動作することが可能な無線通信機器である、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、無線通信の分野に関する。特に、本願は、ＥＣＣ（楕円曲線暗号）方式およびＳＫＥ（対称鍵暗号）方式に基づく軽量の拡張認証プロトコル（ＥＡＰ）を用いることによる、少なくとも１つの無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法に関するものである。
【背景技術】
【０００２】
移動通信および無線通信においては、一般的に、認証法を用いてネットワーク・アクセスを得る。アクセスを提供する（移動通信あるいは無線通信のための）通信サーバは、ユーザが本人であることを確認するための、プロセスおよびプロトコルのセットを備えていなければならない。ユーザのログオンを認証し、ユーザのネットワーク使用状況をモニタリングし、顧客への課金を行う標準的な手段が必要である。現在、上記基準を満たす、認証、認可、およびアカウンティング（ＡＡＡ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ，Ａｕｔｈｏｒｉｚａｔｉｏｎ，Ａｃｃｏｕｎｔｉｎｇ）目的の規格およびプロトコルは存在している。しかしながら、それらの中には安全でないものがあり、それらのパフォーマンスは３Ｇ移動通信要件を満たさない。
【０００３】
ところで、現在の移動通信および無線通信の認証方式は、証明書を使用している。認可プロトコルは、何らかの“課金証明書”という考えをサポートしている必要がある。このような証明書は、サイズ面で重く、モバイル・アプリケーションのパフォーマンスに影響する。主にモバイルバンキング部門における多くの機関により設定されている慎重な基準によると、無線メディアを利用するモバイル・アプリケーションの最適パフォーマンスを保証する助けとなる軽量のプロトコルが必要である。
【０００４】
また、スマートフォン、ＰＤＡ、セルラーフォン、および遠隔制御システムのような、モバイル機器および無線機器は、デジタル環境において、ますます重要な役割を果たすようになっている。モバイル機器および無線機器が広範囲に使用されることによって、新たにセキュリティとプライバシーの危険がもたらされ、また、モバイル機器の利用が広がると、顧客は、個人情報やトランザクションの痕跡をずっと残したままにして、時には、その機器をそのままポケットに入れて持ち歩くこともある。他の何らかのリンク可能な情報がメッセージに関連付けられている限り、個人情報を隠すことは無意味であり、真のプライバシーを与えることは難しいので、軽量のプロトコルを利用することは、大半のモバイル・アプリケーションおよび無線アプリケーションに対して効果的な解決を提供する助けとなるであろう。
【０００５】
以下のいくつかの発明が、少なくとも１つの無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法を提供することに取り組んでいる。
【０００６】
Ｌｅｕ等により出願された特許文献１は、ＥＣＣを採用した認証方法について開示している。これは、モバイル・ブロードキャストＴＶシステムに適用されるもので、このシステムは、１つ以上のヘッドエンド・システムと、少なくとも１つの送信機と、少なくとも１つのモバイルセットとを備えている。この認証方法では、モバイルセットから認証のためのヘッドエンド・システムに少なくとも１つの要求メッセージが同時にあるいは短時間に届き、ＥＣＣにより各ブロードキャスト認証メッセージを処理し、ＥＣＣとペアリング演算により各サービス要求メッセージを処理し、ヘッドエンド・システムとモバイルセットとの間でＥＣＣとペアリング演算により相互認証を行い、そして、同時にあるいは短時間に同じサービスを求めてヘッドエンド・システムに届いた多くの要求の全てのモバイルセットに対する認証メッセージを１つのグループにしてブロードキャストする。
【０００７】
Ｖａｎｓｔｏｎｅ等により出願された特許文献２は、鍵確立プロトコルについて開示しており、これは、セッション鍵と公開情報とで、一般的にはハッシュである暗号関数の値を生成する。この値は、セッション鍵を生成するのに必要な情報と共に、通信者間でやり取りされる。セッション鍵が漏洩していなければ、暗号関数の値は各通信者で同じである。セッション鍵にアクセスすることなく、暗号関数の値を盗聴したり改ざんしたりすることはできない。
【０００８】
Ｊｕｎｇ等により出願された特許文献３は、ＩＤベース暗号システムにおいて用いられる会議セッション鍵の配布方法について開示しており、これは、２つの異なる一時秘密鍵を選択し、メッセージを生成し、そして、セッション開始側の一時秘密鍵を用いてセッション鍵生成変数を生成する。正当な参加パーティのみが、セッション鍵生成変数を受け取る。各パーティは、セッション鍵生成変数からセッション共有鍵を計算する。
【０００９】
Ｖａｎ  Ｃ．Ｖａｎにより出願された特許文献４は、ハイパーテキスト転送プロトコル（ＨＴＴＰ：ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）のような標準的な要求−応答プロトコルとの関連において、クライアント−サーバ・プロトコルのサポート・リストについて開示している。一実施形態による方法では、所定の転送プロトコルに従って要求を受信する。この要求の受信に応えて、この方法は、サポートされているクライアント−サーバ・プロトコルをサーバにとって望ましい順序で示したリストを、上記所定の転送プロトコルに従って送信する。一実施形態において、上記要求はＨＴＴＰに基づくＯＰＴＩＯＮＳ要求である。一実施形態において、上記リストは、サーバによりサポートされているプロトコルの完全なリストではない。
【００１０】
Ｍａｃｈａｎｉ等により出願された特許文献５は、クライアント−サーバ通信の認証および暗号化の方法について開示しており、これは以下のステップを備えている。ａ）暗号化トークンから、第１のワンタイム・パスワード（ＯＴＰ１）と第２のワンタイム・パスワード（ＯＴＰ２）を生成する。ｂ）ＯＴＰ２に基づき、暗号化キー（Ｋ＿ＥＮＣ）とＭＡＣキー（Ｋ＿ＭＡＣ）を生成する。ｃ）Ｋ＿ＥＮＣおよびＫ＿ＭＡＣを用いてクライアント・データを準備し保護する。ｄ）要求メッセージをクライアントからサーバに送信する。この要求メッセージは、保護されたクライアント・データと、暗号化トークン識別子（ＴＩＤ）と、ＯＴＰ１とを含んでいる。ｅ）サーバにおいてＯＴＰ１を検証し、検証に成功した場合はサーバにおいてＯＴＰ２を生成する。ｆ）サーバにおいてＯＴＰ２からＫ＿ＥＮＣとＫ＿ＭＡＣを導出する。ｇ）要求メッセージを処理して、結果データを生成する。ｈ）Ｋ＿ＥＮＣを用いて結果データを暗号化し、Ｋ＿ＭＡＣを用いてダイジェストを生成する。ｉ）暗号化した結果データをクライアントに送信する。ｊ）クライアントにおいてＫ＿ＥＮＣを用いて結果データを復号化し、Ｋ＿ＭＡＣを用いて結果データの真正性を確認する。
【００１１】
Ｂｕｒｔｏｎ  Ｓ．Ｋａｌｉｓｋｉ，Ｊｒ．により出願された特許文献６は、電子取引において、クライアントとサーバのみが知っている鍵で証明書を暗号化することにより、サーバに対してクライアントの信頼性を確立するためのプロトコルについて開示している。サーバの信頼は、必要であれば、公開鍵プロトコルにより確立することができる。クライアントは、サーバの公開鍵あるいはセッション秘密鍵で暗号化された証明書の少なくとも一部を含むメッセージを生成し、通信チャネルを通じて送信する。サーバは、メッセージを受信して処理することで証明書の少なくとも一部を復元し、それを検証して、クライアントの信頼性の証明として承認する。
【００１２】
Ｂｒｏｗｎ等により出願された特許文献７は、楕円曲線乱数生成器について開示しており、これは、楕円曲線上の点Ｑを検証可能にランダムに選択することによりエスクロー鍵を回避している。任意のストリングを選択し、そのストリングのハッシュを計算する。そして、そのハッシュは望ましいフィールドの要素に変換され、その要素は、楕円曲線上の点Ｑのｘ座標と見なされ、このｘ座標は、望ましい楕円曲線上での有効性がテストされる。有効であれば、ｘ座標は点Ｑに伸張され、このとき、２点のどちらかの選択もハッシュ値から導出される。エスクロー鍵を意図的に用いることにより、バックアップ機能を提供している。ＰとＱの間の関係は、エスクロー鍵として使用され、セキュリティ・ドメインで記憶される。アドミニストレータは、生成器の出力を記録しておき、エスクロー鍵で乱数を再構成する。
【００１３】
Ｚｅｎｇ等により出願された特許文献８は、ある群の同じジェネレータで、１つの秘密鍵から複数の公開鍵を生成する方法、装置、およびシステムについて開示している。また、複数の匿名公開鍵を生成するための公開鍵暗号方式も開示しており、それらの匿名公開鍵は全て安全な通信のために用いられる同じパーティに関連するものである。これらの匿名公開鍵は、同じジェネレータを用いて単一の秘密鍵から生成される。この発明によると、計算量が削減され、メモリを節約することができ、セキュリティ・レベルを向上することができる。
【００１４】
Ｖａｎｓｔｏｎｅ等により出願された特許文献９は、ＥＣＣを用いて鍵交換メッセージを検証することで中間者攻撃を防止する方法を教示している。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許出願公開第２００９／０１８０６１２号
【特許文献２】米国特許第７２４３２３２号
【特許文献３】米国特許第７７１６４８２号
【特許文献４】米国特許第６６５８４７６号
【特許文献５】米国特許出願公開第２０１０／００３１０５１号
【特許文献６】米国特許第６１８９０９８号
【特許文献７】米国特許出願公開第２００７／０１８９５２７号
【特許文献８】米国特許出願公開第２００６／００９８８１９号
【特許文献９】米国特許第６５６３９２８号
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記の従来技術は、いずれも、記憶に占めるメモリ空間がより少なく、軽量かつ高速で証明書を用いない、移動通信および無線通信用の拡張認証プロトコル（ＥＡＰ）のためのシステムおよび方法を提供するものではなく、また、２Ｇ、３Ｇ、あるいは４Ｇネットワーク対応の無線通信機器に適したＥＡＰを提供するものでもない。
【００１７】
このように、上記従来技術を考慮すると、以下のようなシステムおよび方法が必要であることは明らかである。
・  携帯電話および無線機器についての、機密保護、認証、認可、およびアカウンティング（ＣＡＡＡ：Ｃｏｎｆｉｄｅｎｔｉａｌｉｔｙ，Ａｕｔｈｅｎｔｉｃａｔｉｏｎ，Ａｕｔｈｏｒｉｚａｔｉｏｎ，Ａｃｃｏｕｎｔｉｎｇ）の問題を、手頃なコストで解決する。
・  移動通信および無線通信のための、証明書を用いない拡張認証プロトコル（ＥＡＰ）を提供する。
・  現在は片方向認証が標準であるのに対して、双方向認証を提供する。
・  既存の無線通信機器において容易に実施できる、ＥＣＣ（Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｃｒｙｐｔｏｇｒａｐｈｙ：楕円曲線暗号）方式およびＳＫＥ（Ｓｙｍｍｅｔｒｉｃ  Ｋｅｙ  Ｅｎｃｒｙｐｔｉｏｎ：対称鍵暗号）方式に基づく（適当な置換を用いる）拡張認証プロトコル（ＥＡＰ）を提供する。
【課題を解決するための手段】
【００１８】
本システムおよび方法、その実施可能性について説明する前に、本願は記載されている特定のシステムおよび方法に限定されるものではなく、本開示に明確に示されていない多様な実施形態が可能であることを理解されたい。また、説明で用いられる専門用語は、特定の例あるいは実施形態を記述する目的のものにすぎず、本願の範囲を限定するものではないことを理解されたい。
【００１９】
主要な目的は、ＥＣＣ（楕円曲線暗号）方式およびＳＫＥ（対称鍵暗号）方式に基づく（適当な置換を用いる）拡張認証プロトコル（ＥＡＰ）群のためのシステムおよび方法を提供することであり、これによって、機密保護、認証、認可、およびアカウンティング（ＣＡＡＡ）という用件に手頃なコストで貢献することが可能である。
【００２０】
他の重要な目的は、ＥＣＣ方式およびＳＫＥ方式を用いる拡張認証プロトコルを提供することである。このようなプロトコルは、モバイル機器および無線通信機器に容易に組み入れることができる。
【００２１】
他の目的は、ＥＣＣおよびＳＫＥに基づく（置換法を用いる）ＥＡＰの方法およびシステムを提供することであり、これによって、リプレイ攻撃を回避することができる。
【００２２】
他の目的は、記憶に占めるメモリ空間がより少なく、軽量かつ高速で証明書を用いない、移動通信および無線通信用の拡張認証プロトコル（ＥＡＰ）のためのシステムおよび方法を提供することである。
【００２３】
他の目的は、証明書を用いない、移動通信および無線通信用の拡張認証プロトコル（ＥＡＰ）を提供することである。
【００２４】
他の目的は、通信ネットワークを通して登録情報や利用者の詳細を安全に伝送できるようにすることである。
【００２５】
他の目的は、２Ｇ、３Ｇ、あるいは４Ｇアプリケーションにより提供されるチップレベルの下位層セキュリティに比べて、パフォーマンスに優れた軽量のセキュリティを提供することである。
【００２６】
他の目的は、現在は片方向認証が標準であるのに対して、双方向認証を提供することである。
【００２７】
本願は、提案するＥＡＰ方式において、ＥＣＣアルゴリズムおよびＳＫＥアルゴリズムを用いる。このＥＣＣおよびＳＫＥに基づくＥＡＰでは、無線通信機器とサーバとの間で交換される証明書はない。通信の際には、リプレイ攻撃を回避するため、無線通信機器側とサーバ側との間で置換法（素数ｐ＝２  ｍｏｄ  ３を法として、乱数を３乗する）が用いられる。定義される置換：ｒ→ｒ３＝ｒ３ｍｏｄ  ｐ（但しｐ＝２  ｍｏｄ  ３）は全単射写像であり、これは、提案するＥＡＰにおいて重要な役割を果たすものとして採用される。
【００２８】
一つの態様において、システムは、サーバと無線通信機器とを備え、これらは通信ネットワークを介して互いに通信接続されている。通信ネットワークは、広域ネットワーク（ＷＡＮ）、ローカルエリア・ネットワーク（ＬＡＮ）、メトロポリタンエリア・ネットワーク（ＭＡＮ）、インターネット、イントラネットなどからなるグループから選択することができる。好ましい実施形態では、通信ネットワークはインターネットである。無線通信機器は、モバイル・ハンドセット、スマートフォン、ＰＤＡ、セルラーフォン、あるいは、２Ｇ、３Ｇまたは４Ｇネットワーク対応の小型機器および無線通信機器からなるグループの１つから選択することができる。好ましい実施形態では、無線通信機器は携帯電話である。
【００２９】
一実施形態によると、３つの軽量の拡張認証プロトコル（ＥＡＰ）のいずれか１つを用いて認証プロセスを実行することができ、これによって、サーバへのアクセスが許可される前の無線通信機器を支援する。上記軽量の拡張認証プロトコル（ＥＡＰ）は、ＥＣＣ方式およびＳＫＥ方式のいずれか１つを（適当な置換と共に）用いるものであり、これによって、機密保護、認証、認可、およびアカウンティング（ＣＡＡＡ）という用件に手頃なコストで貢献することが可能である。
【００３０】
上記の概要、および以下の好適な実施形態の詳細な説明は、添付の図面と併せて読むことで、よく理解されるものである。図面には例としての実施形態を示してあるが、本願は、図面に開示されている特定のシステムおよび方法に限定されるものではない。
【図面の簡単な説明】
【００３１】
【図１】図１は、サーバと無線通信機器との間での、ＥＣＣ（楕円曲線暗号）方式に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。
【図２】図２は、サーバと無線通信機器との間での、ＳＫＥ（対称鍵暗号）方式−１に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。
【図３】図３は、サーバと無線通信機器との間での、ＳＫＥ（対称鍵暗号）方式−２に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。
【図４】図４は、無線通信機器とサーバとの間で、軽量のＥＡＰプロトコルを用いてデータの安全なトランザクションを実行する場合のフロー図を示している。
【発明を実施するための形態】
【００３２】
以下、いくつかの実施形態について、その特徴を示して詳しく説明する。「備えている」、「有している」、「収容している」、および「含んでいる」という言葉、およびこれらの変化形は、同じ意味のものであり、また、これらの言葉のいずれかに続くアイテムは、それらのアイテムが網羅的列挙であることを意味するものでない、すなわち列挙されているアイテムのみに限定されることを意味するのではないという点で、制限のないものである。また、本書および添付の請求項において用いる単数形の“ａ”、“ａｎ”および“ｔｈｅ”は、文脈において明確に述べていない限り、複数の意味を含むものである、ということについても注意が必要である。本書で記載されるものと類似のあるいは均等な方法およびシステムであれば、いずれも実施形態の実施や試験に用いることが可能であるが、以下では好ましい方法およびシステムについて説明する。開示される実施形態は典型例にすぎない。
【００３３】
拡張認証プロトコル（ＥＡＰ：Ｅｘｔｅｎｓｉｂｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）は、ネットワークアクセス・クライアントと認証サーバのための基盤を提供するインターネット標準である（ＲＦＣ  ３７４８）。これは、無線ネットワークおよびＰＰＰ接続に適用される。ＥＡＰは、認証方式そのものは規定しておらず、通信者間で認証方式を取り決めるやり方を規定するものである。ＥＡＰに厳密な認証プロトコルがないことで、攻撃が生じる。
【００３４】
そこで、本願は、ＥＣＣ（楕円曲線暗号）方式およびＳＫＥ（対称鍵暗号）方式に基づく（適当な置換を用いる）拡張認証プロトコル（ＥＡＰ）群のためのシステムおよび方法を提供する。これは、機密保護、認証、認可、およびアカウンティング（ＣＡＡＡ）という用件に手頃なコストで貢献するものである。
【００３５】
本願は、提案するＥＡＰスキームにおいて、ＥＣＣアルゴリズムおよびＳＫＥアルゴリズムを用いた。このＥＣＣおよびＳＫＥに基づくＥＡＰでは、無線通信機器とサーバとの間で交換される証明書はない。通信の際には、リプレイ攻撃を回避するため、無線通信機器側とサーバ側との間で置換法（素数ｐ＝２  ｍｏｄ  ３を法として、乱数を３乗する）が用いられる。定義される置換：ｒ→ｒ３＝ｒ３  ｍｏｄ  ｐ（ここでｐ＝２  ｍｏｄ  ３）は全単射写像であり、これは、提案するＥＡＰにおいて重要な役割を果たすものとして採用される。以下では、ＣＡＡＡという用件を満たす３つの認証プロトコルを提案している。
【００３６】
図１は、サーバと無線通信機器との間での、ＥＣＣ（楕円曲線暗号）方式に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。システム１００は、サーバ１１０と無線通信機器１２０とを備え、これらは通信ネットワークを介して互いに通信接続されている。通信ネットワークは、広域ネットワーク（ＷＡＮ）、ローカルエリア・ネットワーク（ＬＡＮ）、メトロポリタンエリア・ネットワーク（ＭＡＮ）、インターネット、イントラネットなどからなるグループから選択することができる。好ましい実施形態では、通信ネットワークはインターネットである。無線通信機器１２０は、モバイル・ハンドセット、スマートフォン、ＰＤＡ、セルラーフォン、あるいは、２Ｇ、３Ｇまたは４Ｇネットワーク対応の小型機器および無線通信機器からなるグループの１つから選択することができる。好ましい実施形態では、無線通信機器１２０は携帯電話である。
【００３７】
上記システム１００で用いられる通信方法では、サーバに１１０にアクセスする接続試行を少なくとも１つの無線通信機器１２０から受けて、楕円曲線暗号（ＥＣＣ）方式に基づく軽量の拡張認証プロトコル（ＥＡＰ）を用いて認証プロセスを実行することにより、サーバ１１０へのアクセスが許可される前の無線通信機器１２０を支援する。上記認証プロセスは、次のようなステップを備えている。
【００３８】
提案される方法の第１ステップでは、無線通信機器１２０は、サーバ１１０に対してクライアント・ハローメッセージを送信することにより、通信を開始する。クライアント・ハローメッセージは、この無線通信機器１２０で使用する準備ができている暗号化アルゴリズムのリストと、サーバ１１０を認証するのに用いられる何らかのチャレンジデータとを含んでいる。メッセージは、次のようなフィールドを含んでいる。
【表１】
0005307191.tif 000002
【００３９】
セッション識別子は、現在の要求を以前のものと照合するのに用いられ、これによって、２つのシステムの間で頻繁に通信が行われる場合に認証および鍵交換を繰り返し行う必要がないようにしている。サーバ１１０は、鍵を選択すると、それらをキャッシュに格納し、無線通信機器１２０がクライアント・ハローメッセージの中にセッション識別子を提供している場合は、サーバ１１０はこのセッション識別子をキャッシュで検索する。典型例である一実施形態によると、メッセージは上記のフィールドに加えて、３２ビット長の‘バッファメモリ’フィールドを含んでいる。クライアント・ハローメッセージのフィールドおよび長さは、要求に応じて変更することができる。
【００４０】
第２ステップで、サーバ１１０は、クライアント・ハローメッセージを受け取ると、乱数‘ｒ’を生成する。典型例である一実施形態によると、乱数‘ｒ’のサイズは１００ビットである。そして、サーバ１１０は、生成した乱数‘ｒ’、マスク（Ｍａｓｋ）、ハッシュ関数を適用したトランザクションＩＤを用いて、乱数のマスク結果値｛ｓ＝（ｒ||Ｍａｓｋ） ＸｏＲ  Ｈａｓｈ（Ｔｒ＿ＩＤ）｝を計算する。ここで、マスクは１５６ビットである。続いて、サーバ１１０は、無線通信機器１２０の公開鍵‘ＰＵＢ’を用いてＥＣＥ暗号化アルゴリズムにより乱数のマスク結果値‘ｓ’を暗号化し、マスク結果値‘ｓ’にハッシュ関数を適用したもの、およびセキュリティ用ナンス値を付加して、暗号化メッセージを生成する。そして、サーバ１１０は、その暗号化メッセージ｛ｙ＝ＥＣＥＰＵＢ（ｓ），Ｈａｓｈ（ｓ），Ｎｏｎｃｅ（ｒ）｝を無線通信機器１２０に送信する。
【００４１】
第３ステップで、無線通信機器１２０は、暗号化メッセージを受け取ると、この無線通信機器１２０の秘密鍵‘ｋ’を用いたＥＣＥ復号化アルゴリズムとハッシュ関数の適用｛Ｈａｓｈ（Ｔｒ＿ＩＤ）ＸｏＲ  ＥＣＥｋ（ｙ）｝により、乱数‘ｒ’とマスクからなるものを取り出す。続いて、無線通信機器１２０は、これを乱数‘ｒ’とマスクに分割し、そして、乱数の値をセキュリティ用ナンス値で検証し、乱数のマスク結果値‘ｓ’をハッシュ関数で検証する。
【００４２】
第４ステップで、無線通信機器１２０は、秘密鍵‘ｋ’を用いたＥＣＤＳＡ−１６３アルゴリズムにより、結果値‘ｍ’を含むメッセージに署名したもの｛ｓｉｇｎｓ｝を生成する。ここで、結果値‘ｍ’｛ｍ＝ｒ３ｍｏｄ  ｐ＝１３７ビット数｝は、乱数‘ｒ’に置換法を用いることで得られる。続いて、無線通信機器１２０は、結果メッセージ｛ｓｉｇ＿ｖａｌｕｅ｝をサーバ１１０に送信する。
【００４３】
第５ステップで、サーバ１１０は、無線通信機器１２０の公開鍵‘ＰＵＢ’を用いたＥＣＤＳＡ−１６３アルゴリズムにより、受信した結果メッセージ｛ｓｉｇ＿ｖａｌｕｅ｝から結果値‘ｍ’を取り出し、続いて、サーバ１１０は、乱数‘ｒ’に置換法を用いて結果値‘ｍ’｛ｍ＝ｒ３ｍｏｄ  ｐ｝を得て、これにより署名を検証する。
【００４４】
受信した結果メッセージの署名を検証したら、最終ステップで、サーバ１１０は、無線通信機器１２０に対してレスポンスを送る。
【００４５】
上記システム１００において通信を開始する前に、最初に、サーバ１１０は、無線通信機器１２０の機器番号とＩＭＥＩ番号を登録し、そして、サーバ１１０へのアクセスが許可される前の各無線通信機器１２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。
【００４６】
典型例である一実施形態によると、無線通信機器１２０は携帯電話である。従って、サーバ１１０はモバイル番号とＩＭＥＩ番号を登録し、そして、サーバ１１０へのアクセスが許可される前の各携帯電話１２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。無線通信機器１２０は、楕円暗号（ＥＣ）の復号化とＥＣ署名の生成のために１６３ビットの秘密鍵‘ｋ’を用いる。サーバ１１０は、楕円暗号（ＥＣ）の暗号化とＥＣ署名の検証のために公開鍵‘ＰＵＢ’を使用し、また、シードを受け取って乱数を生成する周知の擬似乱数生成器（ＰＲＮＧ：Ｐｓｅｕｄｏ  Ｒａｎｄｏｍ  Ｎｕｍｂｅｒ  Ｇｅｎｅｒａｔｏｒ）を使用する。
【００４７】
一実施形態によると、上記システム１００において通信が開始される前に、最初に、無線通信機器とサーバとの間で（楕円曲線暗号）ＥＣＣ−１６３の設定が調整される。
【００４８】
ＥＣＣ（楕円曲線暗号）方式に基づくＥＡＰプロトコルを用いたデータの安全なトランザクションの実例：
１．Ｔｒ＿ＩＤ＝３５４２２
２．Ｈａｓｈ（Ｔｒ＿ＩＤ）＝９５４０５４０１２３４５１１
３．素数  ｐ＝１０１，ここで、ｐは、２  ｍｏｄ  ３
４．無線通信機器の秘密鍵 ｋ＝１９９
５．無線通信機器の公開鍵 ＰＵＢ＝（２３２，１２３）
６．サーバが、乱数 ｒ＝１２４３２５を生成する。
７．サーバが、ｓ＝１２４３２５５７８３４５９３２１  ＸｏＲ  ９５４０５４０１２３４５１１＝１１９２３９１４７５８７７３０２，ここで、Ｍａｓｋ＝５７８３４５９３２１，を計算する。
８．サーバが、ＰＵＢを利用し、そして｛（２３２４１，３４３４３），３４４３２２１，１５｝を無線通信機器に送信する。
９．無線通信機器は、（２３２４１，３４３４３）に対するｋを用いたＥＣ復号化によりｓを得て、ここから、無線通信機器はｒ＝１２４３２５を取り出す。
１０．無線通信機器は、ｍ  ＝ｒ３ｍｏｄ  ｐ  ＝８７を計算し、ｋを用いたＥＣＤＳＡ−１６３アルゴリズムによりｍに署名して、ｓｉｇ＿ｖａｌｕｅ＝｛４５４７，３４３４｝をサーバに送る。
１１．サーバは、ｍ＝ｒ３ｍｏ  ｐ＝８７を計算し、クライアントの公開鍵を用いて署名を検証する。
【００４９】
図２は、サーバと無線通信機器との間での、ＳＫＥ（対称鍵暗号）方式−１に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。システム２００は、サーバ２１０と無線通信機器２２０とを備え、これらは通信ネットワークを介して互いに通信接続されている。通信ネットワークは、広域ネットワーク（ＷＡＮ）、ローカルエリア・ネットワーク（ＬＡＮ）、メトロポリタンエリア・ネットワーク（ＭＡＮ）、インターネット、イントラネットなどからなるグループから選択することができる。好ましい実施形態では、通信ネットワークはインターネットである。無線通信機器２２０は、モバイル・ハンドセット、スマートフォン、ＰＤＡ、セルラーフォン、あるいは、２Ｇ、３Ｇまたは４Ｇネットワーク対応の小型機器および無線通信機器からなるグループの１つから選択することができる。好ましい実施形態では、無線通信機器２２０は携帯電話である。
【００５０】
上記システム２００で用いられる通信方法では、サーバに２１０にアクセスする接続試行を少なくとも１つの無線通信機器２２０から受けて、ＳＫＥ（対称鍵暗号）方式に基づく軽量の拡張認証プロトコル（ＥＡＰ）を用いて認証プロセスを実行することにより、サーバ２１０へのアクセスが許可される前の無線通信機器２２０を支援する。上記認証プロセスは、次のようなステップを備えている。
【００５１】
提案される方法の第１ステップでは、無線通信機器２２０は、サーバ２１０に対してクライアント・ハローメッセージを送信することにより、通信を開始する。クライアント・ハローメッセージは、この無線通信機器２２０で使用する準備ができている暗号化アルゴリズムのリストと、サーバ２１０を認証するのに用いられる何らかのチャレンジデータとを含んでいる。メッセージは、次のようなフィールドを含んでいる。
【表２】
0005307191.tif 000003
【００５２】
セッション識別子は、現在の要求を以前のものと照合するのに用いられ、これによって、２つのシステムの間で頻繁に通信が行われる場合に認証および鍵交換を繰り返し行う必要がないようにしている。サーバ２１０は、鍵を選択すると、それらをキャッシュに格納し、無線通信機器２２０がクライアント・ハローメッセージの中にセッション識別子を提供している場合は、サーバ２１０はこのセッション識別子をキャッシュで検索する。典型例である一実施形態によると、メッセージは上記のフィールドに加えて、３２ビット長の‘バッファメモリ’フィールドを含んでいる。クライアント・ハローメッセージのフィールドおよび長さは、要求に応じて変更することができる。
【００５３】
第２ステップで、サーバ２１０は、クライアント・ハローメッセージを受け取ると、乱数‘ｒ’と素数‘ｐ’（＝２  ｍｏｄ  ３）を生成する。典型例である一実施形態によると、乱数‘ｒ’のサイズは１９２ビットであり、素数‘ｐ’のサイズは６４ビットである。そして、サーバ２１０は、生成した乱数‘ｒ’およびマスク（Ｍａｓｋ）と、ハッシュ関数を適用したトランザクションＩＤ、顧客ＩＤ、機器番号、およびセキュリティ用ナンス値を用いて、乱数のマスク結果値｛ｓ＝（ｒ||Ｍａｓｋ） ＸｏＲ  Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ ｎｏ）｝を計算する。ここで、マスクは６４ビットである。続いて、サーバ２１０は、ｒを用いた暗号化によりｙ１＝Ｅｎｃｒ（ｐ）を算出し、これにハッシュ関数を適用したものとセキュリティ用ナンス値とを付加して、乱数のマスク結果値‘ｓ’で暗号化メッセージを生成する。そして、サーバ２１０は、その暗号化メッセージ｛ｓ，ｙ１＝Ｅｎｃｒ（ｐ），Ｈａｓｈ（ｙ１），Ｎｏｎｃｅ（ｙ１）｝を無線通信機器２２０に送信する。
【００５４】
第３ステップで、無線通信機器２２０は、暗号化メッセージを受け取ると、ハッシュ関数の適用｛Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ  ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ  ｎｏ）  ＸｏＲ  ｓ｝により、乱数‘ｒ’とマスクからなるものを取り出す。続いて、無線通信機器２２０は、これをマスクと乱数‘ｒ’に分割する。この乱数‘ｒ’を用いて｛ｙ１｝を復号化することで素数‘ｐ’を復元し、さらに、受信したメッセージのハッシュ値｛Ｈａｓｈ（ｙ１）｝を検証する。次に、無線通信機器２２０は、結果値｛ｒ３  ＝（ｒ  ｍｏｄ  ｐ）３ｍｏｄ  ｐ｝を計算する。これは、乱数の置換法を用いて得られる。続いて、無線通信機器２２０は、新しい第２の乱数ｙ２  と、これにハッシュ関数を適用したものと、さらにセキュリティ用ナンス値を付加して、暗号化メッセージ｛ｙ３＝ｒ３ＸｏＲ  ｙ２  ，Ｈａｓｈ（ｙ２），Ｎｏｎｃｅ（ｙ３）｝を生成する。そして、無線通信機器２２０は、結果の暗号化メッセージをサーバ２１０に送る。ここで、上記第２の新しい乱数‘ｙ２  ’は擬似乱数生成（ＰＲＮＧ）法を用いて生成される。
【００５５】
第４のステップで、サーバ２１０は、乱数の３乗値｛ｒ３｝を計算する。続いて、サーバ２１０は、乱数の３乗値とＸＯＲ関数と用いて、｛ｙ３  ＸｏＲ  ｒ３｝により、第２の新しい乱数‘ｙ２’を得る。そして、サーバ２１０は、受信したメッセージのハッシュ値｛Ｈａｓｈ（ｙ２）｝およびナンス値｛Ｎｏｎｃｅ（ｙ３）｝を検証する。
【００５６】
受信したメッセージのハッシュ値｛Ｈａｓｈ（ｙ２）｝およびナンス値｛Ｎｏｎｃｅ（ｙ３）｝を検証したら、最終ステップで、サーバ２１０は、無線通信機器２２０に対してレスポンスを送る。
【００５７】
上記システム２００において通信を開始する前に、最初に、サーバ２１０は、無線通信機器２２０の機器番号とＩＭＥＩ番号を登録し、そして、サーバ２１０へのアクセスが許可される前の各無線通信機器２２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。
【００５８】
典型例である一実施形態によると、無線通信機器２２０は携帯電話である。従って、サーバ２１０はモバイル番号とＩＭＥＩ番号を登録し、そして、サーバ２１０へのアクセスが許可される前の各携帯電話２２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。サーバ２１０は、メッセージの暗号化にＡＥＳ−ＣＴＲ−１９２ビット  アルゴリズムを使用し、また、シードを受け取って乱数を生成する周知の擬似乱数生成器（ＰＲＮＧ）を使用する。
【００５９】
ＳＫＥ（対称鍵暗号）方式−１に基づくＥＡＰプロトコルを用いたデータの安全なトランザクションの実例：
１．Ｃｕｓｔ＿ＩＤ＝２３２３； Ｔｒ＿ＩＤ＝３５４２２３４
２．Ｍｏｂｉｌｅ  ｎｏ＝９８８５０７６４３２；ＩＭＥＩ＝７４３９８４８３２９９３２９
３．Ｈａｓｈ（Ｔｒ＿ＩＤ，ＳＩＭ  ｎｏ）＝１２４９５４０５４０１２３４５１１；Ｈａｓｈ（Ｃｕｓｔ＿ＩＤ，Ｍｏｂｉｌｅ  ｎｏ)＝２３２３１１２１２１２１
４．サーバは、１９２ビットの乱数ｒ＝１２４３２５３４３４３、および６４ビットの素数ｐ＝１０１、ここでｐは２  ｍｏｄ  ３、を生成する。
５．サーバは、ｒ||Ｍａｓｋ＝１２４３２５３４３４３５７８３４５９３２１、およびｓ＝６６３９１４７５８７７３０１を計算する。
６．サーバは、ｒを用いて、Ｅｎｃｒ（ｐ）＝４３４８４３４９を算出し、｛１２４３３０９４２６１０００３７７２９１１，４３４８４３４９，２３２３２１，１４｝を無線通信機器に送信する。
７．無線通信機器は、Ｈａｓｈ（Ｔｒ＿ＩＤ，ＳＩＭ  ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿ＩＤ，Ｍｏｂｉｌｅ  ｎｏ)ＸｏＲ  ｓにより、ｒ||Ｍａｓｋ＝１２４３２５３４３４３５７８３４５９３２１を取り出し、ｒ＝１２４３２５３４３４３とＭａｓｋ＝５７８３４５９３２１に分割する。
８．無線通信機器は、ｒ３＝ｒ３ｍｏｄ  ｐ＝４１を計算し、乱数ｙ２＝１４５を生成し、｛１８４，３４３４３５，４｝をサーバに送る。ここで、Ｈａｓｈ（１４５）＝３４３４３５。
９．サーバは、ｒ３＝ｒ３ｍｏｄ  ｐ＝４１を計算し、ｙ３  ＸｏＲ  ｒ３により、ｙ２＝１４５を取得して、Ｈａｓｈ（ｙ２）およびＮｏｎｃｅ（ｙ３）を検証する。
【００６０】
図３は、サーバと無線通信機器との間での、ＳＫＥ（対称鍵暗号）方式−２に基づくＥＡＰプロトコルを用いる、データの安全なトランザクションを示している。システム３００は、サーバ３１０と無線通信機器３２０とを備え、これらは通信ネットワークを介して互いに通信接続されている。通信ネットワークは、広域ネットワーク（ＷＡＮ）、ローカルエリア・ネットワーク（ＬＡＮ）、メトロポリタンエリア・ネットワーク（ＭＡＮ）、インターネット、イントラネットなどからなるグループから選択することができる。好ましい実施形態では、通信ネットワークはインターネットである。無線通信機器３２０は、モバイル・ハンドセット、スマートフォン、ＰＤＡ、セルラーフォン、あるいは、２Ｇ、３Ｇまたは４Ｇネットワーク対応の小型機器および無線通信機器からなるグループの１つから選択することができる。好ましい実施形態では、無線通信機器３２０は携帯電話である。
【００６１】
上記システム３００で用いられる通信方法では、サーバに３１０にアクセスする接続試行を少なくとも１つの無線通信機器３２０から受けて、ＳＫＥ（対称鍵暗号）方式に基づく軽量の拡張認証プロトコル（ＥＡＰ）を用いて認証プロセスを実行することにより、サーバ３１０へのアクセスが許可される前の無線通信機器３２０を支援する。上記認証プロセスは、次のようなステップを備えている。
【００６２】
提案される方法の第１ステップでは、無線通信機器３２０は、サーバ３１０に対してクライアント・ハローメッセージを送信することにより、通信を開始する。クライアント・ハローメッセージは、この無線通信機器３２０で使用する準備ができている暗号化アルゴリズムのリストと、サーバ３１０を認証するのに用いられる何らかのチャレンジデータとを含んでいる。メッセージは、次のようなフィールドを含んでいる。
【表３】
0005307191.tif 000004
【００６３】
セッション識別子は、現在の要求を以前のものと照合するのに用いられ、これによって、２つのシステムの間で頻繁に通信が行われる場合に認証および鍵交換を繰り返し行う必要がないようにしている。サーバ３１０は、鍵を選択すると、それらをキャッシュに格納し、無線通信機器３２０がクライアント・ハローメッセージの中にセッション識別子を提供している場合は、サーバ３１０はこのセッション識別子をキャッシュで検索する。典型例である一実施形態によると、メッセージは上記のフィールドに加えて、３２ビット長の‘バッファメモリ’フィールドを含んでいる。クライアント・ハローメッセージのフィールドおよび長さは、要求に応じて変更することができる。
【００６４】
第２ステップで、サーバ３１０は、クライアント・ハローメッセージを受け取ると、乱数‘ｒ’と素数‘ｐ’（＝２  ｍｏｄ  ３）を生成する。典型例である一実施形態によると、乱数‘ｒ’のサイズは１９２ビットであり、素数‘ｐ’のサイズは６４ビットである。そして、サーバ３１０は、生成した乱数およびマスク（Ｍａｓｋ１）と、その他のパラメータにハッシュ関数を適用したものとを用いて、第１のマスク結果値｛ｙ１＝（ｒ||Ｍａｓｋ１） ＸｏＲ  Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ ｎｏ）｝を計算する。ここで、マスクは６４ビットである。さらに、生成した素数およびマスク（Ｍａｓｋ２）と、その他のパラメータにハッシュ関数を適用したものとを用いて、第２のマスク結果値｛ｙ２＝（ｐ||Ｍａｓｋ２）ＸｏＲ  Ｈａｓｈ（Ｔｒ＿Ｉｄ，Ｃｕｓｔ＿Ｉｄ，ＳＩＭ ｎｏ，ＩＭＥＩ）｝を計算する。ここで、マスクは６４ビットである。続いて、サーバ３１０は、第１のマスク結果値ｙ１および素数ｐにハッシュ関数を適用したもの、およびセキュリティ用ナンス値を付加して、第１のマスク結果値ｙ１と第２のマスク結果値ｙ２とで、暗号化メッセージを生成する。そして、サーバ３１０は、その暗号化メッセージ｛ｙ１，ｙ２，Ｈａｓｈ（ｙ１||ｐ），Ｎｏｎｃｅ（ｙ１）｝を無線通信機器３２０に送信する。
【００６５】
第３ステップで、無線通信機器３２０は、暗号化メッセージを受け取ると、ハッシュ関数の適用｛Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ  ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ  ｎｏ）  ＸｏＲ  ｙ１｝により、乱数‘ｒ’とＭａｓｋ１からなるものを取り出す。続いて、無線通信機器３２０は、これをＭａｓｋ１と乱数‘ｒ’に分割する。同様にして、無線通信機器３２０は、素数‘ｐ’を抽出し、この抽出した素数‘ｐ’と第１のマスク結果値ｙ１のハッシュ値｛Ｈａｓｈ（ｙ１||ｐ）｝を検証し、第１マスク結果値ｙ１のナンス関数｛Ｎｏｎｃｅ（ｙ１）｝を検証する。そして、無線通信機器３２０は、結果値｛ｒ３＝（ｒ  ｍｏｄ  ｐ）３ｍｏｄ  ｐ｝を計算する。これは、乱数の置換法を用いて得られる。次に、決定論的乱数列生成（ＤＲＳＧ：Ｄｅｔｅｒｍｉｎｉｓｔｉｃ  Ｒａｎｄｏｍ  Ｓｅｑｕｅｎｃｅ  Ｇｅｎｅｒａｔｉｏｎ）アルゴリズムを用いて、ＤＲＳＧ（ｒ，ｔ１，ｔ２）、ここでｔ１＝０、ｔ２＝Ｎｏｎｃｅ（ｒ３）、により、１０２ビットの秘密鍵“ｋ”を生成する。続いて、無線通信機器３２０は、乱数の３乗値を暗号化し、さらにセキュリティ用ナンス値を付加して、暗号化メッセージ｛Ｅｎｃｋ（ｒ３ＸｏＲ  ｋ）||Ｎｏｎｃｅ（ｋ）｝を生成する。そして、無線通信機器３２０は、結果の暗号化メッセージをサーバ３１０に送る。
【００６６】
第４のステップで、サーバ３１０は、乱数の３乗値｛ｒ３｝により秘密鍵‘ｋ’生成し、続いて、サーバ３１０は、復号化により結果値を得る。結果値は、無線通信機器３２０の秘密鍵‘ｋ’と乱数の３乗値｛ｒ３｝のＸＯＲ関数から得られたものである。そして、サーバ３１０は、これを乱数の３乗値｛ｒ３｝と秘密鍵‘ｋ’に分割する。続いて、サーバ３１０は、受信した暗号化メッセージのセキュリティ用ナンス値｛Ｎｏｎｃｅ（ｋ）｝で、秘密鍵を検証する。
【００６７】
受信した暗号化メッセージのセキュリティ用ナンス値｛Ｎｏｎｃｅ（ｋ）｝で秘密鍵を検証したら、最終ステップで、サーバ３１０は、無線通信機器３２０に対してレスポンスを送る。
【００６８】
上記システム３００において通信を開始する前に、最初に、サーバ３１０は、無線通信機器３２０の機器番号とＩＭＥＩ番号を登録し、そして、サーバ３１０へのアクセスが許可される前の各無線通信機器３２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。
【００６９】
典型例である一実施形態によると、無線通信機器３２０は携帯電話である。従って、サーバ３１０はモバイル番号とＩＭＥＩ番号を登録し、そして、サーバ３１０へのアクセスが許可される前の各携帯電話３２０に対して、顧客ＩＤとトランザクションＩＤ（Ｃｕｓｔ＿ＩＤおよびＴｒ＿ＩＤ）を配布する。サーバ３１０は、メッセージの暗号化にＡＥＳ−ＣＴＲ−１９２ビット  アルゴリズムを使用し、また、シードを受け取って乱数を生成する周知の擬似乱数生成器（ＰＲＮＧ）を使用する。
【００７０】
ＳＫＥ（対称鍵暗号）方式−２に基づくＥＡＰプロトコルを用いたデータの安全なトランザクションの実例：
１．Ｃｕｓｔ＿ＩＤ＝２３２３；Ｔｒ＿ＩＤ＝３５４２２３４
２．Ｍｏｂｉｌｅ  ｎｏ＝９８８５０７６４３２；ＩＭＥＩ＝７４３９８４８３２９９３２９
３．Ｈａｓｈ（Ｔｒ＿ＩＤ，ＳＩＭ  ｎｏ）＝１２４９５４０５４０１２３４５１１；Ｈａｓｈ（Ｃｕｓｔ＿ＩＤ，Ｍｏｂｉｌｅ  ｎｏ)＝２３２３１１２１２１２１；Ｈａｓｈ（Ｔｒ＿ＩＤ，Ｃｕｓｔ＿ＩＤ，ＳＩＭ  ｎｏ，ＩＭＥＩ）＝３４３４３４２１１２２
４．素数ｐ＝１０１、ここでｐは２  ｍｏｄ  ３
５．サーバは、乱数ｒ＝１２４３２５、Ｍａｓｋ１＝５７８３４５９、およびＭａｓｋ２＝５３４３４１１６４３２を生成する。
６．サーバは、ｙ１＝３２４２３４２３、およびｙ２＝４３５５６１２１を計算する。
７．サーバは、｛３２４２３４２３，４３５５６１２１，１３４３４４４，１５｝を送信する。
８．無線通信機器は、Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ  ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ  ｎｏ)ＸｏＲ  ｙ１を実行することにより、１２４３２５５７８３４５９を取り出し、そして、ｒ＝１２４３２５およびＭａｓｋ１＝５７８３４５９を得る。
９．サーバは、ｋを用いて、Ｅｎｃｋ（ｓ）＝４３４３４３４３を算出し、｛６６３９１４７５８７７３０１，４３４３４３４３，２３２３２１，１８｝を無線通信機器に送信する。
１０．無線通信機器は、ｋを用いてｓを得て、Ｈａｓｈ（Ｔｒ＿Ｉｄ，ＳＩＭ  ｎｏ）ＸｏＲ  Ｈａｓｈ（Ｃｕｓｔ＿Ｉｄ，Ｍｏｂｉｌｅ  ｎｏ)ＸｏＲ  ｓにより、ｒ＝１２４３２５およびＭａｓｋ＝５７８３４５９３２１を求める。
１１．無線通信機器は、ｒ３＝ｒ３ｍｏｄ  ｐ＝８７を計算し、ｙ２＝１４５を生成して、｛１９８，３４３４３４，４｝をサーバに送る。
１２．サーバは、ｒ３＝ｒ３ｍｏｄ  ｐ＝８７を計算し、ｙ３  ＸｏＲ  ｒ３により、ｙ２＝１４５を取得して、Ｈａｓｈ（ｙ２）およびＮｏｎｃｅ（ｙ３）を検証する。
【００７１】
一実施形態によると、上記提案のシステムおよび方法において、フィッシング攻撃およびリプレイ攻撃を回避して安全な通信を維持するため、ハッシュ関数が適用される。また、別の実施形態によると、上記システムおよび方法において、フィッシング攻撃およびリプレイ攻撃を回避して安全な通信を維持するため、ナンス値が付加される。さらに、カウンタ初期値予測攻撃や時間メモリトレードオフ攻撃を回避するために、ハッシュやナンス値による方法が用いられる。
【００７２】
ＥＣＣ（楕円曲線暗号）方式およびＳＫＥ（対称鍵暗号）方式に基づく拡張認証プロトコル（ＥＡＰ）の長所：
１．基地局からネットワーク・サブシステムを介してＧＰＲＳコアネットワークまで、本発明のＥＡＰ（プロトコル１：ＥＣＣ方式に基づくＥＡＰ）は、１６３ビット鍵でＥＣＣを使用することで、ノード間でスピーディーに動作する。
２．プロトコル１（ＥＣＣ方式に基づくＥＡＰ）において、置換を用いているため、攻撃者が署名したメッセージを生成することは難しい。
３．ｒ→ｒ３＝ｒ３ｍｏｄ  ｐ（ここで、ｐ＝２  ｍｏｄ  ３）は、ランダムである。
４．同様に、プロトコル１，２および３（ＥＣＣ方式と、ＳＫＥ方式１および２に基づくＥＡＰ）において、写像：ｒ→ｒ３＝ｒ３ｍｏｄ  ｐは全単射であるため、（サーバにより提供される）乱数ｒを予測するのは難しい。
５．本発明のプロトコル（ＥＣＣ方式と、ＳＫＥ方式１および２に基づくＥＡＰ）は、２Ｇ，３Ｇ，あるいは４Ｇモバイルネットワークに対応している。
６．本発明のプロトコル（ＥＣＣ方式と、ＳＫＥ方式１および２に基づくＥＡＰ）では、異なるドメイン間での鍵合意はなく、また、鍵の有効期限がない。
７．本発明のＥＡＰはＷＬＡＮおよびＷＭＡＮに適しており、辞書攻撃、平文攻撃、選択平文攻撃、さらには中間者攻撃など様々な攻撃を受けやすい従来のＥＡＰに比べて、本発明のＥＡＰは優れている。
【００７３】
以下に示す例では適用例について記述しているが、これは適用例を説明するためのものにすぎず、従って、適用範囲を制限するものと解釈されてはならない。
【００７４】
要件：
ＥＡＰ適用環境は、以下の通りである：
ａ）ソフトウェア環境
【表４】
0005307191.tif 000005
ｂ）ハードウェア環境
【表５】
0005307191.tif 000006
【００７５】
［初期テスト設定］
ａ）ＥＡＰクライアント：
１）基本的に、ＥＡＰクライアントは、モバイル機器（例えば、ＮｏｋｉａのＮ７９，Ｅ７５，５８００−ＥｘｐｒｅｓｓＭｕｓｉｃ，６２１０  Ｎａｖｉｇａｔｏｒ）にインストールされる。
２）データの暗号化および復号化は、Ｊ２ＭＥコードにより行う。
３）クライアントはサーバと連絡を取り、安全なチャネルを通じて通信する。
ｂ）ＥＡＰサーバ：
１）サーバ・アプリケーションは、ＮＥＴフレームワークを用いて構築されるもので、データの復号化および暗号化に用いられる。
２）クライアント要求を復号化し、暗号化形式でレスポンスを返信する。
【００７６】
ＥＡＰアプリケーション実行のフロー図：
図４は、無線通信機器とサーバとの間で、軽量のＥＡＰプロトコルを用いてデータの安全なトランザクションを実行４００する場合のフロー図を示している。第１のステップで、クライアント４２０は、クライアント・ハローメッセージをサーバ４１０に送ることにより、通信を開始する｛１→ＣｌｉｅｎｔＩｎｉｔｉａｔｅ（）−ｒｅｑｕｅｓｔ｝。第２ステップで、サーバ４１０は、クライアント４２０からクライアント・ハローメッセージを受信すると、レスポンスとして１６進数列を送信する｛２→Ｈｅｘａ  ｄｅｃｉｍａｌ  ｓｅｑｕｅｎｃｅ（ｒｅｓｐｏｎｓｅ）｝。第３ステップで、クライアント４２０は、両者間でデータの安全なトランザクションを開始する要求メッセージを、ＥＡＰプロトコルを用いてサーバ４１０に送る｛３→ＥＡＰ  Ｐｒｏｔｏｃｏｌ（）−ｒｅｑｕｅｓｔ｝。第４ステップで、サーバ４１０は、プロトコルを検証して、クライアント４２０にレスポンスを送る｛４→ｔｒｕｅ／ｆａｌｓｅ（ｒｅｓｐｏｎｓｅ）｝。最後のステップで、レスポンスが“ｔｒｕｅ”である場合は、クライアントとサーバとの間でデータの安全なトランザクションのプロセスが開始し、そうでない場合、すなわちレスポンスが“ｆａｌｓｅ”である場合は、両者間の通信は打ち切りとなる。
【００７７】
テスト結果：
Ｎｏｋｉａのハンドセット・シリーズ
Ｎ７９，Ｅ７５，５８００および６２１０は、これらのＥＡＰクライアント・モジュールをサポートしている。上記の実行の通りに、Ｎｏｋｉａで‘ＥＡＰフロー’を実行したところ、サーバにより、０．５ｍｓ未満での認証レスポンスを確認している。これは、サーバ側からの認証レスポンスにかかる時間が１秒を超える証明書ベースのトランザクションに比べて、際立ったパフォーマンスである。
【００７８】
以上、いくつかの実施形態を参照して説明を行ったが、本願に関連する技術およびテクノロジーの知識を有する者であれば、本発明の原理および範囲から有意な逸脱をすることなく、記載の構造および実施方法の変更および変形が可能であることは理解できるであろう。
【符号の説明】
【００７９】
１００    システム
１１０    サーバ
１２０    無線通信機器
２００    システム
２１０    サーバ
２２０    無線通信機器
３００    システム
３１０    サーバ
３２０    無線通信機器
４１０    ＥＡＰサーバ
４２０    ＥＡＰクライアント
【図１】
0005307191.tif 000007
【図２】
0005307191.tif 000008
【図３】
0005307191.tif 000009
【図４】
0005307191.tif 000010