本技术实施例涉及数据加密传输,具体而言,涉及一种信息保护方法、装置、设备及存储介质。
背景技术:
1、应用程序的平台方对用户提供lbs服务(location based services,基于位置的服务)时,需要客户端收集用户的隐私定位信息,向服务端请求lbs服务,服务端根据客户端的定位信息与客户端的请求目标的位置信息,查找距离客户端一定范围内的请求目标,并向客户端返回对应的服务信息。应用程序在获取定位信息时,会通过需要隐私定位的业务向系统申请定位隐私权限,进而获取用户的定位信息。
2、目前一部分应用程序在利用需要隐私定位的业务向系统申请定位隐私权限后,会将用户的隐私定位信息在其他业务里边使用,上传至服务端,使得用户的定位隐私信息无法得到有效的保护,有泄露的风险。
技术实现思路
1、本技术实施例提供一种信息保护方法、装置、设备及存储介质,旨在向用户提供基于定位的服务的同时,保护用户的隐私定位信息。
2、本技术实施例第一方面提供一种信息保护方法,所述方法应用于客户端,包括:
3、响应于用户发起定位服务请求的操作,获取所述用户的用户设备的第一定位信息;
4、通过预设的编码转换规则,将所述第一定位信息转换为第一定位编码值;
5、对所述第一定位编码值进行同态加密,得到所述第一定位编码值对应的第一密文数据;
6、根据所述定位服务请求中的定位范围信息,确定所述第一密文数据对应的查询字符串,所述查询字符串用于发送至服务端,以使得所述服务端在数据库中获取与所述第一密文数据相匹配的第二密文数据;
7、将包含所述查询字符串的定位服务请求发送至服务端,并接收所述服务端发送的包含所述第二密文数据的返回数据;
8、根据所述返回数据,确定所述定位服务请求对应的定位服务信息。
9、可选地,所述方法还包括:
10、将所述定位服务信息显示在所述用户设备的客户端界面上。
11、可选地,在对所述定位编码值进行同态加密之前,所述方法还包括:
12、使用所述用户的身份信息登录密钥管理服务器;
13、从所述密钥管理服务器中获取加密和解密所述定位编码值所使用的密钥以及同态加密算法,所述密钥包括公共密钥和私有密钥。
14、可选地,所述对所述定位编码值进行同态加密,得到所述定位编码值对应的第一密文数据,包括:
15、通过所述同态加密算法,对所述第一定位编码值以及所述公共密钥进行处理,得到所述第一密文数据。
16、可选地,所述根据所述返回数据,确定所述定位服务请求对应的定位服务信息,包括:
17、通过所述同态加密算法,对所述返回数据中的第二密文数据以及所述私有密钥进行处理,得到所述第二密文数据对应的第二定位编码值;
18、通过所述预设的编码转换规则,将所述第二定位编码值转换为所述第二定位编码值对应的第二定位信息;
19、根据包含所述第二定位信息的返回数据,确定所述定位服务请求对应的所述定位服务信息。
20、可选地,所述根据所述定位服务请求中的定位范围信息,确定所述第一密文数据对应的查询字符串,包括:
21、根据所述定位范围信息,确定所述定位服务请求对应的定位范围;
22、根据所述定位范围,从所述第一密文数据中选取对应长度的字符串,得到所述查询字符串。
23、本技术实施例第二方面提供一种信息保护方法,所述方法应用于服务端,包括:
24、接收客户端发送的包含查询字符串的定位服务请求;
25、在数据库中确定所述查询字符串对应的第二密文数据;
26、将所述定位服务请求对应的包含所述第二密文数据的返回数据发送至所述客户端。
27、本技术实施例第三方面提供一种信息保护装置,所述装置包括:
28、第一定位信息获取模块,用于响应于用户发起定位服务请求的操作,获取所述用户的用户设备的第一定位信息;
29、信息转换模块,用于通过预设的编码转换规则,将所述第一定位信息转换为第一定位编码值;
30、同态加密模块,用于对所述第一定位编码值进行同态加密,得到所述第一定位编码值对应的第一密文数据;
31、查询字符串生成模块,用于根据所述定位服务请求中的定位范围信息,确定所述第一密文数据对应的查询字符串,所述查询字符串用于发送至服务端,以使得所述服务端在数据库中获取与所述第一密文数据相匹配的第二密文数据;
32、数据发送接收模块,用于将包含所述查询字符串的定位服务请求发送至服务端,并接收所述服务端发送的包含所述第二密文数据的返回数据;
33、定位服务信息获取模块,用于根据所述返回数据,确定所述定位服务请求对应的定位服务信息。
34、信息显示模块,用于将所述定位服务信息显示在所述用户设备的客户端界面上。
35、可选地,所述装置还包括:
36、密钥管理服务器登录模块,用于使用所述用户的身份信息登录密钥管理服务器;
37、密钥获取模块,用于从所述密钥管理服务器中获取加密和解密所述定位编码值所使用的密钥以及同态加密算法,所述密钥包括公共密钥和私有密钥。
38、可选地,所述同态加密模块包括:
39、同态加密子模块,用于通过所述同态加密算法,对所述第一定位编码值以及所述公共密钥进行处理,得到所述第一密文数据。
40、可选地,所述定位服务信息获取模块包括:
41、第二定位编码值获取子模块,用于通过所述同态加密算法,对所述返回数据中的第二密文数据以及所述私有密钥进行处理,得到所述第二密文数据对应的第二定位编码值;
42、第二定位信息获取子模块,用于通过所述预设的编码转换规则,将所述第二定位编码值转换为所述第二定位编码值对应的第二定位信息;
43、定位服务信息获取子模块,用于根据包含所述第二定位信息的返回数据,确定所述定位服务请求对应的所述定位服务信息。
44、可选地,所述查询字符串生成模块包括:
45、定位范围确定子模块,用于根据所述定位范围信息,确定所述定位服务请求对应的定位范围;
46、根据所述定位范围,从所述第一密文数据中选取对应长度的字符串,得到所述查询字符串。
47、本技术实施例第四方面提供一种信息保护装置,所述装置包括:
48、定位范围确定子模块,用于根据所述定位范围信息,确定所述定位服务请求对应的定位范围;
49、根据所述定位范围,从所述第一密文数据中选取对应长度的字符串,得到所述查询字符串。
50、本技术实施例第五方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本技术第一方面所述的方法中的步骤。
51、本技术实施例第六方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本技术第一方面所述的方法的步骤。
52、采用本技术提供的信息保护方法,当该方法应用于客户端时,响应于用户发起定位服务请求的操作,获取所述用户的用户设备的第一定位信息;通过预设的编码转换规则,将所述第一定位信息转换为第一定位编码值;对所述第一定位编码值进行同态加密,得到所述第一定位编码值对应的第一密文数据;根据所述定位服务请求中的定位范围信息,确定所述第一密文数据对应的查询字符串,所述查询字符串用于发送至服务端,以使得所述服务端在数据库中获取与所述第一密文数据相匹配的第二密文数据;将包含所述查询字符串的定位服务请求发送至服务端,并接收所述服务端发送的包含所述第二密文数据的返回数据;根据所述返回数据,确定所述定位服务请求对应的定位服务信息。当该方法应用于服务端时,接收客户端发送的包含查询字符串的定位服务请求;在数据库中确定所述查询字符串对应的第二密文数据;将所述定位服务请求对应的包含所述第二密文数据的返回数据发送至所述客户端。
53、本方法收集用户的第一定位信息,通过预设的编码转换规则,将用户的第一定位信息转换为第一定位编码值,将用户的定位信息转换为编码值,通过编码值的字符长度代表定位的范围与定位的精度,有利于减少后续的计算量,便于后续的匹配查找。通过同态加密对第一定位编码值进行处理,生成的第一密文保留了原文的字符匹配特征,即原文匹配的两个数据在进行了同态加密之后,加密后的密文中仍然有对应的部分是相匹配的,进而使得服务器可以在不对密文进行解密的情况下,直接通过密文的字符来匹配出对应的具有相同字符的密文,匹配出的密文所对应的原文也是匹配的,使得服务端可以高效的执行数据检索,服务端在接收到根据第一密文生成的查询字符串时,就可以在数据库中存储的密文中查询到第一密文匹配的第二密文,因为数据库中只存储密文,数据库中也只存储密文,服务端不知道具体密文的含义也不能解密,从根本上保护了定位隐私信息的安全性,在查询到第二密文后,将包含有第二密文的返回数据发送至客户端,客户端根据返回数据,获取定位服务请求对应的定位服务信息,数据的加密和解密都在客户端进行,服务端接收和存储的数据都是密文数据,在向用户提供基于定位的服务时,保证了用户的定位隐私信息的安全性。