(57)【要約】【課題】公開暗号化キーを利用して機密保護メッセージを送る。【解決手段】通信メッセージを送っているユーザーが誰であるかを公開キー方法で確かめるために、そのユーザーにだけ知られている解読キーを含む全ての確認パラメータが使用される。確認プロセス時に、２ユーザー間での通信に使われる暗号化キーを作ることもできる。暗号化キーは秘密のセッション・キーであってもよい。始めの確認手続が完了すると、セッション・キーを使用することができる。２人のユーザーは、互いを確認し合って、その後の通信を暗号化するために２つの暗号化キーを作る。第１は確認プロセスで、第２は確認プロセスとその後の通信を暗号化するキーとして使われる。【選択図】  図２
2008252895.tif 000002
【特許請求の範囲】
【請求項１】
複数の送受信装置を有し、そのうちの少なくとも１の送受信装置に銀行口座が付随している通信システムにおいて電子マネーを移転する方法であって：
前記の複数の送受信装置の各々に解読キーと公開暗号化キーとを割り当て；
第１送受信装置において乱数と、移転されるべき額とを選択し；
前記第１送受信装置の前記解読キーを第１の値に適用して第２の値を作り、前記の第１の値は前記の乱数と前記の額とが入力された選択された関数の結果であり；
前記乱数、前記額及び前記の第２の値を含む第１メッセージを前記第１送受信装置から前記第２送受信装置に送り；
前記第２送受信装置において、前記第１メッセージで受信された前記の第２の値に前記第１送受信装置の前記暗号化キーを適用して第３の値を作り；
前記第２送受信装置において、前記第１送受信装置から送られた前記乱数及び前記額が入力された前記の選択された関数の結果である第４の値を計算し；
前記第２送受信装置において、前記の第３及び第４の値が等しいか否か判定し；
前記の第３及び第４の値が等しいか否か判定する前記ステップにおいて肯定の判定がなされたならば：
前記第２送受信装置において前記の第１の口座の借り方に記入する処理を実行し；
前記第２送受信装置において前記第２送受信装置の前記解読キーを前記の第４の値に適用して第５の値を作り；
前記乱数、前記額及び前記の第５の値を含む第２メッセージを前記第２送受信装置から前記第１送受信装置に送り；
前記第１送受信装置において、前記第２メッセージで受信された前記の第５の値に前記第２送受信装置の前記暗号化キーを適用して第６の値を作り；
前記第１送受信装置において、前記第２送受信装置から送られた前記乱数及び前記額が入力された前記の選択された関数の結果である第７の値を計算し；
前記第１送受信装置において前記の第６及び第７の値が等しいか否か判定し；
前記の第６及び第７の値が等しいか否か判定する前記ステップにおいて肯定の判定がなされたならば：
前記の額のクレジットを前記第１送受信装置から第３送受信装置に移転するステップを有することを特徴とする方法。
【請求項２】
第１メッセージを送る前記ステップの前に、前記の第１及び第２の送受信装置同士を互いに確認させ合わせてセッション・キーを作るステップを更に有することを特徴とする請求項１に記載の方法。
【請求項３】
前記の第１及び第２のメッセージは前記の第１及び第２の送受信装置の間を送られている間、前記のセッション・キーで暗号化されていることを特徴とする請求項２に記載の方法。
【請求項４】
前記の額のクレジットを第３送受信装置に移転する前記ステップは：
解読キー及び公開暗号化キーを該システムに割り当てるとともに識別情報を前記第２送受信装置に割り当て；
該システムの前記解読キーを、前記の選択された関数の結果としての値に適用することによって前記第２送受信装置のために証明子を計算して割り当て、その選択された関数は、入力として、該第２送受信装置の公開暗号化キーと識別情報とを有し；
前記乱数、前記額、前記の第６の値、及び、前記識別子フィールド、前記証明子及び第２送受信装置の前記公開暗号化キーを含む第３メッセージを前記第１送受信装置から前記第３送受信装置に送り；
前記第３送受信装置において、該第３メッセージで受信された前記第２送受信装置の該第１識別子フィールドと前記公開暗号化キーとを前記の選択された関数への入力として使って第８の値を作り；
前記第３送受信装置において、該システムに割り当てられた前記公開暗号化キーを前記証明子に適用して第９の値を作り；
前記第３送受信装置において、前記第２送受信装置の前記公開暗号化キーを前記の第６の値に適用して第１０の値を作り；
前記第３送受信装置において、該第３メッセージで受信された前記乱数及び前記額を前記の選択された関数への入力として使って第１１の結果を作り；
前記第３送受信装置において、前記の第８及び第９の結果が等しいか否か判定するとともに前記の第１０及び第１１の値が等しいか否か判定し；
前記の第８及び第９の結果が等しいか否か判定する前記ステップと前記の第１０及び第１１の値が等しいか否か判定する前記ステップとの両方において肯定の判定がなされたならば；
前記の額の前記クレジットを前記第３送受信装置から第４送受信装置に移転するステップから成ることを特徴とする請求項１に記載の方法。
【請求項５】
前記の第１及び第２の送受信装置同士を確認させ合わせる前記ステップで作られた前記セッション・キーは第１セッション・キーから成り、前記方法は、更に、第３メッセージを送る前記ステップの前に、前記の第２及び第３の送受信装置同士を互いに確認させ合わせて第２セッション・キーを作るステップを有することを特徴とする請求項４に記載の方法。
【請求項６】
前記第３メッセージは、前記の第２及び第３の送受信装置の間を送られている間、前記第２セッション・キーで暗号化されていることを特徴とする請求項５に記載の方法。
【請求項７】
前記額の前記クレジットを第４送受信装置に移転するステップは：
前記乱数、前記額、前記の第６の値、及び、前記識別子フィールド、前記証明子及び前記第２送受信装置の前記公開暗号化キーを含む第４メッセージを前記第３送受信装置から前記第４送受信装置に送り；
前記第４送受信装置において、該第４メッセージで受信された前記第２送受信装置の前記識別子フィールドと前記公開暗号化キーとを前記の選択された関数への入力として使って第１２の結果を作り；
前記第４送受信装置において、該システムに割り当てられた前記公開暗号化キーを前記証明子に適用して第１３の結果を作り；
前記第４送受信装置において、前記第２送受信装置の前記公開暗号化キーを前記の第６の値に適用して第１４の結果を作り；
前記第４送受信装置において、該第３メッセージで受信された前記乱数及び前記額を前記の選択された関数への入力として使って第１５の結果を作り；
前記第４送受信装置において、前記の第１２及び第１３の結果が等しいか否か判定するとともに前記の第１４及び第１５の値が等しいか否か判定し；
前記の第１２及び第１３の結果が等しいか否か判定する前記ステップと前記の第１４及び第１５の値が等しいか否か判定する前記ステップとの両方において肯定の判定がなされたならば；
前記額の前記クレジットを前記第４送受信装置に付随する第２銀行口座に移転するステップから成ることを特徴とする請求項４に記載の方法。
【請求項８】
前記方法は、第４メッセージを送る前記ステップの前に、前記の第３及び第４の送受信装置同士を確認させ合わせて第３セッション・キーを作るステップを更に有することを特徴とする請求項４に記載の方法。
【請求項９】
前記第４メッセージは、前記の第３及び第４の送受信装置の間を送られている間、前記第３セッション・キーで暗号化されていることを特徴とする請求項５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムでの機密保護通信に関し、特に、公開キー・アルゴリズムを利用して通信システムで通信をしているユーザー同士が安全に通信を行う方法に関する。
【背景技術】
【０００２】
通信システム技術が進歩した結果として、ユーザーはいろいろな通信システム及びサービスを利用できるようになっている。それらのシステムの中には、セルラー電話通信網、個人通信システム、種々のページングシステム、及び種々の有線及び無線のデータ通信網が含まれる。今日アメリカ合衆国で使用されているセルラー電話通信網は、ＡＭＰＳアナログシステム、デジタルＩＳ−１３６時分割多重（ＴＤＭＡ）システム、及びデジタルＩＳ−９５デジタル符号分割多重（ＣＤＭＡ）システムを含む。ヨーロッパでは、移動通信用広域（ＧＳＭ）デジタルシステムが最も広く使用されている。これらのセルラーシステムは８００−９００ＭＨｚの範囲で動作する。個人通信システム（ＰＣＳ）も合衆国で現在展開されている。多くのＰＣＳシステムが１８００−１９００ＭＨｚ範囲のために開発されつつあるが、それらは各々主要なセルラー規格のうちの１つに基づいている。
【０００３】
上記のどの通信システムにおいても、そのシステムのオペレータがシステムのユーザーに機密保護通信手段を提供することが望ましいことがしばしばある。機密保護通信の提供には、該システムで動作している２つの移動局の間で、或いは基地局と移動局との間、或いは通信網内の他の２ユニット同士の間での確認及び暗号化キー合意（encryption key agreement）処理手順を含むことがある。
【０００４】
ＡＭＰＳ等のアナログシステムでは、機密保護通信を提供するのは非常に難しい。２ユーザー間で通信内容を運ぶ信号がアナログであるために暗号化を簡単にも効率的にも行うことはできない。実際、標準的ＡＭＰＳでは、暗号化は全く行われず、移動局と基地局との間で送られる通信メッセージは監視されたり傍受されたりする可能性がある。通信チャネルに使用される周波数に同調させることのできる受信装置を持っている者は誰でも、見つかることなく何時でも通信を傍受することができる。この傍受の可能性は、ＡＭＰＳ等のアナログシステムに結びついた１つの不都合な要素であった。この様に傍受される可能性があるために、ＡＭＰＳ型のシステムは、機密保護メッセージを送ることを必要とする或る種のビジネスユーザーや政府筋のユーザーには好まれていない。
【０００５】
通信の秘密を目的として暗号化サービスを含むＧＳＭ、ＩＳ−１３６及びＩＳ−９５等の新しいデジタルシステムが開発されている。これらのデジタルシステムで２ユーザー間で通信メッセージを運ぶ音声信号或いはデータ信号はデジタルの性質を持っているので、暗号化装置を通して信号を処理することにより、認可された受信装置で解読されるまではランダム或いは疑似ランダムであるように見える通信信号を作ることができる。この様なシステムで機密保護メッセージを送りたいときには、該システムの暗号化機能を使ってメッセージを暗号化することができる。例えば、これらの規格で指定されているショートメッセージサービス（ＳＭＳ）機能を使って、該システムの暗号化アルゴリズムに従って暗号化されているテキストメッセージを送ることができる。システム暗号化アルゴリズムを使って音声通信メッセージも暗号化することができる。
【０００６】
ＧＳＭ、ＩＳ−１３６、及びＩＳ−９５システムでは、暗号化は各ユーザーとシステムとの間のメッセージ送信に対して秘密のキー値”セッション・キー”を用いて行われ、そのキーはシステムと通信するユーザーとシステムとだけに知られている。ここで検討しているＰＣＳ通信網についてのシステム規格は、特定のＰＣＳ規格の淵源となるデジタル規格、即ちＧＳＭ、ＩＳ−１３６、或いはＩＳ−９５において指定されている暗号化技術に基づく暗号化サービスを包含することもできる。
【０００７】
ＧＳＭではシステムのオペレータがシステムの各ユーザーに加入者識別モジュール（ＳＩＭ）を発行することによって機密保護プロセスを制御する。ＳＩＭは、ユーザーが呼を発したり受けたりするのに使おうとする移動局に挿入しなければならない差し込み式のチップ又はカードである。ＳＩＭは、各ユーザーに固有の、Ｋｉと呼ばれる１２８ビットの数を内蔵している。このＫｉは、確認と、暗号化キーの導出との両方のために使われる。ＧＳＭでは、各ユーザーを確認してそのユーザーについてのＫｉから暗号化ビットを作成するために呼びかけと応答の手続が使われる。この呼びかけと応答の手続をホームシステムの自由裁量で実行することができる。
【０００８】
ＧＳＭ移動局が自分のホームシステムで動作しているとき、ユーザーが自分の国際移動システム識別子／一時移動システム識別子（international mobile system identity/temporary mobile system identities (IMSI/TMSI)）を送ることによって自分が誰であるかを明らかにした後、該システムで１２８ビットの乱数（ＲＡＮＤ）が作成されてその移動局のユーザーのＫｉと結合されて３２ビットの応答（ＳＲＥＳ）とされる。このときシステムはＲＡＮＤを該移動局に送り、該移動局はそのユーザーのＫｉから自分自身のＳＲＥＳ値を計算し、このＳＲＥＳをシステムに送り戻す。もしその２つのＳＲＥＳが一致するならば、その移動局は本物であると判断される。暗号化キー”Ｋｃ”を作るために、該移動局及び通信網の両方においてＲＡＮＤ及びＫｉを使用するアルゴリズムにより、該移動局とシステムとの間の通信のための暗号化ビットが作成される。その後、Ｋｃは両端で通信メッセージを暗号化したり解読したりして機密保護通信を行うために使用される。ＧＳＭ移動局が移動中であるとき、該移動局が訪れたシステムにおいて該ユーザーの登録が行われるときに、或いはユーザーが訪れたシステムから特別の要求が行われたときに、そのシステムにＲＡＮＤ、ＳＲＥＳ及びＫｃの値が転送される。Ｋｉ値はホームシステム及びユーザーのＳＩＭ以外では決して使用し得ない。
【０００９】
ＩＳ−１３６及びＩＳ−９５の確認及び暗号化の処理手順は互いに同一であり、またＧＳＭの確認及び暗号化の処理手順と似ている。ＩＳ−１３６システム及びＩＳ−９５システムでは、呼びかけと応答の方法も利用される。そのＩＳ−１３６及びＩＳ−９５の方法は、“Ａキー”と呼ばれる機密保護キーを利用する。各移動局についての６４ビットのＡキーはシステムのオペレータによって決定される。各移動局についてのＡキーはその移動局の所有者のホームシステムとその移動局自体とに記憶される。最初にＡキーは米国郵便等の安全な方法で移動局の所有者に通知されることができる。その所有者はキーパッドを介してそのＡキーを移動局に入力することができる。或いは、Ａキーを工場或いは点検修理の場所で移動局にプログラムすることもできる。Ａキーは、移動局及びホームシムの両方で共有される秘密データ（shared secret data (ＳＳＤ)）を所定のアルゴリズムから作成するために使われる。各移動局についてのＳＳＤは、ホームシステムのオペレータのみが伝授することのできるオーバーエア・プロトコル（an over the air protocol）の使用によってその移動局のＡキーから定期的に導出され更新されることができる。
【００１０】
ＩＳ−１３６及びＩＳ−９５の確認及び暗号化では、３２ビットの広域呼び掛けが該移動局のサービスエリアのシステム内で所定間隔をおいて作成されて放送される。移動局がホームシステムにおいてシステム登録／呼セットアップ・アクセスを試みるとき、該移動局においてその移動局のＳＳＤから１８ビットの確認応答を計算するために現在の広域呼び掛け応答が使用される。その後、その確認応答とその移動局についての呼カウント値とを含むアクセス要求メッセージが該移動局からホームシステムに送られる。そのアクセス要求を受け取ると、ホームシステムは広域呼び掛け及びその移動局のＳＳＤを使ってそれ自身の応答値を計算する。確認応答と、その移動局のＳＳＤと、呼カウント値を含む他の関連データとの比較によって、その移動局が本物であると確認されれば、その移動局は登録される。
【００１１】
移動局が訪問先のシステムでシステム登録／呼セットアップ・アクセスを試みるとき、現在の広域呼び掛け応答を用いて該移動局において該移動局のＳＳＤから１８ビットの確認応答を計算する。次にアクセス要求メッセージが該移動局から訪問先のシステムに送られる。訪問先のシステムでの初期登録アクセスについては、アクセス要求メッセージは移動局で計算された確認応答を含む。確認応答と広域呼び掛けとは該移動局のホームシステムに送られ、該ホームシステムはその広域呼び掛けと該移動局のＳＳＤとを使ってそれ自身の応答値を計算する。確認応答同士を比較することによってその移動局が本物であると確認されたならば、その移動局のＳＳＤと、呼カウント値を含む他の関連データとが訪問先のシステムに送られて該移動局が登録される。該移動局が関わる呼がセットアップされるとき、現在の確認応答値と呼カウントとが該移動局から呼セットアップ情報とともに該システムに送られる。呼セットアップ情報を受け取ると、訪問先のシステムは、要求をしている移動局についての記憶されているＳＳＤと呼カウント値とを検索する。その後、訪問先のシステムは、受け取ったＳＳＤ値と現在の広域呼び掛けとが該移動局で作られたのと同じ応答を作ることを確かめるために確認応答値を計算する。もしその確認応答同士と呼カウント同士とが一致するならば、その移動局は呼アクセスを許可される。通信の機密保護が希望される場合には、暗号化キー・ビットを作成するために広域呼び掛けと該移動局のＳＳＤとを入力として用いて暗号化キーが該移動局とシステムとの両方で作成される。
【００１２】
ＧＳＭ、ＩＳ−１３６及びＩＳ−９５システムで使用されるような技術についての更なる背景情報が”ＩＥＥＥ個人通信”の６−１０頁の１９９５年８月付けのダン・ブラウンによる”個人通信システムにおけるプライバシー及び確認のための技術”という論文（the article “Techniques for Privacy and Authentication in Personal Communications Systems” by Dan Brown in IEEE Personal Communications, dated August 1995, at pages 6-10）に開示されている。
【００１３】
ＧＳＭ、ＩＳ−１３６及びＩＳ−９５システムで使用される上記の機密キー処理手順は通信の機密を保護するものであるけれども、これらの処理手順のいずれも、傍受及び盗聴を完全に免れ得るわけではない。これらの処理手順の全てが、ユーザーのＡキー又はＫｉ値が移動局とホームシステムとの双方に知られていることを必要とする。これらの処理手順は、ユーザーのＳＳＤ又はＫｃ値が通信リンクの両端即ちシステム及び移動局の双方において知られていることをも必要とする。これらの各値が改竄されて傍受者に知られてしまうという可能性もあり得る。ユーザーのＫｉ又はＡキーを知っている人、或いはシステム間通信をしているユーザーのＫｃ又はＳＳＤを傍受した人は、機密保護されるべき通信を傍受し盗聴する可能性がある。また、各ユーザーのキーは、該ユーザーが通信をする基地局で利用可能であるので、システムの基地局を通して接続している２移動局が関わる暗号化通信がその基地局で破られる可能性がある。
【００１４】
公開キー暗号化方法は、ユーザーに公開の、即ち公然と知られ明らかにされるかも知れない暗号化キーが割り当てられるけれども、またそのユーザーにしか知られない秘密の解読キーもユーザーに割り当てられるようになっている方法である。目的の受信側ユーザーの解読キーだけがそのユーザーに宛てられた暗号化されたメッセージを解読することができる、即ちその目的の受信側ユーザーの暗号化キーを使って暗号化されたメッセージを解読することができる。機密保護メッセージを目的の受信装置に送るために、ユーザーは、そのメッセージを送る前に、目的の受信装置の暗号化キーを使ってそのメッセージを暗号化する。目的の受信装置は、その暗号化されたメッセージを受け取ると、その目的の受信装置の解読キーを使ってそのメッセージを解読する。公開キー暗号化通信システムでは、ユーザーは解読キーを基地局やシステムから隠して秘密にしておくことを許されるであろう。メッセージを解読するのに必要なキーを知っているのは受信側のユーザーだけであるので、公開キー暗号化方法は、例えばＧＳＭ、ＩＳ−１３６、或いはＩＳ−９５で使われている現在の暗号化技術で得られるよりも一層安全な通信を提供することができる。
【００１５】
公開キー暗号化方法には、次のような追加の利点もある、即ち、始めに送信前に受信側ユーザーの暗号化キーをメッセージに適用して符号化を行い、受信後に受信側ユーザーの解読キーを適用して復号を行うことにより、又は、始めに送信前に送信側ユーザーの解読キーをメッセージに適用して符号化を行い、受信後に送信側ユーザーの暗号化キーを受信装置で適用して復号を行うことにより、メッセージを符号化し、その後に復号を行うことができる。第１のユーザーはその第１のユーザーの解読キーをメッセージに適用することによってそのメッセージにサインして、そのサインされたメッセージと、そのメッセージのコピーとの両方を送ることができる。第２のユーザーは、そのメッセージを受け取ると、受け取ったサインされているメッセージにその第１のユーザーの暗号化キーを適用してから、その結果が、受け取ったメッセージのコピーと同じかどうかチェックすることによって、そのメッセージが第１のユーザーから届いたものであることを確かめることができる。第１のユーザーだけが第１のユーザーの解読キーを知っているのであるから、第２のユーザーが受け取ったメッセージのコピーとそのサイン入りメッセージ（暗号化キーの適用後の）とは、第１のユーザーから送られた場合に限って同一となる。
【００１６】
各ユーザーの解読キーは完全に秘密に保たれ得るので、ユーザーの身元を他のユーザーが確かめることができるように各ユーザーが自分の解読キーを使用することを要求する通信システムにおけるユーザー間機密保護通信方法は良好な機密保護を提供するであろう。しかし、公開キー暗号化方法を利用するためには、移動電話等の通信装置において計算資源を徹底的に使用しなければならない。公開キー・アルゴリズムを使って全てのメッセージ或いは音声通信メッセージを暗号化したり解読したりすると、秘密キーアルゴリズムの場合と比べて、計算に関して経費が高くなる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１７】
通信を行っている当事者の身元を確かめるために公開キー方法を使い、身元が確認された後は計算に関して安価な暗号化方法を使用する、通信システムで通信を行うユーザー同士が機密保護通信を行う方法を提供するのが有益であろう。
【課題を解決するための手段】
【００１８】
本発明は、通信システムにおけるユーザー間の機密保護通信方法を提供する。この方法は、ユーザーだけが知っている自分の解読キーを含む、各ユーザーの全ての確認パラメータを使って、公開キー方法により通信メッセージをシステムの他のユーザーに送ったユーザーの身元を確かめることを要求することによって、非常に安全なプロセスを提供する。確認プロセス時に、その２ユーザー間での通信に使用される暗号化キーを作成することができる。作成される暗号化キーは秘密セッション・キーであってもよい。初期確認が完了した後は、その秘密セッション・キーを使って、公開キー方法よりは計算に関して苛酷ではない暗号化を行うことができる。
【００１９】
本発明の実施例では、通信をする二人のユーザーはこの方法を使って互いの身元を確認し、該ユーザー間でのその後の通信メッセージを暗号化するために使用される暗号化キーを作成することができる。この実施例のプロセスが行われるとき、２つのセッション・キーが作成される。第１のセッション・キーは確認プロセス時にのみ使われ、第２のセッション・キーは、確認プロセスで使われるとともに、その後の通信メッセージを暗号化するためのキーとしても使われる。２つのセッション・キーを使うには、２ユーザーの各々が確認及び暗号化キー合意プロセスを成功裏に完了するために自分の解読キーを適用しなければならない。
【００２０】
システムには、公開キーＥ０及び秘密キーＤ０を有する公開キー・アルゴリズムが割り当てられる。当該関数ｆ（ｔ、ｐ）について同じ結果を与えるような、変数ｔ及びｐの値の２つの異なる対を計算で発見することが不可能であるように、即ち、ｔ及びｐの値の異なる対をランダムに選べばｆ（ｔ、ｐ）が同じ結果を与える可能性がゼロに近くなるように、関数ｆ（ｔ、ｐ）が定義される。Ｅ０、ｆ（ｔ、ｐ）及びＡ０は、本発明に従って動作するシステムの全ての移動局及び基地局に知らされる。本発明に従って動作する移動局Ｍｘのサービスの開始時に、キーＥｍｘ及びＤｍｘを有する公開キー・アルゴリズムＡｍｘが移動局Ｍｘに割り当てられる。Ｍｘには識別子ｍｘも割り当てられる。識別子ｍｘはＭｘについての証明子（certificate ）Ｃｍｘを計算するために使用され、ここでＣｍｘ＝Ｄ０（ｆ（ｍｘ，Ｅｍｘ））である。同様に、本発明に従って動作する各基地局ＢｘにはキーＥｂｘ及びＤｂｘを有する公開キー・アルゴリズムＡｂｘが割り当てられるとともに、Ｂｘについての証明子Ｃｂｘを計算するために使用される識別子ｂｘも割り当てられ、ここでＣｂｘ＝Ｄ０（ｆ（ｂｘ，Ｅｂｘ））である。Ｍｘについての確認トリプレットは（ｍｘ，Ｅｍｘ，Ｃｍｘ）であり、Ｂｘについての確認トリプレットは（ｂｘ，Ｅｂｘ，Ｃｂｘ）である。移動局のユーザーの識別子が基地局を装うために使われるのを防止するために、識別子ｍｘ及びｂｘをそれぞれ移動局及び基地局の識別子として区別することができる。
【００２１】
キー合意及び確認処理手順の開始時に、基地局ＢｘはＢｘのトリプレットを移動局Ｍｘに送る。するとＭｘはそのトリプレットのｂｘ及びＥｂｘの値をｆ（ｂｘ，Ｅｂｘ）で使ってＢｘの証明子を確かめる。次にＭｘは暗号化キーＫ１を選択してＥｂｘ（ｋ１）をＢｘに送る。次にＢｘはＤｂｘを使ってＥｂｘ（ｋ１）を解読する。次にＭｘは、ｋ１を使って暗号化されている自分のトリプレットをＢｘに送る。Ｂｘは、ｋ１を使ってＭｘのトリプレットを解読し、そのトリプレットのｍｘ及びＥｍｘの値をｆ（ｍｘ，Ｅｍｘ）に使ってＭｘの証明子Ｃｍｘを確かめる。次にＢｘは新しい暗号化キーｋ２を選択してＥｍｘ（ｋ２）をＭｘに送る。Ｍｘは次にＤｍｘを使ってＥｍｘ（ｋ２）を解読する。今やＭｘ及びＢｘの両方が確認され、キーｋ２を使ってその後の通信メッセージを安全に送ることができる。
【００２２】
本発明の別の実施例では、電子マネー転送又はその他の秘密データの転送のためにその方法を使用することができる。そのプロセスを使って通信システムのユーザー間で電子マネーを転送することができる。この実施例では、他のユーザーと直接通信している各ユーザーは、前記の他のユーザーの全ての確認パラメータを確かめることによってそのユーザーを確認する。通信し合うユーザー同士は、その２ユーザー間での通信用のキーについて合意する。また、特定のユーザーが発した通信メッセージが１ユーザーからのユーザーに渡される毎に、その通信メッセージを発したユーザーの全ての確認パラメータが受信側ユーザーによって確かめられる。
【００２３】
電子マネーの転送のために、公開キーＥ０及び秘密キーＤ０を有する公開キー・アルゴリズムＡ０がシステムに割り当てられる。当該関数ｆ（ｔ，ｐ）について同じ結果を与えるような、変数ｔ及びｐの値の２つの異なる対を計算で発見することが不可能であるように、即ち、t 及びｐの値の異なる対をランダムに選べばｆ（ｔ，ｐ）が同じ結果を与える可能性がゼロに近くなるように、関数ｆ（ｔ，ｐ）が定義される。Ｅ０、ｆ（ｔ，ｐ）及びＡ０は、本発明に従って動作するシステムの移動局及び銀行を含む、本発明を利用する全てのユーザーに知らされる。本発明に従って動作する移動局Ｍｘのサービスの開始時に、キーＥｍｘ及びＤｍｘを有する公開キー・アルゴリズムＡｍｘが移動局Ｍｘに割り当てられる。Ｍｘには識別子ｍｘも割り当てられる。識別子ｍｘはＭｘについての証明子（certificate ）Ｃｍｘを計算するために使用され、ここでＣｍｘ＝Ｄ０（ｆ（ｍｘ，Ｅｍｘ））である。同様に、本発明に従って動作する各銀行ＢａｘにはキーＥｂａｘ及びＤｂａｘを有する公開キー・アルゴリズムＡｂａｘが割り当てられるとともに、Ｂａｘについての証明子Ｃｂａｘを計算するために使用される識別子ｂａｘも割り当てられ、ここでＣｂａｘ＝Ｘ０（ｆ（ｂａｘ，Ｅｂａｘ））である。Ｍｘについての確認トリプレットは（ｍｘ，Ｅｍｘ，Ｃｍｘ）であり、Ｂａｘについての確認トリプレットは（ｂａｘ，Ｅｂａｘ，Ｃｂａｘ）である。移動局のユーザーの識別子が銀行を装うために使われるのを防止するために、識別子ｍｘ及びｂａｘをそれぞれ移動局及び銀行の識別子として区別することができる。
【００２４】
ユーザーは、電子マネーを銀行に預けたり銀行から引き出したり、キャッシュを他のユーザーに移転したりすることができる。電子マネーは、額の表示と、その電子マネーを発行した銀行の銀行証明子を含む確認パラメータとを包含する。２ユーザー同士が直接通信する毎に、該ユーザーは（移動局Ｍｘ及び基地局Ｂｘを通信の当事者としてのユーザーと置き換えて）本発明の第１の実施例について上で説明した確認及びキー合意の方法を使って、互いに確認し合ってセッション・キーを作成する。各ユーザーは移動局或いは銀行であってよい。電子マネーが２ユーザー間で移転されるときには、直接通信する２ユーザー間で確認及びキー合意がなされた後、その電子マネーを発行した銀行の全ての確認パラメータが受け取り側のユーザーによって確かめられる。
【００２５】
添付図面と関連させて以下の詳しい解説を検討すれば、本発明の方法をより充分に理解することができる。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の実施例に従って構成された通信システム１００のブロック図である。システム１００は、基地局Ｂ１及びＢ２、陸線通信網１４２、及び移動局Ｍ１及びＭ２から成る。図では２つの基地局と２つの移動局とを包含するものとして示されているけれども、システム１００が包含する基地局及び移動局の数は図１に示されている数より多くても少なくてもよい。移動局Ｍ１及びＭ２は、Ｍ１或いはＭ２のユーザーと他の移動電話との間で、或いはそのユーザーと、陸線通信網１４２に接続されている陸線電話との間で音声通信を提供する移動電話であることができる。移動局Ｍ１及びＭ２は、個人通信装置や、無線モデムを通して動作するラップトップ型コンピュータなどの、システム１００の規格に従って動作することのできる他の如何なる種類の移動通信装置であってもよい。陸線通信網１４２は、公衆交換電話回線網（ＰＳＴＮ）、或いは、通話経路選択、登録、並びに、システム１００の１基地局から他の基地局への移動局のハンドオフを制御する移動交換センターを含むシステム１００のための私設陸線通信網であることができる。システム１００では、移動局Ｍ１及びＭ２はＲＦリンクを通してシステム１００の基地局と通信しながらシステム１００の通達範囲の中を動き回ることができる。図１では、移動局Ｍ１及びＭ２は、それぞれＲＦリンク１４４及び１４６を介して、それぞれ基地局Ｂ１及びＢ２と通信しているものとして図示されている。システム１００は、移動局Ｍ１、Ｍ２、及び基地局Ｂ１、Ｂ２の間のＲＦリンクにデジタルインターフェースを提供する如何なる通信システム規格に従って動作してもよい。デジタル通信システムのデザイン及び動作は公知であるので、本書では詳しくは説明しない。システム１００はいろいろに実現されることができる。例えば、システム１００のデジタルＲＦインターフェースは、通信工業協会／電子工業協会（Telecommunications Industry Association/Electronic Industry Association(TIA/EIA)）のＩＳ−１３６、ＩＳ−９５、及びＰＣＳ１９００規格と類似する規格や欧州ＧＳＭ規格に従って動作することができる。
【００２７】
移動局Ｍ１は、システム１００の基地局と無線信号をやりとりするためのアンテナ１０２に結合された送受信ユニット１０４を含む。移動局Ｍ１はユーザーインターフェース１０８を含んでおり、これは、コンピュータキーボード、又はキーパッド、マイクロホン及び受話口を有する移動局の送受器であることができる。移動局Ｍ１の制御ユニット１０６は、通常の方法でチャネル選択及びその他のシステム機能を制御し、論理ユニット１１２は移動局の一般的動作を制御する。論理ユニット１１２を利用して、本発明の実施例に従って送受信されるメッセージに対する暗号化及び解読の機能を実現し実行することもできる。ディスプレイ１１０は、移動局Ｍ１のユーザーに対して一般的視覚インターフェースを提供するものであり、論理ユニット１１２の制御下にある。移動局Ｍ２は送受信ユニット１１６と、ユーザーインターフェース１２０と、制御ユニット１１８と、論理ユニット１２４と、ディスプレイ１２２とを包含しており、これらは各々移動局Ｍ１の対応する部分について説明したのと同じ機能を持っている。
【００２８】
基地局Ｂ１は、移動局と無線信号をやりとりするためのアンテナ１３４に結合された送受信ユニット１３６を包含している。Ｂ１は制御ユニット１３８とプロセッサ１４０も包含している。制御ユニット１３８は、移動局への適当な制御メッセージを作成することによってＲＦチャネル選択及び割り当てを制御するとともに、陸線通信網１４２とインターフェースするなどの他の所要のシステム機能を制御する。プロセッサ１４０を利用して、通信を機密保護するために使われる暗号化及び解読の機能を実現し実行することができる。基地局Ｂ２は、送受信ユニット１２８、アンテナ１２６、制御ユニット１３０、及びプロセッサ１３２を包含しており、これらは各々基地局Ｂ１の対応する部分について説明したのと同じ機能を持っている。
【００２９】
ここで図２を参照すると、本発明の実施例に従って動作する通信システムでキー合意及び確認を行うために実行されるプロセスのステップを示す流れ図が示されている。この実施例では、公開キーＥ０及び秘密キーＤ０を有する公開キー・アルゴリズムＡ０がシステムに割り当てられる。当該関数ｆ（ｔ，ｐ）について同じ結果を与えるような、変数ｔ及びｐの値の２つの異なる対を計算で発見することが不可能であるように、即ち、ｔ及びｐの値の異なる対をランダムに選べばｆ（ｔ，ｐ）が同じ結果を与える可能性がゼロに近くなるように、関数ｆ（ｔ，ｐ）が定義される。例えば、関数ｆ（ｔ、ｐ）は送信されるメッセージを短くするために一般的に使われるハッシング関数（hushing function）Ｈ（ｔ、ｐ）であってよく、その値Ｈ（ｔ、ｐ）は、ｔ及びｐの排他的論理和である。Ｅ０、ｆ（ｔ、ｐ）及びＡ０は、本発明に従って動作するシステム１００の全ての移動局及び基地局に知らされる。システム１００において本発明に従って動作する移動局Ｍｘのサービス開始時に、キーＥｍｘ及びＤｍｘを有する公開キー・アルゴリズムが移動局Ｍｘに割り当てられる。このｘは整数に等しい。Ｍｘには識別子ｍｘも割り当てられる。識別子ｍｘはＭｘについての証明子Ｃｍｘを計算するために使用され、ここでＣｍｘ＝Ｄ０（ｆ（ｍｘ，Ｅｍｘ））である。同様に、本発明に従って動作する各基地局Ｂｘ（このｘは整数に等しい）には、キーＥｂｘ及びＤｂｘを有する公開キー・アルゴリズムＡｂｘが割り当てられるとともに、Ｂｘについての証明子Ｃｂｘを計算するために使用される識別子ｂｘも割り当てられ、ここでＣｂｘ＝Ｄ０（ｆ（ｂｘ、Ｅｂｘ））である。Ｍｘについての確認トリプレットは（ｍｘ、Ｅｍｘ、Ｃｍｘ）であり、Ｂｘについての確認トリプレットは（ｂｘ、Ｅｂｘ、Ｃｂｘ）である。移動局のユーザーの識別子が基地局を装うために使われるのを防ぐために、システム内で識別子ｍｘ及びｂｘをそれぞれ移動局及び基地局の識別子として区別することができる。
【００３０】
キー関数Ｅｍｘ、Ｄｍｘ、Ｅｂｘ及びＤｂｘは、ラビン（Rabin ）の基準に従って選択することができる。この例についてのラビンのアルゴリズムでは、選択された所定の数Ｎを用いて２つの素数ｐ及びｑを選択するが、ここでｐ×ｑ＝Ｎ、ｐ＝４ｋ１＋３、ｑ＝４ｋ２＋３であり、ｋ１及びｋ２は定数である。Ｎは公に知られてもよいが、ｐ及びｑは秘密に保たれなければならない。ＥｍｘはＥｍｘ（ｃ）＝（ｃ）２ｍｏｄＮｍｘと定義され、ＤｍｘはＤｍｘ（ｃ）＝ｃ１／２ｍｏｄＮｍｘと定義され、このｃは暗号化された値である。ｃ１／２についてＤｍｘ（ｃ）を解くために、解ｘ１＝±ｃ（ｐ＋１）／４、及びｘ２＝±ｃ（ｑ＋１）／４を用いて方程式ｘ２＝ｃｍｏｄｐ、及びｘ２＝ｃｍｏｄｑを解く。ａｐ＋ｂｑ＝１となるような２つの値ａ及びｂが見つかったら、方程式ｃ１／２＝ｂｑｘ１＋ａｐｘ２ｍｏｄＮｍｘによってｃ１／２を見つけることができる。Ｄｂｘ及びＥｂｘを使うプロセス、及びＥ０及びＤ０を使うプロセスは、Ｅｘｍ及びＤｍｘを使うプロセスと同一である。証明子Ｃｍｘ＝Ｄ０（ｆ（ｍｘ、Ｅｍｘ））＝（ｆ（ｍｘ、Ｅｍｘ））１／２ｍｏｄＮ０であり、証明子Ｃｂｘ＝Ｄ０（ｆ（ｂｃ、Ｅｂｘ））＝（ｆ（ｂｘ、Ｅｂｘ））１／２ｍｏｄＮ０である。ラビンのアルゴリズムについての一般的解説が、１９９５年にＣＲＣから刊行されたスティンソン(Stinson) の書物“暗号法、理論及び実際（Cryptography, Theory and Practice）”のページ１４３−１４８に記載されている。
【００３１】
また、キー関数Ｅｍｘ、Ｄｍｘ、Ｅｂｘ、及びＤｂｘをライベスト、シャミル及びエイドルマン（ＲＳＡ）の基準（Rivest, Shamir and Adleman (RSA) criteria ）に従って選択してもよい。ＲＳＡでは２つの（大きな）素数ｐ及びｑを始めに選択するが、ここでｐ×ｑ＝Ｎである。次に他の２つの値ａ２及びｂ２を選択するが、ここで（ａ２）（ｂ２）＝１ｍｏｄ（ｐ−１）（ｑ−１）である。Ｎ及びａ２は公開されてもよいが、ｂ２は秘密に保たれなければならない。Ｅｍ２及びＤｍ２はＥｍ２（ｃ）＝（ｃ）ａ２ｍｏｄＮ、Ｄｍ２＝（ｃ）ｂ２ｍｏｄＮと定義される。ＲＳＡアルゴリズムについての詳しい解説が１９９６年にジョン・ワイリー・アンド・サンズから出版されたリンチ（Lynch ）他の書物“デジタルマネー（Digital Money）”のページ７６−８６に記載されている。
【００３２】
図２の流れ図は、移動局Ｍ１と基地局Ｂ１との間の通信にキー合意及び確認処理手順が使われる例を示している。図示の例では、プロセスは基地局Ｂ１から始まっているけれども、プロセスはＭ１及びＢ１のどちらから始まってもよい。プロセスはステップ２００から始まり、ここでキー合意及び確認処理手順がＢ１で開始される。ステップ２０２でＢ１はトリプレット（ｂ１、Ｅｂ１、Ｃｂ）をＭ１に送る。次に、ステップ２０４で、Ｍ１は受け取った値ｂ１及びＥｂ１からｆ（ｂ１、Ｅｂ１）を計算する。次にプロセスはステップ２０６に移行し、ここでＭ１は、計算されたｆ（ｂ１、Ｅｂ１）がＥ０（Ｃｂ）に等しいか否か判定することによってＣｂを確認するが、このＣｂは、Ｂ１からトリプレット（ｂ１、Ｅｂ１、Ｃｂ）で受け取った値Ｃｂである。もしｆ（ｂ１、Ｅｂ１）がＥ０（Ｃｂ）に等しくなければ、Ｃｂは本物であるとは認められず、ステップ２０２で受け取ったトリプレットはＢ１に扮したものが送ったものかも知れない。この場合にはプロセスはステップ２０８に移行して終了する。しかし、ｆ（ｂ１、Ｅｂ１）がＥ０（Ｃｂ）に等しければ、Ｃｂは本物であると認められ、プロセスはステップ２１０に移行する。
【００３３】
ステップ２１０でＭ１は暗号化キー（ｋ１）を選択する。次に、ステップ２１２で、Ｍ１はＥｂ１をｋ１に適用してＥｂ１（ｋ１）を作り、Ｅｂ（ｋ１）をＢ１に送る。Ｍ１からＥｂ１（ｋ１）を受け取った後、Ｂ１はステップ２１４でＤｂ１をＥｂ１（ｋ１）に適用してＤｂ１（Ｅｂ１（ｋ））＝ｋ１を作る。次に、ステップ２１６で、Ｍ１はｋ１を使ってＭ１のトリプレット（ｍ１、Ｅｍ１、Ｃｍ１）を暗号化し、その暗号化されたトリプレットをＢ１に送る。その暗号化されているトリプレットを受け取った後、Ｂ１はステップ２１８で暗号化されているトリプレットをｋ１を使って解読してトリプレット（ｍ１、Ｅｍ１、Ｃｍ１）を作り直す。次に、ステップ２２０で、Ｂ１は、Ｍ１からのトリプレットで受け取ったｍ１とＥｍ１との値を使ってｆ（ｍ１、Ｅｍ１）を計算する。次にプロセスはステップ２２２に移行し、ここでＢ１は、計算されたｆ（ｍ１、Ｅｍ１）がＥ０（Ｃｍ）に等しいか否か判定することによってＣｍが本物かどうか確認するが、ここでＣｍはトリプレットでＭ１から受け取ったＣｍである。もしｆ（ｍ１、Ｅｍ１）がＥ０（Ｃｍ）に等しくなければ、Ｃｍは本物とは認められず、そのトリプレットはＭ１に扮したものが送ったものかも知れない。この場合には、プロセスはステップ２２４に移行して終了する。しかし、ｆ（ｍ１、Ｅｍ１）がＥ０（Ｃｍ）に等しければ、Ｃｍは本物であると認められ、プロセスはステップ２２６に移行する。
【００３４】
ステップ２２６でＢ１は新しい暗号化キー（ｋ２）を選択する。Ｂ１はｋ２をその後の暗号化のために使用する。次に、ステップ２２８で、Ｂ１はＥｍ１をｋ２に適用してＥｍ１（ｋ２）を作る。次に、ステップ２３０で、Ｂ１はｋ１を使ってＥｍ１（ｋ２）を暗号化し、その暗号化されたＥｍ１（ｋ２）をＭ１に送る。その暗号化されているＥｍ１（ｋ２）を受け取ると、Ｍ１はステップ２３２でその暗号化されているＥｍ１（ｋ２）を解読し、Ｄｍ１をＥｍ１（ｋ２）に適用してＤｍ１（Ｅｍ１（ｋ２））＝ｋ２を作る。次に、ステップ２３４で、Ｍ１はｋ２をそのセッション暗号化キーとして指定する。この段階で、Ｍ１及びＢ１はセッション・キーｋ２を使って暗号通信を行えるようになる。キー確認及び指定のプロセスは次にステップ２３６に移行して終了する。
【００３５】
図２のプロセスにおいて、ステップ２００−２１４はＢ１が本物であることをＭ１に証明するものである。Ｂ１を装うために、詐欺師Ｘは、関数ｆ（ｂ１、Ｅｂ１）の性質の故に、同一のトリプレット（ｂ１、Ｅｂ１、Ｃｂ１）をＭ１に送らなければならない。たとえＸがトリプレット（ｂ１、Ｅｂ１、Ｃｂ１）を首尾よく入手できても、ステップ２１４はＸがキーｋ１を入手して通信を続けることを阻止する。ステップ２１６−２３２は、Ｍ１が本物であることをＢ１に証明する。詐欺師ＸがＭ１のトリプレット（ｍ１、Ｅｍ１、Ｃｍ１）を手に入れることに成功しても、ステップ２２２はＸがキーｋ２を手に入れて通信を続けることを阻止する。ｋ１を使う暗号化もステップ２１８で詐欺師が干渉して基地局を装うことを阻止する。
【００３６】
本発明の他の実施例では、確認及びキー合意の方法を利用して電子マネーの安全な流れを提供することができる。ここで図３を参照すると、電子マネーを移転するための通信システムが図示されている。システム３００は、図１のシステム１００と、銀行１及び銀行２から成る。銀行１及び銀行２は、それぞれ普通の電話回線３０２及び３０４を通して陸線通信網１４２に接続されている。システム１００は、図１について解説したとおりのものである。銀行１及び銀行２は、各々、移動局Ｍ１の制御ユニット１０６及び論理ユニット１１２と類似する、電話回線３０２及び３０４を介して受け取ったメッセージを暗号化したり解読したりすることのできる通信装置を包含している。電子マネーの移転は、移動局Ｍ１及びＭ２と、電子マネーの流れの終点としての銀行１及び銀行２の間で行われる。確認及びキー合意の処理手順が電子マネーの流れの終点同士の間で行われる。移動局Ｍ１及びＭ２、及び銀行１及び銀行２のいずれかの間の確認及びキー合意の処理手順は、図２のプロセスにおけるＭ１及びＢ１の代わりに、そのうちの２つが通信の当事者となって、図２のプロセスによって行われることができる。移動局Ｍ１及びＭ２と基地局Ｂ１及びＢ２との間の通信は図２について説明したとおりに暗号化され得るけれども、それは選択自由である。移動局と基地局との間での確認及びキー合意の処理手順は透明で、電子マネー移転のための確認及びキー合意の処理手順とは異なるレベルにある。
【００３７】
本発明のこの実施例では、Ｍ１のユーザーは、例えば、お金をＭ２のユーザーに電子的に移転することができる。図１の実施例の場合に行われるように、公開キーＥ０及び秘密キーＤ０を有する公開キー・アルゴリズムＡ０がシステム３００に割り当てられる。当該関数ｆ（ｔ，ｐ）について同じ結果を与えるような、変数ｔ及びｐの値の２つの異なる対を計算で発見することが不可能であるように、即ち、ｔ及びｐの値の異なる対をランダムに選べばｆ（ｔ，ｐ）が同じ結果を与える可能性がゼロに近くなるように、関数ｆ（ｔ，ｐ）が定義される。Ｅ０及びＡ０は、本発明に従って動作するシステム３００の全ての移動局及び銀行に知らされる。システム３００の本発明に従って動作する移動局Ｍｘのサービスの開始時に、キーＥｍｘ及びＤｍｘを有する公開キー・アルゴリズムＡｍｘが移動局Ｍｘに割り当てられる。Ｍｘには識別子ｍｘも割り当てられる。識別子ｍｘはＭｘについての証明子Ｃｍｘを計算するために使われ、ここでＣｍｘ＝Ｄ０（ｆ（ｍｘ、Ｅｍｘ））である。同様に、本発明に従って動作する各銀行Ｂａｎｋｘには、キーＥｂａｘ及びＤｂａｘを有する公開キー・アルゴリズムＡｂａｘが割り当てられるとともに、Ｂａｎｋｘについての証明子Ｃｂａｘを計算するために使われる識別子ｂａｘも割り当てられ、ここでＣｂａｘ＝Ｄ０（ｆ（ｂａｘ、Ｅｂａｘ））である。Ｍｘについての確認トリプレットは（ｍｘ、Ｅｍｘ、Ｃｍｘ）であり、Ｂａｎｋｘについての確認トリプレットは（ｂａｘ、Ｅｂａｘ、Ｃｂａｘ）である。図３の実施例のキー関数は、図２の実施例について説明したのと同様であってよい。例えば、ＲＳＡ又はラビンのアルゴリズムを使用することができる。移動局のユーザーの識別子を使って銀行を装うことを阻止するために、識別子ｍｘ及びｂａｘをそれぞれ移動局及び銀行の識別子であると識別することができる。
【００３８】
次に図４及び図５を参照すると、本発明の実施例に従って行われる電子マネーの移転時に実行されるプロセスのステップを示す流れ図が示されている。図４及び図５は移動局Ｍ１のユーザーがＭ２のユーザーに電子マネーを移転したいと希望している実例を示している。プロセスはステップ４００から始まり、Ｍ１は銀行１に電話をかける。次に、ステップ４０２で、Ｍ１及び銀行１は互いを確認し合い、キーｋ１について合意する。ステップ４０２の確認及びキー合意の処理手順は、図１で解説したプロセスを用いて実行されることができ、この場合銀行１は基地局Ｂ１の代わりとなる。次に、ステップ４０４で、Ｍ１で乱数Ｎが選択され、Ｍ１のユーザーがＭ２に移転したいと望んでいる額がＭ１に呈示される。ステップ４０６で、Ｍ１は、ｆ（Ｎ、ＡＭ）を計算し（このＡＭは移転されるべき額である）、Ｍ１によりサインされたｆ（Ｎ、ＡＭ）即ちＤｍ１（ｆ（Ｎ、ＡＭ））を作成するためにＤｍ１をｆ（Ｎ、ＡＭ）に適用する。次に、ステップ４０８で、Ｍ１はｋ１を使って−Ｎ、ＡＭ及びＤｍ１（ｆ（Ｎ、ＡＭ））を暗号化し、ステップ４１０で、−Ｎ、ＡＭ及びＤｍ１（ｆ（Ｎ、ＡＭ））を含む暗号化されているステートメントがＭ１から銀行１に送られる。Ｍ１がＭ１のユーザーに属する口座の借り方に額ＡＭを記入しようとしていることを示すためにＮの符号を負に設定することができる。符号は借り方への記入が行われることを示すためにだけ設定され、Ｎが正であることを前提として全ての計算が行われる。暗号化されている−Ｎ、ＡＭ及びＤｍ１（ｆ（Ｎ、ＡＭ））を受け取ると、銀行１はステップ４１２でｋ１を使ってそのステートメントを解読して−Ｎ、ＡＭ及びＤｍ１（ｆ（Ｎ、ＡＭ））を作る。次に、ステップ４１４、４１６及び４１８で、銀行１は、そのステートメントがＭ１から送られてきたことを確かめるために該ステートメントの保全性をチェックする。このチェックは、プロセスの安全性についての二重チェックとして役立つ。ステップ４１４で、銀行１はＥｍ１をＤｍ１（ｆ（Ｎ、ＡＭ））に適用してＥｍ１（Ｄｍ１（ｆ（Ｎ、ＡＭ）））＝ｆ（Ｎ、ＡＭ）を作る。ステップ４１６で、銀行１は、暗号化されている−Ｎ、ＡＭからｆ（Ｎ、ＡＭ）を計算する。ステップ４１６で計算されたｆ（Ｎ、ＡＭ）が、Ｍ１から受け取られたｆ（Ｎ、ＡＭ）に等しいか否かがステップ４１８で判定される。その２つのｆ（Ｎ、ＡＭ）の値が一致しなければ、そのステートメントの保全性は傷ついており、プロセスはステップ４２０に移行して終了する。しかし、その２つのｆ（Ｎ、ＡＭ）の値が一致すれば、そのステートメントの正当性が確認され、プロセスはステップ４２２に移行する。
【００３９】
ステップ４２２で、銀行１は額ＡＭをＭ１のユーザーの口座から控除する。次に、ステップ４２４で、銀行１はＤｂａ１をｆ（Ｎ、ＡＭ）に適用してＤｂａ１（ｆ（Ｎ、ＡＭ））を作る。ステップ４２６で銀行１はｋ１を使ってＮ、ＡＭ及びＤｂａ１（ｆ（Ｎ、ＡＭ））を暗号化する。銀行１は、次にステップ４２７で、暗号化したＮ、ＡＭ及びＤｂａ１（ｆ（Ｎ、ＡＭ））を含むステートメントをＭ１に送る。銀行１が貸し方ステートメントを、即ち受け取り側の貸し方に記入する趣旨のステートメントを送ろうとしていることを示すために、そのステートメントの中のＮの符号を正に設定することができる。ステップ４２８で、Ｍ１は、銀行１から受け取った暗号化されているＮ、ＡＭ及びＤｂａ１（ｆ（Ｎ、ＡＭ））を解読する。次に、ステップ４３０、４３２及び４３４で、Ｍ１は、そのステートメントが銀行１から送られてきたものであることを確かめるためにそのステートメントの保全性をチェックする。ステップ４３０でＭ１はＥｂ１をＤｂａ１（ｆ（Ｎ、ＡＭ））に適用してｆ（Ｎ、ＡＭ）を作る。ステップ４３２でＭ１は、解読したＮ、ＡＭからｆ（Ｎ、ＡＭ）を計算する。次にステップ４３４で、ステップ４３２で計算されたｆ（Ｎ、ＡＭ）が銀行１から受け取ったｆ（Ｎ、ＡＭ）に等しいか否かが判定される。もしその２つのｆ（Ｎ、ＡＭ）の値が一致しなければ、そのステートメントの保全性は傷ついており、プロセスはステップ４３６に移行して終了する。しかし、２つのｆ（Ｎ、ＡＭ）の値が一致するならば、そのステートメントは正当なものであると確認され、プロセスはステップ４３８に移行する。
【００４０】
ステップ４３８でＭ１はＭ２に電話をかける。次に、ステップ４４０で、Ｍ１及びＭ２は互いを確認し合い、セッション・キーｋ２について合意する。ステップ４４０の確認及びキー合意の処理手順は、基地局Ｂ１をＭ１と置き換えて図２で解説されたプロセスを用いて実行されることができる。次に、ステップ４４２で、Ｍ１は、ｋ２を使って＋Ｎ、ＡＭ、Ｄｂａ１（ｆ（Ｎ、ＡＭ））及びトリプレット（ｂａ１、Ｅｂａ１、Ｃｂａ１）を暗号化し、次にステップ４４４でその暗号化したステートメント＋Ｎ、ＡＭ及びＤｂａ１（ｆ（Ｎ、ＡＭ））及びトリプレット（ｂａ１、Ｅｂａ１、Ｃｂａ１）をＭ２に送る。ここでは、Ｍ１が他人の口座の貸し方に記入される電子マネーを送ろうとしていることを示すために値Ｎに正の符号が与えられる。ステップ４４６でＭ２はＭ１から受け取ったメッセージをｋ２を使って解読する。次にステップ４４８で、Ｍ１から受信された証明子Ｃｂａ１が本物か否かが判定される。ステップ４４８で、Ｍ２は、Ｍ１から受け取ったｂａ１及びＥｂａ１からｆ（ｂａ１、Ｅｂａ１）を計算し、計算したｆ（ｂａ１、Ｅｂａ１）をＥ０（Ｃｂａ１）＝Ｅ０（Ｄｂａ１（ｆ（ｂａ１、Ｅｂａ１）））と比較する。もしその２つのｆ（ｂａ１、Ｅｂａ１）の値が一致しなければ、証明子Ｃｂａ１は正当なものではなく、プロセスはステップ４５０に移行して終了する。しかし、もしその２つのｆ（ｂａ１、Ｅｂａ１）の値が一致するならば、証明子Ｃｂａ１は正当なものであると確認され、プロセスはステップ４５２に移行する。
【００４１】
次にＭ２は、そのステートメントが元は銀行１から送られてきたものであることを確かめるために、そのステートメントの保全性をチェックする。ステップ４５２で、Ｍ２はＥｂａ１をＤｂａ１（ｆ（Ｎ、ＡＭ））に適用してｆ（Ｎ、ＡＭ）を作る。ステップ４５４で、Ｍ２は、解読したＮ、ＡＭからｆ（Ｎ、ＡＭ）を計算する。次にステップ４５６で、ステップ４５２で計算されたｆ（Ｎ、ＡＭ）がＭ１から受信されたｆ（Ｎ、ＡＭ）に等しいか否かが判定される。もしその２つのｆ（Ｎ、ＡＭ）の値が一致しなければ、そのステートメントの保全性は傷ついており、プロセスはステップ４５８に移行して終了する。しかし、その２つのｆ（Ｎ、ＡＭ）の値が等しければ、それはそのステートメントが元は銀行１によりサインされた正当なものであることを証明するものであり、プロセスはステップ４６０に移行する。
【００４２】
ステップ４６０でＭ２は銀行２に電話をかける。次に、ステップ４６２で、Ｍ２及び銀行２は互いを確認し合ってセッション・キーｋ３について合意する。ステップ４４０の確認及びキー合意の処理手順は、例えばＭ１をＭ２と置き換えるとともに基地局Ｂ１を銀行２と置き換えて図２で解説されたプロセスを用いて実行されることができる。次に、ステップ４６４で、Ｍ２は、ｋ３を使って＋Ｎ、ＡＭ、Ｄｂａ１（ｆ（Ｎ、ＡＭ））及びトリプレット（ｂａ１、Ｅｂａ１、Ｃｂａ１）を暗号化する。ステップ４６６で、Ｍ２は、暗号化した＋Ｎ、ＡＭ、Ｄｂａ１（ｆ（Ｎ、ＡＭ））及びトリプレット（ｂａ１、Ｅｂａ１、Ｃｂａ１）を銀行２に送る。Ｍ２からそのメッセージを受け取ると、銀行２は、ステップ４６８で、その暗号化されている＋Ｎ、ＡＭ、Ｄｂａ１（ｆ（Ｎ、ＡＭ））及びトリプレット（ｂａ１、Ｅｂａ１、Ｃｂａ１）を解読する。次にステップ４７０で、Ｍ２から受信された証明子Ｃｂａ１が本物かどうかが判定される。ステップ４７０で、銀行２は、Ｍ２から受け取ったｂａ１及びＥｂａ１からｆ（ｂａ１、Ｅｂａ１）を計算し、その計算したｆ（ｂａ１、Ｅｂａ１）をＥ０（Ｃｂａ１）＝Ｅ０（Ｄｂａ１（ｆ（ｂａ１、Ｅｂａ１）））と比較する。もしその２つのｆ（ｂａ１、Ｅｂａ１）の値が一致しなければ、証明子Ｃｂａ１は正当なものではなく、プロセスはステップ４７２に移行して終了する。しかし、もしその２つのｆ（ｂａ１、Ｅｂａ１）の値が一致するならば、証明子Ｃｂａ１は正当なものであると確認され、プロセスはステップ４７４に移行する。
【００４３】
次に銀行２は、そのステートメントが元は銀行１から送られたものであることを確かめるためにそのステートメントの保全性をチェックする。ステップ４７４で、銀行２はＥｂａ１をＤｂａ１（ｆ（Ｎ、ＡＭ））に適用してｆ（Ｎ、ＡＭ）を作る。ステップ４７６で、銀行２は解読したＮ、ＡＭからｆ（Ｎ、ＡＭ）を計算する。次にステップ４７８で、ステップ４７６で計算されたｆ（Ｎ、ＡＭ）がＭ２から受信されたｆ（Ｎ、ＡＭ）に等しいか否かが判定される。もしその２つのｆ（Ｎ、ＡＭ）の値が一致しなければ、そのステートメントの保全性は傷ついており、プロセスはステップ４８０に移行して終了する。しかし、もしその２つのｆ（Ｎ、ＡＭ）の値が等しければ、それはそのステートメントが元は銀行１によりサインされた正当なものであることを証明しており、プロセスはステップ４８２に移行する。ステップ４８２で、銀行２はＭ２のユーザーの口座の貸し方に額ＡＭを記入する。
【００４４】
本発明の教示内容は、記述した通信規格での使用のみに限定されると解されるべきではなく、類似する如何なるシステムをも包含すると解されるべきである。更に、上で明示的に開示した暗号化アルゴリズム以外の暗号化アルゴリズムを使用して本発明を実施することができる。
【００４５】
本発明をその好ましい実施例に関して具体的に図示し解説をしたけれども、本発明の範囲から逸脱せずに形式や細部に変更を加え得ることを当業者は理解するであろう。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施例の確認及びキー合意機能を提供する通信システムのブロック図である。
【図２】図１の通信システムで動作している移動局と基地局との間で確認及びキー合意を行うプロセスを示す流れ図である。
【図３】本発明の実施例に従って安全に電子マネーを移転する通信システムのブロック図を示す。
【図４】図３の通信システムで安全に電子マネーを移転するために行われるプロセスのステップを示す流れ図である。（その１）
【図５】図３の通信システムで安全に電子マネーを移転するために行われるプロセスのステップを示す流れ図である。（その２）
【符号の説明】
【００４７】
１００：通信システム
１４２：陸線通信網
Ｂ１，Ｂ２：基地局
Ｍ１，Ｍ２：移動局
【図１】
2008252895.tif 000003
【図２】
2008252895.tif 000004
【図３】
2008252895.tif 000005
【図４】
2008252895.tif 000006
【図５】
2008252895.tif 000007