CN110874494A - 密码运算处理方法、装置、系统及度量信任链构建方法 - Google Patents

密码运算处理方法、装置、系统及度量信任链构建方法 Download PDF

Info

Publication number
CN110874494A
CN110874494A CN201810998169.9A CN201810998169A CN110874494A CN 110874494 A CN110874494 A CN 110874494A CN 201810998169 A CN201810998169 A CN 201810998169A CN 110874494 A CN110874494 A CN 110874494A
Authority
CN
China
Prior art keywords
measurement
chip
cryptographic operation
cryptographic
result
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
Application number
CN201810998169.9A
Other languages
English (en)
Other versions
CN110874494B (zh
Inventor
付颖芳
肖鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810998169.9A priority Critical patent/CN110874494B/zh
Priority to US16/554,383 priority patent/US20200074122A1/en
Publication of CN110874494A publication Critical patent/CN110874494A/zh
Application granted granted Critical
Publication of CN110874494B publication Critical patent/CN110874494B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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
    • H04L9/3265Cryptographic 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 using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种密码运算处理方法、装置、系统及度量信任链构建方法。其中,该方法包括:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算。本发明解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。

Description

密码运算处理方法、装置、系统及度量信任链构建方法
技术领域
本发明涉及密码运算领域,具体而言,涉及一种密码运算处理方法、装置、系统及度量信任链构建方法。
背景技术
随着计算机应用的普及,硬件攻击的日益猖獗,保证业务平台及系统的完整性日益受到重视,度量是一种保护平台及系统完整性较新的技术手段:在某些特定的时刻,对目标进行度量,得到目标的某些信息(比如对文件的散列值),将这些信息的值与事先记录的标准值进行比较,从而判断目标的完整性是否被破坏。
传统的可信平台模块(Trusted Platform Module,TPM)及可信平台控制模块(Trusted Platform Control Module,TPCM)在可信高速加密卡场景中,现有的度量方法及度量流程,无法保证高速密码运算过程中密码运算算法的完整性,无法保证高速密码运算过程中,密码运算固件的加载可信,及其动态执行可信,从而导致密码运算可信度较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种密码运算处理方法、装置、系统及度量信任链构建方法,以至少解决相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
根据本发明实施例的一个方面,提供了一种密码运算处理方法,包括:密码运算芯片接收到密码运算请求;所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;所述密码运算芯片接收到安全芯片反馈的比较结果,其中,所述比较结果为所述安全芯片确定的所述第一度量结果与预先存储的第二度量结果是否相同的结果;所述密码运算芯片在所述比较结果为相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:安全芯片接收到密码运算芯片发送的第一度量结果,其中,所述第一度量结果为所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;所述安全芯片获取预先存储的第二度量结果;所述安全芯片将所述第一度量结果与所述第二度量结果进行比较,得到是否相同的比较结果,并将所述比较结果发送给所述密码运算芯片,用于所述密码运算芯片在所述比较结果相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:密码运算芯片接收到密码运算请求;所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;所述安全芯片获取预先存储的第二度量结果,并比较所述第一度量结果与所述第二度量结果是否相同,得到比较结果,并将所述比较结果发送给所述密码运算芯片;所述密码运算芯片在所述比较结果为相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种度量信任链构建方法,包括:基于安全芯片建立静态度量信任链,其中,所述静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;基于密码运算芯片建立动态度量信任链,其中,所述动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;基于建立的所述静态度量信任链和所述动态度量信任链,构建所述度量信任链。
根据本发明实施例的另一方面,还提供了一种密码运算处理装置,应用于密码运算芯片,包括:第一接收模块,用于接收到密码运算请求;度量模块,用于采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;接收模块,用于接收到安全芯片反馈的比较结果,其中,所述比较结果为所述安全芯片确定的所述第一度量结果与预先存储的第二度量结果是否相同的结果;运算模块,用于在所述比较结果为相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理装置,应用于安全芯片,包括:第二接收模块,用于接收到密码运算芯片发送的第一度量结果,其中,所述第一度量结果为所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;获取模块,用于获取预先存储的第二度量结果;比较模块,用于将所述第一度量结果与所述第二度量结果进行比较,得到是否相同的比较结果,并将所述比较结果发送给所述密码运算芯片,用于所述密码运算芯片在所述比较结果相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理系统,包括:密码运算芯片和安全芯片,其中,所述密码运算芯片,用于接收到密码运算请求,采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;所述安全芯片,用于获取预先存储的第二度量结果,并比较所述第一度量结果与所述第二度量结果是否相同,得到比较结果,并将所述比较结果发送给所述密码运算芯片;所述密码运算芯片,还用于在所述比较结果为相同的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种度量信任链构建系统,包括:静态度量信任链构建子系统和动态度量信任链子系统,其中,所述静态度量信任链构建子系统,用于基于安全芯片建立静态度量信任链,其中,所述静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;动态度量信任链子系统,用于基于密码运算芯片建立动态度量信任链,其中,所述动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;所述静态度量信任链构建子系统和所述动态度量信任链子系统,还用于基于建立的所述静态度量信任链和所述动态度量信任链,构建所述度量信任链。
根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述的密码运算处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的密码运算处理方法。
在本发明实施例中,采用密码运算芯片接收到密码运算请求;所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;所述密码运算芯片接收到安全芯片反馈的比较结果,其中,所述比较结果为所述安全芯片确定的所述第一度量结果与预先存储的第二度量结果是否相同的结果;所述密码运算芯片在所述比较结果为相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现密码运算处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例1的一种密码运算处理方法的流程图;
图3是根据本发明实施例1的另一种密码运算处理方法的流程图;
图4是根据本发明实施例1的另一种密码运算处理方法的流程图;
图5是根据本发明实施例1的另一种密码运算处理方法的流程图;
图6是根据本发明实施例1的基于可信高速加密卡的度量信任链构建架构示意图;
图6A是根据本发明实施例1的一种度量信任链构建方法的流程图;
图7是根据本发明实施例1的另一种密码运算处理方法的流程图;
图8是根据本发明实施例2的一种密码运算处理方法的流程图;
图9是根据本发明实施例3的一种密码运算处理方法的流程图;
图10是根据本发明实施例4的一种密码运算处理装置的结构示意图;
图11是根据本发明实施例5的一种密码运算处理装置的结构示意图;
图12是根据本发明实施例6的一种密码运算处理系统的结构示意图;
图13是根据本发明实施例7的一种度量信任链构建系统的结构示意图;
图14是根据本发明实施例8的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
可信计算:可信计算(Trusted Computing)是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。
可信平台模块/可信平台控制模块(TPM/TPCM):为证据提供完整性和真实性保障的安全芯片,一般通过物理方式被强绑定到计算平台。
可信度量:可信度量的实际方法是完整性度量,完整性度量就是用杂凑函数计算代码的杂凑值,与存储的杂凑值对比,去发现代码是否改变,根据比对结果,系统做出相应的判断。
现场可编程逻辑门阵列:Field-Programmable Gate Array,FPGA,具体是一种班定制电路,可以通过改变逻辑块的连接实现不同的逻辑门功能,而且上述逻辑快和连接可以按照设计进行更改,从而实现可编辑的功能。
可信高速数据加密卡THSDEC(Trusted high-speed Data Encryption Card):具有可信功能的数据加密卡。
固件:是指存储在硬件中不能够被轻易更改的程序,也泛指一些上述程序所在的基础硬件。
实施例1
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现密码运算处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:传输模块、显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的密码运算处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述传输模块用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
图1示出的硬件结构框图,不仅可以作为上述计算机终端10(或移动设备)的示例性框图,还可以作为上述服务器的示例性框图,一种可选实施例中,计算机终端10(或移动设备)可以经由数据网络连接或电子连接到一个或多个服务器(例如安全服务器、资源服务器、游戏服务器等)。一种可选实施例中,上述计算机终端10(或移动设备)可以是(任意移动计算设备等)。数据网络连接可以是局域网连接、广域网连接、因特网连接,或其他类型的数据网络连接。计算机终端10(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在计算机的使用中,硬件攻击是一种常见的病毒入侵形式,通过病毒对硬件中的固件程序进行更改,导致硬件运行故障或者损坏,进而导致系统瘫痪。现有技术中,解决硬件攻击的常见方式是通过对目标硬件进行可信计算,提高系统整体的安全性。
具体是通过对目标硬件进行度量,进而判断该目标硬件是否可信。上述度量是一种保护平台及系统完整性较新的技术手段:在某些特定的时刻,对目标进行度量,得到目标的某些信息(比如对文件的散列值),将这些信息的值与事先记录的标准值进行比较,从而判断目标的完整性是否被破坏。
现有的可信平台模块(Trusted Platform Module,TPM)及可信平台控制模块(Trusted Platform Control Module,TPCM)在可信高速加密卡场景中,上述高速加密卡包括用于可信度监测的安全芯片和用于进行密码运算的密码预算芯片,对密码运算处理的算法在一些特殊的时候进行可信度检验,例如,加密卡出厂检验,维修检验等特殊时刻,在对加密卡进行可信计算,检验可信度合格后,认为加密卡中的加密运算算法是可信的,可以一定程度上提高密码运算的可信度。但是,上述可信高速加密卡无法保证每次接收到用户发送的高速密码运算请求后,高速密码运算过程中密码运算算法的完整性,也无法保证高速密码运算过程中,密码运算固件的加载可信,及其动态执行可信。
在上述运行环境下,本申请提供了如图2所示的密码运算处理方法。图2是根据本发明实施例1的一种密码运算处理方法的流程图。如图2所示,上述密码运算处理方法包括以下步骤:
步骤S202,密码运算芯片接收到密码运算请求。
作为一种可选的实施例,上述密码运算芯片可以是用于执行密码运算的芯片,还可以是芯片中用于执行密码运算的密码运算功能模块,例如,密码运算算法固件。
作为一种可选的实施例,上述密码运算请求可以由用户发送,用于请求上述密码运算芯片进行密码运算,在需要进行密码运算时,由用户通过人机交互接口发送密码运算请求,该密码运算请求经过处理,发送给密码运算芯片,由密码运算芯片进行密码运算。
作为一种可选的实施例,上述密码运算芯片可以是高速密码运算芯片。
作为一种可选的实施例,上述密码运算请求可以包括:用户信息,用户平台身份证书,用户密码运算请求的相关属性等。上述用户信息可以是用于表示用户身份的身份信息等。上述用户密码运算请求的相关属性可以是,密码运算欲采用的密码运算算法,密钥长度等。
作为一种可选的实施例,上述密码运算芯片在接受一次密码运算算法度量之后,认为该密码运算算法可信,在接收到密码运算请求后,默认该密码运算算法可信,直接根据该密码预算请求进行密码运算。
步骤S204,密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片。
作为一种可选的实施例,上述采用密码运算度量根对密码运算算法固件进行度量,上述密码算法度量根,可以是动态度量模块中的一个子功能,用于度量上述密码运算算法固件的完整性。
需要说明的是,上述密码运算芯片对密码运算算法固件进行度量,可以采用多种方式,例如,通过计算上述密码运算算法固件的散列值,将上述计算出来的散列值与预先记录的标准散列值进行比较,从而确定上述密码运算算法固件的完整性,若上述计算的散列值与上述标准散列值相同,则认为该密码运算算法固件可信;若上述计算的散列值与上述标准散列值不同,则认为该密码运算算法固件不可信。再例如,通过计算上述密码运算算法固件的哈希值或杂凑值,对上述密码运算算法固件进行度量,判断密码运算算法固件是否可信。
作为一种可选的实施例,上述第一度量结果,可以是上述散列值,哈希值,或者杂凑值,还可以是确定该密码运算算法固件的其他属性信息,上述度量结果用于体现上述密码运算算法固件的属性,在该属性经过安全芯片的验证合格后,可以认为该密码运算算法固件可信。
作为一种可选的实施例,上述安全芯片可以是用于进行可信度量的安全芯片,还可以是芯片中用于进行可信度量的安全功能模块。
作为一种可选的实施例,将上述第一度量结果发送给安全芯片,上述安全芯片在接收到第一度量结果后,对上述第一度量结果进行可信计算,并将可信计算的结果反馈该密码运算芯片,用于指示密码运算芯片工作。
步骤S206,密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果。
作为一种可选的实施例,上述安全芯片接收到上述第一度量结果后,可以将上述第一度量结果与预存的第二度量结果直接进行比较,上述第二度量结果为密码运算算法固件在确认可信后度量所得,需要说明的是,上述第一度量结果和第二度量结果对上述密码运算算法固件的度量的属性量为同一属性量。
作为一种可选的实施例,上述安全芯片接收到第一度量结果后,还可以对上述第一度量结果进行处理和运算,得到第一度量结果对应的运算结果,将运算结果与预存的结果进行比较,确定该密码运算算法固件的可信度。需要说明的是,上述预存的结果,也是在密码运算算法固件在确认可信后度量,并经过上述处理和运算所得。
作为一种可选的实施例,上述密码运算芯片接收到安全芯片反馈的比较结果,该比较结果可以反映该密码运算芯片中的密码运算算法固件是否可信,具体可以通过第一度量结果与第二度量结果的比较结果是否相同来表示。
作为一种可选的实施例,在上述比较结果为安全芯片确定第一度量结果与第二度量结果不同的情况下,认定该第一度量结果度量的密码运算算法固件不可信;在上述比较结果为安全芯片确定第一度量结果与第二度量结果相同的情况下,认定该第一度量结果度量的密码运算算法固件可信。
作为一种可选的实施例,上述密码运算算法可信的情况下,安全芯片将上述比较结果发送给密码运算芯片,由密码运算芯片进行后续的动作。
步骤S208,密码运算芯片在比较结果为相同的情况下,执行密码运算。
作为一种可选的实施例,上述密码运算芯片接收的比较结果为相同,也即是上述第一度量结果和第二度量结果相同,表示密码运算芯片中的密码运算算法固件是可信的。
作为一种可选的实施例,在上述密码运算芯片的密码运算算法可信的情况下,执行密码运算,保证该密码运算的可信。
通过对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算的可信。
作为一种可选的实施例,上述每次接收密码运算请求时,都对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算芯片在接受密码运算请求后,做出对该密码运算请求对应的密码运算的可信度。
在本发明实施例中,采用密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
图3是根据本发明实施例1的另一种密码运算处理方法的流程图,如图3所示,作为一种可选的实施例,在上述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:
步骤S302,密码运算芯片对密码运算度量根进行度量,得到第三度量结果;
步骤S304,密码运算芯片在第三度量结果与预定基准值一致的情况下,确定执行度量密码运算算法固件的度量实体完整。
在上述实施例中,上述密码运算度量根可以是在密码运算芯片中,上述密码运算度量根可以是用于对密码运算芯片中的密码运算算法固件进行度量的功能模块,需要度量实体取实现该度量根。
作为一种可选的实施例,通过对上述密码运算度量根进行度量,可以对上述密码运算度量实体的完整度进行确定,从而保证对密码运算芯片中的密码运算算法的可信度量的过程的可信。
作为一种可选的实施例,在上述密码运算芯片对密码运算度量根进行度量时,得到第三度量结果,上述第三度量结果,可以是上述散列值,哈希值,还可以是确定该密码运算度量实体的其他属性信息,上述第三度量结果用于体现上述密码运算算法度量实体的属性,在上述第三度量结果经过可信验证合格后,可以认为该密码运算算法度量实体可信。
作为一种可选的实施例,上述对第三度量结果进行可信验证时,执行验证操作的主体,可以是上述密码运算芯片,安全芯片,或者拥有密码运算功能模块和安全模块的芯片。本实施例中采用密码运算芯片作为上述执行主体。
作为一种可选的实施例,上述密码运算芯片在第三度量结果与预定基准值一致的情况下,确定执行度量密码运算算法固件的度量实体完整。上述预定基准值为确定上述度量实体完整的情况下,所测得度量实体的属性值,该属性与第三度量结果所度量的度量实体的属性相同。上述第三度量结果和预定基准值均可以经过等同或相同的处理和计算。
图4是根据本发明实施例1的另一种密码运算处理方法的流程图,如图4所示,作为以后总可选的实施例,上述密码运算芯片将得到的第一度量结果发送给安全芯片包括:
步骤S402,密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;
步骤S404,密码运算芯片将加密数据发送给安全芯片。
在上述实施例中,在对密码运算芯片中的密码运算算法进行可信度量时,需要将密码运算算法固件的度量结果,也即是上述第一度量结果,发送给安全芯片进行可信度量。
作为一种可选的实施例,在上述第一度量结果从密码运算芯片到安全芯片中,需要经过数据传输,在数据传输的过程中,也容易被拦截和篡改。为了防止上述第一度量结果不被篡改,保证安全芯片的可信度量的正确性,本实施例中采用对上述第一度量结果进行加密传输的方式进行传输。
作为一种可选的实施例,上述对第一度量结果进行加密传输时,先采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据,上述平台密码运算度量密钥可以与上述密码运算芯片位于同一芯片,或者位于上述密码运算芯片之外,还可以是位于具有密码运算功能模块和安全功能模块的芯片。
本实施例中,上述采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据的执行主体为密码运算芯片。上述加密数据为加密后的第一度量结果,上述加密数据的加密方式可以是多种,可以是通过一定加密方式进行数据变换得到加密数据。
作为一种可选的实施例,上述密码运算芯片将加密数据发送给安全芯片,在安全芯片接收到上述加密数据后,对上述加密数据进行解密,得到第一度量结果,然后对该第一度量结果进行与预存的第二度量结果的比较。
作为一种可选的实施例,在密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据之前,还包括:密码运算芯片采用用户平台身份公钥,对密码运算请求进行解密得到用户密码运算度量密钥;密码运算芯片根据用户密码运算度量密钥以及平台度量根,生成平台密码运算度量密钥。
作为一种可选的实施例,对上述第一度量结果进行加密的方式有很多种,本实施例采用的是通过平台密码运算度量密钥对上述第一度量结果进行加密的方式。
作为一种可选的实施例,上述平台密码运算度量密钥由用户密码运算度量密钥和平台度量根生成,上述步骤的执行主体可以为密码运算芯片。
作为一种可选的实施例,上述用户密码运算度量密钥由用户平台身份公钥对密码运算请求进行解密得到的,上述步骤的执行主体可以为密码运算芯片。
图5是根据本发明实施例1的另一种密码运算处理方法的流程图,如图5所示,作为一种可选的实施例,密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果包括:
步骤S502,密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算,得到哈希值,并将哈希值作为第一度量结果。
在上述实施例中,对密码运算芯片的密码运算算法固件进行度量得到第一度量结果时,可以采用多种度量方式,或者对上述密码运算算法的多种属性进行度量的方式。本实施例采用对上述密码运算新片中的密码运算算法进行哈希值计算,上述哈希值用来证明密码运算算法固件是否完整的基准值。
作为一种可选的实施例,上述对密码运算算法进行哈希计算,上述哈希计算是用于获取密码运算算法的哈希值的计算方式。
作为一种可选的实施例,在密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算之前,还包括:密码运算芯片根据密码运算请求中携带的密码运算属性信息确定密码运算算法。
作为一种可选的实施例,密码运算芯片中的密码运算算法为多个,采用不同的密码运算,密码运算芯片调取的密码运算算法也不同。为了防止对每个密码运算算法进行计算,在本实施例中,在密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算之前,根据密码运算请求确定该密码运算请求对应的密码运算算法,在记性哈希计算时,只对该密码运算算法进行计算。有效降低计算量,提供计算速度。
作为一种可选的实施例,上述根据密码运算请求确定该密码运算请求对应的密码运算算法时,根据密码运算请求中携带的密码运算属性信息确定密码运算算法。
作为一种可选的实施例,在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算算法固件进行度量。
作为一种可选的实施例,密码运算芯片接收密码运算请求,采用密码运算度量根对密码运算算法固件进行可信度量,在上述密码运算请求被篡改时,该密码运算芯片所进行的工作,包括对密码运算算法进行度量,对第一度量结果进行加密,进行密码运算等都是无用的,因此,在密码运算芯片接受到密码运算请求后需要对密码运算请求进行验证,在保证上述密码运算请求的可信的前提下,密码运算芯片进行的后续工作才有意义。
上述对密码运算请求进行验证时,可以采用多种方式,在本实施例中采用根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证。在验证通过的情况下,允许对密码运算算法固件进行度量。在验证不通过时,可以选择不对该密码运算请求进行动作,并将加过反馈给固定的控制模块或控制芯片,也可以反馈给密码运算芯片在数据传输和处理过程中的上一级。
为了便于理解,本实施例还提供了一种基于可信高速加密卡的度量信任链构建架构作为本实施例的可选的实施方式,图6是根据本发明实施例1的基于可信高速加密卡的度量信任链构建架构示意图,如图6所示,下面对该实施方式进行详细说明:
上述构建架构是基于可信高速加密卡,上述可信高速加密卡由TPM/TPCM模块及FPGA高速密码运算模块组成。
在具体的可信度量时,从度量时间点,度量包括静态度量(如图6所示的左侧流程)和动态度量(如图6所示的右侧的流程),其中静态度量是指在系统启动时参与建立信任链,系统启动完成后,以及系统运行中不再对信任链进行评估。动态度量是指在任意接收到可信度量请求的时候,对度量目标进行动态的可信度量。
从度量对象,度量包括平台系统度量及密码运算度量,平台系统度量是指设备启动时或启动后,平台及系统相关的安全度量,该部分度量由可信模块完成;密码运算度量是指跟用户密码运算相关的度量,该部分度量由TPM/TPCM模块和FPGA高速密码运算模块共同完成。
可信高速加密卡包括:TPM/TPCM模块和FPGA高速密码运算模块两大部分。其中,TPM/TPCM模块中包含了报告根、存储根、密码运算度量哈希值、密码运算算法哈希值、用户密码运算度量密钥平台度量根密钥私钥,密码运算度量根及平台度量根。上述FPGA高速密码运算模块包含了动态度量模块、密码运算度量根、密码运算算法、用户密码运算度量密钥。
下面对上述各个实体功能介绍如下:
报告根,是用来向远程用户进行报告,证明本设备平台及系统的完整性未被破坏;
存储根,是可信芯片(TPM/TPCM模块)的存储根密钥,用于保证其它子存储密钥的安全性;
动态度量模块,是可信高速加密卡在用户密码运算过程中,用来度量密码运算相关固件的一个功能模块;
密码运算度量根,是动态度量模块的子功能之一,专门用来度量密码运算算法固件的完整性;
密码运算度量根哈希值,是用于证明要执行度量密码运算算法固件的度量实体是否是完整的基准值;
密码运算算法哈希值,是用于证明密码运算算法固件是否是完整的基准值;
用户密码运算度量密钥,用于参与用户密码运算算法固件的度量,以保证密码运算动态度量过程的加载可信及执行可信;
平台度量根密钥私钥,用于参与动态度量模块度量过程中的加载可信及执行可信;
密码运算度量根,用于度量密码运算算法的完整性;
平台度量根,用于度量动态模块的完整性;
密码运算算法,用于加解密数据的算法。
下面对本发明实施例所提供的度量信任链的具体构建方法进行说明。图6A是根据本发明实施例1的一种度量信任链构建方法的流程图,如图6A所示,该流程包括如下步骤:
步骤S6A02,基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;
步骤S6A04,基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;
步骤S6A06,基于建立的静态度量信任链和动态度量信任链,构建度量信任链。
基于上述步骤,可信高速加密卡的信任链构建包括静态度量信任链构建,及动态度量信任链构建,以及基于静态度量信任链构建及动态度量信任链构建,建立完整的度量信任链。
作为一个可选的实施例,基于安全芯片建立静态度量信任链可以包括:基于安全芯片对基本输入输出系统BIOS的完整性进行度量,在得到的完整性度量结果为完整性没有破坏的情况下,基于BIOS主动度量设备中的至少一个固件;在基于BIOS主动度量设备中的一个或多个固件的完整性没有破坏的情况下,加载一个或多个固件,并启动设备的系统内核,完成静态度量信任链的建立。例如,基于安全芯片建立静态度量信任链可以是这样的:静态信任链构建是这样的:TPCM/TPM→BIOS(里面包含了对可高速密码运算模块中动态度量模块、密码运算度量根、密码运算相关固件的度量)→OS Loader→OS内核。
作为一个可选的实施例,基于密码运算芯片建立动态度量信任链可以包括:基于密码运算芯片启动对动态度量模块的度量,在得到的度量结果,其中,动态度量模块用于对密码运算固件进行度量的度量实体;在度量结果为动态度量模块的完整性没有破坏的情况下,基于动态度量模块对密码运算固件和数据进行度量,在度量结果为密码运算固件的完整性没有破坏的情况下,确定完成动态度量信任链的建立。例如,基于密码运算芯片建立动态度量信任链可以是这样的:TPCM/TPM→动态度量模块(包含了对密码运算度量根的度量)→密码运算相关固件及数据(比如密码运算算法、应用等)。
作为一个可选的实施例,基于建立的静态度量信任链和动态度量信任链,构建度量信任链可以包括:先确定安全芯片与密码运算芯片之间的交互可信;之后,基于安全芯片与密码运算芯片之间的可信交互,以及静态度量信任链和动态度量信任链,构建完整的度量信任链。需要说明的是,上述安全芯片与密码运算芯片之间的交互可信可以通过一些交互的根来实现,例如,可以通过上述所指的报告根,或者存储根来实现。
另外,图7是根据本发明实施例1的另一种密码运算处理方法的流程图,如图7所示,本实施方式还提供了一种可信高速密码运算动态度量方法,具体如下:
1)TSS/TSB转发用户的密码运算请求,该密码运算请求中包含如下信息:{U,AIKCert,M,[DM_Key]AIK-1},其中是U是用户信息,AIKCert用户平台身份证书,M是用户密码运算请求相关属性,比如密码运算欲采用的密码运算算法,密钥长度等,[DM_Key]AIK-1是密码运算请求信息;
2)高速密码运算模块(即上述密码运算芯片)接受到信息后,其动态度量模块验证用户AIKCert证书的合法性,不合法则拒绝高速密码运算请求,否则执行第3步;
3)动态度量模块中密码运算度量根度量密码运算算法固件的完整性(注:该步骤假设可信模块已经保证了动态度量模块包括密码运算度量根的完整性),该步骤做如下工作:
a)用户平台身份公钥AIK解密信息[DM_Key]AIK-1,得DM_Key;
b)计算平台密码运算度量密钥CM_Key,其中CM_Key=f(DM_Key,Root_Skey);其中Root_Skey是平台度量根可以根据用户信息获知;
c)计算密码运算算法哈希值hash1(m),并将信息{U,M,[hash1(m)]CM_Key}发送给可信模块,其中m是密码运算算法,它是依据第1步中的M信息,从高速密码运算模块中获知;
4)可信模块(即上述安全芯片)接到高速密码运算模块发来的信息{U,M,[hash1(m)]CM_Key},依据U,查到事前预置的Root_Skey和DM_Key,也依据事前预定的算法f,计算出CM_Key=f(DM_Key,Root_Skey);再用CM_Key解密信息[hash1(m)]CM_Key,获得hash1(m),依据M信息,可信模块查到所存放的相应密码运算算法固件的值,判断hash1(m)是否等于hash2(m),并将结果反馈给高速密码运算模块;
5)高速密码运算模块接受到可信模块所反馈的结果,如果是YES,则执行第6)步,否则执行第7)步;
6)高速密码运算执行;
7)拒绝高速密码运算执行。
实施例2
根据本发明实施例,还提供了另一种密码运算处理方法的方法实施例,图8是根据本发明实施例2的一种密码运算处理方法的流程图,如图8所示,该方法包括:
步骤S802,安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果。
作为一种可选的实施例,上述安全芯片可以是用于进行可信度量的安全芯片,还可以是芯片中用于进行可信度量的安全功能模块。上述密码运算芯片可以是用于执行密码运算的芯片,还可以是芯片中用于执行密码运算的密码运算功能模块,例如,密码运算算法固件。
作为一种可选的实施例,上述密码运算请求可以由用户发送,用于请求上述密码运算芯片进行密码运算,在需要进行密码运算时,由用户通过人机交互接口发送密码运算请求,该密码运算请求经过处理,发送给密码运算芯片,由密码运算芯片进行密码运算。
作为一种可选的实施例,上述密码运算芯片可以是高速密码运算芯片。
作为一种可选的实施例,上述密码运算请求可以包括:用户信息,用户平台身份证书,用户密码运算请求的相关属性等。上述用户信息可以是用于表示用户身份的身份信息等。上述用户密码运算请求的相关属性可以是,密码运算欲采用的密码运算算法,密钥长度等。
作为一种可选的实施例,上述密码运算芯片在接受一次密码运算算法度量之后,认为该密码运算算法可信,在接收到密码运算请求后,默认该密码运算算法可信,直接根据该密码预算请求进行密码运算。
作为一种可选的实施例,上述采用密码运算度量根对密码运算算法固件进行度量,上述密码算法度量根,可以是动态度量模块的一子功能。
作为一种可选的实施例,上述第一度量结果,可以是上述散列值,哈希值,还可以是确定该密码运算算法固件的其他属性信息,上述度量结果用于体现上述密码运算算法固件的属性,在该属性经过安全芯片的验证合格后,可以认为该密码运算算法固件可信。
步骤S804,安全芯片获取预先存储的第二度量结果。
作为一种可选的实施例,上述安全芯片中预存有第二度量结果,上述第二度量结果为密码运算算法固件在确认可信后度量所得,需要说明的是,上述第一度量结果和第二度量结果对上述密码运算算法固件的度量的属性量为同一属性量。
作为一种可选的实施例,上述第二度量结果,也可以是在密码运算算法固件在确认可信后度量,并经过一定方式处理和运算所得,需要说明的是,上述第一度量结果和第二度量结果的处理和预算方式相同。
步骤S806,安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算。
作为一种可选的实施例,上述安全芯片接收到上述第一度量结果后,可以将上述第一度量结果与预存的第二度量结果直接进行比较,上述第二度量结果为密码运算算法固件在确认可信后度量所得,需要说明的是,上述第一度量结果和第二度量结果对上述密码运算算法固件的度量的属性量为同一属性量。
作为一种可选的实施例,上述安全芯片接收到第一度量结果后,还可以对上述第一度量结果进行处理和运算,得到第一度量结果对应的运算结果,将运算结果与预存的结果进行比较,确定该密码运算算法固件的可信度。需要说明的是,上述预存的结果,也是在密码运算算法固件在确认可信后度量,并经过上述处理和运算所得。
作为一种可选的实施例,上述密码运算芯片接收到安全芯片反馈的比较结果,该比较结果可以反映该密码运算芯片中的密码运算算法固件是否可信,具体可以通过第一度量结果与第二度量结果的比较结果是否相同来表示。
作为一种可选的实施例,在上述比较结果为安全芯片确定第一度量结果与第二度量结果不同的情况下,认定该第一度量结果度量的密码运算算法固件不可信;在上述比较结果为安全芯片确定第一度量结果与第二度量结果相同的情况下,认定该第一度量结果度量的密码运算算法固件可信。
作为一种可选的实施例,上述密码运算算法可信的情况下,安全芯片将上述比较结果发送给密码运算芯片,由密码运算芯片进行后续的动作。
上述密码运算芯片接收的比较结果为相同,也即是上述第一度量结果和第二度量结果相同,表示密码运算芯片中的密码运算算法固件是可信的。
在上述密码运算芯片的密码运算算法可信的情况下,执行密码运算,保证该密码运算的可信。通过对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算的可信。
作为一种可选的实施例,上述每次接收密码运算请求时,都对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算芯片在接受密码运算请求后,做出对该密码运算请求对应的密码运算的可信度。
在本发明实施例中,采用安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;安全芯片获取预先存储的第二度量结果;安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
作为一种可选的实施例,安全芯片接收到密码运算芯片发送的第一度量结果包括:安全芯片接收到密码运算芯片发送的采用平台密码运算度量密钥对第一度量结果进行加密的加密数据;安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
作为一种可选的实施例,在对密码运算芯片中的密码运算算法进行可信度量时,需要将密码运算算法固件的度量结果,也即是上述第一度量结果,发送给安全芯片进行可信度量。
作为一种可选的实施例,在上述第一度量结果从密码运算芯片到安全芯片中,需要经过数据传输,在数据传输的过程中,也容易被拦截和篡改。为了防止上述第一度量结果不被篡改,保证安全芯片的可信度量的正确性,本实施例中采用对上述第一度量结果进行加密传输的方式进行传输。
作为一种可选的实施例,上述对第一度量结果进行加密传输时,先采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据,上述平台密码运算度量密钥可以与上述密码运算芯片位于同一芯片,或者位于上述密码运算芯片之外,还可以是位于具有密码运算功能模块和安全功能模块的芯片。
作为一种可选的实施例,上述采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据的执行主体为密码运算芯片。上述加密数据为加密后的第一度量结果,上述加密数据的加密方式可以是多种,可以是通过一定加密方式进行数据变换得到加密数据。
作为一种可选的实施例,上述密码运算芯片将加密数据发送给安全芯片,在安全芯片接收到上述加密数据后,对上述加密数据进行解密,得到第一度量结果,然后对该第一度量结果进行与预存的第二度量结果的比较。
作为一种可选的实施例,对上述第一度量结果进行加密的方式有很多种,本实施例采用的是通过平台密码运算度量密钥对上述第一度量结果进行加密的方式。
作为一种可选的实施例,上述平台密码运算度量密钥由用户密码运算度量密钥和平台度量根生成,上述步骤的执行主体可以为密码运算芯片。
作为一种可选的实施例,上述用户密码运算度量密钥由用户平台身份公钥对密码运算请求进行解密得到的,上述步骤的执行主体可以为密码运算芯片。
实施例3
根据本发明实施例,还提供了另一种密码运算处理方法的方法实施例,图9是根据本发明实施例3的一种密码运算处理方法的流程图,如图9所示,该方法包括:
步骤S902,密码运算芯片接收到密码运算请求。
作为一种可选的实施例,上述密码运算芯片可以是用于执行密码运算的芯片,还可以是芯片中用于执行密码运算的密码运算功能模块,例如,密码运算算法固件。
作为一种可选的实施例,上述密码运算请求由用户发送,用于请求上述密码运算芯片进行密码运算,在需要进行密码运算时,由用户通过人机交互接口发送密码运算请求,该密码运算请求经过处理,发送给密码运算芯片,由密码运算芯片进行密码运算。
作为一种可选的实施例,上述密码运算芯片可以是高速密码运算芯片。
作为一种可选的实施例,上述密码运算请求可以包括:用户信息,用户平台身份证书,用户密码运算请求的相关属性等。上述用户信息可以是用于表示用户身份的身份信息等。上述用户密码运算请求的相关属性可以是,密码运算欲采用的密码运算算法,密钥长度等。
作为一种可选的实施例,上述密码运算芯片在接受一次密码运算算法度量之后,认为该密码运算算法可信,在接收到密码运算请求后,默认该密码运算算法可信,直接根据该密码预算请求进行密码运算。
步骤S904,密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片。
作为一种可选的实施例,上述采用密码运算度量根对密码运算算法固件进行度量,上述密码算法度量根,是可以对执行密码运算算法的程序进行度量的度量模块,用于以度量上述密码运算算法的程序的完整性。
作为一种可选的实施例,上述度量模块可以是该密码运算芯片中,或者密码运算芯片外的一个可以实现度量功能的功能模块。上述密码运算芯片可以为芯片中的密码运算模块,则上述度量模块为芯片中的用于对上述密码运算模块进行度量的功能模块。
需要说明的是,上述密码运算芯片对密码运算算法固件进行度量,可以采用多种方式,例如,通过计算上述密码运算算法固件的散列值,将上述计算出来的散列值与预先记录的标准散列值进行比较,从而确定上述密码运算算法固件的完整性,若上述计算的散列值与上述标准散列值相同,则认为该密码运算算法固件可信;若上述计算的散列值与上述标准散列值不同,则认为该密码运算算法固件不可信。再例如,通过计算上述密码运算算法固件的哈希值,对上述密码运算算法固件进行度量,判断密码运算算法固件是否可信。
作为一种可选的实施例,上述第一度量结果,可以是上述散列值,哈希值,还可以是确定该密码运算算法固件的其他属性信息,上述度量结果用于体现上述密码运算算法固件的属性,在该属性经过安全芯片的验证合格后,可以认为该密码运算算法固件可信。
作为一种可选的实施例,上述安全芯片可以是用于进行可信度量的安全芯片,还可以是芯片中用于进行可信度量的安全功能模块。
作为一种可选的实施例,将上述第一度量结果发送给安全芯片,上述安全芯片在接收到第一度量结果后,对上述第一度量结果进行可信计算,并将可信计算的结果反馈该密码运算芯片,用于指示密码运算芯片工作。
步骤S906,安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片。
作为一种可选的实施例,上述安全芯片中预存有第二度量结果,上述第二度量结果为密码运算算法固件在确认可信后度量所得,需要说明的是,上述第一度量结果和第二度量结果对上述密码运算算法固件的度量的属性量为同一属性量。
作为一种可选的实施例,上述第二度量结果,也可以是在密码运算算法固件在确认可信后度量,并经过一定方式处理和运算所得,需要说明的是,上述第一度量结果和第二度量结果的处理和预算方式相同。
作为一种可选的实施例,上述安全芯片接收到上述第一度量结果后,可以将上述第一度量结果与预存的第二度量结果直接进行比较,上述第二度量结果为密码运算算法固件在确认可信后度量所得,需要说明的是,上述第一度量结果和第二度量结果对上述密码运算算法固件的度量的属性量为同一属性量。
作为一种可选的实施例,上述安全芯片接收到第一度量结果后,还可以对上述第一度量结果进行处理和运算,得到第一度量结果对应的运算结果,将运算结果与预存的结果进行比较,确定该密码运算算法固件的可信度。需要说明的是,上述预存的结果,也是在密码运算算法固件在确认可信后度量,并经过上述处理和运算所得。
作为一种可选的实施例,上述密码运算芯片接收到安全芯片反馈的比较结果,该比较结果可以反映该密码运算芯片中的密码运算算法固件是否可信,具体可以通过第一度量结果与第二度量结果的比较结果是否相同来表示。
作为一种可选的实施例,在上述比较结果为安全芯片确定第一度量结果与第二度量结果不同的情况下,认定该第一度量结果度量的密码运算算法固件不可信;在上述比较结果为安全芯片确定第一度量结果与第二度量结果相同的情况下,认定该第一度量结果度量的密码运算算法固件可信。
作为一种可选的实施例,上述密码运算算法可信的情况下,安全芯片将上述比较结果发送给密码运算芯片,由密码运算芯片进行后续的动作。
步骤S908,密码运算芯片在比较结果为相同的情况下,执行密码运算。
作为一种可选的实施例,上述密码运算芯片接收的比较结果为相同,也即是上述第一度量结果和第二度量结果相同,表示密码运算芯片中的密码运算算法固件是可信的。
作为一种可选的实施例,在上述密码运算芯片的密码运算算法可信的情况下,执行密码运算,保证该密码运算的可信。
通过对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算的可信。
作为一种可选的实施例,上述每次接收密码运算请求时,都对密码运算芯片中的密码运算算法进行可信度量,从而保证密码运算芯片在接受密码运算请求后,做出对该密码运算请求对应的密码运算的可信度。
在本发明实施例中,采用密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;密码运算芯片在比较结果为相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
作为一种可选的实施例,密码运算芯片将得到的第一度量结果发送给安全芯片包括:密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;密码运算芯片将加密数据发送给安全芯片;在安全芯片比较第一度量结果与第二度量结果是否相同,得到比较结果之前,还包括:安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
作为一种可选的实施例,在对密码运算芯片中的密码运算算法进行可信度量时,需要将密码运算算法固件的度量结果,也即是上述第一度量结果,发送给安全芯片进行可信度量。
作为一种可选的实施例,在上述第一度量结果从密码运算芯片到安全芯片中,需要经过数据传输,在数据传输的过程中,也容易被拦截和篡改。为了防止上述第一度量结果不被篡改,保证安全芯片的可信度量的正确性,本实施例中采用对上述第一度量结果进行加密传输的方式进行传输。
作为一种可选的实施例,上述对第一度量结果进行加密传输时,先采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据,上述平台密码运算度量密钥可以与上述密码运算芯片位于同一芯片,或者位于上述密码运算芯片之外,还可以是位于具有密码运算功能模块和安全功能模块的芯片。
作为一种可选的实施例,上述采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据的执行主体为密码运算芯片。上述加密数据为加密后的第一度量结果,上述加密数据的加密方式可以是多种,可以是通过一定加密方式进行数据变换得到加密数据。
作为一种可选的实施例,上述密码运算芯片将加密数据发送给安全芯片,在安全芯片接收到上述加密数据后,对上述加密数据进行解密,得到第一度量结果,然后对该第一度量结果进行与预存的第二度量结果的比较。
作为一种可选的实施例,在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片从安全芯片中获取密码运算度量根。
上述密码运算度量根存储在安全芯片中,还可以是安全芯片外,还可以是具有安全模块和密码运算模块的芯片中。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例4
根据本发明实施例,还提供了一种用于实施上述实施例1的密码运算处理方法,图10是根据本发明实施例4的一种密码运算处理装置的结构示意图,如图10所示,该装置包括:第一接收模块102,度量模块104,第二接收模块106和运算模块108,下面对该密码运算处理装置进行详细说明。
第一接收模块102,用于接收到密码运算请求;度量模块104,连接至上述第一接收模块102,用于采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;第二接收模块106,连接至上述度量模块104,用于接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;运算模块108,连接至上述第二接收模块106,用于在比较结果为相同的情况下,执行密码运算。
此处需要说明的是,上述第一接收模块102,度量模块104,第二接收模块106和运算模块108对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例5
根据本发明实施例,还提供了一种用于实施上述实施例2的密码运算处理方法,图11是根据本发明实施例5的一种密码运算处理装置的结构示意图,如图11所示,该装置包括:第三接收模块112,获取模块114和比较模块116,下面对该装置进行说明。
第三接收模块112,用于接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;获取模块114,连接至上述第三接收模块112,用于获取预先存储的第二度量结果;比较模块116,连接至上述获取模块114,用于将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算。
此处需要说明的是,上述第三接收模块112,获取模块114和比较模块116对应于实施例2中的步骤S802至步骤S806,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例6
根据本发明实施例,还提供了一种用于实施上述密码运算处理方法的密码运算处理系统,图12是根据本发明实施例6的一种密码运算处理系统的结构示意图,如图12所示,该系统包括:密码运算芯片122和安全芯片124,下面对该系统进行详细说明。
密码运算芯片122,用于接收到密码运算请求,采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;
安全芯片124,与上述密码运算芯片122通信,用于获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;
密码运算芯片122,还用于在比较结果为相同的情况下,执行密码运算。
实施例7
根据本发明实施例,还提供了一种用于实施上述度量信任链构建方法的度量信任链构建系统,图13是根据本发明实施例7的一种度量信任链构建系统的结构示意图,如图13所示,该系统包括:静态度量信任链构建子系统132和动态度量信任链子系统134,下面对该度量信任链构建系统进行说明。
静态度量信任链构建子系统132,用于基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;
动态度量信任链子系统134,用于基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;
静态度量信任链构建子系统132和动态度量信任链子系统134,还用于基于建立的静态度量信任链和动态度量信任链,构建度量信任链。
实施例8
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的密码运算处理方法中以下步骤的程序代码:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选地,图14是根据本发明实施例8的一种计算机终端的结构框图,如图14所示,该计算机终端140可以包括:一个或多个(图中仅示出一个)处理器142、存储器144、以及外设接口146。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的密码运算处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至上述计算机终端130。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片对密码运算度量根进行度量,得到第三度量结果;密码运算芯片在第三度量结果与预定基准值一致的情况下,确定执行度量密码运算算法固件的度量实体完整。
可选的,上述处理器还可以执行如下步骤的程序代码:密码运算芯片将得到的第一度量结果发送给安全芯片包括:密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;密码运算芯片将加密数据发送给安全芯片。
可选的,上述处理器还可以执行如下步骤的程序代码:在密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据之前,还包括:密码运算芯片采用用户平台身份公钥,对密码运算请求进行解密得到用户密码运算度量密钥;密码运算芯片根据用户密码运算度量密钥以及平台度量根,生成平台密码运算度量密钥。
可选的,上述处理器还可以执行如下步骤的程序代码:密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果包括:密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算,得到哈希值,并将哈希值作为第一度量结果。
可选的,上述处理器还可以执行如下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算之前,还包括:密码运算芯片根据密码运算请求中携带的密码运算属性信息确定密码运算算法。
可选的,上述处理器还可以执行如下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算算法固件进行度量。
采用密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
实施例9
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的密码运算处理方法中以下步骤的程序代码:安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;安全芯片获取预先存储的第二度量结果;安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算。
可选地,本发明实施例提供了一种计算机终端。该计算机终端可以包括:一个或多个处理器、存储器、以及外设接口。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的密码运算处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的密码运算处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;安全芯片获取预先存储的第二度量结果;安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:安全芯片接收到密码运算芯片发送的第一度量结果包括:安全芯片接收到密码运算芯片发送的采用平台密码运算度量密钥对第一度量结果进行加密的加密数据;安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
在本发明实施例中,采用安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;安全芯片获取预先存储的第二度量结果;安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
实施例10
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的密码运算处理方法中以下步骤的程序代码:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选地,本发明实施例提供了一种计算机终端。该计算机终端可以包括:一个或多个处理器、存储器、以及外设接口。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的密码运算处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:密码运算芯片将得到的第一度量结果发送给安全芯片包括:密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;密码运算芯片将加密数据发送给安全芯片;在安全芯片比较第一度量结果与第二度量结果是否相同,得到比较结果之前,还包括:安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
可选的,上述处理器还可以执行如下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片从安全芯片中获取密码运算度量根。
在本发明实施例中,采用密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;密码运算芯片在比较结果为相同的情况下,执行密码运算的方式,通过对进行密码运算的算法固件进行度量,达到了使密码运算更可信的目的,从而实现了有效提高密码运算可信度的技术效果,进而解决了相关技术中无法对密码运算算法固件进行度量,导致密码运算可信度较低的技术问题。
实施例11
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的度量信任链构建方法中以下步骤的程序代码:基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;基于建立的静态度量信任链和动态度量信任链,构建度量信任链。
可选地,本发明实施例提供了一种计算机终端。该计算机终端可以包括:一个或多个处理器、存储器、以及外设接口。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的密码运算处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;基于建立的静态度量信任链和动态度量信任链,构建度量信任链。
可选的,上述处理器还可以执行如下步骤的程序代码:基于安全芯片建立静态度量信任链包括:基于安全芯片对基本输入输出系统BIOS的完整性进行度量,在得到的完整性度量结果为完整性没有破坏的情况下,基于BIOS主动度量设备中的至少一个固件;在基于BIOS主动度量设备中的一个或多个固件的完整性没有破坏的情况下,加载一个或多个固件,并启动设备的系统内核,完成静态度量信任链的建立。
可选的,上述处理器还可以执行如下步骤的程序代码:基于密码运算芯片建立动态度量信任链包括:基于密码运算芯片启动对动态度量模块的度量,在得到的度量结果,其中,动态度量模块用于对密码运算固件进行度量的度量实体;在度量结果为动态度量模块的完整性没有破坏的情况下,基于动态度量模块对密码运算固件和数据进行度量,在度量结果为密码运算固件的完整性没有破坏的情况下,确定完成动态度量信任链的建立。
可选的,上述处理器还可以执行如下步骤的程序代码:基于建立的静态度量信任链和动态度量信任链,构建度量信任链包括:确定安全芯片与密码运算芯片之间的交互可信;基于安全芯片与密码运算芯片之间的可信交互,以及静态度量信任链和动态度量信任链,构建完整的度量信任链。
在本发明实施例中,基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;基于建立的静态度量信任链和动态度量信任链,构建度量信任链。采用上述处理,建立了完整的度量信任链。
本领域普通技术人员可以理解,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比其多或者更少的组件(如网络接口、显示装置等),或者具有与其不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例12
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1提供的密码运算处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;密码运算芯片接收到安全芯片反馈的比较结果,其中,比较结果为安全芯片确定的第一度量结果与预先存储的第二度量结果是否相同的结果;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片对密码运算度量根进行度量,得到第三度量结果;密码运算芯片在第三度量结果与预定基准值一致的情况下,确定执行度量密码运算算法固件的度量实体完整。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片将得到的第一度量结果发送给安全芯片包括:密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;密码运算芯片将加密数据发送给安全芯片。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据之前,还包括:密码运算芯片采用用户平台身份公钥,对密码运算请求进行解密得到用户密码运算度量密钥;密码运算芯片根据用户密码运算度量密钥以及平台度量根,生成平台密码运算度量密钥。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果包括:密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算,得到哈希值,并将哈希值作为第一度量结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件中的密码运算算法进行哈希计算之前,还包括:密码运算芯片根据密码运算请求中携带的密码运算属性信息确定密码运算算法。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算算法固件进行度量。
实施例13
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例2提供的密码运算处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片接收到密码运算芯片发送的第一度量结果,其中,第一度量结果为密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;安全芯片获取预先存储的第二度量结果;安全芯片将第一度量结果与第二度量结果进行比较,得到是否相同的比较结果,并将比较结果发送给密码运算芯片,用于密码运算芯片在比较结果相同的情况下,执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片接收到密码运算芯片发送的第一度量结果包括:安全芯片接收到密码运算芯片发送的采用平台密码运算度量密钥对第一度量结果进行加密的加密数据;安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
实施例14
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例3提供的密码运算处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片接收到密码运算请求;密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的第一度量结果发送给安全芯片;安全芯片获取预先存储的第二度量结果,并比较第一度量结果与第二度量结果是否相同,得到比较结果,并将比较结果发送给密码运算芯片;密码运算芯片在比较结果为相同的情况下,执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片将得到的第一度量结果发送给安全芯片包括:密码运算芯片采用平台密码运算度量密钥对第一度量结果进行加密,得到加密数据;密码运算芯片将加密数据发送给安全芯片;在安全芯片比较第一度量结果与第二度量结果是否相同,得到比较结果之前,还包括:安全芯片采用预置的平台度量根和用户密码运算度量密钥生成平台密码运算度量密钥;安全芯片采用生成的平台密码运算度量密钥对加密数据进行解密,获得第一度量结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:密码运算芯片从安全芯片中获取密码运算度量根。
实施例15
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1提供的度量信任链构建方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于安全芯片建立静态度量信任链,其中,静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;基于密码运算芯片建立动态度量信任链,其中,动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;基于建立的静态度量信任链和动态度量信任链,构建度量信任链。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于安全芯片建立静态度量信任链包括:基于安全芯片对基本输入输出系统BIOS的完整性进行度量,在得到的完整性度量结果为完整性没有破坏的情况下,基于BIOS主动度量设备中的至少一个固件;在基于BIOS主动度量设备中的一个或多个固件的完整性没有破坏的情况下,加载一个或多个固件,并启动设备的系统内核,完成静态度量信任链的建立。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于密码运算芯片建立动态度量信任链包括:基于密码运算芯片启动对动态度量模块的度量,在得到的度量结果,其中,动态度量模块用于对密码运算固件进行度量的度量实体;在度量结果为动态度量模块的完整性没有破坏的情况下,基于动态度量模块对密码运算固件和数据进行度量,在度量结果为密码运算固件的完整性没有破坏的情况下,确定完成动态度量信任链的建立。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于建立的静态度量信任链和动态度量信任链,构建度量信任链包括:确定安全芯片与密码运算芯片之间的交互可信;基于安全芯片与密码运算芯片之间的可信交互,以及静态度量信任链和动态度量信任链,构建完整的度量信任链。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (22)

