首页> 中国专利> 基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统

基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统

摘要

本发明提出一种基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统。包括:1.通过RSA算法生成非对称密钥对数据库用户账号进行保护;2.将RSA算法的私钥作为可扩展精度双Logistic混沌算法的初始参数,通过双混沌哈希算法迭代计算生成密钥,对宾馆数据库中客户的敏感数据的二进制数据分组加密,生成密文;3.当需要对宾馆数据库中客户的敏感数据进行解密时,运用私钥作为双混沌哈希算法的初始参数与密文进行异或运算,将密文还原成明文。本发明充分利用RSA非对称加密算法的私钥和公钥,以及可扩展精度双混沌哈希算法的避免碰撞的优良特点,对宾馆数据库中的敏感信息进行安全保护,提高用户隐私数据的安全性。

著录项

  • 公开/公告号CN113297619A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 哈尔滨理工大学;

    申请/专利号CN202110590508.1

  • 发明设计人 刘嘉辉;侯梦瑜;

    申请日2021-05-28

  • 分类号G06F21/62(20130101);G06F21/60(20130101);H04L9/00(20060101);

  • 代理机构

  • 代理人

  • 地址 150080 黑龙江省哈尔滨市南岗区学府路52号

  • 入库时间 2023-06-19 12:19:35

说明书

技术领域

本发明属于密码学、数据安全技术领域,具体为利用可扩展精度双Logistic混沌哈希算 法和RSA非对称加密算法实现对Mysql数据库敏感字段信息进行加密保护的系统。

背景技术

现如今,对于入住旅客的身份登记的信息跟踪和查询,需要更加严格的管理。因此,现 在有很多的宾馆、民宿等开始舍弃“房卡”,顾客使用自己的手机和人脸等进行登记。

这种方案的意义不仅要求更严格的身份登记和认证,更重要的是,它能帮助宾馆实现“降 低成本”和“非接触式服务”,方便了顾客入住/退房等手续的办理,避免出现高峰期客人排 队的情况,减少客人之间的密集接触。

但是,新技术的使用也会带来用户的隐私安全问题,例如:用户的手机的信息,人脸的 信息等,用户的各种隐私信息都登记在宾馆的系统数据库中;因此,需要对这些信息进行保 护,从而避免用户的信息遭到非法盗取。

哈希函数是单向的。Hash函数的输入是大小可变的消息M,输出是固定大小的Hash值 H(M)。哈希算法的核心是设计无碰撞的哈希函数,在散列的空间内获得理想、均匀的散列 值。

加密对于保护敏感数据至关重要。现如今随着人工智能、大数据的迅速发展,我国进入 到了信息化的时代,信息数据呈指数增长,以前的对数据的加密算法比如对称加密算法和非 对称加密算法已经难以满足信息技术的快速、安全的加密的保护需求了。因此,现如今有许 多的学者在研究更安全、高效的加密的算法,以对数据进行保护。

混沌系统具有许多优秀的性质,比如:随机性、对初值的敏感性、长期的不可预测性等, 这些特性能够契合良好的密码学的理论,利用这些性质能够构造出优秀的加密算法。一些混 沌加密算法虽然得到了充分地研究与应用,但是混沌密码仍然存在着难以回避的问题,那就 是混沌的特性的退化问题,这使得密码系统的安全性受到严重威胁。因此,提高密码算法中 混沌映射的安全是该领域研究的重要的问题。

为了解决在有限的计算精度下的混沌特性的的退化问题,现如今已有的解决方法为采用 为混沌的系统增加随机扰动的方法或者是采用多个混沌的映射叠加的方式,但是仍然不能从 根本上解决有限精度下带来的量化的误差;因此可以采用可扩展精度的方式进行混沌的计算, 可扩展精度的方法能够可以由“users”指定计算的精度,从而能够打破有限精度下的计算的 局限,以防混沌的优秀特性发生退化,从而增大映射的空间,能够获得更优秀的混沌函数。

Mysql数据库中的信息一般都是以明文的字符的形式进行存储的,不法分子可以利用这 个漏洞攻进数据库系统对Mysql数据库中的数据进行非法获得,甚至是篡改数据库中的数据, 从而带来数据库系统的崩溃错误,给用户带来损失。同时一些数据库的工作人员可以随意的 访问到数据库中的信息,这也会给数据库带来安全的隐患,基于此,对数据库的保护不仅要 防止非法人员的入侵,也要防止工作人员的非法访问,因此需要对数据库中的数据进行加密, 从而能够保证即使这些人员获取到数据库中的加密后的数据,也不能够还原为明文,已达到 保护数据库的目的。

结合可扩展精度混沌映射模型的哈希算法和RSA非对称加密算法对数据库中的数据进 行加密保护。能够通过可扩展精度双混沌的哈希函数和RSA算法的结合大大提升数据库的安 全性。

运用RSA算法的私钥作为可扩展精度双混沌的哈希算法的初始参数和控制参数,进行迭 代运算生成哈希摘要,然后将迭代生成的哈希摘要与数据库中待加密的信息进行异或运算加 密成密文存放在数据库中。本发明利用了混沌Hash散列的安全性,又结合了RSA私钥只有 用户本人才能够获取到的优点,能够更好地保护Mysql数据库中的敏感信息的安全。

发明内容

(一)要解决的技术问题

为了能够实现对Mysql数据库中的敏感信息的保护,本发明可以获得更加均匀的哈希值, 极大地减少碰撞冲突,用户可以指定可扩展精度双混沌哈希函数迭代的次数以及计算的精度, 也可以指定哈希值的摘要的长度,提高混沌哈希函数的随机性,从而获得安全性更高的混沌 哈希算法。

使用可扩展精度双混沌哈希算法和RSA非对称加密算法结合,完成对Mysql数据库的敏 感信息的加密。主要是利用RSA非对称加密算法的私钥作为可扩展精度双混沌哈希算法的初 始参数和控制参数,然后经过迭代生成哈希摘要,将生成的哈希摘要转换成二进制的形式和 待加密的敏感数据进行异或运算生成密文,当用户本人需要查看敏感数据进行解密时,需要 使用从服务器获取的私钥使其作为初始参数和控制参数进行混沌哈希迭代运算,将生成的摘 要与密文进行异或运算,从而恢复明文。并将可扩展精度双混沌哈希加密算法应用到宾馆的 Mysql数据库中,对于敏感的信息防止宾馆工作人员非法利用。

利用顾客的私钥作为加密算法的初始参数,宾馆的工作人员不能随意查看到宾馆客户的 敏感信息和脸部识别信息,保护客户的隐私信息不受到侵害和非法使用。

(二)技术方案

为了安全地实现对Mysql数据库的保护,本发明提供了一种基于可扩展精度双混沌哈希 和RSA结合的Mysql敏感数据保护系统,其中,RSA算法实现数据库前端的登录和使用RSA 算法的私钥与可扩展精度双Logistic混沌哈希加密算法相结合的方式实现Mysql数据库中的 敏感数据的加密和解密。具体步骤包括:

步骤1:利用RSA的算法生成非对称密钥对数据库用户账号进行保护。采用在前端使用 公钥进行加密、后端使用私钥进行解密的方法来防止用户的账号密码在传输的过程中遭到泄 露。

步骤2:对于Mysql数据库的敏感信息,防止被泄露,需要对宾馆客户的敏感的信息(tel: 手机号、Idcard:身份证号)进行加密。这里采用的是可扩展精度双混沌哈希算法进行加密, 选择RSA算法的私钥作为算法的初始参数和控制参数,宾馆的工作人员不能获得授权私钥, 因此也就不能解密密文,查看到客户的敏感信息。

步骤3:利用可扩展精度双混沌哈希算法进行迭代运算生成哈希摘要,转换成二进制的 形式与数据库中待加密的数据的二进制信息进行异或运算生成密文,存放到数据库中。

