CN115221499A - 信息处理装置及其控制方法和存储介质 - Google Patents
信息处理装置及其控制方法和存储介质 Download PDFInfo
- Publication number
- CN115221499A CN115221499A CN202210409265.1A CN202210409265A CN115221499A CN 115221499 A CN115221499 A CN 115221499A CN 202210409265 A CN202210409265 A CN 202210409265A CN 115221499 A CN115221499 A CN 115221499A
- Authority
- CN
- China
- Prior art keywords
- processing apparatus
- information processing
- memory
- information
- boot 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.)
- Pending
Links
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/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/602—Providing cryptographic facilities or services
-
- 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种信息处理装置及其控制方法和存储介质。该信息处理装置包括存储引导程序的第一存储器和存储信息处理装置的硬件配置信息的第二存储器。在信息处理装置启动时,该信息处理装置通过执行引导程序来验证存储在第二存储器中的硬件配置信息的有效性,并且在硬件配置信息的有效性得到验证的情况下,该信息处理装置通过执行引导程序来将取决于信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
Description
技术领域
本发明涉及一种信息处理装置及其控制方法和存储介质。
背景技术
OS(操作系统)要使用的外围设备的基地址和分配大小分别根据各个外围设备和安装在外围设备上的板的规格来确定。例如,在用于ARMTM的LinuxTM内核中,定义了一种用于描述称为设备树的硬件信息的方法,并且引导(boot)程序被配置为向OS通知设备树。
近年来,具有内置固件的设备(包括信息处理装置)受到由攻击者进行的固件伪造攻击的风险增加。为此,近来的信息处理装置配设有如下功能:在启动时验证固件的有效性,并且如果确定固件无效,则阻止信息处理装置操作。
在启动时,必须验证作为硬件配置信息的设备树的有效性,以防止结合了“恶意程序”和“恶意安装的硬件”的攻击。
在设备树中描述了各种硬件配置信息项。在硬件配置信息中,存在用于各个个体设备的公共信息和唯一信息。CPU信息、总线连接信息、时钟信息等是公共硬件配置信息,MAC地址等是各个体设备的唯一信息。因此,最终为各个个体设备保持不同的设备树,并且需要为各个个体设备创建验证信息的有效性所需的签名。
日本特开第2016-206861号公报描述了在不能遵守输入到信息处理装置的安全策略以使用在信息处理装置上实现的安全功能时,通知安全管理器。日本特开第2019-133220号公报描述了,在可以采用各种配置的信息处理装置中,自动获取而不是通过用户的手动操作来获取完整性保证信息的期望值,并且该期望值被登记在可以采用的配置的PCR(平台配置寄存器)。此外,日本特开第2019-153050号公报存储了第二个体信息,该第二个体信息可以识别第二启动设备,该第二启动设备中存储了在信息处理装置被启动时要使用的第二启动信息。描述了在要使用存储在第一启动设备中的第一启动信息来启动信息处理装置时,如果没有存储从第一启动设备获取的个体信息,则停止信息处理装置的启动。
为了针对各个个体设备创建用于验证上述信息的有效性所需的签名,需要针对各个个体设备创建不同的数字签名。例如,在生产处理中,需要将网络芯片安装在基板上,需要确定MAC地址,并且需要在各个个体设备的设备树中描述MAC地址信息以创建设备树签名。然而,当在生产处理中创建数字签名时,需要将私钥传递给在海外等的生产基地。当存在多个生产基地时,需要向多个生产基地提供私钥;由于存在多个提供私钥所经由的路径,因此增加了泄漏的风险;因此,希望尽可能避免提供私钥。
发明内容
本发明的一个方面是消除传统技术的上述问题。
本发明的一个特征是提供一种技术,使用该技术可以通过仅在开发基地处理私钥而不必在生产基地处理私钥来避免私钥泄露的风险。
根据本发明的第一方面,提供一种信息处理装置,该信息处理装置包括:
第一存储器,其存储引导程序;
第二存储器,其存储信息处理装置的硬件配置信息;
第一验证部,用于在信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加部,其用于在硬件配置信息的有效性得到验证的情况下,通过执行引导程序来将取决于信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
根据本发明的第二方面,提供了一种信息处理装置的控制方法,该信息处理装置具有存储引导程序的第一存储器和存储信息处理装置的硬件配置信息的第二存储器,该方法包括如下步骤:
验证步骤,在信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加步骤,当在验证步骤中有效性得到验证的情况下,通过执行引导程序来将取决于信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
根据本发明的第三方面,提供了一种计算机可读存储介质,其存储程序,所述程序用于使处理器执行信息处理装置的控制方法,该信息处理装置具有存储引导程序的第一存储器和存储信息处理装置的硬件配置信息的第二存储器,该方法包括如下步骤:
验证步骤,在信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加步骤,当在验证步骤中有效性得到验证的情况下,通过执行引导程序来将取决于信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
根据下面参照附图对示例性实施例的描述,本发明的另外的特征将变得清楚。
附图说明
包含在说明书中并构成本说明书的一部分的附图示出了本发明的实施例,并与本描述一起用于解释本发明的原理。
图1是用于描述根据本发明实施例的信息处理装置的主要组件的构造的框图。
图2是用于解释根据实施例的信息处理装置的启动处理的概述的流程图。
图3是用于解释根据实施例的信息处理装置的验证处理的概述的流程图。
具体实施方式
在下文中将参照附图详细地描述本发明的实施例。应当理解,下述实施例并不意图限制本发明的权利要求,并且,对于根据本发明的解决问题的手段,并不一定需要根据下述实施例描述的各方面的全部组合。
图1是用于描述根据本发明实施例的信息处理装置的主要组件的构造的框图。
该信息处理装置包括:CPU(中央处理单元)10、安全芯片11、引导ROM(只读存储器)12、存储器13和RAM(随机存取存储器)14。CPU 10是中央处理计算单元,其用于执行各种程序并控制整个信息处理装置。安全芯片11在内部保存用于验证数字签名的密钥信息,并且包括用于在信息处理装置启动时验证引导程序的数字签名1211的功能。引导ROM 12是只读存储装置,其存储要在启动信息处理装置时使用的引导程序121及其数字签名1211。
存储器13包括:内核131及其数字签名1311、设备树132,以及存储数字签名1321的非易失性存储区域。存储器13可以通过例如eMMC(嵌入式MMC)、硬盘、固态驱动器等来实现。内核131对各种资源进行控制、调度等。设备树132是由内核131使用的硬件的属性信息。数字签名1211、1311和1321是通过公钥加密算法使用私钥而加密的数据,这些私钥是针对分别从引导程序121、内核131和设备树132计算出的摘要(digest)通过密钥生成算法生成的。例如,采用SHA-1算法等来生成摘要。RAM 14是用于在CPU 10运行各种程序时存储临时信息的存储器。
图2是用于解释根据实施例的信息处理装置的启动处理的概述的流程图。由CPU10执行已经部署在RAM 14中的程序来实现在该流程图中描述的处理。
当信息处理装置通电时,在步骤S201中,CPU 10首先启动安全芯片11。一旦安全芯片11被启动,使用数字签名1211对存储在引导ROM 12中的引导程序121进行验证处理。接下来,处理前进到步骤S202,并且CPU 10通过验证处理确定引导程序121是否已被篡改。如果确定引导程序121未被篡改并且有效,则处理前进到步骤S203。另一方面,当在步骤S202中确定引导程序121已被篡改并且不正常时,CPU 10使处理进入到步骤S210。
在步骤S203中,CPU 10将引导程序121加载到RAM 14中并启动引导程序121。在步骤S204中,CPU 10利用引导程序121,使用数字签名1311和1321对存储在存储器13中的内核131和设备树132进行验证处理。然后,处理前进到步骤S205,并且CPU 10通过验证处理确定内核131和设备树132是否有效,即,它们是否已被篡改。如果确定内核131和设备树132没有被篡改并且正常,则处理前进到步骤S206;否则,如上所述,处理前进到步骤S210。
在步骤S206中,执行引导程序121的CPU 10将被确定为正常的内核131和设备树132从存储器13加载到RAM 14中。然后,处理前进到步骤S207,并且执行引导程序121的CPU10从引导ROM 12获得取决于个体设备的唯一信息122。这里,取决于个体设备的唯一信息122例如是MAC地址,并且在生产处理中被写入引导ROM 12。然后,处理前进到步骤S208,并且执行引导程序121的CPU 10将在步骤S207中获得取决于个体设备的唯一信息122添加到加载到RAM 14中的设备树132。然后,处理前进到步骤S209,并且执行引导程序121的CPU 10开始执行加载到RAM 14中的内核131。如果确定引导程序121、内核131和设备树132不正常,则在步骤S210中通知启动失败错误,不执行后续处理,并且停止信息处理装置的启动。
图3是用于解释根据实施例的信息处理装置的验证处理的概述的流程图。该流程图是在图2的步骤S201和S204中进行的确定有无篡改的处理的细节。
首先,在步骤S301中,CPU 10通过如下方式来计算第一摘要:使用公钥,在引导程序121的情况下对数字签名1211进行解密,并且在内核131和设备树132的情况下对数字签名1311和1321进行解密。该公钥解密处理可以应用于各种公钥密码系统的解密算法,例如椭圆曲线密码体系(Elliptic Curve Cryptography)和RSA密码体系(RSA密码系统)。接下来,处理前进到步骤S302,并且CPU 10通过针对数字签名以外的二元区域(针对数字签名1211的引导程序121、对应于数字签名1311的内核131,以及对应于数字签名1321的设备树132)应用哈希函数来计算第二摘要。用来生成该第二摘要的算法与在生成数字签名1211、1311和1321时使用的算法相同。接下来,处理前进到步骤S303,并且CPU 10将在步骤S301中获得的第一摘要与在步骤S302中获得的第二摘要进行比较。当这些摘要一致时,在随后的确定处理(步骤S202、步骤S205)中确定无篡改。
如上所述,根据实施例的信息处理装置,避免硬件配置信息取决于个体设备并且将硬件配置信息配置为各个设备所公用,使得不必为各个个体设备创建数字签名。通过这样做,就不需要将私钥转移到各个生产基地,从而可以避免密钥信息泄露的风险。
请注意,本实施例是用于解释本发明的一个示例,并且本发明不限于该构造。例如,尽管在本实施方式中已经以用于ARMTM的LinuxTM内核中使用的设备树为例进行了说明,但也可以将不是设备树的单元用作向安装在控制器板上的存储区域的OS进行发送的单元。例如,可以进行配置以使用ACPI(高级配置和电源接口,Advanced configuration andPower Interface)表、E820映射等。
其他实施例
也可以通过读出并执行记录在存储介质(也可更完整地称为“非临时性计算机可读存储介质”)上的计算机可执行指令(例如,一个或更多程序)以执行上述实施例中的一个或更多的功能、并且/或者包括用于执行上述实施例中的一个或更多的功能的一个或更多电路(例如,专用集成电路(ASIC))的系统或装置的计算机,来实现本公开的实施例,并且,可以利用通过由所述系统或装置的所述计算机例如读出并执行来自所述存储介质的所述计算机可执行指令以执行上述实施例中的一个或更多的功能、并且/或者控制所述一个或更多电路执行上述实施例中的一个或更多的功能的方法,来实现本方面的实施例。该计算机可以包括一个或更多处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或存储介质被提供给计算机。所述存储介质可以包括例如硬盘、随机存取存储器(RAM)、只读存储器(ROM)、分布式计算系统的存储器、光盘(诸如压缩光盘(CD)、数字通用光盘(DVD)或蓝光光盘(BD)TM)、闪存设备以及存储卡等中的一者或更多。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然针对示例性实施例描述了本发明,但是,应该理解,本发明不限于公开的示例性实施例。下述权利要求的范围被赋予最宽的解释,以便涵盖所有这样的修改以及等同的结构和功能。
Claims (12)
1.一种信息处理装置,其包括:
第一存储器,其存储引导程序;
第二存储器,其存储所述信息处理装置的硬件配置信息;
第一验证部,其用于在所述信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加部,其用于在硬件配置信息的有效性得到验证的情况下,通过执行引导程序来将取决于所述信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
2.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
第二验证部,其用于验证存储在第一存储器中的引导程序的有效性。
3.根据权利要求2所述的信息处理装置,所述信息处理装置还包括:
执行部,其用于使用安全芯片来执行对引导程序的有效性的验证。
4.根据权利要求1所述的信息处理装置,其中,第一存储器是只读式。
5.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
存储所述唯一信息的只读存储器。
6.根据权利要求5所述的信息处理装置,其中,所述唯一信息在所述信息处理装置的生产过程中被存储在所述只读存储器中。
7.根据权利要求1至6中任一项所述的信息处理装置,其中,第一验证部使用相应的数字签名对存储在第二存储器中的内核和设备树进行验证处理。
8.根据权利要求7所述的信息处理装置,其中,添加部在添加所述唯一信息时将所述唯一信息添加到所述设备树。
9.根据权利要求1所述的信息处理装置,其中,第二存储器是可读写的非易失性存储器。
10.根据权利要求1所述的信息处理装置,其中,所述唯一信息包括MAC地址。
11.一种信息处理装置的控制方法,所述信息处理装置具有存储引导程序的第一存储器和存储所述信息处理装置的硬件配置信息的第二存储器,所述方法包括如下步骤:
验证步骤,在所述信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加步骤,当在验证步骤中有效性得到验证的情况下,通过执行引导程序来将取决于所述信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
12.一种计算机可读存储介质,其存储程序,所述程序用于使处理器执行信息处理装置的控制方法,所述信息处理装置具有存储引导程序的第一存储器和存储所述信息处理装置的硬件配置信息的第二存储器,所述方法包括如下步骤:
验证步骤,在所述信息处理装置启动时,通过执行引导程序来验证已经存储在第二存储器中的硬件配置信息的有效性;以及
添加步骤,当在验证步骤中有效性得到验证的情况下,通过执行引导程序来将取决于所述信息处理装置的个体的唯一信息添加到第二存储器的硬件配置信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021072073A JP7313395B2 (ja) | 2021-04-21 | 2021-04-21 | 情報処理装置とその制御方法、及びプログラム |
JP2021-072073 | 2021-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221499A true CN115221499A (zh) | 2022-10-21 |
Family
ID=83606565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210409265.1A Pending CN115221499A (zh) | 2021-04-21 | 2022-04-19 | 信息处理装置及其控制方法和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220342996A1 (zh) |
JP (1) | JP7313395B2 (zh) |
CN (1) | CN115221499A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012009938A (ja) | 2010-06-22 | 2012-01-12 | Toshiba Tec Corp | 情報処理装置及びプログラム |
JP5986897B2 (ja) | 2012-11-13 | 2016-09-06 | Kddi株式会社 | 端末装置、完全性検証システム、およびプログラム |
JP2015210687A (ja) | 2014-04-28 | 2015-11-24 | 株式会社コンテック | ソフトウェアの保護方法およびこの方法を実施する機器 |
JP7100502B2 (ja) | 2018-06-13 | 2022-07-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
US11755745B2 (en) | 2019-01-29 | 2023-09-12 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for monitoring attacks to devices |
JP2020140561A (ja) | 2019-02-28 | 2020-09-03 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP2021047620A (ja) | 2019-09-18 | 2021-03-25 | キヤノン株式会社 | 情報処理装置、ソフトウェア管理方法及びプログラム |
-
2021
- 2021-04-21 JP JP2021072073A patent/JP7313395B2/ja active Active
-
2022
- 2022-04-12 US US17/718,572 patent/US20220342996A1/en active Pending
- 2022-04-19 CN CN202210409265.1A patent/CN115221499A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7313395B2 (ja) | 2023-07-24 |
US20220342996A1 (en) | 2022-10-27 |
JP2022166687A (ja) | 2022-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101702289B1 (ko) | 플랫폼 부트 펌웨어에 대한 신뢰의 연속성 | |
KR101359841B1 (ko) | 신뢰성 있는 부트 최적화를 위한 방법 및 장치 | |
JP5767751B2 (ja) | Biosを検証する方法、コンピューティングプラットフォーム、およびプログラム | |
US8250373B2 (en) | Authenticating and verifying an authenticable and verifiable module | |
CN101154256B (zh) | 启动可信共存环境的方法和装置 | |
KR101066727B1 (ko) | 컴퓨팅 장치의 보안 부팅 | |
EP3076324B1 (en) | Information processing apparatus and method of controlling the apparatus | |
CN109445705B (zh) | 固件认证方法及固态硬盘 | |
US11106798B2 (en) | Automatically replacing versions of a key database for secure boots | |
TW201500960A (zh) | 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術 | |
JP2005227995A (ja) | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム | |
US20210367781A1 (en) | Method and system for accelerating verification procedure for image file | |
CN109814934B (zh) | 数据处理方法、装置、可读介质和系统 | |
CN117413268A (zh) | 基于固件的安全租赁转移 | |
US20230195473A1 (en) | Peripheral component interconnect express device startup method and apparatus, and storage medium | |
US20160350537A1 (en) | Central processing unit and method to verify mainboard data | |
US20220092189A1 (en) | Implementation of Trusted Computing System Based on Master Controller of Solid-State Drive | |
CN115357908B (zh) | 一种网络设备内核可信度量与自动修复方法 | |
CN108694322B (zh) | 用于对计算机化系统进行初始化的方法及计算机化系统 | |
CN115221499A (zh) | 信息处理装置及其控制方法和存储介质 | |
CN114995918A (zh) | 基板管理控制器的启动方法、配置方法、装置及电子设备 | |
CN115828273B (zh) | 车辆安全启动方法、装置,电子控制单元及存储介质 | |
US20240152620A1 (en) | Owner revocation emulation container | |
CN113742784A (zh) | 应用加速验证映像文件方法的系统 | |
KR20230082388A (ko) | 차량 제어기의 부트로더 검증 장치 및 그 방법 |
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 |