CN110875819B - 密码运算处理方法、装置及*** - Google Patents
密码运算处理方法、装置及*** Download PDFInfo
- Publication number
- CN110875819B CN110875819B CN201810996079.6A CN201810996079A CN110875819B CN 110875819 B CN110875819 B CN 110875819B CN 201810996079 A CN201810996079 A CN 201810996079A CN 110875819 B CN110875819 B CN 110875819B
- Authority
- CN
- China
- Prior art keywords
- dynamic measurement
- cryptographic operation
- module
- password
- operation request
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/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
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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
- G06F21/575—Secure boot
-
- 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/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种密码运算处理方法、装置及***。其中,该方法包括:可信转发模块接收到密码运算请求;在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。本发明解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
Description
技术领域
本发明涉及密码运算领域,具体而言,涉及一种密码运算处理方法、装置及***。
背景技术
相关技术中,对用户的密码运算请求不进行用户的自主需求的区分,也不进行安全等级的区分,对于每个用户发送的密码运算请求,要么都要统一进行动态度量,要么统一不进行动态度量。这就会造成两个极端:一是,对于一些用户不想进行动态度量,或者该密码运算请求的安全等级低等,其他不用调用动态度量的情况时,也会针对该密码运算请求进行度量;二是,对于一些可靠性高的密码运算请求,或者用户要求快速进行密码运算,而不想进行动态度量等其它不用调用动态度量的情况下,也都会统一执行动态度量。因此,在相关技术中,对于是否要采用动态度量进行密码运算,采用统一的设置会造成无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种密码运算处理方法、装置及***,以至少解决无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的的技术问题。
根据本发明实施例的一个方面,提供了一种密码运算处理方法,包括:可信转发模块接收到密码运算请求;在所述密码运算请求有动态度量需求的情况下,所述可信转发模块将所述密码运算请求发送给安全芯片,其中,在所述安全芯片完成所述动态度量需求后,由密码运算芯片执行密码运算处理,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:安全芯片接收到密码运算请求,其中,所述密码运算请求中携带有动态度量需求,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;所述安全芯片根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果;所述安全芯片在所述度量结果为所述动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:密码运算芯片接收到密码运算请求,其中,所述密码运算请求中携带指示信息,所述指示信息用于指示不需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;所述密码运算芯片根据所述密码运算请求执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:在有动态度量需求的情况下,加密卡接收密码运算请求;如果所述加密卡完成所述动态度量需求,所述加密卡执行密码运算处理,其中,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求;如果所述加密卡完成所述动态度量需求,所述加密卡中的安全芯片触发所述加密卡中的密码运算芯片执行密码运算处理,其中,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
根据本发明实施例的另一方面,还提供了一种密码运算处理方法,包括:可信转发模块接收到密码运算请求,其中,所述密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,所述动态度量模块用于对进行密码运算的固件进行度量的度量实体;所述可信转发模块在所述指示信息指示需要对动态度量模块进行度量的情况下,将所述密码运算请求转发给安全芯片;所述安全芯片根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果,并将所述度量结果发送给密码运算芯片;所述密码运算芯片在所述度量结果为所述动态度量模块的完整性完好的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理装置,应用于可信转发模块,包括:第一接收模块,用于接收到密码运算请求;发送模块,用于在所述密码运算请求有动态度量需求的情况下,将所述密码运算请求发送给安全芯片,其中,在所述安全芯片完成所述动态度量需求后,由密码运算芯片执行密码运算处理,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
根据本发明实施例的另一方面,还提供了一种密码运算处理装置,应用于安全芯片,包括:第二接收模块,用于接收到密码运算请求,其中,所述密码运算请求中携带有动态度量需求,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;度量模块,用于根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果;触发模块,用于在所述度量结果为所述动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理装置,应用于密码运算芯片,包括:接收模块,用于接收到密码运算请求,其中,所述密码运算请求中携带指示信息,所述指示信息用于指示不需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;运算模块,用于根据所述密码运算请求执行密码运算。
根据本发明实施例的另一方面,还提供了一种密码运算处理***,包括:可信转发模块,安全芯片和密码运算芯片,其中,所述可信转发模块,用于接收到密码运算请求,其中,所述密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;所述可信转发模块,还用于在所述指示信息指示需要对动态度量模块进行度量的情况下,将所述密码运算请求转发给安全芯片;所述安全芯片,用于根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果,并将所述度量结果发送给密码运算芯片;所述密码运算芯片,用于在所述度量结果为所述动态度量模块的完整性完好的情况下,执行密码运算。
根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述的密码运算处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的密码运算处理方法。
在本发明实施例中,采用可信转发模块接收到密码运算请求;在所述密码运算请求有动态度量需求的情况下,所述可信转发模块将所述密码运算请求发送给安全芯片,其中,在所述安全芯片完成所述动态度量需求后,由密码运算芯片执行密码运算处理,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体的方式,通过对密码运算请求中的动态度量需求进行监测,并根据所述动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现密码运算处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明实施例的可信高速加密卡的结构框图;
图3是根据本发明实施例的可信计算芯片的结构示意图;
图4是根据本发明实施例的FPGA芯片的结构示意图;
图5是根据本发明实施例1的一种密码运算处理方法的流程图;
图6是根据本发明实施例1的另一种密码运算处理方法的流程图;
图7是根据本发明实施例1的另一种密码运算处理方法的流程图;
图8是根据本发明实施例2的一种密码运算处理方法的流程图;
图9是根据本发明实施例3的一种密码运算处理方法的流程图;
图10是根据本发明实施例4的一种密码运算处理方法的流程图;
图11是根据本发明实施例5的一种密码运算处理方法的流程图;
图12是根据本发明实施例6的一种密码运算处理方法的流程图;
图13是根据本发明实施例6的另一种密码运算处理方法的流程图;
图14是根据本发明优选实施方式的可信高速密码运算方法的流程图;
图15是根据本发明实施例7的一种密码运算处理装置的结构示意图;
图16是根据本发明实施例8的一种密码运算处理装置的结构示意图;
图17是根据本发明实施例9的一种密码运算处理装置的结构示意图;
图18是根据本发明实施例10的一种密码运算处理***的结构示意图;
图19是根据本发明实施例11的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
可信计算:可信计算(Trusted Computing)是在计算和通信***中广泛使用基于硬件安全模块支持下的可信计算平台,以提高***整体的安全性。
可信平台模块/可信平台控制模块(TPM/TPCM):为证据提供完整性和真实性保障的安全芯片,一般通过物理方式被强绑定到计算平台。
可信度量:可信度量的实际方法是完整性度量,完整性度量就是用杂凑函数计算代码的杂凑值,与存储的杂凑值对比,去发现代码是否改变,根据比对结果,***做出相应的判断。
现场可编程逻辑门阵列:Field-Programmable Gate Array,FPGA,具体是一种班定制电路,可以通过改变逻辑块的连接实现不同的逻辑门功能,而且上述逻辑快和连接可以按照设计进行更改,从而实现可编辑的功能。
可信高速数据加密卡THSDEC(Trusted high-speed Data Encryption Card,或者简称为THSDC):具有可信功能的数据加密卡。
固件:是指存储在硬件中不能够被轻易更改的程序,也泛指一些上述程序所在的基础硬件。
实施例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(或移动设备)可以执行以连接到由一个服务器(例如安全服务器)或一组服务器执行的网络服务。网络服务器是基于网络的用户服务,诸如社交网络、云资源、电子邮件、在线支付或其他在线应用。
在计算机日渐普及的情况下,硬件攻击也越来越普遍,业务平台及***的完整性保证越来越受到重视,在对业务平台及***的完整性检验的技术中,度量是一种常见保护平台及***完整性的技术手段,具体是在某些特定的时刻,对目标进行度量,得到目标的某些信息,将这些信息的值与实现记录的标准值进行比较从而判断目标的完整性是否被破坏。
例如,在可信高速加密卡场景中,上述高速加密卡包括用于可信度监测的安全芯片和用于进行密码运算的密码运算芯片,为保证上述高速加密卡的密码运算算法的可信,需要对上述可信高速加密卡进行可信度量,上述可信高速加密卡的可信度量一般包括静态度量和动态度量。上述静态度量是指上述可信高速加密卡在***启动后,自动进行对上述可信高速加密卡中的密码运算芯片进行可信度量,在确认该密码运算芯片后认为该***此次运行状态中该密码运算算法可信。上述动态度量是指上述可信高速加密卡在每次接收用户的密码运算请求时,都会对上述可信高速加密卡中的密码运算芯片进行可信度量,确认上述密码运算芯片可信,也即是保证了该次密码运算请求下,上述可信高速加密卡的可信。上述静态度量的度量频率过小,往往无法保证上述可信高速加密卡的可信度,上述动态度量的度量频率过高,对于每次的用户密码运算请求都要做出度量,无法对不同的安全等级和用户自主需求的密码运算请求进行区别,造成用户自主需求性差,浪费计算资源在一些不必要进行动态度量的密码运算请求上。
基于可信计算规范的要求,以及TPCM及TPM的可信芯片设计,可信高速加密卡是实现从开机到操作***内核加载前的平台可信引导功能;对业务敏感数据加解密的计算安全;两设备交互,保障彼此的平台及身份的合法性。
可信高速加密卡THSDC将可信计算芯片与FPGA高速加密卡集成在一张PCIE卡里,
图2是根据本发明实施例的可信高速加密卡的结构框图,如图2所示,可信计算芯片(以下可以称为安全芯片)与高速数据加密卡HSDEC(图2中为FPGA芯片,当然也可以是其它高速密码运算芯片,以下也可以称为密码运算芯片)之间的数据交互,可以通过板卡内部的电路直接通信,不需通过映射主机Host的内存进行。THSDC与主板部件连接示意图如图2所示,其中,THSDC与可信软件基TSB(或可信软件栈TSS)通过PCIE或SPI总线进行命令和数据交互;通过使用多路复用器对GPIO/SPI/I2C进行复用的方式,实现对BMC/BIOS的度量以及与相关控制器的连接。
图3是根据本发明实施例的可信计算芯片的结构示意图,如图3所示,可信计算芯片主要包括:主计算区、密码计算区、存储区。其中主计算区包括CPU及内存,主要负责对密码计算能力及存储能力要求不高,但安全要求性很高的密码运算以外的通用计算;密码计算区包括不同种类密码算法的引擎,比如SM3、SM2、SM4、RSA、AES算法等,主要负责密码计算能力及存储能力要求不高密码运算;存储区包括固件的存储、PCR寄存器的存储、主密钥的存储(主密钥可以用来保护FPGA芯片卡里所产生的用户密钥)、FPGA密码运算相关固件存储(主要是密码算法、接口、时序、状态、缓存等)、度量根/报告根/存储根的存储。
图4是根据本发明实施例的FPGA芯片的结构示意图,如图4所示,FPGA芯片主要包括:主计算区、密码运算区及存储区。其中,主计算区主要包括:内置FPGA芯片的NIOS软核处理器,及PCIE硬核,分别实现控制器模块和接口模块功能;密码运算区主要负责对密码计算能力及存储能力要求较高的密码运算,其密码算法可以根据用户固件动态存储区的用户策略制定的实际应用的密码算法需求,进行板内动态加载,加载之前,可信度量根验证其完整性及合法性再加载。存储区主要包括:***固件静态存储区,该区只可读不可写;用户固件动态存储区可读可写,该区主要是用户的配置的动态策略;用户密钥,FPGA芯片通过密码运算算法所计算出来的用户密钥。
基于上述运行环境,本申请提供了一种密码运算处理方法。图5是根据本发明实施例1的一种密码运算处理方法的流程图,如图5所示,上述密码运算处理方法包括以下步骤:
步骤S502,可信转发模块接收到密码运算请求。
作为一种可选的实施例,上述密码运算请求可以是用户向可信高速加密卡进行加密运算的请求,上述密码运算请求可以是由用户直接发送给上述可信高速加密卡的请求,由上述可信高速加密卡直接进行接收,并进行与上述密码运算请求相应的加密运算。
作为一种可选的实施例,上述密码运算请求还可以是经过一定处理之后,再发送给上述可信高速加密卡的运算请求,密码运算请求经过一定处理后,具有与该处理方式响应的优化性能。例如,密码运算请求经过除噪处理之后,密码运算请求可以更加准确。再例如,密码运算请求经过加解密处理后,具有传输更加安全的性能。
作为一种可选的实施例,上述密码运算请求还可以经过可信转发模块的处理,可信转发模块用于对密码运算请求的合法性进行鉴定,也即是对密码运算请求进行鉴权处理,在该密码运算请求鉴权通过的情况下,将密码运算请求转发给可信高速加密卡。
作为一种可选的实施例,上述可信转发模块还可以对密码运算请求进行一定处理,例如,对该密码运算请求的动态度量需求进行监测。其中,上述动态度量需求用于指示可信高速加密卡是否针对该密码运算请求进行动态度量,在密码运算请求具有上述动态度量需求的情况下,确定该密码运算请求被用户需求进行动态度量,可信高速加密卡针对该密码运算请求进行动态度量。有效针对用户的需求对密码运算请求进行动态度量,有效简化了部分不需要动态度量的密码运算请求的加密处理,降低了可信高速加密卡的运算量,提高了运算速度,节约可信高速加密卡的资源。
作为一种可选的实施例,上述可信转发模块处理过的密码运算请求转发给可信高速加密卡后,由上述可信高速加密卡进行密码运算。
作为一种可选的实施例,上述可信转发模块可以是可信高速加密卡中的转发芯片、转发模块等,还可以是可信高速加密卡之外的转发装置,或者可信高速加密卡的上一级信息处理装置的功能模块,例如,人机交互装置的发送模块,用于将接收到用户发送的密码运算请求发送至人机交互装置的下一级信息处理装置,其中,上述人机交互装置用于将用户输入的需求转化为电信号。
步骤S504,在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,上述可信转发模块监测到密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,上述安全芯片属于可信高速加密卡,用于响应密码运算请求中的动态度量需求,对可信高速加密卡中的动态度量模块进行可信度量,在该动态度量模块可信的情况下,采用动态度量模块对进行密码运算的固件进行度量,在对进行密码运算的固件进行度量成功的情况下,响应密码运算请求采用可信高速加密卡中的密码运算芯片进行加密运算。
作为一种可选的实施例,上述安全芯片完成动态度量需求,也既是安全芯片响应动态度量需求进行度量,可以是对密码运算算法进行度量,可以对密码运算芯片进行度量,可以是对度量密码运算算法的度量实体进行度量等,以提高密码运算芯片的密码运算的可信度。
作为一种可选的实施例,上述密码运算芯片执行密码运算处理,也既是可信高速加密卡响应密码运算请求进行加密运算。
作为一种可选的实施例,上述动态度量模块可以是用于实现动态度量的功能模块,还可以是用于结合各个功能模块以实现动态度量动作的度量实体,例如,动态度量模块可以为用于对进行密码运算的固件进行度量的度量实体,进行密码运算的固件可以包括启动密码运算的安全芯片,其中,安全芯片可以是可信高速加密卡中的安全模块。
作为一种可选的实施例,图6是根据本发明实施例1的另一种密码运算处理方法的流程图,如图6所示,该密码运算处理方法还包括:
步骤S602,在密码运算请求没有动态度量需求的情况下,可信转发模块获取监测结果,其中,监测结果表明进行密码运算的***是否出现异常特征;
步骤S604,在监测结果表明进行密码运算的***不存在异常特征的情况下,可信转发模块将密码运算请求发送给密码运算芯片,执行密码运算处理。
作为一种可选的实施例,上述密码运算请求没有动态度量需求,则说明无法确定该密码运算请求,是否被用户需要进行动态度量。没有动态度量需求的密码运算请求,可以是未被用户指定进行动态度量的密码运算请求,还可以是用户忘记指定进行动态度量的密码运算请求。在用户的需求不明确的情况下,可以对密码运算***的可信度进行确定,在密码运算***可信的情况下,任何密码运算需求都可以进行有效的密码运算。
作为一种可选的实施例,上述监测结果用于表明进行密码运算的***的可信度是否出现异常特征,上述异常特征表明密码运算***可能不可信,可能会影响到密码运算的过程。上述监测结果可以由用于对密码运算***的运行参数进行监测的监测模块输出,上述监测模块可以是位于可信高速加密卡中的自监测模块,还可以是位于可信高速加密卡之外的监测装置,或者可信高速加密卡之外的其他装置(***)的监测模块。
作为一种可选的实施例,上述可信转发模块获取的监测结果表明密码运算***不存在异常的情况下,可以确定密码运算***正常,可以进行正常的加密运算,将密码运算请求发送给可信高速加密卡中的密码运算芯片,执行密码运算处理。可以保证密码运算***无误的情况下,接收密码运算请求进行密码运算。
作为一种可选的实施例,上述密码运算方法还包括:在监测结果表明进行密码运算的***出现异常特征的情况下,可信转发模块获取发送密码运算请求的用户的安全级别;在用户的安全级别为高安全级别的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
作为一种可选的实施例,上述监测结果表明密码运算的***异常的情况下,表明密码运算***可能不可信,在对该密码运算***未进行可信度量前,不能确定密码运算***无法进行有效的密码运算。为保证密码运算***的正常的密码运算,需要在上述监测结果表明进行密码运算的***出现异常特征的情况下,对密码运算***进行可信度量,对密码运算***是否无法进行有效的密码运算进行确定。但是,对于用户的密码运算请求可能有不同的需求,有的密码运算请求可能不被用户需求进行动态度量。为了防止在不用不需要进行动态度量需求时,对***进行可信确认,会造成的运算资源浪费的情况,可以对用户的需求先进行确认,在用户可能需要动态度量的情况下,对密码运算***进行可信度量。
作为一种可选的实施例,在上述对用户是否需要对该密码请求进行动态度量的意愿不明确的情况下,监测结果异常时,表明密码运算***具有不可信的可能,可能会导致重要性较高(用户需要进行动态度量)的密码运算请求,出现运算错误的情况。为了避免此类情况发生,在密码运算请求比较重要性的情况下,对密码运算***进行可信度量,保证密码***可信的前提下,对该密码运算请求进行运算,可以有效降低密码运算的错误率,增强密码运算***的处理能力,更加人性化。
作为一种可选的实施例,上述密码运算请求比较重要的情况,在确定时,可以是对密码运算请求进行重要性的等级划分,也可以是可以表明密码运算请求的等级划分,例如,上述用户的安全级别,具体的,上述用户的安全级别分为密码运算请求比较重要的高安全级别,和密码运算请求相对比较不重要的低安全级别。
作为一种可选的实施例,上述高安全级别和低安全级别均可以是一个级别,或者几个级别,例如,用户的划分等级为五级,在用户的可信需求较为普遍时,可以将前四个用户划分等级均划分为高安全级别,最后一个用户级别划分为为低安全级别;在大多数用户都不要求可信需求的情况下,可以将第一个用户级别划分为高安全级别,其余的用户等级均划分为低安全级别。上述高安全等级和低安全等级的划分根据情况的不同可以发生改变。
作为一种可选的实施例,上述用户的安全级别为高安全级别的情况,确定该密码运算请求被用户需求进行动态度量。通过可信转发模块将密码运算请求发送给安全芯片,执行动态度量。
作为一种可选的实施例,上述密码运算方法还包括:在用户的安全级别为低安全级别的情况下,可信转发模块发出提示***存在风险的提示信息;在接收到需要启动动态度量的指令后,可信转发模块将密码运算请求发送给安全芯片。
作为一种可选的实施例,在用户的安全级别为低安全级别的情况下,也无法保证该密码运算请求一定不需要进行动态度量,因此,在用户的安全级别为低安全级别的情况下,向用户进行提示,由用户进行确定,可以有效避免低安全等级的用户在忘记确定是否进行动态度量的情况下,对密码运算请求无法进行有效的加密运算。
作为一种可选的实施例,上述提示信息可以是提示用户重新确定是否进行动态度量的提示信息,但是,上述低安全等级的用户,在忘记确定是否进行动态度量的情况下,***出现异常的情况,比较少见,因此,可以通过直接提示用户***异常,引起用户重视。
作为一种可选的实施例,上述用户接受到提示信息后,确认该密码运算请求确实属于需要进行动态度量的情况,向密码运算***发送启动动态度量的指令,由可信转发模块将该密码运算请求发送给安全芯片执行动态度量。
图7是根据本发明实施例1的另一种密码运算处理方法的流程图,如图7所示,在可信转发模块接收到密码运算请求之后,还包括:
步骤S702,可信转发模块获取密码运算请求中携带的需求参数,其中,需求参数用于指示是否存在动态度量需求;
步骤S704,可信转发模块根据需求参数确定密码运算请求是否有动态度量需求。
作为一种可选的实施例,上述密码运算请求中可以包括是否进行动态度量的指令,还可以包括用于表明是否进行动态度量的需求参数。根据上述指令或者需求参数,可以确定该密码运算请求是否被用户需要进行动态度量。
作为一种可选的实施例,在上述密码运算请求中包括需求参数的情况下,先对需求参数表示的指令进行确定,可以由可信转发模块根据需求参数确定密码运算请求是否有动态度量需求。上述步骤的执行主体还可以为其他装置或者功能模块。
作为一种可选的实施例,在可信转发模块接收到密码运算请求之后,还包括:可信转发模块根据密码运算请求中携带的用户平台身份证书,对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算请求的转发。
作为一种可选的实施例,在用户需要动态度量的情况下,有可能该用户不合法,因此需要对该用户的合法性进行确定,上述密码运算请求可以携带有表明用户合法性的参数,例如,用户的平台身份证书等。在对用户的平台身份证书验证合格后,认为该用户合法,允许该用户要求对该密码运算请求的动态度量。在上述执行步骤为可信转发模块的情况下,对该密码运算请求进行转发。
本发明实施例采用可信转发模块接收到密码运算请求;在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
实施例2
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,图8是根据本发明实施例2的一种密码运算处理方法的流程图,如图8所示,
步骤S802,安全芯片接收到密码运算请求,其中,密码运算请求中携带有动态度量需求,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,上述步骤的执行主体为用于进行可信度量的安全芯片,上述安全芯片可以为可信高速加密卡中的安全芯片,或者安全模块,还可以是可信高速加密卡之外的装置,或者安全模块。
作为一种可选的实施例,上述密码运算请求由用户发送,用于指示可信高速加密卡进行加密运算。上述安全芯片接受到密码运算请求后,根据密码运算请求中的动态度量需求,确定是否执行动态度量操作。在密码运算请求中携带有动态度量需求,且动态度量需求指示需要进行动态度量的情况下,安全芯片执行动态度量。
步骤S804,安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果。
作为一种可选的实施例,上述安全芯片在响应动态度量需求进行度量时,可以是对密码运算算法进行度量,可以对密码运算芯片进行度量,还可以是对度量密码运算算法的度量实体进行度量等,以提高密码运算芯片的密码运算的可信度。
作为一种可选的实施例,上述动态度量需求与动态度量模块与实施例1中的动态度量需求和动态度量模块可以相同。
作为一种可选的实施例,上述度量结果为动态度量模块是否可信,还可以是动态度量模块是否完整等,用于指示进行的密码运算是否可信。
步骤S806,安全芯片在度量结果为动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
作为一种可选的实施例,上述安全芯片在度量结果为动态度量模块的完整性完好的情况下,说明密码运算***可以进行有效的密码运算,则根据密码运算请求触发密码运算芯片执行密码运算。有效保证了在密码运算请求需要进行动态度量时,对密码运算的可信度进行度量,在密码运算可信时,进行密码运算,保证密码运算的有效性。
作为一种可选的实施例,在安全芯片接收到密码运算请求之后,还包括:安全芯片对密码运算请求的合法性进行验证,在验证通过的情况下,允许对动态度量模块进行度量。
作为一种可选的实施例,在上述用户需要动态度量的情况下,有可能该用户不合法,因此需要对该用户的合法性进行确定,上述密码运算请求可以携带有表明用户合法性的参数,例如,用户的平台身份证书等。在对用户的平台身份证书验证合格后,认为该用户合法,允许该用户要求对该密码运算请求的动态度量。上述安全芯片确定该用户合法后,允许动态度量模块进行度量。
本发明实施例,采用安全芯片接收到密码运算请求,其中,密码运算请求中携带有动态度量需求,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果;安全芯片在度量结果为动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
实施例3
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,图9是根据本发明实施例3的一种密码运算处理方法的流程图,如图9所示,该密码运算处理方法执行以下步骤。
步骤S902,密码运算芯片接收到密码运算请求,其中,密码运算请求中携带指示信息,指示信息用于指示不需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,上述步骤的执行主体为用于进行密码运算的密码运算芯片,密码运算芯片接收到密码运算请求后,根据密码运算请求中携带的指示信息,确定是否对该动态度量模块进行动态度量。在密码运算请求中携带的指示信息指示不需要对动态度量模块进行度量的情况下,说明该密码运算请求确定不需要进行动态度量,由密码运算芯片直接根据密码运算请求进行密码运算,有效节省运算资源。
上述动态度量需求与动态度量模块与实施例1中的动态度量需求和动态度量模块可以相同。
步骤S904,密码运算芯片根据密码运算请求执行密码运算。
作为一种可选的实施例,上述密码运算芯片可以是可信高速加密卡中的用于进行密码运算的密码运算芯片,还可以是可信高速加密卡之外的密码运算装置,或者密码运算模块。
本发明实施例,采用密码运算芯片接收到密码运算请求,其中,密码运算请求中携带指示信息,指示信息用于指示不需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;密码运算芯片根据密码运算请求执行密码运算的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
实施例4
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,图10是根据本发明实施例4的一种密码运算处理方法的流程图,如图10所示,
步骤S1002,在有动态度量需求的情况下,加密卡接收密码运算请求。
作为一种可选的实施例,上述动态度量需求的监测可以由可信高速加密卡之外的监测装置执行,例如,可信转发模块。上述监测装置在监测到密码运算请求中具有动态度量需求,由加密卡接受密码运算请求,其中,上述加密卡可以根据密码运算请求进行密码运算,还可以根据动态度量需求执行动态度量。
步骤S1004,如果加密卡完成动态度量需求,加密卡执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,上述加密卡响应动态度量需求,先由加密卡执行动态度量,在确认密码运算可信的情况下,由加密卡执行密码运算,保证密码运算的准确性和有效性。
作为一种可选的实施例,上述加密卡在执行动态度量或者密码运算时,可以根据加密卡中的不同功能模块进行执行。例如,在上述加密卡为可信高速加密卡的情况下,可信高速加密卡中的安全芯片用于执行动态度量,可信高速加密卡中的密码运算芯片用于进行密码运算。
上述动态度量需求与动态度量模块与实施例1中的动态度量需求和动态度量模块可以相同。
本发明实施例,采用在有动态度量需求的情况下,加密卡接收密码运算请求;如果加密卡完成动态度量需求,加密卡执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
实施例5
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,图11是根据本发明实施例5的一种密码运算处理方法的流程图,如图11所示,
步骤S1102,在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求。
作为一种可选的实施例,上述动态度量需求的监测可以由可信高速加密卡之外的监测装置执行,例如,可信转发模块。上述监测装置在监测到密码运算请求中具有动态度量需求,由加密卡中的安全芯片接受密码运算请求,其中,上述安全芯片可以根据动态度量需求执行动态度量。
步骤S1104,如果加密卡完成动态度量需求,加密卡中的安全芯片触发加密卡中的密码运算芯片执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,在上述安全芯片完成动态度量需求的情况下,确定密码运算可信,由加密卡中的密码运算芯片进行密码运算。上述密码运算芯片由安全芯片在确认密码运算可信的情况下进行触发,密码运算被触发后,进行密码运算。
上述动态度量需求与动态度量模块与实施例1中的动态度量需求和动态度量模块可以相同。
本发明实施例,采用在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求;如果加密卡完成动态度量需求,加密卡中的安全芯片触发加密卡中的密码运算芯片执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
实施例6
根据本发明实施例,还提供了一种密码运算处理方法的方法实施例,图12是根据本发明实施例6的一种密码运算处理方法的流程图,如图12所示,
步骤S1202,可信转发模块接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块用于对进行密码运算的固件进行度量的度量实体。
作为一种可选的实施例,上述可信转发模块接收密码运算请求,根据密码运算请求中的指示信息,确定是否执行动态度量,在指示信息指示密码运算请求不需要动态度量的情况下,直接将密码运算请求转发给加密卡或者密码运算芯片,进行密码运算。上述指示信息可以用于指示密码运算请求不需要进行动态度量。
上述动态度量模块可以与实施例1中的动态度量模块相同。
步骤S1204,可信转发模块在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片。
作为一种可选的实施例,上述可信转发模块在接受到包含有指示信息的密码运算请求后,在确定指示信息指示需要对动态度量模块进行度量的情况下,将密码运算转发给用于进行可信度量的安全芯片,由安全芯片执行可信度量。
步骤S1206,安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片。
上述密码运算请求还可以包括用于指示该密码运算请求需要进行动态度量的动态度量需求。
作为一种可选的实施例,上述安全芯片根据动态度量需求,对动态度量模块进行度量,确定密码运算是否可信。在度量结果为密码运算可信的情况下,将度量结果发送给密码运算芯片,触发密码运算芯片进行密码运算。
步骤S1208,密码运算芯片在度量结果为动态度量模块的完整性完好的情况下,执行密码运算。
上述密码运算芯片在接收到动态度量模块的完整性完好的情况下,确认密码运算可信,执行密码运算。
作为一种可选的实施例,该密码运算方法还包括:可信转发模块在指示信息指示不需要对动态度量模块进行度量,并且在获取到监测结果表明进行密码运算的***不存在异常特征的情况下,将密码运算请求发送给密码运算芯片,执行密码运算处理。
作为一种可选的实施例,上述指示信息在指示不需要进行动态度量的情况下,无法确定密码运算***的可信,有可能会在密码运算***异常的情况下,导致无效的密码运算。因此,对密码运算***的可信进行监测。
作为一种可选的实施例,上述在检测到密码运算***不存在异常的情况下,确认密码运算***可信,将密码运算请求发送给密码运算芯片进行密码运算。
上述检测方式与上述实施例1中的可以相同。
作为一种可选的实施例,该密码运算方法还包括:可信转发模块在监测结果表明进行密码运算的***出现异常特征的情况下,获取发送密码运算请求的用户的安全级别;可信转发模块在用户的安全级别为高安全级别的情况下,将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
作为一种可选的实施例,上述密码运算***出现异常,表明密码运算***可能会导致无效运算,为防止无效运算的发生,在检测到密码运算***异常的情况下,确定密码运算请求的用户的安全级别,根据安全级别确认密码运算请求是否需要进行动态度量。
上述安全级别为需要进行动态度量的高安全级别的情况下,将密码运算请求
上述执行动态度量的方式与实施例1中的可以相同。例如,由安全芯片执行动态度量。
图13是根据本发明实施例6的另一种密码运算处理方法的流程图,如图13所示,该密码运算处理方法还包括:
步骤S1302,可信转发模块在用户的安全级别为低安全级别的情况下,发出提示***存在风险的提示信息。
步骤S1304,可信转发模块在接收到需要启动动态度量的指令后,将密码运算请求发送给安全芯片。
作为一种可选的实施例,上述安全级别为低安全级别的情况下,确定该密码运算请求的重要性不足以进行动态度量,在密码运算***出现异常的情况下,为防止该密码运算请求发生无效运算,向用户发出密码运算***异常的提示,由用户决定是否需要进行动态度量。
作为一种可选的实施例,上述提示信息在被用户确认进行度态度量的情况下,将密码运算请求发送给安全芯片进行动态度量。
上述进行动态度量的方式与实施例1中的动态度量方式可以相同。
作为一种可选的实施例,可信转发模块包括:可信软件基,可信软件栈。
作为一种可选的实施例,上述可信转发模块可以为可信软件基,或者可信软件栈。上述可信软件基和可信软件栈可以为可信告诉加密卡中的功能模块。
本发明实施例,采用可信转发模块接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块用于对进行密码运算的固件进行度量的度量实体;可信转发模块在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片;密码运算芯片在度量结果为动态度量模块的完整性完好的情况下,执行密码运算的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
基于上述实施例以及优选实施方式,为了保证设备平台及***的完整性,同时满足用户高速的安全运算需求,在本发明优选实施方式中提供了一种可信高速密码运算方法,图14是根据本发明优选实施方式的可信高速密码运算方法的流程图,如图14所示,该方法主要涉及4个实体:用户、TSB/TSS(TSB对应TPCM的可信软件基,TSS对应TPM的可信软件栈)、可信高速加密卡的可信芯片(对应于上述安全芯片),以及高速密码运算芯片(对应于上述密码运算芯片),其高速密码运算实现方法、流程及步骤如下:
步骤S1402,用户通过TSB/TSS向可信高速加密卡发送高速密码运算请求;
步骤S1404,TSB/TSS接受到请求后,鉴权用户的合法性;(鉴权方法可以使用用户的平台身份证书、口令、生物特征等现有鉴权技术),如果鉴权不通过,则拒绝高速密码运算请求,否则执行步骤S1406;
步骤S1406,TSB/TSS识别用户高速密码运算请求是否带有启动度量需求以满足用户自主需求?带启动动态度量需求,则转发用户高速密码运算动态度量启动请求给可信芯片,执行步骤S1410,否则执行步骤S1408。(识别方法可以通过高速密码运算请求中的某个参数是1还是0,1说明带启动度量需求,否则就说明无启动度量需求;所谓启动度量需求是指需要对包含密码运算度量根的动态度量模块进行可信完整性验证。)
步骤S1408,可信服务器监控平台或者本设备的可信监控***,如果监控到本设备的平台及***的运行有异常特征,则可以根据用户的安全级别要求进行高速密码运算动态度量启动功能执行,如果是***强制或用户选择强制执行,则转发用户高速密码运算动态度量启动请求给可信芯片,执行步骤S1410,否则执行步骤S1420,(比如如果用户是高安全级别要求,***可以强制执行高速密码运算动态度量启动功能,如果中低端安全用户,则可以提示用户平台及***的风险存在,让用户自己决定是否启动高速密码运算动态度量功能执行;异常特征可以是内存、CPU的占用率、用户的请求频率等等安全策略);
步骤S1410,可信芯片接受到TSS/TSB转发的用户高速密码运算动态度量启动请求,会进行指令鉴权处理;
步骤S1412,鉴权不合法则执行步骤S1414,否则执行步骤S1416;
步骤S1414,拒绝响应用户高速密码运算请求;
步骤S1416,动态度量完整性校验,判断完整性校验结果,不完好,则执行步骤S1414,否则执行步骤S1418;
步骤S1418,高速密码运算平台度量根密钥及密码运算度量密钥预置处理;
步骤S1420,高速密码运算相关固件完整性度量处理;
步骤S1422,密码运算相关固件是否完好?完好,则执行步骤S1424,否则执行步骤S1426,;
步骤S1424,拒绝高速密码运算功能执行;
步骤S1426,允许高速密码运行功能执行,并将执行结果转发给用户;
步骤S1428,用户接受高速密码运算芯片返回的高速密码运算结果,流程结束。
通过上述实施例及优选实施方式,可依据用户自主需求及安全级别需求,也能利用智能环境监测数据挖掘分析平台及***风险所在,智能的响应用户高速密码运算动态度量启动需求;另外,在动态度量模块完整性及高速密码运算固件完整性均好的情况下,才响应用户高速密码运算请求,从而满足用户高速密码运算性能需求,同时也保证其计算安全需求。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例7
根据本发明实施例,还提供了一种用于实施上述实施例1的密码运算处理装置,图15是根据本发明实施例7的一种密码运算处理装置的结构示意图,如图15所示,该装置包括:第一接收模块1502和发送模块1504,下面对该装置进行说明。
第一接收模块1502,用于接收到密码运算请求;发送模块1504,连接至上述第一接收模块1502,用于在密码运算请求有动态度量需求的情况下,将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
此处需要说明的是,上述第一接收模块1502和发送模块1504对应于实施例1中的步骤S502至步骤S504,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例8
根据本发明实施例,还提供了一种用于实施上述实施例2的密码运算处理装置,图16是根据本发明实施例8的一种密码运算处理装置的结构示意图,如图16所示,该装置包括:第二接收模块1602,度量模块1604和触发模块1606,下面对该装置进行说明。
第二接收模块1602,用于接收到密码运算请求,其中,密码运算请求中携带有动态度量需求,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;度量模块1204,连接至上述第二接收模块1602,用于根据动态度量需求,对动态度量模块进行度量,得到度量结果;触发模块1606,连接至上述度量模块1604,用于在度量结果为动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
此处需要说明的是,上述第二接收模块1602,度量模块1604和触发模块1606对应于实施例2中的步骤S802至步骤S806,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例9
根据本发明实施例,还提供了一种用于实施上述实施例3的密码运算处理装置,图17是根据本发明实施例9的一种密码运算处理装置的结构示意图,如图17所示,该装置包括:第三接收模块1702和运算模块1704,下面对该装置进行说明。
第三接收模块1702,用于接收到密码运算请求,其中,密码运算请求中携带指示信息,指示信息用于指示不需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;运算模块1704,连接至上述第三接收模块1702,用于根据密码运算请求执行密码运算。
此处需要说明的是,上述第三接收模块1702和运算模块1704对应于实施例3中的步骤S902至步骤S904,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
实施例10
根据本发明实施例,还提供了一种密码运算处理***,图18是根据本发明实施例10的一种密码运算处理***的结构示意图,如图18所示,该***包括:可信转发模块1802,安全芯片1806和密码运算芯片1808,下面对该***进行说明。
可信转发模块1802,用于接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;可信转发模块1804,还用于在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片;安全芯片1806,与上述可信转发模块1802通信,用于根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片;密码运算芯片1808,与上述可信转发模块1802通信,用于在度量结果为动态度量模块的完整性完好的情况下,执行密码运算。
实施例11
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的密码运算处理方法中以下步骤的程序代码:可信转发模块接收到密码运算请求;在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选地,图19是根据本发明实施例11的一种计算机终端的结构框图。如图19所示,该计算机终端190可以包括:一个或多个(图中仅示出一个)处理器192、存储器194、以及外设接口196。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的密码运算处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的密码运算处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端190。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:可信转发模块接收到密码运算请求;在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:在密码运算请求没有动态度量需求的情况下,可信转发模块获取监测结果,其中,监测结果表明进行密码运算的***是否出现异常特征;在监测结果表明进行密码运算的***不存在异常特征的情况下,可信转发模块将密码运算请求发送给密码运算芯片,执行密码运算处理。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:在监测结果表明进行密码运算的***出现异常特征的情况下,可信转发模块获取发送密码运算请求的用户的安全级别;在用户的安全级别为高安全级别的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:在用户的安全级别为低安全级别的情况下,可信转发模块发出提示***存在风险的提示信息;在接收到需要启动动态度量的指令后,可信转发模块将密码运算请求发送给安全芯片。
可选的,上述处理器还可以执行如下步骤的程序代码:在可信转发模块接收到密码运算请求之后,还包括:可信转发模块获取密码运算请求中携带的需求参数,其中,需求参数用于指示是否存在动态度量需求;可信转发模块根据需求参数确定密码运算请求是否有动态度量需求。
可选的,上述处理器还可以执行如下步骤的程序代码:在可信转发模块接收到密码运算请求之后,还包括:可信转发模块根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算请求的转发。
可选的,上述处理器还可以执行如下步骤的程序代码:安全芯片接收到密码运算请求,其中,密码运算请求中携带有动态度量需求,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果;安全芯片在度量结果为动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:在安全芯片接收到密码运算请求之后,还包括:安全芯片对密码运算请求的合法性进行验证,在验证通过的情况下,允许对动态度量模块进行度量。
可选的,上述处理器还可以执行如下步骤的程序代码:密码运算芯片接收到密码运算请求,其中,密码运算请求中携带指示信息,指示信息用于指示不需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;密码运算芯片根据密码运算请求执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:在有动态度量需求的情况下,加密卡接收密码运算请求;如果加密卡完成动态度量需求,加密卡执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选的,上述处理器还可以执行如下步骤的程序代码:在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求;如果加密卡完成动态度量需求,加密卡中的安全芯片触发加密卡中的密码运算芯片执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选的,上述处理器还可以执行如下步骤的程序代码:可信转发模块接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块用于对进行密码运算的固件进行度量的度量实体;可信转发模块在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片;密码运算芯片在度量结果为动态度量模块的完整性完好的情况下,执行密码运算。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在指示信息指示不需要对动态度量模块进行度量,并且在获取到监测结果表明进行密码运算的***不存在异常特征的情况下,将密码运算请求发送给密码运算芯片,执行密码运算处理。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在监测结果表明进行密码运算的***出现异常特征的情况下,获取发送密码运算请求的用户的安全级别;可信转发模块在用户的安全级别为高安全级别的情况下,将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
可选的,上述处理器还可以执行如下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在用户的安全级别为低安全级别的情况下,发出提示***存在风险的提示信息;可信转发模块在接收到需要启动动态度量的指令后,将密码运算请求发送给安全芯片。
可选的,上述处理器还可以执行如下步骤的程序代码:可信转发模块包括:可信软件基,可信软件栈。
采用本发明实施例,采用可信转发模块接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块用于对进行密码运算的固件进行度量的度量实体;可信转发模块在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片;密码运算芯片在度量结果为动态度量模块的完整性完好的情况下,执行密码运算的方式,通过对密码运算请求中的动态度量需求进行监测,并根据动态需求进行动态度量,达到了根据用户请求中的动态度量需求进行动态度量的目的,从而实现了提高用户自主性,节约计算资源的技术效果,进而解决了无法满足用户对度量的自主需求,缺乏可信计算资源及计算不安全的技术问题。
本领域普通技术人员可以理解,图19所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图19其并不对上述电子装置的结构造成限定。例如,计算机终端190还可包括比图19中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图19所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例12
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的密码运算处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:可信转发模块接收到密码运算请求;在密码运算请求有动态度量需求的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,在安全芯片完成动态度量需求后,由密码运算芯片执行密码运算处理,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:在密码运算请求没有动态度量需求的情况下,可信转发模块获取监测结果,其中,监测结果表明进行密码运算的***是否出现异常特征;在监测结果表明进行密码运算的***不存在异常特征的情况下,可信转发模块将密码运算请求发送给密码运算芯片,执行密码运算处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:在监测结果表明进行密码运算的***出现异常特征的情况下,可信转发模块获取发送密码运算请求的用户的安全级别;在用户的安全级别为高安全级别的情况下,可信转发模块将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:在用户的安全级别为低安全级别的情况下,可信转发模块发出提示***存在风险的提示信息;在接收到需要启动动态度量的指令后,可信转发模块将密码运算请求发送给安全芯片。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在可信转发模块接收到密码运算请求之后,还包括:可信转发模块获取密码运算请求中携带的需求参数,其中,需求参数用于指示是否存在动态度量需求;可信转发模块根据需求参数确定密码运算请求是否有动态度量需求。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在可信转发模块接收到密码运算请求之后,还包括:可信转发模块根据密码运算请求中携带的用户平台身份证书对密码运算请求的合法性进行验证,在验证通过的情况下,允许对密码运算请求的转发。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:安全芯片接收到密码运算请求,其中,密码运算请求中携带有动态度量需求,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果;安全芯片在度量结果为动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在安全芯片接收到密码运算请求之后,还包括:安全芯片对密码运算请求的合法性进行验证,在验证通过的情况下,允许对动态度量模块进行度量。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:密码运算芯片接收到密码运算请求,其中,密码运算请求中携带指示信息,指示信息用于指示不需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体;密码运算芯片根据密码运算请求执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在有动态度量需求的情况下,加密卡接收密码运算请求;如果加密卡完成动态度量需求,加密卡执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求;如果加密卡完成动态度量需求,加密卡中的安全芯片触发加密卡中的密码运算芯片执行密码运算处理,其中,动态度量需求用于指示需要对动态度量模块进行度量,动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:可信转发模块接收到密码运算请求,其中,密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,动态度量模块用于对进行密码运算的固件进行度量的度量实体;可信转发模块在指示信息指示需要对动态度量模块进行度量的情况下,将密码运算请求转发给安全芯片;安全芯片根据动态度量需求,对动态度量模块进行度量,得到度量结果,并将度量结果发送给密码运算芯片;密码运算芯片在度量结果为动态度量模块的完整性完好的情况下,执行密码运算。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在指示信息指示不需要对动态度量模块进行度量,并且在获取到监测结果表明进行密码运算的***不存在异常特征的情况下,将密码运算请求发送给密码运算芯片,执行密码运算处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在监测结果表明进行密码运算的***出现异常特征的情况下,获取发送密码运算请求的用户的安全级别;可信转发模块在用户的安全级别为高安全级别的情况下,将密码运算请求发送给安全芯片,其中,用户的安全级别包括:高安全级别和低安全级别。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:该密码运算处理方法还包括:可信转发模块在用户的安全级别为低安全级别的情况下,发出提示***存在风险的提示信息;可信转发模块在接收到需要启动动态度量的指令后,将密码运算请求发送给安全芯片。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:可信转发模块包括:可信软件基,可信软件栈。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (21)
1.一种密码运算处理方法,其特征在于,包括:
可信转发模块接收到密码运算请求;
在所述密码运算请求有动态度量需求的情况下,所述可信转发模块将所述密码运算请求发送给安全芯片,其中,在所述安全芯片完成所述动态度量需求后,由密码运算芯片执行密码运算处理,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述密码运算请求没有动态度量需求的情况下,所述可信转发模块获取监测结果,其中,所述监测结果表明进行密码运算的***是否出现异常特征;
在所述监测结果表明进行密码运算的***不存在异常特征的情况下,所述可信转发模块将所述密码运算请求发送给密码运算芯片,执行密码运算处理。
3.根据权利要求2所述的方法,其特征在于,还包括:
在所述监测结果表明进行密码运算的***出现异常特征的情况下,所述可信转发模块获取发送所述密码运算请求的用户的安全级别;
在所述用户的安全级别为高安全级别的情况下,所述可信转发模块将所述密码运算请求发送给所述安全芯片,其中,所述用户的安全级别包括:高安全级别和低安全级别。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述用户的安全级别为低安全级别的情况下,所述可信转发模块发出提示***存在风险的提示信息;
在接收到需要启动动态度量的指令后,所述可信转发模块将所述密码运算请求发送给所述安全芯片。
5.根据权利要求1所述的方法,其特征在于,在所述可信转发模块接收到所述密码运算请求之后,还包括:
所述可信转发模块获取所述密码运算请求中携带的需求参数,其中,所述需求参数用于指示是否存在动态度量需求;
所述可信转发模块根据所述需求参数确定所述密码运算请求是否有动态度量需求。
6.根据权利要求1到5中任一项所述的方法,其特征在于,在所述可信转发模块接收到所述密码运算请求之后,还包括:
所述可信转发模块根据所述密码运算请求中携带的用户平台身份证书对所述密码运算请求的合法性进行验证,在验证通过的情况下,允许对所述密码运算请求的转发。
7.一种密码运算处理方法,其特征在于,包括:
安全芯片接收到密码运算请求,其中,所述密码运算请求中携带有动态度量需求,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;
所述安全芯片根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果;
所述安全芯片在所述度量结果为所述动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
8.根据权利要求7所述的方法,其特征在于,在所述安全芯片接收到密码运算请求之后,还包括:
所述安全芯片对所述密码运算请求的合法性进行验证,在验证通过的情况下,允许对所述动态度量模块进行度量。
9.一种密码运算处理方法,其特征在于,包括:
在有动态度量需求的情况下,加密卡接收密码运算请求;
如果所述加密卡完成所述动态度量需求,所述加密卡执行密码运算处理,其中,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
10.一种密码运算处理方法,其特征在于,包括:
在有动态度量需求的情况下,加密卡中的安全芯片接收密码运算请求;
如果所述加密卡完成所述动态度量需求,所述加密卡中的安全芯片触发所述加密卡中的密码运算芯片执行密码运算处理,其中,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
11.一种密码运算处理方法,其特征在于,包括:
可信转发模块接收到密码运算请求,其中,所述密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,所述动态度量模块用于对进行密码运算的固件进行度量的度量实体;
所述可信转发模块在所述指示信息指示需要对动态度量模块进行度量的情况下,将所述密码运算请求转发给安全芯片;
所述安全芯片根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果,并将所述度量结果发送给密码运算芯片;
所述密码运算芯片在所述度量结果为所述动态度量模块的完整性完好的情况下,执行密码运算。
12.根据权利要求11所述的方法,其特征在于,还包括:
所述可信转发模块在所述指示信息指示不需要对动态度量模块进行度量,并且在获取到监测结果表明进行密码运算的***不存在异常特征的情况下,将所述密码运算请求发送给密码运算芯片,执行密码运算处理。
13.根据权利要求12所述的方法,其特征在于,还包括:
所述可信转发模块在所述监测结果表明进行密码运算的***出现异常特征的情况下,获取发送所述密码运算请求的用户的安全级别;
所述可信转发模块在所述用户的安全级别为高安全级别的情况下,将所述密码运算请求发送给所述安全芯片,其中,所述用户的安全级别包括:高安全级别和低安全级别。
14.根据权利要求13所述的方法,其特征在于,还包括:
所述可信转发模块在所述用户的安全级别为低安全级别的情况下,发出提示***存在风险的提示信息;
所述可信转发模块在接收到需要启动动态度量的指令后,将所述密码运算请求发送给所述安全芯片。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述可信转发模块包括:可信软件基,可信软件栈。
16.一种密码运算处理装置,其特征在于,应用于可信转发模块,包括:
第一接收模块,用于接收到密码运算请求;
发送模块,用于在所述密码运算请求有动态度量需求的情况下,将所述密码运算请求发送给安全芯片,其中,在所述安全芯片完成所述动态度量需求后,由密码运算芯片执行密码运算处理,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体。
17.一种密码运算处理装置,其特征在于,应用于安全芯片,包括:
第二接收模块,用于接收到密码运算请求,其中,所述密码运算请求中携带有动态度量需求,所述动态度量需求用于指示需要对动态度量模块进行度量,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;
度量模块,用于根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果;
触发模块,用于在所述度量结果为所述动态度量模块的完整性完好的情况下,触发密码运算芯片执行密码运算。
18.一种密码运算处理***,其特征在于,包括:可信转发模块,安全芯片和密码运算芯片,其中,
所述可信转发模块,用于接收到密码运算请求,其中,所述密码运算请求中携带有指示是否需要对动态度量模块进行度量的指示信息,所述动态度量模块为用于对进行密码运算的固件进行度量的度量实体;
所述可信转发模块,还用于在所述指示信息指示需要对动态度量模块进行度量的情况下,将所述密码运算请求转发给安全芯片;
所述安全芯片,用于根据所述动态度量需求,对所述动态度量模块进行度量,得到度量结果,并将所述度量结果发送给密码运算芯片;
所述密码运算芯片,用于在所述度量结果为所述动态度量模块的完整性完好的情况下,执行密码运算。
19.根据权利要求18所述的***,其特征在于,所述可信转发模块包括:可信软件基,可信软件栈。
20.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读取存储介质所在设备执行权利要求1至15中任意一项所述的密码运算处理方法。
21.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至15中任意一项所述的密码运算处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810996079.6A CN110875819B (zh) | 2018-08-29 | 2018-08-29 | 密码运算处理方法、装置及*** |
US16/554,241 US20200074121A1 (en) | 2018-08-29 | 2019-08-28 | Cryptographic Operation Processing Methods, Apparatuses, and Systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810996079.6A CN110875819B (zh) | 2018-08-29 | 2018-08-29 | 密码运算处理方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110875819A CN110875819A (zh) | 2020-03-10 |
CN110875819B true CN110875819B (zh) | 2022-09-06 |
Family
ID=69641375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810996079.6A Active CN110875819B (zh) | 2018-08-29 | 2018-08-29 | 密码运算处理方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200074121A1 (zh) |
CN (1) | CN110875819B (zh) |
Families Citing this family (6)
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 | 阿里巴巴集团控股有限公司 | 密钥处理方法及装置、存储介质和处理器 |
US11368305B2 (en) * | 2020-05-11 | 2022-06-21 | Mastercard Technologies Canada ULC | Hardware security module extension |
CN113486324B (zh) * | 2021-07-23 | 2023-07-21 | 公安部第三研究所 | 基于sm2算法实现三因素匿名身份认证的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9246690B1 (en) * | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627893B2 (en) * | 2005-10-20 | 2009-12-01 | International Business Machines Corporation | Method and system for dynamic adjustment of computer security based on network activity of users |
US20080244746A1 (en) * | 2007-03-28 | 2008-10-02 | Rozas Carlos V | Run-time remeasurement on a trusted platform |
US20090172378A1 (en) * | 2007-12-28 | 2009-07-02 | Kazmierczak Gregory J | Method and system for using a trusted disk drive and alternate master boot record for integrity services during the boot of a computing platform |
US9118666B2 (en) * | 2010-06-30 | 2015-08-25 | Google Inc. | Computing device integrity verification |
-
2018
- 2018-08-29 CN CN201810996079.6A patent/CN110875819B/zh active Active
-
2019
- 2019-08-28 US US16/554,241 patent/US20200074121A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9246690B1 (en) * | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110875819A (zh) | 2020-03-10 |
US20200074121A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110875819B (zh) | 密码运算处理方法、装置及*** | |
US11379586B2 (en) | Measurement methods, devices and systems based on trusted high-speed encryption card | |
CN110874494B (zh) | 密码运算处理方法、装置、***及度量信任链构建方法 | |
CN110737897B (zh) | 基于可信卡的启动度量的方法和*** | |
US11281781B2 (en) | Key processing methods and apparatuses, storage media, and processors | |
CN110795742B (zh) | 高速密码运算的度量处理方法、装置、存储介质及处理器 | |
CN111259401B (zh) | 可信度量方法、装置、***、存储介质及计算机设备 | |
CN108073351B (zh) | 芯片中非易失性存储空间的数据存储方法和可信芯片 | |
CN110971398A (zh) | 数据处理方法、装置及*** | |
CN104462965A (zh) | 应用程序完整性验证方法及网络设备 | |
EP3251044B1 (en) | Portable security device | |
CN110245495B (zh) | Bios校验方法、配置方法、设备及*** | |
CN112016090B (zh) | 安全计算卡,基于安全计算卡的度量方法及*** | |
CN111651769A (zh) | 获取安全启动的度量方法和装置 | |
US9659177B1 (en) | Authentication token with controlled release of authentication information based on client attestation | |
CN107846390B (zh) | 应用程序的认证方法及装置 | |
CN111258598B (zh) | 度量更新方法、装置、***、存储介质及计算机设备 | |
US10659599B2 (en) | Certificate loading method and related product | |
CN111814157B (zh) | 数据安全处理***、方法、存储介质、处理器及硬件安全卡 | |
CN111625831A (zh) | 可信安全的度量方法和装置 | |
CN111814205B (zh) | 计算处理方法、***、设备、存储器、处理器及计算机设备 | |
CN117992135A (zh) | 内核模块的加载方法和加载装置 | |
CN118260774A (zh) | 服务器的启动方法及装置、存储介质及电子设备 | |
CN113407917A (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: 40025734 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |