JP3864401B2 - 認証システム、電子機器、認証方法、および記録媒体 - Google Patents
認証システム、電子機器、認証方法、および記録媒体 Download PDFInfo
- Publication number
- JP3864401B2 JP3864401B2 JP21089997A JP21089997A JP3864401B2 JP 3864401 B2 JP3864401 B2 JP 3864401B2 JP 21089997 A JP21089997 A JP 21089997A JP 21089997 A JP21089997 A JP 21089997A JP 3864401 B2 JP3864401 B2 JP 3864401B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- electronic device
- key
- value
- transmission
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 134
- 230000005540 biological transmission Effects 0.000 claims description 209
- 238000012545 processing Methods 0.000 claims description 110
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 73
- 238000010586 diagram Methods 0.000 description 23
- 239000000654 additive Substances 0.000 description 13
- 230000000996 additive effect Effects 0.000 description 13
- 238000012546 transfer Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000007689 inspection Methods 0.000 description 7
- 230000010365 information processing Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/04—Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/12—Control of operating function, e.g. switching from recording to reproducing by sensing distinguishing features of or on records, e.g. diameter end mark
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【発明の属する技術分野】
本発明は、認証システム、電子機器、認証方法、および記録媒体に関し、特に、より安全にデータを授受することができるようにした、認証システム、電子機器、認証方法、および記録媒体に関する。
【0002】
【従来の技術】
最近、AV機器やパーソナルコンピュータなどの電子機器を、例えばIEEE1394シリアルバスを介して相互に接続し、相互の間でデータを授受することができるようにするシステムが提案されている。
【0003】
このようなシステムにおいて、例えば一般のユーザが、DVDプレーヤにより再 生出力された映画情報を、1394シリアルバスを介してモニタに出力し、表示させる行為は、一般的に、DVD(ディスク)を購入した時点において、映画情報 の著作権者から許容されているものとされる。しかしながら、DVDプレーヤから 再生された映画情報を、光磁気ディスク、その他の記録媒体に記録する行為は、著作権者からの特別な許諾が必要となる。このような場合、例えば、光磁気ディスク装置に、映画情報を記録することが許可されているか否かを表すキーを記憶しておき、このキーを利用して、その光磁気ディスク装置が正当な装置(著作権者からのライセンスを受けた装置)であるか否かを認証するようにし、正当な装置として認証された場合には、その光磁気ディスク装置に映画情報の記録を許容するようにすることが考えられる。
【0004】
このような場合、映画情報を伝送する側の装置(以下、このような装置をソース(source)と称する)と、伝送を受けた装置(以下、このような装置をシンク(sink)と称する)との間で、相手側の装置が適正な装置であるか否かを認証する必要がある。
【0005】
図41は、このような認証を行う従来の方法を表している。同図に示すように、ソースとシンクは、それぞれ著作権者から予め所定の関数fを受け取り、それぞれのメモリに記憶しておく。この関数fは、その入力と出力から、その関数fを特定するのが困難な関数であり、また、知らないものが、その関数fに対して任意の入力を与えた場合に得られる出力を推定するのが困難な関数とされる。そして、この関数fは、著作権者から許可された装置にのみ与えられ、記憶される。
【0006】
ソースは乱数rを発生し、これを1394バスを介してシンクに伝送する。また、ソースは、関数fに対して乱数rを適用して、x(=f(r))を生成する。
【0007】
一方、シンク側においては、ソース側から転送されてきた乱数rを関数fに適用して、y(=f(r))を生成する。そして、このyをソース側に伝送する。
【0008】
ソース側においては、演算により求めたxと、シンク側から伝送されてきたyを比較し、両者が一致するか否か(x=yであるか否か)を判定する。両者が一致していれば、ソース側は、シンク側を正当な装置であると認証し、映画情報を所定のキーで暗号化して、シンク側に伝送する。
【0009】
このキーとしては、シンクが伝送してきたyを関数fに適用して生成した値k(=f(y))が用いられる。シンク側においても、同様にして、yに関数fを適用して、キーk(=f(y))を生成する。そして、このキーkを用いて、ソース側から伝送されてきた、暗号化されている映画データを復号する。
【0010】
【発明が解決しようとする課題】
しかしながら、このような方法においては、ソースまたはシンクとして、データを授受するすべての電子機器が、同一の関数fを秘密裡に保持する必要がある。
【0011】
その結果、例えば、不正なユーザによって、1つの電子機器に保持されている関数fが盗まれてしまったような場合、この不正なユーザは、1394バスを介して授受されるデータを監視することにより、鍵kを生成することができ、暗号化されているデータを解読することが可能となる。その結果、不正なユーザは、所望の電子機器になりすまして、不正に情報を盗むことが可能となる。
【0012】
本発明はこのような状況に鑑みてなされたものであり、暗号または復号に必要な情報が盗まれたとしても、不正なユーザが、これを用いて所望の電子機器になりすますことができないようし、より安全性を図るようにするものである。
【0013】
【課題を解決するための手段】
請求項1に記載の認証システムは、第1の電子機器が、所定の処理を施す情報に対応する第1の鍵を記憶する第1の記憶手段を備え、第2の電子機器が、自分自身に固有の識別番号を記憶する第2の記憶手段と、記憶している識別番号を第1の電子機器に送信する第1の送信手段とを備え、第1の電子機器が、さらに、第2の電子機器から送信されてくる、識別番号を受信する第1の受信手段と、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出手段と、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する第1の乱数生成手段と、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成する第1の送信値生成手段と、生成した第1の送信値を第2の電子機器に送信する第2の送信手段とを備え、第2の電子機器は、さらに、第1の電子機器から送信されてくる、第1の送信値を受信する第2の受信手段と、受信した第1の送信値に基づいて、第2の乱数を生成する第2の乱数生成手段と、あらかじめ定められたビット数の第3の乱数を生成する第3の乱数生成手段と、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成する第2の送信値生成手段と、生成した第2の送信値を第1の電子機器に送信する第3の送信手段とを備え、第1の電子機器は、さらに、第2の電子機器から送信されてくる、第2の送信値を受信する第3の受信手段と、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、第2の電子機器が正当であるか否かを認証する認証手段とを備え、認証手段は、比較の結果、第2の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0016】
請求項4に記載の電子機器は、所定の処理を施す情報に対応する第1の鍵を記憶する記憶手段と、他の電子機器に付与された固有の識別番号を受信する第1の受信手段と、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出手段と、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成手段と、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成する送信値生成手段と、生成した第1の送信値を他の電子機器に送信する第1の送信手段と、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値を受信する第2の受信手段と、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証する認証手段とを備え、認証手段は、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0017】
請求項5に記載の認証方法は、他の電子機器に付与された固有の識別番号の受信を制御する第1の受信制御ステップと、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出ステップと、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成ステップと、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成する送信値生成ステップと、生成した第1の送信値の他の電子機器への送信を制御する第1の送信制御ステップと、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値の受信を制御する第2の受信制御ステップと、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証する認証ステップとを含み、認証ステップは、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0018】
請求項6に記載の記録媒体に記録されたプログラムは、他の電子機器に付与された固有の識別番号の受信を制御する第1の受信制御ステップと、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出ステップと、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成ステップと、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成する送信値生成ステップと、生成した第1の送信値の他の電子機器への送信を制御する第1の送信制御ステップと、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値の受信を制御する第2の受信制御ステップと、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証する認証ステップとを含み、認証ステップは、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0019】
請求項7に記載の電子機器は、自分自身に固有の識別番号を記憶する記憶手段と、記憶している識別番号を他の電子機器に送信する第1の送信手段と、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値を受信する第1の受信手段と、受信した第1の送信値に基づいて、第2の乱数を生成する第1の乱数生成手段と、あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成手段と、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成する送信値生成手段と、生成した第2の送信値を他の電子機器に送信する第2の送信手段とを備えることを特徴とする。
【0020】
請求項10に記載の認証方法は、記憶している自分自身に固有の識別番号の他の電子機器への送信を制御する第1の送信制御ステップと、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値の受信を制御する第1の受信制御ステップと、受信した第1の送信値に基づいて、第2の乱数を生成する第1の乱数生成ステップと、あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成ステップと、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成する送信値生成ステップと、生成した第2の送信値の他の電子機器への送信を制御する第2の送信制御ステップとを含むことを特徴とする。
【0021】
請求項11に記載の記録媒体に記録されたプログラムは、記憶している自分自身に固有の識別番号の他の電子機器への送信を制御する第1の送信制御ステップと、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値の受信を制御する第1の受信制御ステップと、受信した第1の送信値に基づいて、第2の乱数を生成する第1の乱数生成ステップと、あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成ステップと、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成する送信値生成ステップと、生成した第2の送信値の他の電子機器への送信を制御する第2の送信制御ステップとを含むことを特徴とする。
【0031】
請求項1に記載の認証システムにおいては、第1の電子機器では、所定の処理を施す情報に対応する第1の鍵が記憶され、第2の電子機器では、自分自身に固有の識別番号が記憶され、記憶している識別番号が第1の電子機器に送信され、第1の電子機器では、第2の電子機器から送信されてくる、識別番号が受信され、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値が算出され、あらかじめ定められたビット数の第1の乱数および第2の乱数が生成され、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値が生成され、生成した第1の送信値が第2の電子機器に送信され、第2の電子機器では、第1の電子機器から送信されてくる、第1の送信値が受信され、受信した第1の送信値に基づいて、第2の乱数が生成され、あらかじめ定められたビット数の第3の乱数が生成され、生成した第2の乱数および第3の乱数に基づいて、第2の送信値が生成され、生成した第2の送信値が第1の電子機器に送信され、第1の電子機器では、第2の電子機器から送信されてくる、第2の送信値が受信され、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、第2の電子機器が正当であるか否かが認証され、比較の結果、第2の電子機器が正当でないと認証された場合、認証の処理が終了される。
【0032】
請求項4に記載の電子機器、請求項5に記載の認証方法、および請求項6に記載の記録媒体においては、所定の処理を施す情報に対応する第1の鍵が記憶され、他の電子機器に付与された固有の識別番号が受信され、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値が算出され、あらかじめ定められたビット数の第1の乱数および第2の乱数が生成され、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値が生成され、生成した第1の送信値が他の電子機器に送信され、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値が受信され、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かが認証され、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理が終了される。
【0033】
請求項7に記載の電子機器、請求項10に記載の認証方法、および請求項11に記載の記録媒体においては、自分自身に固有の識別番号が記憶され、記憶している識別番号が他の電子機器に送信され、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値が受信され、受信した第1の送信値に基づいて、第2の乱数が生成され、あらかじめ定められたビット数の第3の乱数が生成され、生成した第2の乱数および第3の乱数に基づいて、第2の送信値が生成され、生成した第2の送信値が他の電子機器に送信される。
【0037】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【0038】
請求項1に記載の認証システムは、第1の電子機器(例えば、図1の DVD プレーヤ1(ソース))が、所定の処理を施す情報に対応する第1の鍵(例えば、 service_key )を記憶する第1の記憶手段(例えば、図2の EEPROM 27)を備え、第2の電子機器(例えば、図1のパーソナルコンピュータ2(シンク))が、自分自身に固有の識別番号を記憶する第2の記憶手段(例えば、図2の EEPROM 50)と、記憶している識別番号を第1の電子機器に送信する第1の送信手段(例えば、図37のステップS283の処理)とを備え、第1の電子機器は、第2の電子機器から送信されてくる、識別番号を受信する第1の受信手段(例えば、図37のステップS284の処理)と、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値(例えば、キー lk )を算出する算出手段(例えば、図37のステップS285の処理)と、あらかじめ定められたビット数の第1の乱数(例えば、乱数 r1 )および第2の乱数(例えば、乱数 r2 )を生成する第1の乱数生成手段(例えば、図37のステップS286の処理)と、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値(例えば、送信値 X )を生成する第1の送信値生成手段(例えば、図37のステップS287の処理)と、生成した第1の送信値を第2の電子機器に送信する第2の送信手段(例えば、図37のステップS288の処理)とを備え、第2の電子機器が、第1の電子機器から送信されてくる、第1の送信値を受信する第2の受信手段(例えば、図37のステップS289の処理)と、受信した第1の送信値に基づいて、第2の乱数を生成する第2の乱数生成手段(例えば、図37のステップS290の処理)と、あらかじめ定められたビット数の第3の乱数(例えば、乱数 r3 )を生成する第3の乱数生成手段(例えば、図37のステップS291の処理)と、生成した第2の乱数および第3の乱数に基づいて、第2の送信値(例えば、送信値 Y )を生成する第2の送信値生成手段(例えば、図37のステップS293の処理)と、生成した第2の送信値を第1の電子機器に送信する第3の送信手段(例えば、図37のステップS294の処理)とを備え、第1の電子機器が、第2の電子機器から送信されてくる、第2の送信値を受信する第3の受信手段(例えば、図37のステップS295の処理)と、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、第2の電子機器が正当であるか否かを認証する認証手段(例えば、図37のステップS297の処理)とを備え、認証手段は、比較の結果、第2の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0039】
請求項2に記載の認証システムは、第2の記憶手段は、第1の電子機器から送信されてくる所定の情報に所定の処理を施すことに対する許可に対応する第2の鍵(例えば、 license_key )を記憶し、第2の送信値生成手段は、第2の乱数および第3の乱数を結合した値に対して、記憶している第2の鍵を用いて暗号的処理を行うことにより、第2の送信値を生成することを特徴とする。
【0040】
請求項3に記載の認証システムは、第2の鍵は、第1の鍵および識別番号に対して、ハッシュ関数を適用して得られるハッシュ値と同一の値であることを特徴とする。
【0047】
請求項4に記載の電子機器(例えば、図1の DVD プレーヤ1(ソース))は、所定の処理を施す情報に対応する第1の鍵(例えば、 service_key )を記憶する記憶手段(例えば、図2の EEPROM 27)と、他の電子機器(例えば、図1のパーソナルコンピュータ2(シンク))に付与された固有の識別番号(例えば、 ID )を受信する第1の受信手段(例えば、図37のステップS284の処理)と、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値(例えば、キー lk )を算出する算出手段(例えば、図37のステップS285の処理)と、あらかじめ定められたビット数の第1の乱数(例えば、乱数 r1 )および第2の乱数(例えば、乱数 r2 )を生成する乱数生成手段(例えば、図37のステップS286の処理)と、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値(例えば、送信値 X )を生成する送信値生成手段(例えば、図37のステップS287の処理)と、生成した第1の送信値を他の電子機器に送信する第1の送信手段(例えば、図37のステップS288の処理)と、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値(例えば、送信値 Y )を受信する第2の受信手段と(例えば、図37のステップS295の処理)、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証する認証手段(例えば、図37のステップS297の処理)とを備え、認証手段は、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0048】
請求項5に記載の認証方法は、他の電子機器(例えば、図1のパーソナルコンピュータ2(シンク))に付与された固有の識別番号(例えば、 ID )の受信を制御する第1の受信制御ステップ(例えば、図37のステップS284の処理)と、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値(例えば、キー lk )を算出する算出ステップ(例えば、図37のステップS285の処理)と、あらかじめ定められたビット数の第1の乱数(例えば、乱数 r1 )および第2の乱数(例えば、乱数 r2 )を生成する乱数生成ステップ(例えば、図37のステップS286の処理)と、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値(例えば、送信値 X )を生成する送信値生成ステップ(例えば、図37のステップS287の処理)と、生成した第1の送信値の他の電子機器への送信を制御する第1の送信制御ステップ(例えば、図37のステップS288の処理)と、他の電子機器から送信されてくる、第2の乱数および第3の乱数(例えば、乱数 r3 )に基づいて生成された第2の送信値(送信値 Y )の受信を制御する第2の受信制御ステップ(例えば、図37のステップS295の処理)と、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証する認証ステップ(例えば、図37のステップS297の処理)とを含み、認証ステップは、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了することを特徴とする。
【0049】
請求項7に記載の電子機器(例えば、図1のパーソナルコンピュータ2(シンク))は、自分自身に固有の識別番号(例えば、 ID )を記憶する記憶手段(例えば、図2の EEPROM 50)と、記憶している識別番号を他の電子機器(例えば、図1の DVD プレーヤ1(ソース))に送信する第1の送信手段(例えば、図37のステップS283の処理)と、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵(例えば、 service_key )および識別番号から算出されたハッシュ値(例えば、キー lk )、並びに第1の乱数(例えば、乱数 r1 )および第2の乱数(例えば、乱数 r2 )に基づいて生成された第1の送信値(例えば、送信値 X )を受信する第1の受信手段(例えば、図37のステップS289の処理)と、受信した第1の送信値に基づいて、第2の乱数を生成する第1の乱数生成手段(例えば、図37のステップS290の処理)と、あらかじめ定められたビット数の第3の乱数(例えば、乱数 r3 )を生成する第2の乱数生成手段(例えば、図37のステップS291の処理)と、生成した第2の乱数および第3の乱数に基づいて、第2の送信値(例えば、送信値 Y )を生成する送信値生成手段(例えば、図37のステップS293の処理)と、生成した第2の送信値を他の電子機器に送信する第2の送信手段(例えば、図37のステップS294の処理)とを備えることを特徴とする。
【0050】
請求項8に記載の電子機器は、記憶手段は、他の電子機器から送信されてくる所定の情報に所定の処理を施すことに対する許可に対応する第2の鍵(例えば、 license_key )を記憶し、送信値生成手段は、第2の乱数および第3の乱数を結合した値に対して、記憶している第2の鍵を用いて暗号的処理を行うことにより、第2の送信値を生成することを特徴とする。
【0051】
請求項9に記載の電子機器は、第2の鍵は、第1の鍵および識別番号に対して、ハッシュ関数を適用して得られるハッシュ値と同一の値であることを特徴とする。
【0052】
請求項10に記載の認証方法は、記憶している識別番号(例えば、 ID )の他の電子機器への送信を制御する第1の送信制御ステップ(例えば、図37のステップS283の処理)と、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵(例えば、 service_key )および識別番号から算出されたハッシュ値(例えば、キー lk )、並びに第1の乱数(例えば、乱数 r1 )および第2の乱数(例えば、乱数 r2 )に基づいて生成された第1の送信値(例えば、送信値 X )の受信を制御する第1の受信制御ステップ(例えば、図37のステップS289の処理)と、受信した第1の送信値に基づいて、第2の乱数を生成する第1の乱数生成ステップ(例えば、図37のステップS290の処理)と、あらかじめ定められたビット数の第3の乱数(例えば、乱数 r3 )を生成する第2の乱数生成ステップ(例えば、図37のステップS291の処理)と、生成した第2の乱数および第3の乱数に基づいて、第2の送信値(例えば、送信値 Y )を生成する送信値生成ステップ(例えば、図37のステップS293の処理)と、生成した第2の送信値の他の電子機器への送信を制御する第2の送信制御ステップ(例えば、図37のステップS294の処理)とを含むことを特徴とする。
【0059】
図1は、本発明を適用した情報処理システムの構成例を表している。この構成例においては、IEEE1394シリアルバス11を介してDVDプレーヤ1、パーソナルコンピュータ2、光磁気ディスク装置3、データ放送受信装置4、モニタ5、テレビジョン受像機6が相互に接続されている。
【0060】
図2は、この内のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部のより詳細な構成例を表している。DVDプレーヤ1は、1394インタフェース26を介して、1394バス11に接続されている。CPU21は、ROM22に記憶されているプログラムに従って各種の処理を実行し、RAM23は、CPU21が各種の処理を実行する上において必要なデータやプログラムなどを適宜記憶する。操作部24は、ボタン、スイッチ、リモートコントローラなどにより構成され、ユーザにより操作されたとき、その操作に対応する信号を出力する。ドライブ25は、図示せぬDVD(ディスク)を駆動し、そこに記録されているデータを再生するようになされている。EEPROM27は、装置の電源オフ後も記憶する必要のある情報(この実施の形態の場合、鍵情報)を記憶するようになされている。内部バス28は、これらの各部を相互に接続している。
【0061】
光磁気ディスク装置3は、CPU31乃至内部バス38を有している。これらは、上述したDVDプレーヤ1におけるCPU21乃至内部バス28と同様の機能を有するものであり、その説明は省略する。ただし、ドライブ35は、図示せぬ光磁気ディスクを駆動し、そこにデータを記録または再生するようになされている。
【0062】
パーソナルコンピュータ2は、1394インタフェース49を介して1394バス11に接続されている。CPU41は、ROM42に記憶されているプログラムに従って各種の処理を実行する。RAM43には、CPU41が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース44には、キーボード45とマウス46が接続されており、それらから入力された信号をCPU41に出力するようになされている。また、入出力インタフェース44には、ハードディスク(HDD)47が接続されており、そこにデータ、プログラムなどを記録再生することができるようになされている。入出力インタフェース44にはまた、拡張ボード48を適宜装着し、必要な機能を付加することができるようになされている。EEPROM50には、電源オフ後も保持する必要のある情報(この実施の形態の場合、各種の鍵情報)が記憶されるようになされている。例えば、PCI(Peripheral Component Interconnect)、ローカルバスなどにより構成される内部バス51は、これらの各部を相互に接続するようになされている。
【0063】
なお、この内部バス51は、ユーザに対して解放されており、ユーザは、拡張ボード48に所定のボードを適宜接続したり、所定のソフトウェアプログラムを作成して、CPU41にインストールすることで、内部バス51により伝送されるデータを適宜受信することができるようになされている。
【0064】
これに対して、DVDプレーヤ1や光磁気ディスク装置3などのコンシューマエレクトロニクス(CE)装置においては、内部バス28や内部バス38は、ユーザに解放されておらず、特殊な改造などを行わない限り、そこに伝送されるデータを取得することができないようになされている。
【0065】
次に、所定のソースとシンクとの間で行われる認証の処理について説明する。この認証の処理は、図3に示すように、ソースとしての、例えばDVDプレーヤ1のROM22に予め記憶されているソフトウェアプログラムの1つとしてのファームウェア20と、シンクとしての、例えばパーソナルコンピュータ2のROM42に記憶されており、CPU41が処理するソフトウェアプログラムの1つとしてのライセンスマネージャ62との間において行われる。
【0066】
図4は、ソース(DVDプレーヤ1)と、シンク(パーソナルコンピュータ2)との間において行われる認証の手順を示している。DVDプレーヤ1のEEPROM27には、サービスキー(service_key)と関数(hash)が予め記憶されている。これらはいずれも著作権者から、このDVDプレーヤ1のユーザに与えられたものであり、各ユーザは、EEPROM27に、これを秘密裡に保管しておくものである。
【0067】
サービスキーは、著作権者が提供する情報毎に与えられるものであり、この1394バス11で構成されるシステムにおいて、共通のものである。なお、本明細書において、システムとは、複数の装置で構成される全体的な装置を示すものとする。
【0068】
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」に詳しく解説されている。
【0069】
一方、シンクとしての例えばパーソナルコンピュータ2は、著作権者から与えられた、自分自身に固有の識別番号(ID)とライセンスキー(license_key)をEEPROM50に秘密裡に保持している。このライセンスキーは、nビットのIDとmビットのサービスキーを連結して得たn+mビットのデータ(ID || service_key)に対して、hash関数を適用して得られる値である。すなわち、ライセンスキーは次式で表される。
licence_key=hash(ID || service_key)
【0070】
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台毎に異なるものとなり、各装置に固有のものとなる。
【0071】
ステップ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に伝送する。
【0072】
DVDプレーヤ1においては、ステップS4で1394インタフェース26が、このIDを受け取ると、このIDがCPU21で動作しているファームウェア20に供給される。
【0073】
ファームウェア20は、ステップS5において、パーソナルコンピュータ2から伝送を受けたIDと、EEPROM27に記憶されているサービスキーを連結して、連結データ(ID || service_key)を生成し、このデータに対して、次式に示すようにhash関数を適用して、キーlkを生成する。
lk=hash(ID || service_key)
【0074】
次に、ステップS6において、ファームウェア20は、暗号鍵skを生成する。この暗号鍵skの詳細については後述するが、この暗号鍵skは、セッションキーとしてDVDプレーヤ1とパーソナルコンピュータ2のそれぞれにおいて利用される。
【0075】
次に、ステップS7において、ファームウェア20は、ステップS5で生成した鍵lkを鍵として、ステップS6で生成した暗号鍵skを暗号化して、暗号化データ(暗号化鍵)eを得る。すなわち、次式を演算する。
e=Enc(lk, sk)
【0076】
なお、Enc(A,B)は、共通鍵暗号方式で、鍵Aを用いて、データBを暗号化することを意味する。
【0077】
次に、ステップ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)
【0078】
なお、ここで、Dec(A,B)は、共通鍵暗号方式で鍵Aを用いて、データBを復号することを意味する。
【0079】
なお、この共通鍵暗号方式における暗号化のアルゴリズムとしては、DESが知られている。共通鍵暗号化方式についても、上述した、Applied Cryptography(Second Edition)に詳しく解説されている。
【0080】
DVDプレーヤ1において、ステップS5で生成するキーlkは、パーソナルコンピュータ2のEEPROM50に記憶されている(license_key)と同一の値となる。すなわち、次式が成立する。
lk=license_key
【0081】
従って、パーソナルコンピュータ2において、ステップS10で復号して得たキーsk'は、DVDプレーヤ1において、ステップS6で生成した暗号鍵skと同一の値となる。すなわち、次式が成立する。
sk'=sk
【0082】
このように、DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク)の両方において、同一の鍵sk,sk'を共有することができる。そこで、この鍵skをそのまま暗号鍵として用いるか、あるいは、これを基にして、それぞれが疑似乱数を作り出し、それを暗号鍵として用いることができる。
【0083】
ライセンスキーは、上述したように、各装置に固有のIDと、提供する情報に対応するサービスキーに基づいて生成されているので、他の装置がskまたはsk'を生成することはできない。また、著作権者から認められていない装置は、ライセンスキーを有していないので、skあるいはsk'を生成することができない。従って、その後DVDプレーヤ1が暗号鍵skを用いて再生データを暗号化してパーソナルコンピュータ2に伝送した場合、パーソナルコンピュータ2が適正にライセンスキーを得たものである場合には、暗号鍵sk'を有しているので、DVDプレーヤ1より伝送されてきた、暗号化されている再生データを復号することができる。しかしながら、パーソナルコンピュータ2が適正なものでない場合、暗号鍵sk'を有していないので、伝送されてきた暗号化されている再生データを復号することができない。換言すれば、適正な装置だけが共通の暗号鍵sk,sk'を生成することができるので、結果的に、認証が行われることになる。
【0084】
仮に1台のパーソナルコンピュータ2のライセンスキーが盗まれたとしても、IDが1台1台異なるので、そのライセンスキーを用いて、他の装置がDVDプレーヤ1から伝送されてきた暗号化されているデータを復号することはできない。従って、安全性が向上する。
【0085】
ところで、何らかの理由により、不正なユーザが、暗号化データeと暗号鍵skを両方とも知ってしまったような場合のことを考える。この場合、eは、平文skを、鍵lkで暗号化した暗号文であるので、暗号アルゴリズムが公開されている場合、不正ユーザは、鍵lkを総当たりで試すことにより、正しい鍵lkを得る可能性がある。
【0086】
不正ユーザによるこの種の攻撃を、より困難にするためには、暗号アルゴリズムの一部または全部を一般に公開せずに秘密にしておくことができる。
【0087】
または同様に、license_keyから、service_keyを総当たりで調べる攻撃を、より困難にするために、hash関数の一部または全文を一般に公開せずに秘密にしておくようにすることもできる。
【0088】
図6は、ソース(DVDプレーヤ1)に対して、パーソナルコンピュータ2だけでなく、光磁気ディスク装置3もシンクとして機能する場合の処理例を表している。
【0089】
この場合、シンク1としてのパーソナルコンピュータ2のEEPROM50には、IDとしてID1が、また、ライセンスキーとしてlicense_key1が記憶されており、シンク2としての光磁気ディスク装置3においては、EEPROM37に、IDとしてID2が、また、ライセンスキーとしてlicense_key2が記憶されている。
【0090】
DVDプレーヤ1(ソース)とパーソナルコンピュータ2(シンク1)の間において行われるステップS11乃至ステップS20の処理は、図4におけるステップS1乃至ステップS10の処理と実質的に同様の処理であるので、その説明は省略する。
【0091】
すなわち、上述したようにして、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)
【0092】
さらに、ファームウェア20は、ステップS26で次式を演算し、ステップS16で生成した鍵skを、ステップS25で生成した鍵lk2を用いて暗号化し、暗号化したデータe2を生成する。
e2=Enc(lk2,sk)
【0093】
そして、ステップS27で、ファームウェア20は、この暗号化データe2を1394インタフェース26から1394バス11を介して光磁気ディスク装置3に伝送する。
【0094】
光磁気ディスク装置3においては、ステップS28で1394インタフェース36を介して、この暗号化データe2を受信し、ステップS29で次式を演算して、暗号鍵sk2’を生成する。
sk2’=Dec(license_key2,e2)
【0095】
以上のようにして、パーソナルコンピュータ2と光磁気ディスク装置3のそれぞれにおいて、暗号鍵sk1’,sk2’が得られたことになる。これらの値は、DVDプレーヤ1における暗号鍵skと同一の値となっている。
【0096】
図6の処理例においては、DVDプレーヤ1が、パーソナルコンピュータ2と、光磁気ディスク装置3に対して、それぞれ個別にIDを要求し、処理するようにしているのであるが、同報通信によりIDを要求することができる場合は、図7に示すような処理を行うことができる。
【0097】
すなわち、図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をそれぞれ受信する。
【0098】
DVDプレーヤ1においては、さらにステップS48で、次式から暗号鍵lk1を生成する。
lk1=hash(ID1 || service_key)
【0099】
さらに、ステップS49において、次式から暗号鍵lk2が生成される。
lk2=hash(ID2 || service_key)
【0100】
DVDプレーヤ1においては、さらにステップS50で、暗号鍵skが生成され、ステップS51で、次式で示すように、暗号鍵skが、鍵lk1を鍵として暗号化される。
e1=Enc(lk1,sk)
【0101】
さらに、ステップS52においては、暗号鍵skが、鍵lk2を鍵として、次式に従って暗号化される。
e2=Enc(lk2,sk)
【0102】
さらに、ステップS53においては、ID1,e1,ID2,e2が、それぞれ次式で示すように連結されて、暗号化データeが生成される。
e=ID1 || e1 || ID2 || e2
【0103】
DVDプレーヤ1においては、さらにステップS54で、以上のようにして生成された暗号化データeが同報通信で、パーソナルコンピュータ2と光磁気ディスク装置3に伝送される。
【0104】
パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS55またはステップS56で、これらの暗号化データeが受信される。そして、パーソナルコンピュータ2と光磁気ディスク装置3においては、それぞれステップS57またはステップS58において、次式で示す演算が行われ、暗号鍵sk1’,sk2’が生成される。
sk1’=Dec(license_key1,e1)
sk2’=Dec(license_key2,e2)
【0105】
図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における場合と同様である。
【0106】
図9は、さらに他の処理例を表している。この例においては、ソースとしてのDVDプレーヤ1が、そのEEPROM27に、service_key、hash関数、および疑似乱数発生関数pRNGを記憶している。これらは、著作権者から与えられたものであり、秘密裡に保管される。また、シンクとしてのパーソナルコンピュータ2のEEPROM50には、著作権者から与えられたID、LK,LK'、関数G、および疑似乱数数発生関数pRNGを有している。
【0107】
LKは、著作権者が作成したユニークな乱数であり、LK'は、次式を満足するように生成されている。
LK'=G^−1(R)
R=pRNG(H) (+) pRNG(LK)
H=hash(ID || service_key)
【0108】
なお、G^−1(^はべき乗を意味する)は、Gの逆関数を意味する。G^−1は、所定の規則を知っていれば、簡単に計算することができるが、知らない場合には、計算することが難しいような特徴を有している。このような関数としては、公開鍵暗号に用いられている関数を利用することができる。
【0109】
また、疑似乱数発生関数は、ハードウェアとして設けるようにすることも可能である。
【0110】
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)
【0111】
さらに、ファームウェア20は、ステップS106で鍵skを生成し、ステップS107で次式を演算する。
e=sk (+) pRNG(H)
【0112】
なお、A(+)Bは、AとBの排他的論理和の演算を意味する。
【0113】
すなわち、疑似ランダム発生キーpRNGにステップS105で求めたHを入力することで得られた結果、pRNG(H)と、ステップS106で生成した鍵skのビット毎の排他的論理和を演算することで、鍵SKを暗号化する。
【0114】
次に、ステップS108で、ファームウェア20は、eをパーソナルコンピュータ2に伝送する。
【0115】
パーソナルコンピュータ2においては、ステップS109でこれを受信し、ステップS110で、次式を演算する。
sk'=e (+) G(LK') (+) pRNG(LK)
【0116】
すなわち、DVDプレーヤ1から伝送されてきたe、EEPROM50に記憶されている関数Gに、やはりEEPROM50に記憶されているLK'を適用して得られる値G(LK')、並びに、EEPROM50に記憶されているLK'を、やはりEEPROM50に記憶されている疑似乱数発生関数pRNGに適用して得られる結果pRNG(LK)の排他的論理和を演算し、鍵sk'を得る。
【0117】
ここで、次式に示すように、sk=sk'となる。
【0118】
このようにして、ソースとしてのDVDプレーヤ1とシンクとしてのパーソナルコンピュータ2は、同一の鍵sk,sk'を共有することができる。LK,LK'を作ることができるのは、著作権者だけであるので、ソースが不正に、LK,LK'を作ろうとしても作ることができないので、より安全性を高めることができる。
【0119】
以上においては、ソースとシンクにおいて認証を行うようにしたが、例えばパーソナルコンピュータ2には、通常、任意のアプリケーションプログラムをロードして用いることができる。そして、このアプリケーションプログラムとしては、不正に作成したものが使用される場合もある。従って、各アプリケーションプログラム毎に、著作権者から許可を得たものであるか否かを判定する必要がある。そこで、図3に示すように、各アプリケーション部61とライセンスマネージャ62との間においても、上述したように、認証処理を行うようにすることができる。この場合、ライセンスマネージャ62がソースとなり、アプリケーション部61がシンクとなる。
【0120】
次に、以上のようにして、認証が行われた後(暗号鍵の共有が行われた後)、暗号鍵を用いて、ソースから暗号化したデータをシンクに転送し、シンクにおいて、この暗号化したデータを復号する場合の動作について説明する。
【0121】
図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つのセッション内において、頻繁に更新されるキーであり、例えば、所定のタイミングにおける時刻情報などを用いることができる。
【0122】
いま、ソースとしてのDVDプレーヤ1から再生出力した映像データを1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に伝送し、それぞれにおいて復号するものとする。この場合、DVDプレーヤ1においては、1394インタフェース26において、セッションキーSと時変キーiを用いて暗号化処理が行われる。光磁気ディスク装置3においては、1394インタフェース36において、セッションキーSと時変キーiを用いて復号処理が行われる。
【0123】
これに対して、パーソナルコンピュータ2においては、ライセンスマネージャ62が、セッションキーSのうち、初期値キーSsをアプリケーション部61に供給し、攪乱キーSiと時変キーi(正確には、時変キーiを生成するためのキーi’)を1394インタフェース49(リンク部分)に供給する。そして、1394インタフェース49において、攪乱キーSiとキーi’から時変キーiが生成され、時変キーiを用いて復号が行われ、その復号されたデータは、アプリケーション部61において、さらにセッションキーS(正確には、初期値キーSs)を用いて復号が行われる。
【0124】
このように、パーソナルコンピュータ2においては、内部バス51が、ユーザに解放されているので、1394インタフェース49により第1段階の復号だけを行い、まだ暗号の状態としておく。そして、アプリケーション部61において、さらに第2段階の復号を行い、平文にする。これにより、パーソナルコンピュータ2に対して、適宜、機能を付加して、内部バス51において授受されるデータ(平文)をハードディスク47や他の装置にコピーすることを禁止させる。
【0125】
このように、この発明の実施の形態においては、内部バスが解放されていないCE装置においては、暗号化、または復号処理は、セッションキーSと時変キーiを用いて1度に行われるが、内部バスが解放されている装置(パーソナルコンピュータ2など)においては、復号処理が、時変キーiを用いた復号処理と、セッションキーSを用いた復号処理に分けて行われる。このように、1段階の復号処理と、2段階に分けた復号処理の両方ができるようにするには、次式を成立させることが必要となる。
Dec(S,Dec(i, Enc(algo(S+i),Data)))=Data
【0126】
なお、上記式において、algo(S+i)は、所定のアルゴリズムにセッションキーSと時変キーiを入力して得られた結果を表している。
【0127】
図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に出力するようになされている。
【0128】
加算器74の加算処理は、mod 2^m(^はべき乗を意味する)で、シュリンクジェネレータ73の出力と平文を加算することを意味する。換言すれば、mビットのデータ同志が加算され、キャリオーバを無視した加算値が出力される。
【0129】
図12は、図11に示した1394インタフェース26のさらにより詳細な構成例を表している。ファームウェア20から出力されたセッションキーSのうち、初期値キーSsは、加算器81を介してレジスタ82に転送され、保持される。この初期値キーSsは、例えば、55ワード(1ワードは8ビット乃至32ビットの幅を有する)により構成される。また、ファームウェア20から供給されたセッションキーSのうちの、例えばLSB側の32ビットで構成される攪乱キーSiは、レジスタ85に保持される。
【0130】
レジスタ84には、キーi’が保持される。このキーi’は、例えば1394バス11を介して1個のパケットが伝送される毎に、2ビットのキーi’がレジスタ84に供給され、16パケット分の(32ビット分の)キーi’がレジスタ84に保持されたとき、加算器86により、レジスタ85に保持されている32ビットの攪乱キーSiと加算され、最終的な時変キーiとして加算器81に供給される。加算器81は、そのときレジスタ82に保持されている値と加算器86より供給された時変キーiを加算し、その加算結果をレジスタ82に供給し、保持させる。
【0131】
レジスタ82のワードのビット数が、例えば8ビットである場合、加算器86より出力される時変キーiが32ビットであるので、時変キーiを4分割して、各8ビットをレジスタ82の所定のアドレス(0乃至54)のワードに加算するようにする。
【0132】
このようにして、レジスタ82には、最初に初期値キーSsが保持されるが、その後、この値は、16パケット分の暗号文を伝送する毎に、時変キーiで更新される。
【0133】
加算器83は、レジスタ82に保持されている55ワードのうちの所定の2ワード(図12に示されているタイミングの場合、アドレス23とアドレス54のワード)を選択し、その選択した2ワードを加算して、シュリンクジェネレータ73に出力する。また、この加算器73の出力は、図12に示すタイミングでは、レジスタ82のアドレス0に転送され、前の保持値に代えて保持される。
【0134】
そして、次のタイミングにおいては、加算器83に供給されるレジスタ82の2ワードのアドレスは、アドレス54とアドレス23から、それぞれアドレス53とアドレス22に、1ワード分だけ、図中上方に移動され、加算器83の出力で更新されるアドレスも、図中、より上方のアドレスに移動される。ただし、アドレス0より上方のアドレスは存在しないので、この場合には、アドレス54に移動する。
【0135】
なお、加算器81,83,86では、排他的論理和を演算させるようにすることも可能である。
【0136】
LFSR72は、例えば、図13に示すように、nビットのシフトレジスタ101と、シフトレジスタ101のnビットのうちの所定のビット(レジスタ)の値を加算する加算器102により構成されている。シフトレジスタ101は、加算器102より供給されるビットを、図中最も左側のレジスタbnに保持すると、それまでそこに保持されていたデータを右側のレジスタbn-1にシフトする。レジスタbn-1,bn-2,・・・も、同様の処理を行う。そして、さらに次のタイミングでは、各ビットの値を加算器102で加算した値を再び、図中最も左側のビットbnに保持させる。以上の動作が順次繰り返されて、図中最も右側のレジスタb1から出力が1ビットずつ順次出力される。
【0137】
図13は、一般的な構成例であるが、例えば、より具体的には、LFSR72を図14に示すように構成することができる。この構成例においては、シフトレジスタ101が31ビットにより構成され、その図中右端のレジスタb1の値と左端のレジスタb31の値が、加算器102で加算され、加算された結果がレジスタb31に帰還されるようになされている。
【0138】
LFSR72より出力された1ビットのデータが論理1であるとき、条件判定部91は、アディティブジェネレータ71の加算器83より供給されたmビットのデータをそのままFIFO92に転送し、保持させる。これに対して、LFSR72より供給された1ビットのデータが論理0であるとき、条件判定部91は、加算器83より供給されたmビットのデータを受け付けず、暗号化処理を中断させる。このようにして、シュリンクジェネレータ73のFIFO92には、アディティブジェネレータ71で生成したmビットのデータのうち、LFSR72が論理1を出力したタイミングのもののみが選択され、保持される。
【0139】
FIFO92により保持したmビットのデータが、暗号鍵として、加算器74に供給され、伝送されるべき平文のデータ(DVDからの再生データ)に加算されて、暗号文が生成される。
【0140】
暗号化されたデータは、DVDプレーヤ1から1394バス11を介して光磁気ディスク装置3とパーソナルコンピュータ2に供給される。
【0141】
光磁気ディスク装置3は、1394インタフェース36において、1394バス11から受信したデータを復号するために、図15に示すような構成を有している。この構成例においては、シュリンクジェネレータ173にアディティブジェネレータ171の出力するmビットのデータと、LFSR172が出力する1ビットのデータが供給されている。そして、シュリンクジェネレータ173の出力するmビットの鍵が、減算器174に供給されている。減算器174は、暗号文からシュリンクジェネレータ173より供給される鍵を減算して、平文を復号する。
【0142】
すなわち、図15に示す構成は、図11に示す構成と基本的に同様の構成とされており、図11における加算器74が、減算器174に変更されている点だけが異なっている。
【0143】
図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に対応している。
【0144】
従って、その動作は、基本的に図12に示した場合と同様であるので、その説明は省略するが、図16の例においては、シュリンクジェネレータ173のFIFO192より出力されたmビットの鍵が、減算器174において、暗号文から減算されて平文が復号される。
【0145】
以上のように、1394インタフェース36においては、セッションキーS(初期値キーSsと攪乱キーSi)と時変キーiを用いて、暗号化データが1度に復号される。
【0146】
これに対して、上述したように、パーソナルコンピュータ2においては、1394インタフェース49とアプリケーション部61において、それぞれ個別に、2段階に分けて復号が行われる。
【0147】
図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である単位元が供給される。
【0148】
すなわち、図18に示すように、初期値キーSsの全てのビットが0とされるので、実質的に、初期値キーSsが存在しない場合と同様に、時変キーiだけに基づいて暗号鍵が生成される。その結果、減算器274においては、暗号文の時変キーiに基づく復号だけが行われる。まだ初期値キーSsに基づく復号が行われていないので、この復号の結果得られるデータは、完全な平文とはなっておらず、暗号文の状態になっている。従って、このデータを内部バス51から取り込み、ハードディスク47や、その他の記録媒体に記録したとしても、それをそのまま利用することができない。
【0149】
そして、以上のようにして、1394インタフェース49において、ハード的に時変キーiに基づいて復号されたデータをソフト的に復号するアプリケーション部61の構成は、図19に示すように、アディティブジェネレータ371、LFSR372、シュリンクジェネレータ373および減算器374により構成される。その基本的構成は、図15に示したアディティブジェネレータ171、LFSR172、シュリンクジェネレータ173、および減算器174と同様の構成となっている。
【0150】
ただし、セッションキーSのうち、初期値キーSsは、図15における場合と同様に、通常の初期値キーが供給されるが、時変キーiを生成するための攪乱キーSiとキーi’は、それぞれ全てのビットが0である単位元のデータとされる。
【0151】
その結果、図20にその詳細を示すように(そのアディティブジェネレータ371乃至FIFO392は、図16におけるアディティブジェネレータ171乃至FIFO192に対応している)、レジスタ384に保持されるキーi’とレジスタ385に保持される攪乱キーSiは、全てのビットが0であるため、加算器386の出力する時変キーiも全てのビットが0となり、実質的に時変キーiが存在しない場合と同様の動作が行われる。すなわち、初期値キーSsだけに基づく暗号鍵が生成される。そして、減算器374においては、このようにして生成された暗号鍵に基づいて暗号文が平文に復号される。上述したように、この暗号文は、1394インタフェース49において、時変キーiに基づいて第1段階の復号が行われているものであるので、ここで、初期値キーSsに基づいて第2段階の復号を行うことで、完全な平文を得ることができる。
【0152】
光磁気ディスク装置3においては、以上のようにして暗号文が復号されると、CPU31が、復号されたデータをドライブ35に供給し、光磁気ディスクに記録させる。
【0153】
一方、パーソナルコンピュータ2においては、CPU41(アプリケーション部61)が、以上のようにして復号されたデータを、例えばハードディスク47に供給し、記録させる。パーソナルコンピュータ2においては、拡張ボード48として所定のボードを接続して、内部バス51で授受されるデータをモニタすることができるが、内部バス51に伝送されるデータを最終的に復号することができるのは、アプリケーション部61であるので、拡張ボード48は、1394インタフェース49で、時変キーiに基づく復号が行われたデータ(まだ、セッションキーSに基づく復号が行われていないデータ)をモニタすることができたとしても、完全に平文に戻されたデータをモニタすることはできない。そこで、不正なコピーが防止される。
【0154】
なお、セッションキーの共有は、例えば、Diffie-Hellman法などを用いて行うようにすることも可能である。
【0155】
なお、この他、例えばパーソナルコンピュータ2における1394インタフェース49またはアプリケーション部61の処理能力が比較的低く、復号処理を行うことができない場合には、セッションキーと時変キーのいずれか、あるいは両方をソース側において、単位元で構成するようにし、シンク側においても、これらを単位元で用いるようにすれば、実施的にセッションキーと時変キーを使用しないで、データの授受が可能となる。ただし、そのようにすれば、データが不正にコピーされるおそれが高くなる。
【0156】
アプリケーション部61そのものが、不正にコピーしたものである場合、復号したデータが不正にコピーされてしまう恐れがあるが、上述したようにアプリケーション部61をライセンスマネージャ62で認証するようにすれば、これを防止することが可能である。
【0157】
この場合の認証方法としては、共通鍵暗号方式の他、公開鍵暗号方式を用いたデジタル署名を利用することができる。
【0158】
以上の図11、図12、図15乃至図20に示す構成は、準同形(homomorphism)の関係を満足するものとなっている。すなわち、キーK1,K2がガロアフィールドGの要素であるとき、両者の群演算の結果、K1・K2もガロアフィールドGの要素となる。そして、さらに、所定の関数Hについて次式が成立する。
H(K1・K2)=H(K1)・H(K2)
【0159】
図21は、さらに1394インタフェース26の他の構成例を表している。この構成例においては、セッションキーSがLFSR501乃至503に供給され、初期設定されるようになされている。LFSR501乃至503の幅n1乃至n3は、それぞれ20ビット程度で、それぞれの幅n1乃至n3は、相互に素になるように構成される。従って、例えば、セッションキーSのうち、例えば、上位n1ビットがLFSR501に初期設定され、次の上位n2ビットがLFSR502に初期設定され、さらに次の上位n3ビットがLFSR503に初期設定される。
【0160】
LFSR501乃至503は、クロッキングファンクション506より、例えば論理1のイネーブル信号が入力されたとき、mビットだけシフト動作を行い、mビットのデータを出力する。mの値は、例えば、8,16,32,40などとすることができる。
【0161】
LFSR501とLFSR502の出力は、加算器504に入力され、加算される。加算器504の加算値のうち、キャリー成分は、クロッキングファンクション506に供給され、sum成分は、加算器505に供給され、LFSR503の出力と加算される。加算器505のキャリー成分は、クロッキングファンクション506に供給され、sum成分は、排他的論理和回路508に供給される。
【0162】
クロッキングファンクション506は、加算器504と加算器505より供給されるデータの組み合わせが、00,01,10,11のいずれかであるので、これらに対応して、LFSR501乃至503に対して、000乃至111のいずれか1つの組み合わせのデータを出力する。LFSR501乃至503は、論理1が入力されたとき、mビットのシフト動作を行い、新たなmビットのデータを出力し、論理0が入力されたとき、前回出力した場合と同一のmビットのデータを出力する。
【0163】
排他的論理和回路508は、加算器505の出力するsum成分とレジスタ507に保持された時変キーiの排他的論理和を演算し、その演算結果を排他的論理和回路509に出力する。排他的論理和回路509は、入力された平文と、排他的論理和回路508より入力された暗号鍵の排他的論理和を演算し、演算結果を暗号文として出力する。
【0164】
図22は、光磁気ディスク装置3における1394インタフェース36の構成例を表している。この構成例におけるLFSR601乃至排他的論理和回路609は、図21におけるLFSR501乃至排他的論理和回路509と同様の構成とされている。従って、その動作も、基本的に同様となるので、その説明は省略する。ただし、図21の構成例においては、暗号化処理が行われるのに対して、図22の構成例においては、復号処理が行われる。
【0165】
図23は、パーソナルコンピュータ2の1394インタフェース49の構成例を表している。この構成例におけるLFSR701乃至排他的論理和回路709も、図22における、LFSR601乃至排他的論理和回路609と同様の構成とされている。ただし、LFSR701乃至703に初期設定されるセッションキーSは、全てのビットが0の単位元とされている。従って、この場合、実質的にレジスタ707に保持された時変キーiだけに対応して復号化処理が行われる。
【0166】
図24は、パーソナルコンピュータ2のアプリケーション部61の構成例を表している。この構成例におけるLFSR801乃至排他的論理和回路809は、図22における、LFSR601乃至排他的論理和回路609と基本的に同様の構成とされている。ただし、レジスタ807に入力される時変キーiが、全てのビットが0である単位元とされている点のみが異なっている。従って、この構成例の場合、セッションキーSだけに基づいて暗号鍵が生成され、復号処理が行われる。
【0167】
なお、図19、図20、および図24に示す処理は、アプリケーション部61において行われるので、ソフト的に処理されるものである。
【0168】
ところで、何らかの理由でlicense_keyが盗まれてしまったような場合には、適宜、これを変更(更新)するようにすることができる。勿論、このlicense_keyが実際に盗まれなくても、盗まれるおそれがある場合には、所定の周期で、これを更新するようにすることができる。この場合、例えば、DVD(ディスク)内に、そのとき有効とされるlicense_keyのバージョン(この実施の形態の場合、hash関数の適用回数)が記録される。また、対象となる操作が、DVDプレーヤではなく、例えば衛星を介して伝送されてくる情報を受信する受信装置である場合には、衛星から、そのバージョンの情報が受信装置に向けて伝送される。
【0169】
図25と図26は、DVDプレーヤにおいて、license_keyを更新する場合の処理例を表している。なお、この実施の形態の場合には、図4に示した情報が、DVDプレーヤ1のEEPROM27とパーソナルコンピュータ2のEEPROM50に記憶されている他、EEPROM50にはhash関数も記憶されている。
【0170】
最初に、ステップS151において、ソースとしてのDVDプレーヤ1は、シンクとしてのパーソナルコンピュータ2に対して、IDを要求する。パーソナルコンピュータ2は、ステップS152で、このID要求信号を受け取ると、ステップS153で、自分自身のIDをDVDプレーヤ1に送出する。DVDプレーヤ1は、ステップS154で、このIDを受信する。
【0171】
次に、DVDプレーヤ1は、ステップS155で、次式から鍵lkを演算する。
lk=hash(ID || service_key)
【0172】
以上の処理は、図4のステップS1乃至S5の処理と同様の処理である。
【0173】
次に、ステップS156に進み、DVDプレーヤ1は、ステップS155で演算した鍵lkが有効なバージョンのものであるか否かを判定する。すなわち、上述したように、DVDには、現在有効なlicense_key(=lk)のバージョン(hash関数の適用回数)が記録されている。ステップS155で生成した鍵lkは、hash関数を1回適用して求めたものである。このhash関数の適用回数がバージョンで規定されている回数と等しくない場合、鍵lkは無効と判定される。この場合、ステップS157に進み、DVDプレーヤ1は、更新回数(演算回数)を示す変数gに1を初期設定し、lkgにlkを設定する。そして、ステップS158において、現在の鍵lkgにhash関数を1回適用し、新たな鍵lkg+1を演算する。すなわち、次式を演算する。
lkg+1=hash(lkg)
【0174】
ステップS159では、ステップS158で求められた鍵lkg+1が有効であるか否かを判定する。すなわち、バージョンに規定された回数と同一の回数だけhash関数を適用したか否かを判定する。適用回数がバージョンに規定されている回数に達していないとき、ステップS160に進み、DVDプレーヤ1は、変数gを1だけインクリメントする。そして、ステップS158に戻り、再び現在の鍵lkgにhash関数を適用し、演算する。
【0175】
以上のようにして、バージョンに規定されている回数とhash関数を適用した回数が等しくなるまで、同様の処理が繰り返し実行される。
【0176】
なお、この繰り返し回数には、例えば100回など上限値を設けるようにしてもよい。
【0177】
ステップS159で、バージョンに対応する回数だけhash関数が適用されたと判定された場合(有効な鍵lkg+1が得られたと判定された場合)、並びに、ステップS156で、鍵lkが有効であると判定された場合、ステップS161に進み、上述した場合と同様にして、暗号鍵skを生成する。ステップS162では、ステップS155またはステップS158で生成した鍵lkgを鍵として、暗号鍵skを暗号化する。すなわち、次式を演算する。
e=Enc(lkg,sk)
【0178】
次に、ステップS163において、DVDプレーヤ1は、パーソナルコンピュータ2に対して、ステップS162で暗号化したデータeと、hash関数の適用回数を表す変数gを伝送する。パーソナルコンピュータ2においては、ステップS164でこれを受信すると、ステップS165で、パーソナルコンピュータ2におけるhash関数の適用回数を表す変数wに1を初期設定する。次に、ステップS166に進み、ステップS164で受信した変数gと、ステップS165で設定した変数wの値が等しいか否かを判定する。両者が等しくない場合、ステップS167に進み、パーソナルコンピュータ2のEEPROM50に記憶されているlicense_keyにhash関数を適用して、新たなlicense_keyw+1を次式から求める。
license_keyw+1=hash(license_keyw)
【0179】
次に、ステップS168に進み、wを1だけインクリメントして、ステップS166に戻る。ステップS166で再び変数gと変数wが等しいか否かを判定し、両者が等しいと判定されるまで、ステップS167,S168の処理が繰り返し実行される。
【0180】
ステップS166で、変数gが変数wと等しいと判定された場合(現在有効なlicense_keywが得られた場合)、ステップS169に進み、次式から暗号鍵sk'が演算される。
sk'=Dec(license_keyw,e)
【0181】
以上のように、license_key(=lk)を適宜更新するようにすれば、より安全性を高めることができる。
【0182】
なお、図25と図26に示した処理例の場合、バージョンを表す変数gをソース側からシンク側に伝送するようにしたが、これを伝送しないで、license_keyを更新することも可能である。この場合、図25の処理に続いて、図27に示す処理が実行される。
【0183】
すなわち、この例の場合、ステップS163で、DVDプレーヤ1からパーソナルコンピュータ2に対して、暗号化データeだけが伝送され、バージョンを表す変数gは伝送されない。ステップS164で、パーソナルコンピュータ2がこの暗号化データeを受信すると、ステップS165で、この暗号化データeをlicense_keyを用いて復号する処理が、次式で示すように実行される。
sk'=Dec(license_key,e)
【0184】
また、ステップS166で、DVDプレーヤ1は、ステップS161で生成した暗号鍵skを用いて、送出するデータを暗号化し、伝送する。パーソナルコンピュータ2は、ステップS167でこれを受信すると、ステップS168で、ステップS165で求めた暗号鍵sk'を用いて、復号する処理を実行する。次に、ステップS169で、復号した結果得られたデータが正しいか否かを判定する。この判定は、例えばMPEG方式のTS(Transport Stream)パケットが受信されている場合には、そのヘッダ部分に、同期合わせのためのコード(16進表示で47)が挿入されているので、このコードが完全であるか否かをチェックすることで行うことができる。
【0185】
正しい復号ができなかった場合には、ステップS170に進み、パーソナルコンピュータ2は、次式に従って、license_keyを更新する。
license_key=hash(license_key)
【0186】
次に、ステップS171に進み、ステップS170で求めたlicense_keyを鍵として、ステップS164で受信した暗号化データeを、次式に従って復号する。
sk'=Dec(license_key,e)
【0187】
そして、ステップS168に戻り、ステップS171で求めた暗号鍵sk'を用いて、ステップS167で受信した暗号化されているデータを復号する。ステップS169では、正しい復号が行われたか否かを再び判定する。以上のようにして、ステップS169で正しい復号が行われたと判定されるまで、ステップS170,S171,S168の処理が繰り返し実行される。
【0188】
以上のようにしても、license_keyを更新することができる。
【0189】
また、ソース側における暗号鍵の生成処理とシンク側における復号鍵(暗号鍵)の生成処理は、それぞれ処理対象とするデータと同期を取る必要がある。
【0190】
例えば、図21に示すソース側の1394インタフェース26において、LFSR501乃至排他的論理和回路508で生成する暗号鍵と、これを用いて暗号化するデータとしての平文の位相関係が、図22に示すシンク側の1394インタフェース36において、LFSR601乃至排他的論理和回路608で生成される暗号鍵と、この暗号鍵を用いて復号される暗号文の位相関係と一致している必要がある。そこで、図示は省略しているが、図21の1394インタフェース26においては、入力される平文に同期して暗号鍵が生成されるようになされており、また、図22の1394インタフェース36においては、入力される暗号文に同期して、暗号鍵が生成されるようになされてる。
【0191】
従って、例えばソース側から1394バス11を介してシンク側に送出された暗号文を構成するパケットや所定のビットが何らかの理由で欠落してしまったような場合、ソース側における平文と暗号鍵の位相に対応する位相を、シンク側の暗号文と暗号鍵において保持することができなくなる。そこで、両者の位相関係が所定のタイミングで確実に更新される(初期化される)ようにすることができる。図28は、このような処理を行う場合の構成例を表している。
【0192】
すなわち、この構成例においては、排他的論理和回路901が、乱数発生器903が発生する乱数と、入力される平文の排他的論理和を演算し、排他的論理和回路904と演算回路902に出力するようになされている。演算回路902にはまた、セッションキーSも入力されている。演算回路902は、セッションキーSと排他的論理和回路901の出力Ciに対して、所定の演算を施して、その演算結果を乱数発生器903に出力するようになされている。
【0193】
排他的論理和回路904は、排他的論理和回路901より入力されたデータと、時変キーiの排他的論理和を演算し、暗号文として1394バス11に出力するようになされている。
【0194】
同様に、シンク側においては、排他的論理和回路911が1394バス11を介して入力される暗号文と、時変キーiの排他的論理和を演算し、排他的論理和回路912と演算回路913に出力している。演算回路913には、セッションキーSも入力されている。演算回路913は、排他的論理和回路911からの入力Ciと、セッションキーSに対して所定の演算を施して、その演算結果を乱数発生器914に出力している。乱数発生器914は、演算回路913から入力される値を初期値として乱数を発生し、発生した乱数を排他的論理和回路912に出力している。排他的論理和回路912は、排他的論理和回路911より供給される暗号文と、乱数発生器914より入力される乱数との排他的論理和を演算し、暗号文を復号して平文として出力するようになされている。
【0195】
乱数発生器903は、例えば図29に示すように、LFSR931乃至クロッキングファンクション936により構成されている。これらは、図21に示したLFSR501乃至クロッキングファンクション506と同様の構成とされている。
【0196】
なお、図示は省略するが、シンク側の乱数発生器914も、図29に示した構成と同様に構成されている。
【0197】
また、ソース側の演算回路902とシンク側の演算回路913は、それぞれ図30のフローチャートに示すような処理を実行するように構成されている。
【0198】
次に、その動作について説明する。
【0199】
ソース側の演算回路902は、排他的論理和回路901からの入力Ciに、所定の関数fを適用して、Viを演算する機能、すなわち、次式を演算する機能を有している。
Vi=f(S,Ci)
【0200】
ステップS201では、上記式におけるCiに0を初期設定して次式が演算される。
V0=f(S,0)
【0201】
演算回路902は、ステップS201で演算した値を、ステップS202で乱数発生器903に出力する。乱数発生器903では、演算回路902の出力V0が、LFSR931乃至933に入力され、初期設定される。そして、図21に示した場合と同様にして、乱数が生成され、加算器935から出力される。この乱数が排他的論理和回路901に供給される。
【0202】
排他的論理和回路901は、この乱数と入力された平文との排他的論理和を演算し、演算結果Ciを演算回路902に供給する。
【0203】
演算回路902においては、次に、ステップS203において、変数iに1が初期設定され、ステップS204において、排他的論理和回路901から入力されたデータがCiに設定される。
【0204】
次に、ステップS205に進み、演算回路902は、次式を演算する。
Vi=f(S,Ci)+Vi-1
【0205】
いまの場合、i=1であるから、次式が演算される。
V1=f(S,C1)+V0
【0206】
次に、ステップS206に進み、いま取り込まれたデータCiが予め設定してある所定の値Tと等しいか否かが判定される。両者の値が等しくない場合、ステップS207に進み、変数iが1だけインクリメントされた後、ステップS204に戻る。すなわち、いまの場合、i=2とされ、次に入力されたデータがC2に設定される。
【0207】
次に、ステップS205で次式が演算される。
V2=f(S,C2)+V1
【0208】
ステップS206では、C2の値が所定の値Tと等しいか否かが判定され、等しくなければ、ステップS207に進み、変数iが1だけインクリメントされ、再びステップS204以降の処理が実行される。
【0209】
ステップS206において、Ciの値が所定の値Tと等しいと判定された場合、ステップS208に進み、ステップS205で演算された値Viが乱数発生器903に出力される。乱数発生器903では、ステップS202で説明した場合と同様に、この値がLFSR931乃至933に初期値として設定される。そして、この初期値に対応する乱数が加算器935から出力される。
【0210】
演算回路902は、Viを乱数発生器903に出力した後、ステップS203に戻り、変数iを1に初期設定した後、それ以降の処理を繰り返し実行する。
【0211】
いま、例えばTの値が8ビットで表されるものとし、Ciの値は、その発生確率が均等であるとすると、256(=28)回に1回の割合で、Ciの値はTと等しくなることになる。従って、乱数発生器903の発生する乱数は、256回に1回の割合で初期化(更新)されることになる。
【0212】
排他的論理和回路901より出力されたデータは、排他的論理和回路904に入力され、時変キーiとの排他的論理和が演算された後、暗号文として1394バス11に出力される。
【0213】
シンク側においては、排他的論理和回路911が、1394バス11を介して入力された暗号文と、時変キーiの排他的論理和を演算し、その演算結果Ciを、演算回路913に出力している。演算回路913は、上述したソース側の演算回路902と同様の処理を実行し、256回に1回の割合で、乱数発生器914に初期値Viを供給する。乱数発生器914は、入力された値Viを初期値として乱数を発生し、発生した乱数を排他的論理和回路912に出力する。排他的論理和回路912は、入力された乱数と、排他的論理和回路911より入力された暗号化されているデータとの排他的論理和を演算し、演算結果を平文として出力する。
【0214】
このように、演算回路913は、排他的論理和回路911が暗号データを256回出力すると1回の割合で初期値を発生する。従って、シンク側に1394バス11を介して入力される暗号データに欠落が生じたとしても、シンク側の暗号文と乱数の位相関係は、暗号データ256個に1個の割合で初期化されるため、その時点で位相関係が回復することになる。
【0215】
なお、演算回路902または演算回路913が初期値を出力するのは、T=Ciとなった場合であるから、256回に1回の割合で定期的に初期値が出力されるのではなく、平均すると確率的にそのようになるにすぎない。
【0216】
なお、送信または受信した暗号データの数をカウントして、同様の処理を実行させるようにすることも可能であるが、そのようにすると、1394バス11上でデータが欠落すると、ソース側におけるデータのカウント値とシンク側におけるデータのカウント値とが異なる値となってしまい、結局、両者の同期を取ることができなくなってしまう。そこで、上記した実施の形態のようにするのが好ましい。
【0217】
また、乱数発生器903または乱数発生器914に供給する初期値としては、排他的論理和回路901または911の出力するデータCiをそのまま利用することも可能である。しかしながら、このデータCiは、1394バス11上を伝送されるデータであり、盗まれるおそれがある。そこで、データCiを初期値として直接利用せず、これに対して所定の演算を施すことによって生成された値Viを初期値とするようにすれば、より安全性を高めることができる。
【0218】
ところで、IEEE1394バス11のデータ転送方式には、asynchronous転送とisochronous転送の2つの方法がある。このうちのasynchronous転送は、2つの機器間での1対1の転送であり、isochronous転送は、1つの機器から1394バス11上のすべての機器に対する同報通信であると考えることができる。従って、例えば図4などに示した認証、鍵共有プロトコルの通信は、同報する必要がないので、asynchronous転送で行われるのが普通である。
【0219】
いま、図4の認証、鍵共有プロトコルにおいて、例えばパーソナルコンピュータ2が不正な機器で、license_keyを持っていない場合にも、DVDプレーヤ1からeを送ってもらうことができる。ここでeは、セッションキーskを鍵lkで暗号化した暗号文である。不正な機器であるパーソナルコンピュータ2は、license_keyを持っていないので、eを復号して正しいskを得ることはできないが、eが暗号解読に用いられるおそれがある。
【0220】
なんらかの理由によりパーソナルコンピュータ2がセッションキーskを得た場合には、平文skと鍵lkを用いて暗号化した暗号文eの両方を手に入れたことになる。その結果、これらが暗号解読に用いられるおそれがある。さらにいえば、攻撃者が平文と暗号文の組をたくさん知るほど、一般的に暗号解読が容易になる。
【0221】
また、不正なパーソナルコンピュータ2がIDをDVDプレーヤ1に教える際に、虚偽のIDを教えると、DVDプレーヤ1は、この虚偽のIDに基づいて鍵lkを計算し、これに基づいてセッションキーskを暗号化して送り返してしまう。このような操作を繰り返すことにより、パーソナルコンピュータ2は、ひとつの平文skを複数の暗号鍵lkでそれぞれ暗号化した、複数の暗号文eを手に入れることができることになる。
【0222】
図31は、この点を考慮して、シンク機器が不正な機器であった場合には、あるセッションキーskを鍵lkで暗号化した暗号文eが2つ以上は、そのシンク機器にわたらないようにする処理例を表している。この図31における処理は、基本的に、図4に示した処理と同様であるが、ソース機器がシンク機器に対してIDを要求する以前に、いくつかの処理が設けられている。
【0223】
すなわち、図31の処理例においては、ステップS201において、シンク機器としてのパーソナルコンピュータ2が、ソース機器としてのDVDプレーヤ1に対して認証プロトコルの開始を要求する認証要求を転送する。この認証要求は、プロトコルの他の転送と同様に、asynchronous転送によって行われる。
【0224】
IEEE1394バス11では、それに接続されているそれぞれの機器が、バスリセット時に固有のノード番号が割り当てられ、各機器は、このノード番号によって、送信機器、受信機器の指定、識別を行うようにしている。
【0225】
図32は、asynchronousパケットのひとつである、write request for data quadletパケットのフォーマットを示している。同図におけるdestination_IDは、受信機器のノード番号を示し、source_IDは、送信機器のノード番号を示している。認証要求を表すパケットでは、quadlet_dataの位置に、あらかじめ定められた認証要求を表すデータが挿入される。
【0226】
DVDプレーヤ1は、ステップS202で認証要求を表すasynchronousパケットを受け取ると、そのパケットを送信した機器のノード番号であるsource_IDを読み取る。そして、ステップS203において、DVDプレーヤ1は、現在のセッションキーskに関して、このノード番号の機器に対して、暗号文eを既に送っているか否かを判定する。暗号文eを既に送ったことがある場合には、DVDプレーヤ1は、パーソナルコンピュータ2に対する認証プロトコルの処理を終了する。これに対して、パーソナルコンピュータ2に対して、まだ暗号文eをまだ送信したことがない場合には、さらにステップS204以降の認証プロトコルが実行される。
【0227】
このステップS204乃至ステップS213の処理は、図4におけるステップS1乃至ステップS10の処理と同様の処理である。
【0228】
このような処理が行われた後、DVDプレーヤ1は、ステップS214において、ステップS213で読み取ったパーソナルコンピュータ2のノード番号を、EEPROM27に記憶する。このノード番号は、DVDプレーヤ1が現在のセッションキーskを使い続ける限り保存される。そして、セッションキーskを変更するとき、消去される。
【0229】
以上のようにすることにより、ひとつのシンク機器がひとつのセッションキーskについて得られる暗号文eの数は高々ひとつであるプロトコルを構成することができる。これにより、より安全性を高めることが可能となる。
【0230】
ところで、図4の認証プロトコルのステップS7においては、ソース機器がシンク機器に対して送るべきセッションキーskを鍵lkを用いて暗号化し、eを生成している。この暗号アルゴリズムのうちで広く用いられているものにブロック暗号がある。このブロック暗号は、平文の一定の長さのブロックを単位として暗号化処理を行うものであり、よく知られているものとして、DES暗号がある。このDES暗号は、平文の64ビットのブロックを64ビットの暗号文に変換する暗号アルゴリズムである。
【0231】
いま、図4のステップS7において、使用する暗号アルゴリズムをnビットの平文をnビットの暗号文に変換するnビットブロック暗号とし、セッションキーskのビット長をnビットとする。また、nビットのセッションキーskを、この暗号アルゴリズムに入力し、鍵lkを用いて変換された結果のnビットを、そのままeとするものとする。
【0232】
この場合、ソース機器が所定のシンク機器に対して、以前に使用したことのあるセッションキーskを送ろうとした場合、暗号アルゴリズムの入力と鍵が同一であるため、eも以前使われたものと同じになり、例えばeを盗聴した不正者に、以前と同じセッションキーskが使われているという情報を与えてしまうことになる。
【0233】
図33は、この点を考慮した認証プロトコルの例を表している。図33におけるステップS221乃至ステップS226までの処理は、図4におけるステップS1乃至ステップS6の処理と同様の処理であるので、ここではその説明を省略する。
【0234】
ステップS227において、ソース機器はnビットの乱数rを生成し、ステップS228において、次式に従って、暗号rとセッションキーskの連結を鍵lkで暗号化する。
e=Enc(lk r || sk)
【0235】
このとき、CBCモードという暗号モードが用いられる。図34は、このCBCモードの構成を表している。同図において、左側半分が暗号化処理を、右側半分が復号化処理を、それぞれ表している。レジスタ1003とレジスタ1012には、同一の値の初期値IVが格納されている。この初期値IVは、システム全体で固定されている。
【0236】
暗号化処理においては、まず、平文のnビットの第1ブロックがレジスタ1003の値IVと排他的論理和演算回路1001において排他的論理和演算され、その結果が暗号器1002に入力される。暗号器1002のnビットの暗号文は、第1ブロックとして通信路に送信されるとともに、レジスタ1003に格納される。
【0237】
平文のnビットの第2ブロックが入力されると、この第2ブロックは、レジスタ1003に格納されているnビットの暗号文の第1ブロックと排他的論理和回路1001において排他的論理和演算される。その演算結果は、暗号器1002に入力され、暗号化される。暗号器1002の出力するnビットの暗号文は、第2ブロックの暗号文として通信路に送信されるとともに、レジスタ1003に格納される。以上の処理が繰り返し実行される。
【0238】
一方、復号側においては、通信路を介して伝送されてきた暗号文の第1ブロックが復号器1011により復号され、排他的論理和回路1013において、レジスタ1002に保持されている初期値IVと排他的論理和演算され、平文の第1ブロックが生成される。
【0239】
通信路を介して伝送されてきた第1ブロックの暗号文は、レジスタ1012に保持される。そして、通信路を介して第2ブロックの暗号文が供給されてきたとき、復号器1011が、この第2ブロックの暗号文を復号し、排他的論理和回路1013に供給する。排他的論理和回路1013は、復号器1011の出力する第2ブロックの復号結果とレジスタ1002に保持されている第1ブロックの暗号文との排他的論理和を演算し、第2ブロックの平文を生成する。
【0240】
第2ブロックの暗号文はまた、レジスタ1012に保持される。
【0241】
以上のような処理が繰り返し実行され、復号化処理が行われる。
【0242】
なお、CBCモードに関しては、Bruce Schneier著のApplied Cryptography (Second edition)に詳述されている。
【0243】
図33に戻って、ステップS228においては、nビットの乱数rを平文の第1ブロックとし、セッションキーskを平文の第2ブロックとして暗号プロトコルに入力する。従って、第1ブロックの乱数rは、レジスタ1003に保持されている初期値IVと排他的論理和演算された後、暗号器1002で鍵lkを用いて暗号化される。従って、暗号器1002から、Enc( lk, r(+)IV ) が出力される。
【0244】
この暗号器1002の出力がレジスタ1003に保持され、第2ブロックの平文としてのセッションキーskが入力されてきたとき、排他的論理和回路1001で排他的論理和が演算される。従って、このとき、暗号器1002の出力は、Enc( lk, sk(+)Enc( lk,r(+)IV )) となる。
【0245】
ソース機器は、ステップS229において、2つのブロックの連結を次式で示すように演算し、シンク機器に送信する。
e=Enc( lk, r(+)IV ) || Enc( lk, sk(+)Enc( lk, r(+)IV ))
【0246】
シンク機器側においては、ステップS230で送信されてきたeを受け取り、ステップS231において、EEPROM50に記憶されているlicense_keyを用いて、これを復号する。復号して得られた結果のうち、第1ブロックをr'とし、第2ブロックをsk'とする。
【0247】
以上のようにして、シンク機器が正しいlicense_keyを持っている場合においてのみ、sk = sk'となり、ソース機器側とシンク機器側において、セッションキーを共有することができる。
【0248】
上述のeの式が意味するところは、同一のセッションキーskが2度以上用いられたとしても、乱数rが変化すれば、eも変化するということである。このため、eを盗聴されたとしても、盗聴者にはセッションキーskが同一であるかどうか不明であるため、安全性を高めることができる。
【0249】
なお、ブロック暗号の利用モードとしてよく知られているものに、上記したCBCモードの他、ECBモード、CFBモード、OFBモードなどがある。このうちの後者の2つはフィードバックを用いているので、図33に示した処理に用いることができる。また、これ以外の暗号モードについても、フィードバックを用いるモードのものは、適用することが可能である。ブロック暗号の利用モードについても、上記したApplied Cryptography (Second edition)に詳述されている。
【0250】
ところで、図4に示した処理例においては、ソース機器がシンク機器に対してセッションキーskを暗号化した暗号文eを送り、正当なシンク機器のみが、この暗号文eを正しく復号してセッションキーskを得られるので、実質的にソース機器がシンク機器を認証していることになる。この方式では、ソース機器の認証は行われていない。その結果、不正なソース機器がシンク機器に対して、でたらめなデータをeとして送った場合においても、シンク機器は、それを復号した結果をセッションキーskとして受け入れてしまうことが起こりえる。そこで、これを防止するために、図35に示すような、処理を行うことができる。
【0251】
この図35の例においては、ステップS241において、シンク機器としてのパーソナルコンピュータ2が、あらかじめ定められているビット数(例えば64ビット)の乱数rを生成し、ステップS242において、これをソース機器としてのDVDプレーヤ1に送信する。DVDプレーヤ1は、ステップS243において、この乱数rを受信し、ステップS244において、パーソナルコンピュータ2に対して、IDを要求する。ステップS245でこれを受信したパーソナルコンピュータ2は、ステップS246において、EEPROM50に記憶されているIDを読み出し、DVDプレーヤ1に送信する。DVDプレーヤ1は、ステップS247で、このIDを受信する。
【0252】
DVDプレーヤ1はまた、ステップS248において、次式に基づいて、鍵lkを生成する。
lk = hash( ID || service_key )
【0253】
また、DVDプレーヤ1は、ステップS249において、セッションキーskを生成する。
【0254】
さらに、ステップS250において、DVDプレーヤ1は、次式に基づいて、eを生成する。
e = Enc( lk, r || sk )
【0255】
このようにして生成されたeは、ステップS251において、DVDプレーヤ1からパーソナルコンピュータ2に送信される。
【0256】
なお、このときの暗号化モードとしては、CBCモードなど、フィードバックを利用するものが使用される。
【0257】
ステップS252で、eを受信したパーソナルコンピュータ2は、ステップS253において、eをlicense_keyを用いて復号した結果を、r'とsk'の連結r'||sk'とする。
【0258】
このとき、r'のビット数は、あらかじめ定められているrのビット数と同じビット数になるようにする。
【0259】
次に、ステップS254において、パーソナルコンピュータ2は、r = r' が成り立つかどうかを検査する。r = r' が成立する場合、パーソナルコンピュータ2は、DVDプレーヤ1が正当な機器であることを確認し、sk'をセッションキーとして受理する。これは、license_keyを用いて復号した結果のr'がrと等しくなるような暗号文eを作成することができるのは、正しい鍵lkを作成することが可能な機器だけであるからである。
【0260】
これに対して、r = r' が成立しない場合には、パーソナルコンピュータ2は、DVDプレーヤ1は、正当な機器ではないと判断し、sk'を破棄する。
【0261】
以上のように認証方式を構成することで、シンク機器がソース機器を認証することが可能となる。また、このように認証することにより、図4の処理例において実現されていた、正当なシンク機器だけが正しいセッションキーを得ることができる、という特徴も満足している。
【0262】
図36には、上記と同じ、シンク機器がソース機器の正当性を確認できる認証方式の、別の処理例が示されている。本処理例において、ステップS261からステップS266の処理は、図4のステップS1からステップS6と同様であるので、その説明は省略する。
【0263】
ステップS267において、DVDプレーヤ1は時刻情報をTとする。この時刻情報として具体的には、例えば、IEEE1394規格において定められている、32ビットのCYCLE_TIMEレジスタの値を使用する。
【0264】
CYCLE_TIMEレジスタはIEEE1394バス上における機器の時刻情報を一定にするために用いられ、バス上に1つあるサイクルマスターと呼ばれる機器からの同報パケットによって各機器のCYCLE_TIMEレジスタが一様に更新される。さらにバス上に共通の24.576MHzのクロックによってもCYCLE_TIMEレジスタが1ずつ加算されるので、レジスタは約40ナノ秒毎に1度加算される。このことにより、バス上の各機器間の時計合わせが行える。
【0265】
DVDプレーヤ1は、ステップS268において、T||skをlkで暗号化してeを得て、ステップS269でパーソナルコンピュータ2に送信する。暗号化の際の暗号モードとしては、CBCモードなど、フィードバックを利用するものが使用される。
【0266】
パーソナルコンピュータ2はステップS270でeを受信し、ステップS271でlicense_keyを用いてこれを復号し、その結果をT'||sk' とおく。この際、T'の部分のビット数を32ビットとする。
【0267】
ステップS272で、T'の正当性を検査する。この検査では、パーソナルコンピュータ2自身が持つCYCLE_TIMEレジスタの値と、T'の値を比較し、その差が例えば100ミリ秒以内であればこれを正しいとし、それを越えていれば不正であるとする。
【0268】
この検査に合格した場合、パーソナルコンピュータ2はDVDプレーヤ1が正当な機器であると判断して、sk'をセッションキーとして受理し、不合格の場合にはパーソナルコンピュータ2はDVDプレーヤ1が不正な機器であるとしてsk'を破棄する。これは、license_keyを用いて復号した結果が正しいT'となるような暗号文を生成できるのは、正しいlkを作れる機器だけであるためである。
【0269】
以上のように認証方式を構成することにより、シンク機器がソース機器を認証できる方式とすることが可能となる。加えて、この方式でも、図4の処理例で実現されていた、正当なシンク機器だけが正しいセッションキーを得ることができる、という特徴も満たしている。
【0270】
図4の処理例においては、license_keyを所有している正当なシンク機器のみがeを正しく復号してsk=sk'なるsk'を得ることが出来るので、実質的にソース機器がシンク機器を認証する方式を構成している。しかし、この方式ではシンク機器が不正デバイスである場合にも、セッションキーをlkを用いて暗号化した暗号文eを得ることができてしまう。不正デバイスであるシンク機器はeを用いて暗号解読を行ってセッションキーskを得ようとする可能性がある。
【0271】
この問題に対し、図37に示す認証方式の処理例では、ソース機器がシンク機器を正当なものであると確認した後に、セッションキーを暗号化した暗号文を送るようにしている。図37の処理例を説明する。以下の処理例において、暗号化を行う際の暗号モードは、CBCモードなど、フィードバックを利用するものを使用する。
【0272】
ステップS281からステップS285は図4の処理例のステップS1からステップS5と同様であるので説明を省略する。ステップS286において、DVDプレーヤ1はあらかじめ定められたビット数(例えば64ビット)の乱数r1とr2を生成し、その連結をM1とする。ステップS287において、M1を鍵lkで暗号化してXを作り、ステップS288でXをパーソナルコンピュータ2に送る。
【0273】
ステップS289でXを受け取ったパーソナルコンピュータ2は、ステップS290で、license_keyを用いてこれを復号し、あらかじめ定められたビット数(例えば64ビット)ごとに分割してr1'||r2'とする。次にステップS291であらかじめ定められたビット数(例えば64ビット)の乱数r3を生成し、ステップS292で、r3とr2'を連結してM2を得る。ステップS293で、M2をlicense_keyを用いて暗号化してYを得、ステップS294で、YをDVDプレーヤ1に送信する。
【0274】
ステップS295でYを受信したDVDプレーヤ1は、ステップS296でlkを用いてこれを復号し、あらかじめ定められたビット数(例えば64ビット)ごとに分割してr3'||r2''とする。ステップS297において、r2''と先に送ったr2が等しいかどうかを検査する。この検査に失敗した場合、DVDプレーヤ1はパーソナルコンピュータ2が正当な機器ではないと判断して認証プロトコルをそこで終了する。この検査に合格した場合、ステップS298においてDVDプレーヤ1はセッションキーskを生成し、ステップS299において、r3'とskを連結することによりM3を得る。ステップS300でM3を鍵lkを用いて暗号化して暗号文Zを得て、ステップS301でこれをパーソナルコンピュータ2に送信する。
【0275】
パーソナルコンピュータ2はステップS302でZを受信し、ステップS303でZをlicense_keyで復号し、あらかじめ定められたビット数(例えば64ビット)ごとに分割してr3''||sk'とする。ステップS304において、r3''が先に送信したr3と等しいかどうかを検査する。 この検査に失敗した場合、パーソナルコンピュータ2はDVDプレーヤ1が正当な機器ではないと判断して認証プロトコルを終了する。この検査に合格した場合、パーソナルコンピュータ2はsk'をセッションキーskとして受理する。
【0276】
以上のように認証プロトコルを構成することにより、ソース機器はシンク機器が正当な機器であることを認証した後にセッションキーskを暗号化した暗号文をシンク機器に対して送ることができる。また本処理例では図33に示した処理例と同様に、たとえソース機器が以前使ったものと同じセッションキーskを用いたとしても、それを鍵lkによって暗号化した暗号文が以前のものと変わるので、情報が漏れにくいという性質も有している。
【0277】
ただし、図37の処理例においては、使用している暗号アルゴリズムがnビットのもので、r1,r2,r3,skのビット数もnビットである時には、問題がある。もしソース機器が不正デバイスであった場合でも、ステップS300において、Zの前半nビットとして、ステップS295で受信したYの前半nビットをそのまま使うことにより、シンク機器のステップS303の検査をパスすることができてしまう。
【0278】
この問題に鑑みて、ソース機器がシンク機器の正当性を確認した後にセッションキーを暗号化した暗号文を送信するのみならず、シンク機器がソース機器の正当性を確認できる認証プロトコルの処理例を図38から図40に示す。図38と図39の処理例は図37の処理例の変形例である。
【0279】
図38に示した認証プロトコルの処理例を説明する。以下の処理例において、暗号化を行う際の暗号モードは、CBCモードなど、フィードバックを利用するものを使用する。
【0280】
ステップS311からステップS327は図37のステップS281からステップS297と同様なので説明は省略する。ステップS328において、DVDプレーヤ1はあらかじめ定められたビット数(例えば64ビット)の乱数r4とセッションキーskを生成する。ステップS329においてr4とr3'とskを連結してM3を作り、ステップS330においてM3を鍵lkで暗号化してZを計算し、ステップS331においてZをパーソナルコンピュータ2に送信する。
【0281】
ステップS332でZを受信したパーソナルコンピュータ2は、ステップS333でこれをlicense_keyを用いて復号し、その結果をあらかじめ定められたビット数(例えば64ビット)ごとに分割してr4'||r3''||sk'とする。ステップS334でr3''が先に送信したr3と等しいかどうかを検査し、等しい場合のみsk'をセッションキーとして受理する。
【0282】
以上のように認証プロトコルを構成すれば、ソース機器がシンク機器の正当性を確認した後にセッションキーを暗号化した暗号文を送信するのみならず、シンク機器がソース機器の正当性を確認できる。
【0283】
図39の処理例も図37の処理例の変形例である。以下の説明において、暗号化を行う際の暗号モードは、CBCモードなど、フィードバックを利用するものを使用する。
【0284】
図39のステップS351からステップS361は図37のステップS281からステップS291と同様であるので説明は省略する。ステップS362において、パーソナルコンピュータ2はM2をr2'||r3として生成する。ステップS363において、M2をlicense_keyで暗号化してYを得、ステップS364でDVDプレーヤ1に送信する。
【0285】
ステップS365でYを受信したDVDプレーヤ1は、ステップS366でこれを鍵lkを用いて復号してその結果をあらかじめ定められたビット数(例えば64ビット)ごとに分割してr2''||r3とおく。ステップS367において、r2''が先に送信したr2と等しいかどうかを検査する。この検査に失敗した場合、DVDプレーヤ1はパーソナルコンピュータ2が正当な機器ではないと判断して認証プロトコルをそこで終了する。この検査に合格した場合、ステップS368においてDVDプレーヤ1はセッションキーskを生成し、ステップS369において、r3'とskを連結することによりM3を得る。ステップS370でM3を鍵lkを用いて暗号化して暗号文Zを得て、ステップS371でこれをパーソナルコンピュータ2に送信する。
【0286】
パーソナルコンピュータ2はステップS372でZを受信し、ステップS373でZをlicense_keyで復号し、あらかじめ定められたビット数(例えば64ビット)ごとに分割してr3''||sk'とする。ステップS374において、r3''が先に送信したr3と等しいかどうかを検査する。この検査に失敗した場合、パーソナルコンピュータ2はDVDプレーヤ1が正当な機器ではないと判断して認証プロトコルを終了する。この検査に合格した場合、パーソナルコンピュータ2はsk'をセッションキーskとして受理する。
【0287】
以上のように認証プロトコルを構成することにより、ソース機器はシンク機器が正当な機器であることを認証した後にセッションキーskを暗号化した暗号文をシンク機器に対して送ることができ、またシンク機器はソース機器が正当な機器であることを確認することができる。また本処理例では図33に示した処理例と同様に、たとえソース機器が以前使ったものと同じセッションキーskを用いたとしても、それを鍵lkによって暗号化した暗号文が以前のものと変わるので、情報が漏れにくいという性質も有している。
【0288】
図40に示す認証プロトコルの処理例も同様の目的を満たすものである。以下の処理例において、暗号モードとしてはCBCモードなどのフィードバックを利用するものを使用するものとする。図40において、ステップS381からステップS384は図4のステップS1からステップS4と同様なので説明は省略する。ステップS385において、DVDプレーヤ1はあらかじめ定められたビット数(例えば64ビット)の乱数Rsrcを生成し、ステップS386でパーソナルコンピュータ2に送信する。
【0289】
ステップS387でパーソナルコンピュータ2はRsrcを受信し、ステップS388であらかじめ定められたビット数(例えば64ビット)の乱数Rsnkを生成し、ステップS389でRsnkとRsrcを連結してM1を生成し、ステップS390でM1を鍵license_keyを用いて暗号化してXを計算してステップS391でXを送信する。
【0290】
DVDプレーヤ1はステップS392でXを受信し、ステップS393でパーソナルコンピュータ2のIDとservice_keyからlkを計算し、ステップS394でこのlkを用いてXを復号し、その結果をあらかじめ定められたビット数(例えば64ビット)ごとに分割してRsnk'||Rsrc'とする。ステップS395においてRsrc'が先に送信したRsrcと等しいことを検査し、この検査に合格しなければ、パーソナルコンピュータ2が不正デバイスであるとして認証プロトコルを終了する。この検査に合格すれば、DVDプレーヤ1はステップS396でセッションキーskを生成し、ステップS397でRsrcとRsnk'とskを連結してM2を生成し、ステップS398でM2を鍵lkを用いて暗号化してYを得、ステップS399でパーソナルコンピュータ2に送信する。
【0291】
ステップS400でYを受信したパーソナルコンピュータ2は、ステップS401で鍵license_keyを用いてYを復号してこの結果をあらかじめ定められたビット数(例えば64ビット)ごとに分割してRsrc''||Rsnk''||sk'とおく。ステップS402でRsnk''が先に送信したRsnkと等しいことを検査する。この検査に失敗した場合、パーソナルコンピュータ2は、DVDプレーヤ1が不正デバイスであるとしてsk'を破棄する。この検査に合格した場合には、パーソナルコンピュータ2はDVDプレーヤ1が正当なデバイスであることを認め、sk'をセッションキーとして受理する。
【0292】
以上のように認証プロトコルを構成することにより、ソース機器はシンク機器が正当な機器であることを認証した後にセッションキーskを暗号化した暗号文をシンク機器に対して送ることができ、またシンク機器はソース機器が正当な機器であることを確認することができる。また本処理例では図33に示した処理例と同様に、たとえソース機器が以前使ったものと同じセッションキーskを用いたとしても、それを鍵lkによって暗号化した暗号文が以前のものと変わるので、情報が漏れにくいという性質も有している。
【0293】
以上においては、DVDプレーヤ1をソースとし、パーソナルコンピュータ2と光磁気ディスク装置3をシンクとしたが、いずれの装置をソースとするかシンクとするかは任意である。
【0294】
また、各電子機器を接続する外部バスも、1394バスに限らず、種々のバスを利用することができ、それに接続する電子機器も、上述した例に限らず、任意の装置とすることができる。
【0295】
なお、上記各種の指令を実行するプログラムは、磁気ディスク、CD-ROMディスクなどの提供媒体を介してユーザに提供したり、ネットワークなどの提供媒体を介してユーザに提供し、必要に応じて内蔵するRAMやハードディスクなどに記憶して利用させるようにすることができる。
【0296】
【発明の効果】
以上の如く、請求項1に記載の認証システムによれば、第1の電子機器が、所定の処理を施す情報に対応する第1の鍵を記憶し、第2の電子機器が、自分自身に固有の識別番号を記憶し、記憶している識別番号を第1の電子機器に送信し、第1の電子機器が、第2の電子機器から送信されてくる、識別番号を受信し、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出し、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成し、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成し、生成した第1の送信値を第2の電子機器に送信し、第2の電子機器が、第1の電子機器から送信されてくる、第1の送信値を受信し、受信した第1の送信値に基づいて、第2の乱数を生成し、あらかじめ定められたビット数の第3の乱数を生成し、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成し、生成した第2の送信値を第1の電子機器に送信し、第1の電子機器が、第2の電子機器から送信されてくる、第2の送信値を受信し、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、第2の電子機器が正当であるか否かを認証し、比較の結果、第2の電子機器が正当でないと認証された場合、認証の処理を終了するようにしたので、安全性を向上することが可能となる。
【0297】
請求項4に記載の電子機器、請求項5に記載の認証方法、および請求項6に記載の記録媒体によれば、所定の処理を施す情報に対応する第1の鍵を記憶し、他の電子機器に付与された固有の識別番号を受信し、記憶している第1の鍵および受信した識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出し、あらかじめ定められたビット数の第1の乱数および第2の乱数を生成し、算出したハッシュ値と、生成した第1の乱数および第2の乱数に基づいて、第1の送信値を生成し、生成した第1の送信値を他の電子機器に送信し、他の電子機器から送信されてくる、第2の乱数および第3の乱数に基づいて生成された第2の送信値を受信し、受信した第2の送信値に基づく値と、生成した第2の乱数に基づく値とを比較することにより、他の電子機器が正当であるか否かを認証し、比較の結果、他の電子機器が正当でないと認証された場合、認証の処理を終了するようにしたので、より安全に、適正な他の電子機器に対してだけ、所定の情報処理を行わせるようにすることができる。
【0298】
請求項7に記載の電子機器、請求項10に記載の認証方法、および請求項11に記載の記録媒体によれば、自分自身に固有の識別番号を記憶し、記憶している識別番号を他の電子機器に送信し、他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値を受信し、受信した第1の送信値に基づいて、第2の乱数を生成し、あらかじめ定められたビット数の第3の乱数を生成し、生成した第2の乱数および第3の乱数に基づいて、第2の送信値を生成し、生成した第2の送信値を他の電子機器に送信するようにしたので、より安全性を高めることができる。
【図面の簡単な説明】
【図1】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図2】図1のDVDプレーヤ1、パーソナルコンピュータ2、および光磁気ディスク装置3の内部の構成例を示すブロック図である。
【図3】認証処理を説明する図である。
【図4】認証処理を説明するタイミングチャートである。
【図5】 node_unique_IDのフォーマットを示す図である。
【図6】他の認証処理を説明するタイミングチャートである。
【図7】さらに他の認証処理を説明するタイミングチャートである。
【図8】他の認証処理を説明するタイミングチャートである。
【図9】他の認証処理を説明するタイミングチャートである。
【図10】暗号化処理を説明するブロック図である。
【図11】図10の1394インタフェース26の構成例を示すブロック図である。
【図12】図11の1394インタフェース26のより詳細な構成例を示すブロック図である。
【図13】図12のLFSR72のより詳細な構成例を示すブロック図である。
【図14】図13のLFSR72のより具体的な構成例を示すブロック図である。
【図15】図10の1394インタフェース36の構成例を示すブロック図である。
【図16】図15の1394インタフェース36のより詳細な構成例を示すブロック図である。
【図17】図10の1394インタフェース49の構成例を示すブロック図である。
【図18】図17の1394インタフェース49のより詳細な構成例を示すブロック図である。
【図19】図10のアプリケーション部61の構成例を示すブロック図である。
【図20】図19のアプリケーション部61のより詳細な構成例を示すブロック図である。
【図21】図10の1394インタフェース26の他の構成例を示すブロック図である。
【図22】図10の1394インタフェース36の他の構成例を示すブロック図である。
【図23】図10の1394インタフェース49の他の構成例を示すブロック図である。
【図24】図10のアプリケーション部61の他の構成例を示すブロック図である。
【図25】他の認証処理を説明するタイミングチャートである。
【図26】図25に続くタイミングチャートである。
【図27】図25に続く他のタイミングチャートである。
【図28】本発明の情報処理システムの他の構成例を示すブロック図である。
【図29】図28の乱数発生器903の構成例を示すブロック図である。
【図30】図28の演算回路902の処理を説明するフローチャートである。
【図31】他の認証処理を説明するタイミングチャートである。
【図32】パケットフォーマットを示す図である。
【図33】他の認証処理を説明するタイミングチャートである。
【図34】 CBCモードの構成例を示すブロック図である。
【図35】他の認証処理を説明するタイミングチャートである。
【図36】他の認証処理を説明するタイミングチャートである。
【図37】他の認証処理を説明するタイミングチャートである。
【図38】他の認証処理を説明するタイミングチャートである。
【図39】他の認証処理を説明するタイミングチャートである。
【図40】他の認証処理を説明するタイミングチャートである。
【図41】従来の認証方法を説明するタイミングチャートである。
【符号の説明】
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 ライセンスマネージャ
Claims (11)
- 第1の電子機器と第2の電子機器との間で認証処理を行う認証システムにおいて、
前記第1の電子機器は、
所定の処理を施す情報に対応する第1の鍵を記憶する第1の記憶手段を備え、
前記第2の電子機器は、
自分自身に固有の識別番号を記憶する第2の記憶手段と、
記憶している前記識別番号を前記第1の電子機器に送信する第1の送信手段と
を備え、
前記第1の電子機器は、
前記第2の電子機器から送信されてくる、前記識別番号を受信する第1の受信手段と、
記憶している前記第1の鍵および受信した前記識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出手段と、
あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する第1の乱数生成手段と、
算出した前記ハッシュ値と、生成した前記第1の乱数および前記第2の乱数に基づいて、第1の送信値を生成する第1の送信値生成手段と、
生成した前記第1の送信値を前記第2の電子機器に送信する第2の送信手段と
を備え、
前記第2の電子機器は、
前記第1の電子機器から送信されてくる、前記第1の送信値を受信する第2の受信手段と、
受信した前記第1の送信値に基づいて、前記第2の乱数を生成する第2の乱数生成手段と、
あらかじめ定められたビット数の第3の乱数を生成する第3の乱数生成手段と、
生成した前記第2の乱数および前記第3の乱数に基づいて、第2の送信値を生成する第2の送信値生成手段と、
生成した前記第2の送信値を前記第1の電子機器に送信する第3の送信手段と
を備え、
前記第1の電子機器は、
前記第2の電子機器から送信されてくる、前記第2の送信値を受信する第3の受信手段と、
受信した前記第2の送信値に基づく値と、生成した前記第2の乱数に基づく値とを比較することにより、前記第2の電子機器が正当であるか否かを認証する認証手段と
を備え、
前記認証手段は、比較の結果、前記第2の電子機器が正当でないと認証された場合、認証の処理を終了する
認証システム。 - 前記第2の記憶手段は、前記第1の電子機器から送信されてくる所定の情報に所定の処理を施すことに対する許可に対応する第2の鍵を記憶し、
前記第2の送信値生成手段は、前記第2の乱数および前記第3の乱数を結合した値に対して、記憶している前記第2の鍵を用いて暗号的処理を行うことにより、前記第2の送信値を生成する
請求項1の認証システム。 - 前記第2の鍵は、前記第1の鍵および前記識別番号に対して、ハッシュ関数を適用して得られるハッシュ値と同一の値である
請求項2の認証システム。 - 他の電子機器との間で認証処理を行う電子機器において、
所定の処理を施す情報に対応する第1の鍵を記憶する記憶手段と、
前記他の電子機器に付与された固有の識別番号を受信する第1の受信手段と、
記憶している前記第1の鍵および受信した前記識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出手段と、
あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成手段と、
算出した前記ハッシュ値と、生成した前記第1の乱数および前記第2の乱数に基づいて、第1の送信値を生成する送信値生成手段と、
生成した前記第1の送信値を前記他の電子機器に送信する第1の送信手段と、
前記他の電子機器から送信されてくる、前記第2の乱数および第3の乱数に基づいて生成された第2の送信値を受信する第2の受信手段と、
受信した前記第2の送信値に基づく値と、生成した前記第2の乱数に基づく値とを比較することにより、前記他の電子機器が正当であるか否かを認証する認証手段と
を備え、
前記認証手段は、比較の結果、前記他の電子機器が正当でないと認証された場合、認証の処理を終了する
電子機器。 - 所定の処理を施す情報に対応する第1の鍵を記憶しており、他の電子機器との間で認証処理を行う電子機器の認証方法において、
前記他の電子機器に付与された固有の識別番号の受信を制御する第1の受信制御ステップと、
記憶している前記第1の鍵および受信した前記識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出ステップと、
あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成ステップと、
算出した前記ハッシュ値と、生成した前記第1の乱数および前記第2の乱数に基づいて、第1の送信値を生成する送信値生成ステップと、
生成した前記第1の送信値の前記他の電子機器への送信を制御する第1の送信制御ステップと、
前記他の電子機器から送信されてくる、前記第2の乱数および第3の乱数に基づいて生成された第2の送信値の受信を制御する第2の受信制御ステップと、
受信した前記第2の送信値に基づく値と、生成した前記第2の乱数に基づく値とを比較することにより、前記他の電子機器が正当であるか否かを認証する認証ステップと
を含み、
前記認証ステップは、比較の結果、前記他の電子機器が正当でないと認証された場合、認証の処理を終了する
認証方法。 - 所定の処理を施す情報に対応する第1の鍵を記憶しており、他の電子機器との間で認証処理を行う電子機器における認証処理用のプログラムであって、
前記他の電子機器に付与された固有の識別番号の受信を制御する第1の受信制御ステップと、
記憶している前記第1の鍵および受信した前記識別番号に基づいて、ハッシュ関数を用いて、ハッシュ値を算出する算出ステップと、
あらかじめ定められたビット数の第1の乱数および第2の乱数を生成する乱数生成ステップと、
算出した前記ハッシュ値と、生成した前記第1の乱数および前記第2の乱数に基づいて 、第1の送信値を生成する送信値生成ステップと、
生成した前記第1の送信値の前記他の電子機器への送信を制御する第1の送信制御ステップと、
前記他の電子機器から送信されてくる、前記第2の乱数および第3の乱数に基づいて生成された第2の送信値の受信を制御する第2の受信制御ステップと、
受信した前記第2の送信値に基づく値と、生成した前記第2の乱数に基づく値とを比較することにより、前記他の電子機器が正当であるか否かを認証する認証ステップと
を含み、
前記認証ステップは、比較の結果、前記他の電子機器が正当でないと認証された場合、認証の処理を終了する
コンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 他の電子機器との間で認証処理を行う電子機器において、
自分自身に固有の識別番号を記憶する記憶手段と、
記憶している前記識別番号を前記他の電子機器に送信する第1の送信手段と、
前記他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および前記識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値を受信する第1の受信手段と、
受信した前記第1の送信値に基づいて、前記第2の乱数を生成する第1の乱数生成手段と、
あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成手段と、
生成した前記第2の乱数および前記第3の乱数に基づいて、第2の送信値を生成する送信値生成手段と、
生成した前記第2の送信値を前記他の電子機器に送信する第2の送信手段と
を備える電子機器。 - 前記記憶手段は、前記他の電子機器から送信されてくる所定の情報に所定の処理を施すことに対する許可に対応する第2の鍵を記憶し、
前記送信値生成手段は、前記第2の乱数および前記第3の乱数を結合した値に対して、記憶している前記第2の鍵を用いて暗号的処理を行うことにより、前記第2の送信値を生成する
請求項7の電子機器。 - 前記第2の鍵は、前記第1の鍵および前記識別番号に対して、ハッシュ関数を適用して得られるハッシュ値と同一の値である
請求項8の電子機器。 - 自分自身に固有の識別番号を記憶しており、他の電子機器との間で認証処理を行う電子機器の認証方法において、
記憶している自分自身に固有の識別番号の前記他の電子機器への送信を制御する第1の送信制御ステップと、
前記他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および前記識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値の受信を制御する第1の受信制御ステップと、
受信した前記第1の送信値に基づいて、前記第2の乱数を生成する第1の乱数生成ステップと、
あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成ステップと、
生成した前記第2の乱数および前記第3の乱数に基づいて、第2の送信値を生成する送信値生成ステップと、
生成した前記第2の送信値の前記他の電子機器への送信を制御する第2の送信制御ステ ップと
を含む認証方法。 - 自分自身に固有の識別番号を記憶しており、他の電子機器との間で認証処理を行う電子機器における認証処理用のプログラムであって、
記憶している自分自身に固有の識別番号の前記他の電子機器への送信を制御する第1の送信制御ステップと、
前記他の電子機器から送信されてくる、所定の処理を施す情報に対応する第1の鍵および前記識別番号から算出されたハッシュ値、並びに第1の乱数および第2の乱数に基づいて生成された第1の送信値の受信を制御する第1の受信制御ステップと、
受信した前記第1の送信値に基づいて、前記第2の乱数を生成する第1の乱数生成ステップと、
あらかじめ定められたビット数の第3の乱数を生成する第2の乱数生成ステップと、
生成した前記第2の乱数および前記第3の乱数に基づいて、第2の送信値を生成する送信値生成ステップと、
生成した前記第2の送信値の前記他の電子機器への送信を制御する第2の送信制御ステップと
を含むコンピュータが読み取り可能なプログラムが記録されている記録媒体。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21089997A JP3864401B2 (ja) | 1997-04-23 | 1997-08-05 | 認証システム、電子機器、認証方法、および記録媒体 |
US09/059,812 US6697945B2 (en) | 1997-04-23 | 1998-04-14 | Information processing apparatus, information processing method, information processing system and recording medium |
DE69833608T DE69833608T2 (de) | 1997-04-23 | 1998-04-20 | Informationsübertragung,-empfang und -aufzeichnung |
EP98303007A EP0874300B1 (en) | 1997-04-23 | 1998-04-20 | Information transmission, reception and recording |
MYPI98001787A MY121311A (en) | 1997-04-23 | 1998-04-21 | Information processing apparatus, information processing method, information processing system and recording medium |
CNB981147208A CN1182475C (zh) | 1997-04-23 | 1998-04-23 | 信息处理装置,信息处理方法和信息处理系统 |
KR10-1998-0014432A KR100495187B1 (ko) | 1997-04-23 | 1998-04-23 | 데이터송신장치및송신방법,데이터수신장치및수신방법,기록매체 |
US10/194,869 US6934463B2 (en) | 1997-04-23 | 2002-07-12 | Information processing apparatus, information processing method, information processing system and recording medium |
US10/195,022 US7065214B2 (en) | 1997-04-23 | 2002-07-12 | Information processing apparatus, information processing method, information processing system and recording medium |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9-106104 | 1997-04-23 | ||
JP10610497 | 1997-04-23 | ||
JP14369997 | 1997-06-02 | ||
JP9-143699 | 1997-06-02 | ||
JP21089997A JP3864401B2 (ja) | 1997-04-23 | 1997-08-05 | 認証システム、電子機器、認証方法、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1153264A JPH1153264A (ja) | 1999-02-26 |
JP3864401B2 true JP3864401B2 (ja) | 2006-12-27 |
Family
ID=27310657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21089997A Expired - Lifetime JP3864401B2 (ja) | 1997-04-23 | 1997-08-05 | 認証システム、電子機器、認証方法、および記録媒体 |
Country Status (7)
Country | Link |
---|---|
US (3) | US6697945B2 (ja) |
EP (1) | EP0874300B1 (ja) |
JP (1) | JP3864401B2 (ja) |
KR (1) | KR100495187B1 (ja) |
CN (1) | CN1182475C (ja) |
DE (1) | DE69833608T2 (ja) |
MY (1) | MY121311A (ja) |
Families Citing this family (128)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1145507A (ja) * | 1997-07-24 | 1999-02-16 | Toshiba Corp | 情報再生装置、認識装置、情報処理システム |
JP4123455B2 (ja) * | 1998-07-31 | 2008-07-23 | 日本ビクター株式会社 | 情報処理方法及び情報処理装置 |
JP2000236325A (ja) * | 1999-02-09 | 2000-08-29 | Lg Electronics Inc | デジタルデータファイルの暗号化装置及びその方法 |
IL128720A (en) | 1999-02-25 | 2009-06-15 | Cidway Technologies Ltd | Method for confirming actions performed over the phone |
US6615192B1 (en) | 1999-03-12 | 2003-09-02 | Matsushita Electric Industrial Co., Ltd. | Contents copying system, copying method, computer-readable recording medium and disc drive copying contents but not a cipher key via a host computer |
US6367019B1 (en) * | 1999-03-26 | 2002-04-02 | Liquid Audio, Inc. | Copy security for portable music players |
US6816596B1 (en) * | 2000-01-14 | 2004-11-09 | Microsoft Corporation | Encrypting a digital object based on a key ID selected therefor |
US7136838B1 (en) | 1999-03-27 | 2006-11-14 | Microsoft Corporation | Digital license and method for obtaining/providing a digital license |
US6973444B1 (en) | 1999-03-27 | 2005-12-06 | Microsoft Corporation | Method for interdependently validating a digital content package and a corresponding digital license |
US6829708B1 (en) * | 1999-03-27 | 2004-12-07 | Microsoft Corporation | Specifying security for an element by assigning a scaled value representative of the relative security thereof |
US7103574B1 (en) | 1999-03-27 | 2006-09-05 | Microsoft Corporation | Enforcement architecture and method for digital rights management |
TW518497B (en) * | 1999-03-30 | 2003-01-21 | Sony Corp | Information processing system |
WO2000062475A1 (fr) * | 1999-04-13 | 2000-10-19 | Sony Corporation | Systeme de traitement de donnees, procede de traitement de donnees et dispositif de traitement de donnees |
CN1246853C (zh) * | 1999-04-30 | 2006-03-22 | 汤姆森特许公司 | 多格式个人数字音频播放机 |
JP4362888B2 (ja) | 1999-05-18 | 2009-11-11 | ソニー株式会社 | 情報処理装置および方法、並びに記録媒体 |
JP3727001B2 (ja) * | 1999-05-31 | 2005-12-14 | 日本ビクター株式会社 | コンテンツ販売システムにおけるコピー管理方法、及びその方法を実行するプレーヤ |
CN1304977C (zh) * | 1999-07-06 | 2007-03-14 | 索尼株式会社 | 数据提供系统、装置及其方法 |
JP2001023300A (ja) | 1999-07-09 | 2001-01-26 | Fujitsu Ltd | 記憶装置、記録媒体のアクセス制御装置および記録媒体のアクセス制御方法 |
JP2001236081A (ja) * | 1999-11-12 | 2001-08-31 | Sony Corp | 情報処理装置および方法、並びにプログラム格納媒体 |
JP2001160262A (ja) | 1999-11-30 | 2001-06-12 | Pioneer Electronic Corp | 情報記録読取方法ならびに装置 |
EP1104960B1 (en) * | 1999-12-02 | 2009-08-26 | Sony Deutschland GmbH | Message authentication |
AU1730801A (en) * | 1999-12-07 | 2001-06-18 | Fujitsu Limited | Device for reproducing data |
US6772340B1 (en) * | 2000-01-14 | 2004-08-03 | Microsoft Corporation | Digital rights management system operating on computing device and having black box tied to computing device |
WO2001052018A1 (en) | 2000-01-14 | 2001-07-19 | Microsoft Corporation | Specifying security for an element by assigning a scaled value representative of the relative security thereof |
JP2001283320A (ja) * | 2000-03-31 | 2001-10-12 | Sony Corp | 情報販売装置および方法、並びにプログラム格納媒体 |
JP4608749B2 (ja) * | 2000-07-24 | 2011-01-12 | ソニー株式会社 | データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体 |
US20020025045A1 (en) * | 2000-07-26 | 2002-02-28 | Raike William Michael | Encryption processing for streaming media |
US7178169B1 (en) * | 2000-09-01 | 2007-02-13 | Zoran Corporation | Method and apparatus for securing transfer of and access to digital content |
US7111175B2 (en) * | 2000-12-28 | 2006-09-19 | Intel Corporation | Method and apparatus for verifying the integrity of a media key block |
US7039803B2 (en) * | 2001-01-26 | 2006-05-02 | International Business Machines Corporation | Method for broadcast encryption and key revocation of stateless receivers |
US9520993B2 (en) * | 2001-01-26 | 2016-12-13 | International Business Machines Corporation | Renewable traitor tracing |
US6662284B2 (en) * | 2001-02-20 | 2003-12-09 | Hewlett-Packard Development Company, L.C. | Computer apparatus, method and memory including license key |
JP4545994B2 (ja) * | 2001-07-02 | 2010-09-15 | 三洋電機株式会社 | データ再生装置それに用いるデータ再生回路、およびデータ記録装置 |
EP1418703A4 (en) * | 2001-07-17 | 2006-02-01 | Sharp Kk | DEVICE AND METHOD FOR GENERATING DATA FOR DETECTING A FALSE CHANGE OF ENCRYPTED DATA DURING PROCESSING |
CN1486557A (zh) * | 2001-07-30 | 2004-03-31 | ���ṫ˾ | 无线电通信系统、无线电通信控制设备和无线电通信控制方法、存储介质和计算机程序 |
JP2003050745A (ja) * | 2001-08-07 | 2003-02-21 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
JP3707407B2 (ja) * | 2001-08-28 | 2005-10-19 | セイコーエプソン株式会社 | パスワードを投写するプロジェクタ |
DE10164134A1 (de) * | 2001-12-30 | 2003-07-17 | Juergen K Lang | System und Verfahren zur Erstellung und Verbreitung kopier- und nutzungsgeschützter elektronischer Ton- und Bildmedien und deren Dateninhalte |
DE10164131A1 (de) * | 2001-12-30 | 2003-07-17 | Juergen K Lang | Kryptographisches Modul zur Speicherung und Wiedergabe kopier-und nutzungsgeschützter elektronischer Ton- und Bildmedien |
DE10164135A1 (de) * | 2001-12-30 | 2003-07-17 | Juergen K Lang | System und Verfahren zur kopier- und nutzungsgeschützten Ver- und Entschlüsselung, Übertragung und Speicherung elektronischer Ton- und Bildmedien |
DE10164133A1 (de) * | 2001-12-30 | 2003-07-17 | Juergen K Lang | System und Verfahren zur Wiedergabe kopier- und nutzungsgeschützter Ton- und Bildmedien |
US7293071B2 (en) * | 2002-05-27 | 2007-11-06 | Seiko Epson Corporation | Image data transmission system, process and program, image data output device and image display device |
US7530116B2 (en) | 2002-06-06 | 2009-05-05 | Macrovision Corporation | Controlling the downloading and recording of digital data |
JP2004087062A (ja) * | 2002-06-25 | 2004-03-18 | Sony Corp | データ記録媒体、識別情報記録方法、識別情報記録装置、識別情報再生方法、識別情報再生装置、情報サービス方法、情報サービスシステム |
US7885896B2 (en) | 2002-07-09 | 2011-02-08 | Avaya Inc. | Method for authorizing a substitute software license server |
US8041642B2 (en) | 2002-07-10 | 2011-10-18 | Avaya Inc. | Predictive software license balancing |
US7770212B2 (en) * | 2002-08-15 | 2010-08-03 | Activcard | System and method for privilege delegation and control |
US7707116B2 (en) * | 2002-08-30 | 2010-04-27 | Avaya Inc. | Flexible license file feature controls |
US7966520B2 (en) * | 2002-08-30 | 2011-06-21 | Avaya Inc. | Software licensing for spare processors |
US7681245B2 (en) * | 2002-08-30 | 2010-03-16 | Avaya Inc. | Remote feature activator feature extraction |
US7698225B2 (en) * | 2002-08-30 | 2010-04-13 | Avaya Inc. | License modes in call processing |
US7395435B2 (en) * | 2002-09-20 | 2008-07-01 | Atmel Corporation | Secure memory device for smart cards |
EP1404132B1 (en) * | 2002-09-25 | 2008-05-14 | D&M Holdings, Inc. | System and method for transmission and reception of encrypted data |
JP4214454B2 (ja) | 2002-12-13 | 2009-01-28 | ソニー株式会社 | 映像信号処理システム、映像信号処理装置および方法、記録媒体、並びにプログラム |
US7890997B2 (en) * | 2002-12-26 | 2011-02-15 | Avaya Inc. | Remote feature activation authentication file system |
JP2004220317A (ja) * | 2003-01-15 | 2004-08-05 | Sony Corp | 相互認証方法、プログラム、記録媒体、信号処理システム、再生装置および情報処理装置 |
US7272231B2 (en) * | 2003-01-27 | 2007-09-18 | International Business Machines Corporation | Encrypting data for access by multiple users |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7260557B2 (en) * | 2003-02-27 | 2007-08-21 | Avaya Technology Corp. | Method and apparatus for license distribution |
JP4300832B2 (ja) * | 2003-03-14 | 2009-07-22 | ソニー株式会社 | データ処理装置、その方法およびそのプログラム |
JP2004287160A (ja) | 2003-03-24 | 2004-10-14 | Seiko Epson Corp | 画像表示システム、プロジェクタ、画像表示方法、プロジェクタ制御方法、画像表示プログラムおよびプロジェクタ制御プログラム |
US7412060B2 (en) * | 2003-03-28 | 2008-08-12 | D&M Holdings Inc. | Contents data transmission/reception system, contents data transmitter, contents data receiver and contents data transmission/reception method |
DE10330191A1 (de) * | 2003-07-03 | 2005-02-10 | Siemens Ag | System bzw. Verfahren zur Freigabe freigabebedürftigter Softwareprogramme |
US7908479B2 (en) | 2003-07-28 | 2011-03-15 | Sony Corporation | Information processing device and method, recording medium and program |
KR100565058B1 (ko) * | 2003-08-22 | 2006-03-30 | 삼성전자주식회사 | 최적의 디스플레이 환경을 설정하는 dvd 플레이어 및그 동작 방법 |
CA2438357A1 (en) * | 2003-08-26 | 2005-02-26 | Ibm Canada Limited - Ibm Canada Limitee | System and method for secure remote access |
EP1515329B1 (en) * | 2003-09-05 | 2007-09-19 | D & M Holdings, Inc. | Contents data transmission/reception system, transmitter, receiver and method |
KR20050075877A (ko) * | 2004-01-16 | 2005-07-25 | 삼성전자주식회사 | 데이터 재전송 장치 및 방법 |
JP2005208823A (ja) * | 2004-01-21 | 2005-08-04 | Seiko Epson Corp | プロジェクタのネットワークシステム |
JP4726805B2 (ja) * | 2004-02-03 | 2011-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | デジタル権利管理 |
US20050177714A1 (en) * | 2004-02-10 | 2005-08-11 | Samsung Electronics Co., Ltd. | Authentication method of data processing apparatus with recording device and apparatus for the same |
FI120174B (fi) * | 2004-03-19 | 2009-07-15 | Nokia Corp | Tietojen tallentaminen laitteen yhteydessä |
US7216223B2 (en) * | 2004-04-30 | 2007-05-08 | Hewlett-Packard Development Company, L.P. | Configuring multi-thread status |
US7557941B2 (en) * | 2004-05-27 | 2009-07-07 | Silverbrook Research Pty Ltd | Use of variant and base keys with three or more entities |
US8312267B2 (en) | 2004-07-20 | 2012-11-13 | Time Warner Cable Inc. | Technique for securely communicating programming content |
US8266429B2 (en) | 2004-07-20 | 2012-09-11 | Time Warner Cable, Inc. | Technique for securely communicating and storing programming material in a trusted domain |
US7707405B1 (en) | 2004-09-21 | 2010-04-27 | Avaya Inc. | Secure installation activation |
US8229858B1 (en) | 2004-09-30 | 2012-07-24 | Avaya Inc. | Generation of enterprise-wide licenses in a customer environment |
US7747851B1 (en) * | 2004-09-30 | 2010-06-29 | Avaya Inc. | Certificate distribution via license files |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US7869602B1 (en) | 2005-03-10 | 2011-01-11 | Sprint Spectrum L.P. | User-based digital rights management |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US9436804B2 (en) | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
JP2007060066A (ja) * | 2005-08-23 | 2007-03-08 | Toshiba Corp | コンテンツデータ配信方法、並びにコンテンツデータ配信システム及びこれに用いられる携帯端末。 |
US7814023B1 (en) | 2005-09-08 | 2010-10-12 | Avaya Inc. | Secure download manager |
US20070107045A1 (en) * | 2005-09-13 | 2007-05-10 | Uniloc/Veriloc, Llc | Security system for transactions |
US8184811B1 (en) * | 2005-10-12 | 2012-05-22 | Sprint Spectrum L.P. | Mobile telephony content protection |
US20070162740A1 (en) * | 2006-01-12 | 2007-07-12 | Relan Sandeep K | Systems, methods, and apparatus for packet level security |
IL174494A0 (en) * | 2006-03-22 | 2007-07-04 | Nds Ltd | Period keys |
JP5040341B2 (ja) | 2006-04-04 | 2012-10-03 | セイコーエプソン株式会社 | プロジェクタシステム |
JP2007288254A (ja) * | 2006-04-12 | 2007-11-01 | Sony Corp | 通信システム、通信装置および方法、並びにプログラム |
US7751559B2 (en) * | 2006-09-07 | 2010-07-06 | International Business Machines Corporation | Secure transmission of cryptographic key |
US8520850B2 (en) | 2006-10-20 | 2013-08-27 | Time Warner Cable Enterprises Llc | Downloadable security and protection methods and apparatus |
US8732854B2 (en) | 2006-11-01 | 2014-05-20 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
US8621540B2 (en) | 2007-01-24 | 2013-12-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for provisioning in a download-enabled system |
JP4327865B2 (ja) * | 2007-03-29 | 2009-09-09 | 株式会社東芝 | コンテンツ処理装置、暗号処理方法及びプログラム |
US8850195B2 (en) * | 2007-07-23 | 2014-09-30 | Intertrust Technologies Corporation | Tethered device systems and methods |
JP4734391B2 (ja) * | 2008-09-22 | 2011-07-27 | 株式会社東芝 | コンテンツ管理方法、コンテンツ管理装置、記録媒体、及び相互認証方法 |
US9866609B2 (en) | 2009-06-08 | 2018-01-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
US9602864B2 (en) | 2009-06-08 | 2017-03-21 | Time Warner Cable Enterprises Llc | Media bridge apparatus and methods |
KR101683286B1 (ko) * | 2009-11-25 | 2016-12-06 | 삼성전자주식회사 | 이동통신망을 이용한 싱크 인증 시스템 및 방법 |
JP2011243093A (ja) * | 2010-05-20 | 2011-12-01 | Canon Inc | 情報処理装置、ユーザ認証方法、及びコンピュータプログラム |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
JP2013031151A (ja) | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
US8792637B2 (en) * | 2011-11-22 | 2014-07-29 | Combined Conditional Access Development & Support, LLC | Downloading of data to secure devices |
JP5643741B2 (ja) * | 2011-12-02 | 2014-12-17 | 株式会社東芝 | 認証装置、認証方法および認証プログラム |
US9565472B2 (en) | 2012-12-10 | 2017-02-07 | Time Warner Cable Enterprises Llc | Apparatus and methods for content transfer protection |
US20140282786A1 (en) | 2013-03-12 | 2014-09-18 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
US10368255B2 (en) | 2017-07-25 | 2019-07-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for client-based dynamic control of connections to co-existing radio access networks |
US9066153B2 (en) | 2013-03-15 | 2015-06-23 | Time Warner Cable Enterprises Llc | Apparatus and methods for multicast delivery of content in a content delivery network |
US9313568B2 (en) | 2013-07-23 | 2016-04-12 | Chicago Custom Acoustics, Inc. | Custom earphone with dome in the canal |
US9621940B2 (en) | 2014-05-29 | 2017-04-11 | Time Warner Cable Enterprises Llc | Apparatus and methods for recording, accessing, and delivering packetized content |
US11540148B2 (en) | 2014-06-11 | 2022-12-27 | Time Warner Cable Enterprises Llc | Methods and apparatus for access point location |
US9935833B2 (en) | 2014-11-05 | 2018-04-03 | Time Warner Cable Enterprises Llc | Methods and apparatus for determining an optimized wireless interface installation configuration |
CN104361733B (zh) * | 2014-11-26 | 2017-10-27 | 中国科学院电子学研究所 | 一种基于交叉编码的动态验证无线遥控的方法 |
US9986578B2 (en) | 2015-12-04 | 2018-05-29 | Time Warner Cable Enterprises Llc | Apparatus and methods for selective data network access |
US9918345B2 (en) | 2016-01-20 | 2018-03-13 | Time Warner Cable Enterprises Llc | Apparatus and method for wireless network services in moving vehicles |
US10492034B2 (en) | 2016-03-07 | 2019-11-26 | Time Warner Cable Enterprises Llc | Apparatus and methods for dynamic open-access networks |
US10164858B2 (en) | 2016-06-15 | 2018-12-25 | Time Warner Cable Enterprises Llc | Apparatus and methods for monitoring and diagnosing a wireless network |
JP6473876B2 (ja) * | 2016-12-01 | 2019-02-27 | 株式会社ユートピア企画 | セキュアネットワーク通信方法 |
KR20190034657A (ko) | 2017-04-11 | 2019-04-02 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 네트워크 인증 방법, 장치, 및 시스템 |
US10645547B2 (en) | 2017-06-02 | 2020-05-05 | Charter Communications Operating, Llc | Apparatus and methods for providing wireless service in a venue |
US10638361B2 (en) | 2017-06-06 | 2020-04-28 | Charter Communications Operating, Llc | Methods and apparatus for dynamic control of connections to co-existing radio access networks |
KR102305858B1 (ko) * | 2017-09-26 | 2021-09-27 | 삼성에스디에스 주식회사 | 키 정보 프로비저닝 방법 및 이를 이용한 장치 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE426128B (sv) | 1981-04-08 | 1982-12-06 | Philips Svenska Ab | Metod vid overforing av datameddelanden mellan tva stationer, samt overforingsanleggning for utforande av metoden |
FR2530053B1 (fr) * | 1982-07-08 | 1986-04-25 | Bull Sa | Procede pour certifier la provenance d'au moins une information enregistree dans une memoire d'un premier dispositif electronique et transmise a un deuxieme dispositif electronique, et systeme pour la mise en oeuvre d'un tel procede |
US4799061A (en) * | 1985-11-18 | 1989-01-17 | International Business Machines Corporation | Secure component authentication system |
GB8704882D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure messaging systems |
US5117458A (en) | 1989-11-01 | 1992-05-26 | Hitachi, Ltd. | Secret information service system and method |
EP0440158B1 (en) * | 1990-01-30 | 1997-09-10 | Kabushiki Kaisha Toshiba | Mutual authentication system |
US5148479A (en) * | 1991-03-20 | 1992-09-15 | International Business Machines Corp. | Authentication protocols in communication networks |
US5390252A (en) * | 1992-12-28 | 1995-02-14 | Nippon Telegraph And Telephone Corporation | Authentication method and communication terminal and communication processing unit using the method |
CN100442382C (zh) * | 1993-12-18 | 2008-12-10 | 索尼公司 | 数据再生装置 |
US5535276A (en) * | 1994-11-09 | 1996-07-09 | Bell Atlantic Network Services, Inc. | Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography |
GB9507885D0 (en) * | 1995-04-18 | 1995-05-31 | Hewlett Packard Co | Methods and apparatus for authenticating an originator of a message |
US6785813B1 (en) * | 1997-11-07 | 2004-08-31 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
US5883958A (en) * | 1996-04-01 | 1999-03-16 | Sony Corporation | Method and device for data decryption, a method and device for device identification, a recording medium, a method of disk production, and a method and apparatus for disk recording |
US6775382B1 (en) * | 1997-06-30 | 2004-08-10 | Sun Microsystems, Inc. | Method and apparatus for recovering encryption session keys |
US6151676A (en) * | 1997-12-24 | 2000-11-21 | Philips Electronics North America Corporation | Administration and utilization of secret fresh random numbers in a networked environment |
US6445797B1 (en) * | 1998-12-16 | 2002-09-03 | Secure Choice Llc | Method and system for performing secure electronic digital streaming |
-
1997
- 1997-08-05 JP JP21089997A patent/JP3864401B2/ja not_active Expired - Lifetime
-
1998
- 1998-04-14 US US09/059,812 patent/US6697945B2/en not_active Expired - Lifetime
- 1998-04-20 DE DE69833608T patent/DE69833608T2/de not_active Expired - Lifetime
- 1998-04-20 EP EP98303007A patent/EP0874300B1/en not_active Expired - Lifetime
- 1998-04-21 MY MYPI98001787A patent/MY121311A/en unknown
- 1998-04-23 KR KR10-1998-0014432A patent/KR100495187B1/ko not_active IP Right Cessation
- 1998-04-23 CN CNB981147208A patent/CN1182475C/zh not_active Expired - Fee Related
-
2002
- 2002-07-12 US US10/194,869 patent/US6934463B2/en not_active Expired - Lifetime
- 2002-07-12 US US10/195,022 patent/US7065214B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69833608T2 (de) | 2007-02-15 |
US20020199105A1 (en) | 2002-12-26 |
EP0874300B1 (en) | 2006-03-01 |
KR19980081632A (ko) | 1998-11-25 |
US7065214B2 (en) | 2006-06-20 |
JPH1153264A (ja) | 1999-02-26 |
KR100495187B1 (ko) | 2005-11-23 |
DE69833608D1 (de) | 2006-04-27 |
CN1182475C (zh) | 2004-12-29 |
EP0874300A3 (en) | 1999-10-13 |
US20020194475A1 (en) | 2002-12-19 |
US6934463B2 (en) | 2005-08-23 |
EP0874300A2 (en) | 1998-10-28 |
CN1202659A (zh) | 1998-12-23 |
US6697945B2 (en) | 2004-02-24 |
US20020083319A1 (en) | 2002-06-27 |
MY121311A (en) | 2006-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3864401B2 (ja) | 認証システム、電子機器、認証方法、および記録媒体 | |
JP3988172B2 (ja) | 情報処理装置および方法、並びに記録媒体 | |
US5949877A (en) | Content protection for transmission systems | |
JP4496440B2 (ja) | 暗号化コンテンツ送信装置 | |
EP1742137B1 (en) | Enciphering/deciphering device using a cryptographic key changed at a predetermined timing | |
US6542610B2 (en) | Content protection for digital transmission systems | |
JP4543555B2 (ja) | データ伝送システム、データ伝送方法、データ送信装置及びデータ受信装置 | |
JP2004533194A (ja) | データを交換するように構成されたデバイスおよび認証の方法 | |
EP0966127A1 (en) | Data processing system, data processing device and data processing method | |
JP4748109B2 (ja) | 暗号化装置および方法、復号装置および方法、情報処理装置および方法、並びに情報再生装置 | |
JP4496506B2 (ja) | 暗号化コンテンツ送信装置 | |
JP2010246158A (ja) | 暗号化装置および方法、並びに復号装置および方法 | |
JP2006340407A (ja) | 暗号化装置および方法、並びに復号装置および方法 | |
JP2007043738A (ja) | 電子機器 | |
JP2013179701A (ja) | 暗号化装置および方法 | |
JP2013017225A (ja) | 暗号化装置および方法 | |
JP2012070430A (ja) | 復号装置および方法 | |
JP2016015783A (ja) | 暗号化装置 | |
JP2015029243A (ja) | 情報処理装置および情報処理方法 | |
JP2015043611A (ja) | 復号装置 | |
JP2013192267A (ja) | 暗号処理装置および暗号処理方法、並びに、復号処理装置および復号処理方法 | |
JP2015019430A (ja) | 復号装置 | |
JP2014064318A (ja) | 暗号化装置および方法 | |
JP2014147109A (ja) | 情報処理装置および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060110 |
|
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: 20060911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060924 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131013 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |