(57)【特許請求の範囲】
【請求項１】
転送パック生成プログラムと鍵暗号鍵を有する転送元用ソフトウェアであって、
転送パック生成プログラムは、転送データを記憶している転送元端末となるコンピュータを以下の手段として機能させることを特徴とする転送元用ソフトウェア
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手段
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手段
（３）当該転送元用パックに含まれる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手段
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手段。
【請求項２】
転送元用ソフトウェアは、
鍵暗号鍵と転送パック生成プログラムを含む転送準備ソフトウェアを暗号化した暗号済転送準備パックと、
転送元端末を、当該暗号済転送準備パックを復号するパック復号処理手段として機能させるパック復号プログラムを有することを特徴とする請求項１記載の転送元用ソフトウェア。
【請求項３】
以下の要素を有することを特徴とする転送要求端末
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成部
（Ｂ）生成した鍵暗号鍵と鍵復号鍵を記憶する鍵用鍵記憶部
（Ｃ）転送データを記憶している転送元端末となるコンピュータを、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手段と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手段と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手段と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手段として機能させる転送パック生成プログラムを記憶する転送パック生成プログラム記憶部
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成部
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力部
（Ｆ）転送元端末から出力された転送パックを記憶する転送パック記憶部
（Ｇ）鍵用鍵記憶部から鍵復号鍵を取得し、鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号部
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号部
（Ｉ）復元した転送データを出力する転送データ出力部。
【請求項４】
以下の要素を有することを特徴とする転送元用パック生成装置
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成部
（Ｂ）生成した鍵復号鍵を記憶する鍵用鍵記憶部
（Ｃ）転送データを記憶している転送元端末となるコンピュータを、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手段と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手段と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手段と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手段として機能させる転送パック生成プログラムを記憶する転送パック生成プログラム記憶部
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成部
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力部。
【請求項５】
転送データを記憶している転送元端末となるコンピュータを、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手段と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手段と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手段と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手段として機能させる転送パック生成プログラムと、
転送要求端末となるコンピュータを、
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成処理手段と、
（Ｂ）生成した鍵復号鍵を記憶する鍵復号鍵記憶処理手段と、
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成処理手段と、
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力処理手段として機能させるための転送元用パック生成プログラムと、
暗号済転送データと暗号済転送データ復号鍵を含む転送パックを入力する前記転送要求端末となるコンピュータを、
（Ｇ）鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号処理手段と、
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号処理手段と、
（Ｉ）復元した転送データを出力する転送データ出力処理手段として機能させるための転送データ復元プログラムとを含むことを特徴とするプログラムセット。
【請求項６】
転送データを記憶している転送元端末となるコンピュータを、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手段と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手段と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手段と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手段として機能させる転送パック生成プログラムと、
転送元用パック生成装置となるコンピュータを、
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成処理手段と、
（Ｂ）生成した鍵復号鍵を記憶する鍵復号鍵記憶処理手段と、
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成処理手段と、
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力処理手段として機能させるための転送元用パック生成プログラムを含むことを特徴とするプログラムセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相手方端末に機密情報の転送を求めて、機密情報を受け取るデータ転送システムに係り、相手方端末が専用のソフトウエアを有していない場合でも、安全かつ簡単にデータを転送できるようにする技術に関する。
【背景技術】
【０００２】
安全に、インターネットを介して相手側端末に機密情報を送る手段として、暗号化した機密情報に自己復元を行なう復号プログラムを添える方法がある。暗号化された機密情報を受信した相手先では、この復号プログラムを起動することにより、機密情報を復元することができる。この方法は、相手側で復号プログラムを所持していなくても、実現できる点で利便性が高い。
【０００３】
このように、機密データを相手側へ送信する簡単で安全な方法がある一方、相手側へ機密データの転送を求める場合に、従来技術では相手側端末で暗号プログラムを有している必要があり、機密性を維持する簡便な手段がない。
【特許文献１】特開２００１−３５２３２０号公報
【特許文献２】特開２００２−２３２７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明は、このような問題を解決することを主な目的とし、機密情報の転送を求める相手側端末（すなわち転送元端末）に対して、転送データの安全性を担保する転送パックを生成する転送元用パックを提供することにより、簡便かつ安全に機密情報を引き取ることできるようにすることを課題とする。
【課題を解決するための手段】
【０００５】
本発明に係る転送元用パックは、
転送パック生成プログラムと鍵暗号鍵を有する転送元用パックであって、
転送パック生成プログラムは、転送データを記憶している転送元端末となるコンピュータに以下の手順を実行させることを特徴とする
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手順
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手順
（３）当該転送元用パックに含まれる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手順
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手順。
【０００６】
また、転送元用パックは、
鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを暗号化した暗号済転送準備パックと、
転送元端末に、当該暗号済転送準備パックを復号するパック復号処理手順を実行させるパック復号プログラムを有することを特徴とする。
【０００７】
本発明に係る転送要求端末は、以下の要素を有することを特徴とする
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成部
（Ｂ）生成した鍵暗号鍵と鍵復号鍵を記憶する鍵用鍵記憶部
（Ｃ）転送データを記憶している転送元端末となるコンピュータに、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手順と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手順と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手順と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手順とを実行させる転送パック生成プログラムを記憶する転送パック生成プログラム記憶部
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成部
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力部
（Ｆ）転送元端末から出力された転送パックを記憶する転送パック記憶部
（Ｇ）鍵用鍵記憶部から鍵復号鍵を取得し、鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号部
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号部
（Ｉ）復元した転送データを出力する転送データ出力部。
【０００８】
本発明に係る転送元用パック生成装置は、以下の要素を有することを特徴とする
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成部
（Ｂ）生成した鍵復号鍵を記憶する鍵用鍵記憶部
（Ｃ）転送データを記憶している転送元端末となるコンピュータに、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手順と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手順と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手順と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手順とを実行させる転送パック生成プログラムを記憶する転送パック生成プログラム記憶部
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成部
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力部。
【０００９】
本発明に係る転送データ復元装置は、暗号済転送データと暗号済転送データ復号鍵を含む転送パックを入力する転送データ復元装置であって、以下の要素を有することを特徴とする
（Ｊ）鍵復号鍵を入力する鍵用鍵入力部
（Ｇ）鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号部
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号部
（Ｉ）復元した転送データを出力する転送データ出力部。
【００１０】
本発明に係るプログラムセットは、
転送データを記憶している転送元端末となるコンピュータに、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手順と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手順と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手順と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手順とを実行させる転送パック生成プログラムと、
転送要求端末となるコンピュータに、
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成処理手順と、
（Ｂ）生成した鍵復号鍵を記憶する鍵復号鍵記憶処理手順と、
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成処理手順と、
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力処理手順とを実行させるための転送元用パック生成プログラムと、
暗号済転送データと暗号済転送データ復号鍵を含む転送パックを入力する前記転送要求端末となるコンピュータに、
（Ｇ）鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号処理手順と、
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号処理手順と、
（Ｉ）復元した転送データを出力する転送データ出力処理手順とを実行させるための転送データ復元プログラムとを含むことを特徴とする。
【００１１】
本発明に係るプログラムセットは、
転送データを記憶している転送元端末となるコンピュータに、
（１）転送データを暗号化する為の転送データ暗号鍵と、当該転送データ暗号鍵で暗号化された暗号済転送データを復号する為の転送データ復号鍵を、共通の鍵あるいは異なる鍵として生成する転送データ用鍵生成処理手順と、
（２）転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データを生成する転送データ暗号化処理手順と、
（３）転送パック生成プログラムとともに転送元用パックに含められる鍵暗号鍵を用いて、転送データ復号鍵を暗号化して、暗号済転送データ復号鍵を生成する鍵暗号化処理手順と、
（４）暗号済転送データと暗号済転送データ復号鍵を有する転送パックを出力する転送パック出力処理手順とを実行させる転送パック生成プログラムと、
転送元用パック生成装置となるコンピュータに、
（Ａ）鍵暗号鍵と鍵復号鍵を、共通の鍵あるいは異なる鍵として生成する鍵用鍵生成処理手順と、
（Ｂ）生成した鍵復号鍵を記憶する鍵復号鍵記憶処理手順と、
（Ｄ）鍵暗号鍵と転送パック生成プログラムを含む転送準備パックを生成する転送準備パック生成処理手順と、
（Ｅ）生成した転送準備パックを含む転送元用パックを出力する転送元用パック出力処理手順とを実行させるための転送元用パック生成プログラムを含むことを特徴とする。
【００１２】
本発明に係る転送データ復元プログラムは、
暗号済転送データと暗号済転送データ復号鍵を含む転送パックを入力する転送データ復元装置となるコンピュータに、
（Ｊ）鍵復号鍵を入力する鍵用鍵入力処理手順と、
（Ｇ）鍵復号鍵を用いて転送パックに含まれる暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する鍵復号処理手順と、
（Ｈ）復元した転送データ復号鍵を用いて、転送パックに含まれる暗号済転送データを復号して、転送データを復元する転送データ復号処理手順と、
（Ｉ）復元した転送データを出力する転送データ出力処理手順とを実行させることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、転送元端末に送る転送元用パックに含まれる転送パック生成プログラムで、転送データを暗号化するので、転送元端末で暗号プログラムをインストールしていない場合でも、安全にデータを転送することができる。
【００１４】
また、転送元用パックに含まれる鍵暗号鍵を用いて、暗号済転送データを復号するための転送データ復号鍵を暗号化し、暗号化した転送データ復号鍵を、暗号済転送データとともに転送パックとして送るので、第三者の手に当該転送パックが渡った場合でも、転送データを復元することが困難となる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１は、暗号データ転送システムの概要を示す図である。転送元端末１０２は、転送データを暗号化して送信する端末である。転送要求端末１０１は、暗号化された転送データ（暗号済転送データ）を要求して受信する端末である。転送要求端末１０１と転送元端末１０２は、インターネット（ネットワークの例）を介して接続している。転送要求端末１０１は、転送元端末１０２に対してインターネットを介して、転送元用パック１０３を送信し、転送元端末１０２は、受信した転送元用パック１０３を用いて、暗号化した転送データを転送する為の転送パック１０４を生成し、転送要求端末１０１に返信する。そして、転送要求端末１０１は、転送パック１０４から転送データを復元する。尚、パックとは、パッケージ（ソフトウエア）のことである。
【００１６】
尚、転送要求端末１０１は、転送元用パックを生成する転送元用パック生成装置の例であり、更に転送データを復元する転送データ復元装置の例でもある。
【００１７】
転送元用パック１０３の構成について説明する。図２は、転送元用パックの構成を示す図である。転送元用パック１０３は、パック復号プログラム２１０と暗号済転送準備パック２２０から構成されている。パック復号プログラム２１０は、転送元端末１０２で起動され、暗号済転送準備パック２２０を復号するプログラムである。暗号済転送準備パック２２０は、転送準備パック２３０を暗号化したパックである。転送準備パック２３０は、転送パック生成プログラム２３１、鍵暗号鍵２３２、及び利用制限情報２３３から構成されている。転送パック生成プログラム２３１は、転送元端末１０２で起動され、転送パックを生成するプログラムである。鍵暗号鍵２３２は、暗号化された転送データを復号する鍵（転送データ暗号化鍵）を暗号化する為の鍵である。利用制限情報２３３は、転送元用パック１０３を使用する為の制限を定めた情報である。
【００１８】
転送パック１０４について説明する。図３は、転送パックの構成を示す図である。転送パック１０４は、暗号済転送データ３０１、転送データハッシュ値３０２、鍵暗号鍵ハッシュ値３０３、及び暗号済転送データ復号鍵３０４から構成されている。暗号済転送データ３０１は、転送データを、転送データ暗号鍵で暗号化したデータである。転送データハッシュ値３０２は、転送データのハッシュ値である。鍵暗号鍵ハッシュ値３０３は、鍵暗号鍵のハッシュ値である。暗号済転送データ復号鍵３０４は、暗号済転送データを復号する為の転送データ復号鍵を、鍵暗号鍵で暗号化したデータである。
【００１９】
続いて、転送要求端末１０１と転送元端末１０２の動作について説明する。転送要求端末１０１は、転送元用パック１０３を生成して、メール等により転送元端末１０２に送信する。そして、転送元用パック１０３を受信した転送元端末１０２は、転送元用パック１０３を起動して、転送元用パック１０３で保持している転送データを暗号化して転送パック１０４に含めて、転送要求端末１０１にメール等により送信する。そして、転送要求端末１０１は、転送パック１０４から転送データを復元する。以下、この流れに沿って各動作について説明する。
【００２０】
まず、転送要求端末１０１による転送元用パック１０３の生成の動作について説明する。図４は、転送要求端末による転送元用パック生成に係る構成を示す図である。転送要求端末１０１は、データ入力部４０１、鍵用鍵生成部４０３、鍵用鍵記憶部４０４、転送準備パック生成部４０５、転送パック生成プログラム記憶部４０６、パック暗号化部４０７、転送元用パック生成部４１０、パック復号プログラム記憶部４１１、及び転送元用パック出力部４１３を有し、動作に応じて必要な入力データ記憶領域４０２、転送準備パック記憶領域４０８、暗号済転送準備パック記憶領域４０９、及び転送元用パック記憶領域４１２を、転送要求端末１０１の記憶部（メモリや固定記憶装置）に確保する。転送パック生成プログラム記憶部４０６は、予め転送パック生成プログラムを記憶しており、パック復号プログラム記憶部４１１も、同じく予めパック復号プログラムを記憶している。パック復号プログラムは、転送元端末１０２で暗号済転送準備パックを復号するものである。
【００２１】
図５は、転送元用パック生成の処理フローを示す図である。まず、データ入力部４０１によるデータ入力処理（Ｓ５０１）を行なう。この処理では、パック暗号鍵として用いられるパスフレーズ（以下、パック暗号鍵という。）と、利用可能期間などの利用制限情報の入力を操作者に促す情報（パック暗号鍵入力画面、利用制限情報入力画面など）を出力し、これらを入力する。そして、入力データ記憶領域４０２を確保し、入力されたパック暗号鍵と利用制限情報を入力データ記憶領域４０２に記憶させる。
【００２２】
次に、鍵用鍵生成部４０３による鍵用鍵生成処理（Ｓ５０２）を行なう。この処理では、時刻、転送要求端末１０１のＭＡＣアドレス、あるいは乱数等に基づいて、鍵暗号鍵と鍵復号鍵を生成し、更に鍵暗号鍵のハッシュ値を生成して、鍵暗号鍵と鍵復号鍵と鍵暗号鍵ハッシュ値を対応付けて鍵用鍵記憶部４０４に記憶させる。鍵暗号鍵は、転送元端末１０２で転送データ復号鍵を暗号化する為の鍵であり、鍵復号鍵は、転送要求端末１０１で暗号化された暗号済転送データ復号鍵を復号して、転送データ復号鍵を復元する為の鍵である。公開密鍵方式を採用する場合には、鍵暗号鍵として公開鍵を生成し、鍵復号鍵として個人鍵を生成する。一方秘密鍵方式を採用する場合には、鍵暗号鍵及び鍵復号鍵として共通の秘密鍵を生成し、鍵暗号鍵と鍵復号鍵は実質的に同一のもの（鍵暗号復号兼用鍵）となる。従って、鍵用鍵記憶部４０４には、鍵暗号復号兼用鍵（鍵暗号鍵と鍵復号鍵に相当する。）と鍵暗号復号兼用鍵ハッシュ値（鍵暗号鍵ハッシュ値に相当する。）を対応付けて記憶する。そして以降の処理では、鍵暗号鍵としても、鍵復号鍵としても、この兼用の鍵を用いる。鍵暗号鍵ハッシュ値は、転送要求端末１０１で鍵復号鍵を特定する際に用いられる。
【００２３】
次に、転送準備パック生成部４０５による転送準備パック生成処理（Ｓ５０３）を行なう。この処理では、転送準備パック記憶領域４０８を確保し、そこに転送準備パック２３０を生成する。その為に転送パック生成プログラム記憶部４０６から転送パック生成プログラムを取得し、鍵用鍵記憶部４０４から鍵用鍵生成部４０３で生成した鍵暗号鍵を取得し、入力データ記憶領域４０２から利用制限情報を取得し、これらを転送準備パック記憶領域４０８に書き込む。
【００２４】
次に、パック暗号化部４０７によるパック暗号化処理（Ｓ５０４）を行なう。この処理では、入力データ記憶領域４０２からパック暗号鍵を取得し、転送準備パック記憶領域４０８から転送準備パック２３０を取得し、転送準備パック２３０をパック暗号鍵で暗号化して、暗号済転送準備パック２２０を生成する。そして、暗号済転送準備パック記憶領域４０９を確保して、暗号済転送準備パック２２０を書き込む。
【００２５】
次に、転送元用パック生成部４１０による転送元用パック生成処理（Ｓ５０５）を行なう。この処理では、転送元用パック記憶領域４１２を確保し、そこに転送元用パック１０３を生成する。その為にパック復号プログラム記憶部４１１からパック復号プログラム２１０を取得し、暗号済転送準備パック記憶領域４０９から暗号済転送準備パック２２０を読み出し、これらを転送元用パック記憶領域４１２に書き込む。
【００２６】
最後に、転送元用パック出力部４１３による転送元用パック出力処理（Ｓ５０６）を行なう。この処理では、転送元用パック記憶領域４１２に記憶している転送元用パック１０３を読み出して、出力する。通常は、ファイル形式の転送元用パックファイルで出力するが、他の形式であっても構わない。このファイルは、転送元に対して転送データの送信を促すメールに添付されて、転送要求端末１０１のメール送信部（図示せず）より転送元端末１０２に送信される。あるいは、ウェッブ上のサイトに転送元用パック１０３をアップロードし、インターネットを介して転送元端末１０２がダウンロードできるようにしてもよい。
【００２７】
また、別の手段で転送先から転送元へ、データ入力部４０１に入力したパスフレーズ（パック復号鍵）を知らせる。電話やＦＡＸ、あるいは転送元用パック１０３を添付するメールとは別に送信するメールに添付して通知する。
【００２８】
続いて、転送元端末１０２の動作について説明する。図６は、転送元端末によるパック復号に係る構成を示す図である。転送元端末１０２では、転送元用パック１０３が添付されたメールをメール受信部６０１で受信し、転送元用パック１０３を転送元端末１０２の固定記憶装置などに設けられた転送元用パック記憶部６０２に記憶させる。あるいは、ブラウザを用いてウェッブサイトにアクセスし、当該サイトから転送元用パック１０３をダウンロードし、転送元用パック記憶部６０２に記憶させる。
【００２９】
そして、転送元用パック記憶部６０２に記憶している転送元用パック１０３の実行を指示すると処理を開始する。図７は、転送元用パックの実行処理フローを示す図である。転送元用パック１０３は、まずパック復号プログラム２１０の起動処理（Ｓ７０１）を行い、続いて転送パック生成プログラム２３１の起動処理（Ｓ７０２）を行なうように構成されている。
【００３０】
パック復号プログラム２１０が起動されると、パック復号プログラム２１０は転送元端末１０２のメモリ上にロードされる。ロードされたパック復号プログラム６０３は、パック復号鍵入力部６０４とパック復号部６０６を有している。また、動作に応じて必要なパック復号鍵記憶領域６０５を確保する。
【００３１】
図８は、パック復号プログラムの処理フローを示す図である。パック復号鍵入力部６０４によるパック復号鍵入力処理（Ｓ８０１）を行う。この処理では、操作者にパック復号鍵（パスフレーズ）の入力を促す情報（パック復号鍵入力画面など）を出力して、パック復号鍵を入力し、パック復号鍵記憶領域６０５を転送元端末１０２の記憶部（メモリや固定記憶装置）に確保して、入力したパック復号鍵をパック復号鍵記憶領域６０５に書き込む。そして、パック復号部６０６によるパック復号処理（Ｓ８０２）で、転送元用パック記憶部６０２から暗号済転送準備パック２２０を取得し、パック復号鍵記憶領域６０５からパック復号鍵を読み出し、パック復号鍵を用いて暗号済転送準備パック２２０を復号し、転送準備パック記憶領域６０７を転送元端末１０２の記憶部（メモリや固定記憶装置）に確保して、復元した転送準備パック２３０を転送準備パック記憶領域６０７に書き込む。
【００３２】
次に、Ｓ７０２で起動される転送パック生成プログラム２３１による処理を行なう。転送パック生成プログラム２３１が起動されると、転送パック生成プログラム２３１は転送元端末１０２のメモリ上にロードされる。
【００３３】
図９は、転送元端末による転送パック生成に係る構成を示す図である。ロードされた転送パック生成プログラム９０２は、利用制限判定部９０３、転送データ用鍵生成部９０４、転送データ指示入力部９０６、転送データ暗号化部９０７、転送データハッシュ生成部９０９、鍵ハッシュ生成部９１０、鍵暗号化部９１１、及び転送パック出力部９１２を有している。また、動作に応じて必要な転送データ用鍵記憶領域９０５と転送パック記憶領域９０８を、転送元端末１０２の記憶部（メモリや固定記憶装置）に確保する。尚、転送データは、転送元端末１０２の記憶部（メモリや固定記憶装置）に設けられた転送データ記憶部９０１に予め記憶されている。通常は、ファイル形式の転送データファイルとして記憶されている。
【００３４】
図１０は、転送パック生成プログラムの処理フローを示す図である。まず、利用制限判定部９０３による利用制限判定処理（Ｓ１００１）を行なう。この処理では、転送準備パック記憶領域６０７から利用制限情報２３３を取得し、その制限を満たしているか判定する。制限を満たしている場合には、処理を続行し、制限を満たしていない場合には、処理を終了する。例えば、現在時刻が利用可能期間内である場合には、処理を続行し、期間外であれば、処理を中断する。
【００３５】
次に、転送データ用鍵生成部９０４よる転送データ用鍵生成処理（Ｓ１００２）を行なう。この処理では、時刻、転送要求端末１０１のＭＡＣアドレス、あるいは乱数等に基づいて、転送データ暗号鍵と転送データ復号鍵を生成し、転送データ用鍵記憶領域９０５に記憶させる。転送データ暗号鍵は、転送データを暗号化する為の鍵であり、転送データ復号鍵は、暗号化された暗号化済み転送データを復号して、転送データを復元する為の鍵である。公開密鍵方式を採用する場合には、転送データ暗号鍵として公開鍵を生成し、転送データ復号鍵として個人鍵を生成する。一方秘密鍵方式を採用する場合には、転送データ暗号鍵及び転送データ復号鍵として共通の秘密鍵を生成し、転送データ暗号鍵及び転送データ復号鍵は実質的に同一のもの（転送データ暗号復号兼用鍵）となる。従って、転送データ用鍵記憶領域９０５には、転送データ暗号復号兼用鍵のみを記憶する。そして以降の処理では、転送データ暗号鍵としても、転送データ復号鍵としても、この兼用の鍵を用いる。
【００３６】
次に、転送データ指示入力部９０６による転送データ指示入力処理（Ｓ１００３）を行なう。この処理では、操作者に転送データを特定する指示の入力を促す情報（転送データ選択画面など）を出力し、その指示を入力する。これにより、転送データを特定できる。通常、転送データはファイル形式であるので、その転送データファイル名が特定される。
【００３７】
次に、転送データ暗号化部９０７による転送データ暗号化処理（Ｓ１００４）を行なう。この処理では、転送パック記憶領域９０８を確保し、特定された転送データを転送データ記憶部９０１から取得し、転送データ用鍵記憶領域９０５から転送データ暗号鍵を読み出し、転送データ暗号鍵を用いて転送データを暗号化して、暗号済転送データ３０１を生成し、これを転送パック記憶領域９０８に書き込む。
【００３８】
次に、転送データハッシュ生成部９０９による転送データハッシュ生成処理（Ｓ１００５）を行なう。この処理では、転送データを転送データ記憶部９０１から取得し、転送データのハッシュ値を算出して、これを転送パック記憶領域９０８に書き込む。
【００３９】
次に、鍵ハッシュ生成部９１０による鍵ハッシュ生成処理（Ｓ１００６）を行なう。この処理では、転送準備パック記憶領域６０７から鍵暗号鍵２３２を読み出し、鍵暗号鍵２３２のハッシュ値を算出して、これを転送パック記憶領域９０８に書き込む。
【００４０】
次に、鍵暗号化部９１１による鍵暗号化処理（Ｓ１００７）を行なう。この処理では、転送準備パック記憶領域６０７から鍵暗号鍵２３２を取得して、転送データ用鍵記憶領域９０５から転送データ復号鍵を読み出し、転送データ復号鍵を鍵暗号鍵２３２で暗号化して、暗号済転送データ復号鍵を生成し、これを転送パック記憶領域９０８に書き込む。
【００４１】
次に、転送パック出力部９１２による転送パック出力処理（Ｓ１００８）を行なう。この処理では、転送パック記憶領域９０８に記憶している暗号済転送データ３０１と転送データハッシュ値３０２と鍵暗号鍵ハッシュ値３０３と暗号済転送データ復号鍵３０４を読み出し、これらを含めた転送パックを出力する。通常は、ファイル形式の転送パックとして出力するが、他の形式であっても構わない。
【００４２】
このファイルは、転送データを送信する旨を伝えるメールに添付されて、送信元端末１０２のメール送信部（図示せず）から転送要求端末１０１に送信される。あるいは、ウェッブ上のサイトに転送パック１０４をアップロードし、インターネットを介して転送要求端末１０１がダウンロードできるようにしてもよい。
【００４３】
続いて、転送要求端末１０１による転送データ復元の動作について説明する。図１１は、転送要求端末による転送データ復元に係る構成を示す図である。転送要求端末１０１では、転送パック１０４が添付されたメールをメール受信部（図示せず）で受信し、転送パック１０４を転送要求端末１０１の固定記憶装置などに設けられた転送パック記憶部１１０１に記憶させる。あるいは、ブラウザを用いてウェッブ上のサイトにアクセスし、当該サイトから転送パック１０４をダウンロードし、転送パック記憶部１１０１に記憶させる。メール受信部あるいはブラウザは、転送パック入力部の例である。
【００４４】
転送要求端末１０１は、転送データ復元の為に、転送パック指示入力部１１０２、鍵復号鍵判定部１１０３、鍵復号部１１０４、転送データ復号部１１０６、転送データハッシュ生成部１１０８、転送データ正当性判定部１１１０、及び転送データ出力部１１１１の要素を有している。また、動作に応じて必要な転送データ復号鍵記憶領域１１０５、転送データ記憶領域１１０７、及び転送データハッシュ値記憶領域１１０９を、転送要求端末１０１の記憶部（メモリや固定記憶装置）に確保する。
【００４５】
図１２は、転送データ復元の処理フローを示す図である。まず、転送パック指示入力部１１０２による転送パック指示入力処理（Ｓ１２０１）を行なう。この処理では、操作者に転送パックを特定する指示の入力を促す情報（転送パック選択画面など）を出力し、その指示を入力する。これにより、転送パックを特定できる。通常、転送パックはファイル形式であるので、その転送パックファイル名が特定される。
【００４６】
次に、鍵復号鍵判定部１１０３による鍵復号鍵判定処理（Ｓ１２０２）を行なう。この処理では、転送パック記憶部１１０１から鍵暗号鍵ハッシュ値３０３を取得し、その鍵暗号鍵ハッシュ値３０３に対応付けられている鍵復号鍵を鍵用鍵記憶部４０４から取得する。
【００４７】
次に、鍵復号部１１０４による鍵復号処理（Ｓ１２０３）を行なう。この処理では、転送パック記憶部１１０１から暗号済転送データ復号鍵３０４を取得し、鍵復号鍵を用いて暗号済転送データ復号鍵３０４を復号して、転送データ復号鍵を復元する。
【００４８】
次に、転送データ復号部１１０６による転送データ復号処理（Ｓ１２０４）を行なう。この処理では、転送パック記憶部１１０１から暗号済転送データ３０１を取得し、転送データ復号鍵を用いて暗号済転送データ３０１を復号して、転送データを復元する。そして、転送データ記憶領域１１０７を確保して、転送データを転送データ記憶領域１１０７に書き込む。
【００４９】
次に、転送データハッシュ生成部１１０８による転送データハッシュ生成処理（Ｓ１２０５）を行なう。この処理では、転送データ記憶領域１１０７から転送データを読み出し、転送データのハッシュ値を算出して、転送データハッシュ値記憶領域１１０９を確保して、転送データハッシュ値記憶領域１１０９に転送データハッシュ値を書き込む。
【００５０】
次に、転送データ正当性判定部１１１０による転送データ正当性判定処理（Ｓ１２０６）を行なう。この処理では、転送パック記憶部１１０１から転送データハッシュ値３０２を取得し、転送データハッシュ値記憶領域１１０９から転送データハッシュ値読み出し、転送パック内の転送データハッシュ値３０２と自ら算出した転送データハッシュ値を比較することにより転送データが正当か否かを判定する。これらのハッシュ値が一致する場合には、正当と判断して処理を続行し、一致しない場合には、不当と判断して処理を中断する。
【００５１】
次に、転送データ出力部１１１１による転送データ出力処理（Ｓ１２０７）を行なう。この処理では、正当と判断された転送データを転送データ記憶領域１１０７から読み出して、出力する。通常は、ファイルの形式の転送データファイルとして出力する。
【００５２】
実施の形態２．
利用制限判定を省略する形態について説明する。図１０に示した利用制限判定処理（Ｓ１００１）を省略する場合には、データ入力処理における利用制限情報の入力（図５のＳ５０１）は不要であり、転送準備パック生成処理（図５のＳ５０３）で転送準備パックに利用制限情報を含めない。
【００５３】
また、転送パック生成プログラム２３１は、利用制限判定処理（Ｓ１００１）が不要となる。
【００５４】
但し、利用制限判定を行なう場合には、想定外の使用を制限することができる。例えば、アンケートや見積書のように回答期限があるものについて、期限外の回答を抑制することができる。
【００５５】
実施の形態３．
転送データ正当性判定を省略する形態について説明する。図１２に示した転送データ正当性判定処理（Ｓ１２０６）を省略する場合には、転送パック生成プログラム２３１は、転送データハッシュ生成処理（Ｓ１００５）が不要となる。また、転送パック出力処理（Ｓ１００８）では、転送パックに転送データハッシュ値を含めない。
【００５６】
そして、転送要求端末による転送データ正当性判定（Ｓ１２０６）は、不要となる。
【００５７】
但し、転送データ正当性判定を行なう場合には、転送データの改ざんを防止することができる。
【００５８】
実施の形態４．
実施の形態１における鍵復号鍵判定処理（Ｓ１２０２）では、鍵復号鍵を特定する為に鍵暗号鍵ハッシュ値を用いたが、送信元のメールアドレスや返信メール名などで鍵復号鍵を特定する場合には、転送パック１０４から鍵暗号鍵ハッシュ値３０３を省くことができる。
【００５９】
この場合には、転送パック生成プログラム２３１は、鍵ハッシュ生成処理（Ｓ１００６）が不要となる。また、転送パック出力処理（Ｓ１００８）では、転送パック１０４に鍵暗号鍵ハッシュ値３０３を含めない。
【００６０】
但し、鍵復号鍵判定処理で鍵暗号鍵ハッシュ値を用いる場合には、鍵復号鍵の特定が容易になるという利点がある。
【００６１】
実施の形態５．
転送元端末１０２が、暗号済転送準備パックを復号することができる復号部を有する場合には、転送元用パック１０３からパック復号プログラム２１０を省くことができる。つまり、暗号済転送準備パックが転送用パックとなる。
【００６２】
この場合には、パック復号プログラムの起動は省略され、転送元用パックの実行処理の前に、復号部により暗号済転送準備パックを復号して、転送準備パックを復元する。
【００６３】
但し、転送元用パック１０３にパック復号プログラム２１０を含める方が、汎用性が高い。
【００６４】
実施の形態６．
転送元用パック１０３からパック復号プログラム２１０を省くとともに、転送準備パックを暗号化するパック暗号化処理（Ｓ５０４）は行なわず、転送準備パックをそのまま送信元用パックとして出力することもできる。
【００６５】
この場合には、パック復号プログラムの起動は省略され、転送元用パックの実行処理は、転送パック生成プログラムの起動処理（Ｓ７０２）から開始される。
【００６６】
但し、転送準備パックを暗号化する方が、安全性が高い。
【００６７】
実施の形態７．
上述の実施の形態では、送信先端末１０１が転送元用パック生成装置と転送データ復元装置を兼ねたが、両装置を別個の端末としてシステムを構成することもできる。通常、別個の両装置はインターネットなどのネットワークを介して接続される。
【００６８】
この場合、転送元用パック生成装置は、鍵用鍵記憶部に記憶している鍵復号鍵と鍵暗号鍵ハッシュ値の対応付けを出力（例えば、ネットワークを介して送信）する鍵用鍵出力部を有し、転送データ復元装置は、鍵復号鍵と鍵暗号鍵ハッシュ値の対応付けを入力（例えば、ネットワークを介して受信）する鍵用鍵入力部を有し、入力した鍵復号鍵と鍵暗号鍵ハッシュ値の対応付けを鍵用鍵出力部に記憶させて用いる。
【００６９】
鍵暗号鍵ハッシュ値を用いない場合には、鍵復号鍵のみの入出力（送受信）及び記憶となる。
【００７０】
両装置を別個の端末とする場合には、転送パックを受信する転送データ復元装置では、転送元用パック生成装置としての機能が不要となるので、装備が軽くなる。
【００７１】
実施の形態８．
実施の形態２、３、４、５（あるいは６）、及び７は、選択して任意に組み合わせることができる。従って、実施の形態２、３、４、６、及び７を採用した形態も有効である。
【００７２】
転送要求端末１０１と転送元端末１０２と転送元用パック生成装置と転送データ復元装置は、いずれもコンピュータであり、各要素はプログラムにより処理を実行することができる。また、プログラムを記憶媒体に記憶させ、記憶媒体からコンピュータに読み取られるようにすることができる。
【００７３】
特に、図５に示した処理手順は、転送元用パック生成プログラムとして実行可能であり、図１２に示した処理手順は、転送データ復元プログラムとして実行可能である。そして、転送要求端末１０１となるコンピュータには、転送パック生成プログラムと転送元用パック生成プログラムと転送データ復元プログラムをセットとしたプログラムセットを提供することが有効であり、転送元用パック生成装置（転送要求端末１０１の部分的機能を実現する装置）となるコンピュータには、転送パック生成プログラムと転送元用パック生成プログラムをセットとしたプログラムセットを提供することが有効であり、転送データ復元装置（転送要求端末１０１の部分的機能を実現する装置）となるコンピュータには、転送データ復元プログラムを提供することが有効である。
【００７４】
図１３は、コンピュータのハードウエア構成を示す図である。バスに、演算装置１３０１、データ記憶装置１３０２、メモリ１３０３、通信インターフェース（ネットワークカード）１３０４が接続されている。データ記憶装置１３０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスクである。メモリ１３０３は、通常ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。プログラムは、通常データ記憶装置１３０２に記憶されており、メモリ１３０３にロードされた状態で、順次演算装置１３０１に読み込まれ処理を行う。通信インターフェース（ネットワークカード）１３０４には、ＭＡＣアドレスが記憶されており、演算装置１３０１はバスを介してこのＭＡＣアドレスを取得できるように構成されている。
【図面の簡単な説明】
【００７５】
【図１】暗号データ転送システムの概要を示す図である。
【図２】転送元用パックの構成を示す図である。
【図３】転送パックの構成を示す図である。
【図４】転送要求端末による転送元用パック生成に係る構成を示す図である。
【図５】転送元用パック生成の処理フローを示す図である。
【図６】転送元端末によるパック復号に係る構成を示す図である。
【図７】転送元用パックの実行処理フローを示す図である。
【図８】パック復号プログラムの処理フローを示す図である。
【図９】転送元端末による転送パック生成に係る構成を示す図である。
【図１０】転送パック生成プログラムの処理フローを示す図である。
【図１１】転送要求端末による転送データ復元に係る構成を示す図である。
【図１２】転送データ復元の処理フローを示す図である。
【図１３】コンピュータのハードウエア構成を示す図である。
【符号の説明】
【００７６】
１０１  転送要求端末、１０２  転送元端末、１０３  転送元用パック、１０４  転送パック、  ２１０パック復号プログラム、２２０  暗号済転送準備パック、２３０  転送準備パック、２３１  転送パック生成プログラム、２３２  鍵暗号鍵、２３３  利用制限情報、３０１  暗号済転送データ、３０２  転送データハッシュ値、３０３  鍵暗号鍵ハッシュ値、３０４  暗号済転送データ復号鍵、４０１  データ入力部、４０２  入力データ記憶領域、４０３  鍵用鍵生成部、４０４  鍵用鍵記憶部、４０５  転送準備パック生成部、４０６  転送パック生成プログラム記憶部、４０７  パック暗号化部、４０８  転送準備パック記憶領域、４０９  暗号済転送準備パック記憶領域、４１０  転送元用パック生成部、４１１  パック復号プログラム記憶部、４１２  転送元用パック記憶領域、４１３  転送元用パック出力部、６０１  メール受信部、６０２  転送元用パック記憶部、６０３  パック復号プログラム、６０４  パック復号鍵入力部、６０５  パック復号鍵記憶領域、６０６  パック復号部、６０７  転送準備パック記憶領域、９０１  転送データ記憶部、９０２  転送パック生成プログラム、９０３  利用制限判定部、９０４  転送データ用鍵生成部、９０５  転送データ用鍵記憶領域、９０６  転送データ指示入力部、９０７  転送データ暗号化部、９０８  転送パック記憶領域、９０９  転送データハッシュ生成部、９１０  鍵ハッシュ生成部、９１１  鍵暗号化部、９１２  転送パック出力部、１１０１  転送パック記憶部、１１０２  転送パック指示入力部、１１０３  鍵復号鍵判定部、１１０４  鍵復号部、１１０５  転送データ復号鍵記憶領域、１１０６  転送データ復号部、１１０７  転送データ記憶領域、１１０８  転送データハッシュ生成部、１１０９  転送データハッシュ値記憶領域、１１１０  転送データ正当性判定部、１１１１  転送データ出力部。
【図１】
0004668028.tif 000002
【図２】
0004668028.tif 000003
【図３】
0004668028.tif 000004
【図４】
0004668028.tif 000005
【図５】
0004668028.tif 000006
【図６】
0004668028.tif 000007
【図７】
0004668028.tif 000008
【図８】
0004668028.tif 000009
【図９】
0004668028.tif 000010
【図１０】
0004668028.tif 000011
【図１１】
0004668028.tif 000012
【図１２】
0004668028.tif 000013
【図１３】
0004668028.tif 000014