一种基于口令字的数据存储方法及终端与流程

文档序号:33464156发布日期:2023-03-15 05:58阅读:40来源:国知局
一种基于口令字的数据存储方法及终端与流程

1.本发明涉及数据存储技术领域,特别涉及一种基于口令字的数据存储方法及终端。


背景技术:

2.一般的数据存储保护方法,都是采用加密方案。但是对于数字类的字段,加密将完全破坏其逻辑含义,影响了执行效率。而对数字的简单变换又容易被猜测和推导。
3.加密可以保护数字字段内容,但破坏了数字的常规使用方法,无法再利用数据库的加减乘除快捷运算功能。譬如对于简单的求和sum来说,如果是数字字段,则可以直接使用数据库的sum功能快速得到结果。而数字一旦加密,则必须一个个解密后再进行累加求和。在数据表比较大的情况下,一次求和将消耗非常多的时间和运算资源。
4.对数字字段做简单变换可以隐藏真实数字,不影响数据库的加减乘除快速运算,但变换算法如果是统一的,则容易被人推测出来,导致隐藏功能失效。


技术实现要素:

5.本发明所要解决的技术问题是:提供一种基于口令字的数据存储方法及终端,能够在不破坏数据的同时进行数据加密。
6.为了解决上述技术问题,本发明采用的技术方案为:
7.一种基于口令字的数据存储方法,包括步骤:
8.接收客户端发送的口令字,并基于所述口令字计算调整参数;
9.接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将所述偏移后的数据存储至数据库;
10.接收数据读取请求,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据。
11.为了解决上述技术问题,本发明采用的另一种技术方案为:
12.一种基于口令字的数据存储终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
13.接收客户端发送的口令字,并基于所述口令字计算调整参数;
14.接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将所述偏移后的数据存储至数据库;
15.接收数据读取请求,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据。
16.本发明的有益效果在于:基于客户端发送的口令字计算调整参数,当接收数据存储请求时,使用调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将偏移后的数据存储至数据库;当接收数据读取请求时,使用调整参数对数据库中的待读取数据进行偏移还原,得到待读取数据对应的原始数据。因此,由于每个用户的调整值都各不相同,即使
攻击者窃取了整个数据库,或者窃听到个别用户的口令,但因为无法获知所有用户的口令,无法破解整个数据库;并且通过调整参数进行数据的变换,并不会对原始数据造成改变,能够在不破坏数据的同时进行数据加密。
附图说明
17.图1为本发明实施例的一种基于口令字的数据存储方法的流程图;
18.图2为本发明实施例的一种基于口令字的数据存储终端的示意图;
19.图3为本发明实施例的一种基于口令字的数据存储方法的时序图;
20.标号说明:
21.1、一种基于口令字的数据存储终端;2、存储器;3、处理器。
具体实施方式
22.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
23.请参照图1,本发明实施例提供了一种基于口令字的数据存储方法,包括步骤:
24.接收客户端发送的口令字,并基于所述口令字计算调整参数;
25.接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将所述偏移后的数据存储至数据库;
26.接收数据读取请求,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据。
27.从上述描述可知,本发明的有益效果在于:基于客户端发送的口令字计算调整参数,当接收数据存储请求时,使用调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将偏移后的数据存储至数据库;当接收数据读取请求时,使用调整参数对数据库中的待读取数据进行偏移还原,得到待读取数据对应的原始数据。因此,由于每个用户的调整值都各不相同,即使攻击者窃取了整个数据库,或者窃听到个别用户的口令,但因为无法获知所有用户的口令,无法破解整个数据库;并且通过调整参数进行数据的变换,并不会对原始数据造成改变,能够在不破坏数据的同时进行数据加密。
28.进一步地,所述接收客户端发送的口令字包括:
29.向客户端发送公钥,以使得所述客户端根据所述公钥对口令字进行加密;
30.接收客户端发送的口令字密文,使用私钥对所述口令字密文进行解密,得到所述客户端的口令字。
31.由上述描述可知,与客户端之间加密传输口令字,能够保证口令字的安全传输。
32.进一步地,所述接收客户端发送的口令字还包括:
33.获取所述口令字的使用期限,并在所述口令字过期时进行销毁。
34.由上述描述可知,定期销毁有时间限制的用户口令字,能够进一步保证口令字的安全性。
35.进一步地,所述接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换包括:
36.接收数据存储请求,判断所述数据存储请求中的数据是否包含预设的关键字段,
若是,则提取所述关键字段,并使用调整参数对所述关键字段进行偏移变换;
37.所述偏移变化包括使用所述调整参数对所述关键字段进行第一线性计算。
38.进一步地,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据包括:
39.使用所述调整参数对数据库中的待读取数据进行第二线性计算,还原出所述待读取数据的原始数据;
40.所述第二线性计算为所述第一线性计算的反向计算。
41.由上述描述可知,通过反向计算,能够快速得到原始数据,并且由于是基于线性计算的数据变换,因此数据类型等信息都不会因加密而被破坏。
42.请参照图2,本发明另一实施例提供了一种基于口令字的数据存储终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
43.接收客户端发送的口令字,并基于所述口令字计算调整参数;
44.接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将所述偏移后的数据存储至数据库;
45.接收数据读取请求,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据。
46.从上述描述可知,基于客户端发送的口令字计算调整参数,当接收数据存储请求时,使用调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将偏移后的数据存储至数据库;当接收数据读取请求时,使用调整参数对数据库中的待读取数据进行偏移还原,得到待读取数据对应的原始数据。因此,由于每个用户的调整值都各不相同,即使攻击者窃取了整个数据库,或者窃听到个别用户的口令,但因为无法获知所有用户的口令,无法破解整个数据库;并且通过调整参数进行数据的变换,并不会对原始数据造成改变,能够在不破坏数据的同时进行数据加密。
47.进一步地,所述接收客户端发送的口令字包括:
48.向客户端发送公钥,以使得所述客户端根据所述公钥对口令字进行加密;
49.接收客户端发送的口令字密文,使用私钥对所述口令字密文进行解密,得到所述客户端的口令字。
50.由上述描述可知,与客户端之间加密传输口令字,能够保证口令字的安全传输。
51.进一步地,所述接收客户端发送的口令字还包括:
52.获取所述口令字的使用期限,并在所述口令字过期时进行销毁。
53.由上述描述可知,定期销毁有时间限制的用户口令字,能够进一步保证口令字的安全性。
54.进一步地,所述接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换包括:
55.接收数据存储请求,判断所述数据存储请求中的数据是否包含预设的关键字段,若是,则提取所述关键字段,并使用调整参数对所述关键字段进行偏移变换;
56.所述偏移变化包括使用所述调整参数对所述关键字段进行第一线性计算。
57.进一步地,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述
待读取数据对应的原始数据包括:
58.使用所述调整参数对数据库中的待读取数据进行第二线性计算,还原出所述待读取数据的原始数据;
59.所述第二线性计算为所述第一线性计算的反向计算。
60.由上述描述可知,通过反向计算,能够快速得到原始数据,并且由于是基于线性计算的数据变换,因此数据类型等信息都不会因加密而被破坏。
61.本发明上述的一种基于口令字的数据存储方法及终端,适用于敏感关键字的存储,并且能够在不破坏数据的同时进行数据加密,以下通过具体的实施方式进行说明:
62.实施例一
63.请参照图1和图3,一种基于口令字的数据存储方法,包括步骤:
64.s1、接收客户端发送的口令字,并基于所述口令字计算调整参数。
65.s11、向客户端发送公钥,以使得所述客户端根据所述公钥对口令字进行加密。
66.在本实施例中,系统端安全加密设备产生一组公私钥对s,将s的公钥发送到客户端,客户端收到公钥,通过定制指令送入安全存储装置,加密用户口令字p,得到密文m。
67.s12、接收客户端发送的口令字密文,使用私钥对所述口令字密文进行解密,得到所述客户端的口令字。
68.在本实施例中,客户端将m回送到系统端安全加密设备,用私钥解密出用户口令字p。
69.在一些实施例中,获取所述口令字的使用期限,并在所述口令字过期时进行销毁。具体的,系统端安全加密设备在内存中缓存用户口令字p,并定期销毁限制的用户口令字。
70.s2、接收数据存储请求,使用所述调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将所述偏移后的数据存储至数据库。
71.其中,步骤s2包括:
72.接收数据存储请求,判断所述数据存储请求中的数据是否包含预设的关键字段,若是,则提取所述关键字段,并使用调整参数对所述关键字段进行偏移变换,所述偏移变化包括使用所述调整参数对所述关键字段进行第一线性计算。
73.在本实施例中,系统端应用往数据库中写入该用户的敏感数字型数据,如金额时,将用户id和金额数字送入安全加密设备,通过内部定制的调整参数变换算法,从p计算出对应的调整参数并叠加到原金额数字上并返回给应用。
74.s3、接收数据读取请求,使用所述调整参数对数据库中的待读取数据进行偏移还原,得到所述待读取数据对应的原始数据。
75.其中,步骤s3包括:
76.使用所述调整参数对数据库中的待读取数据进行第二线性计算,还原出所述待读取数据的原始数据;
77.所述第二线性计算为所述第一线性计算的反向计算。
78.具体的,系统端应用从数据库中读取该用户的敏感数字型数据时,将用户id和金额数字送入安全加密设备,通过内部定制的调整参数变换算法,从p计算出对应的调整参数用于消减原金额数字,再返回给应用。
79.系统端应用在数据库中通过加减乘除等算法加工该用户的敏感数字型数据时完
全不需要改变原有的方法和模式,只需在算出结果后将用户id、金额数字及累计次数送入安全加密设备,通过内部定制的调整参数变换算法,从p计算出对应的调整参数并乘以累计次数后叠加到原金额数字,即可恢复正确的金额数字。
80.在本实施例中,用户a的口令字为“def”,假设调整参数变换算法为a=1,b=2,c=3

则该用户口令的调整参数为456。
81.现需往数据库内写入用户a的交易金额数据“100”,根据上述方法算得a的调整参数为“456”,则实际写入数据库的数据为100+456=556。
82.当读取此项数据时,读出数据为“556”,消去用户a的调整参数“456”,最后得到的金额数据为“100”。
83.当进行统计运算时,如果用户a的交易金额数据共有100项,数据累加总和为100,000,则输出值需消去调整参数的100倍,计算公式为100,000

456*100=54400。
84.本实施例中,原数据必须为数值类型,如金额等,不能是文本或二进制数据。调整值与原数值的计算必须为线性算法(加/减),其优势在于进行sum/average(求和/平均)时能简单快速地还原出原始数值。
85.因此,本实施例中,为数字类型字段叠加调整参数并不会破坏数字的类型和使用方法,不影响四则运算;且叠加的调整参数来自用户口令字,转换算法置于安全硬件设施内部,外部无法破解。并且口令字的自定义,使得每个用户的调整参数不同,防范整个库被破解,即使安全存储装置丢失,也可凭记忆再写入新的空白安全存储装置。
86.实施例二
87.请参照图2,一种基于口令字的数据存储终端1,包括存储器2、处理器3以及存储在所述存储器2上并可在处理器3上运行的计算机程序,所述处理器3执行所述计算机程序时实现实施例一的一种基于口令字的数据存储方法的各个步骤。
88.综上所述,本发明提供的一种基于口令字的数据存储方法及终端,基于客户端发送的口令字计算调整参数,当接收数据存储请求时,使用调整参数对待存储数据进行偏移变换,得到偏移后的数据,并将偏移后的数据存储至数据库;当接收数据读取请求时,使用调整参数对数据库中的待读取数据进行偏移还原,得到待读取数据对应的原始数据。因此,由于每个用户的调整值都各不相同,即使攻击者窃取了整个数据库,或者窃听到个别用户的口令,但因为无法获知所有用户的口令,无法破解整个数据库;并且通过调整参数进行数据的变换,并不会对原始数据造成改变,能够在不破坏数据的同时进行数据加密。
89.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1