JP2003173215A - 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 - Google Patents

情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子

Info

Publication number
JP2003173215A
JP2003173215A JP2002145264A JP2002145264A JP2003173215A JP 2003173215 A JP2003173215 A JP 2003173215A JP 2002145264 A JP2002145264 A JP 2002145264A JP 2002145264 A JP2002145264 A JP 2002145264A JP 2003173215 A JP2003173215 A JP 2003173215A
Authority
JP
Japan
Prior art keywords
program
data
encrypted
verification
predetermined
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.)
Granted
Application number
JP2002145264A
Other languages
English (en)
Other versions
JP4288893B2 (ja
Inventor
Satoshi Kitani
聡 木谷
Munetoshi Morikazu
宗利 盛一
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 JP2002145264A priority Critical patent/JP4288893B2/ja
Priority to TW092105520A priority patent/TWI247285B/zh
Priority to DE60324977T priority patent/DE60324977D1/de
Priority to EP03251681A priority patent/EP1369765B1/en
Priority to EP06076507A priority patent/EP1742136B1/en
Priority to US10/391,347 priority patent/US20040006703A1/en
Priority to DE60309625T priority patent/DE60309625T2/de
Priority to CNB031250416A priority patent/CN100559486C/zh
Priority to KR1020030017352A priority patent/KR100924050B1/ko
Priority to CNB2006100045474A priority patent/CN100511253C/zh
Publication of JP2003173215A publication Critical patent/JP2003173215A/ja
Priority to US11/619,988 priority patent/US20070136611A1/en
Application granted granted Critical
Publication of JP4288893B2 publication Critical patent/JP4288893B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2147Locking files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2153Using hardware token as a secondary aspect

Abstract

(57)【要約】 【課題】 プログラム更新時のプログラムデータの漏洩
を防止する。 【解決手段】 制御部9は、第1のプログラムの更新を
要求するプログラム更新要求に応じて、第2のプログラ
ムを所定の暗号化鍵で暗号化した暗号化プログラムデー
タを受信する暗号化プログラムデータ受信部31と、暗
号化プログラムデータ受信部31で受信した暗号化プロ
グラムデータを所定の復号鍵を用いて第2のプログラム
に復号する復号部21aと、復号部21aで暗号化プロ
グラムデータから復号された第2のプログラムを、記憶
部22に書き込むプログラム書き込み部20,21と、
復号部21aで復号された第2のプログラム及び記憶部
22に書き込まれた第2のプログラムの外部装置からの
取り出しを制限する取り出し制限部31とを備えること
で実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置のプ
ログラム更新に関するものであり、詳しくはプログラム
の更新、又は、プログラムのロード時に、プログラムデ
ータの漏洩を阻止することでプログラムが改竄されるこ
とを防止する情報処理装置、プログラムロード方法、記
録媒体、プログラム更新方法及び回路素子に関する。
【0002】
【従来の技術】DVD(Digital Versatile Disc)は、
映画1本分相当の映像と音声のデジタルデータを記録で
きる記録容量を持つ光ディスクであり、ROM(DVD-RO
M:DVD-Read Only Memory)として利用されている。
【0003】DVD−ROMは劣化のないデジタルデー
タを記録しているため、記憶されているデジタルデータ
の違法コピーや、違法利用を防止するためにいくつかの
プロテクト機能が備えられている。
【0004】例えば、DVD−ROMを再生する際のプ
ロテクト機能としては、リージョナルコード(RC:Regi
onal Code)によ再生制限がある。リージョナルコード
とは、世界を6つに分けて、それぞれに付与した番号の
ことである。例えば、アメリカのリージョナルコード
は”1”であり、日本のリージョナルコードは”2”で
ある。
【0005】リージョナルコードは、DVD−ROMと
DVD−ROMを再生するDVD−ROMドライブ又は
DVD再生アプリケーションにそれぞれ与えられ、それ
ぞれのリージョナルコードが一致しないと、再生をする
ことができないようになっている。例えば、日本で生産
されたDVD−ROMドライブにはリージョナルコー
ド”2”が与えられているため、アメリカで生産された
リージョナルコード”1”のDVD−ROMを再生する
ことはできない。これは、映画などのコンテンツ制作者
を保護する目的で付けられたプロテクト機能である。
【0006】また、DVD−ROMには、デジタルコピ
ーを防止するプロテクト機能がある。これは、CSS
(Content Scrambling System)と呼ばれており、ファ
イル自体は、ハードディスクなどにコピー可能である
が、コピーしたファイルを再生させると暗号化されたデ
ータであるため、MPEG(Moving Picture Experts G
roup)データのデコードをできないようにさせることで
デジタルコピーを防止している。
【0007】他に、DVD−ROMには、アナログ出力
されたデータのコピーを防止するプロテクト機能や、デ
ジタル機器間でのデジタルデータのコピー世代を管理し
制限するプロテクト機能などがある。
【0008】このようなプロテクト機能は、DVD−R
OMドライブ内の所定のROMに書き込まれたファーム
ウエアと呼ばれるプログラムによって実行される。ファ
ームウエアは、ハードウエアを直接的に制御するソフト
ウエアをROMに書き込み、ハードウエア内に組み込ん
だものである。
【0009】DVD−ROMドライブの所定のROMに
書き込まれたプロテクト機能を実行するファームウエア
によって、不正に作成されたDVD−Videoを排除
することができる。
【0010】ところで、一般に、このようなファームウ
エアを書き換えたり変更することは困難であるが、例え
ば、PC(Personal Computer)などに接続し、PCの
制御によって作動するDVD−ROMドライブなどで
は、PCのOS(Operating System)がアップデートさ
れることに伴ってファームウエアもアップデートする必
要が生じてくる。したがって、このような、DVD−R
OMではファームウエアの更新を可能とするような構成
となっている。
【0011】また、PCと、DVD−ROMドライブと
の接続の相性がよくない場合なども、DVD−ROMド
ライブのファームウエアを更新することで改善させるこ
とができる。
【0012】ファームウエアを更新可能とするには、当
該ファームウエアを格納するROMにデータの電気的消
去が可能なプログラマブルROMであるEEPROM
(Electrically Erasable Programmable Read-Only Mem
ory)などの、いわゆるフラッシュメモリが用いられ
る。
【0013】
【発明が解決しようとする課題】しかし、このようなフ
ァームウエアを更新する場合、ファームウエアをDVD
−ROMドライブのメーカが提供するホームページなど
からインターネットで簡単にダウンロードできるため、
ユーザはファームウエアを簡単に入手することができ
る。
【0014】さらに、ユーザは入手したファームウエア
を改竄し、DVD−ROMドライブの所定のフラッシュ
メモリに格納することで、上述したDVD−ROMのプ
ロテクト機能を無効化させるといった問題がある。
【0015】上述したファームウエアに限らずプログラ
ムの改竄は、プログラムの転送を必要とする装置には必
ず生ずる問題である。改竄プログラムを使用した装置
は、期待される動作と異なる動作をしたり、さらに最悪
の場合には故障をしてしまうといった問題をも含んでい
る。
【0016】そこで、本発明は上述したような問題を解
決するために案出されたものであり、プログラムの更
新、又は、プログラムのロード時に、外部にプログラム
データが漏洩することによって生ずるプログラムの改竄
を阻止し、デジタルデータの不正利用を防止する情報処
理装置、プログラムロード方法、記録媒体、プログラム
更新方法及び回路素子を提供することを目的とする。
【0017】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明に係る情報処理装置は、所定のプログラム
を所定の暗号化鍵で暗号化した暗号化プログラムデータ
を受信する暗号化プログラムデータ受信手段と、上記暗
号化プログラムデータ受信手段で受信した上記暗号化プ
ログラムデータを所定の復号鍵を用いて上記所定のプロ
グラムに復号する復号手段と、上記復号手段で上記暗号
化プログラムデータから復号された上記所定のプログラ
ムを記憶する記憶手段と、上記記憶手段に記憶された上
記所定のプログラムを読み出すプログラム読み出し手段
と、上記読み出し手段によって読み出された上記所定の
プログラムに基づいて当該情報処理装置の所定の動作を
制御する制御手段とを備えることを特徴とする。
【0018】上述の目的を達成するために、本発明に係
るプログラムロード方法は、情報処理装置に所定のプロ
グラムをロードするためのプログラムロード方法であっ
て、上記所定のプログラムを所定の暗号化鍵で暗号化し
た暗号化プログラムデータを受信する暗号化プログラム
データ受信ステップと、上記暗号化プログラムデータ受
信ステップで受信した上記暗号化プログラムデータを所
定の復号鍵を用いて上記所定のプログラムに復号する復
号ステップと、上記復号ステップで上記暗号化プログラ
ムデータから復号された上記所定のプログラムを記憶手
段に記憶する記憶ステップと、上記記憶手段に記憶され
た上記所定のプログラムを読み出すプログラム読み出し
ステップと、上記読み出しステップによって読み出され
た上記所定のプログラムに基づいて当該情報処理装置の
所定の動作を制御する制御ステップとを備えることを特
徴とする。
【0019】上述の目的を達成するために、本発明に係
る記録媒体は、情報処理装置に所定のプログラムをロー
ドするためのプログラムを記録した記録媒体であって、
上記所定のプログラムを所定の暗号化鍵で暗号化した暗
号化プログラムデータを受信する暗号化プログラムデー
タ受信ステップと、上記暗号化プログラムデータ受信ス
テップで受信した上記暗号化プログラムデータを所定の
復号鍵を用いて上記所定のプログラムに復号する復号ス
テップと、上記復号ステップで上記暗号化プログラムデ
ータから復号された上記所定のプログラムを記憶手段に
記憶する記憶ステップと、上記記憶手段に記憶された上
記所定のプログラムを読み出すプログラム読み出しステ
ップと、上記読み出しステップによって読み出された上
記所定のプログラムに基づいて当該情報処理装置の所定
の動作を制御する制御ステップとを備えることを特徴と
するプログラムが記録されている。
【0020】上述の目的を達成するために、本発明に係
る情報処理装置は、第1のプログラムが記憶された記憶
手段と、上記記憶手段に記憶されている上記第1のプロ
グラムを読み出し、読み出した上記第1のプログラムに
基づいて当該情報処理装置の所定の動作を制御する制御
手段とを有する制御部を備えた情報処理装置であって、
上記制御部は、上記第1のプログラムの更新を要求する
プログラム更新要求に応じて、第2のプログラムを所定
の暗号化鍵で暗号化した暗号化プログラムデータを受信
する暗号化プログラムデータ受信手段と、上記暗号化プ
ログラムデータ受信手段で受信した上記暗号化プログラ
ムデータを所定の復号鍵を用いて上記第2のプログラム
に復号する復号手段と、上記復号手段で上記暗号化プロ
グラムデータから復号された第2のプログラムを、上記
記憶手段に書き込むプログラム書き込み手段と、上記復
号手段で復号された第2のプログラム及び上記記憶手段
に書き込まれた第2のプログラムの外部装置からの取り
出しを制限する取り出し制限手段とを備えることを特徴
とする。
【0021】上述の目的を達成するために、本発明に係
るプログラム更新方法は、第1のプログラムが記憶され
た記憶手段と、上記記憶手段に記憶されている上記第1
のプログラムを読み出し、読み出した上記第1のプログ
ラムに基づいて当該情報処理装置の所定の動作を制御す
る制御手段とを有する制御部を備えた情報処理装置のプ
ログラム更新方法であって、上記第1のプログラムの更
新を要求するプログラム更新要求に応じて、第2のプロ
グラムを所定の暗号化鍵で暗号化した暗号化プログラム
データを受信する暗号化プログラムデータ受信ステップ
と、上記受信した暗号化プログラムデータを所定の復号
鍵を用いて上記第2のプログラムに復号する復号ステッ
プと、上記復号された第2のプログラムの外部装置から
の取り出しを制限する取り出し制限ステップと、上記暗
号化プログラムデータから復号された第2のプログラム
を、上記記憶手段に書き込むプログラム書き込みステッ
プとを備えることを特徴とする。
【0022】上述の目的を達成するために、本発明に係
る記録媒体は、第1のプログラムが記憶された記憶手段
と、上記記憶手段に記憶されている上記第1のプログラ
ムを読み出し、読み出した上記第1のプログラムに基づ
いて所定の動作を制御する制御手段とを有する制御部を
備えた情報処理装置の上記第1のプログラムを更新する
ためのプログラムを記録した記録媒体であって、上記第
1のプログラムの更新を要求するプログラム更新要求に
応じて、第2のプログラムを所定の暗号化鍵で暗号化し
た暗号化プログラムデータを受信する暗号化プログラム
データ受信ステップと、上記受信した暗号化プログラム
データを所定の復号鍵を用いて上記第2のプログラムに
復号する復号ステップと、上記復号された第2のプログ
ラムの外部装置からの取り出しを制限する取り出し制限
ステップと、上記暗号化プログラムデータから復号され
た第2のプログラムを上記記憶手段に書き込むプログラ
ム書き込みステップとを備えることを特徴とするプログ
ラムが記録されている。
【0023】上述の目的を達成するために、本発明に係
る回路素子は、第1のプログラムが記憶された記憶手段
と、上記記憶手段に記憶されている上記第1のプログラ
ムを読み出し、読み出した上記第1のプログラムに基づ
いて情報処理装置の所定の動作を制御する制御手段とを
集積化した回路素子であって、上記第1のプログラムの
更新を要求するプログラム更新要求に応じて、第2のプ
ログラムを所定の暗号化鍵で暗号化した暗号化プログラ
ムデータを受信する暗号化プログラムデータ受信手段
と、上記暗号化プログラムデータ受信手段で受信した上
記暗号化プログラムデータを所定の復号鍵を用いて上記
第2のプログラムに復号する復号手段と、上記復号手段
で上記暗号化プログラムデータから復号された第2のプ
ログラムを、上記記憶手段に書き込むプログラム書き込
み手段と、上記復号手段で復号された第2のプログラム
及び上記記憶手段に書き込まれた第2のプログラムの外
部装置からの取り出しを制限する取り出し制限手段とを
集積化してなることを特徴とする。
【0024】上述の目的を達成するために、本発明に係
る情報処理装置は、第1のプログラムが記憶された記憶
手段と、上記記憶手段に記憶されている上記第1のプロ
グラムを読み出し、読み出した上記第1のプログラムに
基づいて当該情報処理装置の所定の動作を制御する制御
手段とを有する制御部を備えた情報処理装置であって、
上記第1のプログラムの更新を要求するプログラム更新
要求に応じて、第2のプログラムを所定の暗号化鍵で暗
号化した暗号化プログラムデータを受信する暗号化プロ
グラムデータ受信手段と、上記暗号化プログラムデータ
受信手段で受信した上記暗号化プログラムデータを所定
の復号鍵を用いて上記第2のプログラムに復号する復号
手段と、上記復号手段で上記暗号化プログラムデータか
ら復号された上記第2のプログラムを上記制御部に送信
するプログラム送信手段とを備え、上記制御部は、上記
送信手段によって送信された上記第2のプログラムを受
信するプログラム受信手段と、上記プログラム受信手段
で受信した上記第2のプログラムを上記記憶手段に書き
込むプログラム書き込み手段とを有することを特徴とす
る。
【0025】上述の目的を達成するために、本発明に係
るプログラム更新方法は、第1のプログラムが記憶され
た記憶手段と、上記記憶手段に記憶されている上記第1
のプログラムを読み出し、読み出した上記第1のプログ
ラムに基づいて当該情報処理装置の所定の動作を制御す
る制御手段とを有する制御部を備えた情報処理装置のプ
ログラム更新方法であって、上記第1のプログラムの更
新を要求するプログラム更新要求に応じて、第2のプロ
グラムを所定の暗号化鍵で暗号化した暗号化プログラム
データを受信する暗号化プログラムデータ受信ステップ
と、上記暗号化プログラムデータ受信ステップで受信し
た上記暗号化プログラムデータを所定の復号鍵を用いて
上記第2のプログラムに復号する復号ステップと、上記
復号ステップで上記暗号化プログラムデータから復号さ
れた上記第2のプログラムを上記制御部に送信するプロ
グラム送信ステップとを備え、上記プログラム送信ステ
ップによって上記制御部に送信された上記第2のプログ
ラムを受信するプログラム受信ステップと、上記プログ
ラム受信ステップで受信した上記第2のプログラムを上
記記憶手段に書き込むプログラム書き込みステップとを
有することを特徴とする。
【0026】上述の目的を達成するために、本発明に係
る記録媒体は、第1のプログラムが記憶された記憶手段
と、上記記憶手段に記憶されている上記第1のプログラ
ムを読み出し、読み出した上記第1のプログラムに基づ
いて当該情報処理装置の所定の動作を制御する制御手段
とを有する制御部を備えた情報処理装置の上記第1のプ
ログラムを更新するためのプログラムを記録した記録媒
体であって、上記第1のプログラムの更新を要求するプ
ログラム更新要求に応じて、第2のプログラムを所定の
暗号化鍵で暗号化した暗号化プログラムデータを受信す
る暗号化プログラムデータ受信ステップと、上記暗号化
プログラムデータ受信ステップで受信した上記暗号化プ
ログラムデータを所定の復号鍵を用いて上記第2のプロ
グラムに復号する復号ステップと、上記復号ステップで
上記暗号化プログラムデータから復号された上記第2の
プログラムを上記制御部に送信するプログラム送信ステ
ップとを備え、上記プログラム送信ステップによって上
記制御部に送信された上記第2のプログラムを受信する
プログラム受信ステップと、上記プログラム受信ステッ
プで受信した上記第2のプログラムを上記記憶手段に書
き込むプログラム書き込みステップとを有することを特
徴とするプログラムが記録されている。
【0027】上述の目的を達成するために、本発明に係
る情報処理装置は、所定のデータ処理を行うデータ処理
部を備えた情報処理装置であって、上記データ処理部
は、所定のプログラムを所定の暗号化鍵で暗号化した暗
号化プログラムデータを受信する暗号化プログラムデー
タ受信手段と、上記暗号化プログラムデータ受信手段で
受信した上記暗号化プログラムデータを所定の復号鍵を
用いて上記所定のプログラムに復号する復号手段と、上
記復号手段で上記暗号化プログラムデータから復号され
た上記所定のプログラムを記憶する記憶手段と、上記記
憶手段に記憶された上記所定のプログラムを読み出すプ
ログラム読み出し手段と、上記プログラム読み出し手段
によって読み出された上記所定のプログラムに基づい
て、当該データ処理部における所定のデータ処理動作を
制御する第1の制御手段と、上記復号手段で復号された
上記所定のプログラム及び上記記憶手段に記憶された上
記所定のプログラムの外部装置からの取り出しを制限す
る取り出し制限手段とを有することを特徴とする。
【0028】上述の目的を達成するために、本発明に係
るプログラムロード方法は、所定のデータ処理を行うデ
ータ処理部を備えた情報処理装置の上記データ処理部で
のプログラムロード方法であって、所定のプログラムを
所定の暗号化鍵で暗号化した暗号化プログラムデータを
受信する暗号化プログラムデータ受信ステップと、上記
プログラムデータ受信ステップで受信した上記暗号化プ
ログラムデータを所定の復号鍵を用いて上記所定のプロ
グラムに復号する復号ステップと、上記復号された上記
所定のプログラムの外部装置からの取り出しを制限する
取り出し制限ステップと、上記復号ステップで上記暗号
化プログラムデータから復号された上記所定のプログラ
ムを記憶手段に記憶させる記憶ステップと、上記記憶手
段に記憶された上記所定のプログラムを読み出すプログ
ラム読み出しステップと、上記プログラム読み出しステ
ップによって読み出された上記所定のプログラムに基づ
いて、当該データ処理部における所定のデータ処理動作
を制御する制御ステップと有することを特徴とする。
【0029】上述の目的を達成するために、本発明に係
る記録媒体は、所定のデータ処理を行うデータ処理部を
備えた情報処理装置の上記データ処理部で所定のプログ
ラムをロードするためのプログラムを記録した記録媒体
であって、上記所定のプログラムを所定の暗号化鍵で暗
号化した暗号化プログラムデータを受信する暗号化プロ
グラムデータ受信ステップと、上記プログラムデータ受
信ステップで受信した上記暗号化プログラムデータを所
定の復号鍵を用いて上記所定のプログラムに復号する復
号ステップと、上記復号された上記所定のプログラムの
外部装置からの取り出しを制限する取り出し制限ステッ
プと、上記復号ステップで上記暗号化プログラムデータ
から復号された上記所定のプログラムを記憶手段に記憶
する記憶ステップと、上記記憶手段に記憶された上記所
定のプログラムを読み出すプログラム読み出しステップ
と、上記プログラム読み出しステップによって読み出さ
れた上記所定のプログラムに基づいて、上記データ処理
部における所定のデータ処理動作を制御する制御ステッ
プと有することを特徴とするプログラムが記録されてい
る。
【0030】上述の目的を達成するために、本発明に係
る回路素子は、情報処理装置の所定のデータ処理を行う
データ処理手段を集積化した回路素子であって、所定の
プログラムを所定の暗号化鍵で暗号化した暗号化プログ
ラムデータを受信する暗号化プログラムデータ受信手段
と、上記暗号化プログラムデータ受信手段で受信した上
記暗号化プログラムデータを所定の復号鍵を用いて上記
所定のプログラムに復号する復号手段と、上記復号手段
で上記暗号化プログラムデータから復号された上記所定
のプログラムを記憶する記憶手段と、上記記憶手段に記
憶された上記所定のプログラムを読み出すプログラム読
み出し手段と、上記プログラム読み出し手段によって読
み出された上記所定のプログラムに基づいて、上記デー
タ処理手段における所定のデータ処理動作を制御する第
1の制御手段と、上記復号手段で復号された上記所定の
プログラム及び上記記憶手段に記憶された上記所定のプ
ログラムの外部装置からの取り出しを制限する取り出し
制限手段とを集積化してることを特徴とする。
【0031】
【発明の実施の形態】以下、本発明に係る情報処理装
置、プログラムロード方法、記録媒体、プログラム更新
方法及び回路素子の実施の形態を図面を参照にして詳細
に説明する。
【0032】まず、図1に第1の実施の形態として示す
DVD−ROMドライブの構成について説明をする。
【0033】DVD−ROMドライブは、DVD−RO
M(Digital Versatile Disc-ReadOnly Memory)1を所
定の箇所に装着し、装着したDVD−ROM1を再生す
る装置である。DVD−ROMドライブは、PC(Pers
onal Computer)10に接続され、装着したDVD−R
OM1の再生動作などの各種動作は、接続されたPC1
0によって制御される。
【0034】DVD−ROMドライブは、光学ピックア
ップユニット2と、スピンドルモータ3と、リードプロ
セッサ4と、光学ピックアップユニットドライバ5と、
スピンドルモータドライバ6と、DVDデコーダ7と、
バッファメモリ8と、CPU9とを備える。
【0035】光学ピックアップユニット2は、図示しな
いが、所定の波長のレーザ光を出射するレーザダイオー
ドと、レーザダイオードから出射された所定の波長のレ
ーザ光をDVD−ROM1のデータ記録面に集光して出
射し、DVD−ROM1のデータ記録面で反射された反
射光を集光して出射する対物レンズと、所定の制御信号
に応じて上記対物レンズを搭載し対物レンズを駆動させ
フォーカス調整及びトラッキング調整を行う2軸アクチ
ュエータと、DVD−ROM1のデータ記録面で反射さ
れた反射光を受光し電気信号に変換することでデータ記
録面のピットの有無を検出するフォトディテクタとを備
えている。フォトディテクタで検出された電気信号は、
一般にRF(Radio Frequency)信号と呼ばれている。
【0036】また、当該光学ピックアップユニット2に
は、当該光学ピックアップユニット2をDVD−ROM
1の半径方向に駆動させるスレッドモータが備えられて
いる。
【0037】さらにまた、当該DVD−ROMドライブ
が、図示しないディスクトレイにDVD−ROM1を載
せてローディングする機構を備えている場合は、このデ
ィスクトレイを動作させるローディングモータもこの光
学ピックアップユニット2に備えられていてもよい。
【0038】スピンドルモータ3は、装着されたDVD
−ROM1を回転駆動させるモータである。
【0039】リードプロセッサ4は、光学ピックアップ
ユニット2が備えるフォトディテクタで検出されたRF
信号からDVD読み出し用EFM+(Eight to Fourtee
n Plus Modulation)信号と、フォーカスサーボ用のF
E(Focus Error)信号、トラッキングサーボ用のTE
(Tracking Error)信号、Pull−in信号を生成
し、後述するDVDデコーダ7のサーボ制御部12に送
出する。
【0040】光学ピックアップユニットドライバ5は、
所定の制御信号に応じて上述の光学ピックアップユニッ
ト2の図示しない2軸アクチュエータ、スレッドモー
タ、ローディングモータをそれぞれ駆動させるドライバ
IC(Integrated Circuit)である。
【0041】スピンドルモータドライバ6は、所定の制
御信号に応じて上述のスピンドルモータ3を駆動させる
ドライバICである。
【0042】DVDデコーダ7は、DVD信号処理部1
1と、サーボ制御部12と、ディスク回転制御部13
と、メモリ制御部14と、ATAPI(AT Attachment
with Packet Interface)15と、CPU I/F16
とを備えている。
【0043】DVD信号処理部11は、RS−PC復号
器、アドレス検出のためのID処理、8/16変換回
路、記録可能メディアか否かを判定するためのWobb
leディテクタを備えている。
【0044】サーボ制御部12は、リードプロセッサ4
から送信されたFE信号、TE信号、Pull−in信
号に応じて、光学ピックアップユニット2の2軸アクチ
ュエータ、スレッドモータを駆動制御するための制御信
号を生成し、光学ピックアップユニットドライバ5へ送
出する。
【0045】ディスク回転制御部13は、DVD−RO
M1を装着したスピンドルモータ3の回転を制御する制
御信号を生成し、スピンドルモータドライバ6へ送出す
る。
【0046】メモリ制御部14は、バッファメモリ8へ
データの書き込み、読み出しを制御する。
【0047】ATAPI15は、PC10と、当該DV
D−ROMドライブとを接続し、データのやり取りを行
うためのインターフェースである。
【0048】なお、PC10と接続するためのインター
フェースは、このATAPI15以外にも、例えば、S
CSI(Small Computer System Interface)、USB
(Universal Serial Bus)、IEEE(Institute of E
lectrical and Electronics Engineers)1394など
であってもよい。
【0049】CPU I/F16は、当該DVDデコー
ダ7とCPU9とを接続し、CPU9から当該DVDデ
コーダ7を制御するためのインターフェースである。ま
た、CPU I/F16は、バッファメモリ8に記憶さ
れているデータを読み出したり、バッファメモリ8にデ
ータを書き込んだりする。
【0050】バッファメモリ8は、例えば、DRAM
(Dynamic Random-Access Memory)などのランダムアク
セス可能なメモリであり、DVD信号処理部11から送
出されたデータ、PC10から送出されたデータ、CP
U9から送出されたデータを一時的にを記憶する。
【0051】CPU9は、CPU I/F16でDVD
デコーダ7と接続され、DVD−ROMドライブの各機
能を統括的に制御する。CPU9の構成及び機能につい
ては、後で詳細に説明をする。
【0052】PC10は、DVD−ROMドライブと、
DVDデコーダ7のATAPI15などで接続され、D
VD−ROMドライブの動作、例えば、再生、停止、デ
ータ検索などを、所定のコマンドを入力することで制御
する。ユーザは、PC10を介して、DVD−ROM1
の各種データを利用することができる。
【0053】続いて、CPU9の構成について詳細に説
明をする。
【0054】CPU9は、CPUコア20と、ブートR
OM21と、フラッシュROM22と、RAM23と、
入力/出力ポート24と、書き込みタイミング制御用タ
イマー25と、割り込み制御回路26と、シリアル通信
回路27と、32bitバス28、16bitバス29
と、ブリッジ回路30と、外部バスコントローラ31と
を備えている。
【0055】CPUコア20は、CPU9における中心
部分で四則演算や比較判断をする論理演算装置や加算回
路、レジスタなどを備えている。
【0056】ブートROM21は、例えば、データの電
気的消去が可能なプログラマブルROMであるEEPR
OM(Electrically Erasable Programmable Read-Only
Memory)などのいわゆるフラッシュメモリである。
【0057】ブートROM21には、フラッシュROM
22に記憶されたプログラムをアップデートする際に起
動させるブートプログラムを格納している。このブート
プログラムを起動させるには、例えば、CPU9に設け
られた端子に所定の電圧を印加することで実行する。上
述の端子に所定の電圧が印加されると、ブートプログラ
ムが先頭アドレスから読み出されブートプログラムが実
行される。
【0058】またブートROM21は、暗号化され送信
されたファームウエアを解読するために用いる共通鍵を
プログラムとして格納すると共に、この共通鍵を用いて
暗号化されたファームウエアを解読する暗号解読アルゴ
リズムを格納した暗号化処理部21aを備えている。
【0059】フラッシュROM22は、ブートROM2
1と同様に、例えば、データの電気的消去が可能なプロ
グラマブルROMであるEEPROMなどのいわゆるフ
ラッシュメモリである。
【0060】フラッシュROM22には、ファームウエ
アが格納され、当該DVD−ROMドライブの再生制限
をするプログラムであるファームウエアが格納される。
フラッシュROM22に格納されたファームウエアは、
DVD−ROMドライブの所定の動作、例えば、DVD
−ROM1の再生制限や、デジタルコピーの制限をする
プログラムである。
【0061】また、フラッシュROM22に代えてTM
R(Tunneling Magneto Resistive)素子を用いたMR
AM(Magnetic Random Access Memory)を使用しても
よい。MRAMは、磁気によってデータを記憶するメモ
リであるためデータのオーバーライトが可能である。し
たがって、ファームウエアを更新する際に、MRAMに
記憶されているデータ、つまり更新前のファームウエア
の消去動作が不要となる。
【0062】ここで、図2を用いて、共通鍵について説
明をする。
【0063】図2に示すように、例えば、平文データを
暗号化する際は所定の暗号化鍵を用いて暗号化データに
変換し、再び暗号化データを復号する際は所定の復号鍵
を用いて平文データとする。
【0064】言い換えると、暗号化鍵は、平文データや
情報を暗号化する時に用いられ、復号鍵は、暗号化され
たデータや情報をもとの平文データや情報に戻す時に用
いられる。
【0065】共通鍵とは、上述のようにデータを暗号化
する際に用いる暗号化鍵と、暗号化されたデータを復号
する際に用いる復号鍵とが共通である鍵のことである。
この共通鍵の情報は、公開されず秘密にしておくことか
ら秘密鍵とも呼ばれている。
【0066】なお、ブートROM21及びフラッシュR
OM22は2つの異なるフラッシュROMを用いるよう
に記載しているが、これを1つのフラッシュROMと
し、このフラッシュROMの記憶領域をブート領域、プ
ログラム領域のように分割するようにしてもよい。
【0067】RAM23は、記憶内容維持のためのリフ
レッシュ動作が不要で高速アクセス可能なSRAM(St
atic Random Access Memory)などであり、フラッシュ
ROM22に格納されているファームウエアをアップデ
ートする際にデータ及びアップデート用プログラムの展
開領域となる。
【0068】一般にフラッシュメモリでは、当該フラッ
シュメモリに記憶されているデータをアップデートする
際、自分自身でプログラムを実行することができない。
したがって、ファームウエアのアップデート時には、バ
ッファメモリ8から転送されるファームウエアのデータ
と共にアップデート用のアップデート関数がブートRO
M21からRAM23にコピーされる。
【0069】入力/出力ポート24は、当該CPU9に
データの入力ポート、及び、当該CPU9から出力する
データの出力ポートである。
【0070】書き込みタイミング制御用タイマー25
は、フラッシュROM22のファームウエアをアップデ
ートする際の書き込みのタイミングを制御する。
【0071】割り込み制御回路26は、所定の割り込み
発生に応じて現在実行中の処理を中断し割り込みプログ
ラムを実行させるよう制御する回路である。
【0072】シリアル通信回路27は、シリアルデータ
を送受信するインターフェースである。
【0073】32bitバス28は、一度に32bit
のデータを伝送可能なバスである。
【0074】16bitバス29は、一度に16bit
のデータを伝送可能なバスである。
【0075】ブリッジ回路30は、32bitバス28
と、16bitバス29とを接続する回路である。
【0076】外部バスコントローラ31は、当該CPU
9と外部装置であるDVDデコーダ7との間で伝送され
るデータを監視し、DVDデコーダ7とのデータ入出力
を制御をする。また、外部バスコントローラ31は、当
該CPU9内のブートROM21及びフラッシュROM
22に格納されているプログラムとRAM23をユーザ
レベルでは参照できないような保護機能を備えている。
これにより、共通鍵、暗号化処理部21a及び復号され
たファームウエアをCPU9から取り出すことを制限す
ることができる。
【0077】続いて、図3に示すフローチャートを用い
て、フラッシュROM22に記憶されたファームウエア
をアップデートする際の動作について説明をする。
【0078】まず、ステップS1において、CPU9の
CPUコア20は、ブート端子にかけられた電圧がHI
GHレベル(High Level)であった場合、工程をステッ
プS2へと進め、LOWレベル(Low Level)であった
場合、工程をステップS4へと進める。
【0079】ステップS2からの工程はフラッシュRO
M22に記憶されているプログラムを実行する工程であ
り、ステップS4からの工程はブートROM21に記憶
されいるブートプログラムを起動させ、ファームウエア
をアップデートする工程である。
【0080】ステップS2において、CPUコア20
は、フラッシュROM22のプログラム、例えば、ファ
ームウエアなどが記録されているプログラム領域の先頭
アドレスへアクセスする。
【0081】ステップS3において、CPUコア20は
アクセスしたフラッシュROM22のプログラム領域に
記憶されているプログラムに応じて、DVD−ROM1
に対して通常処理、例えば、再生処理、データ検索処理
などを実行する。
【0082】ステップS4において、ブート端子にLO
Wレベルの電圧がかかったことに応じて、ブートROM
21のブートプログラムが記憶されているブート領域の
先頭アドレスがCPUコア20に読み込まれ、ブートプ
ログラムが起動する。
【0083】ステップS5において、CPUコア20
は、当該DVD−ROMドライブの全ポートを初期化す
る。これによりDVD−ROMドライブのメカ系及び電
気系の破壊が防止される。
【0084】ステップS6において、CPUコア20
は、PC10からNot Ready状態で実行可能な
コマンドが入力されたかどうかを判断する。ここでいう
NotReady状態とは、当該DVD−ROMドライ
ブにDVD−ROM1が装着されていない、或いはDV
D−ROM1がCPU9に認識されていない状態を示
し、Not Ready状態で実行可能なコマンドと
は、DVD−ROM1が認識されていないくても実行可
能なコマンドである。例えば、DVD−ROM1から所
定のデータを読み出せというようなコマンドは、Not
Readyでは実行不可能なコマンドである。
【0085】Not Ready状態で実行可能なコマ
ンドが入力された場合は工程をステップS8へと進め、
実行不可能なコマンドが入力された場合は工程をステッ
プS7へと進める。
【0086】ステップS7において、CPUコア20
は、Not Ready状態で実行不可能なコマンドが
入力されたことに応じて、Check Conditi
onStatusでコマンドを完了させ、工程を再びス
テップS6へと戻す。
【0087】ステップS8において、CPUコア20
は、フラッシュROM22のプログラム更新を指示する
Writeバッファコマンド(Write Buffer Command)
とは異なるコマンドがPC10から送信された場合は工
程をステップS9へと進め、Writeバッファコマン
ドが送信された場合は工程をステップS10へと進め
る。
【0088】ステップS9において、CPUコア20
は、Writeバッファコマンドとは異なるコマンドが
入力されたことに応じて、入力されたコマンドを実行す
る。
【0089】PC10は、DVD−ROMドライブにW
riteバッファコマンドを送信した後、アップデート
するファームウエアを共通鍵で暗号化したファームウエ
ア暗号化データをバイナリーファイルとしてDVD−R
OMドライブに送信する。
【0090】ステップS10において、CPUコア20
は、Writeバッファコマンドを受信したことに応じ
て、バッファメモリ8のデータ記憶領域の所定のアドレ
スNから2×M(Mは自然数)KB分の領域を確保し、
PC10から送信されるバイナリファイルを上記確保し
たデータ記憶領域に記憶させる。
【0091】CPUコア20はバイナリーファイルを受
信すると、全バイナリーデータを加算してCheck
Sumデータを生成し、バイナリーファイルと共にバッ
ファメモリ8に記憶させる。Check Sumデータ
は、送られてきたプログラムがエラーなく受信されたこ
とを確認するためのデータで、送信された全てのデータ
を加算することで得られる。
【0092】ステップS11において、CPUコア20
は、ステップS10でバッファメモリ8に格納したCh
eck Sumデータを検証し、送信されたファームウ
エア暗号化データが正しく受信されたかどうかを確認す
る。正しく受信されている場合は工程をステップS13
へと進め、正しく受信されていない場合は工程をステッ
プS12へと進める。
【0093】ステップS12において、CPUコア20
は、ステップS11でのCheckSumデータの検証
結果から正しくバイナリファイルが送信されなかったこ
とを、Check Condition Status
でコマンドを完了させることでPC10に知らせ、工程
を再びステップS6へと戻す。
【0094】ステップS13において、CPUコア20
は、ブートROM21に記憶されている、ファームウエ
アをアップデートする際に使用するアップデート(up
date)関数をRAM23にコピーする。
【0095】アップデート関数は、RAM23にコピー
され、RAM23に展開されることでファームウエアを
フラッシュROM22にアップデートするためのアップ
デートプログラムとして機能する。
【0096】続いて、図4に示すフローチャートを用い
てアップデート(update)関数による処理動作に
ついて説明をする。
【0097】ステップS21において、CPUコア20
は、RAM23に格納されたアップデート関数の先頭ア
ドレスにアクセスし、アップデート関数によるファーム
ウエアのフラッシュROM22へのアップデートを開始
する。
【0098】ステップS22において、CPUコア20
は、割り込み制御回路26を制御して全ての割り込みプ
ログラムの実行と、例外処理の実行を禁止する。
【0099】さらに、CPUコア20は、PC10から
入力されたWriteバッファコマンドを受信したこと
に応じて、フラッシュROM22のファームウエア格納
領域に記憶されているデータを消去する。
【0100】なお、フラッシュROM22に代えて上述
したMRAMを使用した場合、当該MRAMがデータの
オーバーライトが可能なため記憶されているファームウ
エアの消去動作は不要となる。
【0101】ステップS23において、CPUコア20
は、フラッシュROM22への書き込みタイミングを制
御する書き込みタイミング制御用タイマー25を起動さ
せる。
【0102】以下、フラッシュROM22へデータを書
き込む際は、書き込みタイミング制御用タイマー25の
タイミング制御に基づいて実行される。
【0103】ステップS24において、CPUコア20
は、ファームウエア暗号化データのバイナリファイルが
記憶されているバッファメモリ8のアドレス番号Nと、
ファームウエアを記憶させるフラッシュROM22のア
ドレス番号0にアクセスをする。
【0104】ステップS25において、CPUコア20
は、バッファメモリ8のアドレス番号Nから2KB分の
アドレス番号までのデータを読み出しRAM23にコピ
ーする。
【0105】ステップS26において、CPUコア20
は、RAM23内にコピーされた2KB分のデータを8
Byteごと読み出し、ブートROM21内の共通鍵
と、暗号化処理部21aに記憶されている暗号解読アル
ゴリズムとで復号する。CPUコア20は、復号した2
KB分のデータ、つまり暗号解読されたファームウエア
データを再びRAM23内に記憶させ展開する。
【0106】ステップS27において、CPUコア20
は、RAM23内に記憶された2KBのファームウエア
データをRAM23から読み出し、フラッシュROM2
2のアドレス番号0から書き込む。
【0107】ステップS28において、CPUコア20
は、フラッシュROM22に記憶させたファームウエア
データの最終アドレス番号が、2×M(Mは自然数)と
なったら工程をステップS30へと進め、そうでない場
合は工程をステップS29へと進める。
【0108】ステップS29において、CPUコア20
は、バッファメモリ8のアドレス番号及びフラッシュR
OM22のアドレス番号を2KB増やしたアドレス番号
へアクセスをする。この工程が終了するとステップS2
5へと戻る。
【0109】ステップS30において、CPUコア20
は、フラッシュROM22への書き込みタイミングを制
御する書き込みタイミング制御用タイマー25を停止さ
せる。
【0110】ステップS31において、ステップS28
で、フラッシュROM22に記憶されたファームウエア
データの最終アドレス番号が2×M(Mは自然数)であ
ると判定され、ステップS30で書き込みタイミング制
御用タイマー25が停止されたことで、ファームウエア
のフラッシュROM22へのアップデートが完了する。
【0111】ステップS32において、ステップS31
でファームウエアのアップデートが完了したことに応じ
て、CPUコア20は、フラッシュROM22のプログ
ラム領域の先頭アドレスへアクセスをする。
【0112】ステップS33において、CPUコア20
はアクセスしたフラッシュROM22のプログラム領域
に記憶されているプログラム、つまり、更新された後の
ファームウエアに応じて、DVD−ROM1に対して通
常処理、例えば、再生処理、データ検索処理などを実行
する。
【0113】このようにして、本発明を適用したDVD
−ROMドライブでは、フラッシュROM22に格納さ
れているファームウエアをアップデートする際、PC1
0から共通鍵を用いて暗号化したファームウエア暗号化
データを、CPU9内のブートROM21の暗号化処理
部で共通鍵を用いて復号し、フラッシュROM22に書
き込むことで、外部にファームウエアデータが漏洩する
ことを防ぐことができる。
【0114】また、図4に示したフローチャートでは、
暗号化されたファームウエア暗号化データをPC10か
ら受信し、受信したファームウエア暗号化データを解読
してフラッシュROM22に書き込む手法について記載
しているが、PC10から暗暗号化されていないデータ
が送信された場合は、図5に示すように、図4のステッ
プS25〜ステップS27の工程をステップS25aの
ように、バッファメモリ8から直接フラッシュROM2
2に直接書き込むよう変更することで実行することが可
能となる。
【0115】次に、図6に示すフローチャートを用い
て、フラッシュROM22にファームウエアをアップデ
ートした結果をPC10で検証する際の処理動作につい
て説明をする。
【0116】ステップS41において、PC10は、フ
ラッシュROM22に格納されているファームウエアの
転送を要求するReadバッファコマンド(Read Buffe
r Command)をDVD−ROMドライブへ送信する。
【0117】ステップS42において、PC10から送
信されたReadバッファコマンドを受信したことに応
じて、CPUコア20は、フラッシュROM22の先頭
アドレスからフラッシュROM22に記憶されているフ
ァームウエアの2KB分のデータを読み出す。
【0118】ステップS43において、CPUコア20
は、読み出した2KB分のデータを、RAM23又は当
該CPUコア20のレジスタに書き込み記憶させる。
【0119】ステップS44において、CPUコア20
は、ブートROM21の暗号化処理部21aを制御し、
共通鍵を用いて暗号化処理部21aに格納されている暗
号解読アルゴリズムに従って、RAM23又は当該CP
Uコア20のレジスタに記憶されている2KB分のファ
ームウエアデータを読み出して暗号化する。
【0120】ステップS45において、CPUコア20
は、暗号化した2KB分のファームウエアデータをバッ
ファメモリ8へ転送し、格納させる。
【0121】ステップS46において、CPUコア20
は、フラッシュROM22に格納されているファームウ
エアデータを全て読み出したかどうかを検出する。ファ
ームウエアデータを全て読み出した場合は工程をステッ
プS47へと進め、まだ、全てのファームウエアデータ
が読み出されていない場合は工程をステップS42へと
戻す。
【0122】ステップS47において、フラッシュRO
M22に格納されているファームウエアデータが全て読
み出され、暗号化されてバッファメモリ8に格納された
ことに応じて、CPUコア20は、バッファメモリ8に
格納されているファームウエア暗号化データをPC10
へと転送する。
【0123】転送されたファームウエア暗号化データ
は、PC10にて暗号化されたまま、元データと比較さ
れ一致が確認される。
【0124】このようにしてPC10は、DVD−RO
MドライブのフラッシュROM22にファームウエアが
確実に更新されているかどうかを検証することができ
る。その際に、CPU9内でファームウエアは暗号化さ
れPC10へと送信されるので、途中の送信経路などで
平文のファームウエアを入手することはできないため、
ファームウエアの解析や改竄などを防ぐことができる。
【0125】また、上述したように、図1の構成のDV
D−ROMドライブのCPU9ではファームウエア暗号
化データの復号をブートROM21に記憶されている暗
号解読アルゴリズムというプログラムで実行している
が、図7に示すようにプログラムである暗号処理部を共
通鍵暗号化処理部32のようにハードウエア化して、C
PU9を再構成してもよい。
【0126】このように共通鍵暗号化処理部32を備え
るCPU9は、暗号化処理が高速となるため、ファーム
ウエアのアップデートをより高速に実行させることがで
きる。その際のアップデート処理の動作は、上述の図
3、図4で示したフローチャートと同様の動作であるた
め省略をする。
【0127】上述の説明では、図1に示したようにPC
10から送信される暗号化されたファームウエアを、C
PU9自身で解読し、CPU9に備えられたフラッシュ
ROM22にアップロードする構成となっていた。CP
U9は、暗号化されたファームウエアを解読する暗号化
処理部としてブートROM21を備えている。
【0128】このように、CPU9に備えられたブート
ROM21のように暗号化されたファームウエアの暗号
を解読する暗号化処理部を図1で示したDVDデコーダ
7に搭載することも可能である。暗号化処理部を搭載す
るようにDVDデコーダ7をカスタマイズすることは、
より現実的な構成であるといえる。
【0129】図8に第2の実施の形態として示す、DV
Dデコーダに暗号化されたファームウエアを解読する復
号部17を搭載させたDVD−ROMドライブについて
説明をする。
【0130】図8に示したDVD−ROMドライブにお
けるDVDデコーダ7’は、PC10から入力される暗
号化されたファームウエアを解読するための復号部17
と、フラッシュROM38に格納された平文のファーム
ウエアをPC10にて検証する際に暗号化する暗号化部
18とが、図1で示したDVDデコーダ7に付加された
構成となっている。
【0131】復号部17、暗号化部18は、暗号化の手
法として、キーストリーム(鍵ストリーム)と呼ばれる
乱数(擬似乱数)を暗号化鍵として平文を暗号化する共
通鍵暗号の1つであるストリーム暗号を解析することが
できる。ストリーム暗号方式による暗号化及び復号は、
1ビット又は数ビット(例えば、1バイト)の小データ
ブロックごとに逐次行われる。
【0132】復号部17は、ストリーム暗号に対応して
いる場合は、図9に示すようにSEEDデータ格納部1
7aと、乱数生成部17bと、排他的論理和演算部17
cとを備えている。
【0133】SEEDデータ格納部17aは、乱数生成
部17bの初期入力値であり共通鍵に相当するSEED
データを格納しており、CPUコア36からの指示に応
じて格納しているSEEDデータを乱数生成部17bに
出力する。
【0134】また、SEEDデータ格納部17aに格納
されるSEEDデータは、固定された値があらかじめ格
納されていてもよいし、CPUコア36から適時、設定
可能としてもよい。
【0135】乱数生成部17bは、SEEDデータ格納
部17aからSEEDデータが入力されたことに応じて
所定のアルゴリズムで乱数を生成し、排他的論理和演算
部17cに出力する。
【0136】排他的論理和演算部17cは、バッファメ
モリ8から所定のデータ長単位で読み出される、暗号化
されたファームウエアデータであるファームウエア暗号
化データと、上記乱数生成部17bから出力される乱数
とで排他的論理和をとることで復号し、復号された平文
のファームウエアデータをCPU35内のフラッシュR
OM38へと出力する。
【0137】暗号化部18は、ストリーム暗号に対応し
ている場合は、図10に示すようにSEEDデータ格納
部18aと、乱数生成部18bと、排他的論理和演算部
18cとを備えている。
【0138】SEEDデータ格納部18aは、乱数生成
部18bの初期入力値であり共通鍵に相当するSEED
データを格納しており、CPUコア36からの指示に応
じて格納しているSEEDデータを乱数生成部18bに
出力する。
【0139】また、SEEDデータ格納部18aに格納
されるSEEDデータは、固定された値があらかじめ格
納されていてもよいし、CPUコア36から適時、設定
可能としてもよい。
【0140】なお、SEEDデータ格納部18aから乱
数生成部18bに入力されるSEEDデータは、上述し
た復号部17において、SEEDデータ格納部17aか
ら乱数生成部17bに入力されるSEEDデータと同じ
データである。
【0141】乱数生成部18bは、SEEDデータ格納
部18aからSEEDデータが入力されたことに応じて
所定のアルゴリズムで乱数を生成し、排他的論理和演算
部18cに出力する。
【0142】なお、乱数生成部18aで乱数生成に用い
るアルゴリズムは、上述した復号部17の乱数生成部1
7bで乱数生成に用いるアルゴリズムと同じものであ
る。
【0143】排他的論理和演算部18cは、フラッシュ
メモリ38から所定のデータ長単位で読み出される、平
文のファームウエアデータと、上記乱数生成部18bか
ら出力される乱数とで排他的論理和をとることで暗号化
し、暗号化されたファームウエア暗号化データをバッフ
ァメモリ8へと出力する。
【0144】CPU35は、CPUコア36と、RAM
37と、フラッシュROM38とを備えている。CPU
35は、CPU I/F16を介してDVDデコーダ
7’と接続されている。
【0145】CPUコア36は、図1で示したCPUコ
ア20と同様に、CPU35の中心部分で四則演算や比
較判断をする論理演算装置や加算回路、レジスタなどを
備えている。
【0146】RAM37は、図1で示したRAM23と
同様に、記憶内容維持のためのリフレッシュ動作が不要
で高速アクセス可能なSRAMなどであり、フラッシュ
ROM38内に格納されているファームウエアをアップ
デートする際にデータ及びアップデート用プログラムの
展開領域となる。
【0147】フラッシュROM38は、例えば、データ
の電気的消去が可能なプログラマブルROMであるEE
PROMなどのいわゆるフラッシュメモリである。フラ
ッシュROM38は、図1で示したフラッシュROM2
2と同様に、当該DVD−ROMドライブの再生制限を
するプログラムであるファームウエアが格納される。
【0148】DVDデコーダ7’の復号部17で復号さ
れた平文のファームウエアデータは、CPU I/F1
6を介してCPU35内のフラッシュROM38に出力
される。
【0149】なお、フラッシュROM38でも、図1に
示したDVD−ROMドライブのCPU9内に備えられ
たフラッシュROM22と同様にTMR素子を用いたM
RAMを使用することも可能である。
【0150】図8に示したDVD−ROMドライブで
は、DVDデコーダ7’で復号された平文のファームウ
エアデータは、平文のままCPU35に転送されること
になる。そのため、転送される際に配線などが操作さ
れ、平文のファームウエアデータが盗み見られてしまう
可能性がある。
【0151】したがって、平文のファームウエアが流れ
る箇所であるDVDデコーダ7’と、CPU35との間
の配線を、多層基板を使って内層に施すようにしたり、
半導体パッケージをピンのでないボールグリッドアレイ
などにするといった処理が必要となる。
【0152】なお、図8に示したDVD−ROMドライ
ブのDVDデコーダ7’、CPU35以外の機能部に関
しては、図1に示したDVD−ROMドライブが備える
機能部と同じであるため説明を省略する。
【0153】次に、図11、図12に示すフローチャー
トを用いて、フラッシュROM38に記憶されたファー
ムウエアをアップデートする際の動作について説明をす
る。まず、図11に示すフローチャートを用いて、アッ
プデート(update)関数がRAM37に読み込ま
れるまでの動作について説明をする。
【0154】ステップS101において、CPUコア3
6は、PC10から送信され、受信したコマンドがWr
iteバッファコマンド(Write Buffer Command)であ
るかどうかを判定する。Writeバッファコマンドで
ない場合は工程をステップS102へ進め、Write
バッファコマンドである場合は工程をステップS103
へと進める。
【0155】ステップS102において、CPUコア3
6は、PC10から送信されたWriteバッファコマ
ンドに、フラッシュROM38に記憶されているファー
ムウエアを更新することを指示するパラメータが付加さ
れているかどうかを検出し、付加されていない場合は工
程をステップS103へと進め、付加されている場合は
工程をステップS104へと進める。
【0156】ステップS103において、CPUコア3
6は、PC10から送信されたコマンドがWriteバ
ッファコマンドでなかったことに応じて、送信されたコ
マンドを実行する。また、CPUコア36は、送信され
たコマンドが、Writeバッファコマンドであったが
ファームウエアを更新することを指示するパラメータが
付加されていなかったことに応じて、PC10から送信
されるファームウエア以外のデータをバッファメモリ8
に書き込むよう制御をする。ステップS103の工程が
終了すると工程は、ステップS101へと戻る。
【0157】PC10は、DVD−ROMドライブにW
riteバッファコマンドを送信した後、更新するファ
ームウエアをストリーム暗号化方式で暗号化したファー
ムウエア暗号化データをバイナリーファイルとしてDV
D−ROMドライブに送信する。
【0158】ステップS104において、CPUコア3
6は、Writeバッファコマンドを受信したことに応
じて、バッファメモリ8のデータ記憶領域の所定のアド
レスNからM(Mは自然数)Byte分の領域を確保
し、PC10から送信されるバイナリーファイルを上記
確保したデータ記憶領域に記憶させる。
【0159】ステップS105において、CPUコア3
6は、転送されたバイナリーファイルのCheck S
umを確認する。送信されるバイナリーファイルには、
Check Sumデータが添附されている。CPUコ
ア36は、この添附されたCheck Sumデータ
と、送信されたされたバイナリーファイルのバイナリー
データの加算値とを比較し、一致した場合は正しくバイ
ナリーファイルが送信されたとして工程をステップS1
07へと進め、一致しなかった場合はバイナリーファイ
ルの送信が失敗したとして工程をステップS106に進
める。
【0160】ステップS106において、CPUコア3
6は、ステップS105でのCheck Sumデータ
の検証結果から正しくバイナリーファイルが送信されな
かったことを、Check Condition St
atusにてコマンドを完了させることでPC10に知
らせ、工程を再びステップS101へと戻す。
【0161】ステップS107において、CPUコア3
6は、フラッシュROM38に格納されているフラッシ
ュROM38のファームウエアを更新するアップデート
関数をRAM37にコピーし、RAM37でCPUコア
36のプログラムを実行できる状態にする。
【0162】その後、CPUコア36は、フラッシュR
OM38のファームウエア格納領域に記憶されているデ
ータ、つまり更新前のファームウエアを消去する。な
お、この消去動作は、フラッシュROM38がオーバー
ライト可能なMRAMであった場合、省略されることに
なる。
【0163】続いて、図12に示すフローチャートを用
いてアップデート(update)関数による処理動作
について説明をする。
【0164】ステップS111において、CPUコア3
6は、RAM37に格納されたアップデート関数の先頭
アドレスにアクセスし、アップデート関数によるファー
ムウエアのフラッシュROM38へのアップデートを開
始する。
【0165】ステップS112において、CPUコア3
6は、図示しない割り込み制御回路を制御して全ての割
り込みプログラムの実行と、例外処理の実行を禁止す
る。
【0166】ステップS113において、CPUコア3
6は、フラッシュROM38への書き込みタイミングを
制御する図示しない書き込みタイミング制御用タイマー
を起動する。以下、フラッシュROM38へデータを書
き込む際は、書き込みタイミング制御用タイマーのタイ
ミング制御に基づいて実行される。
【0167】ステップS114において、CPUコア3
6は、ファームウエア暗号化データのバイナリファイル
が記憶されているバッファメモリ8のアドレス番号N
と、ファームウエアを記憶させるフラッシュROM38
のアドレス番号0にアクセスをする。
【0168】ステップS115において、CPUコア3
6は、バッファメモリ8のアドレス番号Nから復号に都
合のよい単位ごと(例えば、1Byteのデータ)に読
み出し、復号部17で復号処理をして平文にする。CP
Uコア36は、復号され平文であるファームウエアデー
タを、当該CPUコア36内のレジスタ又はRAM37
に格納する。
【0169】さらに、CPUコア36は、当該CPUコ
ア36内のレジスタ又はRAM37に格納されたファー
ムウエアデータを読み出し、フラッシュROM38のア
ドレス番号0から書き込む。
【0170】ステップS116において、CPUコア3
6は、フラッシュROM38にファームウエアデータが
全て書き込まれたかどうかを判断する。CPUコア36
は、アドレス番号がMでない場合には工程をステップS
117へと進め、アドレス番号がMとなったら工程をス
テップS118に進める。
【0171】ステップS117において、CPUコア3
6は、バッファメモリ8のアドレス番号及びフラッシュ
ROM38のアドレス番号を1Byte増やしたアドレ
ス番号へアクセスをする。この工程が終了するとステッ
プS115へと戻り、バッファメモリ8のアクセスした
アドレス番号からファームウエア暗号データを読み出
し、復号処理をして復号された平文のファームウエアデ
ータをフラッシュROM38のアクセスしたアドレス番
号に書き込む。
【0172】ステップS118において、CPUコア3
6は、フラッシュROM38への書き込みタイミングを
制御する図示しない書き込みタイミング制御用タイマー
を停止させる。
【0173】ステップS119において、ステップS1
16で、フラッシュROM38に記憶されたファームウ
エアデータの最終アドレス番号がMであると判定され、
ステップS118で、図示しない書き込みタイミング制
御用タイマーが停止されたことで、ファームウエアのフ
ラッシュROM38へのアップデートが完了する。
【0174】このようにして、本発明を適用した図8に
示すDVD−ROMドライブでは、フラッシュROM3
8に格納されているファームウエアをアップデートする
際、PC10でストリーム暗号方式で暗号化されたファ
ームウエア暗号化データを、DVDデコーダ7’内の復
号部17で復号し、CPU35内のフラッシュROM3
8に書き込む。
【0175】DVDデコーダ7’と、CPU35とのや
り取りでは、平文のファームウエアデータが転送される
ことになるが、配線処理や半導体パッケージの端子部分
が露出しないといった実装レベルの工夫をすることで、
ファームウエアデータの漏洩を防ぐことができる。
【0176】次に、図13に示すフローチャートを用い
て、フラッシュROM38にファームウエアをアップデ
ートした結果をPC10で検証する際の処理動作につい
て説明をする。
【0177】ステップS121において、CPUコア3
6は、PC10から送信され、受信したコマンドがRe
adバッファコマンド(Read Buffer Command)である
かどうかを判定する。Readバッファコマンドでない
場合は工程をステップS123へ進め、Readバッフ
ァコマンドである場合は工程をステップS122へと進
める。
【0178】ステップS122において、CPUコア3
6は、PC10から送信されたReadバッファコマン
ドに、フラッシュROM38に記憶されているファーム
ウエアを読み出すことを指示するパラメータが付加され
ているかどうかを検出し、付加されていない場合は工程
をステップS123へと進め、付加されている場合は工
程をステップS124へと進める。
【0179】ステップS123において、CPUコア3
6は、PC10から送信されたコマンドがReadバッ
ファコマンドでなかったことに応じて、送信されたコマ
ンドを実行する。また、CPUコア36は、送信された
コマンドが、Readバッファコマンドであったがファ
ームウエアを更新することを指示するパラメータが付加
されていなかったことに応じて、ファームウエア以外の
データをバッファメモリ8に読み出すよう制御をする。
ステップS123が終了すると工程は終了する。
【0180】PC10は、DVD−ROMドライブにR
eadバッファコマンドを送信した後、更新するファー
ムウエアをストリーム暗号化方式で暗号化したファーム
ウエア暗号化データをバイナリーファイルとしてDVD
−ROMドライブに送信する。
【0181】ステップS124において、CPUコア3
6は、バッファメモリ8のアドレス番号Nと、ファーム
ウエアが記憶されているフラッシュROM38のアドレ
ス番号0にアクセスをする。
【0182】ステップS125において、CPUコア3
6は、フラッシュROM38のアドレス番号0から復号
に都合のよい単位ごと(例えば、1Byteのデータ)
に読み出し、当該CPUコア36内のレジスタ又はRA
M37に格納する。
【0183】さらに、CPUコア36は、当該CPUコ
ア36内のレジスタ又はRAM37に格納された平文で
あるファームウエアデータを読み出し、DVDデコーダ
7’の暗号化部18で暗号化処理をしてファームウエア
暗号化データにする。CPUコア36は、暗号化された
ファームウエア暗号化データをバッファメモリ8のアド
レス番号Nから書き込む。
【0184】ステップS126において、CPUコア3
6は、フラッシュROM38からファームウエアデータ
が全て読み出されたかどうかを判断する。CPUコア3
6は、アドレス番号がMでない場合には工程をステップ
S127へと進め、アドレス番号がMとなったら工程を
ステップS128に進める。
【0185】ステップS127において、CPUコア3
6は、バッファメモリ8のアドレス番号及びフラッシュ
ROM38のアドレス番号を1Byte増やしたアドレ
ス番号へアクセスをする。この工程が終了するとステッ
プS125へと戻り、フラッシュROM38のアクセス
したアドレス番号からファームウエアデータを読み出
し、暗号化処理をして暗号化されたファームウエア暗号
化データをバッファメモリ8のアクセスしたアドレス番
号に書き込む。
【0186】ステップS128において、フラッシュR
OM38に格納されているファームウエアデータが全て
読み出され、暗号化されてバッファメモリ8に格納され
たことに応じて、CPUコア36は、バッファメモリ8
に格納されているファームウエア暗号化データをPC1
0へと転送する。
【0187】転送されたファームウエア暗号化データ
は、PC10にて暗号化されたまま元データと比較され
一致が確認される。
【0188】このようにして、PC10は、DVD−R
OMドライブのフラッシュROM38にファームウエア
が確実に更新されているかどうかを検証することができ
る。
【0189】DVDデコーダ7’と、CPU35とのや
り取りでは、平文のファームウエアデータが転送される
ことになるが、配線処理や半導体パッケージの端子部分
が露出しないといった実装レベルの工夫をすることで、
ファームウエアデータの漏洩を防ぐことができる。
【0190】ところで、一般に、PC(Personal Compu
ter)などにおいて実行されるプログラムは、HD(Har
d Disk)などの補助記憶装置に記憶されており、PCの
電源起動時にRAM(Random Access Memory)などの主
記憶装置にロードされる。CPUは、主記憶装置にロー
ドされたプログラムを読み込んで、プログラムの実行を
する。
【0191】このように、CPUが実行するプログラム
を主記憶装置にロードするには、CPUコア内に常駐、
又は、上記HDから最初に読み込まれるIPL(Initia
l Program Loader)によって行われる。
【0192】一方、第1の実施の形態として図1を用い
て説明したDVD−ROMドライブ、及び第2の実施の
形態として図8を用いて説明したDVD−ROMドライ
ブでは、DVDデコーダにCPUを備えている場合があ
る。このように、DVDデコーダに備えられたCPUも
上述したPCと同様に外部の記憶部に格納されているプ
ログラムをRAMに読み出し、RAMに読み出したプロ
グラムを実行させることでDVDデコードなどの所定の
処理を行うことになる。
【0193】したがって、外部の記憶部に格納されてい
るプログラムは、DVDデコーダ内のRAMに読み出さ
れる際、盗み見られ、プログラムの解析や改竄といった
行為がなされてしまう可能性があるため暗号化して格納
されている必要がある。
【0194】なお、以下の説明においては、DVDデコ
ーダが備えるCPUが実行するプログラムをマイクロプ
ログラムと呼び、そのデータをマイクロプログラムデー
タと呼ぶ。また、マイクロプログラムデータが暗号化さ
れたものは暗号化マイクロプログラムデータと呼ぶ。
【0195】図14に第3の実施の形態として示すDV
D−ROMドライブでは、DVDデコーダとして、図1
で示したDVDデコーダ7に、内部CPUコア41と、
SRAM42と、復号部43とを付加したDVDデコー
ダ7”を備えている。内部CPUコア41、SRAM4
2、復号部43は、メモリ制御部14、CPU I/F
16と内部バスで接続されている。また、図14に示し
たDVD−ROMドライブでは、外部CPU45と、D
VDデコーダ7”に読み込まれる暗号化されたマイクロ
プログラムデータ(暗号化マイクロプログラムデータ)
が格納されたフラッシュROM46とを備えている。
【0196】内部CPUコア41は、DVDデコーダ
7”制御用のマイクロコントローラである。内部CPU
コア41は、自身が実行するマイクロプログラムをSR
AM42に読み込ませるためのプログラムであるIPL
を格納している。DVD−ROMドライブに電源が投入
されるとIPLが起動することになる。
【0197】SRAM42は、内部CPUコア41で実
行するマイクロプログラムデータを格納する内部CPU
コア41に対する主記憶装置である。SRAM42に
は、IPLによってフラッシュROM46から読み出さ
れた暗号化マイクロプログラムデータが復号部43で復
号されて格納される。
【0198】復号部43は、フラッシROM46に格納
されている暗号化されたマイクロプログラムデータ(暗
号化マイクロプログラムデータ)を復号してSRAM4
2のプログラム領域へ転送するための復号回路である。
復号部43は、共通鍵暗号(ブロック暗号、ストリーム
暗号)化方式で暗号化されたマイクロプログラムデータ
(暗号化マイクロプログラムデータ)を復号する。
【0199】復号部43は、ストリーム暗号に対応して
いる場合は、図15に示すようにSEEDデータ格納部
43aと、乱数生成部43bと、排他的論理和演算部4
3cとを備えている。
【0200】SEEDデータ格納部43aは、乱数生成
部43bの初期入力値であり共通鍵に相当するSEED
データを格納しており、内部CPUコア41からの指示
に応じて格納しているSEEDデータを乱数生成部43
bに出力する。
【0201】また、SEEDデータ格納部43aに格納
されるSEEDデータは、固定された値があらかじめ格
納されていてもよいし、内部CPUコア41から適時、
設定可能としてもよい。
【0202】乱数生成部43bは、SEEDデータ格納
部43aからSEEDデータが入力されたことに応じて
所定のアルゴリズムで乱数を生成し、排他的論理和演算
部43cに出力する。
【0203】排他的論理和演算部43cは、フラッシュ
ROM46から所定のデータ長単位で読み出される、暗
号化されたマイクロプログラムデータである暗号化マイ
クロプログラムデータと、上記乱数生成部43bから出
力される乱数とで排他的論理和をとることで復号し、復
号された平文のマイクロプログラムデータをDVDデコ
ーダ7”内のSRAM42へと出力する。
【0204】また、DVDデコーダ7”のCPU I/
F16は、当該DVDデコーダ7”内のSRAM42に
格納されているマイクロプログラムデータ、復号部43
のSEEDデータ格納部43aに格納されているSEE
Dデータ、乱数生成部43bの乱数生成アルゴリズムを
ユーザレベルでは参照できないような保護機能を備えて
いる。これにより、復号された平文のマイクロプログラ
ムデータ、及び、暗号化マイクロプログラムデータを復
号するための復号機能を取り出すことを制限することが
できる。
【0205】外部CPU45は、DVD−ROMドライ
ブを統括的に制御する制御部であり、四則演算や比較判
断をする論理演算装置や加算回路、レジスタなどを備え
ている。
【0206】フラッシュROM46は、例えば、データ
の電気的消去が可能なプログラマブルROMであるEE
PROMなどのいわゆるフラッシュメモリである。フラ
ッシュROM46は、内部CPUコア41の実行プログ
ラムが暗号化さた暗号化マイクロプログラムデータを格
納している。
【0207】続いて、図16に示すフローチャートを用
いて、図14に示すDVD−ROMドライブの起動時の
動作について説明をする。
【0208】ステップS131において、電源投入リセ
ットにより、内部CPUコア41内に常駐するIPLが
起動する。IPLが起動すると同時に、復号部43で
は、SEEDデータを乱数生成部43bが取り込むこと
で初期化が行われる。
【0209】ステップS132において、内部CPUコ
ア41で実行されるIPLによって、フラッシュROM
46の先頭アドレスから、当該フラッシュROM46に
格納されている暗号化マイクロプログラムデータの読み
出しが開始される。読み出された暗号化マイクロプログ
ラムデータは、復号部43に入力され乱数生成部43a
からの出力データと排他的論理和をとって平文であるマ
イクロプログラムデータに復号される。復号されたマイ
クロプログラムデータは、SRAM42に書き込まれ
る。
【0210】ステップS133において、内部CPUコ
ア41で実行されるIPLによって、フラッシュROM
46内に格納されている暗号化マイクロプログラムデー
タが所定の量だけ読み出されたかどうか判定される。所
定量の暗号化マイクロプログラムデータが読み出された
場合は、工程をステップS134へと進め、所定量の暗
号化マイクロプログラムデータが読み出されていない場
合は、フラッシュROM46からの読み出し、復号部4
3での復号、SRAM42への書き込みが実行される。
【0211】ステップS134において、内部CPUコ
ア41で実行されるIPLによって、フラッシュROM
46からの読み出しが完了すると、内部CPUコア41
は、内蔵するプログラムカウンタの値をSRAM42の
先頭アドレスとし、SRAM42内に書き込まれた平文
であるマイクロプログラムデータを実行する。
【0212】このようにして、フラッシュROM46に
格納されている暗号化マイクロプログラムデータは、図
14に示すDVD−ROMドライブが起動するとともに
IPLによって読み出され、DVDデコーダ7”内で復
号され、SRAM42に書き込まれる。したがって、D
VDデコーダ7”内部CPUコア41が実行するマイク
ロプログラムは、当該DVDデコーダ7”内で暗号が復
号されるため、プログラムの解析や改竄を防止すること
ができる。
【0213】上述したように、DVD−ROMドライブ
のファームウエアを更新する際、暗号化してPC10か
らDVD−ROMドライブへ転送し、図1に示したCP
U9内、又は、図8に示したDVDデコーダ7’内で復
号してCPU内のフラッシュROMに更新することで、
更新時の解析や改竄を防止することができる。また、図
14に示したDVD−ROMドライブのように起動時に
ロードするプログラムも暗号化したまま復号する回路内
に読み出し、当該回路内で暗号を復号することでロード
時のプログラムの解析や改竄を防止することができる。
【0214】なお、図14を用いて説明したDVD−R
OMドライブにおいて、SRAM42へ格納するマイク
ロプログラムは、DVDデコーダ7”にバスで接続され
たフラッシュROM46から供給されるとしているが、
例えば、読み出し専用ROM、ディスク状記録媒体、リ
ムーバル半導体メモリなど、どんなものであってもかま
わない。
【0215】また、図14を用いて説明したDVD−R
OMドライブでは、フラッシュROM46から復号部4
3を経由したSRAM42へのマイクロプログラムの読
み出し処理を、DVDデコーダ7”に内蔵されている内
部CPUコア41が備えるIPLによって実行していた
が、DVDデコーダ7”の外部にあるCPU、例えば、
外部CPU45などの制御によって実施するようにして
もよい。
【0216】しかし、上述したように暗号化されたプロ
グラムの復号後のデータ漏洩を防止できたとしても、暗
号化されたままプログラムが改竄されるということも考
えられる。
【0217】例えば、図1に示したDVD−ROMドラ
イブで、ファームウエアが暗号化されたまま改竄される
と、フラッシュROM22には、そのまま改竄されたデ
ータが格納されてしまうことになり、コンテンツの違法
複製、ドライブの動作不良などを引き起こしてしまう可
能性がある。
【0218】そこで、更新するプログラム本体にプログ
ラムが改竄されたことを検証する検証プログラムを添付
してDVD−ROMドライブに送信するといった手法が
考えられる。更新するプログラム本体にこの検証プログ
ラムを添付すると、DVD−ROMドライブで更新され
たプログラムを実行すると、まずプログラム本体に添附
した検証プログラムが起動し、更新されたプログラムが
改竄されているか否かを検証することができる。
【0219】図17、図18、図19に示すフローチャ
ートを用いて、上述した暗号化データの改竄を防止し
て、プログラムの更新をする動作について説明をする。
なお、説明のためプログラムを更新するドライブとして
図8に示したDVD−ROMドライブを用いる。
【0220】まず、図17に示したフローチャートを用
いて検証プログラムを添附したプログラム本体をDVD
−ROMドライブに送信するまでの動作について説明を
する。
【0221】ステップS141において、例えば、ドラ
イブ製造会社などによってDVD−ROMドライブに送
信するプログラムが作成される。作成されるプログラム
本体には、上述したプログラムの改竄を検証するための
検証プログラムが添附されている。
【0222】ステップS142において、ドライブ製造
会社は、配布するプログラムから検証データを生成し、
図20に示すように生成した検証データをプログラムに
付加する。
【0223】この検証データは、ハッシュ関数を用いて
プログラム本体を演算することで得られるハッシュ値で
ある。例えば、図21に示すようにハッシュ関数とし
て、米国商務省に所属する標準化機関NISTによって
定められたハッシュアルゴリズムであるSHA(Secure
Hash Algorithm)をさらに改良したSHA−1を使用
することができる。SHA−1は、264ビット未満の
データ長から160ビット長のハッシュ値(検証デー
タ)を生成するアルゴリズムである。
【0224】ステップS143において、ドライブ製造
会社は、検証データが付加されたプログラムを、図22
に示すように検証データも含めて暗号化する。
【0225】ステップS144において、ドライブ製造
会社は、暗号化されたプログラムからCheck Su
mデータを算出し、図23に示すようにCheck S
umデータを付加する。付加するデータは、Check
Sumデータに代えて、再びハッシュ関数により求め
たハッシュ値であってもよい。Check Sumデー
タが付加されることでプログラムは、送信可能なデータ
となる。
【0226】送信可能なデータは、例えば、ROMメデ
ィアなどを使って、ユーザ(PC10)に配布される。
【0227】ステップS145において、PC10は、
DVD−ROMドライブに送信可能となったデータ(プ
ログラム)を送信する。
【0228】次に、図18に示すフローチャートを用い
て、PC10から送信された暗号化データの改竄防止措
置がなされたプログラムを受信するDVD−ROMドラ
イブの動作について説明をする。
【0229】ステップS151において、DVD−RO
Mドライブは、PC10からWriteバッファコマン
ドとともに送信されるプログラムを受信すると、プログ
ラムに添付されたCheck Sumデータと、送信さ
れたプログラム暗号化データの加算値とを比較する。一
致しなかった場合は工程をステップS152へと進め、
一致した場合は工程をステップS153へと進める。
【0230】ステップS152において、Check
Sumデータの比較結果から正しくプログラム暗号化デ
ータが送信されなかったことをCheck Condi
tion Statusにてコマンド完了することでP
C10に知らせ、工程を再びステップS151へと戻
す。
【0231】ステップS153において、復号部17
は、プログラム暗号化データを復号する。復号されたデ
ータには検証データが付加されており、プログラム本体
には検証プログラムが記述されている。
【0232】ステップS154において、復号されたプ
ログラムデータは、フラッシュROM38に格納され
る。
【0233】ステップS155において、フラッシュR
OM38に格納されたプログラムが起動すると、まず始
めに検証プログラムが動作する。
【0234】次に、図19に示すフローチャートを用い
て、検証プログラムの動作を説明する。
【0235】ステップS161において、起動した検証
プログラムは、プログラム本体のハッシュ値をハッシュ
関数により計算する。
【0236】ステップS162において、検証プログラ
ムは、ハッシュ値が計算されるとプログラム本体に添附
された検証データと、計算されたハッシュ値と比較し、
一致した場合は工程をステップS163へと進め、一致
しなかった場合は工程をステップS164へと進める。
【0237】ステップS163において、DVD−RO
Mドライブは、添附された検証データと、計算したハッ
シュ値とが一致し、フラッシュROM38に格納された
プログラムが改竄されていないプログラムであると判定
されたことに応じて、フラッシュROM38に格納され
たプログラム本体を実行する。
【0238】ステップS164において、DVD−RO
Mドライブは、添附された検証データと、計算したハッ
シュ値とが一致せず、フラッシュROM38に格納され
たファームウエアが改竄されたプログラムであると判定
されたことに応じて、NotReady状態となり、何
も動作しない安定な状態となる。
【0239】このようにして、送信するプログラム本体
に、ハッシュ関数によって算出された検証データを付加
して送信することで、DVD−ROMドライブは、暗号
化データそのものが改竄された場合であっても改竄され
たことを検証することができる。
【0240】なお、上述した本発明の第1の実施の形
態、第2の実施の形態として示すDVD−ROMドライ
ブでは、ファームウエアを更新する際、更新するファー
ムウエアをPC10から送信されるようにしているが、
ファームウエアは、例えば、当該DVD−ROMドライ
ブで再生可能なDVD−ROM1に記録されていてもよ
い。DVD−ROM1にファームウエア暗号化データを
ファイルとして記憶することで、DVD−ROMドライ
ブは、このDVD−ROM1を再生することによって更
新するファームウエアを取得することができる。
【0241】同様に、本発明の第3の実施の形態として
示すDVD−ROMドライブでは、暗号化マイクロプロ
グラムデータをファイルとして記録したDVD−ROM
1を再生することによってマイクロプログラムをロード
するようにしてもよい。
【0242】また、このDVD−ROM1には、本発明
の第1の実施の形態として示したDVD−ROMドライ
ブのブートROM21に書き込まれているファームウエ
ア更新時に起動するプログラムが書き込まれていてもよ
く、上述のようにDVD−ROMドライブはDVD−R
OM1を再生することでファームウエアを更新させるこ
とができる。
【0243】同様に、DVD−ROM1には、本発明の
第2の実施の形態として示したDVD−ROMドライブ
でファームウエア更新時に起動するプログラムが書き込
まれいてもよく、上述のようにDVD−ROMドライブ
はDVD−ROM1を再生することでファームウエアを
更新させることができる。
【0244】同様に、DVD−ROM1には、本発明の
第3の実施の形態として示したDVD−ROMドライブ
でマイクロプログラムをロードする時に起動するプログ
ラムが書き込まれいてもよく、上述のようにDVD−R
OMドライブはDVD−ROM1を再生することでマイ
クロプログラムをロードさせることができる。
【0245】また、本発明の第1の実施の形態及び第2
の実施の形態として示したDVD−ROMドライブにお
いて、メモリースティック(登録商標)などのリムーバ
ル半導体メモリーに対応した半導体メモリー用スロット
を設け、上述したDVD−ROM1の代わりにファーム
ウエア暗号化データを上記リムーバル半導体メモリーへ
記録してファームウエアを更新するようにしてもよい。
【0246】同様に、本発明の第3の実施の形態として
示したDVD−ROMドライブでも、暗号化マイクロプ
ログラムデータを上記リムーバル半導体メモリへ記録し
てマイクロプログラムをロードするようにしてもよい。
【0247】さらにまた、上述のように本発明の第1の
実施の形態、第2の実施の形態及び第3の実施の形態と
してDVD−ROMドライブを適用しているが、本発明
はこれに限定されるものではなく、CD−ROM、デー
タが記録されたCD−R、CD−RW、DVD−RA
M、DVD−R/RW、DVD+R/RWを記録再生可
能なディスク装置全般に適用することが可能である。
【0248】また、本発明を適用した第1の実施の形
態、第2の実施の形態及び第3の実施の形態としてDV
D−ROMドライブを用いたが、本発明はこれに限定さ
れるものではなく、何らかのセキュリティが必要な処理
装置全般に適用可能である。
【0249】また、ファームウエア又はマイクロプログ
ラムを暗号化し、復号する手法として共通鍵を用いた暗
号化手法を用いているが、本発明はこれに限定されるも
のではなく、公開鍵方式やそれ以外の暗号化アルゴリズ
ムを適用してもかまわない。
【0250】さらにまた、本発明を適用した第1の実施
の形態、第2の実施の形態及び第3の実施の形態として
示したDVD−ROMドライブでは、ファームウエア
や、マイクロプログラムを対象としていたが、当該DV
D−ROMドライブ内の書き換え可能なレジスタ・メモ
リの設定値というようにデータを対象とし、更新又は設
定などをしてもよい。
【0251】
【発明の効果】以上の説明からも明らかなように、本発
明の情報処理装置は、復号手段で、暗号化プログラムデ
ータを所定の復号鍵を用いてプログラムに復号し、復号
したプログラムを記憶手段に記憶させ、記憶したプログ
ラムを読み出し、読み出したプログラムに基づいて制御
手段で当該情報処理装置の所定の動作を制御すること
で、プログラムロード時における外部へのプログラムデ
ータの漏洩を阻止することができるため、プログラムを
ロードする際に漏洩したプログラムデータを用いた違法
行為を防止することが可能となる。
【0252】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0253】また、以上の説明からも明らかなように、
本発明のプログラムロード方法は、復号ステップで、暗
号化プログラムデータを所定の復号鍵を用いてプログラ
ムに復号し、復号したプログラムを記憶手段に記憶さ
せ、記憶したプログラムを読み出し、読み出したプログ
ラムに基づいて制御ステップで当該情報処理装置の所定
の動作を制御することで、プログラムロード時における
外部へのプログラムデータの漏洩を阻止することができ
るため、プログラムをロードする際に漏洩したプログラ
ムデータを用いた違法行為を防止することが可能とな
る。
【0254】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0255】また、以上の説明からも明らかなように、
本発明の記録媒体は、復号ステップで、暗号化プログラ
ムデータを所定の復号鍵を用いてプログラムに復号し、
復号したプログラムを記憶手段に記憶させ、記憶したプ
ログラムを読み出し、読み出したプログラムに基づいて
制御ステップで当該情報処理装置の所定の動作を制御す
ることを特徴とするプログラムを記録することで、プロ
グラムロード時における外部へのプログラムデータの漏
洩を阻止することができるため、プログラムをロードす
る際に漏洩したプログラムデータを用いた違法行為を防
止することが可能となる。
【0256】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0257】以上の説明からも明らかなように、本発明
の情報処理装置は、プログラム更新要求に応じて、制御
部内の復号手段で、第2のプログラムを所定の暗号化鍵
で暗号化した暗号化プログラムデータを所定の復号鍵を
用いて第2のプログラムに復号し、プログラム書き込み
手段で復号した第2のプログラムを記憶手段に書き込ん
で第1のプログラムを更新し、さらに、取り出し制限手
段で復号手段で復号された第2のプログラム及び記憶手
段に書き込まれた第2のプログラムの外部装置からの取
り出しを制限することで、プログラム更新時における外
部へのプログラムデータの漏洩を阻止することができる
ため、プログラムを更新する際に漏洩したプログラムデ
ータを用いた違法行為を防止することが可能となる。
【0258】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0259】また、本発明の情報処理装置は、制御部の
アーキテクチャを新たに構築する必要がないため、安価
に製造することができる。
【0260】さらに、本発明の情報処理装置は、プログ
ラムの更新時にだけ制御部内で暗号復号処理をするの
で、通常時における制御部の処理動作を低下させること
がない。
【0261】また、以上の説明からも明らかなように、
本発明のプログラム更新方法は、プログラム更新要求に
応じて、復号ステップで、第2のプログラムを所定の暗
号化鍵で暗号化した暗号化プログラムデータを所定の復
号鍵を用いて第2のプログラムに復号し、プログラム書
き込みステップで復号した第2のプログラムを記憶手段
に書き込んで第1のプログラムを更新し、さらに、取り
出し制限ステップで復号ステップで復号された第2のプ
ログラム及び記憶手段に書き込まれた第2のプログラム
の外部装置からの取り出しを制限することで、プログラ
ム更新時における外部へのプログラムデータの漏洩を阻
止することができるため、プログラムを更新する際に漏
洩したプログラムデータを用いた違法行為を防止するこ
とが可能となる。
【0262】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0263】さらに、本発明のプログラム更新方法は、
第1のプログラムの更新時にだけ制御部内で暗号復号処
理をするので、通常時における制御部の処理動作を低下
させることがない。
【0264】また、以上の説明からも明らかなように、
本発明の記録媒体は、プログラム更新要求に応じて、復
号ステップで、第2のプログラムを所定の暗号化鍵で暗
号化した暗号化プログラムデータを所定の復号鍵を用い
て第2のプログラムに復号し、プログラム書き込みステ
ップで復号した第2のプログラムを記憶手段に書き込ん
で第1のプログラムを更新し、さらに、取り出し制限ス
テップで復号ステップで復号された第2のプログラム及
び記憶手段に書き込まれた第2のプログラムの外部装置
からの取り出しを制限することでことを特徴とするプロ
グラムを記録することで、プログラム更新時における外
部へのプログラムデータの漏洩を阻止することができる
ため、プログラムを更新する際に漏洩したプログラムデ
ータを用いた違法行為を防止することが可能となる。
【0265】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0266】さらに、本発明の記録媒体に記録されたプ
ログラムは、第1のプログラムの更新時にだけ制御部内
で暗号復号処理をするので、通常時における制御部の処
理動作を低下させることがない。
【0267】また、以上の説明からも明らかなように、
本発明の回路素子は、プログラム更新要求に応じて、集
積化された復号手段で第2のプログラムを所定の暗号化
鍵で暗号化した暗号化プログラムデータを所定の復号鍵
を用いて第2のプログラムに復号し、プログラム書き込
み手段で復号した第2のプログラムを記憶手段に書き込
んで第1のプログラムを更新し、さらに、取り出し制限
手段で復号手段で復号された第2のプログラム及び記憶
手段に書き込まれた第2のプログラムの外部装置からの
取り出しを制限することで、プログラム更新時における
外部へのプログラムデータの漏洩を阻止することができ
るため、プログラムを更新する際に漏洩したプログラム
データを用いた違法行為を防止することが可能となる。
【0268】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0269】さらに、本発明の回路素子は、第1のプロ
グラムの更新時にだけ当該回路素子内で暗号復号処理を
するので、通常時における当該回路素子の処理動作を低
下させることがない。
【0270】以上の説明からも明らかなように、本発明
の情報処理装置は、プログラム更新要求に応じて、デー
タ処理部内の復号手段で、第2のプログラムを所定の暗
号化鍵で暗号化した暗号化プログラムデータを所定の復
号鍵を用いて第2のプログラムに復号して制御部に送信
し、制御部のプログラム書き込み手段で復号した第2の
プログラムを制御部内の記憶手段に書き込んで第1のプ
ログラムを更新することで、プログラム更新時における
外部へのプログラムデータの漏洩を少なくできるため、
プログラムを更新する際に漏洩したプログラムデータを
用いた違法行為を防止することが可能となる。
【0271】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0272】また、以上の説明からも明らかなように、
本発明のプログラム更新方法は、プログラム更新要求に
応じて、復号ステップで、第2のプログラムを所定の暗
号化鍵で暗号化した暗号化プログラムデータを所定の復
号鍵を用いて第2のプログラムに復号して制御部に送信
し、プログラム書き込みステップで復号した第2のプロ
グラムを制御部内の記憶手段に書き込んで第1のプログ
ラムを更新することで、プログラム更新時における外部
へのプログラムデータの漏洩を少なくできるため、プロ
グラムを更新する際に漏洩したプログラムデータを用い
た違法行為を防止することが可能となる。
【0273】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0274】また、以上の説明からも明らかなように、
本発明の記録媒体は、プログラム更新要求に応じて、復
号ステップで、第2のプログラムを所定の暗号化鍵で暗
号化した暗号化プログラムデータを所定の復号鍵を用い
て第2のプログラムに復号して制御部に送信し、プログ
ラム書き込みステップで復号した第2のプログラムを制
御部内の記憶手段に書き込んで第1のプログラムを更新
することを特徴とするプログラムを記録することで、プ
ログラム更新時における外部へのプログラムデータの漏
洩を少なくできるため、プログラムを更新する際に漏洩
したプログラムデータを用いた違法行為を防止すること
が可能となる。
【0275】例えば、DVD−ROMドライブのファー
ムウエアを更新することでファームウエアデータが漏洩
した場合に生ずるリージョナルコード(RC:Regional C
ode)による再生制限の無効化や、DVD−ROMの違
法コピー及び違法コピーDVD−ROMの再生制限の無
効化といった違法行為を防止することが可能となる。
【0276】以上の説明からも明らかなように、本発明
の情報処理装置は、データ処理部内の復号手段で、所定
のプログラムを所定の暗号化鍵で暗号化した暗号化プロ
グラムデータを所定の復号鍵を用いて所定のプログラム
に復号し、復号した所定のプログラムをデータ処理部内
の記憶手段に記憶させ、取り出し制限手段で復号手段で
復号された所定のプログラム及び記憶手段に記憶された
所定のプログラムの外部装置からの取り出しを制限する
ことで、プログラムロード時における外部へのプログラ
ムデータの漏洩を阻止することができるため、プログラ
ムをロードする際に漏洩したプログラムデータを用いた
違法行為を防止することが可能となる。
【0277】また、以上の説明からも明らかなように、
本発明のプログラムロード方法は、復号ステップで、所
定のプログラムを所定の暗号化鍵で暗号化した暗号化プ
ログラムデータを所定の復号鍵を用いて所定のプログラ
ムに復号し、復号した所定のプログラムをデータ処理部
内の記憶手段に記憶させ、取り出し制限ステップで復号
ステップで復号された所定のプログラム及び記憶手段に
記憶された所定のプログラムの外部装置からの取り出し
を制限することで、プログラムロード時における外部へ
のプログラムデータの漏洩を阻止することができるた
め、プログラムをロードする際に漏洩したプログラムデ
ータを用いた違法行為を防止することが可能となる。
【0278】また、以上の説明からも明らかなように、
本発明の記録媒体は、復号ステップで、所定のプログラ
ムを所定の暗号化鍵で暗号化した暗号化プログラムデー
タを所定の復号鍵を用いて所定のプログラムに復号し、
復号した所定のプログラムをデータ処理部内の記憶手段
に記憶させ、取り出し制限ステップで復号ステップで復
号された所定のプログラム及び記憶手段に記憶された所
定のプログラムの外部装置からの取り出しを制限するこ
とを特徴とするプログラムを記録することで、プログラ
ムロード時における外部へのプログラムデータの漏洩を
阻止することができるため、プログラムをロードする際
に漏洩したプログラムデータを用いた違法行為を防止す
ることが可能となる。
【0279】また、以上の説明からも明らかなように、
本発明の回路素子は、復号手段で、所定のプログラムを
所定の暗号化鍵で暗号化した暗号化プログラムデータを
所定の復号鍵を用いて所定のプログラムに復号し、復号
した所定のプログラムを記憶手段に記憶させ、取り出し
制限手段で復号手段で復号された所定のプログラム及び
記憶手段に記憶された所定のプログラムの外部装置から
の取り出しを制限することで、プログラムロード時にお
ける外部へのプログラムデータの漏洩を阻止することが
できるため、プログラムをロードする際に漏洩したプロ
グラムデータを用いた違法行為を防止することが可能と
なる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態として示すDVD−
ROMドライブの構成を説明するためのブロック図であ
る。
【図2】暗号化について説明するための図である。
【図3】本発明の実施の形態として示すDVD−ROM
ドライブにおいて、ファームウエアを更新する際の動作
について説明するためのフローチャートである。
【図4】同DVD−ROMドライブにおいて、アップデ
ート関数によるファームウエア更新動作について説明す
るための第1のフローチャートである。
【図5】同DVD−ROMドライブにおいて、アップデ
ート関数によるファームウエア更新動作について説明す
るための第2のフローチャートである。
【図6】同DVD−ROMドライブにおいて、ファーム
ウエア更新処理後、更新が成功したかどうかを確認する
動作について説明するためのフローチャートである。
【図7】同DVD−ROMドライブのCPUの別の構成
を説明するためのブロック図である。
【図8】本発明の第2の実施の形態として示すDVD−
ROMドライブの構成を説明するためのブロック図であ
る。
【図9】同DVD−ROMドライブの復号部の構成につ
いて説明するための図である。
【図10】同DVD−ROMドライブの暗号化部の構成
について説明するための図である。
【図11】同DVD−ROMドライブにおいて、アップ
デート関数によるファームウエア更新動作について説明
するための第1のフローチャートである。
【図12】同DVD−ROMドライブにおいて、アップ
デート関数によるファームウエア更新動作について説明
するための第2のフローチャートである。
【図13】同DVD−ROMドライブにおいて、ファー
ムウエア更新処理後、更新が成功したかどうかを確認す
る動作について説明するためのフローチャートである。
【図14】本発明の第3の実施の形態として示すDVD
−ROMドライブの構成を説明するためのブロック図で
ある。
【図15】同DVD−ROMドライブの復号部の構成に
ついて説明するための図である。
【図16】同DVD−ROMドライブにおいて、マイク
ロプログラムをロードする際の動作について説明するた
めのフローチャートである。
【図17】改竄防止のための検証プログラムが添付され
た暗号化プログラムが生成される際の動作について説明
するためのフローチャートである。
【図18】検証プログラムが添附された暗号化プログラ
ムを実行するDVD−ROMドライブの動作について説
明するためのフローチャートである。
【図19】検証プログラムの動作を説明するためのフロ
ーチャートである。
【図20】検証プログラム、検証データが添附されたプ
ログラム本体を示した図である。
【図21】ハッシュ関数について説明するための図であ
る。
【図22】検証プログラム、検証データが添附されたプ
ログラム本体を暗号化した様子を示した図である。
【図23】暗号化されたデータにCheck Sumデ
ータを添附した様子を示した図である。
【符号の説明】
1 DVD−ROM(Digital Versatile Disc-Read On
ly Memory)、2 光学ピックアップユニット、3 ス
ピンドルモータ、4 リードプロセッサ、5光学ピック
アップユニットドライバ、6 スピンドルモータドライ
バ、7 DVDデコーダ、8 バッファメモリ、9 C
PU(Central Processing Unit)、20 CPUコ
ア、21 ブートROM(Read Only Memory)、21a
暗号化処理部、22 フラッシュROM、23 RA
M(Random Access Memory)、31 外部バスコントロ
ーラ
フロントページの続き Fターム(参考) 5B017 AA08 CA15 5B076 FA00 5J104 EA18 NA02 NA12

Claims (81)

    【特許請求の範囲】
  1. 【請求項1】 所定のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記所定
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた上記所定のプログラムを記憶する記憶手段と、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出し手段と、 上記読み出し手段によって読み出された上記所定のプロ
    グラムに基づいて当該情報処理装置の所定の動作を制御
    する制御手段とを備えることを特徴とする情報処理装
    置。
  2. 【請求項2】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求1記載の情報処理装置。
  3. 【請求項3】 上記所定のプログラムを所定の暗号化鍵
    で暗号化した暗号化プログラムデータが記録された記録
    媒体を再生する再生手段を備え、 上記暗号化プログラムデータ受信手段は、上記再生手段
    で再生された上記暗号化プログラムデータを受信するこ
    とを特徴とする請求項1記載の情報処理装置。
  4. 【請求項4】 上記暗号化プログラムデータが記憶され
    た暗号化プログラムデータ記憶手段を備え、 上記暗号化プログラムデータ記憶手段に記憶されている
    上記暗号化プログラムデータを読み出す暗号化プログラ
    ムデータ読み出し手段と、 上記暗号化プログラムデータ受信手段は、上記暗号化プ
    ログラムデータ読み出し手段によって読み出された上記
    暗号化プログラムデータを受信することを特徴とする請
    求項1記載の情報処理装置。
  5. 【請求項5】 上記暗号化プログラムデータ受信手段で
    受信される暗号化プログラムデータは、上記所定のプロ
    グラムのプログラムデータから所定の演算によって算出
    された第1の検証データと、上記所定の演算をするプロ
    グラムである検証プログラムとが上記所定の暗号化鍵で
    暗号化された暗号化検証データと、暗号化検証プログラ
    ムとを含むことを特徴とする請求項1記載の情報処理装
    置。
  6. 【請求項6】 上記復号手段は、上記暗号化プログラム
    データを復号する際、上記暗号化検証データと、上記暗
    号化検証プログラムとを上記所定の復号鍵を用いて上記
    第1の検証データと、上記検証プログラムに復号し、 上記記憶手段は上記復号手段で復号された上記第1の検
    証データと、上記検証プログラムとを記憶し、 上記制御手段は、上記所定のプログラムを実行する前
    に、上記検証プログラムに基づいて、上記記憶手段に記
    憶された上記所定のプログラムのプログラムデータから
    第2の検証データを算出し、算出された上記第2の検証
    データと、上記記憶手段に記憶されている上記第1の検
    証データとを比較し、 上記読み出し手段は、上記制御手段によって比較された
    上記第1の検証データと、上記第2の検証データとが一
    致したことに応じて、上記記憶手段に記憶されている上
    記所定のプログラムを読み出すことを特徴とする請求項
    5記載の情報処理装置。
  7. 【請求項7】 情報処理装置に所定のプログラムをロー
    ドするためのプログラムロード方法であって、 上記所定のプログラムを所定の暗号化鍵で暗号化した暗
    号化プログラムデータを受信する暗号化プログラムデー
    タ受信ステップと、 上記暗号化プログラムデータ受信ステップで受信した上
    記暗号化プログラムデータを所定の復号鍵を用いて上記
    所定のプログラムに復号する復号ステップと、 上記復号ステップで上記暗号化プログラムデータから復
    号された上記所定のプログラムを記憶手段に記憶する記
    憶ステップと、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出しステップと、 上記読み出しステップによって読み出された上記所定の
    プログラムに基づいて当該情報処理装置の所定の動作を
    制御する制御ステップとを備えることを特徴とするプロ
    グラムロード方法。
  8. 【請求項8】 上記暗号化プログラムデータ受信ステッ
    プは、外部装置から送信される暗号化プログラムデータ
    を受信することを特徴とする請求7記載のプログラムロ
    ード方法。
  9. 【請求項9】 上記所定のプログラムを所定の暗号化鍵
    で暗号化した暗号化プログラムデータが記録された記録
    媒体を再生する再生ステップを備え、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とする請求項7記載のプログラムロー
    ド方法。
  10. 【請求項10】 上記暗号化プログラムデータが記憶さ
    れている当該情報処理装置に備えられた暗号化プログラ
    ムデータ記憶手段から上記暗号化プログラムデータを読
    み出す暗号化プログラムデータ読み出しステップを備
    え、 上記暗号化プログラムデータ受信ステップは、上記暗号
    化プログラム読み出しステップによって読み出された上
    記暗号化プログラムデータを受信することを特徴とする
    請求項7記載のプログラムロード方法。
  11. 【請求項11】 上記暗号化プログラムデータ受信ステ
    ップは、上記所定のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とする請求項7記載の
    プログラムロード方法。
  12. 【請求項12】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記記憶ステップは、上記記憶手段に上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを記憶し、 上記制御ステップで、上記所定のプログラムを実行する
    前に、上記検証プログラムに基づいて、上記記憶手段に
    記憶された上記所定のプログラムのプログラムデータか
    ら第2の検証データを算出する検証データ算出ステップ
    と、 上記検証データ算出ステップで算出された上記第2の検
    証データと、上記記憶手段に記憶されている上記第1の
    検証データとを比較する検証データ比較ステップとを備
    え、 上記読み出しステップは、上記検証データ比較ステップ
    によって比較された上記第1の検証データと、上記第2
    の検証データとが一致したことに応じて、上記記憶手段
    に記憶されている上記所定のプログラムを読み出すこと
    を特徴とする請求項11記載のプログラムロード方法。
  13. 【請求項13】 情報処理装置に所定のプログラムをロ
    ードするためのプログラムを記録した記録媒体であっ
    て、 上記所定のプログラムを所定の暗号化鍵で暗号化した暗
    号化プログラムデータを受信する暗号化プログラムデー
    タ受信ステップと、 上記暗号化プログラムデータ受信ステップで受信した上
    記暗号化プログラムデータを所定の復号鍵を用いて上記
    所定のプログラムに復号する復号ステップと、上記復号
    ステップで上記暗号化プログラムデータから復号された
    上記所定のプログラムを記憶手段に記憶する記憶ステッ
    プと、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出しステップと、 上記読み出しステップによって読み出された上記所定の
    プログラムに基づいて当該情報処理装置の所定の動作を
    制御する制御ステップとを備えることを特徴とするプロ
    グラムを記録した記録媒体。
  14. 【請求項14】 上記暗号化プログラムデータ受信ステ
    ップは、外部装置から送信される暗号化プログラムデー
    タを受信することを特徴とするプログラムを記録した請
    求13記載の記録媒体。
  15. 【請求項15】 上記所定のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とするプログラムを記録した請求項1
    3記載の記録媒体。
  16. 【請求項16】 上記暗号化プログラムデータが記憶さ
    れている当該情報処理装置に備えられた暗号化プログラ
    ムデータ記憶手段から上記暗号化プログラムデータを読
    み出す暗号化プログラムデータ読み出しステップを備
    え、 上記暗号化プログラムデータ受信ステップは、上記暗号
    化プログラム読み出しステップによって読み出された上
    記暗号化プログラムデータを受信することを特徴とする
    プログラムを記録した請求項13記載の記録媒体。
  17. 【請求項17】 上記暗号化プログラムデータ受信ステ
    ップは、上記所定のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とするプログラムを記
    録した請求項13記載の記録媒体。
  18. 【請求項18】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記記憶ステップは、上記記憶手段に上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを記憶し、 上記制御ステップで、上記所定のプログラムを実行する
    前に、上記検証プログラムに基づいて、上記記憶手段に
    記憶された上記所定のプログラムのプログラムデータか
    ら第2の検証データを算出する検証データ算出ステップ
    と、 上記検証データ算出ステップで算出された上記第2の検
    証データと、上記記憶手段に記憶されている上記第1の
    検証データとを比較する検証データ比較ステップとを備
    え、 上記読み出しステップは、上記検証データ比較ステップ
    によって比較された上記第1の検証データと、上記第2
    の検証データとが一致したことに応じて、上記記憶手段
    に記憶されている上記所定のプログラムを読み出すこと
    を特徴とするプログラムを記録した請求項17記載の記
    録媒体。
  19. 【請求項19】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて当該情報処理装置の所定の動作を制御する制御手
    段とを有する制御部を備えた情報処理装置であって、 上記制御部は、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記第2
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた第2のプログラムを、上記記憶手段に書き込むプロ
    グラム書き込み手段と、 上記復号手段で復号された第2のプログラム及び上記記
    憶手段に書き込まれた第2のプログラムの外部装置から
    の取り出しを制限する取り出し制限手段とを備えること
    を特徴とする情報処理装置。
  20. 【請求項20】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求項19記載の情報処理装
    置。
  21. 【請求項21】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生手段を備え、 上記制御手段は、上記プログラム更新要求に応じて、上
    記記録媒体を再生させるよう上記再生手段を制御し、 上記暗号化プログラムデータ受信手段は、上記再生手段
    で再生された上記暗号化プログラムデータを受信するこ
    とを特徴とする請求項19記載の情報処理装置。
  22. 【請求項22】 上記暗号化プログラムデータ受信手段
    で受信される暗号化プログラムデータは、上記第2のプ
    ログラムのプログラムデータから所定の演算によって算
    出された第1の検証データと、上記所定の演算をするプ
    ログラムである検証プログラムとが上記所定の暗号化鍵
    で暗号化された暗号化検証データと、暗号化検証プログ
    ラムとを含むことを特徴とする請求項19記載の情報処
    理装置。
  23. 【請求項23】 上記復号手段は、上記暗号化プログラ
    ムデータを復号する際、上記暗号化検証データと、上記
    暗号化検証プログラムとを上記所定の復号鍵を用いて上
    記第1の検証データと、上記検証プログラムに復号し、 上記プログラム書き込み手段は、上記復号手段で復号さ
    れた上記第1の検証データと、上記検証プログラムとを
    上記記憶手段に書き込み、 上記制御手段は、上記第2のプログラムを実行する前
    に、上記検証プログラムに基づいて、上記記憶手段に記
    憶された上記第2のプログラムのプログラムデータから
    第2の検証データを算出し、算出された上記第2の検証
    データと、上記記憶手段に記憶されている上記第1の検
    証データとを比較し、比較した上記第1の検証データ
    と、上記第2の検証データとが一致したことに応じて、
    上記記憶手段に記憶されている上記第2のプログラムを
    読み出すことを特徴とする請求項22記載の情報処理装
    置。
  24. 【請求項24】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて当該情報処理装置の所定の動作を制御する制御手
    段とを有する制御部を備えた情報処理装置のプログラム
    更新方法であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信ステップと、 上記受信した暗号化プログラムデータを所定の復号鍵を
    用いて上記第2のプログラムに復号する復号ステップ
    と、 上記復号された第2のプログラムの外部装置からの取り
    出しを制限する取り出し制限ステップと、 上記暗号化プログラムデータから復号された第2のプロ
    グラムを、上記記憶手段に書き込むプログラム書き込み
    ステップとを備えることを特徴とするプログラム更新方
    法。
  25. 【請求項25】 上記暗号化プログラムデータ受信ステ
    ップでは、外部装置から送信される暗号化プログラムデ
    ータを受信することを特徴とする請求項24記載のプロ
    グラム更新方法。
  26. 【請求項26】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記再生ステップは、上記プログラム更新要求を受信し
    たことに応じて上記記録媒体を再生させ、 上記暗号化プログラムデータ受信ステップは、上記再生
    された暗号化プログラムデータを受信することを特徴と
    する請求項24記載のプログラム更新方法。
  27. 【請求項27】 上記暗号化プログラムデータ受信ステ
    ップは、上記第2のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とする請求項24記載
    のプログラム更新方法。
  28. 【請求項28】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記プログラム書き込みステップは、上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを上記記憶手段に書き込み、 上記制御手段で上記第2のプログラムを実行する前に、
    上記検証プログラムに基づいて、上記記憶手段に記憶さ
    れた上記第2のプログラムのプログラムデータから第2
    の検証データを算出する検証データ算出ステップと、 上記検証データ算出ステップで算出された上記第2の検
    証データと、上記記憶手段に記憶されている上記第1の
    検証データとを比較する検証データ比較ステップと、 上記検証データ比較ステップによって比較された上記第
    1の検証データと、上記第2の検証データとが一致した
    ことに応じて、上記記憶手段に記憶されている上記第2
    のプログラムを読み出すプログラム読み出しステップと
    を備えることを特徴とする請求項27記載のプログラム
    更新方法。
  29. 【請求項29】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて所定の動作を制御する制御手段とを有する制御部
    を備えた情報処理装置の上記第1のプログラムを更新す
    るためのプログラムを記録した記録媒体であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信ステップと、 上記受信した暗号化プログラムデータを所定の復号鍵を
    用いて上記第2のプログラムに復号する復号ステップ
    と、 上記復号された第2のプログラムの外部装置からの取り
    出しを制限する取り出し制限ステップと、 上記暗号化プログラムデータから復号された第2のプロ
    グラムを上記記憶手段に書き込むプログラム書き込みス
    テップとを備えることを特徴とするプログラムを記録し
    た記録媒体。
  30. 【請求項30】 上記暗号化プログラムデータ受信ステ
    ップでは、外部装置から送信される暗号化プログラムデ
    ータを受信することを特徴とするプログラムを記録した
    請求項29記載の記録媒体。
  31. 【請求項31】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された当
    該記録媒体を再生する再生ステップを備え、 上記再生ステップは、上記プログラム更新要求を受信し
    たことに応じて当該記録媒体に記録されている上記暗号
    化プログラムデータを再生させ、 上記暗号化プログラムデータ受信ステップは、上記再生
    された上記暗号化プログラムデータを受信することを特
    徴とするプログラムを記録した請求項29記載の記録媒
    体。
  32. 【請求項32】 上記暗号化プログラムデータ受信ステ
    ップは、上記第2のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とするプログラムを記
    録した請求項29記載の記録媒体。
  33. 【請求項33】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記プログラム書き込みステップは、上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを上記記憶手段に書き込み、 上記制御手段で上記所定のプログラムを実行する前に、
    上記検証プログラムに基づいて、上記記憶手段に記憶さ
    れた上記所定のプログラムのプログラムデータから第2
    の検証データを算出する検証データ算出ステップと、 算出された上記第2の検証データと、上記記憶手段に記
    憶されている上記第1の検証データとを比較する検証デ
    ータ比較ステップと、 上記検証データ比較ステップによって比較された上記第
    1の検証データと、上記第2の検証データとが一致した
    ことに応じて、上記記憶手段に記憶されている上記第2
    のプログラムを読み出すプログラム読み出しステップと
    を備えることを特徴とするプログラムを記録した請求項
    32記載の記録媒体。
  34. 【請求項34】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて情報処理装置の所定の動作を制御する制御手段と
    を集積化した回路素子であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記第2
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた第2のプログラムを、上記記憶手段に書き込むプロ
    グラム書き込み手段と、 上記復号手段で復号された第2のプログラム及び上記記
    憶手段に書き込まれた第2のプログラムの外部装置から
    の取り出しを制限する取り出し制限手段とを集積化して
    なることを特徴とする回路素子。
  35. 【請求項35】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求項34記載の回路素子。
  36. 【請求項36】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生手段を備えた情報処理装置に備え
    られ、 上記制御手段は、上記プログラム更新要求に応じて、上
    記記録媒体を再生させるよう上記再生手段を制御し、 上記暗号化プログラムデータ受信手段は、上記情報処理
    装置の再生手段で再生された上記暗号化プログラムデー
    タを受信することを特徴とする請求項34記載の回路素
    子。
  37. 【請求項37】 上記暗号化プログラムデータ受信手段
    で受信される暗号化プログラムデータは、上記第2のプ
    ログラムのプログラムデータから所定の演算によって算
    出された第1の検証データと、上記所定の演算をするプ
    ログラムである検証プログラムとが上記所定の暗号化鍵
    で暗号化された暗号化検証データと、暗号化検証プログ
    ラムとを含むことを特徴とする請求項34記載の回路素
    子。
  38. 【請求項38】 上記復号手段は、上記暗号化プログラ
    ムデータを復号する際、上記暗号化検証データと、上記
    暗号化検証プログラムとを上記所定の復号鍵を用いて上
    記第1の検証データと、上記検証プログラムに復号し、 上記プログラム書き込み手段は、上記復号手段で復号さ
    れた上記第1の検証データと、上記検証プログラムとを
    上記記憶手段に書き込み、 上記制御手段は、上記第2のプログラムを実行する前
    に、上記検証プログラムに基づいて、上記記憶手段に記
    憶された上記第2のプログラムのプログラムデータから
    第2の検証データを算出し、算出された上記第2の検証
    データと、上記記憶手段に記憶されている上記第1の検
    証データとを比較し、比較した上記第1の検証データ
    と、上記第2の検証データとが一致したことに応じて、
    上記記憶手段に記憶されている上記第2のプログラムを
    読み出すことを特徴とする請求項37記載の回路素子。
  39. 【請求項39】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて当該情報処理装置の所定の動作を制御する制御手
    段とを有する制御部を備えた情報処理装置であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記第2
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた上記第2のプログラムを上記制御部に送信するプロ
    グラム送信手段とを備え、 上記制御部は、上記送信手段によって送信された上記第
    2のプログラムを受信するプログラム受信手段と、 上記プログラム受信手段で受信した上記第2のプログラ
    ムを上記記憶手段に書き込むプログラム書き込み手段と
    を有することを特徴とする情報処理装置。
  40. 【請求項40】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求項39記載の情報処理装
    置。
  41. 【請求項41】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生手段を備え、 上記制御手段は、上記プログラム更新要求に応じて、上
    記記録媒体を再生させるよう上記再生手段を制御し、 上記暗号化プログラムデータ受信手段は、上記再生手段
    で再生された上記暗号化プログラムデータを受信するこ
    とを特徴とする請求項39記載の情報処理装置。
  42. 【請求項42】 上記プログラム送信手段と上記プログ
    ラム受信手段とを接続する配線を多層基板の内層に施す
    ことを特徴とする請求項39記載の情報処理装置。
  43. 【請求項43】 上記制御部は、ボールグリッドアレイ
    であることを特徴とする請求項39記載の情報処理装
    置。
  44. 【請求項44】 上記暗号化プログラムデータ受信手段
    で受信される暗号化プログラムデータは、上記第2のプ
    ログラムのプログラムデータから所定の演算によって算
    出された第1の検証データと、上記所定の演算をするプ
    ログラムである検証プログラムとが上記所定の暗号化鍵
    で暗号化された暗号化検証データと、暗号化検証プログ
    ラムとを含むことを特徴とする請求項39記載の情報処
    理装置。
  45. 【請求項45】 上記復号手段は、上記暗号化プログラ
    ムデータを復号する際、上記暗号化検証データと、上記
    暗号化検証プログラムとを上記所定の復号鍵を用いて上
    記第1の検証データと、上記検証プログラムに復号し、 上記プログラム書き込み手段は、上記復号手段で復号さ
    れた上記第1の検証データと、上記検証プログラムとを
    上記記憶手段に書き込み、 上記制御手段は、上記第2のプログラムを実行する前
    に、上記検証プログラムに基づいて、上記記憶手段に記
    憶された上記第2のプログラムのプログラムデータから
    第2の検証データを算出し、算出された上記第2の検証
    データと、上記記憶手段に記憶されている上記第1の検
    証データとを比較し、比較した上記第1の検証データ
    と、上記第2の検証データとが一致したことに応じて、
    上記記憶手段に記憶されている上記第2のプログラムを
    読み出すことを特徴とする請求項43記載の情報処理装
    置。
  46. 【請求項46】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて当該情報処理装置の所定の動作を制御する制御手
    段とを有する制御部を備えた情報処理装置のプログラム
    更新方法であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信ステップと、 上記暗号化プログラムデータ受信ステップで受信した上
    記暗号化プログラムデータを所定の復号鍵を用いて上記
    第2のプログラムに復号する復号ステップと、 上記復号ステップで上記暗号化プログラムデータから復
    号された上記第2のプログラムを上記制御部に送信する
    プログラム送信ステップとを備え、 上記プログラム送信ステップによって上記制御部に送信
    された上記第2のプログラムを受信するプログラム受信
    ステップと、 上記プログラム受信ステップで受信した上記第2のプロ
    グラムを上記記憶手段に書き込むプログラム書き込みス
    テップとを有することを特徴とするプログラム更新方
    法。
  47. 【請求項47】 上記暗号化プログラムデータ受信ステ
    ップは、外部装置から送信される暗号化プログラムデー
    タを受信することを特徴とする請求項46記載のプログ
    ラム更新方法。
  48. 【請求項48】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記再生ステップは、上記プログラム更新要求を受信し
    たことに応じて上記記録媒体を再生させ、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とする請求項46記載のプログラム更
    新方法。
  49. 【請求項49】 上記暗号化プログラムデータ受信ステ
    ップは、上記第2のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とする請求項46記載
    のプログラム更新方法。
  50. 【請求項50】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記プログラム書き込みステップは、上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを上記記憶手段に書き込み、 上記制御手段で上記第2のプログラムを実行する前に、
    上記検証プログラムに基づいて、上記記憶手段に記憶さ
    れた上記第2のプログラムのプログラムデータから第2
    の検証データを算出する検証データ算出ステップと、 上記検証データ算出ステップで算出された上記第2の検
    証データと、上記記憶手段に記憶されている上記第1の
    検証データとを比較する検証データ比較ステップと、 上記検証データ比較ステップによって比較された上記第
    1の検証データと、上記第2の検証データとが一致した
    ことに応じて、上記記憶手段に記憶されている上記第2
    のプログラムを読み出すプログラム読み出しステップと
    を備えることを特徴とする請求項49記載のプログラム
    更新方法。
  51. 【請求項51】 第1のプログラムが記憶された記憶手
    段と、上記記憶手段に記憶されている上記第1のプログ
    ラムを読み出し、読み出した上記第1のプログラムに基
    づいて当該情報処理装置の所定の動作を制御する制御手
    段とを有する制御部を備えた情報処理装置の上記第1の
    プログラムを更新するためのプログラムを記録した記録
    媒体であって、 上記第1のプログラムの更新を要求するプログラム更新
    要求に応じて、第2のプログラムを所定の暗号化鍵で暗
    号化した暗号化プログラムデータを受信する暗号化プロ
    グラムデータ受信ステップと、 上記暗号化プログラムデータ受信ステップで受信した上
    記暗号化プログラムデータを所定の復号鍵を用いて上記
    第2のプログラムに復号する復号ステップと、 上記復号ステップで上記暗号化プログラムデータから復
    号された上記第2のプログラムを上記制御部に送信する
    プログラム送信ステップとを備え、 上記プログラム送信ステップによって上記制御部に送信
    された上記第2のプログラムを受信するプログラム受信
    ステップと、 上記プログラム受信ステップで受信した上記第2のプロ
    グラムを上記記憶手段に書き込むプログラム書き込みス
    テップとを有することを特徴とするプログラムを記録し
    た記録媒体。
  52. 【請求項52】 上記暗号化プログラムデータ受信ステ
    ップは、外部装置から送信される暗号化プログラムデー
    タを受信することを特徴とするプログラム記録した請求
    項51記載の記録媒体。
  53. 【請求項53】 上記第2のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記再生ステップは、上記プログラム更新要求を受信し
    たことに応じて上記記録媒体を再生させ、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とするプログラムを記録した請求項5
    1記載の記録媒体。
  54. 【請求項54】 上記暗号化プログラムデータ受信ステ
    ップは、上記第2のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とするプログラムを記
    録した請求項51記載の記録媒体。
  55. 【請求項55】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記プログラム書き込みステップは、上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを上記記憶手段に書き込み、 上記制御手段で上記第2のプログラムを実行する前に、
    上記検証プログラムに基づいて、上記記憶手段に記憶さ
    れた上記第2のプログラムのプログラムデータから第2
    の検証データを算出する検証データ算出ステップと、 算出された上記第2の検証データと、上記記憶手段に記
    憶されている上記第1の検証データとを比較する検証デ
    ータ比較ステップと、 上記検証データ比較ステップによって比較された上記第
    1の検証データと、上記第2の検証データとが一致した
    ことに応じて、上記記憶手段に記憶されている上記第2
    のプログラムを読み出すプログラム読み出しステップと
    備えることを特徴とするプログラムを記録した請求項5
    4記載の記録媒体。
  56. 【請求項56】 所定のデータ処理を行うデータ処理部
    を備えた情報処理装置であって、 上記データ処理部は、 所定のプログラムを所定の暗号化鍵で暗号化した暗号化
    プログラムデータを受信する暗号化プログラムデータ受
    信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記所定
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた上記所定のプログラムを記憶する記憶手段と、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出し手段と、 上記プログラム読み出し手段によって読み出された上記
    所定のプログラムに基づいて、当該データ処理部におけ
    る所定のデータ処理動作を制御する第1の制御手段と、 上記復号手段で復号された上記所定のプログラム及び上
    記記憶手段に記憶された上記所定のプログラムの外部装
    置からの取り出しを制限する取り出し制限手段とを有す
    ることを特徴とする情報処理装置。
  57. 【請求項57】 上記暗号化プログラムデータが記憶さ
    れた暗号化プログラムデータ記憶手段を備え、 上記第1の制御手段は、上記暗号化プログラムデータ記
    憶手段に記憶されている上記暗号化プログラムデータを
    読み出し、 上記暗号化プログラムデータ受信手段は、上記第1の制
    御手段によって読み出された上記暗号化プログラムデー
    タを受信することを特徴とする請求項56記載の情報処
    理装置。
  58. 【請求項58】 上記暗号化プログラムデータ記憶手段
    に記憶されている上記暗号化プログラムデータを読み出
    す第2の制御手段を備え、 上記暗号化プログラムデータ受信手段は、上記第2の制
    御手段によって読み出された上記暗号化プログラムデー
    タを受信することを特徴とする請求項56記載の情報処
    理装置。
  59. 【請求項59】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求項56記載の情報処理装
    置。
  60. 【請求項60】 上記所定のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生手段を備え、 上記第1の制御手段は、上記記録媒体を再生させるよう
    上記再生手段を制御し、 上記暗号化プログラムデータ受信手段は、上記再生手段
    で再生された上記暗号化プログラムデータを受信するこ
    とを特徴とする請求項56記載の情報処理装置。
  61. 【請求項61】 上記暗号化プログラムデータ受信手段
    で受信される暗号化プログラムデータは、上記所定のプ
    ログラムのプログラムデータから所定の演算によって算
    出された第1の検証データと、上記所定の演算をするプ
    ログラムである検証プログラムとが上記所定の暗号化鍵
    で暗号化された暗号化検証データと、暗号化検証プログ
    ラムとを含むことを特徴とする請求項56記載の情報処
    理装置。
  62. 【請求項62】 上記復号手段は、上記暗号化プログラ
    ムデータを復号する際、上記暗号化検証データと、上記
    暗号化検証プログラムとを上記所定の復号鍵を用いて上
    記第1の検証データと、上記検証プログラムに復号し、 上記記憶手段は上記復号手段で復号された上記第1の検
    証データと、上記検証プログラムとを記憶し、 上記第1の制御手段は、上記所定のプログラムを実行す
    る前に、上記検証プログラムに基づいて、上記記憶手段
    に記憶された上記所定のプログラムのプログラムデータ
    から第2の検証データを算出し、算出された上記第2の
    検証データと、上記記憶手段に記憶されている上記第1
    の検証データとを比較し、 上記プログラム読み出し手段は、上記第1の制御手段に
    よって比較された上記第1の検証データと、上記第2の
    検証データとが一致したことに応じて、上記記憶手段に
    記憶されている上記所定のプログラムを読み出すことを
    特徴とする請求項61記載の情報処理装置。
  63. 【請求項63】 所定のデータ処理を行うデータ処理部
    を備えた情報処理装置の上記データ処理部でのプログラ
    ムロード方法であって、 所定のプログラムを所定の暗号化鍵で暗号化した暗号化
    プログラムデータを受信する暗号化プログラムデータ受
    信ステップと、 上記プログラムデータ受信ステップで受信した上記暗号
    化プログラムデータを所定の復号鍵を用いて上記所定の
    プログラムに復号する復号ステップと、 上記復号された上記所定のプログラムの外部装置からの
    取り出しを制限する取り出し制限ステップと、 上記復号ステップで上記暗号化プログラムデータから復
    号された上記所定のプログラムを記憶手段に記憶させる
    記憶ステップと、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出しステップと、 上記プログラム読み出しステップによって読み出された
    上記所定のプログラムに基づいて、当該データ処理部に
    おける所定のデータ処理動作を制御する制御ステップと
    有することを特徴とするプログラムロード方法。
  64. 【請求項64】 上記制御ステップは、上記暗号化プロ
    グラムデータが記憶されている当該情報処理装置に備え
    られた暗号化プログラムデータ記憶手段から上記暗号化
    プログラムデータを読み出し、 上記暗号化プログラムデータ受信ステップは、読み出さ
    れた上記暗号化プログラムデータを受信することを特徴
    とする請求項63記載のプログラムロード方法。
  65. 【請求項65】 上記暗号化プログラムデータ受信ステ
    ップは、外部装置から送信される暗号化プログラムデー
    タを受信することを特徴とする請求項63記載のプログ
    ラムロード方法。
  66. 【請求項66】 上記所定のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とする請求項63記載のプログラムロ
    ード方法。
  67. 【請求項67】 上記暗号化プログラムデータ受信ステ
    ップは、上記所定のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とする請求項63記載
    のプログラムロード方法。
  68. 【請求項68】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記記憶ステップは、上記記憶手段に上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを記憶し、 上記制御ステップで、上記所定のプログラムを実行する
    前に、上記検証プログラムに基づいて、上記記憶手段に
    記憶された上記所定のプログラムのプログラムデータか
    ら第2の検証データを算出する検証データ算出ステップ
    と、 上記検証データ算出ステップによって算出された上記第
    2の検証データと、上記記憶手段に記憶されている上記
    第1の検証データとを比較する検証データ比較ステップ
    とを備え、 上記プログラム読み出しステップは、上記検証データ比
    較ステップによって比較された上記第1の検証データ
    と、上記第2の検証データとが一致したことに応じて、
    上記記憶手段に記憶されている上記所定のプログラムを
    読み出すことを特徴とする請求項67記載のプログラム
    ロード方法。
  69. 【請求項69】 所定のデータ処理を行うデータ処理部
    を備えた情報処理装置の上記データ処理部で所定のプロ
    グラムをロードするためのプログラムを記録した記録媒
    体であって、 上記所定のプログラムを所定の暗号化鍵で暗号化した暗
    号化プログラムデータを受信する暗号化プログラムデー
    タ受信ステップと、 上記プログラムデータ受信ステップで受信した上記暗号
    化プログラムデータを所定の復号鍵を用いて上記所定の
    プログラムに復号する復号ステップと、 上記復号された上記所定のプログラムの外部装置からの
    取り出しを制限する取り出し制限ステップと、 上記復号ステップで上記暗号化プログラムデータから復
    号された上記所定のプログラムを記憶手段に記憶する記
    憶ステップと、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出しステップと、 上記プログラム読み出しステップによって読み出された
    上記所定のプログラムに基づいて、上記データ処理部に
    おける所定のデータ処理動作を制御する制御ステップと
    有することを特徴とするプログラムが記録された記録媒
    体。
  70. 【請求項70】 上記制御ステップは、上記暗号化プロ
    グラムデータが記憶されている当該情報処理装置に備え
    られた暗号化プログラムデータ記憶手段に記憶されてい
    る上記暗号化プログラムデータを読み出し、 上記暗号化プログラムデータ受信ステップは、上記制御
    ステップによって読み出された上記暗号化プログラムデ
    ータを受信することを特徴とするプログラムが記録され
    た請求項69記載の記録媒体。
  71. 【請求項71】 上記暗号化プログラムデータ受信ステ
    ップは、外部装置から送信される暗号化プログラムデー
    タを受信することを特徴とするプログラムが記録された
    請求項69記載の記録媒体。
  72. 【請求項72】 上記所定のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生ステップを備え、 上記暗号化プログラムデータ受信ステップは、上記再生
    ステップで再生された上記暗号化プログラムデータを受
    信することを特徴とするプログラムが記録された請求項
    69記載の記録媒体。
  73. 【請求項73】 上記暗号化プログラムデータ受信ステ
    ップは、上記所定のプログラムのプログラムデータから
    所定の演算によって算出された第1の検証データと、上
    記所定の演算をするプログラムである検証プログラムと
    が上記所定の暗号化鍵で暗号化された暗号化検証データ
    と、暗号化検証プログラムとを含んだ上記暗号化プログ
    ラムデータを受信することを特徴とするプログラムを記
    録した請求項69記載の記録媒体。
  74. 【請求項74】 上記復号ステップは、上記暗号化プロ
    グラムデータを復号する際、上記暗号化検証データと、
    上記暗号化検証プログラムとを上記所定の復号鍵を用い
    て上記第1の検証データと、上記検証プログラムに復号
    し、 上記記憶ステップは、上記記憶手段に上記復号ステップ
    で復号された上記第1の検証データと、上記検証プログ
    ラムとを記憶し、 上記制御ステップで、上記所定のプログラムを実行する
    前に、上記検証プログラムに基づいて、上記記憶手段に
    記憶された上記所定のプログラムのプログラムデータか
    ら第2の検証データを算出する検証データ算出ステップ
    と、 上記検証データ算出ステップで算出された上記第2の検
    証データと、上記記憶手段に記憶されている上記第1の
    検証データとを比較する検証データ比較ステップとを備
    え、 上記プログラム読み出しステップは、上記検証データ比
    較ステップによって比較された上記第1の検証データ
    と、上記第2の検証データとが一致したことに応じて、
    上記記憶手段に記憶されている上記所定のプログラムを
    読み出すことを特徴とするプログラムを記録した請求項
    73記載の記録媒体。
  75. 【請求項75】 情報処理装置の所定のデータ処理を行
    うデータ処理手段を集積化した回路素子であって、 所定のプログラムを所定の暗号化鍵で暗号化した暗号化
    プログラムデータを受信する暗号化プログラムデータ受
    信手段と、 上記暗号化プログラムデータ受信手段で受信した上記暗
    号化プログラムデータを所定の復号鍵を用いて上記所定
    のプログラムに復号する復号手段と、 上記復号手段で上記暗号化プログラムデータから復号さ
    れた上記所定のプログラムを記憶する記憶手段と、 上記記憶手段に記憶された上記所定のプログラムを読み
    出すプログラム読み出し手段と、 上記プログラム読み出し手段によって読み出された上記
    所定のプログラムに基づいて、上記データ処理手段にお
    ける所定のデータ処理動作を制御する第1の制御手段
    と、 上記復号手段で復号された上記所定のプログラム及び上
    記記憶手段に記憶された上記所定のプログラムの外部装
    置からの取り出しを制限する取り出し制限手段とを集積
    化してなることを特徴とする回路素子。
  76. 【請求項76】 上記暗号化プログラムデータが記憶さ
    れた暗号化プログラムデータ記憶手段を有する情報処理
    装置に備えられ、 上記第1の制御手段は、上記暗号化プログラムデータ記
    憶手段に記憶されている上記暗号化プログラムデータを
    読み出し、 上記暗号化プログラムデータ受信手段は、上記第1の制
    御手段によって読み出された上記暗号化プログラムデー
    タを受信することを特徴とする請求項75記載の回路素
    子。
  77. 【請求項77】 第2の制御手段を有する上記情報処理
    装置に備えられ、 上記第2の制御手段は、上記暗号化プログラムデータ記
    憶手段に記憶されている上記暗号化プログラムデータを
    読み出し、 上記暗号化プログラムデータ受信手段は、上記第2の制
    御手段によって読み出された上記暗号化プログラムデー
    タを受信することを特徴とする請求項75記載の回路素
    子。
  78. 【請求項78】 上記暗号化プログラムデータ受信手段
    は、外部装置から送信される暗号化プログラムデータを
    受信することを特徴とする請求項75記載の回路素子。
  79. 【請求項79】 上記所定のプログラムを所定の暗号化
    鍵で暗号化した暗号化プログラムデータが記録された記
    録媒体を再生する再生手段を有する情報処理装置に備え
    られ、 上記第1の制御手段は、上記記録媒体を再生させるよう
    上記再生手段を制御し、 上記暗号化プログラムデータ受信手段は、上記再生手段
    で再生された上記暗号化プログラムデータを受信するこ
    とを特徴とする請求項75記載の回路素子。
  80. 【請求項80】 上記暗号化プログラムデータ受信手段
    で受信される暗号化プログラムデータは、上記所定のプ
    ログラムのプログラムデータから所定の演算によって算
    出された第1の検証データと、上記所定の演算をするプ
    ログラムである検証プログラムとが上記所定の暗号化鍵
    で暗号化された暗号化検証データと、暗号化検証プログ
    ラムとを含むことを特徴とする請求項75記載の回路素
    子。
  81. 【請求項81】 上記復号手段は、上記暗号化プログラ
    ムデータを復号する際、上記暗号化検証データと、上記
    暗号化検証プログラムとを上記所定の復号鍵を用いて上
    記第1の検証データと、上記検証プログラムに復号し、 上記記憶手段は上記復号手段で復号された上記第1の検
    証データと、上記検証プログラムとを記憶し、 上記第1の制御手段は、上記所定のプログラムを実行す
    る前に、上記検証プログラムに基づいて、上記記憶手段
    に記憶された上記所定のプログラムのプログラムデータ
    から第2の検証データを算出し、算出された上記第2の
    検証データと、上記記憶手段に記憶されている上記第1
    の検証データとを比較し、 上記プログラム読み出し手段は、上記第1の制御手段に
    よって比較された上記第1の検証データと、上記第2の
    検証データとが一致したことに応じて、上記記憶手段に
    記憶されている上記所定のプログラムを読み出すことを
    特徴とする請求項80記載の回路素子。
JP2002145264A 2001-09-26 2002-05-20 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 Expired - Fee Related JP4288893B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2002145264A JP4288893B2 (ja) 2001-09-26 2002-05-20 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子
TW092105520A TWI247285B (en) 2002-05-20 2003-03-13 Information processing apparatus, program loading method, recording medium, program updating method and circuit device
EP03251681A EP1369765B1 (en) 2002-05-20 2003-03-18 Information processing apparatus, program loading method, recording medium, program updating method and circuit device
EP06076507A EP1742136B1 (en) 2002-05-20 2003-03-18 Method of performing pre-set data processing, corresponding circuit device and DVD-drive comprising the circuit device.
US10/391,347 US20040006703A1 (en) 2002-05-20 2003-03-18 Information processing apparatus, program loading method, recording medium, program updating method and circuit device
DE60309625T DE60309625T2 (de) 2002-05-20 2003-03-18 Vorrichtung zur Verarbeitung von Informationen, Methode zum Laden eines Programmes, Speicher Medium, Methode zum updaten eines Programmes und elektronische Schaltung
DE60324977T DE60324977D1 (de) 2002-05-20 2003-03-18 Verfahren zum Ausführen vorbestimmter Datenverarbeitungsschritte, entsprechendes Bauelement und DVD-Laufwerk beinhaltend besagtes Bauelement.
KR1020030017352A KR100924050B1 (ko) 2002-05-20 2003-03-20 정보 처리 장치, 프로그램 로딩 방법, 기록 매체,프로그램 갱신 방법 및 회로 소자
CNB031250416A CN100559486C (zh) 2002-05-20 2003-03-20 信息处理装置和程序加载方法
CNB2006100045474A CN100511253C (zh) 2002-05-20 2003-03-20 信息处理装置、程序加载和更新方法及电路设备
US11/619,988 US20070136611A1 (en) 2002-05-20 2007-01-04 Information processing apparatus, program loading method, recording medium, program updating method and circuit device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-294506 2001-09-26
JP2001294506 2001-09-26
JP2002145264A JP4288893B2 (ja) 2001-09-26 2002-05-20 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子

Publications (2)

Publication Number Publication Date
JP2003173215A true JP2003173215A (ja) 2003-06-20
JP4288893B2 JP4288893B2 (ja) 2009-07-01

Family

ID=29545075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002145264A Expired - Fee Related JP4288893B2 (ja) 2001-09-26 2002-05-20 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子

Country Status (7)

Country Link
US (2) US20040006703A1 (ja)
EP (2) EP1369765B1 (ja)
JP (1) JP4288893B2 (ja)
KR (1) KR100924050B1 (ja)
CN (2) CN100559486C (ja)
DE (2) DE60309625T2 (ja)
TW (1) TWI247285B (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129227A (ja) * 2002-07-30 2004-04-22 Fujitsu Ltd 情報再生装置、セキュアモジュールおよび情報再生方法
JP2008072317A (ja) * 2006-09-13 2008-03-27 Ricoh Co Ltd 画像処理装置
JP2010515159A (ja) * 2006-12-28 2010-05-06 サンディスク コーポレイション セキュアコンテンツおよびアプリケーションのコピーを防ぐセキュリティメカニズムを有するメモリカードのアップグレード
US7873839B2 (en) 2002-07-30 2011-01-18 Fujitsu Limited Method of and apparatus for reproducing information, and security module
CN103310813A (zh) * 2012-03-16 2013-09-18 深圳市隆科电子有限公司 Dvd专用伺服马达音频处理解码板

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097655B2 (ja) * 1998-05-11 2000-10-10 日本電気株式会社 データ伝送方式
US7975147B1 (en) * 2003-03-31 2011-07-05 Hewlett-Packard Development Company, L.P. Electronic device network supporting enciphering and deciphering and update generation in electronic devices
KR100604828B1 (ko) * 2004-01-09 2006-07-28 삼성전자주식회사 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치
JP2005332221A (ja) * 2004-05-20 2005-12-02 Renesas Technology Corp 記憶装置
EP1607821A1 (fr) 2004-06-17 2005-12-21 Nagracard S.A. Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité
JP4717398B2 (ja) * 2004-09-10 2011-07-06 キヤノン株式会社 データ処理装置の制御方法
US8379858B2 (en) * 2005-09-16 2013-02-19 International Business Machines Corporation Generating key information for mutual access among multiple computers
US7533290B2 (en) * 2006-02-21 2009-05-12 Realtek Semiconductor Corp. Microcode updating error handling apparatus and method thereof
CN101132573A (zh) * 2006-08-23 2008-02-27 中兴通讯股份有限公司 一种终端批量升级的实现方法
TWI398755B (zh) * 2006-12-22 2013-06-11 Hon Hai Prec Ind Co Ltd 嵌入式系統恢復方法
EP2327015B1 (en) * 2008-09-26 2018-09-19 Sonova AG Wireless updating of hearing devices
CN101751279B (zh) * 2009-12-29 2014-01-22 北京握奇数据系统有限公司 一种芯片及片上操作系统下载的方法
US9894066B2 (en) 2014-07-30 2018-02-13 Master Lock Company Llc Wireless firmware updates
US9600949B2 (en) 2014-07-30 2017-03-21 Master Lock Company Llc Wireless key management for authentication
EP3082290A1 (en) * 2015-04-17 2016-10-19 Gemalto Sa Device for managing multiple accesses to a secure module of a system on chip of an apparatus
JP6675271B2 (ja) * 2015-09-14 2020-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法
EP4113287B1 (en) 2015-09-14 2024-03-06 Panasonic Intellectual Property Corporation of America Gateway device, in-vehicle network system, and firmware update method
EP3322122A4 (en) * 2015-09-24 2019-05-01 Guangdong Oppo Mobile Telecommunications Corp., Ltd. ADAPTER EQUIPMENT PROCESS, MOBILE TERMINAL AND ADAPTER
CA3001714C (en) * 2015-10-14 2022-09-20 Master Lock Company Llc Wireless firmware updates
CN107194242B (zh) * 2017-03-30 2019-11-08 百富计算机技术(深圳)有限公司 固件升级方法和装置
KR20210046418A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6010336A (ja) * 1983-06-30 1985-01-19 Fujitsu Ltd プログラム盗用防止モニタ方式
EP0706275B1 (en) * 1994-09-15 2006-01-25 International Business Machines Corporation System and method for secure storage and distribution of data using digital signatures
JP3393318B2 (ja) * 1995-01-19 2003-04-07 ソニー株式会社 データ受信処理装置およびデータ受信処理方法並びに放送受信処理方法
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US6163455A (en) * 1999-01-11 2000-12-19 Intel Corporation Thermal attachment bracket for mini cartridge package technology
US6892323B2 (en) * 1999-05-05 2005-05-10 Giga-Byte Technology Co., Ltd. Dual basic input/output system for a computer
CN1263026C (zh) * 2000-08-16 2006-07-05 皇家菲利浦电子有限公司 用于控制数字作品的发行和使用的方法和装置
EP1191421A3 (en) * 2000-09-21 2003-05-07 Matsushita Electric Industrial Co., Ltd. Tamper resistant software protection method with renewable security mechanism
US7389415B1 (en) * 2000-12-27 2008-06-17 Cisco Technology, Inc. Enabling cryptographic features in a cryptographic device using MAC addresses
US6901343B2 (en) * 2001-01-10 2005-05-31 Matsushita Electric Industrial Co., Ltd. Multilayer board in which wiring of signal line that requires tamper-resistance is covered by component or foil, design apparatus, method, and program for the multilayer board, and medium recording the program
US6651188B2 (en) * 2001-06-29 2003-11-18 Intel Corporation Automatic replacement of corrupted BIOS image

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129227A (ja) * 2002-07-30 2004-04-22 Fujitsu Ltd 情報再生装置、セキュアモジュールおよび情報再生方法
JP4576100B2 (ja) * 2002-07-30 2010-11-04 富士通株式会社 情報再生装置、セキュアモジュールおよび情報再生方法
US7873839B2 (en) 2002-07-30 2011-01-18 Fujitsu Limited Method of and apparatus for reproducing information, and security module
US7930562B2 (en) 2002-07-30 2011-04-19 Fujitsu Limited Method of and apparatus for reproducing information, and security module
US8046591B2 (en) 2002-07-30 2011-10-25 Fujitsu Limited Method of and apparatus for reproducing information, and security module
US8055909B2 (en) 2002-07-30 2011-11-08 Fujitsu Limited Method of and apparatus for reproducing information, and security module
JP2008072317A (ja) * 2006-09-13 2008-03-27 Ricoh Co Ltd 画像処理装置
JP2010515159A (ja) * 2006-12-28 2010-05-06 サンディスク コーポレイション セキュアコンテンツおよびアプリケーションのコピーを防ぐセキュリティメカニズムを有するメモリカードのアップグレード
CN103310813A (zh) * 2012-03-16 2013-09-18 深圳市隆科电子有限公司 Dvd专用伺服马达音频处理解码板
CN103310813B (zh) * 2012-03-16 2016-05-11 深圳市隆科电子有限公司 Dvd专用伺服马达音频处理解码板

Also Published As

Publication number Publication date
CN1461003A (zh) 2003-12-10
TW200307250A (en) 2003-12-01
DE60324977D1 (de) 2009-01-08
EP1742136A1 (en) 2007-01-10
US20040006703A1 (en) 2004-01-08
DE60309625T2 (de) 2007-09-20
EP1369765A3 (en) 2004-04-07
CN100511253C (zh) 2009-07-08
US20070136611A1 (en) 2007-06-14
CN1822164A (zh) 2006-08-23
KR20030090493A (ko) 2003-11-28
EP1369765A2 (en) 2003-12-10
DE60309625D1 (de) 2006-12-28
JP4288893B2 (ja) 2009-07-01
CN100559486C (zh) 2009-11-11
KR100924050B1 (ko) 2009-10-27
EP1369765B1 (en) 2006-11-15
EP1742136B1 (en) 2008-11-26
TWI247285B (en) 2006-01-11

Similar Documents

Publication Publication Date Title
JP4288893B2 (ja) 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子
JP5382555B2 (ja) システムオンアチップ(SoC)、ディスクプレーヤ、および方法
JP4889638B2 (ja) 検証方法、検証プログラム、記録媒体、情報処理装置、集積回路
US7664262B2 (en) Playback apparatus and playback control method
US8789137B2 (en) Data processing device
EP1367581A2 (en) Information recording/reading apparatus and method
JP4816012B2 (ja) 情報処理装置、ソフトウェアインストール方法、および光ディスク
US20080175381A1 (en) E-fuses for storing security version data
JP2012014416A (ja) 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
JP2000330870A (ja) コンテンツ処理システムおよびコンテンツ保護方法
JP2008299448A (ja) データ記憶装置及び暗号鍵に関する情報の更新方法
US20090282257A1 (en) Information processing device, disc, information processing method, and program
US8479014B1 (en) Symmetric key based secure microprocessor and its applications
JP2010146127A (ja) データ記憶装置及びデータ記憶装置の解析方法
RU2473123C2 (ru) Система обработки данных по защите авторского права и устройство воспроизведения
JP2001209584A (ja) 情報暗号化装置及びその方法
KR20080084481A (ko) 디바이스간의 콘텐츠 전송 방법 및 그 시스템
JP3862935B2 (ja) データ処理装置およびデータ処理方法
US20090310455A1 (en) Optical Disc Reproducing Apparatus, In-Vehicle Optical Disc Reproducing Apparatus, In-Vehicle Optical Disc Reproducing System, and Optical Disc Reproducing Method
JP4537431B2 (ja) マイクロプロセッサ
JP2002197787A (ja) 情報記録装置と情報記録方法
JP2003143540A (ja) 情報処理装置、情報処理システム、記録媒体へのアクセス制御方法、記憶媒体、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

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: 20090310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090323

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

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees