掌桥专利:专业的专利平台
掌桥专利
首页

经纬度加密方法、经纬度校验方法、装置及可读存储介质

文献发布时间:2024-04-18 19:58:30


经纬度加密方法、经纬度校验方法、装置及可读存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种经纬度加密方法、经纬度校验方法、装置及可读存储介质。

背景技术

现有技术中,将通过某个模块或某个设备实时获得的经纬度数据传递到另一模块或另一设备,在上述经纬度数据传递的过程中,是在获取经纬度数据的模块或者设备上对经纬度数据进行加密,将加密后的经纬度数据传递至另一模块或另一设备,根据另一模块或另一设备实时获取的经纬度数据进行对比,以校验经纬度数据。

例如,将车载系统获取的经纬度数据通过加密的方式传递至地图应用程序,并通过地图应用程序对该经纬度数据进行校验,以确定车载系统定位信息的精准度。

现有的对经纬度数据进行加密的方式包括Base32加密方式、Haversine公式加密方式或计算两点间距离偏差方式等,然而,上述对经纬度数据进行加密的方式存在安全性和可靠性方面的问题,无法有效应对恶意攻击或数据篡改的威胁。

发明内容

有鉴于此,本申请实施例提供了一种经纬度加密方法、经纬度校验方法、装置及可读存储介质,以解决现有技术中无法有效应对恶意攻击或数据篡改的威胁的问题。

本申请实施例的第一方面,提供了一种经纬度加密方法,应用于车辆的第一设备,包括:

实时获取车辆的第一经纬度数据;

对第一经纬度数据进行初始加密操作,初始加密操作包括混淆算法及扰动算法;

对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,强加密算法包括ECC算法及对称加密算法;

生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,以使车辆的第二设备基于随机数据在索引表中确定密文。

本申请实施例的第二方面,提供了一种经纬度校验方法,应用于车辆的第二设备,包括:

实时获取车辆的第二经纬度数据,并接收车辆的第一设备发送的密钥及随机数据;

基于随机数据请求车辆的第一经纬度数据对应的密文;

基于密钥对密文进行解密,对比解密得到的第一经纬度数据与第二经纬度数据,得到对比结果;

当对比结果不大于容差值,判定第一经纬度数据在有效范围内,校验结果为成功状态;

当对比结果大于容差值,判定第一经纬度数据在非有效范围内,校验结果为失败状态。

本申请实施例的第三方面,提供了一种经纬度加密装置,应用于第一设备,包括:

获取模块,被配置为实时获取第一经纬度数据;

第一处理模块,被配置为对第一经纬度数据进行初始加密操作,初始加密操作包括混淆技术及扰动技术;

第二处理模块,被配置为对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,强加密算法包括ECC算法及对称加密算法;

第三处理模块,被配置为生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,以使第二设备基于随机数据在索引表中确定密文。

本申请实施例的第四方面,提供了一种经纬度校验装置,应用于第二设备,包括:

接收模块,被配置为实时获取第二经纬度数据,并接收密钥及随机数据;

请求模块,被配置为基于随机数据请求第一经纬度数据对应的密文;

处理模块,被配置为基于密钥对密文进行解密,对比解密得到的第一经纬度数据与第二经纬度数据,得到对比结果;

当对比结果不大于容差值,判定第一经纬度数据在有效范围内,校验结果为成功状态;

当对比结果大于容差值,判定第一经纬度数据在非有效范围内,校验结果为失败状态。

本申请实施例的第五方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。

本申请实施例的第六方面,提供了一种可读存储介质,该可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:对第一经纬度数据进行初始加密操作,初始加密技术中包括混淆算法及扰动算法,从而能够对第一经纬度数据进行变换和扰动,使第一经纬度数据更难以辨识和破解。对已初始加密的第一经纬度数据执行强加密算法,生成对应的密文及密钥,并生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,能够高度安全保护第一经纬度数据,有效防止第一经纬度数据泄露、篡改和未授权访问,使得用户能够更加安心地使用经纬度数据对应的位置服务及相关应用程序,提升用户的信任度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本申请实施例的一种应用场景的场景示意图;

图2是本申请实施例提供的一种经纬度加密方法的流程示意图;

图3是本申请实施例提供的一种经纬度校验方法的流程示意图;

图4是本申请实施例提供的一种经纬度加密装置的示意图;

图5是本申请实施例提供的一种经纬度校验装置的示意图

图6是本申请实施例提供的电子设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

下面将结合附图详细说明根据本申请实施例的一种经纬度加密方法、经纬度校验方法和装置。

图1是本申请实施例的一种应用场景的场景示意图。该应用场景可以包括第一终端设备101、第二终端设备102和第三终端设备103、服务器104以及网络105。

第一终端设备101、第二终端设备102和第三终端设备103可以是硬件,也可以是软件。当第一终端设备101、第二终端设备102和第三终端设备103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于智能手机、平板电脑、车载电脑、膝上型便携计算机和台式计算机等;当第一终端设备101、第二终端设备102和第三终端设备103为软件时,其可以安装在如上所述的电子设备中。第一终端设备101、第二终端设备102和第三终端设备103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本申请实施例对此不作限制。进一步地,第一终端设备101、第二终端设备102和第三终端设备103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。

服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本申请实施例对此不作限制。

需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的各种电子设备。当服务器104为软件时,其可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的多个软件或软件模块,也可以是为第一终端设备101、第二终端设备102和第三终端设备103提供各种服务的单个软件或软件模块,本申请实施例对此不作限制。

网络105可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本申请实施例对此不作限制。

需要说明的是,第一终端设备101、第二终端设备102和第三终端设备103、服务器104以及网络105的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本申请实施例对此不作限制。

图2是本申请实施例提供的一种经纬度加密方法的流程示意图。如图2所示,应用于第一设备,该经纬度加密方法包括以下步骤:

S201,实时获取车辆的第一经纬度数据;

S202,对第一经纬度数据进行初始加密操作,初始加密操作包括混淆算法及扰动算法;

S203,对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,强加密算法包括ECC算法及对称加密算法;

S204,生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,以使车辆的第二设备基于随机数据在索引表中确定密文。

图2的经纬度加密方法可以由图1的任一终端设备执行,终端设备中存在至少两个能够获取实时经纬度数据的设备或模块,包括第一设备及第二设备,第一设备执行经纬度加密方法后由将随机数据发送至同一终端设备上的第二设备,由第二设备执行经纬度校验方法。

在一些实施例中,车辆的第一设备实时获取第一经纬度数据,对第一经纬度数据进行初始加密操作,其中,初始加密操作包括混淆算法及扰动算法。

本申请一示例性实施例中,以车辆的第一设备获取到的实时第一经纬度数据为(104.07222°,30.66346°)为例,对第一经纬度数据进行混淆算法及扰动算法的初始加密操作,对混淆算法及扰动算法进行示例性的说明:

执行混淆算法的过程为:通过随机函数,可以生成一个位于[0,1)之间的一个随机噪声值,假设该噪声值为0.40771°,将第一经纬度数据与噪声值相加,即计算第一经纬度数据对应的经度与噪声值之和,并计算第一经纬度数据对应的纬度与噪声值之和,计算得到的经度为:104.07222°+0.40771°=104.47993°,纬度为:30.66346°+0.40771°=31.07117°,从而得到混淆后的第一经纬度数据(104.47993°,31.07117°)。也可以通过随机函数分别为第一经纬度数据的经度和纬度分别生成一个位于[0,1)之间的随机噪声值,且经度对应的随机噪声值及纬度对应的随机噪声值为不同的随机噪声值,分别计算第一经纬度数据对应的经度、纬度与对应的随机噪声值之和,得到混淆后的第一经纬度数据。

其中,随机函数可以是由random库中的random()函数,具体通过random()函数得到随机数据的方法为"%.5f"%random.random(),random()函数是一个用于生成随机数的函数,可以生成0到1之间的浮点数,浮点数的取值范围包括0但不包括1。通过该函数生成的随机数据具有均匀分布的特点,即每个值在指定范围内出现的概率是相等的。

执行扰动算法的过程为:对混淆后的第一经纬度数据(104.47993°,31.07117°)先通过伪随机数生成器PRNG生成扰动密钥,可以假设生成的扰动密钥是13,将第一经纬度数据与扰动密钥相加,即计算第一经纬度数据对应的经度与扰动密钥之和,并计算第一经纬度数据对应的纬度与扰动密钥之和,计算得到的经度为:104.47993°+13=117.47993°,计算得到的纬度为31.07117°+13=44.07117°,从而得到已初始加密的第一经纬度数据(117.47993°,44.07117°)。也可以假设分别对第一经纬度数据的经度及纬度生成不同的扰动密钥,分别计算第一经纬度数据对应的经度、纬度与对应的扰动密钥之和,得到已初始加密的第一经纬度数据。

其中,PRNG是一种算法,基于一个种子(或密钥)生成一系列看似随机的输出。本申请实施例中用的是线性同余发生器(Linear Congruential Generator,LCG)。LCG是一种简单的伪随机数生成算法,它的工作原理基于线性递推关系。LCG的算法可以表示为:X_{n+1}=(a*X_n+c)%m。其中,X_n是当前的伪随机数,a是乘法系数(正整数),c是增量(正整数),m是模数(正整数)。

其中,在生成混淆算法所需的噪声值或扰动算法所需的扰动密钥时,也可以通过哈希函数或量子随机数生成器等多种随机数生成器或随机数生成算法得到。其中,使用哈希函数作为随机函数的优点在于生成速度快、易于实现,但生成的随机数据可能存在着一定的相关性,使用量子随机数生成器的优点在于存在着更高的随机性、生成随机数的过程可以大量并行,然而通过量子随机数生成器生成随机数的限制在于生成随机数据的数量较小,且需要进行验证。

其中,本申请提供的技术方案还可以通过其他类型的加密算法对第一经纬度数据进行初始加密以得到已初始加密的第一经纬度数据,例如,可以通过数字签名、位移加密、凯撒加密或乱序加密等加密过程可逆的方式对第一经纬度数据进行加密,得到已初始加密的第一经纬度数据。

对已初始加密的第一经纬度数据进行二次加密,执行二次加密时使用强加密算法,并通过强加密算法生成已初始加密的第一经纬度数据对应的密文及密钥,在对已初始加密的第一经纬度数据执行强加密算法的同时,生成随机数据,将随机数据与密文作为一条索引数据存储在索引表中,从而能够使车辆的第二设备根据该随机数据在索引表中确定对应的密文,进而执行解密及验证的步骤,其中,强加密算法包括ECC算法及对称加密算法。

根据本申请实施例提供的技术方案,通过多种算法对第一经纬度数据进行初始加密操作,例如混淆算法及扰动算法,能够增强第一经纬度数据传递的安全性,使得攻击者解密第一经纬度数据的原始数据难度加大,难以攻破原始数据,对已初始加密的第一经纬度数据执行强加密算法,生成对应的密文及密钥,能够有效抵御各种恶意攻击和破解行为,更好的保护第一经纬度数据的安全性和机密性。同时生成随机数据,将随机数据及密文作为一条索引数据存储在索引表中,从而能够不直接将密文暴露在外,使得第一经纬度数据得到了更深一层的保护。

在一些实施例中,当强加密算法为ECC算法时,将已初始加密的第一经纬度数据中的经度数据作为二维坐标系中的横坐标数据,将已初始加密的第一经纬度数据中的纬度数据作为二维坐标系中的纵坐标数据,以将第一经纬度数据转换为二维坐标数据;

选择与二维坐标数据相匹配的椭圆曲线,基于椭圆曲线生成随机数,将随机数作为已初始加密的第一经纬度数据对应的公钥点并将公钥点作为密钥;

基于公钥点对二维坐标数据进行加密,得到密文。

强加密算法包括ECC算法及对称加密算法,ECC算法的原理为:

11)椭圆曲线选择:选择一个合适的椭圆曲线作为加密算法的基础。通常选择的椭圆曲线具有满足特定数学性质的属性,例如难以推导出曲线上的点的个数,常用的是椭圆曲线是secp256k1。

12)密钥生成:生成一对密钥,包括公钥和私钥。私钥是一个随机数,用于生成公钥。

13)公钥传输:将公钥传输给通信的另一方,而私钥则保持在密钥持有人的私有环境中。

14)加密操作:加密者使用对方的公钥和随机数生成一个加密密钥,然后将明文进行加密。加密过程中,椭圆曲线上的点运算和数论运算用于生成密文。

15)解密操作:解密者使用自己的私钥和加密过程中生成的随机数来还原加密密钥,然后使用加密密钥对密文进行解密。

其中,ECC算法的步骤为:

21)选择椭圆曲线:在进行ECC加密之前,需要选择一个合适的椭圆曲线作为加密算法的基础。

22)密钥生成:

A)生成私钥:随机选择一个私钥d,其取值范围是大于1且小于曲线上的素数n。

B)生成公钥:使用私钥d和椭圆曲线上的点G,通过点乘法计算公钥Q=d*G。

23)公钥传输:将生成的公钥Q发送给通信的另一方。

24)加密:

A)选择一个随机数k,其取值范围是大于1小于曲线上的素数n。

B)使用公钥Q和随机数k,通过点乘法计算椭圆曲线上的点R=k*G。

C)计算共享的密钥:使用私钥d和点R,通过点乘法计算共享密钥S=d*R。

D)对明文进行加密:将明文转换为椭圆曲线上的点P,并计算加密后的点C=P+S。

25)解密:

A)使用私钥d和加密后的点C,通过点乘法计算共享密钥S=d*C。

B)计算椭圆曲线上的点R=k*G。

C)通过点减法计算椭圆曲线上的点P=C-S。

D)将点P转换为明文,即得到解密后的数据。

本申请一示例性实施例中,以强加密算法为ECC算法为例,将已初始加密的第一经纬度数据中的经度数据作为二维坐标系中的横坐标数据,将已初始加密的第一经纬度数据中的纬度数据作为二位坐标系中的纵坐标数据,从而将已初始加密的第一经纬度数据转换为二维坐标数据,例如:已初始加密的第一经纬度数据为(117.47993°,44.07117°),转化为二维坐标系中的点A(117.47993,44.07117)。

根据该二维坐标数据点A选择一个合适的椭圆曲线,根据椭圆曲线生成一个随机的私钥d,d的范围为大于1且小于椭圆曲线上的素数,d在椭圆曲线上对应的点为点G,通过乘法计算公钥点Q=d*G,将公钥点Q作为密钥,例如,随机得到的私钥d为5,根据Q=d*G生成公钥点B(3,7)。

使用公钥点B(3,7)对点A(117.47993,44.07117)加密,加密的计算方法是点C=A+B=(117.47993,44.07117)+(3,7)=(120.47993,51.07117),将点C作为密文。

根据本申请实施例提供的技术方案,能够ECC算法对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,ECC算法能够在相同的安全级别的强加密算法下使用更短的密钥长度,使得在资源受限,节省资源,更有优势,例如车载环境、嵌入式设备或移动设备。同时,ECC算法使用椭圆曲线上的点运算,具有较快的加密和解密速度以及较低的计算成本,使得通过ECC算法对第一经纬度数据执行强加密算法得到密钥及密文时,效率高且耗时短。

在一些实施例中,对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,包括:

当强加密算法为对称加密算法时,基于对称加密算法生成密钥;

将已初始加密的第一经纬度数据作为对称加密算法的明文输入数据,得到密文。

根据对称加密算法生成密钥,根据密钥生成扩展密钥表,扩展密钥表中包括执行对称加密算法及解密时需要用到的轮密钥。将已初始加密的第一经纬度数据转换为字符串的形式,作为对称加密算法的明文输入数据,根据明文输入数据及扩展密钥表执行轮加密运算,得到密文。其中,轮加密运算包括字节替代运算、行位移运算、列混淆运算及轮密钥加运算,在轮加密运算的最后一轮中不包括列混淆运算。可以将AES-256算法作为对称加密算法,也可选用其他对称加密算法,对已初始加密的第一经纬度数据执行强加密算法。

其中,AES-256算法用于保护敏感数据的安全性,AES-256算法的具体步骤为:

31)密钥扩展(Key Expansion):通过输入的密钥生成扩展密钥表,该表包含加密和解密过程中所需的轮密钥;

32)初始轮(Initial Round):将输入的明文数据与第一轮密钥进行异或运算;

33)轮(Round):AES-256算法使用14轮加密运算(也可以选用AES-128算法和AES-192算法对已初始加密的第一经纬度数据执行强加密算法,当选用AES-128算法时候,使用10轮加密运算,选用AES-192算法时,使用12轮加密运算),每轮包括以下四个步骤:

A)字节替代(SubBytes):使用非线性的S盒(Substitution box)替换输入数据中的每个字节。

B)行移位(ShiftRows):对输入数据进行行移位操作,向左循环移位。

C)列混淆(MixColumns):将每列数据进行一个线性变换,增加了算法的复杂性。

D)轮密钥加(AddRoundKey):将当前轮的密钥与处理后的数据进行异或运算。

34)最后一轮(Final Round):最后一轮不包括列混淆操作;

35)输出:输出经过所有轮加密处理后的数据,即密文。

本申请一示例性实施例中,以对称加密算法为AES-256(Advanced EncryptionStandard,高级加密标准),对已初始加密的第一经纬度数据执行强加密算法为例,进行示例性的说明:

由于使用的是AES-256算法,故根据已初始加密的第一经纬度数据生成一个256的密钥“PjhAhj3jHJBnY4k8msZqEsO_7czkrkNbykmXlPOmoeo=”,并将已初始加密的第一经纬度数据转换为字符串“117.47993,44.07117”,通过AES-256算法使用上述密钥加密该字符串,加密操作将该字符串转换为一串不可读的密文:

gAAAAABku_EYar144jlBmX_VS2aio3X7lyJqXdaPQSzrbiqbhx8KkIl6jShde H965UlucNgeDew4MYQRNsS0eEvgRKk77v1Wq3-gN3SQPGeJrbcWKETUzYA=。

保存密钥(PjhAhj3jHJBnY4k8msZqEsO_7czkrkNbykmXlPOmoeo=)及通过密钥加密后的密文。

根据本申请实施例提供的技术方案,对称加密算法已得到广泛的标准化支持和应用,被广泛的用于各种通信和存储场景,包括数据加密、文件加密和磁盘加密等,被视为一种安全可靠的强加密算法,故使用对称加密算法对已初始加密的第一经纬度数据执行强加密算法,能够广泛的应用,使得本申请实施例提供的技术方案更加灵活,且保障了安全性。

在一些实施例中,生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,包括:

使用唯一标识符生成器生成唯一标识符,将唯一标识符作为经纬度坐标的随机数据;

建立随机数据与密文的映射关系,并作为一条索引数据存储至索引表。

本申请一示例性实施例中,通过通用唯一标识符UUID作为唯一标识符为例,进行示例性说明:

使用唯一标识符生成器生成一个唯一的标识符作为令牌,可以使用Python中的import uuid库,然后使用uuid.uuid1()函数生成唯一标识符,生成的uuid为c99948b1-2dd6-11ee-8be1-7c214ac95472。也可以直接使用Python中的random库来生成一个长度足够的随机字符串来当作唯一标识符,以减少唯一标识符的数据重复性。其中,UUID通常以32位的十六进制字符串表示,具有足够的唯一性和随机性。

将加密后的第一经纬度数据(即密文)与生成的令牌(即随机数)建立映射关系,在后台的令牌管理系统中记录该映射关系,作为一条索引数据存储至索引表,该索引表将加密后的经纬度数据与令牌相关联。

表1为示例性的索引表,第一列的c99948b1-2dd6-11ee-8be1-7c214ac95472表示随机数据,也可称为uuid或令牌,该列数据为唯一标识符生成器生成,第二列的内容表示对应的密文:

(gAAAAABku_EYar144jlBmX_VS2aio3X7lyJqXdaPQSzrbiqbhx8KkIl6jSh deH965UlucNgeDew4MYQRNsS0eEvgRKk77v1Wq3-gN3SQPGeJrbcWKETUzY A=),将第一列数据与第二列数据建立映射关系,作为索引表的一条数据:

表1

其中,当使用ECC算法执行强加密算法时,密文可以替换为(120.47993,51.07117)。

将密钥及对应的随机数据发送至第二设备,以使第二设备能够根据密钥及随机数据校验第一经纬度数据。

根据本申请实施例提供的技术方案,使用动态脱敏方法中的掩码脱敏,能够进一步加强第一经纬度数据的安全管理,不会将执行强加密算法后的密文直接暴露出来,更好的保护敏感的第一经纬度数据信息不被直接暴露。

图3是本申请实施例提供的一种经纬度校验方法的流程示意图,应用于第二设备,如图3所示,该经纬度校验方法包括以下步骤:

S301,实时获取车辆的第二经纬度数据,并接收车辆的第一设备发送的密钥及随机数据;

S302,基于随机数据请求车辆的第一经纬度数据对应的密文;

S303,基于密钥对密文进行解密,对比解密得到的第一经纬度数据与第二经纬度数据,得到对比结果;

S3041,当对比结果不大于容差值,判定第一经纬度数据在有效范围内,校验结果为成功状态;

S3042,当对比结果大于容差值,判定第一经纬度数据在非有效范围内,校验结果为失败状态。

车辆的第二设备实时获取第二经纬度数据,并接收第一设备发送的密钥及随机数,根据随机数在索引表中的位置确定对应的密文,该密文为第一经纬度数据对应的密文,根据已获得的密钥对密文进行解密,对比解密得到的第一经纬度数据与第二经纬度数据,得到对比结果,在对比时,可以采用容差匹配的方式进行对比,容差匹配的方式中包括有容差值,当对比结果不大于容差值,判定第一经纬度数据在有效范围内,校验结果为成功状态,当对比结果大于容差值,判定第一经纬度数据在非有效范围内,校验结果为失败状态。

其中,容差匹配的方式具体为:在位置或数值对比时允许一定范围内的误差或差异,而不要求完全精确的匹配,是一种灵活的匹配方式,可用于处理数据的不确定性、差异性和误差,本申请实施例中可能存在外部因素的影响,例如设备精度误差、GPS信号差等原因,故使用容差匹配的方式得到对比结果。

其中,第二设备可以是通过地理信息GIS(Geographic Information System)系统技术或地图数据获得第二经纬度数据,GIS是一种集成了地理信息数据、地图、地理分析和空间建模等功能的计算机系统。GIS系统能够用于捕捉、存储、查询、分析和展示地理数据,以帮助人们更好地理解和利用地理空间信息。

当使用ECC加密算法执行强加密,第二设备进行解密时使用私钥d=5对密文中点C(120.47993,51.07117)进行减法运算,还原为点D(117.47993,44.07117)。

本申请一示例性实施例中,当使用对称算法执行强加密,第二设备使用随机数据在索引表中确定对应的密文,即通过随机数据在索引表中确定该随机数据c99948b1-2dd6-11ee-8be1-7c214ac95472向系统请求密文,得到该密文:

gAAAAABku_EYar144jlBmX_VS2aio3X7lyJqXdaPQSzrbiqbhx8KkIl6jShde H965UlucNgeDew4MYQRNsS0eEvgRKk77v1Wq3-gN3SQPGeJrbcWKETUzYA=;

根据接收到的密钥PjhAhj3jHJBnY4k8msZqEsO_7czkrkNbykmXlPOmoeo=对该密文进行解密,得到第一经纬度数据(104.07222°,30.66346°)。将第一经纬度数据与第二经纬度数据按照容差匹配的方式进行对比,将容差值设置为0.0002,第一经纬度数据与第二经纬度数据的差值不大于0.0002,判定校验结果为成功状态,第一经纬度数据与第二经纬度数据的差值大于0.0002时,判定校验结果为失败状态。

根据本申请实施例提供的技术方案,能够在第二设备利用位置校验方法验证数据的完整性,结合加密技术,有效防止数据泄露、篡改和未授权访问,验证过程能够确保数据的完整性和准确性,有助于预防数据篡改和误用,并提供可靠的经纬度数据以供应用程序和服务使用。

本申请实施例提供的技术方案,可以在各应用领域中增强数据安全性,如位置服务、地理信息系统、导航系统等,可使用本申请实施例提供的技术方案加密和保护用户的位置隐私,防止位置数据的滥用和不正当使用。同时,通过为第一经纬度数据提高保护度,用户可以更安心的使用位置服务和相关应用程序,增加了用户对服务提供商的信任度,提高用户满意程度,并促进行业的可持续发展。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图4是本申请实施例提供的一种经纬度加密装置的示意图,应用于第一设备,如图4所示,该经纬度加密装置包括:获取模块401,第一处理模块402,第二处理模块403,第三处理模块404。其中:

获取模块401,被配置为实时获取第一经纬度数据;

第一处理模块402,被配置为对第一经纬度数据进行初始加密操作,初始加密操作包括混淆技术及扰动技术;

第二处理模块403,被配置为对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,强加密算法包括ECC算法及对称加密算法;

第三处理模块404,被配置为生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,以使第二设备基于随机数据在索引表中确定密文。

在一些实施例中,第一处理模块402被配置为对第一经纬度数据进行初始加密操作,用于:

根据混淆算法生成随机噪声值,通过随机噪声值混淆第一经纬度数据;

根据伪随机数生成器生成扰动密钥,基于扰动密钥扰动已混淆的第一经纬度数据,得到已初始加密的第一经纬度数据。

在一些实施例中,第二处理模块403被配置为对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,用于:

当强加密算法为ECC算法时,将已初始加密的第一经纬度数据中的经度数据作为二维坐标系中的横坐标数据,将已初始加密的第一经纬度数据中的纬度数据作为二维坐标系中的纵坐标数据,以将第一经纬度数据转换为二维坐标数据;

选择与二维坐标数据相匹配的椭圆曲线,基于椭圆曲线生成随机数,将随机数作为已初始加密的第一经纬度数据对应的公钥点并将公钥点作为密钥;

基于公钥点对二维坐标数据进行加密,得到密文。

在一些实施例中,第二处理模块403被配置为对已初始加密的第一经纬度数据执行强加密算法,生成已初始加密的第一经纬度数据对应的密文及密钥,用于:

当强加密算法为对称加密算法时,基于对称加密算法生成密钥;

基于密钥生成扩展密钥表,扩展密钥表包括执行对称加密算法及解密所需的轮密钥;

将已初始加密的第一经纬度数据作为对称加密算法的明文输入数据,对明文输入数据及扩展密钥表执行轮加密运算,得到密文,轮加密运算包括字节替代运算、行位移运算、列混淆运算及轮密钥加运算,其中轮加密运算的最后一轮不包括列混淆运算。

在一些实施例中,第三处理模块404被配置为生成随机数据,将随机数据与密文作为一条索引数据存储至索引表,用于:

使用唯一标识符生成器生成唯一标识符,将唯一标识符作为经纬度坐标的随机数据;

建立随机数据与密文的映射关系,并作为一条索引数据存储至索引表。

在一些实施例中,该经纬度加密装置还用于:

将密钥及随机数据发送至第二设备,以使第二设备基于密钥及随机数据校验第一经纬度数据。

图5是本申请实施例提供的一种经纬度校验装置的示意图,应用于第二设备,如图5所示,该经纬度校验装置包括:接收模块501,请求模块502,处理模块503。其中:

接收模块501,被配置为实时获取第二经纬度数据,并接收密钥及随机数据;

请求模块502,被配置为基于随机数据请求第一经纬度数据对应的密文;

处理模块503,被配置为基于密钥对密文进行解密,对比解密得到的第一经纬度数据与第二经纬度数据,得到对比结果;

当对比结果不大于容差值,判定第一经纬度数据在有效范围内,校验结果为成功状态;

当对比结果大于容差值,判定第一经纬度数据在非有效范围内,校验结果为失败状态。

图6是本申请实施例提供的电子设备6的示意图。如图6所示,该实施例的电子设备6包括:处理器601、存储器602以及存储在该存储器602中并且可在处理器601上运行的计算机程序603。处理器601执行计算机程序603时实现上述各个方法实施例中的步骤。或者,处理器601执行计算机程序603时实现上述各装置实施例中各模块/单元的功能。

电子设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备6可以包括但不仅限于处理器601和存储器602。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者不同的部件。

处理器601可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

存储器602可以是电子设备6的内部存储单元,例如,电子设备6的硬盘或内存。存储器602也可以是电子设备6的外部存储设备,例如,电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器602还可以既包括电子设备6的内部存储单元也包括外部存储设备。存储器602用于存储计算机程序以及电子设备所需的其它程序和数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质(例如可读存储介质)中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 拧紧数据的规格校验方法、装置、可读存储介质及系统
  • 一种REST统一校验方法、装置、设备及可读存储介质
  • 文件加密方法、装置、设备/终端/服务器及计算机可读存储介质
  • 用户个人信息加密授权方法、装置、设备及可读存储介质
  • 分层存储方法、分层存储装置及计算机可读存储介质
  • 经纬度校验方法、装置、存储介质及计算机设备
  • 经纬度校验方法、装置、存储介质及计算机设备
技术分类

06120116501287