Authority control method for data exchange between tenants
Through multi-key encryption policy and information identification neural networks, biometric information is identified, combined with IPFS and blockchain technology, efficient permission control of data exchange among tenants is achieved, and the problem of insufficient flexibility in data security and permission control in the existing technology is solved.
Patent Information
- Application Number
- CN202411716423.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-02-28
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The prior art cannot effectively ensure data security during the data exchange between tenants, and the permission control is not flexible enough to meet the personalized needs of tenants.
The data is encrypted and uploaded to IPFS through a multi-key encryption policy, an IPFS hash value is generated and uploaded to the blockchain, and the association between the key and the encrypted data is stored locally. Obtain the biometric information of the data request tenant, use the information identification neural network for identification, determine the identity information of the data request tenant, and determine its data access permissions from the permission database. The target key is transmitted through a secure transmission method, and the data request tenant can decrypt the acquired encrypted data.
It effectively ensures data security, while improving the flexibility of data permission control, allowing data holders to customize data access policies according to their own needs to meet the personalized needs of tenants.
Smart Images

Figure CN119544182A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of authority control, and in particular relates to an authority control method for data exchange between tenants. Background Art
[0002] Cloud computing is an Internet-based computing model that allows users to access and use data and applications stored on remote servers through the network without installing or running these applications on local computers. With the popularization of cloud computing technology, multi-tenant architecture has become the main deployment method of cloud computing platforms. In this architecture, multiple tenants share the same physical resources, but their data is isolated from each other. However, in actual business scenarios, there may be a need for data exchange between tenants. Existing data exchange methods have the following problems: Data security cannot be guaranteed: During the data exchange process, security risks such as data leakage and tampering are prone to occur. Inflexible permission control: Existing methods are difficult to implement fine-grained permission control and cannot meet the personalized needs of tenants. Summary of the invention
[0003] The present invention provides a method for controlling the authority of data exchange between tenants, which is used to solve the technical problems that the security of the prior art cannot be guaranteed and the authority control capability is low.
[0004] A method for controlling permissions for data exchange between tenants, comprising:
[0005] The data holding tenant encrypts the data through a multi-key encryption strategy and uploads it to IPFS, obtains an IPFS hash value, and uploads the IPFS hash value to the blockchain, while storing the association between the key and the encrypted data locally;
[0006] Obtaining biometric information corresponding to the data requesting tenant, and identifying the biometric information using an information recognition neural network to determine the identity information corresponding to the data requesting tenant;
[0007] According to the identity information corresponding to the data requesting tenant, determine the data access rights corresponding to the data requesting tenant from the rights database; wherein the rights database stores the association relationship between the identity information and the data access rights;
[0008] Determine the target key corresponding to the target data corresponding to the data access permission according to the association relationship between the key and the encrypted data, and transmit the target key to the data requesting tenant using a secure transmission method;
[0009] Through data request tenants query the IPFS hash value uploaded by the data holding tenant from the blockchain, obtain encrypted data from IPFS according to the IPFS hash value, and use the target key to decrypt the encrypted data to complete the permission control of the data exchange process.
[0010] Further, it includes: encrypting the data through a multi-key encryption strategy by the data holding tenant and uploading it to IPFS, obtaining an IPFS hash value, uploading the IPFS hash value to the blockchain, and storing the association relationship between the key and the encrypted data locally, including:
[0011] For each type of data, a random key is generated using a symmetric encryption algorithm to encrypt the data, obtaining the encrypted data, and the association between the key and the encrypted data is stored locally;
[0012] Upload the encrypted data to IPFS and get the IPFS hash value;
[0013] Generate a timestamp for each IPFS hash value, and associate the data name, IPFS hash value and timestamp and upload them to the blockchain.
[0014] Furthermore, it also includes: after each time period, re-using the symmetric encryption algorithm to generate a random key to encrypt the data to obtain encrypted data, and storing the association between the key and the encrypted data locally; uploading the encrypted data to IPFS to replace the corresponding existing encrypted data to obtain a new IPFS hash value; generating a timestamp for each new IPFS hash value, and uploading the data name, the new IPFS hash value and the timestamp in association with each other to the blockchain.
[0015] Furthermore, obtaining biometric information corresponding to the data requesting tenant, and using an information recognition neural network to recognize the biometric information, and determining the identity information corresponding to the data requesting tenant, includes:
[0016] Obtaining biometric information corresponding to the data requesting tenant; wherein the biometric information includes fingerprint image information or face image information;
[0017] The multi-coding network structure optimization method is used to optimize the convolutional neural network structure to generate an information recognition neural network;
[0018] The biometric information is identified by using an information recognition neural network to determine the identity information corresponding to the data requesting tenant.
[0019] Furthermore, a multi-coding network structure optimization method is used to optimize the convolutional neural network structure to generate an information recognition neural network, including:
[0020] Encode the convolutional layers, pooling layers, and full connections to obtain multiple different convolutional neural network structures;
[0021] Using sample face images and corresponding labels as training data, and using an improved pigeon flock optimization algorithm to train each convolutional neural network structure, a plurality of first target convolutional neural network structures are determined;
[0022] Based on the first target convolutional neural network structure, a crossover operation and a mutation operation are performed to obtain multiple second target convolutional neural network structures;
[0023] Determine whether the current network structure optimization times have reached the first preset maximum times. If so, determine the information recognition neural network based on the first target convolutional neural network structure and the second target convolutional neural network structure. Otherwise, reselect multiple convolutional neural network structures with better fitness based on the first target convolutional neural network structure and the second target convolutional neural network structure, and return to the step of training each convolutional neural network structure.
[0024] Furthermore, the convolutional layer, pooling layer, and full connection are encoded to obtain multiple different convolutional neural network structures, including:
[0025] Get the preset target number of convolutional layers, target number of pooling layers, and target number of fully connected layers;
[0026] Use a convolutional layer as the input layer of the convolutional neural network structure, and randomly add convolutional layers or pooling layers after the input layer, and any two pooling layers are not adjacent, until the number of convolutional layers reaches the target number of convolutional layers and the number of pooling layers reaches the target number of pooling layers, and insert a batch normalization layer after each convolutional layer;
[0027] Based on the target number of fully connected layers, multiple fully connected layers are added in sequence, and a dropout layer is added after the last fully connected layer to obtain a convolutional neural network structure.
[0028] According to the above method for obtaining a convolutional neural network structure, multiple different convolutional neural network structures are obtained.
[0029] Furthermore, the sample face images and the corresponding labels are used as training data, and the improved pigeon flock optimization algorithm is used to train each convolutional neural network structure to determine multiple first target convolutional neural network structures, including:
[0030] For any convolutional neural network structure, the hyperparameters of the convolutional neural network structure are initialized to determine a plurality of different hyperparameter encodings;
[0031] For each hyperparameter encoding, sample face images and corresponding labels are used as training data, and the improved pigeon flock optimization algorithm is used to optimize the hyperparameter encoding to obtain the optimized hyperparameter encoding;
[0032] Determine whether the current encoding optimization times reaches the second preset maximum times, if so, determine the final hyperparameters of the convolutional neural network structure according to the optimized hyperparameter encoding, and obtain the first target convolutional neural network structure, otherwise return to the step of optimizing the hyperparameter encoding;
[0033] According to the above method for obtaining the first target convolutional neural network structure, multiple first target convolutional neural network structures are determined.
[0034] Furthermore, based on the first target convolutional neural network structure, a crossover operation and a mutation operation are performed to obtain multiple second target convolutional neural network structures, including:
[0035] For any first target convolutional neural network structure, randomly generate the number of crossover operations in the target number of convolutional layers, the target number of pooling layers, and the target number of fully connected layers to obtain the number of convolution crossovers, the number of pooling crossovers, and the number of fully connected crossovers;
[0036] For any first target convolutional neural network structure, randomly match it with another first target convolutional neural network structure to obtain two paired parent target convolutional neural network structures;
[0037] For the paired parent target convolutional neural network structures, based on the number of convolution crossovers, at least one convolutional layer with the same order is randomly exchanged; based on the number of pooling crossovers, at least one pooling layer with the same order is randomly exchanged; based on the number of fully connected crossovers, at least one fully connected layer with the same order is randomly exchanged to obtain a child target convolutional neural network structure;
[0038] For any first target convolutional neural network structure, mutate its target number of convolutional layers, target number of pooling layers, target number of fully connected layers and / or network layer structure hyperparameters to obtain a descendant target convolutional neural network structure;
[0039] According to the parent target convolutional neural network structure and the parent target convolutional neural network structure, multiple second target convolutional neural network structures with larger fitness are selected.
[0040] Further, according to the identity information corresponding to the data requesting tenant, determining the data access rights corresponding to the data requesting tenant from the rights database includes:
[0041] According to the identity information of the data requesting tenant, a text pre-similarity algorithm is used to match the data in the permission database to obtain the data access rights corresponding to the data requesting tenant.
[0042] Furthermore, the data requesting tenant queries the IPFS hash value uploaded by the data holding tenant from the blockchain, obtains the encrypted data from the IPFS according to the IPFS hash value, and uses the target key to decrypt the encrypted data, including:
[0043] Obtaining a data access request transmitted by a data request tenant; wherein the data access request at least includes a data name;
[0044] According to the data access request, query the IPFS hash value uploaded by the data holding tenant from the blockchain to obtain the target IPFS hash value;
[0045] The encrypted data is obtained from IPFS according to the IPFS hash value, and the encrypted data is decrypted using the target key.
[0046] The present invention provides a permission control method for data exchange between tenants. The data is encrypting and uploading to IPFS through a multi-key encryption strategy, which not only facilitates data storage, but also improves the flexibility of data permission control, so that the data holding tenant can customize the data access strategy according to its own needs, and then obtain the biometric information corresponding to the data requesting tenant, and use the information recognition neural network to identify the biometric information, and finally determine the data access permission corresponding to the data requesting tenant. This can effectively ensure data security while enabling the data holding tenant to flexibly revise the data access permission, thereby meeting the personalized needs of the tenant. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0048] Figure 1 A flowchart of a method for controlling permissions for data exchange between tenants provided in an embodiment of the present invention.
[0049] The above drawings have shown clear embodiments of the present invention, which will be described in more detail below. These drawings and text descriptions are not intended to limit the scope of the present invention in any way, but to illustrate the concept of the present invention for those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0050] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of devices and methods consistent with some aspects of the present invention as detailed in the appended claims.
[0051] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
[0052] like Figure 1 As shown, an embodiment of the present invention provides a method for controlling permissions for data exchange between tenants, including:
[0053] S1. The data holding tenant encrypts the data through a multi-key encryption strategy and uploads it to IPFS to obtain an IPFS hash value, and uploads the IPFS hash value to the blockchain, while storing the association between the key and the encrypted data locally;
[0054] IPFS (InterPlanetary File System) is a protocol and network designed to create persistent and distributed storage and sharing of files. Therefore, the embodiment of the present invention stores data through IPFS, thereby facilitating the storage and reading of data.
[0055] In order to customize a more flexible permission control strategy, the embodiment of the present invention adopts a multi-key encryption strategy to store data, that is, encryption can be performed according to the data type, or data of different projects can be encrypted, or a piece of data can be encrypted separately. The specific encryption strategy can be customized by the data holding tenant, thereby effectively improving the flexibility of data access permission control.
[0056] After the data is encrypted, the IPFS hash value can be uploaded to the blockchain, making it easier for data requesting tenants to search and obtain the data.
[0057] S2. Obtain biometric information corresponding to the data requesting tenant, and use an information recognition neural network to recognize the biometric information to determine the identity information corresponding to the data requesting tenant;
[0058] The biometric information corresponding to the data requesting tenant may be facial image information. By authenticating the face of the data requesting tenant, it is possible to determine whether the data requesting tenant has data access rights. For example, an information recognition neural network may be trained using facial data corresponding to the data requesting tenant authorized by the data holding tenant. At the same time, the information recognition neural network needs to include unauthorized categories (i.e., classification by unauthorized faces), so that the authorized tenants can be identified, which can effectively ensure data security and improve data management efficiency.
[0059] S3. Determine the data access permission corresponding to the data requesting tenant from a permission database according to the identity information corresponding to the data requesting tenant; wherein the permission database stores the association relationship between the identity information and the data access permission;
[0060] After the data holding tenant authorizes the data requesting tenant, a unique identity code can be generated for each authorized data requesting tenant to obtain the identity information corresponding to the data requesting tenant. Then the data holding tenant can freely edit the data access rights of the data requesting tenant (such as the rights to access which types of data and the rights to access which project data), thereby making data permission control more flexible.
[0061] S4. Determine the target key corresponding to the target data corresponding to the data access permission according to the association relationship between the key and the encrypted data, and transmit the target key to the data requesting tenant using a secure transmission method;
[0062] Transmitting the target key to the data requesting tenant using a secure transmission method may include: the data requesting tenant transmits its own public key to the data holding tenant, so that the data holding tenant can encrypt and transmit the target key according to the public key.
[0063] The embodiment of the present invention determines the target key corresponding to the target data corresponding to the data access permission through the association relationship between the key and the encrypted data, thereby preventing the data requesting tenant from accessing data outside the access permission.
[0064] Furthermore, the data requesting tenant can send the requested data name to the data holding tenant. When the corresponding authority exists, the target key corresponding to the data will be transmitted to the data requesting tenant, thereby effectively avoiding key leakage and further ensuring the security of the data.
[0065] Optionally, when a data requesting tenant requests data, the authority may be verified first, and then the data may be uploaded, and finally the corresponding target key may be transmitted to the data requesting tenant, thereby ensuring that the key is real-time and further ensuring the security of the data.
[0066] S5. The data request tenant queries the IPFS hash value uploaded by the data holding tenant from the blockchain, obtains the encrypted data from IPFS according to the IPFS hash value, and uses the target key to decrypt the encrypted data to complete the permission control of the data exchange process.
[0067] The present invention provides a permission control method for data exchange between tenants. The data is encrypting and uploading to IPFS through a multi-key encryption strategy, which not only facilitates data storage, but also improves the flexibility of data permission control, so that the data holding tenant can customize the data access strategy according to its own needs, and then obtain the biometric information corresponding to the data requesting tenant, and use the information recognition neural network to identify the biometric information, and finally determine the data access permission corresponding to the data requesting tenant. This can effectively ensure data security while enabling the data holding tenant to flexibly revise the data access permission, thereby meeting the personalized needs of the tenant.
[0068] In an embodiment of the present invention, the data holding tenant encrypts the data through a multi-key encryption strategy and uploads it to IPFS, obtains an IPFS hash value, and uploads the IPFS hash value to the blockchain, and stores the association between the key and the encrypted data locally, including:
[0069] A1. For each type of data, a random key is generated using a symmetric encryption algorithm to encrypt the data, obtain the encrypted data, and store the association between the key and the encrypted data locally;
[0070] Symmetric encryption is a type of encryption in which the same key is used for encryption and decryption. This encryption method has a long history and is highly efficient, and is widely used for encryption of data transmission and storage. For example: Advanced Encryption Standard (AES).
[0071] A2. Upload the encrypted data to IPFS and obtain the IPFS hash value;
[0072] A3. Generate a timestamp for each IPFS hash value, and associate the data name, IPFS hash value and timestamp and upload them to the blockchain.
[0073] In an embodiment of the present invention, it also includes: after each time period, a symmetric encryption algorithm is used to generate a random key to encrypt the data to obtain encrypted data, and the association between the key and the encrypted data is stored locally; the encrypted data is uploaded to IPFS to replace the corresponding existing encrypted data to obtain a new IPFS hash value; a timestamp is generated for each new IPFS hash value, and the data name, the new IPFS hash value and the timestamp are associated and uploaded to the blockchain.
[0074] The embodiment of the present invention can verify the timestamp by generating a timestamp and setting a valid time period, thereby determining whether the data stored on IPFS is valid.
[0075] In an embodiment of the present invention, obtaining biometric information corresponding to a data requesting tenant, and using an information recognition neural network to recognize the biometric information to determine the identity information corresponding to the data requesting tenant includes:
[0076] B1. Obtaining biometric information corresponding to the data requesting tenant; wherein the biometric information includes fingerprint image information or face image information;
[0077] Preferably, the embodiment of the present invention preferably uses facial image information as the biometric information corresponding to the data requesting tenant.
[0078] B2. Use a multi-coding network structure optimization method to optimize the convolutional neural network structure to generate an information recognition neural network;
[0079] B3. Use an information recognition neural network to recognize the biometric information and determine the identity information corresponding to the data requesting tenant.
[0080] The embodiment of the present invention optimizes the convolutional neural network structure through a multi-coding network structure optimization method to generate an information recognition neural network, which can continuously optimize the network structure and ultimately find the optimal network structure, thereby reducing dependence on manual experience and effectively improving the final face recognition effect.
[0081] In an embodiment of the present invention, a multi-coding network structure optimization method is used to optimize the convolutional neural network structure to generate an information recognition neural network, including:
[0082] C1. Encode the convolutional layer, pooling layer, and full connection to obtain multiple different convolutional neural network structures;
[0083] C2, using sample face images and corresponding labels as training data, and using an improved pigeon flock optimization algorithm to train each convolutional neural network structure, and determining multiple first target convolutional neural network structures;
[0084] C3, based on the first target convolutional neural network structure, performing crossover operations and mutation operations to obtain multiple second target convolutional neural network structures;
[0085] C4. Determine whether the current network structure optimization times have reached the first preset maximum times. If so, determine the information recognition neural network based on the first target convolutional neural network structure and the second target convolutional neural network structure. Otherwise, reselect multiple convolutional neural network structures with better fitness based on the first target convolutional neural network structure and the second target convolutional neural network structure, and return to the step of training each convolutional neural network structure.
[0086] In the embodiment of the present invention, the convolutional layer, the pooling layer and the full connection are encoded to obtain a plurality of different convolutional neural network structures, including:
[0087] D1. Obtain the preset target number of convolutional layers, target number of pooling layers, and target number of fully connected layers;
[0088] D2. Use a convolutional layer as the input layer of the convolutional neural network structure, and randomly add convolutional layers or pooling layers after the input layer, and any two pooling layers are not adjacent, until the number of convolutional layers reaches the target number of convolutional layers and the number of pooling layers reaches the target number of pooling layers, and insert a batch normalization layer after each convolutional layer;
[0089] D3. Based on the target number of fully connected layers, add multiple sequentially connected fully connected layers, and add a dropout layer after the last fully connected layer to obtain a convolutional neural network structure.
[0090] D4. According to the above method for obtaining a convolutional neural network structure, obtain multiple different convolutional neural network structures.
[0091] In an embodiment of the present invention, sample face images and corresponding labels are used as training data, and an improved pigeon flock optimization algorithm is used to train each convolutional neural network structure to determine multiple first target convolutional neural network structures, including:
[0092] E1. For any convolutional neural network structure, initialize the hyperparameters of the convolutional neural network structure to determine multiple different hyperparameter encodings;
[0093] Optionally, the hyperparameters of the convolutional neural network structure may refer to the connection weights between the layers, and other parameters are set according to actual needs. However, it is worth noting that the optimization of hyperparameters may include more parameters, such as the filter width, filter height, number of feature maps, stride width, stride height, convolution type, standard deviation, and average filter parameter values of the convolution layer; the kernel width, kernel height, stride width, stride height, and pooling type of the pooling layer, where the pooling type is maximum pooling or average pooling; the number of neurons, connection weight standard deviation, and average connection weight value of the fully connected layer.
[0094] E2. For each hyperparameter code, sample face images and corresponding labels are used as training data, and the hyperparameter code is optimized using an improved pigeon flock optimization algorithm to obtain an optimized hyperparameter code;
[0095] Using sample face images and corresponding labels as training data, the improved pigeon flock optimization algorithm is used to optimize the hyperparameter encoding, which may include:
[0096] E21. For any hyperparameter encoding, apply the hyperparameter encoding to the convolutional neural network structure, use the sample face image as input, and use the corresponding label as the expected output to obtain the fitness value corresponding to the hyperparameter encoding;
[0097] E22. Determine the optimal hyperparameter encoding according to the fitness value corresponding to the hyperparameter encoding;
[0098] E23. Based on the current number of coding optimizations, the adaptive attenuation weight is obtained as:
[0099]
[0100] Where w represents the adaptive attenuation weight, w max Indicates the preset maximum value of the adaptive attenuation weight, w min represents the preset minimum value of the adaptive attenuation weight, π represents the pi, θ represents the constant term, and θ is preferably 0.445; t represents the current encoding optimization number, T represents the second preset maximum number, and e represents a natural constant;
[0101] Optionally, according to the adaptive attenuation weight, the learning factor is obtained as:
[0102] c1=a+b*cos(w)
[0103] Where c1 represents the learning factor, a represents the first coefficient term, and b represents the second coefficient term;
[0104] E24. According to the adaptive attenuation weight and the optimal hyperparameter encoding, the hyperparameter encoding is updated once as follows:
[0105]
[0106]
[0107] in, represents the i-th hyperparameter encoding in the t-th optimization process, represents the i-th hyperparameter encoding after an update, represents the update speed in the t+1th optimization process, i=1,2,…,I t , I trepresents the total number of hyperparameter encodings in the t-th optimization process, represents the update speed in the tth optimization process, R represents the map and compass factor of the pigeon swarm algorithm, and rand1 represents a random number between (0,1). represents the optimal hyperparameter encoding in the t-th optimization process, c1 represents the learning factor, which can be set to the dynamic factor in step E32 or a fixed factor (such as 1.495);
[0108] The embodiment of the present invention introduces an adaptive attenuation weight, with a slow speed in the early stage, a fast speed in the middle stage, and a gradually flat speed in the later stage. The improved algorithm dynamically balances the global search capability in the early stage and the local search capability in the middle and late stages. The proposed improved algorithm can prevent the traditional pigeon flock optimization algorithm from falling into the local optimum too early, and improve the accuracy of pigeon flock optimization.
[0109] E25. For the optimal hyperparameter encoding, use Gaussian distribution to perturb the optimal hyperparameter encoding and determine the perturbation value as:
[0110]
[0111] in, represents the disturbance value, rand2 represents a random number between (0,1), G represents the random search code, and each dimension parameter in G satisfies the standard Gaussian distribution;
[0112] E25, determine whether the fitness value of the disturbance value is greater than the fitness value of the optimal hyperparameter encoding. If so, use the disturbance value to update the optimal hyperparameter encoding, otherwise use the global search probability to accept the disturbance value;
[0113] The global search probability is:
[0114]
[0115] τ t+1 =μ*τ t
[0116] Among them, p represents the global search probability, f g represents the fitness value of the optimal hyperparameter encoding, f G represents the fitness value of the disturbance value, K represents the Boltzmann constant, τ t represents the annealing temperature during the tth optimization process, τ t+1 represents the annealing temperature during the t+1th optimization process, μ represents the attenuation coefficient;
[0117] A random number rand3 between (0,1) is randomly generated. When the global search probability p is greater than the random number rand3, the optimal hyperparameter encoding is updated with the perturbation value, otherwise the original optimal hyperparameter encoding is retained.
[0118] The present invention can allow non-optimal solutions to be accepted with a certain probability, and can enhance the global optimization capability.
[0119] E26. Based on the current number of encoding optimizations, the population size is obtained as follows:
[0120] I t+1 =INT(I t *logsig((I t / 2-t) / k))
[0121] Among them, I t+1 represents the total number of hyperparameter encodings in the t+1th optimization process, k represents the slope of the logsig function, and INT represents the rounding function;
[0122] The embodiment of the present invention improves the method for obtaining the population quantity. The improved population quantity will not be halved each time like the traditional algorithm, but will show a nonlinear decreasing trend, and its value decreases slowly, thereby ensuring the diversity of the population.
[0123] E27, based on the population optimized in step E25, arrange all hyperparameter codes in order of fitness value from small to large, and only retain the first I t+1 Hyperparameter encoding;
[0124] E28. According to the hyperparameter encoding obtained in step E27, the hyperparameter encoding center is determined to be
[0125] E29, encoding the center with the hyperparameters Based on , the hyperparameter encoding obtained in step E27 is updated twice as follows:
[0126]
[0127] in, represents the mth hyperparameter encoding output by step E27 during the tth optimization process, m = 1, 2, ..., I t+1 , represents the hyperparameter encoding after the mth secondary update, rand4 represents a random number between (0,1), η m represents the variation term, and γ represents the variation control factor between (0,1), ξ represents the proportional factor between (0,2), represents the optimal hyperparameter encoding among the hyperparameter encodings outputted in step E27, as well as For the exception Random hyperparameter encoding other than ;
[0128] The embodiment of the present invention mutates the hyperparameter encoding and adjusts the position of the pigeons by randomly selecting individuals in the solution space, thereby enhancing the diversity and global exploration ability of the group, thereby avoiding falling into the local optimum while ensuring the convergence speed of the pigeon group algorithm.
[0129] Optionally, the hyperparameter encoding may be subjected to out-of-bounds processing after each update step to ensure encoding validity.
[0130] E3. Determine whether the current encoding optimization times reaches the second preset maximum times. If so, determine the final hyperparameters of the convolutional neural network structure according to the optimized hyperparameter encoding to obtain the first target convolutional neural network structure. Otherwise, return to the step of optimizing the hyperparameter encoding.
[0131] According to the above method for obtaining the first target convolutional neural network structure, multiple first target convolutional neural network structures are determined.
[0132] In an embodiment of the present invention, based on the first target convolutional neural network structure, a crossover operation and a mutation operation are performed to obtain multiple second target convolutional neural network structures, including:
[0133] F1. For any first target convolutional neural network structure, randomly generate the number of crossover operations in the target number of convolutional layers, the target number of pooling layers, and the target number of fully connected layers to obtain the number of convolution crossovers, the number of pooling crossovers, and the number of fully connected crossovers;
[0134] F2. For any first target convolutional neural network structure, randomly match it with another first target convolutional neural network structure to obtain pairwise parent target convolutional neural network structures;
[0135] F3. For the paired parent target convolutional neural network structures, based on the number of convolution crossovers, randomly exchange at least one convolutional layer with the same order; based on the number of pooling crossovers, randomly exchange at least one pooling layer with the same order; based on the number of fully connected crossovers, randomly exchange at least one fully connected layer with the same order, to obtain a child target convolutional neural network structure;
[0136] For example, the convolutional layers can be taken out in sequence, and then the convolutional layers in the same position can be exchanged to achieve crossover.
[0137] F4. For any first target convolutional neural network structure, mutate its target number of convolutional layers, target number of pooling layers, target number of fully connected layers and / or network layer structure hyperparameters to obtain a descendant target convolutional neural network structure;
[0138] The mutation may be: increasing or decreasing a certain type of network layer structure, or mutating the parameters of the network layer structure (such as randomly resetting within a valid interval).
[0139] F5. According to the parent target convolutional neural network structure and the parent target convolutional neural network structure, select multiple second target convolutional neural network structures with greater fitness.
[0140] In an embodiment of the present invention, determining the data access rights corresponding to the data requesting tenant from a rights database according to the identity information corresponding to the data requesting tenant includes:
[0141] According to the identity information of the data requesting tenant, a text pre-similarity algorithm is used to match the data in the permission database to obtain the data access rights corresponding to the data requesting tenant.
[0142] In an embodiment of the present invention, the data requesting tenant queries the IPFS hash value uploaded by the data holding tenant from the blockchain, obtains encrypted data from the IPFS according to the IPFS hash value, and uses the target key to decrypt the encrypted data, including:
[0143] G1. Obtain a data access request transmitted by a data request tenant; wherein the data access request at least includes a data name;
[0144] G2. According to the data access request, query the IPFS hash value uploaded by the data holder tenant from the blockchain to obtain the target IPFS hash value;
[0145] G3. Obtain encrypted data from IPFS according to the IPFS hash value, and use the target key to decrypt the encrypted data.
[0146] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0147] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0148] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0149] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0150] A person of ordinary skill in the art can understand that all or part of the steps in realizing the above-mentioned facts and methods can be completed by instructing the relevant hardware through a program, and the program involved or the program described can be stored in a computer-readable storage medium. When the program is executed, it includes the following steps: At this time, the corresponding method steps are derived, and the storage medium can be ROM / RAM, a disk, an optical disk, etc.
[0151] The specific implementation methods described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific implementation method of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for controlling the authority of data exchange between tenants, characterized in that: include: The data holding tenant encrypts the data through a multi-key encryption strategy and uploads it to IPFS, obtains an IPFS hash value, and uploads the IPFS hash value to the blockchain, while storing the association between the key and the encrypted data locally; Obtaining biometric information corresponding to the data requesting tenant, and identifying the biometric information using an information recognition neural network to determine the identity information corresponding to the data requesting tenant; According to the identity information corresponding to the data requesting tenant, determine the data access rights corresponding to the data requesting tenant from the rights database; wherein the rights database stores the association relationship between the identity information and the data access rights; Determine the target key corresponding to the target data corresponding to the data access permission according to the association relationship between the key and the encrypted data, and transmit the target key to the data requesting tenant using a secure transmission method; Through data request tenants query the IPFS hash value uploaded by the data holding tenant from the blockchain, obtain encrypted data from IPFS according to the IPFS hash value, and use the target key to decrypt the encrypted data to complete the permission control of the data exchange process.
2. The method for controlling the rights of data exchange between tenants according to claim 1, characterized in that: include: The data holding tenant encrypts the data through a multi-key encryption strategy and uploads it to IPFS to obtain an IPFS hash value, and uploads the IPFS hash value to the blockchain, while storing the association between the key and the encrypted data locally, including: For each type of data, a random key is generated using a symmetric encryption algorithm to encrypt the data, obtaining the encrypted data, and the association between the key and the encrypted data is stored locally; Upload the encrypted data to IPFS and get the IPFS hash value; Generate a timestamp for each IPFS hash value, and associate the data name, IPFS hash value and timestamp and upload them to the blockchain.
3. The method for controlling the rights of data exchange between tenants according to claim 2, characterized in that: Also includes: After every period of time, a symmetric encryption algorithm is used to generate a random key to encrypt the data, and the encrypted data is obtained. The association between the key and the encrypted data is stored locally; the encrypted data is uploaded to IPFS to replace the corresponding existing encrypted data to obtain a new IPFS hash value; a timestamp is generated for each new IPFS hash value, and the data name, new IPFS hash value and timestamp are associated and uploaded to the blockchain.
4. The method for controlling the rights of data exchange between tenants according to claim 1, characterized in that: Obtaining biometric information corresponding to the data requesting tenant, and using an information recognition neural network to recognize the biometric information, and determining the identity information corresponding to the data requesting tenant, including: Obtaining biometric information corresponding to the data requesting tenant; wherein the biometric information includes fingerprint image information or face image information; The multi-coding network structure optimization method is used to optimize the convolutional neural network structure to generate an information recognition neural network; The biometric information is identified by using an information recognition neural network to determine the identity information corresponding to the data requesting tenant.
5. The method for controlling the rights of data exchange between tenants according to claim 4, characterized in that: The multi-coding network structure optimization method is used to optimize the convolutional neural network structure to generate an information recognition neural network, including: Encode the convolutional layers, pooling layers, and full connections to obtain multiple different convolutional neural network structures; Using sample face images and corresponding labels as training data, and using an improved pigeon flock optimization algorithm to train each convolutional neural network structure, a plurality of first target convolutional neural network structures are determined; Based on the first target convolutional neural network structure, a crossover operation and a mutation operation are performed to obtain multiple second target convolutional neural network structures; Determine whether the current network structure optimization times have reached the first preset maximum times. If so, determine the information recognition neural network based on the first target convolutional neural network structure and the second target convolutional neural network structure. Otherwise, reselect multiple convolutional neural network structures with better fitness based on the first target convolutional neural network structure and the second target convolutional neural network structure, and return to the step of training each convolutional neural network structure.
6. The method for controlling the rights of data exchange between tenants according to claim 5, characterized in that: Encode the convolutional layers, pooling layers, and full connections to obtain multiple different convolutional neural network structures, including: Get the preset target number of convolutional layers, target number of pooling layers, and target number of fully connected layers; Use a convolutional layer as the input layer of the convolutional neural network structure, and randomly add convolutional layers or pooling layers after the input layer, and any two pooling layers are not adjacent, until the number of convolutional layers reaches the target number of convolutional layers and the number of pooling layers reaches the target number of pooling layers, and insert a batch normalization layer after each convolutional layer; Based on the target number of fully connected layers, multiple fully connected layers are added in sequence, and a dropout layer is added after the last fully connected layer to obtain a convolutional neural network structure. According to the above method for obtaining a convolutional neural network structure, multiple different convolutional neural network structures are obtained.
7. The method for controlling the rights of data exchange between tenants according to claim 6, characterized in that: The sample face images and the corresponding labels are used as training data, and the improved pigeon flock optimization algorithm is used to train each convolutional neural network structure to determine multiple first target convolutional neural network structures, including: For any convolutional neural network structure, the hyperparameters of the convolutional neural network structure are initialized to determine a plurality of different hyperparameter encodings; For each hyperparameter encoding, sample face images and corresponding labels are used as training data, and the improved pigeon flock optimization algorithm is used to optimize the hyperparameter encoding to obtain the optimized hyperparameter encoding; Determine whether the current encoding optimization times reaches the second preset maximum times, if so, determine the final hyperparameters of the convolutional neural network structure according to the optimized hyperparameter encoding, and obtain the first target convolutional neural network structure, otherwise return to the step of optimizing the hyperparameter encoding; According to the above method for obtaining the first target convolutional neural network structure, multiple first target convolutional neural network structures are determined.
8. The method for controlling the rights of data exchange between tenants according to claim 6, characterized in that: Based on the first target convolutional neural network structure, crossover operations and mutation operations are performed to obtain multiple second target convolutional neural network structures, including: For any first target convolutional neural network structure, randomly generate the number of crossover operations in the target number of convolutional layers, the target number of pooling layers, and the target number of fully connected layers to obtain the number of convolution crossovers, the number of pooling crossovers, and the number of fully connected crossovers; For any first target convolutional neural network structure, randomly match it with another first target convolutional neural network structure to obtain two paired parent target convolutional neural network structures; For the paired parent target convolutional neural network structures, based on the number of convolution crossovers, at least one convolutional layer with the same order is randomly exchanged; based on the number of pooling crossovers, at least one pooling layer with the same order is randomly exchanged; based on the number of fully connected crossovers, at least one fully connected layer with the same order is randomly exchanged to obtain a child target convolutional neural network structure; For any first target convolutional neural network structure, mutate its target number of convolutional layers, target number of pooling layers, target number of fully connected layers and / or network layer structure hyperparameters to obtain a descendant target convolutional neural network structure; According to the parent target convolutional neural network structure and the parent target convolutional neural network structure, multiple second target convolutional neural network structures with larger fitness are selected.
9. The method for controlling the rights of data exchange between tenants according to claim 1, characterized in that: According to the identity information of the data requesting tenant, the data access rights corresponding to the data requesting tenant are determined from the permission database, including: According to the identity information of the data requesting tenant, a text pre-similarity algorithm is used to match the data in the permission database to obtain the data access rights corresponding to the data requesting tenant.
10. The method for controlling the rights of data exchange between tenants according to claim 9, characterized in that: The data request tenant queries the IPFS hash value uploaded by the data holding tenant from the blockchain, obtains the encrypted data from IPFS according to the IPFS hash value, and uses the target key to decrypt the encrypted data, including: Obtaining a data access request transmitted by a data request tenant; wherein the data access request at least includes a data name; According to the data access request, query the IPFS hash value uploaded by the data holding tenant from the blockchain to obtain the target IPFS hash value; The encrypted data is obtained from IPFS according to the IPFS hash value, and the encrypted data is decrypted using the target key.
Citation Information
Patent Citations
Data access method and device of multi-tenant system, medium and electronic device
CN114003877A
Multi-tenant authority management device based on block chain
CN115314209A
Data sharing and exchange management system based on block chain
CN117313122A
Cloud storage access control method based on smart contract
CN118381649A
Blockchain tokens as real estate in augmented reality ecosystems
US20240330899A1