本发明涉及数据安全技术领域,具体涉及一种数据加密方法。
背景技术:
现代生活中每个企业或每个人都拥有敏感数据,例如企业用于商业秘密、知识产权、关键业务信息、业务合作伙伴信息或客户信息等敏感数据。例如个人拥有医疗健康数据、生活经历、财产状况、婚恋、社会关系、信仰、心理特征等敏感数据。随着人民生活水平的不断提高,人们开始更加关爱生命和关心自己的健康。市面上各种监测用户健康的设备不断涌现,因此医疗健康数据呈现爆发式增长,为了方便管理这些检测到的健康医疗数据,方便用户远程实时查看,所监测的医疗数据多存放于数据存储云平台。然而,这些医疗数据中包含了大量病人的隐私信息,这不可避免会带来巨大的安全隐患。无论是平台外部攻击者的恶意攻击,还是平台管理员有意或无意的操作,都有可能导致隐私信息的泄露。为了保护医疗数据的隐私性,需要对医疗数据进行加密处理。现有的数据存储云平台对数据传输过程中的健康医疗数据均采用固定的加密算法进行加密,而采用该固定的加密算法在被破解后,数据存储云平台上存储的全部医疗数据都有被泄露的风险,这些医疗数据一旦泄密,不法分子利用病人病急乱投医的特点,将会危及病人的财产安全及生命安全。
技术实现要素:
本发明的目的在于提供一种数据加密方法,解决了现有技术中采用固定加密算法在被破解后,导致数据存储云平台上数据容易全部泄露的问题。
为了达到上述目的,提供了一种数据加密方法,包括以下步骤:
请求获取步骤:获取用户对于数据的加密请求;
请求解析步骤:基于加密请求确定数据的加密范围;
信息反馈步骤:将加密范围发送给用户后并接收用户确定加密范围的反馈信息;
数据划分步骤:将数据根据加密范围切分为若干个数据块,数据块的类型包括加密范围数据块和非加密范围数据块;并将切分后的数据块的排列顺序进行随机打乱,生成加密映射表,加密映射表记录各数据块的原始排列位置、数据类型和数据大小;
数据加密步骤:将加密映射表和反馈信息进行整合得到整合信息,生成整合信息的哈希值,根据整合信息的哈希值为加密范围数据块从预设的加密算法库中匹配加密算法;并根据匹配的加密算法对加密范围数据块进行加密;
数据存储步骤:将非加密范围数据块和加密后的加密范围数据块按随机打乱顺序进行组合并传输存储至数据存储云平台。
工作原理及优点:
1.随着时代发展,数据呈现爆发式增长,若将用户的全部数据都进行加密存储,会对计算机硬件的负担增大,从而导致数据加密的速度大为降低,而请求获取步骤和请求解析步骤的设置,通过获取用户对于数据的加密请求后,并基于来加密请求确定数据的加密范围。实现让用户来决定数据的加密范围,而非对全部数据进行加密,因此减小了计算机硬件的负担,从而提高了数据加密的速度。
2.信息反馈步骤、数据划分步骤和数据加密步骤的设置,用户通过发送反馈信息来确定数据的加密范围无误,然后利用哈希算法生成反馈信息的哈希值,哈希算法具有不可逆的特性,就是虽然知道反馈信息的哈希值,但是无法求出反馈信息。保证了数据加密的安全性;然后再根据哈希值为加密范围数据块从预设的加密算法库中匹配一个加密算法;并根据匹配的加密算法对加密范围数据块进行加密,进一步的保证了数据加密的安全性,从而减小了数据存储云平台上数据被泄露的风险。
进一步,还包括以下步骤:
关键词提取步骤:对加密请求进行关键词提取,并根据提取的关键词确定数据的加密范围;所述加密范围包括身份信息、病历信息和用药信息,所述身份信息包括姓名、身份证号、性别和地址。
加密范围的设置,由于不同用户对数据加密的需求不同的,通过对身份信息、病历信息和用药信息,便于用户选取数据中的不同部分进行加密。
进一步,所述加密算法库包括对称加密算法和非对称加密算法,所述对称加密算法包括des数据加密标准算法、3des三次数据加密标准算法和aes高级加密标准算法,所述非对称加密算法包括rsa公共密钥算法、dsa数字签名算法和ecc椭圆曲线密码编码学算法。
加密算法库的设置,便于保证数据的机密性。
进一步,对所述加密算法库中的每个加密算法添加赋予编号。
编号的设置便于准确匹配对应的加密算法,进一步的保证了数据加密的安全性,从而减小了数据存储云平台上数据被泄露的风险。
进一步,所述编号的顺序为0-5。
编号的设置便于准确匹配对应的加密算法,进一步的保证了数据加密的安全性,从而减小了数据存储云平台上数据被泄露的风险。
进一步,所述数据加密步骤中加密算法的匹配具体包括以下步骤:
获取哈希值的首数值和尾数值;
根据ascll码对照表获取首数值对应十进制的第一具体值,以及尾数值对应十进制的第二具体值;
计算第一具体值和第二具体值的和值,并计算和值与加密算法的最大编号相除的余值,将编号与余值对应的加密算法作为匹配结果。
数据加密步骤中加密算法匹配步骤的设置,便于进一步保证数据加密的安全性,从而减小了数据存储云平台上数据被泄露的风险。
附图说明
图1为本发明实施例一种数据加密方法的流程框图。
具体实施方式
下面通过具体实施方式进一步详细说明:
实施例
一种数据加密方法,应用于数据存储云平台,所述数据存储云平台包括服务器和用户端,服务器和用户端远程通信连接,用户通过用户端将自身的数据上传至服务器进行存储,本实施例中用户端采用智能手机。所述方法基本如附图1所示:包括以下步骤:
s1、请求获取步骤:服务器从用户端获取用户对于数据的加密请求;
s2、请求解析步骤:服务器基于加密请求确定数据的加密范围;
步骤s2中还包括以下步骤:关键词提取步骤:对加密请求进行关键词提取,并根据提取的关键词确定数据的加密范围;所述加密范围包括身份信息、病历信息和用药信息,病历信息包括病历和治病地址,所述身份信息包括用户的姓名、身份证号、性别和地址。例如患者为男性,病历中记载患者患有前列腺疾病,治病地址为xx男科医院,因此可以确定患者想要对数据进行加密的加密范围为病历信息和用药信息。关键词提取步骤中仅需用户对应的关键词即可,例如输入地址可反馈治病地址和居住地所在的地址等。
s3、信息反馈步骤:服务器将加密范围发送给用户后,并从用户端接收用户确定加密范围的反馈信息;例如,反馈信息为“我觉得没有问题,就按照这样做吧”,类似的文本回复信息。
s4、数据划分步骤:服务器将数据根据加密范围切分为若干个数据块,数据块的类型包括加密范围数据块和非加密范围数据块;并将切分后的数据块的排列顺序进行随机打乱,生成加密映射表,加密映射表记录各数据块的原始排列位置、数据类型和数据大小;加密映射表存在服务器中并与用户端的身份信息进行关联存储,方便服务器的调用。
s5、数据加密步骤:服务器将加密映射表和反馈信息进行整合得到整合信息,生成整合信息的哈希值,根据整合信息的哈希值为加密范围数据块从预设的加密算法库中匹配加密算法;并根据匹配的加密算法对加密范围数据块进行加密;所述加密算法库包括对称加密算法和非对称加密算法,所述对称加密算法包括des数据加密标准算法、3des三次数据加密标准算法和aes高级加密标准算法,所述非对称加密算法包括rsa公共密钥算法、dsa数字签名算法和ecc椭圆曲线密码编码学算法。加密算法库中的每个加密算法添加赋予编号,编号的顺序为0-5。des数据加密标准算法的编号为0,3des三次数据加密标准算法的编号为1,aes高级加密标准算法的编号为2,rsa公共密钥算法的编号为3、dsa数字签名算法的编号为4,ecc椭圆曲线密码编码学算法的编号为5,加密密钥均由服务器保存。
数据加密步骤中加密算法的匹配具体包括以下步骤:
s501、获取哈希值的首数值和尾数值;例如,反馈信息为“我觉得没有问题,就按照这样做吧”,加上加密映射表并整合在一起形成整合信息后,那么对应的哈希值可以为“36c942351ec9cc3ad124e288a5c9cf0b”,哈希值的首数值为3,哈希值的尾数值为b。
s502、根据ascll码对照表获取首数值对应十进制的第一具体值,以及尾数值对应十进制的第二具体值;首数值3对应十进制的第一具体值同样为3,尾数值b对应十进制的第二具体值为98。
s503、计算第一具体值和第二具体值的和值,并计算和值与加密算法的最大编号相除的余值,将编号与余值对应的加密算法作为匹配结果。和值=第一具体值 第二具体值=101,余值=和值/6的余值=5。编号5对应的加密算法为ecc椭圆曲线密码编码学算法。
s6、数据存储步骤:将非加密范围数据块和加密后的加密范围数据块按随机打乱顺序进行组合并传输存储至数据存储云平台。解密时,通过加密映射表将非加密范围数据块和加密后的加密范围数据块的顺序拨正,获取反馈信息在调取加密映射表,得到整合信息,再依据数据加密步骤确定的加密算法进行逆向解密。
服务器通过获取用户对于数据的加密请求后,并基于来加密请求确定数据的加密范围。实现让用户来决定数据的加密范围,而非对全部数据进行加密,因此减小了计算机硬件的负担,从而提高了数据加密的速度。用户通过用户端发送反馈信息来确定数据的加密范围无误,然后利用哈希算法生成反馈信息的哈希值,哈希算法具有不可逆的特性,就是虽然知道反馈信息的哈希值,但是无法求出反馈信息。保证了数据加密的安全性;然后再根据哈希值为加密范围数据块从预设的加密算法库中匹配一个加密算法;并根据匹配的加密算法对加密范围数据块进行加密,进一步的保证了数据加密的安全性,从而减小了数据存储云平台上数据被泄露的风险。
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
1.一种数据加密方法,其特征在于,包括以下步骤:
请求获取步骤:获取用户对于数据的加密请求;
请求解析步骤:基于加密请求确定数据的加密范围;
信息反馈步骤:将加密范围发送给用户后并接收用户确定加密范围的反馈信息;
数据划分步骤:将数据根据加密范围切分为若干个数据块,数据块的类型包括加密范围数据块和非加密范围数据块;并将切分后的数据块的排列顺序进行随机打乱,生成加密映射表,加密映射表记录各数据块的原始排列位置、数据类型和数据大小;
数据加密步骤:将加密映射表和反馈信息进行整合得到整合信息,生成整合信息的哈希值,根据整合信息的哈希值为加密范围数据块从预设的加密算法库中匹配加密算法;并根据匹配的加密算法对加密范围数据块进行加密;
数据存储步骤:将非加密范围数据块和加密后的加密范围数据块按随机打乱顺序进行组合并传输存储至数据存储云平台。
2.根据权利要求1所述的一种数据加密方法,其特征在于:还包括以下步骤:
关键词提取步骤:对加密请求进行关键词提取,并根据提取的关键词确定数据的加密范围;所述加密范围包括身份信息、病历信息和用药信息,所述身份信息包括姓名、身份证号、性别和地址。
3.根据权利要求1所述的一种数据加密方法,其特征在于:所述加密算法库包括对称加密算法和非对称加密算法,所述对称加密算法包括des数据加密标准算法、3des三次数据加密标准算法和aes高级加密标准算法,所述非对称加密算法包括rsa公共密钥算法、dsa数字签名算法和ecc椭圆曲线密码编码学算法。
4.根据权利要求3所述的一种数据加密方法,其特征在于:对所述加密算法库中的每个加密算法添加赋予编号。
5.根据权利要求4所述的一种数据加密方法,其特征在于:所述编号的顺序为0-5。
6.根据权利要求1所述的一种数据加密方法,其特征在于:所述数据加密步骤中加密算法的匹配具体包括以下步骤:
获取哈希值的首数值和尾数值;
根据ascll码对照表获取首数值对应十进制的第一具体值,以及尾数值对应十进制的第二具体值;
计算第一具体值和第二具体值的和值,并计算和值与加密算法的最大编号相除的余值,将编号与余值对应的加密算法作为匹配结果。
技术总结