一种基于安全级别的混合加密方法

文档序号:26095733发布日期:2021-07-30 18:05阅读:46来源:国知局

本发明涉及信息安全领域,尤其涉及一种基于安全级别的混合加密方法。



背景技术:

计算机网络和系统必须具有保护敏感信息安全的能力,以确保系统和网络的可靠性和机密性。保护敏感信息的一种常见方法是加密,目前对加密的研究和应用大多着眼于加密算法本身,例如开发更复杂更难破解的加密算法或采用多种加密算法组合的方式来实现更安全的加密。在国产的操作系统和计算机硬件的基础上,过于复杂的加密算法的发展本身就具有一定的局限性。

另一方面,复杂的算法本身依赖于计算机科学的发展,例如现在热门的量子加密技术虽然研究很多,但是其并不具备大规模应用的硬件基础,因此其暂时还不具备实用性。而开发其他复杂的加密算法也基本类似。



技术实现要素:

为了解决上述技术缺陷,本发明提供了一种通过优化加密逻辑来加强加密可靠性,基于不同的安全级别执行不同的加密操作,并且基于现有的加密算法,通过合理的设置其加密条件和步骤以实现更好的加密效果。

本发明提供了一种基于安全级别的混合加密方法,其特征在于,包括:

请求发起端向加密端发送加密请求,所述加密请求包括所述发起端的身份信息和待加密数据信息;

加密端根据所述加密请求确定本次加密对应的安全级别,并执行对应的处理操作;

所述安全级别包括高、中、低安全级;

所述低安全级的处理操作为:对所述待加密数据不执行任何处理操作;

所述中安全级的处理操作为:对所述待加密数据执行签名操作;

所述高安全级的处理操作为:对所述待加密数据先执行签名操作,再执行加密操作。

在一些较优的实施例中,所述签名操作包括:

获取系统当前时间和时区信息作为时间戳,与所述加密请求一起做字符排序并拼接,在字符串末尾追加盐值并将整体进行hash操作。

在一些较优的实施例中,所述加密操作包括:

加密端首先使用预设的公钥对执行签名操作后的数据进行第一次加密;

然后使用所述盐值作为密钥进行第二次加密。

在一些较优的实施例中,所述盐值为随机生成的字符串。

在一些较优的实施例中,所述加密操作还包括:

加密端将所述随机字符串使用公钥加密后发送给后端,所述后端向所述请求发起端返回令牌,所述请求发起端在后续通信中的请求头带上该令牌。

在一些较优的实施例中,所述第二次加密的具体方法包括:

依次使用非对称加密算法、对称加密算法和哈希算法对签名后的数据进行加密。

在一些较优的实施例中,所述加密端根据所述加密请求确定本次加密对应的安全级别,包括:

所述加密端设置有关于请求发起端的白名单、安全级别分配名单和黑名单;

所述白名单中的请求发起端可以直接与所述后端通信;

所述安全级别分配名单用于确定所述请求发起端对应的安全级别;

所述黑名单中的请求发起端不允许与所述后端通信。

有益效果

1、划分合理的安全级别分别实施不同的加密操作,通过合理的设置加密条件和步骤以实现更好的加密效果;

2、将加密的密钥与签名的盐值结合起来,加强了加密的可靠性和不可抵赖性。

3、合理分配加密时所需的计算资源,加快了数据的传输速度。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面对本发明作进一步阐述。在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

实施例1

本实施例提供了一种基于安全级别的混合加密方法,包括:

请求发起端向加密端发送加密请求,所述加密请求包括所述发起端的身份信息和待加密数据信息。

本申请所述请求发起端为通信过程中需要进行数据传输的参与端,根据其具体的使用环境,可以是智能手机、计算机、穿戴式智能设备等其他电子设备。进一步的,所述身份信息可以是id、ip或其他可以明确身份的其他信息,其具体的内容需要本领域的技术人员根据加密端和后端的具体设置而定。

加密端根据所述加密请求确定本次加密对应的安全级别,并执行对应的处理操作;所述安全级别包括高、中、低安全级。

所述加密端根据所述加密请求确定本次加密对应的安全级别的具体实现方式有很多,例如可以根据通信内容的重要程度确定其安全级别,也可以根据其通信对象确定安全级别,本领域的技术人员可以根据实际情况设置安全级别的确认方法,本实施例不作进一步限制。

所述低安全级的处理操作为:对所述待加密数据不执行任何处理操作。应当理解的是,此时的“不执行任何处理操作”是指不在基本通信要求的基础上执行额外的处理操作,在一些较优的实施例中,整个通信过程均需要采用公钥或其他通用加密手段完成,则此时的低安全级仍需要完成基本的加密操作,然后直接放行。在后续的中、高安全级的处理操作中同样遵循这样的操作逻辑,其后不再赘述。

进一步的是,设置不执行任何处理操作的低安全级,是为了应对某些应用环境下,例如通信的保密要求不高时,为了加快数据的传输速度,减少对计算资源的占用,此时就可以不经过加密处理操作而直接完成数据的传输。

所述中安全级的处理操作为:对所述待加密数据执行签名操作。应当理解的是,本发明中的签名是指数字签名,其目的是为了确定数据发送者(即请求发起端)的身份无法伪造的一种有效证明,其具体的实现方法可以采用本领域常用的签名方法,例如非对称密钥加密或哈希摘要的算法。

