(57)【特許請求の範囲】
【請求項１】
コンピュータ装置間で対称式暗号によるデータ通信を行うシステムにおける暗号鍵・復号鍵生成方法であって、
送信側コンピュータ装置と受信側コンピュータ装置のそれぞれの通信毎に、両コンピュータで同一となる、両コンピュータ間の各通信の実績を示す、送受信回数と、当該送受信回数の通信における通信データ量、エラー発生数、送受信データの内容の一部の少なくともいずれかの種別のデータとを通信実績情報として記憶しておき、
送信側コンピュータ装置Ａは、受信側コンピュータ装置Ｂとの通信の際、該受信側コンピュータ装置Ｂとの過去の通信で記憶した上記通信実績情報を検索して特定の送受信回数の通信時における特定のデータ種別の通信実績情報を読み出し、該読み出した通信実績情報に基づき暗号鍵を生成し、該暗号鍵を用いて通信対象データを暗号化し、暗号化した通信対象データに、当該暗号鍵の生成に用いた通信実績情報を特定する送受信回数とデータ種別を検索情報として添付して受信側コンピュータ装置Ｂに送信し、
該受信側コンピュータ装置Ｂは、受信した通信対象データに添付されている検索情報を基に、自受信側コンピュータ装置Ｂに記憶してある送信側コンピュータ装置Ａとの過去の通信実績情報を検索し、該送信側コンピュータ装置Ａが上記暗号鍵の生成に用いたものと同一の通信実績情報を読み出して上記受信した通信対象データの復号化に用いる復号鍵を生成する
ことを特徴とする暗号鍵・復号鍵生成方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータシステムを用いた、対称式暗号方式によるデータの暗号化と復号化に使用する暗号鍵の生成および共有方法に関し、特に通信装置を介して行うデータ通信の暗号化と復号化に好適に用い得る対称式暗号方式における暗号鍵・復号鍵生成方法に関する。
【０００２】
【従来の技術】
対称式暗号方式とは、暗号化と復号化の際に使用する暗号鍵が同一である暗号化方式をいう。特に、近年の暗号化システムは、一般にアルゴリズムが公開されており、暗号文の機密保持は、暗号鍵が秘匿できるか否かに依存する。
このような暗号化方式の場合、暗号文の送信時までに、送信者と受信者間で、使用する暗号鍵を予め安全な方法で交換する必要がある。また、機密保持のために、送信の相手先毎に、暗号鍵を変える必要があるため、一人の送信者が必要とする暗号鍵は、送信相手の数だけ必要となる。
更に、ｎ人のグループで暗号通信を行うとすれば、グループ内でＮ（Ｎ−１）／２個の暗号鍵を管理する必要があり、利用者の多い広域ネットワークでは管理が繁雑になり実用的ではない。
このような問題を解消するため、鍵管理用のコンピュータ（以下、「鍵配送サーバ」という）と、データ通信用コンピュータ（以下、「クライアント」という）を通信装置で接続し、鍵配送センタで鍵を一括管理し、通信時、クライアントからの要求で鍵を暗号化して、送受信先クライアントに配送する方法や、上述の鍵配送サーバで持つマスタ鍵と各々のクライアントで持つ端末マスタ鍵を用意し、送受信クライアント間で端末マスタ鍵を交換後、マスタ鍵とクライアントの端末マスタ鍵からセッション鍵（通信に使用する暗号鍵）を生成する方法などが提案されている。この種の技術としては、例えば、特公平６−８７５５７号公報に開示された技術が知られている。また、クライアントの代わりに、各人が所有するＩＣカードに端末マスタ鍵を記憶させる方法は、特公平６−７１２５９号公報に開示されている。
【０００３】
【発明が解決しようとする課題】
上記従来技術においては、鍵配送サーバを設け、暗号通信の利用者に関する事項やクライアントコンピュータの識別子を鍵配送サーバに登録する必要性が生じるため、予め定まったグループ内の暗号通信や比較的少人数の暗号通信には適用可能であるが、広域ネットワーク環境での不特定多数との暗号通信には適さず、また、鍵配送サーバの運用管理（ユーザ登録，変更，削除，バックアップなど）の作業が発生し、利用者が増加するほど経費がかさむという問題があった。
本発明は上記事情に鑑みてなされたもので、その目的とするところは、従来の技術における上述の如き問題を解消し、鍵配送サーバを不要とし、かつ、構成を簡略化することが可能な暗号鍵の生成および共有方法を提供することにある。
【０００４】
【課題を解決するための手段】
本発明の上記目的は、コンピュータシステム間で対称式暗号によるデータ通信を行う場合において、当該コンピュータシステム間におけるデータの通信実績を記憶し、通信毎に、前記通信実績に基づいて送信側コンピュータシステムと受信側コンピュータシステムで同一の暗号鍵を生成することを特徴とする対称式暗号方式における暗号鍵の生成および共有方法によって達成される。
【０００５】
【発明の実施の形態】
本発明に係る暗号鍵の生成および共有方法においては、過去の通信実績情報は複数の独立したコンピュータシステムで共通に保有可能な情報であり、通信に関与したコンピュータシステムのみが保有な情報であり、更に、送信側コンピュータシステムと受信側コンピュータシステムは、データの量や内容が同一のため、対称式暗号方式の暗号鍵生成の種として利用可能であることに鑑みて、上述の如き構成を採用したものである。
以下、本発明の実施の形態を図面に基づいてより詳細に説明する。
【０００６】
図１は、本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図である。図において、１０１はデータ通信を行うコンピュータＡ、１０２はコンピュータＡと他のコンピュータ間のデータ送受信の実績情報を格納したコンピュータＡの実績情報ファイル、１０３はコンピュータＡで動作する暗号鍵生成プログラム、１０４はコンピュータＡで動作する暗号化プログラム、１１１はコンピュータＡからのデータを受信するコンピュータＢ、１１２はコンピュータＢと他のコンピュータ間のデータ送受信の実績情報を格納したコンピュータＢの実績情報ファイル、１１３はコンピュータＢで動作する復号鍵生成プログラム、１１４はコンピュータＢで動作する復号化プログラムを示している。なお、コンピュータＢで動作する復号鍵生成プログラム１１３とコンピュータＡで動作する暗号鍵生成プログラム１０３，コンピュータＢで動作する復号化プログラム１１４とコンピュータＡで動作する暗号化プログラム１０４は、それぞれ、同一プログラムである。
【０００７】
図２は、図１に示したコンピュータＡの実績情報ファイル１０２の構成を示す図である。図において、２００はコンピュータＡの実績情報ファイル１０２の内容のうち、コンピュータＢとの通信実績を示す部分である。すなわち、２０１はコンピュータＢとの通信実績回数を示し、２０２は各通信毎の送信または受信の区別、２０３は各通信毎の送信または受信データ量、２０４は該データ量の送信のうちエラーが発生した回数、２０５は各通信毎の送受信データの内容の特定領域の一部を抽出し、記録したものである。
また、２１０はコンピュータＢの実績情報ファイル１１２の内容のうち、コンピュータＡとの通信実績を示す部分である。すなわち、２１１はコンピュータＡとの通信実績回数を示し、２１２は各通信毎の送信または受信の区別、２１３は各通信毎の送信または受信データ量、２１４は該データ量の送信のうちエラーが発生した回数、２１５は各通信毎の送受信データの内容の特定領域の一部を抽出し、記録したものである。
【０００８】
上述のコンピュータＢの実績情報ファイル１１２の内容のうち、コンピュータＡとの通信実績を示す部分２１０と、コンピュータＡの実績情報ファイル１０２の内容のうち、コンピュータＢとの通信実績を示す部分２００とは、同一または対応する内容を有している。すなわち、コンピュータＢのコンピュータＡとの通信実績回数２１１はコンピュータＡのコンピュータＢとの通信実績回数２０１，各通信毎の送信または受信デー量２１３と２０３，各通信毎の受信エラーの発生回数２１４と２０４は、それぞれ同一内容である。また、各通信毎の送信または受信の区別２１２と同２０２とは、２０２が「送信」の場合２１２は「受信」、２０２が「受信」の場合は２１２は「送信」というように対応している。なお、いうまでもなく、各通信毎の送受信データの内容の一部を抽出・記録した２１５と２０５も、同一内容である。
【０００９】
図３（ａ）は、コンピュータＡで動作する暗号鍵生成プログラム１０３および暗号化プログラム１０４の動作を示すフローチャート、図３（ｂ）は、コンピュータＢで動作する復号鍵生成プログラム１１３および復号化プログラム１１４の動作を示すフローチャートである。
図３（ａ）および（ｂ）中、３０１は通信実績情報取得処理ステップ、３０２は乱数生成処理ステップ、３０３は暗号鍵生成処理ステップ、３０４は平文の暗号化処理ステップ、３０５は暗号文の送信処理ステップを示しており、また、３１１は暗号文の受信処理ステップ、３１２は通信実績情報取得処理ステップ、３１３は乱数生成処理ステップ、３１４は復号鍵生成処理ステップ、３１５は暗号文の復号化処理ステップを示している。
以下、図３（ａ）および（ｂ）に基づいて、本実施形態の動作を説明する。
【００１０】
コンピュータＡでは、まず、ステップ３０１で、コンピュータＡの実績情報ファイル１０２中のコンピュータＢとの通信実績情報を入力し、特定の通信時のデータ量２０３，エラー発生数２０４，送受信データの内容の一部２０５のいずれかを用いて、乱数発生のために使用するデータを求める。次に、ステップ３０２で、それらのデータから乱数を発生させる。
ステップ３０３では、上で発生させた乱数を基に暗号鍵を生成し、ステップ３０４で、対象の平文メッセージを暗号化して、ステップ３０５で、前述の乱数生成に使用した過去の実績情報（回数やデータ種別）を上述の暗号文に添付して、コンピュータＢに送信する。
【００１１】
コンピュータＢでは、ステップ３１１で、コンピュータＡから送信された暗号文を受信し、暗号文に添付された、乱数生成に使用された過去の通信実績情報のうちの、回数やデータ種別を取り出す。ステップ３１２では、上で抽出した情報を基に、コンピュータＢの通信実績ファイル１１２を検索し、乱数生成のために使用するデータを求める。次に、ステップ３１３で、それらのデータから乱数を発生させる。この乱数は、コンピュータＡ側のステップ３０２で生成した乱数と同一の値となる。
ステップ３１４では、上で発生させた乱数を基に復号鍵を生成し、ステップ３１５では、上で生成した復号鍵により、ステップ３１１で受信した暗号文の復号化を行う。
【００１２】
上記実施形態によれば、送信側コンピュータシステムと受信側コンピュータシステムは、データの量や内容が同一のため、対称式暗号方式の暗号鍵生成の種として利用可能であることを利用し、鍵配送サーバを不要とし、かつ、構成を簡略化することが可能な暗号鍵の生成および共有方法を実現できる。
なお、上記実施の形態は本発明の一例を示したものであり、本発明はこれに限定されるべきものではないことは言うまでもないことである。例えば、上記実施形態においては、コンピュータＡとコンピュータＢとの間の過去の通信実績情報として、データ量，エラー発生数，送受信データの内容の一部を使用する場合を例に挙げたが、本発明はこれらに限るものではなく、例えば、特定領域の“１”または“０”のビット数など、コンピュータＡとコンピュータＢとの間で共有可能な情報であれば、利用することが可能である。
【００１３】
【発明の効果】
以上、詳細に説明した如く、本発明によれば、鍵配送サーバを不要とし、かつ、構成を簡略化することが可能な暗号鍵の生成および共有方法を実現できるという顕著な効果を奏するものである。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る、コンピュータシステムの構成を示すブロック図である。
【図２】図１に示した実施形態に係る、コンピュータＡの実績情報ファイル１０２の構成を示す図である。
【図３】実施形態に係るコンピュータシステムの動作を示すフローチャートである。
【符号の説明】
１０１  コンピュータＡ
１０２  コンピュータＡの実績情報ファイル
１０３  コンピュータＡで動作する暗号鍵生成プログラム
１０４  コンピュータＡで動作する暗号化プログラム
１１１  コンピュータＢ
１１２  コンピュータＢの実績情報ファイル
１１３  コンピュータＢで動作する復号鍵生成プログラム
１１４  コンピュータＢで動作する復号化プログラム
【図１】
0003615281.tif 000002
【図２】
0003615281.tif 000003
【図３】
0003615281.tif 000004