(57)【特許請求の範囲】
【請求項１】
データ通信手段と音声通信手段とを共有し、共通鍵方式で暗号通信を行う情報端末間の共通鍵共有方法であって、
秘密鍵とこれに対応する公開鍵を有する第一の情報端末が、暗号通信の相手である第二の情報端末が保持する暗号通信用共通鍵を獲得する際に下記のステップを含むことを特徴とする共通鍵共有方法。
（１）上記第一の情報端末が、その公開鍵をデータ通信手段により上記第二の情報端末に送信する公開鍵送信ステップ：
（２）上記第二の情報端末が、受信した上記第一の情報端末の公開鍵を使用して上記保持している共通鍵を暗号化し、該暗号化した共通鍵をデータ通信手段により上記第一の情報端末に送信する共通鍵送信ステップ：
（３）上記第一の情報端末が、受信した上記暗号化された共通鍵を上記第一の情報端末の秘密鍵で復号し、該復号した共通鍵と上記第一の情報端末の公開鍵とを結合し、該結合した情報から第一の検証データを生成する第一検証データ生成ステップ：
（４）上記第二の情報端末が、上記保持している共通鍵と上記第一の情報端末の公開鍵とを結合し、該結合した情報から第二の検証データを生成する第二検証データ生成ステップ：
（５）上記第一と第二の情報端末において上記音声通信手段により音声を送信して出力し、かつ上記第一の検証データと第二の検証データを相互に送信して表示出力する検証データ出力ステップ。
【請求項２】
上記第一の検証データおよび第二の検証データは所定の手順で生成されるハッシュの値であることを特徴とする請求項１記載の共通鍵共有方法。
【請求項３】
上記第一および第二の情報端末は、与えられた数値を特定の文字あるいは図形あるいは動画に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは、所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた文字あるいは図形あるいは動画であることを特徴とする請求項１に記載の共通鍵共有方法。
【請求項４】
上記第一および第二の情報端末は、与えられた数値を特定の音に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは、所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた音であることを特徴とする請求項１に記載の共通鍵共有方法。
【請求項５】
情報端末はタイマを持ち、第一の検証データと第二の検証データとを比較する検証データ出力ステップの開始からの時間が上記タイマの設定時間を超えると、警告を発するようにしたことを特徴とする請求項１記載の共通鍵共有方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、情報端末間で暗号通信用の共通鍵を安全に共有するための共通鍵共有方法に関するものである。
【０００２】
【従来の技術】
従来、２台の情報端末Ａ、Ｂ間で暗号通信を実現するときには、例えば情報端末Ａで生成した共通鍵を公開鍵暗号方式を用いて情報端末Ｂに送信して共有し、その共有した共通鍵で交互に交換するデータを暗号化することにより共通鍵方式の暗号通信を行っていた。
この方法では共通鍵を共有する際に情報端末Ｂの公開鍵によって共通鍵を暗号化するので、この公開鍵が間違いなく情報端末Ｂの公開鍵であるという信頼性が維持されることが必要であり、信頼できる第３者機関である公開鍵証明書発行局によってこの公開鍵を認証してもらい、公開鍵証明書の形式にしている。
以下、図１１９〜図１２１によって従来の共通鍵共有方法の説明をする。図１１９は従来の暗号通信システムの図、図１２０は従来の暗号通信システムの動作のフローチャート、図１２１は例えば日経コミュニケーション別冊「最新インターネットテクノロジ」（１９９６年４月２５日、日経ＢＰ社発行）１７２ページから１７８ページに記載された従来の暗号通信システムで共通鍵を共有する方法を説明する図である。
【０００３】
暗号通信を実施する情報端末Ａ８５０１と情報端末Ｂ８５０２は、暗号通信に先立ち、公開鍵証明書発行局８５０３の公開鍵（公開鍵ＣＡ）をＣＡ公開鍵格納部８５０２、８５１５にそれぞれ格納しておく。
次に情報端末Ａおよび情報端末Ｂは、それぞれの公開鍵（公開鍵Ａ、公開鍵Ｂ）が間違いなくそれぞれの情報端末発行の公開鍵であることを証明する公開鍵証明書を公開鍵証明書発行局８５０３より発行してもらう。そのため、まず秘密鍵と公開鍵の対である鍵対を鍵対生成部８５０５、８５２５で生成し、それぞれの公開鍵（公開鍵Ａ、公開鍵Ｂ）を証明書発行要求に含めて公開鍵証明書発行局８５０３に送信する。これを受信した公開鍵証明書発行局８５０３は証明書発行部８５２７で証明書付き公開鍵の形に変換した後、証明書格納部８５２８に格納する（図１２１参照）。
情報端末Ａ、Ｂの秘密鍵（秘密鍵Ａ、秘密鍵Ｂ）はそれぞれの秘密鍵格納部８５０３、８５１６に格納しておく。
【０００４】
次に、情報端末Ａ８５０１と情報端末Ｂ８５０２が共通鍵を共有する手順を図１２０および図１２１を参照して説明する。詳細な説明の前に理解を助けるために図１２０の（ａ１）〜（ｂ２）で概略を説明する。（ａ１）〜（ｂ２）はその左の各ステップの内容を簡単に説明したもので、（ａ１）〜（ａ３）は情報端末Ａの動作、（ｂ１）、（ｂ２）は情報端末Ｂの動作である。
まず情報端末Ａが共通鍵を生成し（ａ１）、これに生成元を明らかにするために自らの署名を入れる。これには秘密鍵Ａを使用する（ａ２）。次いで公開鍵暗号方式で情報端末Ｂに送信するために公開鍵Ｂで暗号化し（ａ３）、送信する。
これを受信した情報端末Ｂは、自らの秘密鍵Ｂで復号する（ｂ１）。次いでこの復号した共通鍵に付されている署名が確かに情報端末Ａのものであることを確認するために、署名を情報端末Ａの公開鍵Ａで検証する（ｂ２）。検証できればこの共通鍵は信頼できるものである。
【０００５】
上記（ａ３）（ｂ２）で公開鍵Ｂ、Ａを使用するが、この公開鍵が間違いなく情報端末Ｂ、Ａのものであることを確認するために公開鍵証明書発行局８５０３から証明書を取得し（Ｓ８７０３、Ｓ８７０９）、さらにその証明書が間違いなく公開鍵証明書発行局発行のものであることを確認するために、公開鍵証明書発行局の公開鍵ＣＡで検証を行う（Ｓ８７０４、Ｓ８７１０）という手順を踏む。この証明書には公開鍵証明書発行局の秘密鍵（秘密鍵ＣＡ）によって、公開鍵証明書発行局の電子署名が施されているからである。
【０００６】
以下（１）（２）により詳細な説明を行う。
（１）情報端末Ａの動作
情報端末Ａ８５０１では、共通鍵生成部８５０６により、共通鍵を生成する（Ｓ８７０１）。生成された共通鍵に対して、秘密鍵格納部８５０３に格納されている自らの秘密鍵Ａを用いて、署名を生成し、共通鍵に付加する（Ｓ８７０２）。証明書取得部８５１０により、情報端末Ｂの証明書取得要求を公開鍵証明書発行局８５０３に送信する。証明書取得要求は、送信部８５０７、伝送路８５３１、公開鍵証明書発行局の受信部８５２６を経て、証明書検索部８５２９に送られる。証明書検索部では、情報端末２の証明書を証明書格納部８５２８から検索し、検索結果として得られた証明書を証明書応答部８５３０より、情報端末Ａ８５０１に送信する。応答として返される情報端末Ｂの証明書は、送信部８５２５、伝送路８５３１、情報端末Ａの受信部８５０８を経て、証明書取得部８５１０に送られる（Ｓ８７０３）。証明書検証部８５１１は、ＣＡ公開鍵格納部８５０２に格納されている公開鍵証明書発行局８５０３の公開鍵を用いて、ステップＳ８７０３で取得した情報端末Ｂの証明書を検証する（Ｓ８７０４）。検証に失敗すれば処理を中断する。検証に成功すれば、証明書に含まれる公開鍵Ｂを用いて、署名付き共通鍵暗号部８５１２により、Ｓ８７０２で生成した署名付き共通鍵を暗号化する（Ｓ８７０５）。暗号化された署名付き共通鍵は、送信部８５０７から情報端末Ｂ８５０２宛てに、伝送路８５２８に送られる（Ｓ８７０６）。
【０００７】
（２）情報端末Ｂの動作
情報端末Ｂ８５０２は、受信部８５１８にて、暗号化された署名付き共通鍵を受信すると（Ｓ８７０７）、秘密鍵格納部８５１６に格納されている情報端末Ｂの秘密鍵を用いて、共通鍵復号部８５１９により、暗号化された署名付き共通鍵を復号する（Ｓ８７０８）。
次に、署名付き共通鍵の署名を検証するために、ステップＳ８７０９により、公開鍵Ａの証明書を公開鍵証明書発行局８５０３より取得する。そのためにまず、情報端末Ｂは証明書取得部８５２０により、情報端末Ａの証明書取得要求を公開鍵証明書発行局８５０３に送信する。証明書取得要求は、送信部８５１７、伝送路８５２５、公開鍵証明書発行局８５０３の受信部８５２６を経て、証明書検索部８５２９に送られる。証明書検索部８５２９では、情報端末Ａの証明書を証明書格納部８５２５から検索し、検索結果として得られた証明書を証明書応答部８５３０より、情報端末Ｂに送信する。応答として返される情報端末Ａの証明書は、送信部８５２５、伝送路８５２８、受信部８５１８を経て、証明書取得部８５２０に送られる（Ｓ８７０９）。
証明書検証部８５２１は、ＣＡ公開鍵格納部８５１５に格納されている公開鍵証明書発行局８５０３の公開鍵を用いて、ステップＳ８７０９で取得した情報端末Ａの証明書を検証する（Ｓ８７１０）。検証に失敗すれば処理を中断する。検証に成功すれば、証明書に含まれる公開鍵Ａを用いて、署名付き共通鍵を、共通鍵署名検証部８５２１により検証する（Ｓ８７１１）。この時点で、情報端末Ｂは、情報端末Ａの作成した共通鍵を盗聴、改竄なく入手できたことが確認できるので、受け取った共通鍵を共通鍵格納部８５２７に格納する（Ｓ８７１２）。
【０００８】
以後情報端末Ａ８５０１と情報端末Ｂ８５０２は、共有した共通鍵を共通鍵暗号方式の共通鍵として用いて暗号通信を行う。つまり、情報端末Ｂ８５０２のデータ暗号部８５２４により、この共通鍵によって暗号化されたデータは、送信部８５１７、伝送路８５２８、情報端末Ａの受信部８５０８を経てデータ復号部８５１４に送られ、共有した共通鍵で復号される。また、情報端末Ａ８５０１のデータ暗号部８５１３により、この共通鍵により暗号化されたデータは、送信部８５０７、伝送路８５２８、情報端末Ｂの受信部８５１８を経てデータ復号部８５２３に送られ、共有した共通鍵で復号される。
【０００９】
証明書発行局の証明なしで簡易に共通鍵を共有し、秘密鍵を用いて通信を行う第２の従来例として、特開平１０−２４０８２６号公報に示された、電子契約方法がある。この方法は要約すれば、共通鍵アルゴリズムを共有し、一方の当事者ユーザＡが自身の識別子をこの共通鍵アルゴリズムにより共通鍵に加工する。そして生成された共通鍵を用いてデータを暗号化して他方の当事者ユーザＢに送る。ユーザＢは暗号化データを予め得ておいたユーザＡの識別子と共通鍵アルゴリズムから生成した共通鍵で復号化しデータを解読する。一方、ユーザＢは、ある乱数をこの共通鍵で暗号化してユーザＡに送る。受け取ったユーザＡは先の共通鍵で復号して乱数を得る。更にユーザＡはデータからユーザＡの秘密鍵により定まるハッシュ値を得ておく。そしてユーザＡはこのハッシュ値とデータを、ユーザＢから送られた乱数を鍵として暗号化してユーザＢに送る。ユーザＢは先の乱数を用いて復号してユーザＡからのハッシュ値とデータを得る。これを先に取得した解読データと照合、確認ができる。この際、ハッシュ値はユーザＡからユーザＢに送られるデータに依存するものであり、ユーザＡに固有な値である。このようにハッシュ値はユーザＡが自身の秘密鍵を用いて送るデータに依存し、また秘密性は共通鍵を用いた２度の通信で確認される。
【００１０】
同様に公的な証明書発行局の証明なしによる他の簡易な秘密通信として、第３の従来例である、特開平６−２４４８３２号公報に示された秘密情報通信方法・装置がある。この方法・装置は要約すれば、互いに他方の公開鍵を伝送してもらい、これを鍵にして暗号化したデータを相手に送る。一方、互いに受信した先の公開鍵のハッシュ値を計算し、予め与えられるハッシュ値とを比較して、送られた公開鍵の正しさを照合確認する。
しかし、第２の従来例、第３の従来例ともに、共通鍵方式に基づく秘密通信であり、秘密性に不安がある。更にハッシュ値は、単に一方による作成を保証するか、公開鍵（または共通鍵）を用いるていることを単に示すものであり、それ以上のデータの保証をするものではない。
【００１１】
【発明が解決しようとする課題】
以上のように、公開鍵暗号方式を用いて情報端末Ａ、Ｂが相互に正しい相手と共通鍵を共有するためには、
（１）情報端末Ｂの公開鍵Ｂが本当に情報端末Ｂのものであることを情報端末Ａが確認できる手段と
（２）情報端末Ａの公開鍵Ａが本当に情報端末Ａのものであることを情報端末Ｂが確認できる手段
が必要である。相手の声や顔の見えない状態で、情報通信ネットワーク経由のデータ交換のみで、上記２つの手段の実現するには、信頼できる第三者である公開鍵証明書発行局から、情報端末Ａ、Ｂそれぞれが公開鍵Ａ、公開鍵Ｂは間違いなく自らの公開鍵であることを証明する公開鍵証明書を発行してもらい、暗号通信時には互いに相手の公開鍵証明書を取得し、検証することが必要となる。
【００１２】
しかし、公開鍵証明書の発行処理は手順が多く情報端末利用者の操作が複雑になる。また、公開鍵証明書の検証処理に時間がかかり、さらに、公開鍵証明書の検証処理を実現するための、ソフトウェア、ハードウェアの規模が大きくなるという問題がある。
そして、この問題を解決するために公開鍵証明書の検証処理を行わないようにすると、公開鍵の信頼性が維持できず暗号通信の安全性が確保できなくなるという問題が発生する。
【００１３】
この発明は上記の問題を解決するためになされたもので、共通鍵を共有する際に公開鍵証明書の検証処理が不要で、かつ暗号通信の安全性を確保できる共通鍵共有方法を得ることを目的とする。
【００１４】
またこの発明は、Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ法によって共通鍵を共有する際に、正しい相手と正しく共通鍵を共有できたことを確認できる共通鍵共有方法を得ることを目的とする。
【００１５】
またこの発明は、共通鍵を共有する際に正しい相手と正しく共通鍵を共有できたことを容易に確認できる共通鍵共有方法を得ることを目的とする。
【００１６】
【課題を解決するための手段】
第１の発明に係る共通鍵共有方法は、データ通信手段と音声通信手段とを有し、共通鍵方式で暗号通信を行う情報端末間の共通鍵共有方法であって、秘密鍵とこれに対応する公開鍵を有する第一の情報端末が、暗号通信の相手である第二の情報端末が保持する暗号通信用共通鍵を獲得する際の動作に下記のステップを含むものである。
（１）上記第一の情報端末が、その公開鍵をデータ通信手段により上記第二の情報端末に送信する公開鍵送信ステップ；
（２）上記第二の情報端末が、受信した上記第一の情報端末の公開鍵を使用して上記保持している共通鍵を暗号化し、該暗号化した共通鍵をデータ通信手段により上記第一の情報端末に送信する共通鍵送信ステップ；
（３）上記第一の情報端末が、受信した上記暗号化された共通鍵を上記第一の情報端末の秘密鍵で復号し、該復号した共通鍵と上記第一の情報端末の公開鍵から第一の検証データを生成する第一検証データ生成ステップ；
（４）上記第二の情報端末が、上記保持している共通鍵と上記第一の情報端末の公開鍵とから第二の検証データを生成する第二検証データ生成ステップ；
（５）上記第一と第二の情報端末のユーザが上記音声通信手段を介した音声により相互に相手を確認し、さらに音声により上記第一の検証データと第二の検証データを相互に比較する検証データ比較ステップ。
【００１７】
第２の発明に係る共通鍵共有方法は、データ通信手段と音声通信手段とを有し、共通鍵方式で暗号通信を行う情報端末間の共通鍵共有方法であって、下記のステップを含むこものである。
（１）相互に暗号通信を行なう第一および第二の情報端末が、暗号通信を行なう際に上記データ通信手段を介してＤｉｆｆｉｅ  Ｈｅｌｌｍａｎ法により暗号通信用共通鍵を共有する共通鍵共有ステップ；
（２）上記第一および第二の情報端末が、それぞれ保持した上記共通鍵から第一の検証データと第二の検証データをそれぞれ生成する検証データ生成ステップ；
（３）上記第一と第二の情報端末のユーザが上記音声通信手段を介した音声により相互に相手を確認し、さらに音声により上記第一の検証データと第二の検証データを相互に比較する検証データ比較ステップ。
【００１８】
第３の発明に係る共通鍵共有方法は、第１および第２の発明において上記第一の検証データおよび第二の検証データは所定の手順で生成されるハッシュであるものである。
【００１９】
第４の発明に係る共通鍵共有方法は、第３の発明において上記第一および第二の情報端末は上記ハッシュの少なくとも一部を表示する表示部を有し、上記検証データ比較ステップにおいてはそれぞれのユーザが該表示されたハッシュを比較するようにしたものである。
【００２０】
第５の発明に係る共通鍵共有方法は、第１および第２の発明において上記第一および第二の情報端末は与えられた数値を特定の文字あるいは図形あるいは動画に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは、所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた文字あるいは図形あるいは動画であるものである。
【００２１】
第６の発明に係る共通鍵共有方法は、第１および第２の発明において上記第一および第二の情報端末は、与えられた数値を特定の音に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは、所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた音であるものである。
【００２２】
また更に、タイマを持ち、第一の検証データと第二の検証データとを比較する検証データ比較ステップがこのタイマの設定時間を超えると、警告を発するようにした。
【００２３】
なお、特許請求の範囲における情報端末とは、音声通信手段とデータ通信手段が一体になった装置でもよく、また音声通信手段としての電話とデータ通信手段としてのネットワークで接続されたパソコン等を併用することにより実現してもよい。
【００２４】
【発明の実施の形態】
実施の形態１．
実施の形態１を図１から図９を用いて説明する。
本実施形態では２台の情報端末が共通鍵を共有した後、この共通鍵によって互いの声を暗号化して暗号通信を行う例を説明する。この共通鍵は一方の情報端末で生成され、他方の情報端末に対して公開鍵方式によって送付される。
図について説明すると、図１は本実施形態のシステム構成図、図２、図３は本実施形態の動作の概略を説明する図、図４は本実施形態の動作を示すフローチャート、図５は本実施形態におけるハッシュ生成法の説明図、図６は秘密の安全性が確保されないハッシュ生成法の説明図、図７は秘密の安全性が確保されない場合のデータ伝送の説明図、図８は本実施形態において悪意の中継局がある場合のハッシュ生成を示す図、図９は画面のスクロールボタンを設けた情報端末の図である。
【００２５】
構成を説明する。
図１において、１は情報端末Ａ、２は情報端末Ｂ、３は情報端末Ａ１と情報端末Ｂ２の間の通信を中継する中継局であり、この中継局３と上記情報端末Ａ１、情報端末Ｂ２はそれぞれデータ伝送路４および音声伝送路５で接続されている。この通信路４は有線であっても無線であってもよい。情報端末Ａ１と情報端末Ｂ２は相互に暗号通信を行うため上記データ伝送路４により暗号通信における暗号鍵や暗号化データなどのデータ情報を伝送し、また音声伝送路５により音声情報を相互に伝送する。
【００２６】
以下、情報端末Ａ１の構成を説明する。１０１はユーザがデータを入力するためのテンキーなどのユーザ入力部、１０２はマイクとスピーカからなる音声入出力部、１０３は液晶表示装置などからなる表示部、１０４はユーザ確認入力部であってユーザが暗号通信の開始と終了時に押下する押しボタンからなる。１０５は与えられたデータからハッシュを生成するハッシュ生成部、１０６は音声を暗号化する音声暗号化部、１０７は暗号化された音声を復号する音声復号部、１０８は情報端末Ａ１が他の情報端末との通信を行うための送受信部、１０９は公開鍵暗号方式の公開鍵と秘密鍵の対を生成する鍵対生成部、１１０は上記鍵対生成部１０９で生成された秘密鍵を格納する秘密鍵格納部、１１１は暗号化された共通鍵暗号方式の共通鍵を復号する共通鍵復号部、１１２はこの共通鍵復号部１１１で復号された共通鍵を格納する共通鍵格納部である。
【００２７】
次に、情報端末Ｂ２の構成を説明するが、２０１から２０８は上記情報端末Ａ１における１０１から１０８までとそれぞれ同一の機能を有し、２０１はユーザ入力部、２０２は音声入出力部、２０３は表示部、２０４はユーザ確認入力部、２０５はハッシュ生成部、２０６は音声暗号化部、２０７は音声復号部、２０８は送受信部である。
２０９は共通鍵方式による暗号通信を行う際に使用する共通鍵を生成する共通鍵生成部であり、図示しない乱数発生手段を有し、この乱数発生手段が発生する乱数から共通鍵を生成する。２１０はこの共通鍵生成部２０９で生成した共通鍵を格納しておく共通鍵格納部、２１１は公開鍵方式による暗号通信を行う際の公開鍵を格納しておく公開鍵格納部、２１２は上記共通鍵格納部２１０に格納された共通鍵を上記公開鍵格納部２１１に格納された公開鍵で暗号化する共通鍵暗号化部である。
上記データ伝送路４、情報端末Ａ１の送受信部１０８、情報端末Ｂ２の送受信部２０８から本発明におけるデータ通信手段が形成され、音声伝送路５、情報端末Ａ１の音声入出力部１０２、送受信部１０８、情報端末Ｂ２の音声入出力部２０２、送受信部２０８から本発明における音声通信手段が形成されている。
【００２８】
以上の情報端末Ａ１および情報端末Ｂ２は、ユーザ入力部１０１、２０１と音声入出力部１０２、２０２および表示部１０３、２０３とを使用して通常の電話としての機能も有する。
【００２９】
またハッシュ生成部１０５、２０５におけるハッシュの生成法には「ＳＨＡ１」あるいは「ＭＤ５」と呼ばれる方法などが周知であるが、可変長のデータを固定長のデータに変換する演算法であり、可変長データに対して固定長のハッシュが一義的に決定され、生成されたハッシュから元のデータを復元することは困難であるという一方向性を有する。
【００３０】
次に動作を説明する。
情報端末Ａ１と情報端末Ｂ２のユーザをそれぞれユーザＡ、ユーザＢと呼ぶことにするが、ユーザＡとユーザＢは電話の声によりお互いに相手を正しく認識できるものとする。
以下に、ユーザＡからユーザＢに対して電話をかけて、両者が共通鍵方式により相互に音声を暗号化して通信を行う際の手順を説明するが、共通鍵方式を使用するためはまず共通鍵を共有する必要があり、情報端末Ｂ２で生成した共通鍵を情報端末Ａ１の公開鍵で暗号化して情報端末Ａ１に送付し、その後暗号通信を行う。理解を助けるために、まず図２、図３により概略の手順を説明する。
【００３１】
図２（ａ）において、まず情報端末Ａから情報端末Ｂに電話をかける。情報端末Ａは公開鍵Ａとこれに対応する秘密鍵Ａを持ち、この公開鍵Ａを情報端末Ｂに送付する。
図２（ｂ）において、情報端末Ｂは情報端末Ａからの電話を受けると、
（１）共通鍵を生成し、
（２）この共通鍵と公開鍵Ａとを結合したデータからハッシュを生成して、その上位２バイトの１６進表示を表示部に表示する。
（３）さらに共通鍵を公開鍵Ａによって暗号化して、
（４）情報端末Ａに送信する。
暗号化された共通鍵を受信した情報端末Ａは
（５）暗号化された共通鍵を自らの秘密鍵Ａで復号し、
（６）復号した共通鍵と自らの公開鍵Ａとを結合したデータからハッシュを生成して、その上位２バイトの１６進表示を表示部に表示する。
図３において、
（１）ユーザＡとユーザＢはそれぞれの情報端末の表示が一致していることを音声により確認し、
（２）一致していることが確認されたら上記の共通鍵によって音声を暗号化して暗号通信を行う。
【００３２】
以下、詳細な動作を図４のフローチャートを参照しながら下記（１）から（４）で説明する。
（１）情報端末Ａの動作（Ｓ１０１〜Ｓ１０５）
まずユーザＡがユーザ入力部１１から情報端末Ｂ２の電話番号を入力して相手を指定すると（Ｓ１０１）、情報端末Ａ１の鍵対生成部１０９が起動して情報端末Ａ１の秘密鍵とこれに対応する公開鍵を生成し（Ｓ１０２）、この秘密鍵を秘密鍵格納部１１０に格納する（Ｓ１０３）。この秘密鍵と公開鍵はそれぞれ例えば１６バイトであるとする。情報端末Ａ１から情報端末Ｂ２への回線が接続されると（Ｓ１０４）、情報端末Ａ１は公開鍵を情報端末Ｂ２へ送信する（Ｓ１０５）。
上記ステップＳ１０５が本発明における公開鍵送信ステップである。
【００３３】
（２）情報端末Ｂの動作（Ｓ１０６〜Ｓ１１３）
情報端末Ａ１の公開鍵を受信した（Ｓ１０６）情報端末Ｂ２は、この公開鍵を公開鍵格納部２１に格納する（Ｓ１０７）。
次いで情報端末Ｂ２は共通鍵生成部２０９により共通鍵を生成し（Ｓ１０８）、共通鍵格納部２１０に格納する（Ｓ１０９）。この共通鍵は例えば１６バイトであるとする。
次いで図５（ａ）に示すように、この生成した共通鍵と情報端末Ａ１の公開鍵を結合して結合データを生成し、この結合データからハッシュを生成する（Ｓ１１０）。このハッシュは例えば２０バイトであり、本発明における第二の検証データである。
次いでこのハッシュ値の先頭の所定のバイト数、例えば２バイトを１６進数化して、表示部に表示する（Ｓ１１１）。表示部には数字またはＡからＦまでのアルファベット４文字が表示される。さらに共通鍵を情報端末Ａ１の公開鍵により暗号化して（Ｓ１１２）情報端末Ａ１に送信する（Ｓ１１３）。
上記ステップＳ１１０が本発明における第二検証データ生成ステップ、ステップＳ１１２とＳ１１３本発明における共通鍵送信ステップである。
またステップＳ１１０、Ｓ１１１を実行するタイミングは上記に限らず、例えば後述の情報端末Ａの動作ステップＳ１１８の後などでもよい。
【００３４】
（３）情報端末Ａの動作（Ｓ１１４〜Ｓ１１８）
情報端末Ｂ２から暗号化された共通鍵を受信する（Ｓ１１４）と、これを情報端末Ａ１の秘密鍵により復号し（Ｓ１１５）、復号された共通鍵を共通鍵格納部１１２に格納する（Ｓ１１６）。
この復号した共通鍵を図５（ｂ）のように情報端末Ａ１の公開鍵と結合して結合データを生成し、この結合データから２０バイトのハッシュを生成する（Ｓ１１７）。このハッシュがこの発明における第一の検証データである。そして、このハッシュ値の先頭の２バイトを１６進数化して、表示部に表示する（Ｓ１１８）。
上記ステップＳ１１５とステップＳ１１７が本発明における第一検証データ生成ステップである。
【００３５】
以上のＳ１０１からＳ１１８の動作はユーザが電話をかける動作に比較すれば短時間で終了し、双方の情報端末の表示部にハッシュの先頭２バイトを示す４文字が表示されたことになる。
【００３６】
（４）情報端末Ａ、Ｂの動作（Ｓ１１９〜Ｓ１２５）
続いてユーザＡとユーザＢは音声によりそれぞれの情報端末に表示されているハッシュの先頭２バイトが一致していることを音声により確認する（Ｓ１１９）。このとき音声によりハッシュの確認を行う前に、相手の声により双方が正しい相手であることを確認している。
ここではハッシュの先頭２バイトが一致することを確認することにより、先頭の２バイトが一致すればハッシュ全体の２０バイトが一致していると推定している。
両方のハッシュが一致するということは結合データが一致しているということとみなしてよく、結合データは共通鍵と公開鍵とから形成されるので、結合データが一致しているということは同じ共通鍵を正しい相手と共有できたことの証明になる。
上記ステップＳ１１９が本発明における検証データ比較ステップである。
【００３７】
Ｓ１０１からＳ１１９においてそれぞれの情報端末は音声の通信に関しては通常の電話と同じであり、情報端末内で暗号化、復号化の処理は行っていない。
【００３８】
次に、ユーザＡとユーザＢがそれぞれ情報端末Ａ１と情報端末Ｂ２の押しボタンを押下してユーザ確認入力部１０４、２０４に入力すると（Ｓ１２０）、それぞれの情報端末は音声通信に関して暗号通信モードに入る。暗号通信が開始されると（Ｓ１２１）、音声入出力部１０２、２０２から入力された一方のユーザの音声は音声暗号化部１０６、２０６で暗号化されて送信され、他方の情報端末の音声復号部２０７、１０７で復号されて通常の音声として音声入出力部２０２、１０２からユーザに伝達されるという暗号通信が行われる（Ｓ１２２）。
この時、音声の送信側の音声暗号化部はユーザの音声を暗号化してパケットを生成すると、そのパケットに暗号化された音声であることを示す暗号化識別情報を付加する。受信側の情報端末の送受信部は受信したパケットを検証し、暗号化識別情報を検出すると音声復号化部に連絡し、音声復号化部が暗号化された音声を復号する。
会話が終了したら両方のユーザが暗号通信ボタン１０４、２０４を再度押すと暗号通信は終了（Ｓ１２３）し、両方の情報端末の共通鍵格納部１１２、２１０に格納されていた共通鍵は消去される（Ｓ１２４）。
【００３９】
もしＳ１１９において双方のハッシュ値が一致しなかった場合は、正常に共通鍵を共有できていないので、共通鍵を共通鍵格納部１１２、２１０から消去し（Ｓ１２４）、通信を終了する（Ｓ１２５）。
【００４０】
以上の例において、図５（ａ）のように情報端末Ｂ２は受信した情報端末Ａ１の公開鍵と自ら生成した共通鍵から結合データを生成して、この結合データからハッシュを生成する。また、図５（ｂ）のように情報端末Ａ１は情報端末Ｂ２から暗号化されて送信された共通鍵を復号した後自らの公開鍵と結合して結合データを生成し、この結合データからハッシュを生成している。そしてユーザＡとユーザＢはそれぞれの情報端末で生成されたハッシュを相互に比較している。
この理由は、図６（ａ）（ｂ）のように情報端末Ｂ２が自ら生成した共通鍵のみからハッシュを生成し、情報端末Ａ１も復号した共通鍵のみからハッシュを生成し、ユーザＡとユーザＢがそれぞれの情報端末で生成されたハッシュを相互に比較するのみでは、中継局３が悪意を持っている場合、中継局３に盗聴され、暗号通信の安全性が確保できないからである。以下その理由を説明する。
【００４１】
図７は中継局３を介した情報端末Ａ１と情報端末Ｂ２のデータ交換の様子を示すものであり、中継局３は盗聴の意図を持ち、自らの公開鍵と秘密鍵を保持しているものとする。
通信の手順は図４のフローチャートに従うが、Ｓ１０５において情報端末Ａ１が公開鍵を情報端末Ｂ２に送信する際に（図７（ａ））、これを中継する中継局３はこの情報端末Ａ１の公開鍵を自らの公開鍵と置き換えて（図７（ｂ））、情報端末Ｂ２に送信する（図７（ｃ））ことが可能である。この時、中継局３は中継すべきであった情報端末Ａ１の公開鍵を保管する。情報端末Ｂ２はこの中継局３から送信されてきた中継局３の公開鍵を情報端末Ａ１の公開鍵と誤解したまま受信する。
従って、図４のＳ１１３において、情報端末Ｂ２は情報端末Ａ１の公開鍵の代わりに中継局の公開鍵で暗号化した共通鍵を送信するが（図７（ｄ））、中継局３はこれを受信して自らの秘密鍵で復号して、ユーザＡとユーザＢが暗号通信において使用する共通鍵を獲得する（図７（ｅ））。
次いで、中継局３は先に保管した情報端末Ａ１の公開鍵を使用してこの共通鍵を暗号化して情報端末Ａ１に送信する（図７（ｆ））。従って情報端末Ａ１はこの暗号化された共通鍵を自らの秘密鍵で復号することが可能であり、共通鍵が盗まれたことを検出できず、復号した共通鍵を共通鍵格納部１１２に格納する。
【００４２】
情報端末Ａ１が復号した共通鍵からハッシュを生成し、情報端末Ｂ２が自ら生成した共通鍵からハッシュを生成し、両者を図２Ｓ１１９でユーザＡとユーザＢが音声により比較すると一致するため、両ユーザはＳ１２０でユーザ確認入力を行い、Ｓ１２２で暗号通信を開始する。
以後情報端末Ａ１と情報端末Ｂ２はこの共通鍵を使用して暗号通信を行うが、中継局３はこの共通鍵を獲得しているため、情報端末Ａ１と情報端末Ｂ２の間の通信を盗聴することが可能である。
【００４３】
図５（ａ）（ｂ）で説明した本実施形態のように、生成した共通鍵や復号した共通鍵を情報端末Ａ１の公開鍵と結合して生成した結合データからハッシュを生成する方式において、上記のように中継局が悪意を持つ場合の動作を以下に説明する。
図７で説明したように情報端末Ｂ２は中継局３の公開鍵を情報端末Ａ１の公開鍵と誤解して受信し、図８に示すように自らが生成する共通鍵と中継局の公開鍵を結合して結合データを生成し、この結合データからハッシュを生成する。
一方情報端末Ａ１は中継局から情報端末Ａの公開鍵で暗号化された共通鍵を受信し、これを自らの秘密鍵により共通鍵を復号する。従って情報端末Ａ１でのハッシュ生成は図５（ｂ）と同様になる。
このように中継局が公開鍵の置き換えを行うと、情報端末Ａ１で生成されるハッシュと情報端末Ｂ２で生成されるハッシュとが異なるため、音声によりユーザＡとユーザＢがそれぞれの情報端末に表示されたハッシュを比較することにより、中継局の不正を検出することが可能となる。この時、情報端末Ａ１で生成されるハッシュと情報端末Ｂ２で生成されるハッシュとの先頭２バイトが偶然一致する確率は極めて低いので、ハッシュの先頭部のみを表示部に表示して音声で確認すればよい。
【００４４】
なお上記の情報端末Ａ１と情報端末Ｂ２の間で共通鍵を交換するのに使用した公開鍵暗号方式としては、ＲＳＡ方式や楕円暗号方式等が周知である。
また、情報端末Ａ１と情報端末Ｂ２の間で暗号通信を行うために使用する共通鍵方式としては、ＭＩＳＴＹあるいはＦＥＡＬ等が周知である。
【００４５】
また情報端末の構成の説明において、鍵対生成部１０９、秘密鍵格納部１１０、共通鍵復号部１１１は情報端末Ａ１のみが有し、共通鍵生成部２０９、公開鍵格納部２１１、共通鍵暗号部２１２は情報端末Ｂ２のみが有するように説明したが、これは情報端末Ａ１から情報端末Ｂ２に対して電話をかける場合の動作の説明のためであり、実際には鍵対生成部１０９、秘密鍵格納部１１０、共通鍵復号部１１１を情報端末Ｂ２も有し、共通鍵生成部２０９、公開鍵格納部２１１、共通鍵暗号部２１２を情報端末Ａ１も有し、相互に電話をかけ暗号通信が可能な構成になっている。
【００４６】
以上のように、データ伝送路により交換される公開鍵や共通鍵などのデータは伝送途中で中継局による改竄、なりすましの危険にさらされる。音声伝送路により交換される音声も同様に改竄、なりすましの危険があるが、音声はリアルタイムに伝送されるので、音声を効果的に改竄することは困難である。また音声は相手を認証する手段として非常に強力なので、なりすましもまた困難である。
本実施形態は、以上のように情報端末Ａと情報端末Ｂで暗号通信を行う際に、情報端末Ａがその公開鍵を第三者の証明なしに情報端末Ｂに送付し、情報端末Ｂが共通鍵を生成して情報端末Ａの公開鍵で暗号化後情報端末Ａに送付し、情報端末Ａは復号した共通鍵と自らの公開鍵、情報端末Ｂは自ら生成した共通鍵と情報端末Ａの公開鍵とからそれぞれハッシュを生成し、双方のハッシュの一致を音声により確認するので、正しい共通鍵を正しい相手と共有したことを容易に確認できるという効果がある。
【００４７】
また情報端末Ａが公開鍵を送付する際に、公開鍵Ａが確かに情報端末Ａの公開鍵であるという第三者による証明を受けなくても、共通鍵を盗まれ暗号通信を盗聴される危険がないので、処理に要する時間が少なく、またソフトウェアやハードウェアの規模が小さくて済むという効果がある。
特に小型化、低価格化を要求される個人ユーザ用の携帯型情報端末においてこの効果は顕著である。
【００４８】
また情報端末Ａ、Ｂは、情報端末Ａが情報端末Ｂに電話をかける前には何ら手続を必要としないので、ユーザの負担が小さく、ソフトウェアやハードウェアの規模が小さくて済むという効果がある。
【００４９】
また、情報端末Ｂは乱数により共通鍵を生成し、暗号通信が終了すると両方の情報端末の共通鍵格納部１１２、２１０に格納されていた共通鍵は消去されるので、暗号通信の度に異なる共通鍵を使用することになり、同じ共通鍵を繰り返し使用する場合に比べて安全性がさらに高くなるという効果がある。
【００５０】
なお、上記実施形態においてはハッシュの先頭２バイトを１６進数化して表示する例を示したが、表示するバイト数はこれに限らず、信頼性や表示部のサイズ等から決定してもよい。
先頭１バイトのみを表示する場合は共通鍵を正しく共有できていなくても両方の情報端末で一致してしまう確率が大きくなり、信頼性が下がるが、表示部が小さくてもよい。
また３バイト以上を表示する場合は、共通鍵を正しく共有できていなくても両方の情報端末で偶然一致してしまう確率が小さくなり信頼性が向上するという効果がある。
さらに表示する桁数を表示部に一度に表示できない場合は、表示部のスクロール機能を備えればよく、この場合はハッシュすべてを順次表示することが可能である。図９は表示部に４バイト分８文字しか表示できない携帯電話型の情報端末に、表示部を左右にスクロールするスクロールボタンを備えた例である。
【００５１】
実施の形態２．
実施の形態２を図１０から図１３を用いて説明する。
実施の形態１では一方の情報端末で共通鍵を生成し、これを公開鍵暗号方式で他方の情報端末に送付して共通鍵を共有する例を示した。本実施形態では共通鍵を送付しないで共通鍵を共有する「Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ法」（ＤＨ法）を使用する場合について説明する。
「Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ法」とは、二者間で共通鍵暗号方式における共通鍵を共有する方法として周知である。
【００５２】
図について説明すると、図１０は本実施形態の構成を示す図、図１１は本実施形態における共通鍵生成を説明する図、図１２は本実施形態の動作を説明するフローチャート、図１３は本実施形態におけるハッシュ生成の図である。
【００５３】
まず構成を説明するが、図１０において実施の形態１の図１と同一または相当する構成要素には同一符号を付して説明を省略する。
図１０において、５０１は情報端末Ａ１の共通鍵生成部であり、情報端末Ｂ２の共通鍵生成部５０２との間でＤＨ法により共通鍵を生成する。
また、情報端末Ａ１と情報端末Ｂ２のユーザをそれぞれユーザＡ、ユーザＢと呼ぶことにするが、ユーザＡとユーザＢは電話の声によりお互いに相手を正しく認識できるものとする。
【００５４】
以下に、ユーザＡからユーザＢに対して電話をかけて両者がＤＨ法により共通鍵を共有してから暗号通信を行う場合について説明する。
この手順を図１１のフローチャートを参照しながら説明するが、図１０において実施の形態１において説明した図２のフローチャートと同一の機能のステップについては同一の符号を付した。
【００５５】
まずユーザＡがユーザ入力部１１から情報端末Ｂ２の電話番号を入力して相手を指定し（Ｓ１０１）、情報端末Ｂ２との間に回線が接続されると（Ｓ１０４）、情報端末Ａ１および情報端末Ｂ２の共通鍵生成部５０１、５０２が起動し、ＤＨ法により共通鍵を生成し共有する（Ｓ４０１）。
ステップＳ４０１が本発明における共通鍵共有ステップである。
【００５６】
以下、Ｓ４０１の共通鍵生成法について図１２を用いて説明する。なお図１２において、情報端末Ａと情報端末Ｂの間には中継局が介在するが省略してある。ＤＨ法は共通鍵暗号方式の一種であるが、実施の形態１で説明したＭＩＳＴＹやＦＥＡＬのように共通鍵を一方で生成し公開鍵暗号方式で他方に送付するという手順を踏まない。
まず情報端末Ａの共通鍵生成部５０１では、素数Ｐ、１＜Ｇ＜Ｐを満たす整数Ｇを選定する。次に秘密の乱数Ｒ１（整数）を発生し、ＧR1ｍｏｄ  Ｐを算出する。そして、Ｐ、Ｇ、ＧR1ｍｏｄ  Ｐを情報端末Ｂに送信する（図１２（ａ））。これらＰ、Ｇ、ＧR1ｍｏｄ  Ｐは秘密ではない。
これを受け取った情報端末Ｂは共通鍵生成部５０２で秘密の乱数Ｒ２（整数）を発生し、ＧR2ｍｏｄ  Ｐを算出し、これを情報端末Ａに送信する（図１２（ｂ））。このＧR2ｍｏｄ  Ｐも秘密ではない。
これを受け取った情報端末Ａは受け取ったＧR2ｍｏｄ  ＰをＲ１乗する一方、情報端末ＢはＧR1ｍｏｄ  ＰをＲ２乗する。両方の演算結果は同一のＧR1・R2ｍｏｄ  Ｐとなり、これが両端末で共有された共通鍵となる（図１２（ｃ））。この共通鍵は例えば１６バイトであるとする。
【００５７】
以上の手順によりＳ４０１で生成され共有された共通鍵は、それぞれの共通鍵格納部１０７、２０７に格納される（Ｓ１０９）。
以後この共通鍵を使用して情報端末Ａと情報端末Ｂは音声の暗号通信を行うが、上記Ｓ４０１において、情報端末Ａと情報端末Ｂの間で秘密とせずに交換したＰ、Ｇ、ＧR1ｍｏｄ  Ｐ、ＧR2  ｍｏｄ  Ｐから上記共通鍵を演算することはＧ、Ｐが大きくなるに従い困難になるため、暗号通信の安全性は確保される。
【００５８】
一方、ＤＨ法は上記のような手順で共通鍵を共有するため、共通鍵の生成過程において正しい相手と通信しているのかどうかという相手認証を行わない。そこで共通鍵を共有した後、Ｓ１１０以下で音声により正しい相手を共通鍵を共有していることを確認する。
Ｓ１１０において、情報端末Ａ、情報端末Ｂはハッシュ生成部１０５、２０５により、上記共通鍵のハッシュを生成する。このハッシュは図１３に示したように例えば２０バイトである。そして、このハッシュ値の先頭の２バイトを１６進数化して、それぞれの表示部１０３、２０３に表示し（Ｓ１１１）する。Ｓ１０１から以上のの動作はユーザが電話をかける動作に比較すれば短時間で終了し、双方の情報端末の表示部にハッシュの先頭２バイトを示す４文字が表示されたことになる。
上記ステップＳ１１０が本発明における検証データ生成ステップである。
【００５９】
Ｓ１１９以後は実施の形態１と同様であり、ユーザＡとユーザＢは音声によりそれぞれの情報端末に表示されているハッシュの先頭２バイトが一致していることを音声により確認する（Ｓ１１９）。このとき音声によりハッシュの確認を行う前に、相手の声により双方が正しい相手であることを確認している。
ここではハッシュの先頭２バイトが一致することを確認することにより、先頭の２バイトが一致すればハッシュ全体の２０バイトが一致していると推定している。両方のハッシュが一致したら同じ共通鍵を正しい相手と共有できたみなし、ユーザＡとユーザＢがそれぞれ情報端末Ａ１と情報端末Ｂ２の押しボタンを押下して音声を暗号化して暗号通信を行う。
上記ステップＳ１１９が本発明における検証データ比較ステップである。
【００６０】
実施の形態１で説明したＭＩＳＴＹやＦＥＡＬなどの共通鍵暗号方式では、共通鍵を共有する際に一方の情報端末で生成した共通鍵を他方に公開鍵方式で送信する必要があり、その際に悪意を持っている中継局によって公開鍵を置換されてしまう危険があった。そのため、図５（ａ）（ｂ）のように共通鍵と公開鍵からハッシュを生成していたが、ＤＨ方式においては共通鍵の送信を行わないので、ハッシュは図１３のように共通鍵だけから生成すればよい。
【００６１】
以上のように本実施形態においては、ＤＨ法によって共通鍵を共有し、この共通鍵から生成されたハッシュを音声により比較する。ハッシュは盗聴されても共通鍵は復元できないので、共通鍵を盗まれることがない。従って、ＤＨ法において正しい相手と同じ共通鍵を共有できたことを、簡便な装置により安全に確認することができるという効果がある。
【００６２】
実施の形態３．
実施の形態３を図１４から図２４を用いて説明する。
実施の形態１および実施の形態２では２台の情報端末が共通鍵を共有した後、音声をこの共通鍵で暗号化して通信を行う例を示した。本実施形態ではネットワークで接続された２台のパソコン（ＰＣ）の間で共通鍵を共有し、電話で正しい相手と正しい共通鍵を共有したことを確認した後、ファイルデータを共通鍵で暗号化して通信を行う例を示す。
本実施形態におけるネットワークで接続されたパソコンが本発明におけるデータ通信手段、本実施形態における電話回線で接続された電話が本発明の音声通信手段、本実施形態における電話とパソコンを組み合わせたものが本発明の情報端末である。
【００６３】
図について説明すると、図１４は本実施形態の構成図、図１５は本実施形態におけるパソコンの機能ブロックを説明する図、図１６、１７は本実施形態の動作の概略を説明する図、図１８は本実施形態の動作を説明するフローチャート、図１９および図２１から図２４は本実施形態の動作中の表示部の表示状態の例を示す図、図２０は本実施形態におけるパソコンでのハッシュ生成を示す図である。
【００６４】
構成を説明する。
図１４において、１１はユーザＡが使用する電話Ａ、１２はユーザＡが使用するパソコンＡ、１３はユーザＢが使用する電話Ｂ、１４はユーザＢが使用するパソコンＢ、１５は上記電話Ａ１１、電話Ｂ１３を結ぶ公衆電話網、１６は上記パソコンＡ１２、パソコンＢ１４が加入しているインターネットである。パソコンＡはＩＰアドレスとして”ａａａ．ａａ．ａａａ．ａａａ”、パソコンＢはＩＰアドレスとして”ｂｂｂ．ｂｂ．ｂｂｂ．ｂｂｂ”を持ち、ユーザＡとユーザＢは電話の声によりお互いに相手を正しく認識できるものとする。
【００６５】
次にパソコンＡ１２について図１５により説明する。１２０１はキーボードおよびマウスからなるユーザ入力部、１２０２はディスプレイモニタである表示部、１２０３は与えられたデータからハッシュを生成するハッシュ生成部、１２０４はデータを暗号化するデータ暗号化部、１２０５は暗号化されたデータを復号するデータ復号部、１２０６はこのパソコン上で動作する暗号通信プログラムを格納している固定ディスク装置であるプログラム格納部、１２０７は外部との通信を行うインターフェース回路である送受信部、１２０８は公開鍵暗号方式の公開鍵と秘密鍵の対を生成する鍵対生成部、１２０９はこの鍵対生成部で生成された秘密鍵を格納する秘密鍵格納部、１２１０は暗号化された共通鍵を復号する共通鍵復号部、１２１１はこの復号された共通鍵を格納する共通鍵格納部である。上記ハッシュ生成部１２０３、データ暗号化部１２０４、データ復号部１２０５、鍵対生成部１２０８および共通鍵復号部１２１０はＣＰＵ（中央演算処理装置）により実現される。また秘密鍵格納部１２０９と共通鍵格納部１２１１はＲＡＭ（ランダムアクセスメモリ）により実現される。
【００６６】
次にパソコンＢ１４について同じく図１５により説明するが、１４０１から１４０７は上記パソコンＡ１２における１２０１から１２０７までとそれぞれ同一の機能を有し、１４０１はユーザ入力部、１４０２は表示部、１４０３はハッシュ生成部、１４０４はデータ暗号化部、１４０５はデータ復号部、１４０６はプログラム格納部、１４０７は送受信部である。
１４０８は共通鍵暗号方式の共通鍵を生成する共通鍵生成部であり、図示しない乱数発生手段を有し、この乱数発生手段が発生する乱数から共通鍵を発生する。１４０９はこの共通鍵生成部１４０８で生成された共通鍵を格納しておく共通鍵格納部、１４１０は公開鍵方式による暗号通信を行う際の公開鍵を格納しておく公開鍵格納部、１４１１は上記共通鍵格納部１４０９に格納された共通鍵を上記公開鍵格納部１４１０に格納された公開鍵で暗号化する共通鍵暗号化部である。
上記ハッシュ生成部１４０３、データ暗号化部１４０４、データ復号部１４０５、共通鍵生成部１４０８および共通鍵暗号化部１４１１はＣＰＵ（中央演算処理装置）により実現される。また共通鍵格納部１４０９と公開鍵格納部１４１０はＲＡＭ（ランダムアクセスメモリ）により実現される。
【００６７】
以下に、ユーザＡがユーザＢのパソコンＢに対してアクセスし、両者が共通鍵方式により相互にデータを暗号化して通信を行う際の手順を説明する。本実施形態においても実施の形態１と同様に、共通鍵方式を使用するためはまず共通鍵を共有する必要があり、パソコンＢで生成した共通鍵をパソコンＡの公開鍵で暗号化してパソコンＡに送付し、その後暗号通信を行う。理解を助けるために、図１６、図１７により概略の手順を説明する。
【００６８】
図１６（ａ）において、まずパソコンＡからパソコンＢにアクセスする。パソコンＡは公開鍵Ａとこれに対応する秘密鍵Ａを持ち、この公開鍵ＡをパソコンＢに送付する。
図１６（ｂ）において、パソコンＢはパソコンＡからアクセスされると、
（１）共通鍵を生成し、
（２）この共通鍵と公開鍵Ａとを結合したデータからハッシュを生成して、その上位２バイトの１６進表示を表示部に表示する。
（３）さらに共通鍵を公開鍵Ａによって暗号化して、
（４）パソコンＡに送信する。
暗号化された共通鍵を受信したパソコンＡは
（５）暗号化された共通鍵を自らの秘密鍵Ａで復号し、
（６）復号した共通鍵と自らの公開鍵Ａとを結合したデータからハッシュを生成して、その上位２バイトの１６進表示を表示部に表示する。
図１７において、
（１）ユーザＡとユーザＢはそれぞれのパソコンの表示が一致していることを電話を通した音声により確認し、
（２）一致していることが確認されたら上記の共通鍵によって所定のデータを暗号化して暗号通信を行う。
【００６９】
以下、詳細な動作を図１８のフローチャートを参照しながら下記（１）から（４）で説明する。
（１）パソコンＡの動作（Ｓ３０１〜Ｓ３０６）
まずユーザＡがパソコンＡ１２の暗号通信プログラムを起動して、ユーザ入力部１１からパソコンＢ１４のＩＰアドレスを入力して相手を指定すると（Ｓ３０１）、パソコンＡの表示部には図１９（ａ）のようなメッセージが表示される。ここでユーザＡが通信相手のＩＰアドレスの確認を行い、接続をクリックするとパソコンＢ１４に対して接続要求が送信される（Ｓ３０２）。パソコンＢがこの接続パソコンＢの接続要求を受信するとパソコンＢの暗号通信プログラムが起動し、パソコンＢ１４の表示部には図１９（ｂ）のようなウインドが開く。ここでユーザＢが許可をクリックすればパソコンＡとパソコンＢの間が接続され、却下をクリックすれば接続されず、その応答がパソコンＡに送信される。
パソコンＡはこの応答を確認し（Ｓ３０３）、接続許可であれば鍵対生成部１２０８で秘密鍵とこれに対応する公開鍵を生成し（Ｓ３０４）、この秘密鍵を秘密鍵格納部１２０９に格納する（Ｓ３０５）。この秘密鍵と公開鍵はそれぞれ例えば１６バイトであるとする。さらにパソコンＡ１２はこの公開鍵をパソコンＢ１４へ送信する（Ｓ３０６）。
【００７０】
（２）パソコンＢの動作（Ｓ３０７〜Ｓ３１４）
パソコンＡ１２の公開鍵を受信した（Ｓ３０７）パソコンＢ１４の暗号通信プログラムは、この公開鍵を公開鍵格納部１４１０に格納する（Ｓ３０８）。
次いでこの暗号通信プログラムに従って、パソコンＢ１４は共通鍵生成部１４０８により共通鍵を生成し（Ｓ３０９）、共通鍵格納部１４０９に格納する（Ｓ３１０）。この共通鍵は例えば１６バイトであるとする。
次いで図２０（ａ）に示すように、この生成した共通鍵とパソコンＡ１２の公開鍵を結合して結合データを生成し、この結合データからハッシュを生成する（Ｓ３１１）。このハッシュは例えば２０バイトであり、本発明における第二の検証データである。
ついでこのハッシュ値の先頭の所定のバイト数、例えば２バイトを１６進数化して、表示部に表示する（Ｓ３１２）。表示部には数字またはＡからＦまでのアルファベット４文字が表示される。さらに共通鍵をパソコンＡ１２の公開鍵により暗号化して（Ｓ３１３）パソコンＡ１２に送信する（Ｓ３１４）。
（３）パソコンＡの動作（Ｓ３１５〜Ｓ３１９）
パソコンＡ１２がパソコンＢ１４から暗号化された共通鍵を受信する（Ｓ３１５）と、パソコンＡの暗号通信プログラムはこれを情報端末Ａ１の秘密鍵により復号し（Ｓ３１６）、復号された共通鍵を共通鍵格納部１２１１に格納する（Ｓ３１７）。
この復号した共通鍵を図２０（ｂ）のようにパソコンＡ１２の公開鍵と結合して結合データを生成し、この結合データから２０バイトのハッシュを生成する（Ｓ３１８）。このハッシュがこの発明における第一の検証データである。そして、このハッシュ値の先頭の２バイトを１６進数化して、表示部に表示する（Ｓ３１９）。
【００７１】
（４）ユーザＡの操作（Ｓ３２０〜Ｓ３２６）
以上のＳ３０１からＳ３１９の動作により双方のパソコンの表示部にハッシュの先頭２バイトを示す４文字が表示されたことになる。
この時のパソコンＡとパソコンＢの表示部は例えば図２１（ａ）（ｂ）のように単にハッシュ（４Ｅ６９）を表示するのみでなく、以後暗号通信を続けるか否かを問い合わせるウインドウになっている。
ついでハッシュの一致を確認するために、ユーザＡがユーザＢに対して電話をかける（Ｓ３２０）。
【００７２】
電話がつながるとユーザＡはユーザＢに対してパソコンＢに表示されているハッシュの先頭２バイトを問合せ一致していることを音声により確認する（Ｓ３２１）。このときユーザＡとユーザＢは音声によりハッシュの確認を行う前に、相手の声により双方が正しい相手であることを確認している。
実施の形態１と同様にここではハッシュの先頭２バイトが一致することを確認することにより、先頭の２バイトが一致すればハッシュ全体の２０バイトが一致していると推定している。
【００７３】
ハッシュの先頭２バイトが一致していることが確認できたら電話を終了し（Ｓ３２２）、ユーザＡは図２１（ａ）の「続ける」をクリックする（Ｓ３２３）。一致していなかったら「中止する」をクリックする。「続ける」をクリックすることは以後の暗号通信開始のトリガーであり、パソコンＡ、Ｂの表示部はそれぞれ図２２（ａ）（ｂ）のようなウインドウが開き、パソコンＡでは送信するファイル名の入力、パソコンＢではファイルを受信するディレクトリの入力を行う画面になっている。パソコンＡで送信ファイルを選択して「送信」をクリックすると（Ｓ３２４）、選択されたファイルが共通鍵で暗号化されてパソコンＢに対して送信される（Ｓ３２５）。この時のパソコンＡとパソコンＢの表示部には図２３（ａ）（ｂ）のようなウインドウが開いており、さらに暗号通信が終了すると（Ｓ３２６）、図２４（ａ）（ｂ）のウインドウが開き、パソコンＡでは別のファイルを暗号化して送信するかどうかを問い合わせてくる。「はい」をクリックすれば図２２（ａ）のウインドウに戻り再度送信ファイルの入力を要求し、「いいえ」をクリックすれば暗号通信は終了する（Ｓ３２６）。
暗号通信が終了したらパソコンＡとパソコンＢの共通鍵格納部１２１１、１４０９に格納されている共通鍵は暗号通信プログラムにより消去される（Ｓ３２７）。
【００７４】
以上の例において、図２０（ａ）のようにパソコンＢは受信したパソコンＡの公開鍵と自ら生成した共通鍵から結合データを生成して、この結合データからハッシュを生成する。また、図２０（ｂ）のようにパソコンＡはパソコンＢから暗号化されて送信された共通鍵を復号した後自らの公開鍵と結合して結合データを生成し、この結合データからハッシュを生成している。そしてユーザＡとユーザＢはそれぞれのパソコンで生成されたハッシュを相互に比較している。
この理由は、実施の形態１の説明において、図６（ａ）（ｂ）のように生成した共通鍵や復号した共通鍵のみからハッシュを生成したのでは、図７のように中継局が悪意を持っている場合共通鍵を盗まれ、盗聴される危険性があると説明したのと同様の理由による。即ちパソコンＢが自ら生成した共通鍵のみからハッシュを生成し、パソコンＡも復号した共通鍵のみからハッシュを生成し、ユーザＡとユーザＢがそれぞれのパソコンで生成されたハッシュを相互に比較するのみでは、例えばインターネットのプロバイダが悪意を持っている場合このプロバイダに共通鍵を盗まれ、暗号通信の安全性が確保できないからである。これは図７における中継局３を悪意のプロバイダに置き換え、このプロバイダが固有の公開鍵とこれに対応する秘密鍵を保持しているとすれば、実施の形態１と同様の方法によりプロバイダは共通鍵を盗むことが可能だからである。
【００７５】
実施の形態４．
実施の形態４を図４および図２５から図３３を用いて説明する。
実施の形態１から実施の形態３ではハッシュを生成した後、このハッシュを１６進数に変換して表示部に表示していたが、ハッシュを単なる１６進数表示ではなく理解しやすい文字、図形、動画、音、におい等に変換して表示する例を示す。
これらの文字、図形、動画、音、におい等が本発明における検証データである。
なお上記「文字」には個別の文字の他に意味のある単語や文章も含むものとする。
【００７６】
図について説明すると、図４はすでに実施の形態１で説明したフローチャート、図２５は本実施形態の構成図、図２６および図２８から図３３は本実施形態における検証データ変換テーブルの図、図２７は本実施形態における表示の状態の例を示す図である。
【００７７】
次に構成を説明するが、図２５において図１と同一の構成要素には同一の符号を付し、説明を省略する。
図２５において、６０１、６０２はそれぞれ情報端末Ａ１、情報端末Ｂ２が保持する検証データ変換テーブルである。
【００７８】
また本実施形態の動作は図４に示した実施の形態１と同じフローチャートに従う。
実施の形態１において、情報端末Ａ、ＢはＳ１１１とＳ１１８のハッシュ値表示において、ハッシュを１６進数に変換して、その１６進表示を表示部１０３および２０３に示していたが、本実施形態においてはハッシュを上記検証データ変換テーブルを参照して特定の文字あるいは意味のある単語に対応付け、この対応付けられた文字あるいは単語を表示部に表示する。
【００７９】
検証データ変換テーブル６０１、６０２は図２６のようにハッシュ生成手段１０５、２０５で生成されたハッシュの上位２バイトをそれぞれ対応する文字や単語に対応付ける。上位２バイトをそれぞれ個別の文字や単語に対応付けるためには約６５０００種の文字が必要である。この場合は例えばこれを超える用語を記載してある国語辞典から用語を引用すればよい。この場合は一般に慣用されていない用語が表示されることもある。
図２７は情報端末の表示部に文字および単語が表示された一例である。
Ｓ１１９においてユーザＡとユーザＢはそれぞれ自分の表示部に表示された文字及び単語が相手の表示部に表示されているものと一致していることを確認し、一致していればＳ１２０でユーザ確認入力を行い、暗号通信を行う。
【００８０】
図２８はハッシュの上位１バイトを対応する単語に対応付ける検証データ変換テーブルである。この場合は２５６種の単語に対応付けるので、一般に慣用されている単語のみを選択して対応付ければよい。
また、単語だけではなく、図２９のような意味のある文章であってもよい。
【００８１】
以上のように、本実施形態によればハッシュを理解しやすい文字や単語や文章に対応付けるので相手に伝達しやすく、相互に比較が行いやすい上に伝達する際に楽しさが発生するという効果がある。
【００８２】
また検証データ変換テーブルを図３０のようにしてハッシュと特定の図形と対応付けるようにしてもよい。図４のフローチャートのＳ１１９においてユーザＡとユーザＢはそれぞれ自分の表示部に表示された図形が相手の表示部に表示されている図形と一致していることを音声により確認し、一致していればＳ１２０でユーザ確認入力を行い、暗号通信を行う。
この場合、ハッシュを理解しやすい図形に対応付けるので相手に伝達しやすく、相互に比較が行いやすい上に伝達する際に楽しさが発生するという効果がある。
【００８３】
また図形を単なる静止画ではなく、動画として、その動きをハッシュ値と対応つけるようにしてもよい。図３１（ａ）はその検証データ変換テーブルの例であり、ハッシュの上位１バイトが８Ａであった場合は「泳ぐ」動作と対応付けられており、図３１（ｂ）のような動画が表示部に表示れる。
この場合、ハッシュを理解しやすい動画に対応付けるので相手に伝達しやすく、相互に比較が行いやすい上に伝達する際に楽しさが発生するという効果がある。
【００８４】
さらに検証データ変換テーブルを図３２のようにしてハッシュと特定の音を対応付けるようにしてもよい。ここで音とは、音楽や人の声を含むあらゆる音を指すものとする。この場合図４のフローチャートのＳ１１９においてハッシュと対応付けられた音楽が情報端末の音声入出力手段２のスピーカから流れる。ユーザＡとユーザＢは自分の情報端末から流れている音楽が何であるかを音声により相手に伝えて一致していることを確認する。一致していればＳ１２０でユーザ確認入力を行い、暗号通信を行う。この時音楽の題名が表示部に表示されるようにしてもよい。
またこの音楽を、それぞれの情報端末の音声入出力手段１０２、２０２のマイクから入力して音声伝送路を経由して他方に送信し、受信した側はそれを聞いて、自分の情報端末から流れている音楽と一致していることを確認してもよい。もちろん、この際もユーザＡとユーザＢが声により相手を確認していることは必要である。
この場合、ハッシュを理解しやすい音楽に対応付けるので相手に伝達しやすく、相互に比較が行いやすい上に伝達する際に楽しさが発生するという効果がある。
【００８５】
また検証データ変換テーブルを図３３のようにしてハッシュと特定のにおいとを対応付け、それぞれの情報端末は図示しないにおい発生器を備えるようにしてもよい。図３３は人間の嗅覚のにおいに対する分解能を考慮してハッシュの上位４ビットのみをにおいに対応付けている例を示しており、１６種類のにおいが対応付けられている。比較するハッシュのビット数は４ビットに限らない。
この場合、ハッシュを理解しやすいにおいに対応付けるので、相手に伝達しやすく、相互に比較が行いやすい上に伝達する際に楽しさが発生するという効果がある。
【００８６】
また以上の説明における検証データ変換テーブルは秘密である必要はない。このテーブルにより対応付けた文字、図形等をユーザが音声により比較する際に盗聴され、テーブルを逆に参照してもとのハッシュが復元されても、このハッシュから共通鍵を復元することは不可能であるからである。
【００８７】
また以上の説明では、検証データ変換テーブルを実施の形態１で説明した情報端末に適用する例を説明したが、実施の形態２における情報端末や実施の形態３におけるパソコンに適用してもよい。その場合の動作はそれぞれ図１１および図１８のフローチャートに従い、それぞれのハッシュ値表示のステップ（図１１のＳ１１０、図１８のＳ３１２およびＳ３１９）において検証データ変換テーブルが参照される。
【００８８】
実施の形態５．
本発明の実施の形態５の構成と動作を説明する。
図３４は、本実施の形態における情報端末１  １ｂと２  ２ｂの構成を示す図である。図において、６は通信路、１０２ａは音声入力部、１０２ｂは音声出力部、１０８ａは送信部、１０８ｂは受信部、１１３は秘密情報復号部、１１４、２１４は秘密情報格納部、１２８、２２８は通信モード格納部、２１３は秘密情報暗号部、２１５は秘密情報生成部である。その他の要素は実施の形態１における図１に示す構成の同番号の要素と同等のものである。
図３５は、情報端末１  １ｂと２  ２ｂである暗号通信処理装置間での処理の流れを示すフローチャートである。図３６から図４１は暗号通信装置の処理を図示したものである。
【００８９】
以下図を参照しながら暗号通信装置（情報端末１  １ｂと２  ２ｂ）の動作について説明する。
通信を開始する暗号通信装置１ｂでは、電話番号等の相手を特定するＩＤ情報を入力し相手を指定する（ステップＳ２０１）。次に、鍵対生成部１０９において、ＲＳＡや楕円暗号等の公開鍵暗号方式における公開鍵／秘密鍵の鍵対、もしくはＤＨ方式や２重鍵方式などの秘密共有方式の公開鍵と秘密鍵の鍵対を生成する（ステップＳ２０２）。生成された秘密鍵を秘密鍵格納部１１０に格納する（ステップＳ２０３）。通信路６を経由して暗号通信装置２ｂと接続する（ステップＳ２０４）。暗号通信装置１ｂから暗号通信装置２ｂに対してステップＳ２０２で生成された公開鍵を送信部１０８ａより通信路６に送信する（ステップＳ２０５）。ステップＳ２０２からステップＳ２０６の処理の様子を図３６に示す。
【００９０】
暗号通信装置２ｂは、通信路６から受信部２０８ｂ経由で暗号通信装置１ｂの公開鍵を受信する（ステップＳ２０６）。受信された公開鍵は公開鍵格納部２１１に格納される（ステップＳ２０７）。暗号通信装置２ｂでは、１６バイトの秘密情報を秘密情報生成部２１５で生成する（ステップＳ２０８）。生成された秘密情報は、秘密情報格納部２１４に格納される（ステップＳ２０９）。格納された秘密情報のＳＨＡ１ハッシュ値をハッシュ生成部２０５により生成する（ステップＳ２１０）。例えば２０バイトのハッシュ値の先頭４バイトを１６進数
に変換し、表示部１２４に表示する（ステップＳ２１１）。
暗号通信装置２ｂは、さらに、秘密情報暗号部２１３により、秘密情報格納部２１４に格納されている秘密情報を、公開鍵格納部２１１に格納されている公開鍵を用いて公開鍵暗号方式で暗号化する（ステップＳ２１２）。暗号通信装置１ｂ向けに暗号化された秘密情報を送信部２０８ａ経由で通信路６に送信する（ステップＳ２１３）。
暗号通信装置１ｂは、通信路６から暗号化された秘密情報を受信部１０８ｂで受信する（ステップＳ２１４）。受信された暗号化秘密情報は、秘密鍵格納部１１０に格納されている秘密鍵を用いて公開鍵暗号方式で復号される（ステップＳ２１６）。復号された秘密情報は秘密情報格納部１１４に格納される。格納された秘密情報のＳＨＡ１ハッシュ値をハッシュ生成部１０５により生成する（ステップＳ２１７）。２０バイトのハッシュ値の先頭４バイトを１６進数に変換し、表示部１０３に表示する（ステップＳ２１８）。ステップＳ２０８からステップＳ２１８の様子を図３７に示す。
【００９１】
暗号通信装置１０１、１０２の利用者は互いの音声による表示部のハッシュ値情報の交換により、互いの暗号通信装置に表示されているハッシュ値が同一であることを確認することで、暗号通信装置１ｂ、２ｂが正しく秘密情報を共有したことを確認する（ステップＳ２１９）。図３８に暗号通信装置の利用者が互いの暗号通信装置の表示部に同一のハッシュ値が表示されていることを確認する様子を示す。
確認後、暗号通信装置２ｂの利用者は、ユーザ確認入力部２０４に、秘密情報の共有を確認したので暗号通信を開始する旨入力する。その様子を図３９に示す。図では、ユーザ確認入力部が暗号通信開始ボタンになっていて、それをユーザが押すことで、秘密情報を共有した確認ができたので、暗号通信を開始する指示を情報端末に与えていることを示している。
ユーザ確認入力部２０４により暗号通信の開始が指示されると、通信モード格納部２２８に暗号通信モードであることを示す情報を格納する（ステップＳ２２１）。暗号通信装置２ｂは、暗号通信モードでは、音声入力部２０２ｂから入力される暗号通信装置２ｂの利用者の音声情報は、秘密情報格納部２１４に格納されている秘密情報１６バイトを共通鍵暗号方式ＭＩＳＴＹの鍵として用い、音声暗号部２０６において共通鍵暗号アルゴリズムＭＩＳＴＹで暗号化される。暗号化された音声情報は、送信部２０８ａにより通信路６に送信される。
暗号通信装置１ｂで受信された暗号化音声情報は、秘密情報格納部１１４に格納されている１６バイトの秘密情報をＭＩＳＴＹの鍵として用い、音声復号部１０７によりＭＩＳＴＹで復号される。復号された音声情報は音声出力部１０２ａから出力される（ステップＳ２２２）。
【００９２】
一方、暗号通信装置１ｂでは、暗号化音声情報を受け取ったことを検知すると、通信モード格納部１２８に暗号通信モードであることを示す情報を格納する。暗号通信装置２ｂと同様に、暗号通信モードでは、音声入力部１０２ｂから入力される暗号通信装置１ｂの利用者の音声情報は、秘密情報格納部１１０に格納されている秘密情報１６バイトを共通鍵暗号方式ＭＩＳＴＹの鍵として用い、音声暗号部１０６において共通鍵暗号アルゴリズムＭＩＳＴＹで暗号化される。暗号化された音声情報は、送信部１０８ａにより通信路６に送信される。
暗号通信装置２ｂで受信された暗号化音声情報は、秘密情報格納部２１４に格納されている１６バイトの秘密情報をＭＩＳＴＹの鍵として用い、音声復号部２０７によりＭＩＳＴＹで復号される。復号された音声情報は音声出力部２０２ａから出力される（ステップＳ２２２）。
【００９３】
暗号通信装置１ｂ、２ｂとも通話開始時から暗号通信モードになるまでは、非暗号通信モードである。非暗号通信モードの時は、暗号処理が適用されない通常の音声通信が実施される。図４１の左側に非暗号化通信モードの時の音声交換に用いられる音声パケットを示し、右側に暗号化通信モードの時の音声通信に用いられる音声パケットを示す。暗号化通信モードの時の音声パケットは暗号化されていることを示す暗号化識別情報と暗号化音声情報から構成される。非暗号化通信モードの時に、暗号化識別情報が含まれているパケットを相手から受信することで、通信相手が暗号通信を開始したことを検知できる。
暗号通信装置１ｂ、２ｂの利用者が通信終了を指示すると、暗号通信が終了する（ステップＳ２２３）。暗号通信が終了すると、秘密鍵情報格納部１１４、２１４に格納されている秘密情報、秘密鍵格納部１１０に格納されている秘密鍵、公開鍵格納部２１１に格納されている公開鍵を消去する（ステップＳ２２４）。
【００９４】
以上のように、この実施の形態５によれば、秘密情報を、公開鍵を利用して暗号化しているので、誰にも盗聴されずに暗号通信装置間で共有することができる。また、共有した秘密情報のハッシュ値を相手の認証が相互にできる音声の通信により交換し、一致することを確認することで、正しい相手と秘密情報を共有したことを両者が確認できる。音声で交換するハッシュ値から元の情報を推定すること困難なので、ハッシュ値の情報が盗聴されても共有しようとしている秘密情報の漏洩にはならない。したがって、安全な秘密共有が実現できている。共有した秘密情報を共通鍵暗号方式の鍵として利用することで、高速で安全な暗号通信が可能となる。
【００９５】
本発明では、相手の認証を極く自然に実施している音声通信を、相手認証に利用することで、暗号通信に必要となる秘密共有処理が単純化される効果が大きい。公開鍵証明書を用いないので、公開鍵証明書の発行処理が不要となり、利用者の操作が簡単になる。
また、公開鍵証明書の検証処理が不要なので、ソフトウェア、ハードウェアによる実装も単純化される。
【００９６】
図４２は、本実施の形態における他の処理の流れを示すフローチャートである。本方法は、実施の形態５の先の方法から暗号通信の開始指示を利用者が指定する手順を省略したものである。ステップＳ９０１からステップＳ９１９までは、ステップＳ２０１からステップＳ２１８と同様である。ステップＳ９１９では、表示されたハッシュ値が同一であることを音声を用いて確認する際、その音声を共有していると想定される秘密情報を共通鍵として共通鍵暗号方式で暗号化する。
【００９７】
もしも相手の声が聞こえない場合は、秘密情報が共有できていないことになるので、通信を中止する（ステップＳ９２３、Ｓ９２４）。相手の声が聞こえた場合は、そこでハッシュ値の値を音声で確認し合う。ハッシュ値が一致しない場合は、音声通信の中継局が不正行為を働いている可能性があるので、通信を中止する（ステップＳ９２３、Ｓ９２４）。ハッシュ値が一致していれば、正しく秘密が共有できていることになるので、そのまま通信を続ける（ステップＳ９２２）。通信終了時には、暗号通信に用いた情報を消去する（ステップＳ９２３、ステップＳ９２４）。
図４３は情報端末から暗号通信開始のボタンが削除され、秘密情報の共有の失敗が確認された場合に、通信を「切」ボタンを押して中止することを示している。
以上のように、この図４２の方法によれば、うまく秘密情報が共有できていない時のみ通信を中止するので、通常秘密情報の共有が成功する場合は、暗号通信の開始の手順が少なくなる。
【００９８】
実施の形態６．
本実施の形態は、図４４に概念を示した高度な不正行為を防止する目的の場合に適合する。
こうした高度の不正行為では、中継者が、情報端末Ａ，情報端末Ｂと同一の秘密情報を共有することができる。図４４は、こうした高度な不正行為を説明する図である。
情報端末Ａと情報端末Ｂは、共有した秘密情報のＳＨＡ１ハッシュ値を音声で交換するとする。また秘密共有に用いる暗号方式としてＲＳＡを用いるとする。不正を行う中継者は、自分の公開鍵と秘密鍵のペアをあらかじめ持つ。そして、情報端末Ａが情報端末Ｂに送信した情報端末Ａの公開鍵を取得すると、情報端末Ｂに、情報端末Ａの公開鍵の替わりに、中継者の公開鍵を送信する。情報端末Ｂは、中継者の公開鍵を取得すると、その公開鍵で、生成した秘密情報を暗号化して中継者に送信する。
【００９９】
中継者は、暗号化された秘密情報を自分の秘密鍵で復号し、格納後、さらに情報端末Ａの公開鍵で暗号化して、情報端末Ａに送る。
中継者は、情報端末Ａ，情報端末Ｂと同一の秘密情報を共有したことになる。そして、その後、秘密情報を利用した暗号通信が中継者経由で行われる場合、その暗号通信の内容は、中継者も知ることができる。
【０１００】
本実施の形態では、情報端末Ａと情報端末Ｂでハッシュ値を計算するさいに、そのハッシュ値を、公開鍵と秘密情報の結合情報から求めるようにする。こうすることで、情報端末Ｂが情報端末Ａの渡した公開鍵を確かに利用していることを、情報端末Ａ，情報端末Ｂが確認できるようにしている。処理の流れを図４５に示す。情報端末Ａでは、情報端末Ａの公開鍵と情報端末Ａの秘密鍵で復号して取得する情報端末Ｂから送られてきた秘密情報を結合する（ステップＳ１２０１）。次に結合した情報からハッシュ値を生成する（ステップＳ１２０２）。情報端末Ｂでは、情報端末Ａの公開鍵と、生成した秘密情報を結合する（ステップＳ１３０１）。そして、結合した情報からハッシュ値を生成する（ステップＳ１３０２）。
以上のように、本実施の形態では、情報端末Ａの公開鍵と情報端末Ｂが受け取った公開鍵が異なるとそれぞれの端末で表示されるハッシュ値が一致しないので、悪意のある中継者による共有秘密情報の漏洩を防止することができる。
【０１０１】
実施の形態７．
本実施の形態は、図４７に示した方法により、高度な不正行為を防止することを目的としている。本実施の形態で問題とする不正行為では、情報端末Ａと情報端末Ｂは、秘密情報を共有していないのに、表示されるハッシュ値が同一となり、しかも、中継者は２つの秘密情報をもち、それぞれ情報端末Ａ、情報端末Ｂと共有することになる。したがって、情報端末ＡとＢの間で暗号通信をしても、すべて中継者に内容が漏洩する。
図４７に示した高度な不正行為を説明する。
【０１０２】
情報端末Ａと情報端末Ｂは、共有した秘密情報のＳＨＡ１ハッシュ値の先頭ｎバイトを音声で交換するとする。また秘密共有に用いる暗号方式としてＲＳＡを用いるとする。不正を行う中継者は、自分の公開鍵と秘密鍵のペアをあらかじめ持つ。そして、情報端末Ａが情報端末Ｂに送信した情報端末Ａの公開鍵を取得すると、情報端末Ｂに、情報端末Ａの公開鍵の替わりに、中継者の公開鍵を送信する。情報端末Ｂは、中継者の公開鍵を取得すると、その公開鍵で、生成した秘密情報Ｂを暗号化して中継者に送信する。
中継者は、暗号化された秘密情報Ｂを自分の秘密鍵で復号し、格納後、秘密情報Ｂと中継者の公開鍵を結合し、そのハッシュ値の先頭ｎバイトを求める。この値をＨＡＳＨｎとする。次に、以下の条件を満たす秘密情報Ａを計算する。つまり、情報端末Ａの公開鍵と秘密情報Ａを結合してハッシュ値を求め、その先頭ｎバイトを求めると、ＨＡＳＨｎとなるという条件である。ｎの値が小さい場合には、有限の時間でそのような秘密情報Ａを求めることができる。そして、秘密情報Ａを情報端末Ａの公開鍵で暗号化して、情報端末Ａに送る。
秘密情報Ａと秘密情報Ｂは、異なる秘密情報であり、情報端末Ａの公開鍵と情報端末Ｂが秘密情報Ｂの暗号化に用いた公開鍵も異なるものである。しかし、情報端末Ａと情報端末Ｂで表示されるハッシュ値は同一のものとなり、情報端末Ａと情報端末Ｂの利用者は、それぞれが、中継者と秘密情報を共有していることを検知できない。したがって、その後秘密情報を鍵として共通鍵暗号で暗号通信を行うと、その通信内容は中継者に漏洩する。
【０１０３】
図４８は、こうした高度の不正行為に対応した本実施の形態における処理の流れを示す図である。図４７に示した不正が行われる際に、中継者での計算処理が発生することから、端末間での秘密共有にかかる時間が一定時間以上かかる場合は、通信を中断するという手段を実現している。
情報端末Ａでは、情報端末Ａが公開鍵を相手に送出した時刻Ｔ１を保存する（ステップＳ１５０１）。情報端末Ｂから、暗号化された秘密情報を受け取った時刻Ｔ２を保存する（ステップＳ１５０２）。Ｔ２−Ｔ１が一定の時間より長い場合は、不正発生と判断して通信を中断する（ステップＳ１５０３）。Ｔ２−Ｔ１が一定時間以下であれば、処理を継続する（ステップＳ１５０４）。
以上のように本実施の形態では、情報端末Ａにおいて、公開鍵の送出から暗号化秘密情報の受け取りまでの時間が把握できるので、不正な中継者の不正行為を検知することができる。
【０１０４】
図４７に示した不正行為は、比較するハッシュ値のサイズを大きくすることで防止できる。図４９には、ＳＨＡ１のハッシュ値の全情報２０ｂｙｔｅを１６進数表示で表した例を示している。この情報を情報端末に表示する場合の実施例を図５０に示す。
図５０では、４０文字で表現されたハッシュ値を８文字づつ５回表示するために、携帯端末に、ハッシュ値の表示を次の文字列に切り替える「次へ」ボタン、ハッシュ値の表示を一つ戻す「戻す」ボタンを情報端末に付加している。情報端末Ａと情報端末Ｂの利用者は、相互に画面に表示された８文字のハッシュ値が音声で確認できると、「次へ」ボタンを押して、次の８文字のハッシュ値の確認へと進む。そして、５回の表示にでてきた、４０文字すべての文字が一致することで確認する。
以上のように、本実施の形態において、安全な秘密共有をより確実に確認するために、音声で確認するハッシュ値の情報を多くするとよいことが判る。そしてハッシュ値を分割する手段、分割されたハッシュ値を次々と画面に表示するための「次へ」「戻る」ボタンを設けることで、利用者が簡単に操作して、全ハッシュ値の情報が一致することを確認できるようになっている。
【０１０５】
また更に、実施の形態において、片方の端末の利用者が「次へ」、ボタンを押すと、それに対応したコマンドが相手の端末に送られ、相手から次のハッシュ値が送信して送付されて表示されるようにしてもよい。即ち、相手の端末ではその利用者がボタンの操作をしなくても、ハッシュ値の同一部分が表示される手段を追加した。本手段により、ハッシュ値の確認操作に必要となる「次へ」「戻る」ボタンを押す処理を通信者２者の一方が行えばよいため、ハッシュ値の確認がより効率的に行える。その様子を図５１に示す。
【０１０６】
実施の形態８．
図５２から図６６は、この発明の実施の形態８における処理の様子を図示したものである。図６７は本実施の形態における処理の流れを示すフローチャートである。以下、図６７のフローチャートを用いて動作を説明する。
本実施の形態では、図５２のように、Ａさん、Ｂさんがそれぞれ公衆電話網に接続された電話とインターネットに接続されたＰＣで日常的に通信している状況を想定している。本説明においてＡさんの電話番号は０３−５６７８−１２３４であり、ＡさんのＰＣのＩＰアドレスは１４１．２３．４５．６７であるとし、またＢさんの電話番号は０３−１２３４−５６７８であり、ＢさんのＰＣのＩＰアドレスは１２１．３２．１２３．２０１であるとする。ＡさんとＢさんは頻繁に電話で連絡を取り合っていて、お互いに声を聞けばすぐに相手を認証できる状況にある。
【０１０７】
ＡさんのＰＣでは、図５３に示すように暗号ファイル通信プログラムが起動されている。そして通信相手ＢさんのＩＰアドレスを指定し（ステップＳ３４０１）、接続ボタンをクリックし接続要求をＢさんに送信する（ステップＳ３４０２）。ＢさんのＰＣで接続要求を受信すると（ステップＳ３４０３）、ＢさんのＰＣで起動されてる暗号ファイル通信プログラムは、ＰＣの画面に通信要求が到着したことを知らせる（図５４）。
Ｂさんは、許可ボタンをクリックすることで接続を許可する（ステップＳ３４０４）。Ｂさん側の暗号ファイル通信プログラムは、Ｂさん側の暗号ファイル通信プログラムに通信許可の通知を送る。その通知を受け取ったＡさん側の暗号ファイル通信プログラムはＢさんが接続を許可したことを確認し（ステップＳ３４０５）、鍵対を生成する（ステップＳ３４０６）。
ステップＳ３４０７からステップＳ３４２１は、ステップＳ２０５からステップＳ２１８と同一である。その様子を図５５、５６に示す。ハッシュ値の確認画面は、Ａさん側のＰＣでは、図５７の、Ｂさん側のＰＣでは、図５８に示すものとなる。
【０１０８】
図５７、図５８の画面が表示されている状態で、Ａさんは０３−１２３４−５６７８のＢさんに電話に電話をかける。そしてＡさん、Ｂさんはお互いの声で相手を認証した状態で、ＰＣの画面に表示されているハッシュ値が一致していることを確認する（ステップＳ３４２３）。電話を利用して音声でハッシュ値を確認する様子を図５９に示す。
ハッシュ値がお互いに一致していることを確認後、Ａさんは、図５７の続けるボタンをクリックする。すると、共有した秘密情報を共通鍵とする共通鍵暗号方式を利用して暗号通信されるファイルの選択画面画面（図６０）が表示されるので、暗号送信するファイル名を選択する（ステップＳ３４２６）。図２７の送信ボタンをクリックすると、Ｂさん側の暗号ファイル通信プログラムからＢさん側の暗号ファイル通信プログラムに暗号ファイル通信開始の通知が送られる。
【０１０９】
それを受信したＢさん側の暗号通信プログラムは、受信ファイルの格納ディレクトリの入力画面が表示する（図６１）。Ｂさんは保存ディレクトリ名を入力してＯＫボタンを押す。するとＢさん側の暗号ファイル通信プログラムからＡさん側の暗号通信プログラムに暗号ファイル通信の準備完了通知が送られる。
それを受け取ったＡさん側の暗号ファイル通信プログラムは、選択されたファイルｐａｔｅｎｔ．ｄｏｃを共有した秘密情報を共通鍵暗号方式ＭＩＳＴＹの鍵として用いＭＩＳＴＹで暗号して送信する。暗号化されたファイルを受信したＢさん側の暗号ファイル通信プログラムは、暗号化されたファイルを共有した秘密情報を共通鍵暗号方式ＭＩＳＴＹの鍵として、ＭＩＳＴＹで復号する（ステップＳ３４２８）。暗号ファイル送信中はＡさん側の暗号ファイル通信プログラムは図６２の画面を表示し、Ｂさん側の暗号ファイル通信プログラムは図６３の画面を表示する。
【０１１０】
ファイルの暗号送信が終了すると、Ａさん側の暗号通信プログラムは図６５に示す画面を表示する。Ａさんがはいボタンをクリックすると、ファイル転送完了通知が、Ａさん側の暗号ファイル通信プログラムからＢさん側の暗号ファイル通信プログラムに送られる（ステップＳ３５２８。Ａさん側の暗号ファイル通信プログラムは共有した秘密情報、暗号に利用した鍵情報を消去し終了する。またファイル転送完了通知を受信したＢさん側の暗号ファイル通信プログラムも図６６の画面を表示し、ＢさんがＯＫボタンをクリックすると共有した秘密情報、暗号に利用した鍵情報を消去し終了する（ステップＳ３４２９）。
以上のように、この本実施の形態によれば、既存の電話回線を用いて相手認証を行い、ＰＣ上で動作する暗号ファイルプログラムが正しい相手と安全に秘密を共有できたことを確認できる。したがって、ＰＣにおける暗号ファイル通信プログラムからは、相手認証機能を削除することが可能となり、プログラムの規模が小さくなる。
【０１１１】
実施の形態９．
図６８は、本実施の形態として、表示されたハッシュ値の確認手段に相手の顔が見える動画通信を利用する場合を説明する図である。実施の形態の８に示したように、ＰＣ上で動作するプログラムがディスプレイ上に表示した共有した秘密情報のハッシュ値、または、携帯電話の表示部に表示された共有秘密情報のハッシュ値、またはテレビ電話間で共有され、テレビ電話の映像表示部の一部に表示されたハッシュ値を紙に書き写す。そして、自分の顔と紙に書いたハッシュ値を映像で交換する。
【０１１２】
以上のように、本実施の形態によれば、映像により相手の顔を見ることで音声を用いなくても相手の認証ができ、その映像とともに共有した秘密情報のハッシュ値情報を交換することで、正しい相手と秘密を共有できたことが確認できる。
【０１１３】
実施の形態１０．
実施の形態においては、秘密共有にＤＨ（Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ方式）を用いる。図６９、７０、７１は、ＤＨを用いて、２つの情報端末が秘密を共有する様子を示している。
【０１１４】
情報端末１では、素数Ｐ、１＜Ｇ＜Ｐを満たすＧを選定する。次に乱数Ｒ１を生成し、ＧR1ｍｏｄ  Ｐを計算する。そして、Ｐ，Ｇ、ＧR1ｍｏｄ  Ｐを情報端末２に送信する（図６９）。Ｐ，Ｇ、ＧR1ｍｏｄ  Ｐを受信した情報端末２は乱数Ｒ２を生成し、ＧR2ｍｏｄ  Ｐを計算し、ＧR2ｍｏｄ  Ｐを情報端末１に送信する（図７０）。情報端末１は、受け取ったＧR2  ｍｏｄ  ＰをＲ１乗する。情報端末２はＧR1ｍｏｄ  ＰをＲ２乗する。ＧR2ｍｏｄ  ＰのＲ１乗とＧR1ｍｏｄＰをＲ２乗は、同一の値ＧR1・R2ｍｏｄ  Ｐとなり、値ＧR1・R2ｍｏｄ  Ｐが、両端末で共有された秘密情報となる。ＤＨ方式には相手認証機能がないので、以降、共有した秘密情報ＧR1・R2ｍｏｄ  Ｐのハッシュ値を、図７１に示すように表示部に表示し、音声通信により、ハッシュ値が一致することを相互に確認することで正しい相手と秘密情報ＧR1・R2ｍｏｄ  Ｐを共有したことを確認する。
なお、Ｇ，Ｐは、全端末に同一のものをあらかじ格納しておくことで、Ｇ，Ｐの交換を不要としてもよい。
以上のように、本実施の形態によれば、ＤＨにより、秘密情報を共有し、共有した秘密情報のハッシュ値を音声通信で交換し、一致することを確認することで正しい相手と秘密の共有できたことを確認できる。
【０１１５】
実施の形態１１．
本実施の形態における秘密通信を図７２、図７３、図７４の説明図を用いて述べる。即ち本実施の形態においては鍵を予めＩＣカードなどに格納しておいて利用する。まず、図７２に示すように、情報端末を利用する人は、秘密共有に必要となる鍵情報をあらかじめＩＣカードやＰＣカードなどの携帯できるカードに格納しておく。暗号通信を行う際には、その携帯カードを情報端末に挿入し、携帯カードに保存してある公開鍵を読み出し、通信相手に送る（図７３）。通信相手が、その公開鍵で秘密情報を暗号化して送り返してきたときには、携帯カードに保存してある秘密鍵を利用して、暗号化秘密情報を復号する。共有した秘密情報のハッシュ値をそれぞれの表示部に表示する（図７４）。
以上のように本実施の形態では、秘密共有に利用する鍵情報をあらかじめ携帯カードに生成し格納しておくので、鍵生成の処理時間が不要となる。
【０１１６】
本実施の形態におけるＩＣカード等を拡張利用することもできる。図７５ないし図７９は、本実施の形態における他の処理を説明する図である。
即ちこれらの図において、情報端末で共有した秘密情報を携帯カードに書き出し、その書き出した携帯カードを必要な端末に挿入して使用する。この携帯カードを挿入して秘密情報を読み出せる任意の情報端末を用いて、暗号通信ができる例を示している。
【０１１７】
まず２人のユーザは、それぞれの持つ情報端末に携帯カードを挿入する（図７５）。次に実施の形態５に示した処理と同一の処理により、秘密情報を情報端末Ａ，情報端末Ｂ間で共有する（図７６、図７７）。次に、共有した秘密情報をそれぞれの携帯カードにコピーする（図７８）。
次に２人のユーザは、それぞれの持つ携帯カードの内容を読む手段を持つＰＣに携帯カードを差し込む。ＰＣ上で動作する暗号通信プログラムは、携帯カードに格納された秘密情報を読み出し、それを共通鍵暗号方式の鍵として、共通鍵暗号方式で暗号通信を実施する（図７９）。
以上のようにこの方法によれば、処理の複雑になる相手認証のされた安全の秘密の共有は、専用の情報端末で実施するので、ＰＣで実行される暗号通信プログラムは、共通鍵暗号方式の処理のみ実装すればよいので規模を小さくすることができる。
【０１１８】
実施の形態１２．
図８０、図８１は、本実施の形態における処理の流れを示した図である。
携帯電話では、場所が複数のエリアに分割されていて、各携帯電話は、常に一つのエリアに属する。各基地局は、自分の管轄エリアに属する携帯電話を、各携帯電話と交信することで把握している。
本実施の形態では、移動によって携帯電話のエリアが変更された時、変更後のエリアの基地局に対して、携帯電話が、自分の公開鍵を基地局に登録する。図８０では、東京エリアに属する情報端末Ａが、情報端末Ａの公開鍵を東京の情報端末基地局に登録し、大阪エリアに属する携帯端末Ｂが大阪の情報端末基地局に情報端末Ｂの公開鍵を登録している。
【０１１９】
情報端末Ａが情報端末Ｂと秘密の共有をしたいときは、図８１に示すように、情報端末Ａの属する東京基地局が、情報端末Ｂの公開鍵を大阪基地局から取得し、それを情報端末Ａに渡す。情報端末Ｂの公開鍵を入手した情報端末Ａは、秘密情報を生成し、その秘密情報を情報端末Ｂの公開鍵で暗号化して情報端末Ｂに送信する。以降の公開鍵と秘密情報の結合情報のハッシュ値を表示し、音声通信で共有したことを確認する手順は、実施の形態７と同様である。
以上のように本実施の形態では、相手の公開鍵を、相手の情報端末からでなく、基地局から取得するので、端末間の通信手順を簡略化できる。
【０１２０】
実施の形態１３．
情報端末に、秘密共有に必要となる鍵情報を永続的に保存する磁気媒体を付加する場合を示す（図８２）。本実施の形態によれば、相手との暗号通信を終了しても、情報端末の電源を切っても、生成した鍵情報が磁気媒体に残されている（図８３）ので、再び秘密共有を試みる際には、鍵対の生成を行う必要がない。
【０１２１】
実施の形態１３に示した磁気媒体に保存された鍵情報を、安全性を考慮して消去してもよい（図８４、図８５）。図８４は一定の回数の通話を行うと、磁気媒体に格納された公開鍵、秘密鍵が消去される例を示している。また図８５は、鍵対の生成後一定の時間が経過すると、鍵対が磁気媒体から消去される例を示している。
こうすることにより、相手との通話回数や、鍵生成時間が一定の値を超えると、公開鍵、秘密鍵が作り直されるので、共有する秘密情報が解読される確率が低くなり、安全性が向上する。
【０１２２】
また更に、情報端末内で、共有した秘密情報が、共有する相手毎に対応づけられ磁気媒体に保存するようにしてもよい。
図８６は、情報端末Ａ内の磁気媒体に、情報端末Ｂと共有した秘密情報Ｂ，情報端末Ｃと共有した秘密情報Ｃ、情報端末Ｄと共有した秘密情報Ｄが保存されて、通信が終了した場合でも、電源を切った場合でも、秘密情報Ｂ，Ｃ，Ｄが情報端末Ａの磁気媒体に永続的に保存されていることを示している。
本実施の形態によれば、通信相手が特定され、その通信相手と共有した秘密情報が保存されていれば、新たに秘密共有を行う処理が不要となる。
【０１２３】
また更に本実施の形態において、磁気媒体に保存された秘密情報を安全性を考慮して消去するようにしてもよい。即ち、図８７は、Ｃと共有した秘密情報を共通鍵暗号方式の鍵として、暗号通信をした量が１０ＭＢｙｔｅ以上となった場合に、Ｃとの共有秘密情報が消去される例を示している。図８８は、Ｃと情報共有してから１０日以上経過した場合に、Ｃとの共有秘密情報を消去する例を示している。図８９は、Ｃと共有した秘密情報を用いた暗号通信の時間が、１０時間を超えた場合に、Ｃとの共有秘密情報を消去する例を示している。
このように、共有した秘密情報を用いた暗号通信の時間、暗号通信の量、秘密を共有してからの経過時間が一定の値を超えると、共有していた秘密情報が消去され、次回通信時に新しいものにが作り直されるので、共有している秘密情報が解読される確率が低くなり、安全性が向上する。
【０１２４】
実施の形態１４．
本実施の形態では、情報端末が複数の共通鍵暗号アルゴリズムをサポートする場合に、共有した秘密情報を鍵として利用する共通鍵暗号アルゴリズムを調整する手段を説明する（図９０、図９１）。
まず、情報端末Ａは、情報端末Ｂに、情報端末Ａの利用できる共通鍵暗号アルゴリズムＭＩＳＴＹ，  Ｔｒｉｐｌｅ−ＤＥＳを、サポート暗号アルゴリズムテーブルから取得し、情報端末Ｂに送る。情報端末Ｂは、自分のサポートしている暗号アルゴリズムＭＩＳＴＹとＤＥＳをサポートアルゴリズムテーブルから取得し、ＭＩＳＴＹが共通して利用できる暗号アルゴリズムであることを把握し、ＭＩＳＴＹを利用する旨情報端末Ａに伝える。
以上により秘密情報は共有のＭＩＳＴＹの鍵とすることが情報端末Ａ，情報端末Ｂが理解される（図９０）。
【０１２５】
図９１では、情報端末Ａのサポートしている共通鍵暗号アルゴリズムＭＩＳＴＹ，ＤＥＳ，Ｔｒｉｐｌｅ−ＤＥＳを情報端末Ｂに送ったが、情報端末ＢはＲＣ２しかサポートしていないため、共通して利用できる暗号アルゴリズムが存在しないことを各々の情報端末Ａ，情報端末Ｂは判る。
以上のように、本実施の形態によれば、サポートしている複数の暗号アルゴリズムテーブルを情報端末が備えていて、それらから一致するものを選択するので、暗号通信に先立って、共有した秘密情報をどの暗号アルゴリズムの鍵にするか調整できる。
【０１２６】
実施の形態１５．
実施の形態５では、鍵対の生成、共有する秘密情報の生成に乱数を用いている。乱数の生成では良質の乱数が与えることが非常に重要となる。良質な乱数シードは、再現が困難な数値の系列を利用することで求めることができる。本実施の形態では、情報端末が乱数シード生成装置を備える。
図９２は、情報端末が電源投入後、マイクから、一サンプルを２５６段階で表現した音情報を、一秒あたり８０００サンプルの率で収集し、２秒分収集した音情報のハッシュ値を求め、そのハッシュ値を乱数のシードとして格納し、乱数生成時に利用する例を示している。収集した音情報は再度別の場所、別の時刻に再現することは困難なので良質の乱数シードを得ることができる。
図９３は、情報端末が万歩計とタイマを備え、一歩、一歩の間隔をミリ秒単位で計測し、結果を２バイトの整数で表現し、１０歩分の時間間隔である、２０バイトの情報のＳＨＡ１ハッシュ値２０バイトを乱数のシードとして格納し、乱数生成時に利用する例を示している。収集した一歩一歩の時間間隔は、再度別の場所、別の時刻に再現することは困難なので良質の乱数シードを得ることができる。
【０１２７】
図９４、図９５は、携帯電話のプッシュボタンが押される時間間隔をミリ秒単位で計測し、その時間間隔情報の結合情報のハッシュ値を乱数のシードとして格納し、乱数生成時に利用する例を示している。収集したプッシュボタンの押される時間間隔は、人間が指を用いて押している限り、再度別の場所、別の時刻に再現することは困難なので良質の乱数シードを得ることができる。
【０１２８】
実施の形態１６．
本実施の形態では、相手に伝えるハッシュ値を単なる英数字の羅列でなく、理解しやすい単語に変換する例を示している。図９６では、０から９９９９までのハッシュ値が異なる単語にマッピングされている。例えばハッシュ値が１の場合は、図９７のように、「りんご」という単語が表示される。ハッシュ値が０から９９９９９９９までの８桁の値の範囲をとる場合は、０から９９９９９９９９に異なる単語を割り当てもよいし、前半４桁と後半４桁に分割し、それぞれ０から９９９９にマッピングされた単語に変換し、２つの単語にすることもできる。つまり、図９６のマッピングの例では、ハッシュ値が９９９８０００１の場合、９９９８  ０００１に２分し、「くま  みかん」と表示する。
ハッシュ値が理解しやすい単語に変換されているので、相手に伝えやすい。
【０１２９】
図９８では、０から９９９９までのハッシュ値が異なる文章にマッピングされている。ハッシュ値が理解しやすい文章に変換されているので、相手に伝えやすい。伝える時に楽しさが発生する。
図９９では、０から９９９９までのハッシュ値が異なる動物のキャラクタにマッピングされている。ハッシュ値が理解しやすいキャラクタに変換されているので、相手に伝えやすく、また伝える時に楽しさが発生する。また、動画通信によるハッシュ値の確認の時にも直感的に相手のキャラクタと自分のキャラクタが同一であることを瞬時に確認できる。
【０１３０】
図１００では、０から９９９９までのハッシュ値が異なるメロディーにマッピングされている。ハッシュ値が理解しやすいメロディーに変換されているので、相手に伝えやすく。伝える時に楽しさが発生する。
図１０１では、０から９９９９までのハッシュ値が異なるにおいにマッピングされている。情報端末にはにおい発生器が接続されていて、そのにおい発生器は、０から９９９９の値に応じて異なるにおいを発生する仕組みになっている。ハッシュ値が知覚しやすいにおいに変換されているので、相手に伝えやすく。伝える時に楽しさが発生する。
【０１３１】
図１０２では、０から９９９９までのハッシュ値が異なる動作にマッピングされている。図１０３は、動作が情報端末に表示されているキャラクタの動作として利用者に提示される例と、図１０４は、動作が、情報端末に接続された電子ぬいぐるみ（ロボット）の動作として利用者に提示される例を示している。ハッシュ値が視覚的に理解しやすい動作に変換されているので、相手に伝えやすく。伝える時に楽しさが発生する。また、動画通信によるハッシュ値の確認の時にも直感的に相手のキャラクタもしくは電子ぬいぐるみの動作と自分のものとが同一であることを瞬時に確認できる。
【０１３２】
実施の形態１７．
本実施の形態では、モバイルＰＣを用いて、社外から社内のイントラネットにアクセスする際の、電話回線上での暗号化に本発明を適用した場合である。
一般に、モバイルＰＣを用いて社外から社内のイントラネットに接続する場合には、図１０５に示したように、電話番号０９０−１１１１−２２２２を割り当てられた携帯電話をモバイルＰＣに接続し、モバイルＰＣ上で動作する電話回線プログラム（例えば、Ｗｉｎｄｏｗｓのダイヤルアップネットワーク）を用いて、イントラネットのアクセスポイントである、０３−２２２２−３３３３の割り当てられたリモートアクセスサーバに電話をかける。
電話回線が接続されると、モバイルＰＣとリモートアクセスサーバは、電話回線上でコンピュータ通信プロトコルを実施し、ユーザ名、パスワードをモバイルＰＣから受け取り、ユーザの認証を行い、モバイルＰＣのイントラネットへの接続を許可する。許可後のモバイルＰＣとイントラネット内のコンピュータ間でやり取りされるデータの暗号化は、モバイルＰＣとイントラネット内のコンピュータ間で実施する必要があるが、実装が複雑なため、実施されない場合が多い。
【０１３３】
図１０６から図１１２に本実施の形態における処理を示す。
本実施の形態では、モバイルＰＣに接続された携帯電話と、イントラネットのアクセスポイントとなるリモートアクセスサーバの間で、本発明を用いた安全な秘密共有を行い、電話回線上での通信を共有した秘密情報で暗号化する。したがって、モバイルＰＣとイントラネット内のコンピュータの間の暗号通信は不要となる。
携帯電話から０３−２２２２−３３３３にダイヤルし、接続要求をリモートアクセスサーバに送る際に、実施例９と同様に、携帯電話内で生成したＤＨ方式の公開情報Ｇ，Ｐ，秘密情報Ｒ１を生成し、Ｇ，Ｐ，ＧR1ｍｏｄ  Ｐをリモートアクセスサーバに送る（図１０６）。リモートアクセスサーバは、接続可能電話番号リストを保持していて、公衆電話サービスの番号通知機能を利用して、接続をしてきた携帯電話の番号を取得後、接続可能電話番号リストに、その電話番号が掲載されていることを確認する。掲載されていない場合は接続を拒否し、掲載されていれば、Ｒ２を生成し、ＧR2ｍｏｄ  Ｐ計算し、接続してきた携帯電話に送信する（図１０７）。この時点では、リモートアクセスサーバと携帯電話が共通の秘密情報ＧR1・R2ｍｏｄ  Ｐを共有した保証はない。
【０１３４】
携帯電話、リモートアクセスサーバとも、ＧR1・R2ｍｏｄ  Ｐを計算し、さらにそのハッシュ値を計算する。携帯電話側では、表示部にハッシュ値を表示し、リモートアクセスサーバ側では、そのハッシュ値を内部に保存する。携帯電話の利用者はプッシュボタンを押して、ハッシュ値を入力する。その入力は、ＧR1・R2ｍｏｄ  Ｐを共通鍵暗号方式の鍵として、暗号化されてリモートアクセスサーバーに送信される。リモートアクセスサーバ側では、ＧR1・R2ｍｏｄ  Ｐを共通鍵暗号方式の鍵として復号し、その結果選られるプッシュボタン音を、プッシュボタン音認識部で認識し、携帯電話の利用者の入力したハッシュ値を取得する。そして、リモートアクセスサーバにて保存されている、ＧR1・R2ｍｏｄ  Ｐのハッシュ値と比較する。一致しなければ、通信を中断し、一致すれば、通信の許可を携帯電話に送る（図１１１）。
【０１３５】
以降モバイルＰＣとイントラネット間の通信は、携帯電話とリモートアクセスサーバの電話回線のレベルで共有した秘密情報ＧR1・R2ｍｏｄ  Ｐを共通鍵暗号方式の鍵とした共通鍵暗号方式で暗号化される（図１１２）。
以上のように、本実施の形態によれば、リモートアクセスサーバは、携帯電話と秘密共有ができた確信を持つことができる。そして、電話回線レベルでの暗号化が実現できているので、モバイルＰＣとイントラネット間の通信の盗聴を防ぐことができる。モバイルＰＣの通信プログラムには、安全な通信を実現するための暗号機能を組み込む必要がない。
さらに、公開鍵証明書の利用、覚える必要のあるパスワードの利用が不要となり、利用者、管理者の手間が軽減される。
携帯電話の利用者は、リモートアクセスサーバと確実に秘密を共有したことは、上記実施例のみでは確信できない。しかし、イントラネット接続後にモバイルＰＣでアクセスできる情報を見れば、リモートアクセスサーバのなりすましがないことを確認できる。なぜならば、通常成りすましの悪意のあるリモートアクセスサーバからイントラネットにアクセスすることは不可となるように、イントラネットが構築され、また、モバイルＰＣの利用者は、自分のアクセスしている情報は、イントラネット内の情報か、そうでないかをその情報をみて判断できるからである。
【０１３６】
おな、ハッシュ値をリモートアクセスサーバに伝える手段を、携帯電話利用者の声で行い、そのために、利用者の声を認識する手段を、リモートアクセスサーバ側に持たせてもよい。
携帯電話とリモートアクセスサーバで、秘密情報を共有し、そのハッシュ値を計算後、リモートアクセスサーバから、携帯電話に対して、携帯電話の画面に表示されているハッシュ値を音声での通知を指示するメッセージが携帯電話に音声または文字で通知される。その指示に従い携帯電話の利用者は、携帯電話の表示部に表示されている秘密情報のハッシュ値を読み上げ、音声としてリモートアクセスサーバに送信する（図１１３）。
【０１３７】
読み上げられたハッシュ値情報を受け取ったリモートアクセスサーバは、音声認識部により、音声情報をハッシュ値情報に変換し比較する（図１１４）。一致していなければ通信を中断し、一致していれば、通信の許可を携帯電話側に通知する。携帯電話側では、音声の入力とモバイルＰＣの入力を切り替える必要があるので、それをシャープボタンを押すことで実現している。
以上のように、本方法によれば、携帯電話の利用者がハッシュ値の入力を、音声で実現できるので、操作性が向上する。
【０１３８】
また更に、モバイルＰＣとリモートアクセスサーバが電話回線を利用してコンピュータデータ通信プロトコル（例えばＰＰＰプロトコル）で秘密共有と暗号通信を行うようにしてもよい。
モバイルＰＣ上で動作する通信プログラムは、図１０５と同様に秘密情報を共有し、そのハッシュ値を計算する。その後、モバイルＰＣ上で動作する通信プログラムは、モバイルＰＣの画面上に、ハッシュ値の表示と、そのハッシュ値を再度ユーザに入力されるダイアログを表示する。そして、モバイルＰＣのユーザがハッシュ値３９１３６をテキストフィールドにキーボードから入力し、ＯＫボタンをクリックすると、その入力されたハッシュ値が携帯電話を経由してリモートアクセスサーバ上の通信プログラムに送られる（図１１６）。リモートアクセスサーバ側の通信プログラムでは、ハッシュ値が一致していることを確認すると、モバイルＰＣの通信プログラムに対して接続の許可を指示する（図１１８）。
その後は、モバイルＰＣ上で動作する通信プログラムと、リモートアクセスサーバ上で動作する通信プログラムが、共有した秘密情報を共通鍵暗号方式の鍵として用い、共通鍵暗号通信を行う。
以上のように、本方法によれば、安全な暗号通信が、モバイルＰＣ上の通信プログラムとリモートアクセスサーバ上の通信プログラム間で実施できる。
【０１３９】
【発明の効果】
以上のように、請求項１の発明によれば、情報端末間で共通鍵を共有する際に、第一の情報端末がその公開鍵を第二の情報端末に送信し、第二の情報端末はこの公開鍵によって共通鍵を暗号化して第一の情報端末に送信し、第一の情報端末はこの暗号化された共通鍵とその公開鍵から第一の検証データを生成し、第二の情報端末は共通鍵と第一の情報端末の公開鍵から第二の検証データを生成し、第一と第二の情報端末のユーザが音声通信手段によって相手を確認してから音声で上記第一の検証データと第二の検証データを相互に比較するので、第一の情報端末の公開鍵に第三者の証明を受けていなくても、正しい相手と安全かつ確実に共通鍵を共有できるという効果がある。
また情報端末間での共通鍵共有に関して、第一の情報端末の公開鍵に第三者の証明を受けることやその他の事前の手続を必要としないので、ユーザの負担が少なく、ハードウェア、ソフトウェアの規模が小さくて済むという効果がある。
【０１４０】
また請求項２の発明によれば、、Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ法により共通鍵を共有した第一および第二の情報端末が、それぞれ共通鍵から第一の検証データと第二の検証データを生成し、第一と第二の情報端末のユーザが音声通信手段によって相手を確認してから音声で上記第一の検証データと第二の検証データを相互に比較するので、Ｄｉｆｆｉｅ  Ｈｅｌｌｍａｎ法により共通鍵を共有した相手が正しい相手であり、また共有した共通鍵が正しいことを確認することができるという効果がある。
【０１４１】
また請求項３の発明によれば、上記第一の検証データおよび第二の検証データは所定の手順で生成されるハッシュであるので、音声により盗聴されても共通鍵は復元されることが無く、暗号通信の安全が維持できるという効果がある。
【０１４２】
また請求項４の発明によれば、情報端末は上記ハッシュの少なくとも一部を表示する表示部を有し、情報端末間では表示されたハッシュを比較するので容易にハッシュを確認することができ、相互の比較が容易で正しい相手と正しく共通鍵を共有できたことを容易に確認できるという効果がある。
【０１４３】
また請求項５の発明によれば、情報端末は、与えられた数値を特定の文字あるいは図形あるいは動画に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた文字あるいは図形あるいは動画であるので、相互の比較が容易で正しい相手と正しく共通鍵を共有できたことを容易に確認できるという効果がある。
【０１４４】
また請求項６の発明によれば、情報端末は、与えられた数値を特定の音に対応付ける検証データ変換テーブルを有し、上記第一の検証データおよび第二の検証データは所定の手順で生成されたハッシュの値を上記検証データ変換テーブルにより対応付けた音であるので、相互の比較が容易で正しい相手と正しく共通鍵を共有できたことを容易に確認できるという効果がある。
【図面の簡単な説明】
【図１】  実施の形態１のシステム構成図。
【図２】  実施の形態１の動作の概略を説明する図。
【図３】  実施の形態１の動作の概略を説明する図。
【図４】  実施の形態１、３の動作を示すフローチャート。
【図５】  実施の形態１におけるハッシュ生成法の説明図。
【図６】  実施の形態１における秘密の安全性が確保されないハッシュ生成法の説明図。
【図７】  実施の形態１における秘密の安全性が確保されない場合のデータ伝送の説明図。
【図８】  実施の形態１における悪意の中継局がある場合のハッシュ生成を示す図。
【図９】  実施の形態１において画面のスクロールボタンを設けた情報端末の図。
【図１０】  実施の形態２のシステム構成図。
【図１１】  実施の形態２における共通鍵生成を説明する図。
【図１２】  実施の形態２の動作を説明するフローチャート。
【図１３】  実施の形態２におけるハッシュ生成の図。
【図１４】  実施の形態３のシステム構成図。
【図１５】  実施の形態３におけるパソコンの機能ブロックを説明する図。
【図１６】  実施の形態３の動作の概略を説明する図。
【図１７】  実施の形態３の動作の概略を説明する図。
【図１８】  実施の形態３の動作を説明するフローチャート。
【図１９】  実施の形態３の動作中の表示部の表示状態の例を示す図。
【図２０】  実施の形態３におけるパソコンでのハッシュ生成を示す図。
【図２１】  実施の形態３の動作中の表示部の表示状態の例を示す図。
【図２２】  実施の形態３の動作中の表示部の表示状態の例を示す図。
【図２３】  実施の形態３の動作中の表示部の表示状態の例を示す図。
【図２４】  実施の形態３の動作中の表示部の表示状態の例を示す図。
【図２５】  実施の形態４のシステム構成図。
【図２６】  実施の形態４における検証データ変換テーブルの図。
【図２７】  実施の形態４における表示の状態を例を示す図。
【図２８】  実施の形態４における検証データ変換テーブルの図。
【図２９】  実施の形態４における検証データ変換テーブルの図。
【図３０】  実施の形態４における検証データ変換テーブルの図。
【図３１】  実施の形態４における検証データ変換テーブルの図。
【図３２】  実施の形態４における検証データ変換テーブルの図。
【図３３】  実施の形態４における検証データ変換テーブルの図。
【図３４】  実施の形態５のシステム構成図である。
【図３５】  実施の形態５における動作フローチャート図である。
【図３６】  実施の形態５の動作を説明する図である。
【図３７】  実施の形態５の動作を説明する図である。
【図３８】  実施の形態５の動作を説明する図である。
【図３９】  実施の形態５の動作を説明する図である。
【図４０】  実施の形態５の動作を説明する図である。
【図４１】  実施の形態５の動作を説明する図である。
【図４２】  実施の形態５における他のシステムの動作フローチャート図である。
【図４３】  実施の形態５における他のシステムの動作を説明する図である。
【図４４】  実施の形態６における動作を説明する図である。
【図４５】  実施の形態６における動作フローチャート図である。
【図４６】  実施の形態６における動作フローチャート図である。
【図４７】  実施の形態７における動作を説明する図である。
【図４８】  実施の形態７における動作フローチャート図である。
【図４９】  実施の形態７における他のハッシュ値を大きくした表示例を示す図である。
【図５０】  実施の形態７における他のハッシュ値の表示例を示す図である。
【図５１】  実施の形態７における他のハッシュ値の表示例を示す図である。
【図５２】  実施の形態８における接続関係を示す図である。
【図５３】  実施の形態８における表示画面を示す図である。
【図５４】  実施の形態８における表示画面を示す図である。
【図５５】  実施の形態８における動作を説明する図である。
【図５６】  実施の形態８における動作を説明する図である。
【図５７】  実施の形態８における表示画面を示す図である。
【図５８】  実施の形態８における表示画面を示す図である。
【図５９】  実施の形態８における動作を説明する図である。
【図６０】  実施の形態８における表示画面を示す図である。
【図６１】  実施の形態８における表示画面を示す図である。
【図６２】  実施の形態８における表示画面を示す図である。
【図６３】  実施の形態８における表示画面を示す図である。
【図６４】  実施の形態８における動作を説明する図である。
【図６５】  実施の形態８における表示画面を示す図である。
【図６６】  実施の形態８における表示画面を示す図である。
【図６７】  実施の形態８における動作フローチャート図である。
【図６８】  実施の形態９における動作を説明する図である。
【図６９】  実施の形態１０における動作を説明する図である。
【図７０】  実施の形態１０における動作を説明する図である。
【図７１】  実施の形態１０における動作を説明する図である。
【図７２】  実施の形態１１における動作を説明する図である。
【図７３】  実施の形態１１における動作を説明する図である。
【図７４】  実施の形態１１における動作を説明する図である。
【図７５】  実施の形態１１における他のシステムの動作を説明する図である。
【図７６】  実施の形態１１における他のシステムの動作を説明する図である。
【図７７】  実施の形態１１における他のシステムの動作を説明する図である。
【図７８】  実施の形態１１における他のシステムの動作を説明する図である。
【図７９】  実施の形態１１における更に他のシステムの動作を説明する図である。
【図８０】  実施の形態１２における動作を説明する図である。
【図８１】  実施の形態１２における動作を説明する図である。
【図８２】  実施の形態１３における動作を説明する図である。
【図８３】  実施の形態１３における動作を説明する図である。
【図８４】  実施の形態１３における他のシステムの動作を説明する図である。
【図８５】  実施の形態１３における他のシステムの動作を説明する図である。
【図８６】  実施の形態１３における更に他のシステムの動作を説明する図である。
【図８７】  実施の形態１３における更に他のシステムの動作を説明する図である。
【図８８】  実施の形態１３における更に他のシステムの動作を説明する図である。
【図８９】  実施の形態１３における更に他のシステムの動作を説明する図である。
【図９０】  実施の形態１４における動作を説明する図である。
【図９１】  実施の形態１４における動作を説明する図である。
【図９２】  実施の形態１５における動作フローチャート図である。
【図９３】  実施の形態１５における動作フローチャート図である。
【図９４】  実施の形態１５における動作フローチャート図である。
【図９５】  実施の形態１５における動作を説明する図である。
【図９６】  実施の形態１６における動作を説明する図である。
【図９７】  実施の形態１６における動作を説明する図である。
【図９８】  実施の形態１６における動作を説明する図である。
【図９９】  実施の形態１６における動作を説明する図である。
【図１００】  実施の形態１６における動作を説明する図である。
【図１０１】  実施の形態１６における動作を説明する図である。
【図１０２】  実施の形態１６における動作を説明する図である。
【図１０３】  実施の形態１６における動作を説明する図である。
【図１０４】  実施の形態１６における動作を説明する図である。
【図１０５】  実施の形態１７における動作を説明する図である。
【図１０６】  実施の形態１７における動作を説明する図である。
【図１０７】  実施の形態１７における動作を説明する図である。
【図１０８】  実施の形態１７における動作を説明する図である。
【図１０９】  実施の形態１７における動作を説明する図である。
【図１１０】  実施の形態１７における動作を説明する図である。
【図１１１】  実施の形態１７における動作を説明する図である。
【図１１２】  実施の形態１７における動作を説明する図である。
【図１１３】  実施の形態１７における他のシステムの動作を説明する図である。
【図１１４】  実施の形態１７における他のシステムの動作を説明する図である。
【図１１５】  実施の形態１７における他のシステムの動作を説明する図である。
【図１１６】  実施の形態１７における更に他のシステムの動作を説明する図である。
【図１１７】  実施の形態１７における更に他のシステムの動作を説明する図である。
【図１１８】  実施の形態１７における更に他のシステムの動作を説明する図である。
【図１１９】  従来の暗号通信システムの図。
【図１２０】  従来の暗号通信システムの動作のフローチャート。
【図１２１】従来の暗号通信システムで共通鍵を共有する過程を説明する図。
【符号の説明】
１，１ｂ  情報端末Ａ、２，２ｂ  情報端末Ｂ、３  中継局、４  データ伝送路、５  音声伝送路、６  通信路、１１  電話Ａ、１２  パソコンＡ、１３  電話Ｂ、１４  パソコンＢ、１５  公衆電話網、１６  インターネット、１０１  ユーザ入力部、１０２  音声入出力部、１０２ａ  音声入力部、１０２ｂ  音声出力部、１０３  表示部、１０４  ユーザ確認入力部、１０５  ハッシュ生成部、１０６  音声暗号化部、１０７  音声復号部、１０８  送受信部、１０８ａ  送信部、１０８ｂ  受信部、１０９  鍵対生成部、１１０  秘密鍵格納部、１１１  共通鍵復号部、１１２  共通鍵格納部、１１３  秘密情報復号部、１１４  秘密情報部、１２８  通信モード、２０１  ユーザ入力部、２０２  音声入出力部、２０３  表示部、２０４  ユーザ確認入力部、２０５  ハッシュ生成部、２０６  音声暗号化部、２０７  音声復号部、２０８  送受信部、２０９  共通鍵生成部、２１０  共通鍵格納部、２１１  公開鍵格納部、２１２  共通鍵暗号化部、２１３  秘密情報暗号部、２１４，２２８  格納部、２１５  秘密情報生成部、５０１  共通鍵生成部、５０２  共通鍵生成部、６０１  検証データ変換テーブル、６０２  検証データ変換テーブル、１２０１  ユーザ入力部、１２０２表示部、１２０３  ハッシュ生成部、１２０４  データ暗号化部、１２０５  データ復号部、１２０６  プログラム格納部、１２０７  送受信部、１２０８  鍵対生成部、１２０９  秘密鍵格納部、１２１０  共通鍵復号部、１２１１  共通鍵格納部、１４０１  ユーザ入力部、１４０２  表示部、１４０３  ハッシュ生成部、１４０４  データ暗号化部、１４０５  データ復号部、１４０６  プログラム格納部、１４０７  送受信部、１４０８  共通鍵生成部、１４０９  共通鍵格納部、１４１０  公開鍵格納部、１４１１  共通鍵暗号化部。
【図１】
0003917330.tif 000002
【図２】
0003917330.tif 000003
【図３】
0003917330.tif 000004
【図４】
0003917330.tif 000005
【図５】
0003917330.tif 000006
【図６】
0003917330.tif 000007
【図７】
0003917330.tif 000008
【図８】
0003917330.tif 000009
【図９】
0003917330.tif 000010
【図１０】
0003917330.tif 000011
【図１１】
0003917330.tif 000012
【図１２】
0003917330.tif 000013
【図１３】
0003917330.tif 000014
【図１４】
0003917330.tif 000015
【図１５】
0003917330.tif 000016
【図１６】
0003917330.tif 000017
【図１７】
0003917330.tif 000018
【図１８】
0003917330.tif 000019
【図１９】
0003917330.tif 000020
【図２０】
0003917330.tif 000021
【図２１】
0003917330.tif 000022
【図２２】
0003917330.tif 000023
【図２３】
0003917330.tif 000024
【図２４】
0003917330.tif 000025
【図２５】
0003917330.tif 000026
【図２６】
0003917330.tif 000027
【図２７】
0003917330.tif 000028
【図２８】
0003917330.tif 000029
【図２９】
0003917330.tif 000030
【図３０】
0003917330.tif 000031
【図３１】
0003917330.tif 000032
【図３２】
0003917330.tif 000033
【図３３】
0003917330.tif 000034
【図３４】
0003917330.tif 000035
【図３５】
0003917330.tif 000036
【図３６】
0003917330.tif 000037
【図３７】
0003917330.tif 000038
【図３８】
0003917330.tif 000039
【図３９】
0003917330.tif 000040
【図４０】
0003917330.tif 000041
【図４１】
0003917330.tif 000042
【図４２】
0003917330.tif 000043
【図４３】
0003917330.tif 000044
【図４４】
0003917330.tif 000045
【図４５】
0003917330.tif 000046
【図４６】
0003917330.tif 000047
【図４７】
0003917330.tif 000048
【図４８】
0003917330.tif 000049
【図４９】
0003917330.tif 000050
【図５０】
0003917330.tif 000051
【図５１】
0003917330.tif 000052
【図５２】
0003917330.tif 000053
【図５３】
0003917330.tif 000054
【図５４】
0003917330.tif 000055
【図５５】
0003917330.tif 000056
【図５６】
0003917330.tif 000057
【図５７】
0003917330.tif 000058
【図５８】
0003917330.tif 000059
【図５９】
0003917330.tif 000060
【図６０】
0003917330.tif 000061
【図６１】
0003917330.tif 000062
【図６２】
0003917330.tif 000063
【図６３】
0003917330.tif 000064
【図６４】
0003917330.tif 000065
【図６５】
0003917330.tif 000066
【図６６】
0003917330.tif 000067
【図６７】
0003917330.tif 000068
【図６８】
0003917330.tif 000069
【図６９】
0003917330.tif 000070
【図７０】
0003917330.tif 000071
【図７１】
0003917330.tif 000072
【図７２】
0003917330.tif 000073
【図７３】
0003917330.tif 000074
【図７４】
0003917330.tif 000075
【図７５】
0003917330.tif 000076
【図７６】
0003917330.tif 000077
【図７７】
0003917330.tif 000078
【図７８】
0003917330.tif 000079
【図７９】
0003917330.tif 000080
【図８０】
0003917330.tif 000081
【図８１】
0003917330.tif 000082
【図８２】
0003917330.tif 000083
【図８３】
0003917330.tif 000084
【図８４】
0003917330.tif 000085
【図８５】
0003917330.tif 000086
【図８６】
0003917330.tif 000087
【図８７】
0003917330.tif 000088
【図８８】
0003917330.tif 000089
【図８９】
0003917330.tif 000090
【図９０】
0003917330.tif 000091
【図９１】
0003917330.tif 000092
【図９２】
0003917330.tif 000093
【図９３】
0003917330.tif 000094
【図９４】
0003917330.tif 000095
【図９５】
0003917330.tif 000096
【図９６】
0003917330.tif 000097
【図９７】
0003917330.tif 000098
【図９８】
0003917330.tif 000099
【図９９】
0003917330.tif 000100
【図１００】
0003917330.tif 000101
【図１０１】
0003917330.tif 000102
【図１０２】
0003917330.tif 000103
【図１０３】
0003917330.tif 000104
【図１０４】
0003917330.tif 000105
【図１０５】
0003917330.tif 000106
【図１０６】
0003917330.tif 000107
【図１０７】
0003917330.tif 000108
【図１０８】
0003917330.tif 000109
【図１０９】
0003917330.tif 000110
【図１１０】
0003917330.tif 000111
【図１１１】
0003917330.tif 000112
【図１１２】
0003917330.tif 000113
【図１１３】
0003917330.tif 000114
【図１１４】
0003917330.tif 000115
【図１１５】
0003917330.tif 000116
【図１１６】
0003917330.tif 000117
【図１１７】
0003917330.tif 000118
【図１１８】
0003917330.tif 000119
【図１１９】
0003917330.tif 000120
【図１２０】
0003917330.tif 000121
【図１２１】
0003917330.tif 000122