CN102037473A - 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路 - Google Patents
信息处理装置、信息处理方法、实现它们的计算机程序及集成电路 Download PDFInfo
- Publication number
- CN102037473A CN102037473A CN2009801187370A CN200980118737A CN102037473A CN 102037473 A CN102037473 A CN 102037473A CN 2009801187370 A CN2009801187370 A CN 2009801187370A CN 200980118737 A CN200980118737 A CN 200980118737A CN 102037473 A CN102037473 A CN 102037473A
- Authority
- CN
- China
- Prior art keywords
- module
- mentioned
- certificate
- control value
- accumulation
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 8
- 238000004590 computer program Methods 0.000 title claims description 11
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000009825 accumulation Methods 0.000 claims description 151
- 238000003860 storage Methods 0.000 claims description 95
- 230000014509 gene expression Effects 0.000 claims description 39
- 230000003750 conditioning effect Effects 0.000 claims description 15
- 238000004321 preservation Methods 0.000 claims description 8
- 238000010200 validation analysis Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 abstract 2
- 230000001186 cumulative effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 19
- 238000012423 maintenance Methods 0.000 description 18
- 238000012795 verification Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 238000005755 formation reaction Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003716 rejuvenation Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
提供一种能够在维持提供者间的独立性的基础上持续地进行跨越多个提供者提供的模组群间的安全引导的信息处理装置。具备包括第一结构对照值(503)和模组测量值(505)的联动证书,上述第一结构对照值(503)表示进行安全引导的第一模组群的累积哈希值,上述模组测量值(505)表示进行安全引导的第二模组群的开头模组的哈希值,在第一模组群的安全引导后,通过与第一结构对照值(503)相对照来验证第一模组群已启动,再将通过与模组测量值(505)相对照验证了完全性的第二模组群的开头模组启动,进行第二模组群的安全引导,在第一模组群的模组被更新的情况下,联动证书更新部(135)将联动证书更新。
Description
技术领域
本发明涉及个人计算机或便携电话等信息通信设备、具备因特网接入功能的电视接收装置等信息家电设备等的信息处理装置、信息处理方法、实现它们的计算机程序及集成电路。
特别是,在终端的软件由从多个提供者提供的多个模组群构成的情况下、通过从各提供者单独地下载新的软件模组而能够进行软件模组的更新、并且能够防止偷换为进行不正当的动作的模组、或不正当地将软件恢复到旧版本等这样的不正当行为,能够稳定可靠地由正确的软件结构进行启动。
背景技术
近年来,经由网络提供的服务涉及音乐及影像等著作品的提供、企业拥有的机密信息的阅览、在线银行等多个领域,并且其中处理的信息的价值也变得昂贵。为了应对涉及多个领域的服务,在个人计算机、便携终端、便携电话、数字家电等终端中,安装有从多个提供者提供的多个软件。
例如,在便携电话的情况下,有时安装有便携电话的终端厂商提供的关于便携电话的基本功能的模组群、便携电话的操作者提供的关于便携通信功能的模组群、ISP(Internet Service Provider:互联网服务提供商)提供的构成在便携电话上动作的服务应用的模组群。
此外,为了安全地处理具有昂贵的价值的信息,在个人计算机、便携终端、便携电话、数字家电等终端中,按照每个模组群而装入有防止软件模组的篡改等不正当行为的机制。例如,其中之一为,提供者对各软件模组发行证书,在各软件模组的启动时使用该证书验证软件模组的完全性的机制。该机制在将构成模组群的软件模组以模组为单位进行更新的情况下也是有效的,通过模组群的提供者提供新的软件模组和该新的软件模组的证书,在终端侧能够验证从提供者侧接收到的新的软件模组的完全性。
例如在专利文献1中公开了与上述使用证书防止不正当行为的机制同样的技术。
此外,以开发并普及安全的计算机平台为目的,设立了Trusted Computing Group(TCG)。在TCG中,利用称作Trusted Platform Module(TPM)的安全模组,终端进行一边不仅验证软件模组的完全性还验证启动软件模组的顺序是否正确、一边启动软件模组的称作安全引导的启动处理,来实现安全的终端环境(参照非专利文献1~5)。
专利文献:
专利文献1:US2005/0021968
非专利文献:
非专利文献1:TPM Main,Part1 Design Principles,Specification version 1.2 Level2 Rivision103(9 July 2007)
非专利文献2:TPM Main,Part2 TPM Structures,Specification version 1.2Level2 Rivision103(9 July 2007)
非专利文献3:TPM Main Part3 Commands,Specification version 1.2Level2 Rivision103(9 July 2007)
非专利文献4:TCG Mobile Trusted Module Specification version 1.0Rivision1(12 June 2007)
非专利文献5:TCG Mobile Reference Architecture Specification version1.0Rivision1(12 June 2007)
发明内容
发明要解决的问题
但是,在以往提出的技术中,如图16所示,在构成终端的软件的模组群被从多个提供者(stakeholder:利害关系者)提供、对这些模组群进行TCG的安全引导而构成的终端中,在将1个模组更新为新的模组的情况下存在问题。
例如,根据以往提出的技术,在安全引导中,在第二提供者(第二利害关系者)提供的模组#21利用作为第一提供者(第一利害关系者)提供的模组群的模组#11、#12、#13的情况下,需要事前将模组#11、#12、#13启动,所以在启动模组#21之前,用如下的方法验证正规的模组#11、#12、#13已被启动。
在此情况下,在第二提供者与模组#21一起提供的证书#21之中,包含有模组#21的哈希值和将第一模组群的各个模组的哈希值累积地进行哈希运算的情况下形成的累积哈希值。
在启动模组#21之前,通过将包含在证书#21中的模组#21的哈希值与根据实际的模组#21计算出的哈希值相对照,而验证模组#21没有被篡改的同时,通过将作为保存所启动的模组的累积哈希值的寄存器的PCR(Platform Configuration Register)与包含在证书#21中的累积哈希值相对照,验证在启动模组#21之前正规的模组#11、#12、#13已被启动。
但是,由于第二提供者提供的证书#21依存于第一提供者提供的第一模组群,所以假如在将模组#13更新为新的模组的情况下,需要同时更新对应于模组#13的证书#13和将证书#21。为了实现这一点,需要以下机制:每当更新第一模组群的模组时、第一提供者事前将模组的更新信息通知给第二提供者侧、将证书#21也同时更新,该机制存在损害提供者间的独立性的问题。具体而言,存在下述问题:即使第一提供者侧需要紧急将模组#13更新为新的模组#13,在第二提供者侧完成与新的模组#13对应的证书#21的准备之前,也不能将模组#13更新,从而不能应对需要紧急进行的更新。此外,还存在下述问题:第二提供者侧为了第一提供者提供的模组群的更新而承担生成证书#21并分发它的成本。
本发明是解决这样的以往问题的,目的是提供一种在终端的软件由多个提供者提供的模组群构成的情况下、能够在维持提供者间的独立性的基础上持续地进行跨越模组群间的安全引导的信息处理装置、信息处理方法、实现它们的计算机程序及集成电路。
用于解决问题的手段
为了解决上述问题,作为本发明的一技术方案的信息处理装置的特征在于,具备:第一存储部,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;第二存储部,保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;第一控制部,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;第二控制部,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及联动证书的保持部,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二多个模组的开头模组;上述第二控制部验证上述第二多个模组的正当性,使上述第二多个模组启动。
发明效果:
根据上述技术方案,在终端的软件由多个软件模组构成的情况下,能够防止将软件模组偷换为旧的软件模组的不正当行为,能够单独地进行各软件模组的更新处理。
此外,即使是在证书的更新时发生电源断开、或在软件模组的码图或证书间发生不匹配的情况下,通过在安全引导处理时参照结构信息累积部和代替虚拟结构信息累积部这两者来进行验证,也能够不执行旧的软件模组而完成安全引导,并再次开始证书的更新处理。
附图说明
图1是表示有关本发明的实施方式1的终端的结构的框图。
图2(a)是表示有关本发明的实施方式1的终端的第一安全模组的结构的框图,图2(b)是表示有关本发明的实施方式1的终端的第二安全模组的结构的框图。
图3(a)是表示保存在有关本发明的实施方式1的终端的第一存储部中的模组和证书的一例的图,图3(b)是表示保存在有关本发明的实施方式1的终端的第二存储部中的模组和证书的一例的图,图3(c)是表示保存在有关本发明的实施方式1的终端的联动证书存储部中的联动证书的一例的图,图3(d)是表示保存在有关本发明的实施方式2的终端的联动证书存储部中的联动证书的一例的图。
图4是表示本发明的实施方式1中的软件模组的证书的数据构造的图。
图5是表示本发明的实施方式1中的联动证书的数据构造的图。
图6是本发明的实施方式1中的安全引导处理的流程图。
图7是本发明的实施方式1中的到联动证书的更新处理的中途为止的流程图。
图8是本发明的实施方式1中的联动证书的更新处理的流程图,表示图7的后续的处理。
图9是表示本发明的实施方式1中的联动证书的依存列表的一例的图。
图10是用来说明本发明的实施方式2中的安全引导及软件模组的更新的示意图。
图11是表示本发明的实施方式2中的软件模组的证书的数据构造的图。
图12是表示本发明的实施方式2中的联动证书的数据构造的图。
图13是本发明的实施方式2中的安全引导处理的流程图。
图14是本发明的实施方式2中的到联动证书的更新处理的中途为止的流程图。
图15是本发明的实施方式2中的联动证书的更新处理的流程图,表示图14的后续的处理。
图16是说明基于现有技术的安全引导处理的一例的图。
具体实施方式
技术方案1所述的信息处理装置的特征在于,具备:第一存储部,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;第二存储部,保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;第一控制部,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;第二控制部,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及联动证书的保持部,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二控制部,使其验证上述第二多个模组的正当性。
根据本技术方案,保持包括第三对照值和第三累积对照值在内的联动证书,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的。
此外,上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新,另一方面,上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二多个模组的开头模组;上述第二控制部验证上述第二多个模组的正当性,将上述第二多个模组启动。
由此,在以上述第一多个模组的正当性被验证为前提来验证上述第二多个模组的正当性的情况下,当存在上述第一多个模组的更新时,由上述第一控制部进行因存在上述第一多个模组的更新而需要变更的第二控制部中的处理。因此,即使是存在上述第一多个模组的更新的情况,在上述第二控制部中也只要进行与上述第一多个模组更新前相同的处理就可以,能够避免与上述第一多个模组的更新联动而变更处理引起的负荷。
即,在以往中,由于上述第二多个模组的验证依存于上述第一多个模组,所以在存在上述第一多个模组的更新的情况下,上述第二控制部需要更新包含在上述第二多个模组的开头模组的证书中的第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的。换言之,以往在存在上述第一多个模组的更新的情况下,由于上述第二多个模组的验证依存于上述第一多个模组,为了上述第二控制部能够更新与上述第二多个模组的开头模组相对应的证书,需要将由更新后的上述第一多个模组中包含的模组的哈希值累积后形成的累积值所生成的第三累积对照值,从上述第一控制部通知给上述第二控制部。因而,在上述第二控制部不具有更新后的上述第三累积对照值的情况下,上述第二控制部不能进行依存于上述第一多个模组的状态下的上述第二多个模组的验证。
但是,根据本技术方案,另外设置包括第三对照值和第三累积对照值在内的联动证书,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的,使用该联动证书,在上述第一控制部验证了正当的第一多个模组被启动的基础上,验证上述第二多个模组的开头模组的正当性。
另一方面,在上述第二控制部中,即使是存在上述第一多个模组的更新的情况,也不验证正当的第一多个模组被启动的情况,而进行与上述第一多个模组更新前相同的处理,来验证上述第二多个模组的正当性。
在此情况下,在上述第二控制部中,即使是存在上述第一多个模组的更新的情况,也不验证正当的第一多个模组被启动的情况,所以上述第一多个模组和上述第二多个模组能够确保独立性,通过使用联动证书,即使是存在上述第一多个模组的更新的情况,上述第一控制部也在验证正当的第一多个模组被启动之后验证上述第二多个模组的开头模组的正当性,所以成为将联动证书作为媒体使上述第一多个模组与上述第二多个模组联动。
因而,即使在上述第一多个模组的更新后,也能够避免下述负荷,即,使上述第二多个模组依存于上述第一多个模组而与上述第一多个模组的更新联动地变更上述第二控制部中的处理所产生的负荷。
技术方案2所述的信息处理装置的特征在于,还具有由上述第二控制部管理的第三存储部,该第三存储部保存已启动的上述第二多个模组中包含的模组的哈希值累积后形成的累积值;上述联动证书还包括表示上述第二多个模组没有被启动的第四对照值;上述第一控制部还在验证了上述第二多个模组的开头模组的正当性时,从上述第二控制部取得保存在上述第三存储部中的第二多个模组的验证值,将该取得的验证值与包含在上述联动证书中的第四累积值相比较,在验证了启动上述第二多个模组之前没有被上述第二控制部启动的模组的情况下,上述第一控制部启动上述第二多个模组的开头模组;上述第二控制部验证上述第二多个模组的正当性,将上述第二多个模组启动。
根据本技术方案,具有由上述第二控制部管理且保存已启动的上述第二多个模组中包含的模组的哈希值累积后形成的累积值的第三存储部;上述联动证书还包括表示上述第二多个模组没有被启动的第四累积值;上述第一控制部从上述第二控制部取得保存在上述第三存储部中的第二多个模组的验证值,将该取得的验证值与上述第二规定的对照值相比较,在验证了上述第二控制部启动上述第二多个模组之前没有上述第二控制部已启动的模组的情况下,使上述第二控制部验证上述第二多个模组的正当性。
即,在上述第二控制部将上述第二多个模组启动之前没有上述第二控制部已启动的模组的情况下,在上述第三存储部中,作为上述第二多个模组的验证值而保存有例如零。因此,如果与表示上述第二多个模组没有被启动的第四累积值、即例如零相比较,则两者一致,在上述第一控制部中能够验证在上述第二控制部将上述第二多个模组启动之前没有上述第二控制部已启动的模组。
由此,上述第一控制部不仅验证上述第二多个模组的开头模组的正当性,还确认在将包括上述开头模组的第二多个模组启动之前没有已由上述第二控制部启动的模组,再启动上述第二控制部。因此,能够在上述第一控制部确认了在使上述第二多个模组启动之前在上述第二控制部中病毒等没有被启动的基础上,上述第一控制部使上述第二控制部启动。结果,上述第一控制部能够在确认了上述第二控制部的安全性的基础上使上述第二控制部启动。
技术方案3所述的信息处理装置的特征在于,上述保持部包含在上述第一存储部中。
根据本技术方案,通过在上述第一存储部的存储区域之中确保为了保存上述联动证书而需要的存储区域,能够避免在信息处理装置中用来确保保存联动证书的存储区域的相应的新的成本上升。
技术方案4所述的信息处理装置的特征在于,上述第一控制部还在上述第二多个模组的开头模组已被更新的情况下,将包含在上述联动证书中的第三对照值更新。
根据本技术方案,在已将上述第二多个模组更新的情况下,上述第一控制部包含在上述联动证书中的第三对照值更新,由此,上述第一控制部使用保存有更新后的第三对照值的联动证书,验证上述第二多个模组的正当性,所以能够避免上述第二控制部将为了验证依存于上述第一多个模组的第二多个模组的正当性而使用的第三对照值更新所产生的负荷。
技术方案5所述的信息处理装置的特征在于,上述第二控制部在更新了上述第二多个模组的开头模组的情况下,对上述第一控制部通知该情况;上述第一控制部在接收到上述通知时,将上述联动证书的上述第三对照值更新为更新后的上述第二多个模组的开头模组的第二对照值。
根据本技术方案,在存在上述第二多个模组的更新的情况下,上述第二控制部通知第一控制部,接收到上述通知的第一控制部将上述联动证书的上述第三对照值更新为更新后的上述第二多个模组的开头模组的第二对照值,所以即使是上述第二多个模组的开头模组的更新后,上述第一控制部也能够适当地验证上述第二多个模组的开头模组的正当性。
技术方案6所述的信息处理方法的特征在于,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;保持联动证书,该联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,验证上述第二多个模组的正当性,使上述第二多个模组启动。
技术方案7所述的计算机程序的特征在于,使计算机执行:第一处理,在第一存储部保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;第二处理,在第二存储部保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;第三处理,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;第四处理,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及第五处理,在保持部保存联动证书,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;在上述第三处理中,在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;在上述第三处理中,在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,启动上述第四处理,验证上述第二多个模组的正当性,使上述第二多个模组启动。
技术方案8所述的集成电路的特征在于,具备:第一存储部,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;第二存储部,保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;第一控制部,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;第二控制部,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及联动证书的保持部,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二多个模组的开头模组;上述第二控制部验证上述第二多个模组的正当性,使上述第二多个模组启动。
(第一实施方式)
对本发明的第一实施方式中的终端100的结构进行说明。
终端100如图1所示,包括CPU101、进行与从第一提供者(第一利害关系者)提供的软件模组有关的处理的第一信息处理部110、进行与从第二提供者(第二利害关系者)提供的软件模组有关的处理的第二信息处理部120、和进行联动证书的保持·更新的联动处理部130,该联动证书用于将第一信息处理部110的安全引导和第二信息处理部120的安全引导连接的安全引导处理。
这里,所谓将第一信息处理部110的安全引导和第二信息处理部120的安全引导连接的安全引导处理,是在从第一信息处理部110的安全引导处理向第二信息处理部120的安全引导处理转移时进行的处理。
第一信息处理部110包括:第一存储部111,保存作为第一提供者提供的软件的模组群的第一模组群;第一安全引导控制部112,控制第一模组群的安全引导处理;第一安全模组113,具备防篡改性;以及第一下载更新部114,将第一模组群的模组从第一提供者的服务器(未图示)通过网络下载,并对保持在第一存储部111中的模组进行更新。
第二信息处理部110包括:第二存储部121,保存作为第二提供者提供的软件的模组群的第二模组群;第二安全引导控制部122,控制第二模组群的安全引导处理;第二安全模组123,具备防篡改性;以及第二下载更新部124,将第二模组群的模组从第二提供者的服务器(未图示)通过网络下载,并对保持在第二存储部121中的模组进行更新。
联动处理部130包括保存联动证书的联动证书存储部131、和将联动证书更新的联动证书更新部135。
一般由CPU101执行的软件实现第一安全引导控制部112和第二安全引导控制部122、第一下载更新部114和第二下载更新部124、联动证书更新部135,但也可以将一部分或全部通过硬件实现。
此外,第一安全模组113和第二安全模组123通过具备防篡改性的硬件或CPU101执行的被防篡改的软件实现。
第一存储部111、第二存储部121和联动证书存储部131具体而言通过非易失性存储器或硬盘等其他存储装置实现。
进而,第一安全模组113如图2(a)所示,具备:结构信息累积部211,保持表示CPU101实际执行的软件模组的结构的结构信息;证书验证部212,验证软件模组的证书的有效性;对照部213,将结构信息累积部211保持的结构信息与证书中的结构对照值相对照;计数部214,保持表示软件模组的有效版本的下限的计数值;以及加解密部215,进行数据的加解密及签名生成、签名验证。此外,结构信息累积部211具备:累积部216,进行由第一信息处理部启动的软件模组的哈希值的累积哈希运算;以及结构信息保持部217,保持累积部216计算出的累积值(以下这样称呼累积运算的结果)。这里,结构信息保持部217相当于作为TCG中的安全模组的TPM的PCR(Platform Configuration Register),保持在结构信息保持部217中的值表示由第一信息处理部启动的模组的结构。
结构信息保持部217包括多个寄存器,通过寄存器号码指定累积部216对哪个寄存器进行累积哈希运算。
加解密部215保持有用来进行数据的加解密处理及签名生成、签名验证的多个密钥数据。此外,在第一存储部中,保存有用加解密部215所保持的密钥数据加密后的其他密钥数据(未图示),通过将该加密后的密钥数据装载到第一安全模组中,并用加解密部215所保持的密钥数据解密,从而加解密部215使用该解密后的密钥数据进行加解密处理及签名生成、签名验证。
累积部216将结构信息保持部217的1个寄存器所保持的值的字节串与软件模组的哈希运算的结果的字节串连结,再对连结后的字节串进行哈希运算,将其结果再保存到该寄存器中。
第二安全模组123具备与第一安全模组113同样的结构,如图2(b)所示,具备:结构信息累积部221,保持表示CPU101实际执行的软件模组的结构的结构信息;证书验证部222,验证软件模组的证书的有效性;对照部223,将结构信息累积部221保持的结构信息与证书中的结构对照值相对照;计数部224,保持表示软件模组的有效版本的下限的计数值;以及加解密部225,进行数据的加解密及签名生成、签名验证。此外,结构信息累积部221具备:累积部226,进行由第二信息处理部启动的软件模组的哈希值的累积哈希运算;以及结构信息保持部227,包括多个寄存器,保持累积部226计算出的累积值(以下这样称呼累积运算的结果)。这里,结构信息保持部227相当于作为TCG中的安全模组的TPM的PCR(Platform Configuration Register),保持在结构信息保持部227中的值表示由第二信息处理部启动的模组的结构。
结构信息保持部227包括多个寄存器,通过寄存器号码指定累积部226对哪个寄存器进行累积哈希运算。
加解密部225保持有用来进行数据的加解密处理及签名生成、签名验证的多个密钥数据。此外,在第二存储部中,保存有加解密部225利用所保持的密钥数据加密后的其他密钥数据(未图示),通过将该加密后的密钥数据装载到第二安全模组中,用加解密部225所保持的密钥数据解密,从而加解密部225使用该解密后的密钥数据进行加解密处理及签名生成、签名验证。
累积部226将结构信息保持部227的1个寄存器所保持的值的字节串与软件模组的哈希运算的结果的字节串连结,再对连结后的字节串进行哈希运算,将其结果再保存到该寄存器中。
图3(a)表示保存在第一存储部中的模组和证书的一例,在此情况下,第一模组群包括模组#11、模组#12、模组#13这3个模组,保持有分别与模组#11、模组#12、模组#13相对应的证书#11、证书#12、证书#13。
第一安全引导控制部112使用证书#11、证书#12、证书#13,关于模组#11、模组#12、模组#13,进行基于非专利文献4及非专利文献5所示的方式的安全引导,以模组#11、模组#12、模组#13的顺序启动模组。
图3(b)表示保存在第二存储部中的模组和证书的一例,在此情况下,第二模组群包括模组#21、模组#22、模组#23这3个模组,保持有分别与模组#21、模组#22、模组#23相对应的证书#21、证书#22、证书#23。
第二安全引导控制部122使用证书#21、证书#22、证书#23,关于模组#21、模组#22、模组#23,进行基于非专利文献4及非专利文献5所示的方式的安全引导,以模组#21、模组#22、模组#23的顺序启动模组。
图4表示与这些软件模组相对应的证书的数据构造,证书400包括标签401,是识别与该证书建立了对应的软件模组的信息;参照计数值402,表示软件模组的版本;结构对照值403,表示在执行软件模组前的终端100的状态下在安全模组的结构信息保持部(217、227)中应保持的累积哈希值;模组测量值405,表示对模组的码图进行了哈希运算时形成的值作为软件模组的摘要;寄存器索引404,指定对模组测量值405表示的值进行累积哈希运算的结构信息保持部(217、227)的寄存器号码;验证密钥ID406,表示验证证书的签名的密钥;以及基于与验证密钥ID406表示的密钥相对应的私钥的电子签名407,针对从标签401到验证密钥ID406的数据。
模组测量值405是正当的软件模组的码图的哈希值,通过与实际的软件模组的码图的哈希运算的结果相对照,能够验证该软件模组没有被篡改。
此外,安全模组的计数部表示软件模组的有效版本的下限,所以通过验证参照计数值402是保存在安全模组的计数部中的计数值以上,能够验证不是已作废的旧的模组的证书,即该模组是有效的软件模组。
此外,结构对照值403用于通过与保存在安全模组的结构信息保持部中的累积哈希值相对照来验证作为执行软件模组之前的状态是正确的状态(在其之前执行的软件模组是有效的软件模组,且以正确的顺序被执行)。
此外,电子签名507是基于公钥加密方式的签名密钥的电子签名,签名密钥优选的是1024位以上的密钥长的密钥。
图3(c)表示保存在联动证书存储部中的联动证书的一例,在此情况下,保持有用于将第一模组群的安全引导与第二模组群的安全引导连接的安全引导的1个联动证书。具体而言,保持有用于在将第一模组群的模组#13启动之后启动第二模组群的模组#21时的安全引导的联动证书。
图5表示该联动证书的数据构造,联动证500包括:标签501,是识别与该证书建立了对应的软件模组的信息;参照计数值502,表示软件模组的版本;第一结构对照值503,表示在执行软件模组前的终端100的状态下在第一安全模组113的结构信息保持部中应保持的累积哈希值;第二结构对照值504,表示在第二安全模组123的结构信息保持部中应保持的累积哈希值;模组测量值505,表示对第二模组群的开头的模组的码图进行了哈希运算时形成的值;依存列表507,表示第二模组群所依存的第一模组群中的模组;验证密钥ID506,表示验证证书的签名的密钥;以及基于与验证密钥ID506表示的密钥相对应的私钥的电子签名508,针对从标签501到验证密钥ID506的数据。
在此情况下,标签501是识别第二模组群的模组#21的标签,模组测量值505是正当的模组#21的码图的哈希值,通过与实际的模组#21的码图的哈希运算的结果相对照,能够验证该模组#21没有被篡改。
此外,通过验证参照计数值502是保存在安全模组的计数部中的计数值以上,能够验证联动证书不是已作废的旧的联动证书。
此外,第一结构对照值503用于通过与保存在第一安全模组的结构信息保持部中的累积哈希值相对照来验证作为执行模组#21之前的状态是正确的状态(在其之前执行的模组#11、模组#12、模组#13是有效的软件模组,且以正确的顺序被执行)。
此外,第二结构对照值504用于通过与保存在第二安全模组的结构信息保持部中的累积哈希值相对照来验证作为执行模组#21之前的状态是正确的状态(第二模组群的模组没有被启动)。
此外,依存列表507如图9所示,示出联动证书更新部135在计算第一结构对照值503时进行的累计哈希运算的顺序、和第二模组群依存的模组的证书的标签。在图9的情况下,示出模组#21依存于证书#11(MODULE11)、证书12(MODULE12)、证书13(MODULE13),通过以证书#11、证书#12、证书#13的顺序使用各自的模组测量值进行累积哈希运算,计算第一结构对照值503。
此外,电子签名508是基于公钥加密方式的签名密钥的电子签名,签名密钥优选的是1024位以上的密钥长的密钥。
接着,图10示意地表示分别在第一存储部中保存有图3(a)所示的模组和证书、在第二存储部中保存有图3(b)所示的模组和证书的情况下的终端100中的安全引导及软件模组的更新。
在终端100的安全引导中,首先,第一安全引导控制部112使用证书#11、证书#12、证书#13以模组#11、模组#12、模组#13的顺序进行安全引导,再使用联动证书进行从模组#13向模组#21的安全引导,接着,第二安全引导控制部122使用证书#21、证书#22、证书#23以模组#21、模组#22、模组#23的顺序进行安全引导,从而进行模组#11、模组#12、模组#13、模组#21、模组#22、模组#23的顺序下的一系列的安全引导。
此外,在软件模组的更新中,通过第一下载更新部114或第二下载更新部124从第一服务器或第二服务器单独地下载与软件模组对应的证书,将保存在第一存储部或第二存储部中的软件模组和证书更新。然后,联动证书更新部135参照保存在第一存储部或第二存储部中的证书,将联动证书更新。
接着,关于分别在第一存储部中保存有图3(a)所示的模组和证书、在第二存储部中保存有图3(b)所示的模组和证书的情况,说明终端100的详细动作。
首先,使用图6,说明通过在第一模组群的安全引导与第二模组群的安全引导之间进行而将该两个安全引导作为一系列的安全引导连接的安全引导的动作。具体而言,说明在将第一模组群的模组#11、模组#12、模组#13依次启动之后启动第二模组群的模组#21时进行的安全引导的动作。
首先,第一安全引导控制部112执行第一模组群的基于非专利文献4及非专利文献5所示的方式的安全引导,将模组#11、模组#12、模组#13依次启动后,从联动证书存储部131中读取联动证书500(S601),对第一安全模组发送用于请求验证所读取的联动证书500的验证请求(S602)。
接收到验证请求的第一安全模组113验证证书验证部接收到的联动证书(S603)。
在该联动证书的验证中,首先,使用第一安全模组保持的联动证书500的验证密钥ID506所表示的密钥,验证电子签名508。
进而,判断联动证书500的参照计数值502是计数部214保持的计数值以上,来验证联动证书500不是已作废的旧的联动证书。
接着,对照部213将结构信息保持部217保持的累积哈希值与联动证书500中的第一结构对照值503相对照,验证作为执行模组#21之前的状态而第一信息处理部侧是正确的状态(在其之前执行的模组#11、模组#12、模组#13是有效的软件模组,且以正确的顺序被执行)。
接收到对照部213的验证结果的证书验证部将该验证结果发送给第一安全引导控制部112(S604)。
接收到验证结果的第一安全引导控制部112在某个验证处理中检测到错误的情况下中止安全引导,在所有的验证处理的结果都是成功的情况下,从第二存储部121读取第二模组群的模组#21(S605)。
第一安全引导控制部112进行所读取的模组#21的码图的哈希运算,通过将其结果与联动证书500的模组测量值505相对照,验证所读取的模组#21是对应于联动证书500的正当的模组#21(S606)。
第一安全引导控制部112在该模组#21的验证的结果是检测到错误的情况下,中止安全引导,在验证的结果是成功的情况下,对第二安全模组123发送结构信息请求,该结构信息请求用于请求表示在第二信息处理部侧启动的软件模组的结构的结构信息(S607)。
接收到结构信息请求的第二安全模组123使用加解密部225保持的签名密钥对结构信息保持部227保持的累积哈希值实施电子签名而生成结构信息(S608),并发送给第一安全引导控制部112(S609)。
接收到结构信息的第一安全引导控制部112首先使用与第二安全模组123的签名密钥相对应的签名验证密钥验证对接收到的结构信息实施的电子签名,再将结构信息表示的累积哈希值与联动证书500中的第二结构对照值相对照,验证作为执行模组#21之前的状态第二信息处理部侧是正确的状态(第二模组群的模组没有被启动的状态)(S610)。
第一安全引导控制部112在该验证的结果是检测到错误的情况下,中止安全引导,在验证的结果是成功的情况下,启动模组#21,CPU101执行模组#21的码图(S611)。
然后,通过第二安全引导控制部122开始第二模组群的安全引导。
以上,通过使用联动证书进行安全引导,能够将两个安全引导作为一系列的安全引导执行。
接着,使用图7、图8对联动证书500的更新处理进行说明。
在第二模组群中应最先启动的模组#21的证书#21被更新的情况下、或者在联动证书500的依存列表507所示的模组#11、模组#12、模组#13的某个被更新的情况下,开始联动证书500的更新处理。
在证书#21被更新的情况下,从下载更新部124对联动证书更新部135通知证书#21被更新的情况,在模组#11、模组#12、模组#13的某个被更新的情况下,从下载更新部114对联动证书更新部135通知已被更新的情况。
首先,接收到更新的通知的联动证书更新部135从联动证书存储部131读取联动证书500(S701),对第一安全模组发送验证请求,该验证请求用于请求验证所读取的联动证书500(S702)。
接收到验证请求的第一安全模组113验证证书验证部接收到的联动证书(S703)。
在该联动证书的验证中,首先,验证联动证书500的电子签名508,再判断联动证书500的参照计数值502是计数部214保持的计数值以上,来验证联动证书500不是已作废的旧的联动证书。
证书验证部将该验证结果发送给第一安全引导控制部112(S704)。
接收到验证结果的联动证书更新部135在验证处理中检测到错误的情况下,由于不能基于检测到错误的联动证书进行联动证书的更新,处理所以将更新处理中止,在验证处理的结果是成功的情况下,从第二存储部121读取对应于模组#21的证书#21(S705),对第二安全模组发送用于请求验证所读取的证书#21的验证请求(S706)。
接收到验证请求的第二安全模组123验证证书验证部接收到的证书#21(S707)。
在该证书#21的验证中,首先,验证证书#21的电子签名407,再判断证书#21的参照计数值402是计数部224保持的计数值以上,来验证证书#21不是已作废的旧的证书。
证书验证部将该验证结果发送给联动证书更新部135(S708)。
接收到验证结果的联动证书更新部135在验证处理中检测到错误的情况下将更新处理中止,在验证处理的结果是成功的情况下,从第一存储部111读取联动证书500的依存列表507表示的全部证书(S709),对第一安全模组发送用于请求验证所读取的证书的验证请求(S710)。
接收到验证请求的第一安全模组113验证证书验证部接收到的证书(S711)。
在该证书的验证中,首先验证证书的电子签名407,再判断证书的参照计数值402是计数部214保持的计数值以上,来验证证书不是已作废的旧的证书。
证书验证部将该验证结果发送给联动证书更新部135(S712)。
接收到验证结果的联动证书更新部135在验证处理中检测到错误的情况将更新处理中止,在验证处理的结果是成功的情况下,基于联动证书500的依存列表507计算新的联动证书的第一结构对照值503(S713)。具体而言,计算将依存列表507表示的证书的模组测量值以依存列表507表示的顺序对各证书的寄存器索引表示的寄存器虚拟地执行累积哈希运算的情况下的累积哈希值。
接着,联动证书更新部135将证书#21的结构对照值403设定在新的联动证书的第二结构对照值504中(S714),再将证书#21的模组测量值405设定在新的联动证书的模组测量值505中(S715),并对第一安全模组113发送用于请求生成电子签名的签名请求(S716)。
接收到签名请求的第一安全模组113生成电子签名(S717),将生成的电子签名发送给联动证书更新部135(S718)。
联动证书更新部135将接收到的电子签名设定在新的联动证书的电子签名508中,将保持在联动证书存储部131中的联动证书更新为新的联动证书,从而完成更新处理(S719)。
然后,终端100使用新的联动证书,能够将第一模组群和第二模组群的两个安全引导作为一系列的安全引导执行。
以上,通过基于联动证书的依存列表而参照证书计算结构对照值,能够在终端100的内部中生成新的联动证书。
由此,提供第一模组群的软件模组的第一提供者、以及提供第二模组群的软件模组的第二提供者在将提供的软件模组更新为新的软件模组时,不需要事前通知更新信息,能够在维持提供者间的独立性的基础上单独地提供新的软件模组。
另外,也可以将在上述说明的联动证书的更新中由联动证书更新部135进行的处理的一部分由第一安全模组进行。具体而言,第一安全模组进行第一结构对照值的计算(S713)、将证书#21的结构对照值设定为第二结构对照值(S714)、将证书#21的模组测量值设定为模组测量值(S715)这些处理中的某个或全部的处理。
在此情况下,通过防篡改化后的第一安全模组进行这些处理,能够防止在联动证书中设定不正当的对照值这样的篡改行为,从而安全性提高。
另外,也可以将保存联动证书的联动证书存储部131设在第一存储部111之中,将联动证书更新部135设在第一信息处理部110之中。
在此情况下,通过在第一存储部之中确保为了保存联动证书而需要的存储区域,能够避免用来确保保存联动证书的存储区域的相应的新的成本提高。
此外,也可以将保存联动证书的联动证书存储部131设在第二存储部21之中,将联动证书更新部135设在第二信息处理部120之中。
在此情况下,通过在第二存储部之中确保为了保存联动证书而需要的存储区域,能够避免用来确保保存联动证书的存储区域的相应的新的成本提高。此外,在此情况下,联动证书的电子证书508由第二安全模组生成。
另外,也可以在联动处理部130中设置第三安全引导控制部、第三安全模组,在上述中代替第一安全引导控制部而使用第三安全引导控制部进行使用图6说明的安全引导。
(第二实施方式)
本发明的第二实施方式是将软件模组的证书与联动证书的数据构造共通化,构成为,使得在安全模组中证书的验证处理与联动证书的验证处理共通化。
本发明的第二实施方式的终端100的结构与第一实施方式是相同的,省略说明。
图11表示本发明的第二实施方式中的与软件模组相对应的证书1100的数据构造。除了追加了扩展数据摘要1107的字段以外,与本发明的第一实施方式的与软件模组相对应的证书400是相同的。
证书1100包括:标签1101,是识别与该证书建立了对应的软件模组的信息;参照计数值1102,表示软件模组的版本;结构对照值1103,表示在执行软件模组前的终端100的状态下在安全模组的结构信息保持部(217、227)中应保持的累积哈希值;模组测量值1105,表示对模组的码图进行了哈希运算时形成的值作为软件模组的摘要;寄存器索引1104,指定对模组测量值1105表示的值进行累积哈希运算的结构信息保持部(217、227)的寄存器号码;验证密钥ID1106,表示验证证书的签名的密钥;扩展数据摘要1107;以及基于与验证密钥ID1106表示的密钥相对应的私钥的电子签名1108,针对从标签1101到扩展数据摘要1107的数据。
在该扩展数据摘要1107中,设定有证书的扩展数据的哈希值。在将多个扩展数据与该证书建立对应的情况下,将相对于连结了多个扩展数据后形成的数据的哈希值设定在扩展数据摘要1107中。
本发明的第二实施方式的联动证书的数据构造与图11所示的与软件模组相对应的证书的数据构造是相同的,通过在该扩展数据摘要1107中设定联动证书的扩展数据的哈希值而成为联动证书。
图12示意地表示本发明的第二实施方式中的联动证书1200的数据构造和联动证书的扩展数据。
在扩展数据中包括表示扩展数据的种类的扩展数据名,扩展数据的数据构造由扩展数据的种类决定。
在联动证书的扩展数据的情况下,扩展数据包括:扩展数据名1201,表示是联动证书的扩展数据;证书摘要1202,表示在通过联动证书进行的安全引导中启动的模组的证书的哈希值;以及依存列表摘要1203,表示依存列表的哈希值。
在分别在第一存储部中保存图3(a)所示的模组和证书、在第二存储部中保存图3(b)所示的模组和证书的情况下,分别在证书摘要1202中设定证书#21的哈希值(Hash(证书#21))、在依存列表摘要1203中设定图9所示的依存列表的哈希值(Hash(依存列表))。
如图3(d)所示,在本发明的第二实施方式的情况下,扩展数据与联动证书一起保持在联动证书存储部131中。
此外,在联动证书的标签1101中,设定有用于识别作为第二模组群的开头的模组的模组#21的标签。
将参照计数值1102设定为保存在第一安全模组的计数部中的计数值以上的值。
在结构对照部1103中,设定应保持在第一安全模组113的结构信息保持部中的累积哈希值。
在寄存器索引1104中,设定证书#21表示的寄存器索引。
在模组测量值1105中,设定证书#21表示的模组测量值。
接着,对于分别在第一存储部中保存有图3(a)所示的模组和证书、在第二存储部中保存有图3(b)所示的模组和证书的情况,说明本发明的第二实施方式的终端100的详细动作。
首先,使用图13,对本发明的第二实施方式中的使用联动证书的安全引导的动作进行说明。
首先,第一安全引导控制部112执行第一模组群的基于非专利文献4及非专利文献5所示的方式的安全引导,依次启动模组#11、模组#12、模组#13之后,从联动证书存储部131读取联动证书1200及联动证书扩展数据(S1301),对第一安全模组发送请求验证所读取的联动证书1200的验证请求(S1302)。
接收到验证请求的第一安全模组113验证证书验证部接收到的联动证书(S1303)。
在此情况下,由于证书与联动证书的数据构造相同,所以第一安全模组113使用与验证证书的情况相同的功能验证联动证书。
在该联动证书的验证中,首先,使用第一安全模组保持的联动证书1200的验证密钥ID1106表示的密钥,验证电子签名1108。
再判断联动证书1200的参照计数值1102是计数部214保持的计数值以上,来验证联动证书1200不是已作废的旧的联动证书。
接着,对照部213将结构信息保持部217保持的累积哈希值与联动证书1200中的结构对照值1103相对照,验证作为执行模组#21之前的状态第一信息处理部侧是正确的状态(在其之前执行的模组#11、模组#12、模组#13是有效的软件模组,并以正确的顺序被执行)。
接收到了对照部213的验证结果的证书验证部将该验证结果发送给第一安全引导控制部112(S1304)。
接收到验证结果的第一安全引导控制部112在某个验证处理中检测到错误的情况下将安全引导中止,在全部的验证处理的结果成功的情况下,从第二存储部121读取第二模组群的模组#21(S1305)。
第一安全引导控制部112进行所读取的模组#21的码图的哈希运算,通过将其结果与联动证书1200的模组测量值1105相对照,验证所读取的模组#21是对应于联动证书1200的正当的模组#21(S1306)。
第一安全引导控制部112在该模组#21的验证的结果检测到错误的情况下,将安全引导中止,在验证的结果是成功的情况下,从第二存储部121读取对应于模组#21的证书#21(S1307)。
第一安全引导控制部112通过进行所读取的证书#21的哈希运算,将其结果与联动证书扩展数据的证书摘要1201相对照,再进行联动证书扩展数据的哈希运算,将该结果与联动证书1200的扩展数据摘要1107相对照,验证联动证书扩展数据没有被篡改(S1308)。
第一安全引导控制部112在该联动证书扩展数据的验证的结果检测到错误的情况下,将安全引导中止,在验证的结果是成功的情况下,对第二安全模组发送请求验证所读取的证书#21的验证请求(S1309)。
接收到验证请求的第二安全模组123验证证书验证部接收到的证书(S1310)。
在该证书的验证中,首先,使用第二安全模组保持的证书#21的验证密钥ID1106表示的密钥,验证电子签名1108。
进而,判断证书#21的参照计数值1102是计数部224保持的计数值以上,从而验证证书#21不是已作废的旧的证书。
接着,对照部223将结构信息保持部227保持的累积哈希值与证书#21中的结构对照值1103相对照,验证作为执行模组#21之前的状态第二信息处理部侧是正确的状态(第二模组群的模组没有被启动的状态)。
接收到对照部223的验证结果的证书验证部将该验证结果发送给第一安全引导控制部112(S1311)。
接收到验证结果的第一安全引导控制部112在某个验证处理中检测到错误的情况下将安全引导中止,在全部的验证处理的结果是成功的情况下,启动模组#21,CPU101执行模组#21的码图(S1312)。
然后,通过第二安全引导控制部122开始第二模组群的安全引导。
以上,通过使用联动证书进行安全引导,能够将两个安全引导作为一系列的安全引导执行。
接着,使用图14、图15,对联动证书1200的更新处理的动作进行说明。
在第二模组群中应最先启动的模组#21的证书#21被更新的情况下,或者在联动证书1200的依存列表507所示的模组#11、模组#12、模组#13的某个被更新的情况下,开始联动证书1200的更新处理。
在证书#21被更新的情况下,从下载更新部124对联动证书更新部135通知证书#21被更新的情况,在模组#11、模组#12、模组#13的某个被更新的情况下,从下载更新部114对联动证书更新部135通知已被更新的情况。
首先,接收到更新的通知的联动证书更新部135从联动证书存储部131读取联动证书1200和联动证书扩展数据(S1401),对第一安全模组发送请求验证所读取的联动证书1200的验证请求(S1402)。
接收到验证请求的第一安全模组113验证证书验证部接收到的联动证书(S1403)。
在该联动证书的验证中,首先,验证联动证书1200的电子签名1108,再判断联动证书1200的参照计数值1102是计数部214保持的计数值以上,从而验证联动证书1200不是已作废的旧的联动证书。
证书验证部将该验证结果发送给第一安全引导控制部112(S1404)。
在验证处理中检测到错误的情况下,由于不能基于检测到错误的联动证书进行联动证书的更新处理,所以接收到验证结果的联动证书更新部135将更新处理中止,在验证处理的结果是成功的情况下,接收到验证结果的联动证书更新部135从第二存储部121读取对应于模组#21的证书#21(S1405)。
联动证书更新部135进行联动证书扩展数据的哈希运算,通过将其结果与联动证书1200的扩展数据摘要1107相对照,验证联动证书扩展数据没有被篡改(S1406)。
联动证书更新部135在该联动证书扩展数据的验证的结果是检测到错误的情况,将安全引导中止,在验证的结果是成功的情况下,对第二安全模组发送请求验证所读取的证书#21的验证请求(S1407)。
接收到验证请求的第二安全模组123验证证书验证部接收到的证书#21(S1408)。
在该证书#21的验证中,首先,验证证书#21的电子签名1108,再判断证书#21的参照计数值1102是计数部224保持的计数值以上,从而验证证书#21不是已作废的旧的证书。
证书验证部将该验证结果发送给联动证书更新部135(S1409)。
接收到验证结果的联动证书更新部135在验证处理中检测到错误的情况下将更新处理中止,在验证处理的结果是成功的情况下,从第一存储部111读取联动证书扩展数据的依存列表表示的全部证书(S1410),对第一安全模组发送请求验证所读取的证书的验证请求(S1411)。
接收到验证请求的第一安全模组113验证证书验证部接收到的证书(S1412)。
在该证书的验证中,首先验证证书的电子签名1108,再判断证书的参照计数值1102是计数部214保持的计数值以上,从而验证证书不是已作废的旧的证书。
证书验证部将该验证结果发送给联动证书更新部135(S1413)。
接收到验证结果的联动证书更新部135在验证处理中检测到错误的情况将更新处理中止,在验证处理的结果是成功的情况下,基于联动证书扩展数据的依存列表,计算新的联动证书的结构对照值1103(S1414)。具体而言,计算针对各证书的寄存器索引表示的寄存器将联动证书扩展数据的依存列表表示的各证书的模组测量值以依存列表表示的顺序虚拟地执行累积哈希运算后形成的累积哈希值。
接着,联动证书更新部135进行证书#21的哈希运算,将联动证书扩展数据的证书摘要更新,再进行联动证书扩展数据的哈希运算,计算联动证书的扩展数据摘要1107(S1415)。
进而,联动证书更新部135将证书#21的模组测量值1105设定在新的联动证书的模组测量值505中(S1416),对第一安全模组113发送请求生成电子签名的签名请求(S1417)。
接收到签名请求的第一安全模组113生成电子签名(S1418),将生成的电子签名发送给联动证书更新部135(S1419)。
联动证书更新部135将接收到的电子签名设定在新的联动证书的电子签名1108中,将保持在联动证书存储部131中的联动证书和联动证书扩展数据分别更新为新的联动证书和联动证书扩展数据,来完成更新处理(S1420)。
然后,终端100使用新的联动证书,能够将第一模组群和第二模组群这两个安全引导作为一系列的安全引导执行。
以上,通过基于联动证书的依存列表、参照证书计算结构对照值,能够在终端100的内部中生成新的联动证书。
由此,提供第一模组群的软件模组的第一提供者、以及提供第二模组群的软件模组的第二提供者在将提供的软件模组更新为新的软件模组时,不需要事前通知更新信息,能够在维持提供者间的独立性的基础上单独地提供新的软件模组。
在本发明的第二实施方式的情况下,由于能够将安全模组的证书的验证处理与联动证书的验证处理共通化,所以能够削减在存储器等的安全模组中需要的资源,所以具有能够以低成本提供安全模组的优点。
另外,也可以将在上述说明的联动证书的更新处理中由联动证书更新部135进行的处理的一部分由第一安全模组进行。具体而言,第一安全模组进行结构对照值的计算(S1413)、将证书#21的结构对照值设定为第二结构对照值(S1414)、扩展数据摘要的计算(S1415)、将证书#21的模组测量值设定为模组测量值(S1416)中的某个或全部的处理。
在此情况下,通过防篡改化后的第一安全模组进行这些处理,能够防止在联动证书中设定不正当的对照值这样的篡改行为,从而安全性提高。
另外,也可以将保存联动证书的联动证书存储部131设在第一存储部111之中,将联动证书更新部135设在第一信息处理部110之中。
在此情况下,通过在第一存储部之中确保为了保存联动证书而需要的存储区域,能够避免用来确保保存联动证书的存储区域的相应的新的成本提高。
此外,也可以将保存联动证书的联动证书存储部131设在第二存储部21之中,将联动证书更新部135设在第二信息处理部120之中。
在此情况下,通过在第二存储部之中确保为了保存联动证书而需要的存储区域,能够避免用来确保保存联动证书的存储区域的相应的新的成本提高。此外,在此情况下,联动证书的电子证书508由第二安全模组生成。
另外,也可以在联动处理部130中设置第三安全引导控制部、第三安全模组,在上述中代替第一安全引导控制部而使用第三安全引导控制部进行使用图6说明的安全引导。
(实施方式3)
在本发明的实施方式3中,也可以基于由Trusted Computing Group(TCG)规定的规格实现上述实施方式1。
在此情况下,安全模组是由TCG规定的TPM模组或MTM模组(以下的TPM是指TPM或MTM),结构信息保持部是TMP具备的PCR,计数部是TPM具备的Monotonic Counter,累积部、证书验证部、对照部是实现包括TPM命令处理的TCG功能的单元,证书#11、证书#12、证书#13、证书#21、证书#22、证书#23是External RIM_Cert或Internal RIM_Cert。由此,能够基于TCG规格安全地进行软件的更新。
(其他变形例)
另外,基于上述实施方式说明了本发明,但本发明当然并不限定于上述实施方式。以下这样的情况也包含在本发明中。
(1)上述各装置具体而言是包括微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等的计算机系统。在上述RAM或硬盘单元中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,各装置实现其功能。这里,计算机程序是为了实现规定的功能而将表示对计算机的指令的命令代码组合多个构成的。另外,各装置并不限定于包括微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等的全部的计算机系统,也可以是由它们的一部分构成的计算机系统。
(2)构成上述各装置的结构要素的一部分或全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个结构部集成在1个芯片上而制造的超多功能LSI,具体而言是包括微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,由此,系统LSI实现其功能。
此外,构成上述各装置的结构要素的各部既可以单独地1芯片化,也可以包括一部分或全部而1芯片化。
此外,这里设为系统LSI,但根据集成度的差异,也有称作IC、LSI、超级LSI、超大规模LSI的情况。此外,集成电路化的方法并不限于LSI,也可以由专用电路或通用处理器实现。也可以使用在LSI制造后能够编程的FPGA(Field Programmable Gate Array)、或能够再构成LSI内部的电路单元的连接及设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现代替LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
(3)构成上述各装置的结构要素的一部分或全部也可以由相对于各装置可拆装的IC卡或单体的模组构成。上述IC卡或上述模组是包括微处理器、ROM、RAM等的计算机系统。上述IC卡或上述模组也可以包括上述超多功能LSI。通过微处理器按照计算机程序动作,上述IC卡或上述模组实现其功能。该IC卡或该模组也可以具有防篡改性。
(4)本发明也可以是上述所示的方法。此外,也可以是将这些方法通过计算机实现的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号记录在计算机可读取的记录媒体、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半导体存储器等中的产品。此外,也可以是记录在这些记录媒体中的上述数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数字广播等传送的产品。
此外,本发明也可以是具备微处理器和存储器的计算机系统,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序动作。
此外,也可以通过将上述程序或上述数字信号记录到上述记录媒体中移送、或者通过将上述程序或上述数字信号经由上述网络等移送,从而由独立的其他计算机系统实施。
(5)安全模组也可以由防篡改软件或软件及硬件实施。
(6)CPU也可以具备特别的动作模式(安全模式等),由CPU执行的软件通过在该特别的动作模式(安全模式等)下动作而能够安全地执行。
(7)也可以将上述实施方式及上述变形例分别组合。
工业实用性
本发明能够广泛地用于个人计算机及便携电话、音频播放器、电视接收机、视频记录机等、进行程序数据的更新的信息通信设备及家电设备中。
通过做成与本发明的终端同样的结构,在终端的软件由多个提供者提供的模组群构成的情况下,能够将模组及证书以没有提供者间的依存关系的形态从各提供者单独提供,能够在维持提供者间的独立性的基础上持续地进行跨越模组群间的安全引导。
标号说明
100终端
101CPU
110第一信息处理部
111第一存储部
112第一安全引导控制部
113第一安全模组
114第一下载更新部
120第二信息处理部
121第二存储部
122第二安全引导控制部
123第二安全模组
124第二下载更新部
130联动处理部
131联动证书存储部
135联动证书更新部
Claims (8)
1.一种信息处理装置,其特征在于,
具备:
第一存储部,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第二存储部,保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第一控制部,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;
第二控制部,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及
联动证书的保持部,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;
上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二多个模组的开头模组;
上述第二控制部验证上述第二多个模组的正当性,使上述第二多个模组启动。
2.如权利要求1所述的信息处理装置,其特征在于,
具有由上述第二控制部管理的第三存储部,上述第三存储部保存已启动的上述第二多个模组中包含的模组的哈希值累积后形成的累积值;
上述联动证书还包括表示上述第二多个模组没有被启动的第四累积对照值;
上述第一控制部还在验证了上述第二多个模组的开头模组的正当性时,从上述第二控制部取得保存在上述第三存储部中的第二多个模组的验证值,将该取得的验证值与包含在上述联动证书中的第四累积值相比较,在验证了启动上述第二多个模组之前没有被上述第二控制部启动的模组的情况下,上述第一控制部启动上述第二多个模组的开头模组;
上述第二控制部验证上述第二多个模组的正当性,将上述第二多个模组启动。
3.如权利要求1所述的信息处理装置,其特征在于,上述保持部包含在上述第一存储部中。
4.如权利要求3所述的信息处理装置,其特征在于,上述第一控制部还在上述第二多个模组的开头模组已被更新的情况下,将包含在上述联动证书中的第三对照值更新。
5.如权利要求1所述的信息处理装置,其特征在于,
上述第二控制部在更新了上述第二多个模组的开头模组的情况下,对上述第一控制部通知该情况;
第一控制部在接收到上述通知时,将上述联动证书的上述第三对照值更新为更新后的上述第二多个模组的开头模组的第二对照值。
6.一种信息处理方法,其特征在于,
保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;
将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;
在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;
保持联动证书,该联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;
在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,验证上述第二多个模组的正当性,将上述第二多个模组启动。
7.一种计算机程序,其特征在于,使计算机执行:
第一处理,在第一存储部保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第二处理,在第二存储部保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第三处理,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;以及
第四处理,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及
第五处理,在保持部保存联动证书,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
在上述第三处理中,在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;
在上述第三处理中,在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,启动上述第四处理,验证上述第二多个模组的正当性,将上述第二多个模组启动。
8.一种集成电路,其特征在于,
具备:
第一存储部,保存与第一利害关系者相对应的第一多个模组、以及包括第一对照值和第一累积对照值在内的证书,上述第一对照值是针对上述第一多个模组的各模组而由上述各模组的哈希值生成的,上述第一累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第二存储部,保存与第二利害关系者相对应且与上述第一多个模组处于依存关系的第二多个模组、以及包括第二对照值和第二累积对照值在内的证书,上述第二对照值是针对上述第二多个模组的各模组而由上述各模组的哈希值生成的,上述第二累积对照值是由上述第二多个模组中包含的模组的哈希值累积后形成的累积值生成的;
第一控制部,将上述第一多个模组的各模组的实际的哈希值与上述第一对照值相比较,验证上述第一多个模组的正当性,并启动已验证的上述第一多个模组;
第二控制部,在上述第一多个模组的正当性已被验证的情况下,将上述第二多个模组的各模组的实际的哈希值与上述第二对照值相比较,验证上述第二多个模组的正当性,并启动已验证的上述第二多个模组;以及
联动证书的保持部,上述联动证书包括第三对照值和第三累积对照值,上述第三对照值用于验证上述第二多个模组的开头模组的正当性,上述第三累积对照值是由上述第一多个模组中包含的模组的哈希值累积后形成的累积值生成的;
上述第一控制部在更新了上述第一多个模组的情况下,如果对更新后的第一多个模组的证书验证上述证书的签名,则使用验证后的上述证书中的第一对照值,将包含在上述联动证书中的第三累积对照值更新;
上述第一控制部在启动上述第一多个模组之后,使用包含在上述联动证书中的第三累积对照值,验证正当的第一多个模组被启动,并且在使用包含在上述联动证书中的第三对照值验证了上述第二多个模组的开头模组的正当性的情况下,上述第一控制部启动上述第二多个模组的开头模组;
上述第二控制部验证上述第二多个模组的正当性,使上述第二多个模组启动。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-163072 | 2008-06-23 | ||
JP2008163072 | 2008-06-23 | ||
PCT/JP2009/002293 WO2009157133A1 (ja) | 2008-06-23 | 2009-05-25 | 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102037473A true CN102037473A (zh) | 2011-04-27 |
Family
ID=41444206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801187370A Pending CN102037473A (zh) | 2008-06-23 | 2009-05-25 | 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8510544B2 (zh) |
EP (1) | EP2293216A1 (zh) |
JP (1) | JP5357152B2 (zh) |
CN (1) | CN102037473A (zh) |
WO (1) | WO2009157133A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017031967A1 (zh) * | 2015-08-21 | 2017-03-02 | 北京比特大陆科技有限公司 | 比特币工作量证明哈希计算芯片优化的方法、装置和电路 |
CN107066871A (zh) * | 2015-12-04 | 2017-08-18 | 佳能株式会社 | 功能装置和控制设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8892862B2 (en) * | 2009-07-01 | 2014-11-18 | Panasonic Corporation | Secure boot method for executing a software component including updating a current integrity measurement based on whether the software component is enabled |
JP5493946B2 (ja) * | 2010-02-08 | 2014-05-14 | 株式会社リコー | 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体 |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
US8812830B2 (en) | 2011-08-31 | 2014-08-19 | Microsoft Corporation | Attestation protocol for securely booting a guest operating system |
CN103995479B (zh) * | 2014-05-13 | 2017-04-12 | 珠海博威智能电网有限公司 | 基于硬件可信控制的中压开关控制器系统及其使用方法 |
US10528739B2 (en) * | 2016-04-20 | 2020-01-07 | Sophos Limited | Boot security |
US11120137B2 (en) | 2018-06-19 | 2021-09-14 | Netgear, Inc. | Secure transfer of registered network access devices |
US11397815B2 (en) * | 2018-09-21 | 2022-07-26 | Hewlett Packard Enterprise Development Lp | Secure data protection |
KR20200119601A (ko) * | 2019-04-10 | 2020-10-20 | 현대모비스 주식회사 | 차량의 바이너리 데이터 처리 장치 및 방법 |
US11366879B2 (en) * | 2019-07-08 | 2022-06-21 | Microsoft Technology Licensing, Llc | Server-side audio rendering licensing |
DE102019216527A1 (de) * | 2019-10-28 | 2021-04-29 | Robert Bosch Gmbh | Gerät, system und verfahren zum nachweis eines integritätszustands eines geräts |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10333902A (ja) * | 1997-05-27 | 1998-12-18 | N Ii C Joho Syst:Kk | 改ざん検知機能付きコンピュータシステム |
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
JP2007072909A (ja) * | 2005-09-08 | 2007-03-22 | Internatl Business Mach Corp <Ibm> | 秘密情報へのアクセスを制御するシステムおよびその方法 |
CN101042720A (zh) * | 2006-03-22 | 2007-09-26 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2755259B1 (fr) * | 1996-10-25 | 1999-01-22 | Somfy | Procede de mise en correspondance d'un boitier de commande de groupe avec un boitier de commande et/ou un boitier d'action et/ou un boitier de mesure |
US6223291B1 (en) * | 1999-03-26 | 2001-04-24 | Motorola, Inc. | Secure wireless electronic-commerce system with digital product certificates and digital license certificates |
JP2005520364A (ja) * | 2001-07-09 | 2005-07-07 | リナックスプローブ株式会社 | デジタル署名された証明書を更新しかつ拡張するシステムおよび方法 |
JP2004013477A (ja) | 2002-06-06 | 2004-01-15 | Nec Viewtechnology Ltd | ブートプログラム選択及び更新方法並びにこれを用いたフラッシュメモリ |
US20050283601A1 (en) * | 2004-06-22 | 2005-12-22 | Sun Microsystems, Inc. | Systems and methods for securing a computer boot |
WO2008004525A1 (fr) * | 2006-07-03 | 2008-01-10 | Panasonic Corporation | Dispositif de traitement d'informations, dispositif d'enregistrement d'informations, système de traitement d'informations, procédé de mise à jour de programme, programme, et circuit intégré |
KR101209252B1 (ko) * | 2007-02-02 | 2012-12-06 | 삼성전자주식회사 | 전자기기의 부팅 방법 및 부팅 인증 방법 |
US7958367B2 (en) * | 2007-05-30 | 2011-06-07 | Hitachi, Ltd. | Authentication system and apparatus |
US8555049B2 (en) | 2007-10-05 | 2013-10-08 | Panasonic Corporation | Secure boot terminal, secure boot method, secure boot program, recording medium, and integrated circuit |
-
2009
- 2009-05-25 EP EP09769843A patent/EP2293216A1/en not_active Withdrawn
- 2009-05-25 CN CN2009801187370A patent/CN102037473A/zh active Pending
- 2009-05-25 US US12/991,516 patent/US8510544B2/en not_active Expired - Fee Related
- 2009-05-25 JP JP2010517683A patent/JP5357152B2/ja not_active Expired - Fee Related
- 2009-05-25 WO PCT/JP2009/002293 patent/WO2009157133A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10333902A (ja) * | 1997-05-27 | 1998-12-18 | N Ii C Joho Syst:Kk | 改ざん検知機能付きコンピュータシステム |
US20050021968A1 (en) * | 2003-06-25 | 2005-01-27 | Zimmer Vincent J. | Method for performing a trusted firmware/bios update |
JP2007072909A (ja) * | 2005-09-08 | 2007-03-22 | Internatl Business Mach Corp <Ibm> | 秘密情報へのアクセスを制御するシステムおよびその方法 |
CN101042720A (zh) * | 2006-03-22 | 2007-09-26 | 富士通株式会社 | 具有启动验证功能的信息处理装置 |
Non-Patent Citations (2)
Title |
---|
可信计算组织: "《TCG Mobile Reference Architecture》", 12 June 2007 * |
可信计算组织: "《TCG Specification Architecture Overview》", 2 August 2007 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017031967A1 (zh) * | 2015-08-21 | 2017-03-02 | 北京比特大陆科技有限公司 | 比特币工作量证明哈希计算芯片优化的方法、装置和电路 |
CN107066871A (zh) * | 2015-12-04 | 2017-08-18 | 佳能株式会社 | 功能装置和控制设备 |
US11003801B2 (en) | 2015-12-04 | 2021-05-11 | Canon Kabushiki Kaisha | Functional device and control apparatus |
Also Published As
Publication number | Publication date |
---|---|
WO2009157133A1 (ja) | 2009-12-30 |
JP5357152B2 (ja) | 2013-12-04 |
US8510544B2 (en) | 2013-08-13 |
EP2293216A1 (en) | 2011-03-09 |
US20110066838A1 (en) | 2011-03-17 |
JPWO2009157133A1 (ja) | 2011-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102037473A (zh) | 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路 | |
US20240089242A1 (en) | Device programming with system generation | |
JP5178341B2 (ja) | オプショナルなコンポーネントを伴うセキュアブートの方法 | |
EP2449499B1 (en) | Secure boot method and secure boot apparatus | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US8479000B2 (en) | Information processing device, authentication system, authentication device, information processing method, information processing program, recording medium, and integrated circuit | |
EP3491576B1 (en) | Device programming with system generation | |
CN103460195B (zh) | 用于安全软件更新的系统和方法 | |
US20100325628A1 (en) | Information processing device | |
US20100175061A1 (en) | Software updating apparatus, software updating system, invalidation method, and invalidation program | |
KR20170119645A (ko) | 차량 시스템의 소프트웨어 보안 업데이트 방법 및 장치 | |
US20180131520A1 (en) | Method and arrangement for securely interchanging configuration data for an apparatus | |
CN116361747A (zh) | 按照参考平台清单和数据封装的安全操作系统启动 | |
CN102449631A (zh) | 用于执行管理操作的系统和方法 | |
EP3772008A1 (en) | Device programming with system generation | |
CN106878009A (zh) | 密钥更新方法及系统 | |
KR20130118951A (ko) | 고유의 코드 서명 키들의 보안 관리 및 개인화 | |
CN106412121A (zh) | 应用于智能冰箱上的系统安全升级方法 | |
CN106062759B (zh) | 许可信息管理装置、许可信息管理方法及计算机可读存储介质 | |
US9607135B2 (en) | Asset protection based on redundantly associated trusted entitlement verification | |
JP5235460B2 (ja) | 端末、情報記憶媒体、サービス提供システム及びデータ更新方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110427 |