Homomorphic task management method, key management method, ciphertext storage management method, and device
By applying homomorphic tasks, keys, and ciphertext storage management methods in communication networks, and using homomorphic encryption technology, the problems of data privacy and security protection in communication networks are solved, efficient privacy computing and resource utilization are achieved, and the Security and privacy requirements of emerging smart applications.
Patent Information
- Application Number
- PCT/CN2023/105428
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-30
- Publication Date
- 2025-01-02
AI Technical Summary
How to achieve end-to-end data privacy and security protection in communication networks under the meeting of high security and privacy requirements, especially to efficiently utilize communication resources while implementing emerging intelligent applications and businesses such as immersive extended reality, digital twins and metaverses. and computing resources, the existing technology is difficult to effectively solve this problem.
Using homomorphic tasks, keys, and ciphertext storage management methods, homomorphic tasks are managed in communication networks through homomorphic encryption technology, providing privacy computing capabilities, and supporting the management and application of homomorphic encryption in communication networks, including homomorphic tasks Management, key management and ciphertext storage management ensures the security and privacy of data during transmission and calculation.
It realizes efficient management and privacy computing of homomorphic tasks in the communication network, ensures data security and privacy, improves the utilization efficiency of communication resources, and supports the security and privacy protection needs of emerging applications.
Smart Images

