(57)【要約】【課題】  暗号鍵生成の元情報が不正な利用者により観察される危険性を最小限に抑え、暗号鍵が解読されることで暗号文のデータが解読されてしまうことを防止する。【解決手段】  第１の一方向性関数演算部２１では、変更頻度が低い機器固有番号１０やサービス識別番号１１を用い、ハッシュアルゴリズムにより第１の中間情報２２を生成する。第２の一方向性関数演算部２３では、次に変更頻度が低い暗号化日付１２と第１の中間情報２２とを用いて第２の中間情報を生成する。第３の一方向性関数演算部２５では、変更頻度が高いデータ長１３と第２の中間情報２３とを用いて、最終的な暗号鍵３０を生成する。【選択図】  図２
2005210430.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの初段用元情報を用いた所定の演算処理により、中間情報を生成する初段の演算手段と、
少なくとも一つの最終段用元情報と、一つ前段の演算手段により生成された少なくとも一つの中間情報と、を用いた所定の演算により、暗号鍵を生成する最終段の演算手段とを有する
ことを特徴とする暗号鍵生成装置。
【請求項２】
請求項１記載の暗号鍵生成装置であって、
少なくとも一つの中段用元情報と、一つ前段の演算手段により生成された少なくとも一つの中間情報と、を用いた所定の演算により、中間情報を生成する中段の一以上の演算手段を有し、
上記中段の一以上の演算手段を、上記初段の演算手段と上記最終段の演算手段との間に直列に設けることを特徴とする暗号鍵生成装置。
【請求項３】
請求項１記載の暗号鍵生成装置であって、
上記演算手段は、上記所定の演算として一方向性関数演算を含むことを特徴とする暗号鍵生成装置。
【請求項４】
請求項１記載の暗号鍵生成装置であって、
上記初段用元情報は、変更される頻度が最も低い情報であり、
上記最終段用元情報は、変更される頻度が最も高い情報であることを特徴とする暗号鍵生成装置。
【請求項５】
請求項２記載の暗号鍵生成装置であって、
上記初段用元情報は、変更される頻度が最も低い情報であり、
上記最終段元情報は、変更される頻度が最も高い情報であり、
上記中段用元情報は、上記初段の演算手段に近い順に、変更される頻度が中程度の情報であることを特徴とする暗号鍵生成装置。
【請求項６】
請求項４又は請求項５記載の暗号鍵生成装置であって、
上記初段用元情報は、装置出荷前に予め決められた情報であることを特徴とする暗号鍵生成装置。
【請求項７】
少なくとも一つの初段用元情報を用いた所定の演算処理を演算手段が行って中間情報を生成する工程と、
少なくとも一つの最終段用元情報と、一つ前段の演算処理により生成された少なくとも一つの中間情報と、を用いた所定の演算を演算手段が行って暗号鍵を生成する工程とを有する
ことを特徴とする暗号鍵生成方法。
【請求項８】
少なくとも一つの初段用元情報を用いた所定の演算処理により中間情報を生成し、少なくとも一つの最終段用元情報と一つ前段の演算処理により生成された少なくとも一つの中間情報とを用いた所定の演算により暗号鍵を生成する暗号鍵生成手段と、
上記暗号鍵生成手段にて生成された暗号鍵を用いて、所定の情報を暗号化する暗号化手段とを有する
ことを特徴とする情報処理装置。
【請求項９】
請求項８記載の情報処理装置であって、
上記暗号化手段は、上記暗号鍵生成手段にて生成された暗号鍵を用いて上記所定の情報としてのコンテンツ鍵を暗号化し、
所定のコンテンツを、コンテンツ鍵を用いて暗号化するコンテンツ暗号化手段と、
上記暗号化手段が暗号化した暗号化コンテンツ鍵と上記コンテンツ暗号化手段が暗号化した暗号化コンテンツとを出力する出力手段と、を有することを特徴とする情報処理装置。
【請求項１０】
少なくとも一つの初段用元情報を用いた所定の演算処理により中間情報を生成し、少なくとも一つの最終段用元情報と一つ前段の演算処理により生成された少なくとも一つの中間情報とを用いた所定の演算により暗号鍵を生成する暗号鍵生成手段と、
上記暗号鍵生成手段にて生成された暗号鍵を用いて、所定の情報を復号する復号手段とを有する
ことを特徴とする情報処理装置。
【請求項１１】
請求項１０記載の情報処理装置であって、
上記復号手段は、上記暗号鍵生成手段にて生成された暗号鍵を用いて上記所定の情報としての暗号化コンテンツ鍵を復号し、
上記復号手段にて復号されたコンテンツ鍵を用いて、所定の暗号化コンテンツを復号するコンテンツ復号手段と、
上記コンテンツ復号手段が復号したコンテンツを出力する出力手段とを有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種のコンテンツを暗号化する際、また暗号化されたコンテンツを復号する際に用いられる、暗号鍵の生成装置及び方法、その暗号鍵を用いてコンテンツを暗号化及び復号する情報処理装置に関する。
【背景技術】
【０００２】
従来より、例えば、著作権保護や機密情報を伝送する際の漏洩防止などを目的として、それら著作権にかかる情報や機密情報を暗号化して、記録或いは伝送等する場合がある。なお、以下の説明では、記録の例については省略し、情報の伝送の場合のみを例に挙げて述べることにする。
【０００３】
図８，図９には、秘密鍵を用いた単純な暗号，復号システムの構成を示す。図８はデータを暗号化する側の概略構成を示しており、図９は復号側の概略構成を示している。
【０００４】
図８において、送信したい平文のデータ１１１は、暗号装置１１２に送られる。暗号装置１１２では、当該平文のデータ１１１を、暗号鍵１１０により暗号化する。そして、当該暗号装置１１２にて暗号化されたデータ１１３は、図示してない送信手段から送信される。
【０００５】
一方、図９において、上記暗号文のデータ１１３は、図示しない受信手段にて受信され、復号装置１２２に送られる。復号装置１２２では、図８の暗号化側で用いたのと同じ暗号鍵１１０により、上記暗号文のデータ１１３を復号する。
【０００６】
これにより、復号装置１２２からは、暗号が解かれた平文のデータ１１１が得られることになる。
【０００７】
なお、この例の暗号装置には、例えばいわゆるＤＥＳ（Data Encryption Standard）、Ｔｒｉｐｌｅ−ＤＥＳ、ＡＥＳ（Advanced Encryption Standard）などが使用される。ＤＥＳ、Ｔｒｉｐｌｅ−ＤＥＳについては、ＮＩＳＴ（米国技術標準局）からＦＩＰＳ（連邦情報処理規格）の「FIPS 46-3,Data Encryption Standard」、また、ＡＥＳについては「FIPS 197,Advanced Encryption Standard」が公開されている。
【０００８】
上述したように、図８，図９のシステムの場合、暗号化と復号には同じ暗号鍵１１０が用いられるため、当該暗号鍵１１０を知る者は、送信者と正当な受信者（つまり正当な利用者）のみでなければならず、また、それら送信者と正当な受信者は予め暗号鍵１１０を知っておく必要がある。
【０００９】
しかしながら、これら図８，図９に示されるシステムの場合、送信者と正当な受信者との間で一つの暗号鍵が共有されており、その暗号鍵は常に同じであるので、万が一、或る暗号文データが解読されて暗号鍵が不正な受信者に知れてしまったような場合には、その暗号鍵により他の暗号文データの復号が容易に行われてしまうことになる。
【００１０】
このため、そのような欠点を解決可能な暗号，復号システムとして、図１０及び図１１に示すようなシステムも知られている。図１０はデータを暗号化する側の概略構成を示しており、図１１は復号側の概略構成を示している。
【００１１】
図１０において、送信したい平文のデータ１３５は、暗号装置１３６に送られる。この図１０の構成の場合、暗号装置１３６は、当該平文のデータ１３５を、送信毎に変化する暗号鍵にて暗号化する。以下、当該送信毎に変化する暗号鍵をコンテンツ鍵１３２と称する。また、当該コンテンツ鍵１３２は、乱数発生装置１３１にて発生される乱数となされている。ここで、コンテンツ鍵１３２は送信毎に毎回変化する乱数であり、正当な受信者は、当該コンテンツ鍵１３２がなければ暗号データを復号できない。したがって、このシステムでは、正当な受信者がコンテンツ鍵１３２を入手できるようにするために、暗号装置１３３が当該コンテンツ鍵１３２を主暗号鍵１３０にて暗号化した暗号化コンテンツ鍵１３４を、暗号文のデータ１３７と共に図示しない送信手段から送信するようになされている。
【００１２】
一方、図１１において、上記暗号文のデータ１３７は、図示しない受信手段にて受信され、復号装置１４５に送られる。この図１１の構成の場合、復号装置１４５は、当該暗号文のデータ１３７をコンテンツ鍵１３２により復号する。ここで、復号装置１４５にて用いられるコンテンツ鍵１３２は、上記暗号文のデータ１３７と共に送られてきた暗号化コンテンツ鍵１３４を、主暗号鍵１３０にて復号装置１４２が復号したものである。
【００１３】
これにより、復号装置１４５からは、暗号化が解かれた平文のデータ１３５が得られることになる。
【００１４】
なお、この図１０，図１１のシステムの場合、コンテンツ鍵１３２の暗号化と復号には同じ主暗号鍵１３０が用いられるため、当該主暗号鍵１３０を知る者は、送信者と正当な受信者のみでなければならず、また、それら送信者と正当な受信者は、予め主暗号鍵１３０を知っておく必要がある。
【００１５】
このように、図１０及び図１１の暗号及び復号システムの場合、万が一、或る暗号文データが解読されてコンテンツ鍵１３２が不正な受信者に知れてしまったとしても、他の暗号文データの暗号化の際に使用されたコンテンツ鍵と当該解読されたコンテンツ鍵１３２とは全く異なる鍵であるため、その不正な受信者は、当該他の暗号文データを解読することができない。すなわち、不正な受信者が当該他の暗号文データを解読するためには、上記コンテンツ鍵１３２からさらに主暗号鍵１３０を推定しなければならず、コンテンツ鍵を推定する作業と暗号鍵を推定する作業の、２段階の推定作業が必要となり、したがって当該他の暗号文データを解読することは極めて難しくなる。
【００１６】
ここで、図８及び図９のシステムで使用される暗号鍵と、図１０及び図１１のシステムで使用される主暗号鍵は共に、送信者と正当な受信者との間で共有される必要がある。
【００１７】
また、上記システムにおいて、送信者側は、一人の人或いは一台の機器であるかもしれないし、複数の人又は複数の機器であるかもしれない。正当な受信者側も同様に、一人の人或いは一台の機器であるかもしれないし、複数の人又は複数の機器であるかもしれない。さらに、送信者と受信者の数の他に、暗号，復号システムにおいて暗号鍵に何を使用すべきかは、正当な受信者がどのような資格を持たなければならないかという、その暗号の利用目的によって決定されることが多い。
【００１８】
例えば、特定の従業員がデータを暗号化して保管し、その暗号化した本人のみが復号して閲覧可能にするといった利用目的の場合、送信者は１名、受信者は１名、且つ、送信者と受信者は同一となる。またこの場合、暗号鍵としては、例えば従業員番号など、従業員毎に一意で且つ他の従業員とは重複しない情報を用いる必要がある。
【００１９】
また例えば、特定のグループの任意のメンバーがデータを暗号化して送信し、同じグループの全メンバーが復号して閲覧可能にするといった利用目的の場合、送信者は１名、受信者は複数名となる。この場合、暗号鍵としては、例えばグループ名などのように、グループ毎に一意で且つ他のグループとは重複しない情報を用いる必要がある。
【００２０】
また例えば、特定の年度に暗号化し、その年度内にのみ復号を許すような利用目的の場合、暗号鍵としては、例えば年度を表す数字などのように、その期間に一意で且つ他の年度とは重複しない情報を用いる必要がある。
【００２１】
上述したように、暗号鍵には、正当な受信者と判断できる範囲（範疇）や復号できる期間など、正当に復号できるための資格情報と一致するものが用いられることが多い。暗号鍵は、これら資格情報すなわち上述の例でいうと、従業員番号、グループ名、年度を表す数字等から決定されなければならないが、これらの資格情報は、通常、人間が一般的に用いる属性や資格を表す情報であるため、不正な受信者にとっても推定が容易である。したがって、資格情報をそのまま暗号鍵及び主暗号鍵とすることは危険である。
【００２２】
また、暗号，復号システムには、複数の資格情報が一致しないと復号を許さないシステムも存在する。例えば、特定のプロジェクトに属し、さらに特定の部署に属する人間に対してのみ復号を許すシステムの場合、例えばプロジェクトを一意に識別する情報のみを暗号鍵としたり、部署を一意に識別する情報のみを暗号鍵にしたとしても、暗号文が復号されることはない。
【００２３】
上述のように、暗号鍵として使用したい資格情報がそのままでは容易に推定可能であるという問題を解決したいという要求や、複数の資格情報を用いたいという要求を満たすために、暗号鍵は、一般に、例えば図１２に示すような装置により生成されている。
【００２４】
この図１２において、鍵生成装置１００には、正当な受信者の属性・資格を表す複数（１〜ｎ個）の情報が、暗号鍵生成のための元情報ＳＤ１〜ＳＤｎとして入力される。当該鍵生成装置１００は、それら元情報ＳＤ１〜ＳＤｎを用い、特定の計算を行い、その計算結果を暗号鍵ＣＫとして出力する。ここで、図１２の鍵生成装置１００は、例えば、任意長のデータから固定長のバイト列を計算するいわゆるＳＨＡ（Secure Hash Standard）−１或いはＳＨＡ−２５６、ＳＨＡ−３８４，ＳＨＡ−５１２などのハッシュアルゴリズムにより、上記特定の計算を行う装置を用いることができる。すなわち、この例の場合の鍵生成装置１００は、入力された元情報ＳＤ１〜ＳＤｎを全てバイト列とみなして連結し、その連結されたバイト列を上記ハッシュアルゴリズムに入力することにより、上記暗号鍵ＣＫを生成する。
【００２５】
なお、ＳＨＡ−１、ＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２については、ＮＩＳＴからＦＩＰＳの「FIPS 180-2,Secure Hash Standard」が公開されている。
【００２６】
その他、暗号鍵の生成のための技術として、特開２００２−２７１３１３の公開特許公報（特許文献１）には、暗号鍵の生成に必要な鍵情報を鍵情報記憶手段に記憶しておき、その鍵情報記憶手段に記憶されていた鍵情報から暗号鍵を生成し、その暗号鍵を用いて暗号化や復号を行うシステムが開示されている。
【００２７】
【特許文献１】特開２００２−２７１３１３公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【００２８】
ところで、上述したような暗号鍵生成装置は、例えば、暗号文データを作成したり、暗号文データを復号して利用したり、暗号文データそのものを利用するような機器、すなわち例えば、映像や音声データを暗号化して録画するビデオレコーダやオーディオコンポ、それを再生する携帯型オーディオプレーヤなどに組み込まれることになる。
【００２９】
但し、これらの機器は市販されるものであるため、不正な利用者にとっても容易に入手できることになる。そして、この不正な利用者は、それら入手した機器を例えば分解、観察、解析等することにより、暗号鍵生成装置の動作原理や暗号鍵生成時の元になる情報の解読を試みると考えられる。
【００３０】
したがって、不正な利用者による暗号鍵の元情報が解読されてしまうのを防ぐために、通常は、当該元情報をそのままの状態で機器内に記憶させるようなことはせずに、例えば、解析や改造操作等を検知して自己破壊するような特殊な部品中に元情報を格納したり、或いは、元情報自体を例えば暗号化して簡単に観察できない状態にして保存するようなことが行われている。なお、元情報がこのように隠されて格納されているような場合において、例えば正当な利用者による使用の際には、上記特殊な部品から読み出したり、暗号化さあれた元情報を復号することで使用可能な状態に戻された元情報から暗号鍵が生成されることになる。
【００３１】
しかしながら、上述したように、元情報を特殊な部品内に格納したり、暗号化して保存するようにしたとしても、実際に暗号化や復号を行う際には、当該元情報を、それら暗号化や復号に使用する暗号鍵の生成のために利用可能な状態に戻す必要があり、したがって、そのように利用可能な状態で機器上に元情報が存在している間は、不正な利用者により当該元情報が観察・解読されてしまう恐れがある。
【００３２】
また例えば、元情報が常に変わらない情報であるならば、例えば、工場から機器が出荷される前など、不正な利用者が観察できない期間に、元情報から暗号鍵を生成し、その暗号鍵を機器内に記憶させておくようにし、元情報が装置内に存在しない状態にするか、又は利用可能な状態には二度と戻らないようにしておくことで、不正な利用者が元情報を解読できないようにすることも考えられる。
【００３３】
しかし、一般に、元情報には、暗号装置や復号装置の使用回数を示す情報や、暗号化しようとするデータの長さを表す情報、暗号化しようとするデータの一部の情報、暗号化しようとするデータが複数ある場合にその何番目であるかを示す情報、或いは、日付や時刻の情報など、利用毎に変化する情報が含まれることが多いため、この場合には、暗号又は復号の操作を行う毎や暗号鍵を生成する毎に、元情報を利用可能な状態しておく必要があり、その間は不正な利用者にとっても観察可能な状態になってしまう。
【００３４】
本発明は、このような実情に鑑みて提案されたものであり、暗号鍵生成のための元情報が不正な利用者により観察される危険性を最小限に抑えることを可能とする暗号鍵生成装置及び方法と、暗号鍵が解読されることで暗号文のデータが解読されてしまう危険性を最小限に抑えることを可能とする情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００３５】
本発明の暗号鍵生成装置は、少なくとも一つの初段用元情報を用いた所定の演算処理により中間情報を生成する初段の演算手段と、少なくとも一つの最終段用元情報と、一つ前段の演算手段により生成された少なくとも一つの中間情報とを用いた所定の演算により、暗号鍵を生成する最終段の演算手段とを有することにより、上述した課題を解決する。
【００３６】
本発明の暗号鍵生成方法は、少なくとも一つの初段用元情報を用いた所定の演算処理を演算手段が行って中間情報を生成する工程と、少なくとも一つの最終段用元情報と、一つ前段の演算処理により生成された少なくとも一つの中間情報とを用いた所定の演算を演算手段が行って暗号鍵を生成する工程とを有することにより、上述した課題を解決する。
【００３７】
本発明の情報処理装置は、少なくとも一つの初段用元情報を用いた所定の演算処理により中間情報を生成し、少なくとも一つの最終段用元情報と一つ前段の演算処理により生成された少なくとも一つの中間情報とを用いた所定の演算により暗号鍵を生成する暗号鍵生成手段と、暗号鍵生成手段にて生成された暗号鍵を用いて、所定の情報を暗号化若しくは復号する手段とを有することにより、上述した課題を解決する。
【００３８】
そして、本発明において、初段用元情報は変更される頻度が最も低い情報となされ、最終段用元情報は変更される頻度が最も高い情報となされている。
【００３９】
すなわち本発明によれば、暗号鍵を生成する処理を複数に分割しており、それら複数の処理の間で発生する中間的な演算結果（中間情報）を保持すると同時に、変更頻度の低い元情報を、より前の段階での演算に使用し、一方、変更頻度の高い元情報を、より後の段階での演算に使用するようにし、後の段階の演算の際には、一つ前の演算により得られた中間情報と元情報を用いた演算を行うようにしている。
【発明の効果】
【００４０】
本発明においては、変更頻度の低い元情報を、より前の段階での演算に使用し、変更頻度の高い元情報を、より後の段階での演算に使用し、後の段階の演算の際には、一つ前の演算により得られた中間情報と元情報を用いた演算を行うことにより、各元情報の変更頻度に応じて、各元情報が利用可能な状態で存在する期間や回数を最小限に抑えることができるようになり、その結果、暗号鍵生成の元情報が不正な利用者により観察される危険性を最小限に抑えることが可能となり、また、暗号鍵が解読されることで暗号文のデータが解読されてしまう危険性を最小限に抑えることができる。
【発明を実施するための最良の形態】
【００４１】
以下、図面を参照しながら、本発明の暗号鍵生成装置及び方法、情報処理装置の実施の形態について説明する。
【００４２】
本発明実施形態の暗号鍵生成装置は、暗号及び復号を行うために使用される暗号鍵を、複数の元情報から生成する装置であり、元情報の特性、特に、元情報がどの程度の頻度によって変更されるかに注目して、暗号鍵を生成する処理を複数に分割し、且つ、それら複数の処理の間で発生する中間的な演算結果を保持すると共に、変更頻度の低い元情報を、より前の段階での演算に使用する一方で、変更頻度の高い元情報を、より後の段階での演算に使用することにより、各元情報が利用可能な状態で存在する期間や回数を最小限に抑えるようにしたものである。
【００４３】
〔第１の実施形態〕
図１には、本発明の第１の実施形態の暗号鍵生成装置の概略構成を示す。なお、この図１は、元情報がｎ個、暗号鍵を生成する処理の分割数がｍ個の例を示している。
【００４４】
この図１において、ｎ個の元情報ＳＤ１〜ＳＤｎのうち、元情報ＳＤ１とＳＤ２は、変更頻度の低い情報であり、暗号鍵生成装置ＫＧＵの第１の演算部ＯＰ１に送られる。第１の演算部ＯＰ１は、元情報ＳＤ１とＳＤ２を用い、複数分割された暗号鍵生成処理のうちの第１の演算処理を行う。当該第１の演算部ＯＰ１での処理により得られた情報は、第１の中間情報ＭＩ１として記憶手段に記憶される。
【００４５】
元情報ＳＤ３は、元情報ＳＤ１，ＳＤ２よりも変更頻度が高い情報であり、第１の中間情報ＭＩ１と共に第２の演算部ＯＰ２へ送られる。第２の演算部ＯＰ２は、上記記憶手段に記憶されている第１の中間情報ＭＩ１と上記元情報ＳＤ３とを用い、上記複数分割された暗号鍵生成処理のうちの第２の演算処理を行う。当該第２の演算部ＯＰ２での処理により得られた情報は、第２の中間情報ＭＩ２として記憶手段に記憶される。
【００４６】
以下同様の処理が行われ、変更頻度が最も高い元情報ＳＤｎは、一つ前の段階の中間情報と共に最終段の演算部ＯＰｍへ送られる。最終段の演算部ＯＰｍは、記憶手段に記憶されている上記一つ前の段階の中間情報と上記元情報ＳＤｎとを用い、上記複数分割された暗号鍵生成処理のうちの最終段の演算処理を行う。当該最終段の演算部ＯＰｍでの処理により得られた情報は、暗号鍵生成装置ＫＧＵから暗号鍵ＣＫとして出力される。
【００４７】
〔第１の実施形態の具体例〕
図２には、第１の実施形態の暗号鍵生成装置ＫＧＵの具体例（以下、暗号鍵生成装置２０とする）を示す。図２の例は、図１の構成においてｎ＝４、ｍ＝３となされ、元情報ＳＤ１が機器固有番号１０、元情報ＳＤ２がサービス識別番号１１、元情報ＳＤ３が暗号化日付１２、元情報ＳＤ４が暗号化するデータの長さ（以下単にデータ長１３とする）となされた場合の構成例を示している。
【００４８】
上記元情報ＳＤ１である機器固有番号１０は、機器の製造番号など機器１台１台を一意に識別可能な情報である。当該機器固有番号１０のような情報は、例えば、データを暗号化した機器でのみ復号可能とするような場合に、暗号鍵の元情報として利用されることがある。
【００４９】
元情報ＳＤ２であるサービス識別番号１１は、暗号化しようとするデータが、例えば音楽コンテンツダウンロードサービスにて配信されたデータであるような場合に、その配信サービスを一意に識別できる情報である。当該サービス識別番号１１には、通常は他のサービスの番号と重複する可能性が確率的に略々ゼロで、且つ他社が推定不可能なように大きな桁数の特定の整数などが用いられる。このサービス識別情報１１のような情報は、例えば、或る会社の運営する配信サービスにてダウンロードされたデータを暗号化して保存したデータが、他の会社の運営する配信サービス用の受信機器では復号或いは利用できないようにする場合に、暗号鍵の元情報として利用されることがある。
【００５０】
元情報３である暗号化日付１２は、暗号化処理を行った日付を表す情報である。この暗号化日付１２のような情報は、例えば、暗号化処理を行った日付を受信者側に伝送でき、その日付を元情報として使用している事実を知らない不正な受信者、或いは、その日付そのものを知らない不正な受信者が復号できないようにする場合に、暗号鍵の元情報として利用されることがある。
【００５１】
元情報４である上記データ長１３は、暗号化される平文のデータの長さを表す情報である。このデータ長１３のような情報は、例えば、当該データ長を受信者側に伝送でき、そのデータ長の情報を元情報として使用している事実を知らない不正な受信者、或いは、そのデータ長の情報そのものを知らない不正な受信者が復号できないようにする場合に、暗号鍵の元情報として利用されることがある。
【００５２】
ここで、本実施形態にて利用される上記機器固有番号１０、サービス識別番号１１、暗号化日付１２、データ長１３の四つの元情報を分析してみると、機器固有番号１０は、機器製造時、すなわち工場出荷前までに確定する性質を持つ情報である。サービス識別番号１１は、機器で利用できるサービスが設計段階で決定されている場合、上記機器固有番号１０と同様に機器製造時、すなわち工場出荷前までに確定する性質を持つ情報である。暗号化日付１２は、工場出荷前までには確定しない情報であるが、一日に一回しか変化しない性質を持つ情報である。データ長１３は、暗号化したいデータそのものに依存する情報であり、暗号化処理のたびに毎回変化する性質を持つ情報である。言い換えると、機器固有番号１０とサービス識別番号１１は、変更される頻度が最も低い情報であり、データ長１３は、変更される頻度が最も高い情報であり、そして、暗号化日付１２の変更頻度はそれらの中間となっている。
【００５３】
図２に示す本実施形態の暗号鍵生成装置２０は、これらの性質を持った元情報から暗号鍵を生成するに当たり、先ず、前述の第１の演算部ＯＰ１の具体例である第１の一方向性関数演算部２１において、上記機器固有番号１０及びサービス識別番号１１を用い、例えば、ハッシュアルゴリズム等の一方向性関数演算処理を行って第１の中間情報２２を生成する。そして、当該第１の中間情報２２は、記憶手段に記憶される。
【００５４】
ここで、当該第１の一方向性関数演算部２１に入力する元情報は、上述したように工場から機器が出荷される前に確定する情報である上記機器固有番号１０とサービス識別番号１１となされており、したがって、当該第１の一方向性関数演算部２１での処理は、工場から機器が出荷される前、つまり不正な利用者が観察不可能な期間内に行われることになるため、その不正な利用者によりそれら二つの元情報が解読されることを阻止できる。すなわち、機器固有番号１０とサービス識別番号１１は、読み取り可能な状態で存在する期間が工場出荷前のみの期間であり、これらの情報が不正な利用者により観察可能な状態で存在する期間は実質ゼロとなるため、当該不正な利用者が観察によりそれら情報を解読することは不可能であると考えられる。
【００５５】
また、第１の一方向性関数演算部２１は、入力された機器固有番号１０とサービス識別番号１１を全てバイト列とみなして連結し、その連結されたバイト列を、ハッシュアルゴリズムに入力することにより、上記第１の中間情報２２を生成している。ハッシュアルゴリズムには、任意長のデータから固定長のバイト列を計算するＳＨＡ−１やＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２等があり、これらのハッシュアルゴリズムは、出力結果から入力を推定することが極めて困難な一方向性関数演算である。したがって、第１の中間情報２２を例えば記憶手段内に保管しておいた場合に、不正な利用者が何らかの手法により第１の中間情報２２を取り出すことができたとしても、その第１の中間情報２２から元情報である機器固有番号１０とサービス識別番号１１を推定することは極めて困難である。
【００５６】
次に、暗号鍵生成装置２０では、暗号化日付１２の情報と上記記憶手段に保管された第１の中間情報２２が、第２の一方向性関数演算部２３へ送られる。当該第２の一方向性関数演算部２３では、上記暗号化日付１２の情報と第１の中間情報２２を用い、ハッシュアルゴリズム等の一方向性関数演算処理を行って第２の中間情報２４を生成する。そして、当該第２の中間情報２４は、記憶手段に記憶される。
【００５７】
ここで、第１の中間情報２２は工場出荷時に確定している情報であり、暗号化日付１２の情報は、１日に１回しか変化しない情報である。したがって、第２の一方向性関数演算部２３にて生成される第２の中間情報２４も、１日に１回しか変化しない情報となる。言い換えると、第２の一方向性関数演算部２３での処理は、１日に１回しか行う必要がない処理である。このため、第２の一方向性関数演算部２３で行われる処理は、前回演算処理が行われた日付により日付が変更されてから、次に最初に演算処理が行われるまでの任意の時刻に１回のみ行えば良く、したがって、不正な利用者がデータを観察するのは１日１回と少なくなり、且つそのタイミングを推定するのは極めて困難となる。
【００５８】
また、第２の一方向性関数演算部２３では、ハッシュアルゴリズムによる演算を行うため、第２の中間情報２４を例えば記憶手段内に保管しておいた場合に、不正な利用者が何らかの手法により第２の中間情報２４を取り出すことができたとしても、当該第２の中間情報２４から元情報である第１の中間情報２２と暗号化日付１２を推定することは極めて困難である。すなわち、不正な利用者は、第１の中間情報２２や暗号化日付１２、さらに元情報に暗号化の日付が用いられていることを推定するのは非常に困難である。
【００５９】
次に、暗号鍵生成装置２０では、データ長１３の情報と上記記憶手段に保管された第２の中間情報２４が、第３の一方向性関数演算部２５へ送られる。当該第３の一方向性関数演算部２５では、上記データ長１３の情報と第２の中間情報２４を用い、ハッシュアルゴリズム等の一方向性関数演算処理を行う。そして、この第３の一方向性関数演算部２５からの出力が、当該暗号鍵生成装置２０にて生成された暗号鍵３０として出力される。
【００６０】
ここで、前段の暗号化日付１２の情報は１日に１回しか変化しない情報であるが、第３の一方向性関数演算部２５に入力されるデータ長１３の情報は、暗号鍵生成処理毎に変化する情報である。このため、第３の一方向性関数演算部２５での処理は、ハッシュアルゴリズムによる演算が行われるため、不正な利用者が、暗号鍵３０から第２の中間情報２４やデータ長１２を推定するのは困難であると考えられるものの、暗号鍵生成処理毎に行われることになり、不正な利用者にとってデータを比較的観察し易いタイミングとなる。しかしながら、この段階において、機器固有番号１０やサービス識別番号１１，暗号化日付１２の情報は、不正な利用者からは観察できない状態、つまり既に中間情報の状態となっているので、当該不正な利用者は、上記暗号鍵３０から、それら機器固有番号１０やサービス識別番号１１，暗号化日付１２の情報を推定することは不可能である。
【００６１】
以上説明したように、本発明の第１の実施形態の暗号鍵生成装置２０によれば、変更頻度が最も低い元情報である機器固有番号１０やサービス識別番号１１を用いて、最も前の段階である第１の一方向性関数演算部２１により演算処理し、且つ、その演算処理により得られた第１の中間情報２２を記憶手段に保持させ、次に変更頻度が低い元情報である暗号化日付１２の情報と第１の中間情報２２を用いて、第２の一方向性関数演算部２３により演算処理し、且つ、その演算処理により得られた第２の中間情報２４を記憶手段に保持させ、その後、最も変更頻度が高い元情報であるデータ長１３と第２の中間情報２４を用いて、第３の一方向性関数演算部２５により演算処理して得られた情報を暗号鍵３０として出力することにより、元情報が観察可能となる期間や回数を少なくし、不正な利用者が暗号鍵３０の生成のための元情報を解読する危険性を最小限に抑えることを可能としている。したがって、本実施形態の暗号鍵生成装置２０によれば、暗号鍵の元情報が、暗号化されたデータを不正に復号したり、不正に復号化したデータを作成、閲覧、配布、販売等するのに用いられることを防止でき、また、暗号化されたデータを不正に改竄，改変するために使用されたり、閲覧、配布、販売等するのに用いられることを防止でき、さらに、不正に暗号化データを製造して、閲覧、配布、販売等するのに用いられることを防止でき、また、その可能性を最小限にすることが可能となる。
【００６２】
〔第２の実施形態〕
次に、図３には、本発明の第２の実施形態の暗号鍵生成装置の概略構成を示す。
【００６３】
この第２の実施形態の暗号鍵生成装置は、工場出荷時に確定してしまう元情報については、当該工場での製造時に中間情報を生成してしまい、その中間情報を装置内の記憶手段に保持させておくことで、それらの情報用の演算手段を無くした構成例である。なお、図３において、図１と同じ構成要素には同一の指示符号を付しており、それらの説明は適宜省略している。
【００６４】
図３の暗号鍵生成装置において、第１の中間情報ＭＩ１は、工場での製造時に既に元情報ＳＤ１とＳＤ２から生成されて記憶手段に保管されている情報である。したがってこの図３の構成は、図１の第１の演算部ＯＰ１を備えていない。
【００６５】
第２の演算部ＯＰ２は、上記記憶手段に記憶されている第１の中間情報ＭＩ１と元情報ＳＤ３とを用いて第２の演算処理を行う。そして、当該第２の演算部ＯＰ２での処理により得られた情報は、第２の中間情報ＭＩ２として記憶手段に記憶される。
【００６６】
以下同様の処理が行われ、最終段の演算部ＯＰｍでは、記憶手段に記憶されている一つ前の段階の中間情報と元情報ＳＤｎとを用いた演算処理が行われ、当該演算部ＯＰｍでの処理により得られた情報が暗号鍵生成装置ＫＧＵから暗号鍵ＣＫとして出力される。
【００６７】
この第２の実施形態によれば、元情報ＳＤ１とＳＤ２が観察可能な状態になる期間が一切ないため、不正な利用者がそれら元情報を推定することは不可能となる。
【００６８】
〔第２の実施形態の具体例〕
図４には、第２の実施形態の暗号鍵生成装置ＫＧＵの具体例（以下、暗号鍵生成装置４０とする）を示す。図４の例は、前述した図２の構成から機器固有番号１０とサービス識別番号１１及び第１の一方向性関数演算部２１を除いた構成となっている。なお、図４において、図２と同じ構成要素には同一の指示符号を付しており、それらの説明は適宜省略している。
【００６９】
この図４に示した第２の実施形態の構成によれば、機器固有番号１０とサービス識別番号１１が観察可能な状態になる期間が一切ないため、不正な利用者がそれら元情報を推定することは不可能となる。
【００７０】
〔第３の実施形態〕
上述した第１，第２の実施形態では、図１，図３の演算部、図２，図４の一方向性関数演算部をそれぞれ直列方向に多段接続した構成を挙げているが、本発明は、例えば図５に示すように、一つの一方向性演算部６２に対する入力を切換選択スイッチ６１，６４により選択的に切換、初段の演算処理を除いて、一方の入力へ元情報を入力し、他方の入力に出力（記憶された中間情報）をループするような処理を行うようにしても良い。
【００７１】
すなわちこの図５の構成において、切換選択スイッチ６１の三つの被切換端子には機器固有番号１０、記憶部６３Ａからの中間情報及び記憶部６３Ｂからの中間情報が供給されるようになっており、また、切換選択スイッチ６４の三つの被切換端子にはそれぞれサービス識別番号１１，暗号化日付１２，データ長１３が供給されるようになっている。これら切換選択スイッチ６１，６４は、制御部６５の制御の元で切換動作する。また、切換選択スイッチ６１，６４の出力端子は、各々、一方向性関数演算部６２の二つの入力端子に接続されている。
【００７２】
このような構成において、最初に、第１の中間情報が生成される際には、切換選択スイッチ６１を介した機器固有番号１０と切換選択スイッチ６４を介したサービス識別情報とが一方向性関数演算部６２に送られ、その演算結果は切換選択スイッチ６６を介して記憶部６３Ａに記憶され、次いで、第２の中間情報が生成される際には、切換選択スイッチ６１を介した記憶部６３Ａからの第１の中間情報と切換選択スイッチ６４を介した暗号化日付１２が一方向性関数演算部６２に送られ、その演算結果は切換選択スイッチ６６を介して記憶部６３Ｂに記憶され、最後に、暗号鍵３０が生成される際には、切換選択スイッチ６１を介した記憶部６３Ｂからの第２の中間情報と切換選択スイッチ６４を介したデータ長１３が一方向性関数演算部６２に送られ、その演算結果は切換選択スイッチ６６を介して暗号鍵３０として出力される。
【００７３】
この第３の実施形態によれば、少ない構成要素で第１，第２の実施形態と同様に暗号鍵が生成可能となる。
【００７４】
〔暗号，復号システム〕
次に、図６，図７には、上述した本発明実施形態の暗号鍵生成装置が適用される暗号，復号システムの概略構成を示す。なお、図６はデータを暗号化する側の概略構成を示しており、図７は復号側の概略構成を示している。
【００７５】
図６において、送信したい平文のデータ４５は、暗号装置４６に送られる。この図６の構成の場合、暗号装置４６は、当該平文のデータ４５を、送信毎に変化する暗号鍵であるコンテンツ鍵４２にて暗号化する。上記コンテンツ鍵４２は、乱数発生装置４１にて発生される乱数となされている。また、コンテンツ鍵４２は送信毎に毎回変化する乱数であり、正当な受信者は当該コンテンツ鍵４２がなければ暗号データを復号できないので、このシステムでは、正当な受信者がコンテンツ鍵４２を入手できるようにするために、当該コンテンツ鍵４２を暗号装置４３が主暗号鍵５０にて暗号化した暗号化コンテンツ鍵４４を、暗号文のデータ４７と共に図示しない送信手段から送信するようになされている。
【００７６】
すなわちこの図６のシステムにおいては、上記コンテンツ鍵４２を暗号化する際に用いられる主暗号鍵５０が、上述した本実施形態の暗号鍵生成装置により生成された暗号鍵３０となっている。
【００７７】
一方、図７において、上記暗号文のデータ４７は、図示しない受信手段にて受信され、復号装置５５に送られる。この図７の構成の場合、復号装置５５は、当該暗号文のデータ４７をコンテンツ鍵４２により復号する。ここで、復号装置５５にて用いられるコンテンツ鍵４２は、上記暗号文のデータ４７と共に送られてきた暗号化コンテンツ鍵４４を、主暗号鍵５０にて復号装置５２が復号したものである。
【００７８】
すなわちこの図７のシステムにおいては、上記暗号化コンテンツ鍵４４を復号する際に用いられる主暗号鍵５０が、上述した本実施形態の暗号鍵生成装置により生成された暗号鍵３０となっている。
【００７９】
これにより、復号装置５５からは、暗号化が解かれた平文のデータ４５が得られることになる。
【００８０】
以上のように、本実施形態の暗号，復号システムによれば、本実施形態の暗号鍵生成装置により生成された主暗号鍵を用いてコンテンツ鍵の暗号化，復号を行うようになされているため、主暗号鍵が解読されることで、コンテンツ鍵が解読されること、引いては暗号文のデータが解読されてしまうことを防止可能となっている。
【００８１】
〔まとめ〕
以上説明したように、本発明実施形態によれば、暗号鍵を生成する処理を複数に分割した各処理の間で発生する中間的な演算結果を保持すると共に、変更頻度の低い元情報を、より前の段階での演算に使用し、変更頻度の高い元情報を、より後の段階での演算に使用することにより、元情報が利用可能な状態で存在する期間や回数を最小限に抑え、不正な利用者から元情報を最大限保護することが可能となり、これによって、最大限強固な暗号・復号システムが構築できるため、これを利用したサービスアプリケーションを最大限利用・活用することが可能となっている。
【００８２】
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【００８３】
例えば、図６，図７は、図１０，図１１のシステムに本発明実施形態の暗号鍵生成装置を適用した例であるが、本発明実施形態の暗号鍵生成装置は、前述した図８，図９の暗号鍵の生成の際にも適用可能である。
【００８４】
また、本発明実施形態では、元情報として機器固有番号１０やサービス識別番号１１、暗号化日付１３、データ長１４等を例に挙げているが、本発明は元情報の種別そのものに依存しておらず、その変更頻度のみに着目することが本発明の本質であるので、どのような元情報の種類に対しても適用が可能である。
【００８５】
また、本発明実施形態では、図２で説明したように、単一のサービスのための機器１台を例示しており、そのため、元情報として機器固有番号１０やサービス識別番号１１が固定の情報であり、変化しない情報であるとしているが、本発明は、単一の機器が複数のサービスをサポートしていたり、単一のサービスであっても複数のサービス識別番号を持つようなシステムにも適用可能である。なおこの例の場合、それらサービスの識別番号は複数存在することになるため、変更頻度が或る程度高くなるが、その変化のバリエーションは、前述した暗号化日付やデータの長さ情報などのように無数のパターンを有するわけではなく、有限の数のパターンになる。したがって、暗号鍵の生成の際には、その有限の組み合わせの全てについて中間情報を生成しておけば良く、それら有限の組み合わせにより得られる複数の中間情報から必要に応じた中間情報を選択的に使用して暗号鍵を生成すれば良い。
【００８６】
また、本発明は、暗号及び復号のための暗号鍵を内部的に生成する全ての装置、システムに適用可能であり、例えばパーソナルコンピュータ上で暗号，復号を行うアプリケーションソフトや、暗号，復号を主たる目的とはしないが内部的に暗号，復号を行って著作権で保護された音楽，映像コンテンツ等を記録，再生するソフトウェア、或いは、それと同様の機能を持つディジタルビデオカメラやディジタルスチルカメラ、ビデオレコーダ、ビデオプレーヤ、音楽レコーダ、音楽プレーヤ、ＰＤＡ（Personal Digital Assistant）、携帯電話端末、またそれらの複合的機能を持つ製品など、パーソナルコンピュータ以外の全ての機器にも適用可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の第１の実施形態の暗号鍵生成装置の概略構成を示すブロック図である。
【図２】本発明の第１の実施形態の暗号鍵生成装置の具体的構成例を示すブロック図である。
【図３】本発明の第２の実施形態の暗号鍵生成装置の概略構成を示すブロック図である。
【図４】本発明の第２の実施形態の暗号鍵生成装置の具体的構成例を示すブロック図である。
【図５】本発明の第３の実施形態の暗号鍵生成装置の具体的構成例を示すブロック図である。
【図６】本発明実施形態の暗号鍵生成装置が適用される暗号システムの概略構成を示すブロック図である。
【図７】本発明実施形態の暗号鍵生成装置が適用される復号システムの概略構成を示すブロック図である。
【図８】秘密鍵を用いて暗号化を行う従来の単純な暗号システムの概略構成を示すブロック図である。
【図９】秘密鍵を用いて暗号化を行う従来の単純な復号システムの概略構成を示すブロック図である。
【図１０】コンテンツ鍵用いて暗号化を行うと共に、コンテンツ鍵を主暗号鍵にて暗号化し、その暗号化コンテンツ鍵と暗号文を送信する従来の暗号システムの概略構成を示すブロック図である。
【図１１】暗号化コンテンツ鍵を主暗号鍵にて復号し、そのコンテンツ鍵にて暗号文を復号する従来の暗号システムの概略構成を示すブロック図である。
【図１２】複数の元情報から暗号鍵を生成する従来の暗号鍵生成装置の概略構成を示すブロック図である。
【符号の説明】
【００８８】
ＳＤ１〜ＳＤｎ  元情報、ＯＰ１  第１の演算部、ＯＰ２  第２の演算部、ＯＰｍ  最終段の演算部、ＭＩ１，２２  第１の中間情報、ＭＩ２，２４  第２の中間情報、ＣＫ  暗号鍵、ＫＧＵ  暗号鍵生成装置、１０  機器固有番号、１１  サービス識別番号、１２  暗号化日付、１３  データ長、２０，４０，６０  暗号鍵生成装置、２１  第１の一方向性関数演算部、２３  第２の一方向性関数演算部、２５  第３の一方向性関数演算部、３０  暗号鍵、４１  乱数発生装置、４２  コンテンツ鍵、４３，４６  暗号装置、４４  暗号化コンテンツ鍵、４５  平文、４７  暗号文、５０  主暗号鍵、６１，６４  切換選択スイッチ、６２  一方向性関数演算部、６３  記憶部、６５  制御部
【図１】
2005210430.tif 000003
【図２】
2005210430.tif 000004
【図３】
2005210430.tif 000005
【図４】
2005210430.tif 000006
【図５】
2005210430.tif 000007
【図６】
2005210430.tif 000008
【図７】
2005210430.tif 000009
【図８】
2005210430.tif 000010
【図９】
2005210430.tif 000011
【図１０】
2005210430.tif 000012
【図１１】
2005210430.tif 000013
【図１２】
2005210430.tif 000014