JP3625355B2 - 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法 - Google Patents

外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法 Download PDF

Info

Publication number
JP3625355B2
JP3625355B2 JP10205697A JP10205697A JP3625355B2 JP 3625355 B2 JP3625355 B2 JP 3625355B2 JP 10205697 A JP10205697 A JP 10205697A JP 10205697 A JP10205697 A JP 10205697A JP 3625355 B2 JP3625355 B2 JP 3625355B2
Authority
JP
Japan
Prior art keywords
key
temporary key
temporary
decrypted
cpu bus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10205697A
Other languages
English (en)
Other versions
JPH10293725A (ja
Inventor
岳久 加藤
直樹 遠藤
朝彦 山田
皙男 田中
信博 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP10205697A priority Critical patent/JP3625355B2/ja
Publication of JPH10293725A publication Critical patent/JPH10293725A/ja
Application granted granted Critical
Publication of JP3625355B2 publication Critical patent/JP3625355B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル化された文書、音声、画像、プログラムなどのデータをネットワークを介して通信を行うシステムあるいは前記ディジタルデータを記録保存し、読み出しするシステムのための外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法に関する。
【0002】
【従来の技術】
現在、計算機が広範に普及しており、種々の分野で情報を電子化して処理し、あるいは情報を電子化して記録装置に保存することが通常行われるようになっている。また、ネットワーク環境も益々整ってきており、情報を電子化して通信することも通常行われるようになってきている。さらには、文書情報だけでなく、音声や画像などのデータを電子化して扱う技術も急速に進歩してきている。
【0003】
ところで、電子化して扱う情報には、もちろん企業秘密や個人情報のように秘匿性を要する情報が含まれる。また、著作権に係る情報のように扱いに注意を要する情報も含まれる。
【0004】
そこで、情報を電子化して扱う際に、暗号化を行っておき、正当な者だけがこれを復号できるようにする技術が良く使われている。
例えば、データを暗号化して記録媒体に保存し、また記録媒体から暗号化データを読み出して復号し元のデータを取り出す暗号システムでは、予め暗号化と復号に用いる秘密鍵を定めておき、この秘密鍵を用いて保存、読み出しが行われる。このシステムによれば、秘密鍵を用いることができる者だけが保存された暗号化データを復号することができ、秘密鍵が解読されない限り、秘密鍵を用いることができない第三者が暗号化されたデータを不正に解読することはできない。
【0005】
【発明が解決しようとする課題】
しかしながら、上記システムでは、もし第三者の不正な攻撃により秘密鍵が解読されると、すべての暗号化データが解読されるばかりでなく、解読により得たデータ(プレインデータ)を自由にコピーすることが可能となってしまう。
【0006】
また、秘密鍵が解読されなくても、他の暗号化システムにも同一の秘密鍵を内蔵するような場合には、暗号化データをそのままコピーすることにより、簡単に海賊版の作成ができてしまう。
【0007】
さらに、秘密鍵が暴かれたことが発覚した場合、該当する暗号化システムの秘密鍵を更新する必要があり繁雑であるだけでなく、秘密鍵の更新後には当該暴かれた秘密鍵が復号にも使用できなくなるような更新形態をとるシステムにおいては、秘密鍵の更新後は当該暴かれた秘密鍵で暗号化されていたデータを復号することができなくなり、正当な者も元の内容を得ることができなくなってしまう不具合がある。
【0008】
本発明は、上記事情を考慮してなされたものであり、第三者による不正なコピーを防止することができる外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【0009】
また、本発明は、第三者が鍵情報を取得しあるいは暗号化データを解読することを困難にする外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【0010】
さらに、本発明は、鍵情報の更新手続きを不要とする外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は、計算機のCPUバスを介さずに入力したデータ(デジタル化されたデータ;例えば、文書、音声、画像、プログラムなど)を所定の記録媒体に記録する前に所定のデータ暗号化鍵で暗号化するとともに該所定のデータ暗号化鍵をも該記録媒体に記録する前に所定の秘密鍵で暗号化する装置のために、該計算機のCPUバスに接続されて使用される処理機能を有する外部記憶装置(例えば、ICカード)であって、自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、前記計算機のCPUバスを介して前記暗号化する装置に前記固有の秘密鍵を前記所定の秘密鍵として、外部から取得されることなく安全に伝えるための手段とを備えたことを特徴とする。
【0012】
本発明は、所定の記録媒体から読み出され計算機のCPUバスを介して与えられた所定の秘密鍵で暗号化されたデータ暗号化鍵を復号し、得られたデータ暗号化鍵を用いて該記録媒体から読み出され該CPUバスを介して与えられた所定のデータ暗号化鍵で暗号化されたデータを復号する装置のために、該計算機のCPUバスに接続されて使用される処理機能を有する外部記憶装置であって、自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、前記計算機のCPUバスを介して前記復号する装置に前記固有の秘密鍵を前記所定の秘密鍵として、外部から取得されることなく安全に伝えるための手段とを備えたことを特徴とする。
【0013】
本発明は、計算機のCPUバスを介さずに入力されたデータを、所定の記録媒体に記録する前に暗号化する暗号化ユニット装置であって、所定の外部記憶装置から前記CPUバスを介して、該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に受け取るための手段と、データ暗号化鍵を生成する装置から前記CPUバスを介して、生成されたデータ暗号化鍵を外部から取得されることなく安全に受け取るための手段と、受け取った前記固有の秘密鍵を用いて受け取った前記データ暗号化鍵を暗号化するための手段と、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化するための手段とを備えたことを特徴とする。
【0014】
本発明は、暗号化されて所定の記録媒体に記録されたデータを復号する、計算機のCPUバスに接続されて使用される復号化ユニット装置であって、所定の外部記憶装置から前記CPUバスを介して、該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に受け取るための手段と、受け取った前記固有の秘密鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられた固有の秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【0015】
本発明は、暗号化されて所定の記録媒体に記録されたデータを復号する、計算機のCPUバスに接続されて使用される復号化ユニット装置であって、前記計算機のCPUバスを介さずに入力されたデータを暗号化する暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成し、該CPUバスを介して該暗号化ユニット装置に該データ暗号化鍵を外部から取得されることなく安全に伝えるための手段と、所定の外部記憶装置から前記CPUバスを介して、該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に受け取るための手段と、受け取った前記固有の秘密鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられた固有の秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【0016】
好ましくは、前記記録媒体から読み出された暗号化されたデータを復号して得られたもとのデータに所定の変換処理を施した後に、前記計算機のCPUバスを介さずに外部に出力するための手段をさらに備えても良い。
【0017】
本発明は、計算機のCPUバスに接続された処理機能を有する外部記憶装置とデータ暗号化鍵を生成する装置と暗号化ユニット装置とを用いて該CPUバスを介さずに外部から入力されたデータを所定の記録媒体に記録する前に暗号化する暗号化システムであって、前記外部記憶装置は、自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、前記CPUバスを介して前記暗号化ユニット装置に前記固有の秘密鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記データ暗号化鍵を生成する装置は、前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、前記CPUバスを介して前記暗号化ユニット装置に前記データ暗号化鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記暗号化ユニット装置は、前記外部記憶装置から前記CPUバスを介して前記固有の秘密鍵を外部から取得されることなく安全に受け取るための手段と、前記データ暗号化鍵を生成する装置から前記CPUバスを介して前記データ暗号化鍵を外部から取得されることなく安全に受け取るための手段と、受け取った前記固有の秘密鍵を用いて受け取った前記データ暗号化鍵を暗号化するための手段と、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化するための手段とを備えたことを特徴とする。
【0018】
好ましくは、前記伝えるための手段および前記受け取るための手段は、それぞれ、前記計算機のCPUバスを介した情報のやり取りにより協調して行われる所定の鍵共有手順により所定の一時鍵を外部から取得されることなく共有するための手段を備えるとともに、前記伝えるための手段は、生成された前記データ暗号化鍵を共有した前記一時鍵で復号して出力するための手段を備え、前記受け取るための手段は、与えられた前記一時鍵で復号されたデータ暗号化鍵を共有した前記一時鍵で暗号化するための手段を備えるようにしても良い。
【0019】
本発明は、計算機のCPUバスに接続された処理機能を有する外部記憶装置と復号化ユニット装置を用いて所定の記録媒体に記録された暗号化されたデータを復号する復号化システムであって、前記外部記憶装置は、自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、前記CPUバスを介して前記復号化ユニット装置に前記固有の秘密鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記復号化ユニット装置は、前記外部記憶装置から前記CPUバスを介して前記固有の秘密鍵を外部から取得されることなく安全に受け取るための手段と、受け取った前記固有の秘密鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられた固有の秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【0020】
好ましくは、前記伝えるための手段および前記受け取るための手段は、それぞれ、前記計算機のCPUバスを介した情報のやり取りにより協調して行われる所定の鍵共有手順により所定の一時鍵を外部から取得されることなく共有するための手段を備えるとともに、前記伝えるための手段は、生成された前記データ暗号化鍵を共有した前記一時鍵で暗号化して出力するための手段を備え、前記受け取るための手段は、与えられた前記一時鍵で復号されたデータ暗号化鍵を共有した前記一時鍵で復号するための手段を備えるようにしても良い。
【0021】
好ましくは、前記記録媒体から読み出された暗号化されたデータを復号して得られたもとのデータに所定の変換処理を施した後に、前記計算機のCPUバスを介さずに外部に出力するための手段をさらに備えても良い。
【0022】
本発明は、計算機のCPUバスに接続された処理機能を有する外部記憶装置とデータ暗号化鍵を生成する装置と暗号化ユニット装置とを用いて該CPUバスを介さずに外部から入力されたデータを所定の記録媒体に記録する前に暗号化する暗号化方法であって、前記外部記憶装置から前記CPUバスを介して前記暗号化ユニット装置に、該外部記憶装置内に外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に伝えるとともに、前記データ暗号化鍵を生成する装置から前記CPUバスを介して前記暗号化ユニット装置に、該データ暗号化鍵にて生成されたデータ暗号化鍵を、外部から取得されることなく安全に伝え、前記暗号化ユニット装置にて、受け取った前記固有の秘密鍵を用いて受け取った前記データ暗号化鍵を暗号化し、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化することを特徴とする。
【0023】
本発明は、計算機のCPUバスに接続された処理機能を有する外部記憶装置と復号化ユニット装置を用いて所定の記録媒体に記録された暗号化されたデータを復号する復号化方法であって、前記外部記憶装置から前記CPUバスを介して前記復号化ユニット装置に、該外部記憶装置内に外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に伝えるとともに、前記復号化ユニット装置にて、受け取った前記固有の秘密鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられた固有の秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求め、求められた該データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記CPUバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号することを特徴とする。
【0024】
本発明によれば、データ暗号化鍵をその都度生成してデータを暗号化して記録媒体に記録するとともに、データ暗号化鍵を外部記憶装置内に記憶された固有の秘密鍵により暗号化して記録媒体に記録することにより、暗号化の際に用いた固有の秘密鍵を記憶している外部記憶装置を使用しなければ復号をすることができないことになる。このための、CPUバスから直接に他の記録媒体に記録するなどして記録媒体の複製を作って頒布しても、他の者は復号をすることができない(別の外部記憶装置では復号できない)。
【0025】
また、本発明によれば、データ暗号化鍵や固有の秘密鍵は、例えば共有化した一時鍵を用いて暗号化するなどして、CPUバスを介して装置間で共有するため、CPUバス上を流れる情報を記録したとしても、後にこれを利用することができず(一時鍵が異なるので復号できない)、CPUバスから情報を記録することは無意味になる。
【0026】
また、本発明によれば、データを暗号化するデータ暗号化鍵自体も、またデータ暗号化鍵を共有化するために用いる一時鍵も、毎回変わるため、第3者により暗号を解読することは極めて困難である。
【0027】
したがって、本発明によれば、第3者による不正なコピーを防止することが可能となる。この結果、海賊版などの作成を未然に阻止し、効果的に著作権を守ることができる。
また、本発明によれば、鍵情報の更新手続きが不要となる。
【0028】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
本実施形態では、データを暗号化して記録媒体に記録し、また記録媒体から暗号化データを読み出し復号するシステムを例にとって説明する。
【0029】
本実施形態では、暗号化の操作をEy(x)と表す。ここで、xは暗号化の対象となるデータであり、yは暗号化に用いる暗号鍵である。また、復号化の操作をDy(z)と表す。ここで、zは復号化の対象となるデータであり、yは復号化に用いる復号鍵である。
【0030】
本実施形態では、あるデータをまず復号化し、その後、復号化されたデータを暗号化してもとのデータに戻すことがある。これは、暗号の性質上、データの復号化に暗号化と同等の作用があることに基づいている。つまり、復号化したデータをもとに戻すためには復号化に用いた鍵がわからなければならず、鍵が判れば復号化したデータを暗号化することにより最初に復号化したデータが得られる。この操作は、暗号鍵をxとしデータをyとすれば、
Ex(Dx(y))=y
で表される。
【0031】
本実施形態に係るシステムは、パーソナル・コンピュータなどの計算機(以下、PC)内に備えられたCPU(図示せず)のCPUバスに接続され、全体的な処理の流れの制御はプログラムで実現される。本実施形態では、データの入出力はCPUバス以外の例えばI/Oポート等を通じて行われるが、ディスクドライブ装置(図示せず)とユニットとの間、ユニットとユニットとの間でのデータ転送には、CPUバスが用いられる。従って、CPUバス上を流れるデータには、暗号化(あるいは暗号化に先だって行う復号化)を施している。
【0032】
本実施形態は、概略的には、一纏まりのデータを暗号化する際に、データの暗号化に用いるデータ暗号化鍵Sdkを生成し、記録媒体にはICカード等の内部に格納された固有鍵Kicで暗号化したSdkとSdkで暗号化したデータを記録し、再生時には固有鍵Kicを用いて記録媒体から読み出したデータ暗号化鍵を復号し、これを用いて記録媒体に記録された暗号化データを復号するものである。
【0033】
第1の実施形態ではCPUを介したICカード等とユニット間、ユニットとユニットの間で鍵を共有する1つの例を、第2の実施形態ではCPUを介したICカード等とユニットとの間、ユニットとユニットとの間で鍵を共有する他の1つの例を示す。
【0034】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るデータの暗号化に用いるシステムの構成を示すブロック図である。なお、図1の鍵共有回路30a,30bの内部構成の一例を図2に、図1の鍵共有回路30b,30cの内部構成の一例を図3に示す。また、図4に本システムの暗号化の際の手順を、図5に鍵共有手順の一例を示す。
【0035】
図6は、本発明の第1の実施形態に係るデータの復号に用いるシステムの構成を示すブロック図である。なお、図6の鍵共有回路30a,30cの内部構成の一例を図7に示す。また、図8に本システムの復号の際の手順を、図5に鍵共有手順の一例を示す。
【0036】
図1に示すように、本実施形態に係るシステムは、処理機能を有する外部記憶装置(例えばICカード;以下ではICカードとする)101と暗号化ユニット102と復号化ユニット104を備えている。また、ICカード101と暗号化ユニット102と復号化ユニット104は、PCのCPUバス103に接続されている。なお、ICカード100は使用時のみ接続し、それ以外では取り外して保管しておくのが望ましい。
【0037】
また、CPUバス103にはディスクドライブ装置(図示せず)が接続されており、ディスクドライブ装置により記録媒体121への読み書きが行われる。
図1および図6に示すように、ICカード101は、暗号化に用いる部分として、復号化回路115を備え、復号に用いる部分として、暗号化回路210bを備え、暗号化と復号の両方に用いる部分として鍵共有回路30cを備えている。上記構成部分は、独立した1つのICチップとして形成され、ICカード内に封止されているものとする。
【0038】
なお、ICカード101は、暗号化の際に用いる部分(図1)と、復号の際に用いる部分(図6)の2つに分離して、2つのICカードとして構成しても構わない。
【0039】
暗号化ユニット102は、鍵共有回路30b、暗号化回路117b〜117eを備えている。暗号化ユニット102は、独立した1つのICチップとして形成されるものとする。
【0040】
復号化ユニット104は、暗号化に用いる部分として、データ暗号鍵生成回路105、復号化回路110bを備え、復号に用いる部分として、復号化回路207b〜207dを備え、暗号化と復号の両方に用いる部分として、鍵共有回路30aを備えている。復号化ユニット104は、独立した1つのICチップとして形成されるものとする。
【0041】
なお、復号化ユニット104は、暗号化の際に用いる部分(図1)と、復号の際に用いる部分(図6)の2つに分離して、2つの復号化ユニット(ICチップ)として構成しても構わない。
【0042】
なお、全体の制御は図示しない制御部が司るものとする。制御部は例えばプログラムを当該PCのCPUで実行することにより実現することができる。
データDataは、暗号化して記録する対象となる入力データであり、例えばPCのI/Oポートから入力される映像、音声、テキストなどのマルチメディア・データである。
【0043】
Sdkは、データの暗号化および復号に用いるデータ暗号鍵(共通鍵暗号方式における共通鍵)である。なお、本実施形態では、Sdkは、一纏まりのデータ毎(例えばタイトル毎)に生成する(変える)ものとする。なお、Sdkは、ディスク毎に生成する(変える)ようにしても良いし、ディスクの片面毎あるいは複数のディスクからなる組毎に生成する(変える)ようにしても良いし、上記の一纏まりのデータをさらに細分化した部分毎(例えばチャプター毎あるいは曲毎など)に生成する(変える)ようにしても良い。
【0044】
Kicは、ICカード101内の利用者が取り出すことができない秘匿された領域に記録された、当該ICカード101に固有の秘密鍵(共通鍵暗号方式における共通鍵)である。この秘密鍵Kicは、ICカードごとに異なるものである。
【0045】
Skf,Sks,Skrは、CPUバス103上に情報を流す際に、該情報を復号(暗号化に先だって行う復号)するための、その都度変換する一時鍵(共通鍵暗号方式における共通鍵)である。
【0046】
データ暗号鍵生成回路105は、データ暗号鍵Sdkを生成する。データ暗号鍵生成回路105は、例えば鍵長分の乱数発生器で構成しても良い。また、乱数を発生するにあたって、例えば時計(図示せず)からの時間情報を用いるようにしても良い。なお、全てのビットが0や1になる可能性のある乱数で鍵を生成する場合は、全てのビットが0や1になることがないようにチェック処理等をする必要がある。
【0047】
鍵共有回路30a,30b,30bは、少なくとも論理的に同一の構成を有し、後述する手順により相手側回路と相互に情報の受け渡しをして同一の一時鍵(バス鍵)(Skf,Sks,Skr)を生成し共有する。本実施形態では暗号化の際に復号化ユニット104と暗号化ユニット102が鍵共有回路30aと30bを用いて同一の一時鍵Skfを外部から知得されることなく安全に共有し、同様に暗号化ユニット102とICカード101が鍵共有回路30bと30cを用いて同一の一時鍵Sksを外部から知得されることなく安全に共有し、また同様に復号の際に復号化ユニット104とICカード101が鍵共有回路30aと30cを用いて同一の一時鍵Skrを安全に共有する。鍵共有回路30a,30b,30bは外部からその内部の論理が解析されないようにICチップ内に作り込むものとする。
【0048】
なお、本実施形態では暗号化ユニット102内に1つの鍵共有回路30bを設けてあるが、その代わりに、暗号化ユニット102内に鍵共有回路30aに対応する鍵共有回路と鍵共有回路30cに対応する鍵共有回路の2つ(鍵共有回路30bと同じ構成のもの)を設けるようにしても構わない。
【0049】
記録媒体121は、暗号化されたI/Oポートからの入力データを記録するためのものであり、例えばハードディスク、MO、FD、1回書き込み可能なCD、DVD−RAMなどを用いることが考えられる。
【0050】
なお、ディスクドライブ装置内には、記録の際に変調、誤り訂正回路を行い、再生の際に復調、誤り訂正回路を行う変復調/誤り訂正回路が内蔵される場合がある。
【0051】
また、本実施形態では、復号化ユニット104にはディジタルデータDataをアナログデータに変換するD/A変換回路が備えられ、復号化ユニット104からはアナログに変換されらデータが出力されるものとする。また、ディジタルデータDataが復号すべきものである場合にはこれを復号する復号回路をD/A変換回路の前に設けるものとする。例えばディジタルデータDataがMPEG方式で圧縮された画像データである場合に、MPEG復号回路を設けるものとする。また、種々の方式で圧縮等されたデータあるいは復号の必要ないデータのいずれも出力できるように、複数種類の復号回路を設け、これを適宜切替て使用し、あるいはこれらを使用しないように構成することも可能である。なお、復号化ユニット104からの出力は例えば画像としてディスプレイなどに表示される。
【0052】
最初に、図1〜図5を参照しながら、暗号化の際の手順について説明する。なお、図5におけるCPUはプログラムで実現した場合の制御部に相当し、ここではCPUすなわち制御部が手順の仲介を行っていることを示している。なお、制御部の仲介なしにユニット間で直接情報のやり取りを行うようにしても構わない。
【0053】
まず、ICカード101をPCのカードスロットなど(図示せず)に差し込んでおく。また、記録媒体121がリムーバブルな媒体である場合には、これをディスクドライブ装置(図示せず)にセットしておく。
【0054】
ステップS11では、復号化ユニット104と暗号化ユニット102との間で鍵共有手順により一時鍵Skfを共有する。また、暗号化ユニット102とICカード101との間で鍵共有手順により一時鍵Sksを共有する。
【0055】
ここでは、「日経エレクトロニクス No.676 pp.13−14 1996.11.18」に開示された技術を応用するものとする。
まず、本実施形態における鍵共有手順に用いる図1、図2に示される鍵共有回路30a,30b,30cの構成について説明する。
【0056】
鍵共有回路30aは、チャレンジ鍵生成回路31a、認証鍵生成回路33a、比較回路35a、バス鍵生成回路37aを備えている。同様に、鍵共有回路30bは、チャレンジ鍵生成回路31b、認証鍵生成回路33b、比較回路35b、バス鍵生成回路37bを備えている。同様に、鍵共有回路30cは、チャレンジ鍵生成回路31c、認証鍵生成回路33c、比較回路35c、バス鍵生成回路37cを備えている。
【0057】
チャレンジ鍵生成回路31a,31b,31cは、例えば乱数生成アルゴリズムを用いて、生成の都度変化するチャレンジ鍵を生成する。
認証鍵生成回路33a,33b,33cは、例えば一方向性関数を用いて、チャレンジ鍵から認証鍵を生成する。
【0058】
比較回路35b,35cは、2つの認証鍵が一致するか否か比較する。
バス鍵生成回路37a,37b,37cは、例えば一方向性関数を利用して、2つの認証鍵からバス鍵、すなわち一時鍵を生成する。
【0059】
認証鍵生成回路33aと認証鍵生成回路33bと認証鍵生成回路33cは、例えば同一のアルゴリズムを用いることにより、同一のチャレンジ鍵に対して同一の認証鍵を生成するものとする。
【0060】
バス鍵生成回路37aとバス鍵生成回路37bとバス鍵生成回路37cは、例えば同一のアルゴリズムを用いることにより、同一の2つの認証鍵から同一のバス鍵を生成するものとする。
【0061】
次に、図3、図5を参照しながら、復号化ユニット104と暗号化ユニット102との間で行われる鍵共有手順について説明する。
まず、鍵共有手順のフェイズ1では、復号化ユニット104にて、チャレンジ鍵生成回路31aによりチャレンジ鍵(Challenge Key)1を生成し、これを暗号化ユニット102にも伝える。次に、復号化ユニット104の認証鍵生成回路33aと暗号化ユニット102の認証鍵生成回路33bのそれぞれにて、チャレンジ鍵1をもとに認証鍵1(Key1)を生成し、また暗号化ユニット102から復号化ユニット104へ生成した認証鍵1を転送する。そして、復号化ユニット104にて、比較回路35aにより、復号化ユニット104と暗号化ユニット102のそれぞれで生成された2つの認証鍵1を比較する。もし一致すれば次のフェイズ2に移行する。もし一致しなければ異常終了となる。
【0062】
次に、フェイズ2では、暗号化ユニット102にて、チャレンジ鍵生成回路31bによりチャレンジ鍵(Challenge Key)2を生成し、これを復号化ユニット104にも伝える。次に、暗号化ユニット118の認証鍵生成回路33bと復号化ユニット104の認証鍵生成回路33aのそれぞれにて、チャレンジ鍵2をもとに認証鍵2(Key2)を生成し、また復号化ユニット104から暗号化ユニット102へ生成した認証鍵2を転送する。そして、暗号化ユニット102にて、比較回路35bにより、暗号化ユニット102と復号化ユニット104のそれぞれで生成された2つの認証鍵2を比較する。もし一致すれば次のフェイズ3に移行する。もし一致しなければ異常終了となる。
【0063】
そして、フェイズ3では、復号化ユニット104のバス鍵生成回路37aと暗号化ユニット102のバス鍵生成回路37bのそれぞれにて、認証鍵1および認証鍵2をもとにバス鍵(BUS Key)すなわち一時鍵Skfを生成する。
【0064】
これによって、復号化ユニット104と暗号化ユニット102との間で安全に一時鍵Skfが共有化される。
次に、図4、図5を参照しながら、暗号化ユニット102とICカード101との間で行われる鍵共有手順について説明する。
【0065】
まず、鍵共有手順のフェイズ1では、暗号化ユニット102にて、チャレンジ鍵生成回路31bによりチャレンジ鍵(Challenge Key)1を生成し、これをICカード101にも伝える。次に、暗号化ユニット102の認証鍵生成回路33bとICカード101の認証鍵生成回路33cのそれぞれにて、チャレンジ鍵1をもとに認証鍵1(Key1)を生成し、またICカード101から暗号化ユニット102へ生成した認証鍵1を転送する。そして、暗号化ユニット102にて、比較回路35bにより、暗号化ユニット102とICカード101のそれぞれで生成された2つの認証鍵1を比較する。もし一致すれば次のフェイズ2に移行する。もし一致しなければ異常終了となる。
【0066】
次に、フェイズ2では、ICカード101にて、チャレンジ鍵生成回路31cによりチャレンジ鍵(Challenge Key)2を生成し、これを暗号化ユニット102にも伝える。次に、ICカード101の認証鍵生成回路33cと暗号化ユニット102の認証鍵生成回路33bのそれぞれにて、チャレンジ鍵2をもとに認証鍵2(Key2)を生成し、また暗号化ユニット102からICカード101へ生成した認証鍵2を転送する。そして、ICカード101にて、比較回路35cにより、ICカード101と暗号化ユニット102のそれぞれで生成された2つの認証鍵2を比較する。もし一致すれば次のフェイズ3に移行する。もし一致しなければ異常終了となる。
【0067】
そして、フェイズ3では、暗号化ユニット102のバス鍵生成回路37bとICカード101のバス鍵生成回路37cのそれぞれにて、認証鍵1および認証鍵2をもとにバス鍵(BUS Key)すなわち一時鍵Sksを生成する。
【0068】
これによって、暗号化ユニット102とICカード101との間で安全に一時鍵Sksが共有化される。
ステップS12では、ICカード101から暗号化ユニット102へ、共有化した一時鍵Sksを用いて当該ICカード101に固有の秘密鍵Kicを伝える。すなわち、まず、ICカード101にて、復号化回路115によりSksでこのICカード101に固有の秘密鍵Kicを復号して、DSks(Kic)を得る。次に、ICカード101から暗号化ユニット102へCPUバス103を通して、DSks(Kic)を送る。そして、暗号化ユニット102にて、暗号化回路117dにより、SksでDSks(Kic)を暗号化して、Kicを得る。
【0069】
ステップS13では、復号化ユニット104にて、データ暗号鍵生成回路105により入力データを暗号化するためのデータ暗号鍵Sdkを生成する。
ステップS14では、復号化ユニット104から暗号化ユニット102へ、共有化した一時鍵Skfを用いてデータ暗号鍵Sdkを伝える。すなわち、まず、復号化ユニット104にて、復号化回路110bによりSkfでSdkを復号して、DSkf(Sdk)を得る。次に、復号化ユニット104から暗号化ユニット102へCPUバス103を通して、DSkf(Sdk)を送る。そして、暗号化ユニット102にて、暗号化回路117bにより、SkfでDSkf(Sdk)を暗号化して、Sdkを得る。
【0070】
ステップS15では、暗号化ユニット102にて、暗号化回路117eにより、Kicを暗号鍵として用いてSdkを暗号化して、EKic(Sdk)を得る。そして、EKic(Sdk)を記録媒体121に記録する。
【0071】
ステップS16では、暗号化ユニット102にて、暗号化回路117cにより、Sdkを暗号鍵として用いて入力データDataを暗号化して、ESdk(Data)を得る。そして、ESdk(Data)を記録媒体121に記録する。
【0072】
なお、1つの記録媒体に複数のEKic(Sdk)が格納される場合、EKic(Sdk)とESdk(Data)とを対応付けて格納する。
次に、図5〜図8を参照しながら、復号の際の手順について説明する。
【0073】
まず、ICカード101をPCのカードスロットなど(図示せず)に差し込んでおく。また、記録媒体127がリムーバブルな媒体である場合には、これをディスクドライブ装置(図示せず)にセットしておく。
【0074】
ステップS21では、ステップS11と同様にして、復号化ユニット104とICカード101との間で鍵共有手順により一時鍵Skrを共有する。
まず、鍵共有手順のフェイズ1では、復号化ユニット104にて、チャレンジ鍵生成回路31aによりチャレンジ鍵(Challenge Key)1を生成し、これをICカード101にも伝える。次に、復号化ユニット104の認証鍵生成回路33aとICカード101の認証鍵生成回路33cのそれぞれにて、チャレンジ鍵1をもとに認証鍵1(Key1)を生成し、またICカード101から復号化ユニット104へ生成した認証鍵1を転送する。そして、復号化ユニット104にて、比較回路35aにより、復号化ユニット104とICカード101のそれぞれで生成された2つの認証鍵1を比較する。もし一致すれば次のフェイズ2に移行する。もし一致しなければ異常終了となる。
【0075】
次に、フェイズ2では、ICカード101にて、チャレンジ鍵生成回路31cによりチャレンジ鍵(Challenge Key)2を生成し、これを復号化ユニット104にも伝える。次に、ICカード101の認証鍵生成回路33cと復号化ユニット104の認証鍵生成回路33aのそれぞれにて、チャレンジ鍵2をもとに認証鍵2(Key2)を生成し、また復号化ユニット104からICカード101へ生成した認証鍵2を転送する。そして、ICカード101にて、比較回路35cにより、ICカード101と復号化ユニット104のそれぞれで生成された2つの認証鍵2を比較する。もし一致すれば次のフェイズ3に移行する。もし一致しなければ異常終了となる。
【0076】
そして、フェイズ3では、復号化ユニット104のバス鍵生成回路37aとICカード101のバス鍵生成回路37cのそれぞれにて、認証鍵1および認証鍵2をもとにバス鍵(BUS Key)すなわち一時鍵Skrを生成する。
【0077】
これによって、復号化ユニット104とICカード101との間で安全に一時鍵Skrが共有化される。
ステップS22では、ICカード101から復号化ユニット104へ、共有化した一時鍵Skrを用いて当該ICカード101に固有の秘密鍵Kicを伝える。すなわち、まず、ICカード101にて、暗号化回路210bによりSkrでこのICカード101に固有の秘密鍵Kicを暗号化して、ESkr(Kic)を得る。次に、ICカード101から復号化ユニット104へCPUバス103を通して、ESkr(Kic)を送る。そして、復号化ユニット104にて、復号化回路207bにより、SkrでESkr(Kic)を暗号化して、Kicを得る。
【0078】
ステップS23では、記録媒体121に記録されたEKic(Skd)を復号化ユニット104へ送る。そして、復号化ユニット104にて、復号化回路207cにより、Kicを復号鍵としてEKic(Sdk)を復号し、Sdkを得る。
【0079】
ステップS24では、記録媒体121に記録されたESdk(Data)を復号化ユニット104へ送る。そして、復号化回路207dにより、Sdkを復号鍵としてESdk(Data)を復号し、もとの入力データを得る。
【0080】
なお、復号対象となるデータの暗号化に用いたICカードと当該ICカード101とが相違するものである場合、ICカード101内に対応するKicが格納されていないので、結局、対象となる暗号化データを復号することはできない。言い換えると、本実施形態では、記録媒体121とこれに暗号化データを記録した際に用いたICカードをセットで用いてのみ復号を行うことができる。なお、仮にICカードが破損等して使用できなくなった場合、このICカードを用いて暗号化し記録したデータは復号することができなくなるが、ICカードに固有の鍵Kicを管理する機関により同じKicが格納されたICカードが再発行されれば、再び復号することが可能となる。
【0081】
本実施形態で示した手順は一例であり種々変形することが可能である。
例えば、図4において、ステップS11〜ステップS15の順番は適宜入れ替えることが可能である。また、暗号化ユニット内にバッファがあればデータはどのようなタイミングで読み込んでも良い。また、
また、すべてのデータを暗号化してから記録媒体に記録しても良いが、所定の単位ごとに暗号化と記録(あるいは読み込みと暗号化と記録)を繰り返し行っても良い。
【0082】
また、例えば図8において、復号化ユニット内にバッファがあればEKic(Skd)あるいはESdk(Data)はどのようなタイミングで記録媒体から読み込んでも良い。また、すべての暗号化データを復号してから出力しても良いが、所定の単位ごとに復号と出力(あるいは読み込みと復号と出力)を繰り返し行っても良い。
【0083】
上記の暗号化回路や復号化回路で用いる暗号化方式は、すべての部分で同じものを用いても良いし、対になる暗号化回路と復号化回路の組ごとに、用いる暗号化方式を適宜決めても良い(すべて異なるようにすることも可能である)。
【0084】
また、上記では暗号化回路や復号化回路は独立した回路として示したが、暗号化回路や復号化回路は暗号化方式が同じであればユニット内において1つまたは複数のもので兼用するように構成しても構わない。例えば、暗号化ユニット102において暗号化回路117b〜117eの暗号化方式がすべて同じであれば、それらを1つの回路で構成しても良いし、適宜共通化して2つあるいは3つの回路で構成しても良い。また、例えば暗号化回路117bと117dの暗号化方式が同じで、暗号化回路117cと117eの暗号化方式が同じ(前者と後者は相違する)であれば、暗号化回路117bと117dについて1つの回路で構成しても良いし、暗号化回路117cと117eについて1つの回路で構成しても良い。
【0085】
本実施形態では、暗号化ユニットはPC内に例えば暗号化ボードとして組み込まれCPUバスに接続されるものであったが、暗号化ユニットはディスクドライブ装置内に内蔵されることもある。
【0086】
(第2の実施形態)
図9は、本発明の第2の実施形態に係るデータの暗号化に用いるシステムの構成を示すブロック図である。なお、図9の213の部分、214の部分および215の部分の詳細と一時鍵生成回路107を図10に示す。また、この場合の動作の一例を図11のフローチャートに示す。
【0087】
図12は、本発明の第2の実施形態に係るデータの復号に用いるシステムの構成を示すブロック図である。なお、図12の213の部分および215の部分の詳細と一時鍵生成回路107は図10に示す通りである。また、この場合の動作の一例を図13のフローチャートに示す。
【0088】
図9に示すように、本実施形態に係るシステムは、ICカード101と暗号化ユニット102と復号化ユニット104を備えている。また、ICカード101と暗号化ユニット102と復号化ユニット104は、PCのCPUバス103に接続されている。なお、ICカード100は使用時のみ接続し、それ以外では取り外して保管しておくのが望ましい。
【0089】
また、CPUバス103にはディスクドライブ装置(図示せず)が接続されており、ディスクドライブ装置により記録媒体121への読み書きが行われる。
図9、図10、図12に示すように、ICカード101は、暗号化に用いる部分として、復号化回路115を備え、復号に用いる部分として、暗号化回路210bを備え、暗号化と復号の両方に用いる部分として暗号化回路114a,114b、一時鍵判定回路211を備えている。上記構成部分は、独立した1つのICチップとして形成され、ICカード内に封止されているものとする。
【0090】
なお、ICカード101は、暗号化の際に用いる部分(図9)と、復号の際に用いる部分(図12)の2つに分離して、2つのICカードとして構成しても構わない。
【0091】
暗号化ユニット102は、暗号化回路117a〜117f、一時鍵判定回路210を備えている。暗号化ユニット102は、独立した1つのICチップとして形成されるものとする。
【0092】
復号化ユニット104は、暗号化に用いる部分として、データ暗号鍵生成回路105、復号化回路110bを備え、復号に用いる部分として、復号化回路207b〜207dを備え、暗号化と復号の両方に用いる部分として、一時鍵生成回路107、復号化回路110a,110cを備えている。復号化ユニット104は、独立した1つのICチップとして形成されるものとする。
【0093】
なお、復号化ユニット104は、暗号化の際に用いる部分(図9)と、復号の際に用いる部分(図12)の2つに分離して、2つの復号化ユニット(ICチップ)として構成しても構わない。
【0094】
復号化ユニット104内には、後述する複数のマスター鍵Mks(図中109a)が登録されている(作り込まれている)。
また、暗号化ユニット102内には、復号化ユニット104と同一の複数のマスター鍵Mks(図中109b)が登録されている(作り込まれている)。
【0095】
同様に、ICカード101内には、復号化ユニット104と同一の複数のマスター鍵Mks(図中109c)が登録されている(作り込まれている)。
なお、万一、マスター鍵が破られたことが発覚した場合、それ以降、復号化ユニット104には、その破られたものを除いてマスター鍵が作り込まれる。ただし、ICカード101および暗号化ユニット102については、その破られたものを除いてマスター鍵が作り込まれても良いし、そうしなくても良い。また、破られたマスター鍵が作り込まれている復号化ユニット104は、その破られたものを除いてマスター鍵が作り込まれている新しいものに差し替えるのが望ましい。ただし、ICカード101および暗号化ユニット102は、破られたマスター鍵が作り込まれているものをそのまま使用しても構わない。
【0096】
なお、全体の制御は図示しない制御部が司るものとする。制御部は例えばプログラムを当該PCのCPUで実行することにより実現することができる。
データDataは、暗号化して記録する対象となる入力データであり、例えばPCのI/Oポートから入力される映像、音声、テキストなどのマルチメディア・データである。
【0097】
Sdkは、データの暗号化および復号に用いるデータ暗号鍵(共通鍵暗号方式における共通鍵)である。なお、本実施形態では、Sdkは、一纏まりのデータ毎(例えばタイトル毎)に生成する(変える)ものとする。なお、Sdkは、ディスク毎に生成する(変える)ようにしても良いし、ディスクの片面毎あるいは複数のディスクからなる組毎に生成する(変える)ようにしても良いし、上記の一纏まりのデータをさらに細分化した部分毎(例えばチャプター毎あるいは曲毎など)に生成する(変える)ようにしても良い。
【0098】
Kicは、ICカード101内の利用者が取り出すことができない秘匿された領域に記録された、当該ICカード101に固有の秘密鍵(共通鍵暗号方式における共通鍵)である。この秘密鍵Kicは、ICカードごとに異なるものである。
【0099】
Mks(s=1〜n、nは2以上の整数)は、マスター鍵(共通鍵暗号方式における共通鍵)の鍵束である。マスター鍵は、例えばメーカ毎に所定個数づつが割り当てられる。この場合、マスター鍵は、メーカ間で重複のないように割り当てられる。ここでは、一例として、s=1,…10(s=10)とすると、Mk1,Mk2,…,Mk10のマスター鍵が、ICカード101、暗号化ユニット102、復号化ユニット104のそれぞれに作り込まれる。
【0100】
前述したように、マスター鍵の鍵束は、利用者が外部から取得できないように、ICカード内に封止されたチップ、暗号化ユニットのチップ、復号化ユニットのチップそれぞれにおいて、利用者が意図的に取り出せないようにチップ内部の秘匿された領域に記録されているものとする。
【0101】
Sktは、CPUバス103上に情報を流す際に、該情報を復号(暗号化に先だって行う復号)するための一時鍵(共通鍵暗号方式における共通鍵)であり、その都度生成される。
【0102】
データ暗号鍵生成回路105は、データ暗号鍵Sdkを生成する。データ暗号鍵生成回路105は、例えば鍵長分の乱数発生器で構成しても良い。また、乱数を発生するにあたって、例えば時計(図示せず)からの時間情報を用いるようにしても良い。なお、全てのビットが0や1になる可能性のある乱数で鍵を生成する場合は、全てのビットが0や1になることがないようにチェック処理等をする必要がある。
【0103】
一時鍵生成回路107は、一時鍵Sktを生成するためのものであり、その都度生成する。一時鍵生成回路107は、例えば鍵長分の乱数発生器で構成する方法が考えられる。また、乱数を発生するにあたって、例えば時計(図示せず)からの時間情報を用いるようにしても良い。なお、全てのビットが0や1になる可能性のある乱数で鍵を生成する場合は、全てのビットが0や1になることがないようにチェック処理等をする必要がある。
【0104】
なお、データ暗号鍵生成回路105と一時鍵生成回路107は、データ暗号鍵Sdkと一時鍵Sktの両方を生成可能な1つの鍵生成回路として構成することも可能である。
【0105】
記録媒体121は、暗号化されたI/Oポートからの入力データを記録するためのものであり、例えばハードディスク、MO、FD、1回書き込み可能なCD、DVD−RAMなどを用いることが考えられる。
【0106】
なお、ディスクドライブ装置内には、記録の際に変調、誤り訂正回路を行い、再生の際に復調、誤り訂正回路を行う変復調/誤り訂正回路が内蔵される場合がある。
【0107】
また、本実施形態では、復号化ユニット104にはディジタルデータDataをアナログデータに変換するD/A変換回路が備えられ、復号化ユニット104からはアナログに変換されらデータが出力されるものとする。また、ディジタルデータDataが復号すべきものである場合にはこれを復号する復号回路をD/A変換回路の前に設けるものとする。例えばディジタルデータDataがMPEG方式で圧縮された画像データである場合に、MPEG復号回路を設けるものとする。また、種々の方式で圧縮等されたデータあるいは復号の必要ないデータのいずれも出力できるように、複数種類の復号回路を設け、これを適宜切替て使用し、あるいはこれらを使用しないように構成することも可能である。なお、復号化ユニット104からの出力は例えば画像としてディスプレイなどに表示される。
【0108】
最初に、図9〜図11を参照しながら、暗号化の際の手順について説明する。まず、ICカード101をPCのカードスロットなど(図示せず)に差し込んでおく。また、記録媒体121がリムーバブルな媒体である場合には、これをディスクドライブ装置(図示せず)にセットしておく。
【0109】
ステップS31では、復号化ユニット104にて、一時鍵生成回路107により一時鍵Sktを生成するとともに、データ暗号鍵生成回路105により入力データを暗号化するための暗号鍵Sdkを生成する。
【0110】
ステップS32では、以下に示すような手順を用いて、復号化ユニット104から暗号化ユニット102とICカード101へ、生成された一時鍵Sktを伝える。
【0111】
Sktのプレインデータを取得されないように、Sktは、復号化ユニット104内に記録されたマスター鍵Mks(s=1,…,n)のうちのいずれか(これをMkiとする)で復号され、DMki(Skt)としてCPUバス103を通して暗号化ユニット102とICカード101へそれぞれ送られる。
【0112】
ここで、もしマスター鍵が1つだけ存在するのであれば(これをMk0とする)、単に復号化ユニット104にてMk0でSktを復号し、このDMk0(Skt)を暗号化ユニット102とICカード101へそれぞれ送り、暗号化ユニット102とICカード101のそれぞれにてMk0でDMk0(Skt)を暗号化することにより、Sktを取り出すことができるが、本実施形態では、複数のマスター鍵からなる鍵束のうちの使用したマスター鍵Mkiを直接的に指し示す識別情報は復号化ユニット104から暗号化ユニット102とICカード101へ伝えないようにし、その代わりに、上記マスター鍵Mkiを特定可能とする情報を復号化ユニット104から暗号化ユニット102とICカード101へそれぞれ送り、暗号化ユニット102とICカード101のそれぞれにて、Sktの暗号化に使用されたマスター鍵Mkiがn個のマスター鍵のうちのいずれであるかを特定するとともに、このマスター鍵の特定を通じてSktを得る。
【0113】
以下、ステップS32のより詳しい手順について説明する。
まず、暗号化ユニット102にて、復号化回路110aにより、n個のマスター鍵Mks(i=1,…,n)のうちから例えばランダムあるいは順番に選んだ1つ(これをMkiとする)で一時鍵Sktを復号して、DMki(Skt)を得る。また、復号化回路110cにより、一時鍵Skt自身を暗号化鍵として用いてSktを復号して、DSkt(Skt)を得る。そして、DMki(Skt)とDSkt(Skt)を、CPUバス106を通して暗号化ユニット102とICカード101へそれぞれ送る。
【0114】
次に、暗号化ユニット102とICカード101のそれぞれで同じ処理が行われるが、まず、暗号化ユニット102における処理について説明する。
暗号化ユニット102にて、まずマスター鍵を1つ選ぶ(これをMkpとする)。
【0115】
選んだMkpを暗号鍵として、暗号化回路117aにより、DMki(Skt)を暗号化し、
EMkp(DMki(Skt))=Ska
を得る。
【0116】
次に、暗号化回路117aの出力Skaを暗号鍵として、暗号化回路117fにより、DSkt(Skt)を暗号化し、
ESka(DSkt(Skt))=Skb
を得る。
【0117】
次に、一時鍵判定回路210により、SkaとSkbとが一致するか否か調べる。ここで、復号化ユニット104にてSktを復号したマスター鍵MkiがMkpであったならば、
Ska=EMkp(DMki(Skt))=Skt
となり、従って、
Skb=ESka(DSkt(Skt))=ESkt(DSkt(Skt))=Skt
となり、ゆえに、
Ska=Skb=Skt
となる。
【0118】
つまり、一時鍵判定回路210により、SkaとSkbとが一致することがわかった場合には、
Mki=Mkp、かつ、Ska=Skb=Sktであり、
この場合、一時鍵判定回路210はSka=Skb=Sktを出力する。
【0119】
一方、一時鍵判定回路210により、SkaとSkbとが一致しないことがわかった場合には、
Mki≠Mkpであり、復号化ユニット104にてSktはこのMkpでは復号されておらず、それ以外のマスター鍵で復号されたことが判る。この場合、一時鍵判定回路210は出力をしない(あるいは一時鍵判定回路210の出力が暗号化回路117b,117dには伝えられない)。
【0120】
以降は、SkaとSkbとが一致するまで、復号に用いるマスター鍵Mkpを変更して、上記の手順を繰り返す。例えば、最初にMkpとしてMk1を用いて上記の手順を行ってSkaとSkbとが一致しなかった場合に、次にMk2へと更新して再び上記の手順を繰り返すのである。
【0121】
以上のような手順を用いて、復号化ユニット104にてどのマスター鍵を用いたのかを暗号化ユニット102側で特定することができるとともに、暗号化ユニット102と復号化ユニット104との間で一時鍵Sktを安全に共有することが可能となる。
【0122】
次に、ICカード101における処理ついて説明する。
ICカード101にて、まずマスター鍵を1つ選ぶ(これをMkpとする)。
選んだMkpを暗号鍵として、暗号化回路114aにより、DMki(Skt)を暗号化し、
EMkp(DMki(Skt))=Ska
を得る。
【0123】
次に、暗号化回路114aの出力Skaを暗号鍵として、暗号化回路114bにより、DSkt(Skt)を暗号化し、
ESka(DSkt(Skt))=Skb
を得る。
【0124】
次に、一時鍵判定回路211により、SkaとSkbとが一致するか否か調べる。ここで、復号化ユニット104にてSktを復号したマスター鍵MkiがMkpであったならば、
Ska=EMkp(DMki(Skt))=Skt
となり、従って、
Skb=ESka(DSkt(Skt))=ESkt(DSkt(Skt))=Skt
となり、ゆえに、
Ska=Skb=Skt
となる。
【0125】
つまり、一時鍵判定回路211により、SkaとSkbとが一致することがわかった場合には、
Mki=Mkp、かつ、Ska=Skb=Sktであり、
この場合、一時鍵判定回路211はSka=Skb=Sktを出力する。
【0126】
一方、一時鍵判定回路211により、SkaとSkbとが一致しないことがわかった場合には、
Mki≠Mkpであり、復号化ユニット104にてSktはこのMkpでは復号されておらず、それ以外のマスター鍵で復号されたことが判る。この場合、一時鍵判定回路211は出力をしない(あるいは一時鍵判定回路211の出力が復号化回路115には伝えられない)。
【0127】
以降は、SkaとSkbとが一致するまで、復号に用いるマスター鍵Mkpを変更して、上記の手順を繰り返す。例えば、最初にMkpとしてMk1を用いて上記の手順を行ってSkaとSkbとが一致しなかった場合に、次にMk2へと更新して再び上記の手順を繰り返すのである。
【0128】
以上のような手順を用いて、復号化ユニット104にてどのマスター鍵を用いたのかをICカード101側で特定することができるとともに、復号化ユニット104とICカード101との間で一時鍵Sktを安全に共有することが可能となる。
【0129】
ステップS33では、まず、ICカード101にて、復号化回路115により、一時鍵Sktを用いて、このICカード101に固有の秘密鍵Kicを復号して、DSkt(Kic)を得る。そして、DSkt(Kic)をCPUバス103を通して暗号化ユニット102へ送る。次に、暗号化ユニット102にて、暗号化回路117dにより、一時鍵SktでDSkt(Kic)を暗号化して、Kicを得る。
【0130】
ステップS34では、まず、復号化ユニット104にて、化復号化回路110bにより、一時鍵SktでSdkを復号して、DSkt(Sdk)を得る。そして、DSkt(Sdk)をCPUバス103を通して暗号化ユニット102へ送る。次に、暗号化ユニット102にて、暗号化回路117bにより、一時鍵SktでDSkt(Sdk)を暗号化して、Sdkを得る。
【0131】
ステップS35では、暗号化ユニット102にて、暗号化回路117eにより、Kicを暗号鍵として用いてSdkを暗号化して、EKic(Sdk)を得る。そして、EKic(Sdk)を記録媒体121に記録する。
【0132】
ステップS36では、暗号化ユニット102にて、暗号化回路117cにより、Sdkを暗号鍵として用いて入力データDataを暗号化して、ESdk(Data)を得る。そして、ESdk(Data)を記録媒体121に記録する。
【0133】
なお、1つの記録媒体に複数のEKic(Sdk)が格納される場合、EKic(Sdk)とESdk(Data)とを対応付けて格納する。
次に、図12、図10、図13を参照しながら、復号の際の手順について説明する。
【0134】
まず、ICカード101をPCのカードスロットなど(図示せず)に差し込んでおく。また、記録媒体127がリムーバブルな媒体である場合には、これをディスクドライブ装置(図示せず)にセットしておく。
【0135】
ステップS41では、ICカード101に固有の秘密鍵KicをCPUバス103を介して復号化ユニット104へ送るために用いる一時鍵Sktを、復号化ユニット104側にて一時鍵生成回路107により生成する。
【0136】
ステップS42では、先のステップS34にて用いた手順と同様の手順を利用して、復号化ユニット104からICカード101へ、生成された一時鍵Sktを伝える。
【0137】
ステップS43では、まず、ICカード101にて、暗号化回路210bにより、一時鍵SktでKicを暗号化して、ESkt(Kic)を得る。そして、ESkt(Kic)をCPUバス103を通して復号化ユニット104へ送る。次に、復号化ユニット104にて、復号化回路207bにより、一時鍵SktでESkt(Kic)を復号して、Kicを得る。
【0138】
ステップS44では、記録媒体121に記録されたEKic(Skd)を復号化ユニット104へ送る。そして、復号化ユニット104にて、復号化回路207cにより、Kicを復号鍵としてEKic(Sdk)を復号し、Sdkを得る。
【0139】
ステップS45では、記録媒体121に記録されたESdk(Data)を復号化ユニット104へ送る。そして、復号化回路207dにより、Sdkを復号鍵としてESdk(Data)を復号し、もとの入力データを得る。
【0140】
本実施形態で示した手順は一例であり種々変形することが可能である。
例えば、図11において、ステップS31〜ステップS35の順番は適宜入れ替えることが可能である。また、暗号化ユニット内にバッファがあればデータはどのようなタイミングで読み込んでも良い。また、すべてのデータを暗号化してから記録媒体に記録しても良いが、所定の単位ごとに暗号化と記録(あるいは読み込みと暗号化と記録)を繰り返し行っても良い。
【0141】
また、例えば図13において、復号化ユニット内にバッファがあればEKic(Skd)あるいはESdk(Data)はどのようなタイミングで記録媒体から読み込んでも良い。また、すべての暗号化データを復号してから出力しても良いが、所定の単位ごとに復号と出力(あるいは読み込みと復号と出力)を繰り返し行っても良い。
【0142】
第1の実施形態と同様に、上記の暗号化回路や復号化回路で用いる暗号化方式は、すべての部分で同じものを用いても良いし、対になる暗号化回路と復号化回路の組ごとに、用いる暗号化方式を適宜決めても良い(すべて異なるようにすることも可能である)。
【0143】
また、第1の実施形態と同様に、暗号化回路や復号化回路は暗号化方式が同じであればユニット内あるいはICカード内において1つまたは複数のもので兼用するように構成しても構わない。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0144】
【発明の効果】
本発明によれば、データ暗号化鍵で暗号化されたデータとともに、データ暗号化鍵を外部記憶装置内に記憶された固有の秘密鍵により暗号化して記録媒体に記録し、データ暗号化鍵は保存しないことにより、暗号化の際に用いた固有の秘密鍵を記憶している外部記憶装置を使用しなければ復号をすることができないことになる。
【0145】
また、本発明によれば、データ暗号化鍵や固有の秘密鍵は一時鍵を用いて暗号化するなどしてCPUバスを介して装置間で共有するため、CPUバス上を流れる情報を記録したとしても、後にこれを利用することができない。
【0146】
また、本発明によれば、データを暗号化するデータ暗号化鍵自体も、またデータ暗号化鍵を共有化するために用いる一時鍵も、毎回変わるため、第3者により暗号を解読することは極めて困難である。
【0147】
したがって、本発明によれば、第3者による不正なコピーを防止することが可能となる。この結果、海賊版などの作成を未然に阻止し、効果的に著作権を守ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る暗号化に用いるシステムの構成を示すブロック図
【図2】図1の鍵共有回路の内部構成の一例を示す図
【図3】図1の鍵共有回路の内部構成の一例を示す図
【図4】本実施形態における暗号化の際の手順を示すフローチャート
【図5】鍵共有手順の一例を示すフローチャート
【図6】同実施形態に係る復号に用いるシステムの構成を示すブロック図
【図7】図6の鍵共有回路の内部構成の一例を示す図
【図8】同実施形態における復号の際の手順を示すフローチャート
【図9】本発明の第2の実施形態に係る暗号化に用いるシステムの構成を示すブロック図
【図10】鍵共有のための構成部分213〜125の詳しい構成の一例を示す図
【図11】同実施形態における暗号化の際の手順を示すフローチャート
【図12】同実施形態に係る復号に用いるシステムの構成を示すブロック図
【図13】同実施形態における復号の際の手順を示すフローチャート
【符号の説明】
30a,30b,30c…鍵共有回路
31a,31b,31c…チャレンジ鍵生成回路
33a,33b,33c…認証鍵生成回路
35a,35b,35c…比較回路
37a,37b,37c…バス鍵生成回路
101…ICカード
102…暗号化ユニット
103…CPUバス
104…復号化ユニット
105…データ暗号鍵生成回路
107…一時鍵生成回路
109a〜109c…マスター鍵の鍵束
114a,114b,117a〜117f,210b…暗号化回路
115,110a〜110c,207b〜207d…復号化回路
121…記録媒体
210,211…一時鍵判定回路

Claims (10)

  1. 計算機のCPUバスを介さずに入力したデータを記録媒体に記録する前にあるデータ暗号化鍵で暗号化するとともに該あるデータ暗号化鍵をも該記録媒体に記録する前に秘密鍵で暗号化する装置のために、該計算機のCPUバスに接続されて使用される外部記憶装置であって、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための記憶手段と、
    自装置に固有の前記秘密鍵を外部から秘匿された形で記録するための手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記暗号化する装置との間で、一時鍵を共有するための手段と、
    共有した前記一時鍵で固有の前記秘密鍵を復号するための手段と、
    前記一時鍵で復号された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記暗号化する装置へ出力するための手段とを備え、
    前記共有するための手段は、
    前記計算機のCPUバスを介して、前記暗号化する装置との間で前記一時鍵を共有する装置から、前記複数のマスター鍵のうちのいずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする外部記憶装置。
  2. 録媒体から読み出され計算機のCPUバスを介して与えられた秘密鍵で暗号化されたデータ暗号化鍵を復号し、得られたデータ暗号化鍵を用いて該記録媒体から読み出され該計算機のCPUバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号する装置のために、該計算機のCPUバスに接続されて使用される外部記憶装置であって、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための記憶手段と、
    自装置に固有の前記秘密鍵を外部から秘匿された形で記録するための手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記復号する装置との間で、一時鍵を共有するための手段と、
    共有した前記一時鍵で固有の前記秘密鍵を暗号化するための手段と、
    前記一時鍵で暗号化された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記復号する装置へ出力するための手段とを備え、
    前記共有するための手段は、
    前記計算機のCPUバスを介して、前記復号する装置から、前記複数のマスター鍵のうちのいずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする外部記憶装置。
  3. 計算機のCPUバスを介さずに入力されたデータを、記録媒体に記録する前に暗号化する暗号化ユニット装置であって、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための記憶手段と、
    記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、データ暗号化鍵を生成する装置であって外部記憶装置との間で一時鍵を共有するものとの間で、当該一時鍵を共有するための手段と、
    前記計算機のCPUバスを介して、前記データ暗号化鍵を生成する装置から、該データ暗号化鍵を生成する装置により生成されたデータ暗号化鍵であって、前記一時鍵で復号されたものを入力するための手段と、
    入力した前記一時鍵で復号されたデータ暗号化鍵を、共有した前記一時鍵で暗号化して、前記データ暗号化鍵を求めるための手段と、
    前記計算機のCPUバスを介して、前記外部記憶装置から、該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵であって、前記一時鍵で復号されたものを入力するための手段と、
    入力した前記一時鍵で復号された固有の前記秘密鍵を、共有した前記一時鍵で暗号化して、固有の前記秘密鍵を求めるための手段と、
    暗号化対象となるデータを、前記計算機のCPUバスを介さずに入力するための手段と、
    求めた固有の前記秘密鍵を用いて、求めた前記データ暗号化鍵を暗号化するための手段と、
    求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するための手段とを備え、
    前記共有するための手段は、
    前記計算機のCPUバスを介して、前記データ暗号化鍵を生成する装置から、前記複数のマスター鍵のうちのいずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする暗号化ユニット装置。
  4. 暗号化されて記録媒体に記録されたデータを復号する、計算機のCPUバスに接続されて使用される復号化ユニット装置であって、
    予め定められた複数のマスター鍵の全部又は一部を外部から秘匿した形で記憶するための記憶手段と、
    記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、外部記憶装置との間で、一時鍵を共有するための手段と、
    前記計算機のCPUバスを介して、前記外部記憶装置から、該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵であって、前記一時鍵で暗号化されたものを入力するための手段と、
    入力した前記一時鍵で暗号化された固有の前記秘密鍵を、共有した前記一時鍵で復号して、固有の前記秘密鍵を求めるための手段と、
    前記記録媒体から読み出された固有の前記秘密鍵で暗号化されたデータ暗号化鍵及び前記データ暗号化鍵で暗号化されたデータを、前記計算機のCPUバスを介して入力するための手段と、
    求めた固有の前記秘密鍵を復号鍵として、入力した固有の前記秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、
    めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するための手段とを備え、
    前記共有するための手段は、
    前記一時鍵を生成し、
    生成した前記一時鍵を、前記記憶手段に記憶されているいずれかのマスター鍵で復号するとともに、該一時鍵自身で一時鍵を復号し、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記外部記憶装置へ出力することを特徴とする復号化ユニット装置。
  5. 前記共有するための手段は、暗号化の際には、前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記暗号化ユニット装置との間でも、前記一時鍵を共有するものであり、
    前記復号化ユニット装置は、
    記計算機のCPUバスを介さずに入力されたデータを暗号化する暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、
    共有した前記一時鍵で前記データ暗号化鍵を復号するための手段と、
    前記一時鍵で復号されたデータ暗号化鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へ出力するための手段をさらに備え、
    前記共有するための手段は、暗号化の際には、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へも出力することを特徴とする請求項4に記載の復号化ユニット装置。
  6. 前記記録媒体から読み出された暗号化されたデータを復号して得られたもとのデータにある変換処理を施した後に、前記計算機のCPUバスを介さずに外部に出力するための手段をさらに備えたことを特徴とする請求項4または5に記載の復号化ユニット装置。
  7. 計算機のCPUバスに接続された外部記憶装置とデータ暗号化鍵を生成する装置と暗号化ユニット装置とを用いて該計算機のCPUバスを介さずに外部から入力されたデータを記録媒体に記録する前に暗号化する暗号化システムであって、
    前記外部記憶装置は、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第1の記憶手段と、
    自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記データ暗号化鍵を生成する装置との間で、一時鍵を共有するための手段と、
    共有した前記一時鍵で固有の前記秘密鍵を復号するための手段と、
    前記一時鍵で復号された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へ出力するための手段とを備え、
    前記データ暗号化鍵を生成する装置は、
    予め定められた複数のマスター鍵の全部又は一部を外部から秘匿した形で記憶するための第2の記憶手段と、
    前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記外部記憶装置及び前記暗号化ユニット装置との間で、前記一時鍵をそれぞれ共有するための手段と、
    共有した前記第一時鍵で前記データ暗号化鍵を復号するための手段と、
    前記一時鍵で復号されたデータ暗号化鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へ出力するための手段とを備え、
    前記暗号化ユニット装置は、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第3の記憶手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記データ暗号化鍵を生成する装置との間で、前記一時鍵を共有するための手段と、
    前記計算機のCPUバスを介して、前記外部記憶装置から、前記一時鍵で復号された固有の前記秘密鍵を入力するための手段と、
    入力した前記一時鍵で復号された固有の前記秘密鍵を、共有した前記一時鍵で暗号化して、固有の前記秘密鍵を求めるための手段と、
    前記計算機のCPUバスを介して、前記データ暗号化鍵を生成する装置から、前記一時鍵で復号されたデータ暗号化鍵を入力するための手段と、
    入力した前記一時鍵で復号されたデータ暗号化鍵を、共有した前記一時鍵で暗号化して、前記データ暗号化鍵を求めるための手段と、
    暗号化対象となるデータを、前記計算機のCPUバスを介さずに入力するための手段と、
    求めた固有の前記秘密鍵を用いて、求めた前記データ暗号化鍵を暗号化するための手段と、
    求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するための手段とを備え、
    前記データ暗号化鍵を生成する装置が備える前記一時鍵を共有するための手段は、
    前記一時鍵を生成し、
    生成した前記一時鍵を、前記第2の記憶手段に記憶されているいずれかのマスター鍵で復号するとともに、該一時鍵自身で一時鍵を復号し、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記外部記憶装置及び前記暗号化ユニット装置へそれぞれ出力するものであり、
    前記外部記憶装置又は前記暗号化ユニット装置がそれぞれ備える前記一時鍵を共有するための手段は、それぞれ、
    前記計算機のCPUバスを介して、前記データ暗号化鍵を生成する装置から、前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記第1又は第3の記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とするものであることを特徴とする暗号化システム。
  8. 計算機のCPUバスに接続された外部記憶装置と復号化ユニット装置を用いて記録媒体に記録された暗号化されたデータを復号する復号化システムであって、
    前記外部記憶装置は、
    予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第1の記憶手段と、
    自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段と、
    前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記復号化ユニット装置との間で、一時鍵を共有するための手段と、
    共有した前記一時鍵で固有の前記秘密鍵を暗号化するための手段と、
    前記一時鍵で暗号化された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記復号化ユニット装置へ出力するための手段とを備え、
    前記復号化ユニット装置は、
    予め定められた複数のマスター鍵の全部又は一部を外部から秘匿した形で記憶するための第2の記憶手段と、
    記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、前記外部記憶装置との間で、前記一時鍵を共有するための手段と、
    前記計算機のCPUバスを介して、前記外部記憶装置から、前記一時鍵で暗号化された固有の前記秘密鍵を入力するための手段と、
    入力した前記一時鍵で暗号化された固有の前記秘密鍵を、共有した前記一時鍵で復号して、固有の前記秘密鍵を求めるための手段と、
    前記記録媒体から読み出された固有の前記秘密鍵で暗号化されたデータ暗号化鍵及び前記データ暗号化鍵で暗号化されたデータを、前記計算機のCPUバスを介して入力するための手段と、
    求めた固有の前記秘密鍵を復号鍵として、入力した固有の前記秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、
    めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するための手段とを備え、
    前記復号化ユニット装置が備える前記一時鍵を共有するための手段は、
    前記一時鍵を生成し、
    生成した前記一時鍵を、前記第2の記憶手段に記憶されているいずれかのマスター鍵で復号するとともに、該一時鍵自身で一時鍵を復号し、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記外部記憶装置へ出力するものであり、
    前記外部記憶装置が備える前記一時鍵を共有するための手段は、
    前記計算機のCPUバスを介して、前記復号化ユニット装置から、前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記第1の記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とするものであることを特徴とする復号化システム。
  9. 計算機のCPUバスに接続された、自装置に固有の秘密鍵を外部から秘匿された形で記録するための手段及び予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第1の記憶手段を備えた外部記憶装置と、予め定められた複数のマスター鍵の全部又は一部を外部から秘匿した形で記憶するための第2の記憶手段を備えたデータ暗号化鍵を生成する装置と、予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第3の記憶手段を備えた暗号化ユニット装置とを用いて該計算機のCPUバスを介さずに外部から入力されたデータを記録媒体に記録する前に暗号化する暗号化方法であって、
    前記データ暗号化鍵を生成する装置と前記外部記憶装置及び前記暗号化ユニット装置とのそれぞれの間で、前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵をそれぞれ共有する共有ステップと、
    前記外部記憶装置において、共有した前記一時鍵で固有の前記秘密鍵を復号するステップと、
    前記外部記憶装置において、前記一時鍵で復号された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へ出力するステップと、
    前記暗号化ユニット装置において、前記計算機のCPUバスを介して、前記外部記憶装置から、前記一時鍵で復号された固有の前記秘密鍵を入力するステップと、
    前記暗号化ユニット装置において、入力した前記一時鍵で復号された固有の前記秘密鍵を、共有した前記一時鍵で暗号化して、固有の前記秘密鍵を求めるステップと、
    前記データ暗号化鍵を生成する装置において、前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するステップと、
    前記データ暗号化鍵を生成する装置において、共有した前記一時鍵で前記データ暗号化鍵を復号するステップと、
    前記データ暗号化鍵を生成する装置において、前記一時鍵で復号されたデータ暗号化鍵を、前記計算機のCPUバスを介して、前記暗号化ユニット装置へ出力するステップと、
    前記暗号化ユニット装置において、前記計算機のCPUバスを介して、前記データ暗号 化鍵を生成する装置から、前記一時鍵で復号されたデータ暗号化鍵を入力するステップと、
    前記暗号化ユニット装置において、入力した前記一時鍵で復号されたデータ暗号化鍵を、共有した前記一時鍵で暗号化して、前記データ暗号化鍵を求めるステップと、
    前記暗号化ユニット装置において、暗号化対象となるデータを、前記計算機のCPUバスを介さずに入力するステップと、
    前記暗号化ユニット装置において、求めた固有の前記秘密鍵を用いて、求めた前記データ暗号化鍵を暗号化するステップと、
    前記暗号化ユニット装置において、求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するステップとを有し、
    前記共有ステップでは、
    前記データ暗号化鍵を生成する装置が備える前記一時鍵を共有するための手段が、
    前記一時鍵を生成し、
    生成した前記一時鍵を、前記第2の記憶手段に記憶されているいずれかのマスター鍵で復号するとともに、該一時鍵自身で一時鍵を復号し、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記外部記憶装置及び前記暗号化ユニット装置へそれぞれ出力し、
    前記外部記憶装置又は前記暗号化ユニット装置がそれぞれ備える前記一時鍵を共有するための手段が、それぞれ、
    前記計算機のCPUバスを介して、前記データ暗号化鍵を生成する装置から、前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記第1又は第3の記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする暗号化方法。
  10. 計算機のCPUバスに接続された、自装置に固有の前記秘密鍵を外部から秘匿された形で記録するための手段及び予め定められた複数のマスター鍵を外部から秘匿した形で記憶するための第1の記憶手段を備えた外部記憶装置と、予め定められた複数のマスター鍵の全部又は一部を外部から秘匿した形で記憶するための第2の記憶手段を備えた復号化ユニット装置を用いて記録媒体に記録された暗号化されたデータを復号する復号化方法であって、
    前記外部記憶装置と前記復号化ユニット装置との間で、前記計算機のCPUバスを介して、秘密の情報に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有する共有ステップと、
    前記外部記憶装置において、共有した前記一時鍵で固有の前記秘密鍵を暗号化するステップと、
    前記外部記憶装置において、前記一時鍵で暗号化された固有の前記秘密鍵を、前記計算機のCPUバスを介して、前記復号化ユニット装置へ出力するステップと、
    前記復号化ユニット装置において、前記計算機のCPUバスを介して、前記外部記憶装置から、前記一時鍵で暗号化された固有の前記秘密鍵を入力するステップと、
    前記復号化ユニット装置において、入力した前記一時鍵で暗号化された固有の前記秘密鍵を、共有した前記一時鍵で復号して、固有の前記秘密鍵を求めるステップと、
    前記復号化ユニット装置において、前記記録媒体から読み出された固有の前記秘密鍵で暗号化されたデータ暗号化鍵及び前記データ暗号化鍵で暗号化されたデータを、前記CPUバスを介して入力するステップと、
    前記復号化ユニット装置において、求めた固有の前記秘密鍵を復号鍵として、入力した固有の前記秘密鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるス テップと、
    前記復号化ユニット装置において、求めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するステップとを有し、
    前記共有ステップでは、
    前記復号化ユニット装置が備える前記一時鍵を共有するための手段が、
    前記一時鍵を生成し、
    生成した前記一時鍵を、前記第2の記憶手段に記憶されているいずれかのマスター鍵で復号するとともに、該一時鍵自身で一時鍵を復号し、
    前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を、前記計算機のCPUバスを介して、前記外部記憶装置へ出力し、
    前記外部記憶装置が備える前記一時鍵を共有するための手段が、
    前記計算機のCPUバスを介して、前記復号化ユニット装置から、前記いずれかのマスター鍵で復号された一時鍵及び前記一時鍵自身で復号された一時鍵を入力し、
    入力した前記いずれかのマスター鍵で復号された一時鍵を、前記第1の記憶手段に記録されているいずれかのマスター鍵で暗号化して得られる第1の鍵候補と、入力した前記一時鍵自身で復号された一時鍵を、該第1の鍵候補で暗号化して得られる第2の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする復号化方法。
JP10205697A 1997-04-18 1997-04-18 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法 Expired - Fee Related JP3625355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10205697A JP3625355B2 (ja) 1997-04-18 1997-04-18 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10205697A JP3625355B2 (ja) 1997-04-18 1997-04-18 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法

Publications (2)

Publication Number Publication Date
JPH10293725A JPH10293725A (ja) 1998-11-04
JP3625355B2 true JP3625355B2 (ja) 2005-03-02

Family

ID=14317123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10205697A Expired - Fee Related JP3625355B2 (ja) 1997-04-18 1997-04-18 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法

Country Status (1)

Country Link
JP (1) JP3625355B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207833A (ja) * 1999-01-14 2000-07-28 Sharp Corp 記録再生装置及び自動販売機
JP4731000B2 (ja) * 1999-08-20 2011-07-20 パナソニック株式会社 データ再生装置、及びデータ再生方法
CN1257508C (zh) 1999-12-28 2006-05-24 松下电器产业株式会社 记录装置
JP2002229858A (ja) * 2001-01-30 2002-08-16 Matsushita Electric Ind Co Ltd コンピュータ、及びプログラム
EP1288942B1 (en) * 2001-08-08 2005-01-12 Matsushita Electric Industrial Co., Ltd. Copyright protection system, recording device, and reproduction device
JP4717398B2 (ja) 2004-09-10 2011-07-06 キヤノン株式会社 データ処理装置の制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3073590B2 (ja) * 1992-03-16 2000-08-07 富士通株式会社 電子化データ保護システム、使用許諾者側装置および使用者側装置
JPH06187510A (ja) * 1992-12-18 1994-07-08 Omron Corp 情報記録再生システム
JP2600643B2 (ja) * 1994-07-28 1997-04-16 日本電気株式会社 ファイル暗号装置
JPH0934841A (ja) * 1995-07-21 1997-02-07 Fujitsu Ltd 記憶媒体のオンライン暗号解除システムおよび方法

Also Published As

Publication number Publication date
JPH10293725A (ja) 1998-11-04

Similar Documents

Publication Publication Date Title
TW514844B (en) Data processing system, storage device, data processing method and program providing media
EP1061515B1 (en) Memory card, memory card utilizing device, and corresponding method and program for converting management information which contains restrictive information using a different key in each management information send and receive session
US6950941B1 (en) Copy protection system for portable storage media
US6859535B1 (en) Digital content protection system
US7373506B2 (en) Data authentication system
US7401231B2 (en) Information recording/playback device and method
JP4060271B2 (ja) コンテンツ処理装置およびコンテンツ保護プログラム
US20090210724A1 (en) Content management method and content management apparatus
EP1975841A2 (en) Method and system for mutual authentication between mobile and host devices
WO2001078298A1 (fr) Systeme et procede de traitement d'informations
JPH103256A (ja) 暗号化方法、暗号化装置、記録方法、復号化方法、復号化装置及び記録媒体
JP2005102055A (ja) 暗号化装置及び復号化装置
JPWO2006033347A1 (ja) 機密情報処理方法、機密情報処理装置、およびコンテンツデータ再生装置
JP3625356B2 (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
KR20010083940A (ko) 기록된 공개 자료로부터 마스터 키의 복구
JP3625354B2 (ja) ユニット装置、復号化ユニット装置、暗号化ユニット装置、暗号処理システム及び暗号化方法
JP3625355B2 (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
JP2003195758A (ja) データ処理装置、インタフェースボードおよびデータ秘匿方法
JP5296195B2 (ja) コンテンツデータ再生システム、及び記録装置
JP3625353B2 (ja) 外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法
JP2004140757A (ja) コンテンツの暗号化方法及び暗号化されたデータを復号化する復号化方法並びにその装置
JPH11352881A (ja) 暗号装置及び方法、データ復号装置及び方法、並びにデータ記憶システム
JP3949952B2 (ja) スマートカード、再生・管理装置、方法及びプログラム
JP4302076B2 (ja) 鍵判定装置
JP2000305850A (ja) 電子化データ保護システム、使用許諾者側装置および使用者側装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041129

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101210

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees