JP2013192267A - 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法 - Google Patents

暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法 Download PDF

Info

Publication number
JP2013192267A
JP2013192267A JP2013123625A JP2013123625A JP2013192267A JP 2013192267 A JP2013192267 A JP 2013192267A JP 2013123625 A JP2013123625 A JP 2013123625A JP 2013123625 A JP2013123625 A JP 2013123625A JP 2013192267 A JP2013192267 A JP 2013192267A
Authority
JP
Japan
Prior art keywords
key
shared secret
encryption
variable
secret key
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.)
Pending
Application number
JP2013123625A
Other languages
English (en)
Inventor
Ryuji Ishiguro
隆二 石黒
Yoshitomo Osawa
義知 大澤
Yoshio Osakabe
義雄 刑部
Makoto Sato
真 佐藤
Hisato Shima
久登 嶋
Tomoyuki Asano
智之 浅野
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2013123625A priority Critical patent/JP2013192267A/ja
Publication of JP2013192267A publication Critical patent/JP2013192267A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】不正なコピーを確実に防止する。
【解決手段】DVDプレーヤ1の1394インタフェース26で暗号化されたデータを、1394バス11を介して、パーソナルコンピュータ2と光磁気ディスク装置3に伝送する。機能を変更することがユーザに開放されていない光磁気ディスク装置3においては、受信したデータを1394インタフェース36で復号する。これに対して、機能の変更がユーザに開放されているパーソナルコンピュータ2においては、1394インタフェース49で時変キーiを用いて暗号化データを復号し、その復号結果をアプリケーション部61でセッションキーSを用いてさらに復号する。
【選択図】図10

Description

