(57)【特許請求の範囲】
【請求項１】
送信対象のファイルを暗号化して送信する送信装置であって、
前記送信対象のファイルを分割して複数の分割ファイルを生成する分割手段と、
前記複数の分割ファイルを分割ファイル毎に暗号化する暗号化手段と、
前記分割手段による分割処理および前記暗号化手段による暗号化処理の情報を有するダミーファイルを生成するダミー生成手段と、
前記ダミーファイルのファイル名のハッシュ値を有するコントロールファイルを生成するコントロール生成手段と、
前記複数の分割ファイル、前記ダミーファイルおよび前記コントロールファイルを送信する送信手段と、
有し、
前記暗号化手段は、
前記ダミーファイルを暗号化し、
前記送信手段は、
暗号化された前記複数の分割ファイルおよび前記ダミーファイル、並びに、暗号化されていない前記コントロールファイルを送信する
送信装置。
【請求項２】
前記複数の分割ファイルに対して、選択的に、前記特定の受信装置のみ前記送信データと区別できるダミーデータを付加するダミーデータ付加手段をさらに有し、
前記送信手段は、前記選択的にダミーデータが付加された複数の分割ファイルおよび前記ダミーファイルを送信する
請求項１に記載の送信装置。
【請求項３】
送信対象の複数のファイルを１つの結合ファイルに結合する結合手段をさらに有し、
前記分割手段は、
前記結合ファイルを分割する
請求項１または２に記載の送信装置。
【請求項４】
受信した複数のファイルから元の送信対象のファイルを復元する受信装置であって、
前記複数のファイルとして、前記送信対象のファイルを分割して暗号化した複数の分割ファイル、当該分割および暗号化の情報を有する暗号化されたダミーファイル、および、前記ダミーファイルのファイル名のハッシュ値を有するコントロールファイルを受信する受信手段と、
暗号化された複数のファイルのファイル名のハッシュ値を演算し、前記コントロールファイルの前記ハッシュ値と一致するハッシュ値のファイル名を有するファイルを前記ダミーファイルとして特定するダミー特定手段と、
特定された前記ダミーファイルを復号し、更に、復号された前記ダミーファイルの暗号化の情報を用いて、暗号化された残りの前記複数の分割ファイルを復号する復号化手段と、
復号された前記ダミーファイルの分割の情報を用いて、復号された前記複数の分割ファイルを統合する統合手段と、
を有する受信装置。
【請求項５】
前記受信手段が受信した複数のファイルから、ダミーデータを特定し除去するダミーデータ除去手段をさらに有する
請求項４に記載の受信装置。
【請求項６】
前記結合ファイルを分割し、複数の送信対象のファイルを生成する分割手段をさらに有する
請求項４または５に記載の受信装置。
【請求項７】
送信対象のファイルを複数のファイルに分割して暗号化して送信する請求項１から３のいずれか一項記載の送信装置と、
前記送信装置から受信した複数のファイルから元の前記送信対象のファイルを復元する請求項４から６のいずれか一項記載の受信装置と
を有する通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、よりセキュリティの高い送信装置、よりセキュリティの高い受信装置およびよりセキュリティ高い通信システムに関する。
【０００２】
【従来の技術】
情報処理技術や通信技術の進展により、通信網を介した情報の伝送が容易かつ効率的に行えるようになっており、これに伴って、そのような通信網を介して伝送される情報の量も飛躍的に増大している。
通信網としては種々の形態のものがあるが、たとえば、複数のコンピュータシステム、ネットワークが世界的規模で接続されたインターネットは、その規模、通信コストの面から着目されており、広く利用されている。
ところで、このような通信網を介しては、個人や企業間において種々の機密性を有するデータの通信も行われている。
この際、機密性の必要なデータを伝送する一般的な方法として、機密データを暗号化して伝送する方法が行われている。
なお、この暗号化方法にも、種々の方法が考えられており、たとえば、特開平３−１０８８３０号公報には、暗号化した伝送データを複数のデータに分割し、これらを異なる回線を介して伝送することにより、より安全に所望のデータを送信することのできる方法が開示されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、これまでの暗号化方法に対しては種々の解読方法も考えられており、より解読が難しく秘匿性の高い暗号化を行いたいという要望がある。
たとえば、電子メールなどの書き出し部分に定型的な文章が用いられることが多いことを利用し、その文章に相当する相当する既知の平文と暗号文の対を元に共通鍵を導き出すような既知の平文攻撃という暗号解読方法がある。この方法により一旦データの一部の暗号が解読されてしまうと、これまでの通常の暗号化方法においては、データの全体についても同様の手法で暗号が破られる危険性が高い。
このため、第三者に対して、暗号化したデータを特定され難く、より暗号解読され難い方法が望まれている。
【０００４】
したがって本発明の目的は、よりセキュリティの高い送信装置を提供することにある。
また、本発明の目的は、よりセキュリティの高い受信装置を提供することにある。
また、本発明の目的は、よりセキュリティの高い通信システムを提供することにある。
【０００５】
【課題を解決するための手段】
本発明の送信装置は、送信対象のファイルを暗号化して送信する送信装置であって、前記送信対象のファイルを分割して複数の分割ファイルを生成する分割手段と、前記複数の分割ファイルを分割ファイル毎に暗号化する暗号化手段と、前記分割手段による分割処理および前記暗号化手段による暗号化処理の情報を有するダミーファイルを生成するダミー生成手段と、前記ダミーファイルのファイル名のハッシュ値を有するコントロールファイルを生成するコントロール生成手段と、前記複数の分割ファイル、前記ダミーファイルおよび前記コントロールファイルを送信する送信手段と、有し、前記暗号化手段は、前記ダミーファイルを暗号化し、前記送信手段は、暗号化された前記複数の分割ファイルおよび前記ダミーファイル、並びに、暗号化されていない前記コントロールファイルを送信する。
【０００６】
また、本発明の受信装置は、受信した複数のファイルから元の送信対象のファイルを復元する受信装置であって、前記複数のファイルとして、前記送信対象のファイルを分割して暗号化した複数の分割ファイル、当該分割および暗号化の情報を有する暗号化されたダミーファイル、および、前記ダミーファイルのファイル名のハッシュ値を有するコントロールファイルを受信する受信手段と、暗号化された複数のファイルのファイル名のハッシュ値を演算し、前記コントロールファイルの前記ハッシュ値と一致するハッシュ値のファイル名を有するファイルを前記ダミーファイルとして特定するダミー特定手段と、特定された前記ダミーファイルを復号し、更に、復号された前記ダミーファイルの暗号化の情報を用いて、暗号化された残りの前記複数の分割ファイルを復号する復号化手段と、復号された前記ダミーファイルの分割の情報を用いて、復号された前記複数の分割ファイルを統合する統合手段と、を有する。
【０００７】
また、本発明の通信システムは、送信対象のファイルを複数のファイルに分割して暗号化して送信する上述した送信装置と、前記送信装置から受信した複数のファイルから元の前記送信対象のファイルを復元する上述した受信装置とを有する。
【０００８】
【発明の実施の形態】
本発明の実施の形態について図１〜図３３を参照して説明する。
本発明の実施の形態として、所望の複数のデータファイルを、任意の伝送路を介して一括的に伝送する送信装置および受信装置を有する通信システムを例示する。
図１は、本発明の実施の形態の通信システム１の全体構成を示すブロック図である。
通信システム１は、送信装置１０と受信装置３０とが伝送路２０を介して接続された構成である。
ＩＣカード４０−１およびＩＣカード４０−２は、送信装置１０に装荷される。
また、ＩＣカード４０−３およびＩＣカード４０−４は、受信装置３０に装荷される。
本発明の実施の形態は、データを送信する送信側に管理者および使用者（システムのオペレータ、作業者）の２人と、受信側に管理者および使用者の２人を想定し、それぞれ送信側使用者ＩＣカード４０−１、送信側管理者ＩＣカード４０−２、受信側使用者ＩＣカード４０−３および受信側管理者ＩＣカード４０−４を持つ。
【０００９】
図２は、本発明の実施の形態の通信システム１の構成を詳しく示すブロック図である。
まず、通信システム１の各部の概略動作について説明する。
送信装置１０は、送信対象の所望のデータファイルに対して、後述する種々の処理を施して所定の形式に変換し、伝送路２０に送信する。
送信装置１０は、送信側使用者ＩＣカード４０−１および送信側管理者ＩＣカード４０−２を装荷している。
送信装置１０に装荷された２つのＩＣカード４０−１およびＩＣカード４０−２は、送信装置１０が送信対象の所望のデータファイルを所定の変換を施し伝送路２０に送信する際に必要な種々のデータが分割して記憶されている。
【００１０】
まず、ＩＣカード４０−１およびＩＣカード４０−２に記憶されているデータについて説明する。
図３は、ＩＣカード４０−１に記憶さているデータを示すブロック図である。
ＩＣカード４０−１は、図３に示すように、設定ファイル４１−１、部分分割パターンテーブル４２−１、暗号鍵テーブル４３−１を有する。
送信側使用者ＩＣカード４０−１の記憶されているデータ要素の説明をする。
設定ファイル４１−１は、ユーザパスワード、カードフォルダＩＤ（ＩＤｅｎｔｉｔｙ  ｃｏｄｅ）、カードフォルダの氏名、使用者フラグ、管理者フラグ、ワークグループＩＤ、カードフォルダＲＳＡ（Ｒｉｖｅｓｔ，Ｓｈａｍｉｒ，Ａｄｌｅｍａｎ暗号）秘密鍵、カードフォルダＲＳＡ公開鍵、管理者ＩＤ、管理者の氏名、受信側のＩＤ、受信側の氏名および受信側のＲＳＡ公開鍵を有する。
【００１１】
ユーザパスワードは、ＩＣカード４０−１を所持する者の本人確認のためのパスワードである。
カードフォルダＩＤは、ＩＣカード４０−１を所持する者のＩＤ番号である。
カードフォルダの氏名は、ＩＣカード４０−１を所持する者の氏名である。
使用者フラグは、使用者用ＩＣカードの場合には１であり、それ以外の場合は０である。
管理者フラグは、管理者用ＩＣカードの場合には１であり、それ以外の場合は０である。
ワークグループＩＤは、使用者および管理者が属するワークグループのＩＤ番号である。
カードフォルダＲＳＡ秘密鍵は、ＩＣカード４０−１所持者のＲＳＡ秘密鍵である。
カードフォルダＲＳＡ公開鍵は、ＩＣカード４０−１所持者のＲＳＡ公開鍵である。
管理者ＩＤは、送信側の管理者のＩＤ番号である。
管理者の氏名は、送信側の管理者の氏名である。
受信側のＩＤは、受信側の使用者のＩＤ番号である。
受信側の氏名は、受信側の使用者の氏名である。
受信側のＲＳＡ公開鍵は、受信側の使用者のＲＳＡ公開鍵である。
【００１２】
図４は、分割パターンテーブルの一例を示した図である。
部分分割パターンテーブル４２−１は、図４に示したように、送信対象のデータファイルを分割する際に用いる分割パターンテーブルの一部である。後述するデータ分割部１３では、部分分割パターンテーブル４２−１と部分分割パターンテーブル４２−２を結合し、分割パターンテーブルを作成し、分割パターンテーブルを参照しながら、データファイルを分割する。
具体的には、分割パターンテーブルは、図４に示すように、分割パターン番号とそれに対応する分割パターンを１６個縦に並べたテーブルである。部分分割パターンテーブル４２−１は、分割パターンテーブルの１〜４列目までのテーブルである。また、部分分割パターンテーブル４２−２は、分割パターンテーブルの５〜８列目までのテーブルである。図４のパターン１の１Ｂ−Ｆ１は、１バイトのデータをファイル１に格納する事を意味する。
【００１３】
暗号鍵テーブル４３−１は、暗号化部１７が使用する暗号鍵を生成する際に、暗号鍵テーブル４３−２と共に参照されるテーブルである。具体的には、暗号鍵テーブルは、乱数で求められた２５６バイト長のバイナリデータである。
設定ファイル４１−１は、使用者／管理者送受信側特定部１２および電子署名部１４に参照され、部分分割パターンテーブル４２−１は、データ分割部１３に参照され、また、暗号鍵テーブル４３−１は、暗号化部１７に参照される。
【００１４】
また、送信側管理者ＩＣカード４０−２に記憶されているデータ要素は、送信側使用者ＩＣカード４０−１に記憶されているデータ要素とほぼ同様であり、設定ファイル４１−２、部分分割パターンテーブル４２−２、暗号鍵テーブル４３−２を有する。
【００１５】
次に、図１の通信システム１の送信装置１０の各要素について説明する。
送信装置１０は、ＩＣカード読取部１１、使用者／管理者送受信側特定部１２、データ分割部１３、電子署名部１４、ダミーファイル付加部１５、ダミーデータ付加部１６、暗号化部１７および送信部１８を有する。
【００１６】
図５は、ＩＣカード読取部１１が、ＩＣカード４０−１およびＩＣカード４０−２に記憶されている送信側使用者ＩＤ、受信側使用者ＩＤ、送信側管理者ＩＤおよび受信者側管理者ＩＤを読み取った図である。
ＩＣカード読取部１１は、ＩＣカード４０−１およびＩＣカード４０−２に記憶されているデータを読み取り後述する処理を行い、読み取ったデータを所定の構成要素へ出力する。
このＩＣカード読取部１１の処理の具体例のフローチャートを図６に示す。
ＩＣカード読取部１１は、図６に示すように、送信側使用者および送信側管理者に対してパスワードの要求をする（Ｓ１１０１）。
ＩＣカード読取部１１は、送信側使用者ＩＣカード４０−１および送信側管理者ＩＣカード４０−２のそれぞれに記憶されている設定ファイル４１−１および設定ファイル４１−２の中のユーザパスワードを読み出し、入力されたパスワードと読み取ったユーザパスワードの照合を行う（Ｓ１１０２）。パスワードの入力が違った場合は、処理を終了する（Ｓ１１０３）。
【００１７】
ステップＳ１１０３において、送信側使用者および送信側管理者のパスワードの照合がとれた場合には、ＩＣカード読取部１１は、送信側使用者ＩＣカード４０−１および送信側管理者ＩＣカード４０−２に記憶されている設定ファイル４１−１および設定ファイル４１−２の中のカードフォルダＩＤ、カードフォルダ氏名、管理者フラグ、使用者フラグ、ワークグループＩＤおよび管理者のＩＤを読みだし、使用者／管理者送受信側特定部１２に出力する（Ｓ１１０４）。
ＩＣカード読取部１１は、後述する使用者／管理者送受信側特定部１２により、送信側使用者および送信側管理者が特定されない場合は、処理を終了する（Ｓ１１０５、Ｓ１１０３）。
【００１８】
ステップＳ１１０５において、送信側使用者および送信側管理者が特定された場合には、先の２つの送信側使用者ＩＣカード４０−１および送信側管理者ＩＣカード４０−２から、記憶されている設定ファイル４１−１および設定ファイル４１−２を読み取り、電子署名部１４へ出力し、部分分割パターンテーブル４２−１および部分分割パターンテーブル４２−２を読み取り、データ分割部１３へ出力し、暗号鍵テーブル４３−１および暗号鍵テーブル４３−２を読み取り、暗号化部１７へ出力する（Ｓ１１０６）。
【００１９】
使用者／管理者送受信側特定部１２は、先にＩＣカード読取部１１によって読み取られた、送信側使用者ＩＤ、使用者フラグ、送信側管理者ＩＤ、管理者フラグおよびワークグループＩＤに基づいて、使用者／管理者送受信側を特定する。
これは、使用者、管理者、ワークグループおよび使用者と管理者の関係が適正かどうかを調べるためである。
【００２０】
使用者／管理者送受信側特定部１２の処理の具体例のフローチャートを図７に示す。
使用者／管理者送受信側特定部１２は、図７に示すように、ＩＣカード読取部１１から送信側使用者ＩＤ、使用者フラグ、送信側管理者ＩＤ、管理者フラグおよびワークグループＩＤのデータを受ける（Ｓ１２０１）。
【００２１】
使用者／管理者送受信側特定部１２は、送信側使用者設定ファイル４１−１の使用者フラグが１であることをチェックする（Ｓ１２０２）。使用者フラグが１以外の場合には、設定ファイルのデータが適切でないため、処理を中止する（Ｓ１２０３）。
ステップＳ１２０２において使用者フラグが１の場合には、送信側管理者設定ファイル４１−２の管理者フラグが１であることをチェックする（Ｓ１２０４）。管理者フラグが１以外の場合には、設定ファイルのデータが適切でないため、処理を中止する（Ｓ１２０３）。
【００２２】
ステップＳ１２０４において管理者フラグが１の場合には、送信側使用者設定ファイル４１−１のワークグループＩＤと送信側管理者設定ファイル４１−２のワークグループＩＤが同じであるかどうかをチェックする（Ｓ１２０５）。ワークグループＩＤが異なる場合には、設定ファイルのデータが適切でないため、処理を中止する（Ｓ１２０３）。
【００２３】
ステップＳ１２０５において、ワークグループＩＤが同じ場合には、使用者／管理者送受信側特定部１２は、送信側使用者設定ファイル４１−１の管理者のＩＤと、送信側管理者設定ファイル４１−２のカードフォルダＩＤが同じであるかどうかをチェックする（Ｓ１２０６）。異なる場合は、使用者と管理者の上下関係が適切でないため、処理を中止する（Ｓ１２０３）。
ステップＳ１２０６において、使用者と管理者の上下関係が適切な場合には、送信側使用者および送信側管理者が特定できたものとして、この結果をＩＣカード読取部１１へ出力する（Ｓ１２０７）。
【００２４】
データ分割部１３は、入力された送信対象の複数のデータファイルを結合し、１つの結合ファイルを生成する結合処理と、結合した１つの結合ファイルを７つの一時分割ファイルに分割する分割処理の２つの処理を行なう。
図８は、データ分割部１３における結合処理の具体例のフローチャートを示した図である。
データ分割部１３は、図８に示すように、送信対象のデータファイルの数、各送信対象のデータファイルのサイズおよび送信対象のデータファイルを結合し、結合ファイルを生成する（Ｓ１３０１）。
結合ファイルサイズが５１２×７＝３５８４バイトより大きい場合には、データ分割部１３は、結合ファイルサイズが４８０バイトの倍数になるようにパディングを行う（Ｓ１３０２，Ｓ１３０３）。
ステップＳ１３０２において、結合ファイルサイズが３５８４バイト以下であった場合は、３５８４バイトになるようにパディングを行う（Ｓ１３０４）。
前記処理により、データ分割部１３は、送信対象の複数のデータファイルを結合し、１つの結合ファイルを生成する（Ｓ１３０５）。
データ分割部１３は、生成された結合ファイルのハッシュ値を計算し、計算されたハッシュ値を電子署名部１４へ出力する（Ｓ１３０６）。
【００２５】
データ分割部１３が、先の結合処理で結合された１つの結合ファイルを分割し、一時分割ファイルの作成を行う分割処理について説明する。
データ分割部１３は、図８に示すように、ＩＣカード読取部１１により読みだされた、ＩＣカード４０−１およびＩＣカード４０−２に記憶されている部分分割パターンテーブル４２−１および部分分割パターンテーブル４２−２を結合し、分割パターンテーブルを生成する（Ｓ１３０７）。
データ分割部１３は、１〜１６までの乱数を生成し、生成した値を分割パターン番号とする。生成した分割パターンテーブルを参照し、先に生成した分割パターン番号に対応する分割パターンを決定する（Ｓ１３０８）。
先に結合された結合ファイルを、順次１６バイトごとに、決定された分割パターンに従って、７つの一時分割ファイルに分割する（Ｓ１３０９）。
データ分割部１３は、生成した７つの一時分割ファイルをダミーデータ付加部１６へ出力する。（Ｓ１３１０）
【００２６】
図９は、電子署名の構造を示した図である。
図９に示すように、電子署名は、ハッシュ値格納部、鍵格納部および署名経路格納部を有する。
電子署名部１４は、ＩＣカード読取部１１によって読み取られた送信側使用者ＩＣカード４０−１および送信側管理者ＩＣカード４０−２の設定ファイル４１−１および設定ファイル４１−２の中の送信側管理者ＲＳＡ秘密鍵、送信側使用者ＲＳＡ秘密鍵、受信側管理者のＲＳＡ公開鍵、受信側使用者のＲＳＡ公開鍵を用いて、図９に示すように、電子署名を作成し、作成した電子署名をダミーファイル付加部１５へ出力する。
【００２７】
図１０は、電子署名部１４の処理の具体例のフローチャートを示した図である。
電子署名部１４の処理は、図１０に示すように、ハッシュ値格納部へのデータ格納（Ｓ１４１０）、鍵格納部へのデータ格納（Ｓ１４２０）、署名経路格納部へのデータ格納（Ｓ１４３０）、電子署名生成（Ｓ１４４０）および出力（Ｓ１４５０）に分けられる。
【００２８】
図１１は、電子署名部１４のハッシュ値格納部へのデータ格納（Ｓ１４１０）のフローチャートを示した図である。
電子署名部１４は、図１１のように、送信側使用者のＲＳＡ秘密鍵を用いて、結合ファイルのハッシュ値をＲＳＡ暗号処理する（Ｓ１４１１）。受信側管理者のＲＳＡ公開鍵を用いて、先のＲＳＡ暗号処理されたハッシュ値をさらにＲＳＡ暗号処理し（Ｓ１４１２）、ハッシュ値格納部に記録する（Ｓ１４１３）。
【００２９】
図１２は、電子署名部１４の鍵格納部へのデータ格納のフローチャートを示した図である。鍵格納部は、後述する暗号化部１７により作成された初期暗号鍵番号をＲＳＡ暗号化処理されたものを記録している。
電子署名部１４は、図１２に示すように、受信側使用者のＲＳＡ公開鍵を用いて、後述する暗号化部１７により作成された初期暗号鍵番号をＲＳＡ暗号処理を行う（Ｓ１４２１）。さらに、電子署名部１４は、先のＲＳＡ暗号化処理された初期暗号鍵番号を、送信側管理者のＲＳＡ秘密鍵を用いて、ＲＳＡ暗号処理し（Ｓ１４２２）、鍵格納部に記録する（Ｓ１４２３）。
【００３０】
図１３は、電子署名部１４の署名経路格納部へのデータ格納（Ｓ１４３０）のフローチャートを示した図である。署名経路格納部は、各者のＩＤをＤＥＳ暗号化処理したものから成り立っている。
電子署名部１４は、図１３に示すように、送信側使用者のＩＤと氏名、受信側使用者のＩＤと氏名、送信側管理者のＩＤと氏名および受信側管理者のＩＤと氏名を結合する（Ｓ１４３１）。
ハッシュ値格納部の３，６，９，１２バイト目のデータを読み取り、鍵格納部の２，４，６，８バイト目のデータを読み取り、それぞれのデータを交互に連結し、ＤＥＳ暗号化処理で使用する初期値を生成する（Ｓ１４３２）。
次に、電子署名部１４は、ハッシュ値格納部の２，５，８，１１バイト目のデータを読み取り、鍵格納部の１，３，５，７バイト目のデータを読み取り、それぞれのデータを交互に連結し、ＤＥＳ暗号化処理で使用するＤＥＳ暗号鍵を生成する（Ｓ１４３３）。
電子署名部１４は、先に結合したデータ列を、先に生成した初期値およびＤＥＳ暗号鍵を用いてＤＥＳ暗号化処理し（Ｓ１４３４）、署名経路格納部に記録する（Ｓ１４３５）。
【００３１】
電子署名部１４は、図１０に示したように、生成したハッシュ値格納部、鍵格納部および署名経路格納部を結合し、電子署名を生成し（Ｓ１４４０）、生成した電子署名をダミーファイル付加部１５へ出力する（Ｓ１４５０）。
【００３２】
ダミーファイル付加部１５は、一時ダミーファイルを生成し、生成した一時ダミーファイルをダミーデータ付加部１６へ出力する。
図１４は、送信するファイルにダミーファイルを付加した図である。
ダミーファイルは、分割ファイルとは無関係なファイルであり、図１４に示すように元のファイルの特定を困難にするために生成される。
【００３３】
図１５は、ダミーファイル付加部１５の処理の具体例のフローチャートを示した図である。
一時ダミーファイルは、署名、データ分割部１３により生成された分割パターン番号および暗号化部１７により生成されたＤＥＳ暗号化処理の初期値を有する。
ダミーファイル付加部１５は、図１５に示すように、電子署名部１４により生成された電子署名の全体を６ブロックで分割し、第１ブロック、第３ブロック、および第５ブロックの、計３ブロックを抽出し署名を生成する（Ｓ１５０１）。
ダミーファイル付加部１５は、データ分割部１３により生成された分割パターン番号、暗号化部１７により生成されたＤＥＳ暗号化処理の初期値およびステップＳ１５０１で生成された署名を結合し（Ｓ１５０２）、一時ダミーファイルを生成する（Ｓ１５０３）。生成された一時ダミーファイルをダミーデータ付加部１６へ出力する（Ｓ１５０４）。
【００３４】
ダミーデータ付加部１６は、先にデータ分割部１３により生成されたすべてもしくは幾つかの一時分割ファイル、およびダミーファイル付加部１５により生成された一時ダミーファイルに、適度な量のダミーデータを付加し、生成したパディングされた一時分割ファイルおよびパディングされた一時ダミーファイルを暗号化部１７へ出力する。
【００３５】
ここで適度な量とは、暗号化部１７による暗号化処理を行なう際に、暗号化処理されるファイルのサイズが８バイトの倍数になるような量である。これは、後の暗号化部１７が、８バイトブロック暗号アルゴリズムのＣＢＣ（ＣｉｐｈｅｒＢｌｏｃｋ  Ｃｈａｉｎｉｎｇ；暗号ブロック連鎖）モードを利用するために、暗号化するファイルサイズを１ブロック８バイトの倍数にする必要があるからである。
【００３６】
図１６は、ダミーデータ付加部１６が、ファイルに対してダミーデータを付加することを示した図である。
図１７は、ダミーデータ付加部１６の処理の具体例のフローチャートを示した図である。
ダミーデータ付加部１６には、図１７に示すように、一時分割ファイルまたは一時ダミーファイルが入力される（Ｓ１６０１）。
ダミーデータ付加部１６は、一時分割ファイルに対して（Ｓ１６０２）、一時分割ファイルのファイルサイズが８バイトの倍数−１の場合は、０ｘ８０を付加する（Ｓ１６０３，Ｓ１６０４）。
ステップＳ１６０３において、一時分割ファイルのファイルサイズが８バイトの倍数−Ｘ（ここでＸ＝２〜８）の場合は、０ｘ８０で始まりその後Ｘ−１バイト分０ｘ００が続くようにパディングを行う（Ｓ１６０５）。上記のダミーデータ付加処理を行ないパディングされた一時分割ファイルを生成し（Ｓ１６０６）、生成したパディングされた一時分割ファイルを暗号化部１７へ出力する（Ｓ１６０７）。
【００３７】
ステップＳ１６０２において、ダミーデータ付加部１６は、先にダミーファイル付加部１５により生成された一時ダミーファイルに対しては、７つのパディングされた一時分割ファイルうち１番小さいファイルサイズと同じファイルサイズになるように、ダミーデータを付加する（Ｓ１６０８）。付加するダミーデータの値は、０ｘ００〜０ｘｆｆまでの乱数で行う。上記のパディングされた一時ダミーファイルを生成し（Ｓ１６０９）、暗号化部１７へ出力する（Ｓ１６０７）。
【００３８】
図１８は、暗号化部１７が、複数のファイルを暗号化することを示した図である。
暗号化部１７は、先のＩＣカード読取部１１によって読み取られた暗号鍵テーブル４３−１および暗号鍵テーブル４３−１２を用いてＤＥＳ暗号鍵を生成し、そのＤＥＳ暗号鍵を用いて、ダミーデータ付加部１６より生成されたパディングされた７つの一時分割ファイルを図１８に示すようにＤＥＳ暗号化処理し、７つの分割ファイルを送信部１８へ出力する。
【００３９】
また、暗号化部１７は、先のダミーデータ付加部１６により付加されたファイルサイズが８バイトの倍数にパディングされた一時ダミーファイルをＤＥＳ暗号化し、ダミーファイルを生成し、生成したダミーファイルを送信部１８へ出力する。
【００４０】
また、暗号化部１７は、先に生成した署名およびダミーファイル名のハッシュ値を結合し、コントロールファイルを生成し、生成したコントロールファイルを送信部１８へ送信する。
【００４１】
図１９は、暗号化部１７のコントロールファイルを作成する処理の具体例のフローチャートを示した図である。
コントロールファイルに書き込む内容は、署名およびダミーファイル名のハッシュ値である。
暗号化部１７は、図１９に示すように、電子署名部１４により生成された電子署名の全体を６ブロックで分割し、第２ブロック、第４ブロック、および第６ブロックの、計３ブロックを抽出し、署名とする（Ｓ１７０１）。一時ダミーファイルに書き込んだ部分については、コントロールファイルに書き込まない。
暗号化部１７は、ダミーファイル名のハッシュ値を求める（Ｓ１７０２）。この値は、受信装置３０がダミーファイルを特定する際に参照される。
暗号化部１７は、生成した署名およびダミーファイルのハッシュ値を結合し、コントロールファイルを生成し（Ｓ１７０３）、送信部１８へ出力する（Ｓ１７０４）。
【００４２】
図２０は、暗号化部１７のパディングされた７つの一時分割ファイルに対して暗号化する処理の具体例のフローチャートを示した図である。
暗号化部１７は、図２０に示すように、０〜２５５の乱数を８回求め、初期値を生成する（Ｓ１７１１）。また、初期値は、ダミーファイル付加部１５へ出力もされる（Ｓ１７１２）。ＤＥＳ暗号鍵は、初期暗号鍵番号から生成する。初期暗号鍵番号は、０〜２５５の乱数を求め、初期暗号鍵番号とする（Ｓ１７１３）。また、初期暗号鍵番号は、電子署名部１４へ出力もされる（Ｓ１７１４）。
【００４３】
次に、ＤＥＳ暗号鍵は、初期暗号鍵番号からＤＥＳ暗号鍵を求める。
暗号化部１７は、初期暗号鍵番号に対して６回ビットシフトを行ない、６つの暗号鍵番号を求める（Ｓ１７１５）。前記の処理まで求められた７つの暗号鍵番号各々をオフセット値として、送信側使用者ＩＣカード４０−１の暗号鍵テーブル４３−１より４バイト読み込む。また、同じオフセット値で送信側管理者ＩＣカード４０−２の暗号鍵テーブル４３−２より、４バイト読み込む（Ｓ１７１６）。それぞれの４バイトを結合し、ＤＥＳ暗号鍵とする（Ｓ１７１７）。
ただし、暗号鍵番号が２５２より大きく、４バイト読み込むことが出来ない場合は、足りない分を暗号鍵テーブル４３−１および暗号鍵テーブル４３−２の先頭より読み込む。
暗号化部１７は、生成された初期値と７つのＤＥＳ暗号鍵を用いて、ＣＢＣモードで、パディングされた７つの一時分割ファイルをＤＥＳ暗号化処理し、７つの分割ファイルを生成し（Ｓ１７１８）、生成した７つの分割ファイルを送信部１８へ出力する（Ｓ１７１９）。
【００４４】
暗号化部１７は、ダミーデータ付加部１６により生成されたパディングされた一時ダミーファイルをＤＥＳ暗号化処理し、ダミーファイルを生成し、生成したダミーファイルを送信部１８へ出力する。
図２１は、暗号化部１７のパディングされた一時ダミーファイルに対して暗号化する処理の具体例のフローチャートを示した図である。
暗号化部１７は、図２１に示すように、生成したコントロールファイルのハッシュ値２０バイトを求める（Ｓ１７２１）。求めたハッシュ値２０バイトの５〜１２バイト目の値を初期値８バイト、求めたハッシュ値２０バイトの１３〜２０バイト目の値をＤＥＳ暗号鍵８バイトとする（Ｓ１７２２）。生成した初期値８バイトとＤＥＳ暗号鍵８バイトを用いて、ＣＢＣモードでパディングされた一時ダミーファイルをＤＥＳ暗号化処理してダミーファイルを生成し（Ｓ１７２３）、生成したダミーファイルを送信部１８へ出力する（Ｓ１７２４）。
また、ダミーファイル名は、７つの分割ファイルの名前と似たようなファイル名が付けられている。
【００４５】
送信部１８は、暗号化部１７により生成された７つの分割ファイル、１つのダミーファイルおよびコントロールファイルを、伝送路２０を介して、受信装置３０へ送信する。
【００４６】
このような構成の送信装置１０により、所望の送信対象のデータファイルが伝送路２０に送信される。
この時の、送信装置１０の動作についてまとめて説明する。
図２２は、送信装置の処理の流れを示した図である。
まず、送信対象の複数のデータファイルを送信装置１０に入力する。
送信側使用者は、送信側使用者ＩＣカード４０−１を送信装置１０へ装荷し、送信側管理者は、送信側管理者ＩＣカード４０−２を送信装置１０へ装荷し、ＩＣカード読取部１１は、ＩＣカード４０−１およびＩＣカード４０−２の持ち主の認証を行ない正しく認証された場合は、使用者／管理者送受信側特定部１２は、送信側使用者および送信側管理者の関係をチェックする。適正な関係の場合は、ＩＣカード読取部１１は、２つのＩＣカード４０−１およびＩＣカード４０−２から設定ファイル４１−１および設定ファイル４１−２、部分分割パターンテーブル４２−１および部分分割パターンテーブル４２−２、暗号鍵テーブル４３−１および暗号鍵テーブル４３−２を読みだし、それぞれを、電子署名部１４、データ分割部１３、暗号化部１７へ出力する。
【００４７】
入力された送信対象の複数のデータファイルは、データ分割部１３により１つの結合ファイルになり、データ分割部１３により７つの一時分割ファイルに分割され、ダミーデータ付加部１６によりダミーデータが付加され、暗号化部１７により暗号化され７つの分割ファイルになる。分割の際、２つのＩＣカード４０−１およびＩＣカード４０−１に記憶されている２つの部分分割テーブル４２−１および部分分割テーブル４２−２を参照して分割する。暗号化の際、２つのＩＣカード４０−１およびＩＣカード４０−２に記憶されている２つの暗号鍵テーブルおよび４３−１暗号鍵テーブル４３−２を参照する。また、結合ファイルのハッシュ値と、初期暗号鍵番号と、送信側使用者、送信側管理者、受信側使用者および受信側管理者のＩＤと氏名は、電子署名部３５により処理されて、署名になり、ダミーファイル付加部１５により、一時ダミーファイルに分割パターン番号、ＤＥＳ暗号化処理の初期値および先の署名の半分の情報を書き込まれる。一時ダミーファイルは、ダミーデータ付加部１６によりダミーデータを付加され暗号化部１７により暗号化されダミーファイルになる。残りの署名の半分の情報およびダミーファイル名のハッシュ値は、暗号化部１７により生成されるコントロールファイルに書き込まれる。生成された８つのファイル、すなわち、７つの分割ファイルおよび１つのダミーファイルと、コントロールファイルは、送信部１８により伝送路２０へ送信される。
【００４８】
伝送路２０は、任意の伝送路である。本実施の形態においては、送信装置１０および受信装置３０を含む種々の装置、コンピュータ、ネットワークが世界的規模で接続されたインターネットであるとする。
【００４９】
次に、通信システム１の受信装置３０について説明する。
受信装置３０は、送信装置１０から伝送路２０を介して送られてきた所定の形式に変換されたデータファイルを受信し、後述する種々の処理を施して元のデータファイルに復号する。
受信装置３０は、前述したように送信装置１０において送信された８つのファイル、すなわち、７つの分割ファイルおよび１つのダミーファイルと、コントロールファイルを受信し、元のデータファイルを復元して出力する。
したがって、受信装置３０は、前述した送信装置１０の各構成部に対応した構成を有する。
受信装置３０は、受信側使用者ＩＣカード４０−３および受信側管理者ＩＣカード４０−４を装荷している。
受信装置３０に装荷された２つのＩＣカード４０−３およびＩＣカード４０−４は、受信装置３０が受信した所定の形式に変換されたデータファイルを、後述する種々の処理を施して元のデータファイルに復号する際に必要な種々のデータが分割して記憶されている。
【００５０】
まず、ＩＣカード４０−３およびＩＣカード４０−４の構成について説明する。
ＩＣカード４０−３は、設定ファイル４１−３、部分結合パターンテーブル４２−３および復号鍵テーブル４３−３を有する。ＩＣカード４０−４は、設定ファイル４１−４、部分結合パターンテーブル４２−４および復号鍵テーブル４３−４を有する。
【００５１】
ＩＣカード４０−３の各構成要素の内容は、ＩＣカード４０−１とほぼ同じ内容である。ＩＣカード４０−４の各構成要素の内容は、ＩＣカード４０−２とほぼ同じ内容である。
ただし、設定ファイル４１−３は、受信側のＩＤ、受信側の氏名および受信側のＲＳＡ公開鍵の代わりに、送信側のＩＤ、送信側の氏名および送信側のＲＳＡ公開鍵を有する。
部分結合パターンテーブル４２−３は、７つの分割されたファイルを結合する処理を行なう際に用いられる結合パターンテーブルの一部である。具体的には、部分結合パターンテーブル４２−３と部分分割パターンテーブル４２−１は、同じ内容のテーブルであり、部分結合パターンテーブル４２−４は、部分分割パターンテーブル４２−２と同じ内容のテーブルである。
また、復号鍵テーブル４３−３は、暗号鍵テーブル４３−１と同じ内容のテーブルであり、また復号鍵テーブル４３−４は、暗号鍵テーブル４３−２と同じ内容のテーブルである。
【００５２】
次に、図１の通信システム１の受信装置３０の各要素について説明する。
受信装置３０は、受信部３１、ＩＣカード読取部３２、使用者／管理者送受信側特定部３３、ダミーファイル除去部３４、電子署名部３５、復号化部３６、ダミーデータ除去部３７およびデータ統合部３８を有する。
【００５３】
受信部３１は、送信装置１０から伝送路２０を介して伝送された８つのファイル、すなわち、７つの分割ファイルおよび１つのダミーファイルと、コントールファイルを受信する。
受信部３１は、８つのファイルおよびコントロールファイルをダミーファイル除去部３４へ出力する。
【００５４】
ＩＣカード読取部３２は、送信装置１０のＩＣカード読取部１１と同様な働きをする。ＩＣカード４０−３およびＩＣカード４０−４の読み取り時間を計測し、所定の時間以内の場合は、ＩＣカード４０−３およびＩＣカード４０−４の持ち主に対してパスワードの入力を求め、持ち主の照合を行なう。適正に照合が行なわれた時は、設定ファイル４１−３および設定ファイル４１−４の中のカードフォルダＩＤ、カードフォルダ氏名、管理者フラグ、使用者フラグ、ワークグループＩＤおよび管理者のＩＤを読みだし、使用者／管理者送受信側特定部３３へ出力する。
【００５５】
ＩＣカード読取部３２は、使用者／管理者送受信側特定部３３により、受信側使用者および受信側管理者が特定された場合には、設定ファイル４１−３および設定ファイル４１−４を読み取り、電子署名部３５へ出力する。また、部分結合パターンテーブル４２−３および部分結合パターンテーブル４２−４を読み取り、データ統合部３８へ出力する。また、復号鍵テーブル４３−３および復号鍵テーブル４３−４を読み取り、復号化部３６へ出力する。
【００５６】
使用者／管理者送受信側特定部３３は、送信装置１０の使用者／管理者送受信側特定部１２とほぼ同じ働きをする。
使用者／管理者送受信側特定部３３は、先にＩＣカード読取部３２によって読み取られた、受信側使用者ＩＤ、使用者フラグ、受信側管理者ＩＤ、管理者フラグおよびワークグループＩＤに基づいて、受信側の使用者および管理者の特定を行なう。その結果をＩＣカード読取部３２へ出力する。
使用者／管理者送受信側特定部３３は、後述する電子署名部３５から抽出された各者のＩＤから、送受信側の使用者および管理者の特定を行なう。その結果を電子署名部３５へ出力する。
【００５７】
図２３は、使用者／管理者送受信側特定部３３の送受信側の使用者および管理者の特定を行なう処理の具体例のフローチャートを示した図である。
使用者／管理者送受信側特定部３３は、図２３に示したように、電子署名部３５およびＩＣカード読取部３２から入力された（Ｓ３３０１）署名経路格納部の復号化処理で得られた送信側管理者ＩＤと、受信側管理者ＩＣカード４０−４に記憶されている送信側管理者ＩＤと一致するかチェックする（Ｓ３３０２）。署名経路格納部の受信側使用者ＩＤと、ＩＣカード４０−３の受信側使用者ＩＤと一致するかチェックする（Ｓ３３０３）。署名経路格納部の受信側管理者ＩＤと、ＩＣカード４０−４の受信側管理者ＩＤと一致するかチェックする（Ｓ３３０４）。署名経路格納部の送信側使用者ＩＤと、ＩＣカード４０−３の送信側使用者ＩＤと一致するかチェックする（Ｓ３３０５）。
以上のチェックで送受信側の使用者および管理者が特定されない場合は、処理を中止する（Ｓ３３０６）。送受信側の使用者および管理者が特定された場合は、この結果を電子署名部３５へ出力する（Ｓ３３０７）。
【００５８】
ダミーファイル除去部３４は、受信部３１により受信されたコントロールファイルを解析し、受信された８つのファイルの中からダミーファイルを特定する。
特定したダミーファイルは、復号化部３６へ出力される。
図２４は、ダミーファイル除去部３４のダミーファイルの特定を行なう処理の具体例のフローチャートを示した図である。
ダミーファイル除去部３４は、図２４に示したように、受信部３１により受信された８つのファイル名のハッシュ値を計算し（Ｓ３４０１）、コントロールファイルより読み取ったハッシュ値と同じ値をもつファイルを検索する（Ｓ３４０２）。検索した結果、同じ値のファイルをダミーファイルとする（Ｓ３４０３，Ｓ３４０４）。同じ値が無い場合は、ダミーファイルを特定することが出来ないものとして処理を終了する（Ｓ３４０５）。
ダミーファイル除去部３４は、特定した１つのダミーファイルを復号化部３６へ出力し、残りの７つの分割ファイルを復号化部３４へ出力する（Ｓ３４０６）。
【００５９】
復号化部３６は、ダミーファイルに対して復号化する処理と、分割ファイルに対して復号化する処理の２つの処理を行なう。ここでは、ダミーファイルを復号化する処理について説明する。分割ファイルを復号化する処理については後述する。
【００６０】
復号化部３６は、ダミーファイル除去部３４により特定されたダミーファイルを復号化処理し、パディングされた一時ダミーファイルを生成し、生成されたパディングされた一時ダミーファイルをダミーファイル除去部３４へ出力する。
図２５は、復号化部３６の処理の具体例のフローチャートを示した図である。
復号化部３６は、図２５に示すように、コントロールファイルのハッシュ値を求める（Ｓ３６０１）。求めたハッシュ値の５〜１２バイト目の値を初期値８バイト、求めたハッシュ値の１３〜２０バイト目の値をＤＥＳ復号鍵８Ｂｙｔｅとする（Ｓ３６０２）。生成した初期値８バイトとＤＥＳ復号鍵８バイトを用いて、ＣＢＣモードで受信したダミーファイルをＤＥＳ復号化処理し、パディングされた一時ダミーファイルを生成し（Ｓ３６０３）、生成したパディングされたダミーファイルをダミーデータ除去部３７へ出力する（Ｓ３６０４）。
【００６１】
ダミーファイル除去部３４は、暗号化された元のデータファイルに関係ないダミーファイルを除去する。
また、ダミーファイル除去部３４は、復号化部３６により復号化されたパディングされた一時ダミーファイルから、分割パターン番号を抽出し、データ統合部３８へ出力する。
また、ダミーファイル除去部３４は、復号化部３６により復号化されたパディングされた一時ダミーファイルから、ＤＥＳ暗号化処理の初期値を抽出し復号化部３６へ出力する。
さらにまた、ダミーファイル除去部３４は、復号化部３６により復号化された一時ダミーファイルとコントロールファイルの内容を結合して電子署名を生成し、電子署名部３５へ出力する。
【００６２】
図２６は、ダミーファイル除去部３４の電子署名を生成する処理の具体例のフローチャートを示した図である。
ダミーファイル除去部３４は、図２６に示すように、一時ダミーファイルから読みだした署名データを３つのブロックに分け（Ｓ３４１１）、次にコントロールファイルから読みだした署名データを３つのブロックに分け（Ｓ３４１２）、それぞれを交互に並べて結合し、電子署名を生成する（Ｓ３４１３）。ここで生成された電子署名は、ハッシュ値格納部、鍵格納部、署名経路格納部で構成されている。
ダミーファイル除去部３４は、生成した電子署名を電子署名部３５へ出力する（Ｓ３４１４）。
【００６３】
電子署名部３５は、ダミーデータ除去部３７により出力された電子署名に対して後述する処理を行ない、結合ファイルのハッシュ値、初期暗号鍵、署名経路を抽出する。また、抽出した結合ファイルのハッシュ値をデータ統合部３８へ出力し、また、抽出した初期暗号鍵を復号化部３６へ出力し、また、抽出した署名経路を使用者／管理者送受信側特定部３３へ出力する。
【００６４】
電子署名部３５は、ハッシュ値格納部および鍵格納部から、ＤＥＳ復号鍵および初期値を求めＤＥＳ復号処理し署名経路格納部を復号化処理する。
図２７は、電子署名部３５の電子署名を復号化する処理の具体例のフローチャートを示した図である。
電子署名部３５は、図２７に示すように、ハッシュ値格納部より、３，６，９，１２バイト目のデータを読み取り、鍵格納部の２，４，６，８バイト目のデータを読み取り、それぞれのデータを交互に連結し、ＤＥＳ復号化処理で使用する初期値を生成する（Ｓ３５０１）。
次に、ハッシュ値格納部より、２，５，８，１１バイト目のデータを読み取り、鍵格納部の１，３，５，７バイト目のデータを読み取り、それぞれのデータを交互に連結し、ＤＥＳ復号化処理で使用するＤＥＳ復号鍵を生成する（Ｓ３５０２）。
そして、電子署名部３５は、生成した初期値およびＤＥＳ復号鍵を用いて、署名経路格納部をＤＥＳ復号化処理し、送信側使用者のＩＤと氏名、受信側使用者のＩＤと氏名、送信側管理者のＩＤと氏名および受信側管理者のＩＤと氏名を得る（Ｓ３５０３）。得られた署名経路は、使用者／管理者送受信側特定部３３へ出力される（Ｓ３５０４）。
電子署名部３５は、使用者／管理者送受信側特定部３３により、各者の特定が出来なかった場合は処理を終了する（Ｓ３５０５，Ｓ３５０６）。各者の特定が正しく行なわれた場合は、以下の初期暗号鍵番号を復号する処理を行なう（Ｓ３５０７）。
【００６５】
図２８は、電子署名部３５の鍵格納部に記録されている初期暗号鍵番号を復号化する処理のフローチャートを示した図である。
電子署名部３５は、図２８に示すように、復号化された署名経路格納部から得られた送信側管理者ＩＤに基づき、受信側管理者ＩＣカード４０−４に記憶されている送信側管理者のＲＳＡ公開鍵を用いて、鍵格納部を復号化する（Ｓ３５１１）。
署名経路格納部から得られた受信使用者ＩＤに基づいて、受信側使用者ＩＣカード４０−３に記憶されている受信側使用者のＲＳＡ秘密鍵を用いてＲＳＡ復号化処理を行い、初期暗号鍵番号を得る（Ｓ３５１２）。
電子署名部３５は、取り出した初期暗号鍵番号を復号化部３６へ出力する（Ｓ３５１３）。
【００６６】
次にハッシュ値格納部に記憶されている結合ファイルのハッシュ値の復号化を行う。
ハッシュ値格納部は、２重に暗号化された結合ファイルのハッシュ値が記憶されている。
図２９は、電子署名部３５の鍵格納部に記録されている結合ファイルのハッシュ値の復号化をする処理のフローチャートを示した図である。
電子署名部３５は、図２９に示すように、受信側管理者ＩＣカード４０−４に記憶されている受信側管理者のＲＳＡ秘密鍵を用いて、ハッシュ値格納部に記憶されている結合ファイルのハッシュ値を復号化する（Ｓ３５２１）。
受信側使用者ＩＣカード４０−３に記憶されている送信側使用者のＲＳＡ公開鍵でＲＳＡ復号を行い、結合ファイルのハッシュ値を得る（Ｓ３５２２）。
電子署名部３５は、得られた結合ファイルのハッシュ値をデータ統合部３８へ出力する（Ｓ３５２３）。
【００６７】
復号化部３６は、前述したダミーファイルに対して復号化する処理と、分割ファイルに対して復号化する処理の２つの処理を行なう。ここでは、分割ファイルに対して復号化する処理について説明する。
復号化部３６は、受信された７つの分割ファイルを、復号鍵と初期値を用いて復号化処理し、パディングされた７つの一時分割ファイルを生成し、生成した一時分割ファイルをダミーデータ除去部３７へ出力する。
【００６８】
図３０は、復号化部３６が、一時分割ファイルを復号化する処理の具体例のフローチャートを示した図である。
まず、復号化部３６は、図３０に示すように、ダミーファイル除去部３４により抽出された初期値を、復号化に用いる初期値とする（Ｓ３６１１）。復号鍵は、電子署名部３５により生成された初期暗号鍵番号から求める。
復号鍵を求める手順を説明する。
まず、初期暗号鍵番号を初期復号鍵番号とする（Ｓ３６１２）。初期復号鍵番号に対して６回ビットシフトを行ない、６つの復号鍵番号を求める（Ｓ３６１３）。前記の計７つの復号鍵番号に対して次の操作を行う。
前記処理までに求められた７つの復号鍵番号各々をオフセット値として、受信側使用者ＩＣカード４０−３の復号鍵テーブル４３−３より４バイト読み込む。また、同じオフセット値で、受信側管理者ＩＣカード４０−４の復号鍵テーブル４３−４より４バイト読み込む（Ｓ３６１４）。それぞれの４バイトを結合し、ＤＥＳ復号鍵とする（Ｓ３６１５）。
ただし、復号鍵番号が、２５２より大きく、４バイト読み込むことが出来ない場合は、足りない分を復号鍵テーブル４０−３および復号鍵テーブル４０−４の先頭より読み込む。
【００６９】
復号化部３６は、次に、受信した７つの分割ファイルを復号化し、７つのパディングされた一時分割ファイルを作成する処理をする。
復号化部３６は、先に求められた７つのＤＥＳ復号化鍵と初期値を用いてＣＢＣモードで、７つの分割ファイルをＤＥＳ復号化する処理を行ない、パディングされた７つの一時分割ファイルを生成する（Ｓ３６１６）。
復号化部３６は、生成したパディングされた７つの一時分割ファイルをダミーデータ除去部３７へ出力する（Ｓ３６１７）。
【００７０】
ダミーデータ除去部３７は、復号化部３６により生成されたパディングされた７つの一時分割ファイルに対し、ダミーデータ除去処理を行ない、一時分割ファイルを生成する。生成した一時分割ファイルは、データ統合部３８へ出力される。
図３１は、ダミーデータ除去部３７が、ダミーデータを除去する処理の具体例のフローチャートを示した図である。
ダミーデータ除去部３７は、図３１に示すように、パディングされた一時分割ファイルのファイルサイズを取得し、パディングされた一時分割ファイルからデータを読みこみ、ファイルサイズ−８バイトまで一時分割ファイルに書き出す（Ｓ３７０１）。ファイルの最後の８バイトを書き出す際には、ファイルの最後の８バイトの後ろから１バイト毎に読み込み、０ｘ００、・・・、０ｘ００、０ｘ８０となる所まで探し出す（Ｓ３７０２）。ダミーデータ除去部３７は、探し出したポイントの前までを一時分割ファイルに書き出し、一時分割ファイルを生成する（Ｓ３７０３）。
ダミーデータ除去部３７は、生成した７つの一時分割ファイルをデータ統合部３８へ出力する（Ｓ３７０４）。
【００７１】
データ統合部３８は、ダミーデータ除去部３７により生成された７つの一時分割ファイルを、結合パターンに基づいて統合し、１つの結合ファイルを生成する結合処理と、生成した１つの結合ファイルを分割し、元の複数のデータファイルへ復元する分割処理の２つの処理を行なう。
【００７２】
図３２は、データ統合部３８が、７つの一時分割ファイルを結合する処理の具体例のフローチャートを示した図である。
データ統合部３８は、図３２に示すように、ＩＣカード読取部３２によりＩＣカード４０−３およびＩＣカード４０−４に記憶されている部分結合パターンテーブル４２−３および部分結合パターンテーブル４２−４を結合し、結合パターンテーブルを生成する（Ｓ３８０１）。生成された結合パターンテーブルの内容は、前述の分割パターンテーブルの内容と同じものである。
【００７３】
データ統合部３８は、ダミーファイル除去部３４によりパディングされた一時ダミーファイルから抽出された分割パターン番号を、結合パターン番号とする（Ｓ３８０２）。そして、生成した結合パターンテーブルを参照し、先の結合パターン番号に対応する結合パターンを決定し（Ｓ３８０３）、７つの一時分割ファイルを、決定された結合パターンに従って結合し、１つの結合ファイルを生成する（Ｓ３８０４）。
以上により、７つの一時分割ファイルは、結合処理され、１つの結合ファイルが生成される。
【００７４】
データ統合部３８は、先の結合処理により生成された結合ファイルより、ハッシュ値を求める（Ｓ３８０５）。求められたハッシュ値と、ダミーデータ除去部３７により抽出されたハッシュ値をマッチングする（Ｓ３８０６）。もし、ハッシュ値が一致しない場合は、適正な結合処理が行なわれなかった可能性があるため、生成したファイルを削除し、処理を終了する（Ｓ３８０７）。
ステップＳ３８０６において、ハッシュ値が一致する場合は、データ統合部３８は、結合ファイルの先頭に書き込まれている元のファイル数、元のファイル名および元のファイルサイズに基づいて、結合ファイルを分割し、元の複数のデータファイルに復元する分割処理を行う（Ｓ３８０８）。データ統合部３８は、復元された元の複数のデータファイルを出力する（Ｓ３８０９）。
【００７５】
以上により、受信装置３０は、受信した７つの分割ファイルと１つのダミーファイルおよびコントロールファイルから、元の複数のデータファイルを復元し出力する。
【００７６】
この時の、受信装置３０の動作についてまとめて説明する。
図３３は受信装置のデータの流れを示した図である。
受信側使用者は、受信側使用者ＩＣカード４０−３を受信装置３０へ装荷し、受信側管理者は、受信側管理者ＩＣカード４０−４を受信装置３０へ装荷し、ＩＣカード読取部３２は、ＩＣカード４０−３およびＩＣカード４０−４の持ち主の認証を行ない正しく認証された場合は、使用者／管理者送受信側特定部３３は、受信側使用者および受信側管理者の関係をチェックする。適正な関係の場合は、ＩＣカード読取部３２は、２つのＩＣカード４０−３およびＩＣカード４０−４から設定ファイル４１−３および設定ファイル４１−４、部分分割パターンテーブル４２−３および部分分割パターンテーブル４２−４、暗号鍵テーブル４３−３および暗号鍵テーブル４３−４を読みだし、それぞれを、電子署名部３５、データ統合部３８、復号化部３６へ出力する。
伝送路２０を介して伝送された８つのファイル、すなわち、７つの分割ファイルおよび１つのダミーファイルと、コントロールファイルは、受信装置３０の受信部３１で受信され、ダミーファイルは、ダミーファイル除去部３４によりコントロールファイルを用いて特定され、復号化部３６により復号化処理が行なわれパディングされた一時ダミーファイルになる。パディングされた一時ダミーファイルおよびコントロールファイルからは、ダミーファイル除去部３４により署名、分割パターン番号および暗号化処理の初期値が抽出される。抽出された署名からは、電子署名部３５により署名経路、初期暗号鍵暗号および結合ファイルのハッシュ値が抽出される。署名経路からは、使用者／管理者送受信側特定部３３により送受信側の使用者および管理者が特定される。
【００７７】
７つの分割ファイルは、復号化部３６により、先に抽出された初期値および初期暗号鍵番号から変換して求められた復号鍵により復号化する処理が行なわれ、７つのパディングされた一時分割ファイルになり、ダミーデータ除去部３７によりダミーデータを除去する処理が行なわれ、７つの一時分割ファイルになり、データ統合部３８により、１つの結合ファイルになる。生成された結合ファイルのハッシュ値と抽出されたハッシュ値と比較し同じ値の場合には、データ統合部３８により結合ファイルは、分割され、元の複数のデータファイルに復元され、受信装置３０より出力される。
【００７８】
通信システム１の全体の動作についてまとめて説明する。
送信対象の複数のデータファイルは、送信装置１０により、２つのＩＣカード４０−１およびＩＣカード４０−２に記憶されている暗号鍵テーブルおよび分割パターンテーブルに基づいて所定の変換が行なわれ、８つのファイルおよびコントロールファイルになり伝送路２０を介して受信装置３０に伝送され、伝送された８つのファイルおよびコントロールファイルは、受信装置３０により、２つのＩＣカード４０−３およびＩＣカード４０−４に記憶されている復号鍵テーブルおよび統合パターンテーブルに基づいて所定の変換が行なわれ、元の複数のデータファイルに復元され出力される。
【００７９】
このように、本実施の形態の通信システム１においては、送信装置１０は、送信対象の複数のファイルを結合して、結合ファイルを生成し、その結合ファイルを分割して、分割ファイルを生成する。そして、その分割ファイルに対して、ダミーファイルを付加する処理、ダミーデータを付加する処理および暗号化する処理をすることにより、暗号化されたデータを特定されにくく、暗号化されたファイルを特定されにくく、暗号解読されにくい、高いセキュリティ性を有する。
【００８０】
なお、本発明は前述した実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
【００８１】
また、前述した実施の形態では、送信装置および受信装置は、コンピュータ装置および２つのＩＣカードドライブを用いたが、この形態に限らない。たとえば、１つのＩＣカードドライブを用いてもよい。
【００８２】
また、前述した実施の形態では、ＩＣカードを用いて行なったが、この形態でなくてもよい。たとえば、磁気カードを用いてもよい。磁気カードは、一般的に普及しているので、既に使用している装置でこのシステムを構築できる。
【００８３】
また、前述した実施の形態では、２つのＩＣカードを用いたが、この限りではなく、３つ以上のＩＣカードを用いてもよい。たとえば、３つ以上のＩＣカードを用いることにより、より高いセキュリティ性が実現される。
【００８４】
また、前述した実施の形態では、ＩＣカードに、分割した暗号鍵および暗号鍵テーブルを記憶した形態であったが、この限りではなく、暗号化方式および復号化方式を記憶してもよい。暗号化処理および復号化処理に関する任意のデータであってもよい。
【００８５】
また、前述した実施の形態では、図４に示した内容の分割パターンテーブルを用いたが、分割パターンテーブルの内容はこの限りではない。
【００８６】
また、前述した実施の形態では、分割パターンテーブルを２つに分けた形態であったが、分割パターンテーブルの分け方はこの限りではない。たとえば、任意に複数に分割し順に振り分けてもよい。
【００８７】
また、前述した実施の形態では、ＩＣカードに、分割した分割パターンテーブルを記憶した形態であったが、この形態でなくてもよい。たとえば、分割方法を記憶していてもよい。
【００８８】
また、前述した実施の形態では、ファイルを７つに分割する処理を行なったが、７つに分割する処理に限らない。たとえば、任意の複数ファイルに分割してもよい。
【００８９】
また、前述した実施の形態では、結合ファイルを所定のバイトごとに順次振り分けて分割する処理を行なったが、分割する方法は前述した実施の形態のでなくてもよい。たとえば、ランダムに分割してもよいし、分割しなくてもよい。
【００９０】
また、前述した実施の形態では、送信対象のデータファイルに対して秘密鍵暗号方式で暗号化処理を行なったが、暗号化する方法は秘密鍵暗号方式でなくてもよい。たとえば、公開鍵暗号方式でもよい。
【００９１】
また、前述した実施の形態では、送信対象のデータファイルに対してＤＥＳ暗号化処理を行なったが、暗号化する方法はＤＥＳ方式でなくてもよい。たとえば、ＤＥＳ方式に限らない。たとえば、より暗号強度の高いトリプルＤＥＳ、１２８ビットまたは６４ビットの鍵を用いるＦＥＡＬ（ｆａｓｔ  ｅｎｃｉｐｈｅｒｍｅｎｔ  ａｌｇｏｒｉｔｈｍ）、差分解読法および線形解読法に対して十分な安全性のあるＭＩＳＴＹ、ＲＳＡ暗号、離散対数問題の困難性を利用した楕円曲線暗号、楕円ＥｌＧａｍａｌ暗号、楕円ＲＡＳ暗号、確率暗号、Ｇｏｌｄｗａｓｓｅｒ−Ｍｉｃａｌｉ暗号、高次剰余暗号、ＯＡＥＰ暗号、Ｍｅｒｋｌｅ−Ｈｅｌｌｍａｎ暗号、ＭｃＥｌｉｅｃｅ暗号、ＰＧＰ暗号、ＧＰＧ暗号等でもよい。
【００９２】
また、前述した実施の形態では、送信対象のデータファイルに対して暗号化処理を行なったが、ブロック暗号方式に限らない。たとえば、ストリーム暗号方式でもよい。
【００９３】
また、前述した実施の形態では、ＩＣカードを送信装置および受信装置に接続しておこなったが、この形態に限らない。たとえば、ネットワークを介して離れていてもよい。接触型ＩＣカード、非接触型ＩＣカードでもよい。
【００９４】
また、前述した実施の形態では、認証は、パスワードを用いて行なったが、この形態に限らない。たとえば、指紋、声紋、顔型などの本人の生体的特徴を認証手段としてもよい。また、ある情報がある性質を持っているという１ビットの情報をそれ以外の余分な情報を一切もらさずに対話的に証明するゼロ知識対話証明を用いて行なってもよい。
【００９５】
また、前述した実施の形態では、電子署名を用いて行なったが、この形態に限らない。たとえば、電子署名はなくてもよい。また、電子署名は、他の電子署名の方式、たとえば、ＥＳＩＧＮ署名、Ｅｌｇａｍａｌ署名、ＤＳＡ署名等を用いてもよい。
【００９６】
また、前述した実施の形態では、送信装置の処理の順番は、ＩＣカード読取処理、使用者／管理者送受信側特定処理、データ結合処理、データ分割処理、ダミーファイル付加処理、ダミーデータ付加処理、暗号化処理および送信処理の順番で行なったが、順番は変えてもよい。
【００９７】
また、前述した実施の形態では、受信装置の処理の順番は、受信処理、ＩＣカード読取処理、使用者／管理者送受信側特定処理、ダミーファイル除去処理、電子署名処理、復号化処理、ダミーデータ除去処理、データ統合処理およびデータ分割処理の順番で行なったが、順願は変えてもよい。
【００９８】
また、前述した実施の形態では、ダミーデータおよびダミーファイルを付加および除去したが、ダミーファイルおよびダミーデータの付加の方法は、この形態に限らない。意味のあるダミーデータでもよいし、ランダムなダミーデータでもよいし、意味のあるダミーファイルでもよいし、全くランダムなダミーファイルでもよい。
【００９９】
【発明の効果】
このように、本発明によれば、よりセキュリティの高い送信装置を提供することができる。
また、本発明によれば、よりセキュリティの高い受信装置を提供することができる。
また、本発明によれば、よりセキュリティの高い通信システムを提供することができる。
【図面の簡単な説明】
【図１】図１は、本発明の実施の形態の通信システムの全体構成を示すブロック図である。
【図２】図２は、本発明の実施の形態の通信システムの構成を示すブロック図である。
【図３】図３は、図２に示した通信システムの送信側使用者ＩＣカードに記憶されているデータを示すブロック図である。
【図４】図４は、図３に示したＩＣカードの中の分割パターンテーブルを示した図である。
【図５】図５は、図２に示した通信システムのＩＣカードから記憶されている送受信側の使用者および管理者のＩＤおよび氏名を読み取ったことを示す図である。
【図６】図６は、図２に示した通信システムのＩＣカード読取部の処理のフローチャートである。
【図７】図７は、図２に示した通信システムの使用者／管理者送受信側特定部の処理の具体例のフローチャートである。
【図８】図８は、図２に示した通信システムのデータ分割部における処理の具体例のフローチャートである。
【図９】図９は、図２に示した通信システムの送信装置の電子署名部により生成される署名を示した図である。
【図１０】図１０は、図２に示した通信システムの電子署名部の処理の具体例のフローチャートである。
【図１１】図１１は、図２に示した通信システムの電子署名部のハッシュ値格納部へのデータ格納のフローチャートである。
【図１２】図１２は、図２に示した通信システムの電子署名部の鍵格納部へのデータ格納のフローチャートである。
【図１３】図１３は、図２に示した通信システムの電子署名部の署名経路格納部へのデータ格納のフローチャートである。
【図１４】図１４は、図２に示した通信システムの送信装置のダミーファイル付加部によりダミーファイルを付加することを示した図である。
【図１５】図１５は、図２に示した通信システムのダミーファイル付加部の処理の具体例のフローチャートである。
【図１６】図１６は、図２に示した通信システムの送信装置のダミーデータ付加部によりファイルに対してダミーデータを付加することを示した図である。
【図１７】図１７は、図２に示した通信システムのダミーデータ付加部の処理の具体例のフローチャートである。
【図１８】図１８は、図２に示した通信システムの送信装置の暗号化部により複数のファイルに対し暗号化することを示した図である。
【図１９】図１９は、図２に示した通信システムの暗号化部のコントロールファイルを作成する処理の具体例のフローチャートである。
【図２０】図２０は、図２に示した通信システムの暗号化部の一時分割ファイルに対して暗号化する処理の具体例のフローチャートである。
【図２１】図２１は、図２に示した通信システムの暗号化部の一時ダミーファイルに対して暗号化する処理の具体例のフローチャートである。
【図２２】図２２は、図２に示した通信システムの送信装置のデータの処理の流れについて説明する図である。
【図２３】図２３は、図２に示した通信システムの使用者／管理者送受信側特定部の送受信側の使用者および管理者の特定を行なう処理の具体例のフローチャートである。
【図２４】図２４は、図２に示した通信システムのダミーファイル除去部のダミーファイルを特定する処理の具体例のフローチャートである。
【図２５】図２５は、図２に示した通信システムの復号化部の処理の具体例のフローチャートである。
【図２６】図２６は、図２に示した通信システムのダミーファイル除去部の電子署名を生成する処理の具体例のフローチャートである。
【図２７】図２７は、図２に示した通信システムの電子署名部の電子署名を復号化する処理の具体例のフローチャートを示した図である。
【図２８】図２８は、図２に示した通信システムの電子署名部の鍵格納部に記録されている初期暗号鍵番号を復号化する処理のフローチャートである。
【図２９】図２９は、図２に示した通信システムの電子署名部のハッシュ値格納部に記録されている結合ファイルのハッシュ値の復号化をする処理のフローチャートである。
【図３０】図３０は、図２に示した通信システムの復号化部が分割ファイルを復号化する処理の具体例のフローチャートである。
【図３１】図３１は、図２に示した通信システムのダミーデータ除去部がダミーデータを除去する処理の具体例のフローチャートである。
【図３２】図３２は、図２に示した通信システムのデータ統合部が７つの一時分割ファイルを結合する処理の具体例のフローチャートである。
【図３３】図３３は、図２に示した通信システムの受信装置のデータの処理の流れについて説明する図である。
【符号の説明】
１…通信システム
１０…送信装置
１１…ＩＣカード読取部、        １２…使用者／管理者送受信側特定部
１３…データ分割部、            １４…電子署名部
１５…ダミーファイル付加部、    １６…ダミーデータ付加部
１７…暗号化部、                １８…送信部
２０…伝送路
３０…受信装置
３１…受信部、                      ３２…ＩＣカード読取部
３３…使用者／管理者送受信側特定部、３４…ダミーファイル除去部
３５…データ統合部、                ３６…復号化部
３７…ダミーデータ除去部、          ３８…データ統合部
４０−１…送信側使用者ＩＣカード、４０−２…送信側管理者ＩＣカード
４０−３…受信側使用者ＩＣカード、４０−４…受信側管理者ＩＣカード
４１−１…送信側使用者設定ファイル
４１−２…送信側管理者設定ファイル
４１−３…受信側使用者設定ファイル
４１−４…受信側管理者設定ファイル
４２−１…送信側使用者部分分割パターンテーブル
４２−２…送信側管理者部分分割パターンテーブル
４２−３…受信側使用者部分結合パターンテーブル
４２−４…受信側管理者部分結合パターンテーブル
４３−１…送信側使用者暗号鍵テーブル
４３−２…送信側管理者暗号鍵テーブル
４３−３…受信側使用者復号鍵テーブル
４３−４…受信側管理者復号鍵テーブル
【図１】
0004736232.tif 000002
【図２】
0004736232.tif 000003
【図３】
0004736232.tif 000004
【図４】
0004736232.tif 000005
【図５】
0004736232.tif 000006
【図６】
0004736232.tif 000007
【図７】
0004736232.tif 000008
【図８】
0004736232.tif 000009
【図９】
0004736232.tif 000010
【図１０】
0004736232.tif 000011
【図１１】
0004736232.tif 000012
【図１２】
0004736232.tif 000013
【図１３】
0004736232.tif 000014
【図１４】
0004736232.tif 000015
【図１５】
0004736232.tif 000016
【図１６】
0004736232.tif 000017
【図１７】
0004736232.tif 000018
【図１８】
0004736232.tif 000019
【図１９】
0004736232.tif 000020
【図２０】
0004736232.tif 000021
【図２１】
0004736232.tif 000022
【図２２】
0004736232.tif 000023
【図２３】
0004736232.tif 000024
【図２４】
0004736232.tif 000025
【図２５】
0004736232.tif 000026
【図２６】
0004736232.tif 000027
【図２７】
0004736232.tif 000028
【図２８】
0004736232.tif 000029
【図２９】
0004736232.tif 000030
【図３０】
0004736232.tif 000031
【図３１】
0004736232.tif 000032
【図３２】
0004736232.tif 000033
【図３３】
0004736232.tif 000034