步骤4:当用户需要查看宾馆数据库中的敏感数据时,需要对加密后的密文进行解密, 运用RSA算法的私钥作为混沌迭代运算的初始参数和控制参数进行可扩展精度双混沌哈希 迭代产生哈希摘要与密文进行异或运算,将密文还原成明文。

基于可扩展精度双混沌的哈希加密和RSA算法结合的方法对宾馆Mysql数据库进行加解 密,以达到保护数据库敏感信息的目的,方案如下:

生成非对称密钥对宾馆Mysql数据库的用户账号进行保护、数据库中客户的敏感信息加 密、用户登录宾馆数据库进行数据的查看。

Part1:利用RSA的算法生成非对称密钥对数据库用户账号进行保护。

Function_1:用户登录宾馆数据库系统时采用RSA非对称加密的密钥生成算法的过程描 述为:

S1_1、宾馆Mysql数据库分为两类用户进行登录:宾馆的客户和宾馆的工作人员。宾馆 的用户在登录时选择各自的身份进行用户名、密码登录;

S1_2、为了避免密钥在通讯中被截获,在一个会话期间由服务器端采用RSA非对称算法 生成一对公钥和私钥,并保存在服务器端的session里;

S1_3、把公钥传给前端供前端加密用户的账户密码,对用户的账户密码进行加密,使用 户的密码在传输的过程中保持加密的状态,这样,即使被恶意拦截了请求,获取了用户名密 码后,别人并不会破解该密码;

S1_4、前端把用户的账号以及使用公钥对账户密码进行加密后密文传给服务器,而服务 器端在获得公钥对账户密码加密的密文后从服务器端的session中获取到私钥对账号密码进行 解密,将解密后的账号密码保存到数据库中。

Function_2:宾馆的客户登录系统的实现过程描述为:

S2_1、选择以客户的身份登录系统,当输入用户名和密码登录系统时,系统将公钥传给 前端对输入的账号密码进行加密,然后加密后的密文传输到服务器时,服务器端调用私钥对 将加密后的数据进行解密;

S2_2、将解密后的用户密码与数据库中存储的用户密码进行比对,比对成功后则可成功 登录系统;

S2_3、宾馆的客户在成功登录到系统后,查看本人的敏感信息(手机号、身份证号,以 及刷脸的信息)和非敏感的信息(姓名、房间信息、入住时间、退房时间、账单);

S2_4、当宾馆的客户进入到系统后,需要查看或修改本人的敏感信息,服务器端使用私 钥作为可扩展精度双混沌哈希算法的初始参数和控制参数,进行迭代计算生成哈希摘要,将 生成的哈希摘要与敏感信息的密文进行异或运算解密还原成明文。

Function_3:宾馆的工作人员登录系统的实现过程描述为:

S3_1、选择以宾馆的工作人员的身份登录系统,当输入用户名和密码登录系统时,对用 户密码采用RSA非对称加密的公钥对用户密码进行加密,在服务器端用私钥对用户密码解 密。

S3_2、将解密后的用户密码与数据库中存储的用户密码进行比对,比对成功则可成功登 录系统。

S3_3、宾馆的工作人员在成功登录到系统后可以查看数据库中宾馆用户的非敏感的信息 (姓名、房间信息、入住时间、退房时间、账单)。

S3_4、宾馆的工作人员不能从服务器端获取到RSA算法的私钥,无法对宾馆客户的敏感 信息进行解密,不能查看宾馆客户的敏感信息。

Part2:Mysql数据库中客户的敏感信息加密。

宾馆数据库对客户的敏感的数据进行加密的实现过程描述为:

SM1、将服务器端生成的RSA算法的密钥中的私钥进行初始化;

SM1_1、将十六进制的私钥的各个字节进行分块为(L

SM1_2、将私钥的全部字节块量化,量化方法是以一个字符作为明文信息块并转化成对 应的ASCII码值,私钥表示为一个数组S,数组中的S

SM2、对(S

SM3、首先对S

SM3_1、第一个Logistic方程定义为:x

SM3_2、第二个Logistic方程定义为:y

SM4、进行可扩展精度双Logistic的哈希迭代运算;

SM4_1、计算第一个Logistic方程,x∈(0,1);

SM4_2、设定可扩展精度双混沌哈希函数迭代的次数为n以及设定随机序列的精度为m;

SM4_3、迭代的次数和随机序列的精度之间的数学关系式为:L

SM4_4、进行迭代计算,如果当前的迭代次数小于设定的迭代次数或者若当前的随机序 列的精度小于设定的精度m,那么就继续进行迭代计算;

SM4_5、对于超过设定的精度的随机序列x

SM4_6、最后经过迭代将获得的随机序列x

SM4_7、迭代计算第二个Logistic混沌方程,计算方程为,y∈(0,1),其中y

SM4_8、重复步骤S4_2至S4_5,最后经过迭代获得的随机序列y

SM4_9、令z=|x

SM5、设定需要获得的哈希摘要的位数为b,根据设定的哈希摘要的位数对Z序列进行 平均分组;第一组Array_1、Array_2......Array_b,若位数不够平分那么缺少的分组的位数用0 补齐;

SM6、设定种子seed,对随机序列的分组开始进行选位;

SM6_1、seed为x

SM6_2、随机选位的具体步骤为:根据seed值获取到相应的分组,seed值匹配的所述分 组上的对应位置的数组值作为本组的选位值,把所述选位值当作下一个seed继续进行选位, 直到所有的分组都进行选位后随机选位结束,其中,如果当种子的值大于随机序列分组的 Array的长度时,那么对Array的长度数值进行取模(mod)运算;

SM6_3、将进行随机选位获取的值保存到数组中,即为S

SM7、按照步骤S3至S6的方法依次为S

SM8、将生成的哈希摘要的二进制形式作为密钥对宾馆数据库Mysql中的客户的敏感数 据进行加密;

S8_1、待加密的敏感数据为:敏感数据1、敏感数据2、敏感数据3.....;

S8_2、将待加密的敏感数据1转换成二进制的形式与步骤S7中的产生的哈希摘要的二进 制形式进行异或运算加密求得敏感数据1的密文1,并将密文存放到数据库中;若哈希摘要 的二进制位数大于待加密的敏感数据的二进制的位数,那么从哈希摘要的第一位开始进行异 或运算,多余的位数舍去;

SM8_3、进行第k+1次可扩展精度双Logistic哈希迭代运算生成哈希摘要并转换为二进 制的形式与敏感数据2的二进制明文数据进行异或运算生成密文2,并将密文存放到数据库 中;

SM8_4、依次类推,进行第k+j-1次可扩展精度双Logistic哈希迭代运算生成哈希摘要并 转换为二进制的形式与敏感数据j的二进制明文数据进行异或运算生成密文j,并将密文存放 到数据库中;

SM9、使用RSA的私钥作为初始参数的可扩展精度双Logistic哈希加密算法结束。

Part3:用户登录宾馆数据库进行数据的查看。

用户登录宾馆数据库对客户的敏感数据进行查看的解密方法Func的实现过程描述为:

SF1、宾馆的工作人员不能查看客户的敏感数据,宾馆的工作人员在登录系统后,服务器 端不会授予其私钥,因此不能生成哈希摘要对客户的敏感数据进行解密;

SF2、宾馆的客户可以查看自己的存储到数据库中的敏感数据;

SF2_1、宾馆的客户在登录系统后,服务器端会授予其私钥,将私钥进行可扩展精度双 Logistic哈希迭代运算生成哈希摘要;

SF2_2、将生成的哈希摘要的二进制形式与数据库中存储的客户的敏感数据的密文的二进 制形式进行异或运算解密还原成明文。

(三)有益效果

本发明的有益效果是:采用可扩展精度双混沌的哈希加密算法,可以指定计算混沌的精 度,随着精度的增加,映射空间也会相应的增大,打破了计算机内有限精度的限制,可以使 获得的哈希值分布均匀,减少冲突,能够使混沌更加接近于理想的状态。

采用双Logistic混沌的迭代方法增加了序列的混乱程度,可以提高混沌哈希加密算法的 复杂度,使加密算法更加安全。

将可扩展精度双混沌哈希加密算法应用到数据库的敏感数据加密中,并与RSA加密算法 结合,将RSA非对称加密的私钥作为可扩展精度双混沌哈希算法迭代的初始参数,将可扩展 精度双混沌哈希算法生成的哈希摘要与敏感数据的明文进行异或运算得到密文,当需要解密 时将哈希摘要与密文进行异或运算还原成明文。可以充分利用混沌哈希算法的安全性与单向 性,实现对数据的加解密,从而提升数据库的安全性。

附图说明

图1是基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护的流程图。

具体实施方式

下面结合附图和实例对本发明的实施方式进行更详细的描述。以下的实例仅用来说明本 发明,不能用于限制本发明应用的范围。

实例1:利用RSA的算法生成非对称密钥对数据库用户账号进行保护。

S1、宾馆数据库采用的是Mysql数据库,可以分为两类用户进行登录:宾馆的客户和宾 馆的工作人员。宾馆的用户在登录时选择合适的身份进行用户名、密码登录。

S2、为了避免密钥对传到前端被截获,在一个会话期间由服务器端采用RSA非对称算法 生成一对密钥—公钥和私钥,并存在服务器端的session里。

S3、当输入用户名密码登录系统时,系统把公钥从服务器端传给前端,前端对用户的账 户密码进行加密,使用户的密码在传输的过程中呈加密的状态,然后加密后的密文传输到服 务器。

S4、前端把用户的账号以及使用公钥对账户密码进行加密后密文传给服务器,而服务器 端在得到公钥对账户密码加密的密文后从服务器端的session中的获取到私钥对账号密码进行 解密。

S5、将解密后的用户密码与数据库中存储的用户密码进行比对,比对成功后则可成功登 录系统。

实例2:构建宾馆数据库对客户的敏感的数据进行加密的实现过程。

S1、将服务器端生成的RSA算法的密钥对中的私钥进行初始化;

S1_1、假设私钥为:73D36C4451F6,将十六进制的私钥的全部字节进行分块为 [7,3,D,3,6,C,4,4,5,1,F,6];

S1_2、将私钥的各个字节块量化,量化方法是以一个字符作为明文信息块并转化成对应 的ASCII码值,私钥表示为一个数组S,数组中的S

S2、对[55,51,68,51,54,67,52,52,53,49,70,54]依次进行可扩展精度双Logistic哈希迭 代运算生成哈希摘要;

S3、首先对S

S3_1、第一个Logistic:x

S3_2、第二个Logistic:y

S4、进行可扩展精度双Logistic的哈希迭代运算;

S4_1、第一个Logistic迭代的计算方程为:x

S4_2、设定可扩展精度双混沌哈希函数迭代的次数为3以及设定随机序列的精度为20;

S4_3、迭代的次数和随机序列的精度之间的数学关系式为:L

S4_4、进行迭代计算,由于x

S4_5、对于超过设定的精度的随机序列x

S4_6、迭代3次后,取随机序列的精度为20,经过计算,x

x

将获得的随机序列x

S4_7、进行第二个Logistic混沌方程的迭代计算,计算方程为y

S4_8、重复步骤S4_2-S4_5,迭代3次后,经过计算,y

y

将获得的随机序列y

S4_9、令z=|x

S5、设定需要获得的哈希摘要的位数为2,根据设定的哈希摘要的位数对Z序列进行平 均分组,此时需要获得的哈希摘要的位数2小于设定的Logistic映射需要获取的随机序列的 精度20,因此根据用户设定的需要获得的哈希摘要的位数提取信息位的个数将Z分成两组。

第一组Array_1=[2,1,7,9,9,3,6,6,4,1]。

第二组Array_2=[8,2,9,6,8,2,5,8,4,6]。

S6、设定种子seed,对随机序列的分组开始进行选位;

S6_1、seed=4+3=7,(seed为x

S6_2、随机选位的具体步骤为:由于seed值为7,因此第一个Array_1的选位值为6,把第一个选位值当作下一个选位的seed继续选位,第二个Array_2的选位值为5,此时选位结束。

S6_3、获得的选位值[6,5]保存到数组里,表示为S

S7、按照步骤S3至S6的方法依次为[51,68,51,54,67,52,52,53,49,70,54]进行求取哈 希摘要的运算,可得私钥“73D36C4451F6”经过可扩展精度双Logistic混沌哈希算法迭代 后获得到的哈希摘要为:[657825782031878735818320]。并将所求的私钥的哈希摘要转变为 二进制的形式如下:

100010110100110011001110100111100001011

11010000001111000111110000110111001010000

S8、将生成的哈希摘要的二进制形式作为密钥对宾馆数据库中的客户的敏感数据进行加 密;

S8_1、假设待加密的敏感数据为:1134X、193abc;

S8_2、将待加密的敏感数据1:“1134X”转换成二进制序列为10110001001011,与步骤S7中的产生的哈希摘要的二进制形式进行异或运算加密求得敏感数据1的密文为“00111010011010”,并将密文存放到数据库中;由于哈希摘要的二进制位数大于待加密的敏感数据库二进制的位数,那么从哈希摘要的第一位开始进行异或运算,多余的位数舍去;

S8_3、将加密的敏感数据2:“193abc”进行初始化,转换成二进制序列为101111000101111001。

S8_4、进行第4次可扩展精度双混沌哈希迭代运算,生成的哈希摘要为[116342637770525264932877];将此哈希摘要转换为二进制的形式如下:

11000101000101111001001110000101000101

001010001100110101110010111000000001101

S8_5、将第4次进行的可扩展精度双Logistic哈希迭代运算生成哈希摘要的二进制的形 式与敏感数据2的二进制明文数据进行异或运算生成密文2“001101110001001010”,并将密 文存放到数据库中;

S9、使用RSA的私钥作为初始参数的可扩展精度双Logistic哈希加密算法结束。

实例3:用户登录宾馆数据库后进行宾馆客户的信息的查看。

S1、宾馆的工作人员在登录到系统后可以查看到宾馆客户非敏感信息(姓名、房间信息、 入住时间、退房时间、账单),宾馆的工作人员在登录系统后,服务器端不会授予其私钥, 因此不能生成哈希摘要对客户的敏感数据进行解密也就不能查看到客户的敏感数据;

S2、宾馆的客户在成功登录到系统后可以查看自己非敏感的信息(姓名、房间信息、入 住时间、退房时间、账单);

S3、宾馆的客户在成功登录到系统后对自己的敏感数据的密文进行解密从而可以查看自 己敏感的信息(手机号、身份证号)解密的过程如下:

S3_1、宾馆的客户在登录系统后,服务器端会授予其私钥,服务器端使用私钥作为可扩 展精度双Logistic哈希迭代算法的初始参数和控制参数,进行迭代计算生成哈希摘要;

S3_2、将生成的哈希摘要的二进制形式与数据库中存储的客户的敏感数据的密文的二进 制形式进行异或运算解密还原成明文。

最后应说明的是:以上实例仅用以说明本发明的技术方法,而非对其限制;尽管依照上 述的实例对本发明展开了详细的阐述,但是本领域的研究工作者应该明白:这仍旧可以更改 上述实例的技术解决方案,也可以对里面的一些技术点进行替换;无论是进行更改还是进行 替换,这仍然在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号