本発明は、暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法に関し、特に、より安全性を高めるようにした暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法に関する。
最近、AV機器、コンピュータなどに代表される複数の電子機器を、バスで相互に接続し、ネットワークを構成して、ネットワーク内で各種のデータを相互に授受することができるようになってきた。
その結果、例えば、ネットワークに接続されているDVDプレーヤにより、DVDから再生した映画のデータを、バスを介して、テレビジョン受像機、モニタなどの表示装置に転送し、表示することができる。通常、DVDより再生された映画を表示装置に表示して視聴することは、DVDを購入した時点において、著作権者から許容されるところである。
しかしながら、DVDから再生されたデータを、他の記録媒体にコピーし、利用することは、一般的には著作権者から許容されていない。そこで、バス(ネットワーク)を介して送出するデータが、不法にコピーされるのを防止するために、送出する側において、データを暗号化するようにし、受信側において、これを復号することが考えられる。
しかしながら、DVDプレーヤ、テレビジョン受像機などのコンシューマエレクトロニクス機器(CE機器)は、通常、所定の目的のために設計、製造されているものであり、ユーザがこれを改造したり、他の部品を組み込んだりして、装置の内部のデータを取得したり、改ざんしたりすること(機能の変更)はできないように製造されている。これに対して、例えばパーソナルコンピュータは、多くの場合、アーキテクチャや回路が公開されており、ボードなどを追加したり、各種のアプリケーションソフトウエアをインストールすることにより、様々な機能を追加、変更することができるようになされている。
従って、パーソナルコンピュータにおいては、その内部バス上のデータを、所定のハードウェアを付加したり、ソフトウェアプログラムを作成することで、パーソナルコンピュータ内部のバス上のデータを直接見たり、改ざんすることが、比較的容易に行うことができる。このことは、例えば、DVDプレーヤからテレビジョン受像機に暗号化して伝送したデータを、パーソナルコンピュータで受け取り、これを復号して、コピーしたりすることが、アプリケーションソフトウエアを作成することで、容易に行えることを意味する。
換言すれば、パーソナルコンピュータは、バスを介して、通信を行うリンク部と、送受信するデータを用意したり、受信したデータを利用するアプリケーション部とのつながりが希薄であり、物理的にも、論理的にも、そこにユーザが手を加えることができる部分が多い。これに対して、CE機器においては、両者のつながりが密接で、ユーザが介在できる部分が殆どない。
本発明はこのような状況に鑑みてなされたものであり、データの不正なコピーを、より確実に防止することができるようにするものである。
本発明の第1の側面の暗号処理装置は、他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成部と、パケットに応じて変動する変動値を生成する変動値生成部と、前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、前記暗号鍵を用いてデータを暗号化する暗号化部とを備える暗号処理装置である。
本発明の第1の側面の暗号処理方法は、本発明の第1の側面の暗号処理装置に対応する。
本発明の第1の側面においては、他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵が生成され、パケットに応じて変動する変動値が生成され、前記共有秘密鍵に基づいて前記変動値が暗号化されて、前記セッション中に変更される変動鍵が生成され、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵が生成され、前記暗号鍵を用いてデータが暗号化される。
本発明の第2の側面の復号処理装置は、他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成部と、パケットに応じて変動する変動値を生成する変動値生成部と、前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、前記暗号鍵を用いて暗号化されたデータを復号する復号部とを備える復号処理装置である。
本発明の第2の側面の復号処理方法は、本発明の第2の側面の復号処理装置に対応する。
本発明の第2の側面においては、他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵が生成され、パケットに応じて変動する変動値が生成され、前記共有秘密鍵に基づいて前記変動値が暗号化されて、前記セッション中に変更される変動鍵が生成され、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵が生成され、前記暗号鍵を用いて暗号化されたデータが復号される。
以上の如く、本発明の第1および第2の側面によれば、より安全に暗号化を行うことが可能となる。
本発明を適用した情報処理システムの構成例を示すブロック図である。 図1のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部の構成例を示すブロック図である。 認証処理を説明する図である。 認証処理を説明するタイミングチャートである。 node_unique_IDのフォーマットを示す図である。 他の認証処理を説明するタイミングチャートである。 さらに他の認証処理を説明するタイミングチャートである。 他の認証処理を説明するタイミングチャートである。 他の認証処理を説明するタイミングチャートである。 暗号化処理を説明するブロック図である。 図10の1394インタフェース26の構成例を示すブロック図である。 図11の1394インタフェース26のより詳細な構成例を示すブロック図である。 図12のLFSR72のより詳細な構成例を示すブロック図である。 図13のLFSR72のより具体的な構成例を示すブロック図である。 図10の1394インタフェース36の構成例を示すブロック図である。 図15の1394インタフェース36のより詳細な構成例を示すブロック図である。 図10の1394インタフェース49の構成例を示すブロック図である。 図17の1394インタフェース49のより詳細な構成例を示すブロック図である。 図10のアプリケーション部61の構成例を示すブロック図である。 図19のアプリケーション部61のより詳細な構成例を示すブロック図である。 図10の1394インタフェース26の他の構成例を示すブロック図である。 図10の1394インタフェース36の他の構成例を示すブロック図である。 図10の1394インタフェース49の他の構成例を示すブロック図である。 図10のアプリケーション部61の他の構成例を示すブロック図である。
図1は、本発明を適用した情報処理システムの構成例を表している。この構成例においては、IEEE1394シリアルバス11を介してDVDプレーヤ1、パーソナルコンピュータ2、光磁気ディスク装置3、データ放送受信装置4、モニタ5、テレビジョン受像機6が相互に接続されている。
図2は、この内のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部のより詳細な構成例を表している。DVDプレーヤ1は、1394インタフェース26を介して、1394バス11に接続されている。CPU21は、ROM22に記憶されているプログラムに従って各種の処理を実行し、RAM23は、CPU21が各種の処理を実行する上において必要なデータやプログラムなどを適宜記憶する。操作部24は、ボタン、スイッチ、リモートコントローラなどにより構成され、ユーザにより操作されたとき、その操作に対応する信号を出力する。ドライブ25は、図示せぬDVD(ディスク)を駆動し、そこに記録されているデータを再生するようになされている。EEPROM27は、装置の電源オフ後も記憶する必要のある情報(この実施の形態の場合、鍵情報)を記憶するようになされている。内部バス28は、これらの各部を相互に接続している。
光磁気ディスク装置3は、CPU31乃至内部バス38を有している。これらは、上述したDVDプレーヤ1におけるCPU21乃至内部バス28と同様の機能を有するものであり、その説明は省略する。ただし、ドライブ35は、図示せぬ光磁気ディスクを駆動し、そこにデータを記録または再生するようになされている。
パーソナルコンピュータ2は、1394インタフェース49を介して1394バス11に接続されている。CPU41は、ROM42に記憶されているプログラムに従って各種の処理を実行する。RAM43には、CPU41が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース44には、キーボード45とマウス46が接続されており、それらから入力された信号をCPU41に出力するようになされている。また、入出力インタフェース44には、ハードディスク(HDD)47が接続されており、そこにデータ、プログラムなどを記録再生することができるようになされている。入出力インタフェース44にはまた、拡張ボード48を適宜装着し、必要な機能を付加することができるようになされている。EEPROM50には、電源オフ後も保持する必要のある情報(この実施の形態の場合、各種の鍵情報)が記憶されるようになされている。例えば、PCI(Peripheral Component Interconnect)、ローカルバスなどにより構成される内部バス51は、これらの各部を相互に接続するようになされている。
なお、この内部バス51は、ユーザに対して解放されており、ユーザは、拡張ボード48に所定のボードを適宜接続したり、所定のソフトウェアプログラムを作成して、CPU41にインストールすることで、内部バス51により伝送されるデータを適宜受信することができるようになされている。
これに対して、DVDプレーヤ1や光磁気ディスク装置3などのコンシューマエレクトロニクス(CE)装置においては、内部バス28や内部バス38は、ユーザに解放されておらず、特殊な改造などを行わない限り、そこに伝送されるデータを取得することができないようになされている。
次に、所定のソースとシンクとの間で行われる認証の処理について説明する。この認証の処理は、図3に示すように、ソースとしての、例えばDVDプレーヤ1のROM22に予め記憶されているソフトウェアプログラムの1つとしてのファームウェア20と、シンクとしての、例えばパーソナルコンピュータ2のROM42に記憶されており、CPU41が処理するソフトウェアプログラムの1つとしてのライセンスマネージャ62との間において行われる。
図4は、ソース(DVDプレーヤ1)と、シンク(パーソナルコンピュータ2)との間において行われる認証の手順を示している。DVDプレーヤ1のEEPROM27には、サービスキー(service_key)と関数(hash)が予め記憶されている。これらはいずれも著作権者から、このDVDプレーヤ1のユーザに与えられたものであり、各ユーザは、EEPROM27に、これを秘密裡に保管しておくものである。
サービスキーは、著作権者が提供する情報毎に与えられるものであり、この1394バス11で構成されるシステムにおいて、共通のものである。なお、本明細書において、システムとは、複数の装置で構成される全体的な装置を示すものとする。
hash関数は、任意長の入力に対して、64ビットまたは128ビットなどの固定長のデータを出力する関数であり、y(=hash(x))を与えられたとき、xを求めることが困難であり、かつ、hash(x1)=hash(x2)となるx1と、x2の組を求めることも困難となる関数である。1方向hash関数の代表的なものとして、MD5やSHAなどが知られている。この1方向hash関数については、Bruce Schneier著の「Applied Cryptography(Second Edition),Wiley」に詳しく解説されている。
一方、シンクとしての例えばパーソナルコンピュータ2は、著作権者から与えられた、自分自身に固有の識別番号(ID)とライセンスキー(license_key)をEEPROM50に秘密裡に保持している。このライセンスキーは、nビットのIDとmビットのサービスキーを連結して得たn+mビットのデータ(ID || service_key)に対して、hash関数を適用して得られる値である。すなわち、ライセンスキーは次式で表される。
license_key=hash(ID || service_key)
IDとしては、例えば1394バス11の規格に定められているnode_unique_IDを用いることができる。このnode_unique_IDは、図5に示すように、8バイト(64ビット)で構成され、最初の3バイトは、IEEEで管理され、電子機器の各メーカーにIEEEから付与される。また、下位5バイトは、各メーカーが、自分自身がユーザに提供する各装置に対して付与することができるものである。各メーカーは、例えば下位5バイトに対してシリアルに、1台に1個の番号を割り当てるようにし、5バイト分を全部使用した場合には、上位3バイトがさらに別の番号となっているnode_unique_IDの付与を受け、そして、その下位5バイトについて1台に1個の番号を割り当てるようにする。従って、このnode_unique_IDは、メーカーに拘らず、1台毎に異なるものとなり、各装置に固有のものとなる。
ステップS1において、DVDプレーヤ1のファームウェア20は、1394インタフェース26を制御し、1394バス11を介してパーソナルコンピュータ2に対してIDを要求する。パーソナルコンピュータ2のライセンスマネージャ62は、ステップS2において、このIDの要求を受信する。すなわち、1394インタフェース49は、1394バス11を介してDVDプレーヤ1から伝送されてきたID要求の信号を受信すると、これをCPU41に出力する。CPU41のライセンスマネージャ62は、このID要求を受けたとき、ステップS3においてEEPROM50に記憶されているIDを読み出し、これを1394インタフェース49を介して1394バス11からDVDプレーヤ1に伝送する。
DVDプレーヤ1においては、ステップS4で1394インタフェース26が、このIDを受け取ると、このIDがCPU21で動作しているファームウェア20に供給される。
ファームウェア20は、ステップS5において、パーソナルコンピュータ2から伝送を受けたIDと、EEPROM27に記憶されているサービスキーを結合して、データ(ID || service_key)を生成し、このデータに対して、次式に示すようにhash関数を適用して、キーlkを生成する。
lk=hash(ID || service_key)
次に、ステップS6において、ファームウェア20は、暗号鍵skを生成する。この暗号鍵skの詳細については後述するが、この暗号鍵skは、セッションキーとしてDVDプレーヤ1とパーソナルコンピュータ2のそれぞれにおいて利用される。
次に、ステップS7において、ファームウェア20は、ステップS5で生成した鍵lkを鍵として、ステップS6で生成した暗号鍵skを暗号化して、暗号化データ(暗号化鍵)eを得る。すなわち、次式を演算する。
e=Enc(lk, sk)
なお、Enc(A,B)は、共通鍵暗号方式で、鍵Aを用いて、データBを暗号化することを意味する。
次に、ステップS8で、ファームウェア20は、ステップS7で生成した暗号化データeをパーソナルコンピュータ2に伝送する。すなわち、この暗号化データeは、DVDプレーヤ1の1394インタフェース26から1394バス11を介してパーソナルコンピュータ2に伝送される。パーソナルコンピュータ2においては、ステップS9で、この暗号化データeを1394インタフェース49を介して受信する。ライセンスマネージャ62は、このようにして受信した暗号化データeをEEPROM50に記憶されているライセンスキーを鍵として、次式に示すように復号し、復号鍵sk'を生成する。
sk'=Dec(license_key,e)
なお、ここで、Dec(A,B)は、共通鍵暗号方式で鍵Aを用いて、データBを復号することを意味する。
なお、この共通鍵暗号方式における暗号化のアルゴリズムとしては、DESが知られている。共通鍵暗号化方式についても、上述した、Applied Cryptography(Second Edition)に詳しく解説されている。
DVDプレーヤ1において、ステップS5で生成するキーlkは、パーソナルコンピュータ2のEEPROM50に記憶されている(license_key)と同一の値となる。すなわち、次式が成立する。
lk=license_key
従って、パーソナルコンピュータ2において、ステップS10で復号して得たキーsk'は、DVDプレーヤ1において、ステップS6で生成した暗号鍵skと同一の値となる。すなわち、次式が成立する。
sk'=sk
このように、DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク)の両方において、同一の鍵sk,sk'を共有することができる。そこで、この鍵skをそのまま暗号鍵として用いるか、あるいは、これを基にして、それぞれが疑似乱数を作り出し、それを暗号鍵として用いることができる。
ライセンスキーは、上述したように、各装置に固有のIDと、提供する情報に対応するサービスキーに基づいて生成されているので、他の装置がskまたはsk'を生成することはできない。また、著作権者から認められていない装置は、ライセンスキーを有していないので、skあるいはsk'を生成することができない。従って、その後DVDプレーヤ1が暗号鍵skを用いて再生データを暗号化してパーソナルコンピュータ2に伝送した場合、パーソナルコンピュータ2が適正にライセンスキーを得たものである場合には、暗号鍵sk'を有しているので、DVDプレーヤ1より伝送されてきた、暗号化されている再生データを復号することができる。しかしながら、パーソナルコンピュータ2が適正なものでない場合、暗号鍵sk'を有していないので、伝送されてきた暗号化されている再生データを復号することができない。換言すれば、適正な装置だけが共通の暗号鍵sk,sk'を生成することができるので、結果的に、認証が行われることになる。
仮に1台のパーソナルコンピュータ2のライセンスキーが盗まれたとしても、IDが1台1台異なるので、そのライセンスキーを用いて、他の装置がDVDプレーヤ1から伝送されてきた暗号化されているデータを復号することはできない。従って、安全性が向上する。
図6は、ソース(DVDプレーヤ1)に対して、パーソナルコンピュータ2だけでなく、光磁気ディスク装置3もシンクとして機能する場合の処理例を表している。
この場合、シンク1としてのパーソナルコンピュータ2のEEPROM50には、IDとしてID1が、また、ライセンスキーとしてlicense_key1が記憶されており、シンク2としての光磁気ディスク装置3においては、EEPROM37に、IDとしてID2が、また、ライセンスキーとしてlicense_key2が記憶されている。
DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク1)の間において行われるステップS11乃至ステップS20の処理は、図4におけるステップS1乃至ステップS10の処理と実質的に同様の処理であるので、その説明は省略する。
すなわち、上述したようにして、DVDプレーヤ1は、パーソナルコンピュータ2に対して認証処理を行う。そして次に、ステップS21において、DVDプレーヤ1は、光磁気ディスク装置3に対して、IDを要求する。光磁気ディスク装置3においては、ステップS22で1394インタフェース36を介して、このID要求信号が受信されると、そのファームウェア30(図10)は、ステップS23でEEPROM37に記憶されているID(ID2)を読み出し、これを1394インタフェース36から、1394バス11を介してDVDプレーヤ1に伝送する。DVDプレーヤ1のファームウェア20は、ステップS24で、1394インタフェース26を介して、このID2を受け取ると、ステップS25で、次式から鍵lk2を生成する。
lk2=hash(ID2 || service_key)
さらに、ファームウェア20は、ステップS26で次式を演算し、ステップS16で生成した鍵skを、ステップS25で生成した鍵lk2を用いて暗号化し、暗号化したデータe2を生成する。
そして、ステップS27で、ファームウェア20は、この暗号化データe2を1394インタフェース26から1394バス11を介して光磁気ディスク装置3に伝送する。
光磁気ディスク装置3においては、ステップS28で1394インタフェース36を介して、この暗号化データe2を受信し、ステップS29で次式を演算して、暗号鍵sk2’を生成する。
sk2’=Dec(license_key2,e2)
以上のようにして、パーソナルコンピュータ2と光磁気ディスク装置3のそれぞれにおいて、暗号鍵sk1’,sk2’が得られたことになる。これらの値は、DVDプレーヤ1における暗号鍵skと同一の値となっている。
図6の処理例においては、DVDプレーヤ1が、パーソナルコンピュータ2と、光磁気ディスク装置3に対して、それぞれ個別にIDを要求し、処理するようにしているのであるが、同報通信によりIDを要求することができる場合は、図7に示すような処理を行うことができる。
すなわち、図7の処理例においては、ステップS41で、ソースとしてのDVDプレーヤ1が、全てのシンク(この例の場合、パーソナルコンピュータ2と光磁気ディスク装置3)に対して同報通信でIDを要求する。パーソナルコンピュータ2と光磁気ディスク装置3は、それぞれステップS42とステップS43で、このID転送要求の信号を受け取ると、それぞれステップS44またはステップS45で、EEPROM50またはEEPROM37に記憶されているID1またはID2を読み出し、これをDVDプレーヤ1に転送する。DVDプレーヤ1は、ステップS46とステップS47で、これらのIDをそれぞれ受信する。
DVDプレーヤ1においては、さらにステップS48で、次式から暗号鍵lk1を生成する。
lk1=hash(ID1 || service_key)
さらに、ステップS49において、次式から暗号鍵lk2が生成される。
lk2=hash(ID2 || service_key)
DVDプレーヤ1においては、さらにステップS50で、暗号鍵skが生成され、ステップS51で、次式で示すように、暗号鍵skが、鍵lk1を鍵として暗号化される。
e1=Enc(lk1,sk)
さらに、ステップS52においては、暗号鍵skが、鍵lk2を鍵として、次式に従って暗号化される。
e2=Enc(lk2,sk)
さらに、ステップS53においては、ID1,e1,ID2,e2が、それぞれ次式で示すように結合されて、暗号化データeが生成される。
e=ID1 || e1 || ID2 || e2
DVDプレーヤ1においては、さらにステップS54で、以上のようにして生成された暗号化データeが同報通信で、パーソナルコンピュータ2と光磁気ディスク装置3に伝送される。
パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS55またはステップS56で、これらの暗号化データeが受信される。そして、パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS57またはステップS58において、次式で示す演算が行われ、暗号鍵sk1’,sk2’が生成される。
sk1’=Dec(license_key1,e1)
sk2’=Dec(license_key2,e2)
図8は、1つのシンクが複数のサービスを受けること(複数の種類の情報の復号)ができるようになされている場合の処理例を表している。すなわち、この場合においては、例えば、シンクとしてのパーソナルコンピュータ2は、複数のライセンスキー(license_key1,license_key2,license_key3など)をEEPROM50に記憶している。ソースとしてのDVDプレーヤ1は、そのEEPROM27に複数のサービスキー(service_key1,service_key2,service_key3など)を記憶している。この場合、DVDプレーヤ1は、ステップS81でシンクとしてのパーソナルコンピュータ2に対してIDを要求するとき、DVDプレーヤ1が、これから転送しようとする情報(サービス)を識別するservice_IDを転送する。パーソナルコンピュータ2においては、ステップS82で、これを受信したとき、EEPROM50に記憶されている複数のライセンスキーの中から、このservice_IDに対応するものを選択し、これを用いて、ステップS90で復号処理を行う。その他の動作は、図4における場合と同様である。
図9は、さらに他の処理例を表している。この例においては、ソースとしてのDVDプレーヤ1が、そのEEPROM27に、service_key、hash関数、および疑似乱数発生関数pRNGを記憶している。これらは、著作権者から与えられたものであり、秘密裡に保管される。また、シンクとしてのパーソナルコンピュータ2のEEPROM50には、著作権者から与えられたID、LK,LK'、関数G、および疑似乱数数発生関数pRNGを有している。
LKは、著作権者が作成したユニークな乱数であり、LK'は、次式を満足するように生成されている。
LK'=G^−1(R)
R=pRNG(H) (+) pRNG(LK)
H=hash(ID || service_key)
なお、G^−1は、Gの逆関数を意味する。G^−1は、所定の規則を知っていれば、簡単に計算することができるが、知らない場合には、計算することが難しいような特徴を有している。このような関数としては、公開鍵暗号に用いられている関数を利用することができる。
また、疑似乱数発生関数は、ハードウェアとして設けるようにすることも可能である。
DVDプレーヤ1のファームウェア20は、最初にステップS101において、パーソナルコンピュータ2のライセンスマネージャ62に対してIDを要求する。パーソナルコンピュータ2のライセンスマネージャ62は、ステップS102でID要求信号を受け取ると、EEPROM50に記憶されているIDを読み出し、ステップS103で、これをDVDプレーヤ1に伝送する。DVDプレーヤ1のファームウェア20は、ステップS104でこのIDを受け取ると、ステップS105で次式を演算する。
H=hash(ID || service_key)
さらに、ファームウェア20は、ステップS106で鍵skを生成し、ステップS107で次式を演算する。
e=sk (+) pRNG(H)
なお、A(+)Bは、AとBの排他的論理和の演算を意味する。
すなわち、疑似ランダム発生キーpRNGにステップS105で求めたHを入力することで得られた結果、pRNG(H)と、ステップS106で生成した鍵skのビット毎の排他的論理和を演算することで、鍵SKを暗号化する。
次に、ステップS108で、ファームウェア20は、eをパーソナルコンピュータ2に伝送する。
パーソナルコンピュータ2においては、ステップS109でこれを受信し、ステップS110で、次式を演算する。
sk'=e (+) G(LK') (+) pRNG(LK)
すなわち、DVDプレーヤ1から伝送されてきたe、EEPROM50に記憶されている関数Gに、やはりEEPROM50に記憶されているLK'を適用して得られる値G(LK')、並びに、EEPROM50に記憶されているLK'を、やはりEEPROM50に記憶されている疑似乱数発生関数pRNGに適用して得られる結果pRNG(LK)の排他的論理和を演算し、鍵sk'を得る。
ここで、次式に示すように、sk=sk'となる。
sk'=e (+) G(LK') (+) pRNG(LK)
=sk (+) pRNG(H) (+) R (+) pRNG(LK)
=sk (+) pRNG(H) (+) pRNG(H) (+) pRNG(LK) (+) pRNG(LK)
=sk
このようにして、ソースとしてのDVDプレーヤ1とシンクとしてのパーソナルコンピュータ2は、同一の鍵sk,sk'を共有することができる。LK,LK'を作ることができるのは、著作権者だけであるので、ソースが不正に、LK,LK'を作ろうとしても作ることができないので、より安全性を高めることができる。
以上においては、ソースとシンクにおいて認証を行うようにしたが、例えばパーソナルコンピュータ2には、通常、任意のアプリケーションプログラムをロードして用いることができる。そして、このアプリケーションプログラムとしては、不正に作成したものが使用される場合もある。従って、各アプリケーションプログラム毎に、著作権者から許可を得たものであるか否かを判定する必要がある。そこで、図3に示すように、各アプリケーション部61とライセンスマネージャ62との間においても、上述したように、認証処理を行うようにすることができる。この場合、ライセンスマネージャ62がソースとなり、アプリケーション部61がシンクとなる。
次に、以上のようにして、認証が行われた後(暗号鍵の共有が行われた後)、暗号鍵を用いて、ソースから暗号化したデータをシンクに転送し、シンクにおいて、この暗号化したデータを復号する場合の動作について説明する。
図10に示すように、DVDプレーヤ1、あるいは光磁気ディスク装置3のように、内部の機能が一般ユーザに解放されていない装置においては、1394バス11を介して授受されるデータの暗号化と復号の処理は、それぞれ1394インタフェース26または1394インタフェース36で行われる。この暗号化と復号化には、セッションキーSと時変キーiが用いられるが、このセッションキーSと時変キーi(正確には、時変キーiを生成するためのキーi’)は、それぞれファームウェア20またはファームウェア30から、1394インタフェース26または1394インタフェース36に供給される。セッションキーSは、初期値として用いられる初期値キーSsと時変キーiを攪乱するために用いられる攪乱キーSiとにより構成されている。この初期値キーSsと攪乱キーSiは、上述した認証において生成された暗号鍵sk(=sk')の所定のビット数の上位ビットと下位ビットにより、それぞれ構成するようにすることができる。このセッションキーSは、セッション毎に(例えば、1つの映画情報毎に、あるいは、1回の再生毎に)、適宜、更新される。これに対して、攪乱キーSiとキーi’から生成される時変キーiは、1つのセッション内において、頻繁に更新されるキーであり、例えば、所定のタイミングにおける時刻情報などを用いることができる。
いま、ソースとしてのDVDプレーヤ1から再生出力した映像データを1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に伝送し、それぞれにおいて復号するものとする。この場合、DVDプレーヤ1においては、1394インタフェース26において、セッションキーSと時変キーiを用いて暗号化処理が行われる。光磁気ディスク装置3においては、1394インタフェース36において、セッションキーSと時変キーiを用いて復号処理が行われる。
これに対して、パーソナルコンピュータ2においては、ライセンスマネージャ62が、セッションキーSのうち、初期値キーSsをアプリケーション部61に供給し、攪乱キーSiと時変キーi(正確には、時変キーiを生成するためのキーi’)を1394インタフェース49(リンク部分)に供給する。そして、1394インタフェース49において、攪乱キーSiとキーi’から時変キーiが生成され、時変キーiを用いて復号が行われ、その復号されたデータをアプリケーション部61において、さらにセッションキーS(正確には、初期値キーSs)を用いて復号が行われる。
このように、パーソナルコンピュータ2においては、内部バス51が、ユーザに解放されているので、1394インタフェース49により第1段階の復号だけを行い、まだ暗号の状態としておく。そして、アプリケーション部61において、さらに第2段階の復号を行い、平文にする。これにより、パーソナルコンピュータ2に対して、適宜、機能を付加して、内部バス51において授受されるデータ(平文)をハードディスク47や他の装置にコピーすることを禁止させる。
このように、この発明の実施の形態においては、内部バスが解放されていないCE装置においては、暗号化、または復号処理は、セッションキーSと時変キーiを用いて1度に行われるが、内部バスが解放されている装置(パーソナルコンピュータ2など)においては、復号処理が、時変キーiを用いた復号処理と、セッションキーSを用いた復号処理に分けて行われる。このように、1段階の復号処理と、2段階に分けた復号処理の両方ができるようにするには、次式を成立させることが必要となる。
Dec(S,Dec(i, Enc(algo(S+i),Data)))=Data
なお、上記式において、algo(S+i)は、所定のアルゴリズムにセッションキーSと時変キーiを入力して得られた結果を表している。
図11は、上記式を満足する1394インタフェース26の構成例を表している。この構成例においては、アディティブジェネレータ71により生成したmビットのデータが、シュリンクジェネレータ73に供給されている。また、LFSR(Linear Feedback Sift Register)72が1ビットのデータを出力し、シュリンクジェネレータ73に供給している。シュリンクジェネレータ73は、LFSR72の出力に対応して、アディティブジェネレータ71の出力を選択し、選択したデータを暗号鍵として加算器74に出力している。加算器74は、入力された平文(1394バス11に伝送するmビットのデータ)と、シュリンクジェネレータ73より供給されるmビットのデータ(暗号鍵)とを加算し、加算した結果を暗号文(暗号化されたデータ)として、1394バス11に出力するようになされている。
加算器74の加算処理は、mod 2^m(^はべき乗を意味する)で、シュリンクジェネレータ73の出力と平文を加算することを意味する。換言すれば、mビットのデータ同志が加算され、キャリオーバを無視した加算値が出力される。
図12は、図11に示した1394インタフェース26のさらにより詳細な構成例を表している。ファームウェア20から出力されたセッションキーSのうち、初期値キーSsは、加算器81を介してレジスタ82に転送され、保持される。この初期値キーSsは、例えば、55ワード(1ワードは8ビット乃至32ビットの幅を有する)により構成される。また、ファームウェア20から供給されたセッションキーSのうちの、例えばLSB側の32ビットで構成される攪乱キーSiは、レジスタ85に保持される。
レジスタ84には、キーi’が保持される。このキーi’は、例えば1394バス11を介して1個のパケットが伝送される毎に、2ビットのキーi’がレジスタ84に供給され、16パケット分の(32ビット分の)キーi’がレジスタ84に保持されたとき、加算器86により、レジスタ85に保持されている32ビットの攪乱キーSiと加算され、最終的な時変キーiとして加算器81に供給される。加算器81は、そのときレジスタ82に保持されている値と加算器86より供給された時変キーiを加算し、その加算結果をレジスタ82に供給し、保持させる。
レジスタ82のワードのビット数が、例えば8ビットである場合、加算器86より出力される時変キーiが32ビットであるので、時変キーiを4分割して、各8ビットをレジスタ82の所定のアドレス(0乃至54)のワードに加算するようにする。
このようにして、レジスタ82には、最初に初期値キーSsが保持されるが、その後、この値は、16パケット分の暗号文を伝送する毎に、時変キーiで更新される。
加算器83は、レジスタ82に保持されている55ワードのうちの所定の2ワード(図12に示されているタイミングの場合、アドレス23とアドレス54のワード)を選択し、その選択した2ワードを加算して、シュリンクジェネレータ73に出力する。また、この加算器73の出力は、図12に示すタイミングでは、レジスタ82のアドレス0に転送され、前の保持値に代えて保持される。
そして、次のタイミングにおいては、加算器83に供給されるレジスタ82の2ワードのアドレスは、アドレス54とアドレス23から、それぞれアドレス53とアドレス22に、1ワード分だけ、図中上方に移動され、加算器83の出力で更新されるアドレスも、図中、より上方のアドレスに移動される。ただし、アドレス0より上方のアドレスは存在しないので、この場合には、アドレス54に移動する。
なお、加算器81,83,86では、排他的論理和を演算させるようにすることも可能である。
LFSR72は、例えば、図13に示すように、nビットのシフトレジスタ101と、シフトレジスタ101のnビットのうちの所定のビット(レジスタ)の値を加算する加算器102により構成されている。シフトレジスタ101は、加算器102より供給されるビットを、図中最も左側のレジスタbnに保持すると、それまでそこに保持されていたデータを右側のレジスタbn-1にシフトする。レジスタbn-1,bn-2,・・・も、同様の処理を行う。そして、さらに次のタイミングでは、各ビットの値を加算器102で加算した値を再び、図中最も左側のビットbnに保持させる。以上の動作が順次繰り返されて、図中最も右側のレジスタb1から出力が1ビットずつ順次出力される。
図13は、一般的な構成例であるが、例えば、より具体的には、LFSR72を図14に示すように構成することができる。この構成例においては、シフトレジスタ101が31ビットにより構成され、その図中右端のレジスタb1の値と左端のレジスタb31の値が、加算器102で加算され、加算された結果がレジスタb31に帰還されるようになされている。
LFSR72より出力された1ビットのデータが論理1であるとき、条件判定部91は、アディティブジェネレータ71の加算器83より供給されたmビットのデータをそのままFIFO92に転送し、保持させる。これに対して、LFSR72より供給された1ビットのデータが論理0であるとき、条件判定部91は、加算器83より供給されたmビットのデータを受け付けず、暗号化処理を中断させる。このようにして、シュリンクジェネレータ73のFIFO92には、アディティブジェネレータ71で生成したmビットのデータのうち、LFSR72が論理1を出力したタイミングのもののみが選択され、保持される。
FIFO92により保持したmビットのデータが、暗号鍵として、加算器74に供給され、伝送されるべき平文のデータ(DVDからの再生データ)に加算されて、暗号文が生成される。
暗号化されたデータは、DVDプレーヤ1から1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に供給される。
光磁気ディスク装置3は、1394インタフェース36において、1394バス11から受信したデータを復号するために、図15に示すような構成を有している。この構成例においては、シュリンクジェネレータ173にアディティブジェネレータ171の出力するmビットのデータと、LFSR172が出力する1ビットのデータが供給されている。そして、シュリンクジェネレータ173の出力するmビットの鍵が、減算器174に供給されている。減算器174は、暗号文からシュリンクジェネレータ173より供給される鍵を減算して、平文を復号する。
すなわち、図15に示す構成は、図11に示す構成と基本的に同様の構成とされており、図11における加算器74が、減算器174に変更されている点だけが異なっている。
図16は、図15に示す構成のより詳細な構成例を表している。この構成も、基本的に図12に示した構成と同様の構成とされているが、図12における加算器74が、減算器174に変更されている。その他のアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、加算器181、レジスタ182、加算器183、レジスタ184,185、加算器186、条件判定部191、FIFO192は、図12におけるアディティブジェネレータ71、LFSR72、シュリンクジェネレータ73、加算器81、レジスタ82、加算器83、レジスタ84,85、加算器86、条件判定部91、およびFIFO92に対応している。
従って、その動作は、基本的に図12に示した場合と同様であるので、その説明は省略するが、図16の例においては、シュリンクジェネレータ173のFIFO192より出力されたmビットの鍵が、減算器174において、暗号文から減算されて平文が復号される。
以上のように、1394インタフェース36においては、セッションキーS(初期値キーSsと攪乱キーSi)と時変キーiを用いて、暗号化データが1度に復号される。
これに対して、上述したように、パーソナルコンピュータ2においては、1394インタフェース49とアプリケーション部61において、それぞれ個別に、2段階に分けて復号が行われる。
図17は、1394インタフェース49において、ハード的に復号を行う場合の構成例を表しており、その基本的構成は、図15に示した場合と同様である。すなわち、この場合においても、アディティブジェネレータ271、LFSR272、シュリンクジェネレータ273、および減算器274により1394インタフェース49が構成されており、これらは、図15におけるアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、および減算器174と基本的に同様の構成とされている。ただし、図17の構成例においては、アディティブジェネレータ271に対して、ライセンスマネージャ62から、時変キーiを生成するためのキーi’と、セッションキーSのうち、時変キーiを攪乱するための攪乱キーSiとしては、図15における場合と同様のキーが供給されるが、初期値キーSsとしては、全てのビットが0である単位元が供給される。
すなわち、図18に示すように、初期値キーSsの全てのビットが0とされるので、実質的に、初期値キーSsが存在しない場合と同様に、時変キーiだけに基づいて暗号鍵が生成される。その結果、減算器274においては、暗号文の時変キーiに基づく復号だけが行われる。まだ初期値キーSsに基づく復号が行われていないので、この復号の結果得られるデータは、完全な平文とはなっておらず、暗号文の状態になっている。従って、このデータを内部バス51から取り込み、ハードディスク47や、その他の記録媒体に記録したとしても、それをそのまま利用することができない。
そして、以上のようにして、1394インタフェース49において、ハード的に時変キーiに基づいて復号されたデータをソフト的に復号するアプリケーション部61の構成は、図19に示すように、アディティブジェネレータ371、LFSR372、シュリンクジェネレータ373および減算器374により構成される。その基本的構成は、図15に示したアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、および減算器174と同様の構成となっている。
ただし、セッションキーSのうち、初期値キーSsは、図15における場合と同様に、通常の初期値キーが供給されるが、時変キーiを生成するための攪乱キーSiとキーi’は、それぞれ全てのビットが0である単位元のデータとされる。
その結果、図20にその詳細を示すように(そのアディティブジェネレータ371乃至FIFO392は、図16におけるアディティブジェネレータ171乃至FIFO192に対応している)、レジスタ384に保持されるキーi’とレジスタ385に保持される攪乱キーSiは、全てのビットが0であるため、加算器386の出力する時変キーiも全てのビットが0となり、実質的に時変キーiが存在しない場合と同様の動作が行われる。すなわち、初期値キーSsだけに基づく暗号鍵が生成される。そして、減算器374においては、このようにして生成された暗号鍵に基づいて暗号文が平文に復号される。上述したように、この暗号文は、1394インタフェース49において、時変キーiに基づいて第1段階の復号が行われているものであるので、ここで、初期値キーSsに基づいて第2段階の復号を行うことで、完全な平文を得ることができる。
光磁気ディスク装置3においては、以上のようにして暗号文が復号されると、CPU31が、復号されたデータをドライブ35に供給し、光磁気ディスクに記録させる。
一方、パーソナルコンピュータ2においては、CPU41(アプリケーション部61)が、以上のようにして復号されたデータを、例えばハードディスク47に供給し、記録させる。パーソナルコンピュータ2においては、拡張ボード48として所定のボードを接続して、内部バス51で授受されるデータをモニタすることができるが、内部バス51に伝送されるデータを最終的に復号することができるのは、アプリケーション部61であるので、拡張ボード48は、1394インタフェース49で、時変キーiに基づく復号が行われたデータ(まだ、セッションキーSに基づく復号が行われていないデータ)をモニタすることができたとしても、完全に平文に戻されたデータをモニタすることはできない。そこで、不正なコピーが防止される。
なお、セッションキーの共有は、例えば、Diffie-Hellman法などを用いて行うようにすることも可能である。
なお、この他、例えばパーソナルコンピュータ2における1394インタフェース49またはアプリケーション部61の処理能力が比較的低く、復号処理を行うことができない場合には、セッションキーと時変キーのいずれか、あるいは両方をソース側において、単位元で構成するようにし、シンク側においても、これらを単位元で用いるようにすれば、実施的にセッションキーと時変キーを使用しないで、データの授受が可能となる。ただし、そのようにすれば、データが不正にコピーされるおそれが高くなる。
アプリケーション部61そのものが、不正にコピーしたものである場合、復号したデータが不正にコピーされてしまう恐れがあるが、上述したようにアプリケーション部61をライセンスマネージャ62で認証するようにすれば、これを防止することが可能である。
この場合の認証方法としては、共通鍵暗号方式の他、公開鍵暗号方式を用いたデジタル署名を利用することができる。
以上の図11、図12、図15乃至図20に示す構成は、準同形(homomorphism)の関係を満足するものとなっている。すなわち、キーK1,K2がガロアフィールドGの要素であるとき、両者の群演算の結果、K1・K2もガロアフィールドGの要素となる。そして、さらに、所定の関数Hについて次式が成立する。
H(K1・K2)=H(K1)・H(K2
図21は、さらに1394インタフェース26の他の構成例を表している。この構成例においては、セッションキーSがLFSR501乃至503に供給され、初期設定されるようになされている。LFSR501乃至503の幅n1乃至n3は、それぞれ20ビット程度で、それぞれの幅n1乃至n3は、相互に素になるように構成される。従って、例えば、セッションキーSのうち、例えば、上位n1ビットがLFSR501に初期設定され、次の上位n2ビットがLFSR502に初期設定され、さらに次の上位n3ビットがLFSR503に初期設定される。
LFSR501乃至503は、クロッキングファンクション506より、例えば論理1のイネーブル信号が入力されたとき、mビットだけシフト動作を行い、mビットのデータを出力する。mの値は、例えば、8,16,32,40などとすることができる。
LFSR501とLFSR502の出力は、加算器504に入力され、加算される。加算器504の加算値のうち、キャリー成分は、クロッキングファンクション506に供給され、sum成分は、加算器505に供給され、LFSR503の出力と加算される。加算器505のキャリー成分は、クロッキングファンクション506に供給され、sum成分は、排他的論理和回路508に供給される。
クロッキングファンクション506は、加算器504と加算器505より供給されるデータの組み合わせが、00,01,10,11のいずれかであるので、これらに対応して、LFSR501乃至503に対して、000乃至111のいずれか1つの組み合わせのデータを出力する。LFSR501乃至503は、論理1が入力されたとき、mビットのシフト動作を行い、新たなmビットのデータを出力し、論理0が入力されたとき、前回出力した場合と同一のmビットのデータを出力する。
排他的論理和回路508は、加算器505の出力するsum成分とレジスタ507に保持された時変キーiの排他的論理和を演算し、その演算結果を排他的論理和回路509に出力する。排他的論理和回路509は、入力された平文と、排他的論理和回路508より入力された暗号鍵の排他的論理和を演算し、演算結果を暗号文として出力する。
図22は、光磁気ディスク装置3における1394インタフェース36の構成例を表している。この構成例におけるLFSR601乃至排他的論理和回路609は、図21におけるLFSR501乃至排他的論理和回路509と同様の構成とされている。従って、その動作も、基本的に同様となるので、その説明は省略する。ただし、図21の構成例においては、暗号化処理が行われるのに対して、図22の構成例においては、復号処理が行われる。
図23は、パーソナルコンピュータ2の1394インタフェース49の構成例を表している。この構成例におけるLFSR701乃至排他的論理和回路709も、図22における、LFSR601乃至排他的論理和回路609と同様の構成とされている。ただし、LFSR701乃至703に初期設定されるセッションキーSは、全てのビットが0の単位元とされている。従って、この場合、実質的にレジスタ707に保持された時変キーiだけに対応して復号化処理が行われる。
図24は、パーソナルコンピュータ2のアプリケーション部61の構成例を表している。この構成例におけるLFSR801乃至排他的論理和回路809は、図22における、LFSR601乃至排他的論理和回路609と基本的に同様の構成とされている。ただし、レジスタ807に入力される時変キーiが、全てのビットが0である単位元とされている点のみが異なっている。従って、この構成例の場合、セッションキーSだけに基づいて暗号鍵が生成され、復号処理が行われる。
なお、図19、図20、および図24に示す処理は、アプリケーション部61において行われるので、ソフト的に処理されるものである。
以上においては、DVDプレーヤ1をソースとし、パーソナルコンピュータ2と光磁気ディスク装置3をシンクとしたが、いずれの装置をソースとするかシンクとするかは任意である。
また、各電子機器を接続する外部バスも、1394バスに限らず、種々のバスを利用することができ、それに接続する電子機器も、上述した例に限らず、任意の装置とすることができる。
以上のように、機能の変更がユーザに開放されていない第1の情報処理装置においては、第1の鍵と、データを復号しているとき、所定のタイミングで変更される第2の鍵を用いて、暗号鍵を生成するようにし、機能の変更がユーザに開放されている第2の情報処理装置においては、第1の鍵と、第2の鍵の一方を用いて生成した第1の暗号鍵で、暗号化されているデータを復号し、第1の鍵と第2の鍵の他方を用いて生成した第2の暗号鍵を用いて、その復号されたデータをさらに復号するようにする場合、より安全な情報処理システムを実現することが可能となる。
また、第1の暗号鍵と、データを復号しているとき、所定のタイミングで変更される第2の暗号鍵を、ソフトウェアプログラムで生成するようにする場合、アプリケーションプログラム毎に復号を行うことが可能となり、不正なコピーをより確実に防止することが可能となる。
1 DVDプレーヤ, 2 パーソナルコンピュータ, 3 光磁気ディスク装置, 11 1394バス, 20 ファームウェア, 21 CPU, 25 ドライブ, 26 1394インタフェース, 27 EEPROM, 31 CPU, 35 ドライブ, 36 1394インタフェース, 37 EEPROM, 41 CPU, 47 ハードディスク, 48 拡張ボード, 49 1394インタフェース, 50 EEPROM, 51 内部バス, 61 アプリケーション部, 62 ライセンスマネージャ
本発明の第1の側面の暗号処理装置は、他の装置との双方向通信により行われる認証処理を通じてセッション毎に異なる共有秘密鍵を生成する共有秘密鍵生成部と、パケットに応じて変動する変動値を生成する変動値生成部と、前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、前記暗号鍵を用いてデータを暗号化する暗号化部とを備える暗号処理装置である。
本発明の第1の側面においては、他の装置との双方向通信により行われる認証処理を通じてセッション毎に異なる共有秘密鍵が生成され、パケットに応じて変動する変動値が生成され、前記共有秘密鍵に基づいて前記変動値が暗号化されて、前記セッション中に変更される変動鍵が生成され、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵が生成され、前記暗号鍵を用いてデータが暗号化される。
本発明の第2の側面の復号処理装置は、他の装置との双方向通信により行われる認証処理を通じてセッション毎に異なる共有秘密鍵を生成する共有秘密鍵生成部と、パケットに応じて変動する変動値を生成する変動値生成部と、前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、前記暗号鍵を用いて暗号化されたデータを復号する復号部とを備える復号処理装置である。
本発明の第2の側面においては、他の装置との双方向通信により行われる認証処理を通じてセッション毎に異なる共有秘密鍵が生成され、パケットに応じて変動する変動値が生成され、前記共有秘密鍵に基づいて前記変動値が暗号化されて、前記セッション中に変更される変動鍵が生成され、前記共有秘密鍵と前記変動鍵に基づいて暗号鍵が生成され、前記暗号鍵を用いて暗号化されたデータが復号される。

Claims (42)

  1. 他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成部と、
    パケットに応じて変動する変動値を生成する変動値生成部と、
    前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、
    前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、
    前記暗号鍵を用いてデータを暗号化する暗号化部と
    を備える暗号処理装置。
  2. 前記変動鍵は、前記暗号処理装置に与えられた情報に基づいて生成される
    請求項1に記載の暗号処理装置。
  3. 前記暗号鍵は、前記他の装置と共有される鍵である
    請求項1に記載の暗号処理装置。
  4. 前記変動鍵生成部は、前記共有秘密鍵に基づく攪乱鍵を用いて前記変動値を攪乱することで前記変動鍵を生成する
    請求項1に記載の暗号処理装置。
  5. 前記共有秘密鍵を共通鍵方式で共有する共有部
    をさらに備える
    請求項1に記載の暗号処理装置。
  6. 前記共有部は、Diffie-Hellman法によって前記共有秘密鍵を共有する
    請求項5に記載の暗号処理装置。
  7. 前記共有秘密鍵は、前記他の装置から受信する情報と予め保持している鍵に基づいて暗号化関数を用いて得られる鍵である
    請求項1に記載の暗号処理装置。
  8. 前記共有秘密鍵は、疑似乱数である
    請求項7に記載の暗号処理装置。
  9. 前記暗号化関数は、ハッシュ関数である
    請求項7に記載の暗号処理装置。
  10. 暗号処理装置が、
    他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成ステップと、
    パケットに応じて変動する変動値を生成する変動値生成ステップと、
    前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成ステップと、
    前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成ステップと、
    前記暗号鍵を用いてデータを暗号化する暗号化ステップと
    を含む暗号処理方法。
  11. 前記変動鍵は、前記暗号処理装置に与えられた情報に基づいて生成される
    請求項10に記載の暗号処理方法。
  12. 前記暗号鍵は、前記他の装置と共有される鍵である
    請求項10に記載の暗号処理方法。
  13. 前記変動鍵生成ステップの処理では、前記共有秘密鍵に基づく攪乱鍵を用いて前記変動値を攪乱することで前記変動鍵を生成する
    請求項10に記載の暗号処理方法。
  14. 前記共有秘密鍵を共通鍵方式で共有する共有ステップ
    をさらに含む
    請求項10に記載の暗号処理方法。
  15. 前記共有ステップの処理では、Diffie-Hellman法によって前記共有秘密鍵を共有する
    請求項14に記載の暗号処理方法。
  16. 前記共有秘密鍵は、前記他の装置から受信する情報と予め保持している鍵に基づいて暗号化関数を用いて得られる鍵である
    請求項10に記載の暗号処理方法。
  17. 前記共有秘密鍵は、疑似乱数である
    請求項16に記載の暗号処理方法。
  18. 前記暗号化関数は、ハッシュ関数である
    請求項16に記載の暗号処理方法。
  19. 他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成部と、
    パケットに応じて変動する変動値を生成する変動値生成部と、
    前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成部と、
    前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成部と、
    前記暗号鍵を用いて暗号化されたデータを復号する復号部と
    を備える復号処理装置。
  20. 前記変動鍵は、前記復号処理装置に与えられた情報に基づいて生成される
    請求項19に記載の復号処理装置。
  21. 前記暗号鍵は、前記他の装置と共有される鍵である
    請求項19に記載の復号処理装置。
  22. 前記変動鍵生成部は、前記共有秘密鍵に基づく攪乱鍵を用いて前記変動値を攪乱することで前記変動鍵を生成する
    請求項19に記載の復号処理装置。
  23. 前記共有秘密鍵を共通鍵方式で共有する共有部
    をさらに備える
    請求項19に記載の復号処理装置。
  24. 前記共有部は、Diffie-Hellman法によって前記共有秘密鍵を共有する
    請求項23に記載の復号処理装置。
  25. 前記共有秘密鍵は、前記他の装置から受信する情報と予め保持している鍵に基づいて復号関数を用いて得られる鍵である
    請求項19に記載の復号処理装置。
  26. 前記共有秘密鍵は、疑似乱数である
    請求項25に記載の復号処理装置。
  27. 前記他の装置からデータを受信する通信部
    をさらに備える
    請求項19に記載の復号処理装置。
  28. 前記通信部により受信された前記データを保持するメモリ
    をさらに備える
    請求項27に記載の復号処理装置。
  29. ユーザ操作に対応する信号を出力する操作部
    をさらに備える
    請求項28に記載の復号処理装置。
  30. 前記復号処理装置の電源オフ後も記憶する必要のある情報を記憶する記憶部
    をさらに備える
    請求項29に記載の復号処理装置。
  31. 復号処理装置が、
    他の装置との双方向通信により行われる認証処理を通じてセッション毎に利用される共有秘密鍵を生成する共有秘密鍵生成ステップと、
    パケットに応じて変動する変動値を生成する変動値生成ステップと、
    前記共有秘密鍵に基づいて前記変動値を暗号化して、前記セッション中に変更される変動鍵を生成する変動鍵生成ステップと、
    前記共有秘密鍵と前記変動鍵に基づいて暗号鍵を生成する暗号鍵生成ステップと、
    前記暗号鍵を用いて暗号化されたデータを復号する復号ステップと
    を含む復号処理方法。
  32. 前記変動鍵は、前記復号処理装置に与えられた情報に基づいて生成される
    請求項31に記載の復号処理方法。
  33. 前記暗号鍵は、前記他の装置と共有される鍵である
    請求項31に記載の復号処理方法。
  34. 前記変動鍵生成ステップの処理では、前記共有秘密鍵に基づく攪乱鍵を用いて前記変動値を攪乱することで前記変動鍵を生成する
    請求項31に記載の復号処理方法。
  35. 前記共有秘密鍵を共通鍵方式で共有する共有ステップ
    をさらに含む
    請求項31に記載の復号処理方法。
  36. 前記共有ステップの処理では、Diffie-Hellman法によって前記共有秘密鍵を共有する
    請求項35に記載の復号処理方法。
  37. 前記共有秘密鍵は、前記他の装置から受信する情報と予め保持している鍵に基づいて復号関数を用いて得られる鍵である
    請求項31に記載の復号処理方法。
  38. 前記共有秘密鍵は、疑似乱数である
    請求項37に記載の復号処理方法。
  39. 前記他の装置からデータを受信する通信ステップ
    をさらに含む
    請求項31に記載の復号処理方法。
  40. 前記通信ステップの処理により受信された前記データを保持する保持ステップ
    をさらに含む
    請求項39に記載の復号処理方法。
  41. ユーザ操作に対応する信号を出力する操作ステップ
    をさらに含む
    請求項40に記載の復号処理方法。
  42. 前記復号処理装置の電源オフ後も記憶する必要のある情報を記憶する記憶ステップ
    をさらに含む
    請求項41に記載の復号処理方法。
JP2013123625A 2013-06-12 2013-06-12 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法 Pending JP2013192267A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013123625A JP2013192267A (ja) 2013-06-12 2013-06-12 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013123625A JP2013192267A (ja) 2013-06-12 2013-06-12 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012204833A Division JP2013017225A (ja) 2012-09-18 2012-09-18 暗号化装置および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013241600A Division JP2015029243A (ja) 2013-11-22 2013-11-22 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
JP2013192267A true JP2013192267A (ja) 2013-09-26

Family

ID=49392020

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013123625A Pending JP2013192267A (ja) 2013-06-12 2013-06-12 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法

Country Status (1)

Country Link
JP (1) JP2013192267A (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370634A (ja) * 1986-09-12 1988-03-30 Toshiba Corp 暗号化鍵共有方式
JPH01279650A (ja) * 1988-05-06 1989-11-09 Nippon Hoso Kyokai <Nhk> 信号スクランブル伝送方式および装置
JPH04117826A (ja) * 1990-09-07 1992-04-17 Matsushita Electric Ind Co Ltd 認証機能付き鍵配送方式
JPH04211543A (ja) * 1990-03-29 1992-08-03 Nec Corp ディジタルデータ秘匿装置
JPH05175411A (ja) * 1991-12-24 1993-07-13 Ibiden Co Ltd 電子部品搭載基板用のリードフレーム
JPH07175411A (ja) * 1993-12-20 1995-07-14 Csk Corp 暗号システム
JPH08195735A (ja) * 1995-01-18 1996-07-30 Toshiba Corp デコーダ装置
JPH08234658A (ja) * 1994-12-30 1996-09-13 At & T Corp 暗号作業鍵を生成する方法
JPH08331076A (ja) * 1995-03-30 1996-12-13 Sanyo Electric Co Ltd Fm多重放送のスクランブルまたはデスクランブル方法
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370634A (ja) * 1986-09-12 1988-03-30 Toshiba Corp 暗号化鍵共有方式
JPH01279650A (ja) * 1988-05-06 1989-11-09 Nippon Hoso Kyokai <Nhk> 信号スクランブル伝送方式および装置
JPH04211543A (ja) * 1990-03-29 1992-08-03 Nec Corp ディジタルデータ秘匿装置
JPH04117826A (ja) * 1990-09-07 1992-04-17 Matsushita Electric Ind Co Ltd 認証機能付き鍵配送方式
JPH05175411A (ja) * 1991-12-24 1993-07-13 Ibiden Co Ltd 電子部品搭載基板用のリードフレーム
JPH07175411A (ja) * 1993-12-20 1995-07-14 Csk Corp 暗号システム
JPH08234658A (ja) * 1994-12-30 1996-09-13 At & T Corp 暗号作業鍵を生成する方法
JPH08195735A (ja) * 1995-01-18 1996-07-30 Toshiba Corp デコーダ装置
JPH08331076A (ja) * 1995-03-30 1996-12-13 Sanyo Electric Co Ltd Fm多重放送のスクランブルまたはデスクランブル方法
JPH08335040A (ja) * 1995-06-02 1996-12-17 Fujitsu Ltd 暗号化処理方式

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND199800646003; 岡本 栄司: '"明るい情報化社会の実現をめざす暗号技術▲5▼ 暗号鍵配送管理"' bit Vol.23,No.12, 19911101, p.51-59, 共立出版株式会社 *
JPN6010050723; Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: Handbook of Applied Cryptography , 1996, pp. 489-499 *
JPN6010050725; Bruce Schneier: Applied Cryptography: Protocols, Algorithms, and Source Code in C Second Edition, 1996, pp. 205-206, John Wiley & Sons, Inc *
JPN6013033313; 岡本 栄司: '"明るい情報化社会の実現をめざす暗号技術▲5▼ 暗号鍵配送管理"' bit Vol.23,No.12, 19911101, p.51-59, 共立出版株式会社 *

Similar Documents

Publication Publication Date Title
KR100466474B1 (ko) 암호화장치및방법,복호장치및방법,정보처리장치및방법
JP3988172B2 (ja) 情報処理装置および方法、並びに記録媒体
JP3864401B2 (ja) 認証システム、電子機器、認証方法、および記録媒体
JP4496440B2 (ja) 暗号化コンテンツ送信装置
KR20000076003A (ko) 정보 처리 시스템, 정보 처리 장치 및 정보 처리 방법
JP4748109B2 (ja) 暗号化装置および方法、復号装置および方法、情報処理装置および方法、並びに情報再生装置
JP2010246158A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2006340407A (ja) 暗号化装置および方法、並びに復号装置および方法
JP2007043738A (ja) 電子機器
JP2013179701A (ja) 暗号化装置および方法
JP2013017225A (ja) 暗号化装置および方法
JP2012070430A (ja) 復号装置および方法
JP4496506B2 (ja) 暗号化コンテンツ送信装置
JP2016015783A (ja) 暗号化装置
JP2013192267A (ja) 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法
JP2015043611A (ja) 復号装置
JP2015019430A (ja) 復号装置
JP2014064318A (ja) 暗号化装置および方法
JP2014147109A (ja) 情報処理装置および情報処理方法
JP2015029243A (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130612

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130612

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131202

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20131213