CN117349894A - 一种基于填充字典加密的图结构最短路径查询方法 - Google Patents

一种基于填充字典加密的图结构最短路径查询方法 Download PDF

Info

Publication number
CN117349894A
CN117349894A CN202311629347.8A CN202311629347A CN117349894A CN 117349894 A CN117349894 A CN 117349894A CN 202311629347 A CN202311629347 A CN 202311629347A CN 117349894 A CN117349894 A CN 117349894A
Authority
CN
China
Prior art keywords
node
pseudo
dictionary
query
edge
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.)
Granted
Application number
CN202311629347.8A
Other languages
English (en)
Other versions
CN117349894B (zh
Inventor
杨明
张凯洋
吴晓明
霍吉东
穆超
王鑫
陈振娅
徐硕
吴法宗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qilu University of Technology
Shandong Computer Science Center National Super Computing Center in Jinan
Original Assignee
Qilu University of Technology
Shandong Computer Science Center National Super Computing Center in Jinan
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qilu University of Technology, Shandong Computer Science Center National Super Computing Center in Jinan filed Critical Qilu University of Technology
Priority to CN202311629347.8A priority Critical patent/CN117349894B/zh
Publication of CN117349894A publication Critical patent/CN117349894A/zh
Application granted granted Critical
Publication of CN117349894B publication Critical patent/CN117349894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于保密通信的技术领域,更具体地,涉及一种基于填充字典加密的图结构最短路径查询方法。所述方法包括数据拥有者构造填充字典结构的密文图;数据拥有者向有查询需求的用户通过安全信道发送授权令牌;生成查询令牌,用户将查询令牌发送至云服务器端;云服务器在接收到密文图和查询令牌之后,进行最短距离查询;获取明文查询结果。本发明解决了现有技术中用户的数据存储在第三方服务器上,可能会面临数据泄露和安全漏洞的风险以及查询效率较低的问题。

Description

一种基于填充字典加密的图结构最短路径查询方法
技术领域
本发明属于保密通信的技术领域,更具体地,涉及一种基于填充字典加密的图结构最短路径查询方法。
背景技术
知识图谱是一种通过图的结构来有机组织和呈现知识的系统性方法,它将实体和关系以节点和边的形式表示在图中,这种可视化方式有助于更好地理解和分析知识。在知识图谱中,最短路径查询是一项关键的操作,它用于找出两个节点之间的最短路径,并提供该路径的距离值。这一操作在多种实际应用中发挥着至关重要的作用,例如网络路由、交通规划和社交网络分析。
中国发明专利CN115021890A公开了一种加法同态加密和密码累加器计算的方法,首先,利用同态密码加密邻接表实例化的图数据,并结合加法同态加密和混淆电路基于优先队列实现广度优先Dijkstra算法,计算加密图数据上的精确最短路径;其次,基于加密图数据构造二项堆结构并利用双线性映射累加器计算加密最短路径结果的验证证据,实现加密图数据外包最短路径查询计算结果的正确性可验证。
由于图数据结构能够有效地表示和管理实体之间的复杂关系,所以现实中的图结构数据,例如网络拓扑,交通网络等通常包含大量的数据信息。随着用户需求的不断增长,图数据的规模也在不断扩大,本地存储往往难以满足用户需求,因此,用户越来越倾向于将大规模数据外包给云服务器,以减轻本地存储和计算的负担,但查询时的效率较低。云服务器与本地设备相比拥有巨大的存储空间和强大的计算能力,但用户的数据存储在第三方服务器上,可能会面临数据泄露和安全漏洞的风险。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷,提供一种基于填充字典加密的图结构最短路径查询方法,以解决现有技术为了防止服务器对外包数据实施统计分析和推断攻击,从而导致泄露知识图谱敏感信息等问题。
本发明包括云服务器、数据拥有者和用户,其中数据拥有者在本地将知识图谱图结构数据转化为填充字典结构的密文图:首先数据拥有者将知识图谱的图结构数据转化为对应的邻接表,之后会对邻接表中的某些节点进行填充,因为图中每个节点的邻接表长度不一,在实施最短路径查询时,邻接表的节点个数及图谱拓扑结构等信息容易被服务器所推断从而造成数据泄露,因此需要对节点进行邻接表的虚拟填充,以保证每个节点邻接表长度相同,从而防止服务器根据历史查询来推断图数据信息。
在填充策略的选择上,传统的填充方法通常是对需要填充的节点填充一个无穷的路径权值,或者是填充毫无意义的预定义标志位,来表示该节点的邻接节点只具备填充性。本发明不同于传统的填充方案;提出了伪节点生成以及伪边构造的方法,以求达到更接近于真实图谱的拓扑结构,同时实现对图谱中节点和路径等敏感信息的保护。
本发明详细的技术方案如下:
S1.数据拥有者构造填充字典结构的密文图。
S2.数据拥有者向有查询需求的用户通过安全信道发送授权令牌(1),公式(1)中,伪随机函数值/>,/>为安全参数,/>为根据同态加密算法生成密钥对/>中的私钥。
S3.用户利用授权令牌中的伪随机函数值对待查询的起止点进行伪随机计算生成/>,将/>与/>生成查询令牌/>,最后用户将查询令牌/>发送至云服务器端;/>(2),公式(2)中,/>为待查询的起始节点,为待查询的终止节点,/>为节点/>利用伪随机函数/>计算后的值,/>为节点/>利用伪随机函数/>计算后的值。
S4.云服务器在接收到填充字典和查询令牌之后,进行最短距离查询。
S5.用户在接收到字典和字典/>后,利用授权令牌中/>和/>对其进行解密计算,得到明文查询结果。
具体的,所述S1具体包括:
S1.1.设定一个安全参数,根据给定安全参数/>生成伪随机函数值,根据同态加密算法生成密钥对/>
S1.2.将知识图谱图数据转化为相对应的邻接表,用来存储图数据节点和边的对应关系;邻接表是一种图数据的表示方法。
S1.3.遍历邻接表中的节点,计算每个节点的出度值,将所有节点中出度最大的值记为,即图的最大出度;所述节点的出度值是指有向图中一个节点指向其他节点的边的数量。
S1.4设置一个独立于密文图中所有节点的伪节点,所述伪节点用于构造填充字典密文图的虚拟节点,将该节点的出度值设置为最大出度值/>;其中,伪节点并不代表实际图中的节点。
S1.5.初始化一个字典,对于图数据/>邻接表中的每个节点都在字典/>中生成一组条目,每组条目所对应的索引即为该条目的节点/>利用伪随机函数/>计算后的值:/>(3),公式(3)中,/>为构造填充字典中的当前节点。
对于每组条目,将邻接表中该节点所邻接的每条边存入其中,每条边所对应的起始节点和终止节点利用伪随机函数进行计算/>,对于邻接表中的每条边的边长/>通过同态加密进行计算得到加密值/>,之后利用伪随机函数值/>对该边的三元组进行异或运算,邻接表中每条边的计算结果如公式(4)所示:(4),公式(4)中,/>表示每条边的起始节点,/>表示每条边的终止节点,/>表示边长l通过同态加密计算得到的加密值。
将该节点对应的所有邻接边按照上述操作计算完成后,存放于中该节点的相应条目。
S1.6.计算完当前节点对应的所有邻接边之后,比较当前节点的出度与图最大出度的大小,如果出度值小于/>,需要利用伪边对其进行填充。
若伪边在图数据中不存在,是图中真实节点与伪节点连接虚拟边,则伪边的起始节点即为目前正在计算的节点,终点设置为节点,赋值该伪边的边长为1,然后根据S1.5利用伪随机函数和同态加密对伪边进行计算,/>(5)。
若需要填充大于等于一条伪边时,当前节点与伪节点/>进行连接生成伪边,伪边边长设定为该节点上一个填充邻接表的伪边的边长加1,从而实现对起始节点为当前节点、终止节点为伪节点的多条伪边区分,直至该节点填充之后的出度等于/>
S1.7.计算完邻接表中所有节点后,还会添加关于伪节点的一组条目,该条目有条伪边,每条伪边起止点均为点/>,边长为1、2.../>,利用伪随机函数与同态加密对其节点和边长进行计算:/>(6)。
计算至此对密文图填充完整,得到完整的填充字典,数据拥有者将填充字典外包至云服务器端。
所述发送授权令牌还包括分发授权令牌:
所述数据拥有者将授权令牌发送给用户,使用户有查询数据库的权限,授权令牌中包含伪随机函数值和私钥/>,所述授权令牌有时间限制,超过时间后,授权令牌将自动失效。
所述S4具体包括:
S4.1.云服务器初始化一个斐波那契堆Fibonacci Heap、一个Path字典和一个Dis字典。
S4.2.云服务器遍历一次填充字典,判断待查询的起止点/>在填充字典/>中的是否存在,如果返回值为空,证明查询节点在图数据中不存在,查询结束,返回给用户/>;如果返回值存在,则继续进行下面S4.3。
S4.3.云服务器根据查询令牌中的待查询的起始节点找到填充字典/>中相对应的条目,进而找到待查询的起始节点/>的邻接边,利用查询令牌中的伪随机函数值/>对相邻接的边进行异或运算,得到每条邻接边的终止节点,将终止节点通过算法插入到斐波那契堆Fibonacci Heap中,斐波那契堆Fibonacci Heap的根节点为待查询的起始节点。
S4.4.斐波那契堆Fibonacci Heap构建完成之后,使用堆提取最小值算法ExtractMin(H),找到并提取堆的最小值,即待查询的起始节点到节点/>的距离最短,之后将/>添加到字典Path中,将斐波那契堆Fibonacci Heap的根节点与当前节点所构成的边的边长/>累加到字典/>中;其中,/>为最短距离查询中当前节点。
S4.5.将当前节点与查询令牌中的待查询的终止节点进行判断,如果不相同,则重复迭代S4.3、S4.4构造关于的斐波那契堆Fibonacci Heap;如果相同,则证明找出最短路径,将/>字典和/>字典返回给用户。
所述发送授权令牌还包括分发授权令牌:
所述数据拥有者将授权令牌发送给用户,使用户有查询数据库的权限,授权令牌中包含伪随机函数值和私钥/>,所述授权令牌有时间限制,超过时间后,授权令牌将自动失效。
与现有技术相比,本发明的有益效果为:
本发明提供的一种基于填充字典加密的图结构最短路径查询方法,提出了伪节点生成以及伪边构造的方法,以求达到更接近于真实图谱的拓扑结构,同时实现对图谱中节点和路径等敏感信息的保护,可将本地的图数据通过此方法加密之后外包给云服务器,确保用户数据的安全,并且可以有效的对外包图数据进行最短距离查询。
附图说明
图1是本发明所述方法流程示意图。
图2是本发明所述方法系统示意图。
图3是本发明实施例1中图数据结构图。
图4是本发明实施例1中图数据的邻接表。
图5是本发明实施例1中图数据的填充字典结构密文图。
具体实施方式
下面结合附图与实施例对本公开做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、S、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例 1
本实施例提供一种基于填充字典加密的图结构最短路径查询方法,包括云服务器、数据拥有者和用户;如图2所示,数据拥有者为图数据的拥有者,其主要作用在于将本地的图数据进行加密,之后将密文图上传至云服务器,并且会给用户发送授权令牌,赋予用户查询权限;用户为图数据的使用者,当接收到授权令牌后,即可进行最短距离查询:用户将查询的起止点制作成查询令牌,将其发送到云服务器,云服务器经过计算之后返回给用户一个加密结果,用户利用查询令牌中的私钥进行解密,得到最后的查询结果;云服务器主要负责存储和计算密文图数据,当接收到数据拥有者发送的密文图和用户发送的查询令牌之后,会进行最短距离查询算法,得到一个加密结果,期间不会得到关于图数据的相关信息,最后将该计算结果返回给用户。
具体步骤,如图1所示:
S1:数据拥有者构造填充字典结构的密文图。
具体的,所述S1具体包括:
S1.1.设定一个安全参数,根据给定参数生成伪随机函数值/>,根据同态加密算法生成密钥对/>
S1.2.将知识图谱图数据转化为相对应的邻接表,用来存储图数据节点和边的对应关系,如图3、图4所示;图3为图数据示意图,其中v1-v6为节点,数字(2、3、4、5)为边长;邻接表是一种图数据的表示方法。
S1.3.遍历邻接表中的节点,计算每个节点的出度值,将所有节点中出度最大的值记为
所述节点的出度值是指有向图中一个节点指向其他节点的边的数量;如图4中图数据的最大出度为3,所以设置/>=3;
S1.4设置一个独立于密文图中所有节点的伪节点,所述伪节点用于构造填充字典密文图的虚拟节点,将该节点的出度值设置为最大出度值/>;其中,伪节点并不代表实际图中的节点。
S1.5.初始化一个字典,对于图数据/>邻接表中的每个节点都在字典/>中生成一组条目,每组条目所对应的索引即为该条目的节点/>利用伪随机函数/>计算后的值,/>(3)。
对于每组条目,将邻接表中该节点所邻接的每条边存入其中,每条边所对应的两个节点利用伪随机函数进行计算/>,边长/>通过同态加密进行计算得到加密值/>,之后利用伪随机函数值/>对该边的三元组进行异或运算:(4)。
将该节点对应的所有邻接边按照上述操作计算完成后,存放于中该节点的相应条目。
具体的,如图3中节点的第一条边所示:/>(7)。
将该节点对应的所有邻接边按照上述操作计算完成后,存放于/>中/>节点的相应条目,节点/>所对应的条目如下所示;(8)。
S1.6.计算完当前节点的所有邻接边之后,比较该节点的出度与图数据最大出度值的大小,如果出度值小于/>,需要利用伪边对其进行填充;伪边在图数据中不存在,是图中真实节点与伪节点连接虚拟边,伪边的起始节点即为目前正在计算的节点,终点设置为伪节点/>,赋值该伪边的边长为1,然后根据S1.5利用伪随机函数和同态加密对伪边进行计算,/>(5)。
具体的,如图4所示,以节点为例,计算完节点/>的所有邻接边之后,比较该节点的出度与图最大出度/>的大小,如果出度值小于/>,需要利用伪边对其进行填充,如果等于3,则继续计算下一个节点。
计算得出节点的出度值为1<3,则对其进行填充,伪边的起始节点即为目前正在计算的节点/>,终止节点设置为伪节点/>,赋值该伪边的边长为1,之后依照步骤4利用伪随机函数和同态加密对伪边进行计算,节点/>的第一条伪边如下所示;(9)。
之后继续判断节点的出度值为2<3,则继续填充伪边,节点/>依然与伪节点/>进行连接生成伪边,伪边路径权值设定为该节点上一个填充邻接表的伪边的边长加1,节点/>的第二条伪边如下所示;/>(10)。
依照此步骤对其他所有的节点进行判断并填充伪边直到出度值等于图最大出度=3。
S1.7.计算完邻接表中所有节点后,还会添加关于伪节点的一组条目,该条目有条伪边,每条伪边起止点均为点/>,边长为1、2...M,利用伪随机函数与同态加密对其节点和边长进行计算:/>(6)。
具体的,以伪节点为例,该条目存放关于伪节点/>,数量为图的最大出度伪节点,每条伪边起止点均为点/>,边长分别为1、2、3,同样利用伪随机函数与同态加密对其节点和边长进行计算,节点/>所对应条目如下所示;(11)。
至此,基于填充字典结构的密文字典计算完成,其具体构造如图5所示,得到完整的填充字典,数据拥有者将填充字典/>外包至云服务器端。
S2.数据拥有者向有查询需求的用户通过安全信道发送授权令牌(1),公式(1)中,伪随机函数值/>,/>为安全参数,/>为根据同态加密算法生成密钥对/>中的私钥。
所述发送授权令牌前还包括分发授权令牌:
所述数据拥有者将授权令牌发送给用户,使用户有查询数据库的权限,授权令牌中包含伪随机函数值和私钥/>,所述授权令牌有时间限制,超过时间后,授权令牌将自动失效。
S3.生成查询令牌,用户将查询令牌/>发送至云服务器端。
用户利用授权令牌中的伪随机函数值对待查询的起始节点进行伪随机计算生成/>,将/>与/>生成查询令牌/>,最后用户将查询令牌发送至云服务器端;/>(2)。
所述发送授权令牌还包括分发授权令牌:
所述数据拥有者将授权令牌发送给用户,使用户有查询数据库的权限,授权令牌中包含伪随机函数值和私钥/>,所述授权令牌有时间限制,超过时间后,授权令牌将自动失效。
S4.云服务器在接收到填充字典和查询令牌之后,进行最短距离查询。
所述S4具体包括:
S4.1.云服务器初始化一个斐波那契堆Fibonacci Heap、一个Path字典和一个Dis字典。
S4.2.云服务器遍历一次填充字典,判断待查询起止点/>在填充字典/>中的是否存在,如果返回值为空,证明查询节点在图数据中不存在,查询结束,返回给用户/>;如果返回值存在,则继续进行下面S4.3。
S4.3.云服务器根据查询令牌中的待查询起始节点找到填充字典/>中相对应的条目,从而找到/>的邻接边,利用查询令牌中的伪随机函数值/>对相邻接的边进行异或运算,得到/>邻接边的终止节点,分别为/>、/>、/>,将终止节点通过/>算法插入到Fibonacci Heap中,Fibonacci Heap的根节点为/>
S4.4.Fibonacci Heap构建完成之后,使用堆提取最小值算法ExtractMin(H),找到并提取堆的最小值,即目前起始节点/>到节点/>的距离最短,之后将节点/>添加到字典Path中,将起始节点/>与节点/>所构成的边的边长/>累加到字典/>中。
S4.5.将当前计算节点与查询令牌中的待查询的终止节点/>进行判断,结果不相同,则重复迭代S4.3、S4.4构造关于当前计算节点/>的Fibonacci Heap。
重复迭代此过程,直到当前获取的最小值为,判断与查询令牌中待查询的终止节点相同,查询终止,将计算得到的字典/>和字典返回给用户;如果相同,则证明找出最短路径,将字典和字典/>返回给用户,其中/>表示将S4.4中每次计算求出Fibonacci Heap的根节点与当前节点所构成的边的边长的一个累加值。
S5.获取明文查询结果;
用户在接收到字典和字典/>后,利用授权令牌中/>和/>对其进行解密计算,得到明文查询结果。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (4)

1.一种基于填充字典加密的图结构最短路径查询方法,其特征在于,包括;
S1.数据拥有者构造填充字典结构的密文图;
S2.数据拥有者向有查询需求的用户通过安全信道发送授权令牌
(1);
公式(1)中,伪随机函数值,/>为安全参数,/>为根据同态加密算法生成密钥对/>中的私钥;
S3.用户利用授权令牌中的伪随机函数值对待查询的起止点进行伪随机计算生成,将/>与/>生成查询令牌/>,最后用户将查询令牌/>发送至云服务器端;
(2);
公式(2)中,为待查询的起始节点,/>为待查询的终止节点,/>为节点/>利用伪随机函数/>计算后的值,/>为节点/>利用伪随机函数/>计算后的值;
S4.云服务器在接收到填充字典和查询令牌之后,进行最短距离查询,得到查询结果字典Path和字典Dis,云服务器将字典Path和字典Dis发送给用户;
S5.用户在接收到字典和字典/>后,利用授权令牌中/>和/>对其进行解密计算,得到明文查询结果。
2.根据权利要求1所述的一种基于填充字典加密的图结构最短路径查询方法,其特征在于,所述S1具体包括:
S1.1.设定一个安全参数,根据给定安全参数/>生成伪随机函数值/>,根据同态加密算法生成密钥对/>
S1.2.将知识图谱图数据转化为相对应的邻接表,用来存储图数据节点和边的对应关系;
S1.3.遍历邻接表中的节点,计算每个节点的出度值,将所有节点中出度最大的值记为
S1.4设置一个独立于密文图中所有节点的伪节点,所述伪节点用于构造填充字典密文图的虚拟节点,将该节点的出度值设置为最大出度值/>
S1.5.初始化一个字典,对于图数据/>邻接表中的每个节点都在字典/>中生成一组条目,每组条目所对应的索引即为该条目的节点/>利用伪随机函数/>计算后的值/>
(3);
公式(3)中,为构造填充字典中的当前节点;
对于每组条目,将邻接表中该节点所邻接的每条边存入其中,每条边所对应的起始节点和终止节点利用伪随机函数进行计算/>,对于邻接表中的每条边的边长/>通过同态加密进行计算,之后利用伪随机函数值/>对该边的三元组进行异或运算,邻接表中每条边的计算结果如下:
(4);
公式(4)中,表示每条边的起始节点,/>表示每条边的终止节点,/>表示边长l通过同态加密计算得到的加密值;
将该节点对应的所有邻接边计算完成后,存放于中该节点的相应条目;
S1.6.计算完当前节点的所有邻接边之后,比较该节点的出度与图数据最大出度值的大小,如果出度值小于/>,需要利用伪边进行填充;
若伪边在图数据中不存在,是图中真实节点与伪节点连接虚拟边,则伪边的起始节点即为当前正在计算的节点,终点设置为伪节点,赋值该伪边的边长为1,然后根据S1.5利用伪随机函数和同态加密对伪边进行计算,
(5);
若需要填充大于等于一条伪边时,当前节点与伪节点/>进行连接生成伪边,伪边边长设定为该节点上一个填充邻接表的伪边的边长加1,直至该节点填充之后的出度等于/>
S1.7.计算完邻接表中所有节点后,还会添加关于伪节点的一组条目,该条目有/>条伪边,每条伪边起止点均为点/>,边长为1、2/>M,利用伪随机函数与同态加密对其节点和边长进行计算:
(6)
公式(6)中,表示该伪边的边长1通过同态加密计算得到的加密值;
至此,对密文图填充完整,得到完整的填充字典,数据拥有者将填充字典/>外包至云服务器端。
3.根据权利要求2所述的一种基于填充字典加密的图结构最短路径查询方法,其特征在于,所述S4具体包括:
S4.1.云服务器初始化一个斐波那契堆Fibonacci Heap、一个Path字典和一个Dis字典;
S4.2.云服务器遍历一次填充字典,判断待查询的起止点在填充字典/>中的是否存在,如果返回值为空,证明待查询节点在图数据中不存在,查询结束,返回给用户/>
如果返回值存在,则继续进行下面S4.3;
S4.3.云服务器根据查询令牌中的待查询的起始节点找到填充字典中相对应的条目,进而找到待查询的起始节点的邻接边,利用查询令牌中的伪随机函数值/>对相邻接的边进行异或运算,得到每条邻接边的终止节点,将终止节点通过/>算法插入到斐波那契堆Fibonacci Heap中,斐波那契堆Fibonacci Heap的根节点为待查询的起始节点;
S4.4.斐波那契堆Fibonacci Heap构建完成之后,使用堆提取最小值算法ExtractMin(H),找到并提取堆的最小值,即待查询的起始节点到节点/>的距离最短,之后将添加到字典Path中,将斐波那契堆Fibonacci Heap的根节点与当前节点所构成的边的边长/>累加到字典/>中;其中,/>为最短距离查询中当前节点;
S4.5.将当前节点与查询令牌中的待查询的终止节点进行判断,如果不相同,则重复迭代S4.3、S4.4构造的斐波那契堆Fibonacci Heap;
如果相同,则证明找出最短路径,将字典和/>字典返回给用户,/>表示将S4.4中每次计算求出斐波那契堆Fibonacci Heap的根节点与当前节点所构成的边的边长的一个累加值。
4.根据权利要求1所述的一种基于填充字典加密的图结构最短路径查询方法,其特征在于,所述发送授权令牌还包括分发授权令牌:
所述数据拥有者将授权令牌发送给用户,使用户有查询数据库的权限,授权令牌中包含伪随机函数值和私钥/>,所述授权令牌有时间限制,超过时间后,授权令牌将自动失效。
CN202311629347.8A 2023-12-01 2023-12-01 一种基于填充字典加密的图结构最短路径查询方法 Active CN117349894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311629347.8A CN117349894B (zh) 2023-12-01 2023-12-01 一种基于填充字典加密的图结构最短路径查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311629347.8A CN117349894B (zh) 2023-12-01 2023-12-01 一种基于填充字典加密的图结构最短路径查询方法

Publications (2)

Publication Number Publication Date
CN117349894A true CN117349894A (zh) 2024-01-05
CN117349894B CN117349894B (zh) 2024-03-01

Family

ID=89365264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311629347.8A Active CN117349894B (zh) 2023-12-01 2023-12-01 一种基于填充字典加密的图结构最短路径查询方法

Country Status (1)

Country Link
CN (1) CN117349894B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291861A (zh) * 2017-06-12 2017-10-24 北京理工大学 一种面向加密图的带约束近似最短距离查询方法
CN108052834A (zh) * 2017-12-11 2018-05-18 东北大学 一种面向密态图结构的近似最短距离查询方法
CN109815723A (zh) * 2019-02-28 2019-05-28 东北大学 一种基于后缀树的可搜索加密系统及方法
US20200195439A1 (en) * 2018-12-18 2020-06-18 Citrix Systems, Inc. Method for securing the rendezvous connection in a cloud service using routing tokens
CN112836078A (zh) * 2021-02-20 2021-05-25 山东省计算中心(国家超级计算济南中心) 一种图上最短路径安全查询方法、装置、系统及存储介质
CN114417073A (zh) * 2022-03-28 2022-04-29 之江实验室 一种加密图的邻居节点查询方法及装置、电子设备
CN116405545A (zh) * 2022-12-18 2023-07-07 合肥工业大学 支持k个无序途经点的安全导航方法与系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291861A (zh) * 2017-06-12 2017-10-24 北京理工大学 一种面向加密图的带约束近似最短距离查询方法
CN108052834A (zh) * 2017-12-11 2018-05-18 东北大学 一种面向密态图结构的近似最短距离查询方法
US20200195439A1 (en) * 2018-12-18 2020-06-18 Citrix Systems, Inc. Method for securing the rendezvous connection in a cloud service using routing tokens
CN109815723A (zh) * 2019-02-28 2019-05-28 东北大学 一种基于后缀树的可搜索加密系统及方法
CN112836078A (zh) * 2021-02-20 2021-05-25 山东省计算中心(国家超级计算济南中心) 一种图上最短路径安全查询方法、装置、系统及存储介质
CN114417073A (zh) * 2022-03-28 2022-04-29 之江实验室 一种加密图的邻居节点查询方法及装置、电子设备
CN116405545A (zh) * 2022-12-18 2023-07-07 合肥工业大学 支持k个无序途经点的安全导航方法与系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MENG LI 等: "Graph Encryption for Shortest Path Queries with k Unsorted Nodes", 《2022 IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS (TRUSTCOM)》, pages 89 - 96 *
XIN WANG 等: "App-Net: A Hybrid Neural Network for Encrypted Mobile Traffic Classification", 《IEEE INFOCOM 2020 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS (INFOCOM WKSHPS)》, pages 424 - 429 *
于莹莹: "图数据精确最短距离的隐私保护外包计算方案", 《计算机工程》, vol. 49, no. 9, pages 158 - 171 *
张凯洋 等: "固体火箭发动机切向ICT重建算法研究", 《兵器装备工程学报》, vol. 43, no. 11, pages 154 - 159 *

Also Published As

Publication number Publication date
CN117349894B (zh) 2024-03-01

Similar Documents

Publication Publication Date Title
CN101039182B (zh) 基于标识的公钥密码认证系统及标识证书发放方法
Wang et al. Efficient verifiable fuzzy keyword search over encrypted data in cloud computing
CN106797313B (zh) 利用动态密钥生成的网络认证系统
Liu et al. Efficient verifiable public key encryption with keyword search based on KP-ABE
CN105721158A (zh) 云安全隐私性和完整性保护方法和系统
CN104038349A (zh) 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN109450935A (zh) 云存储中可验证的语义安全的多关键词搜索方法
CN103563288B (zh) 基于口令的单轮密钥交换协议
CN107291861B (zh) 一种面向加密图的带约束近似最短距离查询方法
CN103475473B (zh) 数字签名方法和设备、数字签名中密码运算方法和服务器
De Santis et al. Efficient provably-secure hierarchical key assignment schemes
JP2022020067A (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
CN106991148A (zh) 一种支持全更新操作的数据库验证系统及方法
CN114124371A (zh) 一种基于无证书的满足mtp安全的公钥可搜索加密方法
CN106611136A (zh) 云存储中一种数据篡改验证方法
Zhao et al. Verifiable outsourced ciphertext-policy attribute-based encryption for mobile cloud computing
JP2022095852A (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
Moe et al. Enhanced honey encryption algorithm for increasing message space against brute force attack
CN107766739B (zh) 面向加密文本数据的短语检索方法及其装置
CN113704716A (zh) 一种零知识证明在区块链数据隐私计算的应用方法
CN117349894B (zh) 一种基于填充字典加密的图结构最短路径查询方法
CN109597811A (zh) 一种分布式安全数据库链块存储方法
CN117097476A (zh) 一种基于工业互联网的数据处理方法、设备及介质
Xu et al. Dynamic chameleon authentication tree for verifiable data streaming in 5G networks
CN109257167B (zh) 一种在雾计算中保护隐私的资源分配方法

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
GR01 Patent grant
GR01 Patent grant