1.一种密码运算处理方法,包括:
密码运算芯片接收到密码运算请求;
所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;
所述密码运算芯片接收到安全芯片反馈的比较结果,其中,所述比较结果为所述安全芯片确定的所述第一度量结果与预先存储的第二度量结果是否相同的结果;
所述密码运算芯片在所述比较结果为相同的情况下,执行密码运算。
2.根据权利要求1所述的方法,其中,在所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:
所述密码运算芯片对所述密码运算度量根进行度量,得到第三度量结果;
所述密码运算芯片在所述第三度量结果与预定基准值一致的情况下,确定执行度量密码运算算法固件的度量实体完整。
3.根据权利要求1所述的方法,其中,所述密码运算芯片将得到的所述第一度量结果发送给安全芯片包括:
所述密码运算芯片采用平台密码运算度量密钥对所述第一度量结果进行加密,得到加密数据;
所述密码运算芯片将所述加密数据发送给所述安全芯片。
4.根据权利要求3所述的方法,其中,在所述密码运算芯片采用平台密码运算度量密钥对所述第一度量结果进行加密,得到加密数据之前,还包括:
所述密码运算芯片采用用户平台身份公钥,对密码运算请求进行解密得到用户密码运算度量密钥;
所述密码运算芯片根据所述用户密码运算度量密钥以及平台度量根,生成所述平台密码运算度量密钥。
5.根据权利要求1所述的方法,其中,所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果包括:
所述密码运算芯片采用所述密码运算度量根对所述密码运算算法固件中的密码运算算法进行哈希计算,得到哈希值,并将所述哈希值作为所述第一度量结果。
6.根据权利要求5所述的方法,其中,在所述密码运算芯片采用所述密码运算度量根对所述密码运算算法固件中的密码运算算法进行哈希计算之前,还包括:
所述密码运算芯片根据密码运算请求中携带的密码运算属性信息确定所述密码运算算法。
7.根据权利要求1至6中任一项所述的方法,其中,在所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:
所述密码运算芯片根据所述密码运算请求中携带的用户平台身份证书对所述密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算算法固件进行度量。
8.一种密码运算处理方法,包括:
安全芯片接收到密码运算芯片发送的第一度量结果,其中,所述第一度量结果为所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;
所述安全芯片获取预先存储的第二度量结果;
所述安全芯片将所述第一度量结果与所述第二度量结果进行比较,得到是否相同的比较结果,并将所述比较结果发送给所述密码运算芯片,用于所述密码运算芯片在所述比较结果相同的情况下,执行密码运算。
9.根据权利要求8所述的方法,其中,所述安全芯片接收到密码运算芯片发送的第一度量结果包括:
所述安全芯片接收到所述密码运算芯片发送的采用平台密码运算度量密钥对所述第一度量结果进行加密的加密数据;
所述安全芯片采用预置的平台度量根和用户密码运算度量密钥生成所述平台密码运算度量密钥;
所述安全芯片采用生成的所述平台密码运算度量密钥对所述加密数据进行解密,获得所述第一度量结果。
10.一种密码运算处理方法,包括:
密码运算芯片接收到密码运算请求;
所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;
所述安全芯片获取预先存储的第二度量结果,并比较所述第一度量结果与所述第二度量结果是否相同,得到比较结果,并将所述比较结果发送给所述密码运算芯片;
所述密码运算芯片在所述比较结果为相同的情况下,执行密码运算。
11.根据权利要求10所述的方法,其中,
所述密码运算芯片将得到的所述第一度量结果发送给所述安全芯片包括:所述密码运算芯片采用平台密码运算度量密钥对所述第一度量结果进行加密,得到加密数据;所述密码运算芯片将所述加密数据发送给所述安全芯片;
在所述安全芯片比较所述第一度量结果与所述第二度量结果是否相同,得到比较结果之前,还包括:所述安全芯片采用预置的平台度量根和用户密码运算度量密钥生成所述平台密码运算度量密钥;所述安全芯片采用生成的所述平台密码运算度量密钥对所述加密数据进行解密,获得所述第一度量结果。
12.根据权利要求10所述的方法,其中,在所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量之前,还包括:
所述密码运算芯片从所述安全芯片中获取所述密码运算度量根。
13.一种度量信任链构建方法,包括:
基于安全芯片建立静态度量信任链,其中,所述静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;
基于密码运算芯片建立动态度量信任链,其中,所述动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;
基于建立的所述静态度量信任链和所述动态度量信任链,构建所述度量信任链。
14.根据权利要求13所述的方法,其中,基于所述安全芯片建立所述静态度量信任链包括:
基于所述安全芯片对基本输入输出系统BIOS的完整性进行度量,在得到的完整性度量结果为完整性没有破坏的情况下,基于所述BIOS主动度量所述设备中的至少一个固件;
在基于所述BIOS主动度量所述设备中的一个或多个固件的完整性没有破坏的情况下,加载所述一个或多个固件,并启动所述设备的系统内核,完成所述静态度量信任链的建立。
15.根据权利要求13所述的方法,其中,基于所述密码运算芯片建立所述动态度量信任链包括:
基于所述密码运算芯片启动对动态度量模块的度量,在得到的度量结果,其中,所述动态度量模块用于对密码运算固件进行度量的度量实体;
在所述度量结果为所述动态度量模块的完整性没有破坏的情况下,基于所述动态度量模块对密码运算固件和数据进行度量,在度量结果为所述密码运算固件的完整性没有破坏的情况下,确定完成所述动态度量信任链的建立。
16.根据权利要求13或14所述的方法,其中,基于建立的所述静态度量信任链和所述动态度量信任链,构建所述度量信任链包括:
确定所述安全芯片与所述密码运算芯片之间的交互可信;
基于所述安全芯片与所述密码运算芯片之间的可信交互,以及所述静态度量信任链和所述动态度量信任链,构建完整的所述度量信任链。
17.一种密码运算处理装置,应用于密码运算芯片,包括:
第一接收模块,用于接收到密码运算请求;
度量模块,用于采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;
接收模块,用于接收到安全芯片反馈的比较结果,其中,所述比较结果为所述安全芯片确定的所述第一度量结果与预先存储的第二度量结果是否相同的结果;
运算模块,用于在所述比较结果为相同的情况下,执行密码运算。
18.一种密码运算处理装置,应用于安全芯片,包括:
第二接收模块,用于接收到密码运算芯片发送的第一度量结果,其中,所述第一度量结果为所述密码运算芯片采用密码运算度量根对密码运算算法固件进行度量得到的度量结果;
获取模块,用于获取预先存储的第二度量结果;
比较模块,用于将所述第一度量结果与所述第二度量结果进行比较,得到是否相同的比较结果,并将所述比较结果发送给所述密码运算芯片,用于所述密码运算芯片在所述比较结果相同的情况下,执行密码运算。
19.一种密码运算处理系统,包括:密码运算芯片和安全芯片,其中,
所述密码运算芯片,用于接收到密码运算请求,采用密码运算度量根对密码运算算法固件进行度量,得到第一度量结果,并将得到的所述第一度量结果发送给安全芯片;
所述安全芯片,用于获取预先存储的第二度量结果,并比较所述第一度量结果与所述第二度量结果是否相同,得到比较结果,并将所述比较结果发送给所述密码运算芯片;
所述密码运算芯片,还用于在所述比较结果为相同的情况下,执行密码运算。
20.一种度量信任链构建系统,包括:静态度量信任链构建子系统和动态度量信任链子系统,其中,
所述静态度量信任链构建子系统,用于基于安全芯片建立静态度量信任链,其中,所述静态度量信任链包括:在设备的系统启动时对度量目标所进行的静态的可信度量;
动态度量信任链子系统,用于基于密码运算芯片建立动态度量信任链,其中,所述动态度量信任链包括:在接收到可信度量请求时,对度量目标所进行的动态的可信度量;
所述静态度量信任链构建子系统和所述动态度量信任链子系统,还用于基于建立的所述静态度量信任链和所述动态度量信任链,构建所述度量信任链。
21.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至16中任意一项所述的密码运算处理方法。
22.一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至16中任意一项所述的密码运算处理方法。
CN201810998169.9A 2018-08-29 2018-08-29 密码运算处理方法、装置、系统及度量信任链构建方法 Active CN110874494B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810998169.9A CN110874494B (zh) 2018-08-29 2018-08-29 密码运算处理方法、装置、系统及度量信任链构建方法
US16/554,383 US20200074122A1 (en) 2018-08-29 2019-08-28 Cryptographic operation processing method, apparatus, and system, and method for building measurement for trust chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810998169.9A CN110874494B (zh) 2018-08-29 2018-08-29 密码运算处理方法、装置、系统及度量信任链构建方法

Publications (2)

Publication Number Publication Date
CN110874494A true CN110874494A (zh) 2020-03-10
CN110874494B CN110874494B (zh) 2023-05-02

Family

ID=69641382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810998169.9A Active CN110874494B (zh) 2018-08-29 2018-08-29 密码运算处理方法、装置、系统及度量信任链构建方法

Country Status (2)

Country Link
US (1) US20200074122A1 (zh)
CN (1) CN110874494B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065140A (zh) * 2021-06-02 2021-07-02 南方电网数字电网研究院有限公司 一种芯片化控制保护装置内嵌安全防护系统及方法
CN113468535A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 可信度量方法及相关装置
CN114124398A (zh) * 2020-08-28 2022-03-01 美光科技公司 具有信任链的装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677250B (zh) 2018-07-02 2022-09-02 阿里巴巴集团控股有限公司 密钥和证书分发方法、身份信息处理方法、设备、介质
CN110795742B (zh) 2018-08-02 2023-05-02 阿里巴巴集团控股有限公司 高速密码运算的度量处理方法、装置、存储介质及处理器
CN110795774B (zh) 2018-08-02 2023-04-11 阿里巴巴集团控股有限公司 基于可信高速加密卡的度量方法、设备和系统
CN110874478B (zh) 2018-08-29 2023-05-02 阿里巴巴集团控股有限公司 密钥处理方法及装置、存储介质和处理器
CN111581646B (zh) * 2020-05-08 2023-11-24 北京可信华泰信息技术有限公司 数据处理方法、装置、存储介质和处理器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070111568A1 (en) * 2004-12-07 2007-05-17 Pure Networks, Inc. Network device setup utility
US20080027962A1 (en) * 2006-07-31 2008-01-31 Mci, Llc. Method and system for providing network based transaction metrics
CN101901319A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信计算平台以及信任链传递验证方法
CN101996286A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 动态安全度量的实现方法、安全度量装置和应用系统
CN103051455A (zh) * 2012-12-22 2013-04-17 中国船舶重工集团公司第七0九研究所 一种云计算环境下的可信密码模块密码功能授权代理的实现方法
CN106980800A (zh) * 2017-03-29 2017-07-25 山东超越数控电子有限公司 一种加密固态硬盘认证分区的度量方法和系统
CN108243009A (zh) * 2018-01-18 2018-07-03 郑州云海信息技术有限公司 一种基于fpga和密码芯片的tpcm板卡

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070111568A1 (en) * 2004-12-07 2007-05-17 Pure Networks, Inc. Network device setup utility
US20080027962A1 (en) * 2006-07-31 2008-01-31 Mci, Llc. Method and system for providing network based transaction metrics
CN101996286A (zh) * 2009-08-10 2011-03-30 北京多思科技发展有限公司 动态安全度量的实现方法、安全度量装置和应用系统
CN101901319A (zh) * 2010-07-23 2010-12-01 北京工业大学 一种可信计算平台以及信任链传递验证方法
CN103051455A (zh) * 2012-12-22 2013-04-17 中国船舶重工集团公司第七0九研究所 一种云计算环境下的可信密码模块密码功能授权代理的实现方法
CN106980800A (zh) * 2017-03-29 2017-07-25 山东超越数控电子有限公司 一种加密固态硬盘认证分区的度量方法和系统
CN108243009A (zh) * 2018-01-18 2018-07-03 郑州云海信息技术有限公司 一种基于fpga和密码芯片的tpcm板卡

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周少皇;郭玉东;王炜;林键;: "一种基于本地验证的可信度量方法" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468535A (zh) * 2020-03-31 2021-10-01 华为技术有限公司 可信度量方法及相关装置
CN114124398A (zh) * 2020-08-28 2022-03-01 美光科技公司 具有信任链的装置
CN113065140A (zh) * 2021-06-02 2021-07-02 南方电网数字电网研究院有限公司 一种芯片化控制保护装置内嵌安全防护系统及方法

Also Published As

Publication number Publication date
CN110874494B (zh) 2023-05-02
US20200074122A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
CN110874494B (zh) 密码运算处理方法、装置、系统及度量信任链构建方法
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
US20200092284A1 (en) Authentication method and system
US20190074968A1 (en) Method, apparatus and system for data encryption and decryption
EP3362936B1 (en) Trusted platforms using minimal hardware resources
US11281781B2 (en) Key processing methods and apparatuses, storage media, and processors
US9867043B2 (en) Secure device service enrollment
CN103888251B (zh) 一种云环境中虚拟机可信保障的方法
CN109714185B (zh) 可信服务器的策略部署方法、装置、系统及计算系统
US20200026882A1 (en) Methods and systems for activating measurement based on a trusted card
CN110875819B (zh) 密码运算处理方法、装置及系统
CN110795742B (zh) 高速密码运算的度量处理方法、装置、存储介质及处理器
CN110971398A (zh) 数据处理方法、装置及系统
CN111371726B (zh) 安全代码空间的认证方法、装置、存储介质及处理器
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
US20160226657A1 (en) Portable Security Device
WO2021084221A1 (en) Attestation for constrained devices
CN112346785B (zh) 数据处理方法、装置、系统、存储介质和计算机设备
CN116881936A (zh) 可信计算方法及相关设备
CN114884714B (zh) 任务处理方法、装置、设备及存储介质
US11520771B2 (en) Measurement update method, apparatus, system, storage media, and computing device
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN112000935A (zh) 远程认证方法、装置、系统、存储介质及计算机设备
CN111814157A (zh) 数据安全处理系统、方法、存储介质、处理器及硬件安全卡
CN117914490A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40025736

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant