Background
Currently, the closest prior art: the Internet of Things (IoT) has raised one of the largest technological waves in recent decades. It is expected that by 2020, 500 billion devices will interconnect to form a network that may cover everything around us. The internet of things will affect billions of people across industrial, commercial, medical, automotive and other applications. The development of the internet of things is so fast that a large number of data objects are generated, however, since the internet of things equipment needs to send sensitive data to the cloud, security measures must be considered to control access to the data, and confidentiality of the data during communication needs to be guaranteed. The traditional encryption mechanism based on public key infrastructure can protect the data confidentiality, but has several major defects that firstly, the security authorization cost of a single node of the Internet of things is large, the security certificate needs to be generated one by one, otherwise, the node identity cannot be verified; secondly, the computing capacity of the nodes of the internet of things is limited, and large-scale computing is needed when public key encryption is used, so that the computing load of the nodes of the internet of things is too large, and the resource consumption of the internet of things is too fast. And thirdly, the nodes in the Internet of things system are deployed with space-time correlation, so that physical copying and stealing cannot be avoided, and the existing mechanism is difficult to eliminate the safe communication after the nodes are damaged. Attribute-based encryption (ABE) is a one-to-many encryption scheme that can be implemented and is widely used in access control systems. However, the ABE requires a large amount of complex operations, which causes a heavy overhead in the encryption process, which is a difficulty in using the ABE in an environment with limited resources, such as the internet of things. Therefore, it is necessary to provide a lightweight secure communication method of the internet of things that supports verifiable outsourcing and revocable based on attributes.
In summary, the problems of the prior art are as follows: the traditional public key encryption mode is not suitable for large-scale encryption of Internet of things equipment, the basic ABE encryption and decryption computation complexity is high, and the dynamic revocation of the user authority is difficult, so that the public key encryption mode is difficult to adapt to the Internet of things environment.
The difficulty of solving the technical problems is as follows: the application of the internet of things urgently needs a mode supporting one-to-many communication to solve the difficulty of large-scale safe communication and the problem of insufficient computing capacity of the internet of things equipment.
The significance of solving the technical problems is as follows: the encryption based on the attributes just can realize one-to-many encryption, and the encryption based on the attributes cannot be directly applied to the environment of the Internet of things due to overlarge computing overhead; the verifiability of outsourcing calculation, the collusion attack of a malicious auxiliary node resistance and the realization of an efficient revocable ABE encryption mode adapt to the dynamic change of participants in the environment of the Internet of things.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides an attribute-based secure communication method of the Internet of things, which can verify outsourcing and revocable.
The invention is realized in such a way that the attribute-based method for supporting the internet of things capable of verifying outsourcing and revoking comprises the following steps:
firstly, initializing a system, and generating a public parameter and a master key;
secondly, the platform distributes an attribute set for the user and generates a decryption private key and a private key component of the user;
step three, randomly generating symmetric key encryption data by the Internet of things equipment, encrypting the symmetric keys by using ABE, partially outsourcing the process, verifying an outsourcing result and realizing final encryption;
fourthly, the user sends a data acquisition request to the platform, the platform decrypts by using a decryption private key of the platform and sends the semi-decrypted data to the user, and if the user is not revoked, the semi-decrypted data is finally decrypted;
and fifthly, revoking the specific user in the system.
Further, the system is initialized, an authorization center, namely an Internet of things platform is initialized, and firstly, a system security parameter lambda and an attribute domain U are selected; two multiplication cyclic groups G of order p are then chosen
1,G
2G is G
1Bilinear mapping of the generator of (1) as e: G
1×G
1→G
2(ii) a Corresponding identity identification is distributed to users in the system, and for each attribute i belonging to U, a random number t is selected
i∈Z
PCalculating
Selecting a random number y ∈ Z
pCalculating public parameters
Y=e(g,g)
yTherein is the master key t
1,...,t
|U|,y。
Further, the platform allocates an attribute set to the user, and generates a decryption private key and a private key component of the user specifically includes: the authorization center firstly distributes an attribute set for each legal user, the user constructs an access structure according to the attribute of the user, and the authorization center generates a corresponding private key component for the user through the access structure of each user. The authority selects a polynomial q for each level of nodes in the access structure
xThe degree d of the polynomial is a threshold k-1, where q is given
r(0) Y, embedding the secret value into the function value of the root node, computing a function value for each node from top to bottom, and then selecting a random number epsilon Z
pComputing private key components of a leaf node when the leaf node is reached
The platform's decryption private key epsilon.
Further, the data are encrypted by using the symmetric key, and the internet of things device randomly generates the symmetric key K to encrypt the data C to be sent, which is EM (K, M).
Further, the internet of things equipment encrypts the symmetric key K by using the ABE specifically as follows: firstly, two random numbers s are selected, r belongs to Zp, wherein s is a larger random number, r is a smaller random number, d1 is s mod r, d2 is (s-d1)/r, and r is divided into different combinations r
a1,r
b1…r
an,r
bnAgainst potential collusion attacks, where r
ai+r
biR; wrapping part of r
aiAnd gamma is sent to different auxiliary nodes to calculate
And
then the temporary result sum is summed with r
aiCorresponding r
biSending the data to different auxiliary nodes together, and obtaining Y through twice calculation
rAnd { T
i r}
i∈γJudging whether the calculation result of the auxiliary node is correct or not by comparing whether the intermediate result calculated by the auxiliary node is consistent or not; if there is a set of intermediate results that are consistent, the calculation is correct, and the final result E' KY can be calculated by the result equipment
r*d2+d1=KY
s,{T
i r*d2+d1}
i∈γ={T
i s}
i∈γ. E ═ KY (γ, C, E ═ KY)
s,{E
i=T
i s}
i∈γ) And sending the data to the Internet of things platform.
Further, the platform of the Internet of things semi-decrypts the data, and the platform uses a decryption private key epsilon to semi-decrypt the encrypted data and EiPerforming an exponential operation to obtain Ei zAnd sending the semi-decrypted data to the user.
Further, the user completes the final decryption, the user carries out decryption after taking the semi-encrypted data and the private key assembly, and if the attribute of the user meets the decryption attribute and the user is not revoked, the user decrypts the data
When recursing to a vertex, since q
r(0)=y,
By solving the symmetric encryption key K, the data M ═ DM (K, C) is decrypted by K.
Further, the specific implementation of the revocation scheme includes: when the decryption right of a specific user needs to be revoked, the platform updates the private key component of the un-revoked user and the platform decryption private key,
when epsilon in E and D is consistent, the calculation is cancelled to obtain
If not, decryption cannot be performed; when the user right is revoked, the encrypted data ciphertext and the ABE encryption structure do not need to be modified.
The invention further aims to provide application of the internet of things secure communication method for supporting verifiable outsourcing and revocable based on the attributes in data encryption of the internet of things.
The invention further aims to provide the internet of things information data processing terminal applying the internet of things safety communication method for supporting verifiable outsourcing and revocable based on the attributes.
In summary, the advantages and positive effects of the invention are: the invention provides a one-to-many encryption mode for the Internet of things, effectively reduces the expense of key distribution and storage, solves the problem of safe communication between large-scale nodes of the Internet of things and users, introduces a new outsourcing scheme, reduces the calculation expense of equipment of the Internet of things, realizes a light-weight safe communication method, realizes the revocable function of the key, and adapts to the dynamic change of participants in the environment of the Internet of things.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
Aiming at the problems in the prior art, the invention provides an attribute-based secure communication method of the internet of things for supporting verifiable outsourcing and revocable, and the invention is described in detail with reference to the attached drawings.
As shown in fig. 1, the method for supporting verifiable outsourcing and revocable secure communication of the internet of things based on attributes provided by the embodiment of the present invention includes the following steps:
s101: initializing a system, and generating a public parameter and a master key;
s102: the platform distributes an attribute set for the user and generates a decryption private key and a private key component of the user;
s103: randomly generating symmetric key encryption data by the Internet of things equipment, encrypting the symmetric key by using ABE, partially outsourcing the process, verifying an outsourcing result and realizing final encryption;
s104: the user sends a data acquisition request to the platform, the platform decrypts by using a decryption private key of the platform and sends the semi-decrypted data to the user, and if the user is not revoked, the semi-decrypted data can be finally decrypted;
s105: revoking a particular user in the system.
The technical solution of the present invention is further described below with reference to the accompanying drawings.
As shown in fig. 2, the method for supporting verifiable outsourcing and revocable internet of things secure communication based on attributes provided by the embodiment of the present invention specifically includes the following steps:
the method comprises the following steps: and (5) initializing the system.
An authorization center, namely an Internet of things platform, is initialized, a system security parameter lambda and an attribute domain U are selected firstly, and then two multiplication cycle groups G with the order of p are selected
1,G
2G is G
1Bilinear mapping of the generator of (1) as e: G
1×G
1→G
2(ii) a Corresponding identity identification is distributed to users in the system, and for each attribute i belonging to U, a random number t is selected
i∈Z
PCalculating
Selecting a random number y ∈ Z
PCalculating public parameters
Wherein is the master key t
1,...,t
|U|,y。
Step two: the platform assigns a set of attributes to the user and generates a decryption private key and a private key component of the user.
The authorization center firstly distributes an attribute set for each legal user, the user constructs an access structure according to the attribute of the user, and the authorization center generates a corresponding private key component for the user through the access structure of each user. The authority selects a polynomial q for each level of nodes in the access structure
xThe degree d of the polynomial is a threshold k-1, where q is given
r(0) Embedding the secret value into the function value of the root node, computing a function for each node from top to bottomNumerical value, then selecting a random number epsilon Z
pComputing private key components of a leaf node when the leaf node is reached
The platform's decryption private key epsilon.
Step three: the data is encrypted using a symmetric key.
The Internet of things equipment randomly generates a symmetric key K to encrypt data C to be sent, wherein the data C is EM (K, M).
Step four: the Internet of things equipment encrypts a symmetric key K by using ABE.
As shown in fig. 3, this step is specifically implemented as follows: firstly, two random numbers s are selected, r belongs to Zp, wherein s is a larger random number, r is a smaller random number, d1 is smodr, d2 is (s-d1)/r, and r is divided into different combinations r
a1,r
b1…r
an,r
bnAgainst potential collusion attacks, where r
ai+r
biR. Wrapping part of r
aiAnd gamma is sent to different auxiliary nodes to calculate
And
then the temporary result sum is summed with r
aiCorresponding r
biSending the data to different auxiliary nodes together, and obtaining Y through twice calculation
rAnd { T
i r}
i∈γAnd judging whether the calculation result of the auxiliary node is correct or not by comparing whether the intermediate result calculated by the auxiliary node is consistent or not. If there is a set of intermediate results that are consistent, the calculation is correct, and the final result E' KY can be calculated by the result equipment
r*d2+d1=KY
s,{T
i r*d2+d1}
i∈γ={T
i s}
i∈γ. E ═ KY (γ, C, E ═ KY)
s,{E
i=T
i s}
i∈γ) And sending the data to the Internet of things platform. The outsourcing mode provided by the invention can quickly realize outsourcing calculation and reduceThe communication overhead is low, and collusion attack of semi-trusted auxiliary nodes can be resisted.
Step five: and the Internet of things platform semi-decrypts the data.
The platform uses the decryption private key epsilon to semi-decrypt the encrypted data, pair EiPerforming an exponential operation to obtain Ei εAnd sending the semi-decrypted data to the user.
Step six: the user completes the final decryption.
The user carries out decryption after taking the semi-encrypted data and the private key assembly, and if the attribute of the user meets the decryption attribute and the user is not revoked, the user can decrypt
When recursing to a vertex, since
The symmetric encryption key K can be solved by this formula, and then the data M ═ DM (K, C) can be decrypted by K.
As shown in fig. 4, the revocation scheme of the present invention is specifically implemented as follows: when the decryption right of a specific user needs to be revoked, the platform updates the private key component of the un-revoked user and the platform decryption private key,
when epsilon in E and D are consistent, the calculation can cancel it out
If not, decryption cannot be performed. In the invention, when the user right is revoked, the encrypted data ciphertext and the ABE encryption structure do not need to be modified, thereby reducing the cost of the methodThe computational overhead of the platform.
The application effect of the present invention will be described in detail with reference to the simulation.
1. Simulation conditions
The simulation environment is as follows: the notebook is configured by Intel (R) core (TM) i5-3210M CPU @2.50GHz8.00GBRAM, and the operating system is 64-bit Windows 7. Based on an eclipse tool, the implementation language is Java.
2. Content and result analysis of guidelines
The method of the invention is adopted to outsource encryption, the result is shown in figure 5, the number of auxiliary nodes is fixed in the simulation process, the encryption time is calculated by changing the credible proportion of the auxiliary nodes, the simulation process has randomness, and therefore, the average value of multiple test results is used as the final result. The time consumed by the encryption of the auxiliary node in the encryption process is much longer than the time consumed by the encryption of the equipment, and the higher the credibility ratio of the auxiliary node is, the less time is consumed. The encryption time of the internet of things equipment is about 150ms, the encryption time is specifically dependent on the number of times of verifying the outsourcing result, when the credibility ratio of the auxiliary node is higher, the number of times of verification is smaller, the number of times of encryption of the auxiliary node is smaller, and the overall encryption time is shorter. Because the complex calculation is outsourced to the auxiliary node, the equipment of the Internet of things only needs to verify whether the result is correct and calculate the final result, and the calculation cost of the equipment of the Internet of things is greatly reduced.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.