Figure CN2023105428_02012025_PF_FP_ABST
Abstract
Description
A homomorphic task, key, and ciphertext storage management method and device Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method and device for managing homomorphic tasks, keys, and ciphertext storage. Background Art
[0002] With the convergence of communications, perception, and artificial intelligence, perception, as an inherent capability of future communication networks, can provide vast amounts of data for intelligent applications. Networks act as both producers and providers of data, providing trusted data services for various intelligent applications. Simultaneously, they act as consumers of network data, leveraging data-driven intelligent applications to improve network performance and operational efficiency.
[0003] Furthermore, with the advancement of society and the growing awareness of data ownership, the demand for data privacy protection is becoming increasingly stringent. How can we fully tap and realize the value of data while meeting high security and privacy requirements, and efficiently utilize communication and computing resources within the communication network? How can we provide end-to-end data privacy and security technologies while enabling new network capabilities (such as intrinsic intelligence and ubiquitous perception) and new services (such as immersive extended reality (XR), digital twins, and the metaverse)? These are pressing issues that need to be addressed.
[0004] Summary of the Invention
[0005] The present application provides a method and device for managing homomorphic tasks, keys, and ciphertext storage, in order to apply homomorphic encryption to communication networks, support the management of homomorphic tasks in communication networks, and provide privacy computing capabilities for communication networks.
[0006] In a first aspect, an embodiment of the present application provides a homomorphic task management method, which can be executed by a homomorphic task management unit, and the method includes: receiving a homomorphic task request, the homomorphic task request including a homomorphic task output type; according to the homomorphic task request, sending one or more task configuration information to N homomorphic enabling units, wherein each task configuration information includes one or more homomorphic task participant types of at least one homomorphic enabling unit among the N homomorphic enabling units; the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party, and a homomorphic decryption party, and the N homomorphic enabling units are used to implement the homomorphic task corresponding to the homomorphic task output type, and N is an integer greater than or equal to 1.
[0007] Among them, the homomorphic enabling unit can be a terminal device, an access network device, a core network element, an independent node, or an application layer functional node, etc., or the corresponding chips, circuits, software modules, etc. of these devices (or network elements, etc.).
[0008] The homomorphic task management unit can be arranged as a single node in the communication network, or the functions of the homomorphic task management unit can be deployed in existing nodes in the communication network, which is not limited in this application. Through the above method, the homomorphic task management unit can manage nodes such as terminal devices, access network devices, core network elements, independent nodes, or application layer function nodes that serve as homomorphic enabling units in the communication network, and assign homomorphic task participant types to nodes such as terminal devices, access network devices, core network elements, independent nodes, or application layer function nodes that serve as homomorphic enabling units in the communication network according to homomorphic task requests, apply homomorphic encryption to the communication network, and support the implementation of homomorphic encryption in the communication network.
[0009] In one possible design, the task configuration information sent to at least one homomorphic enabling unit among N homomorphic enabling units that serves as a homomorphic computing party also includes a homomorphic computing algorithm identifier and a homomorphic encryption algorithm identifier, wherein the homomorphic computing algorithm identifier can be determined based on the homomorphic task output type, or, when the homomorphic computing algorithm identifier is carried in the homomorphic task request, it can also be determined based on the homomorphic computing algorithm identifier carried in the homomorphic task request.
[0010] Through the above design, the homomorphic computing algorithm identifier and the homomorphic encryption algorithm identifier can be configured to the homomorphic computing party, which is beneficial for the homomorphic computing party to perform homomorphic computing according to the homomorphic computing algorithm and the homomorphic encryption algorithm (for example: configuring or selecting the computing circuit according to the homomorphic computing algorithm and the homomorphic encryption algorithm for homomorphic computing), and supporting the implementation of homomorphic tasks.
[0011] In one possible design, before sending one or more task configuration information to N homomorphic enabling units, the method also includes: selecting N homomorphic enabling units from the M homomorphic enabling units based on the homomorphic capability information and homomorphic task requests of the M homomorphic enabling units, where M is an integer greater than or equal to N; wherein the homomorphic capability information of any homomorphic enabling unit among the M homomorphic enabling units includes a homomorphic encryption algorithm identifier supported by the homomorphic enabling unit, and / or a homomorphic computing algorithm identifier.
[0012] Optionally, the homomorphic capability information of the homomorphic enabling unit may further include one or more of the following: the homomorphic enabling unit identifier, type, homomorphic encryption capability level, homomorphic encryption security level, homomorphic encryption enable identifier, homomorphic decryption enable identifier, homomorphic computing enable identifier, etc. The homomorphic task request may further include one or more of the following: homomorphic task type, homomorphic task quality requirements, data user parameters, number of data users, number of data providers, and data provider parameters.
[0013] Through the above design, the homomorphic enabling unit can be selected based on the homomorphic capability information of each homomorphic enabling unit and the requirements of the homomorphic task carried in the homomorphic task request, which is conducive to improving the reliability of the homomorphic task.
[0014] In one possible design, the M homomorphic enabling units include a first homomorphic enabling unit, and the method further includes: receiving homomorphic capability information from the first homomorphic enabling unit; and generating a homomorphic capability profile of the first homomorphic enabling unit based on the homomorphic capability information of the first homomorphic enabling unit.
[0015] Among them, the homomorphic capability configuration file can be stored locally in the homomorphic task management unit. In addition to including part or all of the homomorphic capability information of the first homomorphic enabling unit, the homomorphic capability configuration file can also include information about the homomorphic task in which the homomorphic enabling unit is currently participating, such as the task identifier of the currently participating homomorphic task, the type of homomorphic task participant in the participating homomorphic task, etc.
[0016] Optionally, before receiving the homomorphic capability information from the first homomorphic enabling unit, the method further includes: sending a homomorphic capability information reporting request to the first homomorphic enabling unit, where the homomorphic capability information reporting request is used to request the homomorphic capability information of the first homomorphic enabling unit.
[0017] Through the above design, the homomorphic capability information of the homomorphic enabling unit can be obtained by actively reporting through the homomorphic enabling unit, or by sending a reporting request to the homomorphic enabling unit and requesting the homomorphic enabling unit to report. This supports the homomorphic task management unit to obtain the homomorphic capability information of the homomorphic enabling unit in different ways.
[0018] In one possible design, the method further includes: generating a homomorphic task configuration file based on the homomorphic task request and one or more task configuration information.
[0019] In an embodiment of the present application, the homomorphic task configuration file may include parameters of the homomorphic task class, such as one or more of the homomorphic task index, homomorphic task type, homomorphic encryption algorithm identifier, homomorphic computing algorithm identifier, etc., and may also include information of the homomorphic encryption party, homomorphic computing party, homomorphic decryption party or data user, etc. Taking the homomorphic encryption party as an example, it may include the number of homomorphic encryption parties, parameters of each homomorphic encryption party, and other information.
[0020] Through the above design, it is possible to support the generation of encrypted homomorphic task configuration files based on homomorphic task requests, homomorphic task configuration (or scheduling) results, etc., so as to record and manage the information of homomorphic tasks.
[0021] In one possible design, after a secure channel has been established with the second homomorphic task management unit, the method further includes: forwarding or broadcasting a homomorphic task request to at least one second homomorphic task management unit.
[0022] Optionally, the method also includes: requesting homomorphic capability information of the third homomorphic enabling unit from the second homomorphic task management unit; receiving a homomorphic capability information configuration file of the third homomorphic enabling unit in response from the second homomorphic task management unit, wherein the third homomorphic enabling unit is located in the management area of the second homomorphic task management unit.
[0023] Optionally, the method also includes: sending a homomorphic task status query request to the second homomorphic task management unit, the homomorphic task status query request including the identifier of the homomorphic task to be queried; receiving a homomorphic task status query response from the second homomorphic task management unit, the homomorphic task status query response including information on whether the homomorphic task to be queried has ended, wherein the homomorphic task to be queried is managed by the second homomorphic task management unit.
[0024] Optionally, when the homomorphic enabling units participating in the homomorphic task also involve a second homomorphic task management unit, the method further includes: sending a first key derivation material to the second homomorphic task management unit; receiving a homomorphic task key from the second homomorphic task management unit, the homomorphic task key being derived based on the first key derivation material and the second key derivation material from the second homomorphic task management unit; and issuing the homomorphic task key to the N homomorphic enabling units that receive the task configuration information.
[0025] Through the above design, it is supported to forward or broadcast homomorphic task requests between homomorphic task management units when they are deployed across domains, layers, and multiple nodes.
[0026] In one possible design, the method also includes: sending a homomorphic task key request to the key management unit, where the homomorphic task key request is used to request that the key of the homomorphic task be issued to at least one homomorphic enabling unit among the N homomorphic enabling units, and the homomorphic task key request includes one or more homomorphic task participant types of each homomorphic enabling unit among the N homomorphic enabling units, and the homomorphic encryption algorithm identifier used by the homomorphic task.
[0027] The above design facilitates the key management unit to obtain the configuration (or scheduling) information of homomorphic tasks, complete the distribution of keys for homomorphic tasks, and support the implementation of homomorphic tasks.
[0028] In one possible design, the method further includes: sending ciphertext sending task configuration information to the ciphertext data storage management unit, the ciphertext sending task configuration information including a ciphertext data identifier and an identifier of at least one homomorphic enabling unit serving as a homomorphic computing party, so that the ciphertext data storage management unit sends the stored ciphertext corresponding to the ciphertext data identifier to the at least one homomorphic enabling unit serving as a homomorphic computing party, wherein the ciphertext data identifier is used to identify the ciphertext required for the homomorphic task. Optionally, the ciphertext is symmetric ciphertext, asymmetric ciphertext, or homomorphic ciphertext.
[0029] Through the above design, the ciphertext data storage management unit can store the ciphertext of the homomorphic enabling unit, etc., and send the stored ciphertext to the homomorphic computing party of one or more homomorphic tasks according to the ciphertext sending task configuration or scheduling, which is conducive to improving the utilization rate of the ciphertext.
[0030] In one possible design, before sending one or more task configuration information to the N homomorphic enabling units, or before sending ciphertext sending task configuration information to the ciphertext data storage management unit, the method further includes: determining that the ciphertext is valid, where the ciphertext is valid including that the storage lifecycle of the ciphertext has not ended and / or the encryption key corresponding to the ciphertext has not expired;
[0031] In one possible design, the method also includes: sending a ciphertext query request to the ciphertext data storage management unit, the ciphertext query request is used to request to query the validity of the ciphertext; and receiving a ciphertext query response from the ciphertext data storage management unit, the ciphertext query response including whether the ciphertext is valid.
[0032] Through the above design, the homomorphic task management unit can also confirm the validity of the ciphertext before configuring the homomorphic task or the ciphertext sending task to ensure that the homomorphic task is executable.
[0033] In the second aspect, an embodiment of the present application provides a key management method, which can be executed by a key management unit, and the method includes: receiving a homomorphic task key request from a homomorphic task management unit, the homomorphic task key request is used to request that a key of a homomorphic task be issued to at least one homomorphic enabling unit among N homomorphic enabling units, which includes one or more homomorphic task participant types of each homomorphic enabling unit among the N homomorphic enabling units participating in the homomorphic task, and a homomorphic encryption algorithm identifier used by the homomorphic task, wherein the homomorphic task participant type includes a homomorphic encryption algorithm identifier. , any one of a homomorphic computing party or a homomorphic decrypting party; sending a homomorphic encryption key to at least one homomorphic enabling unit among N homomorphic enabling units that serves as a homomorphic encryption party, sending a homomorphic computing key to at least one homomorphic enabling unit among N homomorphic enabling units that serves as a homomorphic computing party, and sending a homomorphic decryption key to at least one homomorphic enabling unit among N homomorphic enabling units that serves as a homomorphic decrypting party, wherein the homomorphic encryption key, the homomorphic computing key, and the homomorphic decryption key are derived based on a key generator corresponding to a homomorphic encryption algorithm identifier, and N is an integer greater than or equal to 1.
[0034] In the embodiments of the present application, a key generator may refer to a key derivation algorithm, function, or algorithmic process, and the key generators corresponding to different homomorphic encryption algorithm identifiers may differ. In addition, the key management unit may be deployed as a separate node in the communication network, or the functions of the key management unit may be deployed in an existing node in the communication network, or may be integrated with the homomorphic task management unit of the first aspect, which is not limited in this application.
[0035] In one possible design, the method also includes: sending a homomorphic task key derivation request to the key interaction party, the homomorphic task key derivation request including at least one homomorphic enabling unit identifier participating in the homomorphic task, public parameters for deriving the homomorphic task key, and a homomorphic encryption algorithm identifier; receiving a homomorphic task key from the key interaction party, the homomorphic task key including a homomorphic encryption key, a homomorphic computation key, and a homomorphic decryption key, the homomorphic task key being derived by the key interaction party based on the key material associated with at least one homomorphic enabling unit participating in the homomorphic task, the public parameters for deriving the homomorphic task key, and a key generator corresponding to the homomorphic encryption algorithm identifier.
[0036] In one possible design, the method also includes: sending a key information acquisition request to a key interaction party, the key information acquisition request including an identifier of at least one homomorphic enabling unit participating in a homomorphic task; receiving key information from the key interaction party, the key information including key material of at least one homomorphic enabling unit participating in the homomorphic task; deriving a homomorphic task key based on the key information, a public parameter for deriving a homomorphic task key, and a key generator corresponding to a homomorphic encryption algorithm identifier, the homomorphic task key including a homomorphic encryption key, a homomorphic computation key, and a homomorphic decryption key.
[0037] In a third aspect, an embodiment of the present application provides a key management method, which can be executed by a key management unit, and the method includes: receiving a homomorphic task key request from a homomorphic task management unit, the homomorphic task key request is used to request that the key of the homomorphic task be issued to at least one homomorphic enabling unit among N homomorphic enabling units, the homomorphic task key request includes one or more homomorphic task participant types of each homomorphic enabling unit among the N homomorphic enabling units participating in the homomorphic task, and the homomorphic encryption algorithm identifier used by the homomorphic task, and the homomorphic task participant type includes any one of an encryption party, a homomorphic computing party, and a decryption party; in the case that at least one homomorphic enabling unit as an encryption party among the N homomorphic enabling units adopts non-homomorphic encryption, sending the homomorphic encryption key and the homomorphic algorithm identifier to at least one homomorphic enabling unit as a homomorphic computing party among the N homomorphic enabling units. Calculate a key, and send a homomorphic decryption key to at least one homomorphic enabling unit among N homomorphic enabling units that serves as a decryption party, wherein the homomorphic calculation key includes a first conversion key, which is a homomorphic ciphertext obtained by homomorphically encrypting a non-homomorphic decryption key corresponding to a non-homomorphic ciphertext, and can be used by at least one homomorphic enabling unit that serves as a homomorphic calculation party to perform homomorphic calculation and non-homomorphic decryption on the non-homomorphic ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain a homomorphic ciphertext; wherein the homomorphic encryption key, the homomorphic calculation key, and the homomorphic decryption key are derived from a key generator corresponding to a homomorphic encryption algorithm identifier; non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic characteristics, and non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and the non-homomorphic ciphertext is the ciphertext obtained by the above-mentioned non-homomorphic encryption, and N is an integer greater than or equal to 1.
[0038] In the embodiments of the present application, a key generator may refer to a key derivation algorithm, function, or algorithmic process, and the key generators corresponding to different homomorphic encryption algorithm identifiers may differ. In addition, the key management unit may be deployed as a separate node in the communication network, or the functions of the key management unit may be deployed in an existing node in the communication network, or may be integrated with the homomorphic task management unit of the first aspect, which is not limited in this application.
[0039] Through the above method, homomorphic calculation of non-homomorphically encrypted ciphertext is supported, and the output of homomorphically encrypted homomorphic ciphertext to the decryption party is supported, which can expand the scope of application of homomorphic tasks and improve the utilization rate of ciphertext.
[0040] In one possible design, the method also includes: obtaining a non-homomorphic decryption key corresponding to the non-homomorphic encryption through a key interaction party; deriving a homomorphic task key based on the non-homomorphic decryption key, a public parameter for deriving the homomorphic task key, and a key generator corresponding to the homomorphic encryption algorithm identifier, the homomorphic task key including a homomorphic encryption key, a homomorphic computation key, and a homomorphic decryption key.
[0041] In a fourth aspect, an embodiment of the present application provides a key management method, which can be executed by a key management unit, and the method includes: receiving a homomorphic task key request from a homomorphic task management unit, the homomorphic task key request being used to request that a key of a homomorphic task be issued to at least one homomorphic enabling unit among N homomorphic enabling units, which includes one or more homomorphic task participant types of each of the N homomorphic enabling units participating in the homomorphic task, and a homomorphic encryption algorithm identifier used by the homomorphic task, the homomorphic task participant type including any one of a homomorphic encryption party, a homomorphic computing party or a homomorphic decryption party; in the case that at least one homomorphic enabling unit as an encryption party among the N homomorphic enabling units adopts non-homomorphic encryption and at least one homomorphic enabling unit as a decryption party adopts non-homomorphic decryption, sending a homomorphic encryption key to at least one homomorphic enabling unit as a homomorphic computing party among the N homomorphic enabling units. Key, homomorphic computing key and second conversion key, wherein the homomorphic computing key includes a first conversion key, the first conversion key is the homomorphic ciphertext obtained by homomorphically encrypting the non-homomorphic decryption key corresponding to the non-homomorphic ciphertext, and can be used by at least one homomorphic enabling unit as a homomorphic computing party to perform homomorphic computing and non-homomorphic decryption on the non-homomorphic ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain the homomorphic ciphertext, and the second conversion key can be used by at least one homomorphic enabling unit as a homomorphic computing party to convert the homomorphic ciphertext after homomorphic computing into non-homomorphic ciphertext that is non-homomorphically encrypted; wherein non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic characteristics, and non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and the non-homomorphic ciphertext is the ciphertext obtained by the above-mentioned non-homomorphic encryption, wherein the homomorphic encryption key, the homomorphic computing key and the second conversion key are derived based on the key generator corresponding to the homomorphic encryption algorithm identifier.
[0042] In the embodiments of the present application, a key generator may refer to a key derivation algorithm, function, or algorithmic process, and the key generators corresponding to different homomorphic encryption algorithm identifiers may differ. In addition, the key management unit may be deployed as a separate node in the communication network, or the functions of the key management unit may be deployed in an existing node in the communication network, or may be integrated with the homomorphic task management unit of the first aspect, which is not limited in this application.
[0043] Through the above method, homomorphic calculation of non-homomorphically encrypted ciphertext is supported, and non-homomorphic ciphertext encrypted by non-homomorphism is output to the decryption party, which can expand the scope of application of homomorphic tasks and improve the utilization rate of ciphertext.
[0044] In one possible design, the non-homomorphic decryption key is sent to at least one homomorphic enabling unit serving as a decryption party.
[0045] In one possible design, the method also includes: obtaining a non-homomorphic encryption key and a non-homomorphic decryption key corresponding to the non-homomorphic encryption through a key interaction party; deriving a homomorphic task key based on the non-homomorphic encryption key, the non-homomorphic decryption key, the public parameters for deriving the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier, the homomorphic task key including the homomorphic encryption key, the homomorphic computation key, and the second conversion key.
[0046] In one possible design, the key of a homomorphic task is derived and issued based on the key granularity of the homomorphic task, and the key granularity of the homomorphic task is determined by negotiation with the key interaction party.
[0047] In one possible design, the key granularity of homomorphic tasks is task level, user level, or sub-region level.
[0048] The above design supports the key management unit to negotiate the key granularity with the key interaction party, and distributes the homomorphic task key according to the negotiated key granularity, which is conducive to meeting the privacy encryption requirements of different granularities.
[0049] In a fifth aspect, an embodiment of the present application provides a ciphertext storage management method, which can be executed by a ciphertext data storage management unit, the method comprising: receiving ciphertext sending task configuration information from a homomorphic task management unit, the ciphertext sending task configuration information including a ciphertext data identifier; and sending, based on the ciphertext sending task configuration information, a stored ciphertext corresponding to the ciphertext data identifier to at least one homomorphic enabling unit serving as a homomorphic computing party. Optionally, the ciphertext is symmetric ciphertext, asymmetric ciphertext, or homomorphic ciphertext.
[0050] Among them, the ciphertext data storage management unit can be arranged as a node in the communication network alone, or the functions of the ciphertext data storage management unit can be deployed in existing nodes in the communication network, and can also be integrated with the above-mentioned homomorphic task management unit and / or key management unit, which is not limited in this application.
[0051] Through the above method, the ciphertext data storage management unit can store the ciphertext of the homomorphic enabling unit, which is conducive to the homomorphic computing party in the fast homomorphic task to provide the ciphertext of the required homomorphic enabling unit, and supports the same ciphertext to be provided to the homomorphic computing parties of different homomorphic tasks for homomorphic computing, which can improve the reusability of the ciphertext.
[0052] In one possible design, the method also includes: receiving a ciphertext query request from a homomorphic task management unit, the ciphertext query request being used to request a query on the validity of the ciphertext; sending a ciphertext query response to the homomorphic task management unit, the ciphertext query response including whether the ciphertext is valid, wherein the validity of the ciphertext includes that the storage life cycle of the ciphertext has not ended and / or the encryption key corresponding to the ciphertext has not expired.
[0053] Through the above design, the validity of the ciphertext provided to the homomorphic computing method can be guaranteed, and the reliable execution of homomorphic tasks can be guaranteed.
[0054] In one possible design, the ciphertext includes ciphertext from a second homomorphic enabling unit, and the method further includes: receiving the ciphertext and the storage lifecycle from the second homomorphic enabling unit; and storing the ciphertext according to the storage lifecycle.
[0055] In one possible design, the ciphertext includes ciphertext from a second homomorphic enabling unit, and the method further includes: receiving the ciphertext from the second homomorphic enabling unit; setting the storage lifecycle of the ciphertext upon obtaining permission to set the storage lifecycle of the ciphertext from the second homomorphic enabling unit; and storing the ciphertext according to the storage lifecycle.
[0056] Through the above design, the ciphertext data storage management unit can store ciphertext according to the storage life cycle of the ciphertext, thereby avoiding excessive storage of ciphertext data.
[0057] In one possible design, the stored ciphertext from the homomorphic enabling unit includes ciphertext encrypted using a first encryption key; the method also includes: receiving indication information from a key management unit, the indication information being used to indicate that the first encryption key is leaked or invalid; and deleting the ciphertext encrypted using the first encryption key.
[0058] Through the above design, the ciphertext data storage management unit can delete the ciphertext using the encryption key when the encryption key is leaked, thereby ensuring the security of the stored ciphertext.
[0059] In one possible design, the storage area is divided according to one or more of the following to store ciphertext generated by at least one homomorphic enabling unit serving as a homomorphic encryption party: the homomorphic enabling unit to which the ciphertext belongs, the encryption key corresponding to the ciphertext, the network layer associated with the ciphertext, the network slice type associated with the ciphertext, and the security context associated with the ciphertext.
[0060] Through the above design, the ciphertext can be stored in different areas according to one or more of the following: the homomorphic enabling unit to which it belongs, the encryption key corresponding to the ciphertext, the network layer associated with the ciphertext, the network slice type associated with the ciphertext, the security context associated with the ciphertext, etc., which is conducive to improving the efficiency of ciphertext storage or search.
[0061] In a sixth aspect, an embodiment of the present application provides a communication device having the function of implementing the method of any one of the first to fifth aspects above. The function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, such as an interface unit and a processing unit.
[0062] In one possible design, the device may be a chip or an integrated circuit.
[0063] In one possible design, the device includes a memory and a processor, the memory is used to store instructions executed by the processor, and when the instructions are executed by the processor, the device can execute the method of any one of the first to fifth aspects.
[0064] In a seventh aspect, an embodiment of the present application provides a communication device, which includes an interface circuit and a processor, wherein the processor and the interface circuit are coupled to each other. The processor is used to implement the method of any one of the first to fifth aspects above through a logic circuit or execution instruction. The interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor or to send signals from the processor to other communication devices outside the communication device. It is understandable that the interface circuit can be a transceiver, a transceiver, a transceiver, or an input / output interface.
[0065] Optionally, the communication device may further include a memory for storing instructions executed by the processor, or storing input data required by the processor to execute instructions, or storing data generated after the processor executes instructions. The memory may be a physically independent unit, or may be coupled to the processor, or the processor may include the memory.
[0066] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program or instruction is stored. When the computer program or instruction is executed by a processor, the method of any one of the first to fifth aspects above can be implemented.
[0067] In the ninth aspect, an embodiment of the present application further provides a computer program product, including a computer program or instructions. When the computer program or instructions are executed by a processor, the method of any one of the first to fifth aspects above can be implemented.
[0068] In the tenth aspect, an embodiment of the present application also provides a chip system, which includes a processor, the processor is used to couple with a memory, and the memory is used to store programs or instructions. When the program or instruction is executed by the processor, the method of any one of the above-mentioned first to fifth aspects can be implemented.
[0069] In an eleventh aspect, an embodiment of the present application further provides a communication system, comprising a homomorphic task management unit and at least one homomorphic enabling unit communicating with the homomorphic task management function network element;
[0070] The homomorphic task management unit is used to implement the method of the first aspect above.
[0071] In a possible implementation, the communication system further includes: a key management unit and / or a ciphertext data storage management unit;
[0072] The key management unit is used to implement the method of any one of the second to fourth aspects above;
[0073] The ciphertext data storage management unit is used to implement the method of the fifth aspect mentioned above.
[0074] The technical effects that can be achieved in the above-mentioned second to tenth aspects can refer to the technical effects that can be achieved in the above-mentioned first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Figures 1A, 1B, 1C, and 1D are schematic diagrams of a homomorphic encryption algorithm provided in an embodiment of the present application;
[0076] FIG2 is a schematic diagram of a homomorphic encryption scheme provided in an embodiment of the present application;
[0077] FIG3 is a schematic diagram of a possible, non-limiting communication system architecture provided in an embodiment of the present application;
[0078] FIG4 is a schematic diagram of executing a homomorphic task in a communication network according to an embodiment of the present application;
[0079] FIG5 is a schematic diagram of a homomorphic task management method according to an embodiment of the present application;
[0080] FIG6 is a functional diagram of a homomorphic task management unit provided in an embodiment of the present application;
[0081] FIG7 is a second schematic diagram of a homomorphic task management process according to an embodiment of the present application;
[0082] FIG8 is a schematic diagram of a homomorphic capability management process according to an embodiment of the present application;
[0083] FIG9 is a schematic diagram of the interaction between the key management unit and other key interaction parties provided in an embodiment of the present application;
[0084] FIG10 is a schematic diagram of a derivation process of a homomorphic task key according to an embodiment of the present application;
[0085] FIG11 is a second schematic diagram of the derivation process of the homomorphic task key provided in an embodiment of the present application;
[0086] FIG12 is a schematic diagram of an end-to-end process of a homomorphic task provided in an embodiment of the present application;
[0087] FIG13 is a functional diagram of a ciphertext data storage management unit provided in an embodiment of the present application;
[0088] FIG14 is a schematic diagram of a ciphertext storage lifecycle management process according to an embodiment of the present application;
[0089] FIG15 is a schematic diagram of a two-level storage area division according to an embodiment of the present application;
[0090] FIG16 is a schematic diagram of a key expiration process according to an embodiment of the present application;
[0091] FIG17 is a schematic diagram of a ciphertext validity query process according to an embodiment of the present application;
[0092] 18A and 18B are schematic diagrams of a homomorphic task flow according to an embodiment of the present application;
[0093] FIG19 is a schematic diagram of the structure of a homomorphic encryption control function network element provided in an embodiment of the present application;
[0094] FIG20 is a schematic diagram of one of the interactions between homomorphic encryption control function network elements according to an embodiment of the present application;
[0095] FIG21 is a schematic diagram of one of the interactions between homomorphic encryption control function network elements according to an embodiment of the present application;
[0096] FIG22 is a schematic diagram of one of the interactions between homomorphic encryption control function network elements according to an embodiment of the present application;
[0097] FIG23 is a schematic diagram of one of the interactions between homomorphic encryption control function network elements according to an embodiment of the present application;
[0098] FIG24 is a schematic diagram of a structure of a communication device according to an embodiment of the present application;
[0099] FIG25 is a second schematic diagram of the structure of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0100] This application provides a method and apparatus for managing homomorphic tasks, keys, and ciphertext storage. The method and apparatus are based on the same technical concept. Since the method and apparatus solve similar problems, the implementation of the apparatus and method can refer to each other, and any repetitions will not be repeated.
[0101] In order to facilitate understanding by those skilled in the art, some terms in this application are first explained before introducing the embodiments of this application.
[0102] Homomorphic encryption (HE) aims to perform computations on ciphertext without exposing the plaintext data. It focuses on privacy-preserving computation and is a technology that enables data value mining while maintaining privacy. Homomorphic encryption builds on basic encryption by adding homomorphic computation capabilities over ciphertext. It allows computations to be performed directly on encrypted ciphertext, and the decrypted result is consistent with the plaintext result. Homomorphic encryption can be categorized as single homomorphic encryption, partially homomorphic encryption, and fully homomorphic encryption. Single homomorphic encryption only supports homomorphic addition or multiplication; partially homomorphic encryption supports a finite number of arbitrary homomorphic operations, which can be either addition or multiplication; and fully homomorphic encryption supports an unlimited number of arbitrary homomorphic operations. Fully homomorphic encryption can be either asymmetric public key encryption or symmetric encryption, as long as the ciphertext has a certain algebraic structure.
[0103] Homomorphic encryption (HE) consists of four algorithms: HE.Keygen (key generation), HE.Enc (homomorphic encryption), HE.Dec (homomorphic decryption), and HE.Eval (homomorphic evaluation), also known as homomorphic computation. The following describes homomorphic encryption using asymmetric encryption as an example, where n is the security parameter.
[0104] (1) Key generation: (pk,evk,sk)←HE.Keygen(1 n ). As shown in FIG1A , the homomorphic key generator (HEKG) can convert the key material (such as 1 n ) Input the key generator and output the public key (pk) as the homomorphic encryption key: K enc =pk; output as homomorphic evaluation key K eval The evaluation key (evk) is also called the homomorphic computation key; the secret key (sk) is output as the homomorphic decryption key K dec =sk.
[0105] (2) Homomorphic encryption: c←HE.Enc pk (m). As shown in FIG1B , the homomorphic encryption party (HEenc for short) can use the homomorphic encryption key K enc=pk, encrypting a single-bit plaintext message m∈{0,1} into a ciphertext c.
[0106] (3) Homomorphic decryption: m←HE.Dec sk (c) As shown in FIG1C , the homomorphic decryption party (HEdec for short) can use the homomorphic decryption key K dec =sk, decrypt the ciphertext c and restore it to the plaintext message m∈{0,1}.
[0107] (4) Homomorphic evaluation (or homomorphic computation): c f ←HE.Eval evk (f,c1,…,c l ), which can also be called homomorphic computing. Referring to FIG1D , based on the input ciphertext c1,…,c l and homomorphically compute the key K eval =evk, the homomorphic computation method (HEcalc, or HEeval) can execute the homomorphic computation function f∶{0,1} under the ciphertext. l →{0,1}, obtain the output ciphertext c of the homomorphic calculation f .
[0108] Where f represents an arithmetic circuit with addition and multiplication gates on GF(2) (GF represents a finite field, which is the abbreviation of Galois Field). The general homomorphic computation HE.Eval can be decomposed into multiple basic operators, homomorphic addition c add ←HE.Add evk (c1,c2) and homomorphic multiplication c mult ←HE.Mult evk (c1,c2).
[0109] The entire homomorphic encryption scheme HE = (HE.Keygen, HE.Enc, HE.Dec, HE.Eval) is shown in Figure 2. The ciphertext calculation result is equivalent to the plaintext calculation result after decryption. Homomorphic key generator A generates homomorphic encryption key K enc , homomorphic calculation key K eval , homomorphic decryption key K dec , needs to be distributed to the homomorphic encryption party B, the homomorphic computing party C, and the homomorphic decryption party D respectively.
[0110] In a homomorphic task, there can be multiple homomorphic encryptors encrypting data from different sources, multiple homomorphic computation parties executing homomorphic computation circuits, and single-hop or multi-hop homomorphic computation parties. A homomorphic task can also have multiple homomorphic decryptors, and the decryption results can be provided to multiple data users. Depending on the key deployment, the homomorphic decryptor and the data user can be the same or different entities. Fully homomorphic encryption can be either asymmetric public key encryption or symmetric encryption, as long as the ciphertext has a certain algebraic structure. The homomorphic encryption keys used by multiple homomorphic encryptors in a homomorphic task can be the same or different. Homomorphic computation keys can include a bootstrapping key (BSK) and a key switching key (KSK). The BSK can be used in the homomorphic computation decryption circuit in the ciphertext state to reduce noise. The KSK can be used to convert the ciphertext product into a new ciphertext with the same dimension as the original ciphertext after computation, eliminating the cross terms of the corresponding keys to reduce the ciphertext size increase caused by ciphertext multiplication.
[0111] Additionally, it should be understood that the term "and / or" in this application describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0112] In this application, "at least one" refers to one or more, and "a plurality" refers to two or more. In the description of this application, words such as "first" and "second" are used only for the purpose of distinguishing descriptions and should not be understood as indicating or implying relative importance or order.
[0113] The previous section introduces some of the terms involved in the embodiments of this application. Next, the communication system architecture applicable to the embodiments of this application will be introduced.
[0114] Figure 3 shows a possible, non-limiting communication system architecture applicable to embodiments of the present application. As shown in Figure 3, the communication system 3000 includes a radio access network (RAN) 100 and a core network (CN) 200. Optionally, the communication system 3000 may also include the Internet 300. The RAN 100 includes at least one network device (such as 110a and 110b in Figure 3, collectively referred to as 110) and at least one terminal device (such as 120a-120j in Figure 3, collectively referred to as 120). The RAN 100 may also include other RAN nodes, such as wireless relay devices and / or wireless backhaul devices (not shown in Figure 3). The terminal device 120 is connected to the network device 110 via a wireless connection. The network device 110 is connected to the core network 200 via a wireless or wired connection. The core network device in the core network 200 and the network device 110 in the RAN 100 can be different physical devices, or they can be the same physical device that integrates the core network logical functions and the radio access network logical functions.
[0115] The RAN 100 may be a cellular system related to the Third Generation Partnership Project (3GPP), such as a fourth generation (4G) or fifth generation (5G) mobile communication system, or an evolved system beyond 5G (such as a 6G mobile communication system). The RAN 100 may also be an open access network (O-RAN or ORAN), a cloud radio access network (CRAN), or a WiFi system. The RAN 100 may also be a communication system that integrates two or more of the above systems.
[0116] It will be understood that FIG3 only illustrates one possible communication system architecture that may be applied in an embodiment of the present application. In other possible scenarios, the communication system architecture may also include other devices.
[0117] The network device 110 is a node in the radio access network (RAN), and can also be called an access network device or a RAN node (or device). The network device 110 is used to help terminal devices achieve wireless access. The multiple network devices 110 in the communication system 3000 can be nodes of the same type or different types. In some scenarios, the roles of the network device 110 and the terminal device 120 are relative. For example, the network element 120i in Figure 3 can be a helicopter or a drone, which can be configured as a mobile base station. For terminal devices 120j that access the RAN 100 through the network element 120i, the network element 120i is a base station; but for the base station 110a, the network element 120i is a terminal device. The network device 110 and the terminal device 120 are sometimes referred to as communication devices. For example, the network elements 110a and 110b in Figure 3 can be understood as communication devices with base station functions, and the network elements 120a-120j can be understood as communication devices with terminal device functions.
[0118] In one possible scenario, a network device can be a base station, an evolved NodeB (eNodeB), a transmitting and receiving point (TRP), a transmitting point (TP), a next-generation NodeB (gNB), a next-generation base station in a sixth-generation (6G) mobile communication system, a base station in a future mobile communication system, a satellite, an access point (AP) in a WiFi system, an integrated access and backhaul (IAB) node, a mobile switching center, or a network device in a non-terrestrial network (NTN) communication system, i.e., it can be deployed on a high-altitude platform or satellite. The network device can be a macro base station (such as 110a in Figure 3), a micro base station or an indoor station (such as 110b in Figure 3), a relay node or a donor node, or a wireless controller in a CRAN scenario. The network device can also be a device that functions as a base station in device-to-device (D2D) communication, vehicle-to-vehicle communication, drone communication, or machine communication. Optionally, the network device may also be a server, a wearable device, a vehicle or an onboard device, etc. For example, the access network device in vehicle to everything (V2X) technology may be a road side unit (RSU).
[0119] In another possible scenario, multiple network devices collaborate to assist the terminal device in achieving wireless access, and different network devices respectively implement part of the functions of the base station. For example, the network device can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). It can be understood that the network device can be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU can be divided into a network device in the access network RAN, or the CU can be divided into a network device in the core network CN, which is not limited here.
[0120] In the embodiments of the present application, the form of the network device is not limited. The device used to implement the function of the network device can be a network device; it can also be a device that can support the network device to implement the function, such as a chip system. The device can be installed in the network device or used in conjunction with the network device.
[0121] The terminal device 120, which may also be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc., is a device used to provide voice or data connectivity to users, or an IoT device. For example, the terminal device includes a handheld device with wireless connection capabilities, an in-vehicle device, etc. Currently, terminal devices can include: mobile phones, tablet computers, laptop computers, PDAs, mobile internet devices (MIDs), wearable devices (such as smart watches, smart bracelets, pedometers, etc.), vehicle-mounted devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), wireless terminals in industrial control, smart home devices (such as refrigerators, televisions, air conditioners, electricity meters, etc.), intelligent robots, robotic arms, workshop equipment, wireless terminals in unmanned driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, and flying devices (such as intelligent robots, hot air balloons, drones, airplanes). Terminal devices can also be other devices with terminal functions, for example, terminal devices can also be devices that function as terminals in D2D communication.
[0122] The embodiments of this application do not limit the device form factor of the terminal device. The device used to implement the functions of the terminal device can be the terminal device; it can also be a device that supports the terminal device to implement the functions, such as a chip system. The device can be installed in the terminal device or used in conjunction with the terminal device. In the embodiments of this application, the chip system can be composed of a chip or include a chip and other discrete components.
[0123] Each network element or device in the communication system (also referred to as a communication network) shown in Figure 3 may have homomorphic encryption capabilities. Therefore, in an embodiment of the present application, it is possible to consider supporting homomorphic tasks corresponding to homomorphic encryption in the communication network to provide privacy computing capabilities for the communication network.
[0124] FIG4 is an example of performing a homomorphic task in a communication network provided by the present application, wherein the communication network may also be referred to as a communication network. The communication network may be deployed as cells, and each cell may have thousands of terminal devices wirelessly accessing its own service cell. In FIG4 , terminal devices such as smart cars, smart phones, VR / AR devices, smart cameras, etc. equipped with on-board units (OBUs) may have homomorphic encryption capabilities. When privacy protection is required, the generated sensitive data may be homomorphically encrypted and then transmitted to other terminal nodes, roadside units (RSUs), base stations, functional network elements (NFs) in the core network (hereinafter referred to as NFs in the core network), cloud providers, and other nodes in the communication network for homomorphic calculation under ciphertext. The ciphertext data after the final calculation is transmitted to the data user for homomorphic decryption and use.
[0125] A communication network may contain numerous homomorphic tasks (e.g., homomorphic tasks 1-4 in Figure 4). Based on (fully) homomorphic encryption technology, the communication network can provide privacy protection and privacy-preserving computing services for highly secure and sensitive services. However, how can these homomorphic tasks be perceived, orchestrated, and managed within the communication network? How can the homomorphic capabilities of different nodes be perceived, registered, and managed? Homomorphic tasks involve new homomorphic task management process optimization issues, as well as the management and distribution of encryption / computation / decryption keys or key parameters associated with homomorphic tasks, all of which are currently undesigned for existing communication networks. Furthermore, the network devices and core network involved in homomorphic tasks may need to perceive the communication and computing resource status of the homomorphic participants in the homomorphic encryption service in real time and coordinately manage and control these resources. This ensures that homomorphic privacy-preserving services that meet quality of service (QoS) requirements, such as ultra-low latency, high data security and privacy, and sustainability, can be delivered in dynamic and complex wireless network environments. Therefore, applying homomorphic encryption to communication networks and managing homomorphic tasks within them is a worthy consideration.
[0126] Based on this, this application provides a homomorphic task, key, and ciphertext storage management solution to support the application of homomorphic encryption to communication networks, meet the demand for homomorphic task management in communication networks, and provide privacy computing capabilities for communication networks. The following is a detailed description of the embodiments of this application in conjunction with the accompanying drawings.
[0127] FIG5 is a schematic diagram of a homomorphic task management method provided in an embodiment of the present application, which can be executed by a homomorphic task management unit (wherein the homomorphic task management unit can also be referred to as a homomorphic encryption task management (HETM) unit). Referring to FIG6 , the homomorphic task management unit can have one or more functions including homomorphic task request management, homomorphic task scheduling management, and homomorphic task profile management.
[0128] Among them, the homomorphic task request management function can be used to manage all homomorphic task requests. Receive homomorphic task requests from homomorphic task requesters, parse them, and respond to homomorphic tasks based on the homomorphic task scheduling management results. For example, filter out duplicate or unreasonable homomorphic task requests. The homomorphic task scheduling management function can be used to schedule homomorphic tasks based on homomorphic task request parsing results, homomorphic capability lists, etc., and issue homomorphic task configurations to homomorphic encryption parties, homomorphic computing parties, and homomorphic decryption parties, and receive homomorphic encryption configuration responses / task responses, etc. The homomorphic task configuration file management function can be used to generate homomorphic task profiles (which can be stored in the homomorphic task management unit) based on homomorphic task requests (or homomorphic task request parsing results), homomorphic task scheduling results, etc., and can perform profile management such as forwarding, updating, storing, and destroying.
[0129] Returning to FIG5 , the method includes:
[0130] S501: The homomorphic task management unit receives a homomorphic task request, where the homomorphic task request includes a homomorphic task output type.
[0131] In an embodiment of the present application, a homomorphic task requester, when there is a data requirement, can send a homomorphic task request to the homomorphic task management unit. The homomorphic task request can carry the desired homomorphic task output type, requesting the homomorphic task management unit to establish a homomorphic task for implementing the homomorphic task output type. In an embodiment of the present application, the homomorphic task requester can be a terminal device, an access network device, a core network element, an application running on the terminal device, a server, etc., or the chips, circuits, software modules, etc. corresponding to these devices (or network elements, etc.).
[0132] Referring to Table 1, which shows an example of parameters or information that may be included in a homomorphic task request provided in an embodiment of the present application, the homomorphic task request may also include one or more parameters such as the homomorphic task type, homomorphic task quality, number of data providers, data provider parameters, number of data users, and data user parameters. It should be understood that Table 1 is merely an example, and the homomorphic task request may include some or all of the parameters in Table 1, and may also include parameters not shown in Table 1, and this application does not limit this.
[0133] For the parameter names, specific parameters, and descriptions of the homomorphic task output type, homomorphic task type, homomorphic task quality, number of data providers, data provider parameters, number of data users, and data user parameters, please refer to Table 1. For example, the parameter name for the homomorphic task output type may be "HE Task output type," and the specific parameter may be one of artificial intelligence (AI) model parameters, perception parameters, and control instructions, which may be used to indicate the type of homomorphic task output result. The parameter name for the homomorphic task type may be "HE task type," and the specific parameter may be one of AI training / inference and data compression, which may be used to indicate the type of homomorphic computation under ciphertext. The parameter name for the homomorphic task quality may be "HE Qos," and the specific parameters may include one or more of latency requirements and security requirements, which may be used to indicate the quality of the homomorphic task.
[0134] Table 1
[0135] After receiving a homomorphic task request, the homomorphic task management unit can parse the parameters in the homomorphic task request to obtain a parsed result. As an example, taking a homomorphic task request that includes a homomorphic task output type, homomorphic task type, and homomorphic task quality, the homomorphic task request management function can parse the specific parameters of the homomorphic task output type, homomorphic task type, and homomorphic task quality in the homomorphic task request, such as whether the homomorphic task output type is an AI model parameter, a perception parameter, or a control instruction.
[0136] In some implementations, if the homomorphic task request does not carry a homomorphic task type, the homomorphic task management unit may determine the homomorphic task type associated with the homomorphic task output type carried in the homomorphic task request based on the association relationship (or mapping relationship) between the homomorphic task output type and the homomorphic task type; for example, if the homomorphic task output type is an AI model parameter, the homomorphic task type is AI training / inference; if the homomorphic task output type is a perception parameter, the homomorphic task type is data compression, etc. If the homomorphic task request does not carry the homomorphic task quality, the homomorphic task request management function may adopt the default configured homomorphic task quality, or the homomorphic task quality preconfigured for the homomorphic task output type.
[0137] In some implementations, the homomorphic task management unit may include a homomorphic task request management function and a homomorphic task scheduling management function. The homomorphic task request management function may be responsible for receiving a homomorphic task request and parsing the parameters in the homomorphic task request. For example, upon receiving a homomorphic task request, the homomorphic task request management function in the homomorphic task management unit may parse the parameters in the homomorphic task request and send the parsed results to the homomorphic task scheduling management function.
[0138] S502: The homomorphic task management unit sends one or more task configuration information to N homomorphic enabling units according to the homomorphic task request. Accordingly, the N homomorphic enabling units receive the task configuration information, where N is an integer greater than or equal to 1.
[0139] Each task configuration information includes one or more homomorphic task participant types of at least one homomorphic enabling unit among N homomorphic enabling units; the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party or a homomorphic decryption party, and the N homomorphic enabling units are used to implement the homomorphic task corresponding to the homomorphic task output type.
[0140] As an example: the homomorphic task management unit can send the same task configuration information to A as the homomorphic encryption party, B as the homomorphic decryption party, and C as the homomorphic calculation party, and the task configuration information can include the homomorphic task participant types corresponding to A, B, and C respectively; the homomorphic task management unit can also send task configuration information to A as the homomorphic encryption party, B as the homomorphic decryption party, and C as the homomorphic calculation party respectively, wherein the task configuration information sent to A can include the homomorphic task participant type corresponding to A, the task configuration information sent to B can include the homomorphic task participant type corresponding to B, and the task configuration information sent to C can include the homomorphic task participant type corresponding to C. This application does not limit the manner in which the homomorphic task management unit sends task configuration information to N homomorphic enabling units.
[0141] It can be understood that: a homomorphic task can have one or more homomorphic encryption parties, one or more homomorphic computing parties, and one or more homomorphic decryption parties. If a homomorphic enabling unit in a homomorphic task has only one homomorphic task parameter party type (or can be called a homomorphic task role), then there will not be a homomorphic task participant corresponding to two or more homomorphic task participant types in the homomorphic task. At this time, N is equal to the total number of homomorphic encryption parties, homomorphic computing parties and homomorphic decryption parties, and N is greater than or equal to 3.
[0142] In one possible implementation, the homomorphic task management unit can generate and schedule homomorphic tasks based on the parsing results of the homomorphic task request and the homomorphic capability information of the homomorphic enabling unit, and send the task configuration information containing the type of homomorphic task participants to the scheduled homomorphic enabling unit (HE enabler), where the homomorphic enabling unit can be a terminal device, an access network device, a core network element, an independent node, or an application layer function node, etc., and can be a homomorphic encryption party, a homomorphic computing party, or a homomorphic decryption party. In some possible implementations, the homomorphic task management unit includes a homomorphic task scheduling management function. The function of the homomorphic task management unit in this implementation can also be implemented by the homomorphic task scheduling management function in the homomorphic task management unit.
[0143] Referring to Table 2, an example of homomorphic capability information of a homomorphic enabling unit provided in an embodiment of the present application is provided. The homomorphic capability information may include one or more of the parameters such as the homomorphic enabling unit type, identifier, homomorphic encryption capability level, homomorphic encryption security level, homomorphic encryption enable identifier, homomorphic decryption enable identifier, homomorphic computing enable identifier, supported homomorphic encryption algorithm identifier, and supported homomorphic computing algorithm identifier. It should be understood that Table 2 is only an example, and the homomorphic capability information may include some or all of the parameters in Table 2, and may also include parameters not shown in Table 2, which is not limited by the comparison in this application.
[0144] Among them, the parameter names, specific parameters and descriptions of parameters such as homomorphic enabling unit type, identifier, homomorphic encryption capability level, homomorphic encryption security level, homomorphic encryption enabling identifier, homomorphic decryption enabling identifier, homomorphic computing enabling identifier, supported homomorphic encryption algorithm identifier, and supported homomorphic computing algorithm identifier can be referred to Table 2. For example, the parameter name of the type may be "node type," and the specific parameter may be one of gNB, UE, network function (NF), and independent node (IN), respectively indicating whether the homomorphic enabling unit is a base station (corresponding to a gNB), terminal equipment (corresponding to a UE), core network element (corresponding to an NF), or an independent node (corresponding to an IN). The parameter name of the homomorphic encryption enable flag may be "homomorphic encryption enable (HE enc enable)," and the specific parameter may be one of true (true) and false (false), indicating whether the homomorphic encryption function is enabled by the homomorphic enabling unit. The parameter name of the homomorphic computation algorithm flag may be "ciphertext algorithm id," and the specific parameter may be one or more of convolutional neural network (CNN), recurrent neural network (RNN), generative adversarial network (GAN), and support vector machine (SVM), respectively indicating the homomorphic computation algorithms supported by the homomorphic enabling unit.
[0145] Table 2 Homomorphic capability information of homomorphic enabling units
[0146] In some implementations, the homomorphic task management unit may use one or more of the following options when generating and scheduling homomorphic tasks based on the parsing results of the homomorphic task request and the homomorphic capability information of the homomorphic enabling unit:
[0147] For the homomorphic encryption party or homomorphic decryption party:
[0148] Option 1: The homomorphic task management unit can query the homomorphic encryption enablement flag of the homomorphic enabling unit. If it is true, it can be determined that the homomorphic enabling unit can serve as the homomorphic encryption party; and based on the homomorphic task quality requirements in the homomorphic task request, the homomorphic encryption algorithm flag supported in the homomorphic capability information of the homomorphic enabling unit, the security level and other information, the homomorphic encryption algorithm flag used by the homomorphic enabling unit in the homomorphic task can be determined.
[0149] Option 2: The homomorphic task management unit can also directly query the homomorphic enabling unit with adapted homomorphic capability information as the homomorphic encryption party based on the homomorphic task quality requirements in the homomorphic task request. And the homomorphic encryption algorithm identifier used in the homomorphic task can be determined based on the supported homomorphic encryption algorithm identifier, security level and other information in the homomorphic capability information. In one possible implementation, if the homomorphic encryption enablement identifier of the adapted homomorphic enabling unit is false, the homomorphic enabling unit can be requested to enable the homomorphic encryption capability.
[0150] Option 3: If the homomorphic task request includes the data provider, the homomorphic task management unit can query the data provider's homomorphic encryption capability information to see if it meets the homomorphic task quality requirements. If so, the data provider will perform homomorphic encryption on its own and serve as the homomorphic encryption provider. If not, a homomorphic enabling unit that meets the requirements will be selected to perform homomorphic encryption and serve as the homomorphic encryption provider. This homomorphic enabling unit will also be allowed to access the plaintext provided by the data provider.
[0151] Option 4: If the homomorphic task request includes a data consumer, the homomorphic task management unit can query whether the data consumer's homomorphic decryption capabilities meet the homomorphic task quality requirements. If so, the data consumer performs homomorphic decryption on its own and becomes the homomorphic decryptor. If not, a homomorphic enabling unit that meets the requirements is selected to perform homomorphic decryption, and this homomorphic enabling unit is allowed to obtain the plaintext output of the homomorphic task.
[0152] It is understandable that in the above options 1-4, the homomorphic encryption algorithm identifier used by the homomorphic encryptor or decryptor in the homomorphic task can be determined not only based on the homomorphic task quality requirements, the homomorphic encryption algorithm identifier supported in the homomorphic capability information of the homomorphic enabling unit, the security level, and other information, but can also be specified by the homomorphic task requester. As an example, the homomorphic task requester can carry the homomorphic encryption algorithm identifier in the homomorphic task request sent, specifying the homomorphic encryption algorithm identifier used by the homomorphic encryptor or decryptor in the homomorphic task.
[0153] For homomorphic computing parties:
[0154] Option 1: The homomorphic task management unit can query the homomorphic computing enablement flag of the homomorphic enabling unit. If the enablement state is true, it can be determined that the homomorphic enabling unit can serve as the homomorphic computing party; and the homomorphic computing algorithm identifier used by the homomorphic task can be determined based on the homomorphic task type, homomorphic task quality requirements, and the homomorphic encryption algorithm identifier used by the determined homomorphic encryption party in the homomorphic task request.
[0155] Option 2: The homomorphic task management unit can directly determine the homomorphic computing algorithm identifier used by the homomorphic task based on the homomorphic task type, homomorphic task output type, homomorphic task quality requirements, and the homomorphic encryption algorithm identifier used by the confirmed homomorphic encryption party in the homomorphic task request. It then queries a homomorphic enabling unit that supports this homomorphic computing algorithm identifier as the homomorphic computing party. If the homomorphic computing enablement flag of the corresponding homomorphic enabling unit is false, the request to enable homomorphic computing capability is made.
[0156] It is understood that in the above options 1 and 2, the homomorphic computing algorithm identifier used by the homomorphic task can be determined not only based on information such as the homomorphic task type, homomorphic task output type, homomorphic task quality requirements, and the homomorphic encryption algorithm identifier used by the confirmed homomorphic encryption party, but can also be specified by the homomorphic task requester. As an example, the homomorphic task requester can carry the homomorphic encryption algorithm identifier and homomorphic computing algorithm identifier in the homomorphic task request sent to specify the homomorphic encryption algorithm identifier and homomorphic computing algorithm identifier used by the homomorphic task.
[0157] It should be understood that the above is only an example of determining a homomorphic encryption party, a homomorphic computing party, and a homomorphic decryption party, and the embodiments of the present application do not limit the method of selecting a homomorphic encryption party, a homomorphic computing party, and a homomorphic decryption party. For example: it is also possible to not consider the requirements of the homomorphic task quality, and only determine the homomorphic computing algorithm identifier used by the homomorphic task based on the homomorphic task type and / or the homomorphic task output type, and use one or more homomorphic enabling units that support the homomorphic computing algorithm identifier as the homomorphic computing party, select one or more homomorphic enabling units with the homomorphic encryption enable identifier of ture as the homomorphic encryption party, select one or more homomorphic enabling units with the homomorphic decryption enable identifier of ture as the homomorphic decryption party, and the homomorphic encryption party or the homomorphic decryption party can adopt any supported homomorphic encryption algorithm, and so on.
[0158] In some implementations, the homomorphic task management unit may include a homomorphic task scheduling management function. The homomorphic task management unit performs homomorphic task generation and scheduling based on the parsing results of the homomorphic task request and the homomorphic capability information of the homomorphic enabling unit, which can also be implemented by the homomorphic task scheduling management function.
[0159] After determining the N homomorphic enabling units of the homomorphic encryption party, homomorphic computing party, and homomorphic decryption party used to complete the homomorphic task, the homomorphic task scheduling management function can send the homomorphic task configuration information (such as the homomorphic task participant type) to the N homomorphic enabling units through one or more task configuration information.
[0160] As an example: the homomorphic task scheduling management function can broadcast a task configuration information in a broadcast manner. The configuration message may include the homomorphic task index of the homomorphic task, the homomorphic enabling unit identifiers of the N homomorphic enabling units used to complete the homomorphic task, and the homomorphic task participant type corresponding to each homomorphic enabling unit, so that each enabling unit used to complete the homomorphic task can know the homomorphic task participant type under the homomorphic task.
[0161] As another example: the homomorphic task scheduling management node can send task configuration information to each homomorphic enabling unit used to complete the homomorphic task, where the task configuration information sent to each homomorphic enabling unit can include the homomorphic task index of the homomorphic task and the homomorphic task participant type of the homomorphic enabling unit in the homomorphic task.
[0162] In some implementations, the task configuration information may also carry a homomorphic computing algorithm identifier and / or a homomorphic encryption algorithm identifier, so that the N homomorphic enabling units used to complete the homomorphic task can respectively know the homomorphic computing algorithm identifier and / or homomorphic encryption algorithm identifier used in the homomorphic task.
[0163] Referring to Table 3, an example of parameters or information contained in a task configuration information provided in an embodiment of the present application is shown, wherein the task configuration information may also be referred to as homomorphic task configuration information (or message). The task configuration information may include: one or more of: homomorphic task index, homomorphic task participant type, participant identifier, homomorphic encryption algorithm identifier, and homomorphic computing algorithm identifier. It should be understood that Table 3 is only an example, and the task configuration information may include some or all of the parameters in Table 3, and may also include parameters not shown in Table 3, and this application does not limit this. Regarding the parameter names, specific parameters and descriptions of the homomorphic task index, homomorphic task participant type, participant identifier, homomorphic encryption algorithm identifier, and homomorphic computing algorithm identifier, please refer to Table 3. For example: the parameter name of the homomorphic task index may be: homomorphic task index (HE Task ID), and the specific parameter may be one of ID1, ID2, etc., which may be used to indicate the unique identifier of the homomorphic task in the HETM area, etc.
[0164] Table 3
[0165] For each homomorphic enabling unit, one or more homomorphic computing algorithms and / or one or more homomorphic computing algorithms can be supported. If the homomorphic computing algorithm identifier or homomorphic computing algorithm identifier is not included in the homomorphic task configuration information, the homomorphic enabling unit can adopt the homomorphic encryption algorithm or homomorphic computing algorithm configured by default (i.e., by default) for the homomorphic task participant type in the homomorphic task according to the homomorphic enabling unit. The homomorphic encryption algorithm or homomorphic computing algorithm configured by default (i.e., by default) in different homomorphic encryption roles (such as homomorphic encryption parties or homomorphic computing parties) of the homomorphic enabling unit can be reported to the homomorphic task management unit through homomorphic capability information, etc., so that the homomorphic task management unit can be informed of the information.
[0166] For example: The homomorphic encryption algorithms supported by the homomorphic enabling unit 1 include BGV and BFV. After the homomorphic enabling unit 1 learns through the task configuration information that the type of the homomorphic task participant in the homomorphic task 1 is a homomorphic encryption party, the homomorphic encryption algorithm BGV configured by default for the homomorphic encryption party can be used as the homomorphic encryption algorithm used to complete the homomorphic task of the homomorphic encryption party in the homomorphic task 1.
[0167] In addition, the computing resources for homomorphic computing (such as CNN) under different homomorphic encryption algorithms (such as BGV and TFHE) may vary, where computing resources may include one or more of computing circuits, computing power resources, storage resources, etc. In an embodiment of the present application, the task configuration information sent to at least one homomorphic enabling unit as a homomorphic computing party may also include a homomorphic encryption algorithm identifier.
[0168] After the homomorphic enabling unit receives the task configuration information sent by the homomorphic task scheduling management function, it can feed back a task configuration response (or a first homomorphic task response) to the homomorphic task scheduling management function. The task configuration response (or the first homomorphic task response) can be used to indicate that the homomorphic enabling unit has successfully received the task configuration information and / or accepted the task configuration. After the homomorphic task scheduling management function receives the task configuration responses (or the first homomorphic task responses) of the N homomorphic enabling units used to complete the homomorphic task, it can send a second homomorphic task response to the homomorphic task request management function to inform the homomorphic task request management function that the homomorphic task scheduling is completed; after the homomorphic task request management function receives the second homomorphic task response, it can reply to the homomorphic task requester with a third homomorphic task response. The third homomorphic task response can also include a homomorphic task index to inform the homomorphic task configuration is completed.
[0169] In some implementations, the homomorphic task configuration file in the homomorphic task management unit can also generate a homomorphic task configuration file (profile) based on the homomorphic task request (or the homomorphic task request parsing result) and the homomorphic task scheduling result (such as one or more task configuration information sent to N homomorphic enabling units) and store it in the homomorphic task management unit.
[0170] Referring to Table 4, an example of parameters or information contained in a homomorphic task configuration file provided in an embodiment of the present application may include homomorphic task class parameters: such as homomorphic task index, homomorphic task type, etc.; homomorphic encryption party parameters: such as homomorphic task participant type, number of homomorphic encryption parties, parameters of each homomorphic encryption party; homomorphic computing party parameters: such as homomorphic task participant type, number of homomorphic computing parties, parameters of each homomorphic computing party; homomorphic decryption party parameters: such as homomorphic task participant type, number of homomorphic decryption parties, parameters of each homomorphic decryption party; and data user parameters: such as homomorphic task participant type, number of data users, parameters of data users, etc. It should be understood that Table 4 is only an example, and the homomorphic task configuration file may include some or all of the parameters in Table 4, and may also include parameters not shown in Table 4, and this application does not limit this. Among them, the parameter names, specific parameters and descriptions of homomorphic task index, homomorphic task type, etc. can be referred to Table 4 and will not be repeated.
[0171] Table 4
[0172] In some implementations, homomorphic task requesters, homomorphic task management units, etc. may also exchange homomorphic task request and response messages through a trusted engine and a trusted enabling unit (also referred to as a security capability node or security function, hereinafter referred to as a gear). The engine is the central decision-making and management scheduling unit of the network's trusted capabilities, which may be responsible for formulating and sending basic security policies to the communication parties, as well as performing security management functions such as establishment, maintenance, and update. The gear is a negotiation, execution, and self-evolution unit of the network's trusted capabilities, which may be bound (or corresponded) to one or more nodes in the communication system and, as a security function, provide security capabilities to the bound one or more nodes. The engine may configure the gear as a security function, thereby enabling flexible configuration of the security function.
[0173] Referring to the homomorphic task management process diagram shown in Figure 7, a homomorphic task requester can make a homomorphic task request based on the homomorphic task requester's corresponding gear and the homomorphic task management unit in the engine, and interact with the corresponding homomorphic task response (such as the third homomorphic task response). The homomorphic task management unit in the engine can also send homomorphic task configuration information to the gear of the homomorphic enabler unit and receive the configuration response from the gear of the homomorphic enabler unit, etc. The gear and engine provide security protection for the homomorphic task process.
[0174] In some implementations, the homomorphic capability information of the homomorphic enabling unit can be managed by a homomorphic capability management unit, where the homomorphic capability management unit can also be called a homomorphic encryption capability management (HECapM) unit. The homomorphic capability management unit can have a homomorphic enabling unit profile management function, and can receive homomorphic capability information reports from homomorphic enabling units (such as homomorphic encryption parties, homomorphic computing parties, homomorphic decryption parties), etc., and generate, store, or update homomorphic capability profiles registered by homomorphic enabling units based on the homomorphic capability information, where the homomorphic capability profiles registered by the homomorphic enabling units can be stored in the homomorphic capability management unit.
[0175] Taking the homomorphic capability information management of the first homomorphic enabling unit (HE Enabler 1) as an example, FIG8 provides an example of a possible homomorphic capability management process according to an embodiment of the present application.
[0176] For method 1, the homomorphic capability management process includes:
[0177] S811: The homomorphic capability management unit sends a homomorphic capability information reporting request to the first homomorphic enabling unit. Correspondingly, the first homomorphic enabling unit receives the homomorphic capability information reporting request, where the homomorphic capability information reporting request is used to request homomorphic capability information of the first homomorphic enabling unit.
[0178] In one possible implementation, the homomorphic capability management unit may send a homomorphic capability information reporting request to the first homomorphic enabling unit when the first homomorphic enabling unit registers with the homomorphic capability management unit or the homomorphic capability management unit initially establishes a connection with the first homomorphic enabling unit, so as to obtain the homomorphic capability information of the first homomorphic enabling unit.
[0179] In one possible implementation, after obtaining the homomorphic capability information of the first homomorphic enabling unit, the homomorphic capability management unit may also periodically send a homomorphic capability information reporting request to the first homomorphic enabling unit according to a set period to obtain the latest homomorphic capability information of the first homomorphic enabling unit.
[0180] S812: The first homomorphic enabling unit sends homomorphic capability information to the homomorphic capability management unit. Correspondingly, the homomorphic capability management unit receives the homomorphic capability information.
[0181] S813: The homomorphic capability management unit generates or updates a homomorphic capability configuration file of the first homomorphic enabling unit according to the homomorphic capability information of the first homomorphic enabling unit.
[0182] After receiving the homomorphic capability information reporting request, the first homomorphic enabling unit can send the homomorphic capability information to the homomorphic capability management unit. After receiving the homomorphic capability information of the first homomorphic enabling unit, the homomorphic capability management unit can generate a homomorphic capability configuration file of the first homomorphic enabling unit based on the received homomorphic capability information of the first homomorphic enabling unit, or update the saved homomorphic capability configuration file of the first homomorphic enabling unit.
[0183] In the embodiment of the present application, the parameters included in the homomorphic capability information of the first homomorphic enabling unit can refer to the introduction of the homomorphic capability information in Table 2 above, and will not be repeated here. The homomorphic capability configuration file may include part or all of the content in the homomorphic capability information of the first homomorphic enabling unit, and may also include information about the homomorphic tasks currently participated in by the first homomorphic enabling unit.
[0184] Referring to Table 5, an example of parameters or information included in a possible homomorphic capability configuration file provided in an embodiment of the present application is provided. The homomorphic capability configuration file may include a parameter portion related to the homomorphic capability information of the first homomorphic enabling unit. The parameters of this portion can refer to the introduction of the parameter portion of the homomorphic capability information in Table 2 and will not be repeated. The homomorphic capability configuration file may also include relevant parameters of the homomorphic task in which the homomorphic enabling unit (such as the first homomorphic enabling unit) is currently participating. For example, if the first homomorphic enabling unit is currently participating in homomorphic task 1, the homomorphic capability configuration file may also include the parameter name HE task para1 of homomorphic task 1, as well as related parameters such as homomorphic task identification (HE task ID), homomorphic task type (HE task type), homomorphic task participant type, etc., wherein the related parameters of homomorphic task 1 may record the global ID of homomorphic task 1 (which can be indicated by HE task ID), task type (which can be indicated by HE task type), homomorphic task participant type of the first homomorphic enabling unit in homomorphic task 1 (which can be indicated by HE enabler type), etc.
[0185] Table 5
[0186] For method 2, the homomorphic capability management process includes:
[0187] S821: The first homomorphic enabling unit sends homomorphic capability information to the homomorphic capability management unit. Correspondingly, the homomorphic capability management unit receives the homomorphic capability information.
[0188] S822: The homomorphic capability management unit generates or updates a homomorphic capability configuration file of the first homomorphic enabling unit according to the homomorphic capability information of the first homomorphic enabling unit.
[0189] In the second method, the first homomorphic enabling unit can actively send homomorphic capability information to the homomorphic capability management unit. For example, the first homomorphic enabling unit can send (or report) homomorphic capability information to the homomorphic capability management unit when the first homomorphic enabling unit is registered with the homomorphic capability management unit or the homomorphic capability management unit is initially connected. After the homomorphic capability management unit receives the homomorphic capability information of the first homomorphic enabling unit, it can generate a homomorphic capability configuration file of the first homomorphic enabling unit based on the homomorphic capability information of the first homomorphic enabling unit, or update the stored homomorphic capability configuration file of the first homomorphic enabling unit. It is understandable that the first homomorphic enabling unit can also report homomorphic capability information according to a certain period after registering with the homomorphic capability management unit or establishing a connection with the homomorphic capability management unit, and this application does not limit this.
[0190] In the embodiments of the present application, the keys of homomorphic tasks can also be managed by a key management unit (the key management unit may also be referred to as a homomorphic encryption key management (HEKM) unit). For example, the key management unit can generate homomorphic encryption / decryption / computation keys based on homomorphic task key derivation requests from the homomorphic task management unit, and manage key distribution, use, update, storage, destruction, key lifecycle, etc.
[0191] In one possible implementation, the homomorphic task management unit receives a homomorphic task request, sends task configuration information to N homomorphic enabling units used to implement the homomorphic task, and then can send a homomorphic task key request to the key management unit. The homomorphic task key request is used to request the key management unit to issue the key of the homomorphic task to at least one of the N homomorphic enabling units. The homomorphic task key request may include one or more homomorphic task participant types of each of the N homomorphic enabling units, and the homomorphic encryption algorithm identifier used by the homomorphic task.
[0192] As shown in FIG9 , in an embodiment of the present application, the key management unit can interact with other key interaction parties. The content of the interaction may include one or more of key materials, historical keys, public parameters for generating homomorphic task keys, etc., and the granularity of homomorphic task keys may also be negotiated. The key interaction parties may include units in the symmetric key architecture of the universal subscriber identity module (USIM) in the communication network that store symmetric keys or security contexts of users at all levels, such as the unified data management (UDM) / authentication credential repository and processing function (ARPF), authentication server function (AUSF), security anchor function (SEAF), access and mobility management function (AMF), gNB / non-3GPP interworking function (N3IWF), USIM / mobile equipment (ME), and other network elements or infrastructure in the communication network, as well as a third-party key management center (KMC) with an independent key architecture. The key management unit can interact with the key interaction party to derive, distribute, update, and manage the keys of homomorphic tasks.
[0193] 10 , which is a schematic diagram of a homomorphic task key derivation process provided in an embodiment of the present application.
[0194] S1001: The key management unit sends a homomorphic task key derivation request to the key interaction party, and accordingly, the key interaction party receives the homomorphic task key derivation request.
[0195] Among them, the homomorphic task key derivation request includes at least one homomorphic enabling unit identifier participating in the homomorphic task, and optionally may also include public parameters used to derive the homomorphic task key and the homomorphic encryption algorithm identifier used by the homomorphic task.
[0196] S1002: The key interaction party derives a homomorphic task key, where the homomorphic task key may include one or more of a homomorphic encryption key, a homomorphic computation key, and a homomorphic decryption key.
[0197] S1003: The key interaction direction sends the homomorphic task key to the key management unit, and correspondingly, the key management unit receives the homomorphic task key.
[0198] In one possible implementation, after receiving a homomorphic task key derivation request, the key interaction party can obtain or search for the key material associated with at least one homomorphic enabling unit participating in the homomorphic task (such as the symmetric key or security context associated with the at least one homomorphic enabling unit, etc.), and can derive the homomorphic task key based on the key material associated with the at least one homomorphic enabling unit, the public parameters used to derive the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier. The key generator can refer to a key derivation algorithm, function, or algorithm flow, etc., and the key generators corresponding to different homomorphic encryption algorithm identifiers may be different.
[0199] For example, the key material associated with at least one homomorphic enabling unit and the public parameters used to derive the homomorphic task key can be used as the input of the key derivation function (KDF) corresponding to the homomorphic encryption algorithm identifier, and the key interaction party derives the homomorphic task key required for the homomorphic task (including homomorphic encryption, homomorphic decryption, and homomorphic computation keys).
[0200] Referring to Figure 11, there is shown a schematic diagram of another homomorphic task key derivation process provided in an embodiment of the present application.
[0201] S1101: The key management unit sends a key information acquisition request to the key interaction party, and accordingly, the key interaction party receives the key information acquisition request.
[0202] The key information acquisition request includes an identifier of at least one homomorphic enabling unit participating in the homomorphic task.
[0203] S1102: The key exchange direction sends key information to the key management unit, and correspondingly, the key management unit receives the key information.
[0204] The key information includes key material of at least one homomorphic enabling unit participating in the homomorphic task.
[0205] S1103: The key management unit derives the homomorphic task key based on the key information, the public parameters used to derive the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm used by the homomorphic task, where the homomorphic task key may include a homomorphic encryption key, a homomorphic computation key, and a homomorphic decryption key.
[0206] Unlike the homomorphic task key in Figure 10 which is derived by the key interaction party, the homomorphic task key in Figure 11 is derived by the key management unit. Since the implementation of the homomorphic task key derivation in Figure 11 is similar to that in Figure 10 , only the subject of the homomorphic task key derivation is different. Therefore, the implementation of the homomorphic task key derivation in Figure 11 can refer to the implementation of the homomorphic task key derivation in Figure 10 and will not be repeated here.
[0207] Among them, deriving the homomorphic task key by the key interaction party can reduce the computational overhead of the key management unit. Derivation of the homomorphic task key by the key management unit can avoid the homomorphic task key from interacting with the key interaction party, thereby improving the security of the key.
[0208] In addition, returning to Figure 9, after completing the derivation of the homomorphic task key (including the homomorphic encryption key, the homomorphic computing key, and the homomorphic decryption key), the key management unit can send the homomorphic encryption key to the homomorphic encryption party, send the homomorphic computing key to the homomorphic computing party, and send the homomorphic decryption key to the homomorphic decryption party; and perform management operations such as storage on the homomorphic task key of the homomorphic task.
[0209] In one possible implementation, as shown in FIG9 , in an embodiment of the present application, the key management unit may also negotiate with the key interaction party on the homomorphic task key granularity, where the homomorphic task key granularity may be task level, user level, or sub-area level.
[0210] The task level may refer to a homomorphic encryption key having only one task level in the homomorphic task.
[0211] The user-level can mean that there are Q user-level homomorphic encryption keys in the homomorphic task, each data type / data source corresponds to a homomorphic encryption key, and Q refers to the number of encryption keys for different data types / data sources in the homomorphic task.
[0212] The sub-region level can be a homomorphic encryption key with K sub-region levels in the homomorphic task. All data encryption in each sub-region corresponds to a homomorphic encryption key. K refers to the number of sub-regions involved in the homomorphic encryption of the homomorphic enabling unit in the homomorphic task. When the key granularity of the homomorphic task key is at the sub-region level, the number of sets of homomorphic task keys is the same as the number of sub-regions K. One or more homomorphic encryption parties in the same sub-region correspond to one set of homomorphic encryption keys.
[0213] It should be understood that the key of the homomorphic task can be derived and issued according to the key granularity of the homomorphic task.
[0214] In the embodiments of the present application, the homomorphic task management unit, the homomorphic capability management unit, and the key management unit can be deployed separately or integrated into one node, and this application does not limit this. Below, taking the homomorphic encryption control function (HECF) network element having the functions of the above-mentioned homomorphic task management unit, homomorphic capability management unit, and key management unit as an example, Figure 12 provides an end-to-end (E2E) process of a homomorphic task.
[0215] S1201: The homomorphic task request direction sends a homomorphic task request to the HECF network element.
[0216] For example, consider a terminal device (UE, for example) where local sensors (such as radar and cameras) collect data that needs to be homomorphically computed through nodes in the communication network before being transmitted to a service provider or the cloud. The service provider or cloud (the homomorphic task requester) can issue a homomorphic task request to the communication network. The network exposure function (NEF) element within the communication network receives the request and forwards it to the HECF element. The HECF element then receives the request.
[0217] S1202: The HECF network element sends one or more task configuration information to N homomorphic enabling units.
[0218] When the HECF network element receives a homomorphic task request, it can parse the homomorphic task request, perform homomorphic task orchestration or scheduling, and send one or more task configuration information to multiple enabling units, where each task configuration information may include the homomorphic task participant type of at least one homomorphic enabling unit among the N homomorphic enabling units.
[0219] S1203: Multiple homomorphic task enabling units feed back a task configuration response (or a first homomorphic task response) to the HECF network element.
[0220] S1204: After receiving the task configuration responses (or first homomorphic task responses) from the multiple homomorphic task enabling units, the HECF network element may send a third homomorphic task response to the homomorphic task requester.
[0221] For example: After the HECF network element receives the task configuration response (or the first homomorphic task response) from multiple homomorphic task enabling units, it can send a third homomorphic task response to the NEF network element. Further, the NEF network element sends the third homomorphic task response to the cloud service provider or the cloud (homomorphic task requester).
[0222] S1205: The HECF network element may also generate and manage homomorphic task configuration files.
[0223] S1206: The HECF network element sends a homomorphic task key request to the KMC.
[0224] S1207: KMC generates homomorphic task keys (including homomorphic encryption keys, homomorphic computation keys, and homomorphic decryption keys).
[0225] S1208: The KMC distributes the homomorphic task key to multiple homomorphic task enabling units.
[0226] It can be understood that KMC can distribute corresponding homomorphic task keys (homomorphic encryption key, homomorphic computing key, homomorphic decryption key) according to the type of homomorphic task participants (such as homomorphic encryption party, homomorphic computing party, homomorphic decryption party) in the homomorphic task enabling unit.
[0227] After the homomorphic task key distribution is complete, the homomorphic task begins execution. After the terminal device collects the data, it homomorphically encrypts it. Homomorphic enabling units, such as the UE, RAN, and network function (NF) elements in the CN, perform homomorphic computations on the homomorphically encrypted data. The CN NF elements ultimately send the homomorphic computation results to the service provider or the cloud, where the cloud application (APP) performs homomorphic decryption to obtain the plaintext data.
[0228] It is understandable that before the above process, network nodes such as NF network elements in UE, RAN, and CN can report homomorphic capability information as homomorphic enabling units. For example, after establishing a secure channel with the HECF network element, the homomorphic capability information as the homomorphic enabling unit is reported to the HECF network element. The HECF network element can generate and manage homomorphic capability information configuration files of these homomorphic enabling units. For example, the UE can report homomorphic capability information to the HECF after completing security mode control (SMC) with the RAN (base station) / CN.
[0229] Among them, the implementation of the above-mentioned homomorphic encryption capability information management part can refer to the introduction of the homomorphic capability management unit part, the implementation of the homomorphic task management part (such as S1201-S1205) can refer to the introduction of the homomorphic task management unit part, and the implementation of the key management part (such as S1206-S1208) can refer to the introduction of the key management unit part, and will not be repeated here.
[0230] In an embodiment of the present application, ciphertext storage management can also be performed through a ciphertext data storage management (CDSM) unit. The ciphertext data storage management unit can have one or more functions of ciphertext receiving and sending management, ciphertext storage lifecycle management, and ciphertext storage management.
[0231] (1) Ciphertext reception and transmission management: Supports receiving ciphertext from a homomorphic encryption party (such as a homomorphic enabling unit acting as a homomorphic encryption party) or a symmetric / asymmetric encryption party (such as a node in a communication network that supports symmetric encryption and asymmetric encryption), and supports sending ciphertext to a homomorphic computing party (such as a homomorphic enabling unit acting as a homomorphic computing party), a homomorphic decryption party (such as a homomorphic enabling unit acting as a homomorphic decryption party), or a symmetric / asymmetric decryption party (such as a node in a communication network that supports symmetric decryption and asymmetric decryption). The symmetric / asymmetric encryption party may be a symmetric / asymmetric encryption party that does not support the homomorphic feature, and the symmetric / asymmetric decryption party may be a symmetric / asymmetric decryption party that does not support the homomorphic feature.
[0232] As an example, as shown in FIG13 , after encrypting data, the homomorphic encryption party, or the symmetric / asymmetric encryption party, can send the ciphertext to the ciphertext data storage management unit, which can then store the received ciphertext. The ciphertext received or stored by the ciphertext data storage management unit can be symmetric ciphertext obtained by symmetric encryption, asymmetric ciphertext obtained by asymmetric encryption, or homomorphic ciphertext obtained by homomorphic encryption.
[0233] In addition, the ciphertext data storage management unit can also send the stored ciphertext to a homomorphic computing party, a homomorphic decryption party, or a symmetric / asymmetric decryption party.
[0234] In a possible implementation, the ciphertext data storage management unit may send the ciphertext according to the request or configuration of the homomorphic task management unit.
[0235] As an example: the ciphertext data storage management unit receives ciphertext sending configuration information from the homomorphic task management unit, and the ciphertext sending configuration information includes a ciphertext data identifier and at least one homomorphic enabling unit identifier as a homomorphic computing party. Then the ciphertext data storage management unit can send the stored ciphertext corresponding to the ciphertext data identifier to at least one homomorphic enabling unit as a homomorphic computing party based on the ciphertext sending configuration information.
[0236] (2) Lifecycle management of ciphertext storage: The homomorphic encryption party, symmetric / asymmetric encryption party, or ciphertext data storage management unit can set a storage lifecycle for the ciphertext. The storage lifecycle of the ciphertext starts when the ciphertext data storage management unit receives the ciphertext. After the storage lifecycle ends (or expires), the data storage management unit deletes the ciphertext. The storage lifecycle of the ciphertext can refer to the length of time or time that the ciphertext can be stored, such as 24 hours, 48 hours, 72 hours, etc.
[0237] FIG14 shows an example of a possible ciphertext storage lifecycle management process according to an embodiment of the present application.
[0238] For method 1, the process includes:
[0239] S1411: The ciphertext data storage management unit receives the ciphertext and storage lifecycle from the encryption party.
[0240] In an embodiment of the present application, the encryption party may be a homomorphic encryption party or a symmetric / asymmetric encryption party, and the ciphertext may be symmetric ciphertext obtained by symmetric encryption, asymmetric ciphertext obtained by asymmetric encryption, or homomorphic ciphertext obtained by homomorphic encryption.
[0241] S1412: The ciphertext data storage management unit stores the ciphertext according to the storage lifecycle.
[0242] After receiving the ciphertext and the storage lifecycle of the ciphertext, the ciphertext data storage management unit may store the ciphertext and set the storage lifecycle of the ciphertext.
[0243] S1413: After the storage lifecycle of the ciphertext ends (or expires), the ciphertext data storage management unit deletes the ciphertext.
[0244] For method 2, the process includes:
[0245] S1421: The ciphertext data storage management unit receives the ciphertext from the encryption party.
[0246] S1422: The ciphertext data storage management unit obtains storage lifecycle permission for setting the ciphertext from the encryption party.
[0247] As an example: the ciphertext data storage management unit can send an inquiry request to the encryption party regarding whether permission to set the storage lifecycle of the ciphertext is allowed, and receive a query response from the encryption party, which may include information on whether permission (or authorization) to set the storage lifecycle of the ciphertext is allowed.
[0248] S1423: When permission to set the storage lifecycle of the ciphertext is obtained, the ciphertext data storage management unit may set the storage lifecycle of the ciphertext.
[0249] S1424: The ciphertext data storage management unit stores the ciphertext according to the storage lifecycle.
[0250] S1425: After the storage lifecycle of the ciphertext ends (or expires), the ciphertext data storage management unit deletes the ciphertext.
[0251] (3) Ciphertext storage management: Supports partitioned storage of ciphertext. Specifically, the ciphertext storage area can be divided according to one or more of the following: the user to which the ciphertext belongs (such as the homomorphic enabling unit), the encryption key corresponding to the ciphertext, the network layer associated with the ciphertext, the network slice type associated with the ciphertext, the security context associated with the ciphertext, etc., to store the ciphertext.
[0252] Figure 15 shows a schematic diagram of a two-level storage area partition based on different users and each user's different encryption keys. UE1, UE2, and UE3 represent different users, and key1, key2, and key3 represent different encryption keys. Ciphertext storage areas vary for different users, such as UE1 and UE2. Ciphertext storage areas vary for different encryption keys for the same user, such as UE1's ciphertext encrypted with key1 and UE2.
[0253] In addition, the ciphertext data storage management unit may also support ciphertext validity query and / or destruction functions.
[0254] FIG16 is a schematic diagram of a possible key expiration process provided in an embodiment of the present application. The process includes:
[0255] S1601: The key management unit determines that the first encryption key is invalid.
[0256] S1602: The key management unit sends indication information to the ciphertext data storage management unit, where the indication information is used to indicate that the first encryption key is invalid.
[0257] S1603: The ciphertext data storage management unit deletes the ciphertext encrypted using the first encryption key.
[0258] In one possible implementation, the key management unit may determine that the first encryption key is invalid if the first encryption key is cracked or leaked, or if key material used to generate the first encryption key is cracked or leaked, or if the key lifecycle of the first encryption key expires, and may send indication information indicating the leakage or invalidation of the first encryption key to the ciphertext data storage management unit. Upon receiving the indication information, the ciphertext data storage management unit may delete the ciphertext encrypted using the first encryption key to ensure the security of the ciphertext.
[0259] In some implementations, the homomorphic task management unit may also query whether the ciphertext is valid by sending a ciphertext query message or inquiry message to the ciphertext data storage management unit and receiving a ciphertext query response from the ciphertext data storage management unit.
[0260] Taking the example of the homomorphic task management unit querying whether the ciphertext is valid before issuing the ciphertext sending task to the ciphertext data storage management unit through ciphertext sending configuration information, Figure 17 provides a schematic diagram of a possible ciphertext validity query process. The process includes:
[0261] S1701: The ciphertext data storage management unit receives a ciphertext query request from the homomorphic task management unit.
[0262] The ciphertext query request may carry a ciphertext data identifier, and is used to query the validity of the ciphertext corresponding to the ciphertext data identifier.
[0263] S1702: The ciphertext data storage management unit sends a ciphertext query response to the homomorphic task management unit.
[0264] The ciphertext query response includes whether the ciphertext identified by the ciphertext data is valid, where the ciphertext is valid including that the storage lifecycle of the ciphertext has not ended and / or the encryption key corresponding to the ciphertext has not expired.
[0265] S1703: The ciphertext data storage management unit receives ciphertext sending configuration information from the homomorphic task management unit.
[0266] The ciphertext sending configuration information includes the ciphertext data identifier and at least one homomorphic enabling unit identifier serving as a homomorphic computing party.
[0267] S1704: The ciphertext data storage management unit sends the stored ciphertext corresponding to the ciphertext data identifier to at least one homomorphic enabling unit serving as a homomorphic computing party according to the ciphertext sending configuration.
[0268] 17 , it can be seen that before sending the ciphertext sending configuration to the ciphertext data storage management unit, the homomorphic task management unit can query whether the ciphertext scheduled by the ciphertext sending configuration information is valid to ensure the reliability of the homomorphic task.
[0269] Figure 18A is another schematic diagram of a homomorphic task flow provided by this application. In the homomorphic task flow shown in Figure 18A, the homomorphic task can be extended to perform calculations on non-homomorphic ciphertexts, that is, it can support homomorphic calculations not only on homomorphic ciphertexts, but also on non-homomorphic ciphertexts, which can increase the scope of application of the homomorphic task.
[0270] S1801: The key management unit in the HECF network element generates encryption keys and decryption keys.
[0271] Among them, the encryption key and decryption key can be a homomorphic encryption key, a homomorphic decryption key, or a non-homomorphic encryption key and a non-homomorphic decryption key, such as a symmetric / asymmetric encryption key, a symmetric / asymmetric decryption key.
[0272] S1802: The key management unit in the HECF network element sends the encryption key to the encryption party.
[0273] The encryption party may be a homomorphic encryption party (such as a homomorphic enabling unit as a homomorphic encryption party), a non-homomorphic encryption party (such as a symmetric / asymmetric encryption party), etc. Optionally, the key management unit in the HECF network element may also send a decryption key to the decryption party, wherein the decryption party may be a homomorphic decryption party (such as a homomorphic enabling unit as a homomorphic decryption party), a non-homomorphic decryption (such as a symmetric / asymmetric decryption party), etc.
[0274] S1803: The ciphertext data storage management unit in the HECF network element stores the ciphertext from the encryption party.
[0275] S1804: The homomorphic task requester sends a homomorphic task request to the homomorphic task management unit in the HECF network element.
[0276] S1805: The homomorphic task management unit in the HECF network element sends one or more task configuration information to the N homomorphic enabling units.
[0277] Upon receiving a homomorphic task request, the homomorphic task management unit in the HECF network element can parse the homomorphic task request, perform homomorphic task orchestration or scheduling, determine the encryption party (which can be a homomorphic encryption party or a non-homomorphic encryption party), the homomorphic computing party, and the decryption party (which can be a homomorphic decryption party or a non-homomorphic decryption party), and send one or more task configuration information to multiple enabling units, where each task configuration information may include the homomorphic task participant type (such as a homomorphic computing party or a decryption party) of at least one homomorphic enabling unit among the N homomorphic enabling units.
[0278] S1806: The multiple homomorphic task enabling units feed back a task configuration response (or a first homomorphic task response) to the homomorphic task management unit in the HECF network element.
[0279] S1807: The homomorphic task management unit in the HECF network element may also generate and manage homomorphic task configuration files.
[0280] For example, based on the parsing results of the homomorphic task request and the homomorphic task scheduling results, a homomorphic task configuration file is generated and managed.
[0281] S1808: The homomorphic task management unit in the HECF network element may also send a homomorphic task key request to the homomorphic task key management unit.
[0282] S1809: The homomorphic task key management unit in the HECF network element generates a homomorphic task key and issues the homomorphic task key.
[0283] S1810: The homomorphic encryption task management unit in the HECF network element sends ciphertext sending task configuration information to the ciphertext storage management unit, so that the ciphertext storage management unit sends the stored ciphertext of the encryption party to the homomorphic computing party.
[0284] After the homomorphic computing party obtains the ciphertext, it can perform homomorphic computing on the ciphertext and send the computing result to the decryption party for decryption.
[0285] It is understandable that if the homomorphic computing party obtains homomorphic ciphertext, it can directly perform homomorphic computing. That is, the encryption party, homomorphic computing party, and decryption party can respectively perform homomorphic encryption, homomorphic computing, and homomorphic decryption using the homomorphic encryption key, homomorphic computing key, and homomorphic decryption key. Regarding the derivation of the homomorphic encryption key, homomorphic computing key, and homomorphic decryption key, please refer to the above description of the homomorphic task key management unit and will not be repeated here.
[0286] If the homomorphic computing party receives a non-homomorphic ciphertext, they can first perform homomorphic encryption to obtain a mixed ciphertext (non-homomorphic encryption + homomorphic encrypted ciphertext). The homomorphic computing method then performs homomorphic computation and non-homomorphic decryption to obtain the homomorphic ciphertext. After obtaining the homomorphic ciphertext, they can perform homomorphic computation again and send the calculated homomorphic ciphertext to the decryption party. Non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic properties.
[0287] In the case where the encryption party adopts non-homomorphic encryption, the key management unit can obtain the non-homomorphic decryption key corresponding to the non-homomorphic encryption adopted by the encryption party through the key interaction party; and derive the homomorphic encryption key, homomorphic computing key and homomorphic decryption key based on the non-homomorphic decryption key, the public parameters used to derive the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier used by the homomorphic task, and send the homomorphic encryption key and homomorphic computing key to the homomorphic computing party, and send the homomorphic decryption key to at least one homomorphic enabling unit of the decryption party. Among them, the homomorphic computing key includes a first conversion key, which is the homomorphic ciphertext obtained by homomorphically encrypting the non-homomorphic decryption key corresponding to the non-homomorphic ciphertext. It can be used by the homomorphic computing party to perform homomorphic computing non-homomorphic decryption on the ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain the homomorphic ciphertext. Among them, non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and the non-homomorphic ciphertext is the ciphertext obtained by non-homomorphic encryption.
[0288] If the homomorphic computing party obtains non-homomorphic ciphertext, it can also perform homomorphic encryption to obtain mixed ciphertext (non-homomorphic encryption + homomorphic encrypted ciphertext). The homomorphic computing party then performs homomorphic calculation and non-homomorphic decryption to obtain homomorphic ciphertext. After obtaining the homomorphic ciphertext, it can perform homomorphic calculation again and convert the calculated homomorphic ciphertext into non-homomorphic ciphertext and send it to the decryption party. Among them, non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic properties.
[0289] In the case where the encryption party adopts non-homomorphic encryption, the key management unit can obtain the non-homomorphic encryption key and non-homomorphic decryption key corresponding to the non-homomorphic encryption adopted by the encryption party through the key interaction party; and derive the homomorphic task key in combination with the public parameters used to derive the homomorphic task key and the key generator corresponding to the homomorphic encryption algorithm identifier used by the homomorphic task, wherein the homomorphic task key includes a homomorphic encryption key, a homomorphic calculation key, a homomorphic decryption key, and a second conversion key. The homomorphic encryption key, the homomorphic calculation key, and the second conversion key are sent to the homomorphic calculation party, wherein the homomorphic calculation key includes a first conversion key, which is the homomorphic ciphertext obtained by homomorphically encrypting the non-homomorphic decryption key corresponding to the non-homomorphic ciphertext, and can be used by the homomorphic calculation party to perform homomorphic calculation and non-homomorphic decryption on the ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain the homomorphic ciphertext. The second conversion key can be used by the homomorphic computing party to convert the homomorphic ciphertext after homomorphic computing into non-homomorphic ciphertext that has been non-homomorphically encrypted; wherein, non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic characteristics, non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and non-homomorphic ciphertext is the ciphertext obtained through non-homomorphic encryption.
[0290] In some implementations, the homomorphic task management unit can query the validity of the ciphertext of the encryption party before sending the ciphertext sending configuration information (such as S1810) to the ciphertext data storage management unit, or before sending the task configuration information (such as S1805) to the homomorphic computing party for homomorphic task scheduling. For example, after determining that the ciphertext of the encryption party is valid through the interaction of the ciphertext query request and response with the ciphertext data storage management unit, the subsequent steps are performed to ensure the reliability of the homomorphic task. Referring to the homomorphic task flow diagram shown in Figure 18B, relative to the homomorphic task flow shown in Figure 18A, the homomorphic task management unit can query the validity of the ciphertext of the encryption party before sending the task configuration information (such as S1805 obtained in Figure 18A) to the homomorphic computing party for homomorphic task scheduling. Optionally, after querying that the ciphertext of the encryption party is valid, the homomorphic task management unit can also send the ciphertext sending configuration information to the ciphertext data storage management unit, instructing the ciphertext data storage management unit to send the stored ciphertext of the encryption party to the homomorphic computing party.
[0291] It is understandable that the above-mentioned homomorphic task management unit, homomorphic capability management unit, key management unit, and ciphertext data storage management unit can be deployed separately or integrated in one node, and this application does not limit this. As an example, referring to Figure 19, the functions of the above-mentioned homomorphic task management unit, homomorphic capability management unit, key management unit, and ciphertext data storage management unit can be integrated in the HECF network element. The HECF network element can be deployed in the core network.
[0292] In some implementations, as shown in FIG19 , the HECF network element may also include a HECF interface management (HECF interface management, HEinterM) unit to support cross-domain, hierarchical, and multi-node deployment of HECF network elements; and to support forwarding of homomorphic capability information configuration files, homomorphic task configuration files, homomorphic key parameters, and other information between HECF network elements. Figures 20-23 below illustrate some examples of HECF interface management supporting interactions between HECF network elements.
[0293] 20 , after a secure channel is established between HECF network element 1 and HECF network element 2, HECF network element 1 may transfer or broadcast a homomorphic task request from a homomorphic task requester to HECF network element 2.
[0294] As shown in Figure 21, after the secure channel is established between HECF network element 1 and HECF network element 2, HECF network element 1 can request HECF network element 2 for homomorphic capability information of homomorphic enabling units within the management area of HECF network element 2. The request message can include information such as the identifier of the homomorphic enabling unit. HECF network element 2 sends the homomorphic capability information configuration file of the homomorphic enabling unit to HECF network element 1.
[0295] As shown in Figure 22, after HECF network element 1 and HECF network element 2 establish a secure channel, HECF network element 1 can send a query request to HECF network element 2 regarding the status of a homomorphic task managed by HECF network element 2. The query request message can include information such as the identifier of the homomorphic task and can be used to query information such as whether the homomorphic task in which a specific node participates has ended. HECF network element 2 sends the query result to HECF network element 1.
[0296] As shown in Figure 23, a secure channel has been established between HECF network element 1 and HECF network element 2, and their respective management homomorphic enabling units. If multiple participants in the homomorphic task involve N homomorphic enabling units in the management area of HECF network element 1 and HECF network element 2. HECF network element 1 can send key derivation materials (such as the identifier of the homomorphic task, the homomorphic encryption algorithm identifier (HE Algorithm id), the homomorphic computing algorithm (or function) identifier (COUNT), etc.) to HECF network element 2. HECF network element 2 derives the key of the homomorphic task based on the key derivation material sent by HECF network element 1 and the key material of the homomorphic enabling unit in the area of HECF network element 2. HECF network element 2 sends the derived key of the homomorphic task to HECF network element 1. HECF network element 1 can distribute the key of the homomorphic task to the participating homomorphic enabling units in the area of HECF network element 1. HECF network element 2 distributes the key of the homomorphic task to the participating homomorphic enabling units in the area of HECF network element 2.
[0297] The communication device provided in the embodiment of the present application is described below. Please refer to Figure 24, which is a structural diagram of the communication device in the embodiment of the present application. The communication device can be used to execute the steps performed by the HECF network element (including one or more of the homomorphic task management unit, homomorphic capability management unit, key management unit, ciphertext data storage management unit, and interface management unit between HECF) in the above embodiment. For details, please refer to the relevant introduction in the above method embodiment. The communication device may include modules or units for executing all or part of the various possible steps in the method embodiment. The module or unit can be implemented by software, hardware, or a combination of software and hardware.
[0298] 24 , the communication device 2400 includes a processing unit 2410 and an interface unit 2420 , wherein the interface unit 2420 may also be a transceiver unit or an input / output interface. The communication device 2400 may be used to implement the steps performed by the HECF network element in the above embodiment.
[0299] When the communication device 2400 is used to implement the steps performed by the HECF network element in the above embodiment:
[0300] The interface unit 2420 is used to receive a homomorphic task request, which includes a homomorphic task output type; the processing unit 2410 is used to determine, based on the homomorphic task request, to send one or more task configuration information to N homomorphic enabling units, wherein each task configuration information includes one or more homomorphic task participant types of at least one homomorphic enabling unit among the N homomorphic enabling units; the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party, and a homomorphic decryption party, and the N homomorphic enabling units are used to implement homomorphic tasks of the homomorphic task output type; the interface unit 2420 is also used to send one or more task configuration information to the N homomorphic enabling units.
[0301] For other implementation methods, please refer to the relevant introduction of the HECF network element in the aforementioned embodiment (including one or more of the homomorphic task management unit, homomorphic capability management unit, key management unit, ciphertext data storage management unit, and interface management unit between HECFs), which will not be repeated here.
[0302] As shown in Figure 25, the present application also provides a communication device 2500, which includes a processor 2510 and may also include a communication interface 2520. The processor 2510 and the communication interface 2520 are coupled to each other. It is understandable that the communication interface 2520 can be a transceiver, an input / output interface, an input interface, an output interface, an interface circuit, etc. Optionally, the communication device 2500 may also include a memory 2530 for storing instructions executed by the processor 2510 or storing input data required by the processor 2510 to run instructions or storing data generated after the processor 2510 runs instructions. The memory 2530 may be a physically independent unit, or may be coupled to the processor 2510, or the processor 2510 may include the memory 2530, or the processor 2510 and the memory 2530 may be integrated together.
[0303] When the communication device 2500 is used to implement the steps executed by the HECF network element in the above embodiment, the processor 2510 can be used to implement the functions of the above processing unit 2410, and the communication interface 2520 can be used to implement the functions of the above interface unit 2420.
[0304] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or may be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), logic circuits, field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0305] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an erasable programmable read-only memory, an electrically erasable programmable read-only memory, a register, a hard disk, a mobile hard disk, a CD-ROM or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a network device or a terminal device. Of course, the processor and the storage medium can also be present in a network device or a terminal device as discrete components.
[0306] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are performed in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, or other programmable device. The computer program or instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer program or instructions can be transmitted from one network device, terminal, computer, server, or data center to another network device, terminal, computer, server, or data center via wired or wireless means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disk; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium may be a volatile or nonvolatile storage medium, or may include both volatile and nonvolatile types of storage media.
[0307] In the various embodiments of the present application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0308] Furthermore, it should be understood that in the embodiments of this application, the word "exemplary" is used to indicate an example, illustration, or description. Any embodiment or design described in this application as "exemplary" should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the word "exemplary" is intended to present concepts in a concrete manner.
[0309] It is understood that the various numbers used in the embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.
Claims
1. A homomorphic task management method, characterized in that: include: receiving a homomorphic task request, wherein the homomorphic task request includes a homomorphic task output type; According to the homomorphic task request, one or more task configuration information is sent to N homomorphic enabling units, wherein each task configuration information includes one or more homomorphic task participant types of at least one homomorphic enabling unit among the N homomorphic enabling units; the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic computing party or a homomorphic decryption party, and the N homomorphic enabling units are used to implement the homomorphic tasks corresponding to the homomorphic task output type, and N is an integer greater than or equal to 1.
2. The method according to claim 1, characterized in that The task configuration information sent to at least one homomorphic enabling unit among the N homomorphic enabling units as a homomorphic computing party also includes a homomorphic computing algorithm identifier and a homomorphic encryption algorithm identifier, and the homomorphic computing algorithm identifier is determined according to the homomorphic task output type.
3. The method according to claim 1 or 2, characterized in that Before sending one or more task configuration information to the N homomorphic enabling units, the method further includes: Selecting the N homomorphic enabling units from the M homomorphic enabling units according to homomorphic capability information of the M homomorphic enabling units and the homomorphic task request, where M is an integer greater than or equal to N; Among them, the homomorphic capability information of any homomorphic enabling unit among the M homomorphic enabling units includes the homomorphic encryption algorithm identifier and / or the homomorphic computing algorithm identifier supported by the homomorphic enabling unit.
4. The method according to claim 3, characterized in that The M homomorphic enabling units include a first homomorphic enabling unit, and the method further includes: receiving homomorphic capability information from the first homomorphic enabling unit; A homomorphic capability configuration file of the first homomorphic enabling unit is generated according to the homomorphic capability information of the first homomorphic enabling unit.
5. The method according to claim 4, characterized in that Before receiving the homomorphic capability information from the first homomorphic enabling unit, the method further includes: A homomorphic capability information reporting request is sent to the first homomorphic enabling unit, where the homomorphic capability information reporting request is used to request the homomorphic capability information of the first homomorphic enabling unit.
6. The method according to any one of claims 3 to 5, characterized in that The homomorphic capability information of the homomorphic enabling unit further includes one or more of the following: The identifier, type, homomorphic encryption capability level, homomorphic encryption security level, homomorphic encryption enable identifier, homomorphic decryption enable identifier, and homomorphic computing enable identifier of the homomorphic enabling unit.
7. The method according to any one of claims 1 to 6, characterized in that The homomorphic task request also includes one or more of the following: Homomorphic task types, homomorphic task quality requirements, data consumer parameters, number of data consumers, number of data providers, and data provider parameters.
8. The method according to any one of claims 1 to 7, characterized in that The homomorphic enabling unit comprises: Terminal equipment, access network equipment, core network element, independent node, or application layer functional node.
9. The method according to any one of claims 1 to 8, characterized in that The method further comprises: Generate a homomorphic task configuration file according to the homomorphic task request and the one or more task configuration information.
10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: The homomorphic task request is forwarded or broadcasted to at least one second homomorphic task management unit.
11. The method according to any one of claims 1 to 10, characterized in that The method further comprises: A homomorphic task key request is sent to the key management unit, wherein the homomorphic task key request is used to request that the key of the homomorphic task be issued to at least one of the N homomorphic enabling units, and the homomorphic task key request includes one or more homomorphic task participant types of each of the N homomorphic enabling units, and an identifier of the homomorphic encryption algorithm used by the homomorphic task.
12. The method according to any one of claims 1 to 11, characterized in that The method further comprises: Send ciphertext sending task configuration information to the ciphertext data storage management unit, wherein the ciphertext sending task configuration information includes a ciphertext data identifier and at least one homomorphic enabling unit identifier as a homomorphic computing party, so that the ciphertext data storage management unit sends the stored ciphertext corresponding to the ciphertext data identifier to at least one homomorphic enabling unit as a homomorphic computing party, wherein the ciphertext data identifier is used to identify the ciphertext required for the homomorphic task.
13. The method according to claim 12, characterized in that The ciphertext is a symmetric ciphertext, an asymmetric ciphertext or a homomorphic ciphertext.
14. The method according to claim 12 or 13, characterized in that The method further comprises: Sending a ciphertext query request to the ciphertext data storage management unit, wherein the ciphertext query request is used to request to query the validity of the ciphertext; Receiving a ciphertext query response from the ciphertext data storage management unit, the ciphertext query response including whether the ciphertext is valid, wherein the ciphertext is valid including that the storage life cycle of the ciphertext has not ended and / or the key corresponding to the ciphertext has not expired; Before sending one or more task configuration information to the N homomorphic enabling units, or before sending ciphertext sending task configuration information to the ciphertext data storage management unit, the method further includes: It is determined that the ciphertext is valid.
15. A key management method, characterized in that: include: Receive a homomorphic task key request from a homomorphic task management unit, wherein the homomorphic task key request is used to request that a key of the homomorphic task be issued to at least one homomorphic enabling unit among the N homomorphic enabling units, wherein the homomorphic task request includes one or more homomorphic task participant types of each of the N homomorphic enabling units participating in the homomorphic task, and a homomorphic encryption algorithm identifier used by the homomorphic task, wherein the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party, or a homomorphic decryption party, and N is an integer greater than or equal to 1; A homomorphic encryption key is sent to at least one homomorphic enabling unit among the N homomorphic enabling units that serves as a homomorphic encryption party, a homomorphic computation key is sent to at least one homomorphic enabling unit among the N homomorphic enabling units that serves as a homomorphic computation party, and a homomorphic decryption key is sent to at least one homomorphic enabling unit among the N homomorphic enabling units that serves as a homomorphic decryption party, wherein the homomorphic encryption key, the homomorphic computation key, and the homomorphic decryption key are derived based on a key generator corresponding to the homomorphic encryption algorithm identifier.
16. The method according to claim 15, characterized in that The method further comprises: Sending a homomorphic task key derivation request to a key interaction party, wherein the homomorphic task key derivation request includes at least one homomorphic enabling unit identifier participating in the homomorphic task, a public parameter for deriving the homomorphic task key, and the homomorphic encryption algorithm identifier; Receive a homomorphic task key from the key interaction party, wherein the homomorphic task key includes the homomorphic encryption key, the homomorphic computation key and the homomorphic decryption key, and the homomorphic task key is derived by the key interaction party based on the key material associated with at least one homomorphic enabling unit participating in the homomorphic task, the public parameters, and a key generator corresponding to the homomorphic encryption algorithm identifier.
17. The method according to claim 15, characterized in that The method further comprises: Sending a key information acquisition request to a key interaction party, wherein the key information acquisition request includes an identifier of at least one homomorphic enabling unit participating in the homomorphic task; receiving key information from the key interaction party, the key information including key material of at least one homomorphic enabling unit participating in the homomorphic task; A homomorphic task key is derived according to the key information, the public parameters used to derive the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier. The homomorphic task key includes the homomorphic encryption key, the homomorphic computation key, and the homomorphic decryption key.
18. A key management method, characterized in that: include: Receive a homomorphic task key request from a homomorphic task management unit, wherein the homomorphic task key request is used to request that a key of the homomorphic task be issued to at least one homomorphic enabling unit among the N homomorphic enabling units, wherein the homomorphic task request includes one or more homomorphic task participant types of each of the N homomorphic enabling units participating in the homomorphic task, and a homomorphic encryption algorithm identifier used by the homomorphic task, wherein the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party, or a homomorphic decryption party, and N is an integer greater than or equal to 1; In the case that at least one homomorphic enabling unit as an encryption party among the N homomorphic enabling units adopts non-homomorphic encryption, a homomorphic encryption key and a homomorphic computing key are sent to at least one homomorphic enabling unit as a homomorphic computing party among the N homomorphic enabling units, and a homomorphic decryption key is sent to at least one homomorphic enabling unit as a decryption party among the N homomorphic enabling units, wherein the homomorphic computing key includes a first conversion key, which is a homomorphic ciphertext obtained by homomorphically encrypting a non-homomorphic decryption key corresponding to a non-homomorphic ciphertext, and is used for at least one homomorphic enabling unit as a homomorphic computing party to perform homomorphic computing and non-homomorphic decryption on the ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain the homomorphic ciphertext, and the homomorphic encryption key, the homomorphic computing key, and the homomorphic decryption key are derived based on a key generator corresponding to the homomorphic encryption algorithm identifier; Among them, the non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic characteristics, the non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and the non-homomorphic ciphertext is the ciphertext obtained by the non-homomorphic encryption.
19. The method according to claim 18, characterized in that The method further comprises: Obtaining the non-homomorphic decryption key corresponding to the non-homomorphic encryption through the key interaction party; A homomorphic task key is derived according to the non-homomorphic decryption key, the public parameters used to derive the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier. The homomorphic task key includes the homomorphic encryption key, the homomorphic computation key and the homomorphic decryption key.
20. A key management method, characterized in that: include: Receive a homomorphic task key request from a homomorphic task management unit, wherein the homomorphic task key request is used to request that a key of the homomorphic task be issued to at least one homomorphic enabling unit among the N homomorphic enabling units, wherein the homomorphic task request includes one or more homomorphic task participant types of each of the N homomorphic enabling units participating in the homomorphic task, and a homomorphic encryption algorithm identifier used by the homomorphic task, wherein the homomorphic task participant type includes any one of a homomorphic encryption party, a homomorphic calculation party, or a homomorphic decryption party, and N is an integer greater than or equal to 1; In the case that at least one homomorphic enabling unit as an encryption party among the N homomorphic enabling units adopts non-homomorphic encryption and at least one homomorphic enabling unit as a decryption party adopts non-homomorphic decryption, a homomorphic encryption key, a homomorphic computing key and a second conversion key are sent to at least one homomorphic enabling unit as a homomorphic computing party among the N homomorphic enabling units, wherein the homomorphic computing key includes a first conversion key, which is a homomorphic ciphertext obtained by homomorphically encrypting a non-homomorphic decryption key corresponding to a non-homomorphic ciphertext, and is used by at least one homomorphic enabling unit as a homomorphic computing party to perform homomorphic computing and non-homomorphic decryption on the ciphertext that is homomorphically encrypted again with the homomorphic encryption key to obtain the homomorphic ciphertext, and the second conversion key is used by at least one homomorphic enabling unit as a homomorphic computing party to convert the homomorphic ciphertext after homomorphic computing into the non-homomorphic ciphertext that is non-homomorphically encrypted, and the homomorphic encryption key, the homomorphic computing key and the second conversion key are derived based on the key generator corresponding to the homomorphic encryption algorithm identifier; Among them, the non-homomorphic encryption includes symmetric encryption or asymmetric encryption that does not support homomorphic characteristics, the non-homomorphic decryption includes symmetric decryption or asymmetric decryption that does not support homomorphic characteristics, and the non-homomorphic ciphertext is the ciphertext obtained by the non-homomorphic encryption.
21. The method of claim 20, wherein: The non-homomorphic decryption key is sent to at least one homomorphic enabling unit serving as a decryption party.
22. The method according to claim 20 or 21, characterized in that The method further comprises: Obtaining a non-homomorphic encryption key and a non-homomorphic decryption key corresponding to the non-homomorphic encryption through a key interaction party; A homomorphic task key is derived according to the non-homomorphic encryption key, the non-homomorphic decryption key, the public parameters for deriving the homomorphic task key, and the key generator corresponding to the homomorphic encryption algorithm identifier. The homomorphic task key includes the homomorphic encryption key, the homomorphic computation key and the second conversion key.
23. The method according to any one of claims 15 to 22, characterized in that The key of the homomorphic task is derived and issued according to the key granularity of the homomorphic task, and the key granularity of the homomorphic task is determined by negotiation with the key interaction party.
24. The method of claim 23, wherein: The key granularity of the homomorphic task is task level, user level or sub-region level.
25. A ciphertext storage management method, characterized in that: include: Receiving ciphertext sending task configuration information from a homomorphic task management unit, wherein the ciphertext sending task configuration information includes a ciphertext data identifier and at least one homomorphic enabling unit identifier as a homomorphic computing party; According to the ciphertext sending task configuration information, the stored ciphertext corresponding to the ciphertext data identifier is sent to at least one homomorphic enabling unit serving as a homomorphic computing party.
26. The method of claim 25, wherein: The ciphertext is a symmetric ciphertext, an asymmetric ciphertext or a homomorphic ciphertext.
27. The method according to claim 25 or 26, characterized in that The method further comprises: Receiving a ciphertext query request from the homomorphic task management unit, wherein the ciphertext query request is used to request to query the validity of the ciphertext; A ciphertext query response is sent to the homomorphic task management unit, wherein the ciphertext query response includes whether the ciphertext is valid, wherein the validity of the ciphertext includes that the storage life cycle of the ciphertext has not ended and / or the encryption key corresponding to the ciphertext has not expired.
28. The method according to any one of claims 25 to 27, characterized in that The ciphertext includes information from a second homomorphic enabling unit, and the method further includes: receiving a ciphertext and a storage lifecycle from the second homomorphic enabling unit; The ciphertext is stored according to the storage life cycle.
29. The method according to any one of claims 25 to 27, characterized in that The ciphertext includes ciphertext from a second homomorphic enabling unit, and the method further includes: receiving a ciphertext from the second homomorphic enabling unit; In case of obtaining permission for setting the storage lifecycle of the ciphertext from the second homomorphic enabling unit, setting the storage lifecycle of the ciphertext; The ciphertext is stored according to the storage life cycle.
30. The method according to any one of claims 25 to 29, characterized in that The stored ciphertext from the homomorphic enabling unit includes ciphertext encrypted using a first encryption key; the method further includes: Receiving indication information from a key management unit, the indication information being used to indicate that the first encryption key is leaked or invalid; The ciphertext encrypted using the first encryption key is deleted.
31. The method according to any one of claims 25 to 30, characterized in that The storage area for storing ciphertext from the homomorphic enabling unit is divided according to one or more of the following: The homomorphic enabling unit to which the ciphertext belongs, the encryption key corresponding to the ciphertext, the network layer associated with the ciphertext, the network slice type associated with the ciphertext, and the security context associated with the ciphertext.
32. A communication device, characterized in that: including an interface unit and a processing unit; An interface unit for receiving and sending data; A processing unit, configured to execute the method according to any one of claims 1 to 31 through the interface unit.
33. A communication device, characterized in that: It includes a processor and an interface circuit, wherein the interface circuit is used to receive signals from other communication devices outside the communication device and transmit them to the processor, or send signals from the processor to other communication devices outside the communication device, and the processor is used to implement the method as described in any one of claims 1-31 through logic circuits or execution instructions.
34. A computer program product, characterized in that The method comprises a computer program or an instruction, and when the computer program or the instruction is executed by a processor, the method according to any one of claims 1 to 31 is implemented.
35. A chip system, characterized in that: The chip system includes a processor, the processor is coupled to a memory, the memory is used to store computer programs or instructions, and when the computer program or instructions are executed by the processor, the method as described in any one of claims 1-31 is implemented.
36. A computer-readable storage medium, characterized in that: The storage medium stores a computer program or instructions, and when the computer program or instructions are executed, the method according to any one of claims 1 to 31 is implemented.
37. A communication system, characterized in that: The communication system comprises a homomorphic task management unit and at least one homomorphic enabling unit communicating with the homomorphic task management function network element; The homomorphic task management unit is used to implement the method as described in any one of claims 1-14.
38. The communication system according to claim 37, characterized in that The communication system further comprises: a key management unit and / or a ciphertext data storage management unit; The key management unit is used to implement the method according to any one of claims 15 to 24; The ciphertext data storage management unit is used to implement the method as described in any one of claims 25-31.
Citation Information
Patent Citations
Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
CN110214433A
Homomorphic encryption calculation method and system, and homomorphic request, calculation and key system
CN114629620A
Secured computing
US20200136797A1
Homomorphic encryption offload for lightweight devices
US20220173886A1