(57)【特許請求の範囲】
【請求項１】
メッセージ送信側計算機、メッセージ受信側計算機、認証用計算機およびこれら計算機間を接続するネットワークから構成されるシステムであって、
前記メッセージ送信側計算機は、平文の送信メッセージを第１の暗号鍵で暗号化して第１の暗号化メッセージを作成する手段と、第１の暗号化メッセージを復号するために第１の暗号化メッセージに添付された第１の復号鍵と第１の暗号化メッセージとの一方向のメッセージダイジェストを生成する手段と、第１の復号鍵と第１の暗号化メッセージとを前記メッセージダイジェストに対応して前記認証用計算機から提供される共通鍵によって暗号化して第２の暗号化メッセージを作成する手段と、第２の暗号化メッセージに前記メッセージダイジェストと前記共通鍵の組に付与され前記認証用計算機から提供される識別子を添付してメッセージ送信先へ送信する手段とを有し、
前記認証用計算機は、前記メッセージダイジェスト、前記共通鍵および対応する前記識別子を格納する記憶手段と、前記メッセージ送信側計算機からの要求に応答して受信した前記メッセージダイジェストに対応して前記共通鍵および前記識別子を生成して前記記憶手段に格納する手段と、生成された前記共通鍵および前記識別子を前記メッセージ送信側計算機へ送信する手段と、前記メッセージ受信側計算機からの要求に応答して受信した前記識別子に基づいて前記記憶手段を検索して該当する前記メッセージダイジェストおよび前記共通鍵を前記メッセージ受信側計算機へ送信する手段とを有し、
前記メッセージ受信側計算機は、添付された前記識別子に基づいて前記認証用計算機から第２の暗号化メッセージを復号するための前記共通鍵と前記メッセージダイジェストとを取得する手段と、前記共通鍵によって第２の暗号化メッセージを復号して第１の復号鍵の添付された第１の暗号化メッセージを取得する手段と、第１の復号鍵と第１の暗号化メッセージとの一方向のメッセージダイジェストを生成する手段と、生成されたメッセージダイジェストと取得した前記メッセージダイジェストとを比較してメッセージ改ざんの有無をチェックする手段とを有することを特徴とする電子データの内容証明をするシステム。
【請求項２】
前記メッセージ送信側計算機は、前記第１の復号鍵を第１のマークに埋め込む手段と、前記識別子を第２のマークに埋め込む手段とを有し、前記第１の復号鍵が埋め込まれた第１のマークと前記識別子が埋め込まれた第２のマークを、各々第１の暗号化メッセージ及び第２の暗号化メッセージに添付することを特徴とする請求項１記載の電子データの内容証明をするシステム。
【請求項３】
メッセージ送信側計算機、メッセージ受信側計算機、認証用計算機およびこれら計算機間を接続するネットワークから構成されるシステムであって、
前記メッセージ送信側計算機は、平文の送信メッセージを第１の暗号鍵で暗号化して第１の暗号化メッセージを作成する手段と、前記平文の送信メッセージの一方向の第１のメッセージダイジェストを生成する手段と、第１の暗号化メッセージを復号するために第１の暗号化メッセージに添付された第１の復号鍵と第１の暗号化メッセージに添付された第１のメッセージダイジェストと第１の暗号化メッセージとの一方向の第２のメッセージダイジェストを生成する手段と、第１の復号鍵と第１のメッセージダイジェストと第１の暗号化メッセージとを前記第２のメッセージダイジェストに対応して前記認証用計算機から提供される共通鍵によって暗号化して第２の暗号化メッセージを作成する手段と、第２の暗号化メッセージに前記第２のメッセージダイジェストと前記共通鍵の組に付与され前記認証用計算機から提供される識別子を添付してメッセージ送信先へ送信する手段とを有し、
前記認証用計算機は、前記第２のメッセージダイジェスト、前記共通鍵および対応する前記識別子を格納する記憶手段と、前記メッセージ送信側計算機からの要求に応答して受信した前記第２のメッセージダイジェストに対応して前記共通鍵および前記識別子を生成して前記記憶手段に格納する手段と、生成された前記共通鍵および前記識別子を前記メッセージ送信側計算機へ送信する手段と、前記メッセージ受信側計算機からの要求に応答して受信した前記識別子に基づいて前記記憶手段を検索して該当する前記第２のメッセージダイジェストおよび前記共通鍵を前記メッセージ受信側計算機へ送信する手段とを有し、
前記メッセージ受信側計算機は、添付された前記識別子に基づいて前記認証用計算機から第２の暗号化メッセージを復号するための前記共通鍵と前記第２のメッセージダイジェストとを取得する手段と、前記共通鍵によって第２の暗号化メッセージを復号して第１の復号鍵と第１のメッセージダイジェストの添付された第１の暗号化メッセージを取得する手段と、第１の復号鍵と第１のメッセージダイジェストと第１の暗号化メッセージとの一方向の第２のメッセージダイジェストを生成する手段と、生成された第２のメッセージダイジェストと取得した前記第２のメッセージダイジェストとを比較してメッセージ改ざんの有無をチェックする手段と、第１の復号鍵によって第１の暗号化メッセージを復号して前記平文の送信メッセージを取得する手段と、前記平文の送信メッセージの一方向の第１のメッセージダイジェストを生成する手段と、生成された第１のメッセージダイジェストと添付された前記第１のメッセージダイジェストとを比較してメッセージ改ざんの有無をチェックする手段とを有することを特徴とする電子データの内容証明をするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メッセージ送信者からメッセージ受信者へ伝送される電子データについて内容証明を行う方法及びそのシステムに関する。
【０００２】
【従来の技術】
インターネットを介してクライアント端末などのメッセージ送信者から業務サーバなどのメッセージ受信者へ電子データを伝送し、メッセージ受信者が受け取った電子データを処理するときの前提として、メッセージ送信者が正当な利用者であり、かつ受け取った電子データが第三者によって改ざんされていないことが保証されなければならない。従来本人認証を行う技術として電子証明書を用いる方法、内容証明を行う技術として電子署名を用いる技術が提唱されている。なお本人認証又はデータ認証についての関連する技術として、例えば特開２０００−１３８６７１号公報、特開平１０−２６８７６４号公報に記載された技術などがある。
【０００３】
【発明が解決しようとする課題】
電子証明書を用いる本人認証技術は、電子証明書の発行、保管及び管理が面倒であるという問題がある。そのため最近では電子証明書によらず、ＰＩＮ（Personal  Identification  Number）を使って本人認証を行い、ＳＳＬ（Secure  Socket  Layer）により電子データの暗号化を行う方向に動き出している。ＳＳＬによるデータ暗号化では、メッセージの内容証明は保証されないため、内容証明を行う仕組みが必要である。
【０００４】
本発明の目的は、電子証明書がなくとも電子データの内容証明を行えるような方法及びそのシステムを提供することにある。
【０００５】
【課題を解決するための手段】
本発明は、平文の送信メッセージを第１の暗号鍵で暗号化して第１の暗号化メッセージを作成し、第１の暗号化メッセージを復号するための第１の復号鍵と第１の暗号化メッセージとの一方向のメッセージダイジェストを生成し、第１の復号鍵と第１の暗号化メッセージとをこのメッセージダイジェストに対応して提供される第２の暗号鍵によって暗号化して第２の暗号化メッセージを作成し、第２の暗号化メッセージにこのメッセージダイジェストと第２の暗号鍵の組に付与された識別子を添付してメッセージ送信先へ送信し、メッセージ受信側では、添付された識別子を引用して第２の暗号化メッセージを復号するための第２の復号鍵と対応するメッセージダイジェストを取得し、第２の復号鍵によって第２の暗号化メッセージを復号して第１の復号鍵の添付された第１の暗号化メッセージを取得し、第１の復号鍵と第１の暗号化メッセージとの一方向のメッセージダイジェストを生成し、生成されたメッセージダイジェストと取得したメッセージダイジェストとを比較してメッセージ改ざんの有無をチェックする電子データの内容証明方法及びそのシステムを特徴とする。
【０００６】
【発明の実施の形態】
以下、本発明の一実施形態について図面を用いて説明する。
【０００７】
図１は、本実施形態のシステムの構成図である。システムは、クライアント端末１１、イントラネットシステム１６に含まれる業務サーバ１２、認証サーバ１３及びＬＡＮ１９、およびクライアント端末１１とイントラネットシステム１６間を接続するインターネット１８から構成される。クライアント端末１１は、インターネット１８及びＬＡＮ１９を介して業務サーバ１２と接続し、また認証サーバ１３と接続する。また業務サーバ１２は、ＬＡＮ１９を介して認証サーバ１３と接続する。
【０００８】
クライアント端末１１は、パーソナルコンピュータのような計算機であり、本実施形態ではメッセージの送信側となる。業務サーバ１２は、サーバ計算機であり、本実施形態ではメッセージの受信側となる。認証サーバ１３は、サーバ計算機であり、中央処理装置（ＣＰＵ）１４及びメッセージ管理テーブル１５から成る。メッセージ管理テーブル１５は、後述するメッセージに対応する情報である暗号鍵及びハッシュ値を保存する。クライアント端末１１は、認証サーバ１３で生成した暗号鍵でメッセージを暗号化し、暗号化メッセージから生成したハッシュ値を認証サーバ１３へ送り、さらに認証サーバ１３から受け取った暗号鍵で暗号化メッセージを暗号化してインターネット１８及びＬＡＮ１９を介して業務サーバ１２へ送信する。業務サーバ１２は、この暗号化メッセージを受け取り、認証サーバ１３から取得した暗号鍵及び暗号化メッセージ中に埋め込まれた暗号鍵で暗号化メッセージを復号化し、また認証サーバ１３から取得したハッシュ値及び暗号化メッセージ中に埋め込まれたハッシュ値によってメッセージの改ざん有無をチェックする。
【０００９】
図２は、メッセージ送信側が行うメッセージ暗号化の仕組みを説明する図である。メッセージ送信側は、秘密鍵２２によって送信メッセージ（平文）２１を暗号化して暗号化メッセージ２４を作成する。次に一方向ハッシュ関数により、送信メッセージ２１のメッセージダイジェストであるハッシュ値２３を生成する。次に内容保証マーク２６を生成し、秘密鍵２２と暗号鍵ペアを構成し送信メッセージ２１を復号するための公開鍵２５とハッシュ値２３とを内容保証マーク２６に埋め込み、この内容保証マーク２６を暗号化メッセージ２４に添付する。次に一方向ハッシュ関数により、内容保証マーク２６を添付した暗号化メッセージ２４のメッセージダイジェストであるハッシュ値２７を生成し、認証サーバ１３に登録する。次に認証サーバ１３からこのハッシュ値２７に対応する受付番号２８及び共通鍵２９を受け取り、共通鍵２９によって内容保証マーク２６を添付した暗号化メッセージ２４を暗号化して暗号化メッセージ３０を作成する。次に内容保証マーク３１を生成し、受付番号２８を内容保証マーク３１に埋め込み、この内容保証マーク３１を暗号化メッセージ３０に添付してメッセージ送信側へ送信するための暗号化されたメッセージが作成される。すなわち送信メッセージ２１は暗号化封筒に封入されて暗号化メッセージ２４となり、暗号化メッセージ２４は内容保証マーク２６という切手が添付され、内容保証マーク２６を添付された暗号化メッセージ２４は、さらに暗号化封筒に封入されて暗号化メッセージ３０となり、暗号化メッセージ３０は内容保証マーク３１という切手が添付されてメッセージ受信側へ送られる。従って送信メッセージ２１は２重に暗号化されることになる。
【００１０】
図３は、メッセージ受信側が行うメッセージ復号化の仕組みを説明する図である。メッセージ受信側は、内容保証マーク３１が添付された暗号化メッセージ３０を受信し、その内容保証マーク３１から受付番号２８を抽出し、認証サーバ１３に照会してこの受付番号２８に対応するハッシュ値２７及び共通鍵２９を取得する。次に共通鍵２９によって暗号化メッセージ３０を復号化して内容保証マーク２６が添付された暗号化メッセージ２４を得る。次に一方向ハッシュ関数により、内容保証マーク２６を添付した暗号化メッセージ２４のメッセージダイジェストであるハッシュ値を生成し、生成したハッシュ値と認証サーバ１３から取得したハッシュ値２７とを比較する。両者が一致すれば、内容保証マーク２６を添付した暗号化メッセージ２４の内容証明がされたことになる。次に内容保証マーク２６から公開鍵２５とハッシュ値２３を抽出し、公開鍵２５によって暗号化メッセージ２４を復号化して送信メッセージ２１を得る。次に一方向ハッシュ関数により、送信メッセージ２１のメッセージダイジェストであるハッシュ値を生成し、生成したハッシュ値とハッシュ値２３とを比較する。両者が一致すれば、送信メッセージ２１の内容証明がされたことになる。
【００１１】
図４は、認証サーバ１３が保管するメッセージ管理テーブル１５のデータ形式を示す図である。メッセージ管理テーブル１５の各レコードは、受付番号２８、共通鍵２９及びハッシュ値２７から構成される。ハッシュ値２７は、メッセージ送信側で生成し、登録要求されたハッシュ値である。受付番号２８および共通鍵２９は、各ハッシュ値２７に対応して認証サーバ１３が生成した受付番号及び共通鍵である。受付番号２８は、ハッシュ値２７と共通鍵２９の組に対して付与される識別子である。共通鍵２９は、メッセージを暗号化しまた復号化するために共通に用いられる。
【００１２】
図５は、メッセージ送信側であるクライアント端末１１が送信メッセージを暗号化してメッセージ受信側である業務サーバ１２へ送信するまでの処理の流れを示すフローチャートである。クライアント端末１１は、公開鍵２５及びこれとペアを構成する暗号鍵２２を動的に生成する（ステップ４１）。次に送信メッセージ２１から一方向ハッシュ関数によりハッシュ値２３を生成する（ステップ４２）。次に送信メッセージ２１をステップ４１で生成した暗号鍵２２で暗号化して暗号化メッセージ２４を作成する（ステップ４３）。次に内容保証マークを生成し、ハッシュ値２３とステップ４１で生成した公開鍵２５とを埋め込んで内容保証マーク２６を作成し、暗号化メッセージ２４に添付する（ステップ４４）。内容保証マーク２６自体は機密性を保証しないので、ハッシュ値２３と公開鍵２５が直接人によって目視できない程度にマーク中に隠蔽してあればよい。次に内容保証マーク２６を添付した暗号化メッセージ２４から一方向ハッシュ関数によりハッシュ値２７を生成する（ステップ４５）。次に生成したハッシュ値２７を認証サーバ１３へ送信して登録要求をする（ステップ４６）。認証サーバ１３は、このハッシュ値２７を受信し（ステップ４７）、乱数を発生させて受付番号２８を生成する（ステップ４８）。次に新しい共通鍵２９を生成する（ステップ４９）。次にクライアント端末１１から受け取ったハッシュ値２７とこれに対応して生成した受付番号２８及び共通鍵２９を１レコードにまとめてメッセージ管理テーブル１５に登録する（ステップ５０）。次に生成した受付番号２８及び共通鍵２９を登録要求元のクライアント端末１１へ送信する（ステップ５１）。
【００１３】
クライアント端末１１は、これら受付番号２８及び共通鍵２９を受信し（ステップ５２）、内容保証マーク２６を添付した暗号化メッセージ２４を共通鍵２９により暗号化して暗号化メッセージ３０を作成する（ステップ５３）。次に内容保証マークを生成し、受付番号２８を埋め込んで内容保証マーク３１を作成し、暗号化メッセージ３０に添付する（ステップ５４）。内容保証マーク３１についても受付番号２８が直接人によって目視できない程度にマーク中に隠蔽してあればよい。次に内容保証マーク３１を添付した暗号化メッセージ３０を送信先の業務サーバ１２へ送信する（ステップ５５）。
【００１４】
図６は、メッセージ受信側である業務サーバ１２が暗号化された受信メッセージを復号化し、内容の改ざんの有無をチェックする処理の流れを示すフローチャートである。業務サーバ１２は、内容保証マーク３１の添付された暗号化メッセージ３０を受信し（ステップ６１）、内容保証マーク３１から受付番号２８を抽出する（ステップ６２）。次に受付番号２８を認証サーバ１３へ送信し、対応するハッシュ値と共通鍵を要求する（ステップ６３）。認証サーバ１３は、この受付番号２８を受信し（ステップ６４）、受付番号２８をキーにしてメッセージ管理テーブル１５を検索し、同受付番号２８に対応して登録してある共通鍵２９及びハッシュ値２７を取得する（ステップ６５）。次に取得した共通鍵２９及びハッシュ値２７を要求元の業務サーバ１２へ送信する（ステップ６６）。
【００１５】
業務サーバ１２は、これら共通鍵２９及びハッシュ値２７を受信し、暗号化メッセージ３０を共通鍵２９で復号化して内容保証マーク２６付きの暗号化メッセージ２４を得る（ステップ６７）。次に内容保証マーク２６付きの暗号化メッセージ２４から一方向ハッシュ関数によりハッシュ値を生成する（ステップ６８）。次に生成したハッシュ値と認証サーバ１３から取得したハッシュ値２７とを比較し、内容の改ざん有無をチェックする（ステップ６９）。両者が一致すれば（ステップ６９ＹＥＳ）、内容保証マーク２６から公開鍵２５及びハッシュ値２３を抽出する（ステップ７０）。次に暗号化メッセージ２４を公開鍵２５で復号化して送信メッセージ２１を得る（ステップ７１）。次に送信メッセージ２１から一方向ハッシュ関数によりハッシュ値を生成する（ステップ７２）。次に生成したハッシュ値と内容保証マーク２６から抽出したハッシュ値２３とを比較し、内容の改ざん有無をチェックする（ステップ７３）。両者が一致すれば以上の処理の正常終了とし、以後の処理に移る。ステップ６９及びステップ７３で両ハッシュ値が一致しなければ、処理中断とし、以後の処理を中断する。
【００１６】
以上述べたように本実施形態によれば、暗号化メツセージ２４に内容保証マーク２６を添付した状態のメッセージは、内容保証マーク２６が暗号化されない状態のメッセージであり、第三者が内容保証マーク２６から公開鍵２５を抽出して暗号化メッセージ２４を復号化し、送信メッセージ２１を取得する危険がある。そこで内容保証マーク２６付きの暗号化メッセージ２４を認証サーバ１３の共通鍵２９によって再度暗号化して暗号化メッセージ３０を作成し、共通鍵２９に対応する受付番号２８を埋め込んだ内容保証マーク３１を添付している。このため第三者が内容保証マーク３１から受付番号２８を抽出することは容易であるが、受付番号２８によって暗号化メッセージ３０を復号化できないため、暗号化メツセージ３０の機密性が保たれることになる。また送信メッセージ２１を２重に暗号化しているため、第三者によるメッセージ改ざんに対して非常に強固となる。さらに認証サーバ１３は送信メッセージ２１の内容には関与しないので、認証サーバ１３側の不正の余地はない。
【００１７】
なお内容保証マーク２６を添付した暗号化メッセージ２４が改ざんされていなければ、送信メッセージ２１が改ざんされている確率は非常に小さいので、送信メッセージ２１から一方向ハッシュ関数によってハッシュ値２３を生成し、内容保証マーク２６に埋め込む処理がなくてもよい。また上記実施形態では、送信メッセージ２１を暗号鍵２２によって暗号化し、公開鍵２５によって復号したが、公開鍵２５によって送信メッセージ２１を暗号化し、暗号鍵２２を内容保証マーク２６に埋め込み、暗号鍵２２によって復号してもよい。また共通鍵２９によって内容保証マーク２６付きの暗号化メッセージ２４を暗号化し、同じ共通鍵２９によって内容保証マーク２６付きの暗号化メッセージ２４を復号化したが、認証サーバ１３が暗号鍵ペアの一方をクライアント端末１１に送って内容保証マーク付きの暗号化メッセージ２４を暗号化し、同暗号鍵ペアの他方を業務サーバ１２に送って内容保証マーク２６付きの暗号化メッセージ２４を復号化してもよい。
【００１８】
【発明の効果】
以上述べたように本発明によれば、電子証明書を前提とせずに、メッセージ送信者からメッセージ受信者へ伝送される電子データについて内容証明することができる。
【図面の簡単な説明】
【図１】実施形態のシステム構成図である。
【図２】実施形態のメッセージ暗号化の仕組みを説明する図である。
【図３】実施形態のメッセージ復号化の仕組みを説明する図である。
【図４】実施形態のメッセージ管理テーブル１５のデータ形式を示す図である。
【図５】実施形態のクライアント端末１１の処理及び認証サーバ１３の間連する処理の流れを示すフローチャートである。
【図６】実施形態の業務サーバ１２の処理及び認証サーバ１３の間連する処理の流れを示すフローチャートである。
【符号の説明】
１１：クライアント端末、１２：業務サーバ、１３：認証サーバ、１５：メッセージ管理テーブル、２２：秘密鍵、２４：暗号化メツセージ、２５：公開鍵、２７：ハッシュ値、２８：受付番号、２９：共通鍵、３０：暗号化メッセージ
【図１】
0003725020.tif 000002
【図２】
0003725020.tif 000003
【図３】
0003725020.tif 000004
【図４】
0003725020.tif 000005
【図５】
0003725020.tif 000006
【図６】
0003725020.tif 000007