掌桥专利:专业的专利平台
掌桥专利
首页

一种通信方法、装置、设备及存储介质

文献发布时间:2024-04-18 19:59:31


一种通信方法、装置、设备及存储介质

技术领域

本申请涉及通信技术,尤其涉及一种通信方法、装置、设备及存储介质。

背景技术

机密计算是一种在计算机处理器的保护区内处理数据的方式。该保护区通常位于远程边缘或公有云服务器内,可保证无人能够查看或更改所处理的工作,机密计算是一种保护在用数据(例如位于内存中、计算过程中的数据等)并防止任何人查看或更改工作的方法。

目前,机密计算环境的通信大多发生在机密计算环境间,即两方都为机密计算环境,机密计算环境间通信时使用TLS和会话密钥协商协议(Transport Layer Security,传输层安全性协议)协议进行通信。

因此,现存的机密计算环境不能和非机密计算环境进行通信,机密计算环境通信存在不灵活、步骤繁杂的问题。

发明内容

本申请提供一种通信方法、装置、设备及存储介质,用以解决现存的机密计算环境不能和非机密计算环境进行通信,机密计算环境通信存在不灵活、步骤繁杂的问题。

第一方面,本申请提供一种通信方法,应用于机密计算环境,机密计算环境中存储有配对的私钥和公钥,包括:

确定证明报告和证书,证书中存储有机密计算环境中设置的公钥;

将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;

接收客户端发送的数字信封和加密数据集;

根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;

根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;

根据第一摘要值和第二摘要值,得到数据集篡改情况。

其中,在本申请中,在确定证明报告和证书之前,方法还包括:

向证书机构发送申请信息,以使证书机构根据申请信息中的申请公钥和证书机构中的证书私钥,生成证书,其中,申请公钥为机密计算环境中设置的公钥;

接收证书机构发送的证书。

其中,在本申请中,根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值,包括:

根据对称密钥,对加密数据集进行解密,得到数据集;

根据目标哈希算法,对数据集进行哈希处理,得到第二摘要值。

其中,在本申请中,根据第一摘要值和第二摘要值,得到数据集篡改情况,包括:

若数据集篡改情况表征第一摘要值和第二摘要值一致,则确定数据集篡改情况为数据集未被篡改,数据集为用于机密计算环境进行数据处理的目标数据集;

若数据集篡改情况表征第一摘要值和第二摘要值未一致,则确定数据集篡改情况为数据集存在篡改风险,数据集为不能用于机密计算环境进行数据处理的非目标数据集。

第二方面,本申请提供一种通信方法,应用于客户端,包括:

接收机密计算环境发送的证明报告和证书;

验证证明报告和证书,得到验证结果;

根据验证结果,从证书中获取机密计算环境中存储的公钥;

根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,对称密钥和数据集预先存储在客户端中;

向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况,其中,第二摘要值为机密计算环境根据目标哈希算法,对数据集进行哈希处理后得到摘要值,加密数据集根据对称密钥和数据集得到。

其中,在本申请中,验证证明报告和证书,得到验证结果,包括:

将证明报告发送至证明中心,以使证明中心对证明报告进行验证,得到证明报告验证结果,证明报告验证结果用于验证机密计算环境功能有效性;

接收证明中心发送的证明报告验证结果;

根据证明报告验证结果,验证证书,得到证书验证结果,证书验证结果用于验证机密计算环境身份有效性;

根据证明报告验证结果和证书验证结果,得到验证结果。

其中,在本申请中,根据证明报告验证结果,验证证书,得到证书验证结果,包括:

根据证明报告验证结果,在客户端的本地安装根证书;

根据根证书,得到证书公钥;

根据证书公钥和证书,得到证书验证结果。

其中,在本申请中,根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,包括:

确定客户端中的数据集、对称密钥;

根据预设的目标哈希算法,对数据集进行哈希处理,得到第一摘要值;

对对称密钥和第一摘要值进行拼接处理,得到目标字符;

根据公钥,对客户端中的目标字符进行加密处理,得到数字信封。

其中,在本申请中,在向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况之前,方法还包括:

根据客户端中的对称密钥,对客户端中的数据集进行加密,得到加密数据集。

第四方面,本申请提供一种通信装置,应用于机密计算环境,包括:

确定模块,用于确定证明报告和证书,证书中存储有机密计算环境中设置的公钥;

发送模块,用于将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;

第一接收模块,用于接收客户端发送的数字信封和加密数据集;

第一得到模块,用于根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;

第二得到模块,用于根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;

第三得到模块,用于根据第一摘要值和第二摘要值,得到数据集篡改情况。

第五方面,本申请提供一种通信装置,应用于客户端,包括:

第二接收模块,用于接收机密计算环境发送的证明报告和证书;

验证模块,用于验证证明报告和证书,得到验证结果;

获取模块,用于根据验证结果,从证书中获取机密计算环境中存储的公钥;

第四得到模块,用于根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,对称密钥和数据集预先存储在客户端中;

发送模块,用于向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况,其中,第二摘要值为机密计算环境根据目标哈希算法,对数据集进行哈希处理后得到摘要值,加密数据集根据对称密钥和数据集得到。

第六方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;

存储器存储计算机执行指令;

处理器执行存储器存储的计算机执行指令,以实现本申请中的方法。

第七方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请的方法。

本申请提供的一种通信方法、装置、设备及存储介质,通过确定证明报告和证书,证书中存储有机密计算环境中设置的公钥;将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;接收客户端发送的数字信封和加密数据集;根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;根据第一摘要值和第二摘要值,得到数据集篡改情况。机密计算环境通过将证书和证明报告发送给客户端,以使客户端确认机密计算环境具有机密计算能力,并且保证确实为客户端真实想要通信的对象,同时通过证书将机密计算环境中存储的公钥发送给客户端,以使得客户端能够通过机密计算环境中存储的公钥,通过第一摘要值和第二摘要值对比,保证密文的完整性和机密性,同时整个流程相比于现有方案步骤更少,简化了机密计算环境的步骤,同时不必要求客户端也是机密计算环境,降低了对客户端的硬件要求。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的一种应用于机密计算环境的通信方法的流程示意图;

图2为本申请实施例提供的一种应用于客户端的通信方法的流程示意图;

图3为本申请实施例提供的另一种通信方法的流程示意图;

图4为本申请实施例提供的应用于机密计算环境的通信装置的结构装置示意图;

图5为本申请实施例提供的应用于客户端的通信装置的结构装置示意图;

图6为本申请实施例提供的电子设备结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

现有技术中,机密计算环境的通信需要双方都是机密计算环境,目前机密计算环境间通信时使用TLS(Transport Layer Security,安全传输层协议)协议,包括使用握手协议(TLS Handshake)和会话密钥协商协议,密钥协商协议指会话密钥由客户端和机密计算环境分别产生的参数通过一定的计算得出。常见的密钥协商协议,密钥协商协议可分为证书型和无证书型。证书型是指在会话密钥的产生过程中,由一个可信的证书中心(CA)给参与密钥协商的机密计算环境和客户端各分发一个证书,此证书中含有此方的公钥,ID及其他信息。证书型密钥协商协议的优点是提供认证,PKI(Public key infrastructure,公钥基础设施)广泛部署,比较成熟,应用面广,且由PKG(Private key generator,私钥生成器)管理公私钥对有利于统一管理,缺点是计算代价大,需要一个可信的CA,同时证书还需要维护。无证书型是指各方在进行会话密钥的协商过程中不需要证书的参与,这是密钥协商协议的主流种类,优点是不需要CA的参与,减少了计算量,尤其是在低耗环境下应用的更多,同时安全性也不比证书型弱。几乎没有明显的缺点,只是设计一个安全的更加低耗的无证书密钥协商方案比较困难;在通过会话密钥协商协议协商出密钥后,握手协议需要交换Hello消息,协商出算法,交换random值,检查session resumption交换必要的密码学参数,来允许客户端和机密计算环境协商出premaster secret。交换证书和密码学参数,让client和server做认证,证明自己的身份。从premaster secret和交换的random值,生成出master secret。把SecerityParameters提供被record层。允许client和server确认对端得出了相同的SecurityParameters,并且握手过程的数据没有被攻击者篡改。使用以上协议缺点是步骤繁多,导致通信速率慢并且因为需要机密计算环境和客户端需要协商密钥,导致以上步骤都需要保证双方在机密环境中才能进行通信。

本申请提供一种通信方法、装置、设备及存储介质,机密环境中存储有成对的私钥和公钥,当客户需要和机密计算环境通信的时候,客户端通过向机密计算环境发送对应的信号,让机密计算环境生成证明报告和证书机密;计算环境可以通过证书和证明报告让客户端确认其身份和拥有的机密计算能力情况,同时通过证书向客户端发送公钥,无需协商密钥,简化了协商密钥繁琐的步骤。机密计算环境将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;接收客户端发送的数字信封和加密数据集;根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;根据第一摘要值和第二摘要值,得到数据集篡改情况,保证机密计算环境必须要有加密处理数字信封公钥成对的私钥才能解密数字信封,然后获得数字信封的对称密钥解密数据集,同时还能验证数据集的完整性,整体流程可以在简化整体通信步骤情况下,同时通过证书传递公钥替换协商公钥的步骤使得客户端不必是机密计算环境也能和机密计算环境进行通信,降低客户端的硬件要求。

本申请实施例提供的通信方法执行主体可以是服务器和机密技术环境。其中,机密机密计算环境可以为任意环境。本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够确定证明报告和证书,证书中存储有机密计算环境中设置的公钥;将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;接收客户端发送的数字信封和加密数据集;根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;根据第一摘要值和第二摘要值,得到数据集篡改情况即可。服务可以为任意服务,本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够接收机密计算环境发送的证明报告和证书;验证证明报告和证书,得到验证结果;根据验证结果,从证书中获取机密计算环境中存储的公钥;根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,对称密钥和数据集预先存储在客户端中;向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况,其中,第二摘要值为机密计算环境根据目标哈希算法,对数据集进行哈希处理后得到摘要值,加密数据集根据对称密钥和数据集得到即可。

其中,哈希算法指将任意长度的二进制值串映射成固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。

机密计算环境可以通过硬件特性可以保护运行时的数据,具体来说,是通过其隔离机制实现将通用计算环境与机密计算环境隔离开来,非授权的实体不能访问机密计算环境;通过内存加密保证运行态的数据在机密计算环境外处于密文状态,防止特权软件甚至硬件的窥探;通过证明机制对机密计算环境及运行在其中的应用程序进行身份验证,并保证应用程序未被篡改。

证书是公钥的载体,证书上的公钥与实体身份相绑定。现,一个是签名证书行的PKI机制一般为双证书机制,即一个实体应具有两个证书、两个密钥对,其中一个是加密证书,一个是签名证书,而加密证书原则上是不能用于签名的。

摘要值指消息摘要,也称Hash值、散列值、消息摘要值,Hash函数是一个将任意长度的消息(message)映射成固定长度消息的函数,简称h(X)。而对于任何消息x,将h(x)称为x的Hash值、散列值、消息摘要值。

图1为本申请实施例提供的一种应用于机密计算环境的通信方法。如图1所示,该方法执行主体可以为机密计算环境或其他环境,本实施例此处不做特别限制,如图1所示,该方法包括:

S101、确定证明报告和证书,证书中存储有机密计算环境中设置的公钥。

其中,机密计算环境接收到客户端发送过来的信号,就触发机密计算环境生成证明报告和证书,若客户端为远程证明发起端,那么信号可以为客户端向机密计算环境发起的远程证明挑战。

其中,在本申请实施例中,在确定证明报告和证书之前,方法还包括:

向证书机构发送申请信息,以使证书机构根据申请信息中的申请公钥和证书机构中的证书私钥,生成证书,其中,申请公钥为机密计算环境中设置的公钥;

接收证书机构发送的证书。

其中,在机密计算环境本地存储一对非对称的公钥私钥对。

证书为CA(Certificate Authority,证书授权),是数字签名的技术基础保障,也是网上实体身份的证明,能够证明机密计算环境的身份及其公钥的合法性,证明该机密计算环境与公钥二者之间的匹配关系,同时让客户端通过证书获取机密计算环境中存储的公钥。

在机密计算环境接收到客户端发送的信号之后,就将申请信息发送给证书机构用来生成证书,申请信息中包含机密计算环境的本地存储的公钥,以使得证书机构收到申请信息后,使用自身的私钥对申请信息做签名,一起组成证书后,将证书发送给机密计算环境。

S102、将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到。

其中,数据集可以为高安全等级数据,数据的安全等级可以通过企业对其定义,若客户端为医院,数据集可以为医疗领域敏感数据,若客户端为银行,数据集可以为金融领域敏感数据。

证明报告用来给客户端确认客户端和环境通信中,中间人攻击人情况,当中间人攻击时,客户端回先于中间人服务器建立通信通道,然后中间人服务器收到实际的客户端的请求时,会与真正的机密计算环境建立通道,转发客户端请求,因此,确定中间人攻击情况为了确保客户端是在于机密计算环境通信,防止双方数据泄露。

证书用来给客户端确认环境是否有机密计算能力,同时让客户端从证书中获取机密计算环境本地存储的公钥。

客户端只有确认环境为具有机密计算能力的机密计算环境,且和环境通信未被第三方攻击情况下,才获取证书中的公钥,然后使用公钥对目标字段加密生成数字信封、使用对称密钥加密数据集生成加密数据集,向机密计算环境发送数字信封和加密数据集;目标字符可以通过将第一摘要值拼接到对称密钥后得到的字符串,也可以通过将对称密钥拼接到第一摘要值后得到的字符串;第一摘要值为通过哈希算法计算数据集得到;对称密钥可以为任意对称算法的密钥,例如:DES(Data Encryption Standard,数据加密标准)算法密钥、AES(Advanced Encryption Standard,高级加密标准)算法密钥、TDEA(Triple DataEncryption Algorithm,三重数据加密算法)算法密钥、Blowfish算法密钥、RC5(RivestCipher 5,分组加密算法)算法密钥;哈希算法可以为SHA家族的五个算法(即SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512),该哈希算法函数将一个任意长的数据集映射到一个固定长的比特串,即在使用同一杂凑算法下,数据集无论多长最终得到的摘要值是固定的长度,比如使用SHA256哈希算法下,任何数据集得到的摘要值长度均是256位。

若客户端确认环境为不具有机密计算能力的机密计算环境,不存在中间人攻击,就结束通信,不再生成数字信封和加密数据集;客户端若确定环境具有机密计算能力,但存在中间人攻击,表征通信不安全,存在数据泄露的风险,就结束通信,不再生成数字信封和加密数据集;若客户端确定环境为不具有机密计算能力的机密计算环境,且存在中间人攻击,也会结束通信,不再生成数字信封和加密数据集。

S103、接收客户端发送的数字信封和加密数据集。

S104、根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥。

其中,机密计算环境根据机密计算环境中存储的私钥对数字信封解密,得到第一摘要值和对称密钥。

S105、根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值。

其中,在本申请实施例中,根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值,包括:

根据对称密钥,对加密数据集进行解密,得到数据集;

根据目标哈希算法,对数据集进行哈希处理,得到第二摘要值。

其中,在机密计算环境中的对数据集计算的目标哈希算法必须和客户端中对数据集计算的目标哈希算法一致;数据集存在被篡改的风险,导致在在机密计算环境中获取的数据集、和客户端的数据集不同的情况;若使用相同的哈希算法计算数据集,无论计算多少次,最终得到的摘要值都相同,若摘要不相同,即可确认数据集被篡改。

S106、根据第一摘要值和第二摘要值,得到数据集篡改情况。

其中,在本申请实施例中,根据第一摘要值和第二摘要值,得到数据集篡改情况,包括:

若数据集篡改情况表征第一摘要值和第二摘要值一致,则确定数据集篡改情况为数据集未被篡改,数据集为用于机密计算环境进行数据处理的目标数据集;

若数据集篡改情况表征第一摘要值和第二摘要值未一致,则确定数据集篡改情况为数据集存在篡改风险,数据集为不能用于机密计算环境进行数据处理的非目标数据集。

