(57)【特許請求の範囲】
【請求項１】
所定数の公開鍵を持ち計算機のＣＰＵバスを介さずに入力したデータを記録媒体に記録する前にあるデータ暗号化鍵で暗号化するとともに該あるデータ暗号化鍵をも該記録媒体に記録する前に固有鍵で暗号化する装置のために、該計算機のＣＰＵバスに接続されて使用される外部記憶装置であって、
自装置に固有の前記固有鍵を外部から秘匿された形で記録するための固有鍵記録手段と、
所定数の公開鍵を記憶するための公開鍵記憶手段と、
前記計算機のＣＰＵバスを介して、前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を持ち且つ固有の前記固有鍵を前記計算機のＣＰＵバスを介して前記暗号化する装置に中継するための手段を有するユニット装置との間で、前記公開鍵及び前記秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
共有した前記一時鍵で固有の前記固有鍵を暗号化するための手段と、
前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記ユニット装置へ出力するための手段とを備え、
前記共有するための手段は、
前記一時鍵を生成し、
生成された前記一時鍵を、前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を、前記計算機のＣＰＵバスを介して、前記ユニット装置へ出力することを特徴とする外部記憶装置。
【請求項２】
所定数の秘密鍵を持ち、記録媒体から読み出され計算機のＣＰＵバスを介して与えられた固有鍵で暗号化されたデータ暗号化鍵を復号し、得られたデータ暗号化鍵を用いて該記録媒体から読み出され該計算機のＣＰＵバスを介して与えられた該データ暗号化鍵で暗号化されたデータを復号する装置のために、該計算機のＣＰＵバスに接続されて使用される外部記憶装置であって、
自装置に固有の固有鍵を外部から秘匿された形で記録するための固有鍵記録手段と、
所定数の公開鍵を記憶するための公開鍵記憶手段と、
前記計算機のＣＰＵバスを介して、前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を持つ前記復号する装置との間で、前記公開鍵及び前記秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
共有した前記一時鍵で固有の前記固有鍵を暗号化するための手段と、
前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記復号する装置へ出力するための手段とを備え、
前記共有するための手段は、
前記一時鍵を生成し、
生成された前記一時鍵を、前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を、前記計算機のＣＰＵバスを介して、前記復号する装置へ出力することを特徴とする外部記憶装置。
【請求項３】
計算機のＣＰＵバスを介さずに入力されたデータを、記録媒体に記録する前に暗号化する暗号化ユニット装置であって、
所定数の公開鍵を記憶するための公開鍵記憶手段と、
前記計算機のＣＰＵバスを介して、前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を持ち且つデータ暗号化鍵を生成するための手段及び外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の固有鍵を前記計算機のＣＰＵバスを介して取得するための手段を有する他のユニット装置との間で、前記公開鍵及び前記秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
前記計算機のＣＰＵバスを介して、前記他のユニット装置から、該他のユニット装置が前記外部記憶装置から取得した固有の前記固有鍵を、前記一時鍵で復号したもの、及び該他のユニット装置において生成されたデータ暗号化鍵を、前記一時鍵で復号したものを入力するための手段と、
入力した前記一時鍵で復号された固有の前記固有鍵を、共有した前記一時鍵で暗号化して、固有の前記固有鍵を求めるための手段と、
入力した前記一時鍵で復号された前記データ暗号化鍵を、共有した前記一時鍵で暗号化して、前記データ暗号化鍵を求めるための手段と、
暗号化対象となるデータを、前記計算機のＣＰＵバスを介さずに入力するための手段と、
求めた固有の前記固有鍵を用いて、求めた前記データ暗号化鍵を暗号化するための手段と、
求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するための手段とを備え、
前記共有するための手段は、
前記一時鍵を生成し、
生成された前記一時鍵を、前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力することを特徴とする暗号化ユニット装置。
【請求項４】
暗号化されて記録媒体に記録されたデータを復号する、計算機のＣＰＵバスに接続されて使用される復号化ユニット装置であって、
予め定められた所定数の秘密鍵の全部又は一部を記憶するための秘密鍵記憶手段と、
前記計算機のＣＰＵバスを介して、前記所定数の秘密鍵に対応する所定数の公開鍵を持つ外部記憶装置であって、該外部記憶装置内にその外部から秘匿された形で該外部記憶装置に固有の固有鍵が記録されたものとの間で、前記公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記一時鍵で暗号化された固有の前記固有鍵を入力するための手段と、
入力した前記一時鍵で暗号化された固有の前記固有鍵を、共有した前記一時鍵で復号して、固有の前記固有鍵を求めるための手段と、
前記記録媒体から読み出された固有の前記固有鍵で暗号化されたデータ暗号化鍵及び該データ暗号化鍵で暗号化されたデータを、前記計算機のＣＰＵバスを介して入力するための手段と、
求めた固有の前記固有鍵を復号鍵として、入力した固有の前記固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、
求めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するための手段とを備え、
前記共有するための手段は、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、該外部記憶装置の持つ前記所定数の公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を入力し、
入力した前記所定数の公開鍵夫々で暗号化された一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記一時鍵自身で暗号化された一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする復号化ユニット装置。
【請求項５】
暗号化の際に、前記所定数の秘密鍵に対応する所定数の公開鍵を持ち且つ前記ＣＰＵバスを介さずに入力されたデータを暗号化する暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、
暗号化の際に、前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置との間で、前記公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
暗号化の際に、前記固有鍵を求めるための手段により求められた固有の前記固有鍵を、共有した前記一時鍵で復号するための手段と、
暗号化の際に、前記データ暗号化鍵を生成するための手段により生成された前記データ暗号化鍵を、共有した前記一時鍵で復号するための手段と、
前記一時鍵で復号された前記データ暗号化鍵及び前記一時鍵で復号された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置へ出力するための手段とをさらに備え、
前記共有するための手段は、
前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置から、前記暗号化ユニット装置の持つ前記所定数の公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を入力し、
入力した前記所定数の公開鍵夫々で暗号化された一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記一時鍵自身で暗号化された一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする請求項４に記載の復号化ユニット装置。
【請求項６】
前記記録媒体から読み出された暗号化されたデータを復号して得られたもとのデータにある変換処理を施した後に、前記計算機のＣＰＵバスを介さずに外部に出力するための手段をさらに備えたことを特徴とする請求項４または５に記載の復号化ユニット装置。
【請求項７】
計算機のＣＰＵバスに接続された、外部記憶装置と、暗号化ユニット装置と、データ暗号化鍵を生成するとともに該外部記憶装置から該暗号化ユニット装置へ情報の中継を行う他のユニット装置とを用いて該計算機のＣＰＵバスを介さずに外部から入力されたデータを記録媒体に記録する前に暗号化する暗号化システムであって、
前記外部記憶装置は、
自装置に固有の固有鍵を外部から秘匿された形で記録するための固有鍵記録手段と、
所定数の公開鍵を記憶するための第１の公開鍵記憶手段とを備え、
前記暗号化ユニット装置は、
前記所定数の公開鍵を記憶するための第２の公開鍵記憶手段を備え、
前記他のユニット装置は、
前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を記憶するための秘密鍵記憶手段と、
前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段とを備え、
前記外部記憶装置は、さらに、
前記計算機のＣＰＵバスを介して、前記他のユニット装置との間で、前記第１の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、第１の一時鍵を共有するための手段と、
共有した前記第１の一時鍵で固有の前記固有鍵を暗号化するための手段と、
前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力するための手段とを備え、
前記他のユニット装置は、さらに、
前記計算機のＣＰＵバスを介して、前記外部記憶装置との間で、前記第１の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、前記第１の一時鍵を共有するための手段と、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記第１の一時鍵で暗号化された固有の前記固有鍵を入力するための手段と、
入力した前記第１の一時鍵で暗号化された固有の前記固有鍵を、共有した前記第１の一時鍵で復号して、固有の前記固有鍵を求めるための手段と、
前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置との間で、前記第２の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、第２の一時鍵を共有するための手段と、
前記固有鍵を求めるための手段により求められた固有の前記固有鍵を、共有した前記第２の一時鍵で復号するための手段と、
前記データ暗号化鍵を生成するための手段により生成されたデータ暗号化鍵を、共有した前記第２の一時鍵で復号するための手段と、
前記第２の一時鍵で復号された固有の前記固有鍵及び前記第２の一時鍵で復号された前記データ暗号化鍵を、前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置へ出力するための手段とを備え、
前記暗号化ユニット装置は、さらに、
前記計算機のＣＰＵバスを介して、前記他のユニット装置との間で、前記第２の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、前記第２の一時鍵を共有するための手段と、
前記計算機のＣＰＵバスを介して、前記他のユニット装置から、前記第２の一時鍵で復号された固有の前記固有鍵及び前記第２の一時鍵で復号された前記データ暗号化鍵を入力するための手段と、
入力した前記第２の一時鍵で復号された固有の前記固有鍵を、共有した前記第２の一時鍵で暗号化して、固有の前記固有鍵を求めるための手段と、
入力した前記第２の一時鍵で復号された前記データ暗号化鍵を、共有した前記第２の一時鍵で暗号化して、前記データ暗号化鍵を求めるための手段と、
暗号化対象となるデータを、前記計算機のＣＰＵバスを介さずに入力するための手段と、
求めた固有の前記固有鍵を用いて、求めた前記データ暗号化鍵を暗号化するための手段と、
求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するための手段とを備え、
前記外部記憶装置が備える前記第１の一時鍵を共有するための手段は、
前記第１の一時鍵を生成し、
生成された前記第１の一時鍵を、前記第１の公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記公開鍵夫々で暗号化された第１の一時鍵及び該第１の一時鍵自身で暗号化された第１の一時鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力し、
前記他のユニット装置が備える前記第１の一時鍵を共有するための手段は、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記第１の公開鍵記憶手段に記憶された公開鍵夫々で暗号化された第１の一時鍵及び該第１の一時鍵自身で暗号化された第１の一時鍵を入力し、
入力した前記公開鍵夫々で暗号化された第１の一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記第１の一時鍵自身で暗号化された第１の一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき第１の一時鍵とし、
前記暗号化ユニットが備える前記第２の一時鍵を共有するための手段は、
前記第２の一時鍵を生成し、
生成された前記第２の一時鍵を、前記第２の公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該第２の一時鍵自身で第２の一時鍵を暗号化し、
前記公開鍵夫々で暗号化された第２の一時鍵及び該第２の一時鍵自身で暗号化された第２の一時鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力し、
前記他のユニット装置が備える前記第２の一時鍵を共有するための手段は、
前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置から、前記第２の公開鍵記憶手段に記憶された公開鍵夫々で暗号化された第２の一時鍵及び該第２の一時鍵自身で暗号化された第２の一時鍵を入力し、
入力した前記公開鍵夫々で暗号化された第２の一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記第２の一時鍵自身で暗号化された第２の一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき第２の一時鍵とすることを特徴とする暗号化システム。
【請求項８】
計算機のＣＰＵバスに接続された外部記憶装置と復号化ユニット装置とを用いて記録媒体に記録された暗号化されたデータを復号する復号化システムであって、
前記外部記憶装置は、
自装置に固有の固有鍵を外部から秘匿された形で記録するための固有鍵記録手段と、
所定数の公開鍵を記憶するための公開鍵記憶手段とを備え、
前記復号化ユニット装置は、
前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を記憶するための秘密鍵記憶手段を備え、
前記外部記憶装置は、さらに、
前記計算機のＣＰＵバスを介して、前記復号化ユニット装置との間で、前記公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための手段と、
共有した前記一時鍵で固有の前記固有鍵を暗号化するための手段と、
前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記復号化ユニット装置へ出力するための手段とを備え、
前記復号化ユニット装置は、さらに、
前記計算機のＣＰＵバスを介して、前記外部記憶装置との間で、前記公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、前記一時鍵を共有するための手段と、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記一時鍵で暗号化された固有の前記固有鍵を入力するための手段と、
入力した前記一時鍵で暗号化された固有の前記固有鍵を、共有した前記一時鍵で復号して、固有の前記固有鍵を求めるための手段と、
前記記録媒体から読み出された固有の前記固有鍵で暗号化されたデータ暗号化鍵及び該データ暗号化鍵で暗号化されたデータを、前記計算機のＣＰＵバスを介して入力するための手段と、
求めた固有の前記固有鍵を復号鍵として、入力した固有の前記固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、
求めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するための手段とを備え、
前記外部記憶装置が備える前記共有するための手段は、
前記一時鍵を生成し、
生成された前記一時鍵を、前記公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を、前記計算機のＣＰＵバスを介して、前記復号化ユニット装置へ出力し、
前記復号化ユニットが備える前記共有するための手段は、
前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記公開鍵記憶手段に記憶された公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を入力し、
入力した前記公開鍵夫々で暗号化された一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記一時鍵自身で暗号化された一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする復号化システム。
【請求項９】
計算機のＣＰＵバスに接続された、自装置に固有の固有鍵を外部から秘匿された形で記録するための固有鍵記録手段及び所定数の公開鍵を記憶するための第１の公開鍵記憶手段とを備えた外部記憶装置と、前記所定数の公開鍵を記憶するための第２の公開鍵記憶手段を備えた暗号化ユニット装置と、前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を記憶するための秘密鍵記憶手段及び前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段とを備え、データ暗号化鍵を生成するとともに該外部記憶装置から該暗号化ユニット装置へ情報の中継を行う他のユニット装置とを用いて該計算機のＣＰＵバスを介さずに外部から入力されたデータを記録媒体に記録する前に暗号化する暗号化方法であって、
前記外部記憶装置と前記他のユニット装置との間で、前記計算機のＣＰＵバスを介して、前記第１の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、第１の一時鍵を共有するための第１の共有ステップと、
前記暗号化ユニット装置と前記他のユニット装置との間で、前記計算機のＣＰＵバスを介して、前記第２の公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、第２の一時鍵を共有するための第２の共有ステップと、
前記外部記憶装置において、共有した前記第１の一時鍵で固有の前記固有鍵を暗号化するためのステップと、
前記外部記憶装置において、前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力するためのステップと、
前記他のユニット装置において、前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記第１の一時鍵で暗号化された固有の前記固有鍵を入力するためのステップと、
前記他のユニット装置において、入力した前記第１の一時鍵で暗号化された固有の前記固有鍵を、共有した前記第１の一時鍵で復号して、固有の前記固有鍵を求めるためのステップと、
前記他のユニット装置において、前記データ暗号化鍵を生成するためのステップと、
前記他のユニット装置において、求められた固有の前記前記固有鍵を、共有した前記第２の一時鍵で復号するためのステップと、
前記他のユニット装置において、生成された前記データ暗号化鍵を、共有した前記第２の一時鍵で復号するためのステップと、
前記第２の一時鍵で復号された固有の前記固有鍵及び前記第２の一時鍵で復号された前記データ暗号化鍵を、前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置へ出力するためのステップと、
前記暗号化ユニット装置において、前記計算機のＣＰＵバスを介して、前記他のユニット装置から、前記第２の一時鍵で復号された固有の前記固有鍵及び前記第２の一時鍵で復号された前記データ暗号化鍵を入力するためのステップと、
前記暗号化ユニット装置において、入力した前記第２の一時鍵で復号された固有の前記固有鍵を、共有した前記第２の一時鍵で暗号化して、固有の前記固有鍵を求めるためのステップと、
前記暗号化ユニット装置において、入力した前記第２の一時鍵で復号された前記データ暗号化鍵を、共有した前記第２の一時鍵で暗号化して、前記データ暗号化鍵を求めるためのステップと、
前記暗号化ユニット装置において、暗号化対象となるデータを、前記計算機のＣＰＵバスを介さずに入力するためのステップと、
前記暗号化ユニット装置において、求めた固有の前記固有鍵を用いて、求めた前記データ暗号化鍵を暗号化するためのステップと、
前記暗号化ユニット装置において、求めた前記データ暗号化鍵を用いて、入力した前記データを暗号化するためのステップとを有し、
前記第１の共有ステップでは、
前記外部記憶装置において、前記第１の一時鍵を生成し、
前記外部記憶装置において、生成された前記第１の一時鍵を、前記第１の公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記外部記憶装置において、前記公開鍵夫々で暗号化された第１の一時鍵及び該第１の一時鍵自身で暗号化された第１の一時鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力し、
前記他のユニット装置において、前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記第１の公開鍵記憶手段に記憶された公開鍵夫々で暗号化された第１の一時鍵及び該第１の一時鍵自身で暗号化された第１の一時鍵を入力し、
前記他のユニット装置において、入力した前記公開鍵夫々で暗号化された第１の一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記第１の一時鍵自身で暗号化された第１の一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき第１の一時鍵とし、
前記第２の共有ステップでは、
前記暗号化ユニットにおいて、前記第２の一時鍵を生成し、
前記暗号化ユニットにおいて、生成された前記第２の一時鍵を、前記第２の公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該第２の一時鍵自身で第２の一時鍵を暗号化し、
前記暗号化ユニットにおいて、前記公開鍵夫々で暗号化された第２の一時鍵及び該第２の一時鍵自身で暗号化された第２の一時鍵を、前記計算機のＣＰＵバスを介して、前記他のユニット装置へ出力し、
前記他のユニット装置において、前記計算機のＣＰＵバスを介して、前記暗号化ユニット装置から、前記第２の公開鍵記憶手段に記憶された公開鍵夫々で暗号化された第２の一時鍵及び該第２の一時鍵自身で暗号化された第２の一時鍵を入力し、
前記他のユニット装置において、入力した前記公開鍵夫々で暗号化された第２の一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記第２の一時鍵自身で暗号化された第２の一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき第２の一時鍵とすることを特徴とする暗号化方法。
【請求項１０】
計算機のＣＰＵバスに接続された、自装置に固有の固有鍵を外部から秘匿された形で記録するための固有鍵記録手段と、所定数の公開鍵を記憶するための公開鍵記憶手段とを備えた外部記憶装置と、前記所定数の公開鍵の全部又は一部に対応する所定数の秘密鍵を記憶するための秘密鍵記憶手段を備えた復号化ユニット装置とを用いて記録媒体に記録された暗号化されたデータを復号する復号化方法であって、
前記外部記憶装置と前記復号化ユニット装置との間で、前記計算機のＣＰＵバスを介して、前記公開鍵記憶手段に記憶された公開鍵及び前記秘密鍵記憶手段に記憶された秘密鍵に基づく鍵共有のための情報の受け渡しを行うことによって、一時鍵を共有するための共有ステップと、
前記外部記憶装置において、共有した前記一時鍵で固有の前記固有鍵を暗号化するためのステップと、
前記外部記憶装置において、前記一時鍵で暗号化された固有の前記固有鍵を、前記計算機のＣＰＵバスを介して、前記復号化ユニットへ出力するためのステップと、
前記復号化ユニット装置において、前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記一時鍵で暗号化された固有の前記固有鍵を入力するためのステップと、
前記復号化ユニット装置において、入力した前記一時鍵で暗号化された固有の前記固有鍵を、共有した前記一時鍵で復号して、固有の前記固有鍵を求めるためのステップと、
前記復号化ユニット装置において、前記記録媒体から読み出された固有の前記固有鍵で暗号化されたデータ暗号化鍵及び前記データ暗号化鍵で暗号化されたデータを、前記計算機のＣＰＵバスを介して入力するためのステップと、
前記復号化ユニット装置において、求めた固有の前記固有鍵を復号鍵として、入力した固有の前記固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるためのステップと、
前記復号化ユニット装置において、求めた前記データ暗号化鍵を復号鍵として、入力した前記データ暗号化鍵で暗号化されたデータを復号するためのステップとを有し、
前記共有ステップでは、
前記外部記憶装置において、前記一時鍵を生成し、
前記外部記憶装置において、生成された前記一時鍵を、前記公開鍵記憶手段に記憶された前記公開鍵夫々で暗号化するとともに、該一時鍵自身で一時鍵を暗号化し、
前記外部記憶装置において、前記公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を、前記計算機のＣＰＵバスを介して、前記復号化ユニット装置へ出力し、
前記復号化ユニットにおいて、前記計算機のＣＰＵバスを介して、前記外部記憶装置から、前記公開鍵記憶手段に記憶された公開鍵夫々で暗号化された一時鍵及び前記一時鍵自身で暗号化された一時鍵を入力し、
前記復号化ユニットにおいて、入力した前記公開鍵夫々で暗号化された一時鍵のいずれかを、前記秘密鍵記憶手段に記録されているいずれかの秘密鍵で復号して得られる第１の鍵候補と、入力した前記一時鍵自身で暗号化された一時鍵を、該第１の鍵候補で復号して得られる第２の鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を、求めるべき一時鍵とすることを特徴とする復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル化された文書、音声、画像、プログラムなどのデータをネットワークを介して通信を行うシステムあるいは前記ディジタルデータを記録保存し、読み出しするシステムのための外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法に関する。
【０００２】
【従来の技術】
現在、計算機が広範に普及しており、種々の分野で情報を電子化して処理し、あるいは情報を電子化して記録装置に保存することが通常行われるようになっている。また、ネットワーク環境も益々整ってきており、情報を電子化して通信することも通常行われるようになってきている。さらには、文書情報だけでなく、音声や画像などのデータを電子化して扱う技術も急速に進歩してきている。
【０００３】
ところで、電子化して扱う情報には、もちろん企業秘密や個人情報のように秘匿性を要する情報が含まれる。また、著作権に係る情報のように扱いに注意を要する情報も含まれる。
【０００４】
そこで、情報を電子化して扱う際に、暗号化を行っておき、正当な者だけがこれを復号できるようにする技術が良く使われている。
例えば、データを暗号化して記録媒体に保存し、また記録媒体から暗号化データを読み出して復号し元のデータを取り出す暗号システムでは、予め暗号化と復号に用いる秘密鍵を定めておき、この秘密鍵を用いて保存、読み出しが行われる。このシステムによれば、秘密鍵を用いることができる者だけが保存された暗号化データを復号することができ、秘密鍵が解読されない限り、秘密鍵を用いることができない第三者が暗号化されたデータを不正に解読することはできない。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記システムでは、もし第三者の不正な攻撃により秘密鍵が解読されると、すべての暗号化データが解読されるばかりでなく、解読により得たデータ（プレインデータ）を自由にコピーすることが可能となってしまう。
【０００６】
また、秘密鍵が解読されなくても、他の暗号化システムにも同一の秘密鍵を内蔵するような場合には、暗号化データをそのままコピーすることにより、簡単に海賊版の作成ができてしまう。
【０００７】
さらに、秘密鍵が暴かれたことが発覚した場合、該当する暗号化システムの秘密鍵を更新する必要があり繁雑であるだけでなく、秘密鍵の更新後には当該暴かれた秘密鍵が復号にも使用できなくなるような更新形態をとるシステムにおいては、秘密鍵の更新後は当該暴かれた秘密鍵で暗号化されていたデータを復号することができなくなり、正当な者も元の内容を得ることができなくなってしまう不具合がある。
【０００８】
本発明は、上記事情を考慮してなされたものであり、第三者による不正なコピーを防止することができる外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【０００９】
また、本発明は、第三者が鍵情報を取得しあるいは暗号化データを解読することを困難にする外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【００１０】
さらに、本発明は、鍵情報の更新手続きを不要とする外部記憶装置、暗号化ユニット装置、復号化ユニット装置、暗号化システム、復号化システム、暗号化方法及び復号化方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明は、所定数の公開鍵を持ち計算機のＣＰＵバスを介さずに入力したデータ（デジタル化されたデータ；例えば、文書、音声、画像、プログラムなど）を所定の記録媒体に記録する前に所定のデータ暗号化鍵で暗号化するとともに該所定のデータ暗号化鍵をも該記録媒体に記録する前に所定の固有鍵で暗号化する装置のために、該計算機のＣＰＵバスに接続されて使用される処理機能を有する外部記憶装置（例えば、ＩＣカード）であって、自装置に固有の固有鍵を外部から秘匿された形で記録するための手段と、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記ＣＰＵバスを介して、所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して前記暗号化する装置に所定の情報を中継するための手段を有する装置に、前記固有鍵を外部から取得されることなく安全に伝えるための手段とを備えたことを特徴とする。
【００１２】
本発明は、所定数の秘密鍵を持ち、所定の記録媒体から読み出され計算機のＣＰＵバスを介して与えられた所定の固有鍵で暗号化されたデータ暗号化鍵を復号し、得られたデータ暗号化鍵を用いて該記録媒体から読み出され該ＣＰＵバスを介して与えられた所定のデータ暗号化鍵で暗号化されたデータを復号する装置のために、該計算機のＣＰＵバスに接続されて使用される処理機能を有する外部記憶装置であって、自装置に固有の固有鍵を外部から秘匿された形で記録するための手段と、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記ＣＰＵバスを介して前記復号する装置に、前記固有鍵を外部から取得されることなく安全に伝えるための手段とを備えたことを特徴とする。
【００１３】
好ましくは、前記伝えるための手段は、所定の一時鍵を生成し、生成された一時鍵を所定数の公開鍵夫々で暗号化するとともに一時鍵自身で一時鍵を暗号化した上で出力することにより相手側と一時鍵を共有するための手段と、共有された前記一時鍵で前記固有鍵を暗号化して出力するための手段とを有するようにしても良い。
【００１４】
本発明は、計算機のＣＰＵバスを介さずに入力されたデータを、所定の記録媒体に記録する前に暗号化する暗号化ユニット装置であって、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記計算機のＣＰＵバスを介して、所定の外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の固有鍵を該外部記憶装置から該ＣＰＵバスを介して外部から取得されることなく安全に受け取りこれを中継する所定のユニット装置から、該固有鍵を外部から取得されることなく安全に受け取るとともに、該所定のユニット装置内にて生成されたデータ暗号化鍵を該所定のユニット装置から該ＣＰＵバスを介して外部から取得されることなく安全に受け取るための手段と、受け取った前記固有鍵を用いて受け取った前記データ暗号化鍵を暗号化するための手段と、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化するための手段とを備えたことを特徴とする。
【００１５】
好ましくは、前記受け取るための手段は、所定の一時鍵を生成し、生成された一時鍵を所定数の公開鍵夫々で暗号化するとともに一時鍵自身で一時鍵を暗号化した上で出力することにより前記所定のユニット装置との間で一時鍵を共有するための手段と、前記所定のユニット装置から渡された共有された一時鍵で暗号化された固有鍵を該共有化した一時鍵で復号するとともに、前記所定のユニット装置から渡された共有された一時鍵で暗号化されたデータ暗号化鍵を該共有化した一時鍵で復号するための手段とを有するようにしても良い。
【００１６】
本発明は、暗号化されて所定の記録媒体に記録されたデータを復号する、計算機のＣＰＵバスに接続されて使用される復号化ユニット装置であって、所定数の秘密鍵を記憶するための手段と、前記所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して、所定の外部記憶装置から該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の固有鍵を、外部から取得されることなく安全に受け取るための手段と、受け取った前記固有鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられた固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【００１７】
本発明は、暗号化されて所定の記録媒体に記録されたデータを復号する、計算機のＣＰＵバスに接続されて使用される復号化ユニット装置であって、所定数の秘密鍵を外部から秘匿された形で記録するための手段と、前記所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して、所定の外部記憶装置から該外部記憶装置内にその外部から秘匿された形で記録された該外部記憶装置に固有の固有鍵を、外部から取得されることなく安全に受け取るための手段と、暗号化の際に、前記ＣＰＵバスを介さずに入力されたデータを暗号化する暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、暗号化の際に、前記所定数の秘密鍵を用いて前記ＣＰＵバスを介して前記暗号化ユニット装置に、受け取った前記固有鍵と生成された前記データ暗号化鍵を外部から取得されることなく安全に伝えるための手段と、受け取った前記固有鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられた固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【００１８】
好ましくは、前記受け取るための手段は、前記外部記憶装置から渡された所定数の公開鍵夫々で暗号化された一時鍵のいずれかを自装置内に記録されているいずれかの秘密鍵で復号して得られる鍵候補と、この鍵候補を復号鍵として該外部記憶装置から渡された一時鍵自身で暗号化された一時鍵を復号して得られる鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を求めるべき一時鍵とすることにより該外部記憶装置との間で一時鍵を共有するための手段と、前記外部記憶装置から渡された共有された一時鍵で暗号化された固有鍵を該共有化した一時鍵で復号するための手段とを有するようにしても良い。
【００１９】
好ましくは、前記伝えるための手段は、前記暗号化ユニット装置から渡された所定数の公開鍵夫々で暗号化された一時鍵のいずれかを自装置内に記録されているいずれかの秘密鍵で復号して得られる鍵候補と、この鍵候補を復号鍵として該暗号化ユニット装置から渡された一時鍵自身で暗号化された一時鍵を復号して得られる鍵候補とが一致するものを探し求め、該一致が得られたときの鍵候補を求めるべき一時鍵とすることにより該暗号化ユニット装置との間で一時鍵を共有するための手段と、共有化された前記一時鍵で前記固有鍵を復号して出力するとともに、共有化された該一時鍵で前記データ暗号化鍵を復号して出力するための手段とを有するようにしても良い。
【００２０】
好ましくは、前記記録媒体から読み出された暗号化されたデータを復号して得られたもとのデータに所定の変換処理を施した後に、前記計算機のＣＰＵバスを介さずに外部に出力するための手段をさらに備えても良い。
【００２１】
なお、以上の各装置において、処理を簡単にするために、前記秘密鍵や前記公開鍵は、各装置に１つのみ持たせても良い。
本発明は、計算機のＣＰＵバスに接続された処理機能を有する外部記憶装置と、暗号化ユニット装置と、データ暗号化鍵を生成するとともに該外部記憶装置装置から該暗号化ユニット装置へ情報の中継を行う所定のユニット装置とを用いて該ＣＰＵバスを介さずに外部から入力されたデータを所定の記録媒体に記録する前に暗号化する暗号化システムであって、前記外部記憶装置は、自装置に固有の固有鍵を外部から秘匿された形で記録するための手段と、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記ＣＰＵバスを介して前記所定のユニット装置に、前記固有鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記所定のユニット装置は、所定数の秘密鍵を外部から秘匿された形で記録するための手段と、前記所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して前記外部記憶装置から、前記固有鍵を外部から取得されることなく安全に受け取るための手段と、前記暗号化ユニット装置が暗号化対象とするデータの暗号化に用いるデータ暗号化鍵を生成するための手段と、前記所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して前記暗号化ユニット装置に、受け取った前記固有鍵と生成された前記データ暗号化鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記暗号化ユニット装置は、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記計算機のＣＰＵバスを介して前記所定のユニット装置から、前記固有鍵を外部から取得されることなく安全に受け取るとともに、該所定のユニット装置内にて生成されたデータ暗号化鍵を外部から取得されることなく安全に受け取るための手段と、受け取った前記固有鍵を用いて受け取った前記データ暗号化鍵を暗号化するための手段と、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化するための手段とを備えたことを特徴とする。
【００２２】
本発明は、計算機のＣＰＵバスに接続された処理機能を有する外部記憶装置と復号化ユニット装置を用いて所定の記録媒体に記録された暗号化されたデータを復号する復号化システムであって、前記外部記憶装置は、自装置に固有の固有鍵を外部から秘匿された形で記録するための手段と、所定数の公開鍵を記憶するための手段と、前記所定数の公開鍵を用いた所定の手順により前記ＣＰＵバスを介して前記復号化ユニット装置に、前記固有鍵を外部から取得されることなく安全に伝えるための手段とを備え、前記復号化ユニット装置は、所定数の秘密鍵を記憶するための手段と、前記所定数の秘密鍵を用いた所定の手順により前記ＣＰＵバスを介して前記外部記憶装置から、前記固有鍵を外部から取得されることなく安全に受け取るための手段と、受け取った前記固有鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられた固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求めるための手段と、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号するための手段とを備えたことを特徴とする。
【００２３】
本発明は、計算機のＣＰＵバスに接続された処理機能を有する外部記憶装置と、暗号化ユニット装置と、データ暗号化鍵を生成するとともに該外部記憶装置装置から該暗号化ユニット装置へ情報の中継を行う所定のユニット装置とを用いて該ＣＰＵバスを介さずに外部から入力されたデータを所定の記録媒体に記録する前に暗号化する暗号化方法であって、前記外部記憶装置にて所定数の公開鍵を用い前記所定のユニット装置にて所定数の秘密鍵を用い前記暗号化ユニット装置にて所定数の公開鍵を用いた所定の手順により、前記ＣＰＵバスを介して前記外部記憶装置から前記所定のユニット装置を中継して前記暗号化ユニット装置に、該外部記憶装置内に外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に伝える処理と、前記所定のユニット装置にて所定数の秘密鍵を用い前記暗号化ユニット装置にて所定数の公開鍵を用いた所定の手順により、前記ＣＰＵバスを介して前記所定のユニット装置から前記暗号化ユニット装置に、該所定のユニット装置内で生成されたデータ暗号化鍵を、外部から取得されることなく安全に伝える処理と、前記暗号化ユニット装置にて、受け取った前記固有鍵を用いて受け取った前記データ暗号化鍵を暗号化する処理と、前記暗号化ユニット装置にて、受け取った前記データ暗号化鍵を用いて前記暗号化対象となるデータを暗号化する処理とを、所定の順番で実行することを特徴とする。
【００２４】
本発明は、計算機のＣＰＵバスに接続された処理機能を有する外部記憶装置と復号化ユニット装置を用いて所定の記録媒体に記録された暗号化されたデータを復号する復号化方法であって、前記外部記憶装置にて所定数の公開鍵を用い前記復号化ユニット装置にて所定数の秘密鍵を用いた所定の手順により、前記ＣＰＵバスを介して前記外部記憶装置から前記復号化ユニット装置に、該外部記憶装置内に外部から秘匿された形で記録された該外部記憶装置に固有の秘密鍵を、外部から取得されることなく安全に伝え、前記復号化ユニット装置にて、受け取った前記固有鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられた固有鍵で暗号化されたデータ暗号化鍵を復号して、データ暗号化鍵を求め、求められた前記データ暗号化鍵を復号鍵として、前記記録媒体から読み出され前記ＣＰＵバスを介して与えられたデータ暗号化鍵で暗号化されたデータを復号することを特徴とする。
【００２５】
本発明によれば、データ暗号化鍵をその都度生成してデータを暗号化して記録媒体に記録するとともに、データ暗号化鍵を外部記憶装置内に記憶された固有の秘密鍵により暗号化して記録媒体に記録することにより、暗号化の際に用いた固有の秘密鍵を記憶している外部記憶装置を使用しなければ復号をすることができないことになる。このための、ＣＰＵバスから直接に他の記録媒体に記録するなどして記録媒体の複製を作って頒布しても、他の者は復号をすることができない（別の外部記憶装置では復号できない）。
【００２６】
また、本発明によれば、データ暗号化鍵や固有の秘密鍵は、例えば所定の手順により共有化した一時鍵を用いて暗号化するなどして、ＣＰＵバスを介して装置間で共有するため、ＣＰＵバス上を流れる情報を記録したとしても、後にこれを利用することができず（一時鍵が異なるので復号できない）、ＣＰＵバスから情報を記録することは無意味になる。
【００２７】
また、上記の一時鍵は、暗号化ユニット装置や外部記憶装置内で生成され、暗号化ユニット装置や外部記憶装置にて公開鍵の鍵束で暗号化されて（一時鍵自身で暗号化された一時鍵とともに）ＣＰＵバス上を流され、復号化ユニット内で秘密鍵の鍵束を用いて復号されるので、ＣＰＵバスを流れる暗号化された一時鍵を取得しても対応する秘密鍵がなければ復号することができない。
【００２８】
また、本発明によれば、データを暗号化するデータ暗号化鍵自体も、またデータ暗号化鍵を共有化するために用いる一時鍵も、毎回変わるため、第３者により暗号を解読することは極めて困難である。
【００２９】
したがって、本発明によれば、第３者による不正なコピーを防止することが可能となる。この結果、海賊版などの作成を未然に阻止し、効果的に著作権を守ることができる。
また、本発明によれば、鍵情報の更新手続きが不要となる。
【００３０】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
本実施形態では、データを暗号化して記録媒体に記録し、また記録媒体から暗号化データを読み出し復号するシステムを例にとって説明する。
【００３１】
本実施形態では、暗号化の操作をＥｙ（ｘ）と表す。ここで、ｘは暗号化の対象となるデータであり、ｙは暗号化に用いる暗号鍵である。また、復号化の操作をＤｙ（ｚ）と表す。ここで、ｚは復号化の対象となるデータであり、ｙは復号化に用いる復号鍵である。
【００３２】
本実施形態では、あるデータをまず復号化し、その後、復号化されたデータを暗号化してもとのデータに戻すことがある。これは、暗号の性質上、データの復号化に暗号化と同等の作用があることに基づいている。つまり、復号化したデータをもとに戻すためには復号化に用いた鍵がわからなければならず、鍵が判れば復号化したデータを暗号化することにより最初に復号化したデータが得られる。この操作は、暗号鍵をｘとしデータをｙとすれば、
Ｅｘ（Ｄｘ（ｙ））＝ｙ
で表される。
【００３３】
本実施形態に係るシステムは、パーソナル・コンピュータなどの計算機（以下、ＰＣ）内に備えられたＣＰＵ（図示せず）のＣＰＵバスに接続され、全体的な処理の流れの制御はプログラムで実現される。本実施形態では、データの入出力はＣＰＵバス以外の例えばＩ／Ｏポート等を通じて行われるが、ディスクドライブ装置（図示せず）とユニットとの間、ユニットとユニットとの間でのデータ転送には、ＣＰＵバスが用いられる。従って、ＣＰＵバス上を流れるデータには、暗号化（あるいは暗号化に先だって行う復号化）を施している。
【００３４】
本実施形態は、概略的には、一纏まりのデータを暗号化する際に、データの暗号化に用いるデータ暗号化鍵Ｓｄｋを生成し、記録媒体にはＩＣカード等に格納された固有鍵Ｋｉｃで暗号化したＳｄｋとＳｄｋで暗号化したデータを記録し、再生時には固有鍵Ｋｉｃを用いて記録媒体から読み出したデータ暗号化鍵を復号し、これを用いて記録媒体に記録された暗号化データを復号するものである。
【００３５】
図１は、本発明の一実施形態に係るデータの暗号化に用いるシステムの構成を示すブロック図である。また、この場合の動作の一例を図２、図３のフローチャートに示す。
【００３６】
図４は、本発明の一実施形態に係るデータの復号に用いるシステムの構成を示すブロック図である。また、この場合の動作の一例を図５のフローチャートに示す。
【００３７】
図１に示すように、本実施形態に係るシステムは、処理機能を有する外部記憶装置（例えばＩＣカード；以下ではＩＣカードとする）１０３と暗号化ユニット１０１と復号化ユニット１０２を備えている。また、ＩＣカード１０３と暗号化ユニット１０１と復号化ユニット１０２は、ＰＣのＣＰＵバス１０４に接続されている。なお、ＩＣカード１０３は使用時のみ接続し、それ以外では取り外して保管しておくのが望ましい。
【００３８】
また、ＣＰＵバス１０４にはディスクドライブ装置（図示せず）が接続されており、ディスクドライブ装置により記録媒体１２９への読み書きが行われる。
図１に示すように、ＩＣカード１０３は、一時鍵生成回路１０５ｂ、公開鍵暗号方式による暗号化回路１０９ｂ、共通鍵暗号方式による暗号化回路１１５ｆ，１１５ｇ、鍵判定回路２１１を備えている。上記構成部分は、独立した１つのＩＣチップとして形成され、ＩＣカード内に封止されているものとする。
【００３９】
なお、ＩＣカード１０３は、暗号化の際に用いる部分（図１）と、復号の際に用いる部分（図４）の２つに分離して、２つのＩＣカードとして構成しても構わない。
【００４０】
暗号化ユニット１０１は、一時鍵生成回路１０５ａ、公開鍵暗号方式による暗号化回路１０９ａ、共通鍵暗号方式による暗号化回路１１５ａ〜１１５ｅを備えている。暗号化ユニット１０１は、独立した１つのＩＣチップとして形成されるものとする。
【００４１】
復号化ユニット１０２は、暗号化に用いる部分として、データ暗号鍵生成回路１２０、公開鍵暗号方式による復号化回路１１０ａ、共通鍵暗号方式による復号化回路１１９ａ、１１９ｃ〜１１９ｅ、判定回路１２２ａを備え、復号に用いる部分として、共通鍵暗号方式による復号化回路２１３ｃ，２１３ｄを備え、暗号化と復号の両方に用いる部分として、公開鍵暗号方式による復号化回路１１０ｂ、共通鍵暗号方式による復号化回路１１９ｂ、判定回路１２２ｂを備えている。復号化ユニット１０２は、独立した１つのＩＣチップとして形成されるものとする。
【００４２】
なお、上記では、暗号化ユニット１０１に対応する復号化回路１１０ａ、復号化回路１１９ａ、判定回路１２２ａの部分と、ＩＣカード１０３に対応する復号化回路１１０ｂ、共通鍵暗号方式による復号化回路１１９ｂ、判定回路１２２ｂの部分とを独立して２組設けているが、暗号化ユニット１０１とＩＣカード１０３の両方に対応する復号化回路、復号化回路、判定回路を１組設ける（すなわち共有化）するように構成しても構わない。
【００４３】
また、復号化ユニット１０２は、暗号化の際に用いる部分（図１）と、復号の際に用いる部分（図４）の２つに分離して、２つの復号化ユニット（ＩＣチップ）として構成しても構わない。
【００４４】
復号化ユニット１０２内には、後述する所定個数（１または複数）の秘密鍵ＫＳｄｓ（図中１０８）が登録されている（作り込まれている）。
ＩＣカード１０３内には、後述する１または複数の公開鍵ＫＰｄ１ｔ（図中１０７ｂ）が登録されている（作り込まれている）。
【００４５】
暗号化ユニット１０１内には、後述する１または複数の公開鍵ＫＰｄ２ｕ（図中１０７ａ）が登録されている（作り込まれている）。
なお、全体の制御は図示しない制御部が司るものとする。制御部は例えばプログラムを当該ＰＣのＣＰＵで実行することにより実現することができる。
【００４６】
データＤａｔａは、暗号化して記録する対象となる入力データであり、例えばＰＣのＩ／Ｏポートから入力される映像、音声、テキストなどのマルチメディア・データである。
【００４７】
本実施形態では、公開鍵暗号方式による部分と、共通鍵暗号方式による部分を用いる。
共通鍵暗号方式による部分では、一時鍵Ｓｋｆ，Ｓｋｓ、固有鍵Ｋｉｃ、データ暗号鍵Ｓｄｋを用いる。
【００４８】
Ｓｄｋは、データの暗号化および復号に用いるデータ暗号鍵である。なお、本実施形態では、Ｓｄｋは、一纏まりのデータ毎（例えばタイトル毎）に生成する（変える）ものとする。なお、Ｓｄｋは、ディスク毎に生成する（変える）ようにしても良いし、ディスクの片面毎あるいは複数のディスクからなる組毎に生成する（変える）ようにしても良いし、上記の一纏まりのデータをさらに細分化した部分毎（例えばチャプター毎あるいは曲毎など）に生成する（変える）ようにしても良い。
【００４９】
Ｓｋｆ，Ｓｋｓは、ＣＰＵバス１０３上に情報を流す際に、該情報を復号（暗号化に先だって行う復号）するための、その都度変化する一時鍵である。
Ｋｉｃは、ＩＣカード１０３内の利用者が取り出すことができない秘匿された領域に記録された、当該ＩＣカード１０３に固有の秘密鍵である。この秘密鍵ＫｉｃはＩＣカードごとに異なるものである。
【００５０】
公開鍵暗号方式による部分では、秘密鍵ＫＳｄｓと、公開鍵ＫＰｄ１ｔ，ＫＰｄ２ｕを用いる。
ＫＳｄｓ（ｓ＝１〜ｍ、ｍは１以上の整数）は、復号化ユニット１０２に格納される秘密鍵の鍵束である。秘密鍵の鍵束ＫＰｄｓは、復号化ユニット１０２内の外部から取り出せない秘匿された領域に記録されているものとする。
【００５１】
ＫＰｄ１ｔ（ｔ＝１〜ｎ、ｎは１以上の整数）は、ＩＣカード１０３に格納される公開鍵の鍵束である。
ＫＰｄ２ｕ（ｕ＝１〜ｒ、ｒは１以上の整数）は、暗号化ユニット１０１に格納される公開鍵の鍵束である。
【００５２】
公開鍵と秘密鍵の組は、復号化ユニットのメーカ毎に所定個数づつが割り当てられるものとする。ただし、公開鍵と秘密鍵の組は、メーカ間で重複のないように割り当てる。
【００５３】
なお、ＩＣカードのメーカーと復号化ユニットのメーカーが同じで暗号化ユニットのメーカーが異なる場合、暗号化ユニットのメーカーと復号化ユニットのメーカーが同じでＩＣカードのメーカーが異なる場合、暗号化ユニットのメーカーとＩＣカードのメーカーが同じで復号化ユニットのメーカーが異なる場合、ＩＣカードのメーカーと暗号化ユニットのメーカーと復号化ユニットのメーカーがすべて同じ場合、ＩＣカードのメーカーと暗号化ユニットのメーカーと復号化ユニットのメーカーがすべて異なる場合のそれぞれがあり得るが、いずれの場合も、復号化ユニットのメーカに対して公開鍵と秘密鍵の組が割り当てられるものとする。そして、公開鍵の性質上、ＩＣカードと暗号化ユニットのそれぞれについては、どのメーカーに対応する公開鍵を格納するかを自由に選択できる。
【００５４】
すなわち、復号化ユニット１０２には、割り当てられた所定個数の秘密鍵ＫＳｄｓが格納される。
ＩＣカード１０３には、当該ＩＣカード１０３が対象とする１または複数のメーカの復号化ユニットに対応するすべての公開鍵ＫＰｄ１ｔが格納される。
【００５５】
暗号化ユニット１０１には、当該暗号化ユニット１０１が対象とする１または複数のメーカの復号化ユニットに対応するすべての公開鍵ＫＰｄ２ｕが格納される。
【００５６】
公開鍵暗号方式の性質上、ある秘密鍵（例えばＫＳｄ１）に対応する公開鍵で暗号化した場合はその秘密鍵（本例ではＫＳｄ１）でないと正しく復号することができない。なお、公開鍵暗号方式については、例えば「暗号理論入門」，岡本栄司  著，共立出版株式会社に詳しい。
【００５７】
なお、復号化ユニットのメーカには、万一の秘密鍵が破られたときのことを考慮して、公開鍵と秘密鍵の組を複数組割り当てるのが望ましい。そして、万一、あるメーカーの復号化ユニット１０２内の秘密鍵が破られたことが発覚した場合、それ以降、そのメーカーの復号化ユニット１０２には、その破られたものを除いて秘密鍵を作り込むようにする。ただし、ＩＣカード１０３および暗号化ユニット１０１については、その破られた秘密鍵に対応する公開鍵を除いて公開鍵を作り込んでも良いし、そうしなくても良い。また、破られた秘密鍵が作り込まれている復号化ユニット１０２は、その破られたものを除いて秘密鍵が作り込まれている新しいものに差し替えるのが望ましい。ただし、ＩＣカード１０３および暗号化ユニット１０１は、破られた秘密鍵に対応する公開鍵が作り込まれているものをそのまま使用しても構わない。
【００５８】
なお、本実施形態では、説明を簡潔にするために、各復号化ユニットのメーカには公開鍵と秘密鍵の組が２つ与えられるものとする。すなわち、復号化ユニット１０２には、２つの秘密鍵ＫＳｄｓ（ｓ＝１すなわちＫＳｄ１，ＫＳｄ２）が格納される。また、本実施形態では、ＩＣカード１０３と暗号化ユニット１０１には、上記の秘密鍵ＫＳｄ１に対応する公開鍵を含む５種類のメーカに対応する公開鍵を格納するものとする。すなわち、ＩＣカード１０３には、５つの公開鍵ＫＰｄ１ｔ（ｔ＝１〜５）が格納され、暗号化ユニット１０１には、５つの公開鍵ＫＰｄ２ｕ（ｕ＝１〜５）が格納される。
【００５９】
データ暗号鍵生成回路１２０は、データ暗号鍵Ｓｄｋを生成する。一時鍵生成回路１０３は、例えば鍵長分の乱数発生器で構成しても良い。また、乱数を発生するにあたって、例えば時計（図示せず）からの時間情報を用いるようにしても良い。なお、全てのビットが０や１になる可能性のある乱数で鍵を生成する場合は、全てのビットが０や１になることがないようにチェック処理等をする必要がある。
【００６０】
一時鍵生成回路１０５ａは、一時鍵Ｓｋｓを生成するためのものであり、その都度生成する。一時鍵生成回路１０５ａは、例えば鍵長分の乱数発生器で構成する方法が考えられる。また、乱数を発生するにあたって、例えば時計（図示せず）からの時間情報を用いるようにしても良い。なお、全てのビットが０や１になる可能性のある乱数で鍵を生成する場合は、全てのビットが０や１になることがないようにチェック処理等をする必要がある。
【００６１】
一時鍵生成回路１０５ｂは、一時鍵Ｓｋｆを生成するためのものであり、その都度生成する。一時鍵生成回路１０５ｂは、例えば鍵長分の乱数発生器で構成する方法が考えられる。また、乱数を発生するにあたって、例えば時計（図示せず）からの時間情報を用いるようにしても良い。なお、全てのビットが０や１になる可能性のある乱数で鍵を生成する場合は、全てのビットが０や１になることがないようにチェック処理等をする必要がある。
【００６２】
記録媒体１２９は、暗号化されたＩ／Ｏポートからのデータを記録するためのものであり、例えばハードディスク、ＭＯ、ＦＤ、１回書き込み可能なＣＤ、ＤＶＤ−ＲＡＭなどを用いることが考えられる。
【００６３】
なお、ディスクドライブ装置内には、記録の際に変調、誤り訂正回路を行い、再生の際に復調、誤り訂正回路を行う変復調／誤り訂正回路が内蔵される場合がある。
【００６４】
また、本実施形態では、復号化ユニット１０２にはディジタルデータＤａｔａをアナログデータに変換するＤ／Ａ変換回路が備えられ、復号化ユニット１０２からはアナログに変換されらデータが出力されるものとする。また、ディジタルデータＤａｔａが復号すべきものである場合にはこれを復号する復号回路をＤ／Ａ変換回路の前に設けるものとする。例えばディジタルデータＤａｔａがＭＰＥＧ方式で圧縮された画像データである場合に、ＭＰＥＧ復号回路を設けるものとする。また、種々の方式で圧縮等されたデータあるいは復号の必要ないデータのいずれも出力できるように、複数種類の復号回路を設け、これを適宜切替て使用し、あるいはこれらを使用しないように構成することも可能である。なお、復号化ユニット１０２からの出力は例えば画像としてディスプレイなどに表示される。
【００６５】
最初に、図１〜図３を参照しながら、暗号化の際の手順について説明する。
まず、ＩＣカード１０３をＰＣのカードスロットなど（図示せず）に差し込んでおく。また、記録媒体１２９がリムーバブルな媒体である場合には、これをディスクドライブ装置（図示せず）にセットしておく。
【００６６】
ステップＳ１１では、ＩＣカード１０３にて、一時鍵生成回路１０５ｂにより一時鍵Ｓｋｆを生成するとともに、暗号化ユニット１０１にて、一時鍵生成回路１０５ａにより一時鍵Ｓｋｓを生成する。
【００６７】
ステップＳ１２では、ＩＣカード１０３から復号化ユニット１０２へＣＰＵバス１０４を通して一時鍵Ｓｋｆを伝える。具体的には、以下のような手順になる。
【００６８】
まず、ＩＣカード１０３にて、暗号化回路１０９ｂにより一時鍵Ｓｋｆを、該ＩＣカード１０３に登録されているすべての公開鍵ＫＰｄ１ｔそれぞれを用いて暗号化して、ｎ個のＥＫＰｄ１ｔ（Ｓｋｆ）を得るとともに、暗号化回路１１５ｆによりＳｋｆ自身でＳｋｆを暗号化して、ＥＳｋｆ（Ｓｋｆ）を得る。そして、ｎ個のＥＫＰｄ１ｔ（Ｓｋｆ）とＥＳｋｆ（Ｓｋｆ）をＣＰＵバス１０４を通して復号化ユニット１０２へ渡す。
【００６９】
例えば、前述のように各メーカには２組の公開鍵と秘密鍵が与えられ、ＩＣカード１０１には５社分の公開鍵を記録してあるものとすると、ＥＫＰｄ１１（Ｓｋｆ）、ＥＫＰｄ１２（Ｓｋｆ）、…の１０種類の公開鍵で暗号化されたＳｋｆとＥＳｋｆ（Ｓｋｆ）が復号化ユニット１０２へ伝えられる。
【００７０】
次に、復号化ユニット１０２では、各メーカの公開鍵で暗号化された一時鍵Ｓｋｆを復号してＳｋｆを取り出す処理を行う。
まず、復号化ユニット１０２内に複数の秘密鍵が登録されている場合には、秘密鍵を１つ選ぶ（これをＫＳｄｐとする）。なお、復号化ユニット１０２内に１つの秘密鍵が登録されている場合には、その秘密鍵を選ぶことになる。
【００７１】
選んだＫＳｄｐを復号鍵として、復号化回路１１０ｂにより、ｎ個のＥＫＰｄ１ｔ（Ｓｋｆ）のうちの１つを選んで復号し、
ＤＫＳｄｐ（ＥＫＰｄ１ｔ（Ｓｋｆ））＝Ｓｋａ
を得る。
【００７２】
次に、復号化回路１１０ｂの出力Ｓｋａを復号鍵として、復号化回路１１９ｂにより、ＥＳｋｆ（Ｓｋｆ）を復号し、
ＤＳｋａ（ＥＳｋｆ（Ｓｋｆ））＝Ｓｋｂ
を得る。
【００７３】
次に、鍵判定回路１２２ｂにより、ＳｋａとＳｋｂとが一致するか否か調べる。ここで、選択した秘密鍵Ｓｄｐと選択したＥＫＰｄ１ｔ（Ｓｋｆ）における公開鍵ＫＰｄ１ｔが対応するものであったならば、
Ｓｋａ＝ＤＫＳｄｐ（ＥＫＰｄ１ｔ（Ｓｋｆ））＝Ｓｋｆ
となり、従って、
Ｓｋｂ＝ＤＳｋａ（ＥＳｋｆ（Ｓｋｆ））＝ＤＳｋｆ（ＥＳｋｆ（Ｓｋｆ））＝Ｓｋｆ
となり、ゆえに、
Ｓｋａ＝Ｓｋｂ＝Ｓｋｆ
となる。
【００７４】
従って、鍵判定回路１１２ｂによる判定の結果、ＳｋａとＳｋｂとが一致したならば、鍵判定回路１１２ｂから復号化回路１１９ｄへＳｋａ＝Ｓｋｂ＝Ｓｋｔを出力する。
【００７５】
一方、鍵判定回路１１２ｂによる判定の結果、ＳｋａとＳｋｂとが一致しなかったならば、秘密鍵と公開鍵が対応するものでなかったことになるので、この場合、鍵判定回路１１２ｂは出力をしない。
【００７６】
以降は、ＳｋａとＳｋｂとが一致するまで、復号対象のｎ個のＥＫＰｄ１ｔ（Ｓｋｆ）のうちの他の１つを選択し直して、上記の手順を繰り返す。
以上のような手順を用いて、ＩＣカード１０３と復号化ユニット１０２との間で一時鍵Ｓｋｔを安全に共有することが可能となる。
【００７７】
ステップＳ１３では、暗号化ユニット１０１から復号化ユニット１０２へＣＰＵバス１０４を通して一時鍵Ｓｋｓを伝える。この手順は、上記のステップＳ１２における手順と同じであるので、ここでの詳細な説明は省略する。
【００７８】
ステップＳ１４では、復号化ユニット１０２にて、データ暗号鍵生成回路１２０にて、データを暗号化するのに用いるデータ暗号鍵Ｓｄｋを生成する。
ステップＳ１５では、生成されたＳｄｋを復号化ユニット１０２から暗号化ユニット１０１へ伝える。すなわち、まず、復号化ユニット１０２にて、復号回路１２４により、一時鍵Ｓｋｓを用いてデータ暗号鍵Ｓｄｋを復号して、ＤＳｋｓ（ＳｄＫ）を得る。そして、ＤＳｋｓ（ＳｄＫ）をＣＰＵバス１０４を通してを暗号化ユニット１０１へ送る。そして、暗号化ユニット１０１にて、暗号か回路１１５ｃにより、送られたＤＳｋｓ（ＳｄＫ）を一時鍵Ｓｋｓで暗号化して、データ暗号鍵Ｓｄｋを得る。
【００７９】
ステップＳ１６では、ＩＣカード１０３内に記憶された該ＩＣカード１０３に固有の秘密鍵Ｋｉｃを復号化ユニット１０２へ伝える。すなわち、まず、ＩＣカード１０３にて、暗号化回路１１５ｆにより、一時鍵Ｓｋｆを用いて、固有の秘密鍵Ｋｉｃを暗号化して、ＤＳｋｆ（Ｋｉｃ）を得る。そして、ＤＳｋｆ（Ｋｉｃ）をＣＰＵバス１０４を通して復号化ユニット１０２へ送る。次に、復号化ユニット１０２にて、復号化回路１１９ｄにより、一時鍵ＳｋｆでＤＳｋｆ（Ｋｉｃ）を復号して、Ｋｉｃを得る。
【００８０】
ステップＳ１７では、復号化ユニット１０２から暗号化ユニット１０１へ秘密鍵Ｋｉｃを伝える。すなわち、まず、復号化ユニット１０２にて、復号化回路１１９ｅにより、一時鍵Ｓｋｓを用いて、固有の秘密鍵Ｋｉｃを復号して、ＤＳｋｓ（Ｋｉｃ）を得る。そして、ＤＳｋｆ（Ｋｉｃ）をＣＰＵバス１０４を通して暗号化ユニット１０１へ送る。次に、暗号化ユニット１０１にて、暗号化回路１１５ｂにより、一時鍵ＳｋｓでＤＳｋｓ（Ｋｉｃ）を暗号化して、Ｋｉｃを得る。
【００８１】
ステップＳ１８では、暗号化ユニット１０１にて、暗号化回路１１５ｄにより、Ｋｉｃを暗号鍵として用いてＳｄｋを暗号化して、ＥＫｉｃ（Ｓｄｋ）を得る。そして、ＥＫｉｃ（Ｓｄｋ）を記録媒体１２９に記録する。
【００８２】
ステップＳ１９では、暗号化ユニット１０１にて、暗号化回路１１５ｅにより、Ｓｄｋを暗号鍵として用いて入力データＤａｔａを暗号化して、ＥＳｄｋ（Ｄａｔａ）を得る。そして、ＥＳｄｋ（Ｄａｔａ）を記録媒体１２９に記録する。
【００８３】
なお、１つの記録媒体に複数のＥＫｉｃ（Ｓｄｋ）が格納される場合、ＥＫｉｃ（Ｓｄｋ）とＥＳｄｋ（Ｄａｔａ）とを対応付けて格納する。
次に、図４、図５を参照しながら、復号の際の手順について説明する。
【００８４】
まず、ＩＣカード１０３をＰＣのカードスロットなど（図示せず）に差し込んでおく。また、記録媒体１２９がリムーバブルな媒体である場合には、これをディスクドライブ装置（図示せず）にセットしておく。
【００８５】
ステップＳ２１では、ＩＣカード１０３にて、一時鍵生成回路１０５ｂにより一時鍵Ｓｋｆを生成する。
ステップＳ２２では、先のステップＳ１２にて用いた手順と同様の手順を利用して、ＩＣカード１０３から復号化ユニット１０２へ、生成された一時鍵Ｓｋｆを伝える。
【００８６】
ステップＳ２３では、ＩＣカード１０３内に記憶された該ＩＣカード１０３に固有の秘密鍵Ｋｉｃを復号化ユニット１０２へ伝える。すなわち、まず、ＩＣカード１０３にて、暗号化回路１１５ｆにより、一時鍵Ｓｋｆを用いて、固有の秘密鍵Ｋｉｃを暗号化して、ＤＳｋｆ（Ｋｉｃ）を得る。そして、ＤＳｋｆ（Ｋｉｃ）をＣＰＵバス１０４を通して復号化ユニット１０２へ送る。次に、復号化ユニット１０２にて、復号化回路１１９ｄにより、一時鍵ＳｋｆでＤＳｋｆ（Ｋｉｃ）を復号して、Ｋｉｃを得る。
【００８７】
ステップＳ２４では、記録媒体１２９に記録されたＥＫｉｃ（Ｓｋｄ）を復号化ユニット１０２へ送る。そして、復号化ユニット１０２にて、復号化回路２１３ｃにより、Ｋｉｃを復号鍵としてＥＫｉｃ（Ｓｄｋ）を復号し、Ｓｄｋを得る。
【００８８】
ステップＳ２５では、記録媒体１２９に記録されたＥＳｄｋ（Ｄａｔａ）を復号化ユニット１０２へ送る。そして、復号化ユニット１０２にて、復号化回路２１３ｄにより、Ｓｄｋを復号鍵としてＥＳｄｋ（Ｄａｔａ）を復号し、もとの入力データを得る。
【００８９】
なお、復号対象となるデータの暗号化に用いたＩＣカードと当該ＩＣカード１０３とが相違するものである場合、ＩＣカード１０３内に対応するＫｉｃが格納されていないので、結局、対象となる暗号化データを復号することはできない。言い換えると、本実施形態では、記録媒体１２９とこれに暗号化データを記録した際に用いたＩＣカードをセットで用いてのみ復号を行うことができる。なお、仮にＩＣカードが破損等して使用できなくなった場合、このＩＣカードを用いて暗号化し記録したデータは復号することができなくなるが、ＩＣカードに固有の鍵Ｋｉｃを管理する機関により同じＫｉｃが格納されたＩＣカードが再発行されれば、再び復号することが可能となる。
【００９０】
本実施形態で示した手順は一例であり種々変形することが可能である。
例えば、図２、図３において、ステップＳ１４はステップＳ１１の前後で行っても良いし、ステップＳ１２とステップＳ１３はいずれを先に行っても良いし、ステップＳ１５とステップＳ１６、ステップＳ１７はいずれを先に行っても良いし、Ｓｋｆを用いる部分とＳｋｆを用いる部分に分けて順番に行っても良い。また、暗号化ユニット内にバッファがあればデータはどのようなタイミングで読み込んでも良い。また、すべてのデータを暗号化してから記録媒体に記録しても良いが、所定の単位ごとに暗号化と記録（あるいは読み込みと暗号化と記録）を繰り返し行っても良い。
【００９１】
また、例えば図５において、復号化ユニット内にバッファがあればＥＫｉｃ（Ｓｋｄ）あるいはＥＳｄｋ（Ｄａｔａ）はどのようなタイミングで記録媒体から読み込んでも良い。また、すべての暗号化データを復号してから出力しても良いが、所定の単位ごとに復号と出力（あるいは読み込みと復号と出力）を繰り返し行っても良い。
【００９２】
上記の暗号化回路や復号化回路で用いる暗号化方式は、すべての部分で同じものを用いても良いし、対になる暗号化回路と復号化回路の組ごとに、用いる暗号化方式を適宜決めても良い（すべて異なるようにすることも可能である）。
【００９３】
また、上記では暗号化回路や復号化回路は独立した回路として示したが、暗号化回路や復号化回路は暗号化方式が同じであればユニット内あるいはＩＣカード内において１つまたは複数のもので兼用するように構成しても構わない。例えば、暗号化ユニット１０１において暗号化回路１１５ａ〜１１５ｅの暗号化方式がすべて同じであれば、それらを１つの回路で構成しても良いし、適宜共通化して２つあるいは４つの回路で構成しても良い。また、例えば暗号化回路１１５ａ〜１１５ｃの暗号化方式が同じで、暗号化回路１１５ｄと１１５ｅの暗号化方式が同じ（前者と後者は相違する）であれば、暗号化回路１１５ａ〜１１５ｃについて１つまたは２つの回路で構成しても良いし、暗号化回路１１５ｄと１１５ｅについて１つの回路で構成しても良い。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００９４】
【発明の効果】
本発明によれば、データ暗号化鍵をその都度生成してデータを暗号化して記録媒体に記録するとともに、データ暗号化鍵を外部記憶装置内に記憶された固有の秘密鍵により暗号化して記録媒体に記録することにより、暗号化の際に用いた固有の秘密鍵を記憶している外部記憶装置を使用しなければ復号をすることができないことになる。
【００９５】
また、本発明によれば、データ暗号化鍵や固有の秘密鍵は、例えば所定の手順により共有化した一時鍵を用いて暗号化するなどして、ＣＰＵバスを介して装置間で共有するため、ＣＰＵバス上を流れる情報を記録したとしても、後にこれを利用することができない。
【００９６】
また、本発明によれば、データを暗号化するデータ暗号化鍵自体も、またデータ暗号化鍵を共有化するために用いる一時鍵も、毎回変わるため、第３者により暗号を解読することは極めて困難である。
【００９７】
したがって、本発明によれば、第３者による不正なコピーを防止することが可能となる。この結果、海賊版などの作成を未然に阻止し、効果的に著作権を守ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る暗号化に用いるシステムの構成を示すブロック図
【図２】同実施形態における暗号化の際の手順を示すフローチャート
【図３】同実施形態における暗号化の際の手順を示すフローチャート
【図４】同実施形態に係る復号に用いるシステムの構成を示すブロック図
【図５】同実施形態における復号の際の手順を示すフローチャート
【符号の説明】
１０１…暗号化ユニット
１０２…復号化ユニット
１０３…ＩＣカード
１０４…ＣＰＵバス
１０５ａ，１０５ｂ…一時鍵生成回路
１０７ａ，１０７ｂ…公開鍵の鍵束
１０８…秘密鍵の鍵束
１０９ａ，１０９ｂ…公開鍵暗号方式による暗号化回路
１１０ａ，１１０ｂ…公開鍵暗号方式による復号化回路
１１５ａ〜１１５ｅ，１１５ｆ，１１５ｇ…共通鍵暗号方式による暗号化回路
１１９ａ〜１１９ｅ，２１３ｃ，２１３ｄ…共通鍵暗号方式による復号化回路
１２０…データ暗号鍵生成回路
１２２ａ，１２２ｂ…判定回路
１２９…記録媒体
２１１…鍵判定回路
【図１】
0003625353.tif 000002
【図２】
0003625353.tif 000003
【図３】
0003625353.tif 000004
【図４】
0003625353.tif 000005
【図５】
0003625353.tif 000006