
1.本发明信息安全技术领域,尤其涉及一种位置保护方法和系统,及存储介质。
背景技术:2.基于位置的服务(location based services,lbs)是利用各类型的定位技术来获取定位设备当前的所在位置,通过移动互联网向定位设备提供信息资源和基础服务。
3.k匿名(k-anonymity)是lbs位置隐私保护中最常见的一种方法,其基本思想是当发送lbs查询请求时,用户首先至少获取其他k-1个协作用户真实位置后构建一个匿名区,然后再将该匿名区替代自己的真实位置提交给lbs,从而有效保护自己的个人位置;然而在现有技术中,构造上述匿名区的过程可能存在信息泄露的风险,同时在数据交互上存在一定滞后性;因此,现有技术在位置保护方面存在安全性差、信息共享不及时的问题。
技术实现要素:4.本技术实施例提供了一种位置保护方法和系统,及存储介质,能够提高位置保护的安全性,同时提升信息共享效率。
5.本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供了一种位置保护方法,所述方法应用于位置保护系统,所述位置保护系统包括第一客户端、第二客户端以及区块链平台;所述方法包括:
7.所述第一客户端向所述第二客户端发送匿名区构造请求;
8.所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单;
9.所述第二客户端通过所述区块链平台将所述第一交易账单发送至所述第一客户端;
10.所述第一客户端根据所述第一交易账单进行匿名区构造处理,获得匿名位置数据,并将所述匿名位置数据发送至所述区块链平台;
11.所述区块链平台根据所述匿名位置数据进行数据同步处理。
12.第二方面,本技术实施例提供了一种位置保护系统,所述位置保护系统包括第一客户端、第二客户端以及区块链平台;所述位置保护系统包括第一发送单元、处理单元、第二发送单元、构造单元以及同步单元,
13.所述第一发送单元,用于所述第一客户端向所述第二客户端发送匿名区构造请求;
14.所述处理单元,用于所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单;
15.所述第二发送单元,用于所述第二客户端通过所述区块链平台将所述第一交易账单发送至所述第一客户端;
16.所述构造单元,用于所述第一客户端根据所述第一交易账单进行匿名区构造处
理,获得匿名位置数据,并将所述匿名位置数据发送至所述区块链平台;
17.所述同步单元,用于所述区块链平台根据所述匿名位置数据进行数据同步处理。
18.第三方面,本技术实施例提供了一种位置保护系统,所述位置保护系统还包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的位置保护方法。
19.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有程序,应用于位置保护系统中,所述程序被处理器执行时,实现如上所述的位置保护方法。
20.本技术实施例提供了一种位置保护方法和系统,及存储介质,位置保护系统包括第一客户端、第二客户端以及区块链平台;第一客户端向第二客户端发送匿名区构造请求;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单;第二客户端通过区块链平台将第一交易账单发送至第一客户端;第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台;区块链平台根据匿名位置数据进行数据同步处理。由此可见,在本技术中,第一客户端在进行匿名位置数据的构造时,可以先向第二客户端发送匿名区构造请求,第二客户端在接收到匿名区构造请求之后,就可以对位置信息进行预处理,获得第一交易账单,该第一交易账单即作为区块链平台上的交易账单;进而第二客户端将第一交易账单通过区块链平台发送至第一客户端,第一客户端基于第一交易账单进行匿名区构造处理,从而获得匿名位置数据,通过该匿名位置数据实现了对第一客户端真实的位置信息的保护;进一步地,区块链平台还可以对该匿名位置数据进行数据同步处理,以提高数据同步效率;也就是说,本技术提出的位置保护方法主要是基于区块链平台来完成匿名位置数据的构造,该构造过程的相关数据信息均记录在第一交易账单中,进而能够利用区块链不可篡改数据的优点实现对第一客户端的匿名位置数据构造过程的保护,提高位置保护的安全性;同时还可以基于区块链平台对匿名位置数据进行数据同步处理,由此提升了信息的共享效率。
附图说明
21.图1为本技术实施例提出的位置保护系统的组成结构示意图一;
22.图2为本技术实施例提出的位置保护方法的实现流程示意图一;
23.图3为本技术实施例提出的位置保护方法的实现流程示意图二;
24.图4为本技术实施例提出的位置保护方法的实现流程示意图三;
25.图5为本技术实施例提出的位置保护方法的实现流程示意图四;
26.图6为本技术实施例提出的位置保护方法的实现流程示意图五;
27.图7为本技术实施例提出的位置保护方法的实现流程示意图六;
28.图8为本技术实施例提出的位置保护方法的实现流程示意图七;
29.图9为本技术实施例提出的位置保护系统的组成结构示意图二;
30.图10为本技术实施例提出的位置保护方法的实现流程示意图八;
31.图11为本技术实施例提出的位置保护系统的组成结构示意图三;
32.图12为本技术实施例提出的位置保护系统的组成结构示意图四。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
34.lbs是根据用户提供的位置信息,在地理信息系统平台的支持下,为用户提供包括兴趣点查询、广告推送和娱乐游戏在内的增值服务。k匿名算法是lbs位置隐私保护中最常见的一种方法,其基本思想是当发送lbs查询请求时,用户首先至少获取其他k-1个协作用户真实位置后构建一个匿名区,然后再将该匿名区替代自己的真实位置提交给lbs,从而有效保护自己的个人位置;k匿名算法处理后的数据。经过k匿名算法处理后的数据攻击者无法知道某特定个人是否在公开的数据中给定一个人,攻击者无法确认他是否有某项敏感属性攻击者无法确认某条数据对应的是哪个人。服务商通过特定算法处理匿名区的用户数据,提供服务,从而该方式可以在一定程度上保护数据的安全性。
35.然而在现有技术中,构造上述匿名区的过程可能存在信息泄露的风险,再者,也会有一些自利的请求用户在进行匿名区构造时,在收到协作用户提供的真实位置后,将这些位置信息泄露给第三方;或者一些恶意的攻击者会假扮为请求用户来获取协作用户的真实位置,从而导致协作用户位置隐私的泄露;又或者某些协作用户提供虚假位置给请求用户等情况,均可能造成位置保护的安全性差的问题;并且现有技术在数据交互上存在一定滞后性,存在信息共享不及时的问题。
36.为了解决现有技术中位置保护方法所存在的问题,本技术中的位置保护系统包括第一客户端、第二客户端以及区块链平台;第一客户端向第二客户端发送匿名区构造请求;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单;第二客户端通过区块链平台将第一交易账单发送至第一客户端;第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台;区块链平台根据匿名位置数据进行数据同步处理;能够提高位置保护的安全性,同时提升信息共享效率。
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
38.实施例一
39.本技术实施例提供了一种位置保护方法,图1为本技术实施例提出的位置保护系统的组成结构示意图一,如图1所示,位置保护系统10包括第一客户端11、第二客户端12以及区块链平台13。
40.图2为本技术实施例提出的位置保护方法的实现流程示意图一,如图2所示,位置保护方法可以包括以下步骤:
41.步骤101、第一客户端向第二客户端发送匿名区构造请求。
42.在本技术的实施例中,位置保护系统中的第一客户端向第二客户端发送匿名区构造请求。
43.需要说明的是,在本技术的实施例中,匿名区构造请求用于指示进行匿名位置数据的构造;匿名区构造请求可以包括第一客户端发起请求的时间戳、第一客户端的身份标识信息、第一客户端参与匿名区协作构造的第一次数、第一客户端参与匿名区协作构造的
交易账单的标识信息以及用于进行签名的私钥信息等数据。
44.进一步地,在本技术的实施例中,客户端是指与服务器相对应,为客户提供本地服务的程序;一般安装在普通的客户机上,需要与服务端互相配合运行。
45.进一步地,在本技术的实施例中,第一客户端是指请求构造匿名位置数据的客户端。
46.进一步地,在本技术的实施例中,第二客户端是指接收到第一客户端发送的匿名区构造请求,协助第一客户端完成匿名位置数据构造的客户端。
47.需要说明的是,在本技术的实施例中,第二客户端的数量可以为多个;也就是说,第一客户端可以向多个第二客户端发送匿名区构造请求,从而多个第二客户端协助第一客户端完成匿名位置数据构造。
48.步骤102、第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单。
49.在本技术的实施例中,在第一客户端向第二客户端发送匿名区构造请求之后,第二客户端可以根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单。
50.可以理解的是,在本技术的实施例中,基于k匿名算法进行位置保护,其原理即是需要获取第一客户端以外的k-1个第二客户端的真实位置,最终通过k-1个第二客户端的真实位置构建匿名位置数据,以代替第一客户端的真实位置,实现位置保护;因此,第二客户端在接收到第一客户端的匿名区构造请求之后,就可以基于第二客户端的位置信息实现后续的匿名位置数据的构造;也就是说,第二客户端的位置信息是指第二客户端的真实的位置信息。
51.需要说明的是,在本技术的实施例中,预处理包括对第二客户端的位置信息进行加密处理和签名处理。
52.进一步地,在本技术的实施例中,第一交易账单是指对第二客户端的位置信息进行预处理后获得的数据信息,且该数据信息可以作为区块链平台中的交易账单。
53.可以理解的是,在本技术的实施例中,本技术可以将匿名位置数据构造的过程视为区块链上的交易,从而在进行匿名位置构造时,将匿名位置构造过程中产生的相关数据信息,均写入交易账单;一旦出现位置泄露或欺骗行为,就可以利用交易账单进行仲裁,从而提高位置保护的安全性。
54.示例性的,在本技术的实施例中,第二客户端在接收到匿名区构造请求之后,对第二客户端的位置信息进行预处理,获得第一交易账单;该第一交易账单中可以包括经过预处理后的位置信息以及第一客户端的身份标识信息。
55.步骤103、第二客户端通过区块链平台将第一交易账单发送至第一客户端。
56.在本技术的实施例中,在第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单之后,第二客户端可以通过区块链平台将第一交易账单发送至第一客户端。
57.需要说明的是,在本技术的实施例中,区块链平台用于完成匿名位置数据的构造,还可以用于统一处理交易账单、保存交易账单以及进行数据同步处理等操作;也就是说,第一客户端和第二客户端实现匿名位置数据的构造是基于区块链平台完成的。
58.可以理解的是,在本技术的实施例中,第二客户端在获得了第一交易账单以后,可以将第一交易账单发送至区块链平台,进而第一客户端通过区块链平台获取该第一交易账单,即第二客户端通过区块链平台将第一交易账单发送至第一客户端。
59.步骤104、第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台。
60.在本技术的实施例中,在第二客户端通过区块链平台将第一交易账单发送至第一客户端之后,第一客户端可以根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台。
61.需要说明的是,在本技术的实施例中,匿名区构造处理用于获得匿名位置数据;该过程具体可以包括第一客户端根据公钥信息对第一交易账单进行验证处理,获得验证结果;若验证结果为验证通过,则根据第三私钥对第一交易账单进行解密处理,获得位置信息;最后根据预设算法和位置信息获得匿名位置数据。
62.进一步地,在本技术的实施例中,当第一客户端在同一位置多次进行匿名位置数据构造操作时,或者连续进行匿名位置数据构造操作时,无需多次发送匿名区构造请求,而是可以通过查找区块链平台中存储的第一交易账单,从而可以快速获取历史记录中,参与协作构造匿名位置数据的第二客户端的位置信息,以再次高效地构造出匿名位置数据,提高匿名位置数据构造的效率。
63.步骤105、区块链平台根据匿名位置数据进行数据同步处理。
64.在本技术的实施例中,在第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台之后,区块链平台根据匿名位置数据进行数据同步处理。
65.需要说明的是,在本技术的实施例中,区块链平台根据匿名位置数据进行数据同步处理具体可以包括区块链平台发起验证请求;然后第三客户端响应验证请求,对匿名位置数据进行验证处理,获得验证结果;其中,第三客户端为位置保护系统中、第一客户端和第二客户端以外的其他客户端;接着,第三客户端根据验证结果和匿名位置数据生成第二交易账单,并将第二交易账单发送至区块链平台;最终区块链平台基于第二交易账单进行广播处理。
66.可以理解的是,在本技术的实施例中,传统的数据同步过程可能存在一定的滞后性,进而影响信息的共享效率;然而区块链平台能够克服这种缺陷,实现数据的同步,从而提升信息共享效率。
67.图3为本技术实施例提出的位置保护方法的实现流程示意图二,如图3所示,匿名区构造请求中包括第一客户端参与匿名区协作构造的第一次数;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单之前,即步骤102之前,位置保护方法还可以包括以下步骤:
68.步骤106、第二客户端从区块链平台中获取第一客户端的第二次数和惩罚交易账单数量;其中,第二次数为区块链平台中记录的、第一客户端参与匿名区协作构造的次数。
69.在本技术的实施例中,在第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单之前,第二客户端从区块链平台中获取第一客户端的第二次数和惩罚交易账单数量;其中,第二次数为区块链平台中记录的、第一客户端参与匿名
区协作构造的次数。
70.需要说明的是,在本技术的实施例中,第二客户端在对位置信息进行预处理之前,还需要进行相应的验证,以确保第一客户端提供的匿名区构造请求中相关数据的真实性,以及第一客户端能够达到协助其进行匿名位置数据构造的要求后,第二客户端才会进行预处理。
71.进一步地,在本技术的实施例中,第二客户端进行验证的方式即是首先获取第一客户端的第二次数和惩罚交易账单数量,进而基于第二次数和惩罚交易账单数量判定是否进行预处理。
72.需要说明的是,在本技术的实施例中,第二次数为区块链平台中记录的、第一客户端参与匿名区协作构造的次数;也就是说,第二次数是在区块链平台中记录的第一客户端参与匿名区协作构造的真实次数。
73.进一步地,在本技术的实施例中,惩罚交易账单数量是指区块链平台中记录的、第一客户端的惩罚交易账单的数量;其中,惩罚交易账单是用于记录客户端存在欺骗行为的记录;也就是说,惩罚交易账单数量能够显示第一客户端是否存在欺骗行为,从而反映第一客户端的信用。
74.步骤107、第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件。
75.在本技术的实施例中,在第二客户端从区块链平台中获取第一客户端的第二次数和惩罚交易账单数量之后,第二客户端可以根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件。
76.需要说明的是,在本技术的实施例中,第一处理条件是指第一次数和第二次数满足第二处理条件,同时惩罚交易账单数量为零。
77.具体地,在本技术的实施例中,第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件的过程可以包括第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件;进而若判定满足第二处理条件,且惩罚交易账单数量为零,则判定满足第一处理条件。
78.步骤108、若判定满足第一处理条件,则第二客户端确定执行预处理的流程。
79.在本技术的实施例中,在第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件之后,若判定满足第一处理条件,则第二客户端确定执行预处理的流程。
80.可以理解的是,在本技术的实施例中,若判定满足第一处理条件,则意味着第一客户端提供的匿名区构造请求中相关数据是真实的,并且第一客户端达到了第二客户端协助其进行匿名位置数据构造的要求;因此,第二客户端可以确定执行预处理。
81.还可以理解的是,在本技术的实施例中,在第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件之后,若第二客户端判定不满足第一处理条件,则第二客户端不执行预处理的流程。
82.图4为本技术实施例提出的位置保护方法的实现流程示意图三,如图4所示,第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件的方法,即步骤107提出的方法可以包括以下步骤:
83.步骤107a、第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件。
84.在本技术的实施例中,第二客户端根据第一次数、第二次数以及惩罚交易账单数量判断是否满足第一处理条件,具体地,第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件。
85.需要说明的是,在本技术的实施例中,预设次数阈值用于优先选择历史参与匿名位置数据构造次数多的客户端,从而可以激励客户端参与匿名位置数据的协作,以提高被其他客户端协作参与匿名位置数据构造的概率。
86.具体地,在本技术的实施例中,第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件可以包括若第一次数和第二次数相同,且第一次数大于或者等于预设次数阈值,则判定满足第二处理条件。
87.步骤107b、若判定满足第二处理条件,且惩罚交易账单数量为零,则判定满足第一处理条件。
88.在本技术的实施例中,在第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件之后,若判定满足第二处理条件,且惩罚交易账单数量为零,则判定满足第一处理条件。
89.可以理解的是,在本技术的实施例中,若判定满足第二处理条件,则说明第一客户端提供的匿名区构造请求中的第一次数为真实数据,同时第一次数满足第二客户端进行匿名位置数据协作的要求;而惩罚交易账单数量为零则说明第一客户端历史记录中不存在欺骗行为,信用良好;从而判定满足第一处理条件。
90.图5为本技术实施例提出的位置保护方法的实现流程示意图四,如图5所示,第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件,即步骤107b提出的方法可以包括以下步骤:
91.步骤107b1、若第一次数和第二次数相同,且第一次数大于或者等于预设次数阈值,则判定满足第二处理条件。
92.在本技术的实施例中,第二客户端根据第一次数、第二次数以及预设次数阈值判断是否满足第二处理条件,具体地,若第一次数和第二次数相同,且第一次数大于或者等于预设次数阈值,则判定满足第二处理条件。
93.需要说明的是,在本技术的实施例中,第一次数和第二次数相同,即表示第一客户端提供给第二客户端的关于其参与协作进行匿名位置数据构造的次数与区块链平台中记录的真实的参与协作的次数是相同的。
94.进一步地,在本技术的实施例中,第一次数大于或者等于预设次数阈值,则说明第一客户端参与协作进行匿名位置数据构造的次数满足第二客户端的要求。
95.由此,在本技术的实施例中,当第一次数和第二次数相同,且第一次数大于或者等于预设次数阈值时,判定第一客户端满足第二处理条件。
96.图6为本技术实施例提出的位置保护方法的实现流程示意图五,如图6所示,第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单,即步骤102提出的方法可以包括以下步骤:
97.步骤102a、第二客户端根据第一私钥对位置信息进行加密处理,获得加密后的位
置信息。
98.在本技术的实施例中,第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单,具体地,第二客户端可以先根据第一私钥对位置信息进行加密处理,获得加密后的位置信息。
99.需要说明的是,在本技术的实施例中,第一私钥用于进行加密处理;第一私钥是预先分配给第二客户端的私钥,且该第一私钥由第二客户端自行保存在本地。
100.步骤102b、第二客户端根据第二私钥对加密后的位置信息进行签名处理,获得第一交易账单。
101.在本技术的实施例中,在二客户端根据第一私钥对位置信息进行加密处理,获得加密后的位置信息之后,第二客户端根据第二私钥对加密后的位置信息进行签名处理,获得第一交易账单。
102.需要说明的是,在本技术的实施例中,第二私钥用于进行签名处理,第二私钥也是预先分配给第二客户端的私钥,同样的,第二私钥由第二客户端自行保存在本地。
103.进一步地,在本技术的实施例中,在对加密后的位置信息进行签名处理后,就可以根据上述数据信息生成第一交易账单。
104.图7为本技术实施例提出的位置保护方法的实现流程示意图六,如图7所示,第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据的方法可以包括以下步骤:
105.步骤201、第一客户端根据公钥信息对第一交易账单进行验证处理,获得验证结果。
106.在本技术的实施例中,第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,具体地,第一客户端可以先根据公钥信息对第一交易账单进行验证处理,获得验证结果。
107.需要说明的是,在本技术的实施例中,公钥信息存储于区块链平台中,且公钥信息与客户端的身份标识相对应;当客户端需要进行验证时,可以根据客户端的身份标识从区块链平台中获取相应的公钥信息。
108.进一步地,在本技术的实施例中,公钥信息主要用于进行验证处理。
109.可以理解的是,在本技术的实施例中,验证结果反映了该交易账单是否在信息传递的过程中发生了篡改。
110.进一步地,在本技术的实施例中,验证结果可以包括验证通过和验证不通过;当验证结果为验证通过时,说明第一交易账单在传递过程未发生数据篡改,而当验证结果为验证不通过时,则明第一交易账单在传递过程发生了数据篡改。
111.步骤202、若验证结果为验证通过,则根据第三私钥对第一交易账单进行解密处理,获得位置信息。
112.在本技术的实施例中,在第一客户端根据公钥信息对第一交易账单进行验证处理,获得验证结果之后,若验证结果为验证通过,则根据第三私钥对第一交易账单进行解密处理,获得位置信息。
113.需要说明的是,在本技术的实施例中,第三私钥用于进行解密处理,且第三私钥同样是预先分配给第一客户端的私钥,第三私钥由第一客户端自行保存在本地。
114.可以理解的是,在本技术的实施例中,在根据第三私钥进行解密处理以后,就可以获得第二客户端的位置信息,且该位置信息为第二客户端的真实的位置信息。
115.步骤203、根据预设算法和位置信息获得匿名位置数据。
116.在本技术的实施例中,若验证结果为验证通过,则第一客户端根据第三私钥对第一交易账单进行解密处理,获得位置信息之后,第一客户端可以根据预设算法和位置信息获得匿名位置数据。
117.需要说明的是,在本技术的实施例中,预设算法可以为lbs算法;也就是说,在获得了第二客户端的位置信息以后,第一客户端就可以调用lbs算法,基于第二客户端的位置信息构造匿名位置数据。
118.进一步地,在本技术的实施例中,位置信息可以包括至少k-1个位置信息,也就是说,当第一客户端获得了至少k-1个位置信息之后,就可以基于lbs算法和至少k-1个位置信息构造出匿名位置数据。
119.示例性的,在本技术的实施例中,第一客户端获得了k-1个第二客户端的位置信息,进而基于lbs算法和该k-1个第二客户端的位置信息构造获得匿名位置数据,从而可以利用匿名位置数据代替第一客户端的真实位置信息,实现对第一客户端的位置信息的保护。
120.图8为本技术实施例提出的位置保护方法的实现流程示意图七,如图8所示,区块链平台根据匿名位置数据进行数据同步处理,即步骤105提出的方法可以包括以下步骤:
121.步骤105a、区块链平台发起验证请求。
122.在本技术的实施例中,区块链平台根据匿名位置数据进行数据同步处理,具体地,区块链平台可以先发起验证请求。
123.需要说明的是,在本技术的实施例中,验证请求用于指示对匿名位置数据进行验证。
124.步骤105b、第三客户端响应验证请求,对匿名位置数据进行验证处理,获得验证结果;其中,第三客户端为位置保护系统中、第一客户端和第二客户端以外的其他客户端。
125.在本技术的实施例中,在区块链平台发起验证请求之后,第三客户端可以响应验证请求,对匿名位置数据进行验证处理,获得验证结果;其中,第三客户端为位置保护系统中、第一客户端和第二客户端以外的其他客户端。
126.需要说明的是,在本技术的实施例中,响应验证请求的客户端可以是第一客户端和第二客户端以外的其他客户端,即第三客户端;也就是说,可以通过第三客户端对匿名位置数据进行验证,以进一步验证该匿名位置数据的真实性。
127.进一步地,在本技术的实施例中,第三客户端可以是多个客户端,也就是说,在区块链平台发起验证请求之后,可以有多个第三客户端响应验证请求,对匿名位置数据进行验证处理。
128.示例性的,在本技术的实施例中,图9为本技术实施例提出的位置保护系统的组成结构示意图二,如图9所示,位置保护系统10还可以包括第三客户端14。
129.需要说明的是,在本技术的实施例中,还可以给予优先完成验证处理的第三客户端以奖励,该奖励可以为区块链上对应的代币奖励或者积分奖励等,从而能够激励客户端参与匿名位置数据的构造。
130.步骤105c、第三客户端根据验证结果和匿名位置数据生成第二交易账单,并将第二交易账单发送至区块链平台。
131.在本技术的实施例中,在第三客户端响应验证请求,对匿名位置数据进行验证处理,获得验证结果之后,第三客户端可以根据验证结果和匿名位置数据生成第二交易账单,并将第二交易账单发送至区块链平台。
132.需要说明的是,在本技术的实施例中,第三客户端在完成验证处理以后,可以根据验证结果和该匿名位置数据生成第二交易账单。
133.进一步地,在本技术的实施例中,验证结果不同,第二交易账单中包含的信息也就不同,从而第二交易账单的类型也就不同;例如,当验证结果为验证通过时,则第二交易账单中包括验证通过的验证结果和匿名位置数据,此时第二交易账单为正常交易账单;而当验证结果为验证不通过时,则第二交易账单中包括验证不通过的验证结果和匿名位置数据,此时第二交易账单可以作为惩罚交易账单。
134.进一步地,在本技术的实施例中,在第三客户端生成了第二交易账单之后,还可以将第二交易账单发送至区块链平台。
135.步骤105d、区块链平台基于第二交易账单进行广播处理。
136.在本技术的实施例中,在第三客户端根据验证结果和匿名位置数据生成第二交易账单,并将第二交易账单发送至区块链平台之后,区块链平台可以基于第二交易账单进行广播处理。
137.需要说明的是,在本技术的实施例中,根据验证结果的不同,即第二交易账单的类型不同,区块链平台基于第二交易账单进行广播处理的过程也不同;具体地,当验证结果为验证通过时,区块链平台基于第二交易账单进行广播处理的过程可以是区块链平台基于共识机制和第二交易账单获得打包数据;然后区块链平台对打包数据进行广播处理;而当验证结果为验证不通过时,则区块链平台直接对第二交易账单进行广播处理,该第二交易账单为惩罚交易账单。
138.可以理解的是,在本技术的实施例中,区块链平台基于第二交易账单进行广播处理,从而能够令位置保护系统中的所有客户端都能够实时获取最新的账单信息,实现高效率的信息共享,提高位置保护系统的服务质量。
139.图10为本技术实施例提出的位置保护方法的实现流程示意图八,如图10所示,若验证结果为验证通过,则区块链平台基于第二交易账单进行广播处理,即步骤105d提出的方法可以包括以下步骤:
140.步骤105d1、区块链平台基于共识机制和第二交易账单获得打包数据。
141.在本技术的实施例中,若验证结果为验证通过,则区块链平台基于第二交易账单进行广播处理,具体地,区块链平台基于共识机制和第二交易账单获得打包数据。
142.需要说明的是,在本技术的实施例中,共识机制是指基于特定随机数算法,从优先完成验证的第三客户端中选取部分客户端,然后对该部分客户端对应的第二交易账单进行数据打包处理,经过数据打包处理后获得的数据即为打包数据。
143.步骤105d2、区块链平台对打包数据进行广播处理。
144.在本技术的实施例中,在区块链平台基于共识机制和第二交易账单获得打包数据之后,区块链平台对打包数据进行广播处理。
145.可以理解的是,在本技术的实施例中,区块链平台通过对打包数据进行广播处理,能够令位置保护系统中的所有客户端都拥有最新的账单信息,实现了高效率的信息共享。
146.本技术实施例提供了一种位置保护方法,位置保护系统包括第一客户端、第二客户端以及区块链平台;第一客户端向第二客户端发送匿名区构造请求;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单;第二客户端通过区块链平台将第一交易账单发送至第一客户端;第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台;区块链平台根据匿名位置数据进行数据同步处理。由此可见,在本技术中,第一客户端在进行匿名位置数据的构造时,可以先向第二客户端发送匿名区构造请求,第二客户端在接收到匿名区构造请求之后,就可以对位置信息进行预处理,获得第一交易账单,该第一交易账单即作为区块链平台上的交易账单;进而第二客户端将第一交易账单通过区块链平台发送至第一客户端,第一客户端基于第一交易账单进行匿名区构造处理,从而获得匿名位置数据,通过该匿名位置数据实现了对第一客户端真实的位置信息的保护;进一步地,区块链平台还可以对该匿名位置数据进行数据同步处理,以提高数据同步效率;也就是说,本技术提出的位置保护方法主要是基于区块链平台来完成匿名位置数据的构造,该构造过程的相关数据信息均记录在第一交易账单中,进而能够利用区块链不可篡改数据的优点实现对第一客户端的匿名位置数据构造过程的保护,提高位置保护的安全性;同时还可以基于区块链平台对匿名位置数据进行数据同步处理,由此提升了信息的共享效率。
147.实施例二
148.基于上述实施例,示例性的,在本技术的另一实施例中,请求用户对应于第一客户端,协作用户对应于第二客户端;当请求用户需要进行匿名位置数据的构造时,可以通过第一客户端向对应于协作用于的第二客户端发送匿名区构造请求;该匿名区构造请求中包括可以包括第一客户端发起请求的时间戳、第一客户端的身份标识信息、第一客户端参与匿名区协作构造的第一次数、第一客户端参与匿名区协作构造的交易账单的标识信息以及用于进行签名的私钥信息等数据。
149.进一步地,在本技术的实施例中,第二客户端在接收到第一客户端发送的匿名区构造请求之后,可以先进行验证处理,包括首先从区块链平台中获取第一客户端的第二次数和惩罚交易账单数量;其中,第二次数为区块链平台中记录的、第一客户端参与匿名区协作构造的次数。
150.进一步地,在本技术的实施例中,对第一次数、第二次数以及预设次数阈值进行对比,若第一次数和第二次数相同,且第一次数大于或者等于预设次数阈值,则判定满足第二处理条件。
151.进一步地,在本技术的实施例中,若第二客户端判定满足第二处理条件,且惩罚交易账单数量为零,则判定满足第一处理条件,意味着第一客户端提供的匿名区构造请求中相关数据是真实的,并且第一客户端达到了第二客户端协助其进行匿名位置数据构造的要求;即第二客户端判定可以对位置信息进行预处理,以协助第一客户端完成匿名位置数据的构造。
152.进一步地,在本技术的实施例中,第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单。
153.具体地,在本技术的实施例中,上述第二客户端对位置信息进行预处理,获得第一交易账单的过程可以包括第二客户端根据第一私钥对位置信息进行加密处理,获得加密后的位置信息;然后第二客户端根据第二私钥对加密后的位置信息进行签名处理,获得第一交易账单。
154.进一步地,在本技术的实施例中,第二客户端通过区块链平台将第一交易账单发送至第一客户端。
155.进一步地,在本技术的实施例中,第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台。
156.具体地,在本技术的实施例中,第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据的过程可以包括:第一客户端根据公钥信息对第一交易账单进行验证处理,获得验证结果;若验证结果为验证通过,则根据第三私钥对第一交易账单进行解密处理,获得位置信息;最后根据预设算法和位置信息获得匿名位置数据。
157.进一步地,在本技术的实施例中,区块链平台在接收到匿名位置数据之后,可以根据匿名位置数据进行数据同步处理。
158.具体地,在本技术的实施例中,区块链平台根据匿名位置数据进行数据同步处理的过程可以包括:首先由区块链平台发起验证请求;然后第三客户端响应验证请求,对匿名位置数据进行验证处理,获得验证结果;其中,第三客户端为位置保护系统中、第一客户端和第二客户端以外的其他客户端;进而第三客户端根据验证结果和匿名位置数据生成第二交易账单,并将第二交易账单发送至区块链平台;最后区块链平台基于第二交易账单进行广播处理。
159.进一步地,在本技术的实施例中,根据验证结果的不同,区块链平台基于第二交易账单进行广播处理的过程也不同;具体地,当验证结果为验证通过时,区块链平台基于第二交易账单进行广播处理的过程可以是区块链平台基于共识机制和第二交易账单获得打包数据;然后区块链平台对打包数据进行广播处理;而当验证结果为验证不通过时,则区块链平台直接对第二交易账单进行广播处理,此时该第二交易账单为惩罚交易账单,从而实现高效率的信息共享,提高位置保护系统的服务质量。
160.综上所述,在本技术的实施例中,基于区块链平台实现对匿名位置数据的构造,将此匿名位置数据构造的过程中涉及的数据记录在交易账单中,将请求用户,即第一客户端获取协作用户,即第二客户端的真实位置的过程,视为区块链上的交易;当存在第二客户端提供虚假位置或者第一客户端泄露第二客户端的真实位置时,可以将交易账单作为凭证用于仲裁;一旦证实出现位置泄露或欺骗行为,那么具有上述行为的用户和对应的客户端,在进行匿名位置数据构造时将不会有其他用户和对应的客户端提供帮助,使其不能成功地构造匿名区。此外,为了激励用户和对应的客户端参与到区块链的维护中,生成打包数据的用户和对应的客户端可获得区块链上的对应奖励。
161.本技术实施例提供了一种位置保护方法,位置保护系统包括第一客户端、第二客户端以及区块链平台;第一客户端向第二客户端发送匿名区构造请求;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单;第二客户端通过区块链平台将第一交易账单发送至第一客户端;第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台;区块链平台根据匿名
位置数据进行数据同步处理。由此可见,在本技术中,第一客户端在进行匿名位置数据的构造时,可以先向第二客户端发送匿名区构造请求,第二客户端在接收到匿名区构造请求之后,就可以对位置信息进行预处理,获得第一交易账单,该第一交易账单即作为区块链平台上的交易账单;进而第二客户端将第一交易账单通过区块链平台发送至第一客户端,第一客户端基于第一交易账单进行匿名区构造处理,从而获得匿名位置数据,通过该匿名位置数据实现了对第一客户端真实的位置信息的保护;进一步地,区块链平台还可以对该匿名位置数据进行数据同步处理,以提高数据同步效率;也就是说,本技术提出的位置保护方法主要是基于区块链平台来完成匿名位置数据的构造,该构造过程的相关数据信息均记录在第一交易账单中,进而能够利用区块链不可篡改数据的优点实现对第一客户端的匿名位置数据构造过程的保护,提高位置保护的安全性;同时还可以基于区块链平台对匿名位置数据进行数据同步处理,由此提升了信息的共享效率。
162.实施例三
163.基于上述实施例,在本技术的另一实施例中,图11为本技术实施例提出的位置保护系统的组成结构示意图三,如图11所示,本技术实施例提出的位置保护系统10可以包括第一发送单元15、处理单元16、第二发送单元17、构造单元18、同步单元19、获取单元1110以及判断单元111。
164.所述第一发送单元15,用于所述第一客户端向所述第二客户端发送匿名区构造请求。
165.所述处理单元16,用于所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单。
166.所述第二发送单元17,用于所述第二客户端通过所述区块链平台将所述第一交易账单发送至所述第一客户端。
167.进一步地,所述构造单元18,用于所述第一客户端根据所述第一交易账单进行匿名区构造处理,获得匿名位置数据,并将所述匿名位置数据发送至所述区块链平台。
168.进一步地,所述同步单元19,用于所述区块链平台根据所述匿名位置数据进行数据同步处理。
169.进一步地,所述获取单元110,用于在所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单之前,所述第二客户端从所述区块链平台中获取所述第一客户端的第二次数和惩罚交易账单数量;其中,所述第二次数为所述区块链平台中记录的、所述第一客户端参与匿名区协作构造的次数。
170.进一步地,所述判断单元111,用于所述第二客户端根据所述第一次数、所述第二次数以及所述惩罚交易账单数量判断是否满足第一处理条件。
171.进一步地,所述处理单元16,还用于若判定满足所述第一处理条件,则所述第二客户端确定执行所述预处理的流程。
172.进一步地,所述判断单元111,具体用于所述第二客户端根据所述第一次数、所述第二次数以及预设次数阈值判断是否满足第二处理条件;若判定满足所述第二处理条件,且所述惩罚交易账单数量为零,则判定满足所述第一处理条件。
173.进一步地,所述判断单元111,还具体用于若所述第一次数和所述第二次数相同,且所述第一次数大于或者等于所述预设次数阈值,则判定满足所述第二处理条件。
174.进一步地,所述获取单元110,具体用于所述第二客户端根据第一私钥对所述位置信息进行加密处理,获得加密后的位置信息;所述第二客户端根据第二私钥对所述加密后的位置信息进行签名处理,获得所述第一交易账单。
175.进一步地,所述构造单元18,具体用于所述第一客户端根据公钥信息对所述第一交易账单进行验证处理,获得验证结果;若所述验证结果为验证通过,则根据第三私钥对所述第一交易账单进行解密处理,获得所述位置信息;根据预设算法和所述位置信息获得所述匿名位置数据。
176.进一步地,所述同步单元19,具体用于所述区块链平台发起验证请求;所述第三客户端响应所述验证请求,对所述匿名位置数据进行验证处理,获得验证结果;其中,所述第三客户端为所述位置保护系统中、所述第一客户端和所述第二客户端以外的其他客户端;所述第三客户端根据所述验证结果和所述匿名位置数据生成第二交易账单,并将所述第二交易账单发送至所述区块链平台;所述区块链平台基于所述第二交易账单进行广播处理。
177.进一步地,所述同步单元19,还具体用于所述区块链平台基于共识机制和所述第二交易账单获得打包数据;所述区块链平台对所述打包数据进行所述广播处理。
178.图12为本技术实施例提出的位置保护系统的组成结构示意图四,如图12所示,本技术实施例提出的位置保护系统10还可以包括处理器112、存储有处理器112可执行指令的存储器113,进一步地,位置保护系统10还可以包括通信接口114,和用于连接处理器112、存储器113以及通信接口114的总线115。
179.在本技术的实施例中,上述处理器112可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。处理器112还可以包括存储器113,该存储器113可以与处理器112连接,其中,存储器113用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器113可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
180.在本技术的实施例中,总线115用于连接通信接口114、处理器112以及存储器113以及这些器件之间的相互通信。
181.在本技术的实施例中,存储器113,用于存储指令和数据。
182.进一步地,在本技术的实施例中,所述位置保护系统包括第一客户端、第二客户端以及区块链平台;上述处理器112,所述第一客户端向所述第二客户端发送匿名区构造请求;
183.所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单;
184.所述第二客户端通过所述区块链平台将所述第一交易账单发送至所述第一客户端;
185.所述第一客户端根据所述第一交易账单进行匿名区构造处理,获得匿名位置数
据,并将所述匿名位置数据发送至所述区块链平台;
186.所述区块链平台根据所述匿名位置数据进行数据同步处理。
187.在实际应用中,上述存储器113可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器112提供指令和数据。
188.另外,在本实施例中的各功能模块可以集成在一个分析单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
189.集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
190.本技术实施例提供了一种位置保护系统,位置保护系统包括第一客户端、第二客户端以及区块链平台;第一客户端向第二客户端发送匿名区构造请求;第二客户端根据匿名区构造请求对第二客户端的位置信息进行预处理,获得第一交易账单;第二客户端通过区块链平台将第一交易账单发送至第一客户端;第一客户端根据第一交易账单进行匿名区构造处理,获得匿名位置数据,并将匿名位置数据发送至区块链平台;区块链平台根据匿名位置数据进行数据同步处理。由此可见,在本技术中,第一客户端在进行匿名位置数据的构造时,可以先向第二客户端发送匿名区构造请求,第二客户端在接收到匿名区构造请求之后,就可以对位置信息进行预处理,获得第一交易账单,该第一交易账单即作为区块链平台上的交易账单;进而第二客户端将第一交易账单通过区块链平台发送至第一客户端,第一客户端基于第一交易账单进行匿名区构造处理,从而获得匿名位置数据,通过该匿名位置数据实现了对第一客户端真实的位置信息的保护;进一步地,区块链平台还可以对该匿名位置数据进行数据同步处理,以提高数据同步效率;也就是说,本技术提出的位置保护方法主要是基于区块链平台来完成匿名位置数据的构造,该构造过程的相关数据信息均记录在第一交易账单中,进而能够利用区块链不可篡改数据的优点实现对第一客户端的匿名位置数据构造过程的保护,提高位置保护的安全性;同时还可以基于区块链平台对匿名位置数据进行数据同步处理,由此提升了信息的共享效率。
191.具体来讲,本实施例中的一种位置保护方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,位置保护系统包括第一客户端、第二客户端以及区块链平台;当存储介质中的与一种位置保护方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
192.所述第一客户端向所述第二客户端发送匿名区构造请求;
193.所述第二客户端根据所述匿名区构造请求对所述第二客户端的位置信息进行预处理,获得第一交易账单;
194.所述第二客户端通过所述区块链平台将所述第一交易账单发送至所述第一客户端;
195.所述第一客户端根据所述第一交易账单进行匿名区构造处理,获得匿名位置数据,并将所述匿名位置数据发送至所述区块链平台;
196.所述区块链平台根据所述匿名位置数据进行数据同步处理。
197.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
198.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
199.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
200.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
201.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。