图2为本申请实施例提供的一种应用于客户端的通信方法的流程示意图。如图2所示,该方法执行主体可以为服务器或其他服务器,本实施例此处不做特别限制,如图2所示,该方法包括:

S201、接收机密计算环境发送的证明报告和证书;

S202、验证证明报告和证书,得到验证结果。

其中,验证结果包含证明报告验证结果和证书验证结果。

其中,在本申请实施例中,验证证明报告和证书,得到验证结果,包括:

将证明报告发送至证明中心,以使证明中心对证明报告进行验证,得到证明报告验证结果,证明报告验证结果用于验证机密计算环境功能有效性;

接收证明中心发送的证明报告验证结果;

根据证明报告验证结果,验证证书,得到证书验证结果,证书验证结果用于验证机密计算环境身份有效性;

根据证明报告验证结果和证书验证结果,得到验证结果。

其中,机密计算环境功能有效性表示环境具有机密计算能力,环境若具有机密计算能力,则表示该环境为机密计算环境;环境若不具有机密计算能力,则表示该环境为普通环境;证明报告用来确定当前与客户端通信的环境为具有机密计算能力的机密计算环境,客户端可以为远程证明发起端,那么证明中心可以为远程证明服务端,客户端发送的信号可以为远程证明挑战。

机密计算环境身份有效性指与客户端通信的身份为:客户端发送信号以使收到信号的,然后向证书机构申请证书的那个机密计算环境(即客户端原本发送信号想要通信的对象,为客户端真正想要的通信对象),不为任何其他第三方,验证证书用来确认机密计算环境身份,确定客户端和机密计算环境通信未被第三方攻击。

其中,在本申请实施例中,根据证明报告验证结果,验证证书,得到证书验证结果,包括:

根据证明报告验证结果,在客户端的本地安装根证书;

根据根证书,得到证书公钥;

根据证书公钥和证书,得到证书验证结果。

其中,根证书为CA证书,大多数操作系统的CA证书是默认安装的。这些默认的CA证书由GoDaddy或VeriSign等知名的商业证书颁发机构颁发。因此,如果设备需要信任不知名的或本土的证书颁发机构,只需要安装CA证书。

安装根证书后,客户端便可从根证书中获取证书公钥,然后使用公钥验证证书内容是正确的和完整的,没有被篡改,CA签名是正确的;确认证书是有效的,在有效期内并且没有被吊销(即CRL(Certificate Revocation List,证书吊销列表)中没有该证书序列号);确认CA证书是可以被信任的证书;通过与客户的交互,基于证书中的机密计算环境存储的公钥确认机密计算环境的身份,其中,证书公钥和证书私钥是成对的。

S203、根据验证结果,从证书中获取机密计算环境中存储的公钥。

S204、根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,对称密钥和数据集预先存储在客户端中。

其中,在本申请实施例中,根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,包括:

确定客户端中的数据集、对称密钥;

根据预设的目标哈希算法,对数据集进行哈希处理,得到第一摘要值;

对对称密钥和第一摘要值进行拼接处理,得到目标字符;

根据公钥,对客户端中的目标字符进行加密处理,得到数字信封。

其中,拼贴处理指将第一摘要值拼贴到对称密钥后,得到目标字符;也可以将第一摘要值拼贴到对称密钥前,得到目标字符。

S205、向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况,其中,第二摘要值为机密计算环境根据目标哈希算法,对数据集进行哈希处理后得到摘要值,加密数据集根据对称密钥和数据集得到。

其中,在本申请实施例中,在向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况之前,方法还包括:

根据客户端中的对称密钥,对客户端中的数据集进行加密,得到加密数据集。

本申请实施例提供的一种通信方法,客户端通过验证证书和证明报告能够保证环境具有机密计算能力,同时确定和客户端通信的确实为客户端想要通信的机密计算环境,能够防止客户端传输数据集泄露;同时数字信封和密文数据集保证只有拥有与加密数字信封公钥对应的私钥才能解密封,进而获得信封中的对称密钥,从而通过对称密钥和密文数据集得到数据集,以及验证数据集的完整性,该方案能够在完成通信的前提下,保证数据集的安全性和完整性,同时简化了步骤。

图3为本申请实施例提供另一种通信方法的流程示意图。如图3所示,本实施例中:

客户端向机密计算环境发起远程证明挑战,其中,客户端拥有数据集和对称密钥,机密计算环境存储有成对的私钥和公钥。

机密计算环境收到远程证明挑战后,本地生成证明报告。

机密计算环境将报告和证书给客户,其中,机密计算环境生成证书的方法为:机密计算环境将证书申请信息发送给证书机构,以使证书机构使用自己的私钥对证书申请信息做签名得到证书,证书信息包括公钥。

客户端验证证明报告和证书,证明报告和证书均通过验证后,从证书中获取机密计算环境中存储的公钥,其中,证明报告通过验证表征与客户端通信的环境为拥有机密计算能力的机密计算环境,证书通过验证表征与客户端通信的机密计算环境为客户真实想要通信的机密计算环境,不存在第三方攻击,客户端验证证明报告的方法为:客户端将证明报告发送给远程证明服务端,以获得从远程证明服务端发送回来的证明报告,然后通过证明报告得到验证结果,客户端验证证书的方法为:客户端安装根证书,从根证书中获取证书公钥,通过证书公钥验证证书。

客户端将数字信封和密文数据集发送给机密计算环境,其中,获得数字信封的方法为:将第一摘要值拼接在对称密钥后,得到拼接字符串,然后使用机密计算环境存储的公钥加密拼接字符串,得到数字信封,第一摘要值通过目标哈希算法对数据集计算得到,获得密文数据集的方法为:使用对称密钥加密数据集。

机密计算环境通过密文数据集和数字信封得到第二摘要值,并将第二摘要值和第一摘要值对比,确认数据集篡改情况,其中,若第一摘要值与第二摘要一致,则表征数据集未被篡改,机密计算环境使用数据集进行计算,若不一致则表征数据集被篡改,机密计算环境不使用数据集进行计算,可以要求客户端重新发送数据集;获得第二摘要值的方法为:使用目标哈希算法计算数据集,得到第二摘要值,获得数据集的方法为:根据对称密钥解密密文数据集,得到数据集,获得第一摘要值和对称私钥的方法为,使用机密计算环境中存储的私钥对数字信封解密,得到对称私钥和第一摘要值。

本申请实施例提供的另一种通信方法,客户侧的数据安全由客户侧方案保证;与机密计算环境通信时使用证书加数字信封的方法,证书的使用防范了中间人攻击,数字信封的使用限定了仅拥有对应机密计算环境私钥的一方才能解密信封内容,保证了通信人的真实性;数字信封中的内容是对称密钥和传输数据的摘要值的拼接,其中的对称密钥加密数据集,保证数据的机密性,摘要值保证数据的完整性;且接收到的密文数据存储在机密计算环境中,满足静态数据安全存储要求。上述通信方法在可以完成通信要求的情况下,做出了简化,省去了握手协议和会话密钥协商协议。本方案降低了客户使用机密计算环境的硬件要求,简化了与机密计算环境通信的方法,传输的数据可密文存储在机密计算环境中供机密计算程序使用。

图4为本申请实施例提供的应用于机密计算环境的通信装置结构示例图。如图4所示,该通信装置40包括:确定模块401、发送模块402、第一接收模块403、第一得到模块404、第二得到模块405、第三得到模块406。其中:

确定模块401,用于确定证明报告和证书,证书中存储有机密计算环境中设置的公钥;

发送模块402,用于将证明报告和证书发送至客户端,以使客户端根据证明报告和证书,对客户端中的目标字符进行加密处理,得到数字信封,并将数字信封和加密数据集发送至机密计算环境,其中,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,加密数据集根据对称密钥和数据集得到;

第一接收模块403,用于接收客户端发送的数字信封和加密数据集;

第一得到模块404,用于根据机密计算环境中存储的私钥、数字信封,得到第一摘要值和对称密钥;

第二得到模块405,用于根据目标哈希算法、对称密钥和加密数据集,得到第二摘要值;

第三得到模块406,用于根据第一摘要值和第二摘要值,得到数据集篡改情况。

在本申请实施例中,确定模块401还可以具体用于:

向证书机构发送申请信息,以使证书机构根据申请信息中的申请公钥和证书机构中的证书私钥,生成证书,其中,申请公钥为机密计算环境中设置的公钥;

接收证书机构发送的证书。

在本申请实施例中,第二得到模块405还可以具体用于:

根据对称密钥,对加密数据集进行解密,得到数据集;

根据目标哈希算法,对数据集进行哈希处理,得到第二摘要值。

在本申请实施例中,第三得到模块406还可以具体用于:

若数据集篡改情况表征第一摘要值和第二摘要值一致,则确定数据集篡改情况为数据集未被篡改,数据集为用于机密计算环境进行数据处理的目标数据集;

若数据集篡改情况表征第一摘要值和第二摘要值未一致,则确定数据集篡改情况为数据集存在篡改风险,数据集为不能用于机密计算环境进行数据处理的非目标数据集。

图5为本申请实施例提供的应用于客户端的通信装置的结构示例图。如图5所示,该通信装置50包括:第二接收模块501、验证模块502、获取模块503、第四得到模块504、发送模块505。其中:

第二接收模块501,用于接收机密计算环境发送的证明报告和证书;

验证模块502,用于验证证明报告和证书,得到验证结果;

获取模块503,用于根据验证结果,从证书中获取机密计算环境中存储的公钥;

第四得到模块504,用于根据公钥,对客户端中的目标字符进行加密处理,得到数字信封,目标字符根据第一摘要值和对称密钥得到,第一摘要值根据目标哈希算法和数据集得到,对称密钥和数据集预先存储在客户端中;

发送模块505,用于向机密计算环境发送数字信封和加密数据集,以使机密计算环境根据数字信封、加密数据集、以及机密计算环境中的私钥,得到第一摘要值和第二摘要值,并根据第一摘要值和第二摘要值,得到数据集篡改情况,其中,第二摘要值为机密计算环境根据目标哈希算法,对数据集进行哈希处理后得到摘要值,加密数据集根据对称密钥和数据集得到。

在本申请实施例中,验证模块502还可以具体用于:

将证明报告发送至证明中心,以使证明中心对证明报告进行验证,得到证明报告验证结果,证明报告验证结果用于验证机密计算环境功能有效性;

接收证明中心发送的证明报告验证结果;

根据证明报告验证结果,验证证书,得到证书验证结果,证书验证结果用于验证机密计算环境身份有效性;

根据证明报告验证结果和证书验证结果,得到验证结果。

在本申请实施例中,验证模块502还可以具体用于:

根据证明报告验证结果,在客户端的本地安装根证书;

根据根证书,得到证书公钥;

根据证书公钥和证书,得到证书验证结果。

在本申请实施例中,第四得到模块504还可以具体用于:

确定客户端中的数据集、对称密钥;

根据预设的目标哈希算法,对数据集进行哈希处理,得到第一摘要值;

对对称密钥和第一摘要值进行拼接处理,得到目标字符;

根据公钥,对客户端中的目标字符进行加密处理,得到数字信封。

在本申请实施例中,发送模块505还可以具体用于:

根据客户端中的对称密钥,对客户端中的数据集进行加密,得到加密数据集。

图6为本申请实施例提供的电子设备的结构示意图。如图6所示,该电子设备60包括:

该电子设备60可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、通信部件603等部件。其中,处理器601、存储器602以及通信部件603通过总线604连接。

在具体实现过程中,至少一个处理器601执行存储器602存储的计算机执行指令,使得至少一个处理器601执行如上的通信方法。

处理器601的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图6所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种通信方法中的步骤。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种通信方法中的步骤。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种通信方法中的步骤,因此,可以实现本申请实施例所提供的任一种通信方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

相关技术
  • 空气净化器的利用光催化剂的空气净化构造、具有该空气净化构造的空气净化器和上述空气净化构造中使用的光催化剂过滤器
  • 空气净化器的空气净化构造、空气净化器和光催化剂过滤器
技术分类

06120116516807