Professional Documents
Culture Documents
A Secure and Verifiable Access Control Scheme For Big Data Storage in Clouds
A Secure and Verifiable Access Control Scheme For Big Data Storage in Clouds
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 1
Abstract—Due to the complexity and volume, outsourcing ciphertexts to a cloud is deemed to be one of the most effective approaches
for big data storage and access. Nevertheless, verifying the access legitimacy of a user and securely updating a ciphertext in the cloud
based on a new access policy designated by the data owner are two critical challenges to make cloud-based big data storage practical
and effective. Traditional approaches either completely ignore the issue of access policy update or delegate the update to a third party
authority; but in practice, access policy update is important for enhancing security and dealing with the dynamism caused by user join
and leave activities. In this paper, we propose a secure and verifiable access control scheme based on the NTRU cryptosystem for big
data storage in clouds. We first propose a new NTRU decryption algorithm to overcome the decryption failures of the original NTRU,
and then detail our scheme and analyze its correctness, security strengths, and computational efficiency. Our scheme allows the cloud
server to efficiently update the ciphertext when a new access policy is specified by the data owner, who is also able to validate the
update to counter against cheating behaviors of the cloud. It also enables (i) the data owner and eligible users to effectively verify the
legitimacy of a user for accessing the data, and (ii) a user to validate the information provided by other users for correct plaintext
recovery. Rigorous analysis indicates that our scheme can prevent eligible users from cheating and resist various attacks such as the
collusion attack.
Index Terms—Big Data Storage; Access Control; the NTRU Cryptosystem; Secret Sharing; Access Policy Update; Cloud Computing.
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 2
resistance. The NTRU cryptosystem is a type of lattice-based 2 M OTIVATION AND R ELATED W ORK
cryptography [23]–[25], and its security is based on the shortest
vector problem (SVP) in a lattice [26]. The major advantages of 2.1 Motivation
NTRU are quantum computing attack resistance and lighting fast
computation capability. However, NTRU suffers from the problem In this information era, companies and organizations are facing a
of decryption failures [27]–[30]. challenging problem of effectively managing their complex data.
The considerations mentioned above motivate us to develop a As the development of cloud storage, outsourcing the data to a
verifiable access control scheme for securing the big data stored in cloud is an appropriate approach. Generally speaking, clouds can
clouds, tackling the challenges of the following security services: be classified into two major categories: i) public clouds with each
being a multi-tenant environment shared with a number of other
• Security. The proposed scheme should be able to defend tenants, and ii) private clouds with each being a single-tenant
against various attacks such as the collusion attack. Mean- environment dedicated to a single tenant. For example, the IBM
while, access policy update should not break the security cloud was proposed as a public one for the data management of
of the data storage, disclose sensitive information about banking [31]. When a bank stores its data in the could server as
the data owner, and cause any new security problem. shown in Fig. 1, only its legal staff members have the rights to
• Verification. When a user needs to decrypt a stored ci- access the stored data. Typically the bank system contains many
phertext, its access legitimacy should be verified by other sensitive and private consumer information. In order to reduce
participating users and the secret shares obtained from the risk of information leakage, the access right of an employee
other users must be validated for correct recovery. should be properly restricted, and a single employee should not
• Authorization. To reduce the risk of information leakage, be allowed to reveal the data by itself without obtaining the
a user should obtain authorization from the data owner for authorization from other users; that is, recovering the data requires
accessing the encrypted data. to get the authorization of multiple employees. Moreover, the bank
In this paper, we first propose an improved NTRU cryptosys- should be able to update the access policies for the stored data in
tem to overcome the decryption failures of the original NTRU. a dynamic and efficient manner. Similarly, military applications
Then we design a secure and verifiable scheme based on the can utilize a private cloud to store their complex data as shown
improved NTRU and secret sharing for big data storage. The cloud in Fig. 2. Since the data is confidential, a military member, who
server can directly update the stored ciphertext without decryption needs to access the data, must pass the verification of its legitimacy
based on the new access policy specified by the data owner, who is and receive the authorization from multiple relevant departments.
able to validate the update at the cloud. The proposed scheme can Besides, the military should be able to dynamically and efficiently
verify the shared secret information to prevent users from cheating update its access polices based on the changing requirements.
and can counter various attacks such as the collusion attack. It Such applications usually require the data to be stored in a
is also deemed to be secure with respect to quantum computing cloud in ciphertext format, and the access of the data by a user
attacks due to NTRU. The multi-fold contributions of the paper requires multiple other users to verify the access legitimacy of the
can be summarized as follows: user. Therefore in this paper we propose a secure and verifiable
access control scheme for big data storage to tackle the following
• We propose a new NTRU decryption procedure to over-
challenges: i) how to securely store the data in a cloud server
come the decryption failures of the original NTRU without
and distribute the shares of the access right to all legitimate
reducing the security strength of NTRU.
users of the data? ii) how to verify the legitimacy of a user for
• We propose a secure and verifiable access control scheme
accessing the data? iii) how to recover the plaintext data when the
to protect the big data stored in a cloud. The scheme
access right needs to be jointly granted by multiple users? and
can verify a user’s access legitimacy and validate the
iv) how to dynamically and efficiently update the ciphertext in
information provided by other users for correct plaintext
the cloud when the access policy of the data is changed by the
recovery.
data owner? To overcome these challenges, we make use of the
• We devise an efficient and verifiable method to update
following techniques in the design of our secure and verifiable
the ciphertext stored in clouds without increasing any risk
access control scheme for big data storage. First, a plaintext data
when the access policy is dynamically changed by the data
is bound to a secret that is shared by all legitimate users of
owner for various reasons.
the data based on (t, n)-threshold secret sharing, and a message
• We prove the correctness of the proposed scheme and
certificate is computed for the data based on the NTRU encryption;
investigate its efficiency and security strength. Particularly,
the ciphertext is produced from both the shared secret and the
we demonstrate that our scheme can resist various attacks
message certificate. Second, the legitimacy of a user for accessing
such as the collusion attack via a rigorous analysis.
the data is verified by both the data owner and at least t − 1
The rest of the paper is organized as follows. Section 2 other legal users of the data, and the information provided by
introduces the motivation and the related work. Section 3 presents other users for the plaintext recovery needs to be validated by
our system model, security model, and the preliminary knowledge the user to prevent against cheating behaviors. Third, the plaintext
employed by our scheme. Section 4 proposes an improved NTRU data can be obtained when at least t − 1 other users participate
cryptosystem to overcome the decryption failures of the original in the recovery process and provide correct information for the
NTRU cryptosystm. Section 5 details our secret sharing based data recovery, based on (t, n)-threshold secret sharing. Last, the
scheme for big data storage in clouds. The correctness, security access policy of the data and the secret shares bound to the data
properties, and performance of our proposed scheme are elabo- can be dynamically changed by the data owner, and the update of
rated in Section 6. Conclusions and future work are discussed in the ciphertext is conducted by the cloud server without the need
Section 7. of downloading the previous ciphertext from the cloud to the data
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 3
required by the data and encrypt the data based on the access
files
music
policies. By this way the data owners are able to ensure that only
Bank Bank
Public
pictures
the users meeting the access policies can decrypt the ciphertexts.
Cloud
documents video
However, it is difficult to update the policies when these ABE
based schemes are applied because the data owners do not store
the data in their local systems once they outsource the data into
the cloud servers. It is also difficult to verify the legitimacy
Employees Employees
of the downloaded data as the clouds housing the data are not
trustworthy. Besides, the operations of encryption and decryption
Fig. 1. An example application of big data storage in banking.
in ABE have a high computational overhead and incur a large
energy consumption.
audio
files Secret sharing [45] is another powerful technique to protect the
Private pictures
big data in cloud storage. The most related work to our proposed
Cloud
documents video
scheme are [15] and [14], whose verification procedure can resist
potential attacks such as collusion and cheating. In [15], two
schemes were proposed, namely Scheme-I and Scheme-II, based
on the homogeneous linear recursion and the RSA cryptosystem,
in which the homogeneous linear recursion is used to construct the
secret share and reconstruct the secret, and RSA is used to verify
the users’ access legitimacy. The difference between these two
schemes lies in that the users in Scheme-I mutually verify each
Military Military Members other’s legitimacy without seeking help from public values while
in Scheme-II the users need the help of public values. In [14], the
Fig. 2. An example application of big data storage in military. authors presented a verifiable multi-secret sharing scheme based
on cellular automata, which is used to construct the secret share
and reconstruct the secret with a linear computational complexity,
owner. Meanwhile, the data owner is able to verify whether the
and the RSA cyptosystem, which is used for verification. In
ciphertext stored in the cloud is correctly updated.
these schemes, as multiple users mutually verify each other using
multiple RSA operations, a very high computational overhead
2.2 Related Work occurs. In addition, the classic asymmetric crypto solutions would
Because big data frequently contains a huge amount of personal be broken by quantum computing; that is, these traditional veri-
identifiable information, how to securely store the data and how fication methods cannot satisfy the verification requirements with
to provide access control over the stored data are two biggest respect to quantum computing, which is made closer to reality by
challenges [32]. In this subsection, we mainly summarize the state- IBM in 2015 [22]. Thus we need to seek new verification methods
of-the-art of securing the big data stored in clouds. to meet the future requirements. For this purpose, we utilize the
Outsourcing to clouds is one of the most popular approaches to NTRU cryptosystem to counter the quantum computing attacks in
securing the big data storage [33]–[35], in which the data owners the design of our proposed scheme.
encrypt their data based on cryptographic primitives and store the Delegation is a popular approach for policy update. In [7], a
encrypted data to the clouds. In outsourcing, a secure mechanism user generates a new private key using its previous private key, and
should be established between a data owner and a cloud. In order then delegates the new private key to a local authority for access
for the cloud to perform operations over the encrypted data, “Ful- policy update. In [46], a procedure called “ciphertext delegation”
ly Homomorphic Encryption” (FHE) [36] was usually adopted, was designed for the third party to ‘re-encrypt’ the ciphertext to
which allows direct addition and multiplication operations over a more restrictive policy using only public information. These
the ciphertexts while preserving decryptability. Homomorphic two approaches cannot satisfy our security requirements because
encryption was also applied to guarantee the security of data they delegate the private key/ciphertext for a new access policy
storage [37], [38]. Nevertheless, it is an immature cryptosystem, that is more restrictive than the old one - in our perspective, the
and is extremely inefficient in practice, which renders it hardly access policy to a ciphertext might need to be relaxed as time goes
applicable in real world applications. Securely outsourcing big for many real world applications. Therefore in our design, we
data computations to the clouds was also extensively studied [39]– allow the new access policy designated by the data owner to be
[41] but this topic is out of the scope of the paper. independent than the previous one, and the ciphertext is updated
Adequate access control is key to protect the stored data. by the cloud based on the new access policy.
Access control has traditionally been provided by operating sys-
tems or applications restricting access to the information, which
3 M ODELS AND P RELIMINARIES
typically exposes all the information if the system or application is
hacked [42]. A better approach is to protect the information using 3.1 System Model
encryption that only allows decryption by authorized entities. We consider a cloud storage system that is applicable for both
Attribute-Based Encryption (ABE) [4], [7], [8], [10], [11] is one of public and private clouds as shown in Fig. 3. It consists of
the most powerful techniques for access control in cloud storage the following three types of entities: cloud server, data owner
systems. In the past years, quite a few attribute-based access (owners), and data user (users).
control schemes [19], [20], [43], [44] were proposed, in which Cloud server. A cloud server provides spaces for data owners
the data owners define the access policies based on the attributes to store their outsourced ciphertext data that can be retrieved by
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 4
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 5
NTRU implements the following three basic functions. For component of F (x) - i.e., s = F (0). Then, in the second step, the
better presentation, we use Alice and Bob to represent the two dealer transmits to each Ui a shared secret si = F (xi ), where xi
entities for encrypting and decrypting a message. is a random number selected by Ui for sharing the secret s and is
sent to the dealer via the secure channel protected by the shared
• Key Generation: To create his public and private keys, Bob
key ki .
randomly chooses two polynomials g ∈ Lg and f ∈ Lf ,
We now show how t or more users can cooperate to recover
in which f is his private key and is required to have inverse
s by sharing the secrets received from the dealer. Without loss of
modulo q and inverse modulo p. Let fq and fp respectively
generality, let U1 , . . . , Ut be the cooperating users. These t users
denote the inverse modulo q and the inverse modulo p of
can reconstruct the secret s = F (0) from s1 = F (x1 ), . . . , st =
f , which are formally defined as follows:
F (xt ) by computing
fq ∗ f = 1 (mod q) and fp ∗ f = 1 (mod p). (3)
t
X Y 0 − x i
For any properly selected f , it is easy to compute fq and s = F (0) = sj . (9)
x j − x i
fp via the Euclidean algorithm. Then Bob computes his j=1 i∈[1,n],i6=j
public key h according to (4), and publishes his public
Note that the cumulative product in (9) is essentially the Lagrange
parameters {p, q, h}.
coefficient. The correctness of (9) can be easily verified based on
h = fq ∗ g (mod q). (4) the definition of F (x).
In secret sharing, a user may cheat when recovering the secret
• Encryption: Assume that Alice wants to send a message s. For example, a user Ui may provide an incorrect si , making the
m to Bob, she needs to first convert m into a polynomial recovery of s fail. In order to overcome this problem, verifiable
in Lm . For simplicity, we use m to denote the polynomial secret sharing schemes [13]–[15] have been proposed, which are
representation of m in Lm too. Then she randomly choos- mainly based on the RSA cryptosystem that incurs high computa-
es a polynomial φ ∈ Lφ , encrypts m using Bob’s public tional overhead. In this paper, we propose a new validation method
key h according to (5), and sends the encrypted message to prevent a user from submitting fake information for the correct
e to Bob. message recovery based on the NTRU cryptosystem.
e = pφ ∗ h + m (mod q). (5)
• Decryption: Bob receives the encrypted message e from
Alice, and decrypts it using his private key f and the
4 A N I MPROVED NTRU C RYPTOSYSTEM
inverse of f module p, i.e., fp , via (6) and (7). As reported in Section 3.3.1, there exist two types of decryption
failures in NTRU: the Wrap failure and the Gap failure. In other
a = e ∗ f (mod q). (6) words, the decryption process of NTRU cannot always output a
m = a ∗ fp (mod p). (7) correct decrypted message. To overcome this problem, we propose
an improved NTRU crytosystem in this section. To proceed, we
Remarks: In NTRU, if the system parameters are properly select- first analyze the reasons of the decryption failures in the original
ed, the probability of correctly recovering the plaintext message is NTRU. When a ciphertext e = pφ ∗ h + m (mod q) is received,
extremely high; otherwise, the probability of decryption failures it is decrypted according to the following two steps:
is extremely high. There are two types of decryption failures:
the Wrap failure and the Gap failure, which will be discussed 1) Compute a = e ∗ f (mod q);
in Section 4. 2) Calculate m0 = a ∗ fp (mod p).
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 6
Next, we present how to select the adjusting vectors Algorithm 1 The Improved NTRU Decryption
{c(1) , c(2) , · · · , c(τ ) }. Consider any ai ∈ a. Let γ = b |ai|
q/2 c.
1: Input: cipher text e, secret key {f, fp }.
There are two cases: 2: Output: plaintext m;
3: The decryptor computes a = e ∗ f ;
• Case 1: If ai ≥ 0, it can be denoted by ai = q−1 2 γ + 4: Γ = max{| max0≤i≤N −1 {ai }|, | min0≤i≤N −1 {ai }|};
(γ+1) (γ+1)
ci , where 0 ≤ ci < 2q . There are two sub-cases: Γ
5: τ = b q/2 c;
6: If τ = 0
– Case 1-1: If γ = 0, we have a0i = ai ; then set
(1) (2) (3) (τ ) 7: m = a ∗ fp (mod p).
ci = ci = ci = · · · = ci = 0.
(1) (2) 8: Else
– Case 1-2: If γ ≥ 1, set ci = ci = · · · = 9: For 0 ≤ i ≤ N − 1,
(γ) (γ+2) (τ )
ci = q−1 2 and ci = · · · = ci = 0; then 10: Compute γ = b q/2
|ai |
c;
(1) (2) (γ) (γ+1)
a0i = ai − ci − ci − · · · − ci = ci . 11: If γ = 0
(1) (2) (τ )
12: a0i = ai and ci = ci = · · · = ci = 0;
• Case 2: If ai < 0, it can be denoted as ai = − q−1
2 γ +
(γ+1) (γ+1) 13: Else If ai ≥ 0
ci , where − 2q < ci < 0. There also exist two a0i = ai − q−1
14: 2 γ;
sub-cases: (1) (2) (γ)
15: ci = ci = · · · = ci = q−1 2 ;
(1)
– Case 2-1: If γ = 0, we have a0i = ai ; set ci = 16:
(γ+1)
ci = a0i ;
(2) (3) (τ ) (γ+2) (τ )
ci = ci = · · · = ci = 0. 17: ci = · · · = ci = 0;
(1) (2) (γ)
– Case 2-2: If γ ≥ 1, set ci = ci = · · · = ci = 18: Else
(γ+2) (τ )
q−1
− 2 and ci = · · · = ci = 0; then we have 19: a0i = ai + q−1
2 γ;
(1) (2) (γ) (γ+1) (1) (2) (γ)
0
ai = ai − ci − ci − · · · − ci = ci . 20: ci = ci = · · · = ci = − q−1 2 ;
(γ+1)
After applying the above process to all ai ’s, we obtain a0
21: ci = a0i ;
(γ+2) (τ )
whose elements are guaranteed to be in (− 2q , 2q ). Then the 22: ci = · · · = ci = 0;
decryption procedure can be formalized by the following four 23: EndIf
steps: 24: EndFor
25: m0 = a0 ∗ fp + c(1) ∗ fp + · · · + c(τ ) ∗ fp (mod p);
1) Compute a = e ∗ f ; 26: EndIf
2) Calculate the adjusting vectors c(1) , c(2) , · · · , c(τ ) ac- 27: Output plaintext m0 .
cording to the procedure described above;
3) Compute a0 = a − c(1) −P c(2) − · · · − c(τ ) ;
0 0 τ
4) Compute m = a ∗ fp + j=1 c(j) ∗ fp (mod p). Theorem 2. The improved NTRU cryptosystem does not reduce
the security strength of the original NTRU.
Note that the adjusting vectors c(1) , c(2) , · · · , c(τ ) can guar-
antee that any value in a0 is in (− 2q , 2q ); therefore the modular Proof Our improved NTRU cryptosystem consists of the origi-
q operation in the first step of the original NTRU decryption is nal encryption and the proposed improved decryption algorithm.
not needed. The plaintext message m can be correctly recovered Thus, proving this theorem is equivalent to showing that our
in the last step because a0 ∗ fp = pφ ∗ h ∗ f ∗ fp + m ∗ f ∗ improved decryption cannot reduce the security strength of the
fp − c(1) ∗ fp − c(2) ∗ fp − · · · − c(τ ) ∗ fp = m ∗ f ∗ fp − original NTRU. This can be analyzed from the following two
c(1) ∗ fp − c(2) ∗ fp − · · · − c(τ ) ∗ fp (mod p). The pseudo- aspects. First, similar to the original NTRU, our improved NTRU
code of the improved NTRU decryption is presented in Algorithm is also based on the shortest vector problem (SVP) in a lattice.
1. Combining with the original NTRU encryption we obtain an Second, the improved decryption gets rid of the Gap failure and the
improved NTRU cryptosystem that can successfully get rid of the Wrap failure to correctly recover the original message m without
two types of decryption failures. revealing any sensitive information as the decryptor computes the
Theorem 1. The improved NTRU cryptosystem correctly over- adjusting vectors and keeps them to itself, which implies that
comes the Wrap failure and the Gap failure in the decryption the improved decryption procedure is as secure as the original
procedure of the original NTRU. NTRU decryption. Therefore we claim that the improved NTRU
cryptosystem does not reduce the security strength of the original
Proof According to [48] and our own analysis mentioned above, NTRU.
one can see that the root cause of the Gap failure and the Wrap
An instance of decryption failure of the original NTRU
failure in the original NTRU decryption is that |ai | ≥ q/2 exists
cryptosystem is shown in Appendix. We also demonstrate that
for some ai in a = e ∗ f . Our improved NTRU decryption
the improved NTRU cryptosystem can successfully decrypt the
procedure first computes a0 from a to ensure that − 2q < a0i < 2q
ciphertext for the same example.
for ∀a0i ∈ a0 . Then the original message m is recovered by
computing a0 ∗ fp + c(1) ∗ fp + · · · + c(τ ) ∗ fp (mod p).
Considering the four steps of the improved NTRU decryption, 5 T HE P ROPOSED S CHEME
we notice that the first three steps can guarantee that no Gap or Let B be the set of users that are eligible to access the outsourced
Wrap failure occurs during the computation of a0 . The last step re- sensitive data in the cloud. Assume that Ui ∈ B is a user who
covers m from a0 and the adjusting vectors {c(1) , c(2) , · · · , c(τ ) }, needs to use the data. According to the access policy, at least
which does not introduce the Gap failure and the Wrap failure. t − 1 other users in B should participate in the processes of
This completes the proof. verifying Ui ’s eligibility and obtaining the data for Ui . To achieve
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 7
this objective, we propose a secure and verifiable access control If the two conditions hold true for Ui , the data owner calculates
scheme for the big data storage in a cloud server in this section. H(idi ||ri ) and generates the sub-key xi for Ui using (11). Then
Our scheme consists of the following four stages: i) Setup: the data the data owner securely broadcasts {idi , xi , H(idi ||ri )} to all the
owner initializes the system to generate the public and private keys users in B .
via the improved NTRU cryptosystem; ii) Construction: the data t−1
X
owner generates a sub-key for each user in B , produces a message xi = b(ri ) = bj · (ri )j . (11)
certificate for each message, and stores the data securely in the j=0
cloud server; iii) Reconstruction: the user Ui and t − 1 other users
in B mutually verify each other and work together to help Ui 5.2.2 Message Certificate Construction
reconstruct the data; iv) Policy update: the cloud server instead of In order to validate the users in B for their legitimacy of
the data owner updates the encrypted data with a new policy if accessing the data in S and to prevent against the cheating
needed. behaviors of the users, the data owner computes a certificate for
each message in S according to the following procedure: the
5.1 Setup data owner first randomly chooses the parameters φ ∈ Lφ and
e = {e1 , · · · , ej , · · · , eM }, where ej ∈ Z[X]/(X N − 1); then
A data owner has a set of messages S = {S1 , S2 , ..., SM } for
it generates the certificate (ej , dj ) for message Sj ∈ S by (12),
cloud storage, with M being the total number of messages in S .
where 1 ≤ j ≤ M ,
At the setup stage, the data owner generates its public key h and
private key f according to the improved NTRU cryptosystem and dj = pφ ∗ f + ej (mod q); (12)
then initializes the system according to the process presented in
Algorithm 2. and finally, the data owner publishes e =
{e1 , e2 , · · · , ej , · · · , eM } to all users in B .
Algorithm 2 Initialization
1: Chooses three integer parameters (N, p, q) satisfying
5.2.3 Data Encryption
gcd(p, q) = 1 and q > p;
2: Chooses four sets Lf , Lg , Lφ , Lm of polynomials of degree Before outsourcing the data to the cloud server, the data owner
N − 1 in R with integer coefficients; computes a set of ciphertexts K = {k1 , k2 , · · · , kj , · · · , kM }
3: Generates the key pair (f, h) according to the improved for the messages in S = {S1 , S2 , · · · , Sj , · · · , SM } according
NTRU cryptosystem, where f is the private key and h to (13), where kj is the ciphertext of Sj .
is the corresponding public key;
4: Selects two one-way hash functions H1 and H ; kj = Sj ⊕ H(b0 ∗ dj ). (13)
5: Publishes {p, q, h} and the selection criteria of {Lφ , Lm }.
Then the data owner keeps H1 (Sj ) to itself and stores kj , j =
1, 2, · · · , M , in the cloud server.
The construction operations in Section 5.2.1, 5.2.2 and 5.2.3
5.2 Construction are shown in Algorithm 3.
The data owner constructs a sub-key for each legitimate user in
B , generates a certificate for each message in S , and stores the
encrypted data into the cloud server. 5.3 Message Reconstruction
Assume that a user Ui ∈ B needs to get the message/data Sj .
5.2.1 Sub-Key Construction It downloads kj from the cloud server and then seeks help from
The data owner randomly generates t different integers other users in B to decrypt kj . This procedure consists of the
b0 , b1 , · · · , bt−1 , where bj ∈ Z[X]/(X N − 1) for j = following three stages: i) Exchange certificate computation: Ui
0, 1, · · · , t − 1, and uses them as coefficients to construct the gets Sj ’s message certificate from the data owner and computes
following t − 1 degree polynomial b(x): an exchange certificate. ii) Certificate verification: other users in B
and Ui mutually validate each other. iii) Message reconstruction:
t−1
X Ui reconstructs the message Sj .
b(x) = b0 + bj xj . (10)
j=1
5.3.1 Exchange Certificate Computation
Each user Ui chooses a random integer ri , encrypts ri using the
data owner’s public key h to get the ciphertext vi = pφ ∗ h + Ui sends a request to the data owner to obtain Sj ’s message
ri (mod q), and then sends {idi , H(ri ), vi } to the data owner. certificate dj . Upon receiving this request, the data owner encrypts
When the data owner receives the ciphertext vi , it decrypts it dj using Ui ’s secret number ri based on AES as shown in (14).
using its private key f to get the plaintext ri0 . Then the data owner
Cdj = AESri (dj ). (14)
checks the following two conditions: i) H(ri0 ) = H(ri ) for the
user Ui ; and ii) ri 6= rσ for the user Ui and any user Uσ who
Upon receiving the ciphertext Cdj from the data owner, Ui
has received a sub-key from the data owner. If condition i) cannot
first decrypts Cdj to obtain dj . Then, it uses its sub-key xi to
hold, the message is falsified during transmission and it could be
compute the exchange certificate Wij via (15) and sends Wij to
sent again; if condition ii) cannot hold, the data owner requests
other users in B .
the user Ui to choose a different secret number and repeat the
procedure to compute a sub-key for Ui . Wij = xi ∗ dj . (15)
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 8
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 9
6.1 Correctness Proof According to Section 5.4, the data owner re-generates the
t0 integers {b00 , b01 , ..., b0t0 −1 } that are used as the coefficients of
Theorem 3. A user Ui ∈ B who needs the data Sj and each of the polynomial b0 (x), the new access policy, and computes the
the other users in B can verify each other to help Ui recover j
intermediate value kiv = H(b0 ∗ dj ) ⊕ H(b00 ∗ d0j ) based on the
the message Sj .
values of b0 , dj , b0 , and d0j by (18). Then the data owner sends
0
j
Proof After receiving dj from the data owner, Ui generates its the intermediate value kiv to the cloud server, which updates the
exchange certificate Wij = xi ∗ dj and sends Wij to the other encrypted data in the cloud via (19) as follows.
users in B. Any user Uσ ∈ B can verify the exchange certificate j
kj0 = kj ⊕ kiv
Wij by computing xi ∗ej and checking whether it is equal to Wij .
j
If Wij does equal xj ∗ ej , Uσ concludes that Ui holds the correct = Sj ⊕ H(b0 ∗ dj ) ⊕ kiv
message certificate dj , which implies that Ui is the legitimate user = Sj ⊕ H(b0 ∗ dj ) ⊕ H(b0 ∗ dj ) ⊕ H(b00 ∗ d0j )
of Sj . Such a verification process is supported by the following = Sj ⊕ H(b00 ∗ d0j )
derivation:
Then, the cloud server sends kj0 back to the data owner who can
Wij = xi ∗ dj
verify the correctness of the policy update result via (20).
= xi ∗ (pφ ∗ f + ej ) mod p
= xi ∗ e j 6.2 Security Analysis
If Uσ verifies Ui to be a legitimate user of Sj , it sends its The security of our scheme is based on the NTRU public key
{idσ , rσ } to Ui . After receiving {idσ , rσ }, Ui calculates H 0 = cryptosystem [26] and the Shamir’s secret sharing scheme [45].
H(idσ ||rσ ) and checks against its local copy of H(idσ ||rσ ) - In this section, we analyze the security strength of our proposed
recall that the data owner broadcasts the H(id||r) value of each scheme by examining how it can defend against several major
user in B to all other users in B during the sub-key construction attacks.
stage. If they are equal, Uσ provides the correct rσ for the recovery
of Sj ; otherwise, Uσ cheats and it’s rσ value will not be used for 6.2.1 Attack Resistance
the reconstruction of Sj . Attack 1: A plotter E (not in B ) may try to reveal the message
Sj from kj without knowing any information about t users.
Theorem 4. A user Ui in B can reconstruct a message Sj via
Analysis: If the plotter E intends to re-
(17) if there exist at least t − 1 other users in B satisfying the
cover theP message Sj from kj by computing
following two conditions: i) each of the t − 1 users can verify
kj ⊕ H(( Ui ∈B xi ΠUi ∈B,Uσ 6=Ui rσr−r σ
) ∗ dj ), it has to
that Ui is a legitimate user of Sj ; and ii) each of the t − 1 i
(i) get dj from the data owner of Sj and pass the verification
users can be verified by Ui to provide the correct sub-key
by at least t users in B ; and (ii) obtain the secret numbers
information.
{r1 , r2 , · · · , rt } from the t users. To get dj from the data owner,
Proof Without loss of generality, we denote by U1 , U2 , ..., Ut−1 E needs a shared secret with the data owner to prove that it
the t − 1 users with each being able to verify the legitimacy of Ui is a legal user of Sj ; to get rσ from Uσ , E needs to pass the
and each being verified by Ui for providing the correct r values. verification by Uσ , which again needs dj for the computation of
This implies that Ui holds the correct message certificate dj and the exchange certificate. As sharing a secret with the data owner
the correct {idσ , rσ } of user Uσ , where σ = 1, 2, · · · , t−1. Thus is a proof of legitimacy, it is impossible for E to get dj ; thus the
Ui can obtain the following result: plotter E cannot recover Sj .
X Y rσ Attack 2: The users in B may cheat to fail data recovery.
( xi ) ∗ dj Analysis: The cheating behaviors can be prevented during data
Ui ∈B Uσ ∈B,Uσ 6=Ui
rσ − ri
recovery according to Theorem 3. Let Ui be the user who would
X Y rσ like to get Sj . (i) If Ui cheats, it provides a wrong exchange
= ( xi ) ∗ dj
Ui ∈B Uσ ∈B,Uσ 6=Ui
rσ − ri certificate Wij , which can be identified by any other honest user
X Y rσ in B when verifying the legitimacy of Ui on Sj ; (ii) If Uσ provides
= ( b(ri ) ) ∗ dj . an incorrect secret number rσ to a legal user Ui for the recovery
U ∈B U ∈B,U 6=U
rσ − ri
i σ σ i
of Sj , it can be detected because Ui holds a local copy of the
correct H(idσ ||rσ ), which is broadcast by the data owner during
Since
the sub-key construction process. Therefore, our proposed scheme
b0 ∗ dj = b(0) ∗ dj can prevent users from cheating.
X Y rσ Attack 3: The users in B may collude.
= ( b(ri ) ) ∗ dj ,
rσ − ri Analysis: Our scheme can resist the following type of collu-
Ui ∈B Uσ ∈B,Uσ 6=Ui
sion attack: t − 1 or less number of users in B collude to recover
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 10
!tb
TABLE 2
The comparisons among [15]’s Scheme-I and Scheme-II, [16] scheme and our scheme.
the message Sj . From (13), we know that the users should obtain the RSA encryption is O(N 3 ), the computational complexities
b0 and dj in order to decipher the message. Nevertheless, since the of these three schemes are also O(N 3 ). Our proposed scheme
security of our proposed scheme is guaranteed by (t, n)-threshold is based on the NTRU cryptosystem whose security is based on
secret sharing, it is impossible for any t − 1 or less number of the SVP hardness in lattice. Its encryption process only requires
users to obtain b0 . add and shift operations without involving any multiplication. By
Attack 4: An attacker intends to forge Wij . employing the Fast Fourier transform (FFT), the encryption and
Analysis: In order to forge Wij , which is defined to be xi ∗ decryption of NTRU can be performed within O(N log N ).
(pφ ∗ f + ej ) according to (12) and (15), the attacker has to obtain Message Reconstruction: In [15] and [16], recovering a
f , the private key of the data owner. However, it is impossible for plaintext message involves a linear computational complexity of
the attacker to get f as f is generated according to the NTRU O(N ). In our scheme, the message is recovered by a Lagrange
cryptosystem, which is proved to be secure. interpolation polynomial with a computational complexity of
Theorem 6. The data owner can only decrypt its own ciphertexts O(N log2 N ), which is slightly larger than those of the schemes
stored in the cloud server. in [15] and [16].
Remark: The schemes in [15] and [16] and our proposed
Proof Although a data owner can obtain any ciphertext from the scheme all require a secure channel to transmit the messages.
cloud server, it cannot decrypt the ciphertext encrypted by other However, the secure channels of [15] and [16] are established
data owners. This claim can be proved as follows. by the asymmetric cryptosystem RSA, while our scheme employs
Without loss of generality, assume the data owner Di down- the symmetric cryptosystem AES, which has a much lower com-
0 putational overhead.
loads the ciphertext kD j
generated by the data owner Dj , where
0 0 D D 0
kD j
= SD j
⊕ H(b0 j ∗ dj j ). To obtain the plaintext SD j
, Di 6.3.2 Dynamic Update
Dj Dj Dj
needs to compute H(b0 ∗ dj ). However, the values of b0 is Our proposed scheme allows the dynamic update (refresh, insert,
securely chosen by Dj , which can be recovered only by t or more delete) of the information regarding the users and the messages.
0 D
legal users of SD based on secret-sharing, and the value of dj j is
j
Dj
• Insert a New Message. When a data owner needs to store
computed by Dj from ej , which can be securely obtained from a new message Snew into the cloud server, it generates
0
Dj only when a legal user of SD j
requests from Dj and proves the certificate (enew , dnew ) for Snew by (12), encrypts
its legitimacy to Dj via the shared secret between the user and Snew to obtain the ciphertext knew via (13), computes
D D
Dj ; therefore Di cannot figure out the correct b0 j and dj j as H1 (Snew ), and then stores knew in the cloud server.
0
it cannot prove its legitimacy with respect to the data SD j
. Thus • Delete an Old Message. When a data owner needs to
a data owner can only decrypt its own ciphertexts stored in the delete a message Sdel , it sends an authenticated request
cloud server. to the cloud server. Upon receiving the request, the cloud
server deletes the ciphertext of Sdel .
6.3 Performance Analysis • A New User Joins. When a new user Unew joins the
system, the data owner first verifies its legitimacy of
6.3.1 Computational Complexity accessing its data; then it computes the sub-key xnew for
In this section, we analyze the computational complexity of the legal user Unew according to (11), and publishes xnew
our proposed scheme and compare it with those of the three to all users in B .
schemes proposed in [15] and [16]. Note that our analysis will • Remove a User. When a data owner wants to prevent a
be focused on the processes of certificate verification and message user in B from accessing its data, it updates its access
reconstruction as other processes incur very low computational policy according to the policy update procedure proposed
overhead that can be ignored. The two schemes Scheme-I and in Section 5.4 and computes a new sub-key for each of the
Scheme-II proposed in [15] and the scheme presented in [16] are other users in B .
briefly introduced in Section 2.2.
Certificate Verification: The verification processes of 6.3.3 Summary
Scheme-I and Scheme-II in [15] and the scheme in [16] are based In Table 2, we present a comprehensive comparison study over
on the RSA cryptosystem. Since the computational complexity of Scheme-I and Scheme-II in [15], the scheme in [16], and our
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 11
proposed scheme in terms of attack resistance, security, policy the correctness, security strength, and computational complexity
update, and so on. From Table 2, one can see that the significant of our proposed scheme.
advantages of our scheme over the other three schemes include: Designing a secure, privacy preserving, and practical scheme
quantum computing attack resistance, dynamic policy update, and for big data storage in a cloud is an extremely challenging prob-
lower computational complexity. lem. In our future research, we will further improve our scheme
by combining the (t, n)-threshold secret sharing with attribute-
6.4 Discussions based access control, which involves an access structure that can
place various requirements for a user to decrypt an outsourced
In our scheme, a data owner maintains the access right to its
ciphertext data in the cloud. Meanwhile, we will investigate the
encrypted data. The advantages of such a policy are listed as
security problems when a data owner outsources its data to multi-
follows:
cloud servers and consider an attribute-based access structure that
• The data owner splits the access right of the encrypted data can be dynamically updated, which is more applicable for practical
into n pieces, with each legitimate user holding one piece scenarios in big data storage.
of the access right. This can effectively reduce the risk of
information leakage in big data storage.
• If a user Ui wants to decrypt the data owner’s encrypted ACKNOWLEDGMENT
data Sj , its legitimacy must be verified by the data owner This research was partially supported by the National Science
(by securely and successfully retrieving the message cer- Foundation of the US under grants CNS-1318872, CCF-1442642
tificate dj from the data owner) and at least t − 1 other and IIS-1343976, and the National Natural Science Foundation of
legitimate users of the data (via the exchange certificate); China under grants 61672119, 61373027, 61472044, 61272475,
the information provided by the t − 1 other users for the 61571049, 61472403, and 61672321, and the Fundamental Re-
message recovery also must be verified by Ui to prevent search Funds for the Central Universities (No.2014KJJCB32).
the user from providing fake information. This verification
process can ensure the legality of Ui to access Sj .
• The cloud sever only stores the outsourced ciphertext data
R EFERENCES
- it cannot obtain the data owner’s original plaintext data. [1] M. A. Beyer and D. Laney, “The importance of big data: a definition,”
In addition, the data owner updates the access policy while Stamford, CT: Gartner, 2012.
[2] V. Marx, “Biology: The big challenges of big data,” Nature, vol. 498, no.
the cloud server updates the encrypted data. No data owner 7453, pp. 255–260, 2013.
can access the plaintext data outsourced by other data [3] G. P. Consortium et al., “A map of human genome variation from
owners in the cloud server. population-scale sequencing,” Nature, vol. 467, no. 7319, pp. 1061–1073,
2010.
Compared with RSA, at an equivalent cryptographic strength, [4] A. Sahai and B. Waters, “Fuzzy identity-based encryption,” Advances in
NTRU performs the costly encryption and decryption operations at Cryptology–EUROCRYPT 2005, pp. 457–473, 2005.
[5] C. Hu, F. Zhang, X. Cheng, X. Liao, and D. Chen, “Securing com-
a much faster speed, and its implementations in both hardware and munications between external users and wireless body area networks,” in
software are easier and require a smaller size of memory; therefore Proceedings of the 2nd ACM workshop on Hot topics on wireless network
NTRU can be employed in applications involving devices with security and privacy. ACM, 2013, pp. 31–36.
[6] C. Hu, H. Li, Y. Huo, T. Xiang, and X. Liao, “Secure and efficient
limited computation power and storage such as mobile devices and data communication protocol for wireless body area networks,” IEEE
smart-cards. On the other hand, when our scheme is utilized in real Transactions on Multi-Scale Computing Systems, vol. 2, no. 2, pp. 94–
world applications, an adequate threshold t needs to be selected by 107, 2016.
the data owner before deployment because an unsuitable threshold [7] V. Goyal, O. Pandey, A. Sahai, and B. Waters, “Attribute-based encryp-
tion for fine-grained access control of encrypted data,” in Proceedings
t would decrease the security of the data if t is too small or have a of the 13th ACM conference on Computer and communications security.
harmful effect on the flexibility of access control if t is too large. ACM, 2006, pp. 89–98.
Nevertheless, the selection of a right value for t is not easy. One [8] B. Waters, “Ciphertext-policy attribute-based encryption: An expressive,
efficient, and provably secure realization,” Public Key Cryptography–
possible remedy approach is to pick up an initial value of t based
PKC 2011, pp. 53–70, 2011.
on experience and adjust it via access policy update as time goes. [9] C. Hu, N. Zhang, H. Li, X. Cheng, and X. Liao, “Body area network
security: a fuzzy attribute-based signcryption scheme,” IEEE journal on
selected areas in communications, vol. 31, no. 9, pp. 37–46, 2013.
7 C ONCLUSION AND F UTURE W ORKS [10] A. Lewko and B. Waters, “Decentralizing attribute-based encryption,”
In this paper, we first propose an improved NTRU cryptosystem Advances in Cryptology–EUROCRYPT 2011, pp. 568–588, 2011.
[11] C. Hu, X. Cheng, Z. Tian, J. Yu, K. Akkaya, and L. Sun, “An attribute-
to overcome the decryption failures of the original NTRU and based signcryption scheme to secure attribute-defined multicast commu-
then present a secure and verifiable access control scheme based nications,” in SecureComm 2015. Springer, 2015, pp. 418–435.
on the improved NTRU to protect the outsourced big data stored [12] A. Shamir, “Identity-based cryptosystems and signature schemes,” in
Advances in cryptology. Springer, 1985, pp. 47–53.
in a cloud. Our scheme allows the data owner to dynamically [13] M. Dehkordi and S. Mashhadi, “An efficient threshold verifiable multi-
update the data access policy and the cloud server to successfully secret sharing,” Computer Standards & Interfaces, vol. 30, no. 3, pp.
update the corresponding outsourced ciphertext to enable efficient 187–190, 2008.
access control over the big data in the cloud. It also provides [14] Z. Eslami and J. Z. Ahmadabadi, “A verifiable multi-secret sharing
scheme based on cellular automata,” Information Sciences, vol. 180,
a verification process for a user to validate its legitimacy of no. 15, pp. 2889–2894, 2010.
accessing the data to both the data owner and t−1 other legitimate [15] M. H. Dehkordi and S. Mashhadi, “New efficient and practical verifiable
users and the correctness of the information provided by the t − 1 multi-secret sharing schemes,” Information Sciences, vol. 178, no. 9, pp.
other users for plaintext recovery. The security of our proposed 2262–2274, 2008.
[16] J. Zhao, J. Zhang, and R. Zhao, “A practical verifiable multi-secret
scheme is guaranteed by those of the NTRU cryptosystem and sharing scheme,” Computer Standards & Interfaces, vol. 29, no. 1, pp.
the (t, n)-threshold secret sharing. We have rigorously analyzed 138–141, 2007.
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 12
[17] C. Hu, X. Liao, and X. Cheng, “Verifiable multi-secret sharing based on [43] K. Yang and X. Jia, “Attributed-based access control for multi-authority
LFSR sequences,” Theoretical Computer Science, vol. 445, 2012. systems in cloud storage,” in Distributed Computing Systems (ICDCS),
[18] C. Hu, X. Liao, and D. Xiao, “Secret image sharing based on chaotic 2012 IEEE 32nd International Conference on. IEEE, 2012, pp. 536–
map and chinese remainder theorem,” International Journal of Wavelets, 545.
Multiresolution and Information Processing, vol. 10, no. 03, 2012. [44] T. Jung, X.-Y. Li, Z. Wan, and M. Wan, “Privacy preserving cloud data
[19] K. Yang, X. Jia, K. Ren, B. Zhang, and R. Xie, “Dac-macs: Effective data access with multi-authorities,” in INFOCOM, 2013 Proceedings IEEE.
access control for multiauthority cloud storage systems,” Information IEEE, 2013, pp. 2625–2633.
Forensics and Security, IEEE Transactions on, vol. 8, no. 11, pp. 1790– [45] A. Shamir, “How to share a secret,” Communications of the ACM, vol. 22,
1801, 2013. no. 11, pp. 612–613, 1979.
[20] K. Yang and X. Jia, “Expressive, efficient, and revocable data access con- [46] A. Sahai, H. Seyalioglu, and B. Waters, “Dynamic credentials and
trol for multi-authority cloud storage,” Parallel and Distributed Systems, ciphertext delegation for attribute-based encryption,” in Advances in
IEEE Transactions on, vol. 25, no. 7, pp. 1735–1744, 2014. Cryptology–CRYPTO 2012. Springer, 2012, pp. 199–217.
[21] J. Bethencourt, A. Sahai, and B. Waters, “Ciphertext-policy attribute- [47] G. Blakley, “Safeguarding cryptographic keys,” Proc. of the National
based encryption,” in Security and Privacy, 2007. SP’07. IEEE Sympo- Computer Conference1979, vol. 48, pp. 313–317, 1979.
sium on. IEEE, 2007, pp. 321–334. [48] J. H. Silverman and W. Whyte, “Estimating decryption
[22] A. Córcoles, E. Magesan, S. J. Srinivasan, A. W. Cross, M. Steffen, failure probabilities for ntruencrypt,” NTRU Cryptostystems,
J. M. Gambetta, and J. M. Chow, “Demonstration of a quantum error Tech. Rep. Report #018, Version 1, May 2003. [Online]. Available:
detection code using a square lattice of four superconducting qubits,” http://grouper.ieee.org/groups/1363/lattPK/submissions/NTRUTech018.pdf
Nature communications, vol. 6, pp. 1–10, 2015.
[23] O. Regev, “New lattice-based cryptographic constructions,” Journal of
the ACM (JACM), vol. 51, no. 6, pp. 899–942, 2004.
[24] D. Micciancio, “Lattice-based cryptography,” in Post-Quantum Cryptog-
raphy. Springer, 2009, pp. 147–191.
[25] C. Peikert, “Lattice cryptography for the internet,” in Post-Quantum
A PPENDIX
Cryptography. Springer, 2014, pp. 197–219.
[26] J. Hoffstein, J. Pipher, and J. Silverman, “NTRU: A ring-based public key In this appendix, we give an instance of the NTRU decryp-
cryptosystem,” in Algorithmic number theory: third international sympo-
sium, ANTS-III, Portland, Oregon, USA, June 21-25, 1998: proceedings,
tion failure of the original NTRU cryptosystem. Meanwhile, we
vol. 1423. Springer Verlag, 1998, pp. 267–288. demonstrate how our improved NTRU can correct the failure. The
[27] N. Cryptosystems, “The NTRU public key cryptosystem-a tutorial,” NTRU system parameters are N = 107, p = 3, q = 64.
1998.
Secret key:
[28] A. Langlois, D. Stehlé, and R. Steinfeld, “Gghlite: More efficien-
t multilinear maps from ideal lattices,” in Advances in Cryptology–
EUROCRYPT 2014. Springer, 2014, pp. 239–256.
[29] S. Garg, C. Gentry, and S. Halevi, “Candidate multilinear maps from
−1 0 1 1 0 0 0 0 0 −1
ideal lattices.” in Eurocrypt, vol. 7881. Springer, 2013, pp. 1–17. 0 0 0 −1 0 0 0 0 0 1
[30] European Telecommunications Standards Institute, “Quantum safe 0 0 0 0 0 −1 0 0 0 −1
cryptography and security-an introduction, benefits, enablers
0 0 0 0 0 0 0 −1 −1 0
and challenges,” European Telecommunications Standards
0
Institute, White Paper, June 2015. [Online]. Available: http- 0 1 1 0 0 0 1 0 1
s://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf f = 0 0 0 −1 0 1 0 0 −1 −1
[31] IBM, “IBM storage solutions for banking,” http://www- −1 −1 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0
03.ibm.com/systems/storage/solutions/industries/banking.html.
0 0 1 0 0 1 0 −1 0 −1
[32] A. Mora, Y. Chen, A. Fuchs, A. Lane, R. Lu, P. Manadhata et al.,
“Expanded top ten big data security and privacy challenges,” Cloud
0 0 1 1 0 0 0 0 0 1
Security Alliance, 2013. 0 0 0 1 0 0 0
[33] L. Wei, H. Zhu, Z. Cao, X. Dong, W. Jia, Y. Chen, and A. V. Vasilakos,
“Security and privacy for storage and computation in cloud computing,”
Information Sciences, vol. 258, pp. 371–386, 2014.
[34] H. Cheng, C. Rong, K. Hwang, W. Wang, and Y. Li, “Secure big data
0 0 −1 0 0 1 −1 −1 0 0
storage and sharing scheme for cloud tenants,” China Communications,
vol. 12, no. 6, pp. 106–115, 2015. 0 0 0 0 −1 0 0 1 0 0
[35] J. Baek, Q. H. Vu, J. K. Liu, X. Huang, and Y. Xiang, “A secure cloud
0
0 1 0 −1 0 0 0 0 0
computing based framework for big data information management of −1 0 −1 0 0 −1 1 0 0 0
smart grid,” IEEE transactions on cloud computing, vol. 3, no. 2, pp. 0 1 0 0 0 0 1 0 0 0
233–244, 2015. g= 0 0 0 0 0 1 0 1 0 0
[36] C. Gentry, “A fully homomorphic encryption scheme,” Ph.D. dissertation,
0 1 0 0 1 0 0 1 0 0
Stanford University, 2009. 0
0 0 0 0 0 −1 0 0 0
[37] S. Kamara and K. Lauter, “Cryptographic cloud storage,” in International 0
1 0 0 0 0 0 −1 0 0
Conference on Financial Cryptography and Data Security. Springer, 0 0 0 0 0 0 0 0 0 0
2010, pp. 136–149.
−1 0 0 0 0 −1 0
[38] A. Hamlin, N. Schear, E. Shen, M. Varia, S. Yakoubov, and A. Yerukhi-
movich, “Cryptography for big data security,” in Big Data: Storage,
Sharing, and Security, F. Hu, Ed. CRC Press, 2016, ch. 10, pp. 241–288.
[39] G. Zhuo, Q. Jia, L. Guo, M. Li, and P. Li, “Privacy-preserving verifiable
2 2 1 1 1 0 2 0 2 0
set operation in big data for cloud-assisted mobile crowdsourcing,” to
appear in IEEE Internet of Things Journal, 2016. 2 1 0 2 2 0 0 2 2 1
1 1 1 2 1 1 0 1 2 2
[40] L. Guo, Y. Fang, M. Li, and P. Li, “Verifiable privacy-preserving moni-
2 0 0 2 0 0 0 0 1 2
toring for cloud-assisted mhealth systems,” in 2015 IEEE Conference on
1 1 2 2 0 1 2 1 1 0
Computer Communications (INFOCOM). IEEE, 2015, pp. 1026–1034.
[41] S. Salinas, X. Chen, J. Ji, and P. Li, “A tutorial on secure outsourcing of fp = 0 2 2 2 2 1 0 0 2 2
large-scale computations for big data,” IEEE Access, vol. 4, pp. 1406– 2 0 0 1 0 0 2 0 1 1
0 1 2 1 0 1 1 0 0 0
1416, 2016.
[42] V. C. Hu, D. Ferraiolo, and D. R. Kuhn, Assessment of access control 2 1 2 1 1 0 2 2 1 0
systems. US Department of Commerce, National Institute of Standards 1 0 1 2 0 0 2 0 0 1
and Technology, 2006. 1 1 2 2 2 2 1
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 13
2 0 1 2 1 2 0 0 2 2
59 5 41 10 34 28 31 13 5 36
2 1 2 0 0 2 2 0 0 2
0 21 36 28 18 41 46 13 38 5 0
2 0 2 0 0 1 2 0 0
31 7 1 49 26 37 27 12 14 58 0
60
0 1 2 1 2 2 1 0 1
9 23 7 17 41 6 29 38 12 2 0 1 1 2 2 2 2 2 2
m0 =
54 39 52 9 36 19 47 29 44 26
2 2 2 0 2 2 2 2 1 1
40
fq = 30 52 60 25 52 10 61 7 7
2 1 0 2 1 2 0 0 2 0
48 21 14 46 55 51 7 16 49 29 1
1 0 1 0 2 0 2 1 1
27 3 60 10 12 8 24 61 7 39
1 2 2 2 0 2 0 1 0 1
2 54 47 34 4 47 52 17 41 60
2
25 0 0 2 2 1 1 1 1 1
44 20 62 55 33 52 58 10 63 0 0 1 2 2 2 0
63 7 58 42 52 44 49
Obviously, m0 6= m, which indicates that a decryption failure
Public Key: occurs in the original NTRU decryption. Next we analyze the cause
of the decryption failure. The process of decryption based on the
28
63 13 41 31 6 30 54 45 37
original NTRU is as follows:
63 41 33 58 32 62 13 62 18 59
−4 −5 −4
44 25 12 40 49 7 41 8 2 31 1 11 1 5 2 6 10
10
7 10 10 34 47 4 7 27 47 12 0 4 −10 1 −3 −7 −1 3 −1
32
46 58 54 36 48 38 51 7 45
1
6 −5 −9 −9 1 6 1 3 8
26
h= 22 35 45 53 9 19 63 50 38
3
−15 2 2 −1 14 1 −4 −15 −2
5 52 14 25 60 61 50 37 20 2 −7 −6 3 −8 −6 −8 6 1 12 5
e×f
36 11 20 36 18 11 54 23 36 6 −2 −5 −4 −8 −10 −9
a = 8 0 0 8
45 26 11 20 41 45 59 31 21 13 0 −5 −5 −6 2 7 −6 10 2 −2
9 8 48 25 9 57 45 0 29 60 11 −3 12 7 8 −8 8 33 8 7
12 50 14 22 1 55 33 15 6 5 −2 −3 −1 4 −3 10 −6
1 11 10 1 6 6 5 6 4 −1
Plaintext m: −2 6 −4 5 10 10 −4
1 2 1 2 0 2 0 0 2 0 One can see that one element of a is 33, which is larger than 2q =
1 2 0 2 2 2 0 2 1 0 32 and causes the decryption failure. Now we utilize the improved
NTRU cryptosystem to decrypt e. One can obtain a0 as follows.
0 2 2 1 2 2 2 2 0 2
2 2 1 2 2 2 2 0 0 2
1 11 1 −4 5 2 −5 −4 6 10
0 0 2 0 0 2 0 0 2 2
12 0 4 −10 1 −3 −7 −1 3 −1
2
m= 1 0 2 0 0 2 1 0 2 1 6 −5 −9 −9 1 6 1 3 8
2 2 0 0 0 2 0 2 2 0
2
2 1 0 2 1 2 0 0 0
3
−15 2 2 −1 14 1 −4 −15 −2
−7 −6 3 −8 −6 −8 6 1 12 5
2 0 0 2 2 2 2 1 2 2
a0 =
2 2 2 2 2 0 0 2 2 2 −2 −5 −4 8 0 −8 0 −10 8 −9
1 2 2 0 2 0 2
0 −5 −5 −6 2 7 −6 10 2 −2
11 −3 12 7 8 −8 8 31 8 7
15 6 5 −2 −3 −1 4 −3 10 −6
Polynomial φ:
1 11 10 1 6 6 5 6 4 −1
0 −1 0 0 0 0 0 0 0 0 −2 6 −4 5 10 10 −4
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 The adjusted vector c is shown below:
1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
−1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
φ= 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
−1
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 −1 0 0 0 0 0 0
0 0 0 0 0 0 −1 0 0 0
c= 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0
0 0 0 0 0 0 0 0 0 0
Ciphertext e: 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0
29 45 0 46 9 58 40 23 3 13
And the decrypted result is:
26 11 62 31 23 4 9 18 12 22
41 46 24 0 21 63 43 39 32 1 1 2 1 2 0 2 0 0 2 0
27 29 29 47 39 10 32 60 19 48
1 2 0 2 2 2 0 2 1 0
32 22 42 28 19 15 10 18 54 50 0 2 2 1 2 2 2 2 0 2
29
e= 42 35 57 57 29 44 26 28 57 2 2 1 2 2 2 2 0 0 2
38 58 33 3 47 28 21 29 41 1 0 0 2 0 0 2 0 0 2 2
m00 = a0 × fp + c × fp =
23 4 62 53 17 57 45 47 59 39
2 1 0 2 0 0 2 1 0 2
42 22 18 23 61 60 11 54 31 56
2 2 0 0 0 2 0 2 2 0
36 32 58 5 59 25 12 47 26 8 2 2 1 0 2 1 2 0 0 0
22 46 56 49 20 60 51 2
0 0 2 2 2 2 1 2 2
2 2 2 2 2 0 0 2 2 2
The decryption result of the original NTRU cryptosystem m0 : 1 2 2 0 2 0 2
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TBDATA.2016.2621106, IEEE
Transactions on Big Data
IEEE TRANSACTIONS ON BIG DATA 14
00
The decrypted result shows that m = m, which implies that our Shengling Wang is currently an associate pro-
improved NTRU cryptosystem can successfully correct the decryption fessor in the College of Information Science and
failure while the original NTRU can not. Technology, Beijing Normal University. She re-
ceived her Ph.D. in 2008 from Xi’an Jiaotong
University. After that, she did her postdoctoral
research in the Department of Computer Sci-
ence and Technology at Tsinghua University.
Chunqiang Hu obtained his M.S degree and Then she worked as an assistant and associate
first PhD degree in computer Science and Tech- professor, respectively, from 2010 and from 2013
nology from Chongqing University, Chongqing, in the Institute of Computing Technology of the
China, in 2009 and 2013, respectively. He Chinese Academy of Sciences. Her Research
received his B.S. degree in Computer Sci- interest include privacy-aware computing, mobile/wireless networking,
ence and Technology from Southwest University, game theory, and crowdsourcing.
Chongqing, China, in 2006. He was a visiting
scholar at The George Washington University
from Jan., 2011 to Dec., 2011, and then got his
second PhD degree in Computer Science, The
George Washington University, Washington DC
in 2016. He won the Best Paper Award in ACM PAMCO 2016. His cur-
rent research interests include applied cryptography, big data security
and privacy, privacy-aware computing, wireless and mobile security, and
algorithm design and analysis. He is a member of IEEE and ACM.
2332-7790 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.