CN111881467B - 利用安全处理器保护文件的方法、装置、cpu和计算机设备 - Google Patents
利用安全处理器保护文件的方法、装置、cpu和计算机设备 Download PDFInfo
- Publication number
- CN111881467B CN111881467B CN202010534326.8A CN202010534326A CN111881467B CN 111881467 B CN111881467 B CN 111881467B CN 202010534326 A CN202010534326 A CN 202010534326A CN 111881467 B CN111881467 B CN 111881467B
- Authority
- CN
- China
- Prior art keywords
- evm
- file
- hmac
- operating system
- module
- 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.)
- Active
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
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
Abstract
本发明提供一种利用安全处理器保护文件的方法,该方法的步骤包括:操作系统运行程序;安全处理器利用内置于其中的秘钥计算初始摘要EVM HMAC,并发送给操作系统;所述操作系统打开文件;所述安全处理器利用所述秘钥计算EVM HMAC,并发送给操作系统;所述操作系统校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致;在所述校验的结果为一致的情况下,继续执行程序。能够使用安全处理器来计算文件的HMAC,进一步提升了文件的安全性。
Description
技术领域
本发明涉及电子计算机领域,尤其涉及利用安全处理器保护文件的方法、装置、CPU、计算机设备。
背景技术
操作系统中的文件是很多病毒攻击的对象,比如某些病毒会修改可执行文件内容,并将攻击代码隐藏于正常代码中。用户执行感染病毒的文件时,就会触发病毒代码的执行。防御这种病毒的方法之一就是在程序运行前先判断文件内容是否被修改过,称之为文件的完整性。
可信赖平台模块(TPM:Trusted Platform Module)安全芯片是符合TPM标准的安全芯片,它能够提供加密,摘要计算,验证签名等密码学功能。TPM芯片外置在计算机主板上,只有在安装了TPM安全芯片的计算机上才能够使用TPM的密码学功能。
发明内容
发明要解决的课题
本发明的目的在于提供一种利用安全处理器保护文件的方法、装置、CPU及计算机设备。
用于解决课题的手段
针对上述的现有技术中存在的问题,本发明的一个技术方案提供利用安全处理器保护文件的方法,其特征在于,该方法的步骤包括:
操作系统运行程序;
安全处理器利用内置于其中的秘钥计算初始摘要EVM HMAC,并发送给操作系统;
所述操作系统打开文件;
所述安全处理器利用所述秘钥计算EVM HMAC,并发送给操作系统;
所述操作系统校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致;以及
在所述校验的结果为一致的情况下,继续执行程序。
本发明的一个技术方案提供一种利用安全处理器保护文件的装置,其特征在于,包括:
处理器核心模块;
安全处理器模块;以及
操作系统模块,
所述安全处理器模块利用内置于其中的秘钥计算初始摘要EVM HMAC,并计算EVMHMAC,发送给所述操作系统模块,
所述操作系统模块利用所述处理器核心模块运行程序,打开文件,并校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致,在所述校验的结果为一致的情况下,继续执行程序。
本发明的一个技术方案提供一种CPU,其特征在于,
包括所述的处理器核心模块和安全处理器模块,执行所述的利用安全处理器保护文件的方法。
本发明的一个技术方案提供一种计算机设备,其特征在于,
所述计算机设备包括所述的CPU、内存、以及存储器,
所述存储器用于存储程序代码,所述CPU通过调用所述存储器所存储的程序代码来使所示CPU执行所述的利用安全处理器保护文件的方法。
发明效果
根据本发明的利用安全处理器保护文件的方法、装置、CPU、计算机设备、以及计算机可读存储介质,能够使用安全处理器来计算文件的HMAC,进一步提升了文件的安全性。
附图说明
图1是本发明所适用的系统结构的示意图。
图2是示出现有技术中保护文件的装置的动作示例的示意图。
图3是示出主流的CPU架构的示意图。
图4是示出本发明的利用安全处理器保护文件的装置的动作示例的示意图
图5是示出本发明的利用安全处理器保护文件的方法的动作示例的流程框图。
图6是详细示出本发明的利用安全处理器保护文件的方法示例的流程框图。
图7是示出适于用来实现本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合附图具体说明本发明的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。本发明中提供示例性实施例是为了说明本发明的各方面,而不应被解释为限制本发明的范围。当参考框图或流程图描述示例性实施例时,每个框可以表示用于执行方法步骤的方法步骤或装置元件。根据实现方式,相应的装置元件可以配置为硬件、软件、固件或其组合。
[系统结构]
首先,说明本发明的一个实施例的系统的结构。如图1所示,系统结构100可以包括终端设备101、102、103、104,网络105和服务器106。网络105用以在终端设备101、102、103、104和服务器106之间提供通信链路的介质。
在本实施例中,利用安全处理器保护文件的方法运行于其上的电子设备(例如图1所示的终端设备101、102、103或104)可以通过网络105进行各种信息的传输。网络105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、Wi-Fi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB连接、局域网(“LAN”)、广域网(“WAN”)、网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络)以及其他现在已知或将来开发的网络连接方式。网络105可以利用诸如HTTP(HyperText Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。
用户可以使用终端设备101、102、103、104通过网络105与服务器106交互,以接收或发送消息等。终端设备101、102、103或104上可以安装有各种客户端应用,例如视频直播与播放类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103或104可以是具有触摸显示屏和/或支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(动态影像专家压缩标准音频层面3)、MP4(动态影像专家压缩标准音频层面4)播放器、头戴式显示设备、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等。
服务器106可以是提供各种服务的服务器,例如对终端设备101、102、103或104上显示的页面提供支持的后台服务器。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
这里,终端设备可以独立或通过与其他电子终端设备配合运行安卓系统中的应用实现本发明的实施例方法,也可以运行其他操作系统中的应用例如Linux系统、iOS系统、Windows系统、鸿蒙系统等的应用实现本发明的实施例方法。
[利用安全处理器保护文件的装置]
现有技术中,主流的操作系统都提供对文件完整性保护功能,以下以Linux为例描述。Linux内核中对文件的完整性保护框架,称之为完整性度量架构IMA(IntegrityMeasurement Architecture)。IMA的基本原理如下:计算文件的初始摘要哈希值,并保存,当作基准IMA哈希值。其后当文件打开,执行,映射到内存时,重新计算IMA哈希值,并与基准IMA哈希值比较,如果相同,可以认为文件的内容未被篡改。
此方案对文件的内容做了保护,但是对于文件的元数据(metadata),比如所有者、权限、创建时间等未保护,在某些场景下,元数据泄露也会被黑客利用,因此Linux内核(kernel)又提出了扩展验证模块(EVM:Extended Verification Module)功能。
EVM的运行原理与IMA类似,初始时,将文件数据与文件元数据合并在一起,计算出摘要哈希值,作为基准EVM哈希值。其后当文件打开,执行,映射到内存时,重新计算出EVM哈希值,并与基准EVM哈希值比较,如果相同,可以认为文件的内容与文件元数据都未被篡改。
IMA与EVM对文件做了不同程度的保护,两个方案都有严重的缺陷,IMA哈希值和EVM哈希值都可以伪造。举例来说,IMA和EVM中的哈希算法是公开的,黑客能够修改文件并离线计算出文件的IMA哈希值和EVM哈希值,并替换基准IMA哈希值和EVM哈希值。
因此,提出了更安全的一个方案。图2是示出现有技术中保护文件的装置的动作示例的示意图,如图2所示,在IMA/EVM哈希值计算的过程中加入对称密钥,即计算出文件内容与文件元数据的密钥相关哈希运算消息认证码(HMAC:Hash-based MessageAuthentication Code),称为EVM HMAC(也称为EVM哈希值)。只要对称密钥足够安全,不泄露至外界,EVM HMAC就没有可能被伪造。通常情况下,对称密钥可以存储在两个地方:普通磁盘或者TPM。将对称密钥保存在普通磁盘毫无安全性可言。在安装了TPM的机器上,EVMHMAC key保护在TPM器件中,TPM是主板上额外的芯片,TPM容易被替换,且工艺水平较低,抵御物理攻击的能力较低。可信赖平台模块TPM的安全性足够,但是由于TPM芯片是独立于CPU之外的器件,其外置在主板上,非桌面计算机和服务器标准配置,意味着不是所有的计算机都配备TPM芯片,想使用TPM的用户必须更换支持TPM的计算机,增加TPM芯片提升了采购成本。
本发明鉴于以上的问题,基于主流的CPU都集成有安全处理器的现状,提供一种利用安全处理器保护文件的装置。
实施例1
本发明的利用安全处理器保护文件的装置包括:处理器核心模块;安全处理器模块;以及操作系统模块。所述安全处理器模块利用内置于其中的秘钥计算初始摘要EVMHMAC,并计算EVM HMAC,发送给所述操作系统模块。所述操作系统模块利用所述处理器核心模块运行程序,打开文件,并校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致,在所述校验的结果为一致的情况下,继续执行程序。以下,结合附图详细说明这些模块及其动作。
图3是示出主流的CPU架构的示意图。如图3所示,CPU包括单个或多个(图3中例示了4个)晶粒(DIE)、以及平台安全处理器(P即PSP:Platform Secure Processor),在每个晶粒中集成了单个或多个(图3中例示了8个)处理器核(C:core)。在本发明中,将单个或多个处理器核和/或与其协同动作的软件模块称为“处理器核心模块”,将平台安全处理器和/或与其协同动作的软件模块称为“安全处理器模块”。将利用CPU中的处理器核心模块和/或安全处理器模块来运行程序的操作系统成为“操作系统模块”。PSP集成在SOC((System onChip,片上系统)中,防御物理攻击,同时提供密码学计算支持,PSP与处理器核通过邮箱机制交互数据。
图4是示出本发明的利用安全处理器保护文件的装置的动作示例的示意图,如图4所示,在本发明的利用安全处理器保护文件的装置中,PSP固件增加了计算HMAC的接口,PSP使用国密算法,执行SM3 HMAC命令。SM3 HMAC命令具体如下面的表1所示。
表1
Linux(即,操作系统模块)通过邮箱机制向PSP发送SM3 HMAC命令,即可完成在PSP上计算SM3 HMAC过程。HMAC运算利用hash算法,以一个消息和一个密钥作为输入,生成一个定长的消息摘要作为输出。PSP会将SM3 HMAC结果返回给Linux。
关于本发明的装置中各模块的具体动作及功能,可以参照后述的利用安全处理器保护文件的方法。
因为EVM Key内置于PSP中,永不对外输出,所以保证了EVM HMAC计算中的key绝对安全,保证了EVM HMAC不会被伪造,进而保证文件不会被篡改。
在上述的说明中,以Linux的操作系统为例进行了说明,但是,操作系统不限于Linux,只要能够实现本发明的利用安全处理器保护文件的装置即可。
在上述的说明中,说明了PSP使用国密算法,执行SM3 HMAC命令,但是,加密算法不限于此,也可以是国际算法DES等其他加密算法。
[利用安全处理器保护文件的方法]
以上,基于实施例和附图说明了利用安全处理器保护文件的装置,下面,详细说明本发明的利用安全处理器保护文件的方法。
实施例2
图5是示出本发明的利用安全处理器保护文件的方法的动作示例的流程框图。如图5所示,该方法包括如下步骤:
S501,操作系统运行程序;
S502,安全处理器利用内置于其中的秘钥计算初始摘要EVM HMAC,并发送给操作系统;
S503,所述操作系统打开文件;
S504,所述安全处理器利用所述秘钥计算EVM HMAC,并发送给操作系统;
S505,所述操作系统校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致;
S506,在所述校验的结果为一致的情况下,继续执行程序。
图6进一步详细地示出了实施例2的方法示例的流程框图。下面,结合图6,详细说明图5所示的方法的各步骤。
在S501中,操作系统开始运行程序,即,操作系统(利用处理器核,以下的操作系统的动作也可以同样理解)计算文件的初始摘要IMA哈希值,将文件元数据与初始摘要IMA哈希值连接,计算出初始摘要EVM哈希值。操作系统将初始摘要EVM哈希值发送给PSP,通过邮箱机制向PSP发送SM3 HMAC命令。
在S502中,PSP执行SM3 HMAC命令,利用秘钥计算初始摘要EVM HMAC,发回给操作系统。
在S503中,操作系统加载动态库文件,执行可执行文件,加载内核模块文件。操作系统计算出文件的IMA哈希值,将文件元数据与IMA哈希值连接,计算出EVM哈希值。操作系统将EVM哈希值发送给PSP,通过邮箱机制向PSP发送SM3 HMAC命令。
在S504中,PSP执行SM3 HMAC命令,利用秘钥计算EVM HMAC,发回给操作系统。
在S505中,操作系统比较EVM HMAC是否与初始摘要EVMHMAC一致。
在S506中,根据S505的校验结果来决定是否继续执行程序,在校验结果一致的情况下,继续执行,在校验结果不一致的情况下,终止程序。
根据实施例2的利用安全处理器保护文件的方法,由于初始摘要EVM HMAC、以及EVM HMAC的全部过程都在PSP中完成,EVM Key内置于PSP中,永不对外输出,因此保证了返回的初始摘要EVM HMAC、以及EVM HMAC绝对安全。
以上,基于实施例说明了本发明的利用安全处理器保护文件的方法。此外,本发明还提供一种计算机设备(电子设备),以下说明该计算机设备。
下面参考图7,其示出了适于用来实现本发明实施例的电子设备(例如图1中的终端设备或服务器)700的结构示意图。本发明实施例中的终端设备可以是上述系统中的各种终端设备。图7示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,用于控制电子设备的整体操作。处理装置可以包括一个或多个处理器来执行指令,以完成上述的方法的全部或部分步骤。此外,处理装置701还可以包括一个或多个模块,用于处理和其他装置之间的交互。
存储装置702用于存储各种类型的数据,存储装置702可以是包括各种类型的计算机可读存储介质或者它们的组合,例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
传感器装置703,用于感受规定的被测量的信息并按照一定的规律转换成可用输出信号,可以包括一个或多个传感器。例如,其可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器等,用于检测电子设备的打开/关闭状态、相对定位、加速/减速、温度、湿度和光线等的变化。
处理装置701、存储装置702以及传感器装置703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
多媒体装置706可以包括触摸屏、触摸板、键盘、鼠标、摄像头、麦克风等的输入装置用以接收来自用户的输入信号,在各种输入装置可以与上述传感器装置703的各种传感器配合完成例如手势操作输入、图像识别输入、距离检测输入等;多媒体装置706还可以包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置。
电源装置707,用于为电子设备中的各种装置提供电力,可以包括电源管理系统、一个或多个电源及为其他装置分配电力的组件。
通信装置708,可以允许电子设备700与其他设备进行无线或有线通信以交换数据。
上述各项装置也均可以连接至I/O接口705以实现电子设备700的应用。
虽然图7示出了具有各种装置的电子设备700,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装。在该计算机程序被处理装置执行时,执行本发明实施例的方法中限定的上述功能。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。
要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的方法,其特征在于,该方法的步骤包括:
操作系统运行程序;
安全处理器利用内置于其中的秘钥计算初始摘要EVM HMAC,并发送给操作系统;
所述操作系统打开文件;
所述安全处理器利用所述秘钥计算EVM HMAC,并发送给操作系统;
所述操作系统校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致;以及
在所述校验的结果为一致的情况下,继续执行程序。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的方法,其特征在于,
还包括:
在所述校验的结果为不一致的情况下,终止程序。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的方法,其特征在于,
所述的操作系统运行程序,包括:所述操作系统计算文件的初始摘要IMA哈希值,将文件元数据与所述初始摘要IMA哈希值连接,计算出初始摘要EVM哈希值,将所述初始摘要EVM哈希值发送给所述安全处理器,通过邮箱机制向所述安全处理器发送加密命令;
所述的安全处理器计算初始摘要EVM HMAC,并发送给操作系统,包括:
所述安全处理器执行所述加密命令,利用所述秘钥计算所述初始摘要EVM HMAC;
所述的所述操作系统打开文件,包括:所述操作系统加载动态库文件,执行可执行文件,加载内核模块文件,计算出文件的IMA哈希值,将文件元数据与所述IMA哈希值连接,计算出EVM哈希值,将所述EVM哈希值发送给安全处理器,通过邮箱机制向所述安全处理器发送加密命令;
所述的所述安全处理器计算EVM HMAC,并发送给操作系统,包括:
所述安全处理器执行所述加密命令,利用所述秘钥计算所述EVM HMAC。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的方法,其特征在于,
所述安全处理器使用国密算法,所述加密命令是SM3 HMAC命令。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的装置,其特征在于,包括:
处理器核心模块;
安全处理器模块;以及
操作系统模块,
所述安全处理器模块利用内置于其中的秘钥计算初始摘要EVM HMAC,并计算EVMHMAC,发送给所述操作系统模块,
所述操作系统模块利用所述处理器核心模块运行程序,打开文件,并校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致,在所述校验的结果为一致的情况下,继续执行程序。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的装置,其特征在于,
所述操作系统模块在所述校验的结果为不一致的情况下,终止程序。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的装置,其特征在于,
所述操作系统模块利用所述处理器核心模块计算文件的初始摘要IMA哈希值,将文件元数据与所述初始摘要IMA哈希值连接,计算出初始摘要EVM哈希值,将所述初始摘要EVM哈希值发送给所述安全处理器模块,通过邮箱机制向所述安全处理器模块发送加密命令,
所述安全处理器模块执行所述加密命令,利用所述秘钥计算所述初始摘要EVMHMAC,
所述操作系统模块利用所述处理器核心模块加载动态库文件,执行可执行文件,加载内核模块文件,计算出文件的IMA哈希值,将文件元数据与所述IMA哈希值连接,计算出EVM哈希值,将所述EVM哈希值发送给安全处理器模块,通过邮箱机制向所述安全处理器模块发送加密命令,
所述安全处理器模块执行所述加密命令,利用所述秘钥计算所述EVM HMAC。
根据本发明的一个或多个实施例,提供了一种利用安全处理器保护文件的装置,其特征在于,
所述安全处理器模块使用国密算法,所述加密命令是SM3 HMAC命令。
根据本发明的一个或多个实施例,提供了一种CPU,其特征在于,
包括所述的处理器核心模块和安全处理器模块,执行所述的利用安全处理器保护文件的方法。
根据本发明的一个或多个实施例,提供了一种计算机设备,其特征在于,
所述计算机设备包括所述的CPU、内存、以及存储器,
所述存储器用于存储程序代码,所述CPU通过调用所述存储器所存储的程序代码来使所示CPU执行所述的利用安全处理器保护文件的方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种利用安全处理器保护文件的方法,其特征在于,该方法的步骤包括:
操作系统运行程序;
安全处理器利用内置于其中的秘钥计算初始摘要EVM HMAC,并发送给操作系统;
所述操作系统打开文件;
所述安全处理器利用所述秘钥计算EVM HMAC,并发送给操作系统;
所述操作系统校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致;以及
在所述校验的结果为一致的情况下,继续执行程序。
2.根据权利要求1所述的利用安全处理器保护文件的方法,其特征在于,
还包括:
在所述校验的结果为不一致的情况下,终止程序。
3.根据权利要求2所述的利用安全处理器保护文件的方法,其特征在于,
所述的操作系统运行程序,包括:所述操作系统计算文件的初始摘要IMA哈希值,将文件元数据与所述初始摘要IMA哈希值连接,计算出初始摘要EVM哈希值,将所述初始摘要EVM哈希值发送给所述安全处理器,通过邮箱机制向所述安全处理器发送加密命令;
所述的安全处理器计算初始摘要EVM HMAC,并发送给操作系统,包括:
所述安全处理器执行所述加密命令,利用所述秘钥计算所述初始摘要EVM HMAC;
所述的所述操作系统打开文件,包括:所述操作系统加载动态库文件,执行可执行文件,加载内核模块文件,计算出文件的IMA哈希值,将文件元数据与所述IMA哈希值连接,计算出EVM哈希值,将所述EVM哈希值发送给安全处理器,通过邮箱机制向所述安全处理器发送加密命令;
所述的所述安全处理器计算EVM HMAC,并发送给操作系统,包括:
所述安全处理器执行所述加密命令,利用所述秘钥计算所述EVM HMAC。
4.根据权利要求3所述的利用安全处理器保护文件的方法,其特征在于,
所述安全处理器使用国密算法,所述加密命令是SM3HMAC命令。
5.一种利用安全处理器保护文件的装置,其特征在于,包括:
处理器核心模块;
安全处理器模块;以及
操作系统模块,
所述安全处理器模块利用内置于其中的秘钥计算初始摘要EVM HMAC,并计算EVMHMAC,发送给所述操作系统模块,
所述操作系统模块利用所述处理器核心模块运行程序,打开文件,并校验所述初始摘要EVM HMAC与所述EVM HMAC是否一致,在所述校验的结果为一致的情况下,继续执行程序。
6.根据权利要求5所述的利用安全处理器保护文件的装置,其特征在于,
所述操作系统模块在所述校验的结果为不一致的情况下,终止程序。
7.根据权利要求6所述的利用安全处理器保护文件的装置,其特征在于,
所述操作系统模块利用所述处理器核心模块计算文件的初始摘要IMA哈希值,将文件元数据与所述初始摘要IMA哈希值连接,计算出初始摘要EVM哈希值,将所述初始摘要EVM哈希值发送给所述安全处理器模块,通过邮箱机制向所述安全处理器模块发送加密命令,
所述安全处理器模块执行所述加密命令,利用所述秘钥计算所述初始摘要EVM HMAC,
所述操作系统模块利用所述处理器核心模块加载动态库文件,执行可执行文件,加载内核模块文件,计算出文件的IMA哈希值,将文件元数据与所述IMA哈希值连接,计算出EVM哈希值,将所述EVM哈希值发送给安全处理器模块,通过邮箱机制向所述安全处理器模块发送加密命令,
所述安全处理器模块执行所述加密命令,利用所述秘钥计算所述EVM HMAC。
8.根据权利要求7所述的利用安全处理器保护文件的装置,其特征在于,
所述安全处理器模块使用国密算法,所述加密命令是SM3HMAC命令。
9.一种CPU,其特征在于,
包括权利要求5至8的任一项所述的处理器核心模块和安全处理器模块,执行权利要求1至4的任一项所述的利用安全处理器保护文件的方法。
10.一种计算机设备,其特征在于,
所述计算机设备包括权利要求9所述的CPU、内存、以及存储器,
所述存储器用于存储程序代码,所述CPU通过调用所述存储器所存储的程序代码来使所示CPU执行权利要求1至4的任一项所述的利用安全处理器保护文件的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534326.8A CN111881467B (zh) | 2020-06-12 | 2020-06-12 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010534326.8A CN111881467B (zh) | 2020-06-12 | 2020-06-12 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881467A CN111881467A (zh) | 2020-11-03 |
CN111881467B true CN111881467B (zh) | 2022-10-28 |
Family
ID=73156981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010534326.8A Active CN111881467B (zh) | 2020-06-12 | 2020-06-12 | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881467B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190831A (zh) * | 2021-05-27 | 2021-07-30 | 中国人民解放军国防科技大学 | 一种基于tee的操作系统应用完整性度量方法及系统 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1954288A (zh) * | 2004-05-08 | 2007-04-25 | 英特尔公司 | 固件接口运行时环境保护字段 |
CN101242270A (zh) * | 2007-02-05 | 2008-08-13 | 三星电子株式会社 | 提供和使用允许完整性验证的内容的方法和设备 |
CN102959556A (zh) * | 2010-07-22 | 2013-03-06 | 纳格拉影像股份有限公司 | 用于确保软件完整性的处理器实现的方法 |
CN103093150A (zh) * | 2013-02-18 | 2013-05-08 | 中国科学院软件研究所 | 一种基于可信芯片的动态完整性保护方法 |
CN103530559A (zh) * | 2013-09-27 | 2014-01-22 | 北京理工大学 | 一种Android系统的完整性保护系统 |
CN106096412A (zh) * | 2016-06-21 | 2016-11-09 | 华为技术有限公司 | 完整性度量方法及装置 |
CN107209837A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 选择性基于块的完整性保护技术 |
CN108027861A (zh) * | 2015-09-25 | 2018-05-11 | 高通股份有限公司 | 安全启动装置、系统和方法 |
CN108781210A (zh) * | 2015-12-11 | 2018-11-09 | 格马尔托股份有限公司 | 具有可信执行环境的移动设备 |
CN109543413A (zh) * | 2018-11-01 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种基于IMA保护Linux操作系统安全的系统和方法 |
CN109766700A (zh) * | 2018-05-04 | 2019-05-17 | 360企业安全技术(珠海)有限公司 | 访问文件的控制方法及装置、存储介质、电子装置 |
CN109840430A (zh) * | 2017-11-28 | 2019-06-04 | 中国科学院沈阳自动化研究所 | Plc的安全处理单元及其总线仲裁方法 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
CN111045743A (zh) * | 2019-12-12 | 2020-04-21 | 海光信息技术有限公司 | 操作系统安全启动方法、管理方法、装置、设备 |
CN111143887A (zh) * | 2019-12-26 | 2020-05-12 | 海光信息技术有限公司 | 一种安全控制方法、处理器、集成器件及计算机设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160036812A1 (en) * | 2014-07-31 | 2016-02-04 | International Business Machines Corporation | Database Queries Integrity and External Security Mechanisms in Database Forensic Examinations |
US9635021B2 (en) * | 2014-12-18 | 2017-04-25 | Intel Corporation | Trusted ephemeral identifier to create a group for a service and/or to provide the service |
US10678924B2 (en) * | 2016-08-10 | 2020-06-09 | Qualcomm Incorporated | Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory |
CN107743133B (zh) * | 2017-11-30 | 2020-06-09 | 中国石油大学(北京) | 移动终端及其基于可信安全环境的访问控制方法和系统 |
US11017092B2 (en) * | 2018-09-27 | 2021-05-25 | Intel Corporation | Technologies for fast launch of trusted containers |
-
2020
- 2020-06-12 CN CN202010534326.8A patent/CN111881467B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1954288A (zh) * | 2004-05-08 | 2007-04-25 | 英特尔公司 | 固件接口运行时环境保护字段 |
CN101242270A (zh) * | 2007-02-05 | 2008-08-13 | 三星电子株式会社 | 提供和使用允许完整性验证的内容的方法和设备 |
CN102959556A (zh) * | 2010-07-22 | 2013-03-06 | 纳格拉影像股份有限公司 | 用于确保软件完整性的处理器实现的方法 |
CN103093150A (zh) * | 2013-02-18 | 2013-05-08 | 中国科学院软件研究所 | 一种基于可信芯片的动态完整性保护方法 |
CN103530559A (zh) * | 2013-09-27 | 2014-01-22 | 北京理工大学 | 一种Android系统的完整性保护系统 |
CN107209837A (zh) * | 2015-01-29 | 2017-09-26 | 高通股份有限公司 | 选择性基于块的完整性保护技术 |
CN108027861A (zh) * | 2015-09-25 | 2018-05-11 | 高通股份有限公司 | 安全启动装置、系统和方法 |
CN108781210A (zh) * | 2015-12-11 | 2018-11-09 | 格马尔托股份有限公司 | 具有可信执行环境的移动设备 |
CN106096412A (zh) * | 2016-06-21 | 2016-11-09 | 华为技术有限公司 | 完整性度量方法及装置 |
CN109840430A (zh) * | 2017-11-28 | 2019-06-04 | 中国科学院沈阳自动化研究所 | Plc的安全处理单元及其总线仲裁方法 |
CN109766700A (zh) * | 2018-05-04 | 2019-05-17 | 360企业安全技术(珠海)有限公司 | 访问文件的控制方法及装置、存储介质、电子装置 |
CN109543413A (zh) * | 2018-11-01 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种基于IMA保护Linux操作系统安全的系统和方法 |
CN110348204A (zh) * | 2019-06-17 | 2019-10-18 | 海光信息技术有限公司 | 一种代码保护系统、认证方法、装置、芯片及电子设备 |
CN111045743A (zh) * | 2019-12-12 | 2020-04-21 | 海光信息技术有限公司 | 操作系统安全启动方法、管理方法、装置、设备 |
CN111143887A (zh) * | 2019-12-26 | 2020-05-12 | 海光信息技术有限公司 | 一种安全控制方法、处理器、集成器件及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111881467A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9571280B2 (en) | Application integrity protection via secure interaction and processing | |
US20140122896A1 (en) | Data encryption method | |
CN112287372B (zh) | 用于保护剪贴板隐私的方法和装置 | |
CN107689869A (zh) | 用户口令管理的方法和服务器 | |
US20140258734A1 (en) | Data security method and electronic device implementing the same | |
CN111199037B (zh) | 登录方法、系统和装置 | |
CN112434326B (zh) | 一种基于数据流的可信计算方法及装置 | |
AU2019204724C1 (en) | Cryptography chip with identity verification | |
CN108880812A (zh) | 数据加密的方法和系统 | |
CN110955888B (zh) | 应用程序数据保护方法、装置、设备、存储介质 | |
CN111881467B (zh) | 利用安全处理器保护文件的方法、装置、cpu和计算机设备 | |
CN113282951B (zh) | 一种应用程序的安全校验方法、装置及设备 | |
CN111045743A (zh) | 操作系统安全启动方法、管理方法、装置、设备 | |
KR102355918B1 (ko) | 블록체인을 이용한 전자 데이터 제공 방법 및 그 시스템 | |
US8904508B2 (en) | System and method for real time secure image based key generation using partial polygons assembled into a master composite image | |
CN114884714B (zh) | 任务处理方法、装置、设备及存储介质 | |
CN116611087A (zh) | 基本输入输出系统加密方法、装置、设备及存储介质 | |
CN114745207B (zh) | 数据传输方法、装置、设备、计算机可读存储介质及产品 | |
JP6939313B2 (ja) | 分散認証システム | |
CN116502189A (zh) | 软件授权方法、系统、设备和存储介质 | |
CN114499893B (zh) | 基于区块链的投标文件加密存证方法和系统 | |
CN115525930A (zh) | 信息转移方法、装置及相关设备 | |
CN111026504B (zh) | 配置虚拟机中获取处理器信息的指令的处理方法、装置、cpu芯片、片上系统和计算机 | |
CN110659476A (zh) | 用于重置密码的方法和装置 | |
CN114629649B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin, 300450 Applicant after: Haiguang Information Technology Co.,Ltd. Address before: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Tianjin Huayuan Industrial Zone, Binhai New Area, Tianjin, 300450 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |