一种基于SM9算法的加密通信方法及装置与流程

文档序号:13641713阅读:177来源:国知局

本发明涉及信息安全技术领域,尤其涉及一种基于sm9算法的加密通信方法及装置。



背景技术:

随着全球信息技术不断的进步,我国社会信息化应用水平也得到了跨越式发展。电子产品层出不穷,极大地方便了人们的工作和生活。然而随着电子产品普及率大幅度提高,其安全保密问题日益凸显。用户之间通过电子产品通信时,通信内容易被非法分子窃听获取。

如今一般采用数字证书方式实现安全保密,即使用认证机构的密钥来保护数据。数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。发送方设备必须首先向证书授权中心申请数字证书,证书授权中心采用自己的私钥对发送方的公钥进行加密,得到加密后的公钥,将加密后的公钥做成数字证书。发送方将原始数据、摘要密文、数字证书一起发送给接收方;其中,摘要密文是通过摘要算法对原始数据进行计算,然后采用发送方的私钥进行加密后的密文。接收方采用证书授权中心的公钥对数字证书进行解密,得到发送方的公钥,再用发送方的公钥对摘要密文进行解密,将解密后的数据与原始数据根据摘要算法生成的数据进行比对,即可确认数据的真实性。

上述采用数字证书方式进行数据加密传输过程中,需要依赖第三方证书机构发放数字证书,使用该数字证书的设备还需要对数字证书进行保管,使用时需要对数字证书进行验证。验证过程需要依赖第三方证书机构提供验证方式,而且还必须与第三方证书认证机构保持网络连通。由于很多情况下设备无法跟第三方证书机构保持网络连接,因此在很多场景下无法实现验证,从而无法保证通信安全。



技术实现要素:

本发明提供一种基于sm9算法的加密通信方法及装置,以实现多个用户设备之间的安全通信。

第一方面,本发明提供一种基于sm9算法的加密通信方法,包括:

第一用户设备将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;

所述第一用户设备根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;

所述第一用户设备向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥。

第二方面,本发明提供一种基于sm9算法的加密通信方法,包括:

第二用户设备获取所述第二用户设备的sm9私钥;

所述第二用户设备接收所述第一用户设备发送的加密信息和加密后的第一加密密钥;所述加密信息为所述第一用户设备根据所述加密后的第一加密密钥,采用预设的第一加密算法对待发送信息进行加密后的信息;所述加密后的第一加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密得到的;所述第一加密密钥为所述第一加密算法的加密密钥;

所述第二用户设备根据所述sm9私钥,采用所述sm9算法对所述加密后的第一加密密钥进行解密,得到解密后的第一加密密钥;

所述第二用户设备根据所述解密后的第一加密密钥,采用所述第一加密算法对所述加密信息进行解密,得到解密后的待发送信息。

第三方面,本发明提供一种基于sm9算法的加密通信方法,包括:

服务器将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密,获取加密后的第二加密密钥;所述第二加密密钥为预设的第二加密算法的加密密钥;

所述服务器根据所述加密后的第二加密密钥,采用所述第二加密算法对通知信息进行加密,得到所述加密通知信息;

所述服务器向所述第一用户设备发送所述加密通知信息和所述加密后的第二加密密钥。

第四方面,本发明提供一种第一用户设备,包括:

处理模块,用于将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;

所述处理模块,还用于根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;

发送模块,用于向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥。

第五方面,本发明提供一种第二用户设备,包括:

获取模块,用于获取所述第二用户设备的sm9私钥;

接收模块,用于接收所述第一用户设备发送的加密信息和加密后的第一加密密钥;所述加密信息为所述第一用户设备根据所述加密后的第一加密密钥,采用预设的第一加密算法对待发送信息进行加密后的信息;所述加密后的第一加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密得到的;所述第一加密密钥为所述第一加密算法的加密密钥;

处理模块,用于根据所述sm9私钥,采用所述sm9算法对所述加密后的第一加密密钥进行解密,得到解密后的第一加密密钥;

所述处理模块,还用于根据所述解密后的第一加密密钥,采用所述第一加密算法对所述加密信息进行解密,得到解密后的待发送信息。

第六方面,本发明提供一种服务器,包括:

处理模块,用于将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密,获取加密后的第二加密密钥;所述第二加密密钥为预设的第二加密算法的加密密钥;

所述处理模块,还用于根据所述加密后的第二加密密钥,采用所述第二加密算法对通知信息进行加密,得到所述加密通知信息;

所述发送模块,用于向所述第一用户设备发送所述加密通知信息和所述加密后的第二加密密钥。

本发明提供的基于sm9算法的加密通信方法及装置,第一用户设备将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;所述第一用户设备根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;所述第一用户设备向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥,上述加密通信过程采用国密sm9算法,公钥采用唯一标识用户设备的标识信息,可以实现多个用户设备之间的安全通信,操作流程简单。

附图说明

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

图1是本发明提供的加密通信方法一实施例的流程示意图;

图2是本发明提供的加密通信方法另一实施例的流程示意图;

图3是本发明提供的加密通信方法又一实施例的流程示意图;

图4是本发明提供的加密通信方法又一实施例的流程示意图;

图5是本发明提供的加密通信方法一实施例的场景示意图一;

图6是本发明提供的加密通信方法一实施例的场景示意图二;

图7是本发明提供的加密通信方法另一实施例的场景示意图;

图8为本发明提供的第一用户设备一实施例的结构图

图9为本发明提供的第二用户设备一实施例的结构图;

图10为本发明提供的服务器一实施例的结构图。

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

具体实施方式

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

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1是本发明提供的加密通信方法一实施例的流程示意图。如图1所示,本实施例提供的加密通信方法,包括:

步骤101、第一用户设备将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;

步骤102、所述第一用户设备根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;

步骤103、所述第一用户设备向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥。

具体的,第一用户设备向第二用户设备发送信息时,首先确定预设的第一加密算法,例如为对称加密算法,如des、aes加密算法。

将第二用户设备的标识信息作为sm9公钥,采用国密sm9算法对第一加密算法的第一加密密钥进行加密,然后根据加密后的第一加密密钥,采用第一加密算法对待发送信息进行加密,得到加密信息,最后向第二用户设备发送加密信息和加密后的第一加密密钥。

第二用户设备接收到加密信息和加密后的第一加密密钥后,根据第二用户设备的sm9私钥,采述sm9算法对加密后的第一加密密钥进行解密,得到解密后的第一加密密钥,进一步的,第二用户设备根据解密后的第一加密密钥,采用第一加密算法对加密信息进行解密,得到解密后的待发送信息。第一加密算法是固定的,第一用户设备和第二用户设备事先协商好。

图5是本发明提供的加密通信方法一实施例的场景示意图一。如图5所示,第二用户设备的私钥为从sm9密钥管理系统服务器获取的,sm9密钥管理系统服务器保管主密钥,并将主密钥的公钥对外公开,并以安全方式保管主密钥,并下发用户设备密钥对,服务器根据用户设备的标识信息派生出密钥对。

其中,sm9私钥是根据sm9算法生成的。

用户设备在消息通信过程中明确知道对方用户设备的标识信息,该标识信息在系统中唯一确定用户身份(例如系统用户账号、身份证、手机号、邮箱等)。

图6是本发明提供的加密通信方法一实施例的场景示意图二。第二用户设备例如为多个,即如图6所示,第一用户设备(用户设备a)向用户设备b和用户设备c发送消息。

其中,在实际应用中,步骤101之前还可以进行如下操作:

所述第一用户设备根据所述第一加密算法随机产生所述第一加密密钥。

本实施例的加密通信方法,第一用户设备将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;所述第一用户设备根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;所述第一用户设备向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥,上述加密通信过程采用国密sm9算法,公钥采用唯一标识用户设备的标识信息,可以实现多个用户设备之间的安全通信,操作流程简单。

图2是本发明提供的加密通信方法另一实施例的流程示意图。图7是本发明提供的加密通信方法另一实施例的场景示意图。在上述实施例的基础上,可选的,如图2、图7所示,本实施例的方法,还可以包括如下步骤:

步骤104、所述第一用户设备获取所述第一用户设备的sm9私钥;所述sm9私钥为根据所述sm9算法生成的;

步骤105、所述第一用户设备接收服务器发送的第一加密通知信息和加密后的第二加密密钥;

其中,所述第一加密通知信息为所述服务器根据所述加密后的第二加密密钥,采用预设的第二加密算法对通知信息进行加密后的信息;所述加密后的第二加密密钥为将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密得到的;所述第二加密密钥为所述第二加密算法的加密密钥;

步骤106、所述第一用户设备根据所述sm9私钥,采用所述sm9算法对所述加密后的第二加密密钥进行解密,得到解密后的第二加密密钥;

步骤107、所述第一用户设备根据所述解密后的第二加密密钥,采用所述第二加密算法对所述第一加密通知信息进行解密,得到解密后的所述通知信息。

具体的,业务系统服务器在下发通知信息时,也可以采用如图1所示的加密方法对通知信息进行加密,以下以给第一用户设备发送通知信息为例进行说明:

服务器将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密得到的加密后的第二加密密钥,然后根据加密后的第二加密密钥,采用预设的第二加密算法对通知信息进行加密,得到第一加密通知信息;第二加密密钥为第二加密算法的加密密钥。

第一用户设备接收到第一加密通知信息和加密后的第二加密密钥后,根据第一用户设备的sm9私钥,采用sm9算法对加密后的第二加密密钥进行解密,得到解密后的第二加密密钥;最后,根据解密后的第二加密密钥,采用第二加密算法对第一加密通知信息进行解密,得到解密后的通知信息。

即上述过程中业务系统服务器下发通知信息时,如图7所示,分别使用所有用户设备的标识信息对通知信息进行加密,用户设备接收数据后分别用自己的sm9私钥进行解密获得通知信息。

其中,需要说明的是,步骤104-107,与步骤101-103不分先后顺序。

上述具体实施方式中,可以实现消息安全群发功能,而且操作流程较为简单,相对于使用rsa、ecc等非对称算法协商密钥过程减少了数字证书环节,节省了数字证书的费用。

图3是本发明提供的加密通信方法又一实施例的流程示意图。如图3所示,本实施例提供的加密通信方法,包括:

步骤301、第二用户设备获取所述第二用户设备的sm9私钥;

步骤302、所述第二用户设备接收所述第一用户设备发送的加密信息和加密后的第一加密密钥;所述加密信息为所述第一用户设备根据所述加密后的第一加密密钥,采用预设的第一加密算法对待发送信息进行加密后的信息;所述加密后的第一加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密得到的;所述第一加密密钥为所述第一加密算法的加密密钥;

步骤303、所述第二用户设备根据所述sm9私钥,采用所述sm9算法对所述加密后的第一加密密钥进行解密,得到解密后的第一加密密钥;

步骤304、所述第二用户设备根据所述解密后的第一加密密钥,采用所述第一加密算法对所述加密信息进行解密,得到解密后的待发送信息。

可选的,本实施例的方法,还包括:

所述第二用户设备接收服务器发送的第二加密通知信息和加密后的第三加密密钥;所述第二加密通知信息为所述服务器根据所述加密后的第三加密密钥,采用预设的第三加密算法对通知信息进行加密后的信息;所述加密后的第三加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第三加密密钥进行加密得到的;所述第三加密密钥为所述第三加密算法的加密密钥;

所述第二用户设备根据所述sm9私钥,采用所述sm9算法对所述加密后的第三加密密钥进行解密,得到解密后的第三加密密钥;

所述第二用户设备根据所述解密后的第三加密密钥,采用所述第三加密算法对所述第二加密通知信息进行解密,得到解密后的所述通知信息。

本发明实施例提供的方法,与上述图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图4是本发明提供的加密通信方法又一实施例的流程示意图。如图4所示,本实施例提供的加密通信方法,包括:

步骤401、服务器将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密,获取加密后的第二加密密钥;所述第二加密密钥为预设的第二加密算法的加密密钥;

步骤402、所述服务器根据所述加密后的第二加密密钥,采用所述第二加密算法对通知信息进行加密,得到第一加密通知信息;

步骤403、所述服务器向所述第一用户设备发送所述加密通知信息和所述加密后的第二加密密钥。

可选的,步骤401之前,还可以进行如下操作:

所述服务器根据所述第二加密算法随机产生所述第二加密密钥。

本发明实施例提供的方法,与上述图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图8为本发明提供的第一用户设备一实施例的结构图,如图8所示,本发明实施例的第一用户设备可以包括:

处理模块801,用于将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密,得到加密后的第一加密密钥;所述第一加密密钥为预设的第一加密算法的加密密钥;

所述处理模块801,还用于根据所述加密后的第一加密密钥,采用所述第一加密算法对待发送信息进行加密,得到加密信息;

发送模块802,用于向所述第二用户设备发送所述加密信息和所述加密后的第一加密密钥。

可选的,所述处理模块801,还用于:

根据所述第一加密算法随机产生所述第一加密密钥。

可选的,还包括:

获取模块803,用于获取所述第一用户设备的sm9私钥;所述sm9私钥为根据所述sm9算法生成的;

接收模块804,用于接收服务器发送的加密通知信息和加密后的第二加密密钥;所述加密通知信息为所述服务器根据所述加密后的第二加密密钥,采用预设的第二加密算法对通知信息进行加密后的信息;所述加密后的第二加密密钥为将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密得到的;所述第二加密密钥为所述第二加密算法的加密密钥;

处理模块801,还用于:

根据所述sm9私钥,采用所述sm9算法对所述加密后的第二加密密钥进行解密,得到解密后的第二加密密钥;

根据所述解密后的第二加密密钥,采用所述第二加密算法对所述加密通知信息进行解密,得到解密后的所述通知信息。

本发明实施例的第一用户设备,可以用于执行上述图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本发明提供的第二用户设备一实施例的结构图,如图9所示,本发明实施例的第二用户设备可以包括:

获取模块901,用于获取所述第二用户设备的sm9私钥;

接收模块902,用于接收所述第一用户设备发送的加密信息和加密后的第一加密密钥;所述加密信息为所述第一用户设备根据所述加密后的第一加密密钥,采用预设的第一加密算法对待发送信息进行加密后的信息;所述加密后的第一加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第一加密密钥进行加密得到的;所述第一加密密钥为所述第一加密算法的加密密钥;

处理模块903,用于根据所述sm9私钥,采用所述sm9算法对所述加密后的第一加密密钥进行解密,得到解密后的第一加密密钥;

所述处理模块903,还用于根据所述解密后的第一加密密钥,采用所述第一加密算法对所述加密信息进行解密,得到解密后的待发送信息。

可选的,接收模块902,还用于:

接收服务器发送的第二加密通知信息和加密后的第三加密密钥;所述第二加密通知信息为所述服务器根据所述加密后的第三加密密钥,采用预设的第三加密算法对通知信息进行加密后的信息;所述加密后的第三加密密钥为将第二用户设备的标识信息作为sm9公钥,采用sm9算法对第三加密密钥进行加密得到的;所述第三加密密钥为所述第三加密算法的加密密钥;

处理模块903,还用于:

根据所述sm9私钥,采用所述sm9算法对所述加密后的第三加密密钥进行解密,得到解密后的第三加密密钥;

根据所述解密后的第三加密密钥,采用所述第三加密算法对所述第二加密通知信息进行解密,得到解密后的所述通知信息

本发明实施例的第二用户设备,可以用于执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图10为本发明提供的服务器另一实施例的结构图,如图10所示,本发明实施例的服务器可以包括:

处理模块1001,用于将第一用户设备的标识信息作为sm9公钥,采用sm9算法对第二加密密钥进行加密,获取加密后的第二加密密钥;所述第二加密密钥为预设的第二加密算法的加密密钥;

所述处理模块1001,还用于根据所述加密后的第二加密密钥,采用所述第二加密算法对通知信息进行加密,得到所述加密通知信息;

所述发送模块1002,用于向所述第一用户设备发送所述加密通知信息和所述加密后的第二加密密钥。

可选的,所述处理模块1001,还用于:

根据所述第二加密算法随机产生所述第二加密密钥。

本发明实施例的服务器,可以用于执行上述图4所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1