CN1461003A - 信息处理装置、程序加载和更新方法、介质及电路设备 - Google Patents
信息处理装置、程序加载和更新方法、介质及电路设备 Download PDFInfo
- Publication number
- CN1461003A CN1461003A CN03125041A CN03125041A CN1461003A CN 1461003 A CN1461003 A CN 1461003A CN 03125041 A CN03125041 A CN 03125041A CN 03125041 A CN03125041 A CN 03125041A CN 1461003 A CN1461003 A CN 1461003A
- Authority
- CN
- China
- Prior art keywords
- program
- data
- encrypted
- check
- encrypted program
- 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
Links
- 238000000034 method Methods 0.000 title claims description 75
- 230000010365 information processing Effects 0.000 title 1
- 238000003860 storage Methods 0.000 claims abstract description 14
- 230000005055 memory storage Effects 0.000 claims description 100
- 238000012545 processing Methods 0.000 claims description 73
- 230000003750 conditioning effect Effects 0.000 claims description 63
- 230000004044 response Effects 0.000 claims description 37
- 238000012795 verification Methods 0.000 claims description 37
- 238000011068 loading method Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 46
- 230000015654 memory Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 36
- 238000013500 data storage Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 210000000352 storage cell Anatomy 0.000 description 18
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000003556 assay Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 108010022579 ATP dependent 26S protease Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- 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]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/74—Protecting 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- 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/2105—Dual mode as a secondary aspect
-
- 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/2147—Locking files
-
- 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/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Quality & Reliability (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stored Programmes (AREA)
Abstract
在更新一个程序时,需要禁止所出现的程序数据泄漏。为此,一个控制单元,包括一个加密程序数据接收单元,用于响应于对第一程序的一个更新请求,接收通过使用预定的加密密钥对第二程序加密而得到的加密程序数据,一个解密单元,用于利用一个预定的解码密钥,将从加密程序数据接收单元接收的加密程序数据解密为预定的程序,一个程序写入单元,用于写入加密程序数据通过解密单元解密后的第二程序,和一个输出限制单元,用于限制写在存储单元中的第二程序自一个外部设备的输出。
Description
技术领域
本发明涉及一种用于信息处理装置的程序更新。特别是,涉及一种信息处理装置,程序加载方法,一种记录介质,一种程序更新方法和一个电路设备,其中,通过在程序更新或加载期间防止程序泄漏,可禁止程序被篡改。
背景技术
DVD(数字通用光盘)是一种其记录容量能够记录相当于一部电影的视频和音频数据的光盘,并被作为ROM(DVD-ROM;DVD-只读存储器)而被使用。
由于DVD-ROM可无损耗的记录数字数据,因此可提供几种保护功能以避免未授权的复制或未授权地使用其上记录的数字数据。
再现DVD-ROM时的典型保护功能是通过RC(区域码)进行的再现限制。该区域码是一个与六个全球区域之一相一致的数字。例如,US的区域码是“1”,而日本的区域码是“2”。
该区域码被记录到每个DVD-ROM以及一个DVD-ROM驱动器或DVD再现应用中,使得一个给定的DVD-ROM不能被再现,除非它们各自的区域码一致。例如,由于区域码“2”被记录在日本制造的DVD-ROM驱动器上,这样的驱动器就不能再现区域码为“1”的美国生产的DVD-ROM。这是一种保护性功能,用于保护内容例如电影的制作者。
另一方面,DVD-ROM还具有禁止数字复制的保护性功能或系统。这被称为CSS(内容加扰系统),其禁止数字复制的方法是,虽然一个文件本身可被复制在例如硬盘上,但该文件代表加密的数据,从而MPEG(运动图像专家组)数据不能被解密。
通过对复制施加限制,DVD-ROM还具有禁止输出模拟数据的复制的保护性功能,和管理数字数据在数字设备中复制的代次的保护性功能。
这种保护功能是通过一种被写在DVD-ROM驱动器中的预置ROM中的被称为固件的程序来实现的。该固件是一种软件,可直接控制硬件,被写在ROM中并被装入硬件中。
通过写在DVD-ROM驱动器的预置ROM中用于执行保护功能的固件,就有可能消除不正当制备的DVD-视频。
通常很难重写或修改这种固件。但是,在与例如PC(个人计算机)相连从而可在其控制下被驱动的DVD-ROM驱动器中,在更新PC(个人计算机)的OS(操作系统)的情况下,结果必然出现了更新固件的需要。从而,在这种DVD-ROM中,该固件被设置为可被更新。
并且,若PC在连接DVD-ROM驱动器的操作时不能够充分兼容,这种连接的不兼容可通过更新该DVD-ROM驱动器的固件而被改善。
为了实现对固件的更新,一种所谓闪速存储器被用作存储固件的ROM,该闪速存储器,例如EEPROM(电可擦除的只读存储器),是一种可编程ROM,其允许电子数据的擦除。
但是,当此固件将被更新时,该固件可以很容易地通过因特网从DVD-ROM驱动器制造商提供的主页上被下载,用户能够非常容易地得到该固件。
所获得的固件可能被用户篡改并存储在DVD-ROM驱动器的一个预置闪速存储器中,从而使上述DVD-ROM驱动器的保护功能被无效,这也是一个问题。
程序被篡改是一个装置在需要进行通常包含固件的程序传递时所固有的问题。使用了被篡改的程序的装置会遇到这样的问题,其会执行一个与所希望的操作不同的操作,在最坏的情况下,还易于陷入混乱状态。
发明内容
因此本发明的目的是提供一种信息处理装置,一种程序加载方法,一种记录介质,一种程序更新方法和一种电路设备,在程序更新或加载期间由于程序数据向外泄漏而可能出现程序篡改,本发明用于禁止对程序数据的不正当使用。
在一方面,本发明提供一种信息处理装置,包括加密程序数据接收装置,用于接收通过使用预定的加密密钥对预定程序加密而得到的加密程序数据,解密装置,用于解密加密程序数据,利用一个预定的解码密钥,将从加密程序数据接收装置接收的加密程序数据解密为预定的程序,存储装置,用于存储加密程序数据通过解密装置解密后的预定程序,程序读出装置,用于读出存储在存储装置中的预定程序,和控制装置,用于根据读出装置读出的预定程序而控制信息处理装置的预定操作。
在另一方面,本发明提供一种程序加载方法,用于对信息处理装置加载一个预定程序以控制信息处理装置的预定操作,包括加密程序数据接收步骤,用于接收以预定的加密密钥对预定程序加密后的加密程序数据,解密步骤,用于对加密程序数据接收步骤接收的加密程序数据利用一个预定的解密密钥进行解密,和存储步骤,用于将解密步骤中对加密程序数据解密后的预定程序存储在存储装置中。
在又一方面,本发明提供一种记录介质,其上记录有一个预定程序,用于对信息处理装置加载一个用于控制信息处理装置的一个预定操作的预定程序,其中该程序包含一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对预定程序加密后得到的加密程序数据,一个解密步骤,用于利用一个预定的解码密钥,对加密程序数据接收步骤接收的加密程序数据解密为预定程序,和一个存储步骤,用于存储加密程序数据由解密步骤解密后的预定程序。
在又一方面,本发明提供一种包含一控制单元的信息处理装置,该控制单元包括,存储有一个第一程序的存储装置,和控制装置,用于读出存储在存储装置中的第一程序并根据读出的第一程序来控制信息处理装置的预定操作,其中该信息处理装置包括加密程序数据接收装置,用于接收加密程序数据,该加密程序数据是利用一个预定的加密密钥加密后的第二程序,解码装置,用于利用一个预定的解码密钥,对由加密程序数据接收装置接收的加密程序数据进行解码,和程序传送装置,用于将加密程序数据被解密装置解密后的第二程序传送至控制单元。该控制单元包括程序接收装置,用于接收由传送装置传送的第二程序,和程序写入装置,用于将程序接收装置接收的第二程序写入存储装置。
在又一方面,本发明提供一种用于信息处理装置的程序更新方法,该信息处理装置具有一控制单元,该控制单元包括存储有一个第一程序的存储装置,和控制装置,用于读出存储在存储装置中的第一程序并根据读出的第一程序来控制信息处理装置的预定操作,其中该方法包括一个加密程序数据接收步骤,用于响应请求更新第一程序的程序更新请求而接收加密程序数据,该加密程序数据是利用一个预定的加密密钥加密后的第二程序,一个解密步骤,用于利用一个预定的解密密钥,将加密程序数据接收步骤接收的加密程序数据解密为第二程序,一个程序传送步骤,用于传送加密程序数据在解密步骤解密后的第二程序,一个程序接收步骤,用于接收由程序传送步骤传送至控制单元的第二程序,一个程序写入步骤,用于将程序接收步骤接收的第二程序写入存储装置。
在又一方面,本发明提供一种具有一数据处理单元的信息处理装置,该数据处理单元用于执行预定的数据处理,其中该数据处理单元包括加密程序数据接收装置,用于接收通过使用预定的加密密钥对预定程序加密而得到的加密程序数据,解码装置,用于利用一个预定的解密密钥,将从加密程序数据接收装置接收的加密程序数据解码为预定的程序,存储装置,用于存储加密程序数据通过解密装置解密后的预定程序,程序读出装置,用于读出存储在存储装置中的预定程序,第一控制装置,用于根据程序读出装置读出的预定程序而控制数据处理单元中的预定数据处理操作,和输出限制装置,用于限制由解密装置解密的预定程序和存储在存储装置中的预定程序自外部设备的输出。
在又一方面,本发明提供一种用于信息处理装置中的数据处理单元中的程序加载方法,该数据处理单元可执行预定数据处理,其中该方法包括一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,该预定程序是一个在数据处理单元中用于执行预定数据处理的程序,一个解密步骤,用于利用一个预定的解密密钥,将从加密程序数据接收步骤接收的加密程序数据解密为预定的程序,一个输出限制步骤,用于限制解密的预定程序自外部设备的输出,和存储步骤,用于将加密程序数据经解密步骤解密后的预定程序存储在存储装置中。
在又一方面,本发明提供一种记录介质,其上记录有一个程序,用于在信息处理装置中的数据处理单元中加载一个预定的程序,该数据处理单元可执行预定的数据处理,其中存储在记录介质中的程序包括,一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,该预定程序是一个在数据处理单元中用于执行预定数据处理操作的程序,一个解密步骤,用于利用一个预定的解密密钥,将从加密程序数据接收步骤接收的加密程序数据解密为预定的程序,一个输出限制步骤,用于限制解密的预定程序自外部设备的输出,和存储步骤,用于将加密程序数据由解密步骤解密后的预定程序存储在存储装置中。
在又一方面,本发明提供一种电路设备,其是信息处理装置中的数据处理装置的一个集成,适于执行预定数据处理,以集成的形式包括,加密程序数据接收装置,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,解密装置,用于利用一个预定的解密密钥,将从加密程序数据接收装置接收的加密程序数据解密为预定的程序,存储装置,用于存储加密程序数据由解密装置解密后的预定程序,程序读出装置,用于读出存储在存储装置中的预定程序,和输出限制装置,用于限制由解密装置解密的预定程序和存储在存储装置中的预定程序的输出。
在根据本发明的上述信息处理装置中,加密程序数据是通过解密装置利用一个预定的解密密钥而实现解密的,该解密后的程序被存储在存储装置中,该存储的程序被读出,并且该信息处理装置的预定操作由控制装置根据读出的程序而进行控制,以防止程序加载期间程序数据被泄漏出去,这样做有可能禁止使用在程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
根据本发明的程序加载方法,其中加密程序数据是利用一个预定的解密密钥,通过解密步骤被解密为一个程序的,该解密后的程序被存储在存储装置中,从而可能禁止在程序加载期间的程序数据泄漏,以避免使用在程序加载期间泄漏出去的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
在根据本发明的记录介质中,其上记录的程序包括,利用一个预定的解密密钥将加密程序数据解密为一个程序,并将该解密后的程序存储在存储装置中,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
在根据本发明的信息处理装置中,其中利用一个预定的加密密钥对第二程序加密而得到的加密程序数据,在控制单元的解密装置中,响应于一个程序更新请求,利用一个预定的加密密钥,被解密为一个第二程序,该解密的第二程序是被程序写入装置写入在存储装置中,以更新第一程序,其中通过解密装置解密的第二程序和写在存储装置中的第二程序自外部设备的输出被输出限制装置进行限制,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
本发明的信息处理装置制造并不昂贵,因为其不需要重新建立一个控制单元体系。
并且,本发明的信息处理装置仅仅在程序更新时实现控制单元中的解密处理,在正常操作期间的处理操作不易降低。
根据本发明的程序更新方法,其中利用一个预定的加密密钥对第二程序加密而得到的加密程序数据,在解密步骤中,响应于一个程序更新请求,利用一个预定的解密密钥,被解密为第二程序,该解码的第二程序在程序写入步骤被写入存储装置中,以更新第一程序,其中通过解密步骤解密的第二程序和写在存储装置中的第二程序自外部设备的输出在输出限制步骤被限制,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
并且在本发明的程序更新方法中,其中加密/解密仅仅在更新第一程序时才在控制单元中被执行,在正常操作期间控制单元中的处理操作不易降低。
在本发明的记录介质中,其上记录的程序包括,利用一个预定的加密密钥对第二程序加密而得到的加密程序数据,在解密步骤中,响应于一个程序更新请求,利用一个预定的解密密钥,被解密为第二程序,该解密的第二程序在程序写入步骤被写入存储装置中,以更新第一程序,其中通过解密步骤解密的第二程序和写在存储装置中的第二程序自外部设备的输出在输出限制步骤被限制,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
并且,在本发明的记录介质上记录的程序中,其中加密/解密仅仅在更新第一程序时才在控制单元中被执行,在正常操作期间控制单元中的处理操作不易降低。
在根据本发明的电路设备中,其中利用一个预定的加密密钥进行加密而得到的加密程序数据,在解密步骤中,响应于一个程序更新请求,利用一个预定的解密密钥,在集成的解密装置中,被解密为第二程序,该解密的第二程序被程序写入装置写入存储装置中,以更新第一程序,其中通过解密步骤解密的第二程序和写在存储装置中的第二程序自外部设备的输出在输出限制步骤被限制,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
并且,在本发明的电路设备中,其中加密/解密仅仅在更新第一程序时才在控制单元中被执行,在正常操作期间控制单元中的处理操作不易降低。
在根据本发明的信息处理装置中,其中利用一个预定的加密密钥进行加密得到的加密程序数据,响应于一个程序更新请求,利用一个预定的解密密钥,在数据处理单元中的解密装置中,被解密为第二程序,并被传送至控制单元,在控制单元中的程序写入装置中该解密的第二程序被写入控制单元中的存储装置中,以更新第一程序,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
在根据本发明的程序更新方法中,其中对应于利用一个预定的加密密钥对第二程序加密得到的加密程序数据,响应于一个程序更新请求,利用一个预定的解密密钥,在解密步骤中,被解密为第二程序,并被传送至控制单元,其中在程序写入步骤中该被解密的第二程序被写入控制单元中的存储装置中,以更新第一程序,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
在根据本发明的记录介质中,其上记录有一个程序,其中对应于利用一个预定的加密密钥对第二程序加密得到的加密程序数据,响应于一个程序更新请求,利用一个预定的解密密钥,在解密步骤中,被解密为第二程序,并被传送至控制单元,其中在程序写入步骤中该被解密的第二程序被写入控制单元中的存储装置中,以更新第一程序,从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
例如,有可能禁止这样的不正当行为,例如在DVD-ROM驱动器的固件更新而引起的固件数据泄漏时可能会出现的区域码(RC)造成的再现限制无效,和未授权的复制DVD-ROM或使DVD-ROM的再现限制无效。
在根据本发明的信息处理装置中,其中对应于利用一个预定的加密密钥数据对一个预定程序加密得到的加密程序数据,被数据处理单元中的解密装置解密为预定程序,这样解密的程序被存储在数据处理单元中的存储装置中,其中通过解密装置被解密的预定程序和存储在存储装置中的预定程序自外部设备的输出被输出限制装置进行限制,以防止程序加载期间程序数据被泄漏出去,从而防止使用程序加载期间泄漏的程序数据的不正当行为。
在根据本发明的程序加载方法中,其中对应于利用一个预定的加密密钥数据对一个预定程序加密得到的加密程序数据,在解密步骤解密为预定程序,这样该解密的程序被存储在数据处理单元中的存储装置中,其中通过解密步骤被解密的预定程序和存储在存储装置中的预定程序自外部设备的输出,在输出限制步骤进行限制,以防止程序加载期间程序数据被泄漏出去,从而防止使用程序加载期间泄漏的程序数据的不正当行为。
在根据本发明的记录介质中,其上记录有一个程序,其中对应于利用一个预定的加密密钥数据对一个预定程序加密得到的加密程序数据,在解密步骤解密为预定程序,这样该解密的程序被存储在数据处理单元中的存储装置中,其中通过解密步骤被解密的预定程序和存储在存储装置中的预定程序自外部设备的输出,在输出限制步骤进行限制,以防止程序加载期间程序数据被泄漏出去,从而避免不正当使用程序加载时泄漏的程序数据。从而有可能禁止使用程序加载期间泄漏的程序数据的不正当行为。
在根据本发明的电路设备中,其中对应于利用一个预定的加密密钥数据对一个预定程序加密得到的加密程序数据,被解密装置解密为预定程序,这样该解密的程序被存储在存储装置中,其中通过解密装置被解密的预定程序和存储在存储装置中的预定程序自外部设备的输出被输出限制装置进行限制,从而有可能防止程序加载期间程序数据被泄漏出去,从而避免不正当使用程序加载时泄漏的程序数据。
本发明的其他方面,特征和优点在阅读了通过附图示出的实施例之后将会更加明显。
附图说明
图1示出了作为本发明的第一实施例的DVD-ROM设备的结构的方框图。
图2示出了编码过程。
图3示出了实现本发明的DVD-ROM驱动器中更新固件的操作流程图。
图4示出了DVD-ROM驱动器中通过更新功能更新固件的操作的第一流程图。
图5示出了DVD-ROM驱动器中通过更新功能更新固件的操作的第二流程图。
图6示出了在固件更新处理后确认该更新是否成功的操作的流程图。
图7示出了该DVD-ROM驱动器的CPU的可选择配置的方框图。
图8示出了作为本发明的第二实施例的DVD-ROM驱动器的结构的方框图。
图9示出了该DVD-ROM驱动器的解密单元的结构。
图10示出了该DVD-ROM驱动器的加密单元的结构。
图11示出了该DVD-ROM驱动器中通过更新功能进行固件更新操作的第一流程图。
图12示出了该DVD-ROM驱动器中通过更新功能进行固件更新操作的第二流程图。
图13示出了该DVD-ROM驱动器中,在固件更新处理后确认该更新是否成功的操作的流程图。
图14示出了作为本发明的第三实施例的DVD-ROM驱动器的结构的方框图。
图15示出了该DVD-ROM驱动器的解密单元的结构。
图16示出了该DVD-ROM驱动器中加载微程序的操作的流程图。
图17示出了产生一个加密程序的操作的流程图,该加密程序已经被附加了一个用于防止篡改的检验程序。
图18示出了该DVD-ROM驱动器用于执行该加密程序的操作的流程图,该加密程序已经被附加了检验程序。
图19示出了该检验程序的运行的流程图。
图20示出了已经附加上检验程序和检验数据的一个程序主体。
图21示出了该散列函数。
图22示出了对已经附加上检验程序和检验数据的程序主体进行加密的样式。
图23示出了校验和数据已被附加在加密数据上的样式。
具体实施方式
参照附图,下面将详细说明本发明的信息处理装置、程序加载方法、记录介质、程序更新方法和电路设备的优化实施例。
图1示出了本发明第一实施例的DVD-ROM驱动器的结构。
该DVD-ROM驱动器用于再现加载在该驱动器某一位置上的DVD-ROM1。该DVD-ROM驱动器与一个人计算机(PC)10连接,从而利用该连接的PC10控制DVD-ROM1的多种操作。
该DVD驱动器包括一光学拾取单元2,一个轴电机3,一个读处理器4,一个光学拾取单元驱动器5,一个轴电机驱动器6,一个DVD解码器7,一个缓冲存储器8和一个CPU9,但这些部件并未特别示出。
该光学拾取单元2包括一个用于发射预定波长的激光的激光二极管,一个用于发射该激光二极管发射的预定波长的激光的物镜,从而使该激光汇聚在DVD-ROM1的数据记录表面上,一个用于激励该装于其上的物镜根据预定的控制信号实现聚焦和跟踪调节的双轴激励器,一个用于接收从DVD-ROM1的数据记录表面反射回来的光,并将该光转化为电信号,从而检测数据记录表面上是否出现凹坑的光电探测器。该光电探测器检测到的电信号通常被称为RF(射频信号)。
该光学拾取单元2包括一个用于沿DVD-ROM1的径向驱动该光学拾取单元2的滑动电机。
另外,若DVD-ROM驱动器包括一个未示出的用于将DVD-ROM1设定在加载的光盘托架上的机构,则该光学拾取单元2上具有一个用于激励该光盘托架的加载电机。
该轴电机3是一个旋转驱动加载位置的DVD-ROM1的电机。
该读处理器4根据光学拾取单元2上的光电探测器检测到的RF信号,产生用于DVD读出的EFM+(8-14位调制+)信号,用于跟踪伺服的聚焦误差(FE)信号,以及同步引入信号(pull-in signals),并将这些产生的信号发送到伺服控制单元12。
光学拾取单元驱动器5为一驱动器IC(集成电路),它根据预定的控制信号激励光学拾取单元2的未示出的双轴激励器、滑动电机和加载电机。
轴电机驱动器6为一驱动器IC,它根据预定的控制信号激励前面所述的轴电机3。
DVD解码器7包括一DVD信号处理器11,伺服控制单元12,光盘驱动单元13,存储器控制器14,一ATAPI(具有封装接口的AT附加装置)15以及CPUI/F16。
该DVD信号处理器11包括一RS-PC解码器,一ID处理8/16转换电路和一用于判断介质是否可记录的摆动检测器。
伺服控制电路12根据例如读处理器4发射的FE信号、TE信号或同步引入信号,产生用于驱动控制光学拾取单元2的双轴激励器或滑动电机的控制信号,并将该产生的控制信号发送到光学拾取单元驱动器5。
该光盘驱动单元13产生用于控制已经加载入DVD-ROM1的轴电机3的旋转的控制信号,并将该产生的控制信号发送至轴电机驱动器6。
存储器控制器14控制缓冲存储器8的数据写入和数据读出。
ATAPI15为PC10和DVD-ROM驱动器之间进行相互连接和交换数据的接口。
这种用于连接PC10的接口可以为SCCI(小型计算机系统接口),USB(通用串行总线)或IEEE(电气和电子工程师协会)1394,以替换该ATAPI15。
CPUI/F16为DVD解码器7和CPU9相互连接的接口,用于使CPU9控制DVD解码器7。该CPUI/F16读出存储在缓冲存储器8中的数据或在其中写入数据。
该缓冲存储器8为一随机可存取存储器,例如DRAM(动态随机可存取存储器),用于暂时保存DVD信号处理器11或CPU9发送的数据。
该CPU9通过CPUI/F16与DVD解码器7连接,从而全面控制DVD-ROM驱动器的功能。下面将详细说明该CPU9的结构和功能。
PC10通过例如DVD解码器7的ATAPI15与DVD-ROM驱动器连接,从而通过输入一预定命令控制DVD-ROM驱动器的操作,例如再现、停止或数据恢复。用户可通过PC10使用DVD-ROM1的各种数据。
下面将说明CPU9的结构。
该CPU9包括一CPU核心20、一启动ROM21、一闪存ROM22、一RAM23、一输入/输出端口24、一写入计时控制计时器25、一中断控制电路26、一串行通信电路27、一32位总线28、一16位总线29、一桥电路30和一外部总线控制器31。
该CPU核心20表示CPU9的核心部分,包括用于执行算术操作或比较判断的一算术逻辑电路、一加法器或一计数寄存器。
该启动ROM21为一所谓的闪存存储器,例如EEPROM(电可擦除可编程只读存储器),它是可进行电数据擦除的可编程ROM。
该启动ROM21存储有启动程序,当更新存储在闪存ROM22中的程序时,启动该程序。在启动该启动程序时,向例如CPU9上的接线端提供预定的电压。当向CPU9上的接线端提供预定电压时,从引导地址的开始处读出该启动程序以执行启动程序。
该启动ROM21还包括一加密处理单元21a,在其中存储有作为一个程序的用于解密通过加密传输的固件的通用密钥,以及用于利用该通用密钥对被加密的固件进行解码的解密算法。
与启动ROM21相似,该闪存ROM22也为一所谓的闪存存储器,例如EEPROM,它是电可擦除可编程ROM。
该闪存存储器22中存储有一固件,该固件为用于对DVD-ROM驱动器施加再现限制的程序。存储在闪存ROM22中的固件为用于执行DVD-ROM驱动器的预定操作的程序,例如DVD-ROM1的再现限制或数字复制的限制。
利用一TMR(磁致电阻隧道效应)装置,也可使用一MRAM(磁随机存取存储器)来替换闪存ROM22。该MRAM为磁性存储数据的存储器,因此可防止数据重写。这样,在更新该固件时,就不再需要擦除存储在MRAM中的数据的操作。即,不再需要对该固件进行预更新擦除操作。
参照图2,说明该通用密钥。
在图2中,在对纯文本数据加密中,利用该预定的加密密钥,将该数据转换为加密的数据。在对加密后的数据解密中,利用预定的解密密钥将其转换为该纯文本数据。
不同的是,该加密密钥用于对纯文本数据或信息进行加密,该解密密钥用于将该被加密的数据或信息转换为原始的纯文本数据或信息。
该通用密钥是指通用于加密上述数据的加密密钥,和用于解密该被加密数据的解密密钥。由于对该通用密钥的信息进行保密而没有公开,该通用密钥也称为秘密密钥。
虽然启动ROM21和闪存ROM22作为两个不同闪存ROM来表示,但也可将他们合成为一个单独的闪存ROM,可将它的存储区域分为一启动区域和一程序区域。
该RAM23为例如一不需要用于保持存储的内容的刷新操作的SRAM(静态随机可存取存储器),它可快速的进行存取。该RAM23表示当更新存储在闪存ROM22中的固件时,在其中打开数据和更新程序的区域。
通常,闪存存储器不能自己执行更新存储其中数据的程序。因此,在更新该固件时,更新函数与缓冲存储器8发送的固件数据一起,从启动ROM21复制到RAM23中。
该输入/输出端口24作为CPU9的数据写入端口和数据读出端口。
当更新闪存ROM22的固件时,该写入计时控制计时器25控制写入计时。
中断控制电路26根据允许执行中断程序的预定中断的产生,执行控制以中断当前正在执行的处理。
串行通信电路27为串行数据发送/接收的接口。
32位总线28为可一次发送/接收32位数据的总线。
16位总线29为可一次发送/接收16位数据的总线。
桥电路30将该32位总线28和16位总线29连接。
外部总线控制器31监视CPU9和作为外部设备的DVD解码器7之间传输的数据,并控制DVD解码器7的数据输入/输出。该外部总线控制器31还具有保护功能,从而使用户级不能访问RAM23和存储在启动ROM21和闪存ROM22中的程序。这考虑到可从CPU9中读出通用密钥、加密处理单元21a和解密固件加以限制。
参照图3的流程图,下面说明更新存储在闪存ROM22中的固件的操作。
首先,在步骤S1中,如果施加到启动接线端的电压很高,则CPU9的CPU核心20执行步骤S2。如果该电压低,则CPU核心执行步骤S4。
步骤S2的处理是对存储在闪存ROM22中的程序执行处理,步骤S4的处理是启动存储在启动ROM21中的启动程序以更新固件的处理。
在步骤S2中,CPU核心20从例如存储该固件的程序区域的引导地址开始,访问闪存ROM22的程序。
在步骤S3中,CPU核心20根据存储在该被访问的闪存ROM22的程序区域中的程序,执行常规处理,例如DVD-ROM1的再现或数据恢复。
在步骤S4中,根据施加到启动接线端的低电压,将存储有启动ROM21的启动程序的启动区域的引导地址读入CPU核心20,从而启动该启动程序。
在步骤S5中,CPU核心20对DVD-ROM驱动器的全部端口进行初始化。从而防止了该DVD-ROM驱动器的机械和电路系统被破坏。
在步骤S6中,该CPU核心20检验PC10是否已经输入可在未就绪状态下执行的命令。该未就绪状态这里是指DVD-ROM1没有加载入DVD-ROM驱动器上的位置的状态或该DVD-ROM1没有被CPU9识别的状态,该在未就绪状态中可执行的命令是指即使当DVD-ROM1没有被识别时也可执行的命令。例如,从DVD-ROM1中读出预定数据的命令就是不能在未就绪状态执行的命令。
如果输入在未就绪状态可执行的命令,则CPU核心执行步骤S8。如果输入不能在未就绪状态执行的命令,则CPU核心执行步骤S7。
在步骤S7中,该CPU核心20响应不能在未就绪状态执行的命令的输入,完成校验条件状态下的命令从而返回到步骤S6。
在步骤S8中,如果PC10发出不同于指令更新闪存ROM22的程序的写入缓冲命令的命令,则该CPU核心20执行步骤S9。如果发出该写入缓冲命令,则CPU核心20执行步骤S10。
在步骤S9中,CPU核心20响应于不同于写入缓冲命令的输入,执行输入命令。
在向DVD-ROM驱动器发出写入缓冲命令后,PC10将加密后的固件数据发送到DVD-ROM驱动器,该加密后的固件数据是利用通用密钥对将被更新为二进制文件形式的固件加密所得到的。
在步骤S10,该CPU核心20响应于接收到的写入缓冲命令,获得缓冲存储器8的数据存储区域的一个2×MKB的区域,该区域从地址N开始,其中M为自然数,从而使PC10发送的二进制文件存储在该获得的数据存储区域中。
当接收该二进制文件时,CPU核心20累加二进制数据的总数,产生校验和数据,该数据与二进制文件一起存储在缓冲存储器8中。该校验和数据是将数据的总数累加在一起而获得的,该校验和数据是用于确认发送的程序已经被无误差的接收的数据。
在步骤S11中,CPU核心20检验在步骤S10中存储在缓冲存储器8中的校验和数据,从而检查发送的固件数据是否已经被正确的接收。如果数据已经被正确的接收,则CPU核心20执行步骤S13,如果相反,则CPU核心20执行步骤S12。
在步骤S12中,当从步骤S11的校验和数据的检验结果得到确认,CPU核心20通过完成校验条件状态命令通知PC10该二进制数据已经被正确的发送。然后CPU核心20转到步骤S6。
在步骤S13中,CPU核心20将更新固件中使用的更新函数从启动ROM21复制到RAM23中,该更新函数当前存储在启动ROM21中。
该更新函数被复制到RAM23,并在其中展开,从而作为更新程序操作更新固件到闪存ROM22中。
现在利用图4所示的流程图说明更新函数的处理操作。
在步骤S21中,CPU核心20访问存储在RAM23中的更新函数的引导地址,从而利用该更新函数开始更新固件到闪存ROM22中。
在步骤S22中,CPU核心20控制中断控制电路26完全禁止中断程序的执行,同时禁止异常的处理的执行。
CPU核心20响应于PC10输入的写入缓冲命令的接收,擦除存储在闪存ROM22的固件存储区域中的数据。
同时,如果使用前述的MRAM替换闪存ROM22,则不需要擦除该存储的固件,因为MRAM允许数据重写。
在步骤S23中,CPU核心20启动写入计时控制计时器25,该计时器25用于控制闪存ROM22中的写入计时。
根据写入计时控制计时器25的计时控制,随后在闪存ROM22中写入数据。
在步骤S24中,CPU核心20访问缓冲存储器8的地址数N和闪存ROM22的地址数0,该地址数N中存储有加密的固件数据的二进制文件,地址数0中存储有固件。
在步骤S25中,CPU核心20从缓冲存储器8的地址数N中读出2KB数据,将读出的数据复制到RAM23中。
在步骤S26中,CPU核心20每隔8字节的读出已复制到RAM23中的2KB数据,并利用启动ROM21中的通用密钥和存储在加密处理单元21a中的解密算法对该数据解密。该CPU核心20使该解密的2KB数据,即解密的固件数据,重新存储在RAM23中并在其中展开。
在步骤S27中,CPU核心20从RAM23中读出存储在RAM23中的2KB固件数据,并将其写入闪存ROM22中,从地址数0开始。
如果在步骤S28中,存储在闪存ROM22中的固件数据的最后地址数为2×M,M为自然数,则CPU核心20执行步骤S30。如果相反,则CPU核心20执行步骤S29。
在步骤S29中,CPU核心20访问缓冲存储器8的地址数加2KB所得的地址和闪存ROM22加2KB得到的地址数。当该步骤结束后,CPU核心转到步骤S25。
在步骤S30中,CPU核心20停止写入计时控制计时器25,该计时器控制对闪存ROM22的写入计时。
在步骤S31中,作为步骤S28中的存储在闪存ROM22的固件数据的最后地址数为2×M,M为自然数的判断的结果,以及步骤S30中停止了写入计时控制计时器25的结果,对闪存ROM22的固件的更新结束。
在步骤S32中,CPU核心20响应于步骤S31中结束的固件更新,访问闪存ROM22的程序区域的引导地址。
在步骤S33中,CPU核心20响应于存储在闪存ROM22的被访问的程序区域中的程序,即被更新的固件,执行通常的操作,例如再现或数据恢复。
根据本发明,在DVD-ROM驱动器中在更新存储在闪存ROM22中的固件时,利用通用密钥,CPU9中的启动ROM21中的加密处理单元对来自PC10的被加密的固件数据进行解密,并将该固件数据写入闪存ROM22中,从而防止固件数据向外界泄漏。
在图4所示的流程图中,示出了从PC10接收加密的固件数据和解密该接收到的加密的固件数据以将其写入闪存ROM22中的技术。如果PC10输出未加密的数据,则图4中的步骤S25-S27的处理可变为步骤S25a的处理,即如图5所示,直接从缓冲存储器8写入闪存ROM22。
参照图6的流程图,现在说明PC10检验闪存ROM22的固件更新结果的处理操作。
在步骤S41中,PC10发出一读缓冲命令,要求存储在闪存ROM22中的固件转移到DVD-ROM驱动器中。
在步骤S42中,CPU核心20响应于从PC10发出的读缓冲命令的接收,从闪存ROM22的引导地址开始,读出存储在闪存ROM22中的固件的2KB数据。
在步骤S43中,CPU核心20将该读出的2KB数据记录和存储在RAM23的寄存器或CPU核心20中。
在步骤S44中,CPU核心20控制启动ROM21的加密处理单元21a,利用通用密钥,根据存储在加密处理单元21a中的解密算法,读出并加密该存储在RAM23或CPU核心20中的2KB的固件数据。
在步骤S45中,CPU核心20将该加密的2KB固件数据转移到用于存储的缓冲存储器8中。
在步骤S46中,CPU核心20检测存储在闪存ROM22中的固件数据是否已经全部被读出。如果全部固件数据都已经被读出,则CPU核心20执行步骤S47,如果没有全部读出固件数据,则CPU核心执行步骤S42。
在步骤S47中,如果存储在闪存ROM22中的固件数据全部都被读出并加密存储在缓冲存储器8中,则CPU核心20将存储在缓冲存储器8中的加密后的固件数据转移到PC10。
该加密状态的已经被转移的加密固件数据在PC单元中与原始数据相比较,以检测一致性。
以这种方式,PC10可以检验固件是否已经在DVD-ROM驱动器的闪存ROM22中可靠的更新。由于该固件在CPU9中被加密,且以此状态传输到PC10,因此该纯文本固件不可能在传输路线的中途中获得,从而可能防止该固件被分析或篡改。
在DVD-ROM驱动器的CPU9中,如图1所示,存储在启动ROM21中的解密算法的程序对该加密后的固件数据解密。可选择的是,如图7所示,可通过重新构造CPU9,将该加密处理单元作为程序形成在作为通用密钥加密处理单元32的硬件中。
该具有通用密钥加密处理单元32的CPU9执行高速加密处理,从而可更快的更新该固件。由于与结合图3、4说明的操作相类似,因此这里的更新处理不再说明。
在上述说明中,从CPU10输出的加密后的固件由CPU9自身进行解密,并上载到CPU9中的闪存ROM22中。该CPU9包括作为解密该加密后固件的加密处理单元的启动ROM21。
以这种方式,用于解密该加密后固件的加密处理单元,例如CPU9的启动ROM21,可以被加载入图1中所示的DVD解码器7中。将该DVD解码器7定制为例如加载入该加密处理单元更为实际。
下面说明图8中第二实施例所示的包括DVD解码器和一用于解密该加密后固件的解密单元17的DVD-ROM驱动器。
如图8所示,DVD-ROM驱动器中的DVD解码器207由图1所示的DVD解码器7组成,一用于解密PC10输入的加密后固件的解密单元217和一用于在PC10检验纯文本固件中加密存储在闪存ROM28中的纯文本固件的加密单元218与之相连。DVD-ROM驱动器在其它方面与图1所示DVD-ROM驱动器相同。
该解码器217和加密单元218可以分析利用一称为密钥流(伪随机数字)的随机数字作为加密密钥来加密纯文本的数据流加密程序,该加密程序是一种通用密钥加密技术。数据流加密系统的加密和解密是以一个很小的数据块为单位顺序执行的,该单位可为例如每位或每几个位,例如每一个字节。
如果用于执行数据流加密,如图9所示,该解码器217包括一SEED数据存储单元217a,一随机数字产生单元217b和一异或单元217c。
该SEED数据存储单元217a已经存储有SEED数据,该数据为随机数字产生单元217b的初始输入值,该数据对应于通用密钥,SEED数据存储单元根据CPU核心36的命令将该存储的SEED数据输出到随机数字产生单元217b。
该存储在SEED数据存储单元217a中的SEED数据可为一预存储的固定值,或可由CPU核心36选择性的设定。
该随机数字产生单元217b响应于SEED数据存储单元217a的SEED数据输入,根据预定的算法产生随机数字,并将该产生的随机数字输出到异或单元217c。
该异或单元217c利用解密该固件数据的方法,将从缓冲存储器8中读出的加密后的固件数据以一预定数据长度为单位进行异或处理,并对随机数字产生单元217b输出的随机数字进行异或处理,并将解密后的纯文本固件数据输出到CPU35中的闪存ROM38中。
如果用于执行数据流加密,则如图10所示,该加密单元218包括一SEED数据存储单元218a,一随机数字产生单元218b和一异或单元218c。
该SEED数据存储单元218a已经存储有SEED数据,该数据为随机数产生单元218b的初始输入值,该数据对应于通用密钥,SEED数据存储单元根据CPU核心36的命令将该存储的SEED数据输出到随机数字产生单元218b。
该存储在SEED数据存储单元218a中的SEED数据可为一预存储的固定值,或可由CPU核心36选择性的设定。
同时,由SEED数据存储单元218a输入到随机数字产生单元218b的SEED数据与由SEED数据存储单元217a输入到解码器217的随机数字产生单元217b中的SEED数据相同。
该随机数字产生单元218b响应于SEED数据存储单元218a的SEED数据输入,根据预定的算法产生随机数字,并将该产生的随机数字输出到异或单元218c。
随机数字产生单元218b中使用的算法与解码器217的随机数字产生单元217b中产生随机数字的算法相同。
该异或单元218c利用加密该固件数据的方法,将从闪存ROM38中以一预定数据长度为单位读出的纯文本的固件数据和随机数字产生单元218b输出的随机数字进行异或处理,并将加密后的纯文本固件数据输出到缓冲存储器8中。
该CPU35包括一CPU核心36、一RAM37和一闪存ROM38。该CPU35通过一CPUI/F216与DVD解码器207连接。
该CPU核心36与图1所示的CPU核心20相似,表示CPU35的核心部分,包括一算术逻辑电路、一加法器或一寄存器,用于执行算术运算或比较判断。
该RAM37与图1所示的RAM23相似,为例如一SRAM(静态随机存取存储器),不需要刷新操作以保持存储的内容,其存取速度很快。该RAM 37表示当更新存储在闪存ROM38中的固件时展开数据和更新程序的区域。
该闪存ROM38为所谓的闪存存储器,例如EEPROM,是可电擦除可编程ROM。该闪存ROM38与图1所示的闪存ROM22相似,其中存储有一固件,该固件是一个用于对DVD-ROM驱动器施加再现限制的程序。
DVD解码器207的解密单元217解密的纯文本固件数据通过CPUI/F216输出到CPU35中的闪存ROM38中。
该闪存ROM38与图1所示的DVD-ROM驱动器的CPU9中的闪存ROM22相似,可为MRAM,使用一TMR装置。
在图8所示的DVD-ROM驱动器中,DVD解码器207解码的纯文本固件数据以纯文本状态被传输到CPU35。因此,在传输过程中风险很大,也就是按照此配线,纯文本固件数据可被偷看。
这样,需要在CPU35和DVD解码器207之间提供作为多层基片的内层的流过该纯文本固件数据的配线,或需要将半导体包装设计为没有针状突出的球状栅格阵列。
同时,不同于DVD-ROM驱动器的CPU35和DVD解码器207的功能单元与图1所示的DVD-ROM驱动器上的功能单元相同,因此不再赘述。
现在利用图11和12的流程图,说明更新存储在闪存ROM38中的固件的操作。首先,利用图11所示的流程图,说明直到将更新函数读入RAM37的操作。
在步骤S101中,CPU核心36检查从PC10发出并被接收的命令是否为一写入缓冲命令。如果该命令不是写入缓冲命令,则CPU核心执行步骤S102,如果该命令为写入缓冲命令,则CPU核心36执行步骤S103。
在步骤S102中,CPU核心36检查指令更新存储在闪存ROM38中的固件的参数是否已经被加入到PC10发来的写入缓冲命令中。如果该参数没有加入到该命令中,则CPU核心36执行步骤S103,如果该参数已经加入到命令中,则CPU核心36执行步骤S104。
在步骤S103中,CPU核心36响应于PC10的命令不是写入缓冲命令以执行该已发送的命令。该CPU核心36还响应于PC10发出的命令是写入缓冲命令,但是固件更新指令参数没有加入该命令,而执行对写入数据而不是缓冲存储器8中的从PC10发送来的固件进行控制。当步骤103的处理结束时,CPU核心36回到步骤S101。
当将写入缓冲命令发送到DVD-ROM驱动器后,PC10将对应于用于更新的固件的根据数据流加密系统被加密的二进制文件形式的用于更新的加密后的固件数据发送到DVD-ROM驱动器中。
在步骤S104中,CPU核心36响应于写入缓冲命令的接收,从地址N开始获取缓冲存储器8的数据存储区域的一个M字节的区域,M为自然数,从而将PC10发送来的二进制文件存储在该获取的数据存储区域中。
在步骤S105中,CPU核心36确认传输的二进制文件的校验和。该校验和数据加入到该传输的二进制文件中。CPU核心36将该加入的校验和数据与传输的二进制文件的二进制数据的总和值进行比较,如果二者相同,则假定二进制文件已经被正确的传输。该CPU核心36然后执行步骤S107。如果二者不同,则假定二进制文件的传输失败,CPU核心36执行步骤S106。
在步骤S106中,CPU核心36通知PC10该二进制文件没有被正确的传输,然后转到步骤S101,该情况可通过终止校验条件状态的命令,由校验和数据的检验结果证明。
在步骤S107中,CPU核心36可将更新存储在闪存ROM38中的闪存ROM38的固件的更新函数复制到RAM37中,从而可在RAM37执行CPU核心36的程序。
该CPU核心36然后清除存储在闪存ROM38的固件存储区域中的数据,该数据为预更新固件。同时,如果该闪存ROM38为可重写的MRAM,则该清除操作可省略。
利用图12的流程图,说明更新函数的处理操作。
在步骤S111中,CPU核心36访问存储在RAM37中的更新函数的引导地址,从而利用该更新函数开始将该固件更新到该固件的闪存ROM38中。
在步骤S112中,CPU核心36控制一未示出的中断控制电路,禁止中断程序整体上的执行,以及禁止其异常处理的执行。
在步骤S113中,CPU核心36启动未示出的写入计时控制计时器,该计时器控制闪存ROM38的写入计时。然后,在写入计时控制计时器的计时控制下,执行在闪存ROM38中写入数据。
在步骤S114中,CPU核心36访问存储有加密的固件数据的缓冲存储器8中的地址数N,以及存储有固件的闪存ROM38的地址数0。
在步骤S115中,CPU核心36以一个便于解码的数据量为单位,例如每个字节,从缓冲存储器8的地址数N开始读出数据,并在解密单元17中将这些数据解密为纯文本。该CPU核心36使解密后的纯文本固件数据存储在CPU核心36中的寄存器中或RAM37中。
该CPU核心36读出存储在CPU核心36的寄存器或RAM37中的固件数据,将读出的数据从闪存ROM38的地址数0开始写入到闪存ROM38中。
在步骤S116中,CPU核心36检查固件数据是否已经整体上写入到闪存ROM38中。如果地址数不是M,则CPU核心36执行步骤S117,如果地址数为M,则CPU核心36执行步骤S118。
在步骤S117中,CPU核心36访问缓冲存储器8的地址数加一个字节所得的地址和闪存ROM38的地址数加一个字节所得的地址。当该步骤结束时,CPU核心20转向步骤S115,从缓冲存储器8的可访问的地址数中读出加密后的固件数据,同时将该解密后的纯文本固件数据写入到闪存ROM38中的可访问地址数中。
在步骤S118中,CPU核心36停止控制闪存ROM38的写入计时的写入计时控制计时器。
在步骤S119中,由于步骤S116中判断结果为存储在闪存ROM38中的固件数据的最后地址数为M,M为自然数,以及由于步骤S118中写入计时控制计时器25被停止,因此闪存ROM38中的固件更新完成。从而完成了闪存ROM38的固件更新。
因此,在图8所示的本发明的DVD-ROM驱动器中,当更新存储在闪存ROM38中的固件时,根据PC10中的数据流加密系统加密的固件数据在DVD解码器207中的解码器217中解密,并被写入到CPU35中的闪存ROM38中。
在DVD解码器207和CPU35之间的数据交换中,传输纯文本固件数据。此时,可利用安装级别方法防止固件数据的泄漏,例如不允许半导体包装接线端部分外露或适当的布线。
现在利用图13所示的流程图说明PC10检验更新闪存ROM38的固件的结果的处理。
在步骤S121中,检查PC10发出并被接收的命令是否为读缓冲命令。如果该命令不是读缓冲命令,则CPU核心执行步骤S123,如果该命令是读缓冲命令,则CPU核心36执行步骤S122。
在步骤S122中,CPU核心36检测指令读出存储在闪存ROM38中的固件的参数是否已经被加入到PC10发出的读缓冲命令中。如果该参数没有被加入,则CPU核心执行步骤S123,如果该参数已经被加入,则CPU核心36执行步骤S124。
在步骤S123中,CPU核心36响应于PC10不是读缓冲命令的命令而执行传输的命令。该CPU核心36还响应于传输的命令为读缓冲命令但该固件更新指令参数没有加入到该命令中,而控制从缓冲存储器8中读出不是固件的数据。当步骤S123的处理结束时,该处理完成。
当将读缓冲命令传送到DVD-ROM驱动器后,PC10将二进制文件的加密后的固件数据发送到DVD-ROM驱动器,该加密后的固件数据为用于更新的固件数据,根据数据流加密系统加密。
在步骤S124中,CPU核心36访问缓冲存储器8的地址数N和固件存储的闪存ROM38的地址数0。
在步骤S125中,CPU核心36以一个便于解码的数据量为单位,例如每个字节,从用于存储的闪存ROM38中的地址数0开始读出数据,并存储在CPU核心36的寄存器或RAM37中。
该CPU核心36读出存储在CPU核心36的寄存器或RAM37中的纯文本固件数据,并在DVD解码器207的加密单元218中将该读出的数据加密为加密后的固件数据。该CPU核心36将该加密后的固件数据写入到从缓冲存储器8的地址数N开始的区域中。
在步骤S126中,CPU核心36检验固件数据是否已经全部从闪存ROM38中读出。如果地址数不是M,则CPU核心36执行步骤S127,如果地址数为M,则CPU核心36执行步骤S128。
在步骤S127中,CPU核心36访问缓冲存储器8的地址数加一个字节所得的地址和闪存ROM38的地址数加一个字节所得的地址。当该步骤结束时,CPU核心36执行步骤S125,从闪存ROM38的可访问的地址数开始读出固件数据,将该加密后的固件数据写入到缓冲存储器8中的可访问地址数中。
在步骤S128中,CPU核心36响应于已经从闪存ROM38中读出并存储在缓冲存储器8中的全部固件数据,将该存储在缓冲存储器8中的加密后的固件数据传送到PC10。
该被传输的加密后的固件数据在加密状态下与PC10的原始数据比较,以检查二者是否相同。
这样,PC10可以检查固件是否已在DVD-ROM驱动器的闪存ROM38中被可靠的更新。
在DVD解码器207和CPU35之间的数据交换中,传输纯文本固件数据。此时,可利用安装级别方法防止固件数据的泄漏,例如不允许半导体包装接线端部分外露或适当的布线。
应当注意,通常在例如PC(个人计算机)上执行的程序存储在辅助的存储装置,如硬盘(HD)中,并在PC工作时被载入主内存装置,例如RAM(随机存取存储器)中。CPU读出载入主内存装置中的程序以执行该程序。
因此,当CPU执行的程序被载入主内存装置时,可使用驻留在CPU核心中的IPL(初始程序加载器)或从HD初始化读入。
在参照图1的第一实施例的DVD-ROM驱动器和参照图8的第二实施例的DVD-ROM中,存在DVD解码器中由CPU的情况。此时,DVD解码器上的该CPU的操作与上述的PC相似,从而将存储在外部存储装置中的程序读到RAM中,执行该读出到RAM中的程序,以执行预定的处理,例如DVD解码。
因此,存储在外部存储装置中的程序当读出到DVD解码器中的RAM中时,易于被偷看,从而引起程序分析或篡改,因此该程序需要以加密的状态存储。
在下面的说明中,DVD解码器上的CPU执行的程序称为微程序,该加密状态的微程序数据称为加密的微程序数据。
图14所示的第三实施例的DVD-ROM驱动器包括一对应于图1所示的DVD解码器7的DVD解码器307,该解码器307具有一CPU核心341、一SRAM342和一解码器343。该DVD-ROM驱动器在其它方面与图1所示的DVD-ROM驱动器的结构相同。该内部核心341、SRAM342和解码器343通过内部总线与存储器控制器314和CPUI/F316连接。图14所示的DVD-ROM驱动器包括一外部CPU45、一闪存ROM46,其中存储有将被读入到DVD解码器307中的加密的微程序数据。
该内部CPU核心341为一用于控制DVD解码器307的微控制器。该内部CPU核心341存储有IPL,该IPL是一程序,用于允许内部CPU核心执行的微程序被读入到SRAM342中。该IPL在DVD-ROM驱动器加电时启动。
该SRAM342为内部CPU核心341的主存储装置,其中存储有内部CPU核心341执行的微程序数据。在SRAM342中,IPL从闪存ROM46中读出的加密的微程序数据由解码器343解码并存储。
该解码器343为一解码电路,用于解码加密存储在闪存ROM46中的微程序数据(加密的微程序数据),将该解密的数据传输到SRAM342的程序区域中。该解码器343对根据通用密钥加密系统(块加密或数据流加密系统)加密的微程序数据解码。
当使用数据流加密时,如图15所示,该解码器343包括一SEED数据存储单元343a、一随机数字产生单元343b和一异或单元343c。
该SEED数据存储单元343a已经存储有SEED数据,该数据为随机数字产生单元343b的初始输入值,该数据对应于通用密钥,SEED数据存储单元根据内部CPU核心341的命令将该存储的SEED数据输出到随机数字产生单元343b。
该存储在SEED数据存储单元343a中的SEED数据可为一预存储的固定值,或可由内部CPU核心341选择性地设定。
该随机数字产生单元343b响应于自SEED数据存储单元343a的SEED数据输入,根据预定的算法产生随机数字,并将该产生的随机数字输出到异或单元343c。
异或单元343c利用解密微程序数据的方法,将以一预定数据长度为单位从闪存ROM46中读出的加密的微程序数据与从随机数字产生单元343b输出的随机数字进行异或处理,并将解密后的纯文本微程序数据通过内部CPU总线输出到DVD解码器307中的SRAM342中。
DVD解码器307的CPUI/F316还具有保护功能,使得存储在DVD解码器307的SRAM342中的微程序数据、存储在解码器343的SEED数据存储单元343a中的SEED数据或随机数字产生单元343b的随机数字产生算法不能由用户级查阅。从而对取出解密后的纯文本微程序数据或解密加密后的微程序数据的解密函数进行限制。
该外部CPU45为全面控制DVD-ROM驱动器的控制器,包括一算术逻辑电路、一加法器或一寄存器,用于执行算术运算或比较判断。
闪存ROM46为所谓的闪存存储器,例如可电擦除可编程ROM的EEPROM。该闪存ROM46中存储有加密后的微程序数据,该数据为内部CPU核心341的加密后的程序。
下面利用图16的流程图说明图14中表示的启动DVD-ROM驱动器的操作。
在步骤S131中,驻留在内部CPU核心341中的IPL在电源加电或复位时启动。与IPL的启动同时发生的是,接收到SEED数据的随机数字产生单元343b对解码器343初始化。
在步骤S132中,通过在内部CPU核心341上执行IPL,从闪存ROM46的引导地址开始,读出存储在闪存ROM46中的加密后的微程序数据。该加密后的微程序数据在读出时被输入到解码器343中,并与随机数字产生单元343b的输出数据进行异或,从而被解码为纯文本微程序数据。该解码后的微程序数据被写入到SRAM342中。
在步骤S133中,通过内部CPU核心341上执行的IPL检验是否已经读出存储在闪存ROM46中的被加密的微程序数据的预定量。当已经读出加密后微程序数据的预定量时,该内部CPU核心341执行步骤S134。当没有读出加密后微程序数据的预定量时,执行自闪存ROM46的读出,在解码器343中的解密和在SRAM342中的写入。
如果在步骤S134中,利用内部CPU核心341上执行IPL从闪存ROM46中的读出已经结束时,内部CPU核心341将纯文本微程序数据写入到SRAM342中,结束的程序计数器的值作为SRAM342的引导地址。
因此,当图14所示的DVD-ROM驱动器被启动时,存储在闪存ROM46中的加密的微程序数据,可由IPL读出,在DVD解码器307中解密,并写入到SRAM342中。因此,通过由DVD解码器307的内部CPU核心341执行的该微程序,由于在DVD解码器307中执行解密,因此可以防止程序分析或篡改。
因此,在更新DVD-ROM驱动器的固件时,该固件被加密并从PC10传送到DVD-ROM驱动器,在图1所示的CPU9或图8所示的DVD解码器207中被解密,以便在CPU中的闪存ROM中被更新,从而防止了在更新过程中被分析和篡改。可选择的是,在启动如图14所示的DVD-ROM驱动器时将载入的程序以加密的状态读出到解码电路中,并在该电路中解密,从而防止在加载过程中程序被分析和篡改。
同时,在图14所示的DVD-ROM驱动器中,通过总线从与DVD解码器307连接的闪存ROM46提供存储在SRAM342中的微程序。该微程序可以例如为一只读存储器(ROM)、一盘形记录介质或一可移动半导体存储器。
在图14所示的DVD-ROM驱动器中,通过解密单元343从闪存ROM46将微程序读出到SRAM342的处理可由封装在DVD解码器307中的内部CPU核心341上的IPL来执行。可选择的是,该处理可在DVD解码器307外部的CPU的控制下执行,例如通过外部CPU45。
但是,可以预期,如果可以禁止加密程序解密后的程序泄漏,则加密的程序可被篡改。
例如,如果在图1所示的DVD-ROM驱动器中,加密的固件被篡改,则被篡改的数据存储在闪存ROM22中,从而可能引起非法内容复制或驱动故障。
为了克服这种问题,可采取这样的技术,在将要更新的程序主体上加入用于检验程序篡改事实的程序,将该产生的程序主体发送到DVD-ROM驱动器。该检验程序被加入到将被更新的程序主体上,DVD-ROM驱动器执行该更新的程序,该加在该程序主体上的检验程序首先启动以判断该更新的程序是否已经被篡改。
利用图17-19所示的流程图,说明禁止加密的数据被篡改的程序的更新操作。应当注意图8所示的DVD-ROM驱动器用作程序更新驱动器只是为了说明。
首先,利用图17所示的流程图,一直说明到具有附加的检验程序的程序主体运行到DVD-ROM驱动时的操作。
在步骤S141中,用于传送到DVD-ROM驱动器的程序由例如驱动器制造商预先准备。在该准备的程序主体上附加上述用于检验程序篡改的检验程序。
在步骤S142,驱动器制造商由一个程序产生检验数据,该程序被分配为其上附加有该已产生的检验数据,如图20所示。
此检验数据是利用散列函数通过执行对该程序主体的处理而得到的一个散列值。例如,标准化组织NIST所提供的,属于US商业部的,由SHA进一步改进的SHA(安全散列算法)-1,也可以被作为此散列函数使用,如图21所示。此SHA-1是一种用于根据小于264的数据长度而产生160比特长度的散列值(检验数据)的算法。
在步骤S143,驱动器制造商对加上了检验数据的程序进行加密,以包含该检验数据,如图22所示。
在步骤S144,驱动器制造商根据加密的程序计算校验和数据,以附加这样计算的校验和数据,如图23所示。该附加数据也可以是由散列函数建立的散列值,来代替校验和数据。这样加上了校验和数据的程序就变成了允许传送的数据。
该允许传送的数据,利用例如ROM介质,被发送至用户(PC10)。
在步骤S145,PC10向DVD-ROM驱动器传送现在允许传输的数据(程序)。
利用图18所示的流程图,可以说明DVD-ROM驱动器接收该程序的操作,其中采取了防止传送到PC10的加密数据被篡改的措施。
在步骤S151,在接收到同写缓冲命令一起从PC10传送来的程序之后,DVD-ROM驱动器比较该程序附加的校验和数据,和传送的加密程序数据的和值。若两个值相互不一致,则DVD-ROM驱动器进行到步骤S152,否则,DVD-ROM驱动器进行到步骤S153。
在步骤S152,DVD-ROM驱动器,通过终止校验条件状态的命令,通知PC10加密的程序数据未被正确传送的事实,如同校验和数据的比较结果所示。然后DVD-ROM驱动器返回步骤S151。
在步骤S153,解密单元17对加密的微程序数据进行解密。该检验数据被附加在解密的数据上,同时该检验程序位于该程序主体上。
在步骤S154中,被解密的程序数据被存储在闪存ROM38中。
在步骤S155中,当启动存储在闪存ROM38中的程序时,首先执行该检验程序。
利用图19所示出的流程图,可说明检验程序的操作。
在步骤S161,启动的检验程序通过散列函数计算程序主体的散列值。
在步骤S162,检验程序比较程序主体所附加的检验数据和所计算的散列值。若两个值相互一致,则检验程序进行到步骤S163。若两个值相互不一致,则检验程序进行到步骤S164。
在步骤S163,响应于存储在闪存ROM 38中的程序未被篡改的判断,即附加的检验数据与计算的散列值相一致,DVD-ROM驱动器执行存储在闪存ROM38中的程序主体。
在步骤S164,响应于存储在闪存ROM38中的程序被篡改的判断,即附加的检验数据与计算的散列值不一致,DVD-ROM驱动器进入一种未就绪状态,或处于一种稳定的非操作状态。
通过对被传送的程序主体附加通过散列函数计算的检验数据,并传送由此得到的程序主体,即使在加密的数据本身已被篡改的情况下,DVD-ROM驱动器也能够检验篡改事实。
在根据本发明的上述第一和第二实施例的DVD-ROM驱动器中,将被更新的固件被传送至PC10。可选择的是,该固件可以被记录在例如DVD-ROM驱动器上可再现的DVD-ROM1上。通过在DVD-ROM1中存储该加密的固件数据作为一个文件,DVD-ROM驱动器能够再现此DVD-ROM1,以获得将被更新的固件。
在类似的方式中,根据本发明第三实施例的DVD-ROM驱动器,记录有作为一个文件的加密微程序数据的DVD-ROM1可以被再现以加载该微程序。
同时,在更新被写入DVD-ROM驱动器的启动ROM21中的固件时所启动的程序,如本发明第一实施例所示,可以被写入在DVD-ROM1中。该固件可以被再现DVD-ROM1的DVD-ROM驱动器所更新。
在类似的方式中,根据本发明的第二实施例,在更新DVD-ROM驱动器上的固件时被启动的程序,可以被写入在DVD-ROM1中。该固件可以被再现上述DVD-ROM1的DVD-ROM驱动器所更新。
在类似的方式中,根据本发明的第三实施例,在对DVD-ROM驱动器上加载微程序时启动的程序,可以被写入DVD-ROM1中。该微程序可以被再现上述DVD-ROM1的DVD-ROM驱动器所加载。
并且,在DVD-ROM驱动器中,如本发明的第一或第二实施例所示,可以提供一个与半导体存储器,例如存储棒(注册商标),相关的,用于半导体存储器的槽,并且加密的固件数据可以被记录在代替DVD-ROM1的该半导体存储器中,以更新该固件。
在类似的方式中,根据本发明的第三实施例的DVD-ROM驱动器中,加密的微程序数据可以被记录在可移动半导体存储器中以加载该微程序。
在根据本发明的第一至第三实施例中,使用了DVD-ROM驱动器。但本发明并不局限于这种结构,而是可以应用于能够记录和/或再现其上记录有数据的CD-ROM,CD-R,CD-RW,DVD-RAM,DVD-R/RW或DVD+R/RW的任何光盘装置。
虽然在本发明的第一至第三实施例中,使用了DVD-ROM驱动器,但本发明并不局限于这种结构,而是可以应用于通常需要某种或其他安全性的任何处理装置。
虽然使用一个共同密钥的加密技术被作为用于加密或解密该固件或微程序的一种技术,但本发明并不局限于这种方法。例如,公共密钥系统或其他加密算法都可被使用。
并且,虽然在本发明的第一至第三实施例中,DVD-ROM驱动器被用于处理固件或微程序,但其也可是被处理的数据,也就是说,该数据可以是例如可被更新或设定的任何数据,例如可重写寄存器或DVD-ROM驱动器中的存储器的设定值。
Claims (61)
1.一种信息处理装置,包括:
加密程序数据接收装置,用于接收通过使用预定的加密密钥对预定程序加密而得到的加密程序数据,
解密装置,用于利用一个预定的解码密钥,将从所述加密程序数据接收装置接收的所述加密程序数据解密为预定的程序,
存储装置,用于存储通过所述解密装置由所述加密程序数据解密后的所述预定程序,
程序读出装置,用于读出存储在所述存储装置中的所述预定程序,和
控制装置,用于根据所述读出装置读出的所述预定程序而控制信息处理装置的一个预定操作。
2.根据权利要求1的信息处理装置,其中所述加密程序数据接收装置接收从一个外部设备传送过来的加密程序数据。
3.根据权利要求1的信息处理装置,进一步包括:
再现装置,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密后的加密程序数据;
所述加密程序数据接收装置接收被所述再现装置再现的加密程序数据。
4.根据权利要求1的信息处理装置,进一步包括:
加密程序数据存储装置,其上存储有所述加密程序数据;和
加密程序数据读出装置,用于读出存储在所述加密程序数据存储装置中的所述加密程序数据;
所述加密程序数据接收装置接收通过所述加密程序数据读出装置读出的加密程序数据。
5.根据权利要求1的信息处理装置,其中通过所述加密程序数据接收装置接收的加密程序数据包括,用所述预定的加密密钥对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个用于执行所述预定运算的检验程序,和一个加密检验程序。
6.根据权利要求5的信息处理装置,其中
在解密所述加密程序数据时,所述解密装置利用所述预定的解密密钥,将所述加密检验数据和加密检验程序分别解密为所述第一检验数据和所述检验程序;
所述存储装置存储通过所述解密装置解密的所述第一检验数据和检验程序;
所述控制装置在执行所述预定程序之前,根据所述检验程序,由存储在所述存储装置中的所述预定程序的程序数据计算第二检验数据,并比较该计算的第二检验数据和存储在所述存储装置中的第一检验数据;
所述读出装置响应于该第一检验数据和第二检验数据通过所述控制装置的相互比较的一致性,读出存储在所述存储装置中的所述预定程序。
7.根据权利要求1的信息处理装置,其中
该装置包括所述控制装置,所述加密程序数据接收装置,所述解密装置,所述存储装置和一个控制单元中的程序读出装置,其中所述控制单元包括输出控制装置,用于限制通过所述解密装置解密的所述预定程序和存储在所述存储装置中的所述预定程序自外部设备的输出。
8.一种程序加载方法,用于对所述信息处理装置加载一个预定程序以控制该信息处理装置的一个预定操作,包括:
一个加密程序数据接收步骤,用于接收以预定的加密密钥对所述预定程序加密后的加密程序数据,
一个解密步骤,用于利用一个预定的解密密钥对所述加密程序数据接收步骤接收的所述加密程序数据进行解密,和
存储步骤,用于将所述解密步骤中对所述加密程序数据解密后的所述预定程序存储在存储装置中。
9.根据权利要求8的程序加载方法,其中所述加密程序数据接收步骤接收从一个外部设备传送过来的所述加密程序数据。
10.根据权利要求8的程序加载方法,进一步包括:
一个再现步骤,用于再现一个记录介质,该记录介质上记录有利用一个预定的加密密钥对所述预定程序加密后的加密程序数据;
所述加密程序数据接收步骤接收在所述再现步骤中再现的所述加密程序数据。
11.根据权利要求8的程序加载方法,进一步包括:
一个加密程序数据读出步骤,用于从存储有所述加密程序数据的所述信息处理装置的所述加密程序数据存储装置中读出所述加密程序数据;
所述加密程序数据接收步骤接收通过所述加密程序数据读出步骤读出的所述加密程序数据。
12.根据权利要求8的程序加载方法,其中所述加密程序数据接收步骤接收的所述加密程序数据包括,利用所述预定的加密密钥对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个用于执行所述预定运算的检验程序,和一个加密检验程序。
13.根据权利要求12的程序加载方法,其中所述解密步骤
在解密所述加密程序数据时,所述解密步骤利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述存储步骤将通过所述解密步骤解密的所述第一检验数据和检验程序存储在所述存储介质上;
所述控制步骤包括一个检验数据计算步骤,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储步骤中存储的所述预定程序的程序数据计算第二检验数据,和一个检验数据比较步骤,用于比较该计算的第二检验数据和在所述存储步骤中存储的第一检验数据;
所述读出步骤响应于该第一检验数据和第二检验数据通过所述检验数据比较步骤相互比较的一致性,读出在所述存储步骤中存储的所述预定程序。
14.根据权利要求8的程序加载方法,进一步包括:
一个输出限制步骤,用于限制所述解密的预定程序自所述外部设备的输出。
15.一种记录介质,其上记录有一个程序,用于对信息处理装置加载一个用于控制信息处理装置的一个预定操作的一个预定程序,其中该程序包含:
一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对所述预定程序加密后得到的加密程序数据;
一个解密步骤,用于利用一个预定的解码密钥,将所述加密程序数据接收步骤接收的所述加密程序数据解密为所述预定程序;和
一个存储步骤,用于存储所述加密程序数据由所述解密步骤解密后的所述预定程序。
16.根据权利要求15的其上记录有一个程序的记录介质,其中所述加密程序数据接收步骤接收从一个外部设备传送过来的加密程序数据。
17.根据权利要求15的其上记录有一个程序的记录介质,进一步包括一个再现步骤,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密得到的加密程序数据,和一个加密程序数据接收步骤,用于接收通过所述再现步骤而再现的加密程序数据。
18.根据权利要求15的其上记录有一个程序的记录介质,进一步包括一个加密程序数据读出步骤,用于从存储有所述加密程序数据的所述信息处理装置的所述加密程序数据存储装置中读出所述加密程序数据;
所述加密程序数据接收步骤接收通过所述加密程序数据读出步骤读出的所述加密程序数据。
19.根据权利要求15的其上记录有一个程序的记录介质,其中所述加密程序数据接收步骤接收的加密程序数据包括,用所述预定的加密密钥对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个用于执行所述预定运算的检验程序,和一个加密检验程序。
20.根据权利要求19的其上记录有一个程序的记录介质,其中在解密所述加密程序数据时,所述解密步骤利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述存储步骤将通过所述解密步骤解密的第一检验数据和检验程序存储在所述存储装置中;
所述控制步骤包括一个检验数据计算步骤,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储装置中存储的所述预定程序的程序数据计算第二检验数据;
一个检验数据比较步骤,用于比较在所述检验数据计算步骤中计算的所述第二检验数据和在所述存储装置中存储的第一检验数据;
所述读出步骤响应于该第一检验数据和第二检验数据通过所述检验数据比较步骤相互比较的一致性,读出在所述存储装置中存储的所述预定程序。
21.根据权利要求15的记录介质,其中记录在所述记录介质上的程序,进一步包括一个输出限制步骤,用于限制所述解密的预定程序自外部设备的输出。
22.根据权利要求15的记录介质,其中该信息处理装置在控制单元中包括,所述存储装置和控制装置,用于根据所述存储装置中存储的程序而控制所述信息处理装置的预定操作;记录在所述记录介质上的所述程序还包括一个程序传送步骤,用于将通过所述解密步骤解密的所述预定程序传送到控制单元,一个程序接收步骤,用于接收通过所述程序传送步骤传送到所述控制单元的所述预定程序,和一个程序写入步骤,用于将通过所述程序接收步骤接收的所述预定程序写入到所述存储装置中。
23.一个具有一控制单元的信息处理装置,该控制单元包括,存储有第一程序的存储装置,和控制装置,用于读出存储在存储装置中的第一程序并根据读出的第一程序来控制信息处理装置的预定操作,该信息处理装置包括:
加密程序数据接收装置,用于接收利用一个预定的加密密钥对第二程序加密后的加密程序数据,
解码装置,用于利用一个预定的解码密钥,对由加密程序数据接收装置接收的加密程序数据进行解码,和
程序传送装置,用于将加密程序数据被解密装置解密后的第二程序传送至控制单元;
所述控制单元包括程序接收装置,用于接收由传送装置传送的第二程序,和
程序写入装置,用于将程序接收装置接收的第二程序写入存储装置。
24.根据权利要求23的信息处理装置,其中所述加密程序数据接收装置可接收从一个外部设备传送过来的所述加密程序数据。
25.根据权利要求23的信息处理装置,进一步包括:
再现装置,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述第二程序加密得到的加密程序数据;
所述控制装置控制所述再现装置,从而响应于一个程序更新请求而再现所述记录介质;
所述加密程序数据接收装置可接收被所述再现装置再现的加密程序数据。
26.根据权利要求23的信息处理装置,其中
在多层基片的内层上提供一个相互连接所述程序传送装置和所述程序接收装置的配线。
27.根据权利要求23的信息处理装置,其中所述控制单元是一个球状栅格阵列。
28.根据权利要求23的信息处理装置,其中通过所述加密程序数据接收装置接收的加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述第二程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥执行所述预定运算的程序,和一个加密检验程序。
29.根据权利要求28的信息处理装置,其中
在解密所述加密程序数据时,所述解密装置利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述程序写入装置,用于将所述解密装置解密的所述第一检验数据和所述检验程序写入到所述存储装置中;
所述控制装置,用于在执行所述第二程序之前,根据所述检验程序,由在所述存储装置中存储的所述第二程序的程序数据,计算第二检验数据;并比较计算的第二检验数据和在所述存储装置中存储的第一检验数据;所述控制装置响应于该第一检验数据和第二检验数据相互比较的一致性,读出在所述存储装置中存储的所述第二程序。
30.一种用于信息处理装置的程序更新方法,该信息处理装置具有一控制单元,该控制单元包括存储有第一程序的存储装置,和控制装置,用于读出存储在所述存储装置中的所述第一程序并根据读出的第一程序来控制所述信息处理装置的一个预定操作,该程序更新方法包括:
一个加密程序数据接收步骤,用于响应一个请求更新所述第一程序的程序更新请求而接收加密程序数据,该加密程序数据是利用一个预定的加密密钥加密后的第二程序,
一个解密步骤,用于利用一个预定的解密密钥,将加密程序数据接收步骤接收的所述加密程序数据解密为所述第二程序,
一个程序传送步骤,用于传送所述加密程序数据在所述解密步骤解密后的所述第二程序,
一个程序接收步骤,用于接收由所述程序传送步骤传送至所述控制单元的第二程序,和
一个程序写入步骤,用于将所述程序接收步骤接收的所述第二程序写入所述存储装置。
31.根据权利要求30的程序更新方法,其中所述加密程序数据接收步骤接收从一个外部设备传送过来的加密程序数据。
32.根据权利要求30的程序更新方法,进一步包括:
一个再现步骤,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述第二程序加密得到的加密程序数据;
所述再现步骤,响应于所述程序更新请求的接收而再现所述记录介质;
所述加密程序数据接收步骤接收在所述再现步骤再现的所述加密程序数据。
33.根据权利要求30的程序更新方法,其中所述加密程序数据接收装置接收的所述加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述第二程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥,用于执行所述预定运算的程序,和一个加密检验程序。
34.根据权利要求33的程序更新方法,其中
在解密所述加密程序数据时,所述解密步骤利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述程序写入步骤将通过解密步骤解密的所述第一检验数据和所述检验程序写入所述存储装置中;所述方法进一步包括:
一个检验数据计算步骤,用于在执行所述第二程序之前,根据所述检验程序,由在所述存储装置中存储的所述第二程序的程序数据,计算第二检验数据;
一个检验数据比较步骤,用于比较在所述检验数据计算步骤中计算的所述第二检验数据和在所述存储装置中存储的第一检验数据;
一个程序读出步骤,用于响应于该第一检验数据和第二检验数据通过所述检验数据比较步骤相互比较的一致性,读出在所述存储装置中存储的所述第二程序。
35.一种具有一数据处理单元的信息处理装置,该数据处理单元用于执行预定的数据处理;所述该数据处理单元包括
加密程序数据接收装置,用于接收通过使用预定的加密密钥对预定程序加密后的加密程序数据,
解码装置,用于利用一个预定的解密密钥,将从加密程序数据接收装置接收的加密程序数据解码为所述预定的程序,
存储装置,用于存储所述加密程序数据通过所述解密装置解密后的所述预定程序,
程序读出装置,用于读出存储在所述存储装置中的所述预定程序,
第一控制装置,用于根据所述程序读出装置读出的所述预定程序而控制所述数据处理单元中的预定数据处理操作,和
输出限制装置,用于限制由所述解密装置解密的所述预定程序和存储在所述存储装置中的所述预定程序自一个外部设备的输出。
36.根据权利要求35的信息处理装置,进一步包括:
加密程序数据存储装置,其中存储有所述加密程序数据;
所述第一控制装置,用于读出存储在所述加密程序数据存储装置中的所述加密程序数据;
所述加密程序数据接收装置,用于接收由所述第一控制装置读出的所述加密程序数据。
37.根据权利要求35的信息处理装置,进一步包括:
第二控制装置,用于读出存储在所述加密程序数据存储装置中的所述加密程序数据;
所述加密程序数据接收装置,用于接收由所述第二控制装置读出的所述加密程序数据。
38.根据权利要求35的信息处理装置,其中
所述加密程序数据接收装置接收从一个外部设备传送过来的加密程序数据。
39.根据权利要求35的信息处理装置,进一步包括:
再现装置,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密后的加密程序数据;
所述第一控制装置控制所述再现装置,以再现所述记录介质;
所述加密程序数据接收装置可接收被所述再现装置再现的加密程序数据。
40.根据权利要求35的信息处理装置,其中所述加密程序数据接收装置接收的加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥,用于执行所述预定运算的程序,和一个加密检验程序。
41.根据权利要求40的信息处理装置,其中
在解密所述加密程序数据时,所述解密装置利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述存储装置,用于存储通过所述解密装置解密的所述第一检验数据和所述检验程序;
所述第一控制装置,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储装置中存储的所述预定程序的程序数据,计算第二检验数据,并比较该计算的第二检验数据和在所述存储装置中存储的第一检验数据;
所述程序读出装置,用于响应于该第一检验数据和第二检验数据通过所述第一控制装置相互比较的一致性,读出在所述存储装置中存储的所述预定程序。
42.一种用于信息处理装置中的数据处理单元中的程序加载方法,所述数据处理单元执行预定的数据处理,所述方法包括:
一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,所述预定程序是一个在数据处理单元中用于执行预定数据处理的程序,
一个解密步骤,用于利用一个预定的解密密钥,将从加密程序数据接收步骤接收的加密程序数据解密为预定的程序,
一个输出限制步骤,用于限制所述解密的预定程序自一个外部设备的输出,和
一个存储步骤,用于将所述加密程序数据由所述解密步骤解密后的所述预定程序存储在存储装置中。
43.根据权利要求42的程序加载方法,其中所述控制步骤从存储有所述加密程序数据的信息处理装置中的所述加密程序数据存储装置中读出所述加密程序数据;
所述加密程序数据接收步骤接收所读出的所述加密程序数据。
44.根据权利要求42的程序加载方法,其中所述加密程序数据接收步骤可接收从所述外部设备传送过来的加密程序数据。
45.根据权利要求42的程序加载方法,进一步包括:
一个再现步骤,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密得到的加密程序数据;
所述加密程序数据接收步骤可接收在所述再现步骤再现的所述加密程序数据。
46.根据权利要求42的程序加载方法,其中所述加密程序数据接收步骤接收的所述加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥,用于执行所述预定运算的程序,和一个加密检验程序。
47.根据权利要求46的程序加载方法,其中
在解密所述加密程序数据时,所述解密步骤利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述存储步骤将通过解密步骤解密的所述第一检验数据和所述检验程序存储在所述存储装置中;
在所述控制步骤中的一个检验数据计算步骤,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储装置中存储的所述预定程序的程序数据,计算第二检验数据;
在所述控制步骤中的一个检验数据比较步骤,用于比较在所述检验数据计算步骤中计算的所述第二检验数据和在所述存储步骤中存储的第一检验数据;
所述程序读出步骤,用于响应于该第一检验数据和第二检验数据通过所述检验数据比较步骤相互比较的一致性,读出在所述存储装置中存储的所述预定程序。
48.一种记录介质,其上记录有一个程序,用于在信息处理装置中的数据处理单元中加载一个预定的程序,所述数据处理单元执行预定的数据处理;该存储在所述记录介质中的程序包括,
一个加密程序数据接收步骤,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,所述预定程序是一个在所述数据处理单元中用于执行预定数据处理操作的程序,
一个解密步骤,用于利用一个预定的解密密钥,将从加密程序数据接收步骤接收的加密程序数据解密为所述预定的程序,
一个输出限制步骤,用于限制所述解密的预定程序自一个外部设备的输出,和
一个存储步骤,用于将所述加密程序数据由所述解密步骤解密后的所述预定程序存储在存储装置中。
49.根据权利要求48的记录介质,其中所述控制步骤从存储有所述加密程序数据的信息处理装置中的所述加密程序数据存储装置中读出所述加密程序数据;
所述加密程序数据接收步骤接收通过所述控制步骤读出的所述加密程序数据。
50.根据权利要求48的其上记录有一个程序的记录介质,其中所述加密程序数据接收步骤接收从外部设备传送过来的加密程序数据。
51.根据权利要求48的其上记录有一个程序的记录介质,进一步包括:
一个再现步骤,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密得到的加密程序数据;
所述加密程序数据接收步骤可接收在所述再现步骤再现的加密程序数据。
52.根据权利要求48的程序加载方法,其中所述加密程序数据接收步骤接收的加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥,用于执行所述预定运算的程序,和一个加密检验程序。
53.根据权利要求52的记录介质,其中
在解密所述加密程序数据时,所述解密步骤利用所述预定的解密密钥,将所述加密检验数据和加密检验程序解密为所述第一检验数据和所述检验程序;
所述存储步骤将通过解密步骤解密的所述第一检验数据和检验程序存储在所述存储装置中;
在所述控制步骤中的一个检验数据计算步骤,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储装置中存储的所述预定程序的程序数据,计算第二检验数据;
在所述控制步骤中的一个检验数据比较步骤,用于比较在所述检验数据计算步骤中计算的所述第二检验数据和在所述存储步骤中存储的第一检验数据;
所述程序读出步骤,用于响应于该第一检验数据和第二检验数据通过所述检验数据比较步骤相互比较的一致性,读出在所述存储装置中存储的所述预定程序。
54.一种电路设备,其是适于执行预定数据处理的信息处理装置中的数据处理装置的一个集成,包括,以集成的形式:
加密程序数据接收装置,用于接收利用一个预定的加密密钥对预定程序加密后的加密程序数据,
解密装置,用于利用一个预定的解密密钥,将从所述加密程序数据接收装置接收的所述加密程序数据解密为所述预定的程序,
存储装置,用于存储所述加密程序数据由所述解密装置解密后的所述预定程序,
程序读出装置,用于读出存储在所述存储装置中的所述预定程序,和
输出限制装置,用于限制由解密装置解密的所述预定程序和存储在所述存储装置中的所述预定程序的输出。
55.根据权利要求54的电路设备,进一步包括:
控制装置,用于根据所述程序读出装置读出的所述预定程序而控制所述数据处理装置中的预定数据处理操作。
56.根据权利要求54的一个信息处理装置中提供的电路设备,包括加密程序数据存储装置,其中存储有所述加密程序数据;
所述控制装置读出所述加密程序数据存储装置中存储的所述加密程序数据;
所述加密程序数据接收装置接收由所述控制装置读出的所述加密程序数据。
57.根据权利要求54的一个信息处理装置中提供的电路设备,包括加密程序数据存储装置,其中存储有所述加密程序数据,和第二控制装置;
所述第二控制装置读出所述加密程序数据存储装置中存储的所述加密程序数据;
所述加密程序数据接收装置接收由所述第二控制装置读出的所述加密程序数据。
58.根据权利要求54的电路设备,其中所述加密程序数据接收装置接收从一个外部设备传送过来的加密程序数据。
59.根据权利要求54的一个信息处理装置中提供的电路设备,包括再现装置,用于再现一个记录介质,该记录介质上记录有用一个预定的加密密钥对所述预定程序加密得到的加密程序数据;
所述控制装置控制所述再现装置以再现所述记录介质;
所述加密程序数据接收装置可接收所述再现装置再现的加密程序数据。
60.根据权利要求54的电路设备,其中所述加密程序数据接收装置接收的加密程序数据包括,对第一检验数据加密得到的加密检验数据,该第一检验数据是通过预定运算对所述预定程序的程序数据计算得到的,和一个检验程序,其是一个利用所述预定的加密密钥,用于执行所述预定运算的程序,和一个加密检验程序。
61.根据权利要求60的电路设备,其中
在解密所述加密程序数据时,所述解密装置利用所述预定的解密密钥,将所述加密检验数据和加密检验程序分别解密为所述第一检验数据和所述检验程序;
所述存储装置,用于存储通过所述解密装置解密的所述第一检验数据和检验程序;
所述控制装置,用于在执行所述预定程序之前,根据所述检验程序,由在所述存储装置中存储的所述预定程序的程序数据,计算第二检验数据,并比较所计算的第二检验数据和在所述存储装置中存储的第一检验数据;
所述程序读出装置,用于响应于该第一检验数据和第二检验数据通过所述第一控制装置的相互比较的一致性,读出在所述存储装置中存储的所述预定程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP145264/02 | 2002-05-20 | ||
JP2002145264A JP4288893B2 (ja) | 2001-09-26 | 2002-05-20 | 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 |
JP145264/2002 | 2002-05-20 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100045474A Division CN100511253C (zh) | 2002-05-20 | 2003-03-20 | 信息处理装置、程序加载和更新方法及电路设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1461003A true CN1461003A (zh) | 2003-12-10 |
CN100559486C CN100559486C (zh) | 2009-11-11 |
Family
ID=29545075
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100045474A Expired - Fee Related CN100511253C (zh) | 2002-05-20 | 2003-03-20 | 信息处理装置、程序加载和更新方法及电路设备 |
CNB031250416A Expired - Fee Related CN100559486C (zh) | 2002-05-20 | 2003-03-20 | 信息处理装置和程序加载方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100045474A Expired - Fee Related CN100511253C (zh) | 2002-05-20 | 2003-03-20 | 信息处理装置、程序加载和更新方法及电路设备 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20040006703A1 (zh) |
EP (2) | EP1742136B1 (zh) |
JP (1) | JP4288893B2 (zh) |
KR (1) | KR100924050B1 (zh) |
CN (2) | CN100511253C (zh) |
DE (2) | DE60324977D1 (zh) |
TW (1) | TWI247285B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100428187C (zh) * | 2004-05-20 | 2008-10-22 | 株式会社瑞萨科技 | 非易失性存储器设备 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3097655B2 (ja) * | 1998-05-11 | 2000-10-10 | 日本電気株式会社 | データ伝送方式 |
JP4576100B2 (ja) * | 2002-07-30 | 2010-11-04 | 富士通株式会社 | 情報再生装置、セキュアモジュールおよび情報再生方法 |
EP1795992B1 (en) | 2002-07-30 | 2018-01-24 | Fujitsu Limited | Method and apparatus for reproducing information using a security module |
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 | 삼성전자주식회사 | 펌웨어 암호화 방법 및 해독 방법과 그 처리 장치 |
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 | 中兴通讯股份有限公司 | 一种终端批量升级的实现方法 |
JP2008072317A (ja) * | 2006-09-13 | 2008-03-27 | Ricoh Co Ltd | 画像処理装置 |
TWI398755B (zh) * | 2006-12-22 | 2013-06-11 | Hon Hai Prec Ind Co Ltd | 嵌入式系統恢復方法 |
US8423794B2 (en) * | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
EP2327015B1 (en) * | 2008-09-26 | 2018-09-19 | Sonova AG | Wireless updating of hearing devices |
CN101751279B (zh) * | 2009-12-29 | 2014-01-22 | 北京握奇数据系统有限公司 | 一种芯片及片上操作系统下载的方法 |
CN103310813B (zh) * | 2012-03-16 | 2016-05-11 | 深圳市隆科电子有限公司 | Dvd专用伺服马达音频处理解码板 |
US9600949B2 (en) | 2014-07-30 | 2017-03-21 | Master Lock Company Llc | Wireless key management for authentication |
US9894066B2 (en) | 2014-07-30 | 2018-02-13 | Master Lock Company Llc | Wireless firmware updates |
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 |
EP4113287B1 (en) | 2015-09-14 | 2024-03-06 | Panasonic Intellectual Property Corporation of America | Gateway device, in-vehicle network system, and firmware update method |
JP6675271B2 (ja) * | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
CN108028767B (zh) | 2015-09-24 | 2020-03-20 | Oppo广东移动通信有限公司 | 为适配器升级的方法、移动终端和适配器 |
WO2017066409A1 (en) * | 2015-10-14 | 2017-04-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)
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 |
JP2004507017A (ja) * | 2000-08-16 | 2004-03-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | デジタル創作物の流通と使用を制御する方法および装置 |
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 |
-
2002
- 2002-05-20 JP JP2002145264A patent/JP4288893B2/ja not_active Expired - Fee Related
-
2003
- 2003-03-13 TW TW092105520A patent/TWI247285B/zh not_active IP Right Cessation
- 2003-03-18 DE DE60324977T patent/DE60324977D1/de not_active Expired - Lifetime
- 2003-03-18 EP EP06076507A patent/EP1742136B1/en not_active Expired - Fee Related
- 2003-03-18 DE DE60309625T patent/DE60309625T2/de not_active Expired - Lifetime
- 2003-03-18 US US10/391,347 patent/US20040006703A1/en not_active Abandoned
- 2003-03-18 EP EP03251681A patent/EP1369765B1/en not_active Expired - Fee Related
- 2003-03-20 KR KR1020030017352A patent/KR100924050B1/ko not_active IP Right Cessation
- 2003-03-20 CN CNB2006100045474A patent/CN100511253C/zh not_active Expired - Fee Related
- 2003-03-20 CN CNB031250416A patent/CN100559486C/zh not_active Expired - Fee Related
-
2007
- 2007-01-04 US US11/619,988 patent/US20070136611A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100428187C (zh) * | 2004-05-20 | 2008-10-22 | 株式会社瑞萨科技 | 非易失性存储器设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2003173215A (ja) | 2003-06-20 |
TW200307250A (en) | 2003-12-01 |
EP1369765A3 (en) | 2004-04-07 |
CN1822164A (zh) | 2006-08-23 |
DE60309625D1 (de) | 2006-12-28 |
JP4288893B2 (ja) | 2009-07-01 |
CN100511253C (zh) | 2009-07-08 |
US20040006703A1 (en) | 2004-01-08 |
DE60324977D1 (de) | 2009-01-08 |
KR100924050B1 (ko) | 2009-10-27 |
EP1369765A2 (en) | 2003-12-10 |
US20070136611A1 (en) | 2007-06-14 |
EP1742136A1 (en) | 2007-01-10 |
EP1369765B1 (en) | 2006-11-15 |
DE60309625T2 (de) | 2007-09-20 |
KR20030090493A (ko) | 2003-11-28 |
EP1742136B1 (en) | 2008-11-26 |
TWI247285B (en) | 2006-01-11 |
CN100559486C (zh) | 2009-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1461003A (zh) | 信息处理装置、程序加载和更新方法、介质及电路设备 | |
CN1266615C (zh) | 微处理器 | |
CN1293719C (zh) | 记录装置和方法、译码装置和方法以及记录再生装置 | |
CN1160955C (zh) | 数据发送装置及数据发送方法 | |
CN1125407C (zh) | 信息处理装置,信息处理方法,信息处理系统 | |
CN1208729C (zh) | 记录/再现设备、数据移动方法和数据删除方法 | |
CN1182475C (zh) | 信息处理装置,信息处理方法和信息处理系统 | |
CN1310462C (zh) | 通过对数据加密来保护数据的数据保护系统 | |
CN1306425C (zh) | 信息存储器件、存储器存取控制系统和方法 | |
CN1279532C (zh) | 用于记录/播放嵌入附加信息的音频数据的装置及方法 | |
CN1397123A (zh) | 数据再现/记录设备和方法,和表格更新方法 | |
CN1168054A (zh) | 适用于防止著作物的不正当复制的数据接收装置 | |
CN1842857A (zh) | 信息处理系统、信息处理方法和在信息处理系统中执行的计算机程序 | |
CN1848271A (zh) | 信息处理装置和方法、信息记录介质、以及计算机程序 | |
CN1396568A (zh) | 数字作品保护系统、记录媒体装置、发送装置和重放装置 | |
CN1355919A (zh) | 光盘、光盘记录和再现装置,在光盘上记录、再现和删除数据的方法以及信息处理系统 | |
CN1914852A (zh) | 信息处理设备、信息记录介质和信息处理方法以及计算机程序 | |
CN1674492A (zh) | 信息处理装置、控制方法、程序及记录介质 | |
CN1909094A (zh) | 信息处理设备、信息处理方法、记录介质和计算机程序 | |
CN1264122A (zh) | 输出装置方法、记录装置方法、再现装置方法的记录介质 | |
CN1922817A (zh) | 信息处理装置 | |
CN1977249A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
CN1848279A (zh) | 信息处理装置、信息处理方法、以及计算机程序 | |
CN1685322A (zh) | 记录系统和方法、记录设备和方法、输入设备和方法、读出系统和方法、读出设备和方法、记录介质以及程序 | |
CN1656555A (zh) | 鉴别通信系统、鉴别通信设备和鉴别通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091111 Termination date: 20150320 |
|
EXPY | Termination of patent right or utility model |