CN111506915A - 授权访问的控制方法、装置和系统 - Google Patents
授权访问的控制方法、装置和系统 Download PDFInfo
- Publication number
- CN111506915A CN111506915A CN201910100538.2A CN201910100538A CN111506915A CN 111506915 A CN111506915 A CN 111506915A CN 201910100538 A CN201910100538 A CN 201910100538A CN 111506915 A CN111506915 A CN 111506915A
- Authority
- CN
- China
- Prior art keywords
- application
- application program
- registered
- metric value
- identification information
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种授权访问的控制方法、装置和系统。其中,该方法包括:获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果执行对应操作。本发明解决了由于相关技术中未对TCG/TPM标准定义授权码的保护方案,导致影响整个访问控制系统的安全性的技术问题。
Description
技术领域
本发明涉及密码运算领域,具体而言,涉及一种授权访问的控制方法、装置和系统。
背景技术
TPM体统了可信存储的功能:证书、密钥等敏感数据可以安全存放在TPM安全芯片内部(NV空间)。其中的非对称私钥、对称密钥等都可以存储于TPM安全芯片内部,不被外部系统获取,同时所有的加解密操作均在TPM内部运行,最终可以实现密钥的可用不可见。当需要使用存储在TPM安全芯片的数据,使用者用户需要提供正确的授权密码,才能正常调用对应的操作。
TPM2.0使用了三个持久性(persistent)密钥层结构来支持不同的实例,它们由独立的访问授权控制(授权密码和策略),独立的管理员以及略微不同的操作方法:平台密码层结构(Platform Hierarchy)、存储密码层结构(Storage Hierarchy)、认证密码层结构(Endorsement Hierarchy)。另外Null Hierarchy不同于持久性密钥层,授权密钥为空,策略也为空,同时不可持久重启后清空。
平台密码层结构句柄TPM_RH_Platform,授权密码提供给平台OEM厂商使用,用来实现对TPM的Provision(初始化、功能定制等)。通常由BIOS分配,向上不可见(管理员、用户无法获取)。
认证密码层结构句柄TPM_RH_ENDOSEMENT,使用授权密钥endorsement password访问,主要用作平台认证。
存储密码层结构句柄TPM_RH_OWNER,使用授权密钥owner password访问,提供给平台拥有者使用,管理员或者业务使用方。最终提供给业务方使用的即是该存储密码层结构,不同的业务方可以在该层次下创建一个属于自己的主密钥SRK(Storage Root Key)也称之为primary storage key,用来生成和保护业务密钥。
除此之外,字典攻击锁定句柄TPM_RH_LOCKOUT,使用授权密钥lockout password访问,用于重置字典攻击锁定机制,或清除TPM_RH_OWNER层次结构,通常提供给管理员使用。
但是在对TPM的现有访问机制中,业务方需要提供正确的授权码才能正常使用TPM/TPCM安全芯片,访问安全芯片中的可信存储数据(包括业务密钥),而授权码如何保护成为整个访问控制机制的短板。如果授权码保存在磁盘本地,则存在信息泄露风险;如果授权码固化编译在应用程序之中,则存在被程序逆向的风险;如果授权码每次手动输入,则不利于大规模、自动化的云业务场景。
针对上述由于相关技术中未对TCG/TPM标准定义授权码的保护方案,导致影响整个访问控制系统的安全性的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种授权访问的控制方法、装置和系统,以至少解决由于相关技术中未对TCG/TPM标准定义授权码的保护方案,导致影响整个访问控制系统的安全性的技术问题。
根据本发明实施例的一个方面,提供了一种授权访问的控制方法,包括:获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果执行对应操作。
可选的,在获取应用程序的访问请求中的标识信息之前,该方法还包括:将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
进一步地,可选的,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:接收应用程序的注册请求;获取应用程序的进程信息;根据进程信息计算应用程序的应用度量值;根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选的,获取应用程序的进程信息包括:通过调用指令获取应用程序的进程信息;或,遍历文件夹中的所有文件,获取进程名,根据进程名获取应用程序的进程信息。
可选的,根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:生成随机标识;将随机标识和应用度量值作为待注册信息写入已注册进程表;将更新后的已注册进程表通过安全芯片进行加密,得到密文;将密文确定为标识信息。
可选的,获取应用程序的访问请求中的标识信息包括:接收应用程序发送的访问请求;根据访问请求获取标识信息。
可选的,根据标识信息获取应用程序的进程信息包括:根据标识信息查询应用程序是否存在于已注册进程表中;在查询结果为是的情况下,获取标识在已注册进程表中的进程信息;在查询结果为否的情况下,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选的,将应用度量值与注册应用度量值进行匹配包括:将应用度量值与标识信息在已注册进程表中的注册应用度量值进行匹配。
进一步地,可选的,根据匹配结果执行对应操作包括:在匹配结果为相同的情况下,认证通过,确定应用程序的完整性;在匹配结果为不同的情况下,认证失败,确定应用程序已篡改,并转入攻击检测操作。
根据本发明实施例的另一方面,还提供了一种授权访问的控制装置,包括:获取模块,用于获取应用程序的访问请求中的标识信息;计算模块,用于根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;匹配模块,用于将应用度量值与注册应用度量值进行匹配;控制模块,用于根据匹配结果执行对应操作。
根据本发明实施例的又一方面,还提供了一种授权访问的控制系统,包括:应用层、访问控制层、驱动层和平台层,其中,访问控制层通过应用层获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果通过驱动层和平台层执行对应操作。
根据本发明实施例的再一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述授权访问的控制方法。
在本发明实施例中,采用增加访问控制层ACL,其中,仅有ACL有权调用TPM/TPCM接口,应用层APP需要使用ACL转发TPM/TPCM操作的方式,通过获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果执行对应操作,达到了不再需要额外的机密(授权码)保护的目的,从而实现了对应用进程的完整性认证,并通过认证的应用进程才可以访问应用进程的数据NV空间的技术效果,进而解决了由于相关技术中未对TCG/TPM标准定义授权码的保护方案,导致影响整个访问控制系统的安全性的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种授权访问的控制系统的示意图;
图2是本发明实施例二的一种授权访问的控制方法的计算机终端的硬件结构框图;
图3是根据本发明实施例二的授权访问的控制方法的流程图;
图4是根据本发明实施例二的授权访问的控制方法中应用进程注册ACL进程表的示意图;
图4a是根据本发明实施例二的授权访问的控制方法中获取进程信息的示意图;
图5是根据本发明实施例二的授权访问的控制方法中应用进程请求TPM/TPCM操作的示意图;
图6是根据本发明实施例三的授权访问的控制装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请涉及的技术名词:
TCG(Trusted Computing Group):国际可信计算组,由AMD、Hewlett-Packard、IBM、Intel、Microsoft等组成。
可信计算(Trusted Computing):国际可信计算组TCG开发和推广的技术,在计算和通信系统中使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。使用可信计算,计算机将一直以预期的方式运行,这些行为将由计算机硬件和程序共同保证,通过使用系统其余部分无法访问的硬件安全模块来实现此行为。
可信平台模块(TPM,Trusted Platform Model):TPM是一种安全密码处理器的国际标准,由TCG撰写,通过专门的微控制器将加密密钥集成到设备中来保护硬件。TPM安全芯片是指符合TPM标准的安全芯片,一般通过物理方式被强绑定到计算平台,它能有效地保护PC、防止非法用户访问。
可信平台控制模块(TPCM,Trusted Platform Control Model):TPCM作为中国国内自主可控的可信节点植入可信源根,在TPM基础上加以信任跟控制功能,实现了以密码为基础的主动控制和度量;TPCM先于CPU启动并对BIOS进行验证,由此改变了TPM作为被动设备的传统思路,实现了TPCM对整个平台的主动控制。
NV空间(Non-Volatile Space):由可信安全芯片提供的非易失存储空间,用于提供对敏感信息的可信存储,可供用户分配使用。
授权码(Authorization Value):TPM的访问控制机制,只有提供正确的授权码,才能提供对应的密码句柄服务。授权码通常为一串字符传,或是十六进制整数。
APP:应用层Application。
A/B/C:标记不同的应用id,应用进程不能直接访问TPM/TPCM接口。
ACL:访问控制层Acess Control Layer,仅有ACL有权限调用TPM/TPCM接口。
MSR:应用度量值Measurement。
CALL:接口调用Call。
DRV:驱动Driver。
TSS:可信软件栈TPM/TPCM Software Stack。
HDW:平台硬件层Hardware。
NV:非易失性存储空间Non-Volatile Space。
实施例1
根据本发明实施例的一方面,提供了一种授权访问的控制系统,图1是本发明实施例的一种授权访问的控制系统的示意图。如图1所示,包括:
应用层、访问控制层、驱动层和平台层,其中,访问控制层通过应用层获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果通过驱动层和平台层执行对应操作。
具体的,本申请实施例提供的授权访问的控制系统,新增访问控制层ACL,仅有ACL有权限调用TPM/TPCM接口,应用层APP需要使用ACL转发TPM/TPCM操作;现有TPM/TPCM操作为由应用层,到驱动层,到平台层,使用授权码来进行访问控制,本申请区别于相关技术中的授权码机制,直接将应用进程同NV空间绑定,本申请实施例提供的授权访问的控制系统不需要额外的机密(授权码)保护;实现了对应用进程的完整性认证,通过认证的应用进程才可以访问自己的数据NV空间。如图1所示,应用层中的APP_A,APP_B,APP_C;通过访问控制层(ACL),由ACL校验APP_A,APP_B,APP_C的MSR值,在校验成功的情况下,将APP_A,APP_B,APP_C访问对应的驱动层以及平台层的NV空间。
其中,本申请实施例提供的ACL访问控制功能层,可以直接在TPM/TPCM的TSS或者驱动中实现。
需要说明的是,本申请实施例涉及的安全芯片,包括但不限于TPM、TPCM等。
实施例2
根据本发明实施例,还提供了一种授权访问的控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图2是本发明实施例二的一种授权访问的控制方法的计算机终端的硬件结构框图。如图2所示,计算机终端20可以包括一个或多个(图中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器204、以及用于通信功能的传输模块206。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端20还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储应用软件的软件程序以及模块,如本发明实施例中的授权访问的控制方法对应的程序指令/模块,处理器202通过运行存储在存储器204内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的授权访问的控制方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端20的通信供应商提供的无线网络。在一个实例中,传输装置206包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置206可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图3所示的授权访问的控制方法。图3是根据本发明实施例二的授权访问的控制方法的流程图。
步骤S302,获取应用程序的访问请求中的标识信息;
本申请上述步骤S302中,本申请实施例中的标识信息,为应用程序在注册时得到的标识信息;其中,在本申请实施例中应用程序在本申请实施例中,以应用进程使用进程注册ID(即,本申请实施例中的标识信息),请求TPM/TPCM操作。
其中,应用程序在进行应用进程注册ID可以不属于机密信息,可以公开(即,以明文传输);在本申请实施例提供的授权访问的控制方法可以应用于访问控制层,ACL对进程的身份认证,依靠的是应用进程度量哈希值MSR。
步骤S304,根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;
本申请上述步骤S304中,ACL调用安全芯片TPM/TPCM进行解密,获取已注册进程表,ACL根据该ID在已注册进程表中进行查询,判断该ID是否在该已注册进程表中,若不在,ACL会根据该ID执行注册流程;若在,ACL根据该ID获取该APP的进程信息;ACL根据该进程信息计算应用度量值,即,该APP的MSR。
步骤S306,将应用度量值与注册应用度量值进行匹配;
本申请上述步骤S306中,ACL根据ID查询已注册进程表查询该APP在已注册进程表中注册的应用度量值MSR,将该MSR与步骤S304中计算得到的MSR进行匹配,根据步骤S308根据不同的匹配结果执行对应的操作。
步骤S308,根据匹配结果执行对应操作。
本申请上述步骤S308中,若步骤S306中注册应用度量值MSR与步骤S304中计算得到的MSR相同,则ACL认证通过,该应用程序APP的完整性验证完毕,并执行APP请求安全芯片TPM/TPCM的操作,并由ACL将操作结果返回APP。
若步骤S306中注册应用度量值MSR与步骤S304中计算得到的MSR不同,则确定该APP被篡改,其中,由于MSR是进程身份信息的哈希Hash度量值,如果当前计算的MSR同初次注册的MSR不同,表示应用进程的身份信息已经被篡改,该APP的完整性认证不能通过。以进程的内存映射为例:
已映射静态文件包含了进程执行文件本身(例如/usr/sbin/sshd),以及加载的共享对象(例如/usr/lib64/libnss_files-2.17.so)等,任一文件被改动都会导致最终的MSR值不同。
当步骤S306中注册应用度量值MSR与步骤S304中计算得到的MSR不同时,转入攻击检测系统,攻击检测,包括但不限于:日志审计、网络审计、行为审计等各种安全手段。
在本发明实施例中,采用增加访问控制层ACL,其中,仅有ACL有权调用TPM/TPCM接口,应用层APP需要使用ACL转发TPM/TPCM操作的方式,通过获取应用程序的访问请求中的标识信息;根据标识获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果执行对应操作,达到了不再需要额外的机密(授权码)保护的目的,从而实现了对应用进程的完整性认证,并通过认证的应用进程才可以访问应用进程的数据NV空间的技术效果,进而解决了由于相关技术中未对TCG/TPM标准定义授权码的保护方案,导致影响整个访问控制系统的安全性的技术问题。
本申请实施例提供的授权访问的控制方法包括两个部分,第一部分:应用进程注册ACL进程表的流程;第二部分:应用进程请求TPM/TPCM操作的流程。
其中,第一部分:应用进程注册ACL进程表的流程具体如下:
可选的,在步骤S302中获取应用程序的访问请求中的标识信息之前,本申请实施例提供的授权访问的控制方法还包括:
步骤S300,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
进一步地,可选的,步骤S300中将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:
接收应用程序的注册请求;
获取应用程序的进程信息;
根据进程信息计算应用程序的应用度量值;
根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选的,获取应用程序的进程信息包括:通过调用指令获取应用程序的进程信息;或,遍历文件夹中的所有文件,获取进程名,根据进程名获取应用程序的进程信息。
可选的,根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:生成随机标识;将随机标识和应用度量值作为待注册信息写入已注册进程表;将更新后的已注册进程表通过安全芯片进行加密,得到密文;将密文确定为标识信息。
综上,图4是根据本发明实施例二的授权访问的控制方法中应用进程注册ACL进程表的示意图;如图4所示,具体如下:
1.应用进程请求ACL注册;
2.ACL获取应用进程的进程信息:
其中,ACL以应用进程本身的信息作为进程身份,获取进程信息的方法可以有多种多样,包括但不限于进程名、进程程序文件、进程调用共享对象、进程运行环境、进程内存映射等等。这里以进程的内存映射为例:
首先,获取进程Pid。常用方法有以下2种(包括但不限于),以sshd为例:
(1)使用ps-elf指令,例如:
$sudo ps-elf|grep sshd
4S root 955 1 0 80 0-20212 poll_s Jan23?00:00:10/usr/sbin/sshd-D
第四项标识,进程sshd的pid为955。
(2)遍历/proc文件夹里所有的[pid]/comm文件,获取进程名,例如:
|$sudo cat/proc/955/comm
sshd
其中,comm文件内容为sshd表示,进程sshd的pid为955。
接下来,读取进程映射表/proc/[pid]/maps,如图4a所示,图4a是根据本发明实施例二的授权访问的控制方法中获取进程信息的示意图;从maps中每行的最后一列中,可以得到进程已映射的所有静态文件绝对路径,从而定位所有的已映射文件。
其中,这里有两点需要剔除:
(1)每行的最后一项重复文件,例如图4a中的/usr/lib64/libnss_files-2.17.so,共计出现四次(分别代表执行端、代码段、数据段、可写段),在已映射文件中只记一次。
(2)每行的最后一项若为非文件绝对路径,不计入已映射文件,例如图4a中的[heap][stack][vdso][vsyscall]。
这样,进程的内存映射信息(所有己映射的静态文件)就己经获取到了,可以作为进程的身份信息,因为里面包含了进程执行文件本身(例如/usr/sbin/sshd),以及加载的共享对象(例如/usr/lib64/libnssfiles-2.17.so),只要这些文件对象没有被篡改,可以保证进程的完整胜未被破坏。
3.ACL度量进程信息,计算度量值MSR;
ACL对进程的身份信息进行度量,计算其Hash度量值,标记为MSR。(Hash算法包括但不限于SHA-1\SHA256\SM3等)。仍以进程的内存映射为例:
通过所有的进程己映射静态文件的绝对路径,计算每个文件的Hash度量值,标记为d0、d1、d2、…、dn(n为进程己映射文件的数量),则计算所有文件的扩展度量值:
MSR=Hash(…Hash(Hash(d0||dl)||d2)…||dn)
4.ACL使用MSR,注册应用进程,更新己注册进程表;
ACL生成随机id,并将<id,MSR>作为进程的注册信息,写入己注册进程表。结合下一步骤5,己注册进程表实际上是加密存储的,在本步骤4中,需要将己注册进程表先调用TPM/TPCM解密,然后再更新写入。
5.ACL使用TPM/TPCM存储根密钥,保护己注册进程表;
TPM/TPCM安全芯片提供数据保护的功能,其原理是安全芯片内置了存储根密钥,数据明文送入芯片后使用存储根密钥加密,然后芯片输出数据密文,数据密文直接保存在芯片外部的磁盘空间中。因为存储根密钥保存在安全芯片内部,外部可用不可见,只有芯片本身才能将数据密文解密。ACL将更新过的己注册进程表,送入安全芯片TPM/TPCM加密,然后将密文保存在外部磁盘,每次需要使用时先解密密文。
6.ACL返回当前进程注册ID,给当前应用进程。
第二部分:应用进程请求TPM/TPCM操作的流程具体如下:
可选的,步骤S302中获取应用程序的访问请求中的标识信息包括:接收应用程序发送的访问请求;根据访问请求获取标识信息。
可选的,步骤S304中根据标识信息获取应用程序的进程信息包括:根据标识信息查询应用程序是否存在于已注册进程表中;在查询结果为是的情况下,获取标识在已注册进程表中的进程信息;在查询结果为否的情况下,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选的,步骤S306中将应用度量值与注册应用度量值进行匹配包括:将应用度量值与标识信息在已注册进程表中的注册应用度量值进行匹配。
进一步地,可选的,步骤S308中根据匹配结果执行对应操作包括:在匹配结果为相同的情况下,认证通过,确定应用程序的完整性;在匹配结果为不同的情况下,认证失败,确定应用程序已篡改,并转入攻击检测操作。
综上,图5是根据本发明实施例二的授权访问的控制方法中应用进程请求TPM/TPCM操作的示意图;如图5所示,具体如下:
1.应用进程使用进程注册id,请求TPM/TPCM操作。
其中,进程注册id不属于机密信息,可以公开;ACL对进程的身份认证,依靠的是MSR。
2.ACL查询己注册进程表。
ACL调用TPM/TPCM解密,获取己注册进程表。
3.进程id是否己在己注册进程表中。
4.如果id不在己注册进程表中,转入应用进程注册ACL流程中。
5.ACL获取进程信息。
如果id在己注册进程表中,如图4中的注册流程,使用相同的方法获取进程信息,获取方法必须一致。
6.ACL度量进程信息,计算度量值MSR。
7.ACL使用进程注册id,查询己注册进程表,获取注册MSR。
8.当前计算MSR是否等于注册MSR。
9.如果计算MSR不等于注册MSR,则说明应用进程被篡改。
MSR是进程身份信息的Hash度量值,如果当前计算的MSR同初次注册的MSR不同,表示应用进程的身份信息己经被篡改,其完整性认证不能通过。仍以进程的内存映射为例:
己映射静态文件包含了进程执行文件本身(例如/usr/sbin/sshd),以及加载的共享对象(例如/usr/lib64/libnssfiles-2.17.so)等,任一文件被改动都会导致最终的MSR值不同。
10.如果计算MSR等于注册MSR,则ACL认证通过,应用程序的完整胜。
11.如果计算MSR不等于注册MSR,则说明应用进程被篡改,转入攻击检测系统攻击检测,包括但不限于日志审计、网络审计、行为审计等各种安全手段。
12.ACL执行应用进程请求的TPM/TPCM操作。
如果应用进程的完整胜认证通过(紧接第10步)。
13.ACL返回操作结果,送达应用进程。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的授权访问的控制方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述授权访问的控制方法的装置,图6是根据本发明实施例三的授权访问的控制装置的示意图,如图6所示,该装置包括:
获取模块62,用于获取应用程序的访问请求中的标识信息;计算模块64,用于根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;匹配模块66,用于将应用度量值与注册应用度量值进行匹配;控制模块68,用于根据匹配结果执行对应操作。
实施例4
根据本发明实施例的再一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例2中的授权访问的控制方法。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的授权访问的控制方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取应用程序的访问请求中的标识信息;根据标识信息获取应用程序的进程信息,并依据进程信息计算应用程序的应用度量值;将应用度量值与注册应用度量值进行匹配;根据匹配结果执行对应操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在获取应用程序的访问请求中的标识信息之前,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:接收应用程序的注册请求;获取应用程序的进程信息;根据进程信息计算应用程序的应用度量值;根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取应用程序的进程信息包括:通过调用指令获取应用程序的进程信息;或,遍历文件夹中的所有文件,获取进程名,根据进程名获取应用程序的进程信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据应用度量值在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息包括:生成随机标识;将随机标识和应用度量值作为待注册信息写入已注册进程表;将更新后的已注册进程表通过安全芯片进行加密,得到密文;将密文确定为标识信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取应用程序的访问请求中的标识信息包括:接收应用程序发送的访问请求;根据访问请求获取标识信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据标识信息获取应用程序的进程信息包括:根据标识信息查询应用程序是否存在于已注册进程表中;在查询结果为是的情况下,获取标识在已注册进程表中的进程信息;在查询结果为否的情况下,将应用程序在已注册进程表中进行注册,得到应用程序在已注册进程表中的标识信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将应用度量值与注册应用度量值进行匹配包括:将应用度量值与标识信息在已注册进程表中的注册应用度量值进行匹配。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据匹配结果执行对应操作包括:在匹配结果为相同的情况下,认证通过,确定应用程序的完整性;在匹配结果为不同的情况下,认证失败,确定应用程序已篡改,并转入攻击检测操作。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种授权访问的控制方法,包括:
获取应用程序的访问请求中的标识信息;
根据所述标识信息获取所述应用程序的进程信息,并依据所述进程信息计算所述应用程序的应用度量值;
将所述应用度量值与注册应用度量值进行匹配;
根据匹配结果执行对应操作。
2.根据权利要求1所述的方法,其中,在获取应用程序的访问请求中的标识信息之前,所述方法还包括:
将所述应用程序在已注册进程表中进行注册,得到所述应用程序在所述已注册进程表中的标识信息。
3.根据权利要求2所述的方法,其中,将所述应用程序在已注册进程表中进行注册,得到所述应用程序在所述已注册进程表中的标识信息包括:
接收所述应用程序的注册请求;
获取所述应用程序的进程信息;
根据所述进程信息计算所述应用程序的应用度量值;
根据所述应用度量值在所述已注册进程表中进行注册,得到所述应用程序在所述已注册进程表中的标识信息。
4.根据权利要求3所述的方法,其中,获取所述应用程序的进程信息包括:
通过调用指令获取所述应用程序的进程信息;或,
遍历文件夹中的所有文件,获取进程名,根据所述进程名获取所述应用程序的进程信息。
5.根据权利要求3所述的方法,其中,根据所述应用度量值在所述已注册进程表中进行注册,得到所述应用程序在所述已注册进程表中的标识信息包括:
生成随机标识;
将所述随机标识和所述应用度量值作为待注册信息写入所述已注册进程表;
将更新后的所述已注册进程表通过安全芯片进行加密,得到密文;
将所述密文确定为所述标识信息。
6.根据权利要求1至5中任一项所述的方法,其中,获取应用程序的访问请求中的标识信息包括:
接收所述应用程序发送的访问请求;
根据所述访问请求获取所述标识信息。
7.根据权利要求1至5中任一项所述的方法,其中,根据所述标识信息获取所述应用程序的进程信息包括:
根据所述标识信息查询所述应用程序是否存在于已注册进程表中;
在查询结果为是的情况下,获取所述标识在所述已注册进程表中的进程信息;
在查询结果为否的情况下,将所述应用程序在所述已注册进程表中进行注册,得到所述应用程序在所述已注册进程表中的标识信息。
8.根据权利要求1至5中任一项所述的方法,其中,将所述应用度量值与注册应用度量值进行匹配包括:
将所述应用度量值与所述标识信息在所述已注册进程表中的注册应用度量值进行匹配。
9.根据权利要求8所述的方法,其中,根据匹配结果执行对应操作包括:
在匹配结果为相同的情况下,认证通过,确定所述应用程序的完整性;
在匹配结果为不同的情况下,认证失败,确定所述应用程序已篡改,并转入攻击检测操作。
10.一种授权访问的控制装置,包括:
获取模块,用于获取应用程序的访问请求中的标识信息;
计算模块,用于根据所述标识信息获取所述应用程序的进程信息,并依据所述进程信息计算所述应用程序的应用度量值;
匹配模块,用于将所述应用度量值与注册应用度量值进行匹配;
控制模块,用于根据匹配结果执行对应操作。
11.一种授权访问的控制系统,包括:应用层、访问控制层、驱动层和平台层,其中,所述访问控制层通过所述应用层获取应用程序的访问请求中的标识信息;根据所述标识信息获取所述应用程序的进程信息,并依据所述进程信息计算所述应用程序的应用度量值;将所述应用度量值与注册应用度量值进行匹配;根据匹配结果通过所述驱动层和平台层执行对应操作。
12.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行:权利要求1所述的授权访问的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100538.2A CN111506915B (zh) | 2019-01-31 | 2019-01-31 | 授权访问的控制方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100538.2A CN111506915B (zh) | 2019-01-31 | 2019-01-31 | 授权访问的控制方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506915A true CN111506915A (zh) | 2020-08-07 |
CN111506915B CN111506915B (zh) | 2023-05-02 |
Family
ID=71863834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910100538.2A Active CN111506915B (zh) | 2019-01-31 | 2019-01-31 | 授权访问的控制方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506915B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073400A (zh) * | 2020-08-28 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 一种访问控制方法、系统、装置及计算设备 |
CN112685101A (zh) * | 2020-12-31 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 面向可信执行环境的系统调用处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010701A1 (en) * | 2002-07-09 | 2004-01-15 | Fujitsu Limited | Data protection program and data protection method |
US20050268093A1 (en) * | 2004-05-25 | 2005-12-01 | Proudler Graeme J | Method and apparatus for creating a trusted environment in a computing platform |
US20090276860A1 (en) * | 2005-11-02 | 2009-11-05 | Naohide Miyabashi | Method of protecting confidential file and confidential file protecting system |
CN106789059A (zh) * | 2016-11-10 | 2017-05-31 | 中国电子科技集团公司第二十八研究所 | 一种基于可信计算的远程双向访问控制系统及方法 |
CN107079036A (zh) * | 2016-12-23 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 注册及授权方法、装置及系统 |
CN107766724A (zh) * | 2017-10-17 | 2018-03-06 | 华北电力大学 | 一种可信计算机平台软件栈功能架构的构建方法 |
CN108399338A (zh) * | 2018-02-06 | 2018-08-14 | 南京航空航天大学 | 基于进程行为的平台完整性状态信息度量方法 |
-
2019
- 2019-01-31 CN CN201910100538.2A patent/CN111506915B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010701A1 (en) * | 2002-07-09 | 2004-01-15 | Fujitsu Limited | Data protection program and data protection method |
US20050268093A1 (en) * | 2004-05-25 | 2005-12-01 | Proudler Graeme J | Method and apparatus for creating a trusted environment in a computing platform |
US20090276860A1 (en) * | 2005-11-02 | 2009-11-05 | Naohide Miyabashi | Method of protecting confidential file and confidential file protecting system |
CN106789059A (zh) * | 2016-11-10 | 2017-05-31 | 中国电子科技集团公司第二十八研究所 | 一种基于可信计算的远程双向访问控制系统及方法 |
CN107079036A (zh) * | 2016-12-23 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 注册及授权方法、装置及系统 |
CN107766724A (zh) * | 2017-10-17 | 2018-03-06 | 华北电力大学 | 一种可信计算机平台软件栈功能架构的构建方法 |
CN108399338A (zh) * | 2018-02-06 | 2018-08-14 | 南京航空航天大学 | 基于进程行为的平台完整性状态信息度量方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112073400A (zh) * | 2020-08-28 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 一种访问控制方法、系统、装置及计算设备 |
CN112685101A (zh) * | 2020-12-31 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 面向可信执行环境的系统调用处理方法及装置 |
CN112685101B (zh) * | 2020-12-31 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 面向可信执行环境的系统调用处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111506915B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891384B2 (en) | Blockchain transaction device and method | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
JP4668619B2 (ja) | 装置鍵 | |
US8171295B2 (en) | Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process | |
US9867043B2 (en) | Secure device service enrollment | |
US8417964B2 (en) | Software module management device and program | |
US9148415B2 (en) | Method and system for accessing e-book data | |
US9015454B2 (en) | Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys | |
US11361087B2 (en) | Security data processing device | |
WO2018071244A1 (en) | Method and system for secure data storage and retrieval | |
CN102208000A (zh) | 为虚拟机镜像提供安全机制的方法和系统 | |
US20200026882A1 (en) | Methods and systems for activating measurement based on a trusted card | |
CN104868998A (zh) | 一种向电子设备供应加密数据的系统、设备和方法 | |
US20230237193A1 (en) | Security processor configured to authenticate user and authorize user for user data and computing system including the same | |
CN111901304B (zh) | 移动安全设备的注册方法和装置、存储介质、电子装置 | |
CN111506915B (zh) | 授权访问的控制方法、装置和系统 | |
CN100596058C (zh) | 可信计算平台密钥授权数据管理系统及方法 | |
Shepherd et al. | Remote credential management with mutual attestation for trusted execution environments | |
CN110858246B (zh) | 安全代码空间的认证方法和系统、及其注册方法 | |
CN112000935A (zh) | 远程认证方法、装置、系统、存储介质及计算机设备 | |
CN113032786B (zh) | 认证凭证的传递方法、芯片及设备 | |
EP3539010B1 (en) | Balancing public and personal security needs | |
JP5180264B2 (ja) | 装置鍵 | |
CN117313144A (zh) | 敏感数据的管理方法、装置、存储介质和电子设备 | |
CN116055105A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |