CN118211275A - 一种安全架构系统、安全服务方法和计算设备 - Google Patents
一种安全架构系统、安全服务方法和计算设备 Download PDFInfo
- Publication number
- CN118211275A CN118211275A CN202211623826.4A CN202211623826A CN118211275A CN 118211275 A CN118211275 A CN 118211275A CN 202211623826 A CN202211623826 A CN 202211623826A CN 118211275 A CN118211275 A CN 118211275A
- Authority
- CN
- China
- Prior art keywords
- tcm
- tpm
- module
- security service
- security
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000000977 initiatory effect Effects 0.000 claims description 99
- 230000004044 response Effects 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 25
- 238000002955 isolation Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 39
- 238000004590 computer program Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 238000005259 measurement Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- JBWKIWSBJXDJDT-UHFFFAOYSA-N triphenylmethyl chloride Chemical compound C=1C=CC=CC=1C(C=1C=CC=CC=1)(Cl)C1=CC=CC=C1 JBWKIWSBJXDJDT-UHFFFAOYSA-N 0.000 description 6
- 238000009795 derivation Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101000873502 Homo sapiens S-adenosylmethionine decarboxylase proenzyme Proteins 0.000 description 1
- 102100035914 S-adenosylmethionine decarboxylase proenzyme Human genes 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007124 immune defense Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003752 polymerase chain reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供了一种安全架构系统、安全服务方法和计算设备,其中,在所述安全架构系统中构建了集成TCM和TPM的可信服务平台,使得安全架构系统可以利用所述TCM和/或所述TPM为目标对象提供安全服务,在满足度量目标对象的安全性的基础上,实现了兼容TPM和TCM为目标对象提供安全服务的目的,满足了不同种类的计算设备中的目标对象的安全服务需求,提高了可信计算技术对各类计算设备的兼容性。另外,密码模块与服务模块分设于不同的子系统中,一方面有利于降低对单个子系统的硬件要求,减少单个子系统的运算量,另一方面有利于增加服务模块与密码模块之间的隔离程度,提高安全架构系统的安全性。
Description
技术领域
本说明书涉及计算机应用技术领域,具体来说,涉及计算机应用技术领域下的可信计算技术,更具体地说,涉及一种安全架构系统、安全服务方法和计算设备。
背景技术
可信计算(Trusted Computing,TC)是一项由TCG(Trusted Computing Group,可信计算组织)推动和开发的技术。可信的核心目标之一是保证系统和应用的完整性,从而确定系统或软件运行在设计目标期望的可信状态。TCG为了达成上述目的,推出了TPM(Trusted Platform Module,可信平台模块)标准。
为了掌握在可信计算领域的技术主导权和产业主导权,保障国际信息安全的核心技术掌握在自己手中,我国在可信计算领域推出了TCM(Trusted Cryptography Module,可信密码模块)标准。TPM和TCM可以对计算机系统中运行的对象进行安全度量,实现对度量对象是否可信的评估。
随着可信计算技术的成熟,可信计算技术也逐步应用到各种计算设备中,如何使得可信计算技术兼容各类计算设备,是本领域技术人员努力的方向之一。
发明内容
为解决上述技术问题,本申请提供了一种安全架构系统、安全服务方法和计算设备,以实现兼容TPM和TCM为目标对象提供安全服务的目的,满足不同种类的计算设备中的目标对象的安全服务需求,提高了可信计算技术对各类计算设备的兼容性。
为实现上述技术目的,本申请实施例提供了如下技术方案:
第一方面,提供了一种安全架构系统,包括:第一子系统、第二子系统和第三子系统,所述第一子系统、所述第二子系统和所述第三子系统各自对应的安全等级依次递增,所述安全架构系统中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM和可信平台模块TPM;
所述TCM包括TCM密码模块和TCM服务模块,所述TCM密码模块和所述TCM服务模块构建于除所述第一子系统之外的不同子系统中;
所述TPM包括TPM密码模块和TPM服务模块,构建于除所述第一子系统之外的不同子系统中,且所述TPM密码模块与所述TCM密码模块构建于同一子系统,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统;
所述TCM密码模块,用于为所述TCM提供可信计算资源,所述TCM服务模块,用于调用所述TCM密码模块;
所述TPM密码模块,用于为所述TPM提供可信计算资源,所述TPM服务模块,用于调用所述TPM密码模块;
所述可信服务平台被配置为:响应于接收到的安全服务请求,利用所述TCM和/或所述TPM为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
用于提供可信计算资源的密码模块(TCM密码模块和TPM密码模块)和用于调用密码模块的服务模块(TPM服务模块和TCM服务模块)分别设置于不同的子系统中,可以在满足为目标对象提供安全服务的基础上,利用不同子系统之间的安全隔离特性,提高密码模块和服务模块之间的隔离特性,保障安全架构系统100的安全性。
另外,需要说明的是,相关现有技术中,外置TPM以及TCM的实现方式,会额外增加计算机设备中硬件资源的消耗。而本申请提出的发明构思,在不涉及可信计算的场景下,可以直接升级传统技术中关于处理器的设置;在涉及可信计算的场景下,可以直接更新处理器中关于可信技术的设置。这里,关于可信技术的实现方案可以包括:(外置TPM以及TCM中的一个或多个;或者,处理器内部集成一个TPM;或者,处理器内部集成一个TCM)。
在一种实施方式中,所述安全服务请求包括TCM安全服务请求和TPM安全服务请求;
所述第三子系统利用所述TCM和所述TPM为目标对象提供安全服务具体用于:响应于所述TCM安全服务请求,利用所述TCM提供安全服务,以得到第一安全服务结果,响应于所述TPM安全服务请求,利用所述TPM提供安全服务,以得到第二安全服务结果,将所述第一安全服务结果和所述第二安全服务结果作为所述安全服务结果。
当某些应用(可信应用或普通应用)支持TPM或TCM标准时,可以选择发起对应的TCM安全服务请求或TPM安全服务请求,以请求对应的安全服务模块提供安全服务,满足精确匹配安全服务请求的需求。
在一些实施方式中,所述TCM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务;
所述可信服务平台利用所述TCM和/或所述TPM为目标对象提供安全服务具体用于:
选择与所述安全服务请求对应的安全服务模块为所述目标对象提供安全服务;
所述安全服务模块包括所述TCM密码模块、TCM服务模块、TPM密码模块和TPM服务模块中的至少一者,所述安全服务请求包括第一类TCM安全服务请求、第二类TCM安全服务请求、第一类TPM安全服务请求和第二类TPM安全服务请求中的至少一者;
所述第一类TCM安全服务请求与所述TCM密码模块对应,所述第二类TCM安全服务请求与所述TCM服务模块对应,所述第一类TPM安全服务请求与所述TPM密码模块对应,所述第二类TPM安全服务请求与所述TPM服务模块对应。
本实施例中,通过细分安全服务请求的种类,将不同类别的安全服务请求分别与密码模块和服务模块分别对应,提高安全架构系统对于安全服务请求的响应速率,改善了安全架构系统的执行效率。
在一些实施方式中,所述目标对象包括可信应用和普通应用,所述第二子系统运行有所述可信应用,所述第一子系统运行有所述普通应用,所述安全服务请求包括:TCM安全服务请求和/或TPM安全服务请求;
所述TCM还包括TCM驱动模块,所述TPM还包括TPM驱动模块;
所述TCM驱动模块,用于响应所述普通应用或所述可信应用的TCM服务发起请求,发起所述TCM安全服务请求;
所述TPM驱动模块,用于响应所述普通应用或所述可信应用的TPM服务发起请求,发起所述TPM安全服务请求。
在安全架构系统中设计TCM和TPM的服务代理模块:TCM驱动模块和TPM驱动模块,可以满足应用安全地发起安全服务请求的需求。
在一些实施方式中,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块和所述TPM驱动模块构建于所述第一子系统中;
所述安全服务请求包括所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第二类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求和所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TPM安全服务请求中的至少一种。
将TCM安全服务请求和TPM安全服务请求细分为两类请求,可以根据请求类型执行不同的响应路径,在保障安全服务的安全性的基础上,提高安全架构系统的执行效率。
在一些实施方式中,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块和所述TPM驱动模块构建于所述第二子系统中;
所述安全服务请求包括所述可信应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或第二类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
得益于第二子系统与第一子系统的隔离,设置在第二子系统中的TCM驱动模块和TPM驱动模块的安全性相对较高。
在一些实施方式中,所述TCM驱动模块和所述TPM驱动模块还构建于所述第一子系统中;
所述安全服务请求还包括:所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或所述第二类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
在本实施方式中,安全架构系统可以根据不同场景下的安全性和执行效率的需求,选择相应的安全服务请求的发起和传递方式,满足各种场景下的安全服务需求。
在一些实施方式中,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块构建于所述第一子系统中,所述TPM驱动模块构建于所述第二子系统中;
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项。
本实施例提供的安全架构系统可以满足普通应用通过TCM驱动模块直接向TCM发起TCM安全服务请求的需求,也可满足普通应用通过TCM驱动模块发起TCM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TCM安全服务请求的安全性和执行效率,提高了系统的适用性。
在一些实施方式中,所述TCM驱动模块还构建于所述第二子系统中,所述安全服务请求还包括:所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项;
或
所述TPM驱动模块还构建于所述第一子系统中,所述安全服务请求还包括:所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
当TCM驱动模块设置在第一子系统和第二子系统中时,可以满足普通应用和可信应用对于TCM的各种安全服务请求的发起需求,即该安全架构系统可以满足普通应用通过TCM驱动模块直接向TCM发起TCM安全服务请求的需求,也可满足普通应用通过TCM驱动模块发起TCM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TCM安全服务请求的安全性和执行效率,提高了系统的适用性。
当TPM驱动模块设置在第一子系统和第二子系统中时,可满足普通应用和可信应用对于TPM的各种安全服务请求的发起需求。类似的,该安全架构系统可以满足普通应用CA通过TPM驱动模块直接向TPM发起TPM安全服务请求的需求,也可满足普通应用通过TPM驱动模块发起TPM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TPM安全服务请求的安全性和执行效率,提高了系统的适用性。
在一些实施方式中,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块构建于所述第二子系统中,所述TPM驱动模块构建于所述第一子系统中;
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
本实施例提供的安全架构系统可以满足普通应用通过TPM驱动模块直接向TPM发起TPM安全服务请求的需求,也可满足普通应用通过TPM驱动模块发起TPM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TPM安全服务请求的安全性和执行效率,提高了系统的适用性。
在一些实施方式中,所述第二子系统和所述第三子系统运行在第一处理器核中,或者,所述第二子系统运行在所述第一处理器核中,所述第三子系统运行在第二处理器核中。
当所述第二子系统和第三子系统运行在第一处理器核中时,安全架构系统对于计算设备的处理器核资源需求较少,有利于降低对计算设备的硬件要求。
当所述第二子系统和所述第三子系统分别运行在不同的处理器核上时,使得包括TCM和TPM的第三子系统可以无需依赖第二子系统的硬件资源而独立运行,不受第一子系统和第二子系统的影响,具有更高的安全性,有利于提高安全架构系统的整体安全性。另外,运行在独立的处理器核上的第三子系统可以独享第二处理器核的运算资源,有利于提高第三子系统的任务执行效率,从而提升所述安全架构系统的安全服务执行效率。
在一些实施方式中,将所述第一处理器核虚拟为一个安全核;
若所述TCM驱动模块运行在所述安全核上,所述TCM驱动模块还用于:在所述TCM服务发起请求为第一类型服务发起请求时,直接响应所述TCM服务发起请求,为所述目标对象提供安全服务;
若所述TPM驱动模块运行在所述安全核上,所述TPM驱动模块还用于:在当所述TPM服务发起请求为第二类型服务发起请求时,直接响应所述TPM服务发起请求,为所述目标对象提供安全服务。
在本实施例中,TCM驱动模块和TPM驱动模块可以在特定情况下响应特定的服务发起请求,提高安全架构系统的执行效率。
随着可信计算技术的不断发展,TCM和TPM支持的密钥类型可能会不断更新,为了提高安全架构系统对新增密钥类型的支持与适配,因此在一些实施方式中,所述TPM驱动模块还包括第一密钥表,所述TCM驱动模块还包括第二密钥表,所述第一密钥表中包括第一密钥和所述TPM支持的密钥类型,所述第二密钥表中包括第二密钥和所述TCM支持的密钥类型;
所述TPM驱动模块还用于确定所述TPM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第一密钥表中时,将所述TPM服务发起请求中所请求使用的密钥类型更新为所述第一密钥;
所述TCM驱动模块还用于确定所述TCM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第二密钥表中时,将所述TCM服务发起请求中所请求使用的密钥类型更新为所述第二密钥。
在本实施例中,可以提高安全架构系统对新增密钥类型的支持与适配。
在一些实施方式中,所述安全服务请求包括TCM安全服务请求和TPM安全服务请求;
所述第三子系统利用所述TCM和所述TPM为目标对象提供安全服务具体用于:响应于所述TCM安全服务请求,利用所述TCM提供安全服务,以得到第一安全服务结果,响应于所述TPM安全服务请求,利用所述TPM提供安全服务,以得到第二安全服务结果,将所述第一安全服务结果和所述第二安全服务结果作为所述安全服务结果。
如此可满足同时支持TPM标准和TCM标准的应用的安全服务需求,使得所述安全服务系统100的适用性得到提高。
第二方面,提供了一种安全服务方法,应用于安全架构系统,包括:第一子系统、第二子系统和第三子系统,所述第一子系统、所述第二子系统和所述第三子系统各自对应的安全等级依次递增,所述安全架构系统中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM和可信平台模块TPM;
所述TCM包括TCM密码模块和TCM服务模块,所述TCM密码模块和所述TCM服务模块构建于除所述第一子系统之外的不同子系统中;
所述TPM包括TPM密码模块和TPM服务模块,构建于除所述第一子系统之外的不同子系统中,且所述TPM密码模块与所述TCM密码模块构建于同一子系统,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统;
所述TCM密码模块,用于为所述TCM提供可信计算资源,所述TCM服务模块,用于调用所述TCM密码模块;
所述TPM密码模块,用于为所述TPM提供可信计算资源,所述TPM服务模块,用于调用所述TPM密码模块;
所述安全服务方法包括:
响应于接收到的安全服务请求,利用所述TCM和/或所述TPM为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
第三方面,提供了一种计算设备,所述计算设备包括如上述任一项所述的安全架构系统。
第四方面,本说明书实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述的安全服务方法。
第五方面,本说明书实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的安全服务方法的步骤。
从上述技术方案可以看出,本申请实施例提供了一种安全架构系统、安全服务方法和计算设备,其中,在所述安全架构系统中构建了集成TCM和TPM的可信服务平台,使得安全架构系统可以利用所述TCM和/或所述TPM为目标对象提供安全服务,在满足度量目标对象的安全性的基础上,实现了兼容TPM和TCM为目标对象提供安全服务的目的,满足了不同种类的计算设备中的目标对象的安全服务需求,提高了可信计算技术对各类计算设备的兼容性。
另外,密码模块(TCM密码模块和TPM密码模块)与服务模块(TCM服务模块和TPM服务模块)分设于不同的子系统中,一方面有利于降低对单个子系统的硬件要求,减少单个子系统的运算量,另一方面有利于增加服务模块与密码模块之间的隔离程度,提高安全架构系统的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本说明书的一个实施例提供的一种可选地安全架构系统的结构示意图;
图2为本说明书的一个实施例提供的又一种可选地安全架构系统的结构示意图;
图3为本说明书的另一个实施例提供的一种安全服务调用方式示意图;
图4为本说明书的另一个实施例提供的另一种安全服务调用方式示意图;
图5为本说明书的另一个实施例提供的又一种安全服务调用方式示意图;
图6为本说明书的另一个实施例提供的再一种安全服务调用方式示意图;
图7为本说明书的另一个实施例提供的一种可选地安全服务调用方式示意图;
图8为本说明书的另一个实施例提供的另一种可选地安全服务调用方式示意图;
图9为本说明书的另一个实施例提供的又一种可选地安全服务调用方式示意图;
图10为本说明书的另一个实施例提供的再一种可选地安全服务调用方式示意图;
图11为本说明书的另一个实施例提供的一种可选地安全服务调用方式示意图;
图12为本说明书的另一个实施例提供的再一种可选地安全架构系统的结构示意图;
图13为本说明书的又一个实施例提供的一种安全架构系统的结构示意图;
图14为本说明书的一个实施例提供的一种TCM驱动模块和TPM驱动模块的结构示意图;
图15为本说明书的又一个实施例提供的一种安全服务调用方式示意图;
图16为本说明书的一个实施例提供的一种安全服务方法的流程示意图;
图17为本说明书的一个实施例提供的一种计算设备的结构示意图。
具体实施方式
除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
为便于理解,下面先对本说明书实施例中可能出现的部分名词或术语进行解释:
可信计算(Trusted Computing,TC)是在计算设备中广泛使用的,基于安全服务模块支持的可信计算平台,以提高计算设备整体的安全性。
安全服务模块,是为计算设备提供完整性和真实性保障的安全芯片,一般通过物理方式被强绑定到计算设备的硬件平台中。安全服务器模块的核心功能是基于支持的密码算法构建可信计算3个维度的功能,包括:平台完整性度量与验证、平台可信身份标识与鉴别、平台数据保护。可选地,安全服务模块可以包括可信密码模块(Trusted CryptoModule,TCM)、可信平台模块(Trusted Platform Module,TPM)和可信平台控制模块(Trusted Platform Control Module,TPCM)中的至少一项。
TPM标准由TCG(Trusted Computing Group,是可信计算组织)推出,TPM技术规范遵循相应的国际规范,因此,它提供符合TPM国际规范的标准服务。通常的,TPM模块可包括TPM密码模块和TPM服务模块两部分。TPM密码模块和TPM服务模块配合工作能够支撑实现TPM可信计算技术的服务。
其中,TPM密码模块,用于为TPM可信计算服务提供可信计算资源,该可信计算资源具体包括用于存储密钥、随机数等数据的存储空间,和用于多种密码算法的算法模块等硬件资源。例如,通常情况下,TPM密码模块能够支持摘要算法单元SHA-1,SHA-256,和加解密算法单元RSA、ECC、AES,并且也支持新算法。
TCM,是我国借鉴国际可信计算技术框架与技术理念,结合国内可信计算技术的发展实际,提出的可信计算芯片。TCM使用的算法可以包括非对称密码算法、对称密码算法和杂凑算法。其中,非对称密码算法采用椭圆曲线密码算法,包括3个子算法:椭圆曲线数字签名算法(SM2-1)、椭圆曲线密钥交换协议(SM2-2)和椭圆曲线公钥加密算法(SM2-3)。对称密码算法采用SM-4算法(SM-4算法可以是基于ISO/IEC 18033-3:2010/AMD1:2021《信息技术安全技术加密算法第3部分:分组密码补篇1:SM4》标准的算法),该算法是一个分组算法,分组长度为128位,密钥长度为128位,加密算法与密钥扩展算法都采用32轮非线性迭代结构。杂凑算法采用SM-3算法(SM-3算法可以是基于GM/T 0004-2012《SM3密码杂凑算法》标准的算法),该算法将不定长度的文本压缩为32字节的摘要值。各密码算法采用的密钥可以不同。
从上面的描述可以发现,TPM和TCM的主要区别在于支持的密码算法和密钥种类不同,且TCM的存储主密钥为对称密钥。TCM可以包括用于提供密钥算法和存储密钥的算法引擎(例如可以是SM2引擎、SM3引擎、SM4引擎)、HMAC引擎(基于SM3引擎的计算消息认证码单元)和随机数产生器(例如真随机数发生器,True Random Number Generator,TRNG)等部件构成,这些部件可以通过依托硬件和软件的结合实现。
TCM密码模块,可以是指为TCM提供密码运算、随机数产生器、可信根和存储等基础可信计算资源中的全部或部分的模块,除此之外,TCM密码模块还可以为TCM提供交互接口等资源,TCM密码模块提供的可信计算资源包括的资源类型根据实际需求而定。
TCM服务模块,可以是指用于调用TCM密码模块,提供服务接口的模块。比如,TCM服务模块可以调用TCM密码模块为对象提供可信度量、可信报告和可信存储等安全服务。在一些情况下,TCM服务模块还可以对TCM密码模块提供的可信计算资源进行管理,隐藏TCM密码模块中功能命令的复杂度。TCM密码模块和TCM服务模块共同构成了完整的TCM。
TPM密码模块,可以是指为TPM提供存储空间和多种密码算法的算法引擎等可信计算资源中的全部或部分的模块。
TPM服务模块,可以是指用于调用TPM密码模块,提供服务接口的模块。相似的,TPM密码模块和TPM服务模块共同构成了完整的TPM。
可信平台控制模块TPCM,由TCM和平台控制机制组成,除提供密码服务功能之外,还提供平台控制功能,可以对系统中的总线进行控制,其中的平台控制机制可以称为TPCM控制模块(或TPCM模块),TPCM控制模块可以主动调用TCM提供诸如安全度量等安全服务。
安全服务,也可称为密码服务,是指安全服务模块基于自身支持的密码算法能够提供的服务类型。安全服务具体可以包括可信度量、可信存储和可信报告等等。可信存储可以是指通过密码机制实现数据的保密存储或完整性保护。可信报告可以是指向外界提供描述安全服务模块内部状态的报告。可信度量是指基于安全服务模块的密码算法,按照度量策略和度量基准值为计算设备中运行的其他对象的完整性和/或可信性的度量,根据该度量结果可对度量对象的运行状态进行控制。当对待度量对象的度量通过时,可以维持待度量对象原本的状态,或执行待度量对象在被可信度量之前预期需要执行的操作,当对待度量对象的度量不通过时,可以对待度量对象采取安全措施,例如,可以控制计算机复位,或者,可以控制待度量对象重新启动,以避免导致度量不通过的原因对计算机造成安全威胁。
可信根(Root of Trust,ROT)是安全架构系统可信的源头,是一个必然被信任的组件。对于一个安全系统架构中可信根的具体构成,不同的系统架构中有所不同,在一些情况下,可信根可以是指可信度量根(Root of Trust for Measurement,RTM)、可信存储根(Root of Trust for Storage,RTS)和可信报告根(Root of Trust for Reporting,RTR)。在一些情况下,可信根也可以是TPCM。在一些情况下,可信根也可以是存储在只读存储器(Read-Only Memory,ROM)中,且在系统上电启动过程中运行的第一行(段)代码(可以称为启动ROM或者处理器基础ROM(Processor Based ROM))。可信根可以认为是系统信任链建立的源头。
平台配置寄存器(Platform Configuration Register,PCR)是一组特殊的寄存器,这组寄存器将新写入值与寄存器中的原始值合并,进行一次Hash(哈希)计算,其运行结果作为PCR中的新值。一般我们将对特定对象的度量结果写入PCR寄存器中。
可信软件基(Trusted Software Base,TSB):可信软件基是可信计算体系的重要组成部分,基于运算和防护并存的双系统体系结构思想设计。软件层面的双系统即宿主基础软件和可信软件基。可信软件基在宿主基础软件运行时进行主动拦截和度量,不需要修改原应用,通过制定策略进行主动实时防护,从而破坏和阻止进入系统的病毒或木马等恶意软件,达到主动免疫防御的安全效果。
基本输入输出系统(Base Input/Output System,BIOS),基本输入输出系统通过I/O接口实现基本的输入输出操作。
Trust Zone(简称TZ),是一种为计算设备设计的安全硬件架构,其目的是为电子设备构建一个安全框架来抵御各种可能的攻击。TZ将处理器的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)世界。所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密和安全认证等),其余操作在非安全世界执行(如用户操作系统、各种普通应用程序等),安全世界和非安全世界通过一个名为监控模式(MonitorMode)的模式进行转换。在处理器架构上,TZ将物理的处理器核虚拟为两个核,一个非安全核(Non-secure Core,NS Core),运行非安全世界的代码,另一个安全核(Secure Core),运行安全世界的代码。
本说明书实施例提供的安全架构系统是为了兼容TCM和TPM,满足各类计算设备对于可信计算的要求,提高安全架构系统的兼容性。
下面将结合附图对本说明书实施例提供的安全架构系统进行示例性说明。
示例性系统
为了适配计算设备类型或某些应用场景,TCM包括的TCM密码模块和TCM服务模块可能会分别设置在不同子系统中,TPM包括的TPM密码模块和TPM服务模块可能会分别设置在不同子系统中,具体地,在一些实施例中,参考图1和图2,所述安全架构系统100包括:第一子系统11、第二子系统12和第三子系统13,所述第一子系统11、所述第二子系统12和所述第三子系统13各自对应的安全等级依次递增,所述安全架构系统100中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM21和可信平台模块TPM22。
所述TCM21包括TCM密码模块212和TCM服务模块213,所述TCM密码模块212和所述TCM服务模块213构建于除所述第一子系统11之外的不同子系统中。
所述TPM22包括TPM密码模块222和TPM服务模块223,TPM密码模块222和TPM服务模块223构建于除所述第一子系统11之外的不同子系统中,且所述TPM密码模块222与所述TCM密码模块212构建于同一子系统,所述TPM服务模块223和所述TCM服务模块213不同时与所述TPM密码模块222和所述TCM密码模块212构建于同一子系统。
所述TCM密码模块212,用于为所述TCM21提供可信计算资源,所述TCM服务模块213,用于调用所述TCM密码模块212。
所述TPM密码模块222,用于为所述TPM22提供可信计算资源,所述TPM服务模块223,用于调用所述TPM密码模块222。
所述可信服务平台被配置为:响应于接收到的安全服务请求,利用所述TCM21和/或所述TPM22为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
本实施例提供的安全架构系统中构建了三级子系统,这三级子系统包括第一子系统11、第二子系统12和第三子系统13,且第一子系统11、第二子系统12和第三子系统13的安全等级依次递增,这样不同子系统可以负责不同安全级别的对象运行和/或数据处理任务,在保证系统安全的情况下,可以合理利用处理器资源。
第一子系统11可以是普通执行环境(Rich Execution Environment,REE,也可称为富执行环境)子系统,该子系统可以用于运行计算设备的操作系统(Operating System,OS)和普通应用(也可称为客户端应用(Client Application,CA))等对象。
第二子系统12可以是可信执行环境(Trusted Execution Environment,TEE)子系统,该子系统可以用于运行可信应用(Trusted Application,TA),满足数字版权管理(Digital Rights Management,DRM)、移动支付和敏感数据保护等应用需求。
第三子系统13可以是安全元件子系统(Secure Element,SE),该子系统可以用于实施安全芯片技术,保证重要资源的安全性。
安全等级,也可称为安全保护等级,可以是指定义各子系统信息安全保护能力的等级。子系统的信息安全保护能力可以通过硬件隔离和/或软件隔离等方式保障。
图1中示出了在第一子系统11、第二子系统12和第三子系统13中可能运行/搭载的对象。例如,第一子系统11中可以运行系统固件、操作系统OS或虚拟机VM。系统固件可以是实现为面向桌面、服务器等领域的可扩展固件接口(Unified Extensible FirmwareInterface,UEFI),或者可以是实现为面向嵌入式领域的引导加载程序(U-Boot)。此外,基础固件、系统固件以及操作系统OS可以与带外控制系统进行通信。
第二子系统12可以运行第二子系统12依赖的安全操作系统(TEE OS)。在一些实施例中,第二子系统12中还可以运行可信应用TA。第二子系统12的安全等级高于第一子系统11,即第二子系统12的安全性高于第一子系统11,第二子系统12例如可以用于支持支付业务中校验支付环境等功能。第二子系统可以向诸如第一子系统11及其上运行的普通应用提供可信服务并且与第一子系统11相隔离,即第一子系统11及其上运行的普通应用无法直接访问第二子系统12的硬件和软件资源。
第三子系统13运行的应用可以称为安全元件应用(Applet),其安全性高于第二子系统12。第三子系统13可以用于存储诸如根密钥等重要资源,通过权限校验、密码技术等手段来保证第三子系统13中存储的重要资源的安全性。在安全架构系统中,通过这三个子系统之间的相互配合来保障计算环境的安全性。
除此之外,第一子系统11还用于运行普通应用程序(简称普通应用),其中的普通应用可以是涉及支付场景的应用,其中实现诸如浏览商品、选择商品、提交订单等基本业务。第二子系统12中可以运行可信应用,通过可信应用来对第一子系统11提供可信赖的运行环境,再通过对机密性、完整性的保护和数据访问权限的控制,确保端到端的安全性。此外,第二子系统12可以与第一子系统11并行运行,并且例如第二子系统12通过安全的应用程序编程接口(Application Programming Interface,API)与第一子系统11进行交互。作为示例,第一子系统可以向第二子系统12传递可信服务发起请求,以请求第二子系统12提供相应的可信服务并基于请求做出响应。
第三子系统13相较于第二子系统12的安全等级更高,可以用于构建可信安全的资源存储和运算环境。一般情况下,第三子系统13中的软件系统相对简单,包括较少的硬件元器件,因此更容易建立物理防护和实施安全保障,从而提高第三子系统13的安全等级,以服务于对安全性要求更高的安全系统。作为示例,第二子系统12可以向第三子系统13传递安全服务请求,以请求第三子系统13提供相应的安全服务并基于请求做出响应,第二子系统12请求的安全服务例如可以是请求第三子系统13进行与密码运算相关的服务等。
例如,在一些实施例中,第一子系统11与第二子系统12不存在直接访问第三子系统13的物理通路,只能通过共享内存等交互的方式向第三子系统13提出请求,由第三子系统13向第一子系统11、第二子系统12提供服务。关于第三子系统13,作为一种实现方式,第三子系统13可以包括执行引擎、静态随机存取存储器(SRAM)、非易失性存储器,或者还可以包括密钥派生模块(Key Derivation Function,KDF)。其中,诸如根密钥等重要资源可以存入第三子系统13内的非易失性存储器,并且由第三子系统13的固件或硬件保证根密钥不具有传递出第三子系统13的软件或硬件路径。此外,第三子系统13内集成的密钥派生模块KDF例如可以实现为软件或硬件并用于实现基于根密钥产生派生密钥。例如,密钥派生模块KDF可以是哈希函数,通常用来将短密码变成长密码。具体的,上述共享内存可以是指在多处理器的计算机系统中,可以被不同处理器访问的大容量内存。在一些实施方式中,第三子系统13包括的执行引擎等资源可以作为TCM和/或TPM的可信计算资源。
在本实施例中,用于提供可信计算资源的密码模块(TCM密码模块212和TPM密码模块222)和用于调用密码模块的服务模块(TPM服务模块223和TCM服务模块213)分别设置于不同的子系统中,可以在满足为目标对象提供安全服务的基础上,利用不同子系统之间的安全隔离特性,提高密码模块和服务模块之间的隔离特性,保障安全架构系统100的安全性。
可以理解的是,图1和图2中示出了满足“TPM密码模块222和TPM服务模块223构建于除所述第一子系统11之外的不同子系统中,且所述TPM密码模块222与所述TCM密码模块212构建于同一子系统,所述TPM服务模块223和所述TCM服务模块213不同时与所述TPM密码模块222和所述TCM密码模块212构建于同一子系统”这一条件的部分情形。在TPM密码模块222和TCM密码模块212位于第三子系统13的情况下,TCM服务模块213和TPM服务模块223中的一者也可以位于第三子系统13,另一者位于第二子系统12中。在TPM密码模块222和TCM密码模块212位于第二子系统13的情况下,TCM服务模块213和TPM服务模块223中的一者也可以位于第二子系统13,另一者位于第三子系统12中。附图中并未穷举所有的布置情况。
为了精确地匹配安全服务请求的需求,在本说明书的一个实施例中,将安全服务请求细分为TCM安全服务请求和TPM安全服务请求,以使第三子系统有针对性地做出响应。具体地,所述第三子系统利用所述TCM和/或所述TPM为目标对象提供安全服务具体用于:
选择与所述安全服务请求对应的安全服务模块为所述目标对象提供安全服务。
所述安全服务模块包括所述TCM和/或所述TPM,所述安全服务请求包括TCM安全服务请求和/或TPM安全服务请求,所述TCM安全服务请求与所述TCM对应,所述TPM安全服务请求与所述TPM对应。
在本实施例中,当某些应用(可信应用或普通应用)支持TPM或TCM标准时,可以选择发起对应的TCM安全服务请求或TPM安全服务请求,以请求对应的安全服务模块提供安全服务。
在一些实施方式中,也可能存在一些应用同时支持TCM和TPM标准,且在某些应用场景下需要同时调用TPM和TCM提供安全服务,则在当所述安全服务请求同时包括所述TCM安全服务请求和所述TPM安全服务请求时,所述第三子系统13利用所述TCM和所述TPM为目标对象提供安全服务具体用于:响应于所述TCM安全服务请求,利用所述TCM提供安全服务,以得到第一安全服务结果,响应于所述TPM安全服务请求,利用所述TPM提供安全服务,以得到第二安全服务结果,将所述第一安全服务结果和所述第二安全服务结果作为所述安全服务结果。
如此可满足同时支持TPM标准和TCM标准的应用的安全服务需求,使得所述安全服务系统100的适用性得到提高。
在一些实施方式中,服务模块接收到安全服务请求后,会根据安全服务请求调用密码模块执行密码算法完成安全服务,但在一些实施方式中,为了提高响应效率,对于某些安全服务请求,服务模块也可以直接响应,提供安全服务。
具体地,在一些实施例中,所述TCM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务。
所述TPM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务。
所述可信服务平台利用所述TCM和/或所述TPM为目标对象提供安全服务具体用于:
选择与所述安全服务请求对应的安全服务模块为所述目标对象提供安全服务。
所述安全服务模块包括所述TCM密码模块、TCM服务模块、TPM密码模块和TPM服务模块中的至少一者,所述安全服务请求包括第一类TCM安全服务请求、第二类TCM安全服务请求、第一类TPM安全服务请求和第二类TPM安全服务请求中的至少一者。
所述第一类TCM安全服务请求与所述TCM密码模块对应,所述第二类TCM安全服务请求与所述TCM服务模块对应,所述第一类TPM安全服务请求与所述TPM密码模块对应,所述第二类TPM安全服务请求与所述TPM服务模块对应。
在本实施例中,将TCM安全服务请求细分为第一类TCM安全服务请求和第二类TCM安全服务请求,其中,第一类TCM安全服务请求(例如度量目标对象的安全性等请求)为需要调用TCM密码模块中的密码算法进行响应的请求,这类请求与TCM密码模块对应。
第二类TCM安全服务请求(例如读取PCR中存储的度量值等请求)为无需调用TCM密码模块,TCM服务模块即可直接响应的请求,这类请求与TCM服务模块对应。
类似的,将TPM安全服务请求细分为第一类TPM安全服务请求和第二类TPM安全服务请求,其中,第一类TPM安全服务请求(例如度量目标对象的安全性等请求)为需要调用TPM密码模块中的密码算法进行响应的请求,这类请求与TPM密码模块对应。
第二类TPM安全服务请求(例如读取PCR中存储的度量值等请求)为无需调用TPM密码模块,TPM服务模块即可直接响应的请求,这类请求与TPM服务模块对应。
本实施例中,通过细分安全服务请求的种类,将不同类别的安全服务请求分别与密码模块和服务模块分别对应,提高安全架构系统对于安全服务请求的响应速率,改善了安全架构系统的执行效率。
在一些实施例中,在安全架构系统100中还设计了TCM和TPM的服务代理模块:TCM驱动模块和TPM驱动模块,以满足应用安全地发起安全服务请求的需求。具体地,所述目标对象包括可信应用和普通应用,所述第二子系统运行有所述可信应用,所述第一子系统运行有所述普通应用,所述安全服务请求包括:TCM安全服务请求和/或TPM安全服务请求。
所述TCM还包括TCM驱动模块,所述TPM还包括TPM驱动模块。
所述TCM驱动模块,用于响应所述普通应用或所述可信应用的TCM服务发起请求,发起所述TCM安全服务请求。
所述TPM驱动模块,用于响应所述普通应用或所述可信应用的TPM服务发起请求,发起所述TPM安全服务请求。
TCM驱动模块属于TCM的一部分,TCM驱动模块可以构建于第一子系统和/或第二子系统中,满足普通应用或可信应用通过TCM驱动模块发起TCM安全服务请求的需求。TCM服务发起请求是指普通应用或可信应用在某些场景中需要请求TCM提供安全服务以满足场景的服务需求时,向TCM驱动模块发起的请求TCM提供安全服务的请求。TCM驱动模块在接收到该TCM服务发起请求时,响应该TCM服务发起请求,向TCM发起TCM安全服务请求。
类似的,TPM驱动模块属于TPM的一部分,TPM驱动模块可以构建于第一子系统和/或第二子系统中,满足普通应用或可信应用通过TPM驱动模块发起TPM安全服务请求的需求。TPM服务发起请求是指普通应用CA或可信应用TA在某些场景中需要请求TPM提供安全服务以满足场景的服务需求时,向TPM驱动模块发起的请求TPM提供安全服务的请求。TPM驱动模块在接收到该TPM服务发起请求时,响应该TPM服务发起请求,向TPM发起TPM安全服务请求。
TCM驱动模块和TPM驱动模块可以同时构建于第一子系统中,也可以同时构建于第二子系统中,还可以不同时构建于同一子系统中。当TCM驱动模块和TPM驱动模块的构建情况不同时,可能会出现不同的TCM或TPM的调用方式。
下面结合附图分别进行介绍。
参考图3和图4,所述TCM驱动模块和所述TPM驱动模块构建于所述第一子系统中。
所述安全服务请求包括所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第二类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求和所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TPM安全服务请求中的至少一种。
图3示出了第一类TCM安全服务请求和第一类TPM安全服务请求的发起和传递路径,以第一类TCM安全服务请求为例,普通应用CA向TCM驱动模块发起TCM服务发起请求,TCM驱动模块响应TCM服务发起请求,生成第一类TCM安全服务请求向TCM服务模块或直接向TCM密码模块传输,若TCM服务模块接收到第一类TCM安全服务请求,则转发给TCM密码模块,TCM密码模块响应TCM服务模块转发的第一类TCM安全服务请求,向TCM服务模块返回安全服务结果,TCM服务模块接收到返回的安全服务结果返回给TCM密码模块。若TCM密码模块接收到TCM驱动模块直接发送的第一类安全服务请求,则将响应获得的安全服务结果直接返回给TCM驱动模块。
类似的,对于第一类TPM安全服务请求,普通应用CA向TPM驱动模块发起TPM服务发起请求,TPM驱动模块响应TPM服务发起请求,生成第一类TPM安全服务请求向TPM服务模块或直接向TPM密码模块传输,若TPM服务模块接收到第一类TPM安全服务请求,则转发给TPM密码模块,TPM密码模块响应TPM服务模块转发的第一类TPM安全服务请求,向TPM服务模块返回安全服务结果,TPM服务模块接收到返回的安全服务结果返回给TPM密码模块。若TPM密码模块接收到TPM驱动模块直接发送的第一类安全服务请求,则将响应获得的安全服务结果直接返回给TPM驱动模块。
图4示出了第二类TCM安全服务请求和第二类TPM安全服务请求的发起和传递路径,对于第二类TCM安全服务请求,普通应用CA向TCM驱动模块发起TCM服务发起请求,TCM驱动模块响应该TCM服务发起请求向TCM服务模块发送第二类TCM安全服务请求,TCM服务模块直接响应第二类TCM安全服务请求,向TCM驱动模块返回安全服务结果。
类似的,对于第二类TPM安全服务请求,普通应用CA向TPM驱动模块发起TPM服务发起请求,TPM驱动模块响应该TPM服务发起请求向TPM服务模块发送第二类TPM安全服务请求,TPM服务模块直接响应第二类TPM安全服务请求,向TPM驱动模块返回安全服务结果。
在图4所示的这种情况,可以快速响应普通应用的安全服务需求,提高安全架构系统的执行效率。
在图3所示的两种情况中,第一类TCM/TPM安全服务请求经过TCM/TPM服务模块转发给TCM密码模块的传递路径具有安全性高的特点。而第一类TCM/TPM安全服务请求直接传递给TCM/TPM密码模块的传递路径具有执行效率高的特点。TCM/TPM驱动模块可以根据TCM/TPM服务发起请求的类型选择相应的传递路径,在安全性和执行效率之间取得平衡。
在图3和图4所示的情形中,TCM密码模块、TCM服务模块、TPM密码模块和TPM服务模块的设置位置并不影响请求调用和传递流程,因此在图3和图4中并未示出上述模块的设置位置。
在一些实施例中,如图5和图6所示,所述TCM驱动模块和所述TPM驱动模块构建于所述第二子系统中。
所述安全服务请求包括所述可信应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或第二类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
图5和图6所示的实施例中,TCM驱动模块和TPM驱动模块均设置于第二子系统中,普通应用CA想要发起TCM/TPM服务发起请求,需要先向第二子系统中的可信应用TA发起一个可信应用请求,可信应用TA响应于可信应用请求,在需要请求TCM/TPM提供安全服务时,则再向TCM/TPM驱动模块发起TCM/TPM服务发起请求,后续的第一类TCM/TPM安全服务请求、第二类TCM/TPM安全服务请求的传递流程与图3和图4的相关描述类似,可参考与图3和图4相关的部分描述。
在一些可选的实施例中,参考图7,所述TCM驱动模块和所述TPM驱动模块还构建于所述第一子系统中。
所述安全服务请求还包括:所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或所述第二类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
参考图7,图7所示的安全架构系统中,在第一子系统和第二子系统中均设置了TCM驱动模块和TPM驱动模块,使得普通应用CA可以通过多种路径发起相应的安全服务请求,满足了普通应用CA发起安全服务请求的路径多样性,提高了安全架构系统的适用性。
具体地,普通应用CA可以通过第一子系统中的TCM/TPM驱动模块发起安全服务请求,也可以通过向第二子系统中的可信应用TA发送可信应用请求,由可信应用TA向第二子系统中的TCM/TPM驱动模块发起安全服务请求。在安全服务请求由TCM/TPM驱动模块发起后的传递流程可参考图3~图6的相关描述。
在一些实施例中,参考图8,所述TCM驱动模块构建于所述第一子系统中,所述TPM驱动模块构建于所述第二子系统中。
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项。
在图8所示的实施例中,各类安全服务请求的发起、响应和传递路径可参考上文中的相关描述。
在本实施例中,TCM驱动模块设置于第一子系统中,TPM驱动模块设置于第二子系统中,第一子系统中的普通应用CA可以利用TCM驱动模块发起TCM安全服务请求,可以通过请求第二子系统中的可信应用请求,使可信应用TA通过TPM驱动模块发起TPM安全服务请求。本实施例提供的安全架构系统100可以满足普通应用CA通过TCM驱动模块直接向TCM发起TCM安全服务请求的需求,也可满足普通应用CA通过TCM驱动模块发起TCM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TCM安全服务请求的安全性和执行效率,提高了系统的适用性。
可选地,参考图9,所述TCM驱动模块还构建于所述第二子系统中,所述安全服务请求还包括:所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项;
或
参考图10,所述TPM驱动模块还构建于所述第一子系统中,所述安全服务请求还包括:所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
在图9中,TCM驱动模块设置在第一子系统和第二子系统中,满足普通应用CA和可信应用TA对于TCM的各种安全服务请求的发起需求,即该安全架构系统100可以满足普通应用CA通过TCM驱动模块直接向TCM发起TCM安全服务请求的需求,也可满足普通应用CA通过TCM驱动模块发起TCM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TCM安全服务请求的安全性和执行效率,提高了系统的适用性。
在图10中,TPM驱动模块设置在第一子系统和第二子系统中,满足普通应用CA和可信应用TA对于TPM的各种安全服务请求的发起需求。类似的,该安全架构系统100可以满足普通应用CA通过TPM驱动模块直接向TPM发起TPM安全服务请求的需求,也可满足普通应用CA通过TPM驱动模块发起TPM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TPM安全服务请求的安全性和执行效率,提高了系统的适用性。
在图9~图10所示的实施例中,各类安全服务请求的发起、响应和传递路径可参考上文中的相关描述。
可选地,参考图11,所述TCM驱动模块构建于所述第二子系统中,所述TPM驱动模块构建于所述第一子系统中;
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
在图11所示的实施例中,各类安全服务请求的发起、响应和传递路径可参考上文中的相关描述。
在本实施例中,TPM驱动模块设置于第一子系统中,TCM驱动模块设置于第二子系统中,第一子系统中的普通应用CA可以利用TPM驱动模块发起TPM安全服务请求,可以通过请求第二子系统中的可信应用请求,使可信应用TA通过TCM驱动模块发起TCM安全服务请求。本实施例提供的安全架构系统100可以满足普通应用CA通过TPM驱动模块直接向TPM发起TPM安全服务请求的需求,也可满足普通应用CA通过TPM驱动模块发起TPM安全服务请求并经过第二子系统转发的需求,兼顾了普通应用在不同场景下发起TPM安全服务请求的安全性和执行效率,提高了系统的适用性。
可选地,参考图10,所述TCM驱动模块还构建于所述第一子系统中,所述安全服务请求还包括:所述普通应用通过位于所述第一子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过位于所述第一子系统中的所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项;
或
参考图9,所述TPM驱动模块还构建于所述第二子系统中,所述安全服务请求还包括:所述可信应用通过所述第二子系统中的TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述第二子系统中的TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
为了适应更多架构的计算设备,在本说明书的一些实施方式中,参考图12,所述第二子系统12和所述第三子系统13可以运行在同一个第一处理器核31中,或者,参考图13,所述第二子系统12运行在所述第一处理器核31中,所述第三子系统13运行在第二处理器核32中。
在图12中,安全架构系统对于计算设备的处理器核资源需求较少,有利于降低对计算设备的硬件要求。
在图13中,所述第二子系统和所述第三子系统分别运行在不同的处理器核上(即所述第二子系统运行在所述第一处理器核上,所述第三子系统运行在所述第二处理器核上),使得包括TCM和TPM的第三子系统可以无需依赖第二子系统的硬件资源而独立运行,不受第一子系统和第二子系统的影响,具有更高的安全性,有利于提高安全架构系统的整体安全性。另外,运行在独立的处理器核上的第三子系统可以独享第二处理器核的运算资源,有利于提高第三子系统的任务执行效率,从而提升所述安全架构系统的安全服务执行效率。
图12和图13主要为了说明第二子系统和第三子系统是否运行于同一个处理器核,TCM密码模块、TPM密码模块也可以设置在第三子系统中,TPM服务模块和TPM服务模块也可以设置在第二子系统中,本说明书对此并不做限定。
随着可信计算技术的不断发展,TCM和TPM支持的密钥类型可能会不断更新,为了提高安全架构系统对新增密钥类型的支持与适配,因此在一些实施例中,参考图14,所述TPM驱动模块221还包括第一密钥表2211,所述TCM驱动模块211还包括第二密钥表2111,所述第一密钥表2211中包括第一密钥和所述TPM支持的密钥类型,所述第二密钥表中包括第二密钥和所述TCM支持的密钥类型。
所述TPM驱动模块221还用于确定所述TPM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第一密钥表2211中时,将所述TPM服务发起请求中所请求使用的密钥类型更新为所述第一密钥。
所述TCM驱动模块211还用于确定所述TCM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第二密钥表2111中时,将所述TCM服务发起请求中所请求使用的密钥类型更新为所述第二密钥。
如图14所示,在本实施例中,TPM驱动模块221中设置了第一密钥表2211,第一密钥表2211中包括了所述TPM支持的密钥类型,其中的第一密钥即是TPM驱动模块221默认支持的密钥类型,当TPM驱动模块221接收到TPM服务发起请求时,会基于TPM服务发起请求中所请求使用的密钥类型在第一密钥表2211中进行匹配,若匹配成功,则不对所述TPM服务发起请求中所请求使用的密钥类型进行修改,若匹配失败,则表示目前的TPM并不支持当前接收到的所述TPM服务发起请求中所请求使用的密钥类型,此时可以将所述TPM服务发起请求中所请求使用的密钥类型更新为所述第一密钥,以使TPM对所有的TPM服务发起请求均可兼容,提高了安全架构系统的兼容性。
类似的,TCM驱动模块211中设置了第二密钥表2111,第二密钥表2111中包括了所述TCM支持的密钥类型,其中的第二密钥即是TCM驱动模块211默认支持的密钥类型,当TCM驱动模块211接收到TCM服务发起请求时,会基于TCM服务发起请求中所请求使用的密钥类型在第二密钥表2111中进行匹配,若匹配成功,则不对所述TCM服务发起请求中所请求使用的密钥类型进行修改,若匹配失败,则表示目前的TCM并不支持当前接收到的所述TCM服务发起请求中所请求使用的密钥类型,此时可以将所述TCM服务发起请求中所请求使用的密钥类型更新为所述第二密钥,以使TCM对所有的TCM服务发起请求均可兼容,提高了安全架构系统的兼容性。
在一些实施例中,参考图15,所述安全架构系统100在所述第一处理器核中虚拟有一个安全核101。
若所述TCM驱动模块运行在所述安全核101上,所述TCM驱动模块还用于:在所述TCM服务发起请求为第一类型服务发起请求时,直接响应所述TCM服务发起请求,为所述目标对象提供安全服务。
若所述TPM驱动模块运行在所述安全核101上,所述TPM驱动模块还用于:在当所述TPM服务发起请求为第二类型服务发起请求时,直接响应所述TPM服务发起请求,为所述目标对象提供安全服务。
参考图15,所述安全架构系统100可以基于安全技术(例如可以是Trust Zone技术、SGX(Software Guard Extensions)技术)将第一处理器核虚拟为一个安全核101和非安全核(图15中未示出),运行于安全核101上的对象具有访问整个第一处理器核的资源的权限,而运行于非安全核上的对象则具有访问非安全核对应的资源的权限。当TCM驱动模块和TPM驱动模块运行在安全核101上时,TCM驱动模块和TPM驱动模块的安全性得到保障,因此在一些情况下,可以利用TCM驱动模块响应部分特定类型的TCM服务发起请求(即第一类型服务发起请求),直接响应这些类型的TCM服务发起请求,为所述目标对象提供安全服务,第一类型服务发起请求可以包括读取PCR中存储的安全度量值等类型的请求。
类似的,在一些情况下,可以利用TPM驱动模块响应部分特定类型的TPM服务发起请求(即第二类型服务发起请求),直接响应这些类型的TPM服务发起请求,为所述目标对象提供安全服务,第二类型服务发起请求可以包括读取PCR中存储的安全度量值等类型的请求。
示例性方法
相应的,基于相同的发明构思,本说明书实施例还提供了一种安全服务方法,应用于安全架构系统,如图16所示,所述安全服务方法包括:
S101:响应于接收到的安全服务请求,利用所述TCM和/或所述TPM为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
所述安全架构系统包括:包括:第一子系统、第二子系统和第三子系统,所述第一子系统、所述第二子系统和所述第三子系统各自对应的安全等级依次递增,所述安全架构系统中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM和可信平台模块TPM;
所述TCM包括TCM密码模块和TCM服务模块,所述TCM密码模块和所述TCM服务模块构建于除所述第一子系统之外的不同子系统中;
所述TPM包括TPM密码模块和TPM服务模块,构建于除所述第一子系统之外的不同子系统中,且所述TPM密码模块与所述TCM密码模块构建于同一子系统,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统;
所述TCM密码模块,用于为所述TCM提供可信计算资源,所述TCM服务模块,用于调用所述TCM密码模块;
所述TPM密码模块,用于为所述TPM提供可信计算资源,所述TPM服务模块,用于调用所述TPM密码模块。
关于安全架构系统和步骤S101的具体响应过程可参考上文中“示例性系统”的相关描述,本说明书在此不做赘述。
示例性电子设备
本申请另一实施例还提出一种电子设备,参见图17所示,本说明书的一个示例性实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本说明书上述实施例中描述的根据本说明书各种实施例的安全服务方法中的步骤。
该电子设备的内部结构可以如图17所示,该电子设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该中控设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以本说明书上述实施例中描述的根据本说明书各种实施例的安全服务方法中的步骤。
处理器可包括主处理器,还可包括基带芯片、调制解调器等。
存储器中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
处理器可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
输入设备可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器执行存储器中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种安全服务方法的各个步骤。
该电子设备还可以包括显示组件和语音组件,该显示组件可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示组件上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本说明书实施例提供的安全服务方法还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的安全服务方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本说明书各种实施例的安全服务方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本说明书所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本说明书的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本说明书实施例提供的方案范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本说明书构思的前提下,还可以做出若干变形和改进,这些都属于本说明书的保护范围。因此,本说明书专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种安全架构系统,其特征在于,包括:第一子系统、第二子系统和第三子系统,所述第一子系统、所述第二子系统和所述第三子系统各自对应的安全等级依次递增,所述安全架构系统中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM和可信平台模块TPM;
所述TCM包括TCM密码模块和TCM服务模块,所述TCM密码模块和所述TCM服务模块构建于除所述第一子系统之外的不同子系统中;
所述TPM包括TPM密码模块和TPM服务模块,构建于除所述第一子系统之外的不同子系统中,且所述TPM密码模块与所述TCM密码模块构建于同一子系统,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统;
所述TCM密码模块,用于为所述TCM提供可信计算资源,所述TCM服务模块,用于调用所述TCM密码模块;
所述TPM密码模块,用于为所述TPM提供可信计算资源,所述TPM服务模块,用于调用所述TPM密码模块;
所述可信服务平台被配置为:响应于接收到的安全服务请求,利用所述TCM和/或所述TPM为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
2.根据权利要求1所述的系统,其特征在于,所述TCM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述安全服务请求,为所述目标对象提供安全服务;
所述可信服务平台利用所述TCM和/或所述TPM为目标对象提供安全服务具体用于:
选择与所述安全服务请求对应的安全服务模块为所述目标对象提供安全服务;
所述安全服务模块包括所述TCM密码模块、TCM服务模块、TPM密码模块和TPM服务模块中的至少一者,所述安全服务请求包括第一类TCM安全服务请求、第二类TCM安全服务请求、第一类TPM安全服务请求和第二类TPM安全服务请求中的至少一者;
所述第一类TCM安全服务请求与所述TCM密码模块对应,所述第二类TCM安全服务请求与所述TCM服务模块对应,所述第一类TPM安全服务请求与所述TPM密码模块对应,所述第二类TPM安全服务请求与所述TPM服务模块对应。
3.根据权利要求1所述的系统,其特征在于,所述目标对象包括可信应用和普通应用,所述第二子系统运行有所述可信应用,所述第一子系统运行有所述普通应用,所述安全服务请求包括:TCM安全服务请求和/或TPM安全服务请求;
所述TCM还包括TCM驱动模块,所述TPM还包括TPM驱动模块;
所述TCM驱动模块,用于响应所述普通应用或所述可信应用的TCM服务发起请求,发起所述TCM安全服务请求;
所述TPM驱动模块,用于响应所述普通应用或所述可信应用的TPM服务发起请求,发起所述TPM安全服务请求。
4.根据权利要求3所述的系统,其特征在于,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块和所述TPM驱动模块构建于所述第一子系统中;
所述安全服务请求包括所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第二类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求和所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TPM安全服务请求中的至少一种。
5.根据权利要求3所述的系统,其特征在于,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块和所述TPM驱动模块构建于所述第二子系统中;
所述安全服务请求包括所述可信应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或第二类TCM安全服务请求、所述可信应用通过所述TCM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
6.根据权利要求5所述的系统,其特征在于,所述TCM驱动模块和所述TPM驱动模块还构建于所述第一子系统中;
所述安全服务请求还包括:所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TCM驱动模块向所述TCM服务模块发起的所述第一类TCM安全服务请求或所述第二类TCM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的所述第一类TPM安全服务请求或所述第二类TPM安全服务请求中的至少一种。
7.根据权利要求3所述的系统,其特征在于,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块构建于所述第一子系统中,所述TPM驱动模块构建于所述第二子系统中;
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述可信应用通过所述第二子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述普通应用通过所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项。
8.根据权利要求7所述的系统,其特征在于,所述TCM驱动模块还构建于所述第二子系统中,所述安全服务请求还包括:所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求中的至少一项;
或
所述TPM驱动模块还构建于所述第一子系统中,所述安全服务请求还包括:所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过位于所述第一子系统中的所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
9.根据权利要求3所述的系统,其特征在于,所述TCM安全服务请求包括第一类TCM安全服务请求和/或第二类TCM安全服务请求,所述TPM安全服务请求包括第一类TPM安全服务请求和/或第二类TPM安全服务请求;
所述TCM服务模块,还用于直接响应所述第二类TCM安全服务请求,为所述目标对象提供安全服务;
所述TPM服务模块,还用于直接响应所述第二类TPM安全服务请求,为所述目标对象提供安全服务;
所述TCM驱动模块构建于所述第二子系统中,所述TPM驱动模块构建于所述第一子系统中;
所述安全服务请求包括所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM密码模块直接发起的第一类TCM安全服务请求、所述可信应用通过所述第二子系统中的所述TCM驱动模块向所述TCM服务模块发起的第一类TCM安全服务请求或第二类TCM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM密码模块直接发起的第一类TPM安全服务请求、所述普通应用通过所述TPM驱动模块向所述TPM服务模块发起的第一类TPM安全服务请求或第二类TPM安全服务请求中的至少一项。
10.根据权利要求3~9任一项所述的系统,其特征在于,所述第二子系统和所述第三子系统运行在第一处理器核中,或者,所述第二子系统运行在所述第一处理器核中,所述第三子系统运行在第二处理器核中。
11.根据权利要求10所述的系统,其特征在于,将所述第一处理器核虚拟为一个安全核;
若所述TCM驱动模块运行在所述安全核上,所述TCM驱动模块还用于:在所述TCM服务发起请求为第一类型服务发起请求时,直接响应所述TCM服务发起请求,为所述目标对象提供安全服务;
若所述TPM驱动模块运行在所述安全核上,所述TPM驱动模块还用于:在当所述TPM服务发起请求为第二类型服务发起请求时,直接响应所述TPM服务发起请求,为所述目标对象提供安全服务。
12.根据权利要求3~9任一项所述的系统,其特征在于,所述TPM驱动模块还包括第一密钥表,所述TCM驱动模块还包括第二密钥表,所述第一密钥表中包括第一密钥和所述TPM支持的密钥类型,所述第二密钥表中包括第二密钥和所述TCM支持的密钥类型;
所述TPM驱动模块还用于确定所述TPM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第一密钥表中时,将所述TPM服务发起请求中所请求使用的密钥类型更新为所述第一密钥;
所述TCM驱动模块还用于确定所述TCM服务发起请求中所请求使用的密钥类型,并在当确定的所述密钥类型不在所述第二密钥表中时,将所述TCM服务发起请求中所请求使用的密钥类型更新为所述第二密钥。
13.根据权利要求1~9任一项所述的系统,其特征在于,所述安全服务请求包括TCM安全服务请求和TPM安全服务请求;
所述第三子系统利用所述TCM和所述TPM为目标对象提供安全服务具体用于:响应于所述TCM安全服务请求,利用所述TCM提供安全服务,以得到第一安全服务结果,响应于所述TPM安全服务请求,利用所述TPM提供安全服务,以得到第二安全服务结果,将所述第一安全服务结果和所述第二安全服务结果作为所述安全服务结果。
14.一种安全服务方法,其特征在于,应用于安全架构系统,包括:第一子系统、第二子系统和第三子系统,所述第一子系统、所述第二子系统和所述第三子系统各自对应的安全等级依次递增,所述安全架构系统中构建有可信服务平台,所述可信服务平台包括可信密码模块TCM和可信平台模块TPM;
所述TCM包括TCM密码模块和TCM服务模块,所述TCM密码模块和所述TCM服务模块构建于除所述第一子系统之外的不同子系统中;
所述TPM包括TPM密码模块和TPM服务模块,构建于除所述第一子系统之外的不同子系统中,且所述TPM密码模块与所述TCM密码模块构建于同一子系统,所述TPM服务模块和所述TCM服务模块不同时与所述TPM密码模块和所述TCM密码模块构建于同一子系统;
所述TCM密码模块,用于为所述TCM提供可信计算资源,所述TCM服务模块,用于调用所述TCM密码模块;
所述TPM密码模块,用于为所述TPM提供可信计算资源,所述TPM服务模块,用于调用所述TPM密码模块;
所述安全服务方法包括:
响应于接收到的安全服务请求,利用所述TCM和/或所述TPM为目标对象提供安全服务,以得到安全服务结果,所述安全服务结果表征所述目标对象的可信程度,所述目标对象包括运行于所述第一子系统和/或所述第二子系统中的对象。
15.一种计算设备,其特征在于,所述计算设备包括如权利要求1-13任一项所述的安全架构系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623826.4A CN118211275A (zh) | 2022-12-16 | 2022-12-16 | 一种安全架构系统、安全服务方法和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211623826.4A CN118211275A (zh) | 2022-12-16 | 2022-12-16 | 一种安全架构系统、安全服务方法和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118211275A true CN118211275A (zh) | 2024-06-18 |
Family
ID=91445216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211623826.4A Pending CN118211275A (zh) | 2022-12-16 | 2022-12-16 | 一种安全架构系统、安全服务方法和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118211275A (zh) |
-
2022
- 2022-12-16 CN CN202211623826.4A patent/CN118211275A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210004483A1 (en) | Secure Public Cloud | |
US10831934B2 (en) | Management of authenticated variables | |
EP3657377B1 (en) | Techniques to secure computation data in a computing environment | |
US9575790B2 (en) | Secure communication using a trusted virtual machine | |
CN107667347B (zh) | 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 | |
US11722300B2 (en) | Chip, private key generation method, and trusted certification method | |
CN107111715A (zh) | 将可信执行环境用于代码和数据的安全性 | |
WO2018086469A1 (zh) | 芯片中非易失性存储空间的数据存储方法和可信芯片 | |
KR102660863B1 (ko) | 구성 설정들의 안전한 서명 | |
CN117353921B (zh) | 密钥管理方法、装置、计算设备及计算机可读存储介质 | |
Jiang et al. | An effective authentication for client application using ARM trustzone | |
CN117453343A (zh) | 虚拟机度量、机密计算认证方法、设备、系统及存储介质 | |
US20230106455A1 (en) | Efficient launching of trusted execution environments | |
CN118211275A (zh) | 一种安全架构系统、安全服务方法和计算设备 | |
CN118211274A (zh) | 一种安全架构系统、安全服务方法和计算设备 | |
CN118211226A (zh) | 一种安全架构系统、安全服务方法和计算设备 | |
Ashraf et al. | Analytical study of hardware-rooted security standards and their implementation techniques in mobile | |
CN118211227A (zh) | 一种安全架构系统、安全服务方法和计算设备 | |
CN117375832B (zh) | 密钥管理方法、装置、计算设备及计算机可读存储介质 | |
CN118211239A (zh) | 一种安全架构系统、实现安全可信启动的方法和计算设备 | |
CN118211242A (zh) | 一种安全架构系统、实现安全可信启动的方法和计算设备 | |
CN117473530B (zh) | 基于可信执行环境的轻量级可信度量系统及方法 | |
Proskurin et al. | seTPM: Towards flexible trusted computing on mobile devices based on globalplatform secure elements | |
CN118504005A (zh) | 密钥管理方法、装置、片上系统、计算设备及存储介质 | |
CN118550647A (zh) | 安全虚拟机的数据共享方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |