CN117993020B - Search method, device and equipment for home appliance network graph based on secure multi-party computing - Google Patents
Search method, device and equipment for home appliance network graph based on secure multi-party computing Download PDFInfo
- Publication number
- CN117993020B CN117993020B CN202410397787.3A CN202410397787A CN117993020B CN 117993020 B CN117993020 B CN 117993020B CN 202410397787 A CN202410397787 A CN 202410397787A CN 117993020 B CN117993020 B CN 117993020B
- Authority
- CN
- China
- Prior art keywords
- query
- encryption
- encrypted
- array
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000010586 diagram Methods 0.000 claims abstract description 92
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 173
- 230000004044 response Effects 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 15
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Water Supply & Treatment (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及信息安全技术领域,公开一种基于安全多方计算的家电网络图的搜索方法、装置和设备。该搜索方法包括:接收客户端发送的查询令牌,以及家电的加密网络图;其中,查询令牌表示查询设备的索引;根据查询令牌确定加密网络图中的目标加密信息,并将目标加密信息发送至客户端,以使客户端根据目标加密信息生成目标解密信息并返回目标解密信息至用户端。该搜索方法、装置和设备能够确保家电网络图在传输过程中的安全性和私密性,以实现保护用户隐私同时,提高对智能家电网络图的效率和安全搜索。
The present application relates to the field of information security technology, and discloses a method, device and equipment for searching a network diagram of a home appliance based on secure multi-party computing. The search method includes: receiving a query token sent by a client, and an encrypted network diagram of the home appliance; wherein the query token represents the index of the query device; determining the target encryption information in the encrypted network diagram according to the query token, and sending the target encryption information to the client, so that the client generates target decryption information according to the target encryption information and returns the target decryption information to the user end. The search method, device and equipment can ensure the security and privacy of the network diagram of the home appliance during transmission, so as to protect the privacy of the user while improving the efficiency and security of the search of the network diagram of the smart home appliance.
Description
技术领域Technical Field
本申请涉及信息安全技术领域,例如涉及一种基于安全多方计算的家电网络图的搜索方法、装置和设备。The present application relates to the field of information security technology, and for example, to a method, device and apparatus for searching a home appliance network graph based on secure multi-party computing.
背景技术Background technique
在当今的智能家居环境中,智能家电网络的安全和隐私问题日益受到重视。随着智能家电的普及,构建在这些家电设备之间的网络图成为了理解和优化家庭内设备互动的关键。然而,这样的网络图通常包含敏感信息,比如用户的生活习惯和家庭布局等,在对网络图进行搜索和分析时,会造成用户信息安全和隐私问题。In today's smart home environment, the security and privacy issues of smart home appliance networks are increasingly valued. With the popularity of smart home appliances, building network graphs between these home appliances has become the key to understanding and optimizing the interaction between devices in the home. However, such network graphs usually contain sensitive information, such as user's living habits and home layout, which will cause user information security and privacy issues when searching and analyzing network graphs.
为了保证用户信息安全和用户隐私,相关技术通常采用基于不经意传输协议和基于同态加密来实现的隐私信息搜索,具体地,基于不经意传输的隐私信息检索方案中使用的是RSA的n选1的OT协议,实现在搜索过程中保护用户隐私。但是相关技术搜索的响应时长较长,导致相关技术在保护用户隐私的同时,难以保证搜索效率和安全搜索。In order to ensure user information security and user privacy, related technologies usually use private information search based on oblivious transfer protocol and homomorphic encryption. Specifically, the RSA n-choose-1 OT protocol is used in the privacy information retrieval scheme based on oblivious transfer to protect user privacy during the search process. However, the response time of related technology search is long, which makes it difficult for related technologies to ensure search efficiency and secure search while protecting user privacy.
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present application, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field.
发明内容Summary of the invention
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key/critical elements or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.
本公开实施例提供了一种基于安全多方计算的家电网络图的搜索方法、装置和设备,以在保护用户隐私的同时,提高对智能家电网络图的效率和安全搜索。The embodiments of the present disclosure provide a method, apparatus and device for searching a network diagram of a home appliance based on secure multi-party computing, so as to improve the efficiency and security of searching a network diagram of a smart home appliance while protecting user privacy.
在一些实施例中,基于安全多方计算的家电网络图的搜索方法应用于服务器端;搜索方法包括:接收客户端发送的查询令牌,以及家电的加密网络图;其中,查询令牌表示查询设备的索引;根据查询令牌确定加密网络图中的目标加密信息,并将目标加密信息发送至客户端,以使客户端根据目标加密信息生成目标解密信息并返回目标解密信息至用户端。In some embodiments, a search method for a home appliance network graph based on secure multi-party computing is applied to the server side; the search method includes: receiving a query token sent by a client, and an encrypted network graph of the home appliance; wherein the query token represents the index of the query device; determining the target encryption information in the encrypted network graph according to the query token, and sending the target encryption information to the client, so that the client generates target decryption information according to the target encryption information and returns the target decryption information to the user side.
可选地,加密网络图包括用于存储整个加密的网络图信息的第一加密数组和用于在多设备搜索的情况下验证是否有共同连接设备的第二加密数组;根据查询令牌确定加密网络图中的目标加密信息,包括:确定查询令牌对应的查询令牌功能;其中,查询令牌功能包括表示查询单个设备的连接设备的第一查询功能、表示查询多个设备的共同连接设备的第二查询功能、表示单个设备与连接设备的连接结果排序的第三查询功能、表示查询两个设备的相关性的第四查询功能和表示多对设备之间相关性的最大值的第五查询功能中的一个或多个;根据查询令牌功能确定加密网络图中的目标加密数组;其中,目标加密数组包括第一加密数组和/或第二加密数组;基于目标加密数组,确定查询令牌功能所对应的目标加密信息。Optionally, the encrypted network map includes a first encryption array for storing the entire encrypted network map information and a second encryption array for verifying whether there are commonly connected devices in the case of a multi-device search; determining the target encrypted information in the encrypted network map based on the query token, including: determining the query token function corresponding to the query token; wherein the query token function includes a first query function representing querying the connected devices of a single device, a second query function representing querying the commonly connected devices of multiple devices, a third query function representing the sorting of connection results between a single device and a connected device, a fourth query function representing querying the correlation between two devices, and one or more of a fifth query function representing the maximum value of the correlation between multiple pairs of devices; determining the target encryption array in the encrypted network map based on the query token function; wherein the target encryption array includes the first encryption array and/or the second encryption array; based on the target encryption array, determining the target encryption information corresponding to the query token function.
可选地,家电包括多个设备;其中,在每一设备与其他设备相连接的情况下,每一设备与所连接的全部设备均设有对应的权重值;服务器端包括多个服务器;其中,每一服务器接收部分加密网络图和查询令牌;根据查询令牌功能确定加密网络图中的目标加密数组,包括:在查询令牌功能包括第一查询功能的情况下,确定目标加密数组为第一加密数组;和/或,在查询令牌功能包括第二查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组;和/或,在查询令牌功能包括第三查询功能的情况下,确定目标加密数组为第一加密数组;和/或,在查询令牌功能包括第四查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组;和/或,在查询令牌功能包括第五查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组。Optionally, the home appliance includes multiple devices; wherein, when each device is connected to other devices, each device and all connected devices are provided with corresponding weight values; the server side includes multiple servers; wherein each server receives a part of the encrypted network diagram and a query token; the target encryption array in the encrypted network diagram is determined according to the query token function, including: when the query token function includes a first query function, determining the target encryption array as the first encryption array; and/or, when the query token function includes a second query function, determining the target encryption array as the first encryption array and the second encryption array; and/or, when the query token function includes a third query function, determining the target encryption array as the first encryption array; and/or, when the query token function includes a fourth query function, determining the target encryption array as the first encryption array and the second encryption array; and/or, when the query token function includes a fifth query function, determining the target encryption array as the first encryption array and the second encryption array.
可选地,基于目标加密数组,确定查询令牌功能所对应的目标加密信息,包括:在查询令牌功能包括第一查询功能的情况下,基于第一加密数组,搜索第一查询功能对应的查询设备的加密连接设备;将查询设备的加密连接设备确定为目标加密信息;和/或,在查询令牌功能包括第二查询功能的情况下,确定第二查询功能对应的查询设备中的目标查询设备;基于第一加密数组、第二加密数组,根据目标查询设备确定查询令牌所对应的目标加密信息;和/或,在查询令牌功能包括第三查询功能的情况下,基于第一加密数组,搜索第三查询功能对应的查询设备的加密连接设备的加密序号;确定加密序号对应的加密权重值;对加密权重值进行排序,并将排序后的加密权重值对应的加密序号确定为目标加密信息;和/或,在查询令牌功能包括第四查询功能的情况下,确定第四查询功能对应的第一查询设备和第二查询设备;分别获得第一查询设备的加密连接设备的第一加密平均权重值,以及第二查询设备的加密连接设备的第二加密平均权重值;基于第一加密数组和第二加密数组,根据第一加密平均权重值和第二加密平均权重值确定第一查询设备与第二查询设备之间的加密相关性;将第一查询设备与第二查询设备之间的加密相关性确定为目标加密信息;和/或,在查询令牌包括第五查询功能的情况下,基于第一加密数组和第二加密数组,确定第五查询功能对应的多个设备中相关性最大的加密设备对;计算相关性最大的加密设备对的加密相关性值;将相关性最大的加密设备对的加密相关性值确定为目标加密信息。Optionally, based on the target encryption array, the target encryption information corresponding to the query token function is determined, including: when the query token function includes a first query function, based on the first encryption array, searching for the encryption connection device of the query device corresponding to the first query function; determining the encryption connection device of the query device as the target encryption information; and/or, when the query token function includes a second query function, determining the target query device in the query device corresponding to the second query function; based on the first encryption array and the second encryption array, determining the target encryption information corresponding to the query token according to the target query device; and/or, when the query token function includes a third query function, based on the first encryption array, searching for the encryption serial number of the encryption connection device of the query device corresponding to the third query function; determining the encryption weight value corresponding to the encryption serial number; sorting the encryption weight values, and determining the encryption serial number corresponding to the sorted encryption weight value as the target encryption information ; and/or, in the case where the query token function includes a fourth query function, determine the first query device and the second query device corresponding to the fourth query function; respectively obtain the first encryption average weight value of the encryption connection device of the first query device, and the second encryption average weight value of the encryption connection device of the second query device; based on the first encryption array and the second encryption array, determine the encryption correlation between the first query device and the second query device according to the first encryption average weight value and the second encryption average weight value; determine the encryption correlation between the first query device and the second query device as the target encryption information; and/or, in the case where the query token includes a fifth query function, based on the first encryption array and the second encryption array, determine the encryption device pair with the greatest correlation among the multiple devices corresponding to the fifth query function; calculate the encryption correlation value of the encryption device pair with the greatest correlation; determine the encryption correlation value of the encryption device pair with the greatest correlation as the target encryption information.
在一些实施例中,基于安全多方计算的家电网络图的搜索方法应用于客户端;搜索方法包括:对家电的网络图进行加密处理,获得家电的加密网络图,并将家电的加密网络图发送至服务器端;接收用户端发送的查询请求;确定查询请求所对应的查询令牌,并将查询令牌发送至服务器端;接收服务器端根据查询令牌所确定的加密网络图中的目标加密信息;根据目标加密信息生成目标解密信息,并将目标解密信息返回至用户端。In some embodiments, a search method for a home appliance network diagram based on secure multi-party computing is applied to a client; the search method includes: encrypting the network diagram of the home appliance, obtaining the encrypted network diagram of the home appliance, and sending the encrypted network diagram of the home appliance to a server; receiving a query request sent by a user; determining a query token corresponding to the query request, and sending the query token to a server; receiving target encryption information in the encrypted network diagram determined by the server according to the query token; generating target decryption information according to the target encryption information, and returning the target decryption information to the user.
可选地,家电包括多个设备,其中,在每一设备与其他设备相连接的情况下,每一设备与所连接的全部设备均设有对应的权重值;加密网络图包括第一加密数组和第二加密数组;对家电的网络图进行加密处理,获得家电的加密网络图,包括:对家电的网络图进行加密,获得第一初始信息,并将第一初始信息存储于第一初始数组;对第一初始数组进行加密,以获得第一初始数组对应的第一加密数组;对家电图中每一设备和每一设备的连接设备的序号进行加密,获得第二初始信息,并将第二初始信息和每一设备的连接设备的平均权重值存储至第二初始数组,以获得第二初始数组对应的第二加密数组。Optionally, the home appliance includes multiple devices, wherein, when each device is connected to other devices, each device and all connected devices are set with corresponding weight values; the encrypted network diagram includes a first encryption array and a second encryption array; the network diagram of the home appliance is encrypted to obtain the encrypted network diagram of the home appliance, including: encrypting the network diagram of the home appliance to obtain first initial information, and storing the first initial information in the first initial array; encrypting the first initial array to obtain a first encrypted array corresponding to the first initial array; encrypting the serial number of each device and the connected device of each device in the home appliance diagram to obtain second initial information, and storing the second initial information and the average weight value of the connected device of each device to the second initial array to obtain a second encrypted array corresponding to the second initial array.
可选地,确定查询请求所对应的查询令牌,包括:确定查询请求所对应的查询设备;生成家电的网络图中查询设备的索引;将查询设备的索引确定为查询请求所对应的查询令牌。Optionally, determining the query token corresponding to the query request includes: determining the query device corresponding to the query request; generating an index of the query device in a network diagram of home appliances; and determining the index of the query device as the query token corresponding to the query request.
在一些实施例中,基于安全多方计算的家电网络图的搜索方法应用于用户端;搜索方法包括:向客户端发出查询请求,以使客户端确定查询请求所对应的目标解密信息;接收客户端发送的查询请求所对应的目标解密信息。In some embodiments, a search method for a home appliance network graph based on secure multi-party computing is applied to a user end; the search method includes: sending a query request to the client so that the client determines the target decryption information corresponding to the query request; and receiving the target decryption information corresponding to the query request sent by the client.
在一些实施例中,基于安全多方计算的家电网络图的搜索装置,包括处理器和存储有程序指令的存储器,处理器被配置为在运行程序指令时,执行如上述的基于安全多方计算的家电网络图的搜索方法。In some embodiments, a search device for a home appliance network graph based on secure multi-party computing includes a processor and a memory storing program instructions, and the processor is configured to execute the search method for a home appliance network graph based on secure multi-party computing as described above when running the program instructions.
在一些实施例中,基于安全多方计算的家电网络图的搜索设备包括:设备本体,安装有如上述的基于安全多方计算的家电网络图的搜索装置。In some embodiments, a search device for a home appliance network graph based on secure multi-party computing includes: a device body, on which is installed a search device for a home appliance network graph based on secure multi-party computing as described above.
本公开实施例提供的基于安全多方计算的家电网络图的搜索方法、装置和设备,可以实现以下技术效果:The home appliance network graph search method, device and apparatus provided by the embodiments of the present disclosure based on secure multi-party computing can achieve the following technical effects:
服务器端接收到查询令牌和家电的加密网络图后,能够根据查询令牌在加密网络图中搜索到对应的目标加密信息。该目标加密信息包含了针对于查询请求的部分或全部应答数据,本实施例中,目标加密信息表示针对于查询请求的部分或全部应答数据的加密信息。服务器将目标加密信息发回给客户端。使得用户能够在用户端上查看到所查询的应答信息,这样,确保了家电网络图在传输过程中的安全性和私密性,以实现保护用户隐私。同时,由于该搜索方法基于安全多方计算技术所构建的加密网络图,减少执行协议交互的次数,能够实现对智能家电网络图的效率和安全搜索。After the server receives the query token and the encrypted network diagram of the home appliance, it can search for the corresponding target encrypted information in the encrypted network diagram according to the query token. The target encrypted information contains part or all of the response data for the query request. In this embodiment, the target encrypted information represents the encrypted information of part or all of the response data for the query request. The server sends the target encrypted information back to the client. This allows the user to view the queried response information on the user side, thus ensuring the security and privacy of the home appliance network diagram during transmission to protect user privacy. At the same time, since the search method is based on an encrypted network diagram constructed using secure multi-party computing technology, the number of execution protocol interactions is reduced, and efficient and secure searches of smart home appliance network diagrams can be achieved.
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。The above general description and the following description are exemplary and explanatory only and are not intended to limit the present application.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:One or more embodiments are exemplarily described by corresponding drawings, which do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements, and the drawings do not constitute a scale limitation, and wherein:
图1是本公开实施例提供的一个基于安全多方计算的家电网络图的搜索方法的系统环境的示意图;FIG1 is a schematic diagram of a system environment of a method for searching a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图2是本公开实施例提供的一个基于安全多方计算的家电网络图的搜索方法的示意图;FIG2 is a schematic diagram of a method for searching a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图3是本公开实施例提供的另一个基于安全多方计算的家电网络图的搜索方法的示意图;FIG3 is a schematic diagram of another method for searching a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图4是本公开实施例提供的另一个基于安全多方计算的家电网络图的搜索方法的示意图;FIG4 is a schematic diagram of another method for searching a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图5是本公开实施例提供的另一个基于安全多方计算的家电网络图的搜索方法的示意图;FIG5 is a schematic diagram of another method for searching a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图6是本公开实施例提供的一个基于安全多方计算的家电网络图的搜索装置的示意图;FIG6 is a schematic diagram of a search device for a home appliance network graph based on secure multi-party computing provided by an embodiment of the present disclosure;
图7是本公开实施例提供的一个设备产品的结构框图。FIG. 7 is a structural block diagram of a device product provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。In order to be able to understand the features and technical contents of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。The terms "first", "second", etc. in the specification and claims of the embodiments of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so that the embodiments of the embodiments of the present disclosure described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions.
除非另有说明,术语“多个”表示两个或两个以上。Unless otherwise stated, the term "plurality" means two or more.
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。In the embodiment of the present disclosure, the character "/" indicates that the preceding and following objects are in an "or" relationship. For example, A/B indicates: A or B.
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。The term "and/or" is a description of the association relationship between objects, indicating that three relationships can exist. For example, A and/or B means: A or B, or, A and B.
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.
需要说明的是,在不冲突的情况下,本公开实施例中的实施例及实施例中的特征可以相互组合。It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other.
下面对本公开实施例中涉及的技术术语进行介绍:The following is an introduction to the technical terms involved in the embodiments of the present disclosure:
网络图:是由节点和边构成的图形结构。通常,网络图中的节点代表设备或实体,边则展示了节点之间的关系或连接。在形式化定义上,网络图可以被定义为一个由节点集和边集组成的无向图,可以表示为,其中,表示网络图,表示节点集,表示边集。Network graph: It is a graphical structure consisting of nodes and edges. Usually, nodes in a network graph represent devices or entities, and edges show the relationship or connection between nodes. In formal definition, a network graph can be defined as an undirected graph consisting of a set of nodes and a set of edges, which can be expressed as ,in, Represents a network diagram, represents a node set, Represents an edge set.
安全多方计算(Secure Multi-Party Computation,简称SMC或MPC)是一种先进的密码学技术,是在多个互不信任的参与者之间进行协同计算,每个参与者都拥有自己的私人输入数据,但他们希望在不暴露各自输入数据的前提下,共同计算一个公共函数的结果。简言之,安全多方计算允许各方在不知道对方原始数据的情况下进行联合计算,仅得到计算结果,而不会得知对方的具体输入。Secure Multi-Party Computation (SMC or MPC) is an advanced cryptographic technology that performs collaborative computing between multiple participants who do not trust each other. Each participant has their own private input data, but they want to jointly calculate the result of a public function without exposing their own input data. In short, secure multi-party computing allows each party to perform joint computing without knowing the other party's original data, and only obtains the calculation result without knowing the other party's specific input.
本公开实施例提供的基于安全多方计算的家电网络图的搜索方法,主要应用于设备(例如,家电设备,尤其是智能家电设备),其中,家电设备中包括多个设备。多个设备之间可能会存在连接关系。该搜索方法是多端交互的搜索方法,如图1所示,该搜索方法实现服务器端104、客户端105和用户端103的交互。The search method for a home appliance network graph based on secure multi-party computing provided in an embodiment of the present disclosure is mainly applied to devices (e.g., home appliances, especially smart home appliances), wherein the home appliances include multiple devices. There may be a connection relationship between multiple devices. The search method is a multi-terminal interactive search method, as shown in FIG1 , and the search method realizes the interaction between the server 104, the client 105, and the user 103.
本公开实施例提供一种基于安全多方计算的家电网络图的搜索方法,应用于服务器端。如图2所示,该搜索方法包括:The embodiment of the present disclosure provides a method for searching a home appliance network graph based on secure multi-party computing, which is applied to a server. As shown in FIG2 , the method includes:
S201,服务器端接收客户端发送的查询令牌,以及家电的加密网络图。S201, the server receives the query token sent by the client and the encrypted network diagram of the home appliance.
其中,查询令牌表示查询设备的索引。示例性地,查询令牌是根据查询请求确定的。可以理解的是,查询令牌是经过加密处理的索引标识符,它是由客户端根据用户的查询请求生成的,与特定的设备或网络信息相对应。当服务器接收到这个查询令牌后,能够解码查询令牌以找出在加密网络图中所指向的位置。由于用户端所发出的查询请求包括用户想要查询的设备,即为查询设备。因此,客户端在接收到用户端发出的查询请求时,对查询请求进行加密,获得了查询令牌,该查询令牌能够表示为查询设备的索引,并将查询令牌发送给服务器端。通过设置查询令牌,使得用户端所发出的查询请求被加密封装,这样,既能保证数据的安全性,又能作为后续服务器端查找和传送相应设备加密信息的依据。Among them, the query token represents the index of the queried device. Exemplarily, the query token is determined according to the query request. It can be understood that the query token is an encrypted index identifier, which is generated by the client according to the user's query request and corresponds to a specific device or network information. When the server receives this query token, it can decode the query token to find the location pointed to in the encrypted network map. Since the query request issued by the user end includes the device that the user wants to query, that is, the query device. Therefore, when the client receives the query request issued by the user end, it encrypts the query request and obtains the query token, which can be expressed as the index of the query device, and sends the query token to the server end. By setting the query token, the query request issued by the user end is encrypted and encapsulated, so that the security of the data can be guaranteed and it can also serve as the basis for the subsequent server end to find and transmit the encrypted information of the corresponding device.
其中,家电的加密网络图为能够搜索且加密形式。采用加密技术和安全多方计算技术构建家电的网络图对应的加密网络图。The encrypted network graph of the home appliances is in a searchable and encrypted form. Encryption technology and secure multi-party computing technology are used to construct the encrypted network graph corresponding to the network graph of the home appliances.
S202,服务器端根据查询令牌确定加密网络图中的目标加密信息,并将目标加密信息发送至客户端,以使客户端根据目标加密信息生成目标解密信息并返回目标解密信息至用户端。S202, the server determines the target encryption information in the encrypted network diagram according to the query token, and sends the target encryption information to the client, so that the client generates the target decryption information according to the target encryption information and returns the target decryption information to the user.
在上述公开实施例中,服务器端接收到查询令牌和家电的加密网络图后,能够根据查询令牌在加密网络图中搜索到对应的目标加密信息。该目标加密信息包含了针对于查询请求的部分或全部应答数据,本实施例中,目标加密信息表示针对于查询请求的部分或全部应答数据的加密信息。服务器将目标加密信息发回给客户端。使得用户能够在用户端上查看到所查询的应答信息,这样,确保了家电网络图在传输过程中的安全性和私密性,以实现保护用户隐私。同时,由于该方案基于安全多方计算技术所构建的加密网络图,减少执行协议交互的次数,能够实现对智能家电网络图的效率和安全搜索。In the above-mentioned public embodiment, after the server receives the query token and the encrypted network diagram of the home appliance, it can search for the corresponding target encrypted information in the encrypted network diagram according to the query token. The target encrypted information contains part or all of the response data for the query request. In this embodiment, the target encrypted information represents the encrypted information of part or all of the response data for the query request. The server sends the target encrypted information back to the client. This allows the user to view the queried response information on the user side, thus ensuring the security and privacy of the home appliance network diagram during the transmission process to protect user privacy. At the same time, since the scheme is based on an encrypted network diagram constructed by secure multi-party computing technology, the number of execution protocol interactions is reduced, and efficient and secure searches of smart home appliance network diagrams can be achieved.
可选地,加密网络图包括用于存储整个加密的网络图信息的第一加密数组和用于在多设备搜索的情况下验证是否有共同连接设备的第二加密数组。这样,通过加密手段获得的加密网络图,即使数据泄露,攻击者也无法直接获取到网络的实际布局或各设备间的关联情况,从而极大地增强了网络安全性。同时,由于设置第二加密数组,能够在用户具有多设备搜索的需求的情况下,验证多个设备的共同连接设备,从而使得返回给用户的应答结果更加准确。Optionally, the encrypted network diagram includes a first encryption array for storing the entire encrypted network diagram information and a second encryption array for verifying whether there are commonly connected devices in the case of multi-device search. In this way, even if the data of the encrypted network diagram obtained by encryption is leaked, the attacker cannot directly obtain the actual layout of the network or the relationship between the devices, thereby greatly enhancing network security. At the same time, due to the setting of the second encryption array, when the user has the need to search multiple devices, the commonly connected devices of multiple devices can be verified, so that the response results returned to the user are more accurate.
可选地,服务器端根据查询令牌确定加密网络图中的目标加密信息包括:根据查询令牌确定加密网络图中的目标加密数组。基于目标加密数组,确定查询令牌所对应的目标加密信息。Optionally, the server side determines the target encrypted information in the encrypted network graph according to the query token, including: determining the target encrypted array in the encrypted network graph according to the query token. Based on the target encrypted array, determining the target encrypted information corresponding to the query token.
其中,目标加密数组包括第一加密数组和/或第二加密数组。The target encryption array includes a first encryption array and/or a second encryption array.
在该公开实施例中,由于查询令牌能够表达用户的查询需求,因此,根据查询令牌,能够在加密网络图中定位到对应的加密数据区域,也就是目标加密数组。根据查询令牌,可能只需要访问加密网络图中的其中一个加密数组,也可能需要同时访问这两个数组。这样,通过优先确定目标加密数组,再根据目标加密数组,确定查询令牌所对应的目标加密信息,能够提高搜索效率。In this disclosed embodiment, since the query token can express the user's query requirements, the corresponding encrypted data area, that is, the target encrypted array, can be located in the encrypted network diagram according to the query token. According to the query token, it may be necessary to access only one of the encrypted arrays in the encrypted network diagram, or it may be necessary to access both arrays at the same time. In this way, by preferentially determining the target encrypted array, and then determining the target encrypted information corresponding to the query token according to the target encrypted array, the search efficiency can be improved.
可选地,在每一设备与其他设备相连接的情况下,每一设备与所连接的全部设备均设有对应的权重值。示例性地,该权重值表示设备与所连接设备的连接紧密程度。Optionally, when each device is connected to other devices, each device and all connected devices are provided with corresponding weight values. Exemplarily, the weight value indicates the degree of connection between the device and the connected devices.
可选地,查询请求包括:查询单个设备的连接设备、查询多个设备的共同连接设备、单个设备与连接设备的连接结果排序、查询两个设备的相关性和查询多对设备之间相关性的最大值中的一种或多种。用户在查询阶段时,可根据上述查询请求生成不同的查询功能。可以理解的是,根据查询请求能够生成对应的查询令牌,并在查询令牌的基础上生成对应的查询令牌功能。其中,查询令牌包括查询单个设备的第一查询令牌和查询多个设备的第二查询令牌。例如,第一查询令牌对应的功能为第一查询功能;第二查询令牌对应的功能为第二查询功能;在第一查询令牌的基础上增加排序功能,则对应的功能为第三查询功能;在第一查询令牌的基础上增加相关性查询功能,则对应的功能为第四查询功能;在第二查询令牌的基础上增加相关性和排序功能,则对应的功能为第五查询功能。Optionally, the query request includes one or more of: querying the connected devices of a single device, querying the commonly connected devices of multiple devices, sorting the connection results of a single device and a connected device, querying the correlation between two devices, and querying the maximum value of the correlation between multiple pairs of devices. During the query stage, the user can generate different query functions according to the above query requests. It is understandable that a corresponding query token can be generated according to the query request, and a corresponding query token function is generated based on the query token. Among them, the query token includes a first query token for querying a single device and a second query token for querying multiple devices. For example, the function corresponding to the first query token is the first query function; the function corresponding to the second query token is the second query function; if a sorting function is added on the basis of the first query token, the corresponding function is the third query function; if a correlation query function is added on the basis of the first query token, the corresponding function is the fourth query function; if a correlation and sorting function are added on the basis of the second query token, the corresponding function is the fifth query function.
可选地,查询令牌功能包括表示查询单个设备的连接设备的第一查询功能、表示查询多个设备的共同连接设备的第二查询功能、表示单个设备与连接设备的连接结果排序的第三查询功能、表示查询两个设备的相关性的第四查询功能和表示查询多对设备之间相关性的最大值的第五查询功能。Optionally, the query token function includes a first query function representing querying the connected devices of a single device, a second query function representing querying the commonly connected devices of multiple devices, a third query function representing the sorting of connection results between a single device and a connected device, a fourth query function representing querying the correlation between two devices, and a fifth query function representing querying the maximum value of the correlation between multiple pairs of devices.
可选地,服务器端包括三个服务器,分别为第一服务器、第二服务器和第三服务器,每个服务器接收部分加密网络图,这样,三个服务器接收了一个完整的加密网络图。同时,每个服务器均接收了查询令牌。在本公开实施例中,客户端是值得信赖的。具体来说,客户端由智能家电网络服务提供商维护,所有用户都通过应用程序提交他们的查询。设置三个服务器,且每个服务器接收部分加密网络图和查询令牌,充分考虑到诚实多数和非串通的威胁模型的影响。诚实多数和非串通的威胁模型意味着在三个云服务器中最多只有一个可能是恶意的,其余服务器是半诚实的,并遵守协议进行查询过程,不会与协议中的其他服务器共享任何信息。Optionally, the server side includes three servers, namely a first server, a second server and a third server, each server receiving a partial encrypted network graph, so that the three servers receive a complete encrypted network graph. At the same time, each server receives a query token. In the disclosed embodiment, the client is trustworthy. Specifically, the client is maintained by a smart home appliance network service provider, and all users submit their queries through an application. Three servers are set up, and each server receives a partial encrypted network graph and a query token, taking full account of the impact of the honest majority and non-collusion threat model. The honest majority and non-collusion threat model means that at most only one of the three cloud servers may be malicious, and the remaining servers are semi-honest and comply with the protocol for the query process, and will not share any information with other servers in the protocol.
可选地,服务器端根据查询令牌功能确定加密网络图中的目标加密数组包括:在查询令牌功能包括第一查询功能的情况下,确定目标加密数组为第一加密数组。和/或,在查询令牌功能包括第二查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组。和/或,在查询令牌功能包括第三查询功能的情况下,确定目标加密数组为第一加密数组。和/或,在查询令牌功能包括第四查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组。和/或,在查询令牌功能包括第五查询功能的情况下,确定目标加密数组为第一加密数组和第二加密数组。Optionally, the server determines the target encryption array in the encrypted network diagram according to the query token function, including: when the query token function includes the first query function, determining the target encryption array to be the first encryption array. And/or, when the query token function includes the second query function, determining the target encryption array to be the first encryption array and the second encryption array. And/or, when the query token function includes the third query function, determining the target encryption array to be the first encryption array. And/or, when the query token function includes the fourth query function, determining the target encryption array to be the first encryption array and the second encryption array. And/or, when the query token function includes the fifth query function, determining the target encryption array to be the first encryption array and the second encryption array.
在该公开实施例中,设置不同的查询令牌功能对应不同的目标加密数组,通过检查查询令牌功能的类型,客户端能够在加密网络图中精准定位所需的加密数组,并据此解锁相应的加密信息。In the disclosed embodiment, different query token functions are set to correspond to different target encryption arrays. By checking the type of the query token function, the client can accurately locate the required encryption array in the encrypted network diagram and unlock the corresponding encrypted information accordingly.
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第一查询功能的情况下,基于第一加密数组,搜索第一查询功能对应的查询设备的加密连接设备;将查询设备的加密连接设备确定为目标加密信息。Optionally, the server side determines the target encryption information corresponding to the query token function based on the target encryption array, including: when the query token function includes a first query function, based on the first encryption array, searching for the encryption connection device of the query device corresponding to the first query function; and determining the encryption connection device of the query device as the target encryption information.
示例性地,基于第一加密数组,搜索第一查询功能对应的查询设备所连接的全部设备的加密信息表示为:<t>←TSetRetrieve(<TSet>,stag(w))。其中,<t>表示查询设备的加密连接设备列表,包括表示id和Sortkey的数组,id表示设备的连接设备的序号,Sortkey表示设备与连接设备的权重值,TSetRetrieve表示搜索函数,<TSet>表示第一加密数组,stag(w)表示第一查询功能,w为查询设备。Exemplarily, based on the first encryption array, searching for the encryption information of all devices connected to the query device corresponding to the first query function is expressed as: <t>←TSetRetrieve(<TSet>,stag(w)). Wherein, <t> represents the encrypted connection device list of the query device, including arrays representing id and Sortkey, id represents the serial number of the connected device of the device, Sortkey represents the weight value of the device and the connected device, TSetRetrieve represents the search function, <TSet> represents the first encryption array, stag(w) represents the first query function, and w is the query device.
可以理解的是,表示等于。Understandably, Indicates equal to.
在该公开实施例中,服务器端在接收stag(w)的情况下,通过计算TSetRetrieve(stag(w)),能够准确地找到查询设备的连接设备信息,并将其恢复为<t>,以检索出查询设备的加密连接设备列表<t>,并将<t>作为目标加密信息,发送给客户端。In this disclosed embodiment, when the server receives stag(w), it can accurately find the connection device information of the query device by calculating TSetRetrieve(stag(w)) and restore it to <t>, so as to retrieve the encrypted connection device list <t> of the query device, and send <t> as the target encrypted information to the client.
需要说明的是,客户端在收到目标加密信息的情况下,客户端根据加密的连接设备的序号和权重值份额重构原始结果。即,客户端将收到的秘密值的连接设备的序号和权重值利用安全多方计算中的复制秘密共享技术将秘密值还原成明文值。It should be noted that, when the client receives the target encrypted information, the client reconstructs the original result based on the encrypted serial number and weight value share of the connected device. That is, the client uses the replicated secret sharing technology in secure multi-party computing to restore the secret value to a plaintext value by adding the serial number and weight value of the connected device to the received secret value.
在上述公开实施例中,通过上述方法实现了对单个设备的连接设备的安全搜索,保护了用户隐私。In the above disclosed embodiment, the above method is used to achieve a secure search for connected devices of a single device, thereby protecting user privacy.
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第二查询功能的情况下,确定第二查询功能对应的查询设备中的目标查询设备;基于第一加密数组、第二加密数组,根据目标查询设备确定查询令牌所对应的目标加密信息。Optionally, the server side determines the target encryption information corresponding to the query token function based on the target encryption array, including: when the query token function includes a second query function, determining the target query device in the query device corresponding to the second query function; based on the first encryption array and the second encryption array, determining the target encryption information corresponding to the query token according to the target query device.
示例性地,基于第一加密数组、第二加密数组,根据目标查询设备确定查询令牌功能所对应的目标加密信息包括:基于第一加密数组,搜索目标查询设备的加密目标连接设备,并将加密目标连接设备发送至客户端,以使客户端生成加密目标连接设备与查询设备中的其余查询设备进行匹配的加密令牌;接收客户端发送的目标连接设备与查询设备中的其余查询设备进行匹配的加密令牌;基于第二加密数组,确定目标连接设备与查询设备中的其余查询设备的匹配情况;在目标连接设备中的设备存在与查询设备中的其余查询设备匹配成功的情况下,将与查询设备中的其余查询设备匹配成功的加密设备确定为目标加密信息。Exemplarily, based on the first encryption array and the second encryption array, determining the target encrypted information corresponding to the query token function according to the target query device includes: based on the first encryption array, searching for the encrypted target connection device of the target query device, and sending the encrypted target connection device to the client, so that the client generates an encrypted token that matches the encrypted target connection device with the remaining query devices in the query device; receiving the encrypted token that matches the target connection device sent by the client with the remaining query devices in the query device; based on the second encryption array, determining the matching status of the target connection device with the remaining query devices in the query device; when there is a device in the target connection device that successfully matches the remaining query devices in the query device, determining the encrypted device that successfully matches the remaining query devices in the query device as the target encryption information.
示例性地,确定第二查询功能对应的查询设备中的目标查询设备包括:估算查询设备中连接设备数量最少的设备,并将连接设备数量最少的设备作为目标查询设备。或者,随机选取查询设备中的预设设备,并将预设设备作为目标查询设备。或者,基于不经意交叉标签协议选取查询设备中的目标查询设备。Exemplarily, determining the target query device among the query devices corresponding to the second query function includes: estimating the device with the least number of connected devices among the query devices, and using the device with the least number of connected devices as the target query device. Alternatively, randomly selecting a preset device among the query devices, and using the preset device as the target query device. Alternatively, selecting the target query device among the query devices based on an inadvertent cross-label protocol.
具体地,多个设备搜索的形式是w1,…,wn,其中,n表示多个设备的总数,w1表示目标查询设备。三个服务器依次执行以下步骤:Specifically, the form of multiple device search is w 1 ,…,w n , where n represents the total number of multiple devices and w 1 represents the target query device. The three servers perform the following steps in sequence:
步骤1:计算;Step 1: Calculation ;
步骤2:将发送给客户端,以使客户端生成加密目标连接设备与查询设备中的其余查询设备进行匹配的加密令牌,其中,,,表示其余查询设备,表示目标查询设备的连接设备的数量;Step 2: Sent to the client to generate an encrypted token that matches the target connection device with the rest of the querying devices ,in, , , Indicates the remaining query devices. Indicates the number of connected devices of the target query device;
步骤3:接收加密目标连接设备与查询设备中的其余查询设备进行匹配的加密令牌;Step 3: Receive the encrypted token from the target connection device and match it with the rest of the querying devices in the querying device ;
步骤4:从中恢复(;其中,表示变量;表示设备的连接设备的加密平均权重值;Step 4: From Medium recovery ;in, Represents a variable; Indicates the average encryption weight value of the connected devices of the device;
步骤5:确定是否:;其中,表示第二加密数组;Step 5: Determine if : ;in, Represents the second encrypted array;
步骤6:如果是,发送和到客户端。Step 6: If yes, send and to the client.
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第三查询功能的情况下,基于第一加密数组,搜索第三查询功能对应的查询设备的加密连接设备的加密序号。确定加密序号对应的加密权重值。对加密权重值进行排序,并将排序后的加密权重值对应的加密序号确定为目标加密信息。Optionally, the server determines the target encrypted information corresponding to the query token function based on the target encryption array, including: when the query token function includes the third query function, searching for the encryption sequence number of the encryption connection device of the query device corresponding to the third query function based on the first encryption array. Determine the encryption weight value corresponding to the encryption sequence number. Sort the encryption weight values, and determine the encryption sequence number corresponding to the sorted encryption weight value as the target encrypted information.
示例性地,采用遗忘基数排序算法对权重值进行排序。这样,能够提高排序性能。或者,根据对进行排序,并将排序结果发送给客户端,在客户端收到查询结果的秘密份额后,使用复制秘密共享技术在本地恢复真实值并执行排序。For example, the weight values are sorted using a forgetting radix sorting algorithm. This can improve the sorting performance. right Sorting is performed and the sorting results are sent to the client. After the client receives the secret share of the query result, the true value is restored locally using the replicated secret sharing technology and sorting is performed.
示例性地,采用遗忘基数排序算法对权重值进行排序包括:三个服务器协商一个域,并选取域中的一个元素,其中,。采用位分解协议将秘密向量分解为秘密比特。采用比特域转换协议将秘密比特转换为在预设域上的共享值。三个服务器设置一个共享向量,该共享向量存储每行的原始位置(其中,要对进行排序,所有的可以看作一个a乘1的向量,一共有a行,对其排序就是对每一行的排序),该共享向量类似于指针的作用。三个服务器构造的对应矩阵,其中,,以计算目标位置。假设矩阵是向量的矩阵表示。对于,其中,,使用以下条件将向量转换为矩阵:Exemplarily, using the forgetting radix sorting algorithm to sort the weight values includes: three servers negotiate a domain , and select an element in the domain ,in, The secret vector is converted into Decompose into secret bits. Use the bit domain conversion protocol to convert the secret bits into a shared value on the preset domain. The three servers set up a shared vector that stores the original position of each row (where Sort all It can be regarded as a vector of a times 1, with a total of a rows, and sorting it is to sort each row Sorting), the shared vector acts like a pointer. Three servers are constructed The corresponding matrix ,in, , to calculate the target position. Assume matrix is a vector The matrix representation of . ,in, , use the following conditions to transform the vector Convert to Matrix :
其中,位分解协议:将共享输入值转换为共享比特。对于共享输入值,输出由多个比特,满足:Among them, the bit decomposition protocol: converts the shared input value into shared bits. , the output consists of multiple bits ,satisfy:
运行此协议的过程表示为: The process of running this protocol is represented as:
比特域转换协议:比特域转换协议的输入是一个域上的共享比特,输出则是另一个域上的共享比特。假设输入是域上的比特,输出是域上的共享比特。运行此协议的过程表示为: Bit-domain conversion protocol: The input of the bit-domain conversion protocol is a shared bit on one domain, and the output is a shared bit on another domain. Assume that the input is domain Bit , the output is the domain Shared bits on The process of running this protocol is represented as:
通过上述方法,在获得后,在第一加密数组中,三个服务器应用目标计算协议计算目标位置,将输入向量转换为顺序排列的向量。三个服务器应用揭露排序协议按照目标位置对数据进行排序。对于所有的,,按照的值确定大小为的已排序矩阵。Through the above method, we obtain After that, in the first encrypted array, the three servers apply the target calculation protocol to calculate the target position, and the input vector Convert to a sequentially arranged vector The three servers apply the exposed sorting protocol to sort the data according to the target location. , ,according to The value of determines the size of Sorted matrix.
揭露排序协议:根据目标位置对数据进行排序,有效地构建了展示顺序。该协议的输入是两个秘密值和。在执行过程中,首先使用洗牌协议打乱,然后使用揭示协议揭开被打乱的以获得,并根据获得排序后的。运行此协议的过程表示为:Reveal Sorting Protocol: Sorts data according to target position, effectively constructing a presentation order. The input of this protocol is two secret values and During execution, the shuffle protocol is first used to shuffle , and then use the reveal protocol to reveal the scrambled To obtain , and according to Get the sorted The process of running this protocol is represented as:
揭示协议:在评估两个秘密输入值和的相对大小时,提取它们差值的最高有效位(MSB)。通过评估最高有效位,判断和之间的相对大小。通过揭露排序协议将比较过程简化为仅将差值与0进行对比。如果两个值之间差的最高有效位为0,表明大于;相反,如果最高有效位为,则表示大于。变量表示获得的最高有效位结果。运行此协议的过程表示为:Revealing the protocol: When evaluating two secret input values and When the relative sizes of , extract the most significant bit (MSB) of their difference. By evaluating the most significant bit, determine and By exposing the sorting protocol, the comparison process is simplified to only the difference Compare with 0. If the most significant bit of the difference between the two values is 0, it indicates more than the ; On the contrary, if the most significant bit is , then it means more than the .variable Indicates the most significant bit result obtained. The process of running this protocol is expressed as:
具体地,采用遗忘基数排序算法对权重值进行排序,三个服务器依次执行以下步骤:Specifically, the weight values are sorted using the forgetting radix sorting algorithm, and the three servers perform the following steps in sequence:
步骤1:协商一个域;并选取域中的一个元素,其中,,且的比特长度为;Step 1: Negotiate a domain ; and select an element in the domain ,in, ,and The bit length is ;
步骤2:根据Step 2: According to
,,令代替; , ,make replace ;
步骤3:,;Step 3: , ;
步骤4:协商一个秘密向量值,;Step 4: Negotiate a secret vector value , ;
步骤5:确定For j∈[1,l] do;Step 5: Determine For j∈[1,l] do;
步骤6:将转换为;Step 6: Convert to ;
步骤7:确定;Step 7: OK ;
步骤8:确定Step 8: OK
其中,表示水平连接的两个列向量;in, represents two column vectors connected horizontally;
步骤9:输出。Step 9: Output .
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第四查询功能的情况下,确定第四查询功能对应的第一查询设备和第二查询设备。分别获得第一查询设备的加密连接设备的第一加密平均权重值,以及第二查询设备的加密连接设备的第二加密平均权重值。基于第一加密数组和第二加密数组,根据第一加密平均权重值和第二加密平均权重值确定第一查询设备与第二查询设备之间的加密相关性。将第一查询设备与第二查询设备之间的加密相关性确定为目标加密信息。Optionally, the server determines the target encryption information corresponding to the query token function based on the target encryption array, including: when the query token function includes the fourth query function, determining the first query device and the second query device corresponding to the fourth query function. Obtaining the first encryption average weight value of the encryption connection device of the first query device and the second encryption average weight value of the encryption connection device of the second query device respectively. Based on the first encryption array and the second encryption array, determining the encryption correlation between the first query device and the second query device according to the first encryption average weight value and the second encryption average weight value. Determine the encryption correlation between the first query device and the second query device as the target encryption information.
示例性地,按照如下公式计算第一查询设备和第二查询设备之间的相关性:Exemplarily, the correlation between the first query device and the second query device is calculated according to the following formula:
其中,a表示第一查询设备,b表示第二查询设备,z(a,b)表示第一查询设备和第二查询设备之间的相关性。表示第一查询设备的平均权重值,表示第二查询设备的平均权重值。可以理解的是:Wherein, a represents the first query device, b represents the second query device, and z(a, b) represents the correlation between the first query device and the second query device. Indicates the average weight value of the first query device, Indicates the average weight value of the second query device. It can be understood that:
其中,表示设备的所有连接设备。in, Indicates the device of all connected devices.
具体地,在查询令牌功能包括第四查询功能的情况下,基于目标加密数组,确定查询令牌功能所对应的目标加密信息,三个服务器依次执行以下步骤:Specifically, in the case where the query token function includes the fourth query function, based on the target encryption array, the target encryption information corresponding to the query token function is determined, and the three servers sequentially perform the following steps:
步骤1:确定第一查询设备的第一加密平均权重值,第二查询设备的第二加密平均权重值,以及第一查询设备和第二查询设备共同连接设备发布列表中的秘密值,…,,…,,其中n是共同连接设备的数量,是第一查询设备和第个共同连接设备的加密权重值,是设备和第个连接设备的加密权重值;Step 1: Determine the first encrypted average weight value of the first query device , the second encrypted average weight value of the second query device , and the secret value in the device release list of the first query device and the second query device connected together , …, , …, , where n is the number of co-connected devices, Is the first query device and The encryption weight value of the commonly connected devices, Yes Equipment and The encryption weight value of each connected device;
步骤2:使用复制秘密共享的安全加法和乘法协议来计算中间变量、和;其中,Step 2: Use the secure addition and multiplication protocol with replicated secret sharing to compute the intermediate variables , and ;in,
;;; ; ; ;
步骤3:根据和确定;并输出。Step 3: According to and Sure ; and output .
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第五查询功能的情况下,基于第一加密数组和第二加密数组,比较所有设备与查询设备的相关性值。选取所有设备与查询设备的相关性值中的最大值,并将所有设备与查询设备的相关性值中的最大值的加密信息确定为目标加密信息。Optionally, the server determines the target encrypted information corresponding to the query token function based on the target encryption array, including: when the query token function includes the fifth query function, based on the first encryption array and the second encryption array, comparing the correlation values of all devices with the query device. Selecting the maximum value of the correlation values of all devices with the query device, and determining the encrypted information of the maximum value of the correlation values of all devices with the query device as the target encrypted information.
可选地,服务器端基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:基于第一加密数组和第二加密数组,确定第五查询功能对应的多个设备中相关性最大的加密设备对。计算相关性最大的加密设备对的加密相关性值。将相关性最大的加密设备对的加密相关性值确定为目标加密信息。Optionally, the server determines the target encryption information corresponding to the query token function based on the target encryption array, including: determining the encryption device pair with the greatest correlation among the multiple devices corresponding to the fifth query function based on the first encryption array and the second encryption array. Calculating the encryption correlation value of the encryption device pair with the greatest correlation. Determining the encryption correlation value of the encryption device pair with the greatest correlation as the target encryption information.
在上述公开实施例中,由于在安全多方计算的通信量消耗很大,因此,首先确定第五查询功能对应的多个设备中相关性最大的加密设备对,再确定相关性最大的设备对的加密相关性值,能够提高比较效率。In the above-mentioned disclosed embodiment, since the communication volume consumed in secure multi-party computing is very large, first determining the encryption device pair with the greatest correlation among the multiple devices corresponding to the fifth query function, and then determining the encryption correlation value of the device pair with the greatest correlation can improve the comparison efficiency.
示例性地,通过遍历比较的方式确定相关性最大的加密设备对,从而相关性最大的设备对的加密相关性值。具体地,包括:三个服务器计算,其中,表示具有相关性的设备对,并将初始化为最大值。对于每一设备对的相关值,计算每一设备对的相关值的分子,采用最高有效位技术(MSB)确定分子的正负。例如,如果,则分子为正;否则为负。三个服务器采用域转换协议,将分子的转换为算术共享,并对其数值进行处理,计算,如果分子为负,则设为零;如果为正,则保留原值。三个服务器将与当前的相关性最大值进行比较。比较避免了平方根和除法运算,对和的分子和分母分别平方后进行交叉乘法,记录较大的结果为。在遍历后,三个服务器获得最终的最大相关性值。Exemplarily, the encryption device pair with the greatest correlation is determined by traversal comparison, thereby obtaining the encryption correlation value of the device pair with the greatest correlation. Specifically, the three servers calculate ,in, Indicates a pair of devices that have a correlation and Initialize to maximum value For each device pair, the relevant value , calculate the numerator of the correlation value for each device pair, and use the most significant bit (MSB) technique to determine the sign of the numerator. For example, if , then the numerator is positive; otherwise it is negative. The three servers use the domain conversion protocol to convert the numerator Convert to arithmetic share and process its value to calculate , if the numerator is negative, set it to zero; if it is positive, keep the original value. Maximum correlation with the current Comparison avoids square root and division operations. and The numerator and denominator of are squared and cross-multiplied, and the larger result is recorded as After traversal, the three servers obtain the final maximum correlation value .
在上述公开实施例中,通过将操作从除法和平方根转变为乘法,显著减少了计算和通信开销,从而提高了效率。In the above disclosed embodiments, by converting operations from division and square root to multiplication, computational and communication overheads are significantly reduced, thereby improving efficiency.
具体地,在查询令牌功能包括第五查询功能的情况下,基于目标加密数组,确定查询令牌功能所对应的目标加密信息,三个服务器依次执行以下步骤:Specifically, when the query token function includes the fifth query function, based on the target encryption array, the target encryption information corresponding to the query token function is determined, and the three servers perform the following steps in sequence:
步骤1:预设=;Step 1: Preset = ;
步骤2:获得i∈[3,|w|];Step 2: Get i∈[3,|w|];
步骤3:获得Step 3: Get
; ;
步骤4:获得Step 4: Get
; ;
步骤5:获得;Step 5: Get ;
步骤6:获得;Step 6: Get ;
步骤7:获得;Step 7: Get ;
步骤8:获得Step 8: Get
; ;
步骤9:获得Step 9: Get
; ;
步骤10:获得;Step 10: Get ;
步骤11:获得;Step 11: Get ;
步骤12:获得Step 12: Get
; ;
步骤13:输出>。Step 13: Output >.
可选地,基于目标加密数组,确定查询令牌功能所对应的目标加密信息包括:在查询令牌功能包括第一查询功能的情况下,基于第一加密数组,搜索第一查询功能对应的查询设备的加密连接设备;将查询设备的加密连接设备确定为目标加密信息。在查询令牌功能包括第二查询功能的情况下,确定第二查询功能对应的查询设备中的目标查询设备;基于第一加密数组、第二加密数组,根据目标查询设备确定查询令牌功能所对应的目标加密信息。在查询令牌功能包括第三查询功能的情况下,基于第一加密数组,搜索第三查询功能对应的查询设备的加密连接设备的加密序号;确定加密序号对应的加密权重值;对加密权重值进行排序,并将排序后的加密权重值对应的加密序号确定为目标加密信息。在查询令牌功能包括第四查询功能的情况下,确定第四查询功能对应的第一查询设备和第二查询设备;分别获得第一查询设备的加密连接设备的第一加密平均权重值,以及第二查询设备的加密连接设备的第二加密平均权重值;基于第一加密数组和第二加密数组,根据第一加密平均权重值和第二加密平均权重值确定第一查询设备与第二查询设备之间的加密相关性;将第一查询设备与第二查询设备之间的加密相关性确定为目标加密信息。在查询令牌功能包括第五查询功能的情况下,基于第一加密数组和第二加密数组,确定第五查询功能对应的多个设备中相关性最大的加密设备对;计算相关性最大的加密设备对的加密相关性值;将相关性最大的加密设备对的加密相关性值确定为目标加密信息。Optionally, based on the target encryption array, determining the target encryption information corresponding to the query token function includes: when the query token function includes a first query function, based on the first encryption array, searching for the encryption connection device of the query device corresponding to the first query function; determining the encryption connection device of the query device as the target encryption information. When the query token function includes a second query function, determining the target query device in the query device corresponding to the second query function; based on the first encryption array and the second encryption array, determining the target encryption information corresponding to the query token function according to the target query device. When the query token function includes a third query function, based on the first encryption array, searching for the encryption serial number of the encryption connection device of the query device corresponding to the third query function; determining the encryption weight value corresponding to the encryption serial number; sorting the encryption weight values, and determining the encryption serial number corresponding to the sorted encryption weight value as the target encryption information. In the case where the query token function includes the fourth query function, determine the first query device and the second query device corresponding to the fourth query function; obtain the first encryption average weight value of the encryption connection device of the first query device and the second encryption average weight value of the encryption connection device of the second query device respectively; based on the first encryption array and the second encryption array, determine the encryption correlation between the first query device and the second query device according to the first encryption average weight value and the second encryption average weight value; determine the encryption correlation between the first query device and the second query device as the target encryption information. In the case where the query token function includes the fifth query function, determine the encryption device pair with the greatest correlation among the multiple devices corresponding to the fifth query function based on the first encryption array and the second encryption array; calculate the encryption correlation value of the encryption device pair with the greatest correlation; determine the encryption correlation value of the encryption device pair with the greatest correlation as the target encryption information.
本公开实施例提供一种基于安全多方计算的家电网络图的搜索方法,应用于客户端。如图3所示,该搜索方法包括:The embodiment of the present disclosure provides a method for searching a home appliance network graph based on secure multi-party computing, which is applied to a client. As shown in FIG3 , the method includes:
S301,客户端对家电的网络图进行加密处理,获得家电的加密网络图,并将家电的加密网络图发送至服务器端。S301, the client encrypts the network diagram of the home appliance to obtain the encrypted network diagram of the home appliance, and sends the encrypted network diagram of the home appliance to the server.
S302,客户端接收用户端发送的查询请求。S302: The client receives a query request sent by the user.
S303,客户端确定查询请求所对应的查询令牌,并将查询令牌发送至服务器端。S303, the client determines the query token corresponding to the query request, and sends the query token to the server.
S304,客户端接收服务器端根据查询令牌所确定的加密网络图中的目标加密信息。S304, the client receives the target encryption information in the encrypted network graph determined by the server according to the query token.
S305,客户端根据目标加密信息生成目标解密信息,并将目标解密信息返回至用户端。S305, the client generates target decryption information according to the target encryption information, and returns the target decryption information to the user end.
在上述公开实施例中,客户端首先执行对家电的网络图的安全加密操作,以保护数据隐私和安全。加密完成后,客户端将加密网络图传输给服务器端存储,这样只有具备解密权限的实体才能获取原始信息,有效防止未经授权的访问和篡改。In the above disclosed embodiment, the client first performs a secure encryption operation on the network diagram of the home appliance to protect data privacy and security. After the encryption is completed, the client transmits the encrypted network diagram to the server for storage, so that only entities with decryption authority can obtain the original information, effectively preventing unauthorized access and tampering.
可选地,客户端对家电的网络图进行加密处理,获得家电的加密网络图包括:对家电的网络图进行加密,获得第一初始信息,并将第一初始信息存储于第一初始数组;对第一初始数组进行加密,以获得第一初始数组对应的第一加密数组;对家电图中每一设备和每一设备的连接设备的序号进行加密,获得第二初始信息,并将第二初始信息和每一设备的连接设备的平均权重值存储至第二初始数组,以获得第二初始数组对应的第二加密数组。Optionally, the client encrypts the network diagram of the home appliance to obtain the encrypted network diagram of the home appliance, including: encrypting the network diagram of the home appliance to obtain first initial information, and storing the first initial information in a first initial array; encrypting the first initial array to obtain a first encrypted array corresponding to the first initial array; encrypting the serial number of each device and each device's connected device in the home appliance diagram to obtain second initial information, and storing the second initial information and the average weight value of each device's connected device in the second initial array to obtain a second encrypted array corresponding to the second initial array.
其中,第一初始信息包括每一设备的加密连接设备的加密序号、加密权重值、验证变量和每一设备的连接设备的加密平均权重值。The first initial information includes the encryption serial number of the encryption connection device of each device, the encryption weight value, the verification variable and the encryption average weight value of the connection device of each device.
示例性地,采用安全多方计算实现客户端对家电的网络图进行加密处理。具体地,包括:创建两个空数组:第一初始数组和第二初始数组。对于家电网络图的所有设备中的每个设备,均使用伪随机函数生成该设备的索引。计算每一设备的连接设备的平均权重值。对于每一设备的连接设备和平均权重值使用复制秘密共享技术转换为秘密值。将该秘密值与验证变量存储在第一初始数组中,并对第一初始数组进行加密,以获得第一初始数组对应的第一加密数组。和/或,通过采用伪随机函数加密每一设备和每一设备的连接设备的序号,生成第二初始信息,并将第二初始信息存储于第一初始数组中。此外,还将每一设备的连接设备的平均权重值加入到第一初始数组中,以获得第二初始数组对应的第二加密数组。Exemplarily, secure multi-party computing is used to implement encryption processing of the network diagram of home appliances by the client. Specifically, it includes: creating two empty arrays: a first initial array and a second initial array. For each device in all the devices in the home appliance network diagram, a pseudo-random function is used to generate the index of the device. The average weight value of the connected devices of each device is calculated. The connected devices and the average weight value of each device are converted into a secret value using a replicated secret sharing technique. The secret value and the verification variable are stored in a first initial array, and the first initial array is encrypted to obtain a first encrypted array corresponding to the first initial array. And/or, by using a pseudo-random function to encrypt the serial number of each device and the connected device of each device, a second initial information is generated, and the second initial information is stored in the first initial array. In addition, the average weight value of the connected devices of each device is added to the first initial array to obtain a second encrypted array corresponding to the second initial array.
其中,验证变量代表一个盲化值,表示为,其中,,Zc是使用伪随机函数加密w和计数器c得到的值,w表示家电网络图的所有设备中的每个设备,xindc是使用伪随机函数加密id得到的值。Among them, the verification variable represents a blind value, expressed as ,in, , Z c is the value obtained by encrypting w and counter c using a pseudo-random function, w represents each device in all the devices in the home appliance network diagram, and xind c is the value obtained by encrypting id using a pseudo-random function.
可以理解的是,使用伪随机函数生成该设备的索引后,如果该设备为查询设备,该设备的索引就为查询令牌。It can be understood that after the index of the device is generated using a pseudo-random function, if the device is a query device, the index of the device is the query token.
在上述公开实施例中,通过预设每一设备的连接设备的平均权重值,能够优化设备相关性搜索功能的响应时间。通过获得第一加密数组,能够更多地隐藏第一初始数组中关于及其相应设备的信息,同时确保可用的查询令牌,如,可用于检索的连接设备。通过将每一设备的连接设备的平均权重值加入到第一初始数组中,以便在进行多个设备搜索时获得两个设备共同连接设备的不同,从而促进设备相关性搜索功能。最后,客户端分别向三个服务器输出加密网络图。In the above disclosed embodiment, by presetting the average weight value of the connected devices of each device, the response time of the device correlation search function can be optimized. By obtaining the first encrypted array, more information about the first initial array can be hidden. and its corresponding device information, while ensuring that the query token is available, such as , which can be used to retrieve By adding the average weight value of the connected devices of each device to the first initial array, the different weights of the devices commonly connected to two devices can be obtained when searching for multiple devices. ,thus facilitating the device correlation search function.,Finally, the client outputs the encrypted network graph to the three servers,respectively.
具体地,获得家电的加密网络图时,客户端依次执行以下步骤:Specifically, when obtaining the encrypted network diagram of the home appliance, the client performs the following steps in sequence:
步骤1:为选择随机密钥,为选择随机密钥、、(范围为),选择作为素数循环组的生成器;其中,b表示第一伪随机函数,表示第二伪随机函数;Step 1: Choose a random key ,for Choose a random key , , (Range is ),choose As a generator of cyclic groups of prime numbers; where b represents the first pseudo-random function, represents a second pseudo-random function;
步骤2:初始化作为空数组,即第一初始数组;初始化作为空集合,即第二初始数组;Step 2: Initialization As an empty array, that is, the first initial array; initialize As an empty set, i.e. the second initial array;
步骤3:确定;Step 3: Determine ;
步骤4:计算;其中,表示网络图;Step 4: Calculation ;in, Represents a network diagram;
步骤5:设置;Step 5: Setup ;
步骤6:将转换为秘密值;Step 6: Convert to secret value ;
步骤7:将转换为秘密值;Step 7: Convert to secret value ;
步骤8:将转换为秘密值;Step 8: Convert to secret value ;
步骤9:设置,,;Step 9: Setup , , ;
步骤10:将添加至中;Step 10: Add to middle;
步骤11:设置;其中,表示第一初始信息;并将存储至第一初始数组;Step 11: Setup ;in, represents the first initial information; and Store into the first initial array;
步骤12:;以对第一初始数组进行加密,以获得第一初始数组对应的第一加密数组;Step 12: ; To encrypt the first initial array to obtain a first encrypted array corresponding to the first initial array ;
步骤13:输出;为第二加密数组。Step 13: Output ; For the second encrypted array.
可选地,客户端确定查询请求所对应的查询令牌包括:确定查询请求所对应的查询设备;生成家电的网络图中查询设备的索引;将查询设备的索引确定为查询请求所对应的查询令牌。Optionally, the client determines the query token corresponding to the query request, including: determining the query device corresponding to the query request; generating an index of the query device in a network diagram of the home appliance; and determining the index of the query device as the query token corresponding to the query request.
示例性地,生成家电的网络图中查询设备的索引表示为:stag(w)←TSetGetTag(KT,w)。其中,w表示查询设备,KT表示预设密钥,TSetGetTag表示加密函数,stag(w)表示查询设备的索引,即查询令牌。Exemplarily, the index of the query device in the network diagram of the generated home appliance is expressed as: stag(w)←TSetGetTag(K T ,w), where w represents the query device, K T represents the preset key, TSetGetTag represents the encryption function, and stag(w) represents the index of the query device, i.e., the query token.
本公开实施例提供一种基于安全多方计算的家电网络图的搜索方法,应用于用户端。如图4所示,该搜索方法包括:The embodiment of the present disclosure provides a method for searching a home appliance network graph based on secure multi-party computing, which is applied to a user end. As shown in FIG4 , the search method includes:
S401,用户端向客户端发出查询请求,以使客户端确定查询请求所对应的目标解密信息。S401, the user end sends a query request to the client end, so that the client end determines the target decryption information corresponding to the query request.
S402,用户端接收客户端发送的查询请求所对应的目标解密信息。S402: The user end receives the target decryption information corresponding to the query request sent by the client end.
在上述公开实施例中,用户在用户端发起查询请求、客户端处理查询并将解密后的目标解密信息返回给用户端,保证了对数据安全性和用户查询需求的有效响应和处理。In the above disclosed embodiment, the user initiates a query request at the user end, the client processes the query and returns the decrypted target decryption information to the user end, ensuring effective response and processing of data security and user query requirements.
本公开实施例提供一种基于安全多方计算的家电网络图的搜索方法,应用于服务器端、用户端和客户端的交互。如图5所示,该搜索方法包括:The embodiment of the present disclosure provides a method for searching a home appliance network graph based on secure multi-party computing, which is applied to the interaction between a server, a user, and a client. As shown in FIG5 , the search method includes:
S501,客户端对家电的网络图进行加密处理,获得家电的加密网络图。S501, the client encrypts the network diagram of the home appliance to obtain the encrypted network diagram of the home appliance.
S502,客户端将家电的加密网络图发送至服务器端。S502, the client sends the encrypted network diagram of the home appliance to the server.
S503,服务器端接收家电的加密网络图。S503, the server receives the encrypted network diagram of the home appliance.
S504,用户端向客户端发出查询请求。S504, the user end sends a query request to the client end.
S505,客户端接收用户端发送的查询请求。S505: The client receives the query request sent by the user.
S506,客户端确定查询请求所对应的查询令牌。S506: The client determines the query token corresponding to the query request.
S507,客户端将查询令牌发送至服务器端。S507: The client sends the query token to the server.
S508,服务器端接收客户端发送的查询令牌。S508: The server receives the query token sent by the client.
S509,服务器端根据查询令牌确定加密网络图中的目标加密信息。S509, the server determines the target encrypted information in the encrypted network graph according to the query token.
S510,服务器端将目标加密信息发送至客户端。S510, the server sends the target encrypted information to the client.
S511,客户端接收服务器端根据查询令牌所确定的加密网络图中的目标加密信息。S511, the client receives the target encryption information in the encrypted network graph determined by the server according to the query token.
S512,客户端根据目标加密信息生成目标解密信息。S512: The client generates target decryption information according to the target encryption information.
S513,客户端将目标解密信息返回至用户端。S513, the client returns the target decrypted information to the user end.
S514,用户端接收查询请求所对应的目标解密信息。S514, the user terminal receives the target decryption information corresponding to the query request.
在上述公开实施例中,客户端通过SMC技术对家电网络图进行加密处理,使得原始敏感信息即便在网络传输和存储过程中也无法被未授权方直接解读。客户端将加密网络图上传至服务器端,确保了云端存储的数据安全性。在用户端发起查询请求时,仅传递必要的查询指令,不涉及具体敏感信息。且,客户端依据用户的查询请求生成唯一的查询令牌,该令牌设计上符合SMC原则,它能代表查询请求但并不泄露实际查询内容。客户端将查询令牌发送至服务器端。服务器端基于接收到的查询令牌,在加密网络图中定位到对应的目标加密信息,无需解密整个网络图,降低了信息泄漏风险。客户端接收服务器返回的目标加密信息后,对目标加密信息进行解密,生成目标解密信息,保证了只有合法且授权的客户端才能得到真实数据。最后,由用户端接收到的是经过安全计算过程解密的目标解密信息,满足了用户对家电网络图搜索的需求,同时有效保障了数据在流转过程中的隐私性和安全性,以及搜索效率。In the above public embodiment, the client encrypts the home appliance network diagram through the SMC technology, so that the original sensitive information cannot be directly interpreted by unauthorized parties even during network transmission and storage. The client uploads the encrypted network diagram to the server, ensuring the data security of cloud storage. When the user initiates a query request, only the necessary query instructions are transmitted, and no specific sensitive information is involved. In addition, the client generates a unique query token based on the user's query request. The token is designed to comply with the SMC principle. It can represent the query request but does not disclose the actual query content. The client sends the query token to the server. Based on the received query token, the server locates the corresponding target encrypted information in the encrypted network diagram without decrypting the entire network diagram, reducing the risk of information leakage. After receiving the target encrypted information returned by the server, the client decrypts the target encrypted information and generates target decrypted information, ensuring that only legal and authorized clients can obtain real data. Finally, what is received by the user is the target decrypted information decrypted through a secure computing process, which meets the user's demand for searching the home appliance network diagram, and effectively guarantees the privacy and security of the data during the flow process, as well as the search efficiency.
结合图6所示,本公开实施例提供一种基于安全多方计算的家电网络图的搜索装置300,包括处理器(processor)600和存储器(memory)601。可选地,该装置还可以包括通信接口(Communication Interface)602和总线603。其中,处理器600、通信接口602、存储器601可以通过总线603完成相互间的通信。通信接口602可以用于信息传输。处理器600可以调用存储器601中的逻辑指令,以执行上述实施例的基于安全多方计算的家电网络图的搜索方法。As shown in FIG6 , an embodiment of the present disclosure provides a search device 300 for a home appliance network graph based on secure multi-party computing, including a processor 600 and a memory 601. Optionally, the device may also include a communication interface 602 and a bus 603. The processor 600, the communication interface 602, and the memory 601 may communicate with each other through the bus 603. The communication interface 602 may be used for information transmission. The processor 600 may call the logic instructions in the memory 601 to execute the search method for a home appliance network graph based on secure multi-party computing of the above embodiment.
此外,上述的存储器601中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。In addition, the logic instructions in the memory 601 described above can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.
存储器601作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器600通过运行存储在存储器601中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中基于安全多方计算的家电网络图的搜索方法。The memory 601 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions/modules corresponding to the method in the embodiment of the present disclosure. The processor 600 executes the function application and data processing by running the program instructions/modules stored in the memory 601, that is, the search method of the home appliance network graph based on secure multi-party computing in the above embodiment is implemented.
存储器601可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器。The memory 601 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 601 may include a high-speed random access memory and may also include a non-volatile memory.
结合图7所示,本公开实施例提供了一种基于安全多方计算的家电网络图的搜索设备1,包括:设备本体。设备本体安装有上述的基于安全多方计算的家电网络图的搜索装置300。这里所表述的安装关系,并不仅限于在设备本体的内部放置,还包括了与设备1的其他元器件的安装连接,包括但不限于物理连接、电性连接或者信号传输连接等。本领域技术人员可以理解的是,基于安全多方计算的家电网络图的搜索装置300可以适配于可行的设备本体,进而实现其他可行的实施例。As shown in FIG7 , an embodiment of the present disclosure provides a search device 1 for a home appliance network graph based on secure multi-party computing, including: a device body. The device body is installed with the above-mentioned search device 300 for a home appliance network graph based on secure multi-party computing. The installation relationship described here is not limited to placement inside the device body, but also includes installation connections with other components of the device 1, including but not limited to physical connections, electrical connections, or signal transmission connections, etc. Those skilled in the art can understand that the search device 300 for a home appliance network graph based on secure multi-party computing can be adapted to a feasible device body, thereby realizing other feasible embodiments.
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述基于安全多方计算的家电网络图的搜索方法。An embodiment of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned method for searching a home appliance network diagram based on secure multi-party computing.
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,例如:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质。The technical solution of the embodiment of the present disclosure can be embodied in the form of a software product, which is stored in a storage medium and includes one or more instructions for enabling a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the embodiment of the present disclosure. The aforementioned storage medium may be a non-transitory storage medium, such as: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a disk or an optical disk, and other media that can store program codes.
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure so that those skilled in the art can practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent possible changes only. Unless explicitly required, separate components and functions are optional, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the words used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and the claims, unless the context clearly indicates, the singular forms of "a", "an" and "the" are intended to include plural forms as well. Similarly, the term "and/or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variants "comprises" and/or comprising refer to the presence of stated features, wholes, steps, operations, elements, and/or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and/or groups thereof. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the presence of other identical elements in the process, method or device including the elements. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the embodiments may refer to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, the relevant parts can refer to the description of the method part.
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods for each specific application to implement the described functions, but such implementations should not be considered to exceed the scope of the embodiments of the present disclosure. The technicians may clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here.
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. In addition, the coupling or direct coupling or communication connection between each other shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to implement this embodiment. In addition, the functional units in the embodiments disclosed herein may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowchart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to the embodiment of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. In the description corresponding to the flowchart and the block diagram in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in a different order from the order disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or actions, or may be implemented by a combination of dedicated hardware and computer instructions.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410397787.3A CN117993020B (en) | 2024-04-03 | 2024-04-03 | Search method, device and equipment for home appliance network graph based on secure multi-party computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410397787.3A CN117993020B (en) | 2024-04-03 | 2024-04-03 | Search method, device and equipment for home appliance network graph based on secure multi-party computing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117993020A CN117993020A (en) | 2024-05-07 |
CN117993020B true CN117993020B (en) | 2024-07-09 |
Family
ID=90887787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410397787.3A Active CN117993020B (en) | 2024-04-03 | 2024-04-03 | Search method, device and equipment for home appliance network graph based on secure multi-party computing |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117993020B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938546A (en) * | 2023-07-12 | 2023-10-24 | 杭州行至云起科技有限公司 | Control method, device, equipment and medium of intelligent household Internet of things equipment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202985A (en) * | 1988-04-14 | 1993-04-13 | Racal-Datacom, Inc. | Apparatus and method for displaying data communication network configuration after searching the network |
WO2016129259A1 (en) * | 2015-02-09 | 2016-08-18 | 日本電気株式会社 | Server device, data search system, search method, and recording medium |
CN106331142A (en) * | 2016-08-31 | 2017-01-11 | 孟玲 | Cloud service based intelligent home control system |
CN108848503B (en) * | 2018-06-14 | 2019-03-26 | 王佳骏 | A kind of smart home dynamic encryption means of communication and system transmitted using merogenesis |
CN114579997B (en) * | 2022-03-04 | 2024-07-05 | 福建师范大学 | Encryption social network graph node intimacy calculation method |
CN114417073B (en) * | 2022-03-28 | 2022-08-05 | 之江实验室 | Neighbor node query method and device of encryption graph and electronic equipment |
CN115186276A (en) * | 2022-05-23 | 2022-10-14 | 北京理工大学 | A Label Range Query Method Supporting Encrypted Road Network Graph |
CN116226466A (en) * | 2023-03-17 | 2023-06-06 | 青岛大学 | Minimum community searching method, device, system and storage medium |
-
2024
- 2024-04-03 CN CN202410397787.3A patent/CN117993020B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938546A (en) * | 2023-07-12 | 2023-10-24 | 杭州行至云起科技有限公司 | Control method, device, equipment and medium of intelligent household Internet of things equipment |
Also Published As
Publication number | Publication date |
---|---|
CN117993020A (en) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038349B (en) | Effective and verifiable public key searching encryption method based on KP-ABE | |
JP6528008B2 (en) | Personal Device Security Using Elliptic Curve Cryptography for Secret Sharing | |
Paulet et al. | Privacy-preserving and content-protecting location based queries | |
JP6180177B2 (en) | Encrypted data inquiry method and system capable of protecting privacy | |
CN110235409B (en) | Method for protected RSA signature or decryption using homomorphic encryption | |
JP6763378B2 (en) | Cryptographic information creation device, cryptographic information creation method, cryptographic information creation program, and verification system | |
CN110417726A (en) | A kind of key management method and relevant device | |
CN107256248A (en) | Encryption method can search for based on asterisk wildcard in cloud storage safety | |
CN114036565A (en) | Private information retrieval system and private information retrieval method | |
CN105337736A (en) | Fully-homomorphic message authentication method, device and system | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
CN110400162B (en) | Data processing method, device, server and system | |
CN114443718B (en) | A data query method and system | |
US8923519B2 (en) | Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens | |
Teegala et al. | A Novel Authentication Mechanism for SecureData Access based on Encryption Key Sharing for Cloud Web Application | |
CN114039785A (en) | Data encryption, decryption, processing method, apparatus, device and storage medium | |
Jones et al. | Information security: A coordinated strategy to guarantee data security in cloud computing | |
WO2021098152A1 (en) | Blockchain-based data processing method, device, and computer apparatus | |
Krishnamoorthy et al. | Implementation and management of cloud security for industry 4. O-data using hybrid elliptical curve cryptography | |
CN114268447B (en) | File transmission method and device, electronic equipment and computer readable medium | |
Verbücheln | How perfect offline wallets can still leak bitcoin private keys | |
CN118473635A (en) | Block chain-based semi-homomorphic encryption internet of things privacy protection scheme | |
CN117993020B (en) | Search method, device and equipment for home appliance network graph based on secure multi-party computing | |
CN117390675A (en) | Data query method, electronic device, and readable storage medium | |
CN112637233B (en) | Safe averaging method based on multi-user data |
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 |