数据调用方法、装置、电子设备及存储介质与流程

allin2024-06-25  115



1.本发明涉及数据处理技术领域,尤其涉及一种数据调用方法、装置、电子设备及存储介质。


背景技术:

2.数据已经成为当今时代重要的网络资产,也是重要的生产资料。目前大量数据在采集、存储、处理、传输、交换、销毁整个生命周期的不同环节都存在有不同的安全风险,一旦被盗或者泄露将会造成不可估量的损失。因此,通过加密技术对数据进行安全保护显得十分必要。
3.现有技术中,一般使用对称算法进行数据的加解密处理,密钥一般采用写入so加固文件中,或者存储在密码机设备中,使用的时候直接加载so加固文件或者密码机加解密算法接口即可。
4.然而,so文件是通过native工程生成的,本质上是c/c++语言实现,存储在其中的密钥是可以通过逆向工程反编译得到的,因此,so文件一旦被不法分子获取到,密钥的安全性难以保障。即使无法直接得到so文件内的密钥,但是可以通过调用so文件提供的程序接口实现数据的加密和解密。现有的通过密码机存储密钥的保护方式,由于密钥和数据加解密过程均在密码机内部执行,密钥不出密码机,但密码机属于硬件设备,系统建设需要投入额外资金,以及系统上线后需要对密码机进行日常维护,成本较高,一般只适用于特定场景,难以大规模普及应用。因此,需要对现有的数据调用以及存储进行改进。


技术实现要素:

5.本发明提供了一数据调用方法、装置、电子设备及存储介质,以解决。
6.根据本发明的一方面,提供了一种数据调用方法,该方法包括:
7.在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果;
8.若所述验证结果为验证通过,则从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据;
9.基于与所述数据存储服务器相对应的待使用密钥对所述待反馈数据解密处理,得到目标反馈数据,并将所述目标反馈数据发送至所述业务服务器;
10.其中,所述待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。
11.根据本发明的另一方面,提供了一种数据调用装置,该装置包括:
12.验证模块,用于在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果;
13.调取模块,用于若所述验证结果为验证通过,则从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据;
14.解密模块,用于基于与所述数据存储服务器相对应的待使用密钥对所述待反馈数据解密处理,得到目标反馈数据,并将所述目标反馈数据发送至所述业务服务器;
15.其中,所述待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。
16.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
17.至少一个处理器;以及
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据调用方法。
20.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据调用方法。
21.本发明实施例的技术方案,解决了现有技术中通过so文件和加密机存储密钥以对数据加密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。
22.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据本发明实施例一提供的一种数据调用方法的流程图;
25.图2是根据本发明实施例二提供的一种数据调用方法的流程图;
26.图3是根据本发明实施例三提供的一种数据调用方法的流程图;
27.图4是根据本发明实施例三所适用的系统关键组成构件的逻辑关系图;
28.图5是根据本发明实施例四提供的一种数据调用装置的结构框图;
29.图6是实现本发明实施例的数据调用方法的电子设备的结构示意图;
具体实施方式
30.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
31.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.实施例一
33.图1为本发明实施例一提供了一种数据调用方法的流程图,本实施例可适用于业务应用服务器需要获取数据存储服务器中的加密数据的情况,该方法可以由数据调用装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可配置于数据存储服务器中。
34.如图1所示,该方法包括:
35.s110、在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果。
36.其中,待验证身份标识可以是使用业务服务器的用户的唯一身份标识信息,可以用来区分不同的用户;可以包含:用户名、用户标识。
37.具体的,数据存储服务器在接收到业务服务器发送的数据获取请求时,说明用户需要获取数据存储服务器上存储的数据。基于此,数据存储服务器可以对数据获取请求进行解析,提取出数据获取请求中的待验证身份标识信息,以对该用户的信息进行验证,确定该用户是否具备获取数据的权限,在验证后,得到验证结果,即验证通过/验证不通过。
38.可选的,在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果,包括:在接收到基于业务服务器的用户标识、用户名称以及请求时间戳,生成数据获取请求时,确定数据获取请求中的请求时间戳是否在预设有效时间范围之内;若是,则调取与用户名称相对应的待匹配用户标识,并对待匹配用户标识和请求时间戳进行处理,得到待匹配摘要信息;若待匹配摘要信息与数据获取请求中的摘要信息相一致,则确定验证通过。
39.其中,用户标识是基于数据存储服务器生成并下发的,数据获取请求中包括摘要信息,摘要信息是基于用户标识以及请求时间戳确定的。请求时间戳是数据获取请求的有效期,预设有效时间是后台人员预先设置的时间,如果请求时间戳在该预设有效时间范围内,则代表该请求时间戳对应的请求是有效的。待匹配用户标识可以数据存储服务器中预先存储的用户标识。
40.具体的,数据存储服务器在接收到业务服务器发送的数据业务请求后,可以对该数据获取请求进行解析,由于该数据获取请求是基于业务服务器的用户标识、用户名称以及请求时间戳生成的。因此,数据存储服务器对该数据获取请求解析后可以得到用户标识、用户名称以及请求时间戳。进一步,数据存储服务器可以先判断请求时间戳是否小于预设有效时间范围,如果大于,说明该数据获取请求是无效的。如果小于,说明该数据获取请求是有效的,则可以根据数据获取请求中的用户名称在数据存储服务器中查找待匹配用户标识。在数据存储服务器中,预先存储存储了一些特定用户的用户名称以及用户标识,即待匹配用户标识。特定用户均是数据存储服务器可信的用户,具备对数据存储服务器进行数据获取的权限。进一步,对待匹配用户标识和请求时间戳进行哈希算法处理,得到待匹配摘要
信息;同时,对数据获取请求中包含的用户标识和请求时间戳进行哈希算法处理,得到数据获取请求对应的摘要信息,并将该摘要信息与待匹配摘要信息进行比对,如果数据获取请求的摘要信息与待匹配摘要信息一致,如果一致,说明验证通过。此过程是判断数据获取请求中的用户是否属于数据存储服务器中预先存储的特定可信用户。
41.s120、若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据。
42.其中,待反馈数据是存储在数据存储服务器中,用户想要获取的数据的密文形式数据,可以对该数据进行解密处理反馈给业务服务器。
43.具体的,如果验证结果为通过,代表数据存储服务器对业务服务器的合法性验证已经通过。可以从数据存储服务器中获取数据,但是数据存储服务器中存储的数据中只有一部分是用户需要获取的数据,因此,可以从数据存储服务器中获取到与数据获取请求相对应的一部分数据,作为待反馈数据,该数据数以加密的形式存储在数据存储服务器中。
44.可选的,从数据存储服务器中调取与数据获取请求相对应的待反馈数据,包括:根据数据获取请求中的请求标识,从数据存储服务器中调取与请求标识相对应的待反馈数据。
45.其中,请求标识可以是数据在数据存储服务器中的存储地址,可以基于该标识从数据存储服务器中获取相应的数据。
46.具体的,数据获取请求中包含了请求标识,数据存储服务器在获取到该请求标识后,可以基于该请求标识,即存储地址,查找出内部存储中该地址存储的数据,并将查找出数据作为待反馈数据。
47.示例性的,请求标识为存储地址a,在数据存储服务器中,a存储地址存储的数据为数据a、数据b、数据c,则将数据a、b、c作为待反馈数据。
48.s130、基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。
49.其中,待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。目标反馈数据是最终需要反馈给业务服务器的明文数据。
50.需要说明的是,为了数据的安全,在数据存储服务器中存储的数据是经过加密处理的数据,在对业务安全服务器反馈数据时,需要先将该数据进行解密处理。
51.具体的,数据存储服务器可以将其内部不同位置存储的分段加密密钥进行合成,得到待使用密钥。可以通过该待使用密钥对调取出的待反馈数据进行解密处理,得到明文形式的数据,即目标反馈数据,并将该数据发送至业务服务器,使用户可以使用该数据。
52.本发明实施例的技术方案通过在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果;若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据;基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。本发明的技术方案解决了现有技术中通过so文件和加密机存储密钥以对数据加密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。
53.实施例二
54.图2为本发明实施例二提供的一种数据调用方法的流程图,本实施例在上述实施例的基础上,进一步对分段密钥的生成以及存储进行介绍。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
55.如图2所示,该方法包括:
56.s210、基于密钥生成器生成加密算法使用的待使用密钥,并对待使用密钥分段处理,得到至少两个分段密钥。
57.其中,待使用密钥是密钥生成器生成的一个密钥,该密钥可以用于对数据的加密和解密。
58.具体的,密钥生成器可以通过对称加密算法生成一个密钥,作为待使用密钥,该密钥可以用于对数据存储服务器中的数据进行加密或者解密。为了保证待使用密钥的安全性,可以待使用密钥进行分段处理,可以是按照长度进行拆分,分成两段以上,将经过分段处理后得到的密钥作为分段密钥。
59.示例性的,密钥生成器生成的一个密钥为a,该密钥是128位,可以将该密钥分为3段,则第一段可以位43位,第二段为43位,第三段为42位,得到分段密钥一为43位,分段密钥二位43位,分段密钥三位42位。
60.s220、基于用户强口令分别对至少两个分段密钥进行加密处理,得到与每个分段密钥相对应的分段加密密钥。
61.其中,用户强口令可以随机数生成器所生成的一定数量的字符,可以至少包含数字、大写字母、小写字母、特殊符号。
62.具体的,为了保证分段密钥的安全性,可以使用加密算法对分段密钥进行加密处理。在数据存储服务器中,不同强口令对应不同的加密算法,在随机数生成器生成用户强口令以后,数据存储服务器从存储中调取用户强口令对应的加密算法,并使用调取出的加密算法对分段密钥进行加密,将经过加密处理后的分段密钥作为分段加密密钥。
63.可选的,基于用户强口令分别对至少两个分段密钥进行加密处理,得到与每个分段密钥相对应的分段加密密钥,包括:基于随机数生成器生成各分段密钥所对应的用户强口令;基于加密算法对各分段密钥所对应的用户强口令以及相应的分段密钥加密处理,得到各分段密钥所对应的分段加密密钥。
64.具体的,随机数生成器会针对各个分段密钥生成与该分段密钥对应的用户强口令,数据存储服务器从内部存储中调取与每个用户强口令所对应的加密算法,并利用与各个分段密钥所对应的加密算法对各个分段密钥进行加密处理,得到分段加密密钥。
65.示例性的,针对分段密钥1、分段密钥2、分段密钥3,随机数生成器分别生成的用户强口令为a、b、c。其中,强口令a对应秘密算法x,强口令b对应加密算法y,强口令c对应加密算法z。基于上述内容,可以使用加密算法x对分段密钥1进行加密得到分段加密密钥1,使用加密算法y对分段密钥2进行加密得到分段加密密钥2,使用加密算法z对分段密钥3进行加密得到分段加密密钥3。
66.s230、将各分段加密密钥分别存储至数据存储服务器中的不同位置,以在验证结果为验证通过时,对不同位置存储的分段密钥进行还原合成处理,得到待使用密钥。
67.具体的,可以将各个分段加密密钥分别存储在数据存储服务器的不同位置中,可
以进一步增加分段密钥的安全性,以在对业务服务器的验证通过后,通过密钥合成算法对分段加密密钥进行还原操作和合成操作,得到待使用密钥。
68.示例性的,分段加密密钥1存储在数据服务器的存储空间a中,分段加密密钥2存储在数据存储服务器的存储空间b中,分段加密密钥3存储在数据存储服务器的存储空间c中。在验证通过时,利用密钥合成算法分别对分段加密密钥1、2、3进行解密,并合成,得到待存储密钥。
69.可选的,分段加密密钥包括至少三个,将各分段加密密钥分别存储至数据存储服务器中的不同位置,包括:将其中一个分段加密密钥存储至固化程序中,将一个分段密钥存储至数据库中,将另一个分段密钥存储至服务器文件中。
70.示例性的,分段加密密钥1、分段加密密钥2、分段加密密钥3。将分段加密密钥1存储在固化程序中,分段加密密钥2存储在数据库中,分段加密密钥3存储在服务器文件中。
71.s240、在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果。
72.s250、若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据。
73.s260、基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。
74.其中,待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。
75.可选的,在接收到数据存储请求时,对数据存储请求中的待验证身份标识进行验证,并在验证通过时,调取待使用密钥对存储请求中所携带的存储数据进行加密处理,得到加密数据并存储,以在接收到数据调取请求时,调取与数据调取请求相对应的待反馈数据,并基于待使用密钥对待反馈数据解密处理,得到目标反馈数据。
76.其中,数据存储请求可以是业务服务器发出的请求,数据存储服务器接收到该请求后,可以该请求中包含的数据进行加密存储。
77.待验证身份标识是使用业务服务器且需要数据存储服务的用户的身份标识。
78.在本实施例的技术方案中,业务服务器不仅可以获取存储在数据存储服务器中的加密数据,还可以将需要存储的数据发送至数据存储服务器,以使数据存储服务对该数据进行加密后存储。
79.具体的,数据存储服务器在接收到存储请求时,可以对该存储请求进行解析,获取到该存储请求中的待验证身份标识,对该待验证身份标识进行验证,确定使用业务服务器发出存储请求的用户是否有权限在数据存储服务器上进行数据的存储。如果验证通过,代表该用户可以将数据存储在数据存储服务器中。进一步,数据存储服务器将存储请求所携带的数据进行加密并存储,以在下次接收到数据调取请求时,可以调取与该数据调取请求所对应的待反馈数据,并通过待使用密钥对待反馈数据进行解密处理,得到目标反馈数据。
80.本发明实施例的技术方案通过在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果;若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据;基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。本发明的技术方案解决了现有技术中通过so文件和加密机存储密钥以对数据加
密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。
81.实施例三
82.图3为本发明实施例三提供的一种数据调用方法的流程图,图4为本发明实施例所适用的系统关键组成构件的逻辑关系图,本发明实施例在上述各实施例的技术方案的基础上,提供了一种优选实施方式。
83.如图3所示,该方法包括:
84.通过在数据存储服务器部署数据安全服务程序服务端,在业务应用服务器部署数据安全服务程序客户端;通过数据存储服务器为特定用户生成并发放唯一身份标识id;通过密钥生成器生成加密算法密钥,并将密钥分段加密后存放在系统的不同位置;通过系统启动时由用户输入强口令,经加密密钥合成算法还原出数据加解密密钥;通过业务应用服务器使用唯一身份标识id向数据存储服务器发起身份合法性认证请求;通过数据存储服务器完成对业务应用服务器身份合法性验证;通过具有合法身份认证的业务应用服务器,调用数据安全服务程序客户端的数据存取接口实现与数据存储服务器间的数据加密存储和解密应用操作。
85.具体说明如下:
86.步骤1:使用密钥生成器生成加密算法使用的密钥,并将密钥拆分成多段。
87.步骤2:使用随机数生成器生成分段密钥加密用的用户强口令。
88.步骤3:使用加密算法,以用户强口令对多段密钥分别进行加密处理。
89.步骤4:将加密后的多段密文密钥,存放到数据存储服务器的不同位置。
90.步骤5:在业务应用服务器部署数据安全服务程序客户端。
91.步骤6:在数据存储服务器部署数据安全服务程序服务端。
92.步骤7:数据存储服务器,基于用户输入的强口令,读取存放在数据存储服务器不同位置的密文密钥,调用加密密钥合成算法完成密文密钥的解密与还原。
93.步骤8:数据存储服务器,基于已知的用户信息生成该用户的唯一身份标识id字符串,并发放给该用户。
94.步骤9:业务应用服务器,使用唯一身份标识id,调用数据安全服务程序客户端身份认证请求接口,向数据存储服务器发起身份合法性认证请求。
95.步骤10:数据存储服务器,对请求者身份进行合法性认证。
96.步骤11:通过合法性认证的业务应用服务器,调用数据安全服务程序客户端的数据加密接口,向数据存储服务器发起数据的加密存储请求。
97.步骤12:数据存储服务器的数据安全服务程序服务端,对业务应用服务器的数据存储请求,调用加密算法实现数据的加密后存储到数据库中。
98.步骤13:通过合法性认证的业务应用服务器,调用数据安全服务程序客户端的数据解密接口,向数据存储服务器发起数据的解密读取请求。
99.步骤14:数据存储服务器的数据安全服务程序服务端,对业务应用服务器的数据读取请求,调用加密算法实现数据库中特定数据的解密后返回给业务应用服务器。
100.步骤15:通过合法性认证的业务应用服务器,调用会话终止请求接口,结束业务应
用服务器与数据存储服务器之间的本次通信会话。
101.特别的,密钥生成器所生成的加密算法使用的密钥,密钥长度需要符合所使用加密算法的密钥要求。
102.特别的,所使用的密钥加密算法为对称加密算法,包含但不限于sm4、aes、idea等高强度安全算法。
103.特别的,sm4算法的密钥长度为128位,aes算法的密钥长度为128位、192位或256位,idea算法的密钥长度为128位。
104.特别的,随机数生成器所生成的用户强口令,口令长度不低于12个字符,至少包含数字、大写字母、小写字母、特殊符号。
105.特别的,用户强口令不存放在服务器及系统中,仅在系统启动时由用户输入。
106.特别的,对加密算法使用的密钥,分为三段及以上,如果分为n段,则每段密钥的长度不短于密钥总长度的1/(n+1)。
107.特别的,对加密后的分段密钥,至少一段固化到程序,一段写入到数据库,一段存储到服务器文件。
108.特别的,用于生成用户唯一身份标识id所需要的信息包含但不限于用户名称username、用户编号userid、系统时间戳systemtime、随机码randnum。
109.特别的,业务应用服务器发起的身份认证请求,请求参数包含用户名username、摘要值hash1、当前时间戳timestamp。
110.特别的,摘要值hash1计算方式为hash1=md5(用户唯一标识id,timestamp)。
111.特别的,数据存储服务器对接收到的认证请求,判断请求参数的timestamp有效期是否小于设定的时间范围(如30秒),如果是,则执行摘要值的计算与比较,否则,结束本次通信会话,终止后续操作。
112.特别的,数据存储服务器在判断请求参数的timestamp有效期小于设定的时间范围(如30秒)后,基于请求参数的username从系统中找到该用户对应的唯一身份标识id,并进行摘要值hash2的计算hash2=md5(用户唯一标识id,timestamp)。
113.特别的,数据存储服务器将请求参数的摘要值hash1与本系统计算得到的摘要值hash2进行比较,如果相等则业务应用服务器的身份合法性认证请求通过,否则认证失败,结束本次通信会话,终止后续操作。
114.特别的,业务应用服务器与数据存储服务器之间的数据加密通信与数据解密通信结束后,调用数据安全服务程序的会话终止请求接口结束双方的本次会话。
115.特别的,业务应用服务器与数据存储服务器之间无数据通信的时间如果超过设定的时间(如1分钟),则自动结束双方的本次通信会话。
116.构件组成:
117.通过上面所述的基于密钥安全保护及加密数据认证存取方法所构建的系统主要由数据存取服务系统、数据库系统、文件库系统、业务应用服务系统等构建组成。
118.图4示出了该系统关键组成构件之间的逻辑关系。
119.具体说明如下:
120.数据存取服务系统:部署在数据存储服务器端,包含有基础服务程序组件、数据加密密钥合成程序组件、数据安全服务程序服务端组件。其中,基础服务程序组件负责系统的
启动、与数据库系统的通信、与文件库系统的通信,与业务应用服务系统的通信;数据加密密钥合成程序组件负责实现数据加解密密钥的解密与还原;数据安全服务程序服务端组件负责对业务应用服务器的身份合法性认证、实现明文数据的加密与存储、实现密文数据的读取与解密。
121.数据库系统:部署在数据存储服务器端,负责业务应用结构化类数据的安全存储。
122.文件库系统:部署在数据存储服务器端,负责非结构化类文件的安全存储,及部分分段密钥的安全存储。
123.业务应用服务系统:部署在业务应用服务器端,包含有业务应用程序组件、数据安全服务程序客户端组件。其中,业务应用程序组件负责业务应用系统的启动、具体数据的业务应用处理;数据安全服务程序客户端组件负责向数据存储服务器发起身份合法性认证请求、业务数据加密存储请求、密文数据读取使用请求,及双方通信会话中止请求。
124.本技术方案通过将数据加密密钥分成多段,对分段密钥进行加密处理,并将分段加密密钥存储在系统的不同位置,可以实现数据加密密钥不会以明文及单一完整体出现在系统中,可以保障数据加密密钥的安全。
125.本技术方案通过用户输入的强口令来完成数据加密密钥的解密与还原,强口令是在系统启动时用户手动输入的,不会存储在系统的任何位置,可以实现即使不法分子获取到了所有的分段加密密钥,及加密密钥的解密与还原逻辑,但是由于缺少用户强口令,因此无法得到用于数据加解密的密钥,可以保障数据加密密钥及数据存取的安全。
126.本实施例的技术方案通过身份认证机制,可以实现数据存储服务系统对业务应用服务系统的身份可信认证,可以保障只有合法的业务应用服务系统才能使用数据存储服务系统的数据加密存储及密文数据解密使用。使用的身份认证机制,加入了时间戳参数,每次身份认证的时间有效期是有限制的、短暂的,可以实现防重放攻击,保障系统的稳定安全。此外,数据加密与数据解密使用了纯软件模式,相比于硬件密码机模式,维护方便,成本也更低,具有更广的普适性。
127.本发明实施例的技术方案通过在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果;若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据;基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。本发明的技术方案解决了现有技术中通过so文件和加密机存储密钥以对数据加密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。
128.实施例四
129.图4为本发明实施例四提供的一种数据调用装置的结构示意图。如图4所示,该装置包括:
130.验证模块410,用于在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果;
131.调取模块420,用于若所述验证结果为验证通过,则从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据;
132.解密模块430,用于基于与所述数据存储服务器相对应的待使用密钥对所述待反馈数据解密处理,得到目标反馈数据,并将所述目标反馈数据发送至所述业务服务器;
133.其中,所述待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。
134.可选的,所述验证模块410,包括:
135.时间戳确定模块,用于在接收到基于所述业务服务器的用户标识、用户名称以及请求时间戳,生成所述数据获取请求时,确定所述数据获取请求中的请求时间戳是否在预设有效时间范围之内;其中,所述用户标识是基于所述数据存储服务器生成并下发的,所述数据获取请求中包括摘要信息,所述摘要信息是基于所述用户标识以及请求时间戳确定的;
136.待匹配摘要信息获取模块,用于若是,则调取与所述用户名称相对应的待匹配用户标识,并对所述待匹配用户标识和所述请求时间戳进行处理,得到待匹配摘要信息;
137.摘要信息验证模块,用于若所述待匹配摘要信息与所述数据获取请求中的摘要信息相一致,则确定验证通过。
138.可选的,所述调取模块420,包括:
139.调取单元,用于根据所述数据获取请求中的请求标识,从所述数据存储服务器中调取与所述请求标识相对应的待反馈数据。
140.可选的,所述装置,还包括:
141.密钥分段处理模块,用于基于密钥生成器生成加密算法使用的待使用密钥,并对所述待使用密钥分段处理,得到至少两个分段密钥;
142.分段密钥加密模块,用于基于用户强口令分别对所述至少两个分段密钥进行加密处理,得到与每个分段密钥相对应的分段加密密钥;
143.分段密钥存储模块,用于将各分段加密密钥分别存储至所述数据存储服务器中的不同位置,以在验证结果为验证通过时,对不同位置存储的分段密钥进行还原合成处理,得到所述待使用密钥。
144.可选的,所述分段密钥加密模块,包括:
145.强口令生成单端,用于基于随机数生成器生成各分段密钥所对应的用户强口令;
146.分段密钥加密单元,用于基于加密算法对各分段密钥所对应的用户强口令以及相应的分段密钥加密处理,得到各分段密钥所对应的分段加密密钥。
147.可选的,所述分段加密密钥包括至少三个,所述分段密钥存储模块,包括:
148.分段密钥存储单元,用于将其中一个分段加密密钥存储至固化程序中,将一个分段密钥存储至数据库中,将另一个分段密钥存储至服务器文件中。
149.可选的,所述装置,还包括:
150.数据存储与调取模块,用于在接收到数据存储请求时,对所述数据存储请求中的待验证身份标识进行验证,并在验证通过时,调取待使用密钥对所述存储请求中所携带的存储数据进行加密处理,得到加密数据并存储,以在接收到数据调取请求时,调取与所述数据调取请求相对应的待反馈数据,并基于所述待使用密钥对所述待反馈数据加密处理,得到目标反馈数据。
151.本发明实施例的技术方案通过在接收到业务服务器发送的数据获取请求时,对数
据获取请求中的待验证身份标识进行验证,得到验证结果;若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据;基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。本发明的技术方案解决了现有技术中通过so文件和加密机存储密钥以对数据加密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。
152.本发明实施例所提供的数据调用装置可执行本发明任意实施例所提供的数据调用方法,具备执行方法相应的功能模块和有益效果。
153.实施例五
154.图5示出了可以用来实施本发明的实施例的电子设备50的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
155.如图5所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(rom)52、随机访问存储器(ram)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(rom)52中的计算机程序或者从存储单元58加载到随机访问存储器(ram)53中的计算机程序,来执行各种适当的动作和处理。在ram 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、rom 52以及ram 53通过总线54彼此相连。输入/输出(i/o)接口55也连接至总线54。
156.电子设备50中的多个部件连接至i/o接口55,包括:输入单元56,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
157.处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如数据调用方法。
158.在一些实施例中,数据调用方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由rom 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到ram 53并由处理器51执行时,可以执行上文描述的数据调用方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据调用方法。
159.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
160.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
161.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
162.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
163.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
164.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
165.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只
要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
166.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术特征:
1.一种数据调用方法,其特征在于,应用于数据存储服务器中,包括:在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果;若所述验证结果为验证通过,则从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据;基于与所述数据存储服务器相对应的待使用密钥对所述待反馈数据解密处理,得到目标反馈数据,并将所述目标反馈数据发送至所述业务服务器;其中,所述待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。2.根据权利要求1所述的方法,其特征在于,所述在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果,包括:在接收到基于所述业务服务器的用户标识、用户名称以及请求时间戳,生成所述数据获取请求时,确定所述数据获取请求中的请求时间戳是否在预设有效时间范围之内;其中,所述用户标识是基于所述数据存储服务器生成并下发的,所述数据获取请求中包括摘要信息,所述摘要信息是基于所述用户标识以及请求时间戳确定的;若是,则调取与所述用户名称相对应的待匹配用户标识,并对所述待匹配用户标识和所述请求时间戳进行处理,得到待匹配摘要信息;若所述待匹配摘要信息与所述数据获取请求中的摘要信息相一致,则确定验证通过。3.根据权利要求1所述的方法,其特征在于,所述从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据,包括:根据所述数据获取请求中的请求标识,从所述数据存储服务器中调取与所述请求标识相对应的待反馈数据。4.根据权利要求1所述的方法,其特征在于,还包括:基于密钥生成器生成加密算法使用的待使用密钥,并对所述待使用密钥分段处理,得到至少两个分段密钥;基于用户强口令分别对所述至少两个分段密钥进行加密处理,得到与每个分段密钥相对应的分段加密密钥;将各分段加密密钥分别存储至所述数据存储服务器中的不同位置,以在验证结果为验证通过时,对不同位置存储的分段密钥进行还原合成处理,得到所述待使用密钥。5.根据权利要求4所述的方法,其特征在于,所述基于用户强口令分别对所述至少两个分段密钥进行加密处理,得到与每个分段密钥相对应的分段加密密钥,包括:基于随机数生成器生成各分段密钥所对应的用户强口令;基于加密算法对各分段密钥所对应的用户强口令以及相应的分段密钥加密处理,得到各分段密钥所对应的分段加密密钥。6.根据权利要求4所述的方法,其特征在于,所述分段加密密钥包括至少三个,所述将各分段加密密钥分别存储至所述数据存储服务器中的不同位置,包括:将其中一个分段加密密钥存储至固化程序中,将一个分段密钥存储至数据库中,将另一个分段密钥存储至服务器文件中。7.根据权利要求1所述的方法,其特征在于,还包括:在接收到数据存储请求时,对所述数据存储请求中的待验证身份标识进行验证,并在
验证通过时,调取待使用密钥对所述存储请求中所携带的存储数据进行加密处理,得到加密数据并存储,以在接收到数据调取请求时,调取与所述数据调取请求相对应的待反馈数据,并基于所述待使用密钥对所述待反馈数据解密处理,得到目标反馈数据。8.一种数据调用装置,其特征在于,包括:验证模块,用于在接收到业务服务器发送的数据获取请求时,对所述数据获取请求中的待验证身份标识进行验证,得到验证结果;调取模块,用于若所述验证结果为验证通过,则从所述数据存储服务器中调取与所述数据获取请求相对应的待反馈数据;解密模块,用于基于与所述数据存储服务器相对应的待使用密钥对所述待反馈数据解密处理,得到目标反馈数据,并将所述目标反馈数据发送至所述业务服务器;其中,所述待使用密钥是对预先存储在不同位置的分段加密密钥还原合成后得到的。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据调用方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据调用方法。

技术总结
本发明公开了一种数据调用方法、装置、电子设备及存储介质。该方法包括:在接收到业务服务器发送的数据获取请求时,对数据获取请求中的待验证身份标识进行验证,得到验证结果;若验证结果为验证通过,则从数据存储服务器中调取与数据获取请求相对应的待反馈数据;基于与数据存储服务器相对应的待使用密钥对待反馈数据解密处理,得到目标反馈数据,并将目标反馈数据发送至业务服务器。本发明的技术方案解决了现有技术中通过so文件和加密机存储密钥以对数据加密,造成数据存取安全性、普适性低的问题。通过将密钥拆分成多段、分段存储、加密保护,对访问加密数据的调用者进行身份可信认证,提高数据存取的安全性以及存取方式的普适性。适性。适性。


技术研发人员:冯福伟 孟艳青 李鹏超 尚程 傅强 梁彧 杨满智 王杰 田野 金红 陈晓光
受保护的技术使用者:恒安嘉新(北京)科技股份公司
技术研发日:2022.03.28
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-14795.html

最新回复(0)