一种加密方法及系统技术方案

技术编号:15767092 阅读:80 留言:0更新日期:2017-07-06 14:13
本发明专利技术通过提供一种加密方法及系统,通过根据用户标识获取加密因子,并根据加密因子对待加密数据进行加密,所述待加密数据也可以是某个加密算法的密钥,整个加密过程实现了将算法密钥融合到算法中的白盒加密技术。充分利用用户的个人信息以及社交信息获取对应的加密因子,从而对不同的用户使用不同的加密算法,从而进一步提升了加密的复杂度,提升了数据安全性。

Encryption method and system

The present invention provides encryption method and system, through access to the encrypted according to the user identification factor, and according to the encryption factor treated encryption data, the encrypted data can also be a key encryption algorithm, the encryption process will realize the fusion algorithm key to white box algorithm encryption technology. Encryption factor to make full use of the user's personal information and social information to obtain the corresponding, which use different encryption algorithms to different users, so as to further enhance the complexity of encryption, to improve data security.

【技术实现步骤摘要】
一种加密方法及系统
本专利技术涉及数据安全领域,尤其涉及一种加密方法及系统。
技术介绍
随着科学技术的发展,人们对电脑技术的研究更加地全面,对机密信息的探测途径越来越多。对于密码算法而言,传统仅局限于通信信道中信息的截取与分析已经无法满足攻击者的需求,他们已经逐渐开始将目标定位于密码算法的运行平台(如个人电脑、服务器等),通过越来越先进的技术对算法运行时的内部状态进行观测、改动等操作,从而获取机密信息,破坏密码算法所要保护的机密性、完整性、不可否认性等。这样的攻击方式被称之为白盒攻击。传统的密码算法在这样的攻击环境的平台上运行毫无安全性可言,因此需要研究开发出一种新的密码技术,能够在不可信任平台上运行时保证所需的安全性,达到更高级别信息安全的目的。白盒密码即是这样一种密码技术,通过结合代数、概率、混淆、软件保护、信息隐藏等知识,研究如何设计安全的白盒密码算法和白盒攻击环境下密码算法的安全评估;用于保护密码算法及其相关软件在不可信任环境下的安全执行;白盒密码是对传统黑盒密码安全概念的一次颠覆,它将更加全面地保护机密信息。白盒密码可以应用到任何在不可信任的运行平台上执行的密码方案,因此其应用前景非常的广泛,可以应用于数字内容的安全发行,为内容创作者和提供者的数字资产提供防止盗窃或滥用的安全保护;可以应用于无线自组网络、云计算等的安全计算,为不可信任终端处理机密信息提供防观测、防篡改、防窃取等服务;可以应用于软件保护,破坏软件设计的原有的结构从而防止逆向工程等等。然而,在白盒密码的技术实现方面,到目前为止还未有公认的安全的且实现效率较高的白盒密码方案出现,因此,设计能够抵抗白盒攻击的安全有效的密码算法迫在眉睫,是目前保证网络安全的一个重要手段。
技术实现思路
为了解决上述技术问题,本专利技术提供一种加密方法及系统。本专利技术是以如下技术方案实现的:一种加密方法,所述方法应用于服务器-客户端架构或者服务器-浏览器架构的分布式系统之中,所述方法包括:服务器获取用户的数据加密请求,所述数据加密请求包括关键字、待加密数据的长度和用户标识;根据所述关键字和用户标识获取用户所在的一个或者多个群组标识;若获取到的群组标识为多个,则从中按照约定算法选择一个目标群组标识;若获取到的群组标识只有一个,则获取到的群组标识即为目标群组标识;按照预设算法根据所述用户标识、目标群组标识和所述待加密数据的长度得到特征值;根据所述特征值在预设的加密算法集合中抽取加密因子并将所述加密因子传输至客户端,所述加密因子包括第一混合种子、第二混合种子、第一加密算法和第二加密算法;客户端获取用户输入的字符,并按照预设的采集顺序将获取到的字符进行排列,并按照预设的第一混合算法将获取到的字符与所述第一混合种子混合以生成目标字符串;根据所述第一加密算法对所述目标字符串进行加密得到加密字符串;按照预设的第二混合算法将所述加密字符串和所述第二混合种子进行混合以得到混合加密字符串;获取自身硬件信息,根据所述硬件信息和所述混合加密字符串生成加密密钥;根据所述第二加密算法将所述混合加密字符串,结合所述加密密钥运算得到加密密文,将所述加密密文发送至服务器。进一步地,所述第一混合种子和第二混合种子可以包括一个或多个字符串的组合,所述字符串可以包括英文、数字、符号及其组合。进一步地,若所述第一加密算法为公钥加密算法,则所述加密因子还包括加密密钥,不同的第一加密算法所对应的公钥加密算法的保密级别和得到的加密密钥长度不同。进一步地,所述第一加密算法是异或运算或者对称算法等任意一种可逆运算方法;所述第二加密算法是SM3、MD5等杂凑算法进行运算得到的算法。进一步地,所述待加密数据可以为应用于某种加密算法的密钥。进一步地,所述特征值为正整数。一种加密系统,所述系统包括服务器和客户端,所述服务器包括:请求获取模块,用于获取用户的数据加密请求,所述数据加密请求包括关键字、待加密数据的长度和用户标识;目标群组标识获取模块,用于根据所述关键字和用户标识获取用户所在的一个或者多个群组标识;若获取到的群组标识为多个,则从中按照约定算法选择一个目标群组标识;若获取到的群组标识只有一个,则获取到的群组标识即为目标群组标识;特征值获取模块,用于按照预设算法根据所述用户标识、目标群组标识和所述待加密数据的长度得到特征值;加密因子处理模块,用于根据所述特征值在预设的加密算法集合中抽取加密因子并将所述加密因子传输至客户端,所述加密因子包括第一混合种子、第二混合种子、第一加密算法和第二加密算法;所述客户端包括:字符输入模块,用于获取用户输入的字符;目标字符串生成模块,用于按照预设的采集顺序将获取到的字符进行排列,并按照预设的第一混合算法将获取到的字符与所述第一混合种子混合以生成目标字符串;混合加密字符串得到模块,用于根据所述第一加密算法对所述目标字符串进行加密得到加密字符串;按照预设的第二混合算法将所述加密字符串和所述第二混合种子进行混合以得到混合加密字符串;加密密钥生成模块,用于获取自身硬件信息,根据所述硬件信息和所述混合加密字符串生成加密密钥;加密密文处理模块,用于根据所述第二加密算法将所述混合加密字符串,结合所述加密密钥运算得到加密密文,将所述加密密文发送至服务器。本专利技术的有益效果是:本专利技术提供一种加密方法及系统,通过根据用户标识获取加密因子,并根据加密因子对待加密数据进行加密,所述待加密数据也可以是某个加密算法的密钥,整个加密过程实现了将算法密钥融合到算法中的白盒加密技术。充分利用用户的个人信息以及社交信息获取对应的加密因子,从而对不同的用户使用不同的加密算法,从而进一步提升了加密的复杂度,提升了数据安全性。附图说明图1是本专利技术实施例提供的加密方法流程图;图2是本专利技术实施例提供的加密因子的获取方法流程图;图3是本专利技术实施例提供的群组的查找方式流程图;图4是本专利技术实施例提供的加密过程流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述。实施例1:一种加密方法,所述方法应用于服务器-客户端架构或者服务器-浏览器架构的分布式系统之中,如图1所示所述方法包括:S101.服务器获取用户的数据加密请求,并返回加密因子。具体地,所述数据加密请求包括关键字、待加密数据的长度和用户标识。所述待加密数据可以为某个加密算法的密钥。所述关键字可以为空。具体地,加密因子的获取方法如图2所示,包括下述步骤:S1011.根据所述用户标识获取用户所在的一个或者多个群组标识。S1012.判断获取到的群组标识的数量。群组是可表示多用户之间通信关系的数据对象,群组中的各个用户标识所对应的终端之间可以进行一对多、多对一以及多对多之间的通信。可利用群组标识将多个用户标识联系起来而用来表示群组,群组中的任意一个用户标识所对应的终端能够与该群组中的其它用户标识所对应的终端通信,从而可以实现多方通信。群组包括但不限于即时通信群组、基于社交网络的群组、多人语音通信组、多人视频通信组、基于已有的群组而建立的讨论组、多人会话组等。不同的群组的安全等级可能不同,其对应的加密因子也可能产生不同,因此,本实施例中对于群组的选择结果将直接影响到加密因子的获取结果,从而对终端的加密复杂度产生影响。而用户并不能够完本文档来自技高网
...
一种加密方法及系统

【技术保护点】
一种加密方法,其特征在于,所述方法应用于服务器‑客户端架构或者服务器‑浏览器架构的分布式系统之中,所述方法包括:服务器获取用户的数据加密请求,所述数据加密请求包括关键字、待加密数据的长度和用户标识;根据所述关键字和用户标识获取用户所在的一个或者多个群组标识;若获取到的群组标识为多个,则从中按照约定算法选择一个目标群组标识;若获取到的群组标识只有一个,则获取到的群组标识即为目标群组标识;按照预设算法根据所述用户标识、目标群组标识和所述待加密数据的长度得到特征值;根据所述特征值在预设的加密算法集合中抽取加密因子并将所述加密因子传输至客户端,所述加密因子包括第一混合种子、第二混合种子、第一加密算法和第二加密算法;客户端获取用户输入的字符,并按照预设的采集顺序将获取到的字符进行排列,并按照预设的第一混合算法将获取到的字符与所述第一混合种子混合以生成目标字符串;根据所述第一加密算法对所述目标字符串进行加密得到加密字符串;按照预设的第二混合算法将所述加密字符串和所述第二混合种子进行混合以得到混合加密字符串;获取自身硬件信息,根据所述硬件信息和所述混合加密字符串生成加密密钥;根据所述第二加密算法将所述混合加密字符串,结合所述加密密钥运算得到加密密文,将所述加密密文发送至服务器。...

【技术特征摘要】
1.一种加密方法,其特征在于,所述方法应用于服务器-客户端架构或者服务器-浏览器架构的分布式系统之中,所述方法包括:服务器获取用户的数据加密请求,所述数据加密请求包括关键字、待加密数据的长度和用户标识;根据所述关键字和用户标识获取用户所在的一个或者多个群组标识;若获取到的群组标识为多个,则从中按照约定算法选择一个目标群组标识;若获取到的群组标识只有一个,则获取到的群组标识即为目标群组标识;按照预设算法根据所述用户标识、目标群组标识和所述待加密数据的长度得到特征值;根据所述特征值在预设的加密算法集合中抽取加密因子并将所述加密因子传输至客户端,所述加密因子包括第一混合种子、第二混合种子、第一加密算法和第二加密算法;客户端获取用户输入的字符,并按照预设的采集顺序将获取到的字符进行排列,并按照预设的第一混合算法将获取到的字符与所述第一混合种子混合以生成目标字符串;根据所述第一加密算法对所述目标字符串进行加密得到加密字符串;按照预设的第二混合算法将所述加密字符串和所述第二混合种子进行混合以得到混合加密字符串;获取自身硬件信息,根据所述硬件信息和所述混合加密字符串生成加密密钥;根据所述第二加密算法将所述混合加密字符串,结合所述加密密钥运算得到加密密文,将所述加密密文发送至服务器。2.根据权利要求1所述的一种加密方法,其特征在于,所述第一混合种子和第二混合种子可以包括一个或多个字符串的组合,所述字符串可以包括英文、数字、符号及其组合。3.根据权利要求1所述的一种加密方法,其特征在于,若所述第一加密算法为公钥加密算法,则所述加密因子还包括加密密钥,不同的第一加密算法所对应的公钥加密算法的保密级别和得到的加密密钥长度不同。4.根据权利要求1所述的一种加密方法,其特征在于,所述第一加密算法是异或运算或...

【专利技术属性】
技术研发人员:徐承迪
申请(专利权)人:杭州翼兔网络科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1