(57)【要約】【課題】平文データに対して暗号化及び復号に用いる鍵ファイルを第三者に知られないようにする【解決手段】受信側又は再生側の装置３が、ファイルｈｆと、これから生成されるｏｆ及びその生成用データＩｍを有する。送信元又は記録側の装置２は、ファイルｂｆを有し、これとｏｆ及びＩｍから、平文データＭの長さ以上のデータ長をもつ鍵ファイルｋｆを生成するとともに、ｂｆ及びＩｍからファイルｌｆを生成する。ｋｆを用いて作成される暗号文データＮを、ｌｆとともに送信又は記録する。受信側又は再生側の装置２において、Ｎ及びｌｆを受信し又は再生した場合に、ｌｆ、ｈｆ、Ｉｍから鍵ファイルｋｆ′を生成し、この鍵ファイルを用いてＮを復号化する。【選択図】　　　　図１
2004135250.tif 000002
【特許請求の範囲】
【請求項１】
平文データを暗号化して伝送又は記録する第一の情報処理装置と、暗号文データから元の平文データを復号する第二の情報処理装置を備えた情報処理システムにおいて、
上記第二の情報処理装置が、第一ファイルと該第一ファイルから生成される第二ファイル及び該第二ファイルの生成用データを有していること、
上記第一の情報処理装置が第三ファイルを有しており、該第三ファイルと上記第二ファイル及び上記生成用データから鍵ファイルを生成するとともに、第三ファイル及び上記生成用データから第四ファイルを生成するファイル生成手段を備えていること、
上記第一の情報処理装置が、上記鍵ファイルを用いて上記平文データに暗号化処理を施す暗号化処理手段を有し、該暗号化処理手段による暗号文データを含むファイル及び上記第四ファイルを送信し又は記録すること、
上記第二の情報処理装置が、上記暗号文データを含むファイル及び上記第四ファイルを受信し又は再生した場合に、該第四ファイル及び上記第一ファイル及び上記第二ファイルの生成用データから鍵ファイルを生成する鍵ファイル生成手段と、該鍵ファイルを用いて上記暗号文データを復号化する復号化処理手段を有している
ことを特徴とする情報処理システム。
【請求項２】
平文データを暗号化して伝送又は記録し、受信又は再生した暗号文データから元の平文データに復号する情報処理方法であって、
受信側又は再生側の装置が、第一ファイルと該第一ファイルから生成される第二ファイル及び該第二ファイルの生成用データを予め有しており、
送信元又は記録側の装置が第三ファイルを有し、該第三ファイルと上記第二ファイル及び上記生成用データから鍵ファイルを生成するとともに、第三ファイル及び上記生成用データから第四ファイルを生成し、上記鍵ファイルを用いて作成される暗号文データを含むファイル及び上記第四ファイルを送信先に伝送し又は記録した後、
上記受信側又は再生側の装置により、上記暗号文データを含むファイル及び上記第四ファイルを受信し又は再生した場合に、該第四ファイル及び上記第一ファイル及び上記第二ファイルの生成用データから鍵ファイルを生成して、該鍵ファイルを用いて上記暗号文データを復号化する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化による秘匿情報の伝送技術又は記録再生技術に関する。
【０００２】
【従来の技術】
秘匿対象とされるデータを特定の相手だけに伝送するには、ファイルにパスワードを設定して該パスワードを知る相手に送信する形態や、互いの共通鍵を用いて暗号化したファイルを相手に送信する形態が知られている。また、公開鍵暗号方式では、相手の公開鍵で暗号化したデータを送信し、受信相手が自分の秘密鍵で復号することができる。
【０００３】
ところで、パスワードのデータ長（ビット数）や暗号鍵の鍵長が短い場合には、組み合わせの数が少ない（鍵空間が狭い）ため解読が容易であり、暗号文攻撃に弱くなる。
【０００４】
そこで、使い捨て長文データ（Ｏｎｅ−Ｔｉｍｅ　Ｐａｄ）を互いに秘蔵し合い、該データを用いて暗号化及び復号化を行う方法が知られている。
【０００５】
【発明が解決しようとする課題】
しかしながら、使い捨て長文データを用いる方法は、該データを含む鍵ファイルの配送が容易でないことが問題となる（つまり、鍵配送を安全に行えるならば、それと同じ方法で情報を送信し合えば済む。）。
【０００６】
そこで、本発明は、暗号化及び復号化に用いる鍵ファイルを第三者に知られないようにすることを課題とする。
【０００７】
【課題を解決するための手段】
本発明は、上記した課題を解決するために、下記に示す事項を備えたものである。
【０００８】
・平文データを暗号化して伝送し又は記録する第一の情報処理装置と、暗号文データから元の平文データを復号する第二の情報処理装置を備えていること。
【０００９】
・第二の情報処理装置が、第一ファイルから生成される第二ファイル及び該第二ファイルの生成用データを有していること。
【００１０】
・第一の情報処理装置が第三ファイルを有しており、該第三ファイルと第二ファイル及びその生成用データから鍵ファイルを生成するとともに、第三ファイル及び第二ファイルの生成用データから第四ファイルを生成するファイル生成手段を備えていること。
【００１１】
・第一の情報処理装置が、鍵ファイルを用いて平文データに暗号化処理を施す暗号化処理手段を有し、該暗号化処理手段による暗号文データを含むファイル及び第四ファイルを送信し又は記録すること。
【００１２】
・第二の情報処理装置が、暗号文データを含むファイル及び第四ファイルを受信し又は再生した場合に、該第四ファイル及び第一ファイル及び第二ファイルの生成用データから鍵ファイルを生成する鍵ファイル生成手段と、該鍵ファイルを用いて暗号文データを復号化する復号化処理手段を有していること。
【００１３】
従って、本発明によれば、第二の情報処理装置において、暗号化処理時に用いた鍵ファイルと同じ内容の鍵ファイルを生成するためには、第一ファイルが必要となるが、第一ファイルは第一の情報処理装置と第二の情報処理装置の間で受け渡しが行われない。つまり、第一ファイルを第三者に知られないように秘蔵することによって、鍵ファイルを安全に配送することができ、鍵ファイルを用いた暗号文データの秘密保持が保証される。また、第一の情報処理装置において鍵ファイルの生成に用いた第三ファイルを第二の情報処理装置の使用者及び第三者に知られることがない。
【００１４】
【発明の実施の形態】
本発明は、平文データを暗号化して伝送するとともに、暗号文データから元の平文データに復号する情報処理システムに関する。例えば、コンピュータ等の情報処理装置を使ったネットワークシステムへの適用に好適であるが、このような情報伝送システムに限らず、携帯電話等の移動体通信システムや、著作権保護を目的として音楽や画像データの秘匿化するといった、各種の情報処理システムへの適用が可能である。
【００１５】
図１は、本発明に係るシステムの基本構成を示す機能ブロック図であり、情報伝送システムへの適用を想定している。
【００１６】
情報処理システム１は、第一の情報処理装置２と第二の情報処理装置３を備えている。本例において、第一の情報処理装置２は平文データＭを暗号化して伝送する情報送信装置、また、第二の情報処理装置３は暗号文データＮから平文データＭを復号化する情報受信装置である。尚、各装置には、例えば電気的な通信手段を備えたコンピュータ機器等が用いられる。また情報伝送の形態としては有線伝送でも、無線伝送でも構わない。
【００１７】
情報処理装置３では、第一ファイル「ｈｆ」と、ｈｆから生成される第二ファイル「ｏｆ」、ｏｆの生成用データ「Ｉｍ」を有している。尚、ｈｆは送信相手や第三者に知られないようにすべき秘蔵ファイルである。ｏｆは公開ファイルであり、同様にＩｍも公開され又は誰にでも知られることが前提とされる。また、Ｉｍをｏｆに含める場合には、ｏｆからＩｍを除いた部分が第二ファイルに相当する。
【００１８】
情報処理装置２は第三ファイル「ｂｆ」を有しており、これは鍵ファイル「ｋｆ」の生成に用いる。ｋｆはＭの暗号化に用いるものであり、例えば、Ｍのデータ長以上の長さをもっている。尚、ｂｆがＭのデータ長以上の長さをもつ必要はないので、ｂｆのデータ長が平文データ長未満であっても良いが、ｂｆに基いて平文データ長以上のデータ列を生成できれば良い（圧縮したファイルや乱数の種データを含むファイル等）。
【００１９】
また、ｂｆに係るデータの種類や形式等の如何を問わない。例えば、テキストファイルや画像ファイル等を使用できる。乱数生成関数を用いて生成したデータファイルや、複数のデータファイルをもとに所定の演算（例えば、加算や減算、平均演算等）を施したり、関数等で変換したデータファイル等を用いても良い。ｂｆはｋｆの生成及び後述するｌｆの生成に必要なファイルであるが、送信者が故意、過失等によりｂｆを漏らさない限り送信相手や第三者に知られる虞はない。即ち、ｋｆを知り得るのは送信相手のみであり、ｋｆからｂｆは知り得ない。また、Ｍの暗号化の度に異なるｂｆを指定したり又は選定することでｂｆを使い捨てパッドとして使用できる（ｂｆの変更に伴ってｋｆも変る）。
【００２０】
情報処理装置２は、ｂｆとｏｆ、Ｉｍからｋｆを生成するとともに、ｂｆ及びＩｍから第四ファイル「ｌｆ」を生成するファイル生成手段２ａを備えている。そして、装置２はｋｆを用いてＭを暗号化する暗号化処理手段２ｂを有しており、ｋｆを用いてＭから暗号文データＮを作成する。つまり、Ｍの暗号化処理を関数「Ｆ（）」で表すとき、「Ｎ＝Ｆ（Ｍ，ｋｆ）」により暗号化する。
【００２１】
例えば、任意の演算記号を「＊」で表し、Ｍに係るデータ長又はファイルサイズよりもｋｆのデータ長又はファイルサイズの方が長いものとして（このことは、ｋｆの要素データを周期的に繰り返したものや所定の演算規則に従ってデータを付加してサイズ拡張したものを改めてｋｆとして採用することにより常に保証される。）、自然数変数「ｉ」を導入し、Ｍを構成する個々の要素データを「Ｍｉ」、ｋｆを構成する個々の要素データを「ｋｆｉ」と記すとき、Ｎを構成する個々の要素データ「Ｎｉ」を、演算式「Ｎｉ＝Ｍｉ＊ｋｆｉ」で計算すれば良い（「＊」として、例えば、排他的論理和演算や減算等が挙げられる。）。
【００２２】
Ｎを含むファイル及びｌｆは送信手段２ｃを介して情報処理装置３に送られ、その受信手段３ａにより受信される。
【００２３】
情報処理装置３は、Ｎを含むファイル及びｌｆを受信した場合に、ｌｆ、ｈｆ、Ｉｍから鍵ファイル「ｋｆ′」を生成する鍵ファイル生成手段３ｂを備えている。ｋｆ′が正しく生成された場合には、「ｋｆ′＝ｋｆ」であるが、ｈｆを知らない相手がｈｆとは異なるファイルを用いてｋｆ′を生成した場合には「ｋｆ′≠ｋｆ」である。
【００２４】
復号化処理手段３ｃはｋｆ′を用いてＮを復号化するものであり、暗号化時のｋｆと同じ内容のｋｆ′を用いない限りＮを復号化できない。つまり、Ｎの復号化処理を関数「Ｇ（Ｎ，ｋｆ′）」で表すとき、「Ｍ＝Ｇ（Ｆ（Ｍ，ｋｆ），ｋｆ′）」として正しく復号化されるための条件は「ｋｆ′＝ｋｆ」である。
【００２５】
以上のように、ｏｆとＩｍが装置３から装置２に提供され、ｌｆとＮが装置２から装置３に送信される。また、ｈｆ、ｂｆが各装置においてそれぞれ秘蔵され、ｋｆ（＝ｋｆ′）が両装置間で共有される。尚、ｋｆはｂｆ、ｏｆ、Ｉｍを用いて生成されるので、ｂｆが同じでも送信相手に応じてｋｆが異なる。即ち、送信先に応じてｂｆを変更したり選択する必要がないので、送信者は１つのｂｆを常用できるが、勿論、状況や必要に応じてｂｆを変えても良い。
【００２６】
図２は、送受信処理例の説明図であり、送信者Ａから受信者Ｂへのデータ伝送について示している。
【００２７】
但し、Ｂのファイルｏｆと、Ｉｍを構成するα、ｑは公開されるものとする。尚、α、ｑはともに自然数であり、例えば、ｑを素数として「１＜α＜ｑ」を満たす。また、下記の添え字「ｊ」はファイルの要素データを区別するための自然
2004135250.tif 000003
【００２８】
処理手順は下記の通りである。
【００２９】
（１）Ｂは、α、ｑと秘密ファイルｈｆを用いてｏｆを生成する。計算式は「ｏ
2004135250.tif 000004
【００３０】
（２）Ａは、ｂｆと相手Ｂのｏｆ、ｑを用いて鍵ファイルｋｆを生成する。計
2004135250.tif 000005
【００３１】
（３）Ａは、ｋｆを使って平文Ｍを暗号化してＮを生成する（演算「Ｍｊ＊ｋｆｊ」）。そして、α、ｑとｂｆを使ってファイルｌｆを生成する。計算式は「ｌ
2004135250.tif 000006
【００３２】
（４）Ａは、ｌｆとＮを相手Ｂに送る。
【００３３】
（５）Ｂは、ｌｆとｈｆ、ｑを用いてｋｆ′を生成する。計算式は、「ｋｆ′
2004135250.tif 000007
【００３４】
（６）Ｂが正しい相手であれば、「ｋｆ′＝ｋｆ」となるので、ｋｆ′を使ってＮをＭに復号する（演算「Ｎｊ＊ｋｆ′ｊ」）。
【００３５】
Ａ、Ｂ間の伝送経路から第三者Ｃが取得できる情報は、α、ｑとｏｆ、ｌｆ、Ｎであるが、これらからｋｆを生成することはできない。また、ｂｆ、ｈｆはＡ、Ｂ間で伝送されないので、Ｃは知り得ない。
【００３６】
2004135250.tif 000008
の計算を必要とするが、２を底とする対数関数を「ｌｏｇ２」として、Ｏ（ｌｏｇ２（Ｘ））以下の剰余演算アルゴリズムを用いて処理の高速化を図ることが好ましい。本例では、ｍｏｄ　ｑの離散対数を求める計算の困難性を利用しているが、要はｏｆからｈｆを、ｌｆからｂｆを容易に求められない演算を利用すれば良い。簡単な例としては、行列の積が挙げられる。例えば、Ｂにおいて、行列Ｃ、Ｅを公開し、行列Ｄを秘蔵する。ここで、行列Ｃは、その行列式｜Ｃ｜＝０であり、「Ｅ＝Ｃ・Ｄ」である（「・」は積演算）。Ａは、秘蔵する行列Ｆを用いて、「Ｋ＝Ｆ・Ｅ」を求めて、このＫで平文データＭを暗号化するとともに、「Ｌ＝Ｆ・Ｃ」を計算する。そして、Ａは、暗号文データＮとともにＬをＢに送信する。Ｂは、「Ｋ′＝Ｌ・Ｄ＝Ｆ・Ｃ・Ｄ＝Ｆ・Ｅ」を計算する。これはＫであり、ＮをＭに復号できる。本例では、正則でないＣの逆行列が求まらないことを利用している。尚、Ｃがα、ｑに相当し、Ｄがｈｆに、Ｅがｏｆに、Ｆがｂｆに、Ｋがｋｆに、Ｌがｌｆにそれぞれ相当している。また、Ｋを用いてＭを暗号化する場合には、Ｋの行列要素の全部又は一部を用いる方法と、Ｋの行列要素から一意に決まる値を用いる方法が挙げられる。
【００３７】
また、上記の例では説明の便宜上、装置２の使用者Ａから装置３の使用者Ｂへの一方向性伝送を想定したが、双方向性伝送を行う場合には、勿論、装置２、３の両機能を備えた装置構成を用いれば良い。この場合、Ａは、ｂｆとは異なる秘蔵ファイル「ｈｆ′」とα′、ｑ′を用いてファイルｏｆ′を生成して、α′、ｑ′とともにｏｆ′を公開しておけば良い（処理は上記の説明と同様である。）。
【００３８】
ｋｆを用いたＭの暗号化には如何なる方法を使用しても良いが、Ｍに対して演算処理を直接的に施す方法（演算「Ｍｊ＊ｋｆｊ」）と、Ｍを複数の成分データからなる構成ファイル（又は成分ファイル）に区分けするとともに、ｋｆを用いて各構成ファイルをそれぞれに暗号化する方法が挙げられる。
【００３９】
Ｍを複数の成分に区分する方法には、図３（Ａ）に示す（Ｉ）空間的な分割法と、図３（Ｂ）に示す（ＩＩ）時間的な分割法がある。
【００４０】
（Ｉ）では、「Ｍ＝Ｍ１＊Ｍ２＊・・・＊Ｍｎ」のように構成ファイルに区分し、ｋｆを用いて「Ｍｘ（ｘ＝１〜ｎ）のいずれかに対してｋｆとの間で演算を行えば良い。例えば、ｎ＝２の場合に、「＊」を排他的論理和（ｅｘｃｌｕｓｉｖｅ−ｏｒ）とすると以下のようになる。
【００４１】
（１）Ｍ＝Ｍ１＊Ｍ２に分解する
（２）「Ｎ１＝Ｍ１＊ｋｆ、Ｎ２＝Ｍ２」、あるいは「Ｎ１＝Ｍ１、Ｎ２＝Ｍ２＊ｋｆ」を計算する
（３）Ｎ１、Ｎ２をｌｆとともに送信する
（４）ｌｆをもとにｋｆを生成する
（５）Ｎ１＊Ｎ２＊ｋｆ＝Ｍ１＊Ｍ２＊ｋｆ＊ｋｆ＝Ｍ１＊Ｍ２＝Ｍを得る。
【００４２】
尚、ｎ≧３の場合には、「Ｘ＊Ｘ＝０」を考慮し、（５）でｋｆの奇数回の演算が行われるように、Ｍｘ（ｘ＝１〜ｎ）のうちの奇数個に対してｋｆで演算を行えば良い。また、演算記号「＊」が、「Ｘ＊Ｘ・・・＊Ｘ＝０」（Ｘの数がｎ個）を満たす場合には、αを１のｎ乗根として「Ｘ＊Ｙ＝α・Ｘ＋Ｙ」と定義すれば良い。つまり、Ｍｘとｋｆとの演算結果の総和「Σ（Ｍｘ＊ｋｆ）」のうち、ｋｆの
2004135250.tif 000009
とを利用できる（結果としてｋｆが１個だけ残るようにする。）。
【００４３】
演算については、この他、減算や除算等が挙げられるが、同じデータ同士の演算結果がゼロ元や単位元となる演算（「Ｘ＊Ｘ＝０」、あるいは「Ｘ＊Ｘ＝１」等）を満たす演算を用いれば良い。本発明に関する限り演算自体の如何は問わないので、複数の演算を組み合わせることで、ヌル（０）データファイル等を用いた選択平文攻撃に対して十分に耐えられるようにすることが好ましい。
【００４４】
上記方法（ＩＩ）では、Ｍを時間軸方向（データの並び方向）に沿って区分し、「Ｍ＝Ｍｔ１、Ｍｔ２、・・・、Ｍｔｎ」のようにｎ個のブロックに分割する（等サイズ分割には限られない。）。この場合、下記の２方法が挙げられる。
【００４５】
（ＩＩ−１）ｋｆによる演算を先に行ってから隣接ブロック同士で演算を行う方法
（ＩＩ−２）隣接ブロック同士の先に演算を行ってから、ｋｆによる演算を行う方法。
【００４６】
方法（ＩＩ−１）では、「Ｎｘ＝（Ｍｔｘ＊ｋｆｘ）＊（Ｍｔｘ＋１＊ｋｆｘ＋１）」（ｘ＝１〜ｎであり、「ｋｆｘ」はｋｆの時間軸方向に沿う分割ブロックを示す。）とする。但し、最終ブロック「Ｍｎ」はそのままとする。復号時に「Ｎ１＊Ｎ２＊・・・＊Ｎｎ」を求めると、Ｍｔ１＊ｋｆ１が得られるので、ｋｆを生成してＭｔ１＊ｋｆ１＊ｋｆ１＝Ｍｔ１を得る。Ｎ１＝（Ｍｔ１＊ｋｆ１）＊（Ｍｔ２＊ｋｆ２）であるので、「Ｎ１＊（Ｍｔ１＊ｋｆ１）＝Ｍｔ２＊ｋｆ２」を算出し、さらに（Ｍｔ２＊ｋｆ２）＊ｋｆ２＝Ｍｔ２を求める。以下、インクリメント「ｘ＋＋」によってこの処理を繰り返せば良い。
【００４７】
方法（ＩＩ−２）では、「Ｎｘ＝（Ｍｔｘ＊Ｍｔｘ＋１）＊ｋｆｘ」とする。但し、最終ブロックはＭｔｎ＊ｋｆｎとする。復号時にｋｆを生成して、Ｎｘ＊ｋｆｘ＝Ｍｔｘ＊Ｍｔｘ＋１に戻す。そして、「Ｎ１＊Ｎ２＊・・・＊Ｎｎ」を求めると、Ｍｔ１が得られる。Ｎ１＝Ｍｔ１＊Ｍｔ２であるので、「Ｎ１＊Ｍｔ１」を計算してＭｔ２を求める。以下、インクリメント「ｘ＋＋」によってこの処理を繰り返せば良い。
【００４８】
尚、方法（Ｉ）による２成分の分割では伝送サイズがＭの２倍になるが、復号にかかる時間はＭの１倍である（サイズが大きくなるが、時間はかからない。）。また、方法（ＩＩ）の場合には、伝送サイズがＭの１倍であるが、復号にかかる時間はＭの２倍である（サイズは同じであるが、時間がかかる。）。つまり、単位バイト当たりの伝送時間を「Ｔａ」とし、処理時間を「Ｔｂ」とするとき、（Ｉ）では「２・Ｔａ＋Ｔｂ」の時間がかかり、（ＩＩ）では「Ｔａ＋２・Ｔｂ」の時間がかかるので、両者の差はΔＴ＝Ｔａ−Ｔｂである。よって、ΔＴの正負に応じて各方法を使い分けるのが良い。あるいは（Ｉ）、（ＩＩ）の組み合せ方法では、Ｍのサイズを１００％として、α％の部分に（Ｉ）法を適用し、（１００−α）％の残存部分に（ＩＩ）法を適用すれば、全サイズが２・α＋（１００−α）＝１００＋αとなり、処理時間がα＋（１００−α）・２＝２００−αとなる。α＝５０％ではサイズ及び時間がＭの１．５倍となる。
【００４９】
ｋｆを用いた暗号化処理については、上記以外にも各種方法が挙げられる（以下の「Ｍｘ」はＭの構成ファイル、「Ｎｘ」はＮの構成ファイルを示す。）。
【００５０】
・ｋｆを用いて生成される乱数データでＭを暗号化し、受信側で復元したｋｆを用いて乱数データを生成してＭを復号化する方法
・Ｍｘ又はＮｘのいずれかにＫｆを付加し又は合成してＭを暗号化し、Ｋｆ又はｌｆを送信することなく、ｋｆ又はｌｆのファイル名前又はそれらの所在情報（ＵＲＬ等）を公開鍵等で暗号化して送信し、受信側では当該情報からｋｆ又はｌｆを特定して、ｋｆを用いてＭを復号化する方法
・相手認証用データとともにＮ及びｌｆをアーカイブ又は圧縮したファイルを送信し、相手認証データの照合結果に応じてＮ及びｌｆに係るデータ展開及び解凍の後、Ｍを復号化する方法
・Ｍｘ又はＮｘのいずれか又は全部をセッション鍵で暗号化し、該セッション鍵をｋｆで暗号化し、受信側でｋｆを生成してセッション鍵を復号化し、Ｍｘ又はＮｘを復号化する方法
・Ｍｘ又はＮｘを任意の関数Ｚを使って変換することでデータファイルを作成し、その逆変換に必要な情報をｋｆで暗号化し、受信側では当該情報をｋｆで復号化したのちＺの逆変換（逆関数）を用いてＭｘ又はＮｘに元に戻す方法
・Ｍｘ又はＮｘを全て連結した上で多数のブロックに分割し、スクランブルをかけた上で、デ・スクランブルに必要な置換情報をｋｆで暗号化し、受信側では置換情報をｋｆで復号化してＭｘ又はＮｘに元に戻す方法
・Ｍｘ又はＮｘのうちのあるファイルをセッション鍵で暗号化して、該セッション鍵を送信相手の公開鍵で暗号化し、また、別の構成ファイルについては別のセッション鍵で暗号化して、該セッション鍵を自分の秘密鍵で暗号化し、復号化に必要な案内情報（どの構成ファイルをどの鍵で暗号化したか）をｋｆで暗号化して送る方法（受信側で案内情報をｋｆで復号化して該情報をもとに各セッション鍵の暗号化を解除することにより、認証及び署名機能が発揮される。）
・Ｍｘ又はＮｘを種ｓｘの乱数データで撹乱させるとともに、ｓｘの組をｋｆで暗号化し、受信側ではｓｘの組をｋｆで復号化して、これを種にして送信側と同じ乱数データを生成して、Ｍｘ又はＮｘを元に戻す方法。
【００５１】
尚、構成ファイルの撹乱用に乱数データを用いる場合には、該乱数データの生成時に使用した種データの組をｋｆで暗号化できるので、乱数生成に使用した種ｓｘの組み合わせ数が増大し、特定のｓｘの組み合わせを第三者が探索するのは容易でないという利点がある。また、複数の乱数生成関数を用いる場合には、使用した乱数生成関数を示す情報をｋｆで暗号化して送れば良い。種ｓｘを使い捨てにするために、ｓｘ自身も乱数データとして生成することが望ましく、また使用する乱数生成関数の選定についても、乱数を使って自動的に行えば良い。
【００５２】
このように暗号化の信頼度や強度レベルに応じた各種の形態で実施することができる。また、一旦ｋｆが共有されれば、次にｋｆの変更を必要とするまでの間、ｋｆで暗号化したＮだけを送受信し合えば済む。
【００５３】
また、相手認証の結果に応じてＮに係る復号化処理の有無を制御したい場合には、相手認証用データとともにＮ、ｌｆを送信し、相手認証用データと、受信側装置が有する認証用データとが照合された場合にのみ、ｋｆの生成及びＮの復号化処理が行われるようにすれば良い。例えば、一方向性関数「Ｈ（）」を用いてパスワード「Ｐ」を変換したデータ「Ｑ＝Ｈ（Ｐ）」を互いに通知し合うか又は公開しておけば良い。送信者Ａは、送信相手Ｂの認証用公開データＱｂをＮ、ｌｆに付加した上でＢに送信する。受信側では受信データからＱｂ、Ｎ、ｌｆを分離し、Ｑｂを使って認証処理を行う。受信者から入力されるパスワード「Ｐｉｎ」を取得して、「Ｑｂ＝＝Ｈ（Ｐｉｎ）」（「＝＝」は等値関係を意味する。）の条件が満たされるか否かを判断することで両データを照合する。もしも、「Ｐｉｎ＝＝Ｐｂ」（Ｐｂは正しいパスワードを示す。）ならば、条件「Ｑｂ＝＝Ｈ（Ｐｂ）」が満たされるので、ｌｆを用いてｋｆが生成されてＮの復号がなされる。
【００５４】
このように、パスワードを一方向性関数に通したデータ値を公開するか又は互いに相手に知らせておき、Ｎ、ｌｆとともに該データ値（送信相手のデータ値）を送信して、受信側で復号化前に相手の認証を行うことができる（受信装置の使用者が多数の場合でも相手を正しく特定できる。）。
【００５５】
尚、情報処理装置３において、Ｎ、ｌｆ等を受信した場合には、予め設定されたパスワードの入力により特定され又は選択されるｈｆが読み出され、ｋｆの生成によりＮが復号化されるように構成する。このパスワードは、ｈｆを各装置において特定するためのデータであって、互いの装置間で伝送されないので安全である。また、パスワードを用いてｈｆを暗号化しておくことが好ましい。
【００５６】
また、データ記録再生系の処理装置への適用においては、図１に示す情報処理装置２を記録装置とし、情報処理装置３を再生装置とすれば良い。つまり、情報処理装置２において送信手段２ｃを記録手段に置換することで、Ｎ、ｌｆを記憶媒体（半導体メモリ等）又は記録媒体（光学式ディスク状媒体や磁気式テープ状媒体等）に記録する。そして、装置３において受信手段３ａを再生手段に置換し、記憶媒体又は記録媒体からＮ、ｌｆを再生してｋｆを生成する。そして、ｋｆでＮを復号化してＭを得る。記憶媒体又は記録媒体を第三者が取得しても、ｋｆが得られない限りＮを復号できないので、不正なコピー等が制限される。
【００５７】
【発明の効果】
以上に記載したところから明らかなように、本発明によれば、受信又は再生側の装置において第一ファイルｈｆを第三者に知られないように秘蔵することによって、鍵ファイルｋｆを安全に配送することができ、該鍵ファイルを用いた暗号文データの秘密保持が保証される。これにより秘匿化データを安全に伝送することができる。
【図面の簡単な説明】
【図１】本発明に係る情報処理システムの基本構成例を示す機能ブロック図。
【図２】本発明に係る処理例の説明図。
【図３】構成ファイルについての説明図。
【符号の説明】
１…情報処理システム、２…第一の情報処理装置、２ａ…ファイル生成手段、２ｂ…暗号化処理手段、３…第二の情報処理装置、３ｂ…鍵ファイル生成手段、３ｃ…復号化処理手段
【図１】
2004135250.tif 000010
【図２】
2004135250.tif 000011
【図３】
2004135250.tif 000012