文章投IEEE TKDE 被拒稿,审稿人提到这篇文章,所以下载下来读了读。以下观点仅个人见解,若有错误,欢迎指出。
该文章提出了可保护结构隐私的图匹配查询方案,由一个第三方来执行匹配过程。该方案给出了一个例子说明了保护查询图结构隐私的必要性,但是该例子很牵强,跟后面方案不太符。
首先文章对数据图并未做任何处理,由SP保存,或查询时上传给SP;对查询图构建邻接矩阵,两点有边则为1,否则为0,然后encoding,再加密,如下:
用户定义一个查找时的开始顶点label,服务器拿到的是加密之后的矩阵,一、然后在数据图中开始找候选子图,在这一步中就需要用到查询图中的顶点label了(第三步,第四步),所以查询图邻接矩阵中要带有顶点label,
黑色部分是数据图中找出的满足要求的候选子图
二、接着再对候选子图进行削减(Since the sizes of candidate subgraphs have a significant impact on performance, we propose MinCandSubGraph (Procedure 1.2) to minimize the size of each CSs. ),根据定义5.2找出其中顶点相同的独立集或团,且前一个顶点的邻居顶点在后一个顶点的邻居顶点中,或者前一个顶点的邻居顶点并上该顶点所属后一个顶点的邻居顶点并上自己,据此对顶点排序,
下图中虚线框里为找到的两个N:
三、再根据引理5.1去除相关顶点,只保留Top-k个顶点,该步也需要用到查询图中顶点的label,出现的次数,所以再次证实SP必须知道Q的各顶点
得到下图:
四、接着在候选子图找候选匹配,也就是可能与查询图匹配的子图
下图为找出的三种情况,因为图很大,匹配越多,所以对候选匹配再削减,(同构的去掉(通过规范标签是否相同来找同构)子图去掉(枚举出顶点个数相同的子图,算其规范标签))
根据意思,可去除第二个和第三个,因为这俩同构,去除一个即可;因为第二个是第一个的子图,所以第二个也可以去掉,但是文中仅去掉了第三个,我不太明白
五、根据这些候选匹配,找出候选映射,即查询图中每个顶点的匹配顶点(仅标签相同),这一步也需要用到查询图的顶点label,这是枚举出来的映射:
然后对每组映射进行验证,看两点之间在查询图中有边的话,相应的映射点在数据图中是否有边,进行矩阵乘和加,将结果返回用户,用户解密
总结:该文章属于将匹配过程外包给了第三方。
根据引言中给出的例子,我觉得,作者仅把查询结构保护了,SP仍能知道顶点,也就是知道要查询哪些人,同样在被渗透的情况下泄露了隐私而且SP在后来的查询中也要用到查询图的结构,通过该结构找出候选匹配,候选映射,这也不泄露了查询结构了
文中对查询图的盲化仅仅用来最后验证候选映射,其中间查询过程已经暴露