发明名称 隐私保护的空间关键字查询方法
摘要 本发明涉及一种隐私保护的空间关键字查询方法包括:建立空间文本数据库索引;对索引中最小外包矩形和数据点的空间坐标和文本权重进行统一加密;在密文情况下判断查询源位置与最小外包矩形的位置关系;根据位置关系的不同情况,利用查询源位置的坐标构造相应的查询请求;计算最小外包矩形在优先队列中的键值以及数据点在优先队列中的键值;根据上述键值,优先队列对最小外包矩形和数据点进行排序,并输出满足用户查询请求的前k个数据点。本发明通过对索引中的位置信息和文本描述进行统一加密处理,构建安全的查询索引,并设计基于安全索引的空间关键字查询算法以实现保护隐私的高效的空间关键字查询。
申请公布号 CN104731860A 申请公布日期 2015.06.24
申请号 CN201510058254.3 申请日期 2015.02.04
申请人 北京邮电大学 发明人 苏森;程祥;滕一平;王玉龙;徐鹏;双锴;张忠宝
分类号 G06F17/30(2006.01)I;G06F21/60(2013.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京路浩知识产权代理有限公司 11002 代理人 李相雨
主权项 一种隐私保护的空间关键字查询方法,其特征在于,包括:S1,根据预存储的数据建立空间文本数据库索引;S2,将索引中的最小外包矩形的坐标和文本信息转化为矩形的数据向量E.v,将索引中的数据点的坐标和文本信息转化为数据点的数据向量O.v,对矩形的数据向量进行加密得到加密的矩形的数据向量<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mrow><mi>E</mi><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>=</mo><mo>{</mo><msubsup><mi>M</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>E</mi><mo>&prime;</mo></msup><mo>.</mo><mi>v</mi><mo>,</mo><msubsup><mi>M</mi><mn>2</mn><mi>T</mi></msubsup><msup><mi>E</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mo>.</mo><mi>v</mi><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000666884670000011.GIF" wi="682" he="104" /></maths>对数据点的数据向量进行加密得到加密的数据点的数据向量<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mover><mrow><mi>O</mi><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>=</mo><mo>{</mo><msubsup><mi>M</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>O</mi><mo>&prime;</mo></msup><mo>.</mo><mi>v</mi><mo>,</mo><msubsup><mi>M</mi><mn>2</mn><mi>T</mi></msubsup><msup><mi>O</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mo>.</mo><mi>v</mi><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000666884670000012.GIF" wi="733" he="108" /></maths>其中,<img file="FDA0000666884670000013.GIF" wi="100" he="89" />和<img file="FDA0000666884670000014.GIF" wi="100" he="94" />为作为密钥的可逆随机矩阵,E′.v和E″.v为E.v分裂得到的两个向量,O′.v和O″.v为O.v分裂得到的两个向量;S3,记录发出查询指令的源位置的坐标以及查询关键字,计算源位置与最小外包矩形的相对位置关系,根据相对位置生成查询空间向量Q<sub>i</sub>.lv,其中,1≤i≤9,根据查询关键字生成查询文本向量Q.tv,对查询文本向量和查询空间向量进行整合和扩展得到查询向量Q<sub>i</sub>.v=(αQ<sub>i</sub>.lv|(1‑α)Q.tv|(1‑α)),其中,α为查询空间向量和查询文本向量的权重平衡因子,对查询向量进行加密得到<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mover><mrow><msub><mi>Q</mi><mi>i</mi></msub><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>=</mo><mo>{</mo><msup><msub><mi>M</mi><mn>1</mn></msub><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>Q</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>.</mo><mi>v</mi><mo>,</mo><msup><msub><mi>M</mi><mn>2</mn></msub><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>Q</mi><mi>i</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>.</mo><mi>v</mi><mo>|</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mn>9</mn><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000666884670000015.GIF" wi="858" he="100" /></maths>其中,Q'<sub>i</sub>.v和Q"<sub>i</sub>.v为Q<sub>i</sub>.v分裂得到的两个向量;S4,计算最小外包矩形在优先队列中的键值<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>SP</mi><mrow><mo>(</mo><mover><mrow><mi>E</mi><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>,</mo><mover><mrow><msub><mi>Q</mi><mi>i</mi></msub><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>=</mo><msubsup><mi>M</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>E</mi><mo>&prime;</mo></msup><mo>.</mo><mi>v</mi><mo>&CenterDot;</mo><msubsup><mi>M</mi><mn>1</mn><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><msup><mi>Q</mi><mo>&prime;</mo></msup><mi>i</mi></msub><mo>.</mo><mi>v</mi><mo>+</mo><msubsup><mi>M</mi><mn>2</mn><mi>T</mi></msubsup><msup><mi>E</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mo>.</mo><mi>v</mi><mo>&CenterDot;</mo><msubsup><mi>M</mi><mn>2</mn><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><msup><mi>Q</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mi>i</mi></msub><mo>.</mo><mi>v</mi><mo>,</mo></mrow>]]></math><img file="FDA0000666884670000016.GIF" wi="1476" he="106" /></maths>以及数据点在优先队列中的键值<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>SP</mi><mrow><mo>(</mo><mover><mrow><mi>O</mi><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>,</mo><mover><mrow><msub><mi>Q</mi><mn>8</mn></msub><mo>.</mo><mi>v</mi></mrow><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>=</mo><msubsup><mi>M</mi><mn>1</mn><mi>T</mi></msubsup><msup><mi>O</mi><mo>&prime;</mo></msup><mo>.</mo><mi>v</mi><mo>&CenterDot;</mo><msubsup><mi>M</mi><mn>1</mn><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><msup><mi>Q</mi><mo>&prime;</mo></msup><mn>8</mn></msub><mo>.</mo><mi>v</mi><mo>+</mo><msubsup><mi>M</mi><mn>2</mn><mi>T</mi></msubsup><msup><mi>O</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mo>.</mo><mi>v</mi><mo>&CenterDot;</mo><msubsup><mi>M</mi><mn>2</mn><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><msub><msup><mi>Q</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup><mn>8</mn></msub><mo>.</mo><mi>v</mi><mo>,</mo></mrow>]]></math><img file="FDA0000666884670000017.GIF" wi="1483" he="108" /></maths>S5,根据最小外包矩形在优先队列中的键值和数据点在优先队列中的键值,优先队列对最小外包矩形和数据点进行排序和输出,以查询满足用户查询指令的数据点。
地址 100876 北京市海淀区西土城路10号北京邮电大学