应当理解的是,设置仅执行签名操作的中安全级,是为了应对某些应用环境下,例如通信过程的保密要求不太高,仅需要验证请求发起端和\或接收端(即后端)的身份,使其在通信过程中无法抵赖。

所述高安全级的处理操作为:对所述待加密数据先执行签名操作,再执行加密操作。此处的加密操作是指对已签名的数据进行的二次加密。应当理解的是,本实施例中采用的加密算法可以为常规加密方法中的一种或多种组合的方式进行,而设置对签名后的数据进行二次加密的目的,是在于对保密要求较高的数据,在确保发送方身份的有效性后,对数据进行二次加密,从而提高其保密性。

应当说明的是,本发明的技术方案主要针对的是国产的操作系统和计算机硬件,在基础层面的硬件及软件环境支持欠缺的情况下,更需要实现一种通过优化加密逻辑来加强加密可靠性的方法而不是通过算法本身的复杂性。

实施例2

本实施例是在上述实施例1的基础上展开的,具体提供了一种签名操作的具体方法,包括:获取系统当前时间和时区信息作为时间戳,与所述加密请求一起做字符排序并拼接,在字符串末尾追加盐值并将整体进行hash操作。其中,获取时间信息的目的在于确定签名的有效期;获取时区信息的目的在于统一发送端和接收端的时区信息,进而采用统一的时间信息作为时间戳,在一些特殊的实施例中,发送端和接收端的时区信息并不相同,此时直接获取时间信息并不可靠;更进一步的是,还可以根据所述时区信息获得发送端的大致地理范围。

在一些较优的实施例中,所述字符排序并拼接是指:将所有字符按从小到大的顺序排序并使用&字符来进行拼接。

实施例3

本实施例是在上述实施例2的基础上展开的,具体提供了一种执行加密操作的方法,包括:加密端首先使用预设的公钥对执行签名操作后的数据进行第一次加密;然后使用所述盐值作为密钥进行第二次加密。应当理解的是,本实施例中进行二次加密的算法可以是现有加密算法中的一种或多种算法的组合。为了使多次混合加密时所使用的加密算法相互适应,在一些较优的实施例中,给出了一种具体的加密算法使用规则:

本实施例中的非对称加密算法采用国密sm2算法或rsa算法;对称加密算法采用国密sm4算法或aes算法;哈希算法采用国密sm3算法或md5算法。其相互之间的对应关系如下:

当非对称加密算法采用rsa算法时,对称加密采用aes,哈希使用md5;

当非对称加密算法采用sm2算法时,对称加密采用sm4,哈希使用sm3。

应当理解的是,在使用时本发明的加密方法时,本领域的技术人员可以按照需求,自由的指定非对称加密算法,对称加密算法以及哈希算法,通过这几种算法的组合,可以提高加密的安全性,此外,如果后续需要加入其他加密算法,也可以很方便的集成进去。

在另一些较优的实施例中,加密时依次使用非对称加密算法、对称加密算法和哈希算法对签名后的数据进行加密。

实施例4

本实施例是在上述实施例3的基础上展开的,具体提供了一种盐值的确定方法,包括:所述盐值为随机生成的字符串。应当理解的是,该字符串可以是由加密端或后端生成的,其长度取决于所采用的加密算法。需要注意的是,该字符串作为加密后的字符串,无法直接解开。在对称加密算法中,需要一个字符串作为对称加密密钥的盐值,这样即使破解对称加密算法,但由于不知道盐值,依然无法破解加密的内容,此时,作为对称加密密钥的盐值与添加在签名中的盐值相同,确保了二次加密的可靠性和不可抵赖性。

进一步的是,在另一些较优的实施例中,加密端将所述随机字符串使用公钥加密后发送给后端,所述后端向所述请求发起端返回令牌,所述请求发起端在后续通信中的请求头带上该令牌。此时,加密端根据请求头中的令牌(即token)可以作为一种加密标记,使本次通信内容略过安全级别的判断步骤,而直接使用令牌中的随机字符串(即盐值)执行加密操作。

实施例5

本实施例是在上述实施例1的基础上的进一步拓展,其具体给出了一种加密端根据所述加密请求确定本次加密对应的安全级别的方法,包括:

所述加密端设置有关于请求发起端的白名单、安全级别分配名单和黑名单;

所述白名单中的请求发起端可以直接与所述后端通信;

所述安全级别分配名单用于确定所述请求发起端对应的安全级别;

所述黑名单中的请求发起端不允许与所述后端通信。

应当理解的是,本发明中的后端是指与请求发起端相对应的通信接收端。进一步的是,上述白名单、安全级别分配名单和黑名单的确认可以由加密端、后端或本领域技术人员根据通信系统的具体要求和现场的实际情况设立、更新与维护。并且,需要进一步的说明的是,本实施例中的白名单与前述实施例中的低安全级别的处理不同之处在于:所述白名单中的请求发起端可以不经过加密端的判断从而直接与后端进行通信,此时,即使整个系统包含加密公钥,也不需要使用公钥对通信内容进行加密,相当于完全公开的通信方式。而低安全级的请求发起端并不能绕过加密端。

应当认识到,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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