CN102047266A - 信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 - Google Patents
信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 Download PDFInfo
- Publication number
- CN102047266A CN102047266A CN2009801200375A CN200980120037A CN102047266A CN 102047266 A CN102047266 A CN 102047266A CN 2009801200375 A CN2009801200375 A CN 2009801200375A CN 200980120037 A CN200980120037 A CN 200980120037A CN 102047266 A CN102047266 A CN 102047266A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- key
- authenticate
- terminal
- situation
- 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 10
- 238000003672 processing method Methods 0.000 title claims description 7
- 238000000034 method Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 294
- 230000003750 conditioning effect Effects 0.000 claims description 73
- 230000007246 mechanism Effects 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 25
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 description 84
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 9
- 238000009825 accumulation Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 206010000210 abortion Diseases 0.000 description 6
- 230000009471 action Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 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/3247—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 digital 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- 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/60—Digital content management, e.g. content distribution
-
- 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/68—Special signature format, e.g. XML format
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种信息处理装置、认证系统等,即使在客户端侧的软件被更新的情况下,也能够消除在服务器侧更新数据库等的工作,并且能够验证在客户端侧启动了正规的软件。终端(A100)保持有仅在完成了安全引导的情况下能够被解密的加密后的私钥(1)、和仅在启动了正规的应用模组(X)的情况下能够使用私钥(1)被解密的加密后的私钥(2),与终端(B101)之间使用私钥(2)进行认证。通过认证成功,终端(B101)能够确认终端(A100)完成了安全引导且启动了正规的应用模组(X)。此外,即使终端(A100)的有关安全引导的程序被更新,终端(B101)也不论有无更新都使用私钥(2)进行认证处理。
Description
技术领域
本发明涉及个人计算机及便携电话等信息通信设备、具备因特网接入功能的电视接收装置等信息家电设备等的信息处理装置,特别涉及在装置彼此交换数据的情况下、在数据的发送源装置中确认发送目的地装置的完整性的技术。
背景技术
近年来,对在客户端侧终端上动作的软件模组施加改变而使其进行不正当的动作、绕过对服务器侧发送的内容要求的限制而接受服务的提供、或将禁止保存或复制的内容不正当地保存、复制等损害增加。
对此,由TCG(Trusted Computing Group)等提出了从服务器侧确认客户端侧的终端中的平台的完整性的技术。如果从服务器侧进行,则通过在确认客户端侧终端中的平台的完整性后将内容发送给客户端侧,能够避免内容的不正当的保存或复制。关于确认该平台的完整性的技术,以服务提供服务器2910对个人计算机2900提供信息服务的系统为例,使用图29进行说明。在个人计算机2900中,安装有具备作为特殊寄存器的PCR(Platform Configuration Register)2904的称作TPM(Trusted Platform Module)2902的防篡改模组。个人计算机2900的CPU2901执行BIOS2905、OS2906、应用2907等软件模组的代码,在执行时计算各自的哈希值,将计算出的哈希值发送给TPM2902。接收到哈希值的TPM2902将已经保存在PCR2904中的哈希值与接收到的哈希值连结,对该连结后的数据再进行哈希运算,将其结果保存到PCR2904中。PCR2904的值是将CPU2901执行的软件模组的摘要值累积后形成的值,表示在个人计算机2900上执行了哪个软件模组。个人计算机2900在请求信息服务的提供时,使用挑战响应方式等,将保存在PCR2904中的值(PCR值)发送给服务提供服务器2910。服务提供服务器2910具备保存有在个人计算机2900中执行正确的软件模组的情况下的PCR的值(PCR对照值)的对照值DB2912,将接收到的PCR值与PCR对照值相比较,判断在个人计算机2900中是否执行了正确的软件模组。并且,服务提供服务器2910仅在判断执行了正确的软件模组的情况下对个人计算机2900提供信息服务(参照专利文献1及非专利文献1~4)。
现有技术文献
专利文献1:日本特表2002-536757号公报
非专利文献1:TPM Main,Part 1 Design Principles,Specification version 1.2 Level 2 Revision 103(9 July 2007)
非专利文献2:TPM Main,Part 2 TPM Structures,Specification version 1.2 Level 2 Revision 103(9 July 2007)
非专利文献3:TPM Main Part 3 Commands,Specification version 1.2Level 2 Revision 103(9 July 2007)
非专利文献4:TCG Mobile Trusted Module Specification version 1.0Revision 1(12 June 2007)
发明内容
发明要解决的课题
但是,在上述技术中,在个人计算机2900的OS等的软件模组被更新为新的版本等的情况下,服务提供服务器2910需要取得个人计算机2900的更新后的软件模组的信息,计算个人计算机2900的最新的PCR对照值,使对照值DB成为最新的状态,假如在对照值DB的更新被延迟的情况下,存在即使个人计算机2900执行了正确的软件模组、认证也会失败的问题。
鉴于上述问题,本发明的目的是提供一种即使在客户端侧的软件模组被更新的情况下、也能够消除在服务器侧更新数据库等的工作、并且能够验证客户端侧装置的完整性及正规的软件被启动的情况的信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路。
为了解决上述问题,作为本发明的一技术方案的信息处理装置是,在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,具备:密钥保持机构,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持机构,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理机构,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
发明效果:
作为本发明的一技术方案的信息处理装置通过具备上述结构,在将多个系统程序的某个更新的情况下,仅通过将保持在上述密钥信息保持机构中的加密后的上述第二解密密钥替换为以该更新后的安全引导后的本装置的安全性维持作为第一使用许可条件而使用第一加密密钥被加密的第二解密密钥,就能够防止因为该更新而加密后的上述第二解密密钥变得不能被解密的情况,能够使得不给加密后的上述认证密钥带来该更新的影响。并且,在上述认证装置中,在上述更新前后的哪种情况下,都能够与上述信息处理装置之间使用上述认证密钥进行上述认证处理。即,即使在上述信息处理装置中有上述更新,通过使用上述认证密钥进行认证,也能够确认更新后的安全引导后的信息处理装置的完整性的维持、和上述应用程序的完整性的维持。此外,在上述认证装置中,不需要如以往那样保持、更新数据库等。
附图说明
图1是表示有关本发明的实施方式1的系统结构的框图。
图2是表示有关本发明的实施方式1的终端A的结构的框图。
图3是表示有关本发明的实施方式1的终端B的结构的框图。
图4(a)是表示有关本发明的实施方式1的终端A的模组存储部保持的软件模组和其模组证书的图,图4(b)是表示本发明的实施方式1中的模组证书的数据构造的图。
图5是表示有关本发明的实施方式1的终端A的密钥信息保持部保持的密钥信息的图。
图6(a)是表示本发明的实施方式1中的证书A1的数据构造的图,图6(b)是表示本发明的实施方式1中的证书A2的数据构造的图。
图7是表示有关本发明的实施方式1的终端A的安全模组的结构的框图。
图8是本发明的实施方式1中的终端B认证终端A的认证处理的顺序图。
图9是本发明的实施方式1中的加密密钥A2的解密处理的流程图。
图10是表示有关本发明的实施方式1的终端A的密钥信息保持部保持的密钥信息的更新处理的示意图。
图11是表示有关本发明的实施方式2的系统结构的框图。
图12是表示有关本发明的实施方式2的终端C的结构的框图。
图13是表示有关本发明的实施方式2的终端C的期望值保持部保持的期望值列表的一例的图。
图14是本发明的实施方式2中的终端A与终端C的配对处理的顺序图。
图15是在本发明的实施方式2的终端A与终端C的配对处理之中进行的使用私钥A1的认证处理的顺序图。
图16是本发明的实施方式2中的私钥A1的解密处理的流程图。
图17是表示有关本发明的实施方式2的终端A的向密钥信息保持部的加密密钥A3的保存处理的示意图。
图18是表示本发明的实施方式2中的证书A3的数据构造的图。
图19是本发明的实施方式2中的终端C认证终端A的认证处理的顺序图。
图20是表示有关本发明的实施方式3的终端A和终端B的结构的框图。
图21是表示有关本发明的实施方式3的终端B的密钥信息保持部保持的密钥信息的图。
图22是本发明的实施方式3中的终端A与终端B的相互认证处理的前半部的顺序图。
图23是本发明的实施方式3中的终端A与终端B的相互认证处理的后半部的顺序图。
图24是表示本发明的实施方式1中的终端B认证终端A的认证处理的机制的图。
图25是表示本发明的实施方式2中的终端A与终端C的配对处理的机制的图。
图26(a)是表示本发明的实施方式1中的证书A1的使用条件中设定的数据的内容的一例的图。图26(b)是表示本发明的实施方式1中的证书A2的使用条件中设定的数据的内容的一例的图。
图27是表示本发明的实施方式1中的在证书A1的终端信息中设定的数据的内容的一例的图。
图28是本发明的实施方式2中的从终端A接收期望值的情况下的终端A与终端C的配对处理的顺序图。
图29是说明基于以往技术的认证处理的一例的图。
具体实施方式
作为本发明的一技术方案的信息处理装置,在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,具备:密钥保持机构,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持机构,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理机构,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
此外,也可以是,上述信息处理装置每当将上述多个系统程序及上述应用程序分别启动时生成启动的程序的摘要值并进行累积处理,保持所得到的累积值;由上述密钥信息保持机构保持的加密后的上述第二解密密钥与上述安全引导后的累积值的期望值一起使用上述第一加密密钥被加密,加密后的上述认证密钥与上述应用程序的摘要值的期望值一起使用上述第二加密密钥被加密;上述解密处理机构,对于上述第一使用许可条件,仅在与上述第二解密密钥一起被解密的上述累积值的期望值与由上述生成部生成的上述安全引导后的累积值一致的情况下,判断为满足上述第一使用许可条件,对于上述第二使用许可条件,仅在与上述认证密钥一起被解密的上述摘要值的期望值与由上述生成部生成的上述应用程序的摘要值一致的情况下,判断为满足上述第二使用许可条件。
根据该结构,通过将上述第二解密密钥与上述安全引导后的累积值的期望值一起加密(以下称作关联),能够以仅在上述安全引导正常启动的情况下能够使用的形态将上述第二解密密钥加密。此外,通过将上述认证密钥与上述应用程序的摘要值的期望值关联,能够以仅在上述应用程序没有被篡改而正常启动的情况下能够使用的形态将认证密钥加密。
此外,也可以是,上述信息处理装置还具备:程序更新机构,进行上述多个系统程序的某个的更新处理;以及密钥信息更新机构,在上述更新处理已被执行的情况下,将由上述密钥信息保持机构保持的加密后的上述第二解密密钥替换为与上述更新处理后的安全引导后的累积值的期望值一起使用上述第一加密密钥被加密的第二解密密钥。
根据该结构,即使在将多个系统程序的某个进行了更新处理的情况下,也仅通过将加密后的第二解密密钥更新成能够对应于上述更新处理后的系统程序,就能够不给加密后的认证密钥带来更新的影响。系统程序(例如OS)的开发者与应用程序(例如游戏软件等)的开发者一般不同的情况较多,但在这样的情况下,即使将系统程序更新,也能够将该更新的影响抑制在作为与系统程序有关联的范围内,即仅关于加密后的上述第二解密密钥。此外,上述认证装置在上述系统程序的更新前后的哪种情况下都能够与上述信息处理装置之间使用上述认证密钥进行上述认证处理。即,即使在上述信息处理装置中有上述更新,对于上述认证装置而言也不需要如以往那样保持、更新数据库等,而是通过使用上述认证密钥认证,能够确认更新后的安全引导后的信息处理装置的完整性的维持、和上述应用程序的完整性的维持。
此外,也可以是,上述信息处理装置还具备期望值保持机构,上述期望值保持机构保持上述应用程序的摘要值的期望值和上述安全引导后的累积值的期望值;在对上述第一及第二使用许可条件进行判断的情况下,上述密钥信息保持机构从上述期望值保持机构读取上述应用程序的摘要值的期望值以及上述安全引导后的累积值的期望值加以使用。
根据该结构,能够做成预先保持上述应用程序的摘要值的期望值和上述安全引导后的累积值的期望值的结构。此外,在预先从外部的装置取得了上述应用程序的摘要值的期望值和上述安全引导后的累积值的期望值的情况下,能够保持所取得的这些信息。
此外,也可以是,上述认证处理机构还在上述认证处理之前,使上述解密处理机构使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下取得从上述解密处理机构输出的上述第二解密密钥,使用上述第二解密密钥与上述认证装置进行事前认证处理;由上述密钥信息保持机构保持的加密后的上述认证密钥是在上述事前认证处理已成功的情况下,在上述认证处理之前被从上述认证装置取得而写入的。
作为本发明的一技术方案的认证系统,包括认证装置和信息处理装置,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与上述认证装置之间的认证处理的应用程序,上述信息处理装置具备:密钥保持机构,安全地存储与第一加密密钥相对应的第一解密密钥;密钥信息保持机构,存储以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密的第二解密密钥;解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下输出通过该解密得到的上述第二解密密钥;以及第一认证处理机构,在上述第二解密密钥被输出的情况下,使用上述第二解密密钥与上述认证装置进行事前认证处理;上述认证装置具备:第二认证机构,使用上述第二解密密钥,与上述信息处理装置进行上述事前认证处理;以及发送机构,在上述事前认证处理成功的情况下,将以上述应用程序的完整性维持作为第二使用许可条件而利用与上述第二解密密钥相对应的第二加密密钥被加密的认证密钥,发送给上述信息处理装置;上述信息处理装置取得加密后的上述认证密钥,写入到上述密钥信息保持机构中;上述解密处理机构在加密后的上述认证密钥被写入之后,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;上述第一认证处理机构还在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行第二认证处理;上述第二认证机构在上述发送机构进行了发送之后,与上述信息处理装置之间进行使用上述认证密钥的上述第二认证处理。
作为本发明的一技术方案的认证装置,与信息处理装置之间进行认证处理,上述信息处理装置在进行一边验证多个系统程序的完整性一边依次启动的安全引导之后执行应用程序,并且保持有以安全引导后的安全性维持作为第一使用许可条件被加密的第一解密密钥,上述认证装置具备:认证机构,与上述信息处理装置进行使用上述第一解密密钥的上述事前认证处理;以及发送机构,在上述事前认证处理成功的情况下,将以上述应用程序的完整性维持作为使用许可条件而利用与上述第一解密密钥相对应的第一加密密钥被加密的认证密钥,发送给上述信息处理装置;在发送了加密后的上述认证密钥之后,上述认证机构还通过与上述信息处理装置之间进行使用上述认证密钥的认证处理,来验证上述信息处理装置的完整性。
根据该结构,认证装置不论有无信息处理装置的系统程序的更新,都只要预先知道第二解密密钥及上述应用程序的摘要值,就能够生成用来向上述信息处理装置发送的加密后的上述认证密钥。在将该加密后的认证密钥向信息处理装置发送后,能够使用上述认证密钥进行认证处理。此外,在上述信息处理装置中更新了多个系统程序的某个的情况下,仅通过将保持在上述密钥信息保持机构中的加密后的上述第二解密密钥替换为以该更新后的安全引导后的本装置的安全性维持作为第一使用许可条件而使用第一加密密钥被加密的第二解密密钥,就能够防止因该更新而变得不能将加密后的上述第二解密密钥解密的情况,能够不给加密后的上述认证密钥带来该更新的影响。在上述认证装置中,在上述更新前后的哪种情况下,都能够与上述信息处理装置之间使用上述认证密钥进行上述认证处理。即,即使在上述信息处理装置中有上述更新,通过使用上述认证密钥进行认证,也能够确认更新后的安全引导后的信息处理装置的完整性的维持、和上述应用程序的完整性的维持。此外,对于上述认证装置而言,不需要如以往那样保持、更新数据库等。
作为本发明的一技术方案的信息处理方法,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,上述信息处理方法包括:密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
作为本发明的一技术方案的信息处理程序,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,上述信息处理程序使计算机执行:密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
作为本发明的一技术方案的记录介质,是存储信息处理装置中使用的信息处理程序的计算机可读取的记录介质,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,上述信息处理程序使计算机执行:密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
作为本发明的一技术方案的集成电路,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,上述集成电路具备:密钥保持机构,存储与第一加密密钥相对应的第一解密密钥;密钥信息保持机构,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及认证处理机构,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
根据该结构,在将多个系统程序的某个更新的情况下,仅通过将所保持的加密后的上述第一解密密钥替换为以该更新后的安全引导后的本装置的安全性维持作为第一使用许可条件而使用第二加密密钥被加密的第一解密密钥,就能够防止因为该更新而变得不能将加密后的上述第一解密密钥解密的情况,能够使得不给加密后的上述认证密钥带来该更新的影响。并且,在上述认证装置中,在上述更新前后的哪种情况下,都能够与上述信息处理装置之间使用上述认证密钥进行上述认证处理。即,即使在上述信息处理装置中有上述更新,通过使用上述认证密钥进行认证,也能够确认更新后的安全引导后的信息处理装置的完整性的维持、和上述应用程序的完整性的维持。此外,在上述认证装置中,不需要如以往那样保持、更新数据库等。
1.第一实施方式
对本发明的第一实施方式进行说明。
图1是表示第一实施方式的系统结构的图。
终端A100和终端B101使用有线或无线的通信手段连接而相互进行数据通信。具体而言,终端A100使用搭载的应用模组X接收从终端B101流传送的内容。由从应用模组X的提供者预先接受了关于应用模组X的版本等信息及目标代码等的提供的终端A100的制造者,将该应用模组X与终端A100的系统模组一起预安装到终端A100中并出厂。在出厂后,搭载在终端A100中的软件有可能被篡改。
终端B101将内容向终端A100流发送,从著作权保护的观点等看,需要防止进行终端B101并不期望进行的处理,例如通过终端A100按照被篡改的软件的控制进行动作而将内容不正当地保存到终端A100内、或向其他终端不正当地转送等。因此,终端B101认证在终端A100上没有启动被篡改的软件,即认证维持着终端A100的完整性的、正规的系统模组和应用模组X作为正规的软件被启动。
使用图24说明该认证处理的概要。
终端A100保持有两个加密后的私钥1、2(2401、2402)。私钥1(2401)和私钥2(2402)都是RSA(RIVEST SHAMIR ADLEMAN)加密方式的私钥,密钥长是2048位。这些私钥被与表示解密条件的解密条件信息一起加密。在终端A100具备的安全模组内将该加密后的私钥解密。安全模组通过解密而得到私钥和表示解密条件的信息,但此时,判断是否满足解密条件,在不满足的情况下不将私钥输出到安全模组外。这里,与私钥1(2401)一起加密的解密条件信息是在终端A100将系统模组群安全引导后得到的信息。安全模组的详细情况在后面叙述,具有保持表示终端A100中的各软件的启动状态的状态信息并使用它验证解密条件信息的功能。并且,私钥1的加密被组成能够通过安全模组保持的根密钥被解密。此外,与私钥2(2402)一起被加密的解密条件信息是在终端A100将应用模组X启动后的情况下得到的信息。并且,私钥2的加密被作成能够通过私钥1被解密。
终端A100与终端B101之间进行认证处理之前,将加密后的私钥1(2401)用安全模组保持的根密钥解密,接着将加密后的私钥2(2402)用私钥1解密。接着,使用解密后的私钥2(2402)与终端B101之间进行认证处理。在该认证处理中,终端A100使用私钥2生成电子签名,发送给终端B101。终端B101通过验证该电子签名的有效性来进行认证处理。
在认证处理中,终端B101仅在终端A100中使用私钥2生成了电子签名的情况下判断为认证成功。由此,仅在终端A100中私钥2(2402)被正常地解密的情况下认证处理成功。此外,只有在终端A100中私钥1(2401)被正常解密的情况下,私钥2(2402)才能被正常地解密。这样,终端B101仅通过验证从终端A100发送的电子签名的有效性,就能够确认终端A100的完整性、在终端A100中是否系统模组群的安全引导完成、并且应用模组X是否被正常地启动。
1.1.结构
1.1.1.终端A100
图2表示本发明的第一实施方式中的终端A100的结构。
终端A100包括模组存储部201、模组启动控制部202、模组执行部203、安全模组204、密钥信息保持部205、认证处理部206、通信部207、模组更新部208及密钥信息更新部209而构成。
此外,安全模组204包括保持终端A100的软件的启动状态的状态信息保持部210、将加密后的密钥解密而输出私钥的解密处理部211、使用解密处理部211输出的私钥进行签名处理的签名处理部212、和保持用于加密密钥的解密的根密钥213的根密钥存储部214。根密钥213是RSA加密方式的私钥,其密钥长是2048位。
模组存储部201保存有由终端A100中的模组执行部203执行的软件模组。
图4(a)是表示保存在模组存储部201中的模组、和对应于各模组的模组证书的图。
在终端A100的安全引导时,首先启动系统模组1(411),接着连续启动系统模组2(412)、系统模组3(413)。在这些引导完成后,基于用户的启动操作而启动应用模组X(414)、应用模组Y(415)。这里,所谓安全引导,是仅在能够确认在所有的模组中没有被进行不正当的篡改的情况下才使终端启动的引导方法。
图4(b)是表示模组证书的数据构造的图。
模组证书包括模组识别信息401、模组测量值402、启动条件403、发行者识别信息404及电子签名405。模组识别信息401表示识别模组的名称。具体而言,是表示唯一识别模组的名称的文本数据或唯一识别模组的号码。模组测量值402是模组的哈希值。启动条件403表示许可启动模组时的启动的条件。具体而言,设定了在将对应于本证书的模组启动之前的状态下、应在后述的状态信息保持部210的寄存器中保存的期望值。即,在将对应于本证书的模组启动时,在应保存在状态信息保持部210的寄存器中的期望值与启动条件403的值一致的情况下许可启动。发行者识别信息404是表示模组的发行者的识别信息。电子签名405是模组的发行者对模组识别信息401、模组测量值402、启动条件403和发行者识别信息404生成的电子签名。
模组启动控制部202控制保存在模组存储部201中的系统模组群的安全引导的控制及应用模组的启动。具体而言,模组启动控制部202在启动各模组时验证模组证书的电子签名405。在验证成功的情况下,模组启动控制部202生成想要启动的模组的哈希值,与模组证书的模组测量值402相对照,仅在一致的情况下启动该模组。特别是,在启动系统模组1、系统模组2、系统模组3时,模组启动控制部202除了上述电子签名405的验证和模组的哈希值的对照以外,还将保存在状态信息保持部210的寄存器中的值与启动条件403相对照,仅在一致的情况下启动该模组。如果模组启动控制部202通过上述启动顺序使各模组启动,则假如在对某个模组进行了不正当的篡改的情况下终端本身的启动不成功,所以能够实现安全的引导。将该启动顺序称作安全引导。此外,模组启动控制部202在安全引导时、以及在启动应用模组X或应用模组Y时,使状态信息保持部210的寄存器累积运算已启动的软件模组的模组证书的模组测量值402。结果,关于已启动的软件模组的信息被保持到状态信息保持部210中。具体而言,模组启动控制部202针对状态信息保持部210的寄存器,将保持在寄存器中的值与模组证书的模组测量值402进行数据结合,再进行将进行了SHA1(Secure Hash Algorithm One)的哈希运算后得到的结果保存到寄存器中的累积运算。在该累积运算中,作为一例而使用在由TCG制定的TPM(Trusted Platform Module)规格“TPM Main Partl Design Principle1”中公开的TPM_Extend处理。
模组执行部203是由模组启动控制部202启动后的软件模组的执行环境。
安全模组204具有防篡改性,进行加密密钥的解密处理。关于详细情况在后面叙述。
密钥信息保持部205保持有加密密钥。在本实施方式中,密钥信息保持部205保持有由终端A的制造者生成的两个密钥信息500、510。
图5是表示保持在密钥信息保持部205中的密钥信息的结构的图。
密钥信息500包括密钥ID501、加密密钥A1(502)、证书A1(503)、以及解密密钥ID(504)。在密钥ID(501)中,设定有表示公钥A1的ID。公钥A1对应于私钥A1(506)。证书A1(503)是公钥A1的证书。关于证书的详细情况在后面叙述。在解密密钥ID(504)中,设定有表示作为加密密钥A1的解密密钥的根密钥(RootKEY-A)的ID。加密密钥A1(502)是将解密条件A1(505)和私钥A1(506)加密成能够通过由解密密钥ID(504)表示的根密钥213解密而得到的密钥。在本实施方式中,根密钥213是公钥加密的私钥,加密密钥A1(502)被对应于根密钥213的公钥加密。解密条件A1(505)表示用来将加密密钥A1(502)解密的条件。解密条件A1(505)具体而言是在通过模组启动控制部202进行的系统模组1、系统模组2、系统模组3的安全引导完成后的情况下、应保存在状态信息保持部210的寄存器中的期望值。在安全引导完成后,仅在该期望值与实际保存在状态信息保持部210的寄存器中的值一致的情况下,安全模组204将私钥A1(506)输出到安全模组20之外。由此,其他模组仅在安全引导完成的情况下能够取得私钥A1(506)。
密钥信息510包括密钥ID(511)、加密密钥A2(512)、证书A2(513)及解密密钥ID(514)。在密钥ID(511)中,设定有表示公钥A2的ID。公钥A2对应于私钥A2(516)。证书A2(513)是公钥A2的证书。关于证书的详细情况在后面叙述。在解密密钥ID(514)中,设定有表示作为加密密钥A2的解密密钥的私钥A1的ID。加密密钥A2(512)是将解密条件A2(515)和私钥A2(516)加密成能够通过由解密密钥ID(514)表示的私钥A1(506)解密而得到的密钥。在本实施方式中,私钥A1(506)是公钥加密的私钥,加密密钥A2(512)被对应于私钥A1(506)的公钥A1加密。解密条件A2(515)具体而言是在模组启动控制部202的正规的应用模组X的启动成功的情况下应保存在状态信息保持部210的寄存器中的期望值。在正规的应用模组X的启动成功的情况下,仅在该期望值与实际保存在状态信息保持部210的寄存器中的值一致的情况下,安全模组20将私钥A2(516)输出到安全模组20之外。由此,其他模组仅在正规的应用模组X的启动成功的情况下能够取得私钥A2(516)。另外,私钥A1和私钥A2都是RSA加密方式的私钥,密钥长是2048位。
如以上说明,为了将施加于私钥A2(516)上的加密解密而需要私钥A1(506)。此外,对私钥A1(506)实施的加密仅在安全引导完成的情况下能够被解密。由此,对私钥A2(516)实施的加密仅在安全引导完成、并且启动了正规的应用模组X的情况下能够被解密。
接着,对证书A1(503)、证书A2(513)的详细情况进行说明。
图6(a)是表示作为公钥A1的证书的证书A1(503)的数据构造的图。
证书A1(503)包括版本601、算法ID(602)、发行者603、有效期间604、主题605、公钥A1(606)、私钥A1(506)的使用条件607、终端信息608及发行者签名609而构成。
版本601表示证书的数据构造的版本。算法ID(602)表示私钥A1的加密算法。发行者603表示证书的发行者。在本实施方式中表示终端A制造者。有效期间604表示证书的有效期间。主题605是表示作为证书A1(503)证明的主体的终端A100的证书的主题。使用条件607表示关于公钥A1(606)和私钥A1(506)的使用条件的属性。在使用条件607中,以文本数据或XML、或ASN.1(Abstract Syntax Notation One)编码的数据等的二进制数据的形态设定有“私钥A1(506)被加密。对私钥A1(506)实施的加密仅在终端A100完成了安全引导的情况下被解密”这样的表示私钥A1(506)的使用条件的信息。
图26(a)示意地表示以ASN.1形式设定使用条件607的情况下的数据的内容。
在此情况下,“SecretKey=ENCRYPTED”(2601)表示上述“私钥A1(506)被加密”。此外,“Condition=SECURE#BOOT#COMPLETED”(2602)表示上述“对私钥“A1”(506)实施的加密仅在终端A100完成了安全引导的情况下被解密”。实际上,在使用条件607中设定将其按照BER(Basic Encoding Rules)或DER(Distinguished Encoding Rules)的规定进行了TLV(Tag Length Value)编码后的二进制数据。
终端信息608表示终端A100的机种名及制造者名、支持的加密算法信息等关于终端A100的属性。终端信息608中除了机种名及制造者名、支持的加密算法信息以外,还以文本数据或XML或ASN.1编码后的数据等的二进制数据的形态设定有表示状态信息保持部210的系统用的寄存器的信息、和表示状态信息保持部210的应用用的寄存器的信息。
图27表示以ASN.1形式设定终端信息608的一例的情况下的数据的内容。
在此情况下,“ProductCode=“ABCD1234””(2701)表示“终端A100的机种名是“ABCD1234””。此外,“Manufacture=“CompanyA””(2702)表示“终端A100的制造者名是“CompanyA””。进而,“CipherAlgorithm=shalWithRSAEncryption”(2703)表示“终端A100作为哈希运算的算法而支持SHA1,作为公钥加密的算法而支持RSA加密”。此外,“Register4System:Register=0,Register=1,Register=2,Register=3,Register=4,Register=5,Register=6,Register=7”(2704)表示终端A(100)的状态信息保持部210的系统用的寄存器。“Register4Application:Register=8,Register=9,Register=10,Register=11,Register=12,Register=13,Register=14,Register=15”(2705)表示终端A(100)的状态信息保持部210的应用用的寄存器。实际上,在终端信息608中设定将其按照BER或DER的规定进行TLV编码后的二进制数据。
关于状态信息保持部210的系统用的寄存器和状态信息保持部210的应用用的寄存器,在后述的状态信息保持部210的说明中详细地说明(参照图7)。
发行者签名609是对包括版本601、算法ID602、发行者603、有效期间604、主题605、公钥A1(606)、私钥A1(506)的使用条件607及终端信息608的信息生成的发行者的电子签名。
图6(b)是表示作为公钥A2的证书的证书A2(513)的数据构造的图。
证书A2(513)包括版本611、算法ID612、发行者613、有效期间614、主题615、公钥A2(616)、私钥A2(516)的使用条件617、及发行者签名619而构成。
版本611表示证书的数据构造的版本。算法ID612表示私钥A2的加密算法。发行者613表示证书的发行者。在本实施方式中,发行者613表示终端A制造者。有效期间614表示证书的有效期间。主题615是表示作为证书A2(513)证明的主体的终端A的证书的主题。使用条件617表示关于公钥A2(616)和私钥A2(516)的使用条件的属性。在使用条件617中,以文本数据或XML、或ASN.1编码后的数据等的二进制数据的形态设定有“私钥A2(516)被加密。对私钥A2(516)实施的加密仅在终端A完成了安全引导并且正规的应用模组X被启动的情况下被解密”这样的表示私钥A2(516)的使用条件的信息。
图26(b)示意地表示以ASN.1形式设定使用条件617的情况下的数据的内容。
在此情况下,“SecretKey=ENCRYPTED”(2611)表示上述“私钥A2(516)被加密”。此外,“Condition=SECURE#BOOT#COMPLETED”(2612)和“AndCondition:State=APPLICATION#EXECUTING,Application=“APPLICATION#MODULE#X””(2613)表示上述“对私钥A2(516)实施的加密仅在终端A完成了安全引导并且正规的应用模组X被启动的情况下被解密”。实际上,在使用条件617中设定将其按照BER或DER的规定进行了TLV编码后的二进制数据。
发行者签名619是对包括版本611、算法ID612、发行者613、有效期间614、主题615、公钥A2(616)、私钥A2(516)的使用条件617的信息生成的发行者的电子签名。
接着,对安全模组204进行说明。安全模组204具体而言通过由TCG制定了规格的TPM等实现,但并不限定于此,也可以是具备防篡改性的具有同等的功能的其他硬件模组或软件模组。
认证处理部206控制与终端B101的认证处理。通信部207与终端B101进行有线或无线下的通信。模组更新部208将保存在模组存储部201中的模组更新。密钥信息更新部209将保持在密钥信息保持部205中的加密密钥更新。
图7是表示安全模组204的详细的内部结构的图。
状态信息保持部210具备寄存器0~15这16个寄存器。寄存器0~7保持与在终端A100中启动的系统模组的启动状态相关联的信息。具体而言,在安全引导时,由模组启动控制部202对系统用的寄存器0到寄存器7中的某个寄存器累积运算已启动的软件模组的模组证书的模组测量值402。寄存器8~15保持与在终端A中启动的应用模组的启动状态相关联的信息。具体而言,在启动应用模组X或应用模组Y时,由模组启动控制部202对系统用的寄存器8到寄存器15中的某个寄存器累积运算已启动的软件模组的模组证书的模组测量值402。由此,在寄存器0~15的各寄存器中,保持已启动的软件模组的哈希值的累积值。
解密处理部211包括进行加密密钥的解密处理的解密部701、和临时保持解密后的私钥的私钥保持部702。保存在私钥保持部702中的私钥被用于解密部701中的解密处理及签名处理部212中的电子签名的生成处理。
1.1.2.终端B101
图3是表示本发明的第一实施方式中的终端B101的结构的图。
终端B101包括保存终端B101执行的软件模组的模组存储部301、控制保存在模组存储部301中的模组的启动的模组启动控制部302、作为由模组启动控制部302启动的软件模组的执行环境的模组执行部303、控制与终端A100的认证处理的认证处理部306、和进行与终端A100的有线或无线下的通信的通信部307。
在认证处理部306中,保持有用来将上述说明的证书A2(513)的数据构造解析的信息、和用来验证证书A2(513)的有效性的终端A的制造者的公钥(未图示)。该终端A100的制造者的公钥是与在对证书A2实施的签名的生成中使用的终端A的制造者的私钥相对应的RSA加密方式的公钥。
1.2.动作
1.2.1.认证处理
使用图8,说明应用模组X启动的终端A100与终端B101之间进行的认证处理的顺序。
首先,终端A100的认证处理部206对终端B101发送请求认证处理的消息(S801)。于是,终端B101的认证处理部306开始与终端A100的认证处理,生成作为随机的字符串的nonce(S802),发送给终端A100(S803)。接收到nonce的终端A100的认证处理部206从密钥信息保持部205读取加密密钥A2(512)、证书A2(513)和加密密钥A1(502)(S804),再对安全模组204请求加密密钥A1(502)的解密(S805)。
安全模组204的解密处理部211使用根密钥213进行加密密钥(A1)的解密处理(S806),将处理结果发送给认证处理部206(S807)。此时,安全模组204将加密密钥A1(502)解密而取出解密条件A1(505),将保存在状态信息保持部210的寄存器中的值与解密条件A1(505)相对照,在对照成功的情况下发送解密处理成功的处理结果。此外,在保存在状态信息保持部210的寄存器中的值与解密条件A1(505)的对照失败的情况下,发送解密处理失败的处理结果。在S807的处理结果是失败的情况下,认证处理部206中止认证处理,在S807的处理结果是成功的情况下,认证处理部206对安全模组204请求加密密钥A2的解密(S808)。
安全模组204中的解密处理部211使用在S806的解密处理中得到的私钥A1进行加密密钥A2的解密处理(S809),将处理结果发送给认证处理部206(S810)。在该解密处理中,安全模组204将加密密钥A2(512)解密而将解密条件A2(515)取出,将保存在状态信息保持部210的寄存器中的值与解密条件A2(515)相对照,在对照成功的情况下发送解密处理成功的处理结果。此外,在保存在状态信息保持部210的寄存器中的值与解密条件A2(515)的对照失败的情况下,发送解密处理失败的处理结果。S809的解密处理的详细情况在后面另外说明。
在S810的处理结果是失败的情况下,认证处理部206中止认证处理,在S810的处理结果是成功的情况下,认证处理部206对安全模组204请求基于私钥A2的对nonce的签名处理(S811)。安全模组204进行基于在S809中解密后的私钥A2的对nonce的签名处理(S812),将电子签名发送给认证处理部206(S813)。签名处理具体而言是生成nonce的哈希值、利用私钥A2对该哈希值进行加密的处理。认证处理部206将接收到的电子签名和证书A2向终端B101发送(S814)。
终端B101首先使用终端A制造者公钥,验证认证处理部306接收到的证书A2(S815),再使用包含在验证后的证书A2中的公钥A2(616),验证接收到的电子签名是基于私钥A2的对nonce的电子签名(S816),将认证结果发送给终端A100,终端A100的认证处理部206接收到认证结果而结束认证处理(S817)。在S816的电子签名的验证中,具体而言,认证处理部306首先生成在S803中向终端A100发送的nonce的哈希值,接着,将接收到的电子签名使用公钥A2(616)解密,与nonce的哈希值相对照。另外,在S812中对nonce进行签名处理,但也可以不对nonce的值生成哈希值而直接用私钥A2加密。在此情况下,在S815中,也可以将加密后的nonce使用公钥A2(616)解密,将解密后的结果与在S83中向终端A100发送的nonce的值对照是否相等。
1.2.2.加密密钥A2的解密处理
以下,对图8的S809中的基于私钥A1的加密密钥A2的解密处理详细地进行说明。
图9是表示基于私钥A1的加密密钥A2的解密处理的详细的流程的图。
首先,认证处理部206在密钥信息保持部205保持的密钥信息510中,确定解密密钥ID514表示的私钥A1(506)是在加密密钥A2(512)的解密中使用的解密密钥(S901)。接着,基于来自认证处理部206的请求,安全模组204的解密部701通过使用根密钥213将加密密钥A1(502)解密而取得私钥A1(506)(S902)。进而,解密部701参照状态信息保持部210的寄存器取得与解密条件A1(505)的对照值(S903),将所取得的对照值与解密条件A1(505)相对照(S904)。与对照值不一致的情况下(S904:NG),终端A100处于与完成了安全引导的情况不同的状态。因而,安全模组204将在步骤S902中解密后的数据删除,将解密处理失败的处理结果向认证处理部206发送,并中止处理。与对照值一致的情况下(S904:OK),终端A100处于完成了安全引导的状态。因而,将在S902中解密后的私钥A1保持在私钥保持部211中,将解密处理成功的处理结果向认证处理部206发送(S905)。
接着,基于来自认证处理部206的请求,安全模组204的解密部701通过使用保持在私钥保持部211中的私钥A1将加密密钥A2解密,来取得私钥A2(S906)。进而,解密部701参照状态信息保持部210的寄存器而取得与解密条件A2(515)的对照值(S907),将所取得的对照值与解密条件A2(515)相对照(S908)。与对照值不一致的情况下(S908:NG),终端A100处于与启动了正规的应用模组X的情况不同的状态,安全模组204将在步骤S906中解密后的数据删除,将解密处理失败的处理结果向认证处理部206发送。与对照值一致的情况下(S908:OK),终端A100处于启动了正规的应用模组X的状态,将在S906中解密后的私钥A2保持在私钥保持部211中,将解密处理成功的处理结果向认证处理部206发送(S909)。这里,为了将对私钥A2(516)实施的加密解密而取得私钥A2(516)、利用私钥A2(516)进行S812的签名生成的处理,需要满足“终端A100完成了安全引导”的条件、和“终端A100启动了正规的应用模组X”的条件的两个条件。即,终端B101如果验证了S816中基于私钥A2的对nonce的电子签名的有效性,则能够确认在终端A100中完成了安全引导且启动了正规的应用模组X。由此,在终端B101中,即使不管理应用模组X的对照值,也能够确认启动了应用模组X的情况。此外,与此同时,也能够确认终端A100完成了安全引导,所以即使不由终端B101管理终端A100的系统用的模组的各自的对照值,也能够确认终端A100的系统用的模组正常地启动的情况。
1.2.3.密钥信息的更新处理
图10是示意地表示本发明的第一实施方式中的终端A100的密钥信息更新部209进行的密钥信息500的更新的图。
在系统模组的某个模组被更新的情况下进行密钥信息500的更新。
在更新时,终端A100从终端A制造者经由通信部207下载更新的系统模组和新的密钥信息500′。密钥信息500′是将密钥信息500的解密条件A1更新为解密条件A1′后的信息。但是,即使系统模组的某个被更新,密钥信息500中的私钥A1、根密钥RootKEY-A也可以使用相同的密钥。由于采用以上这样的更新方式,所以不给其他密钥信息510等带来系统模组的更新引起的影响,而仅更新密钥信息500就可以。特别是,在本实施方式中,由于将密钥信息分为对应于系统模组(在OS以前启动的模组)的密钥信息510、和对应于应用的密钥信息500进行管理,所以在系统模组被更新的情况下不发生应用的提供者的更新作业。由此,能够将应用的提供者和系统模组的制作者分别应进行的作业分割。应用的提供者由于与系统模组的提供者不同的情况较多,所以如果能够进行这样的分割,则能够大幅减轻系统的维护的工作。
2.第二实施方式
对本发明的第二实施方式进行说明。
第二实施方式与第一实施方式不同点是,终端A100为了使得与其他终端(终端C102)之间进行与终端B101之间进行过的认证处理同样的认证处理能够,而进行后述的配对处理。在终端A100与终端C102之间进行配对处理的结果是,在终端A100中设定了新的密钥信息。新的密钥信息相当于第一实施方式中的密钥信息510,在解密条件中设定“终端A100中的正规的系统模组和正规的应用模组Y的启动”。通过对终端A100设定这样的新的密钥信息,能够将终端A100中的正规的系统模组和正规的应用模组Y的启动作为条件,在终端A100与终端C102之间进行认证处理。
图11是表示第二实施方式的系统结构的图。
关于终端A100、终端B101,与第一实施方式是相同的,在第一实施方式的系统结构中追加了与终端A100之间执行配对处理、认证处理的终端C102。这里,假设应用模组Y是在终端A100的出厂后由用户从应用模组Y的提供者具有的服务器下载的。此外,假设没有预先设定仅在启动了应用模组Y的情况下被解密的解密密钥。
图25是示意地表示本发明中的在终端A100与终端C102之间进行的配对处理的图。
在终端A100中,保持有1个加密后的私钥1(2401)。关于私钥1(2401)的内容,在第一实施方式中已经说明。首先,终端A100的认证处理部206将加密后的私钥1(2401)解密,使用解密后的私钥1与终端C102之间进行认证处理。接着,在终端C102中,将私钥3(2403)与在终端A100中启动了应用模组Y的情况下的期望值一起加密而生成加密密钥,再生成对应于私钥3(2403)的公钥的证书。接着,将所生成的加密密钥和证书发送给终端A100。关于生成加密密钥时的动作在后面详细地说明。这样,如果加密密钥和证书被发送给终端A100,则然后能够与第一实施方式中的终端A100与终端B101之间的认证处理同样地、在终端A100与终端C102之间进行认证处理。通过该认证处理,终端C102能够验证在终端A100中正常地启动了应用模组Y。
2.1.结构
图12是表示本发明的第二实施方式中的终端C102的结构的图。
终端C102包括期望值保持部1201、配对处理部1202、安全模组1204、认证处理部1206及通信部1207而构成。期望值保持部1201将在对方侧终端中启动的应用模组的期望值作为数据库(DB)保持。
图13表示保持在期望值保持部1201中的应用模组的期望值DB。在该DB中,将各应用模组与终端机种、期望值、提供者的URL(Uniform Resource Locator)建立对应地登记。
配对处理部1202控制与其他终端之间的配对处理。配对处理部1202基于期待值DB中的URL经由通信部1207定期地对各应用模组的提供者访问。并且,在识别到应用模组被更新的情况下,接收新的期望值,将保持在期望值保持部1201中的应用模组的期望值更新。
安全模组1204进行加密密钥的生成处理。安全模组1204包括密钥生成部1211、将所生成的私钥加密的加密处理部1210、进行生成证书时的签名处理的签名处理部1212、保持有在签名处理中使用的签名密钥1213的签名密钥保持部1214而构成。签名密钥1213是RSA加密方式的私钥,其密钥长是2048位。
认证处理部1206控制与终端A100的认证处理。认证处理部1206保持有用来解析在上述中说明的证书A1(503)及证书A2(513)的数据构造的信息、和用来验证证书A1503的有效性的终端A的制造者的公钥(未图示)。该终端A100的制造者的公钥是与对证书A1实施的签名的生成中使用的终端A100的制造者的私钥相对应的RSA加密方式的公钥。
通信部1207通过有线或无线与终端A100进行通信。
2.2.动作
2.2.1.配对处理
使用图14,对终端A100与终端C102之间的配对处理的顺序进行说明。
在本配对处理中,以在终端A100中启动了应用模组Y为条件进行认证。首先,终端A100的认证处理部206对终端C102发送请求应用模组Y下的配对的消息(S1401)。此时,在消息中包含有识别应用模组Y的应用名。于是,在终端A100与终端C102之间进行使用了私钥A1(505)的认证处理(S1402)。关于认证处理在后面叙述。在该认证处理失败的情况下,将配对处理中止。在认证处理成功的情况下,终端C102的认证处理部1206将包括应用模组Y的应用名和在步骤S1402的认证处理中取得的公钥A1的证书A1(503)在内的配对处理请求发送给配对处理部1202(S1403)。
在配对处理部1202中,首先,根据包含在接收到的证书A1(503)的终端信息608中的机种名确定终端A100的机种名(S1404)。接着,配对处理部1202从保持在期望值保持部1201中的期望值DB中以在S1403中接收到的应用名和在S1404中确定的机种名为检索关键字,检索终端A100执行了应用模组Y的情况下的期望值(S1405),作为检索结果而取得期望值(S1406)。此时,在期望值保持部1201的期望值DB中没有登记有终端A100执行了应用模组Y的情况下的期望值的情况下,配对处理部1202在S1406中作为检索结果而接收到检索错误,从而将配对处理中止。配对处理部1202如果从期望值保持部1201取得终端A100执行了应用模组Y的情况下的期望值,则将所取得的期望值设定在解密条件A3(525)中(S1407)。这样,终端C102由于在期望值保持部1201中预先保存有终端A100执行了应用模组Y的情况下的期望值,所以不需要从终端A100取得期望值。
进而,配对处理部1202生成包含在证书A1(503)的终端信息608中的终端A100支持的加密算法信息中包括的公钥加密方式的算法的私钥A3(526)、与对应于私钥A3(526)的公钥A3(1806)的密钥对(S1408)。接着,配对处理部1202从接收到的证书A1(503)中提取公钥A1(606)(S1409),通过使用公钥A1(606)将私钥A3(526)与解密条件A3(525)一起加密,由此生成加密密钥A3(522)(S1410)。接着,配对处理部1202使用签名密钥1213生成作为对应于私钥A3的公钥A3的证书的证书A3(523)(S1411)。此时,配对处理部1202在证书A3(523)的主题中设定表示与接收到的证书A1(503)的主题相同的终端A100的值。
这里,对证书A3(523)进行说明。
图18是表示证书A3(523)的数据构造的图。
证书A3包括版本1801、算法ID1802、发行者1803、有效期间1804、主题1805、公钥A3(1806)、私钥A3(526)的使用条件1807及发行者签名1809而构成。
版本1801表示证书A3的证书的数据构造的版本。算法ID1802表示私钥A3的加密算法。发行者1803表示作为证书的发行者的终端C102的用户。有效期间1804表示证书的有效期间。主题1805表示作为证书A3(523)证明的主体的终端A100。使用条件1807表示与私钥A3(526)的使用条件相关的属性。在使用条件1807中,以文本数据或XML或二进制数据的形态设定有“私钥A3(526)被加密。对私钥A3(526)实施的加密仅在终端A完成安全引导且启动了正规的应用模组Y的情况下被解密”这样的表示私钥A3(526)的使用条件的信息。发行者签名1809是对包括版本1801、算法ID1802、发行者1803、有效期间1804、主题1805、公钥A3(1806)、私钥A3(526)的使用条件1807的信息生成的、发行者的电子签名。以上,结束对证书A3(523)的说明,回到图14的说明。
配对处理部1202生成密钥信息520,将所生成的密钥信息520发送给终端A100(S1412),上述密钥信息520包括所生成的加密密钥A3(522)和证书A3(523)、加密密钥A3(522)的密钥ID521、和解密密钥ID(524)。认证处理部206将接收到的密钥信息保存到密钥信息保持部205中(S1413),并结束配对处理。在终端A100的密钥信息保持部205中,除了第一实施方式中的加密密钥A1(500)、加密密钥A2(510)以外,还保持有包括与终端C102进行认证处理时使用的加密密钥A3(522)和公钥A3(1806)的证书A3(523)在内的密钥信息520。在加密密钥A3(522)中对私钥A3(526)实施的加密仅在终端A100完成安全引导且启动了正规的应用模组Y的情况下被解密。
在配对处理结束之后,终端A100如图19所示,终端A100与终端C102之间能够使用加密密钥A3和证书A3进行认证处理。图19与图18相比,除了在认证处理中使用的加密密钥和证书分别替换为加密密钥A3和证书A3并且终端B101替换为终端C102以外,其他与在第一实施方式中说明的图8是相同的。关于图19的进一步的说明与关于图8的说明重复,所以省略。
2.2.2.认证处理
接着,使用图15,对步骤S1402中的使用私钥A1的认证处理进行说明。
首先,终端A100的认证处理部206对终端C102发送请求配对处理的消息(S1501)。于是,终端C102的认证处理部1206开始与终端A100的认证处理,生成作为随机的字符串的nonce(S1502),并发送给终端A100(S 1503)。接收到nonce的终端A100的认证处理部206从密钥信息保持部205读取加密密钥A1(500)(S1504),再对安全模组204请求加密密钥A1的解密(S1505)。
安全模组204进行基于根密钥213的加密密钥A1的解密处理(S1506),将处理结果发送给认证处理部206(S1507)。此时,安全模组204在保存在状态信息保持部210的寄存器中的值与解密条件A1(505)的对照成功从而加密密钥A1的解密成功的情况下,发送解密处理成功的处理结果。此外,在保存在状态信息保持部210的寄存器中的值与解密条件A1(505)的对照失败从而加密密钥A1的解密失败的情况下,发送解密处理失败的处理结果。在S1507的处理结果是失败的情况下,认证处理部206将认证处理中止,在步骤S1507的处理结果是成功的情况下,认证处理部206对安全模组请求基于私钥A1的对nonce的签名处理(S1508)。安全模组进行基于在S1506中解密后的私钥A1的对nonce的签名处理(S1509),并将电子签名发送给认证处理部206(S1510)。签名处理具体而言是生成nonce的哈希值、对该哈希值通过私钥A1进行加密的处理。认证处理部206将接收到的电子签名和证书A1向终端B101发送(S1511)。
终端B101首先验证接收到的证书A1(S1512),再使用包含在验证后的证书A1中的公钥A1,验证接收到的电子签名是基于私钥A1的对nonce的电子签名(S1513),将认证结果发送给终端A100(S1514)后,结束认证处理。
在步骤S1513的电子签名的验证中,具体而言,认证处理部1206首先生成在步骤S1503中向终端A100发送的nonce的哈希值,接着,将接收到的电子签名使用公钥A1(606)解密,与nonce的哈希值相对照。另外,在步骤S1509中对nonce进行签名处理,但也可以不对nonce的值生成哈希值而直接用私钥A1加密。在此情况下,在步骤S1513中,也可以将加密后的nonce使用公钥A1(606)解密,将解密后的结果与在步骤S1503中向终端A100发送的nonce的值相对照是否相等。
2.2.3.加密密钥A1的解密处理
接着,说明作为上述图15的S1506中的处理的、在使用私钥A1的认证处理中的终端A100中进行的加密密钥A1(502)的解密处理。
图16表示加密密钥A1(502)的解密处理的详细的流程。
首先,认证处理部206从密钥信息保持部205保持的密钥信息中,根据加密密钥A1(502)的解密密钥ID504确定根密钥213是解密密钥(S1601)。接着,基于来自认证处理部206的请求,安全模组204的解密部701使用根密钥213将加密密钥A1解密(S1602),进而,解密部701参照状态信息保持部210的寄存器计算与解密条件A1(505)的对照值(S1603),将计算出的对照值与解密条件A1(505)相对照(S1604)。此时,与对照值不一致的情况下,安全模组204将在步骤S1602中解密后的数据删除,将解密处理失败的处理结果向认证处理部206发送。此外,与对照值一致的情况下,将在步骤S1602中解密后的私钥A1保持在私钥保持部211中,将解密处理成功的处理结果向认证处理部206发送(S1605)。
3.第三实施方式
对本发明的第三实施方式进行说明。
本发明的第三实施方式是,新设定为与其他终端之间以确定的应用的启动为条件进行连接,还将终端A100和终端B101构成具有与其他装置之间进行相互认证的功能。
系统结构与第一实施方式是相同的。
图20表示本发明的第三实施方式中的终端A100和终端B101的结构,具有第一实施方式中的终端A100具有的进行认证处理的功能、和第二实施方式中的终端C102具有的配对处理的功能这两者,关于相同的构成要素省略说明。
在认证处理部206中,保持有用来验证证书A1(503)和证书A2(513)的有效性的终端A制造者公钥(未图示)、和用来验证证书B1(2103)和证书B2(2113)的有效性的终端B制造者公钥(未图示)。该终端A制造者公钥和终端B制造者公钥都是RSA加密方式的公钥,密钥长是2048位。
图21表示保持在终端B101的密钥信息保持部205中的密钥信息。图21表示在终端B101的密钥信息保持部205中保持有两个密钥信息的情况,第一个密钥信息2100包括表示公钥B1的密钥ID(2101)、加密密钥B1(2102)、作为公钥B1的证书的证书B1(2103)、和作为表示加密密钥B1的解密密钥的根密钥B的ID的解密密钥ID“RootKEY-B”(2104)。加密密钥B1(2102)是将解密条件B1(2105)和私钥B1(2106)加密成能够通过根密钥B解密的密钥后形成的,上述解密条件B1表示用来将加密密钥B1(2102)的加密解密的条件。
在解密条件B1(2105)中,设定有在模组启动控制部202进行的系统模组1、系统模组2、系统模组3的安全引导已完成的情况下保存到状态信息保持部210的寄存器中的值,私钥B1仅在安全引导完成的情况下能够被解密。第二个密钥信息2110包括表示公钥B2的密钥ID(2111)、加密密钥B2(2121)、作为公钥B2的证书的证书B2(2113)、表示作为加密密钥B2的解密密钥的私钥B1的解密密钥ID,加密密钥B2(2112)是将解密条件B2(2115)和私钥B2(2116)加密成能够通过公钥B1解密的密钥后形成的,上述解密条件B2表示用来将加密密钥B2(2112)的加密解密的条件。
在解密条件B2(2115)中,设定有在模组启动控制部202进行的应用模组X的启动已成功的情况下保存到状态信息保持部210的寄存器中的值,私钥B2仅在启动了应用模组X的情况下能够利用私钥B1被解密。即,私钥B2仅在安全引导完成并且启动了应用模组X的情况下能够被解密。私钥B1和私钥B2都是RSA加密方式的私钥,密钥长是2048位。密钥信息2100、2110由终端B的制造者设定。
接着,使用图22及图23说明在启动了应用模组X的终端A100与同样启动了应用模组X的终端B101之间进行的相互认证处理的顺序。首先,终端A100的认证处理部206生成随机的字符串nonce1(S2200),将包含所生成的nonce1的请求相互认证处理的消息发送给终端B101(S2201)。于是,接收到相互认证请求的终端B101的认证处理部206从终端B101的密钥信息保持部205读取加密密钥B2(2112)和加密密钥B1(2102)(S2202),再对安全模组204请求加密密钥B1(2102)的解密(S2203)。终端B101的安全模组204进行基于根密钥的加密密钥B1的解密处理(S2204),将处理结果发送给终端B的认证处理部206(S2205)。此时,终端B101的安全模组204在保存在状态信息保持部210的寄存器中的值与解密条件B1(2105)的对照成功、且加密密钥B1(2102)的解密成功的情况下,发送解密处理成功的处理结果。此外,在保存在状态信息保持部210的寄存器中的值与解密条件B1(2105)的对照失败、且加密密钥B1(2102)的解密失败的情况下,发送解密处理失败的处理结果。在步骤S2205的处理结果是失败的情况下,终端B101的认证处理部206中止认证处理,在步骤S2205的处理结果是成功的情况下,终端B101的认证处理部206对终端B101的安全模组204请求加密密钥B2(2112)的解密(S2206)。
终端B101的安全模组204进行基于由步骤S2204的解密处理得到的私钥B1的加密密钥B2(2112)的解密处理(S2207),将处理结果发送给终端B101的认证处理部206(S2208)。此时,终端B101的安全模组204在保存在状态信息保持部210的寄存器中的值与解密条件B2(2115)的对照成功、且加密密钥B2(2112)的解密成功的情况下,发送解密处理成功的处理结果。此外,在保存在状态信息保持部210的寄存器中的值与解密条件B2(2115)的对照失败、且加密密钥B2(2112)的解密失败的情况下,发送解密处理失败的处理结果。在步骤S2208的处理结果是失败的情况下,终端B101的认证处理部206中止认证处理,在步骤S2208的处理结果是成功的情况下,终端B101的认证处理部206对终端B101的安全模组204请求基于私钥B2的对nonce1的签名处理(S2209)。
终端B的安全模组204进行基于在S2207中解密后的私钥B2的对nonce1的签名处理(S2210),将电子签名发送给终端B101的认证处理部206(S2211)。签名处理具体而言是生成nonce1的哈希值、并对该哈希值通过私钥B2进行加密的处理。终端B101的认证处理部206将接收到的电子签名和证书A2向终端A100发送(S2212)。终端A100的认证处理部206首先验证接收到的公钥B2的证书B2(S2213),再使用包含在验证后的证书B2中的公钥B2,验证接收到的电子签名是基于私钥B2的对nonce1的电子签名(S2214),将认证结果发送给终端B101(S2215)。在步骤S2214的电子签名的验证中,具体而言,终端A100的认证处理部206首先生成在步骤S2201中向终端B101发送的nonce1的哈希值,接着将接收到的电子签名使用公钥B2(1816)解密,与nonce1的哈希值相对照。另外,在步骤S2210中对nonce1进行签名处理,但也可以不对nonce1的值生成哈希值,而用私钥B2加密。在此情况下,在步骤S2214中,也可以将加密后的nonce1使用公钥B2(1816)解密,将解密后的结果与在步骤S2201中向终端B101发送的nonce1的值相对照是否相等。
接着,终端B101的认证处理部206生成与nonce1不同的随机的字符串nonce2(S2216),发送给终端A100(S2217)。接收到nonce2的终端A100的认证处理部206从密钥信息保持部205读取加密密钥A2和加密密钥A1(S2218),再对终端A100的安全模组204请求加密密钥A1的解密(S2219)。终端A100的安全模组204进行基于根密钥的加密密钥A1的解密处理(S2220),将处理结果发送给终端A100的认证处理部206(S2221)。此时,终端A100的安全模组204在保持在状态信息保持部210的寄存器中的值与解密条件A1(505)的对照成功、且加密密钥A1(502)的解密成功的情况下,发送解密处理成功的处理结果。此外,在保持在状态信息保持部210的寄存器中的值与解密条件A1(505)的对照失败、且加密密钥A1(502)的解密失败的情况下,发送解密处理失败的处理结果。在步骤S2221的处理结果是失败的情况下,终端A100的认证处理部206中止认证处理,在S2221的处理结果是成功的情况下,终端A100的认证处理部206对终端A100的安全模组204请求加密密钥A2的解密(S2222)。
终端A100的安全模组204将基于在步骤S2220中解密后的私钥A1的加密密钥A2(512)解密,取得私钥A2(S2223),将处理结果发送给终端A100的认证处理部206(S2224)。此时,终端A100的安全模组204在保持在状态信息保持部210的寄存器中的值与解密条件A2(515)的对照成功、且加密密钥A2(512)的解密成功的情况下,发送解密处理成功的处理结果。此外,在保持在状态信息保持部210的寄存器中的值与解密条件A2(515)的对照失败、且加密密钥A2(512)的解密失败的情况下,发送解密处理失败的处理结果。在步骤S2224的处理结果是失败的情况下,终端A100的认证处理部206中止认证处理,在步骤S2224的处理结果是成功的情况下,终端A的认证处理部206对终端A100的安全模组204请求基于私钥A2的对nonce2的签名处理(S2225)。终端A100的安全模组204进行基于在步骤S2223中解密后的私钥A2的对nonce2的签名处理(S2226),将电子签名发送给终端A100的认证处理部206(S2227)。终端A100的认证处理部206将接收到的电子签名和证书A2向终端B101发送(S2228)。签名处理具体而言是生成nonce2的哈希值、对该哈希值通过私钥A2进行加密的处理。
终端B101的认证处理部206验证接收到的证书A2(S2229),再使用包含在验证后的证书A2中的公钥A2,验证接收到的电子签名是基于私钥A2的对nonce2的电子签名(S2230),将认证结果发送给终端A100,终端A100的认证处理部206接收认证结果而结束认证处理(S2231)。在步骤S2230的电子签名的验证中,具体而言,终端B101的认证处理部206首先生成在步骤S2217中向终端A100发送的nonce2的哈希值,接着使用公钥A2(616)将接收到的电子签名解密,再与nonce2的哈希值相对照。另外,在步骤S2226中对nonce2进行签名处理,但也可以不对nonce2的值生成哈希值,而用私钥A2加密。在此情况下,在步骤S2230中,也可以将加密后的nonce2使用公钥A2解密,将解密后的结果与在步骤S2217中向终端A100发送的nonce2的值对照是否相等。
终端A100通过验证基于私钥B2的对nonce1的电子签名的有效性,能够验证在终端B101中进行了安全引导、且正常地启动了应用模组X的情况。另一方面,在终端B101中,也通过验证基于私钥A2的对nonce2的电子签名的有效性,能够验证在终端A100中进行了安全引导、且正常地启动了应用模组X的情况。
4.变形例及其他
另外,基于上述实施方式说明了本发明,但本发明当然并不限定于上述实施方式。以下这样的情况也包含在本发明中。
(1)在上述实施方式1中,设想了使用RSA加密方式的密钥作为私钥1(2401)、私钥2(2402)、根密钥213、私钥A1、私钥A2及终端A制造者私钥进行了说明,但也可以使用ECC(ELLIPTIC CURVECRYPTOSYSTEM)加密方式或NTRU加密方式的密钥。此外,关于密钥长也并不限于2048位,也可以是其他密钥长。
此外,在上述实施方式中,作为哈希运算的算法而使用SHA1,但也可以使用SHA256或SHA512等的哈希运算算法。
(2)在上述实施方式1中,设想了使用公钥加密方式作为根密钥213、私钥A1及私钥A2进行了说明。但也可以使用AES(ADVANCEDENCRYPTION STANDARD)、DES(DATA ENCRYPTION STANDARD)、或3DES等的共用密钥加密方式的密钥。
在此情况下,终端A100和终端B101共用共用根密钥、共用密钥A1和共用密钥A2。使用共用根密钥进行使用根密钥213进行了的处理,使用共用密钥A1进行使用私钥A1(506)和公钥A1(606)进行了的处理,使用共用密钥A2进行使用私钥A2(516)和公钥A2(616)进行了的处理。但是,作为证书A2(513),使用不包含公钥A2(616)及共用密钥A2的证书。
(3)在上述实施方式1中,在解密条件A2(515)中,设定正规的应用模组X已启动的情况下的应保存到状态信息保持部210的寄存器中的期望值、具体而言是正规的应用模组X的哈希值的累积值,但并不限于此。作为解密条件A2(515),也可以在状态信息保持部210的寄存器中进一步设定累积了特定的通行码(passcode)的哈希值的情况下的期望值。
该特定的通行码既可以是终端A100的用户输入的用户口令,也可以是从应用模组X的提供者发行的授权码。在此情况下,由模组启动控制部202启动后的应用模组X对状态信息保持部210的应用用的寄存器8到寄存器15中的某个寄存器累积运算通行码的哈希值。并且,作为用来将加密密钥A2(512)解密的条件,可以在“终端A完成了安全引导”的条件和“终端A启动了正规的应用模组X”的条件这两个条件的基础上再加上“输入了正确的通行码”的条件等,来进行更复杂的条件设定。
(4)在上述实施方式2中,将应用名和机种名作为检索关键字从期望值保持部1201中检索期望值,但也可以代替应用名而使用应用ID,此外,也可以代替机种名而使用机种ID。在此情况下,在对在步骤S1401中接受发送的终端C102请求应用模组Y下的配对的消息中,包含应用ID,在证书A1(503)中包含机种ID。
(5)在上述实施方式2中,配对处理部1202从期望值保持部1201中检索终端A100执行了应用模组Y的情况下的期望值,但也可以从终端A100接收期望值。在此情况下,实际上终端C102从终端A100接收作为应用模组Y的证书的模组证书Y425,将包含在模组证书Y425中的模组测量值作为期望值。此外,在此情况下,在终端C102的认证处理部306中保持用来验证模组证书Y425的有效性的应用模组Y提供者的公钥(未图示)。该应用模组Y提供者的公钥是与对模组证书Y425实施的签名的生成中使用的应用模组Y提供者私钥相对应的RSA加密方式的公钥。
图28表示此情况下的配对处理的顺序,在终端A100与终端C102之间如以下这样进行配对处理,以便以在终端A100中启动了应用模组Y为条件进行认证。
首先,终端A100的认证处理部206对终端C102发送请求应用模组Y下的配对的消息(S2801)。此时,在该消息中,包含作为应用模组Y的证书的模组证书Y425。于是,如图15所示,在终端A100与终端C102之间进行使用了私钥A1(505)的认证处理(S1402)。
在该认证处理失败的情况下,中止配对处理,在认证处理成功的情况下,终端C102的认证处理部1206使用应用模组Y提供者的公钥验证模组证书Y425(S2802)。进而,终端C102的认证处理部2106从验证后的模组证书Y425中提取模组测量值402(S2803),将包括应用模组Y的应用名、在步骤S1402的认证处理中取得的公钥A1的证书A1(503)和在步骤S2803中提取的模组测量值在内的配对处理请求发送给配对处理部1202(S2804)。
在配对处理部1202中,首先,将接收到的模组测量值决定为解密条件A3(525)(S2805),再生成包含在证书A1(503)的终端信息608中的、终端A支持的加密算法信息中包含的公钥加密方式的算法的私钥A3(526)与公钥A3(1806)的密钥对(S1408)。并且,配对处理部1202从接收到的证书A1(503)中提取公钥A1(606)(S1409),通过使用公钥A1(606)将私钥A3(526)与解密条件A3(525)一起加密,生成加密密钥A3(522)(S1410)。进而,配对处理部1202使用签名密钥1213生成作为与私钥A3对应的公钥A3的证书的证书A3(523)(S1411)(参照图18)。此时,配对处理部1202在证书A3(523)的主题中设定表示与接收到的证书A1(503)的主题相同的终端A的值。
配对处理部1202将密钥信息520发送给终端A100(S1412),上述密钥信息520包括所生成的加密密钥A3(522)和证书A3(523)、加密密钥A3(522)的密钥ID“KEY-A3”(521)和加密密钥ID“KEY-A1”(524)。认证处理部206将接收到的密钥信息保存到密钥信息保持部205中(S1413),并结束配对处理。
(6)在上述实施方式2中,终端C102具备配对处理中的、生成加密密钥和证书的功能,但也可以是能够经由网络通信的服务器装置具备同样的功能,在此情况下,通过在终端A100与服务器装置之间直接、或者经由终端C102在终端A100与服务器装置之间进行对应于在图14中说明的步骤S1401到步骤S1513的处理,能够进行终端A100与终端C102的配对处理。
(7)在上述实施方式2中,设想使用公钥加密方式的密钥作为私钥1(2401)、私钥3(2403)、根密钥213、私钥A1、私钥A2、私钥A3及终端A制造者私钥进行了说明,但也可以使用ECC加密方式或NTRU加密方式的密钥。此外,密钥长也可以是2048位以外的密钥长。
(8)在上述实施方式2中,设想使用公钥加密方式的密钥作为根密钥213、私钥A1、私钥A2及私钥A3进行了说明,但也可以使用AES或DES、3DES等的共用密钥加密方式的密钥。在此情况下,终端A100和终端C102共用共用根密钥、共用密钥A1和共用密钥A3。并且,使用共用根密钥进行使用根密钥213进行了的处理,使用共用密钥A1进行使用私钥A1(506)和公钥A1(606)进行了的处理,使用共用密钥A3进行使用私钥A3(526)和公钥A3(626)进行了的处理。但是,在证书A1(503)中,使用不包含公钥A1(606)及共用密钥A1的证书。此外,在证书A3(523)中,使用不包含公钥A3(1806)及共用密钥A3的证书。
(9)在上述实施方式2中,在解密条件A3(525)中,设定启动了正规的应用模组Y的情况下的应保存到状态信息保持部210的寄存器中的期望值、具体而言是正规的应用模组Y的哈希值的累积值,但也可以在状态信息保持部210的寄存器中将累积了特定的通行码的哈希值的情况下的期望值设定到解密条件A3(525)中。
此外,该特定的通行码既可以是终端A100的用户输入的用户口令,也可以是从应用模组Y提供者发行的授权码。由模组启动控制部202启动后的应用模组Y对状态信息保持部210的应用用的寄存器8到寄存器15中的某个寄存器累积运算通行码的哈希值。在此情况下,作为用来将加密密钥A3(522)解密的条件,可以在“终端A完成了安全引导”的条件、和“终端A启动了正规的应用模组Y”的条件这两个条件的基础上再加上“输入了正确的通行码”的条件等,来进行更复杂的条件设定。
(10)在上述实施方式2中,将私钥A3(526)用公钥A1(606)加密,但也可以用公钥A2(616)加密。在此情况下,终端A100与终端C102之间进行在第一实施方式的图8中说明的使用私钥A2(516)的认证处理,终端C102从在认证处理时接收到的证书A2(513)取得公钥A2(616),使用公钥A2(616)将私钥A3(526)加密而生成加密密钥A3(522)。在此情况下,作为用来将加密密钥A3(522)解密的条件,可以在“终端A完成了安全引导”的条件、和“终端A启动了正规的应用模组X”的条件这两个条件的基础上再加上“终端A启动了正规的应用模组Y”的条件,来进行更复杂的条件设定。
(11)在第二实施方式中,期望值信息保持部1201预先保持有应用模组的期望值。通过该结构,在第二实施方式中,能够省略获取期望值的处理。但是,并不限定于该结构,也可以从对方侧的终端取得应用模组的期望值。在此情况下,为了防止期望值被篡改,对方侧的终端优选的是对期望值实施签名、或实施加密后发送期望值。在采用该结构的情况下,即使不知道对方侧的终端具有的结构,也能够生成匹配于该结构地相关联的加密密钥。
(12)在上述实施方式3中,设想使用公钥加密方式的密钥作为根密钥213、私钥A1、私钥A2、私钥B1、私钥B2、终端A制造者私钥、终端B制造者私钥进行了说明,但也可以使用ECC加密方式或NTRU加密方式的密钥。此外,密钥长也可以是2048位以外的密钥长。
(13)在上述实施方式2中,设想使用公钥加密方式的密钥作为根密钥213、私钥A1、私钥A2、私钥B1及私钥B2进行了说明,但也可以使用AES或DES、3DES等的共用密钥加密方式的密钥。
在此情况下,终端A100和终端B101共用共用根密钥、共用密钥A1、共用密钥A2、共用密钥B1和共用密钥B2。并且,使用共用根密钥进行使用根密钥213进行了的处理,使用共用密钥A1进行使用私钥A1(506)和公钥A1(606)进行了的处理,使用共用密钥A2进行使用私钥A2(516)和公钥A2(616)进行了的处理,使用共用密钥B1进行使用私钥B1(2106)和公钥B1(2106)进行了的处理,使用共用密钥B2进行使用私钥B2(2116)和公钥B2(2116)进行了的处理。但是,在证书A2(513)中,使用不包含公钥A2(616)及共用密钥A2的证书。此外,在证书B2(2113)中,使用不包含公钥B2及共用密钥B2的证书。
(14)在上述实施方式中,将在认证中使用的私钥加密,以使其以启动了正规的系统模组并启动了应用模组为条件被解密。但是并不限定于该结构,也可以不将启动了应用模组作为条件。在此情况下,只要认证成功,就能够确认启动了正规的系统模组。此外,在此情况下,即使在系统模组的某个被更新的情况下,在认证中使用的私钥自身也不更新,只要仅将用于在认证中使用的私钥的解密的密钥关联到新的结构中再次加密并更新就可以。
(15)在上述实施方式中,对nonce生成签名,通过验证它来进行认证处理。但是,并不限定于该结构,可以使用各种认证方法。例如,也可以通过将nonce本身加密、确认是否能够将该加密后的nonce正确地解密来进行认证。
(16)另外,在终端间通信中,使用包括使用条件的证书,但也可以使用不包括使用条件的证书。在使用不包括使用条件的证书的情况下,判断使用条件的有无,在不存在使用条件的情况下,不进行判断而进行一般的处理。在此情况下,与不具有本申请技术的终端也能够进行通信。
此外,在接收到包括上述使用条件的证书的情况下,为了使接收侧的终端能够进行按照证书内使用条件的处理,接收侧的终端也可以保持使用条件的数据库。在该使用条件的数据库中,登记有许可或不许可连接的机种信息及应用信息。通过这样,通过将接收到的证书内的使用条件与终端内的使用条件数据库相比较,能够判断连接的许可/不许可。
此外,上述使用条件的数据库也可以作为能够更新的数据库实现。通过这样,还能够进行将到目前为止是连接许可的终端登记作为连接不许可的终端的作废处理、或登记作为许可与新出厂的终端之间的连接的终端,能够实现更灵活的连接形态。更新方法既可以经由网络,也可以是基于记录介质的更新。
(17)在上述实施方式中,将以模组的期望值作为解密条件而加密数据的动作称作“与模组的启动相关联”。但是,关联的形态并不限于以上所述。关联的形态只要是能够实现仅在保存在状态信息保持部的寄存器中的值与其期望值一致的环境时能够进行对数据的访问那样的访问限制的处理就可以。作为其他关联的例子,可以考虑例如以期望值为密钥进行加密。
(18)上述各装置具体而言是包括微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等在内的计算机系统。在上述RAM或硬盘单元中存储有计算机程序。通过上述微处理器按照上述计算机程序动作,各装置实现其功能。这里,计算机程序是为了实现规定的功能而将表示对计算机的指令的命令代码组合多个而构成的。另外,各装置并不限于包括微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等的全部在内的计算机系统,也可以是由它们的一部分构成的计算机系统。
(19)构成上述各装置的构成要素的一部分或全部也可以由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的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。
(20)构成上述各装置的构成要素的一部分或全部也可以由可相对于各装置拆装的IC卡或单体的模组构成。上述IC卡或上述模组是由微处理器、ROM、RAM等构成的计算机系统。上述IC卡或上述模组也可以包括上述超多功能LSI。通过微处理器按照计算机程序动作,上述IC卡或上述模组实现其功能。该IC卡或该模组也可以具有防篡改性。
(21)本发明也可以是上述所示的方法。此外,也可以是通过计算机实现这些方法的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号记录在计算机可读取的记录介质、例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半导体存储器等中的产品。此外,也可以是记录在这些记录介质中的上述数字信号。
此外,本发明也可以是将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数字广播等传送的系统。
此外,本发明也可以是具备微处理器和存储器的计算机系统,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序动作。
此外,也可以通过将上述程序或上述数字信号记录到上述记录介质中并移送、或者将上述程序或上述数字信号经由上述网络等移送,而由独立的其他计算机系统实施。
(22)安全模组也可以通过防篡改软件、或者软件及硬件来实施。
(23)CPU也可以具备特别的动作模式(安全模式等)、通过由CPU执行的软件在该特别的动作模式(安全模式等)动作而安全地被执行。
(24)也可以将上述实施方式及上述变形例分别组合。
工业实用性
本发明能够广泛地用于个人计算机及便携电话、音频播放器、电视接收机、视频记录机等、进行程序数据的更新的信息通信设备或家电设备中。
特别是,在终端彼此连接而交换数据的情况下,能够防止通过软件的篡改等而进行将发送来的数据在接收侧的终端中不正当地保存、或向其他终端不正当地转送等的发送侧不希望的处理,能够仅与启动了正规的软件的设备连接。
标号说明
100终端A
101终端B
102终端C
201、301模组存储部
202、302模组启动控制部
203、303模组执行部
204、1204安全模组
205密钥信息保持部
206、306、1206认证处理部
207、307、1207通信部
208模组更新部
209密钥信息更新部
210状态信息保持部
211解密处理部
212、1212签名处理部
213根密钥
1201期望值保持部
1202配对处理部
1210加密处理部
1211密钥生成部
1212签名处理部
1213签名密钥
Claims (11)
1.一种信息处理装置,在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,其特征在于,具备:
密钥保持机构,存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持机构,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;
解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及
认证处理机构,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
2.如权利要求1所述的信息处理装置,其特征在于,
上述信息处理装置每当将上述多个系统程序及上述应用程序分别启动时生成启动的程序的摘要值并进行累积处理,保持所得到的累积值;
由上述密钥信息保持机构保持的加密后的上述第二解密密钥与上述安全引导后的累积值的期望值一起使用上述第一加密密钥被加密,加密后的上述认证密钥与上述应用程序的摘要值的期望值一起使用上述第二加密密钥被加密;
上述解密处理机构,
对于上述第一使用许可条件,仅在与上述第二解密密钥一起被解密的上述累积值的期望值与由上述生成部生成的上述安全引导后的累积值一致的情况下,判断为满足上述第一使用许可条件,
对于上述第二使用许可条件,仅在与上述认证密钥一起被解密的上述摘要值的期望值与由上述生成部生成的上述应用程序的摘要值一致的情况下,判断为满足上述第二使用许可条件。
3.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备:
程序更新机构,进行上述多个系统程序的某个的更新处理;以及
密钥信息更新机构,在上述更新处理已被执行的情况下,将由上述密钥信息保持机构保持的加密后的上述第二解密密钥替换为与上述更新处理后的安全引导后的累积值的期望值一起使用上述第一加密密钥被加密的第二解密密钥。
4.如权利要求2所述的信息处理装置,其特征在于,
上述信息处理装置还具备期望值保持机构,上述期望值保持机构保持上述应用程序的摘要值的期望值和上述安全引导后的累积值的期望值;
在对上述第一及第二使用许可条件进行判断的情况下,上述密钥信息保持机构从上述期望值保持机构读取上述应用程序的摘要值的期望值以及上述安全引导后的累积值的期望值加以使用。
5.如权利要求1所述的信息处理装置,其特征在于,
上述认证处理机构还在上述认证处理之前,使上述解密处理机构使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,取得从上述解密处理机构输出的上述第二解密密钥,使用上述第二解密密钥与上述认证装置进行事前认证处理;
由上述密钥信息保持机构保持的加密后的上述认证密钥是在上述事前认证处理已成功的情况下,在上述认证处理之前被从上述认证装置取得而写入的。
6.一种认证系统,包括认证装置和信息处理装置,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与上述认证装置之间的认证处理的应用程序,其特征在于,
上述信息处理装置具备:
密钥保持机构,安全地存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持机构,存储以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密的第二解密密钥;
解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下输出通过该解密得到的上述第二解密密钥;以及
第一认证处理机构,在上述第二解密密钥被输出的情况下,使用上述第二解密密钥与上述认证装置进行事前认证处理;
上述认证装置具备:
第二认证机构,使用上述第二解密密钥,与上述信息处理装置进行上述事前认证处理;以及
发送机构,在上述事前认证处理成功的情况下,将以上述应用程序的完整性维持作为第二使用许可条件而利用与上述第二解密密钥相对应的第二加密密钥被加密的认证密钥,发送给上述信息处理装置;
上述信息处理装置取得加密后的上述认证密钥,写入到上述密钥信息保持机构中;
上述解密处理机构在加密后的上述认证密钥被写入之后,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;
上述第一认证处理机构还在上述认证密钥被输出的情况下,使用上述认证密钥与上述认证装置进行第二认证处理;
上述第二认证机构在上述发送机构进行发送之后,与上述信息处理装置之间进行使用上述认证密钥的上述第二认证处理。
7.一种认证装置,与信息处理装置之间进行认证处理,上述信息处理装置在进行一边验证多个系统程序的完整性一边依次启动的安全引导之后执行应用程序,并保持有以安全引导后的安全性维持作为第一使用许可条件被加密的第一解密密钥,其特征在于,
上述认证装置具备:
认证机构,与上述信息处理装置进行使用上述第一解密密钥的上述事前认证处理;以及
发送机构,在上述事前认证处理成功的情况下,将以上述应用程序的完整性维持作为使用许可条件而利用与上述第一解密密钥相对应的第一加密密钥被加密的认证密钥,发送给上述信息处理装置;
在发送了加密后的上述认证密钥之后,上述认证机构还通过与上述信息处理装置之间进行使用上述认证密钥的认证处理,来验证上述信息处理装置的完整性。
8.一种信息处理方法,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,其特征在于,上述信息处理方法包括:
密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;
解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及
认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
9.一种信息处理程序,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,其特征在于,上述信息处理程序使计算机执行:
密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;
解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及
认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
10.一种记录介质,是存储信息处理装置中使用的信息处理程序的计算机可读取的记录介质,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,其特征在于,
上述信息处理程序使计算机执行:
密钥保持步骤,存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持步骤,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;
解密处理步骤,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及
认证处理步骤,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
11.一种集成电路,在信息处理装置中使用,上述信息处理装置在进行了一边验证多个系统程序的完整性一边依次执行的安全引导之后,执行伴随着与认证装置之间的认证处理的应用程序,其特征在于,上述集成电路具备:
密钥保持机构,存储与第一加密密钥相对应的第一解密密钥;
密钥信息保持机构,存储第二解密密钥和认证密钥,上述第二解密密钥以安全引导后的本装置的完整性维持作为第一使用许可条件而使用上述第一加密密钥被加密,上述认证密钥以上述应用程序的完整性维持作为第二使用许可条件而使用与上述第二解密密钥相对应的第二加密密钥被加密;
解密处理机构,使用上述第一解密密钥将加密后的上述第二解密密钥解密,仅在满足上述第一使用许可条件的情况下,再使用通过该解密得到的上述第二解密密钥将加密后的上述认证密钥解密,仅在满足上述第二使用许可条件的情况下,输出通过该解密得到的上述认证密钥;以及
认证处理机构,在上述认证密钥被输出的情况下,使用上述认证密钥,与上述认证装置进行上述认证处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008263678 | 2008-10-10 | ||
JP2008-263678 | 2008-10-10 | ||
PCT/JP2009/005277 WO2010041464A1 (ja) | 2008-10-10 | 2009-10-09 | 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102047266A true CN102047266A (zh) | 2011-05-04 |
Family
ID=42100425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009801200375A Pending CN102047266A (zh) | 2008-10-10 | 2009-10-09 | 信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8479000B2 (zh) |
EP (1) | EP2336944A1 (zh) |
JP (1) | JP5457363B2 (zh) |
CN (1) | CN102047266A (zh) |
WO (1) | WO2010041464A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886268A (zh) * | 2012-12-19 | 2014-06-25 | 富士通半导体股份有限公司 | 微型计算机、中间件及其操作方法 |
CN104811303A (zh) * | 2014-01-24 | 2015-07-29 | 北京中传数广技术有限公司 | 双向认证的方法、装置及系统 |
CN109086080A (zh) * | 2017-06-12 | 2018-12-25 | 丰田自动车株式会社 | 信息处理方法、信息处理装置、程序和记录介质 |
CN110324825A (zh) * | 2018-03-30 | 2019-10-11 | 兄弟工业株式会社 | 终端装置、通信装置及记录介质 |
CN112560007A (zh) * | 2015-05-08 | 2021-03-26 | 松下电器(美国)知识产权公司 | 认证方法、认证系统以及控制器 |
CN112654985A (zh) * | 2019-01-28 | 2021-04-13 | 欧姆龙株式会社 | 安全系统以及维护方法 |
CN113678128A (zh) * | 2019-04-16 | 2021-11-19 | 三菱电机株式会社 | 数据处理系统、数据处理装置及应用程序的验证方法 |
CN112560007B (zh) * | 2015-05-08 | 2024-05-31 | 松下电器(美国)知识产权公司 | 认证方法、认证系统以及控制器 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2507708B1 (en) * | 2009-12-04 | 2019-03-27 | Cryptography Research, Inc. | Verifiable, leak-resistant encryption and decryption |
FR2960366A1 (fr) * | 2010-05-20 | 2011-11-25 | Ingenico Sa | Procede d’obtention de cles de chiffrement, terminal, serveur, et produits programmes d’ordinateurs correspondants |
WO2012023050A2 (en) | 2010-08-20 | 2012-02-23 | Overtis Group Limited | Secure cloud computing system and method |
US8819437B2 (en) * | 2010-09-30 | 2014-08-26 | Microsoft Corporation | Cryptographic device that binds an additional authentication factor to multiple identities |
JP5895471B2 (ja) | 2011-01-17 | 2016-03-30 | 株式会社リコー | 情報処理装置、プログラム |
JP5553124B2 (ja) * | 2011-01-17 | 2014-07-16 | 株式会社リコー | 情報処理装置、プログラム、認証方法 |
JP2012212405A (ja) * | 2011-03-31 | 2012-11-01 | Kddi Corp | アプリケーション認証システム、アプリケーション認証方法およびプログラム |
CN102231054B (zh) * | 2011-06-08 | 2013-01-02 | 珠海天威技术开发有限公司 | 芯片及芯片数据通信方法、耗材容器、成像设备 |
US8812830B2 (en) | 2011-08-31 | 2014-08-19 | Microsoft Corporation | Attestation protocol for securely booting a guest operating system |
US9619653B2 (en) * | 2012-07-31 | 2017-04-11 | Adobe Systems Incorporated | System and method for detecting a security compromise on a device |
CN102799831B (zh) * | 2012-08-28 | 2014-11-26 | 无锡华御信息技术有限公司 | 基于数据库的应用系统信息安全保护系统及信息安全保护方法 |
US8954735B2 (en) * | 2012-09-28 | 2015-02-10 | Intel Corporation | Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware |
US9152793B2 (en) * | 2012-09-28 | 2015-10-06 | Intel Corporation | Methods, systems and apparatus to self authorize platform code |
JP2015001817A (ja) * | 2013-06-14 | 2015-01-05 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
EP3054701B1 (en) * | 2013-09-30 | 2020-04-01 | Sony Corporation | Receiver device, broadcast device, server device and reception method |
CN104660589B (zh) * | 2015-01-20 | 2021-09-10 | 中兴通讯股份有限公司 | 一种对信息进行加密控制、解析信息的方法、系统和终端 |
JP6659220B2 (ja) * | 2015-01-27 | 2020-03-04 | ルネサスエレクトロニクス株式会社 | 通信装置、半導体装置、プログラムおよび通信システム |
US10592682B2 (en) * | 2015-02-20 | 2020-03-17 | Mitsubishi Electric Corporation | Data storage apparatus, data processing method, and computer readable medium adding a user attribute of a revoked user to an embedded decryption condition while encrypted data remains in an encrypted state |
CN105346256B (zh) * | 2015-11-09 | 2017-03-22 | 杭州旗捷科技有限公司 | 一种打印机芯片、墨盒、和打印机芯片存储分配方法 |
KR102509594B1 (ko) * | 2016-06-28 | 2023-03-14 | 삼성전자주식회사 | 어플리케이션 코드의 위변조 여부 탐지 방법 및 이를 지원하는 전자 장치 |
EP3499793B1 (en) | 2016-08-10 | 2021-11-10 | KDDI Corporation | Data provision system, data security device, data provision method, and computer program |
US10129229B1 (en) * | 2016-08-15 | 2018-11-13 | Wickr Inc. | Peer validation |
US10311224B1 (en) * | 2017-03-23 | 2019-06-04 | Amazon Technologies, Inc. | Digitally sealing equipment for authentication of components |
JP6354099B2 (ja) * | 2017-09-28 | 2018-07-11 | Kddi株式会社 | データ提供システム及びデータ提供方法 |
US11574060B2 (en) * | 2019-04-24 | 2023-02-07 | International Business Machines Corporation | Secure initial program load |
CN111065091B (zh) * | 2019-12-30 | 2023-09-26 | 武汉希文科技股份有限公司 | 一种基于lora的无线数据采集系统及数据传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289067A1 (en) * | 1998-10-26 | 2005-12-29 | Microsoft Corporation | System and method for secure storage of data using a key |
CN1924880A (zh) * | 2005-09-01 | 2007-03-07 | 株式会社东芝 | 处理器,计算机系统和认证方法 |
CN101034991A (zh) * | 2007-04-06 | 2007-09-12 | 中兴通讯股份有限公司 | 安全引导系统及方法、代码签名构造方法及认证方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000038392A2 (en) * | 1998-12-23 | 2000-06-29 | Nortel Networks Limited | Apparatus and method for distributing authentication keys to network devices in a multicast |
WO2000048063A1 (en) | 1999-02-15 | 2000-08-17 | Hewlett-Packard Company | Trusted computing platform |
US7890771B2 (en) | 2002-04-17 | 2011-02-15 | Microsoft Corporation | Saving and retrieving data based on public key encryption |
US7487365B2 (en) | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
CN1701559B (zh) * | 2003-06-19 | 2012-05-16 | 日本电信电话株式会社 | 会话控制服务器、通信装置、通信系统与通信方法及其程序与记录介质 |
US8555072B2 (en) | 2006-08-31 | 2013-10-08 | International Business Machines Corporation | Attestation of computing platforms |
WO2008081801A1 (ja) * | 2006-12-27 | 2008-07-10 | Panasonic Corporation | 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム |
US20090327741A1 (en) * | 2008-06-30 | 2009-12-31 | Zimmer Vincent J | System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid) |
-
2009
- 2009-10-09 WO PCT/JP2009/005277 patent/WO2010041464A1/ja active Application Filing
- 2009-10-09 EP EP09819004A patent/EP2336944A1/en not_active Withdrawn
- 2009-10-09 US US12/992,699 patent/US8479000B2/en active Active
- 2009-10-09 CN CN2009801200375A patent/CN102047266A/zh active Pending
- 2009-10-09 JP JP2010532827A patent/JP5457363B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289067A1 (en) * | 1998-10-26 | 2005-12-29 | Microsoft Corporation | System and method for secure storage of data using a key |
CN1924880A (zh) * | 2005-09-01 | 2007-03-07 | 株式会社东芝 | 处理器,计算机系统和认证方法 |
CN101034991A (zh) * | 2007-04-06 | 2007-09-12 | 中兴通讯股份有限公司 | 安全引导系统及方法、代码签名构造方法及认证方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886268A (zh) * | 2012-12-19 | 2014-06-25 | 富士通半导体股份有限公司 | 微型计算机、中间件及其操作方法 |
CN104811303A (zh) * | 2014-01-24 | 2015-07-29 | 北京中传数广技术有限公司 | 双向认证的方法、装置及系统 |
CN104811303B (zh) * | 2014-01-24 | 2018-12-18 | 北京中传数广技术有限公司 | 双向认证的方法、装置及系统 |
CN112560007A (zh) * | 2015-05-08 | 2021-03-26 | 松下电器(美国)知识产权公司 | 认证方法、认证系统以及控制器 |
CN112560007B (zh) * | 2015-05-08 | 2024-05-31 | 松下电器(美国)知识产权公司 | 认证方法、认证系统以及控制器 |
CN109086080A (zh) * | 2017-06-12 | 2018-12-25 | 丰田自动车株式会社 | 信息处理方法、信息处理装置、程序和记录介质 |
CN109086080B (zh) * | 2017-06-12 | 2021-07-20 | 丰田自动车株式会社 | 信息处理方法、信息处理装置、程序和记录介质 |
CN110324825A (zh) * | 2018-03-30 | 2019-10-11 | 兄弟工业株式会社 | 终端装置、通信装置及记录介质 |
CN110324825B (zh) * | 2018-03-30 | 2024-03-15 | 兄弟工业株式会社 | 终端装置、通信装置及记录介质 |
CN112654985A (zh) * | 2019-01-28 | 2021-04-13 | 欧姆龙株式会社 | 安全系统以及维护方法 |
CN112654985B (zh) * | 2019-01-28 | 2024-04-09 | 欧姆龙株式会社 | 安全系统以及维护方法 |
CN113678128A (zh) * | 2019-04-16 | 2021-11-19 | 三菱电机株式会社 | 数据处理系统、数据处理装置及应用程序的验证方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2010041464A1 (ja) | 2012-03-08 |
JP5457363B2 (ja) | 2014-04-02 |
EP2336944A1 (en) | 2011-06-22 |
WO2010041464A1 (ja) | 2010-04-15 |
US20110072266A1 (en) | 2011-03-24 |
US8479000B2 (en) | 2013-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102047266A (zh) | 信息处理装置、认证系统、认证装置、信息处理方法、信息处理程序、记录介质及集成电路 | |
JP4906854B2 (ja) | 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路 | |
US9881348B2 (en) | Activation system architecture | |
CN103460195B (zh) | 用于安全软件更新的系统和方法 | |
US9524379B2 (en) | Security chip used in a contents data playing device, update management method, and update management program | |
JP4790021B2 (ja) | Srmのデジタル著作権管理方法及び装置 | |
US8353055B2 (en) | Method and apparatus for processing rights object | |
JP2018117287A (ja) | 証明書配付システム、証明書配付方法、および証明書配付プログラム | |
KR20070053032A (ko) | 장치 간의 디지털 저작권 관리 방법 및 시스템 | |
CN102037473A (zh) | 信息处理装置、信息处理方法、实现它们的计算机程序及集成电路 | |
US10116454B2 (en) | Authentication system and authentication method | |
US20070101416A1 (en) | Security method and system and computer-readable medium storing computer program for executing the security method | |
KR20150022429A (ko) | 모바일 애플리케이션의 위변조 방지 장치, 사용자 디바이스, 방법 및 시스템 | |
CN103379106A (zh) | 一种授权更新方法及装置 | |
CN111399867A (zh) | 一种软件升级方法、装置、设备及计算机可读存储介质 | |
WO2015087465A1 (ja) | 認証方法および認証システム | |
JP5734095B2 (ja) | 端末装置およびサーバ装置および電子証明書発行システムおよび電子証明書受信方法および電子証明書送信方法およびプログラム | |
KR102104470B1 (ko) | Usb메모리를 이용한 소프트웨어 라이센스 관리방법 및 장치 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
CN102236753A (zh) | 版权管理方法及系统 | |
KR102508524B1 (ko) | 데이터 구독 시스템에서의 암호화 키 관리 방법 | |
JP2012244380A (ja) | コンテンツ販売管理装置及びコンテンツ販売システム及びコンピュータプログラム及びコンテンツ販売管理方法 | |
JP2005071029A (ja) | 書き換え型icカード | |
KR100872592B1 (ko) | 장치 간의 디지털 저작권 관리 방법 및 시스템 | |
KR101356210B1 (ko) | 디지털 원본 컨텐츠 등록 시스템 및 방법 |
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: 20110504 |