CN1369069A - 嵌入式处理器中可重新编程的保密软件 - Google Patents
嵌入式处理器中可重新编程的保密软件 Download PDFInfo
- Publication number
- CN1369069A CN1369069A CN00811429A CN00811429A CN1369069A CN 1369069 A CN1369069 A CN 1369069A CN 00811429 A CN00811429 A CN 00811429A CN 00811429 A CN00811429 A CN 00811429A CN 1369069 A CN1369069 A CN 1369069A
- Authority
- CN
- China
- Prior art keywords
- download
- treatment facility
- path
- key
- storer
- 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 claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000003860 storage Methods 0.000 claims description 23
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 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 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012856 packing Methods 0.000 claims description 2
- 239000007943 implant Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 11
- 238000012360 testing method Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- 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
-
- 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/73—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 by creating or determining hardware identification, e.g. serial numbers
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- 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/2129—Authenticate client device independently of the user
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
在此揭示了用于以灵活的保密性储存信息于一个处理设备里的一种方法和设备。在一个实施例里,一个方法储存信息于处理设备里。所述方法通过一个第一下载路径接收一个下载并且储存所述下载在所述处理设备里,所述第一下载路径包含一个第一可断开链接。在某一点上,一个密钥也储存在所述的处理设备里。通过一个第二输入路径接收一个密文下载,所述第二输入路径包含一个第二可断开链接。利用所述密钥解密所述密文下载并且将得到的密文下载储存于所述处理设备里。
Description
本发明一般涉及数据处理设备并且更具体的涉及允许处理设备接收下载信息时利用灵活安全性的装置和方法
背景信息
处理设备常常有储存于非易失性存储器里的嵌入式程序或者固件。嵌入式处理器可以执行此固件以达到需要的功能性。通常的高保密应用使用只读存储器(ROM)储存固件。
低保密处理设备已经开始在可重新编程存储器设备里储存固件。因为此特征允许有效的调试固件,所以想有重新编程处理设备的能力。本领域技术熟练人员将意识到固件开发通常需要很多修改。可重新编程存储器避免了抛弃包含每次被改变了固件的存储器的集成电路。而且,当改正了其中的新故障或者添加了新特征。,可以重新编程的能力允许处理设备的现场固件升能。
尽管很容易得到可重新编程存储器,重新编程高保密处理设备是有问题的。例如,在有线电视产业里,有种“有线盗版”将使用可重新编程特征通过替换固件使设计为防止盗版的保密特征失效的危险。从而,希望有可重新编程能力的特征,但是由于保密问题,它看起来不切实际。
通常的高保密处理设备使用一个集成ROM,在制造的时候就将它掩模在有专门应用的集成电路(ASIC)里。掩模的ROM给ASIC增加的成本很小并且为了攻破保密性的盗版者不能改变它。
然而,一旦ASIC生产了就不能再改变固件。从而,在生产ASIC前,在模拟器和原型ASIC设备上实行固件的所有调试。模拟器的使用是有问题的,因为它们典型的比产品ASIC慢得多并且它们常常不是产品ASIC的精确复制。关于使用原型ASIC设备调试,它们很贵并且反复调试一个设计可能需要许多原型ASIC。生产另一个原型ASIC需要几周的时间,这将导致开发过程的严重拖延。本领域技术熟练人员将意识到,调试掩模ROM的固件是个缓慢而昂贵的计划。
总之,希望开发可重新编程的处理设备,但不容易将来被盗版者攻击。此设备应该通过允许在生产ASIC后调试固件以减少生产ASIC的设计周期。而且,当发现问题或者添加新特征时,此设备应该允许固件的现场升级。
发明概述
根据本发明,一种装置和方法允许当接收信息下载时处理设备以利用灵活安全性。在第一具体实施例里,方法将信息储存于处理设备里。此方法通过第一输入路径接收下载,所述路径包含一个第一可断开连接并且储存下载信息在处理设备里。在某点上,一个密钥也储存于处理设备内。通过包含第二可断开连接的第二输入路径接收了加密文本下载。利用密钥解密了加密文本下载并且得到的明码文本下载储存于处理设备内。
在另一个具体实施例里,一种方法储存信息在利用两条路径的处理设备里。第一明码文本信息通过从处理设备外延伸到存储器的第一下载路径载入,随后,第一明码文本信息被储存在存储器里。在某一点上,将一个密钥储存在处理设备里。为了增强安全性,关闭了第一下载路径。通过第二下载路径下载加密文本信息,在此用密钥解密加密文本信息以产生第二明码文本信息。
在又一个具体实施例里,处理设备包含一个下载端口,一个解密引擎,一个存储器,一个第一下载路径,一个第二下载路径,和一个用于关闭第一下载路径的机构。此下载端口与处理设备外部接口。第一下载路径在下载端口和存储器之间延伸并且第二下载路径在下载端口和解密引擎的一个加秘文本输出端之间延伸。用于关闭第一下载路径的机构防止数字数据从第一下载路径通过。
附图简述
图1是表示有多级代码下载安全性的处理设备的具体实施例的框图。
图2是示意性说明可断开连接的具体实施例的框图。
图3是显示在一个具体实施例中开发代码过程中遇到的各种代码下载的流程图。
图4是说明启动处理设备的一个具体实施例遇到步骤的流程图。
图5是有多级信息下载安全性的处理设备的另一个具体实施例的框图;以及
图6是下载信息到处理设备的过程的流程图。
具体实施例说明
本发明可以在多种不同形式的具体实施例中出现,在图中显示了这些实施例并且将详细说明本发明的许多具体实施例,应该认为,这里的揭示是本发明原则的范例而不想将本发明的广范围限制于所述具体实施例。
在图中,相似的元件和/或特征有相同的参考标号。相同类型的各种元件通过横线后面的参考数和在同一张图中相似元件各不相同的第二标号区分。如果在下面的说明中只要使用了第一参考数,该说明也可以用于若干相似元件中的任意一个。
图1说明了处理设备100的一个具体实施例的框图。处理设备100包含一个处理器104,一个掩模ROM108,一个代码存储器RAM112,一个下载端口116,一个第一熔断电路120-1,一个第二熔断电路120-2,一个存取限制电路124,一个密码引擎128,和个人化存储器132,它们通过系统总线136互相接口。图中说明的所有框最好造在同一块集成电路或者专用集成电路(ASIC)上。或者,这些块可以集成到一个硬盖的外壳里,例如一个多芯片模块。
处理器104通常控制处理设备100的运行。掩模ROM108和存储器RAM112里的固件或者代码由处理器104执行以控制处理设备100的运行。在此实施例里,处理设备100实行涉及电视机顶盒的保密操作。处理器较佳的是一个MIPS型的嵌入式内核,然而,也可以使用任意数量的处理器内核。
掩模ROM108包含叫做启动ROM的一部分固件,这是启动时,处理器104首先执行的代码。此存储器108的内容在生产ASIC之前就形成了。在制造ASIC后,就不能改变掩模ROM108的内容。从而,启动ROM固件最好是很简单以避免有产生故障的危险,这些故障需要重新设计ASIC。启动ROM验证了代码存储器RAM112的内容,检查熔断电路120的状态,加载任何密钥到密码引擎128,并且传递控制给代码存储器RAM112里的任何固件。可以从启动ROM产生所有单元通用密码,此启动ROM允许在载入唯一密钥前使用密码功能。一般的,此具体实施例的启动ROM不与RAM112以外的任何总线设备接口。
在此具体实施例里,固件的提示信号位于代码存储RAM112里。较佳的,此代码储存随机存取存储器(RAM)是有一个电池支撑的静态RAM,然而,其他具体实施例可以使用EEPROM,闪存,磁芯存储器,或者其他非易失性类型的存储器。在执行启动ROM代码后,处理器执行代码存储RAM112里的固件。固件的两个不同部分位于代码储存RAM112内,称为启动引导和应用代码。在执行启动ROM代码后执行启动引导代码并且检查储存于个性化存储器132里的任何信息以加载任何唯一密钥并且实行应用代码的详细验证。在执行启动引导代码后,执行应用代码。此代码实行了处理设备需要的功能。在此具体实施例里,应用代码实行电视机机顶盒的相关功能的保密,例如加密和解密。
下载端口116提供了到处理设备100的接口以测试和代码加载。此具体实施例允许三个不同保密等级以从下载端口116存取处理设备100。为了存取下载端口116,一个探针与ASIC的边界扫描接口相连接。较佳的,下载端口116是一个延伸的JTAG接口,其通过附加接口与系统总线136耦合并且允许控制总线136。下载端口116里的直接存储器存取(DMA)电路使其有控制系统总线的能力。
下载端口116通过第一和第二输入路径与系统总线136接口。第一路径选择性的被第一熔断电路120-1中断。第一熔断电路120-1包含一个或者多个可断开的连接,它们物理的或者逻辑的断开了数字数据通过第一输入路径的传导。以此方式,从下载断口116通过第一路径自由访问系统总线136将被永久禁止。与对待第一路径相似的方法,第二路径被第二熔断电路120-2中断。第二路径还被存取限制电路124中断。限制电路124限制了于系统总线136的交互,从而第二路径仅仅可以存取用于密码引擎128的密码文本输入的地址。从而,任何通过第二路径发送到处理设备100的信息必须在其有用前被密码引擎128解密。
两个输入路径的结构允许处理设备100的多级保密。可以通过选择性的中断通过熔断电路120的路径可以有不受限制的,部分限制的和完全限制的保密等级。在不受限制模式时,第一熔断电路120-1闭合,允许下载端口116通过第一路径自由的访问和控制系统总线136。此模式允许测试处理设备100和下载明码文本固件到代码储存RAM112里。部分限制模式使用了通过存取限制电路124的第二路径。为了强制部分限制模式,第一熔断电路120-1中断数字数据通过第一路径的传导。从而,在部分限制模式下仅仅有一条到密码引擎128的密码文本输出端的传导路径是可能的。从而,任何下载必须被加密,使保密码引擎128合适的解密下载。在完全限制模式里,下载端口116完全不能访问系统总线136,因为第一和第二路径分别被第一和第二熔断电路120中断。两个熔断电路120的激活允许了差不多与通常的不是可重新编程的设备一样等级的保密。
熔断电路120中断了数字数据通过熔断电路120的连接。较佳的,熔断电路120通过处理设备100的集成电路封装的专门的引脚激活。在其他的具体实施例里,处理器104可以通过软件命令编程的激活熔断电路。一旦熔断电路被激活无论是通过引脚编程或通过软件命令传导路径被永久的禁止。较佳的通过烧掉多硅熔断器达到熔断电路120的永久激活以抑制传导,然而,也可以使用其他的已知技术。
每个处理设备100较佳的使用唯一的标识符和密钥进行个性化。此信息被储存于个性化存储器132。标识符包含一个单元地址,所述单元地址唯一地标识特殊的机顶盒。较佳的,所述单元地址被写入到写保护存储器,所述写保护存储器在第一次写入后就不能被改写。个性化存储器132还包含一个或者多个密钥。某些密码算法需要一些密钥,例如三重数据加密标准(triple-DES)。而且,可能有一些密码引擎,每个密码引擎有不同的密钥。为了增强保密性,将一些密钥以加密的形式储存。
有两种方法下载密钥到处理设备100里。在第一种方法里,密钥被通过第一路径从下载端口116下载到个性化存储器132里。然而,在熔断第一熔断电路120-1后,通过下载端口116下载数据被迫使通过存取限制器124直接到密码引擎128里并且接着到代码存储器RAM112。在熔断所述第一熔断电路后,增加新密钥需要将一个密钥写入到代码存储器RAM112,所述代码接着被固件储存于个性化存储器132。为了将密钥写入到个性化存储器132,所述固件可以周期性的,或者从上到下加载的,将密钥从代码存储器RAM112写入到个性化存储器132。
处理设备100有使用密码引擎128进行加密或者解密的能力。在此具体实施例里,密码引擎128在使用112或168位密钥的硬件里执行triple-DES算法。然而,也可以替换的使用任何数量的对称或非对称算法,甚至可以使用一个非标准算法。密码引擎128与系统总线136接口,并且密码引擎128映射到地址空间,从而密码引擎128利用的端口处于不同的地址。例如,密钥输入,密码文本输入和明码文本输出有三个不同地址。通过处理地址,不同端口可以通过信息。尽管上述讨论仅仅说明用于解密固件的密码引擎128,最好,密码引擎128用于处理设备100里的一些有关保密的目的。
参考图2,以框图显示了一个可断开链接200的实施例。熔断电路120可以包含一个或者多个可断开链接200。为了抑制数字数据通过熔断电路120,下载路径里的每条线路都不需要分别的可断开链接200。例如,抑制启动多线路驱动器的单个位可以抑制通过该驱动器的所有数据线路。从而,熔断电路120可以仅有一个可断开链接200。
可断开链接200可以逻辑地抑制或控制数据从信号输入传送到信号输出。一个熔断元件212或一个可编程位208用于永久地或者暂时地控制信号通过。如果熔断元件212熔断了,一个电阻器激活所述控制通过的机构204以永久地抑制数字数据的传导。从而,一旦通过熔断熔断元件212禁止了下载路径里的第一和第二熔断电路120,处理设备不能从下载端口116接收新数据。如上述,可以从外部引脚或者利用软件熔断熔断元件212。
在其他实施例里,一个可以由总线136编址的可编程位208,可以暂时的门控该信号的传导。可编程位208映射到地址空间,从而系统总线的任何控制者可以写入到那个位。在激活可编程位208后,可以通过再次写入来再次开启下载路径而使位208不活动。相反的,一旦熔丝212被熔断,永远禁止了通过门控机构204的传导。暂时激活的好处在于它是可逆的,然而,这个特征可能带来明显的保密风险。
接着参考图3,显示在一个具体实施例的开发代码过程中遇到的各种下载的流程图。在步骤304,处理设备ASIC使用包含引导ROM固件的掩模ROM构成。在此步骤前,使用软件和ASIC的硬件模拟模型调试了此引导ROM。由于模拟器通常很慢,此过程可能是耗时的。为了限制调试引导ROM,此固件一般小而简单。如本领域技术熟练人员所知的,在生产ASIC前未能捕捉到的故障可能需要重新设计ASIC以更正掩模ROM108里的错误。与重新设计ASIC相关的延期和掩模成本可能巨大的影响开发努力。
在步骤308装配包含了ASIC的单元。在此实施例里,单元是一个电视机顶盒,它在位于外壳里的印刷电路板上包含了一些集成电路。机顶盒也可以包括一个显示器,一个内容提供者接口,一个电视接口,和/或一个计算机接口。
在装配电路板后一般在工场里下载第一固件和个性化信息。然而其他的实施例可以在ASIC焊接到电路板之前下载此信息。在步骤312,单元地址和密钥被载入到个性化存储器132里。由于使用第一下载路径时不必要加密信息,第一下载路径较佳的用于下载此信息。每个单元地址不一样,但是对于所有单元,密钥是通用的。然而,如果开始载入通用密钥,较佳的在加入此单元之前载入此唯一的密钥。通过将探针耦合到下载端口116发生密钥和代码加载。下载端口116通过延伸的JTAG(EJTAG)端口与ASIC的垫环(pad ring)接口,JTAG通过一个边界扫描端口与ASIC的引脚接口。MIPS EJTAG Debug Solution,Rev.2.0,说明书描述了此接口,并且在国际互联网上www.mips.com可以获得。探针与与边界扫描端口耦合的连接器接口。在步骤314,通过第一路径以与载入单元地址和密钥相同的方法将起动引导固件载入到代码存储器RAM112里。尽管没有显示,起动引导固件可能需要反复调试。
在步骤316,320和324,反复测试和调试了应用固件。在步骤316将第一应用固件载入到代码存储器RAM。在此点上,固件有其所有的组成部分,包括出现在处理设备100里的起动ROM固件,起动引导和应用代码。然而,通常必须调试应用代码,并且在步骤320开始。在步骤324确定固件是否充分的调试以进到加入到单元的以下阶段。如果还需要进一步调试,处理循环回到步骤316。
如果在这一阶段不认为有必要进一步调试,就准备将单元运到现场。为了提供增强的保密性,在步骤328,第一熔断电路120-1被激活以抑制数字数据通过第一路径到处理设备100。直到此点,到处理设备100里的数据下载没有加密就被发送,然而,在此步骤后的数据下载将需要加密。如此领域技术熟练人员看到的,准备以唯一密钥加密的固件是个复杂的过程,但是,一旦单元被给公众,额外的保密性是必要的。在步骤332里,这些单元被运送到现场以进一步测试或配置。
一旦到现场,在现场测试中或在实际系统使用中可以发现其他问题或者可以增加附加特征以提供新功能性。在步骤336里,通过第二路径载入新应用固件。由于第二路径是路由通过密码引擎128,对单元里的密钥必须加密固件。加密所需的密钥是通过知道唯一单位地址确定的。单位地址是依靠一个数据库与所需密钥相关。为了进一步增强保密性,储存密钥的数据库是高度保密的。
在步骤340,调试任何在现场测试中发现的问题。在步骤344确定调试是否完成并且不需要额外的升级。如果必需或者想进行进一步调试或者升级,流程继续到步骤336和340。
如果固件很强壮并且不需要进一步升级,反复修改代码的过程完成。在步骤348,第二熔断电路120-2被开始,用于抑制通过第二数据路径耦合数字数据。在流程里的此步骤里,任何类型的数据都不可以被下载到处理设备100里。下载不同固件或者密钥到机顶盒里将需要替代ASIC。通过以此方式使用此多级保密性,加快了调试芯片同时减少了重新设计ASIC的风险。而且,修改代码的现场升级也成为可能。而且,在开路两个熔断线路120以后,到ASIC的额外下载不可能,从而保密性与储存所有固件在掩模ROM里的通常系统等同。
即使在上述实施例里下载路径被禁止,处理器104可以修改代码存储器RAM的内容。在其他实施例里为了进一步增强保密性,激活熔断电路120-2可以防止任何外部的写入存取到代码存储器RAM112中。而且,激活熔断电路120-2可以禁止任何内部的写入存取到代码存储器RAM112。以此方式,代码存储器RAM可以不被外部或者内部修改,这提供了与使用掩模ROM作代码存储器的通常系统一样的保密性。
参考图4,说明启动处理设备的一个具体实施例遇到步骤的流程图。固件在以起动ROM代码开始的阶段执行,接着执行起动引导代码并且以应用代码结束。然而,其他实施例可以在代码的一个其他部分中包括起动引导代码的功能性。
步骤404,处理器104开始执行储存于掩模ROM里的代码。在步骤408,起动ROM验证代码存储器RAM112的内容。一种验证代码存储器RAM112的方法包含计算校验和,循环冗余检查(CRC),密码签名,或者其他保密机构。如果通过检查,在步骤412,处理器执行引导程序和应用代码。进行到步骤412是现场里工作单位的通常流程。
如果在步骤408确定了应用代码没有出现或应用代码有问题,在步骤416起动ROM代码检查第一熔断电路120-1的状态。如果第一熔断电路120-1是完好的,处理器104在步骤420等待固件的加载。因为第一加载路径是完好的,可以以明文文本形式不需要加密的下载固件。在下载完成后,复位处理器的程序计数器,从而程序在步骤404开始。
如果第一熔断电路120-1是开路的,在步骤424起动ROM代码检查第二熔断电路120-2。在熔断电路120-2是断开的情况下,处理流程到步骤428。在步骤428,单元没有有效的固件并且所有的下载新固件的路径断开。从而,单元被断开并且需要替代ASIC。然而,如果熔丝保持完好,处理流程到步骤432,在此将密钥从个性化存储器载入到密码引擎128里。当数据通过第二路径时此步骤使能由密码引擎128解密。
从下载端口116到代码存储器RAM112的第二路径在步骤436被进一步启动。任何从下载端口116接收到的数据被存取限制电路124聚集到密码引擎126的密码文本输入地址。在步骤436,通过合适的配置DMA控制器,密码引擎436的明文输出被引到代码存储器RAM112。
在步骤440,处理器104等待保密代码下载。因为第一熔断电路120-1断开了,所有到处理设备100的下载被聚集到第二路径通过密码引擎128,并且需要加密。一旦解密新应用代码并且将其载入到代码存储器RAM里,复位处理器的程序计数器以在步骤404再次开始流程。以此方式,启动ROM可以允许下载带有不同保密级别的应用固件。
参考图5,显示了具有多级信息下载安全性的处理设备500的另一个具体实施例的框图。处理设备500包含一个处理器块504,一个模式选择电路块508,外围设备块512,一个储存子系统块516,和一个密码引擎块520,它们通过步哨(sentry)块524互连。此实施例使用延伸的JTAG(EJTAG)接口以接收下载。此说明书这里通过引用包含进来。
处理器504是一个通用微处理器,它一般管理处理设备500的运行。较佳的,处理器504是嵌入式MIPSR核心,包含调试支持单元(DSU)和一个EJTAG电路532。DSU允许探测处理器540并模拟软件。在EJTAG接口上利用EJTAG电路532的支持发生到DSU的通信。EJTAG电路532包含一个直接存储器存取DMA电路528,它帮助通过步哨524发送数据到处理设备500的其他块。
附在处理器504上的是调整器电路536,它在模式选择电路508的指导下实行处理设备500的一些保密特性。模式选择电路508较佳的包含熔断器,为了永久设置标记,熔断器被熔断。然而,其他的永久设置标记的方法也可以使用。通过有选择地熔断模式选择电路508里的熔断器,选择了完全调试接入模式,加密下载模式和一个无下载模式。为了允许熔断熔断器,一个模式程序接口与包含处理设备500的包装上的引脚耦合。
模式选择标记被传递给调整器536以激活多级下载保密性。较佳的,熔断熔断器以设置标记。当没有设置标记时,调整器536允许完全DMA存取到处理设备500里的块。在研发的调试过程中此模式很有用,但是在生产单元时由于保密原因一般不使用。当设置了第一标记时,调整器536强迫任何进入的下载信息到密码引擎520,从而地址被忽略了并且被密码引擎520的密文输入端口的地址所替代。在此模型里,所有的下载信息必须于处理设备500里的密钥加密用于合适的产生明文下载信息。当设置了第二标记,所有到处理设备里其他块的接入路径被禁止。此模式有效的禁止了下载信息到处理设备的所有能力以提供额外保密性。
在处理设备500里的块之间的互连由步哨调整。包含在步哨524里的并且用于一些转移的是一个DMA电路和交叉开关。当需要在块之间的信息转移时,步哨524检查块以及块之间的数据路径是否繁忙,寻找超过范围的地址并且处理超时。例如,当从密码引擎520转移信息到储存子系统516时,步哨配置DMA电路直接传递信息到储存子系统516而不需要处理器504的干涉。交叉开关配置在密码引擎520与储存子系统516之间的路径以允许此转移。
密码引擎520处理来自EJTAG接口的所有密文信息下载。如果没有设置第一标记,信息下载的目标地址是可以选择的。另一方面,如果第一标记设置了,信息下载被强迫到密码引擎520的密文输入,不考虑期望的目标。在设置了第一标记的下载中,从密码引擎520的明文输出到储存子系统的路径被配置为加载经解密的信息到存储器。较佳的,密码引擎520使用三重数据加密标准(triple-DES)算法,但是也可以使用任何密码算法。
储存子系统516包含不同的储存块。在此实施例里,子系统516包含一个掩模ROM,个性化存储器和代码存储器RAM。一般的,信息下载被送到代码储存RAM以载入新固件到处理设备500。
其他外围设备作为处理设备500的实行部分与位哨524相连。例如,机顶盒处理设备可以包含一个视频解码器作为一个外设512。
接着参考图6,一个流程图说明了下载信息到处理设备的流程。此图说明了在完全调试存取模式、加密下载模式和非下载模式下的运行。
流程在步骤604开始,其中从EJTAG接口收到一个信息下载。在步骤608,进行第一确定,确定模式选择块508的第一标记是否设置。如果没有设置,允许完全调试存取。在此模式下,处理设备里的任何块可以被EJTAG电路532里的DMA电路528寻址。在步骤612,存储器被寻址,并且在步骤616,明文信息被下载到存储器。为了启动此转移,位哨524里的交叉开关连接EJTAG接口到存储器。
如果在步骤608确定第一标记被设置,流程继续到步骤620。在步骤620检查了从模式选择块508来的的第二标记的状态。如果第二标记设置了,在步骤624抑制了所有通过下载接口到处理设备500的接入。然而,如果第二标记没有设置,可以将密码信息下载到处理设备500。在步骤628,调整器536强迫任何进入信息的地址到密码引擎520的密文输入。在步骤632,EJTAG电路532里的DMA电路528通过位哨524里的交叉开关传递任何下载信息到密码引擎520的密文输入。在配置了到密码引擎520的路径后,在步骤636当收到后密文下载时将其解密。结果的明文被从密码引擎520的明文输出传递到储存子系统516。在步骤640,DMA电路和位哨524里的交叉开关以此目的配置。结果的明文接着被传递到储存子系统516。利用此流程,可以下载有多级保密性的信息。
根据上述说明,本发明的一些优势很容易明显。多级保密性是可能的,从而,可以获得掩模ROM的保密性同时有调试非保密性设备的容易性。由此,加快了芯片的调试同时减少了ASIC重新设计的风险。而且,保密性等级与通常的储存所有固件在掩模ROM里的系统差不多相同。
也可以使用本发明的一些变体和修改。尽管上述具体实施例使用硬件实行解密,其他实施例可以使用在处理器上执行的软件算法以实行解密。较佳的,所述软件算法可以永久地嵌入到掩模ROM里以增强保密性。与图3相关,第二熔断电路在现场激活,然而,如果固件永久被充分调试并且不需要更新,可以在工厂里激活。图2说明了可断开链接可以使用一个熔断器来门控信号。其他实施例可以在信号路径上使用一个熔断器来断开所有电耦合。尽管前述的讨论涉及将处理设备放在单个集成电路或者包上,其他的实施例可以将功能块定位于任意数目的分隔的包。
为了说明目的,已经进行了本发明的前述说明,并且前述说明不期望限制本发明。与上述说明相当的变体和修改,随同相关技术的技巧和知识,都在本发明的范围里。这里说明的实施例是想进一步解释实践本发明的最好方式并且想使本领域技术熟练人员以最佳方式或其他实施例利用本发明,使用本发明或者特定应用中可能需要不同的修改。期望下面的权利要求解释包含可替换实施例到现有技术允许的范围。
Claims (28)
1.一种储存信息于处理设备中的方法,其特征在于,所述方法包含步骤:
通过第一输入路径接收一个下载,所述第一输入路径包含一个第一可断开链接;
储存所述下载到处理设备里;
储存一个密钥到处理设备里;
通过第二输入路径接收一个密文下载,所述第二输入路径包含一个第二可断开链接;
利用所述密钥解密所述密文下载;以及
储存与所述密文下载相关的明文下载到所述处理设备里。
2.如权利要求1所述的方法,其特征在于,所述方法还包含一个步骤:通过第一可断开链接禁止第一输入路径来禁止数字信号的耦合。
3.如权利要求1所述的方法,其特征在于,所述方法还包含步骤:通过第二可断开链接禁止第二输入路径来禁止数字信号的耦合。
4.如权利要求3所述的方法,其特征在于,所述禁止步骤还包含:永久将明文下载与处理设备相关联。
5.如权利要求1所述的方法,其特征在于,所述储存下载的步骤还包含:储存固件在处理设备里的存储器里。
6.如权利要求1所述的方法,其特征在于,所述储存明文下载的步骤还包含:储存固件在处理设备里的存储器里。
7.如权利要求1所述的方法,其特征在于,所述第一和第二输入路径是到处理设备的唯一下载路径。
8.如权利要求1所述的方法,其特征在于,所述第二输入路径唯一地耦合一个下载端口与密码引擎的密文输入。
9.如权利要求1所述的方法,其特征在于,所述储存密钥的步骤包含将所述密钥编程植入一个掩模ROM。
10.如权利要求1所述的方法,其特征在于,所述解密步骤包含步骤:
唯一地通过一个解密引擎将一个下载端口与所述处理设备里的一个存储器耦合;
加载所述密钥到解密引擎里;以及
利用解密引擎解密所述密文下载,以响应所述接收一个密文下载的步骤。
11.如权利要求1所述的方法,其特征在于,所述储存一个明文下载包含步骤:
在处理设备里缓存所述明文下载;
利用所述下载验证所述明文下载;以及
用明文下载替换所述存储器里的所述下载,以响应所述验证明文下载的步骤。
12.如权利要求11所述的方法,其特征在于,所述方法还包含步骤:转移处理设备的控制到明文下载。
13.如权利要求1所述的方法,其特征在于,所述储存一个密钥的步骤包含步骤:以加密的形式储存所述密钥在处理设备里的存储器里。
14.一种储存信息于处理设备中的方法,其特征在于,所述方法包含步骤:
通过第一下载路径加载第一明文信息,所述第一下载路径从处理设备外延伸到存储器;
储存所述第一明文信息于存储器中;
储存一个密钥于所述处理设备里;
禁止所述第一下载路径;
通过第二下载路径加载密文信息;
使用所述密钥解密所述密文信息以产生第二明文信息;以及
储存所述第二明文信息于处理设备里。
15.如权利要求1所述的方法,其特征在于,所述方法还包含步骤:
验证所述第一明文信息;以及
验证所述第二明文信息。
16.如权利要求14所述的方法,其特征在于,所述加载密文信息的步骤包含步骤:加载一个嵌入于密文信息里的替换密钥,所述方法还包含步骤:
执行所述第二明文信息;以及
储存所述替换密钥于处理设备里。
17.如权利要求14所述的方法,其特征在于,所述禁止步骤包含:永久地断开通过第一下载路径的电传导。
18.如权利要求14所述的方法,其特征在于,所述方法还包含禁止所述第二下载路径的步骤。
19.如权利要求14所述的方法,其特征在于,所述储存一个密钥的步骤包含通过所述第一下载路径储存一个用于密码引擎的密钥。
20.如权利要求14所述的方法,其特征在于,所述储存一个密钥的步骤包含储存密钥于存储器里,在储存后所述密钥就不能更改。
21.一个处理设备,其特征在于,包含:
一个与所述处理设备外部接口的下载端口;
一个有密文输入的解密引擎;
一个存储器;
一个位于所述下载端口与存储器之间的第一下载路径;
禁止所述第一下载路径的装置;以及
一个位于所述下载端口与所述密文输入之间的第二下载路径。
22.如权利要求21所述的处理设备,其特征在于,还包含禁止所述第二下载路径的装置。
23.如权利要求21所述的处理设备,其特征在于,所述第二下载路径在所述解密引擎的一个明文输出与存储器之间连通。
24.如权利要求21所述的处理设备,其特征在于,至少所述存储器、第一下载路径、第二下载路径和密文输入位于相同的芯片包装中。
25.如权利要求21所述的处理设备,其特征在于,所述存储器包含只读存储器、电可擦除可编程只读存储器、随机存取存储器和闪存中至少两个。
26.如权利要求25所述的处理设备,其特征在于,所述随机存取存储器,至少部分的是,由非主电源供应供电。
27.如权利要求21所述的处理设备,其特征在于,所述存储器是至少部分的非易失性和至少部分的可再写的。
28.如权利要求21所述的处理设备,其特征在于,还包含禁止对所述存储器的所有写入访问的装置。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13816499P | 1999-06-08 | 1999-06-08 | |
US60/138,164 | 1999-06-08 | ||
US13838199P | 1999-06-09 | 1999-06-09 | |
US60/138,381 | 1999-06-09 | ||
US14018999P | 1999-06-18 | 1999-06-18 | |
US60/140,189 | 1999-06-18 | ||
US09/394,765 US6711684B1 (en) | 1999-06-08 | 1999-09-13 | Variable security code download for an embedded processor |
US09/394,765 | 1999-09-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1369069A true CN1369069A (zh) | 2002-09-11 |
CN1192295C CN1192295C (zh) | 2005-03-09 |
Family
ID=27495311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008114293A Expired - Fee Related CN1192295C (zh) | 1999-06-08 | 2000-06-08 | 处理设备和在处理设备中存储信息的方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6711684B1 (zh) |
EP (1) | EP1190293A1 (zh) |
KR (1) | KR100770227B1 (zh) |
CN (1) | CN1192295C (zh) |
AU (1) | AU5604200A (zh) |
CA (1) | CA2375586C (zh) |
WO (1) | WO2000075759A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196036A (zh) * | 2011-03-24 | 2011-09-21 | 北京思创银联科技股份有限公司 | 下载控制方法及系统 |
CN104331671A (zh) * | 2014-10-30 | 2015-02-04 | 无锡市合鑫川自动化设备有限公司 | 计算机从设备安全代码加载的方法与系统 |
CN110895477A (zh) * | 2018-09-13 | 2020-03-20 | 杭州海康威视数字技术股份有限公司 | 一种设备启动方法、装置及设备 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058856B2 (en) * | 2000-07-18 | 2006-06-06 | Oki Electric Industry Co., Ltd. | Semiconductor circuit with flash ROM and improved security for the contents thereof |
US6870841B1 (en) * | 2000-09-18 | 2005-03-22 | At&T Corp. | Controlled transmission across packet network |
FR2822971A1 (fr) * | 2001-04-03 | 2002-10-04 | St Microelectronics Sa | Systeme et procede de controle d'acces a des donnees protegees stockees dans une memoire |
DE10116861A1 (de) * | 2001-04-04 | 2002-10-31 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10131574A1 (de) | 2001-07-02 | 2003-01-16 | Bosch Gmbh Robert | Verfahren zum Betreiben eines Mikrorechner-Systems |
EP1276033B1 (de) * | 2001-07-10 | 2012-03-14 | Trident Microsystems (Far East) Ltd. | Speichereinrichtung mit Datenschutz in einem Prozessor |
US6715085B2 (en) | 2002-04-18 | 2004-03-30 | International Business Machines Corporation | Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function |
US7210063B2 (en) * | 2002-08-27 | 2007-04-24 | Lsi Logic Corporation | Programmable device and method of programming |
US7231476B2 (en) * | 2002-11-18 | 2007-06-12 | Arm Limited | Function control for a processor |
GB2395583B (en) * | 2002-11-18 | 2005-11-30 | Advanced Risc Mach Ltd | Diagnostic data capture control for multi-domain processors |
US7188277B2 (en) * | 2003-03-28 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | Integrated circuit |
US8041957B2 (en) * | 2003-04-08 | 2011-10-18 | Qualcomm Incorporated | Associating software with hardware using cryptography |
US20050071656A1 (en) * | 2003-09-25 | 2005-03-31 | Klein Dean A. | Secure processor-based system and method |
WO2006005292A1 (de) * | 2004-07-14 | 2006-01-19 | Siemens Aktiengesellschaft | Anordnung, umfassend einen prozessor und einen über eine datenverbindung mit dem prozessor verbundenen speicher |
US7921303B2 (en) * | 2005-11-18 | 2011-04-05 | Qualcomm Incorporated | Mobile security system and method |
US7479798B1 (en) * | 2006-05-16 | 2009-01-20 | Altera Corporation | Selectively disabled output |
US8099629B2 (en) | 2006-07-14 | 2012-01-17 | Marvell World Trade Ltd. | System-on-a-chip (SoC) test interface security |
DE102006043167B4 (de) * | 2006-09-14 | 2014-10-16 | Ams Ag | Mikrocontroller und Verfahren zum Starten eines Anwendungsprogramms auf einem Mikrocontroller |
US8984265B2 (en) * | 2007-03-30 | 2015-03-17 | Intel Corporation | Server active management technology (AMT) assisted secure boot |
TWI366371B (en) * | 2007-10-17 | 2012-06-11 | Via Tech Inc | Encryption and decryption methods |
US20090327741A1 (en) * | 2008-06-30 | 2009-12-31 | Zimmer Vincent J | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
CN102065156B (zh) * | 2009-11-11 | 2013-08-07 | 中兴通讯股份有限公司 | 一种用于断开手持终端下载通道的装置及方法 |
CN104700043A (zh) * | 2015-03-20 | 2015-06-10 | 南通国芯微电子有限公司 | 一种加密编程方法 |
CN105117665B (zh) * | 2015-07-16 | 2017-10-31 | 福建联迪商用设备有限公司 | 一种终端产品模式与开发模式安全切换的方法及系统 |
FR3076920B1 (fr) | 2018-01-16 | 2019-12-13 | Continental Automotive France | Procede de reprogrammation des donnees d'une fonction logicielle executee par au moins un calculateur muni d'au moins un cœur d'execution, d'au moins un cœur de securite et d'au moins une memoire non volatile |
JP7184188B2 (ja) * | 2019-06-27 | 2022-12-06 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、ファームウェアの改竄防止方法及び改竄防止プログラムを記憶したコンピューター読取可能な非一時的な記録媒体 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5483518A (en) | 1992-06-17 | 1996-01-09 | Texas Instruments Incorporated | Addressable shadow port and protocol for serial bus networks |
FR2656939B1 (fr) | 1990-01-09 | 1992-04-03 | Sgs Thomson Microelectronics | Verrous de securite pour circuit integre. |
US5423050A (en) | 1991-11-27 | 1995-06-06 | Ncr Corporation | Intermodule test across system bus utilizing serial test bus |
GB2266606B (en) | 1992-04-27 | 1996-02-14 | Intel Corp | A microprocessor with an external command mode |
US5465341A (en) | 1992-10-23 | 1995-11-07 | Vlsi Technology, Inc. | Verifiable security circuitry for preventing unauthorized access to programmed read only memory |
US5448576A (en) | 1992-10-29 | 1995-09-05 | Bull Hn Information Systems Inc. | Boundary scan architecture extension |
JP3524110B2 (ja) | 1992-11-06 | 2004-05-10 | 株式会社ルネサステクノロジ | マイクロコンピュータシステム |
US5623604A (en) * | 1992-11-18 | 1997-04-22 | Canon Information Systems, Inc. | Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral |
EP0636976B1 (en) | 1993-07-28 | 1998-12-30 | Koninklijke Philips Electronics N.V. | Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions |
US5386469A (en) | 1993-08-05 | 1995-01-31 | Zilog, Inc. | Firmware encryption for microprocessor/microcomputer |
JP3904244B2 (ja) | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | シングル・チップ・データ処理装置 |
US5434804A (en) | 1993-12-29 | 1995-07-18 | Intel Corporation | Method and apparatus for synchronizing a JTAG test control signal to an on-chip clock signal |
AU3241795A (en) * | 1994-08-09 | 1996-03-07 | Encad, Inc. | Printer ink cartridge |
GB9417602D0 (en) | 1994-09-01 | 1994-10-19 | Inmos Ltd | A controller for implementing scan testing |
JP2752592B2 (ja) | 1994-12-28 | 1998-05-18 | 日本ヒューレット・パッカード株式会社 | マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法 |
US5559889A (en) | 1995-03-31 | 1996-09-24 | International Business Machines Corporation | System and methods for data encryption using public key cryptography |
US5708773A (en) | 1995-07-20 | 1998-01-13 | Unisys Corporation | JTAG interface system for communicating with compliant and non-compliant JTAG devices |
US6577734B1 (en) * | 1995-10-31 | 2003-06-10 | Lucent Technologies Inc. | Data encryption key management system |
US5799083A (en) * | 1996-08-26 | 1998-08-25 | Brothers; Harlan Jay | Event verification system |
US5768152A (en) | 1996-08-28 | 1998-06-16 | International Business Machines Corp. | Performance monitoring through JTAG 1149.1 interface |
GB9622686D0 (en) | 1996-10-31 | 1997-01-08 | Sgs Thomson Microelectronics | A test port controller and a method of effecting communication using the same |
US5995628A (en) * | 1997-04-07 | 1999-11-30 | Motorola, Inc. | Failsafe security system and method |
US5978902A (en) | 1997-04-08 | 1999-11-02 | Advanced Micro Devices, Inc. | Debug interface including operating system access of a serial/parallel debug port |
US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6385727B1 (en) * | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
-
1999
- 1999-09-13 US US09/394,765 patent/US6711684B1/en not_active Expired - Lifetime
-
2000
- 2000-06-08 CA CA2375586A patent/CA2375586C/en not_active Expired - Lifetime
- 2000-06-08 CN CNB008114293A patent/CN1192295C/zh not_active Expired - Fee Related
- 2000-06-08 AU AU56042/00A patent/AU5604200A/en not_active Abandoned
- 2000-06-08 KR KR1020017015782A patent/KR100770227B1/ko active IP Right Grant
- 2000-06-08 WO PCT/US2000/015987 patent/WO2000075759A1/en not_active Application Discontinuation
- 2000-06-08 EP EP00941324A patent/EP1190293A1/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196036A (zh) * | 2011-03-24 | 2011-09-21 | 北京思创银联科技股份有限公司 | 下载控制方法及系统 |
CN104331671A (zh) * | 2014-10-30 | 2015-02-04 | 无锡市合鑫川自动化设备有限公司 | 计算机从设备安全代码加载的方法与系统 |
CN110895477A (zh) * | 2018-09-13 | 2020-03-20 | 杭州海康威视数字技术股份有限公司 | 一种设备启动方法、装置及设备 |
CN110895477B (zh) * | 2018-09-13 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种设备启动方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20020022065A (ko) | 2002-03-23 |
AU5604200A (en) | 2000-12-28 |
CN1192295C (zh) | 2005-03-09 |
KR100770227B1 (ko) | 2007-10-26 |
WO2000075759A1 (en) | 2000-12-14 |
CA2375586A1 (en) | 2000-12-14 |
EP1190293A1 (en) | 2002-03-27 |
CA2375586C (en) | 2010-03-23 |
US6711684B1 (en) | 2004-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1192295C (zh) | 处理设备和在处理设备中存储信息的方法 | |
US20200302090A1 (en) | Selectively Disabling Configurable Communication Paths of a Multiprocessor Fabric | |
US9251380B1 (en) | Method and storage device for isolating and preventing access to processor and memory used in decryption of text | |
CN100380348C (zh) | 有加密部分或外部接口的半导体器件 | |
CN109933481B (zh) | 一种jtag接口的解锁系统及jtag解锁控制方法 | |
EP2702526B1 (en) | Method and apparatus for securing programming data of a programmable device | |
US20070186117A1 (en) | Secure processor-based system and method | |
CN1647443A (zh) | 初始化、维护、更新和恢复利用数据访问控制功能的集成系统中的安全操作 | |
KR20110020800A (ko) | 보안 소프트웨어 이미지를 갖는 집적 회로 및 그 방법 | |
JP2004519111A (ja) | プログラム暗号化を伴うフィールドプログラマブルゲートアレイ | |
WO2007041356A1 (en) | Securing scan test architecture | |
CN109977702B (zh) | 一种基于ds2432芯片的fpga设备加密认证系统 | |
US11874928B2 (en) | Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain | |
CN101615160B (zh) | 用于码转储保护的安全系统及安全方法 | |
CN115080075A (zh) | 一种嵌入式硬件安全模块的固件部署系统及方法 | |
CN113515414B (zh) | 数据处理系统和非暂态机器可读介质 | |
JP5798007B2 (ja) | マイクロコンピュータおよびデータ処理装置 | |
CN112470158A (zh) | 用于可编程逻辑器件的故障表征系统和方法 | |
EP3362932A1 (en) | A method for the unique identification of a device and for the updates of the firmware and hardware using an encrypted code | |
WO2024200787A1 (en) | A cryptographic device | |
CN115859383A (zh) | 集成电路封装重新配置机构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |