CN108650675A - 一种基于大数据的同态加密机制的位置隐私保护系统 - Google Patents
一种基于大数据的同态加密机制的位置隐私保护系统 Download PDFInfo
- Publication number
- CN108650675A CN108650675A CN201810369077.4A CN201810369077A CN108650675A CN 108650675 A CN108650675 A CN 108650675A CN 201810369077 A CN201810369077 A CN 201810369077A CN 108650675 A CN108650675 A CN 108650675A
- Authority
- CN
- China
- Prior art keywords
- interpolation
- state
- path
- module
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明属于隐私保护技术领域,公开了一种基于大数据的同态加密机制的位置隐私保护系统,包括:定位模块、数据传输模块、中央处理模块、加密模块、数据存储模块、位置查询模块、显示模块。本发明通过加密模块在相同的环境配置下,自举过程相比于原始方案减小47%;方案的安全性可以规约到LWE问题,并且可以达到128比特安全;同时,本发明通过位置查询模块引入云服务器以及同态加密算法,用户仅仅需要实施一次同态加密、一次同态乘,以及一次减运算即可得到相应的查询结果,降低了用户的计算开销。
Description
技术领域
本发明属于隐私保护技术领域,尤其涉及一种基于大数据的同态加密机制的位置隐私保护系统。
背景技术
目前,业内常用的现有技术是这样的:
随着移动网络技术的普及,诸如移动便携电话、GPS、RFID等位置探测设备的快速发展,使移动用户在任意时间、地点查询服务成为可能,也催生出很多基于位置的服务。例如,查询离自身距离最近的餐厅、加油站、医院、超市等,了解就近路况和交通报告,查询就近的商家活动咨询,这些都是基于位置信息的服务。这类型的服务最关键的就是需要用户当时的位置信息,用户需提供当前自己的位置信息给服务器,服务器根据用户的服务种类和查询需求,返回用户所需要查询的服务数据。这种类型的服务,与用户当前位置的关联极高,能使用户得到与自己位置相关联的信息。然而,现有的位置隐私数据加密效率低,安全性低;同时现有的位置隐私保护中移动用户发送给数据服务商的位置是某个区域,使得通信开销变大;现有的位置隐私保护中引入第三方生成和管理密钥,可能造成移动用户的部分隐私泄露。
传统的基于接收信号强度信息(Received Signal Strength Indicator,RSSI)的室内指纹定位方法在数据库建立阶段,需要将待定位区域划分为多个已知位置的网格,通过手持设备在网格中进行数据采样,最终将采样数据和采集位置配对存入数据库中。网格的密度很大程度影响了最终的定位精度,密度越大,定位精度越高。
随着科技的快速发展和工业需求的不断提高,各种软硬件设计的复杂度也日益增加,对于可靠性和安全性的要求也不断提高。系统的可靠性,安全性和正确性已经受到了科学界和工业界的广泛关注。形式化验证和测试是解决该问题的主要方法。形式化验证方法始于20世纪60年代末的Floyd、Hoare和Manna等在程序规范和验证方面的研究。形式化验证方法分为两大类:基于定理证明和基于模型。20世纪80年代初提出的模型检测(ModelChecking)属于基于模型的形式化验证方法,思想相对简单和自动化程度高,可以广泛用于硬件电路系统和网络协议系统的验证。模型检测就是先把系统建模为有限状态转移系统,并用时态逻辑描述验证的规范,在有限状态转移系统上进行穷尽搜索,确定规范是否被满足,若没有满足,给出反例指出为什么没有满足。模型检测面临状态爆炸问题,所谓状态爆炸问题即系统状态数随着状态规模的增加呈指数级增加。所以该领域的研究人员使用各种方法缩减搜索的状态空间,基于反例引导的抽象模型检测是常用的技术。基于反例路径的抽象细化(Counterexample-Guided Abstraction Refinement,CEGAR)技术的过程如下:给定一个模型和性质,首先通过抽象的方法生成一个抽象模型。抽象模型包含的行为可能会多于原始模型,但是,抽象模型的结构和描述都比原始模型简单,所以可以缓解状态空间爆炸问题。然后调用模型检测器,检测公式是否在抽象模型中有效。如果有效,则程序终止;否则,会给出反例路径,然后进行重构(reconstruction)过程,即在原始模型中,如果成功找到一条路径对应于反例路径,则程序结束;否则,反例路径为虚假反例路径,下一个迭代过程开始,重新生成抽象模型,进行验证。重复此过程,直到返回有效或者无效,或者状态空间爆炸造成程序停止。动态符号执行技术是一种符号执行与具体执行相结合的测试手段。符号执行是指在不执行程序的前提下,用符号值表示程序变量的值,然后模拟程序执行来进行相关分析。首先,对待分析代码构建控制流图(Control Flow Graph,CFG),它是编译器内部用有向图表示一个程序过程的抽象数据结构。在CFG上从入口节点开始模拟执行,在遇到分支节点时,使用约束求解器判定哪条分支可行,并根据预先设计的路径调度策略实现对该过程所有路径的遍历分析,最后输出每条可执行路径的分析结果。动态符号执行是以具体数值作为输入,同时启动代码模拟执行器,并从当前路径的分支语句的谓词中搜集所有符号约束。然后根据策略反转约束中的一个分支,构造一条新的可行的路径约束,并用约束求解器求解出一个可行的新的具体输入,接着符号执行引擎对新输入值进行新一轮的分析。通过使用这种输入迭代产生新输入的方法,理论上所有可行的路径都可以被计算并分析一遍。动态符号执行技术的主要瓶颈是路径爆炸问题,即随着程序中分支数的增多,路径呈指数级增加。插值是缓解路径爆炸问题的有效方法,主要是一种搜索剪枝的思想,通过利用不可行路径给行节点标记插值,插值是指一定不会到达被标记为错误行的条件约束。对于分支节点,若该节点的每个分支都被探索过,那么在该节点标记的插值为全插值,否则为半插值。在动态符号执行中,若从开始节点到当前节点的路径约束满足当前节点的全插值,则该路径可被归并,即不被探索,从而有效缓解了路径爆炸问题。对于大规模系统,抽象模型在进行验证时细化次数过多,且模型检测的瓶颈是状态爆炸问题,因此提出一种行之有效并加快抽象模型验证的方法刻不容缓。
综上所述,现有技术存在的问题是:
现有的位置隐私数据加密效率低,安全性低;同时现有的位置隐私保护中移动用户发送给数据服务商的位置是某个区域,使得通信开销变大;现有的位置隐私保护中引入第三方生成和管理密钥,可能造成移动用户的部分隐私泄露。
现有技术较高的网格密度却大大增加了建立数据库时间,对后期的数据库更新也造成了困难,使得指纹定位方法在实际应用中具有很强的局限性。
对于大规模系统,抽象模型在进行验证时细化次数过多,且模型检测的瓶颈是状态爆炸。
发明内容
针对现有技术存在的问题,本发明提供了一种基于大数据的同态加密机制的位置隐私保护系统。
本发明是这样实现的,一种基于大数据的同态加密机制的位置隐私保护系统,包括:
定位模块,与中央处理模块连接,用于通过定位器定位用户位置信息;定位模块的定位方法包括:
获取单位路径的电子地图坐标;
RSSI采集并扫描无线信号发射装置,得到RSSI值并记录;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的坐标产生时刻,配对保存为数据库的一条基本数据单元;
若数据库中同时有多条RSSI数据对应的电子地图坐标相同,将RSSI取平均值,作为数据库中该电子地图坐标的单元数据;
获取单位路径的电子地图坐标具体包括:
利用惯导设备中的加速度计与陀螺仪进行计步运算,通过条件检测方法,计算出行走的步数和直线长度,并计算每一步的电子地图坐标,记录第k步坐标产生的时刻ts(k),k=1,2,...,L,L表示该路径上总的行走步数,k时刻加速度计采集到的三轴加速度值分别为ak(1)、ak(2)、ak(3),陀螺仪采集到的三轴角速度分别为ωk(1)、ωk(2)、ωk(3),条件检测方法使用三个条件C1,C2和C3来判断人的脚是否处于静止状态;
数据传输模块,与中央处理模块连接,用于将定位模块采集的位置信息通过无线信号进行传输;
数据传输模块的传递函数为:
其中,ω0为滤波器的中心频率,对于不同的ω0,k使k/ω0保持不变;
在频率域构造滤波器,对应的极坐标表达方式为:
G(r,θ)=G(r,r)r·G(θ,θ);
式中,Gr(r)为控制滤波器带宽的径向分量,Gθ(θ)为控制滤波器方向的角度分量;
r表示径向坐标,θ表示角度坐标,f0为中心频率,θ0为滤波器方向,σf用于确定带宽;
Bf=2(2/ln2)1/2|lnσf|,σθ确定角度带宽,Bθ=2(2/ln2)1/2σθ;
中央处理模块,与定位模块、数据传输模块、加密模块、数据存储模块、位置查询模块、显示模块连接,用于对用户位置数据进行处理;中央处理模块的数据处理方法包括:
读入C程序,对C程序进行语法语义分析,并从抽象语法树中提取出控制流自动机CFG;给CFG添加safety插值和error插值,扩展CFG;在根据CFG生成ARG的过程中,在每一个状态,判断safety插值和error插值是否被当前路径公式蕴含;
如果某一个状态的error插值被蕴含,则说明程序存在一条真反例路径,程序不安全,验证结束;如果safety插值被蕴含,则说明该状态的后续所有路径都是安全的,不需要遍历,减少了遍历的路径;如果发现一个虚假反例路径,则根据Craig插值,计算和更新safety插值和error插值;
加密模块,与中央处理模块连接,用于通过同态加密对用户位置数据进行加密;
数据存储模块,与中央处理模块连接,用于存储加密的用户位置数据;
位置查询模块,与中央处理模块连接,用于查询对象获得与用户位置最近距离的查询结果;
显示模块,与中央处理模块连接,用于显示用户位置信息。
进一步,所述条件C1,C2和C3:
条件C1为加速度大小满足介于两个给定门限之间:
条件C2为局部加速度方差要大于给定的门限值,
局部加速度方差计算方式为,
其中是局部平均加速度,计算式为s为均值的窗口长度;
条件C3为陀螺仪测量值的大小满足低于给定门限:
条件之间是逻辑与的关系,即条件检测结果为C1&C2&C3,条件检测的结果再通过一个窗口长度为11的中值滤波器,输出逻辑“1”表示停止状态,逻辑“0”表示行走状态,从停止状态变化到行走状态则计为行走了一步,当前路径上行走的总步数为m(k),把人行走时的步长近似看作固定长度l,则当前行走的直线长度d(k)计算公式为:
d(k)=m(k)*l或d(k)=d(k-1)+l;
所述RSSI采集并扫描无线信号发射装置,得到RSSI值并记录具体包括:
RSSI采集设备按照最小扫描时间对布置在周围环境中的N个无线信号发射装置进行RSSI采集,每次采集得到N个RSSI值,同时记录第j秒扫描时刻tr(j),j=1,2,...,T,T表示总的采集次数;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的那个坐标产生时刻,配对保存为数据库的一条基本数据单元具体包括:
综合采集得到的RSSI与电子地图坐标,求出每个信号强度的扫描时刻tr(j),j=1,2,...,T与所有坐标产生时刻ts(k),k=1,2,...,L之间差的绝对值,找到绝对值最小的那个坐标产生时刻tm(j):
即认为tr(j)时刻扫描到的N个信号强度的坐标位于tm(j)时刻产生的电子地图坐标,配对保存为数据库的一条基本数据单元。
进一步,中央处理模块的数据处理方法具体包括:
步骤一,根据待验证的程序,生成控制流图CFG,给CFG中的结点添加3个属性:R插值,S插值和E插值,R插值是结点可达的约束条件,判断一个状态的可达性;S插值和E插值对路径进行规约,加快程序的验证;给CFG的边添加属性W;一条边的W值表示以该边指向的结点为根结点的子图中还没有被遍历的分支的个数;
步骤二,根据生成的CFG,生成抽象可达图ARG,如果沿着一条路径生成一个新状态s,如果s对应的R插值被满足,说明状态s可达,继续沿着状态s遍历该路径;否则,状态s不可达,则该路径终止,遍历其他路径;对于一个可达的状态s,如果状态s对应的E插值被该路径对应的路径公式蕴含,说明沿着该状态存在一条到达目标状态的路径,程序不安全;如果状态s对应的S插值被蕴含,说明以状态为起点的所有路径都是安全的,不需要沿着状态s探索程序;如果状态s是可达的,且E插值和S插值都不被蕴含,则继续沿着状态s遍历该路径;
步骤三,在生成ARG的过程中,发现一条反例路径,到达目标状态,则需要进一步判断反例路径是否虚假;不是虚假反例,则说明程序是不安全的;否则,根据虚假反例,细化模型,分别计算并更新对应状态的R插值,S插值和E插值,执行重新生成ARG,直到找到一条真反例路径或不存在反例路径;
所述步骤一生成待验证程序的CFG,并且初始化结点和边的属性,包括以下步骤:
(1)找到CFG中的目标结点,从目标结点开始反向遍历CFG,遍历的结点和边都保留,没有遍历到的结点和边都删除;
(2)得到裁剪后的CFG,初始化属性的值,对各个结点的三种插值进行初始化,初次遍历CFG,生成ARG的过程中,每一个结点的R插值的初始值都为{true};对于S插值,定义了一个二元组:(F,Is),其中,F的值域为{full,half},Is的值是一个由谓词组成的合取式;对于一个结点l,如果l没有后继结点或者l的所有后继结点的S插值都是full,记为f,表示l的所有后继结点都被遍历过,则l的S插值也是full,否则,l的S插值为half,记为h,具体的形式如下:
l是终结点,S插值的初始值为(full,true),表示如果到达终结点,路径一定是安全的;l是目标结点,S插值的初始值为(full,false),表示如果到达目标结点,路径一定是反例路径;对于其他结点,S插值的初始值为(half,true),具体的形式如下:
l是目标结点,E插值的初始值为true,表示路径一定是真反例;l是终结点,E插值的初始值为false,表示路径一定不可能到达目标结点;对于其他结点,E插值的初始值为false,初始认为都不能到达目标结点;对于每一条迁移的W属性,初始值为⊥,表示还没开始遍历,其中,W的值域为{N+,⊥},N+是正整数集合;
所述步骤二中,利用W属性决定分支边的遍历顺序,同时,利用S插值和E插值,加快验证的效率,具体的步骤包括:
(1)得到一个可达状态s',根据CFG的迁移关系,产生后继状态;如果存在多个可能的后继,根据边的W值,决定遍历顺序;边的W值的优先级为:(>0)>⊥>0;如果边的W值相同,则随机选择;对于一个后继状态s,根据R插值,如果状态s不可达,则当前路径终止,遍历其他路径;如果当前状态s可达,首先判断s的E插值是否为false;如果是false,说明s[0]的后继结点还没被遍历过,跳转到(2);如果不是false,首先采用SSA原则,每一个变量至多被赋值一次,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s);用求解器判断Pf(s0,…,s)是否蕴含s的E插值;如果蕴含,则说明程序存在一条真反例,程序不安全,验证结束;否则跳转到(2);
(2)判断s的S插值是否为full插值;如果不是full插值,则跳转到(3);如果是full插值,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s),然后用求解器判断Pf(s0,…,s)是否蕴含s的S插值;如果蕴含,则说明以状态s为起点的所有路径都是安全的,不需要探索,当前路径终止,遍历其他路径;
(3)判断s是否目标状态,如果是目标状态,则发现一条反例路径,执行步骤三;如果不是,进一步判断s是否被其他状态覆盖;如果s被覆盖,则不需要探索当前路径,遍历其他路径;如果s不被覆盖,则继续探索当前路径;
(4)如果存在没有被遍历的可达状态,则跳转到(1);否则,验证结束,程序安全。
进一步,所述加密模块加密方法如下:
首先,根据安全性和正确性要求,分别设置内层密文和外层密文的噪音方差,内层密文和外层密文的格密码维数,生成加密解密密钥,转化密钥,自举密钥;
其次,根据给定的明文,使用加密算法和密钥对明文进行加密,输出密文;
然后,根据给定的密文,使用密钥和解密算法对密文进行解密,输出明文;
最后,输入1个或2个合法密文,运行包含自举过程的增强型同态电路运算模块,输出噪音小于1/16的密文。
进一步,所述位置查询模块查询方法如下:
步骤1,所述数据服务提供商SP生成并公布系统参数;
步骤2,所述数据服务提供商SP生成不同分块内的查询对象所对应的密文;
步骤3,所述数据服务提供商SP根据所述系统参数中的公钥pk,利用Paillier同态加密算法对第i个分块Di的对称密钥ki实施加密,形成密文Epk(ki)后传送给所述云服务器CS存储,并公开所述密文Epk(ki);
步骤4,所述任意一个移动用户U根据当前所在位置以及每个分块在地图上的位置确认自身位置所在的分块Dj,并从所述云服务器CS处获取所在分块Dj内查询对象Mi的密文E(kj,Mj)与所在分块Dj的对称密钥kj的密文Epk(kj);
步骤5,所述任意一个移动用户U随机产生一个随机数sj,并利用所述Paillier同态加密算法对所述随机数sj进行加密,再将所述随机数sj加密后的密文Epk(sj)与所述对称密钥kj的密文Epk(kj)进行同态乘处理,得到盲化结果cj=Epk(sj)·Epk(kj),从而实现对所述对称密钥kj的盲化;所述移动用户U将所述盲化结果cj发给所述数据服务提供商SP;
步骤6,所述数据服务提供商SP利用自身私钥sk对所述盲化结果cj进行解密,得到盲化明文yj;再将所述盲化明文yj传送给所述移动用户U;
步骤7,所述任意移动用户U根据所述随机数sj及所述盲化明文yj进行去盲处理,得到对称密钥kj=yj-sj;并根据所述对称密钥kj,利用AES解密算法对所述密文E(kj,Mj)进行解密,得到所在分区Dj内的查询对象Mj,从而根据所述查询对象Mj获得与自身位置最近距离的查询结果。
本发明的另一目的在于提供一种实现所述基于大数据的同态加密机制的位置隐私保护系统的位置隐私保护方法的计算机程序。
本发明的另一目的在于提供一种搭载有所述基于大数据的同态加密机制的位置隐私保护系统的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于大数据的同态加密机制的位置隐私保护系统的位置隐私保护方法。
本发明的优点及积极效果为:
本发明通过加密模块在相同的环境配置下,自举过程相比于原始方案减小47%;方案的安全性可以规约到LWE问题,并且可以达到128比特安全;自举过程产生的噪音方差比原文更小,从而使得解密错误的概率更小。同时,本发明通过位置查询模块引入云服务器以及同态加密算法,用户仅仅需要实施一次同态加密、一次同态乘,以及一次减运算即可得到相应的查询结果,一方面降低了用户的计算开销,另一方又有效地保护了用户的位置隐私;本发明中的密钥生成与分发完全由数据服务提供商独立管理,不需要借助其他的密钥管理中心或可信的第三方,从而降低了系统的实现成本,也提高了系统的安全性。
本发明实现了指纹数据库在移动过程中的连贯采集,在较短的时间内便可生成较大的定位指纹数据库,简化了指纹数据库的建立过程,还能够提高定位精度。同时,在环境变化需要重新建库时,能够降低后期重采样和维护等步骤的工作量。提高了指纹定位方法的实用性,使其易于大规模推广。本发明借助惯性导航设备实现了人在连续移动过程中的数据采集,与传统方法相比本发明具有信号采集时间快,信号采集密度高的优势,在大大减少了建立数据库时间的同时,还能提高数据库的采集密度,最终提高定位精度。并且,本发明适用于几乎所有基于RSSI的室内指纹定位方法,是其数据库建立阶段的有效补充。本发明对于基于无线指纹定位的指纹数据库采集具有重大意义,能够使指纹采集的时间减少为传统单点采集的五分之一左右,同时数据大小增加一倍,大大降低了指纹定位的布置成本,便于大规模的推广应用。
将指纹定位中常用的相关函数匹配定位方法同时应用在网格采样法和本发明方法中,可比较发现本发明方法对于定位精度的提升明显。图3所示的函数曲线图是100次随机位置定位误差的累积分布。观察图3可以发现,通过本发明方法能够将定位精度以80%的概率小于1米,相较于网格采样法以80%的概率小于1.8米,定位精度提升了39%。
本发明更加充分地利用了模型检测中虚假反例路径提供的信息,通过计算S插值和E插值,提高了检测的效率,使得模型检测算法可以更好地应用于大规模的程序;S插值可以判断出一个状态后续所有可能的路径序列是否都是安全的,从而避免不必要的探索,大大地减少ARG的状态数;E插值可以运用于快速地判断程序中是否存在真反例路径,加快了程序的验证,提高了效率。
本发明裁剪了CFG中无用的结点和边,进一步缩小了遍历的状态空间,在CFG的边上添加W属性,使得程序验证的效率得到进一步的提升。通过缩减抽象模型验证时的路径搜索空间从而缓解状态爆炸问题,加快验证效率。同时提供了两种优化操作,使得验证过程更加高效;主要应用于工业,军事,农业,科研等领域设计的软硬件系统正确性的形式化验证,以及各类通信协议安全性,可靠性的形式化验证。
数据传输模块的传递函数为:
增强了数据的传输能力。
附图说明
图1是本发明实施例提供的基于大数据的同态加密机制的位置隐私保护系统结构图。
图中:1、定位模块;2、数据传输模块;3、中央处理模块;4、加密模块;5、数据存储模块;6、位置查询模块;7、显示模块。
图2是本发明实施例提供的实验环境平面示意图。
图3是本发明实施例提供的定位误差累积分布示意图。
图4是本发明实施例提供的使用三种插值检测程序的总体过程示意图。
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下。
如图1所示,本发明实施例提供的基于大数据的同态加密机制的位置隐私保护系统包括:定位模块1、数据传输模块2、中央处理模块3、加密模块4、数据存储模块5、位置查询模块6、显示模块7。
定位模块1,与中央处理模块3连接,用于通过定位器定位用户位置信息;
数据传输模块2,与中央处理模块3连接,用于将定位模块1采集的位置信息通过无线信号进行传输;
中央处理模块3,与定位模块1、数据传输模块2、加密模块4、数据存储模块5、位置查询模块6、显示模块7连接,用于对用户位置数据进行处理;
加密模块4,与中央处理模块3连接,用于通过同态加密对用户位置数据进行加密;
数据存储模块5,与中央处理模块3连接,用于存储加密的用户位置数据;
位置查询模块6,与中央处理模块3连接,用于查询对象获得与用户位置最近距离的查询结果;
显示模块7,与中央处理模块3连接,用于显示用户位置信息。
定位模块的定位方法包括:
获取单位路径的电子地图坐标;
RSSI采集并扫描无线信号发射装置,得到RSSI值并记录;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的坐标产生时刻,配对保存为数据库的一条基本数据单元;
若数据库中同时有多条RSSI数据对应的电子地图坐标相同,将RSSI取平均值,作为数据库中该电子地图坐标的单元数据;
获取单位路径的电子地图坐标具体包括:
利用惯导设备中的加速度计与陀螺仪进行计步运算,通过条件检测方法,计算出行走的步数和直线长度,并计算每一步的电子地图坐标,记录第k步坐标产生的时刻ts(k),k=1,2,...,L,L表示该路径上总的行走步数,k时刻加速度计采集到的三轴加速度值分别为ak(1)、ak(2)、ak(3),陀螺仪采集到的三轴角速度分别为ωk(1)、ωk(2)、ωk(3),条件检测方法使用三个条件C1,C2和C3来判断人的脚是否处于静止状态;
数据传输模块,与中央处理模块连接,用于将定位模块采集的位置信息通过无线信号进行传输;
数据传输模块的传递函数为:
其中,ω0为滤波器的中心频率,对于不同的ω0,k使k/ω0保持不变;
在频率域构造滤波器,对应的极坐标表达方式为:
G(r,θ)=G(r,r)r·G(θ,θ);
式中,Gr(r)为控制滤波器带宽的径向分量,Gθ(θ)为控制滤波器方向的角度分量;
r表示径向坐标,θ表示角度坐标,f0为中心频率,θ0为滤波器方向,σf用于确定带宽;
Bf=2(2/ln2)1/2|lnσf|,σθ确定角度带宽,Bθ=2(2/ln2)1/2σθ;
中央处理模块,与定位模块、数据传输模块、加密模块、数据存储模块、位置查询模块、显示模块连接,用于对用户位置数据进行处理;中央处理模块的数据处理方法包括:
读入C程序,对C程序进行语法语义分析,并从抽象语法树中提取出控制流自动机CFG;给CFG添加safety插值和error插值,扩展CFG;在根据CFG生成ARG的过程中,在每一个状态,判断safety插值和error插值是否被当前路径公式蕴含;
如果某一个状态的error插值被蕴含,则说明程序存在一条真反例路径,程序不安全,验证结束;如果safety插值被蕴含,则说明该状态的后续所有路径都是安全的,不需要遍历,减少了遍历的路径;如果发现一个虚假反例路径,则根据Craig插值,计算和更新safety插值和error插值;
加密模块,与中央处理模块连接,用于通过同态加密对用户位置数据进行加密;
数据存储模块,与中央处理模块连接,用于存储加密的用户位置数据;
位置查询模块,与中央处理模块连接,用于查询对象获得与用户位置最近距离的查询结果;
显示模块,与中央处理模块连接,用于显示用户位置信息。
进一步,所述条件C1,C2和C3:
条件C1为加速度大小满足介于两个给定门限之间:
条件C2为局部加速度方差要大于给定的门限值,
局部加速度方差计算方式为,
其中是局部平均加速度,计算式为s为均值的窗口长度;
条件C3为陀螺仪测量值的大小满足低于给定门限:
条件之间是逻辑与的关系,即条件检测结果为C1&C2&C3,条件检测的结果再通过一个窗口长度为11的中值滤波器,输出逻辑“1”表示停止状态,逻辑“0”表示行走状态,从停止状态变化到行走状态则计为行走了一步,当前路径上行走的总步数为m(k),把人行走时的步长近似看作固定长度l,则当前行走的直线长度d(k)计算公式为:
d(k)=m(k)*l或d(k)=d(k-1)+l;
所述RSSI采集并扫描无线信号发射装置,得到RSSI值并记录具体包括:
RSSI采集设备按照最小扫描时间对布置在周围环境中的N个无线信号发射装置进行RSSI采集,每次采集得到N个RSSI值,同时记录第j秒扫描时刻tr(j),j=1,2,...,T,T表示总的采集次数;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的那个坐标产生时刻,配对保存为数据库的一条基本数据单元具体包括:
综合采集得到的RSSI与电子地图坐标,求出每个信号强度的扫描时刻tr(j),j=1,2,...,T与所有坐标产生时刻ts(k),k=1,2,...,L之间差的绝对值,找到绝对值最小的那个坐标产生时刻tm(j):
即认为tr(j)时刻扫描到的N个信号强度的坐标位于tm(j)时刻产生的电子地图坐标,配对保存为数据库的一条基本数据单元。
进一步,中央处理模块的数据处理方法具体包括:
步骤一,根据待验证的程序,生成控制流图CFG,给CFG中的结点添加3个属性:R插值,S插值和E插值,R插值是结点可达的约束条件,判断一个状态的可达性;S插值和E插值对路径进行规约,加快程序的验证;给CFG的边添加属性W;一条边的W值表示以该边指向的结点为根结点的子图中,还没有被遍历的分支的个数;
步骤二,根据生成的CFG,生成抽象可达图ARG,如果沿着一条路径生成一个新状态s,如果s对应的R插值被满足,说明状态s可达,继续沿着状态s遍历该路径;否则,状态s不可达,则该路径终止,遍历其他路径;对于一个可达的状态s,如果状态s对应的E插值被该路径对应的路径公式蕴含,说明沿着该状态存在一条到达目标状态的路径,程序不安全;如果状态s对应的S插值被蕴含,说明以状态为起点的所有路径都是安全的,不需要沿着状态s探索程序;如果状态s是可达的,且E插值和S插值都不被蕴含,则继续沿着状态s遍历该路径;
步骤三,在生成ARG的过程中,发现一条反例路径,到达目标状态,则需要进一步判断反例路径是否虚假;不是虚假反例,则说明程序是不安全的;否则,根据虚假反例,细化模型,分别计算并更新对应状态的R插值,S插值和E插值,执行重新生成ARG,直到找到一条真反例路径或不存在反例路径;
所述步骤一生成待验证程序的CFG,并且初始化结点和边的属性,包括以下步骤:
(1)找到CFG中的目标结点,从目标结点开始反向遍历CFG,遍历的结点和边都保留,没有遍历到的结点和边都删除;
(2)得到裁剪后的CFG,初始化属性的值,对各个结点的三种插值进行初始化,初次遍历CFG,生成ARG的过程中,每一个结点的R插值的初始值都为{true};对于S插值,定义了为一个二元组:(F,Is),其中,F的值域为{full,half},Is的值是一个由谓词组成的合取式;对于一个结点l,如果l没有后继结点或者l的所有后继结点的S插值都是full,记为f,表示l的所有后继结点都被遍历过,则l的S插值也是full,否则,l的S插值为half,记为h,具体的形式如下:
l是终结点,S插值的初始值为(full,true),表示如果到达终结点,路径一定是安全的;l是目标结点,S插值的初始值为(full,false),表示如果到达目标结点,路径一定是反例路径;对于其他结点,S插值的初始值为(half,true),具体的形式如下:
l是目标结点,E插值的初始值为true,表示路径一定是真反例;l是终结点,E插值的初始值为false,表示路径一定不可能到达目标结点;对于其他结点,E插值的初始值为false,初始认为都不能到达目标结点;对于每一条迁移的W属性,初始值为⊥,表示还没开始遍历,其中,W的值域为{N+,⊥},N+是正整数集合;
所述步骤二中,利用W属性决定分支边的遍历顺序,同时,利用S插值和E插值,加快验证的效率,具体的步骤包括:
(1)得到一个可达状态s',根据CFG的迁移关系,产生后继状态;如果存在多个可能的后继,根据边的W值,决定遍历顺序;边的W值的优先级为:(>0)>⊥>0;如果边的W值相同,则随机选择;对于一个后继状态s,根据R插值,如果状态s不可达,则当前路径终止,遍历其他路径;如果当前状态s可达,首先判断s的E插值是否为false;如果是false,说明s[0]的后继结点还没被遍历过,跳转到(2);如果不是false,首先采用SSA原则,每一个变量至多被赋值一次,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s);用求解器判断Pf(s0,…,s)是否蕴含s的E插值;如果蕴含,则说明程序存在一条真反例,程序不安全,验证结束;否则跳转到(2);
(2)判断s的S插值是否为full插值;如果不是full插值,则跳转到(3);如果是full插值,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s),然后用求解器判断Pf(s0,…,s)是否蕴含s的S插值;如果蕴含,则说明以状态s为起点的所有路径都是安全的,不需要探索,当前路径终止,遍历其他路径;
(3)判断s是否目标状态,如果是目标状态,则发现一条反例路径,执行步骤三;如果不是,进一步判断s是否被其他状态覆盖;如果s被覆盖,则不需要探索当前路径,遍历其他路径;如果s不被覆盖,则继续探索当前路径;
(4)如果存在没有被遍历的可达状态,则跳转到(1);否则,验证结束,程序安全。
本发明提供的加密模块4加密方法如下:
首先,根据安全性和正确性要求,分别设置内层密文和外层密文的噪音方差,内层密文和外层密文的格密码维数,生成加密解密密钥,转化密钥,自举密钥;
其次,根据给定的明文,使用加密算法和密钥对明文进行加密,输出密文;
然后,根据给定的密文,使用密钥和解密算法对密文进行解密,输出明文;
最后,输入1个或2个合法密文,运行包含自举过程的增强型同态电路运算模块,输出噪音小于1/16的密文。
本发明提供的位置查询模块6查询方法如下:
步骤1,所述数据服务提供商SP生成并公布系统参数;
步骤2,所述数据服务提供商SP生成不同分块内的查询对象所对应的密文;
步骤3,所述数据服务提供商SP根据所述系统参数中的公钥pk,利用Paillier同态加密算法对第i个分块Di的对称密钥ki实施加密,形成密文Epk(ki)后传送给所述云服务器CS存储,并公开所述密文Epk(ki);
步骤4,所述任意一个移动用户U根据当前所在位置以及每个分块在地图上的位置确认自身位置所在的分块Dj,并从所述云服务器CS处获取所在分块Dj内查询对象Mi的密文E(kj,Mj)与所在分块Dj的对称密钥kj的密文Epk(kj);
步骤5,所述任意一个移动用户U随机产生一个随机数sj,并利用所述Paillier同态加密算法对所述随机数sj进行加密,再将所述随机数sj加密后的密文Epk(sj)与所述对称密钥kj的密文Epk(kj)进行同态乘处理,得到盲化结果cj=Epk(sj)·Epk(kj),从而实现对所述对称密钥kj的盲化;所述移动用户U将所述盲化结果cj发给所述数据服务提供商SP;
步骤6,所述数据服务提供商SP利用自身私钥sk对所述盲化结果cj进行解密,得到盲化明文yj;再将所述盲化明文yj传送给所述移动用户U;
步骤7,所述任意移动用户U根据所述随机数sj及所述盲化明文yj进行去盲处理,得到对称密钥kj=yj-sj;并根据所述对称密钥kj,利用AES解密算法对所述密文E(kj,Mj)进行解密,得到所在分区Dj内的查询对象Mj,从而根据所述查询对象Mj获得与自身位置最近距离的查询结果。
本发明工作时,通过定位模块1定位用户位置信息;接着,通过数据传输模块2将定位模块1采集的位置信息通过无线信号进行传输;中央处理模块3对用户位置数据进行处理;通过加密模块4对用户位置数据进行加密;通过数据存储模块5存储加密的用户位置数据;通过位置查询模块6查询对象获得与用户位置最近距离的查询结果;通过显示模块7显示用户位置信息。
下面结合具体分析本发明作进一步描述。
图2是本发明实施例提供的实验环境平面示意图。
图3是本发明实施例提供的定位误差累积分布示意图。
1单位路径坐标生成
在需定位区域,规划不同的数据库RSSI采集路径,以直线路径为最小单位路径,设定各单位路径起始点,基于该起始点,采集者携带RSSI采集设备与惯导设备从起始点开始沿着规划后的路径匀速行走,利用惯导设备中的加速度计与陀螺仪进行计步运算,通过条件检测方法,记录第k米位置坐标产生的时刻ts(k),k=1,2,...,L,设L表示该路径上总的行走步数。设k时刻加速度计采集到的三轴加速度值分别为ak(1)、ak(2)、ak(3),陀螺仪采集到的三轴角速度分别为ωk(1)、ωk(2)、ωk(3),条件检测方法使用三个条件(C1,C2和C3)来判断人的脚是否处于静止状态:
1)条件C1为加速度大小满足介于两个给定门限之间(例如)。
2)条件C2为局部加速度方差要大于给定的门限值,
局部加速度方差计算方式为,
其中是局部平均加速度,计算式为s为均值的窗口长度。
3)条件C3为陀螺仪测量值的大小满足低于给定门限(例如)。
在上述条件检测方法中,以上三个逻辑条件必须同时满足才认为人的脚处于静止状态,所以条件之间是逻辑与的关系,即条件检测结果为C1&C2&C3。条件检测的结果再通过一个窗口长度为11的中值滤波器。输出逻辑“1”表示停止状态,逻辑“0”表示行走状态。从停止状态变化到行走状态则计为行走了一步,设当前路径上行走的总步数为m(k),把人行走时的步长近似看作固定长度l(例如l=0.7m),则当前行走的直线长度d(k)计算公式为:
d(k)=m(k)*l或d(k)=d(k-1)+l (5)
2.RSSI采集
RSSI采集设备按照最小扫描时间(约为0.5秒)对布置在周围环境中的N个无线信号发射装置进行RSSI采集,每次采集得到N个RSSI值,同时记录第j秒扫描时刻tr(j),j=1,2,...,T,设T表示总的采集次数。
3.数据时间配对
综合采集得到的RSSI与电子地图坐标,求出每个信号强度的扫描时刻tr(j),j=1,2,...,T与所有坐标产生时刻ts(k),k=1,2,...,L之间差的绝对值,找到该绝对值最小的那个坐标产生时刻tm(j):
即认为tr(j)时刻扫描到的N个信号强度的坐标位于tm(j)时刻产生的电子地图坐标,配对保存为数据库的一条基本数据单元。
4.配对优化
若数据库中同时有多条RSSI数据对应的电子地图坐标相同,则将这几条RSSI取平均值,作为数据库中该电子地图坐标的单元数据。
利用型号为AH-100B的惯性导航模块采集数据,并将其放置于脚面,人沿着直线行走了1000步。行走时,其每个轴的加速度有均值为零、方差为0.012的高斯白噪声,此外有均值为(0,0,-0.02),方差为0.04的偏差,单位m/s2;其每个轴的角速度有均值为零、方差为0.0087的高斯白噪声,此外有均值为(0,0,-0.01),方差为0.015的偏差,单位rad/s。人行走时的部分计步结果如图2所示,逻辑‘1’表示静止状态,逻辑‘0’表示行走状态,下降沿则表示行走了一步。在上述测试中检测到的步数结果等于真实步数1000步,方框表明成功监测到了步伐移动。可见,在测试条件下步数检测的错误率为0%。
图2所示的虚线表示采样路径。网格采样方法沿着虚线以1米为长度间隔进行采样,采样所得数据有392个样本,按每个采样点实际的平均用时5秒计算,建立数据库所消耗时间大约为33分钟。而采用本发明通过物理层采样得到信号的接收强度信息,采样周期大约为2次/秒,按时速3.5公里的行走速度计算,采样密度大约在0.5米左右,整个采样完成时间大约需要6分钟,并且能够得到768个数据样本。通过表1的比较就可以发现,本发明在数据库建立时间和大小上都有明显优势,在数据库大小增加了一倍的同时,数据库建立时间只相当于网格采样法的五分之一。
表1采样过程比较
数据采集时间(分钟) | 数据库样本数 | |
网格采样法 | 33 | 392 |
发明方法 | 6 | 768 |
通过以下的对比对本发明的技术效果作进一步的说明。
将指纹定位中常用的相关函数匹配定位方法同时应用在网格采样法和本发明方法中,可比较发现本发明方法对于定位精度的提升明显。图3所示的函数曲线图是100次随机位置定位误差的累积分布。观察图3可以发现,通过本发明方法能够将定位精度以80%的概率小于1米,相较于网格采样法以80%的概率小于1.8米,定位精度提升了39%。
本发明在R插值的基础上,使用S插值和E插值,通过减少遍历的路径,缓解了状态空间爆炸问题,加快了验证过程,在时间和空间上都有所提高。整个检测过程如图4所示,具体的步骤如下:
对于一个ARG A:(SA,EA),如果不存在未被遍历的新状态,则说明程序安全。否则,选择一个新的状态s探索,如果s是目标状态,则当前路径是反例路径,用求解器判断其是否虚假。如果不是虚假的,则程序不安全。否则,计算三种R插值。然后,继续生成ARG。如果s不是目标状态,且可达,则利用s的E插值判断是否存在真反例。如果s的E插值被蕴含,则说明程序不安全。否则,接着使用s的S插值判断是否需要继续沿着s遍历。如果s的S插值被蕴含,说明不需要,继续遍历其他路径。否则,进一步判断s是否被蕴含,如果s被蕴含,则也不需要继续沿着s遍历。否则,继续沿着s状态遍历。循环上述过程,直到验证程序安全或不安全。
本发明为了进一步提高验证的效率,利用优化策略,裁剪CFG,减少状态搜索空间。首先根据待验证的程序,生成对应的CFG。然后,对CFG进行裁剪,删除不可能到达目标结点的结点和边,得到新的CFG,初始化每一个结点和每一条边的属性。后续的检测过程如上述过程,刻画使用了策略1后遍历过的路径,可以看出,路径P1不需要遍历。
以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。
Claims (8)
1.一种基于大数据的同态加密机制的位置隐私保护系统,其特征在于,所述基于大数据的同态加密机制的位置隐私保护系统包括:
定位模块,与中央处理模块连接,用于通过定位器定位用户位置信息;定位模块的定位方法包括:
获取单位路径的电子地图坐标;
RSSI采集并扫描无线信号发射装置,得到RSSI值并记录;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的坐标产生时刻,配对保存为数据库的一条基本数据单元;
若数据库中同时有多条RSSI数据对应的电子地图坐标相同,将RSSI取平均值,作为数据库中该电子地图坐标的单元数据;
获取单位路径的电子地图坐标具体包括:
利用惯导设备中的加速度计与陀螺仪进行计步运算,通过条件检测方法,计算出行走的步数和直线长度,并计算每一步的电子地图坐标,记录第k步坐标产生的时刻ts(k),k=1,2,...,L,L表示该路径上总的行走步数,k时刻加速度计采集到的三轴加速度值分别为ak(1)、ak(2)、ak(3),陀螺仪采集到的三轴角速度分别为ωk(1)、ωk(2)、ωk(3),条件检测方法使用三个条件C1,C2和C3来判断人的脚是否处于静止状态;
数据传输模块,与中央处理模块连接,用于将定位模块采集的位置信息通过无线信号进行传输;
数据传输模块的传递函数为:
其中,ω0为滤波器的中心频率,对于不同的ω0,k使k/ω0保持不变;
在频率域构造滤波器,对应的极坐标表达方式为:
G(r,θ)=G(r,r)r·G(θ,θ);
式中,Gr(r)为控制滤波器带宽的径向分量,Gθ(θ)为控制滤波器方向的角度分量;
r表示径向坐标,θ表示角度坐标,f0为中心频率,θ0为滤波器方向,σf用于确定带宽;
Bf=2(2/ln2)1/2|lnσf|,σθ确定角度带宽,Bθ=2(2/ln2)1/2σθ;
中央处理模块,与定位模块、数据传输模块、加密模块、数据存储模块、位置查询模块、显示模块连接,用于对用户位置数据进行处理;中央处理模块的数据处理方法包括:
读入C程序,对C程序进行语法语义分析,并从抽象语法树中提取出控制流自动机CFG;给CFG添加safety插值和error插值,扩展CFG;在根据CFG生成ARG的过程中,在每一个状态,判断safety插值和error插值是否被当前路径公式蕴含;
如果某一个状态的error插值被蕴含,则说明程序存在一条真反例路径,程序不安全,验证结束;如果safety插值被蕴含,则说明该状态的后续所有路径都是安全的,不需要遍历,减少了遍历的路径;如果发现一个虚假反例路径,则根据Craig插值,计算和更新safety插值和error插值;
加密模块,与中央处理模块连接,用于通过同态加密对用户位置数据进行加密;
数据存储模块,与中央处理模块连接,用于存储加密的用户位置数据;
位置查询模块,与中央处理模块连接,用于查询对象获得与用户位置最近距离的查询结果;
显示模块,与中央处理模块连接,用于显示用户位置信息。
2.如权利要求1所述基于大数据的同态加密机制的位置隐私保护系统,其特征在于,所述条件C1,C2和C3:
条件C1为加速度大小满足介于两个给定门限之间:
条件C2为局部加速度方差要大于给定的门限值,
局部加速度方差计算方式为,
其中是局部平均加速度,计算式为s为均值的窗口长度;
条件C3为陀螺仪测量值的大小满足低于给定门限:
条件之间是逻辑与的关系,即条件检测结果为C1&C2&C3,条件检测的结果再通过一个窗口长度为11的中值滤波器,输出逻辑“1”表示停止状态,逻辑“0”表示行走状态,从停止状态变化到行走状态则计为行走了一步,当前路径上行走的总步数为m(k),把人行走时的步长近似看作固定长度l,则当前行走的直线长度d(k)计算公式为:
d(k)=m(k)*l或d(k)=d(k-1)+l;
所述RSSI采集并扫描无线信号发射装置,得到RSSI值并记录具体包括:
RSSI采集设备按照最小扫描时间对布置在周围环境中的N个无线信号发射装置进行RSSI采集,每次采集得到N个RSSI值,同时记录第j秒扫描时刻tr(j),j=1,2,...,T,T表示总的采集次数;
求出每个信号强度的扫描时刻与所有坐标产生时刻之间差的绝对值,找到绝对值最小的那个坐标产生时刻,配对保存为数据库的一条基本数据单元具体包括:
综合采集得到的RSSI与电子地图坐标,求出每个信号强度的扫描时刻tr(j),j=1,2,...,T与所有坐标产生时刻ts(k),k=1,2,...,L之间差的绝对值,找到绝对值最小的那个坐标产生时刻tm(j):
即认为tr(j)时刻扫描到的N个信号强度的坐标位于tm(j)时刻产生的电子地图坐标,配对保存为数据库的一条基本数据单元。
3.如权利要求1所述基于大数据的同态加密机制的位置隐私保护系统,其特征在于,中央处理模块的数据处理方法具体包括:
步骤一,根据待验证的程序,生成控制流图CFG,给CFG中的结点添加3个属性:R插值,S插值和E插值,R插值是结点可达的约束条件,判断一个状态的可达性;S插值和E插值对路径进行规约,加快程序的验证;给CFG的边添加属性W;一条边的W值表示以该边指向的结点为根结点的子图中还没有被遍历的分支的个数;
步骤二,根据生成的CFG,生成抽象可达图ARG,如果沿着一条路径生成一个新状态s,如果s对应的R插值被满足,说明状态s可达,继续沿着状态s遍历该路径;否则,状态s不可达,则该路径终止,遍历其他路径;对于一个可达的状态s,如果状态s对应的E插值被该路径对应的路径公式蕴含,说明沿着该状态存在一条到达目标状态的路径,程序不安全;如果状态s对应的S插值被蕴含,说明以状态为起点的所有路径都是安全的,不需要沿着状态s探索程序;如果状态s是可达的,且E插值和S插值都不被蕴含,则继续沿着状态s遍历该路径;
步骤三,在生成ARG的过程中,发现一条反例路径,到达目标状态,则需要进一步判断反例路径是否虚假;不是虚假反例,则说明程序是不安全的;否则,根据虚假反例,细化模型,分别计算并更新对应状态的R插值,S插值和E插值,执行重新生成ARG,直到找到一条真反例路径或不存在反例路径;
所述步骤一生成待验证程序的CFG,并且初始化结点和边的属性,包括以下步骤:
(1)找到CFG中的目标结点,从目标结点开始反向遍历CFG,遍历的结点和边都保留,没有遍历到的结点和边都删除;
(2)得到裁剪后的CFG,初始化属性的值,对各个结点的三种插值进行初始化,初次遍历CFG,生成ARG的过程中,每一个结点的R插值的初始值都为{true};对于S插值,定义了一个二元组:(F,Is),其中,F的值域为{full,half},Is的值是一个由谓词组成的合取式;对于一个结点l,如果l没有后继结点或者l的所有后继结点的S插值都是full,记为f,表示l的所有后继结点都被遍历过,则l的S插值也是full,否则,l的S插值为half,记为h,具体的形式如下:
l是终结点,S插值的初始值为(full,true),表示如果到达终结点,路径一定是安全的;l是目标结点,S插值的初始值为(full,false),表示如果到达目标结点,路径一定是反例路径;对于其他结点,S插值的初始值为(half,true),具体的形式如下:
l是目标结点,E插值的初始值为true,表示路径一定是真反例;l是终结点,E插值的初始值为false,表示路径一定不可能到达目标结点;对于其他结点,E插值的初始值为false,初始认为都不能到达目标结点;对于每一条迁移的W属性,初始值为⊥,表示还没开始遍历,其中,W的值域为{N+,⊥},N+是正整数集合;
所述步骤二中,利用W属性决定分支边的遍历顺序,同时,利用S插值和E插值,加快验证的效率,具体的步骤包括:
(1)得到一个可达状态s',根据CFG的迁移关系,产生后继状态;如果存在多个可能的后继,根据边的W值,决定遍历顺序;边的W值的优先级为:(>0)>⊥>0;如果边的W值相同,则随机选择;对于一个后继状态s,根据R插值,如果状态s不可达,则当前路径终止,遍历其他路径;如果当前状态s可达,首先判断s的E插值是否为false;如果是false,说明s[0]的后继结点还没被遍历过,跳转到(2);如果不是false,首先采用SSA原则,每一个变量至多被赋值一次,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s);用求解器判断Pf(s0,…,s)是否蕴含s的E插值;如果蕴含,则说明程序存在一条真反例,程序不安全,验证结束;否则跳转到(2);
(2)判断s的S插值是否为full插值;如果不是full插值,则跳转到(3);如果是full插值,得到从初始状态s0到达s的路径公式,记为Pf(s0,…,s),然后用求解器判断Pf(s0,…,s)是否蕴含s的S插值;如果蕴含,则说明以状态s为起点的所有路径都是安全的,不需要探索,当前路径终止,遍历其他路径;
(3)判断s是否目标状态,如果是目标状态,则发现一条反例路径,执行步骤三;如果不是,进一步判断s是否被其他状态覆盖;如果s被覆盖,则不需要探索当前路径,遍历其他路径;如果s不被覆盖,则继续探索当前路径;
(4)如果存在没有被遍历的可达状态,则跳转到(1);否则,验证结束,程序安全。
4.如权利要求1所述基于大数据的同态加密机制的位置隐私保护系统,其特征在于,所述加密模块加密方法如下:
首先,根据安全性和正确性要求,分别设置内层密文和外层密文的噪音方差,内层密文和外层密文的格密码维数,生成加密解密密钥,转化密钥,自举密钥;
其次,根据给定的明文,使用加密算法和密钥对明文进行加密,输出密文;
然后,根据给定的密文,使用密钥和解密算法对密文进行解密,输出明文;
最后,输入1个或2个合法密文,运行包含自举过程的增强型同态电路运算模块,输出噪音小于1/16的密文。
5.如权利要求1所述基于大数据的同态加密机制的位置隐私保护系统,其特征在于,所述位置查询模块查询方法如下:
步骤1,所述数据服务提供商SP生成并公布系统参数;
步骤2,所述数据服务提供商SP生成不同分块内的查询对象所对应的密文;
步骤3,所述数据服务提供商SP根据所述系统参数中的公钥pk,利用Paillier同态加密算法对第i个分块Di的对称密钥ki实施加密,形成密文Epk(ki)后传送给所述云服务器CS存储,并公开所述密文Epk(ki);
步骤4,所述任意一个移动用户U根据当前所在位置以及每个分块在地图上的位置确认自身位置所在的分块Dj,并从所述云服务器CS处获取所在分块Dj内查询对象Mi的密文E(kj,Mj)与所在分块Dj的对称密钥kj的密文Epk(kj);
步骤5,所述任意一个移动用户U随机产生一个随机数sj,并利用所述Paillier同态加密算法对所述随机数sj进行加密,再将所述随机数sj加密后的密文Epk(sj)与所述对称密钥kj的密文Epk(kj)进行同态乘处理,得到盲化结果cj=Epk(sj)·Epk(kj),从而实现对所述对称密钥kj的盲化;所述移动用户U将所述盲化结果cj发给所述数据服务提供商SP;
步骤6,所述数据服务提供商SP利用自身私钥sk对所述盲化结果cj进行解密,得到盲化明文yj;再将所述盲化明文yj传送给所述移动用户U;
步骤7,所述任意移动用户U根据所述随机数sj及所述盲化明文yj进行去盲处理,得到对称密钥kj=yj-sj;并根据所述对称密钥kj,利用AES解密算法对所述密文E(kj,Mj)进行解密,得到所在分区Dj内的查询对象Mj,从而根据所述查询对象Mj获得与自身位置最近距离的查询结果。
6.一种实现权利要求1~5任意一项所述基于大数据的同态加密机制的位置隐私保护系统的位置隐私保护方法的计算机程序。
7.一种搭载有权利要求1~5任意一项所述基于大数据的同态加密机制的位置隐私保护系统的信息数据处理终端。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-5任意一项所述的基于大数据的同态加密机制的位置隐私保护系统的位置隐私保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810369077.4A CN108650675A (zh) | 2018-04-23 | 2018-04-23 | 一种基于大数据的同态加密机制的位置隐私保护系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810369077.4A CN108650675A (zh) | 2018-04-23 | 2018-04-23 | 一种基于大数据的同态加密机制的位置隐私保护系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108650675A true CN108650675A (zh) | 2018-10-12 |
Family
ID=63747451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810369077.4A Pending CN108650675A (zh) | 2018-04-23 | 2018-04-23 | 一种基于大数据的同态加密机制的位置隐私保护系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650675A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344640A (zh) * | 2018-12-20 | 2019-02-15 | 东北大学 | 一种基于同态加密和多项式计算的子图匹配方法 |
CN109728904A (zh) * | 2018-12-28 | 2019-05-07 | 沈阳航空航天大学 | 一种保护隐私的空间网络查询方法 |
CN110213242A (zh) * | 2019-05-09 | 2019-09-06 | 浙江大学 | 一种多路路由背景下的高效路径验证方法 |
CN113613243A (zh) * | 2021-08-07 | 2021-11-05 | 蚌埠学院 | 一种基于同态加密的随机锚点位置隐私保护方法及系统 |
CN118194333A (zh) * | 2024-05-16 | 2024-06-14 | 北京丹灵云科技有限责任公司 | 计算机网络数据存储加密方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105246153A (zh) * | 2015-09-22 | 2016-01-13 | 四川星网云联科技有限公司 | 一种室内指纹定位数据库高密度快速采集方法 |
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
CN107749865A (zh) * | 2017-12-07 | 2018-03-02 | 安徽大学 | 一种基于同态加密的位置隐私查询方法 |
CN107831715A (zh) * | 2017-11-14 | 2018-03-23 | 江苏科沃纺织有限公司 | 一种水泵生产中质量控制系统 |
CN107844415A (zh) * | 2017-09-28 | 2018-03-27 | 西安电子科技大学 | 一种基于插值的模型检测路径缩减方法、计算机 |
CN107864033A (zh) * | 2017-05-16 | 2018-03-30 | 中国人民武装警察部队工程大学 | 一种自举型对称全同态加密方法 |
-
2018
- 2018-04-23 CN CN201810369077.4A patent/CN108650675A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105246153A (zh) * | 2015-09-22 | 2016-01-13 | 四川星网云联科技有限公司 | 一种室内指纹定位数据库高密度快速采集方法 |
CN107864033A (zh) * | 2017-05-16 | 2018-03-30 | 中国人民武装警察部队工程大学 | 一种自举型对称全同态加密方法 |
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
CN107844415A (zh) * | 2017-09-28 | 2018-03-27 | 西安电子科技大学 | 一种基于插值的模型检测路径缩减方法、计算机 |
CN107831715A (zh) * | 2017-11-14 | 2018-03-23 | 江苏科沃纺织有限公司 | 一种水泵生产中质量控制系统 |
CN107749865A (zh) * | 2017-12-07 | 2018-03-02 | 安徽大学 | 一种基于同态加密的位置隐私查询方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344640A (zh) * | 2018-12-20 | 2019-02-15 | 东北大学 | 一种基于同态加密和多项式计算的子图匹配方法 |
CN109728904A (zh) * | 2018-12-28 | 2019-05-07 | 沈阳航空航天大学 | 一种保护隐私的空间网络查询方法 |
CN109728904B (zh) * | 2018-12-28 | 2021-10-26 | 沈阳航空航天大学 | 一种保护隐私的空间网络查询方法 |
CN110213242A (zh) * | 2019-05-09 | 2019-09-06 | 浙江大学 | 一种多路路由背景下的高效路径验证方法 |
CN110213242B (zh) * | 2019-05-09 | 2020-09-08 | 浙江大学 | 一种多路路由背景下的高效路径验证方法 |
CN113613243A (zh) * | 2021-08-07 | 2021-11-05 | 蚌埠学院 | 一种基于同态加密的随机锚点位置隐私保护方法及系统 |
CN113613243B (zh) * | 2021-08-07 | 2024-10-18 | 蚌埠学院 | 一种基于同态加密的随机锚点位置隐私保护方法及系统 |
CN118194333A (zh) * | 2024-05-16 | 2024-06-14 | 北京丹灵云科技有限责任公司 | 计算机网络数据存储加密方法及系统 |
CN118194333B (zh) * | 2024-05-16 | 2024-07-12 | 北京丹灵云科技有限责任公司 | 计算机网络数据存储加密方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650675A (zh) | 一种基于大数据的同态加密机制的位置隐私保护系统 | |
KR102282367B1 (ko) | 크라우드소싱을 이용한 위치 결정, 매핑 및 데이터 관리 시스템 및 방법 | |
CN104596531B (zh) | 一种导航路线的生成方法、装置及服务器 | |
Laki et al. | Spotter: A model based active geolocation service | |
CN105241458B (zh) | 用于产生、管理、和共享运动路径的方法和装置 | |
EP2556338B1 (en) | Probe data processing | |
CN105991521A (zh) | 网络风险评估方法和装置 | |
CN109376761A (zh) | 一种地址标识及其经纬度的挖掘方法及装置 | |
CN108432204A (zh) | 安全路由传感器数据 | |
Gao et al. | Visible reverse k-nearest neighbor query processing in spatial databases | |
Aloquili et al. | Automatic vehicle location tracking system based on GIS environment | |
CN110012120A (zh) | 一种基于PoP网络拓扑的IP城市级定位算法 | |
CN108712712A (zh) | 无线保真WiFi网络关联信息显示方法及装置 | |
Lemic et al. | Web-based platform for evaluation of RF-based indoor localization algorithms | |
Hochbaum et al. | Security routing games with multivehicle C hinese postman problem | |
JP2013187895A (ja) | 高移動度車両環境における分散スペクトルセンシングのためのシステム | |
CN109728904A (zh) | 一种保护隐私的空间网络查询方法 | |
Zhang et al. | Vehicle positioning system with multi‐hypothesis map matching and robust feedback<? show [AQ ID= Q1]?> | |
Ding et al. | Gnn-geo: A graph neural network-based fine-grained ip geolocation framework | |
Chen et al. | Local path searching based map matching algorithm for floating car data | |
CN114881430A (zh) | 一种基于网络地图服务的社区生活便利度评价方法 | |
CN105187446B (zh) | 一种家庭网关检测及屏蔽用户上网业务的系统和方法 | |
Yin et al. | [Retracted] Urban Road Landscape Design and Digital Twin Simulation Modeling Analysis | |
CN106445824A (zh) | 一种基于角色的接口综合性管理系统 | |
Atmaca et al. | A privacy-preserving querying mechanism with high utility for electric vehicles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181012 |