Next Article in Journal
Exact Closed-Form Multitarget Bayes Filters
Next Article in Special Issue
Smart Interactive Education System Based on Wearable Devices
Previous Article in Journal
An Approach to Measure Tilt Motion, Straightness and Position of Precision Linear Stage with a 3D Sinusoidal-Groove Linear Reflective Grating and Triangular Wave-Based Subdivision Method
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Secure and Efficient Digital-Data-Sharing System for Cloud Environments

Department of Information Management, National Penghu University of Science and Technology, Penghu 880, Taiwan
Sensors 2019, 19(12), 2817; https://doi.org/10.3390/s19122817
Submission received: 25 April 2019 / Revised: 12 June 2019 / Accepted: 20 June 2019 / Published: 24 June 2019
(This article belongs to the Special Issue Selected Papers from TIKI IEEE ICASI 2019)

Abstract

:
“Education Cloud” is a cloud-computing application used in educational contexts to facilitate the use of comprehensive digital technologies and establish data-based learning environments. The immense amount of digital resources, data, and teaching materials involved in these environments must be stored in robust data-access systems. These systems must be equipped with effective security mechanisms to guarantee confidentiality and ensure the integrity of the cloud-computing environment. To minimize the potential risk of privacy exposure, digital sharing service providers must encrypt their digital resources, data, and teaching materials, and digital-resource owners must have complete control over what data or materials they share. In addition, the data in these systems must be accessible to e-learners. In other words, data-access systems should not only encrypt data, but also provide access control mechanisms by which users may access the data. In cloud environments, digital sharing systems no longer target single users, and the access control by numerous users may overload a system and increase management burden and complexity. This study addressed these challenges to create a system that preserves the benefits of combining digital sharing systems and cloud computing. A cloud-based and learner-centered access control mechanism suitable for multi-user digital sharing was developed. The proposed mechanism resolves the problems concerning multi-user access requests in cloud environments and dynamic updating in digital-sharing systems, thereby reducing the complexity of security management.

1. Introduction

As the name suggests, e-learning involves learning through digital media [1]. E-learning can be traced back to the Programmed Logic for Automatic Teaching Operations (PLATO) introduced by Prof. Patrick Suppes of Stanford University and Prof. Don Bitzer of the University of Illinois in 1960 [2]. The PLATO system was capable of teaching students reading and writing skills through courses involving computer-assisted instruction (CAI). E-learning has gradually evolved from standalone CAI to online learning platforms that cater to mass users [3]. For example, the online courses offered through the University of Phoenix’s online platform and through OpenCourseWare, operated by the Massachusetts Institution of Technology, provide learning opportunities for people all over the world through digital sharing.
Amidst advancements of network technologies, the prevalence of digital-multimedia-information use has accelerated. For example, application of digital multimedia information has become a mainstream in teaching. This approach not only overcomes the spatial and temporal constraints of learning but also contributes to more engaging, interactive, and immediate learning experiences, which motivate learners and stimulate their interests. These features support users’ comprehension of new content, and reinforce previously learned concepts [3,4,5,6]. E-learning achieved steady development worldwide after the National Institute of Standards and Technology (NIST) announced endorsement of cloud computing and the application of cloud computing in Internet applications in 2009 [7].
“Education Cloud” refers to the application of cloud computing [8] to establish data-based learning environments and use of comprehensive digital technologies in educational contexts. Related provisions are as follows:
(1)
Create a learning environment centered on digital technology and data, provide teachers and students with an online education portal, and ensure that teachers are able to apply the various e-learning tools provided to them to teach their students.
(2)
Establish a comprehensive online school network that offers wireless Internet and roaming mechanisms to facilitate teaching and learning at the school. Create a data application environment free of spatial constraints, and apply new technologies such as voice over Internet protocol to reduce administration cost and enhance interconnection efficiency
(3)
Reduce digital gaps and create balanced digital environments to enable future students to develop new ways of learning through the novel teaching approach, thereby fostering their independent thinking and problem-solving abilities, which constitute the advantages of the new generations.
(4)
Consolidate various cloud learning content and services and meet learner-centered resource demands; learn and identify suitable resources through the cloud to achieve cloud-based learning. Satisfy environmental demands for learning prosperity, autonomy, and convenience, thereby facilitating customized and autonomous learning.
In cloud-sharing environments, immense amounts of digital resources, data, and teaching materials must be stored in robust data-access systems. These systems must be equipped with effective security mechanisms to guarantee confidentiality and ensure the integrity of the cloud-computing environment [9,10,11]. To minimize the risk of privacy exposure, digital sharing service providers should provide encryptions for the digital resources, data, and teaching materials. The data-access systems must also offer editors and authors control over what data or materials they share. In addition, the data in these systems must be accessible to e-learners. In other words, data-access systems should allow conventional service providers to encrypt their data and should also provide control mechanisms by which users may access the data [12].
Access control is a form of access protection for data systems that prevents unauthorized users from corrupting, deleting, or modifying data. Specifically, it is a protection mechanism that governs what items are accessible to system users and the extent of the items’ accessibility. Therefore, access control is a key component in the field of network communication and data security. When a user wants to retrieve a document stored in a data system, the user’s identity is authenticated by a username and password to verify that the user possesses the necessary authorization to add, delete, modify, or access specific documents [13].
Cloud-based digital sharing systems are formatted to enable use by numerous users; however, provision of simultaneous access control to numerous users may overload a system’s computational capacity or increase the requirement for physical management of the system [12,14]. Authorized users and users requesting authorization may access the system from different channels. Generally, demands from existing users and new user requests are immense and unpredictable. If all users are able to manage their subscriber base directly, security management (management of encryption and decryption keys and certifications) will be complicated by the excessive number of users [15].
By directly storing digital resources in the cloud, authorized users can manage these resources from any location and at any time without depending on an online administrator to approve their request. In other words, the accessibility and usability of digital sharing systems are unrestricted. However, following the continual additions and modifications of content in digital sharing systems, the digital information stored in the cloud may originate from various cities and counties, and authorized users may submit requests to the cloud server at any time to retrieve the latest resources or teaching materials. Therefore, the dynamic update function of digital sharing systems must be implemented in the provision of cloud services.
Although previous studies have proposed various encryption techniques to prevent the unauthorized data access, most of these techniques are targeted at single-user systems. In cloud environments, digital sharing systems do not target single users; rather, they provide secure and efficient access control mechanisms that allocate different permissions to different users. To overcome the challenges of non-single-user applications and to harness the many benefits of combining digital sharing systems with cloud computing, we developed a cloud-based and learner-centered access control mechanism suitable for multi-user digital sharing. The mechanism resolves the problems related to multi-user access requests in cloud environments and dynamic updating in digital sharing systems, thereby reducing the complexity of security management.
The rest of this paper is organized as follows. Section 2 offers a review of related works. Section 3 proposes the digital-data-sharing system. Section 4 demonstrates the security of the proposed system and evaluates system performance. Finally, Section 5 concludes this paper.

2. Related Works

2.1. Access Control Mechanisms

Access control has been extensively studied, and scholars have proposed a variety of access control mechanisms, such as access control matrices, access control lists, capability lists, and role-based access control (RBAC). Access control matrices are the simplest of these mechanisms to use in management of system resource-access [16]. When a user submits a request to access system resources, the system uses the user’s position relative to the requested object in an access control matrix to determine the legitimacy of the request.
The concepts behind access control lists and capability lists are similar. Both mechanisms compile authorization logs into lists. In an access control list, authorization logs are compiled into columns in the access control matrix, where system resources constitute the base matrix and users are represented in a linked list. In a capability list, permission logs are compiled into rows in the access control matrix, where users constitute the base matrix, and system resources are represented in a linked list. Access control lists facilitate the management of system resource requests. However, searching for a specific user in an access control list is time intensive. By comparison, the advantages of capability lists correspond with the disadvantages of access control lists.
In addition to the aforementioned access control mechanisms, several access control models have been proposed. For example, task-based access controls (TBACs) authenticate access requests and periods based on task requirements [17], temporal RBACs (TRBAC) authenticate role permissions based on the changes in time intervals [18], rule set-based access controls authenticate permissions based on the system’s security strategy [19], and spatial RBAC (SRBAC) authenticates role permissions based on changes in spatial locations [20]. These access control models can be employed independently or combined with other control models. For instance, TBACs can be used simultaneously with RBACs in access systems [17], or a hybrid RBAC can be adopted as the access control mechanism in large and complex organizations [21]. Furthermore, access control mechanisms can be incorporated into other system structures, such as RBAC online-payment systems [22].
At present, commonly applied access controls can be categorized into three types: discretionary access control (DAC), mandatory access control (MAC), and RBAC.
In DAC mechanisms, access is granted based on user identity and the specific action related to the access request. Users are able to manage the access permission of the objects they own without intervention from system administrators. In sum, DAC enable the transfer of object authorities and is suitable for developing environments for data sharing and autonomous application of authority [23].
Although DAC models provide flexible access control mechanisms, they cannot guarantee the integrity of data after authorization [24]. For example, users that are authorized to access a particular document may download the document onto a storage device and then transfer the document to others without the authorization of the owner. Thus, in DAC systems, document owners are unable to track the authorized users’ transfer of their documents, and document receivers cannot determine whether the rights of the document belong to the document provider or whether the document was merely transferred from another source.
MACs prohibit users from freely allocating access permissions, and permission allocation rights belong exclusively to a system administrator [25]. MACs assign security levels and category labels to all subjects and objects in a system. When a user requests access to an object, the system compares the labels of the user and the object. If the users' access permissions correspond with or exceed the confidentiality level of the object, the request of the user is authorized; otherwise, the request is rejected [24]. For example, assume the system sets the security clearance of User A at 2 and that of User B at 4, and that the security levels of Documents A, B, and C are 1, 3, and 6, respectively. User A is able to view Document A, which is categorized under a security level lower than his or her clearance, whereas User B is authorized to view Documents A and B. The security level of Document C is higher than the clearance of both users; therefore, they cannot access Document C. The application of MAC is more complicated than that of DAC, making MAC-based systems suitable for environments with stringent security requirements, such as national defense departments.
The RBAC was introduced by Sandhu et al. in 1996 [13] It was subsequently incorporated and standardized by the NIST in 2011, and was renamed as NIST RBAC [26]. RBACs create “role” elements between the “user” and “access permission” elements in a system, enabling users to access documents through the “role” element.
As awareness of digital data confidentiality rose in 2004, Chen et al. proposed an access control mechanism that combined encryption and key management, and applied the mechanism in a mobile agent environment [27,28,29]. Before a mobile agent is approved for work on the Internet, the transmitting host decides which hosts will be visited by and what data is accessible to the agent. In addition, the owner of the mobile agent must first determine pathways and access strategy. The owner of the agent then encrypts his or her confidential files with separate keys using a symmetric encryption system, such as the Advanced Encryption Standard (AES), Data Encryption Standard (DES), or International Data Encryption Algorithm [30]. Finally, various access permissions are established based on the access control strategy, and a hierarchical structure is created based on the level of the access permissions. The owner of the agent provides a superkey to each host and publishes specific public parameters of the agent. The hosts then use their superkeys to access data from hosts with security levels below their clearance.
Thereafter, access mechanisms based on an elliptic curve, bilinear pairing, and ID authentication, and mechanisms with migration and time constraints were sequentially introduced [31,32,33,34]. Cloud environments matured by 2012 and Liu et al. proposed a dynamic access framework that achieved accurate access control of cloud data and logs in a multi-user setup. The framework was incorporated into a medical environment to maximize patients’ control of their medical records. The system ensured privacy by only granting access to doctors, pharmacists, nurses, and researchers [14,15,35].
Recently, context-aware access control (CAAC) models have been developed, extending the basic RBAC authorization model, which determine whether users’ requests to limit the access permissions for privacy data and information based on the dynamically changing contextual conditions, such as related resources, environments, user properties, software services [36,37]. For example, Schefer-Wenzl and Strembeck proposed the fuzzy model with an ontology-based approach that captures contextual conditions for mobile business processes [38]. Hosseinzadeh et al. used ontological techniques and Web Ontology Language (OWL) of modeling context-aware role-based access control scheme for smart spaces [39]. Trnka and Cerny proposed a CAAC scheme based on using security levels, which are granted to user based on his/her context [40]. Colombo and Ferrari proposed a roadmap to enhance the data protection functionalities of NoSQL datastore and then design a CAAC mechanism for MongoDB [41,42]. Kayes et al. developed several CAAC systems by considering a wide variety of contextual conditions, the relationship context information utilizing the process of inferring implicit knowledge, and the purpose-oriented situation information based on the currently available context information [43,44,45].

2.2. Lagrange Interpolation Polynomial

Following, is a brief introduction to Lagrange interpolation polynomial [30], which we have adopted for encryption and decryption processes. In numerical analysis or other applications, many practical problems are represented through functions to express intrinsic relationships or regularity. However, the precise relationship between variable x and variable y of many functions are extremely complex, and cannot be determined through experiments. The method of Lagrange interpolation enables us to obtain a polynomial which passes through a finite set of points in the x-y plane. The polynomial obtained by this method is called the Lagrange polynomial. Mathematically, the Lagrange interpolation polynomial can obtain a polynomial function, which passes through known points of a two-dimensional plane. For example, in a x-y plane, given n + 1 are known points, (x0, y0), (x1, y1), …, (xn, yn). The method of Lagrange interpolation provides a formula for constructing a unique polynomial of degree n which passes through these n + 1 points. Among them, the Lagrange fundamental polynomial, or interpolation basis function is expressed as follows:
𝓁 j ( x ) = i = 0 , i j n x x i x j x i = ( x x 0 x j x 0 ) ... ( x x j 1 x j x j 1 )   ( x x j + 1 x j x j + 1 )   ... ( x x n x j x n )   ,   1 j n
The specific point of lj(x) is the derived value 1 from xj. Values from other points xi (i ≠ j) equals 0, the expression of which is as follows: 𝓁 j ( x ) = { 0 , i j 1 , i = j . The Lagrange polynomial is L ( x ) = j = 0 n y j 𝓁 j ( x ) .
That is the unique polynomial of degree n which passes through the points (x0, y0), (x1, y1), …, (xn, yn). For example, the binomial that passes through (4, 1), (5, 5), and (6, 10) when expressed in Lagrange basic polynomial is as follows
𝓁 1 ( x ) = ( x 5 4 5 ) ( x 6 4 6 ) ,   𝓁 2 ( x ) = ( x 4 5 4 ) ( x 6 5 6 ) ,   𝓁 3 ( x ) = ( x 4 6 4 ) ( x 5 6 5 ) .
By applying Lagrange interpolation polynomial, a single polynomial L(x) can be obtained as expressed below:
L ( x ) = f ( 4 ) l ( 1 ) + f ( 5 ) l ( 2 ) + f ( 6 ) l ( 3 ) = 1 × ( x 5 4 5 ) ( x 6 4 6 ) + 5 × ( x 4 5 4 ) ( x 6 5 6 ) + 10 × ( x 4 6 4 ) ( x 5 6 5 )   = 1 2 x 2 1 2 x 5
It can be inferred that f(4) = 1, f(5) = 5, f(6) = 10. By applying this formula, predicted values can be derived, for example: to derive f(18), substitute x = 18 in L(x), and L(18) = f(18) = 148 is derived.

3. The Proposed Mechanism

The foremost challenges when creating digital-sharing systems for cloud environments are managing large user bases and complex access relationships. Ensuring the confidentiality and integrity of users’ cloud data represents an additional concern. In response to these challenges, we developed a dynamic multi-user access mechanism that can accurately access and control the digital resources and teaching materials stored in the cloud, as shown in Figure 1. The proposed systems indexes Lagrange interpolating polynomials to provide different users maximum control over their data and logs. The system also comprises an encryption technique to protect users’ privacy, with unique keys generated by Central Authority that can be freely used to share their digital data. The steps involved in developing the proposed access control system are explained in the following section. The definitions of the symbols used in the creation of the proposed system are tabulated in Table 1.

3.1. Create a System User

In this study, we adopt the access relationships of a partially ordered set. A Central Authority (CA) (or a multiple number of CAs that are distributed by a single CA) builds the partially ordered set, which is a pair (S, ≼), where ≼ is a reflexive, antisymmetric, transitive binary relation in set S. In this paper, users are divided into disjoint sets labeled Si, where Si is a subset that corresponds with security classes, and each class is assigned clearance to access specific files. Therefore, the decryption key with permission to obtain the encrypted file can be expressed as Si = {u: u is the file id that Si is permitted to access} for i = 1, 2, …, n, where nΝ and ‘≼’ is a binary partial order relation over the set S = {S1, S2, …, Sn}. For the set (S, ≼), SjSi (i, jΝ), indicating that a user in security class Si can read or store data held by a user in security class Sj, but the opposite is not allowed. Each class possesses its own cryptographic key; thus, if Sj = {1, 2}, Si­ = {1, 2, 3}, {1, 2} ≼ {1, 2, 3}, then SjSi. In SjSi, Si corresponds with the security class required to obtain the decryption key for Sj to retrieve file1 and file2.
The system may be accessed by users of a variety of identities, such as teaching material authors, partner vendors, authorities affiliated with the Ministry of Education, class teachers, students, and students’ parents. In the proposed system, the security class of each user is expressed as Si, and each user possesses a superkey (Hi), where i = 1, 2, ..., n. The CA creates a framework for these users. The system structure comprises n users in two sets, S = {S1, S2, ..., Sn} and H = {H1, H2, ..., Hn}, which can be expressed in Table 2:

3.2. Establish an Associative Array and Function for System Users and Data Files

The digital-data-sharing system proposed in this study was developed specifically for teaching-material-related use. The proposed system stores data provided by publishers (partner vendors), the Ministry of Education, teaching material authors, and teachers. The system applies encryption keys to the data uploaded by the various users to generate encrypted files, which are then stored in the cloud server. The CA builds a structure in which m files form a set file = {file1, file2, ..., filem}. Additionally, the CA creates decryption keys corresponding to fileu, where u = 1, 2, ..., m, protecting the encrypted files from random access. The decryption keys are expressed as DKu, where u = 1, 2, ..., m. The relationship between the files and keys can be shown in Table 3.
The following adjacency matrix illustrates the access relationships. Assume the system structure comprises six security classes and four files; {security classes} × {files} data may be arranged in a two-dimensional array as follows:
f i l e 1 f i l e 2 f i l e 3 f i l e 4 S 1 S 2 S 3 S 4 S 5 S 6 [ 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 ]
We define the indicate function as I(x, y). This function expresses that user i is permitted to obtain fileu using DKu. Variable x represents user’s id i, and the variable y represents file’s id u. User i uses his or her secret superkey Hi to access row i. According to the construction, row i contains the set of fileu that user i is authorized to access. For example, I(3, 2) = 1 because user 3 is authorized to access file2. I(6, 1) = 0 because user 6 is not authorized to access file1.
I ( x , y ) = { 1 ,   if   user   x   has   access   to   file   y   0 ,   otherwise
For a flexible specification of access control policy, we combine the dynamically changing context by using the particular context database. It is mainly formed with 3w queries (who, what, and where), i.e., the sets of questions for judgement the specific people (1) whether he/she comes from the security class {S}; (2) what conditions that he/she needs to handle (specific information and resources to be obtained); and (3) what locations that he/she may exist (the determination of environments). Figure 2 shows the detailed structure of the database. Here, we require that before people, who have authority (i.e., I(x, y) = 1), access the file, he/she must firstly pass the queries from the context database.
Each query may equally come from different sets and the requested users need to send the right answers for the response queries, making the sum of value of identification factors be greater than, or equal to, one, i.e., { f a c t o r Q n |   0 f a c t o r Q n 1 ,   for   i = 1 , 2 , , n } , where f a c t o r Q 1 + f a c t o r Q 2 + + f a c t o r Q n 1 . The system can determine that the user has indeed been authorized and owned the right to get secure key and access the file contents by the sum of the factor value reaching to one.

3.3. Establish the Correlation Functions to Derive Keys of System Users

To accurately derive DKs to access the desired file, numerous auxiliary polynomials and functions are stored in the system to assist in the processing of access control. First, the authenticity of users’ keys must be defined. Therefore, the indicator function is defined as I { H 1 , ... , H n } ( x ) = { 1 , i f x { H 1 , ... , H n } 0 ,   o . w . , where an output result of 1 represents an authentic key. For other outputs, the key is rejected.
Second, the clearance of the user must be determined for file access to be granted. Therefore, the function is defined as Ji = {u: 1 ≤ um, u is the file id that Si has permission to access} (assuming that the system contains n users and m files for access). The preceding two auxiliary functions form the function I J i ( y ) , which expresses that the user’s Si is authorized to access the DK. The function can be expressed as follows:
I J i ( y ) = { 1 , i f y J i 0 , o . w .
Third, several correlation functions can be generated by applying the Lagrange interpolation polynomial as below steps:
Step 1:
the CA establishes a unique superkey Hi, where i = 1, 2, ..., n, for user i in the S = {S1, S2, ..., Sn} set. The Hi is confidential to the user i.
Step 2:
the CA manages the Hi of all users and establishes an indicator function to authenticate the superkey: I { H 1 , ... , H n } ( x ) = { 1 , i f x { H 1 , ... , H n } 0 , o . w . .   I { H 1 ,     ... , H n } ( x ) indicates that the indicator function of set H = {H1, H2, ..., Hn}. I { H 1 , ... , H n } ( x ) is used to verify the authenticity of Hi.
Step 3:
the CA establishes the function Ai(x) applying Lagrange interpolation polynomial for user i, where A i ( x ) = { k = 1 k i n ( x H k ) ( H i H k ) } × I { H 1 , ... , H n } ( x ) , for i = 1, 2, …, n, xR.
Step 4:
the CA selects nonrepeated random integers {DK1, DK2, …, DKm} (supposing m confidential files exist) as the decryption key for encrypting and decrypting confidential files. The CA maintains the confidentiality of the DKu and publishes the public parameter u.
Step 5:
the CA defines Ji = {u: 1 ≤ um, u is the file id that Si has permission to access} when n users exist for i = 1, 2, ..., n and m files for u = 1, 2, ..., m. Ji is the set of file id’s that user i is authorized to visit.
Step 6:
the CA defines I J i ( y ) = { 1 , i f y J i 0 , o . w . . This indication function expresses that user i is authorized to access the DKu. The function Bi(y) is established by applying Lagrange interpolation polynomial for each user i. Let B i ( y ) = { u J i D K u [ t = 1 t u m ( y t ) ( u t ) ] } × I J i ( y ) , yR.
Step 7:
the CA establishes the key-deriving function G ( x , y ) = i = 1 n A i ( x ) B i ( y ) , xR, yR. That is, G(x, y) = A1(x)B1(y) + A2(x)B2(y) + … + An(x)Bn(y) for (x, y) ∈ R × R, and the CA declares it publicly.
Continually, user i can incorporate the owned superkey Hi and the file id u to G(x, y) for deriving the DKu, which is then used to decrypt fileu. The derivation process is described in the following steps:
Step 1:
user i incorporates the superkey Hi into I { H 1 , ... , H n } ( x ) = { 1 , i f x { H 1 , ... , H n } 0 , o . w . . If user i’s superkey Hi is present in the authentication list established by the CA, then H i { H 1 , ... , H n } and I { H 1 , ... , H n } ( H i ) = 1 . If user i’s superkey Hi is not present in the authentication list, then I { H 1 , ... , H n } ( H i ) = 0 .
Step 2:
user i incorporates the superkey Hi into A i ( x ) = { k = 1 k i n ( x H k ) ( H i H k ) } × I { H 1 , ... , H n } ( x ) . If user i uses his or her superkey Hi and the superkey Hi is present in the authentication list established by the CA, then I { H 1 , ... , H n } ( x ) = 1 can be incorporated for calculation. In this instance, Ai(Hi) = 1 and Ai(Hk) = 0 for ki.
Step 3:
user i incorporates the id u of the desired fileu into I J i ( y ) = { 1 , i f y J i 0 , o . w . , where Ji = {u: 1 ≤ um; u is the file id that Si has permission to access }. If user i is authorized to access DKu, then yJi and I J i ( y ) = 1 .
Step 4:
user i incorporates the id u of the desired fileu into B i ( y ) = { u J i D K u [ t = 1 t u m ( y t ) ( u t ) ] } × I J i ( y ) . If user i is authorized to access DKu, then Bi(y) = DKy if yJi or Bi(y) = 0 if yJi.
Step 5:
user i calculates G ( x , y ) = i = 1 n A i ( x ) B i ( y ) . If x ∈ {H1, H2, …, Hn} and yJx., then G(x, y) = DKy. In this instance, the user can derive the decryption key; otherwise, G(x, y) = 0.

3.4. Change the Access Permissions of Users

The system users’ membership system may be added or removed due to different events, or as time changes. Additionally, users’ access permissions may change, and data may be added, modified, or deleted according to different access requirement. In this study, we developed an approach to resolve management problems related to system access security without sacrificing computing power and storage space.
The proposed system calculates the public function G(x, y). The following goals may be achieved by updating the function and modifying the parameters: (1) add user; (2) remove user, and (3) update user permissions.
G ( x , y ) = i = 1 n A i ( x ) B i ( y ) , x R , y R
Further decomposition of G(x, y) yields A1(x)B1(y) + A2(x)B2(y) + … + An(x)Bn(y) where (x, y) ∈ R×R and the subfunction Ai(x) is correlated to the authentication of user data. The subfunction verifies whether Hi is present in a legitimate list in the system and whether the user can acquire a personal key for authentication. Additionally, subfunction Bi(y) is correlated to data authentication. These subfunctions verify whether users can acquire DKu to decrypt encrypted data files. Ai(x) and Bi(y) can be expressed as follows:
A i ( x ) = { k = 1 k i n ( x H k ) ( H i H k ) } × I { H 1 , ... , H n } ( x ) ,   for   i =   1 ,   2 ,   ,   n ,   x   R
B i ( y ) = { u J i D K u [ t = 1 t u m ( y t ) ( u t ) ] } × I J i ( y ) ,   y   R
(1)
Add user: to add a user, the system merely update the indication functions I { H 1 , ... , H n + 1 } ( x ) and I J v ( y ) and creates Av(x), Bv(y), and Jv for the new user Sv, after which the data are updated to G(x, y). In other words, G’(x, y) = G(x, y) + Av(x)Bv(y). Only simple additive operation is involved in the computation.
(2)
Remove user: similar to the process for adding a user, the system removes the Av(x) and Bv(y) parameters associated with member Sv from G(x, y) to remove a user. Therefore, G’(x, y) = G(x, y) − Av(x)Bv(y). A subtraction algorithm is used in the computation.
(3)
Update user access permissions: when a system user wishes to modify their access permissions, the system redefines Ji = {u: 1 ≤ um, u is the file id that Si has permission to access }, where Ji represents the updated Si permissions. Bi(y) is then updated to Bi(y); that is, the function Ji related to Bi(y) is replaced by Ji to obtain G’(x, y) = G(x, y) − Ai(x)Bi(y) + Ai(x)Bi(y), reflecting the new permissions for the user. Addition and subtraction algorithms are used in the computation.

3.4.1. Adding a New Security Class

In case that Sv is a new security to be inserted into the user hierarchy; CA executes the procedure below for inserting the new security class Sv.
Step 1:
CA distributes the secret parameter superkey Hv to a new security class Sv.
Step 2:
CA establishes Av(x). Av(x) is identical to that of Ai(x) except that n is replaced by n + 1, A v ( x ) = v = 1 v k n + 1 x H k H v H k . The index I { H 1 , ... , H n + 1 } ( x ) = { 1 , i f x { H 1 , ... , H n + 1 } 0 , o . w . is updated.
Step 3:
CA establishes the parameter Ji = {u: 1 ≤ um, u is the file ID of authorized Si} for Sv
Step 4:
CA establishes Bv(y), where B v ( y ) = { u J v D K u [ t = 1 t u m ( y t ) ( u t ) ] } × I J v ( y ) .
Step 5:
The index I J v ( y ) = { 1 , i f y J v 0 , o . w . is updated.
Step 6:
CA updates formula G(x, y) in the original scheme that the new formula appears G’(x, y) = G(x, y) + Av(x)Bv(y)
In the above process to append a user, CA simply updates the indices I { H 1 , ... , H n + 1 } ( x ) and I J v ( y ) and establishes Av(x), Bv(y), Jv for the new security class Sv. The information is updated to formula G(x, y). Few costs are required for computing the new security class Sv, and merely addition is required for updating the entire scheme.

3.4.2. The Example of Adding a New Security Class

In this example, we assume that the digital-sharing mechanism contained the security classes S1 through S6 and the digital resources file1 to file5. A downstream bookstore joins the sharing mechanism as S7 and the owner receives authorization to access Junior High School Year 1 English, Senior High School Year 2 Physics, and Senior High School Year 3 Chemistry (Table 4).
First, the CA assigns the superkey H7 to the downstream bookstore and updates the indication functions to I { H 1 , ... , H n + 1 } ( x ) and I J v ( y ) according to the digital-resource permissions of the bookstore. The CA defines J7 = {1, 3, 4} for S7 and creates the following equation:
A 7 ( x ) = { ( x H 1 ) ( x H 2 ) ( x H 3 ) ( x H 4 ) ( x H 5 ) ( x H 6 ) ( H 7 H 1 ) ( H 7 H 2 ) ( H 7 H 3 ) ( H 7 H 4 ) ( H 7 H 5 ) ( H 7 H 6 ) } × I { H 1 , ... , H 7 } ( x )
B 7 ( y ) = { D K 1 × ( y 2 ) ( y 3 ) ( y 4 ) ( y 5 ) ( 1 2 ) ( 1 3 ) ( 1 4 ) ( 1 5 ) + D K 3 × ( y 1 ) ( y 2 ) ( y 4 ) ( y 5 ) ( 3 1 ) ( 3 2 ) ( 3 4 ) ( 3 5 ) + D K 4 × ( y 1 ) ( y 2 ) ( y 3 ) ( y 5 ) ( 4 1 ) ( 4 2 ) ( 4 3 ) ( 4 5 ) } × I J 7 ( y )
Finally, all parameters are updated into a new formula G’(x, y) = G(x, y) + A7(x)B7(y)

3.4.3. Removing an Existing Security Class

Assuming that an existing security class Sv is to be removed from the digital-sharing mechanism, CA could precede the following Step 1 or Step 2.
Step 1:
CA removes the relevant parameter Av(x)Bv(y) in the security class Sv from G(x, y). G’(x, y) = G(x, y) − Av(x)Bv(y)
Step 2:
Jv is defined as the set of file ID’s, which the user v is authorized to visit. Instinctively, CA updates Jv and deletes the authorization of the user: Jv = ϕ = empty set

3.4.4. The Example of Removing an Existing Security Class

Assuming that S7 downstream bookstore in the original scheme is no longer authorized, CA tends to remove S7 from the scheme, as below (Table 5):
CA could choose one of the following methods to remove S7; one is to update formula G’(x, y) = G(x, y) − A7(x)B7(y) to remove the relevant parameters in S7 and the other is to update J7 = ϕ so that S7 could not pass the authorization verification.

3.4.5. Updating a User Authorized

In the initial phase of the proposed scheme, CA would establish the access authority for the security class Si. When a user is updated by the system authorization, CA would proceed the following steps.
Step 1:
CA resets Ji = {u: 1 ≤ um, u is the file ID of authorized Si}. Ji presents the new authorization of Si after update. When the authorization to the digital-sharing mechanism is changed, CA would re-calculate the adjacency matrix to generate a new set Ji.
Step 2:
CA updates Bi(y) to Bi(y), as Ji is replaced by Ji and the information of Ji is relevant with Bi(y). Assuming that a new authorization of set Ji is given to user i, then G’(x, y) = G(x, y) − Ai(x)Bi(y) + Ai(x)Bi(y).
According to the above steps, the establishment of Ji could easily update the authorization of user i to access to digital data. When the user i does not present any authorization, Bi(y) does not need to be updated, but just take Ji = ϕ = empty set.

3.4.6. The Example of Updating a User Authorized

Assuming that S4 student could access to file4 Chemistry in the original scheme, but no longer could after the research project being changed, a new authorization allows to access to file2 mathematics, as below (Table 6):
CA updates J4 = {4} to J4 = {2} and updates B4(y). Then G’(x, y) = G(x, y) − A4(x)B4(y) + A4(x)B4(y)
B 4 ( y ) = { D K 2 × ( y 1 ) ( y 3 ) ( y 4 ) ( y 5 ) ( 2 1 ) ( 2 3 ) ( 2 4 ) ( 2 5 ) } × I J 4 ( y )
In this dynamic access section, the construction and updating of G(x, y) involve only simple arithmetic calculations. These can be done on a fly for a system consisting of millions of servers and millions of files. This scheme is easy to operate as the user i just enters a pair of valid (Hi, u) to get the correct DKu. The system administrator calculates and updates G(x, y) in the background in real time. Every server follows exactly the same operational steps to retrieve the correct decryption key.

4. Analysis of Security

In this section, a security analysis is performed to examine whether the proposed scheme is secure in practical applications. The analysis focuses on four types of attack that may affect the system’s security.

4.1. Equation Attack

Equation attack: attackers attempt to use a public formula G(·) to crack polynomials using mathematical algorithms and obtain the DKu.
Equation attacks occur during updates of users’ permissions. When one user is being removed while the other users remain unchanged, attackers can subtract old public data G(·) with new public data G’(·), or G’(·) − G(·) = 0, to derive DKu. The mechanism designed in this study can withstand equation attacks. In Section 3, we propose the following three dynamic update methods:
  • Addition of a new security class: G’(x, y) = G(x, y) + Av(x)Bv(y)
  • Deletion of a security class: G’(x, y) = G(x, y) − Av(x)Bv(y)
  • Update of a user’s authorization G’(x, y) = G(x, y ) − Ai(x)Bi(y) + Ai(x)Bi’(y)
In all three dynamic update methods, the public parameters G(x, y) from before the update are subtracted from the updated public parameters G’(x, y). Therefore, attackers can only derive Av(x)Bv(y) or Ai(x)Bi(y) + Ai(x)Bi’(y). In the proposed methods, both Av(x) and Bv(y) are polynomials created through Lagrange interpolation. Therefore, a multiplication algorithm must be applied to convert Av(x) and Bv(y) into an (n − 1)(m − 1)th order polynomial with two unknowns.
A v ( x ) = { u = 1 u v n ( x H u ) ( H i H u ) } × I { H 1 , , H n } ( x ) = a 0 + a 1 x + + a n 1 x n 1
B v ( y ) = { j J v D K u [ t = 1 t u m ( y t ) u t ] } × I J v ( y ) = b 0 + b 1 y + + b m 1 y m 1
Av(x)Bv(y) = a0b0 + a1b0x + a0b1y + a1b1xy …+ an−1bm−1xn−1ym−1
If the attacker incorporates x = 0 or y = 0 into the deduction, the returned polynomial messages of Av(x)Bv(y) would comprise a string of unstructured data. Therefore, our methods are not vulnerable to compromising attacks.

4.2. External Attack

External attack: external users attempt to use public parameters to gain access. They attempt to obtain DKu or decrypt documents to acquire a digital resource stored in the cloud.
Digital teaching materials, data, and data sources acquired from the cloud can be sold at a low price, which not only infringes upon the authors' intellectual property rights, but also causes immense losses for publishers. For an unauthorized external user to access digital resources in the proposed digital sharing mechanism, the user must use public parameters to derive the decryption key and decrypt the files to acquire meaningful data.
The most critical known public parameter for external attackers is the public function G(x, y), because this function contains the DKu. Therefore, the equations based on this function must be protected. In the proposed method, each security class Si can be incorporated into private superkeys Hi using the public function G(x, y) to derive the DKu. If an external attacker attempts to obtain the DKu, he or she must decrypt the Lagrange interpolating polynomials to obtain a secret key. For external attackers that can only obtain the public function G(x, y) and file id u, the large number of unknown variables hinders them from reverse deriving the DKu through mathematical computation. Therefore, attackers cannot unlawfully acquire digital teaching materials, data, or data sources through external attacks on the proposed system.
In the proposed method, the CA can choose any encryption method to generate the DKu. For example, symmetrical key systems such as DES, Triple DES, or AES use diffusion and confusion to block hackers from cracking encryptions through statistical calculations. At present, these password systems remain challenging to crack. Therefore, attackers cannot directly extract meaningful content from encrypted documents in the proposed system.

4.3. Collaborative Attack

Collaborative attack: two or more authorized users collaborate and share superkeys Hi with each other in an attempt to derive a DKj outside their authorization or other users’ superkeys Hi.
The security class Si adopted in the proposed method involves partially ordered relationships. When Si is authorized to access Sj, the following formula G(x, y) can be used:
G(x, y) = A1(x)B1(y) + A2(x)B2(y) + … + An(x)Bn(y)
Therefore, we define a collaborative attack as a situation in which two or more authorized users target another authorized user. Two example scenarios are presented subsequently. In the first scenario, the collaborating attackers are in a partially ordered relationship with their target. In the second scenario, the collaborating attackers are not in a partially ordered relationship with their target.
Scenario 1: the collaborative attackers attempt to collect each other’s privacy parameters superkey Hi and obtain the DKu of another user in the system that the attackers do not have permission to access. Based on the above Section 3.4.2, the clearance of the collaborating attackers are S3 = {1, 4} and S4 = {4} and that of the target is S7 = {1, 3, 4}. In contrast to S3 and S4, S7 is authorized to access file3. Therefore, in this example, S3 and S4 collaboratively launch an attack to acquire S7 and DK3. The data related to DK3 is hidden in A7(x)B7(y).
A 7 ( x ) = { ( x H 1 ) ( x H 2 ) ( x H 3 ) ( x H 4 ) ( x H 5 ) ( x H 6 ) ( H 7 H 1 ) ( H 7 H 2 ) ( H 7 H 3 ) ( H 7 H 4 ) ( H 7 H 5 ) ( H 7 H 6 ) } × I { H 1 , ... , H 7 } ( x )
B 7 ( y ) = { D K 1 × ( y 2 ) ( y 3 ) ( y 4 ) ( y 5 ) ( 1 2 ) ( 1 3 ) ( 1 4 ) ( 1 5 ) + D K 3 × ( y 1 ) ( y 2 ) ( y 4 ) ( y 5 ) ( 3 1 ) ( 3 2 ) ( 3 4 ) ( 3 5 ) + D K 4 × ( y 1 ) ( y 2 ) ( y 3 ) ( y 5 ) ( 4 1 ) ( 4 2 ) ( 4 3 ) ( 4 5 ) } × I J 7 ( y )
However, S3 and S4 only possess H3 and H4, and these superkeys are unable to pass the A7(x) test. Lagrange interpolation calculations using these superkeys yield empty values. Therefore, A7(x)B7(y) = 0 × B7(y) = 0. In this instance, a collaborative attack is similar to an independent attack, and the attackers are not able to obtain additional data.
Scenario 2: the collaborating attackers are not in a partially ordered relationship with their target. The attackers collect each other’s parameters to increase the probability of deriving DKu. According to Section 4.1, the clearances of the collaborating attackers are S3 = {1, 4} and S4 = {4}, and that of the target is S5 = {5}. As described, no partially ordered relationship exists between S5 and S3 or S4. To obtain S5 and gain access to file5, S3 and S4 must collaboratively launch an attack on S5 to obtain DK5. As in Scenario 1, S3 and S4 only possess the superkeys H3 and H4, which cannot be used to pass the A5(x) test, and calculations only yield empty values.
Thus, private superkeys Hi cannot be collected to derive a DKu without authorization, regardless of the number of attackers or whether a partially ordered relationship exists between the attacker(s) and the target.
In addition to DKu, attackers may also target superkeys Hi. In Scenario 1, the A7(x) results indicate that S3 and S4 only possess H3 and H4. Thus, these users lack sufficient data to obtain H7 from the A7(x) results produced through Lagrange interpolation. Therefore, collaborative attacks are ineffective against the proposed system.

4.4. Reverse Attack

Reverse attack: an authorized user (attacker) uses a known public formula G(x, y) and his or her private parameters to obtain the superkeys Hi of other users.
Based on Section 3.4.2, users with S6 and S7 are generally able to derive DK1 by applying G(x, y). S6 is in a partially ordered relationship with S7. Specifically, S6S7, where S6 = {1} and S7 = {1, 3, 4}. In this scenario, the user that corresponds with S6 is the attacker that attempts to use H6 and G(x, y) to derive the H7 of S7 and then use S7 to obtain file3 and file4.
The proposed method only involves one public formula: G(x, y) = A1(x)B1(y) + … + A6(x)B6(y) + A7(x)B7(y). To use S6 in the deduction process, point (H6, 1) is incorporated into the aforementioned polynomials for calculation. Subsequently, S7 can be used to incorporate points (H7, 1), (H7, 3), and (H7, 4) into the calculations and thereby derive the key allocated by the CA. However, DK3 and DK4 of file3 and file4 cannot be obtained through incorporating S6 to point (H6, 3) or point (H6, 4).
The user corresponding with S6 attempts to acquire the DK3 and DK4 of S7. Therefore, the target is H7 or DK3 and DK4 related to A7(x)B7(y)7. Because S6 can be used to incorporate point (H6, 1) into G(H6, 1) = DK1, the user corresponding with S6 may attempt the following calculations:
G(H6, 1) − DK1 = 0
A1(H6)B1(1) + … + A6(H6)B6(1) + A7(H6)B7(1) + … + An(H6)Bn(1) − DK1 = 0
c0d0 + c1d0x + c0d1y + c1d1xy + … + cn−1dm−1xn−1ym−1DK1 = 0
The equation demonstrates that G(x, y) is an (n − 1)(m − 1)th order polynomial with two unknowns. The attacker cannot decipher the data of A7(x)B7(y) from the polynomials. G(x, y) is extremely simple and does not contain numerous parameters that attackers can manipulate. Even if the attacker gains a portion of A7(x)B7(y), A7(x) and B7(y) are still protected by separate mechanisms.
H7 data are hidden in A7(x), which is generated through Lagrange interpolation, expressed as follows:
A 7 ( x ) = { ( x H 1 ) ( x H 2 ) ( x H 3 ) ( x H 4 ) ( x H 5 ) ( x H 6 ) ( H 7 H 1 ) ( H 7 H 2 ) ( H 7 H 3 ) ( H 7 H 4 ) ( H 7 H 5 ) ( H 7 H 6 ) } × I { H 1 , ... , H 7 } ( x ) , A7(x) verifies whether the Hi inputted by the user is present in the verification list approved by the CA. If the user is not approved by the CA, then the Hi is rejected from I { H 1 , ... , H n } ( x ) . If the user uses a superkey other than H7, Lagrange interpolation calculation yields a value of 0.
DK3 and DK4 data are hidden in B7(y), which is generated through Lagrange interpolation.
B 7 ( y ) = { D K 1 × ( y 2 ) ( y 3 ) ( y 4 ) ( y 5 ) ( 1 2 ) ( 1 3 ) ( 1 4 ) ( 1 5 ) + D K 3 × ( y 1 ) ( y 2 ) ( y 4 ) ( y 5 ) ( 3 1 ) ( 3 2 ) ( 3 4 ) ( 3 5 ) + D K 4 × ( y 1 ) ( y 2 ) ( y 3 ) ( y 5 ) ( 4 1 ) ( 4 2 ) ( 4 3 ) ( 4 5 ) } × I J 7 ( y )
Users’ file access clearance must be approved by the CA to pass authentication of I J i ( y ) , where Ji = {j: 1 ≤ jm}. Otherwise, the function yields an empty value.
Resources outside of individuals’ authorization cannot be retrieved by reversing polynomials. In sum, the proposed method blocks equation attacks.

4.5. Proof of Lagrange Interpolation Theorem

In this subsection, we prove the used Lagrange interpolating polynomial is secure so that the above-mentioned malicious attacks, including equation attack, external attack, collaborative attack, and reverse attack are meaningless for our scheme. The proof is shown as follows:
Theorem 1 (Lagrange interpolation): given t distinct points (xi, yi) of the form (xi, f(xi)), where f(x) is a polynomial of degree less that t, then f(x) is determined by:
f ( x ) = i = 1 t y i 1 j t i j   x x i x i x j
The scheme of Shamir [30] is defined for a secret s ϵ Z / p Z with p prime, by setting a0 = s, and selecting a1, ..., at−1 randomly in Z / p Z . The trusted party computes f(i), where:
f ( x ) = k = 0 t 1 a k x k
For all 1 ≤ in. The shares (i, f(i)) are distributed to the n distinct parties. Due to the fact that the secret is the constant term s = a0 = f(0), the secret is regained from any t shares (i, f(i)), for I ⊂ {1, ..., n} by s = i I   c i f ( i ) , where each c i = j I j i   i j i .
Exercise: prove the formula for the secret to be accurate by replacing into the formula of Lagrange’s interpolation theorem.
Properties: rhe features of Shamir’s secret sharing scheme are as follows: (1) all hypotheses are under proof, (2) perfect - all information is well-protected by the shares, and (3) ideal - every share is of the same size p as the secret. Comparatively, almost all public key cryptosystems depend on some familiar problems (discrete logarithm problems, integer factorization) for hardness so that the safety can be assured.
Proof of Lagrange interpolation theorem: suppose g(x) is the right-hand side of equation (11). For each xi in we verify directly that f(xi) = g(xi), so as we can get f(x) – g(x) is divisible by xxi. It follows that:
i = 1 t ( x x i ) | ( f ( x ) g ( x ) )
However, because deg(f(x) − g(x)) ≤ t, the only polynomial of this degree satisfying Equation (13) is f(x) − g(x) = 0. □

4.6. Problems with Multi-User Access Requests

The proposed digital-data-sharing system is a user-centered structure that integrates all kinds of teaching materials from different users. The collected data are stored in cloud servers to achieve the purpose of digital information integration and resources share and exchange.
Cloud computing environments show the characteristics of easy expansion and resource share in which it presents several advantages to satisfy the integration, share and exchange of digital materials. In such digital-data-sharing system, the requirements of users to rapidly propose access request and receive permission from cloud service providers should be satisfied.
For this reason, dynamic access schemes need to be established completely to ensure providing instant and entire services of digital data. The key is the services provided by the sharing system being able to support distinct dynamic access demands so as to correspond to the data and user change in cloud computing environments.
The proposed scheme and method are flexible and could deal with all the security management problems of dynamic keys, such as adding a new security class, removing an existing security class, and updating a user authorized. The involved solutions are simple, mainly addition and deduction, that it does not require enormous computation and storage space for parameter update. Regarding the key-deriving formula G(x, y) in Section 3:
G ( x , y ) = i = 1 n A i ( x ) B i ( y )
Function Ai(x) is related to information verification for verifying the existence of Hi in the legal verification list of CA and the use of personal superkey for verification. Function Bi(y) relates to the data verification for verifying the authorization of a user to obtain the decryption key DKu to further decrypt the encrypted digital materials.
The dynamic access requirements of sharing system in cloud are considered from two aspects: users and material data. First, users are changeable. Unlike static access model, which could establish all user parameters in the beginning of access scheme, the constant increase or removal of material authors, students, parents, publishers, and various teachers could propose new requests to the user-centered sharing system. User parameters need to be continuous updated to the initial access scheme to correspond to the dynamic users.
Second, material files require appending and revision. The integration of digital data comes from the different users, units, and information sources. In addition to the author, authorized users with requests should be able to update the material records and revise the documents in the sharing system. For this reason, the data of the materials could be appended and removed with dynamic requests after the establishment of access scheme.
In regard to the above considerations, the established formula G(x, y) is nimble and flexible, which could be easily updated and revise the parameters instantaneously.

4.7. Discussion

In this subsection, we discuss the computational overheads and storage required for use of the proposed system. Definitions of notations used in performance evaluation of the proposed scheme are presented in Table 7.
Knuth demonstrated that the process of interpolating at (n + 1) points requires (n2 + n)/2 divisions and (n2 + n) subtractions by Newton’s formula, where n is the degree of the interpolating polynomial [46].
With regard to the evaluation of the polynomial for the derivation of the successor’s secret parameters, Knuth demonstrated that this scheme requires (2n − 1) multiplications and (2n) additions in addition to one modular operation performed by applying Horner’s rule.
Therefore, as Table 8 shows, the proposed scheme requires 2 n T l ( ) + n T m u l to create G(x, y) in the process of key generation, where Tl() is the computation time for the interpolating polynomial. As described, the required computations are as follows: Tl() = (2n − 1) multiplications + (2n) additions + 1 modular operation, ( 1 i n v i + n ) T l ( ) + n T m u l . Thus, in total, this process spends ( 1 i n v i + 3 n ) T l ( ) + 2 n T m u l . In terms of storage, the public parameters G(x, y), u in this study require (m + 1)|p|, and the storage for each security class of a private key Hi is |p|.

4.8. Comparison

With the advent of the era of cloud computing, the values of access mechanisms lie in their compatibility with various Internet applications as well as their security and efficiency. In this subsection, we compare confidentiality, data integrity, correctness and completeness, time complexity, and whether the key encryption scheme is possessed with other presented schemes. As showed in Table 9, four schemes proposed by Chung et al. [31], Liu et al. [15], Hsiao et al. [47], and ours achieve privacy protection (using notation O to express) due to their owning the key mechanism for encryption data. Specially, Hsiao et al.’s [47] and our schemes also provide access control function and are thus suitable for cloud environments. In respect of time complexity, Chung et al.’s method [31] is based on an elliptic curve cryptosystem, Liu et al.’s scheme [15] is based on the bilinear pairing, and Hsiao et al.’s model [47] is based on the discrete logarithm problem, time taken is exponential time and the time complexity is O(2N). The proposed scheme is based on the lagrange interpolation polynomial, time complexity is only O(N). Due to no key generation and derivation process for the control systems of Trnka and Cerny [40] and A. S. M. Kayes et al. [37], no discussion occurred here. In addition, in both schemes, there is no encryption function for access files. The user who wants to access files can only be determined by the access control, their confidentiality are thus partially achieved (using notation ∆ to express). Finally, all schemes are correctly completed on all process designs, so they can achieve correctness and completeness.

5. Conclusions and Future Works

Cloud-based education has been actively promoted in recent years. Amid these efforts, the promotion of digital sharing systems is essential to ensure user and data security. To harness the immense benefits of cloud computing, we developed a cloud-based and learner-centered access control mechanism suitable for multi-user applications. The mechanism resolves the problems of managing numerous users and reduces the complexity of access relationships. It also ensures the confidentiality and integrity of user data stored in the cloud and prevents unauthorized individuals from randomly accessing or modifying digital data. The integrated learning feature of sharing systems prevents repeated investment and development, protects the natural environment, and enhances economic efficiency. Therefore, these systems may be used to facilitate the shift of mobile services to the cloud and stimulate developments in the software industry.
In the future, we will be strengthening the design for context-awareness to reach the perfect combination of CAAC and RABC with encryption function. In addition to a more stable use for cloud sharing, the scheme will be going further to a wider application in key managements, and access control for the area of Big Data, the Internet of Things, and AI that emphasize dynamic authentication, e.g., voice-command access control, biometric access control, intelligence-learning access control and key-configuration mechanism.

Funding

This research received no external funding

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fosnot, C.T.; Perry, R.S. Constructivism: A Psychological Theory of Learning. Constructivism: Theory, Perspectives, and Practice, 2nd ed.; Teachers College Press: New York, NY, USA, 2005; pp. 8–33. [Google Scholar]
  2. Woolley, D.R. PLATO: The emergence of on-line community. Comput.-Mediated Commun. Mag. 1994, 1, 5. [Google Scholar]
  3. Pivec, M.; Dziabenko, O.; Schinnerl, I. Aspects of game-based learning. In Proceedings of the 3rd International Conference on Knowledge Management, Graz, Austria, 2–4 July 2003. [Google Scholar]
  4. Ebner, M.; Böckle, M.; Schön, M. Game Based Learning in Secondary Education: Geographical Knowledgeof Austria. In Proceedings of the 2011 World Conference on Educational Multimedia, Hypermediaand Telecommunications, Lisbon, Portugal, 27 June–1 July 2011. [Google Scholar]
  5. Moschini, E. Designing for the smart player: Usability design and user-centred design in game-based learning. Digit. Creat. 2006, 17, 140–147. [Google Scholar] [CrossRef]
  6. Prensky, M. Digital game-based learning. Comput. Entertain. (CIE) 2003, 1, 21. [Google Scholar] [CrossRef]
  7. Mell, P.; Grance, T. The NIST Definition of Cloud Computing; National Institute of Standards and Technology: Gaithersburg, MD, USA, 2011. [Google Scholar]
  8. Brunette, G.; Mogull, R. Security Guidance for Critical Areas of Focus in Cloud Computing V4.0; Cloud Security Alliance: Seattle, WA, USA, 2017. [Google Scholar]
  9. Gens, F. New IDC It Cloud Services Survey: Top Benefits and Challenges. 2009. Available online: http://blogs.idc.com/ie/?p=730 (accessed on 18 October 2018).
  10. Gai, K.; Qiu, M. Blend Arithmetic Operations on Tensor-Based Fully Homomorphic Encryption over Real Numbers. IEEE Trans. Ind. Inform. 2018, 14, 3590–3598. [Google Scholar] [CrossRef]
  11. Gai, K.; Qiu, M.; Ming, Z.; Zhao, H.; Qiu, L. Spoofing-Jamming Attack Strategy Using Optimal Power Distributions in Wireless Smart Grid Networks. IEEE Trans. Smart Grid 2017, 8, 2431–2439. [Google Scholar] [CrossRef]
  12. Carminati, B.; Colombo, P.; Ferrari, E.; Sagirlar, G. Enhancing User Control on Personal Data Usage in Internet of Things Ecosystems. In Proceedings of the 2016 IEEE International Conference on Services Computing (SCC), San Francisco, CA, USA, 27 June–2 July 2016. [Google Scholar]
  13. Sandhu, R.S.; Coyne, E.J.; Feinstein, H.L.; Youman, C.E. Role-Based Access Control Models. IEEE Comput. 1996, 29, 38–47. [Google Scholar] [CrossRef]
  14. Li, M.; Yu, S.; Ren, K.; Lou, W. Securing Personal Health Records in Cloud Computing: Patient-centric and Fine-grained Data Access Control in Multi-owner Settings. In Proceedings of the International Conference on Security and Privacy in Communication Networks, Singapore, Singapore, 7–10 September 2010; pp. 89–106. [Google Scholar]
  15. Liu, C.-H.; Lin, F.-Q.; Chiang, D.-L.; Chen, T.-L.; Chen, C.-S.; Lin, H.-Y.; Chung, Y.-F.; Chen, T.-S. Secure PHR Access Control Scheme for Healthcare Application Clouds. In Proceedings of the 2013 42nd International Conference on Parallel Processing, Lyon, France, 1–4 October 2013; pp. 1067–1076. [Google Scholar]
  16. Saunders, G.; Hitchens, M.; Varadharajan, V. Role-Based Access Control and the Access Control Matrix. ACM SIGOPS Oper. Syst. Rev. 2001, 35, 6–20. [Google Scholar] [CrossRef]
  17. Coulouris, G.; Dollimore, J.; Roberts, M. Role and Task-Based Access Control in the PerDiS Groupware Platform. In Proceedings of the 3rd ACM Workshop on Role-Based Access, Fairfax, VA, USA, 22–23 October 1998. [Google Scholar]
  18. Joshi, J.B.D.; Bertino, E.; Latif, U.; Ghafoor, A. A Generalized Temporal Role-Based Access Control Model. IEEE Trans. Knowl. Data Eng. 2005, 17, 4–23. [Google Scholar] [CrossRef]
  19. Ott, A.; Fischer-Hübner, S. The Rule Set Based Access Control (RSBAC) Framework for Linux. 2004. Available online: http://www.rsbac.org/documentation/ (accessed on 8 March 2019).
  20. Hansen, F.; Oleshchuk, V. SRBAC: A Spatial Role-Based Access Control Model for Mobile Systems. In Proceedings of the 7th Nordic Workshop on Secure IT Systems, Narke, Sweden, 7–8 November 2002. [Google Scholar]
  21. Park, J.S.; Costello, K.P.; Neven, T.M.; Diosomito, J.A. A Composite RBAC Approach for Large, Complex Organizations. In Proceedings of the 9th ACM Symposium on Access Control Models and Technologies, Yorktown Heights, NY, USA, 2–4 June 2004. [Google Scholar]
  22. Wang, H.; Cao, J.; Zhang, Y. A Flexible Payment Scheme and Its Role-Based Access Control. IEEE Trans. Knowl. Data Eng. 2005, 17, 425–436. [Google Scholar] [CrossRef]
  23. Sandhu, R.S.; Munawer, Q. The RRA97 Model for Role-Based Administration of Role Hierarchies. In Proceedings of the 14th Annual Computer Security Applications Conference, Scottsdale, AZ, USA, 7–11 December 1998; pp. 39–49. [Google Scholar]
  24. Sandhu, R.S.; Samarati, P. Access control: Principle and practice. IEEE Commun. Mag. 1994, 32, 40–48. [Google Scholar] [CrossRef]
  25. Osborn, S.L.; Sandhu, R.S.; Munawer, Q. Configuring role-based access control to enforce mandatory and discretionary access control policies. ACM Trans. Inf. Syst. Secur. 2000, 3, 85–106. [Google Scholar] [CrossRef]
  26. Ferraiolo, D.F.; Sandhu, R.S.; Gavrila, S.I.; Kuhn, D.R. Ramaswamy Chandramouli: Proposed NIST standard for role-based access control. ACM Trans. Inf. Syst. Secur. 2001, 4, 224–274. [Google Scholar] [CrossRef]
  27. Chen, T.-S.; Chung, Y.-F. Hierarchical access control based on Chinese Remainder Theorem and symmetric algorithm. Comput. Secur. 2002, 21, 565–570. [Google Scholar] [CrossRef]
  28. Chen, T.-S.; Chung, Y.-F.; Tian, C.-S. A Novel Key Management Scheme for Dynamic Access Control in a User Hierarchy. In Proceedings of the COMPSAC 2004, Hong Kong, China, 28–30 September 2004; pp. 396–397. [Google Scholar]
  29. Pan, J.-Y.; Chen, T.-L.; Chen, T.-S. A Novel Key Management and Access Control Scheme for Mobile Agent. In Proceedings of the 2006 International Conference on Intelligent Computing, Kunming, China, 16–19 August 2006; pp. 334–345. [Google Scholar]
  30. Stallings, W. Cryptography and Network Security: Principles and Practice, 7th ed.; Prentice Hall: Upper Saddle River, NJ, USA, 2016. [Google Scholar]
  31. Chung, Y.-F.; Lee, H.-H.; Lai, F.; Chen, T.-S. Access control in user hierarchy based on elliptic curve cryptosystem. Inf. Sci. 2008, 178, 230–243. [Google Scholar] [CrossRef]
  32. Huang, K.-H.; Chung, Y.-F.; Liu, C.-H.; Lai, F.; Chen, T.-S. Efficient migration for mobile computing in distributed networks. Comput. Stand. Interfaces 2009, 31, 40–47. [Google Scholar] [CrossRef]
  33. Liu, C.-H.; Chung, Y.-F.; Chen, T.-S.; Wang, S.-D. Access Control and Key Management Scheme Based on Bilinear Pairings over Elliptic Curves for Mobile Agent. In Proceedings of the 2009 Third International Conference on Multimedia and Ubiquitous Engineering, Qingdao, China, 4–6 June 2009; pp. 189–196. [Google Scholar]
  34. Liu, C.-H.; Chung, Y.-F.; Chen, T.-S.; Wang, S.-D. Mobile Agent Application and Integration in Electronic Anamnesis System. J. Med. Syst. 2012, 36, 1009–1020. [Google Scholar] [CrossRef]
  35. Chen, T.-S.; Liu, C.-H.; Chen, T.-L.; Chen, C.-S.; Bau, J.-G.; Lin, T.-C. Secure Dynamic Access Control Scheme of PHR in Cloud Computing. J. Med. Syst. 2012, 36, 4005–4020. [Google Scholar] [CrossRef]
  36. Kayes, A.S.M.; Rahayu, W.; Dillon, T.; Chang, E.; Han, J. Context-aware access control with imprecise context characterization for cloud-based data resources. Future Gener. Comput. Syst. 2019, 93, 237–255. [Google Scholar] [CrossRef]
  37. Kayes, A.S.M.; Han, J.; Rahayu, W.; Dillon, T.; Islam, M.S.; Colman, A. A Policy Model and Framework for Context-Aware Access Control to Information Resources. Comput. J. 2019, 62, 670–705. [Google Scholar] [CrossRef]
  38. Schefer-Wenzl, S.; Strembeck, M. Modelling context-aware RBAC models for mobile business processes. Int. J. Wirel. Mob. Comput. 2013, 6, 448–462. [Google Scholar] [CrossRef]
  39. Hosseinzadeh, S.; Virtanen, S.; Rodríguez, N.D.; Lilius, J. A semantic security framework and context-aware role-based access control ontology for smart spaces. In Proceedings of the International Workshop on Semantic Big Data, San Francisco, CA, USA, 26 June–1 July 2016. [Google Scholar]
  40. Trnka, M.; Cerny, T. On security level usage in context-aware role-based access control. In Proceedings of the 31st Annual ACM Symposium on Applied Computing, Pisa, Italy, 4–8 April 2016; pp. 1192–1195. [Google Scholar]
  41. Colombo, P.; Ferrari, E. Towards Virtual Private NoSQL datastores. In Proceedings of the 2016 IEEE 32nd International Conference on Data Engineering (ICDE), Helsinki, Finland, 16–20 May 2016; pp. 193–204. [Google Scholar]
  42. Colombo, P.; Ferrari, E. Enhancing NoSQL datastores with fine-grained context-aware access control: A preliminary study on MongoDB. Int. J. Cloud Comput. 2017, 6, 292–305. [Google Scholar] [CrossRef]
  43. Kayes, A.S.M.; Han, J.; Colman, A. An ontology-based approach to context-aware access control for software services. In Proceedings of the International Conference on Web Information Systems Engineering, Nanjing, China, 13–15 October 2013; pp. 410–420. [Google Scholar]
  44. Kayes, A.S.M.; Han, J.; Colman, A.; Islam, M.S. RelBOSS: A relationship-aware access control framework for software services. In Proceedings of the 2014 OTM Confederated International Conferences “On the Move to Meaningful Internet Systems”, Amantea, Italy, 27–31 October 2014; pp. 258–276. [Google Scholar]
  45. Kayes, A.S.M.; Han, J.; Colman, A. PO-SAAC: A purpose-oriented situation-aware access control framework for software services. In Proceedings of the 2014 International Conference on Advanced Information Systems Engineering, Thessaloniki, Greece, 16–20 June 2014; pp. 58–74. [Google Scholar]
  46. Szidarovszky, F.; Yakowitz, S. Principles and Procedures of Numerical Analysis; Springer: Boston, MA, USA, 1978. [Google Scholar]
  47. Hsiao, T.C.; Wu, Z.Y.; Chen, T.L.; Chung, Y.F.; Chen, T.S. A hierarchical access control scheme based on Lagrange interpolation for mobile agents. Int. J. Distrib. Sens. Netw. 2018, 14, 1–7. [Google Scholar] [CrossRef]
Figure 1. Access diagram for the cloud-based digital sharing system.
Figure 1. Access diagram for the cloud-based digital sharing system.
Sensors 19 02817 g001
Figure 2. Context database and query set for the proposed digital sharing system.
Figure 2. Context database and query set for the proposed digital sharing system.
Sensors 19 02817 g002
Table 1. Symbol definitions and parameters.
Table 1. Symbol definitions and parameters.
SymbolDefinitionFunction
SiSecurity class, Si = {u: u is the file id that Si is authorized to access}, for i = 1, 2, ..., nTo distinguish the user’s security class
HiSuperkey Hi, for i = 1, 2, ..., nTo obtain the key for accessing fileu
DKuDecryption key, for u = 1, 2, ..., mTo decrypt the fileu key
fileuFileu, for u = 1, 2, ..., mRepresents the file encrypted with DKu
I { H 1 , ... , H n } ( x ) The indicate function of set {H1, H2, ..., Hn}To determine whether Hi is present in the authentication list approved by the central authority (CA)
JiJi = {u: 1 ≤ um, u is the file id that Si is authorized to access}User-authorized file set
I J i ( x ) The indicate function of set JiTo determine whether the user has authorized the file set
Table 2. Sets of security class and superkey.
Table 2. Sets of security class and superkey.
S1S2SiSn
H1H2HiHn←secret and distinct
Table 3. Decryption keys for corresponding encrypted files.
Table 3. Decryption keys for corresponding encrypted files.
file1file2fileufilem
12umfile id, public
DK1DK2DKuDKmdecryption keys, secret and distinct
Table 4. The results after adding a new security class.
Table 4. The results after adding a new security class.
file1(DK1)
Junior High School Year 1 English
file2(DK2)
Junior High School Year 2 Math.
file3(DK3)
Senior High School Year 2 Physics
file4(DK4)
Senior High School Year 3 Chemistry
file5(DK5)
University Year 1 Chinese
S1(H1): Teaching material author11111
S2(H2): Publisher11110
S3(H3): Teacher10010
S4(H4): Student00010
S5(H5): Cram school operator00001
S6(H6): Student parents10000
S7(H7): Downstream bookstore10110
Table 5. The resulting after revoking the existing current security class.
Table 5. The resulting after revoking the existing current security class.
file1(DK1)
Junior High School Year 1 English
file2(DK2)
Junior High School Year 2 Math.
file3(DK3)
Senior High School Year 2 Physics
file4(DK4)
Senior High School Year 3 Chemistry
file5(DK5)
University Year 1 Chinese
S1(H1): Teaching material author11111
S2(H2): Publisher11110
S3(H3): Teacher10010
S4(H4): Student00010
S5(H5): Cram school operator00001
S6(H6): Student parents10000
Table 6. The resulting after updating of a user authorized.
Table 6. The resulting after updating of a user authorized.
file1(DK1)
Junior High School Year 1 English
file2(DK2)
Junior High School Year 2 Math
file3(DK3)
Senior High School Year 2 Physics
file4(DK4)
Senior High School Year 3 Chemistry
file5(DK5)
University Year 1 Chinese
S1(H1): Teaching material author11111
S2(H2): Publisher11110
S3(H3): Teacher10010
S4(H4): Student01000
S5(H5): Cram school operator00001
S6(H6): Student parents10000
S7(H7): Downstream bookstore11111
Table 7. Notation table.
Table 7. Notation table.
DefinitionNotation
nNumber of security classes
mNumber of files
νiDegree of the polynomial f(x)
(the system involves N security classes, each with vi predecessors)
|p|Bit-length of an integer p
Tl()Time required to calculate an interpolating polynomial
TmulTime required for a multiplication computation
Table 8. Analysis of computation complexity.
Table 8. Analysis of computation complexity.
Key Generation/DerivationStorage of Public ParametersStorage of Private Keys for Each Security Class
Proposed scheme ( 1 i n v i + 3 n ) T l ( ) + 2 n T m u l (m+1)|p||p|
Table 9. Comparison with security requirements.
Table 9. Comparison with security requirements.
(1)(2)(3)(4)(5)
Chung et al. (2008) [31]OCryptographyOO(2N)Yes
Liu et al. (2013) [15]OCryptographyOO(2N)Yes
Trnka and Cerny (2016) [40]Access controlO-No
Hsiao et al. (2018) [47]OAccess control and cryptographyOO(2N)Yes
A. S. M. Kayes et al. (2019) [37]Access controlO-No
Our proposal (2019)OAccess control and cryptographyOO(N)Yes
(1) Confidentiality; (2) data integrity; (3) correctness and completeness; (4) complexity; (5) privacy protection.

Share and Cite

MDPI and ACS Style

Wu, Z.-Y. A Secure and Efficient Digital-Data-Sharing System for Cloud Environments. Sensors 2019, 19, 2817. https://doi.org/10.3390/s19122817

AMA Style

Wu Z-Y. A Secure and Efficient Digital-Data-Sharing System for Cloud Environments. Sensors. 2019; 19(12):2817. https://doi.org/10.3390/s19122817

Chicago/Turabian Style

Wu, Zhen-Yu. 2019. "A Secure and Efficient Digital-Data-Sharing System for Cloud Environments" Sensors 19, no. 12: 2817. https://doi.org/10.3390/s19122817

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop