CN109643351B - 处理装置、半导体集成电路以及半导体集成电路的启动方法 - Google Patents
处理装置、半导体集成电路以及半导体集成电路的启动方法 Download PDFInfo
- Publication number
- CN109643351B CN109643351B CN201780052166.XA CN201780052166A CN109643351B CN 109643351 B CN109643351 B CN 109643351B CN 201780052166 A CN201780052166 A CN 201780052166A CN 109643351 B CN109643351 B CN 109643351B
- Authority
- CN
- China
- Prior art keywords
- boot code
- semiconductor integrated
- integrated circuit
- circuit
- network
- 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.)
- Active
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 140
- 238000012545 processing Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 52
- 238000004891 communication Methods 0.000 claims description 108
- 230000015654 memory Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 28
- 238000013500 data storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 101150005267 Add1 gene Proteins 0.000 description 1
- 101100108191 Vibrio parahaemolyticus serotype O3:K6 (strain RIMD 2210633) add gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 101150060298 add2 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/575—Secure boot
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- 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
-
- 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
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0827—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Power Sources (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明通过简单的结构提高包括多个半导体集成电路的处理装置的可靠性。半导体集成电路(11)对引导代码进行加密来生成引导代码(20b),根据表示引导代码(20b)的分发路径的路径信息将包括引导代码(20b)的加密数据(22a)经由网络(15)发送到第一发送目的地。半导体集成电路(12)是第一发送目的地,经由网络(15)接收加密数据(22a),对引导代码(20b)进行解密而生成引导代码(20c)。
Description
技术领域
本发明涉及处理装置、半导体集成电路以及半导体集成电路的启动方法。
背景技术
伴随系统的复杂化、大规模化,提出了包括多个SoC(System on Chip:偏上系统)的系统。
此外,以往,为了加强信息设备的安全,而提出了存储装置储存加密后的数据、命令代码,处理器对加密后的命令代码进行解密而执行命令代码的技术。
专利文献1:日本特开2006-18528号公报
专利文献2:日本特开2007-226481号公报
为了确保包括多个SoC的系统的可靠性,考虑有在多个SoC的每一个SoC设置储存加密后的引导代码的非易失性存储器,或者连接进行其引导代码的解密处理等的其它芯片的控制器。但是,该情况下,存在系统所包含的要素数(芯片数等)增大,导致成本的增大这样的问题。
发明内容
根据发明的一个观点,提供了一种处理装置,具有:第一半导体集成电路,对第一引导代码进行加密来生成第二引导代码,并根据表示上述第二引导代码的分发路径的第一路径信息将包括上述第二引导代码的第一数据经由第一网络发送到第一发送目的地;以及第二半导体集成电路,是上述第一发送目的地,经由上述第一网络接收上述第一数据,并对上述第二引导代码进行解密来生成上述第一引导代码。
另外,根据发明的一个观点,提供了一种半导体集成电路,具有:通信电路,对第一引导代码进行加密来生成第二引导代码,并根据表示上述第二引导代码的分发路径的第一路径信息将包括上述第二引导代码的第一数据经由第一网络发送到第一发送目的地,从上述第一发送目的地接收上述第一数据的接收完成通知信号;以及控制电路,经由系统总线与上述通信电路连接,在上述通信电路接收到上述接收完成通知信号时,使上述通信电路将指示上述第一发送目的地进行基于上述第一引导代码的启动处理的启动指示信号经由第一网络发送到上述第一发送目的地。
另外,根据发明的一个观点,提供了一种半导体集成电路,具有:通信电路,经由第一网络接收包括加密后的第一引导代码的第一数据,并将接收完成通知信号发送到上述第一数据的发送源,对上述第一引导代码进行解密来生成第二引导代码;存储电路,经由系统总线与上述通信电路连接,存储上述第二引导代码;控制电路,经由上述系统总线与上述通信电路连接,进行基于上述第二引导代码的启动处理;以及电源控制电路,经由上述系统总线与上述通信电路连接,决定是否使上述通信电路和上述控制电路启动。
另外,根据发明的一个观点,提供了一种半导体集成电路的启动方法,第一半导体集成电路对第一引导代码进行加密来生成第二引导代码,根据表示上述第二引导代码的分发路径的第一路径信息将包括上述第二引导代码的第一数据经由第一网络发送到第一发送目的地,作为上述第一发送目的地的第二半导体集成电路经由上述第一网络接收上述第一数据,对上述第二引导代码进行解密来生成上述第一引导代码,进行基于上述第一引导代码的启动处理。
发明效果
能够通过简单的结构提高包括多个半导体集成电路的处理装置的可靠性。
本发明的上述以及其他的目的、特征以及优点通过表示作为本发明的例子优选的实施方式的与附图相关联的以下的说明更加清楚。
附图说明
图1是表示第一实施方式的处理装置的一个例子的图。
图2是表示第二实施方式的处理装置的一个例子的图。
图3是表示主机的一个例子的图。
图4是表示加密/解密处理电路的一个例子的图。
图5是表示安全通信电路的一个例子的图。
图6是表示从属机的一个例子的图。
图7是表示路径信息的文件格式的一个例子的图。
图8是表示从属机信息所包含的数据的一个例子的图。
图9是表示第二实施方式的处理装置的动作的一个例子的流程的顺序图。
图10是表示的加密数据的分发路径的一个例子的图。
图11是表示路径信息的一个例子的图。
图12是表示从属机信息的一个例子的图。
图13是表示状态信息的收集处理的一个例子的情形的图。
图14是表示从某个从属机向主机发送状态信息的情形的图。
具体实施方式
以下,参照附图对用于实施发明的方式进行说明。
(第一实施方式)
图1是表示第一实施方式的处理装置的一个例子的图。
处理装置10具有半导体集成电路11、12、13、存储装置14、网络15。
半导体集成电路11~13例如分别是单芯片的SoC。图1的处理装置10具有3个半导体集成电路11~13,但只要是2个以上,则并不局限于3个。此外,处理装置10也能够通过将2个以上的半导体集成电路构成为单芯片的SoC而实现。
半导体集成电路11具有控制电路11a、存储电路11b、解密处理电路11c、安全通信电路11d、电源控制电路11e,这些电路与系统总线11f连接。
控制电路11a例如是微型控制器、CPU(Central Processing Unit:中央处理单元)等,经由系统总线11f控制半导体集成电路11的各部。
存储电路11b例如既可以是RAM(Random Access Memory:随机存取存储器)等易失性的半导体存储器,也可以是闪存等非易失性的存储器。在存储电路11b存储有控制电路11a执行的程序(控制电路11a的引导代码等)、各种数据。
解密处理电路11c对从存储装置14读出的加密后的引导代码20a、表示引导代码20a的分发路径的路径信息21a进行解密。此外,稍后描述解密处理、加密处理的例子。
安全通信电路11d具有对数据进行加密并经由网络15发送到发送目的地(例如,半导体集成电路12)的功能。安全通信电路11d对解密处理电路11c解密了引导代码20a和路径信息21a得到的内容再次进行加密,如图1所示,生成引导代码20b、路径信息21b,并发送包括这些信息的加密数据22a。进一步,安全通信电路11d在接收到来自发送目的地的接收完成通知信号时,对控制电路11a通知在发送目的地完成了数据的接收的意思。然后,若安全通信电路11d从控制电路11a接受指示半导体集成电路12、13的控制电路(在半导体集成电路12中,为控制电路12a)的启动的意思的信号,则对半导体集成电路12、13发送启动指示信号。
电源控制电路11e经由系统总线11f控制半导体集成电路11的各部的电源的开关,来决定是否使各部启动。
半导体集成电路12具有控制电路12a、存储电路12b、安全通信电路12c、电源控制电路12d,这些电路与系统总线12e连接。
控制电路12a与半导体集成电路11的控制电路11a相同,例如是微型控制器、CPU等,经由系统总线12e控制半导体集成电路12的各部。
存储电路12b例如既可以是RAM等易失性的半导体存储器,也可以是闪存等非易失性的存储器。在存储电路12b存储有控制电路12a执行的引导代码20c、各种数据。
安全通信电路12c经由网络15接收加密数据22a,并对加密后的引导代码20b和路径信息21b进行解密。安全通信电路12c对解密了引导代码20b和路径信息21b得到的内容再次进行加密,如图1所示,生成引导代码20c、路径信息21c。然后,安全通信电路12c将包括引导代码20c和路径信息21c的加密数据22b经由网络15发送到发送目的地(例如,半导体集成电路13)。进一步,安全通信电路12c将表示接收到加密数据22a的意思的接收完成通知信号经由网络15发送到半导体集成电路11。另外,安全通信电路12c在接收到半导体集成电路11发送的启动指示信号时,将接收到启动指示信号的意思通知给电源控制电路12d。
电源控制电路12d经由系统总线12e控制半导体集成电路12的各部的电源的开关,来决定是否使各部启动。例如,在处理装置10的电源接通时,电源控制电路12d启动安全通信电路12c。另外,若电源控制电路12d接受从安全通信电路12c接收到启动指示信号的意思的通知,则启动控制电路12a。
半导体集成电路13也包括与半导体集成电路12相同的要素,但在图1中省略图示。
存储装置14例如是闪存等非易失性的存储器,存储半导体集成电路12、13的启动处理时使用的加密后的引导代码20a、表示引导代码20a的分发路径的加密后的路径信息21a等。此外,存储装置14也可以设置在半导体集成电路11中。另外,引导代码20a既可以是在半导体集成电路12、13中共用的引导代码,也可以在引导代码20a包含有半导体集成电路12、13使用的不同的引导代码。另外,路径信息21a也可以不被加密。
网络15是在引导代码的安全分发、监视处理装置10的内部的状态时使用的网络,不与处理装置10的外部连接。作为网络15,例如能够使用以太网(注册商标)。
在这样的处理装置10中,半导体集成电路11作为主机发挥作用,半导体集成电路12、13作为从属机发挥作用。若处理装置10被接通电源,则电源控制电路11e、12d启动(虽然省略图示,但半导体集成电路13的电源控制电路也启动)。
而且,首先,电源控制电路11e启动控制电路11a。另外,电源控制电路11e(或者控制电路11a)启动解密处理电路11c和安全通信电路11d。由此,解密处理电路11c根据控制电路11a的控制从存储装置14读出加密后的引导代码20a和路径信息21a并进行解密,将解密后的内容供给到系统总线11f。接下来,安全通信电路11d将通过解密处理电路11c解密了引导代码20a和路径信息21a得到的内容再次进行加密来生成引导代码20b和路径信息21b。此外,路径信息21b也可以不为加密数据。
另外,在引导代码20a包含有半导体集成电路12、13使用的不同的引导代码的情况下,能够使引导代码20b分别包括半导体集成电路12、13使用的引导代码,另外,也可以使引导代码20b不包括半导体集成电路12使用的引导代码,而包括半导体集成电路13使用的引导代码。另一方面,在引导代码20a包含有半导体集成电路12、13中共用的引导代码的情况下,在引导代码20b包含有该共用的引导代码。
而且,安全通信电路11d根据解密了路径信息21a得到的内容,确定出发送目的地(在图1的例子中,为半导体集成电路12),经由网络15对该发送目的地发送包括引导代码20b和路径信息21b的加密数据22a。此外,也可以使控制电路11a判定解密后的引导代码是否适当。
另一方面,在半导体集成电路12中,若电源控制电路12d启动,则电源控制电路12d不启动控制电路12a,而启动安全通信电路12c。若安全通信电路12c接收加密数据22a,则对加密后的引导代码20b和路径信息21b进行解密。而且,安全通信电路12c将解密而得到的引导代码20c储存到存储电路12b。
进一步,安全通信电路12c将表示接收到加密数据22a的意思的接收完成通知信号发送到半导体集成电路11。另外,安全通信电路12c根据解密路径信息21b而得到的内容,在从半导体集成电路12指定了目的地的分发路径的情况下,对解密了引导代码20b和路径信息21b而得到的内容再次进行加密,来生成包括加密后的引导代码20c和路径信息21c的加密数据22b,并发送到发送目的地。在图1中,示出了半导体集成电路12的发送目的地是半导体集成电路13的例子。此外,路径信息21c也可以不为加密数据。
另外,在引导代码20a包含有半导体集成电路12、13使用的不同的引导代码的情况下,引导代码20c包含有半导体集成电路13使用的引导代码即可,也可以不包含有半导体集成电路12使用的引导代码。另一方面,在引导代码20a包含有半导体集成电路12、13共用的引导代码的情况下,引导代码20c包含有该共用的引导代码。
接收加密数据22b的半导体集成电路13中也进行与半导体集成电路12相同的处理。
若半导体集成电路11的安全通信电路11d接收半导体集成电路12、13发送的接收完成通知信号,则将接收到接收完成通知信号的意思通知给控制电路11a。控制电路11a根据来自安全通信电路11d的通知,判定为在半导体集成电路12、13中完成了加密数据22a、22b的接收,则将指示半导体集成电路12、13的控制电路的启动的意思通知给安全通信电路11d。若安全通信电路11d接受该通知,则将启动指示信号发送到半导体集成电路12、13。
另外,若半导体集成电路12的安全通信电路12c接收启动指示信号,则对电源控制电路12d通知接收到启动指示信号的意思。若电源控制电路12d接受该通知,则启动控制电路12a。若控制电路12a启动,则执行基于储存于存储电路12b的引导代码的启动处理。
在接收启动指示信号的半导体集成电路13中也执行与半导体集成电路12相同的启动处理。
这样,半导体集成电路11发送包括加密后的引导代码20b和表示引导代码20b的分发路径的加密后的路径信息21b的加密数据22a。然后,半导体集成电路11在接收到加密数据22a的接收完成通知信号时,发送启动指示信号。另外,半导体集成电路12经由网络15从半导体集成电路11接收加密数据22a,将接收完成通知发送到半导体集成电路12。另外,半导体集成电路12对加密数据22a所包含的引导代码20b进行解密来生成引导代码20c,在接收到启动指示信号时,进行基于引导代码20c的启动处理。
根据以上这样的处理装置10,半导体集成电路11将加密后的引导代码20b供给到半导体集成电路12,所以可以不对半导体集成电路12连接储存引导代码的存储装置。换句话说,半导体集成电路12可以不管理引导代码。另外,在半导体集成电路12内进行加密后的引导代码20b的解密,所以也可以不连接其它芯片的控制器。根据以上所述,能够通过简单的结构提高处理装置10的可靠性。由此,能够期待成本的减少。
另外,作为从属机发挥作用的半导体集成电路12对解密后的引导代码、路径信息再次进行加密,并发送到基于路径信息的发送目的地(图1的例子中,为半导体集成电路13),使作为主机发挥作用的半导体集成电路11的负担减少。
此外,半导体集成电路11、12也可以对于引导代码以外的数据也加密发送。
(第二实施方式)
图2是表示第二实施方式的处理装置的一个例子的图。
第二实施方式的处理装置30具有主机31、从属机32、33、34、35、36、37、38、39,这些处理装置与网络40、41连接。另外,在主机31连接有非易失性存储器42。
主机31以及从属机32~39例如分别是单芯片的SoC。
网络40与处理装置30的外部连接。另一方面,网络41和网络40独立地设置,不与处理装置30的外部连接。作为网络41,例如,能够使用以太网。
非易失性存储器42例如是闪存,储存在从属机32~39的启动时执行的引导代码。此外,非易失性存储器42也可以位于主机31中。
以下,对主机31和从属机32~39的硬件例子进行说明。此外,以下,示出进行使用了网络41的安全通信处理的部分,对于进行使用了网络40的通信处理的部分等省略说明。
图3是表示主机的一个例子的图。
主机31具有与第一实施方式的处理装置10的半导体集成电路11相同的功能。主机31具有MCU(Micro Controller Unit:微处理器单元)31a、ROM(Read Only Memory:只读存储器)31b、RAM31c、电源控制电路31d、加密/解密处理电路31e、安全通信电路31f,这些各部与系统总线31g连接。
MCU31a根据储存于ROM31b的程序,经由系统总线31g控制主机31的各部。此外,也可以代替MCU31a,使用CPU等处理器。
ROM31b是闪存等非易失性的存储器,储存MCU31a执行的程序(MCU31a的引导代码等)、各种数据。RAM31c暂时储存MCU31a执行的程序的至少一部分。另外,RAM31c储存MCU31a进行的处理所使用的各种数据。
电源控制电路31d经由系统总线31g控制主机31的各部的电源的开关,来决定是否使各部启动。
加密/解密处理电路31e对从属机32~39的MCU的引导代码、表示引导代码的分发路径的路径信息等进行加密并预先存储于非易失性存储器42。进一步,加密/解密处理电路31e对从非易失性存储器42读出的加密后的引导代码和路径信息进行解密。
安全通信电路31f对引导代码和路径信息再次进行加密,将包括加密后的引导代码、加密后的路径信息的加密数据发送到发送目的地(从属机32~39的任意一个)。进一步,若安全通信电路31f接收来自发送目的地的接收完成通知信号,则将发送目的地中完成了数据的接收的意思通知给MCU31a。而且,若安全通信电路31f从MCU31a接受指示全部从属机32~39的MCU的启动的意思的信号,则对从属机32~39发送启动指示信号。
此外,安全通信电路31f也可以对加密后的引导代码和加密后的路径信息以外的数据进行加密发送。
图4是表示加密/解密处理电路的一个例子的图。
加密/解密处理电路31e具有控制电路31e1和加密/解密电路31e2。
控制电路31e1控制使用了加密/解密电路31e2的加密/解密处理。
加密/解密电路31e2对于在与非易失性存储器42之间接收发送的数据进行加密/解密处理。以下,对使用了硬件密钥以及公共加密密钥的加密/解密处理的例子进行说明。
例如,在主机31的初次启动时,加密/解密电路31e2经由系统总线31g利用公共加密密钥对从ROM31b或者RAM31c供给的从属机32~39的引导代码和表示引导代码的分发路径的路径信息进行加密。并且,加密/解密电路31e2利用硬件密钥对该公共加密密钥进行加密。
控制电路31e1根据经由系统总线31g由MCU31a指定的地址(写地址),在非易失性存储器42储存利用公共加密密钥加密后的引导代码和路径信息、利用硬件密钥加密后的公共加密密钥。
控制电路31e1在初次以后的启动时,根据由MCU31a指定的地址(读地址),从非易失性存储器42读出加密后的公共加密密钥、引导代码、以及路径信息。然后,根据控制电路31e1的控制,加密/解密电路31e2利用硬件密钥对公共加密密钥进行解密,并利用解密后的公共加密密钥对引导代码和路径信息进行解密。
此外,也能够不采取加密/解密电路31e2,而采取将通过与处理装置10不同的系统预先加密得到的上述的引导代码、路径信息、公共加密密钥储存到非易失性存储器42的结构。
图5是表示安全通信电路的一个例子的图。
安全通信电路31f具有DMA(Direct Memory Access:直接内存访问)处理电路31f1、包处理电路31f2、加密/解密电路31f3、硬件密钥设定电路31f4、媒体访问控制器31f5。
DMA处理电路31f1根据从MCU31a或者包处理电路31f2供给的指令,经由系统总线31g在与主机31内的RAM31c之间、或者经由系统总线31g以及加密/解密处理电路31e在与非易失性存储器42之间进行数据的接收发送。
包处理电路31f2接受储存于DMA处理电路31f1接收到的RAM31c的信息(引导代码、路径信息等),生成基于该信息的包,并将该包发送到加密/解密电路31f3。进一步,若包处理电路31f2从加密/解密电路31f3接收加密后的包,则将加密后的包供给到媒体访问控制器31f5。另外,若包处理电路31f2从媒体访问控制器31f5接受加密后的包,则将加密后的包发送到加密/解密电路31f3。而且,若包处理电路31f2从加密/解密电路31f3接收解密后的包,则将解密后的包供给到DMA处理电路31f1。
加密/解密电路31f3使用硬件密钥进行包的加密或解密、哈希值的计算。
在硬件密钥设定电路31f4中设定有硬件密钥。作为硬件密钥设定电路31f4,例如,能够使用电熔丝(E-Fuse)等OTP-ROM(One Time Programmable-ROM:一次可编程只读存储器)。
媒体访问控制器31f5使用MAC地址经由网络41在与从属机32~39之间进行加密后的包的接收和发送。
图6是表示从属机的一个例子的图。
此外,图6示出从属机32~39中从属机32的一个例子,但其他的从属机33~39也能够由相同的电路实现。从属机32具有与图1所示的第一实施方式的处理装置的半导体集成电路12相同的功能。
从属机32具有MCU32a、RAM32b、AP(Application Processor:应用处理器)32c、电源控制电路32d、安全通信电路32e,这些各部与系统总线32f连接。
MCU32a执行储存于RAM32b的程序,经由系统总线32f控制从属机32的各部。此外,也可以代替MCU32a,而使用CPU等处理器。
RAM32b例如储存安全通信电路32e接收的MCU32a的引导代码、AP32c的引导代码等。
AP32c是进行与MCU32a担当的处理不同的各种应用的处理的处理器。AP32c例如根据储存于RAM32b的引导代码启动。
电源控制电路32d经由系统总线32f控制从属机32的各部的电源的开关,来决定是否使各部启动。
安全通信电路32e经由网络41接收加密数据,并对加密后的引导代码和路径信息进行解密。另外,安全通信电路32e对解密后的引导代码和路径信息再次进行加密,并将包括加密后的引导代码和路径信息的加密数据经由网络41发送到由路径信息指定的发送目的地。进一步,安全通信电路32e将表示接收到加密数据的意思的接收完成通知信号经由网络41发送到主机31。另外,若安全通信电路32e接收主机31发送的启动指示信号,则将接收到启动指示信号的意思经由系统总线32f通知给电源控制电路32d。
安全通信电路32e能够通过与图5所示的安全通信电路31f相同的硬件实现。
此外,也可以在从属机32~39中,也设置与主机31的ROM31b、加密/解密处理电路31e相当的要素,作为主机发挥作用,并使主机31作为从属机发挥作用。
接下来,对储存于非易失性存储器42的路径信息的例子进行说明。
图7是表示路径信息的文件格式的一个例子的图。
作为路径信息的文件格式的开头的项目(项目No.1)的数据,指定了全部从属机数量。作为第二个以后的项目(项目No.2~9)的数据,指定了从属机32~39的信息。在从属机32~39的各自的信息例如包含有5个项目的数据。即,从属机MAC地址、分发源MAC地址、接收数据储存起始地址、数据大小、发送数据储存起始地址。
从属机MAC地址是从属机32~39的任意一个的MAC地址。例如,从属机32的信息所包含的从属机MAC地址是从属机32的MAC地址。
分发源MAC地址是路径信息的分发源(主机31或者从属机32~39)的MAC地址。例如,从属机32的信息所包含的分发源MAC地址是主机31的MAC地址。
接收数据储存起始地址是存储从属机32~39接收到的数据的存储区域的起始地址。例如,从属机32的信息所包含的接收数据储存起始地址是存储接收到的引导代码的RAM32b的存储区域的起始地址。
数据大小是存储于RAM32b的引导代码的数据大小。
发送数据储存起始地址是在引导代码的分发源(主机31或者从属机32~39)中存储引导代码的存储区域的起始地址。例如,从属机32的信息所包含的发送数据储存起始地址是在非易失性存储器42中存储有引导代码的存储区域的起始地址。
图8是表示从属机信息所包含的数据的一个例子的图。
在图8中,示出从属机32的信息所包含的数据的一个例子。作为从属机MAC地址的MACS0例如被设定在从属机32的安全通信电路32e,作为分发源MAC地址的MACM被设定在主机31的安全通信电路31f。
接收数据储存起始地址add2表示在RAM32b中储存数据(引导代码)的存储区域的起始地址。发送数据储存起始地址add1表示在非易失性存储器42中储存数据(加密后的引导代码)的存储区域的起始地址。数据大小size1表示存储于非易失性存储器42的数据的尺寸。
以下,对第二实施方式的处理装置30的动作例进行说明。
图9是表示第二实施方式的处理装置的动作的一个例子的流程的顺序图。在图9中,示出根据从主机31分发的引导代码启动从属机32的MCU32a时的动作的流程。
若对处理装置30接通电源,则主机31的电源控制电路31d启动(T1),从属机32的电源控制电路32d启动(T2)。从属机32的电源控制电路32d进行安全通信电路32e的初始设定(寄存器设定等)(T3),启动安全通信电路32e。虽然省略图示,但在其他的从属机33~39中也进行相同的处理。
主机31的电源控制电路31d启动MCU31a(T4),MCU31a进行加密/解密处理电路31e、安全通信电路31f的初始设定(T5、T6),启动这些电路。此外,电源控制电路31d也可以进行加密/解密处理电路31e、安全通信电路31f的初始设定。另外,MCU31a对于安全通信电路31f进行分发开始指示(T7)。
加密/解密处理电路31e例如从MCU31a所进行的初始设定中指定的非易失性存储器42的地址读出加密后的路径信息并进行解密(T8)。
安全通信电路31f通过将解密后的路径信息从加密/解密处理电路31e读出(T9),并根据路径信息对于从属机32发送包,来进行位置确认的询问(T10)。
若从属机32的安全通信电路32e接受位置确认的询问,则通过将响应包发送到主机31,来进行对于位置确认的响应(T11)。
主机31的加密/解密处理电路31e例如从MCU31a所进行的初始设定中指定的非易失性存储器42的地址读出加密后的引导代码并进行解密(T12)。
安全通信电路31f通过从加密/解密处理电路31e读出解密后的引导代码(T13),进行加密处理来对引导代码和路径信息进行加密(T14),并对从属机32发送加密数据(T15)。
从属机32的安全通信电路32e接收加密数据并进行引导代码和路径信息的解密处理(T16)。而且,安全通信电路32e将路径信息保持到安全通信电路32e内的未图示的存储部(例如,寄存器),并将引导代码储存到RAM32b(T17)。另外,安全通信电路32e通过对于主机31发送接收完成通知信号,来进行接收的完成通知(T18)。
主机31的MCU31a经由安全通信电路31f从全部从属机32~39接受加密数据的接收完成的意思的通知,则使安全通信电路31f发送指示全部从属机32~39的MCU的启动的启动指示信号(T19)。
若从属机32的安全通信电路32e从主机31的安全通信电路31f接收启动指示信号,则将该意思通知给电源控制电路32d(T20)。若电源控制电路32d从安全通信电路32e接受接收到启动指示信号的意思的信号,则启动MCU32a(T21)。虽然省略图示,但其后,在MCU32a中,进行基于储存于RAM32b的引导代码的启动处理。
此外,虽然在图9中省略图示,但在从从属机32向其它的从属机发送加密数据的情况下,从属机32的安全通信电路32e根据路径信息对发送目的地的从属机进行位置确认的询问。而且,若安全通信电路32e接受对于位置确认的响应,则从RAM32b读出引导代码,并对路径信息和引导代码进行加密,发送到发送目的地的从属机。
此外,处理装置30对于从属机32~39的AP(在从属机32中为AP32c)的引导代码,也能够与上述的分发方法相同地进行分发。
然而,也可以使包括引导代码和路径信息的加密数据从一个主机或者一个从属机发送到多个从属机。
图10是表示加密数据的分发路径的一个例子的图。
在图10所示的加密数据的分发路径中,接收主机31发送的加密数据的从属机32对于从属机33、35、36发送加密数据。另外,从属机36对从属机37、39发送加密数据。此外,从属机33对一个从属机34发送加密数据,从属机37也对一个从属机38发送加密数据。此外,向多个从属机的分发不同时进行,基于分发路径信息按规定的顺序进行。
表示这样的分发路径的路径信息能够如以下那样表示。
图11是表示路径信息的一个例子的图。
作为路径信息的第二个以后的项目(项目No.2~9)的数据,指定了从属机32~39的信息,但以树状的分发路径的子树单位排列配置。
例如,在图10的分发路径中,有按从属机32、36、37、38这样的顺序分发加密数据的子树,所以按该顺序配置从属机32、36、37、38的信息。进一步,有从从属机36向从属机39分发加密数据的子树、从从属机32按从属机33、34这样的顺序分发加密数据的子树、从从属机32向从属机35分发加密数据的子树。因此,按该子树单位配置从属机39、33、34、35的信息。
图12是表示从属机信息的一个例子的图。
在图12的例子中,将主机31的MAC地址作为MACM,将从属机32的MAC地址作为MACS0,将从属机33的MAC地址作为MACS1,将从属机34的MAC地址作为MACS2,将从属机35的MAC地址作为MACS3。另外,将从属机36的MAC地址作为MACS4,将从属机37的MAC地址作为MACS5,将从属机38的MAC地址作为MACS6,将从属机39的MAC地址作为MACS7。
另外,在图12的例子中,示出了将储存于非易失性存储器42的将Add0作为起始地址的存储区域的数据大小为S1的引导代码储存在从属机32~39的RAM的将Add1作为起始地址的存储区域的例子。
使用这样的路径信息进行加密数据的分发时,主机31的安全通信电路31f进行如以下那样的处理。
安全通信电路31f将从路径信息所包含的开头的从属机信息到接下来分发源MAC地址为主机31的MAC地址的从属机信息之前的路径信息和引导代码发送到由开头的从属机信息表示的从属机。在有多个分发源MAC地址为主机31的MAC地址的从属机信息的情况下,反复进行相同的处理。例如,发送了从第二个分发源MAC地址为主机31的MAC地址的从属机信息到第三个分发源MAC地址为主机31的MAC地址的从属机信息之前的路径信息和引导代码。
在图12的例子中,分发源MAC地址成为是主机31的MAC地址的MACM的从属机信息不在从属机32的信息以外。因此,包括全部的从属机32~39的信息的路径信息被发送到从属机32。
从属机32~39的安全通信电路(在从属机32中,为安全通信电路32e),因为接收到的路径信息的开头的从属机信息是自己自身的信息所以跳过,将第二个从属机信息作为起始从属机信息。然后,从属机32~39的安全通信电路将从开头的从属机信息到接下来分发源MAC地址成为自身的MAC地址的从属机信息之前的路径信息和引导代码发送到由开头的从属机信息表示的从属机。在有多个分发源MAC地址为自身的MAC地址的从属机信息的情况下,反复进行相同的处理。
此外,从属机32~39在接收到的路径信息所包含的从属机信息是一个的情况下,因为自身成为发送源而没有发送路径信息的对象,所以结束分发处理。另外,从属机32~39在没有要发送的从属机信息的情况下也结束分发处理。
在图12的例子中,从属机32将从项目No.3的从属机信息(从属机36的信息)到接下来分发源MAC地址成为自身的MAC地址的项目No.7的从属机信息之前的路径信息和引导代码发送到从属机36。另外,从属机32将从项目No.7的从属机信息(从属机33的信息)到接下来分发源MAC地址成为自身的MAC地址的项目No.9的从属机信息之前的路径信息和引导代码发送到从属机33。进一步,从属机32将项目No.9的从属机信息(从属机35的信息)作为路径信息与引导代码一起发送到从属机35。
这样,主机31、从属机32~39在有多个发送目的地的情况下,从发送到多个发送目的地之一的路径信息省去与其他的发送目的地有关的分发路径的信息(从属机信息)来发送。由此,能够减少发送的信息量,能够缩短引导代码的分发时间。
此外,主机31、从属机32~39也可以删除开头的从属机信息后发送到发送目的地的从属机。
(状态信息收集方法)
上述这样的第二实施方式的处理装置30的主机31也可以从从属机32~39收集表示从属机32~39的各自的状态的状态信息。
图13是表示状态信息的收集处理的一个例子的情况的图。
动作中的从属机32~39的状态信息从从属机32~39的各自的安全通信电路经由网络41发送到主机31。状态信息的向主机31的发送被定期地进行。
图14是表示从某个从属机向主机发送状态信息的情况的图。
从属机50对图6所示的从属机32追加了保持状态信息的状态寄存器51。在状态寄存器51例如被写入表示AP32c中的运算的状态的标志位作为状态信息。另外,从属机50也可以具有检测异常的产生的功能,也可以将表示异常的有无的信息作为状态信息写入状态寄存器51。
安全通信电路32e例如具有计时器,定期地读出储存于状态寄存器51的状态信息,并对状态信息进行加密,经由网络41发送到主机31。此外,安全通信电路32e例如也可以根据MCU32a或者电源控制电路32d所进行的控制,定期地读出储存于状态寄存器51的状态信息。
若主机31的安全通信电路31f接收加密后的状态信息,则进行解密处理,并将解密后的状态信息储存到RAM31c。通过主机31的MCU31a参照储存于RAM31c的状态信息,来判定在从属机50中是否产生异常。
根据以上说明的第二实施方式的处理装置30,将从属机32~39的引导代码以主机31为起点分发到从属机32~39,所以可以不对从属机32~39连接储存引导代码的非易失性存储器。另外,从属机32~39内的安全通信电路(在从属机32中为安全通信电路32e)进行加密后的引导代码的解密,所以也可以不连接进行解密处理等的其它芯片的控制器。因此,即使从属机数量变多,也抑制储存引导代码的非易失性存储器的数量、芯片数量的增大,能够通过简单的结构提高处理装置30的可靠性。由此,能够期待成本的减少。
另外,在从属机32~39中,对解密后的引导代码、路径信息再次进行加密,并发送到基于路径信息的发送目的地,从而减少主机31的负担。
上述仅表示本发明的原理。并且,对于本领域技术人员来说能够进行许多的变形、变更,本发明并不局限于上述所示、所说明的正确的结构以及应用例,对应的全部的变形例以及等同物被视为基于所附权利要求及其等同物的本发明的范围。
附图标记的说明
10...处理装置;11、12、13...半导体集成电路;11a、12a...控制电路;11b、12b...存储电路;11c...解密处理电路;11d、12c...安全通信电路;11e、12d...电源控制电路;11f、12e...系统总线;14...存储装置;15...网络;20a、20b、20c...引导代码;21a、21b、21c...路径信息;22a、22b...加密数据。
Claims (15)
1.一种处理装置,其特征在于,具有:
第一半导体集成电路,对第一引导代码进行加密来生成第二引导代码,并将包括上述第二引导代码的第一数据根据表示上述第二引导代码的分发路径的第一路径信息而经由第一网络发送到第一发送目的地;
第二半导体集成电路,其作为上述第一发送目的地,且经由上述第一网络接收上述第一数据,并对上述第二引导代码进行解密来生成上述第一引导代码;以及
第三半导体集成电路,
上述第一引导代码包括上述第二半导体集成电路使用的第三引导代码和上述第三半导体集成电路使用的第四引导代码,
上述第二半导体集成电路根据上述第一路径信息确定上述第三半导体集成电路,并对上述第四引导代码进行加密来生成第五引导代码,将包括上述第五引导代码的第二数据经由上述第一网络发送到上述第三半导体集成电路,
上述第三半导体集成电路经由上述第一网络接收上述第二数据,并对上述第五引导代码进行解密来生成上述第四引导代码。
2.根据权利要求1所述的处理装置,其特征在于,
上述第二半导体集成电路进行基于包含在上述第一引导代码中的上述第三引导代码的启动处理。
3.根据权利要求1或者2所述的处理装置,其特征在于,
上述第一半导体集成电路在从上述第一发送目的地接收到上述第一数据的接收完成通知信号时,向上述第一发送目的地发送启动指示信号,
上述第二半导体集成电路在接收到上述第一数据时,将上述接收完成通知信号发送到上述第一半导体集成电路,在接收到上述启动指示信号时,进行基于包含在上述第一引导代码中的上述第三引导代码的启动处理。
4.根据权利要求1所述的处理装置,其特征在于,
上述第一半导体集成电路对上述第一路径信息进行加密来生成第二路径信息,并将包括上述第二引导代码和上述第二路径信息的上述第一数据发送到上述第一发送目的地。
5.根据权利要求1所述的处理装置,其特征在于,
上述第三半导体集成电路进行基于上述第四引导代码的启动处理。
6.根据权利要求5所述的处理装置,其特征在于,
上述第二半导体集成电路对从上述第一路径信息省去了与上述第一发送目的地有关的上述分发路径的信息而得到的信息进行加密来生成第三路径信息,并将包括上述第五引导代码和上述第三路径信息的上述第二数据经由上述第一网络发送到上述第三半导体集成电路。
7.根据权利要求1所述的处理装置,其特征在于,
上述第一网络和与上述处理装置的外部连接的第二网络独立地设置。
8.根据权利要求1所述的处理装置,其特征在于,
上述第一半导体集成电路和上述第二半导体集成电路分别包括:
通信电路,对数据进行加密并经由上述第一网络发送到发送目的地;以及
控制电路,经由系统总线与上述通信电路连接,控制对应的半导体集成电路的各部,
在上述第二半导体集成电路中,上述通信电路在上述控制电路没启动的状态下启动,上述通信电路经由上述第一网络接收上述第一数据,并对上述第二引导代码进行解密来生成上述第一引导代码。
9.根据权利要求8所述的处理装置,其特征在于,
上述第一半导体集成电路和上述第二半导体集成电路分别还具有电源控制电路,该电源控制电路经由上述系统总线与上述通信电路连接,决定是否使对应的半导体集成电路的各部启动,
在上述处理装置的电源被接通时,
在上述第一半导体集成电路中,在上述电源控制电路的控制下,上述控制电路和上述通信电路启动,
在上述第二半导体集成电路中,在上述电源控制电路的控制下,上述控制电路不启动,上述通信电路启动。
10.一种半导体集成电路,其特征在于,具有:
通信电路,对第一引导代码进行加密来生成第二引导代码,并将包括上述第二引导代码的第一数据根据表示上述第二引导代码的分发路径的第一路径信息而经由第一网络发送到第一发送目的地,从上述第一发送目的地接收上述第一数据的接收完成通知信号;以及
控制电路,经由系统总线与上述通信电路连接,在上述通信电路接收到上述接收完成通知信号时,使上述通信电路将指示上述第一发送目的地进行基于上述第一引导代码的启动处理的启动指示信号经由上述第一网络发送到上述第一发送目的地,
上述第一引导代码包括上述第一发送目的地亦即第一半导体集成电路使用的第三引导代码和上述第一半导体集成电路的第二数据的发送目的地亦即第二半导体集成电路使用的第四引导代码,上述通信电路对上述第三引导代码和上述第四引导代码进行加密来生成第二引导代码。
11.一种半导体集成电路,其特征在于,具有:
通信电路,经由第一网络从第一半导体集成电路接收包括第五引导代码的第一数据,并将接收完成通知信号发送到上述第一半导体集成电路,对上述第五引导代码进行解密来生成包括第一引导代码和第三引导代码的第六引导代码,上述第五引导代码具有将上述第一引导代码加密而得的第二引导代码和将第二半导体集成电路使用的第三引导代码加密而得的第四引导代码;
存储电路,经由系统总线与上述通信电路连接,存储上述第六引导代码;
控制电路,经由上述系统总线与上述通信电路连接,进行基于上述第二引导代码的启动处理;以及
电源控制电路,经由上述系统总线与上述通信电路连接,决定是否使上述通信电路和上述控制电路启动。
12.根据权利要求11所述的半导体集成电路,其特征在于,
上述通信电路在上述电源控制电路的控制下,在上述控制电路没启动的状态下启动,从上述发送源接收启动指示信号,
上述电源控制电路在上述通信电路接收到上述启动指示信号时,启动上述控制电路。
13.根据权利要求11或者12所述的半导体集成电路,其特征在于,
上述通信电路根据表示上述第六引导代码的分发路径的第一路径信息确定成为发送目的地的上述第二半导体集成电路,并对上述第三引导代码进行加密来生成第七引导代码,将包括上述第七引导代码的第二数据经由上述第一网络发送到第三半导体集成电路。
14.根据权利要求13所述的半导体集成电路,其特征在于,
上述通信电路基于从上述第一路径信息省去了与自身有关的上述分发路径的信息而得到的信息生成第三路径信息,将包括上述第七引导代码和上述第三路径信息的上述第二数据经由上述第一网络发送到上述第三半导体集成电路。
15.一种半导体集成电路的启动方法,其特征在于,
第一半导体集成电路对第一引导代码进行加密来生成第二引导代码,并根据表示上述第二引导代码的分发路径的第一路径信息将包括上述第二引导代码的第一数据经由第一网络发送到第一发送目的地,
作为上述第一发送目的地的第二半导体集成电路经由上述第一网络接收上述第一数据,对上述第二引导代码进行解密来生成上述第一引导代码,进行基于上述第一引导代码的启动处理,
上述第一引导代码包括上述第二半导体集成电路使用的第三引导代码和第三半导体集成电路使用的第四引导代码,
上述第二半导体集成电路根据上述第一路径信息确定上述第三半导体集成电路,并对上述第四引导代码进行加密来生成第五引导代码,将包括上述第五引导代码的第二数据经由上述第一网络发送到上述第三半导体集成电路,
上述第三半导体集成电路经由上述第一网络接收上述第二数据,并对上述第五引导代码进行解密来生成上述第四引导代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016167892 | 2016-08-30 | ||
JP2016-167892 | 2016-08-30 | ||
PCT/JP2017/017523 WO2018042766A1 (ja) | 2016-08-30 | 2017-05-09 | 処理装置、半導体集積回路及び半導体集積回路の起動方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643351A CN109643351A (zh) | 2019-04-16 |
CN109643351B true CN109643351B (zh) | 2023-12-15 |
Family
ID=61300461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052166.XA Active CN109643351B (zh) | 2016-08-30 | 2017-05-09 | 处理装置、半导体集成电路以及半导体集成电路的启动方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10997298B2 (zh) |
EP (2) | EP3509002B1 (zh) |
JP (1) | JP7014969B2 (zh) |
CN (1) | CN109643351B (zh) |
WO (1) | WO2018042766A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7007570B2 (ja) | 2017-12-27 | 2022-01-24 | 株式会社ソシオネクスト | 処理装置、半導体集積回路及び状態監視方法 |
FR3094520B1 (fr) * | 2019-03-25 | 2021-10-22 | St Microelectronics Rousset | Clé de chiffrement et/ou de déchiffrement |
JP7286381B2 (ja) * | 2019-04-01 | 2023-06-05 | キヤノン株式会社 | 情報処理装置とその制御方法 |
CN110119286A (zh) * | 2019-04-11 | 2019-08-13 | 厦门亿联网络技术股份有限公司 | 一种基于模拟Flash芯片的固件引导实现方法 |
CN110727466B (zh) * | 2019-10-15 | 2023-04-11 | 上海兆芯集成电路有限公司 | 多晶粒的多核计算机平台及其开机方法 |
US11960608B2 (en) * | 2021-04-29 | 2024-04-16 | Infineon Technologies Ag | Fast secure booting method and system |
US11783043B2 (en) * | 2021-11-23 | 2023-10-10 | ZT Group Int'l, Inc. | Methods for authentication of firmware images in embedded systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401103A (zh) * | 2006-06-09 | 2009-04-01 | 国际商业机器公司 | 用于跨越多个处理器的安全启动的系统和方法 |
WO2011109780A2 (en) * | 2010-03-05 | 2011-09-09 | Maxlinear, Inc. | Code download and firewall for embedded secure application |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0398153A (ja) * | 1989-09-11 | 1991-04-23 | Nippon Telegr & Teleph Corp <Ntt> | 制御プログラム初期ロード方式 |
JPH04364563A (ja) * | 1991-06-11 | 1992-12-16 | Oki Electric Ind Co Ltd | ダウンロード制御方法 |
JPH05242057A (ja) * | 1992-02-27 | 1993-09-21 | Sanyo Electric Co Ltd | マルチプロセッサシステムの起動方式 |
US6240074B1 (en) * | 1998-02-19 | 2001-05-29 | Motorola, Inc. | Secure communication hub and method of secure data communication |
JP4447977B2 (ja) | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
JP2007213292A (ja) * | 2006-02-09 | 2007-08-23 | Nec Electronics Corp | マルチプロセッサシステム及びスレーブシステムの起動方法 |
JP4795812B2 (ja) | 2006-02-22 | 2011-10-19 | 富士通セミコンダクター株式会社 | セキュアプロセッサ |
JP4939102B2 (ja) * | 2006-04-21 | 2012-05-23 | 株式会社日立製作所 | ネットワークブート計算機システムの高信頼化方法 |
KR101484110B1 (ko) * | 2008-02-29 | 2015-01-28 | 삼성전자주식회사 | 메모리 컨트롤러 및 그에 따른 메모리 장치 |
US20100064125A1 (en) * | 2008-09-11 | 2010-03-11 | Mediatek Inc. | Programmable device and booting method |
US20120331303A1 (en) * | 2011-06-23 | 2012-12-27 | Andersson Jonathan E | Method and system for preventing execution of malware |
JP5917031B2 (ja) | 2011-07-04 | 2016-05-11 | サイプレス セミコンダクター コーポレーション | マイクロコンピュータ |
US20140164753A1 (en) * | 2012-12-06 | 2014-06-12 | Samsung Electronics Co., Ltd | System on chip for performing secure boot, image forming apparatus using the same, and method thereof |
US9268942B2 (en) * | 2013-06-12 | 2016-02-23 | Arm Limited | Providing a trustworthy indication of the current state of a multi-processor data processing apparatus |
US10579391B2 (en) * | 2013-07-31 | 2020-03-03 | Oracle International Corporation | System on a chip hardware block for translating commands from processor to read boot code from off-chip non-volatile memory device |
CN103677912B (zh) * | 2013-12-06 | 2017-12-01 | 华为技术有限公司 | 芯片及其启动方法 |
US9331673B2 (en) * | 2013-12-31 | 2016-05-03 | Qualcomm Technologies International, Ltd. | Integrated circuit operating active circuitry and chip pads in different operating modes and at different voltage levels |
US10726162B2 (en) * | 2014-12-19 | 2020-07-28 | Intel Corporation | Security plugin for a system-on-a-chip platform |
US11165749B2 (en) * | 2016-02-12 | 2021-11-02 | Advanced Micro Devices, Inc. | Assigning variable length address identifiers to packets in a processing system |
-
2017
- 2017-05-09 CN CN201780052166.XA patent/CN109643351B/zh active Active
- 2017-05-09 WO PCT/JP2017/017523 patent/WO2018042766A1/ja unknown
- 2017-05-09 EP EP17845777.6A patent/EP3509002B1/en active Active
- 2017-05-09 JP JP2018536935A patent/JP7014969B2/ja active Active
- 2017-05-09 EP EP22168602.5A patent/EP4064088A1/en active Pending
-
2019
- 2019-01-28 US US16/259,884 patent/US10997298B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401103A (zh) * | 2006-06-09 | 2009-04-01 | 国际商业机器公司 | 用于跨越多个处理器的安全启动的系统和方法 |
WO2011109780A2 (en) * | 2010-03-05 | 2011-09-09 | Maxlinear, Inc. | Code download and firewall for embedded secure application |
Non-Patent Citations (1)
Title |
---|
串行引导加载技术在DSP网络实验系统中的应用;曾昭健等;《机电工程》;20070820(第08期);17-19页 * |
Also Published As
Publication number | Publication date |
---|---|
JP7014969B2 (ja) | 2022-02-02 |
US10997298B2 (en) | 2021-05-04 |
EP3509002B1 (en) | 2023-03-22 |
EP3509002A1 (en) | 2019-07-10 |
JPWO2018042766A1 (ja) | 2019-06-24 |
CN109643351A (zh) | 2019-04-16 |
US20190171821A1 (en) | 2019-06-06 |
EP4064088A1 (en) | 2022-09-28 |
WO2018042766A1 (ja) | 2018-03-08 |
EP3509002A4 (en) | 2019-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643351B (zh) | 处理装置、半导体集成电路以及半导体集成电路的启动方法 | |
US11314661B2 (en) | Hardware security for an electronic control unit | |
CN101346930B (zh) | 安全的片上系统 | |
US8516232B2 (en) | Method and memory device for performing an operation on data | |
US9003202B2 (en) | Memory control device, semiconductor memory device, memory system, and memory control method | |
CN107003871B (zh) | 用于使用预引导更新机制来提供硬件订阅模式的技术 | |
KR102401088B1 (ko) | 보안 장치, 이를 포함하는 전자 장치 및 전자 장치의 동작 방법 | |
JP2008310832A (ja) | 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法 | |
CN113890728A (zh) | 基于fpga加密卡的密钥处理方法、系统、设备及介质 | |
EP3429128B1 (en) | Hard drive operation method and hard drive manager | |
CN116226940B (zh) | 一种基于pcie的数据安全处理方法以及数据安全处理系统 | |
US20230198742A1 (en) | Method for securely transmitting lighting scenes over a computer network with cloud setup and authentication | |
CN115378755B (zh) | 总线系统 | |
TWI773247B (zh) | 匯流排系統 | |
CN102255902A (zh) | 一种网络设备功能共享的方法及装置 | |
CN111527724B (zh) | 处理装置、半导体集成电路以及状态监视方法 | |
WO2016140596A1 (ru) | Устройство шифрования данных (варианты), вычислительная система с его использованием (варианты) | |
CN109670347A (zh) | 解密装置、方法及片上系统 | |
CN118246080B (zh) | 一种数据处理方法、电子设备、存储介质及产品 | |
US11785448B2 (en) | Method and device for implementing secure communication, and storage medium | |
TW201235804A (en) | Programmable logic controller, and method for preserving a password for the programmable logic controller | |
CN111064740B (zh) | 一种用于网络数据包加解密处理的系统及方法 | |
JP2023085958A (ja) | 車載装置、プログラム及び情報処理方法 | |
CN116049855A (zh) | 一种数据加解密方法、安全芯片、电子设备以及介质 | |
JP2004334281A (ja) | Icカード及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |