Patent Publication Number: US-11379609-B2

Title: Health file access control system and method in electronic medical cloud

Description:
RELATED APPLICATIONS 
     This application is a United States National Stage Application filed under 35 U.S.C 371 of PCT Patent Application Serial No. PCT/CN2017/115412, filed Dec. 11, 2017, which claims Chinese Patent Application Serial No. 201711006385.2, filed Oct. 25, 2017, the disclosure of all of which are hereby incorporated by reference in their entirety. 
     TECHNICAL FIELD 
     The present invention relates to the field of information security technologies, and in particular, to a health file access control system and method in an electronic medical cloud. 
     BACKGROUND 
     With the rapid development of technologies such as wireless communication and cloud computing, the application prospects of electronic medical cloud in the medical industry become more promising. Currently, however, most medical information systems still have serious “island” and “chimney” phenomena at multiple levels. The main reasons for such phenomena are as follows. First, little information is communicated between medical fields and public health, hospitals and communities. Second, little information is exchanged between different institutions of the same field, or between different departments within the same institution. In some institutions, several different systems may be used by the same department, the same position or even the same person, as a result, information cannot be shared. In addition, medical information and cloud platforms face many security threats. In 2017, WannaCry ransomware attacked the medical institutions, large enterprise intranets and government agencies across the world, resulting in a paralysis of medical information systems in multiple regions, affecting more than 100 countries around the world, causing serious threats for important data and user privacy. According to the 360 China Security Website&#39;s 2015 China Website Security Report, a total of 1410 vulnerabilities in 2015 may result in the disclosure of personal information on the website. The amount of personal information that may or may have been leaked is as high as 5.53 billion pieces. From the average amount of information leaked by each vulnerability, the medical and health industry ranks first. 
     At present, most studies consider the use of cryptography to protect the privacy of medical data, that is, to encrypt the data such as health files by, for example, identity-based encryption, predicate encryption, and attribute-based encryption before uploading the data to the cloud server. Compared with other encryption schemes, attribute-based encryption can achieve fine-grained access control while protecting data confidentiality without predicting the identity information of data users. As a new “one-to-many” encryption mode, attribute-based encryption is widely used for fine-grained data sharing in cloud environments. According to the access strategy, attribute-based encryption can be classified into two types: key-policy attribute-based encryption and ciphertext-policy attribute-based encryption. However, most ciphertext-policy attribute-based encryption schemes cannot protect user&#39;s attribute privacy since the user&#39;s attribute value is directly exposed in the cipher text. As a result, they cannot be used for access control of sensitive data such as personal health files. In medical data access control, attribute privacy protection is very important. For example, the access policy corresponding to a personal health file ciphertext may contain the attribute of the diagnosis and treatment department and the value of the attribute is directed to the heart disease department. If the ciphertext can be accessed and the access policy is directly exposed in the ciphertext, then anyone knows that this user has a heart disease, resulting in serious violation of personal privacy. In addition, the existing attribute-hiding attribute-based encryption schemes have drawbacks such as high decryption computation complexity, inability to support large attribute domains, and inflexible access policies. 
     SUMMARY 
     In view of the problems existing in the prior art, the present invention provides a health file access control system and method in an electronic medical cloud. 
     According to an aspect of the present invention, a health file access control system in an electronic medical cloud is provided, the system comprising: a medical management center unit, an electronic medical cloud storage unit, and at least one health file user access unit; wherein the medical management center unit is configured to generate a system public key and a system private key, and generate a private key for corresponding utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the at least one health file user access unit; the electronic medical cloud storage unit is configured to receive and store a privacy-protected health file ciphertext sent by the at least one health file user access unit; and the at least one health file user access unit is configured to encrypt the health file according to the system public key sent by the medical management center unit to obtain the privacy-protected health file ciphertext, and/or generate the set of utilizer&#39;s attributes, and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit. 
     According to another aspect of the present invention, a health file access control method in an electronic medical cloud is provided, the method comprising: 
     performing, by a medical management center unit, system initialization to generate a system public key PK and a system private key MK (S 101 ); 
     inputting, by at least one health file user access unit, basic information and/or health care information of a health file owner to generate a health file M (S 102 ); 
     encrypting, by the at least one health file user access unit, the health file M according to the system public key PK to obtain a privacy-protected health file ciphertext CT (S 103 ); and 
     storing the privacy-protected health file ciphertext CT into an electronic medical cloud storage unit (S 104 ). 
     According to still another aspect of the present invention, a health file access control method in an electronic medical cloud is provided, the method comprising: 
     performing, by a medical management center unit, system initialization to generate a system public key PK and a system private key MK (S 101 ′); 
     inputting, by at least one health file user access unit, basic information of a health file utilizer to generate a set of utilizer&#39;s attributes S (S 102 ′); 
     performing, by the medical management center unit, registration for a new user and generating a private key for utilizer&#39;s attributes SK S  according to the system public key PK, the system private key MK, and the set of utilizer&#39;s attributes S (S 103 ′); 
     downloading, by the at least one health file user access unit, a privacy-protected health file ciphertext CT from an electronic medical cloud storage unit (S 104 ′); and 
     decrypting, by the at least one health file user access unit, the privacy-protected health file ciphertext CT sent by the electronic medical cloud storage unit according to the system public key PK and the private key for utilizer&#39;s attributes SK S  to obtain a health file M (S 105 ′). 
     The health file access control system and method in the electronic medical cloud provided by the present invention have the following beneficial effects: 
     1. A secure electronic medical cloud information storage system and method is established to achieve fine-grained access control of health files while keeping data confidential. 
     2. The attribute privacy protection is achieved under the premise of ensuring the confidentiality of health files. That is, the health file owner is able to hide the attribute value corresponding to the access policy in the privacy-protected health file ciphertext, while the health file utilizer is able to perform an efficient decryption test without the access policy attribute value, and determine whether the private key for utilizer&#39;s attributes can decrypt the health file ciphertext including the basic information and/or health care information of the health file owner. 
     3. The size of the system public key is constant, computational complexity of the decryption test is low, only a constant bilinear pair is needed, and the decryption does not require attribute value information, thereby simplifying the system and method, and improving computational efficiency and protecting attribute privacy while keeping the system and method secure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       To make the technical solution of the embodiments of the present invention or the prior art clearer, the accompanying drawings for illustrating the embodiments of the present invention or the prior art are outlined below. Apparently, the accompanying drawings are used for illustration only, and those skilled in the art can derive other drawings from such accompanying drawings without creative efforts. 
         FIG. 1  depicts a block diagram showing a module structure of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 2  depicts a block diagram showing another module structure of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 3  depicts a block diagram showing a module structure of a first example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 4  depicts a block diagram showing another module structure of a first example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 5  depicts a block diagram showing a module structure of a second example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 6  depicts a block diagram showing another module structure of a second example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 7  depicts a block diagram showing a module structure of a third example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 8  depicts a block diagram showing another module structure of a third example of a health file access control system in an electronic medical cloud according to the present invention; 
         FIG. 9  depicts a flowchart illustrating a first example of a health file access control method in an electronic medical cloud according to the present invention; 
         FIG. 10  depicts a flowchart illustrating a second example of a health file access control method in an electronic medical cloud according to the present invention; and 
         FIG. 11  depicts a flowchart illustrating a third example of a health file access control method in an electronic medical cloud according to the present invention. 
     
    
    
     DETAILED EMBODIMENTS 
     With reference to the accompanying drawings, the technical solution of the embodiments of the present invention is described clearly and completely as following. It should be understood that, the given embodiments are only parts of the embodiments of the present invention, but not all embodiments of the present invention. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention. 
       FIG. 1  depicts a block diagram showing a module structure of a health file access control system in an electronic medical cloud according to the present invention. As shown in  FIG. 1 , the health file access control system in an electronic medical cloud provided according to the present invention comprises: a medical management center unit  10 , an electronic medical cloud storage unit  20 , and at least one health file user access unit  30 ; wherein the medical management center unit  10  is configured to generate a system public key and a system private key, and generate a corresponding utilizer attribute private key according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the at least one health file user access unit  30 ; the electronic medical cloud storage unit  20  is configured to receive and store a privacy-protected health file ciphertext sent by the at least one health file user access unit  30 ; and the at least one health file user access unit  30  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , and configured to encrypt the health file according to the system public key sent by the medical management center unit  10  to obtain the privacy-protected health file ciphertext, and/or generate the set of utilizer&#39;s attributes, and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit  10 . 
     In an optional embodiment as shown in  FIG. 2 , the health file access control system in the electronic medical cloud provided by the present invention further comprises a communication network unit  40  connected to the medical management center unit  10 , the electronic medical cloud storage unit  20 , and the at least one health file user access unit  30 , respectively in a wireless or wired manner for communication between the medical management center unit  10  and the at least one health file user access unit  30 , and/or between the electronic medical cloud storage unit  20  and the at least one health file user access unit  30 . 
     In the health file access control system in the electronic medical cloud shown in  FIG. 1  and  FIG. 2 , the number of the health file user access units  30  may be one or more, which is not limited herein. 
     For the purpose of description, and in order to enable those skilled in the art to better understand the health file access control system in the electronic medical cloud provided by the present invention, in the first to third examples the health file access control system is described in detail with the system comprising one health file user access unit as an example. 
       FIG. 3  depicts a block diagram showing a module structure of a first example of a health file access control system in an electronic medical cloud according to the present invention. As shown in  FIG. 3 , the health file access control system in the electronic medical cloud comprises: a medical management center unit  10 , an electronic medical cloud storage unit  20 , and a health file user access unit  30 ; wherein the medical management center unit  10  is configured to generate a system public key and a system private key, and generate a private key corresponding to utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file user access unit  30 ; the electronic medical cloud storage unit  20  is configured to receive and store a privacy-protected health file ciphertext sent by the health file user access unit  30 ; and the health file user access unit  30  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , and configured to encrypt the health file according to the system public key sent by the medical management center unit  10  to obtain the privacy-protected health file ciphertext, and/or generate the set of utilizer&#39;s attributes, and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit  10 . 
     Further, as shown in  FIG. 3 , the health file user access unit  30  comprises a health file owner access unit  301  and a health file utilizer access unit  302 . The health file owner access unit  301  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to encrypt the health file according to the system public key sent by the medical management center unit  10  to obtain a privacy-protected health file ciphertext and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . The health file utilizer access unit  302  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to generate a set of utilizer&#39;s attributes, and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit  10 . 
     The medical management center unit  10  is specifically configured to: (1) perform system initialization, generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; and (2) execute health file user registration and generate a private key which corresponds to utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file utilizer access unit  302 . 
     The electronic medical cloud storage unit  20  is specifically configured to: (1) receive and store a privacy-protected health file ciphertext sent by the health file owner access unit  301 ; and (2) send the stored privacy-protected health file ciphertext to the health file utilizer access unit  302 . 
     The health file owner access unit  301  is specifically configured to: (1) input basic information and/or health care information of the health file owner to generate a health file; (2) select a symmetric key from the key space of the advanced encryption standard according to the system public key sent by the medical management center unit  10 , and perform a symmetric encryption algorithm of the advanced encryption standard for the health file according to the system public key sent by the medical management center unit  10  and the selected symmetric key to obtain a file symmetric ciphertext; (3) select an access policy according to the system public key sent by the medical management center unit  10 ; (4) perform attribute-hiding attribute-based encryption on the symmetric key according to the selected access policy to generate a symmetric key ciphertext; and (5) generate a privacy-protected health file ciphertext according to the file symmetric ciphertext and the symmetric key ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     The health file utilizer access unit  302  is specifically configured to: (1) download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 ; (2) input basic information of the health file utilizer; (3) generate a set of utilizer&#39;s attributes according to the basic information of the health file utilizer; (4) parse the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  into a file symmetric ciphertext and a symmetric key ciphertext; (5) perform attribute-hiding attribute-based decryption on the symmetric key ciphertext according to the private key for utilizer&#39;s attribute sent by the medical management center unit  10  to obtain a symmetric key; and (6) perform a decryption algorithm of the advanced encryption standard for the file symmetric ciphertext according to the system public key sent by the medical management center unit  10  and the symmetric key obtained by performing attribute-hiding attribute-based decryption on the symmetric key ciphertext, to obtain a health file. 
     Specifically, there are several ways for the health file utilizer access unit  302  to download the privacy-protected health file from the electronic medical cloud storage unit  20 . For example, the health file utilizer access unit  302  may generate target information comprising pre-downloaded privacy-protected health file ciphertext and send the target information to the electronic medical cloud storage unit  20 . The electronic medical cloud storage unit  20  sends the corresponding privacy-protected health file ciphertext to the health file utilizer access unit  302  according to the target information. Of course, those skilled in the art can also select other methods as needed, which are not limited herein. 
     The health file access control system in the electronic medical cloud of the first example further comprises a communication network unit (not shown) connected to the medical management center unit  10 , the electronic medical cloud storage unit  20 , the health file owner access unit  301 , and the health file utilizer access unit  302 , respectively in a wireless or wired manner for communication between the medical management center unit  10  and the health file owner access unit  301 , and/or between the medical management center unit  10  and the health file utilizer access unit  302 , and/or between the electronic medical cloud storage unit  20  and the health file owner access unit  301 , and/or between the electronic medical cloud storage unit  20  and the health file utilizer access unit  302 . 
     In an alternative embodiments of the first example, as shown in  FIG. 4 , the medical management center unit  10  comprises a system initialization unit  101  and a health file user registration unit  102 ; the health file owner access unit  301  in the health file user access unit  30  comprises an owner information input unit  3011  and a health file encryption unit  3012 ; the health file utilizer access unit  302  in the health file user access unit  30  comprises a utilizer information input unit  3021  and a health file ciphertext decryption unit  3022 . 
     The system initialization unit  101  is configured to perform system initialization to generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; the health file user registration unit  102  is connected to the system initialization unit  101  and the health file ciphertext decryption unit  3022 , respectively and configured to perform health file user registration and generate a private key corresponding to utilizer&#39;s attributes according to the system public key sent by the system initialization unit  101  and the set of utilizer&#39;s attributes sent by the health file ciphertext decryption unit  3022 . 
     The owner information input unit  3011  is configured to input basic information and/or health care information of the health file owner to generate a health file; the health file encryption unit  3012  is connected to the system initialization unit  101 , the electronic medical cloud storage unit  20 , and the owner information input unit  3011 , respectively and configured to encrypt the health file sent by the owner information input unit  3011  according to the system public key sent by the system initialization unit  101  to obtain a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     Further, the health file encryption unit  3012  is specifically configured to: (1) select a symmetric key from the key space of the advanced encryption standard according to the system public key sent by the system initialization unit  101 , and perform a symmetric encryption algorithm of the advanced encryption standard for the health file sent by the owner information input unit  3011  according to the system public key sent by the medical management center unit  10  and the selected symmetric key to obtain a file symmetric ciphertext; (2) select an access policy according to the system public key sent by the system initialization unit  101 ; (3) perform attribute-hiding attribute-based encryption on the symmetric key according to the selected access policy to generate a symmetric key ciphertext; and (4) generate a privacy-protected health file ciphertext according to the file symmetric ciphertext and the symmetric key ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     The utilizer information input unit  3021  is configured to input basic information of the health file utilizer; the health file ciphertext decryption unit  3022  is connected to the system initialization unit  101 , the electronic medical cloud storage unit  20 , and the utilizer information input unit  3021 , respectively and configured to generate a set of utilizer&#39;s attribute according to the basic information of the health file utilizer sent by the utilizer information input unit  3021 , and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key sent by the system initialization unit  101  and the private key for utilizer&#39;s attribute sent by the health file user registration unit  102  to obtain a health file. 
     Further, the health file ciphertext decryption unit  3022  is specifically configured to: (1) download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 ; (2) generate a set of utilizer&#39;s attribute according to basic information of the health file utilizer sent by the utilizer information input unit  3021 ; (3) parse the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  into a file symmetric ciphertext and a symmetric key ciphertext; (4) perform attribute-hiding attribute-based decryption on the symmetric key ciphertext according to the private key for utilizer&#39;s attribute sent by the health file user registration unit  102  to obtain a symmetric key; and (5) perform a decryption algorithm of the advanced encryption standard for the file symmetric ciphertext according to the system public key sent by the system initialization unit  10  and the symmetric key obtained by performing attribute-hiding attribute-based decryption on the symmetric key ciphertext to obtain a health file. 
     Specifically, the health file ciphertext decryption unit  3022  may download the privacy-protected health file from the electronic medical cloud storage unit  20  in various ways. For example, the health file ciphertext decryption unit  3022  may generate target information comprising pre-downloaded privacy-protected health file ciphertext and send the target information to the electronic medical cloud storage unit  20 . The electronic medical cloud storage unit  20  sends the corresponding privacy-protected health file ciphertext to the health file utilizer access unit  302  according to the target information. Of course, those skilled in the art can also select other methods as needed, which are not limited herein. 
     In some alternative embodiments, the system may further comprise a communication network unit (not shown) connected to the system initialization unit  101 , the health file user registration unit  102 , the electronic medical cloud storage unit  20 , the health file encryption unit  3012 , and the health file ciphertext decryption unit  3022 , respectively in a wireless or wired manner for communication between the system initialization unit  101  and the health file encryption unit  3012 , and/or between the system initialization unit  101  and the health file ciphertext decryption unit  3022 , and/or between the health file user registration unit  102  and the health file ciphertext decryption unit  3022 , and/or between the electronic medical cloud storage unit  20  and the health file encryption unit  3012 , and/or between the electronic medical cloud storage unit  20  and the health file ciphertext decryption unit  3022 . 
     The health file user access unit in the health file access control system in the electronic medical cloud according to the first example is referred to here as user A access unit, its working principle is outlined as follows: user A access unit includes a health file owner access unit and a health file utilizer access unit, therefore, user A can not only input the basic information and/or health care information of the user A through the health file owner access unit to generate a health file, but also encrypt the generated health file through the health file utilizer access unit to generate a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit for storage. Also, the user A can download the privacy-protected health file ciphertext of user A or another user (for example, user B and/or user C) from the electronic medical cloud storage unit, input basic information of the health file utilizer through the health file utilizer access unit, and decrypt the privacy-protected health file ciphertext through the health file utilizer access unit to obtain the health file corresponding to the user A or another user (such as user B and/or user C) for review. In this system, the user A can not only encrypt the user A&#39;s own health file to generate a privacy-protected health file, but also decrypt the privacy-protected health file of user A or other users, thereby obtaining the corresponding health files for review. 
       FIG. 5  is a block diagram showing a module structure of a second example of a health file access control system in an electronic medical cloud according to the present invention. As shown in  FIG. 5 , the health file access control system in the electronic medical cloud comprises: a medical management center unit  10 , an electronic medical cloud storage unit  20 , and a health file user access unit  30 ; wherein the medical management center unit  10  is configured to generate a system public key and a system private key, and generate a private key corresponding utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file user access unit comprising a health file utilizer access unit (not shown); the electronic medical cloud storage unit  20  is configured to receive and store a privacy-protected health file ciphertext sent by the health file user access unit  30 ; and the health file user access unit  30  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to encrypt the health file according to the system public key sent by the medical management center unit  10  to obtain the privacy-protected health file ciphertext. 
     Further, as shown in  FIG. 5 , the health file user access unit  30  includes a health file owner access unit  301  connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to encrypt the health file according to the system public key sent by the medical management center unit  10  to obtain a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     The medical management center unit  10  is specifically configured to: (1) perform system initialization to generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; and (2) execute health file user registration and generate a private key for utilizer&#39;s attribute according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file user access unit comprising a health file utilizer access unit (not shown). 
     The electronic medical cloud storage unit  20  is specifically configured to: (1) receive and store a privacy-protected health file ciphertext sent by the health file owner access unit  301 ; and (2) send the stored privacy-protected health file ciphertext to the health file user access unit comprising a health file utilizer access unit (not shown). 
     The health file owner access unit  301  is specifically configured to: (1) input basic information and/or health care information of the health file owner to generate a health file; (2) select a symmetric key from the key space of the advanced encryption standard according to the system public key sent by the medical management center unit  10 , and perform a symmetric encryption algorithm of the advanced encryption standard for the health file according to the system public key sent by the medical management center unit  10  and the selected symmetric key to obtain a file symmetric ciphertext; (3) select an access policy according to the system public key sent by the medical management center unit  10 ; (4) perform attribute-hiding attribute-based encryption on the symmetric key according to the selected access policy to generate a symmetric key ciphertext; and (5) generate a privacy-protected health file ciphertext according to the file symmetric ciphertext and the symmetric key ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     The health file access control system in the electronic medical cloud of the second example further comprises a communication network unit (not shown) connected to the medical management center unit  10 , the electronic medical cloud storage unit  20 , and the health file owner access unit  301 , respectively in a wireless or wired manner for communication between the medical management center unit  10  and the health file owner access unit  301 , and/or between the electronic medical cloud storage unit  20  and the health file owner access unit  301 . 
     In some alternative embodiments of the second example, as shown in  FIG. 6 , the medical management center unit  10  comprises a system initialization unit  101  and a health file user registration unit  102 ; the health file owner access unit  301  in the health file user access unit  30  comprises an owner information input unit  3011  and a health file encryption unit  3012 ; wherein the system initialization unit  101  is configured to perform system initialization to generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; the health file user registration unit  102  is connected to the system initialization unit  101  and the health file user access unit comprising a health file utilizer access unit (not shown), respectively and configured to perform health file user registration and generate a private key for utilizer&#39;s attributes according to the system public key sent by the system initialization unit  101  and the set of utilizer&#39;s attribute sent by the health file user access unit comprising a health file utilizer access unit (not shown); the owner information input unit  3011  is configured to input basic information and/or health care information of the health file owner to generate a health file; and the health file encryption unit  3012  is connected to the system initialization unit  101 , the electronic medical cloud storage unit  20 , and the owner information input unit  3011 , respectively and configured to encrypt the health file sent by the owner information input unit  3011  according to the system public key sent by the system initialization unit  101  to obtain a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     Further, the health file encryption unit  3012  is specifically configured to: (1) select a symmetric key from the key space of the advanced encryption standard according to the system public key sent by the system initialization unit  101 , and perform a symmetric encryption algorithm of the advanced encryption standard for the health file sent by the owner information input unit  3011  according to the system public key sent by the medical management center unit  10  and the selected symmetric key to obtain a file symmetric ciphertext; (2) select an access policy according to the system public key sent by the system initialization unit  101 ; (3) perform attribute-hiding attribute-based encryption on the symmetric key according to the selected access policy to generate a symmetric key ciphertext; and (4) generate a privacy-protected health file ciphertext according to the file symmetric ciphertext and the symmetric key ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit  20 . 
     In some alternative embodiments, the system may further comprise a communication network unit (not shown) connected to the system initialization unit  101 , the health file user registration unit  102 , the electronic medical cloud storage unit  20 , and the health file encryption unit  3012 , respectively in a wireless or wired manner for communication between the system initialization unit  101  and the health file encryption unit  3012 , and/or between the electronic medical cloud storage unit  20  and the health file encryption unit  3012 . 
     It should be noted that, in the second example, if the health file user access unit comprising a health file utilizer access unit (not shown) does not send the set of utilizer&#39;s attribute, the medical management center unit  10  will not perform the operation of executing health file user registration and generating a private key for the utilizer&#39;s attribute according to the system public key, the system private key, and a set of utilizer&#39;s attribute sent by the health file user access unit comprising a health file utilizer access unit (not shown). Specifically, if the health file user access unit comprising a health file utilizer access unit (not shown) does not send the set of utilizer&#39;s attributes, the health file user registration unit  102  in the medical management center unit  10  will not perform the operation of executing health file user registration and generating a private key for corresponding utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file user access unit comprising a health file utilizer access unit (not shown). 
     The health file user access unit in the health file access control system in the electronic medical cloud according to the second example is referred to here as user B access unit, the working principle is outlined as follows: user B access unit includes a health file owner access unit, therefore, the user B can not only input the basic information and/or health care information of the user B through the health file owner access unit to generate a health file, but also encrypt the generated health file through the health file utilizer access unit to generate a privacy-protected health file ciphertext, then send the privacy-protected health file ciphertext to the electronic medical cloud storage unit for storage. 
     In this system, the user B can only encrypt the user B&#39;s own health file, but cannot decrypt user B&#39;s privacy-protected health file or other users&#39; privacy-protected health files in order to obtain the corresponding health files for review. 
       FIG. 7  depicts a block diagram showing a module structure of a third example of a health file access control system in an electronic medical cloud according to the present invention. As shown in  FIG. 7 , the health file access control system in the electronic medical cloud comprises: a medical management center unit  10 , an electronic medical cloud storage unit  20 , and a health file user access unit  30 ; wherein the medical management center unit  10  is configured to generate a system public key and a system private key, and generate a private key for corresponding utilizer&#39;s attributes according to the system public key, the system private key, and a set of utilizer&#39;s attributes sent by the health file user access unit  30 ; the electronic medical cloud storage unit  20  is configured to receive and store a privacy-protected health file ciphertext sent by the health file user access unit comprising a health file owner access unit (not shown); and the health file user access unit  30  is connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to generate the set of utilizer&#39;s attributes and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit  10 . 
     Further, as shown in  FIG. 7 , the health file user access unit  30  includes a health file utilizer access unit  302  connected to the medical management center unit  10  and the electronic medical cloud storage unit  20 , respectively and configured to generate a set of utilizer&#39;s attributes and decrypt the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key and the private key for utilizer&#39;s attributes sent by the medical management center unit  10 . 
     The medical management center unit  10  is specifically configured to: (1) perform system initialization to generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; and (2) execute health file user registration and generate a private key for corresponding utilizer&#39;s attribute according to the system public key, the system private key, and a set of utilizer&#39;s attribute sent by the health file utilizer access unit  302 . 
     The electronic medical cloud storage unit  20  is further configured to: (1) receive and store a privacy-protected health file ciphertext sent by the health file user access unit comprising a health file owner access unit (not shown); and (2) send the stored privacy-protected health file ciphertext to the health file utilizer access unit  302 . 
     The health file utilizer access unit  302  is further configured to: (1) download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 ; (2) input basic information of the health file utilizer; (3) generate a set of utilizer&#39;s attribute according to the input basic information of the health file utilizer; (4) parse the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  into a file symmetric ciphertext and a symmetric key ciphertext; (5) perform attribute-hiding attribute-based decryption on the symmetric key ciphertext according to the private key for utilizer&#39;s attribute sent by the medical management center unit  10  to obtain a symmetric key; and (6) perform a decryption algorithm of the advanced encryption standard for the file symmetric ciphertext according to the system public key sent by the medical management center unit  10  and the symmetric key obtained by performing attribute-hiding attribute-based decryption on the symmetric key ciphertext to obtain a health file. 
     In particular, the health file utilizer access unit  302  may download the privacy-protected health file from the electronic medical cloud storage unit  20  in various ways. For example, the health file utilizer access unit  302  may generate target information comprising pre-downloaded privacy-protected health file ciphertext and send the target information to the electronic medical cloud storage unit  20 . The electronic medical cloud storage unit  20  sends the corresponding privacy-protected health file ciphertext to the health file utilizer access unit  302  according to the target information. Of course, those skilled in the art can also select other methods if necessary, which are not limited herein. 
     The health file access control system in the electronic medical cloud of the third example further comprises a communication network unit (not shown) connected to the medical management center unit  10 , the electronic medical cloud storage unit  20 , and the health file utilizer access unit  302 , respectively in a wireless or wired manner for communication between the medical management center unit  10  and the health file utilizer access unit  302 , and/or between the electronic medical cloud storage unit  20  and the health file utilizer access unit  302 . 
     In some embodiments of the third example, as shown in  FIG. 8 , the medical management center unit  10  comprises a system initialization unit  101  and a health file user registration unit  102 ; the health file utilizer access unit  302  in the health file user access unit  30  comprises a utilizer information input unit  3021  and a health file decryption unit  3022 ; the system initialization unit  101  is configured to perform system initialization to generate a system public key and a system private key, and disclose the system public key and keep the system private key confidential; the health file user registration unit  102  is connected to the system initialization unit  101  and the health file ciphertext decryption unit  3022 , respectively and configured to perform health file user registration and generate a private key for utilizer&#39;s attribute according to the system public key sent by the system initialization unit  101  and the set of utilizer&#39;s attributes sent by the health file ciphertext decryption unit  3022 ; the utilizer information input unit  3021  is configured to input basic information of the health file utilizer; the health file ciphertext decryption unit  3022  is connected to the system initialization unit  101 , the electronic medical cloud storage unit  20 , and the utilizer information input unit  3021 , respectively and configured to generate a set of utilizer&#39;s attributes according to the basic information of the health file utilizer sent by the utilizer information input unit  3021 , and decrypt on the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  according to the system public key sent by the system initialization unit  101  and the private key for utilizer&#39;s attributes sent by the health file user registration unit  102 . 
     Further, the health file ciphertext decryption unit  3022  is further configured to: (1) download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 ; (2) generate a set of utilizer&#39;s attribute according to basic information of the health file utilizer sent by the utilizer information input unit  3021 ; (3) parse the privacy-protected health file ciphertext sent by the electronic medical cloud storage unit  20  into a file symmetric ciphertext and a symmetric key ciphertext; (4) perform attribute-hiding attribute-based decryption on the symmetric key ciphertext according to the private key for utilizer&#39;s attribute sent by the health file user registration unit  102  to obtain a symmetric key; and (5) perform a decryption algorithm of the advanced encryption standard for the file symmetric ciphertext according to the system public key sent by the system initialization unit  10  and the symmetric key obtained by performing attribute-hiding attribute-based decryption on the symmetric key ciphertext to obtain a health file. 
     Specifically, the health file ciphertext decryption unit  3022  may download the privacy-protected health file from the electronic medical cloud storage unit  20  in various ways. For example, the health file ciphertext decryption unit  3022  may generate target information comprising pre-downloaded privacy-protected health file ciphertext and send the target information to the electronic medical cloud storage unit  20 . The electronic medical cloud storage unit  20  sends the corresponding privacy-protected health file ciphertext to the health file utilizer access unit  302  according to the target information. Of course, those skilled in the art can also select other methods as appropriate, which are not limited herein. 
     In some alternative embodiments, the system may further comprise a communication network unit (not shown) connected to the system initialization unit  101 , the health file user registration unit  102 , the electronic medical cloud storage unit  20 , and the health file encryption unit  3022 , respectively in a wireless or wired manner for communication between the system initialization unit  101  and the health file encryption unit  3022 , and/or between the health file user registration unit  102  and the health file encryption unit  3022 , and/or between the electronic medical cloud storage unit  20  and the health file encryption unit  3022 . 
     The health file user access unit in the health file access control system in the electronic medical cloud according to the third example is referred to here as user C access unit, the working principle is outlined as follows: the user C access unit includes a health file utilizer access unit, therefore, the user C can only input the basic information and/or health care information of the health file utilizer through the health file utilizer access unit, download the privacy-protected health file ciphertext of user C or another user (for example, user A and/or user B) from the electronic medical cloud storage unit, and decrypt the privacy-protected health file ciphertext through the health file utilizer access unit to obtain the health file corresponding to the user C or another user (such as user A and/or user B) for review. 
     In this system, the user C can only decrypt the privacy-protected health file ciphertext of user C or another user to obtain the corresponding health file for review, but cannot encrypt the health file of user C or another user to generate the privacy-protected health file ciphertext. 
     In the health file access control system in the electronic medical cloud of the first to third examples, the set of utilizer&#39;s attributes includes at least one attribute comprising an attribute name and at least one attribute value corresponding to the attribute name. 
     In the health file access control system in the electronic medical cloud of the first to third examples, the attribute-hiding attribute-based decryption includes a decryption test and an attribute-based decryption; wherein the decryption test is configured to output a symmetric private key if the set of utilizer&#39;s attributes in the utilizer attribute private key matches the access policy in the privacy-protected health file ciphertext, and output a prompt which indicates that no access permission is granted if the set of utilizer&#39;s attributes in the utilizer attribute private key does not match the access policy in the privacy-protected health file ciphertext; and wherein the attribute-based decryption is configured to output the symmetric private key if the decryption test is successful. In this process, the number of bilinear pairs required for each decryption test is set constant and, therefore, does not increase with the complexity of the access policy. 
     It should be understood that the health file access control system in the electronic medical cloud provided by the present invention may comprise a plurality of health file user access units, each of which may be selected from those described in the first to third examples, which is not limited herein. 
     It is assumed that the health file access control system in the electronic medical cloud provided by the present invention comprises three health file user access units as those shown in  FIGS. 3, 5 and 7  and referred to as user A access unit, user B access unit and user C access unit, respectively. For the detailed description of these units, refer to the specific descriptions of the first to third examples, and details are not repeated herein. The working principle of each health file user access unit in the health file access control system in the electronic medical cloud including the above three health file user access units is described in detail below. 
     With regard to the working principle of user A access unit, it includes a health file owner access unit and a health file utilizer access unit. Therefore, the user A is able to not only input the basic information and/or health care information of the user A through the health file owner access unit to generate a health file, but also encrypt the generated health file through the health file owner access unit to generate a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit for storage. Also, the user A is able to download his or her privacy-protected health file ciphertext or another user&#39;s (for example, user B and/or user C) privacy-protected health file from the electronic medical cloud storage unit, input basic information of the health file utilizer through the health file utilizer access unit, and decrypt the privacy-protected health file ciphertext through the health file utilizer access unit to obtain the health file corresponding to the user A or another user (such as user B and/or user C) for review. With regard to the working principle of user B access unit, it includes a health file owner access unit. Therefore, user B is only able to input the basic information and/or health care information of the user B through the health file owner access unit to generate a health file, encrypt the generated health file through the health file owner access unit to generate a privacy-protected health file ciphertext, and send the privacy-protected health file ciphertext to the electronic medical cloud storage unit for storage. With regard to the working principle of user C access unit, it includes a health file utilizer access unit. Therefore, user C is able to input the basic information and/or health care information of the health file utilizer through the health file utilizer access unit, download user&#39;s privacy-protected health file ciphertext or another user&#39;s (for example, user A and/or user B) privacy-protected health file ciphertext from the electronic medical cloud storage unit, and decrypt the privacy-protected health file ciphertext through the health file utilizer access unit to obtain the health file corresponding to the user C or another user (such as user A and/or user B) for review. 
     In this system, the user A is able to not only encrypt the user A&#39;s own health file to generate a privacy-protected health file ciphertext, but also decrypt user A&#39;s privacy-protected health file ciphertext or other users&#39; privacy-protected health file ciphertext, whereby the corresponding health file is obtained for review; the user B is only able to encrypt the user B&#39;s own health file, but is not able to decrypt user B&#39;s privacy-protected health file ciphertext or other users&#39; privacy-protected health file ciphertexts in order to obtain the corresponding health files for review; and the user C is only able to decrypt user C&#39;s privacy-protected health file ciphertext or other users&#39; privacy-protected health file ciphertext to obtain the corresponding health files for review, but is not able to encrypt user C&#39;s health file or other users&#39; health files to generate the privacy-protected health file ciphertext. 
     In each of the above embodiments, the health file user access unit  30  may be further configured to download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 . In particular, the health file utilizer access unit  302  may be further configured to download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 . More specifically, the health file ciphertext decryption unit  3022  may be further configured to download the privacy-protected health file ciphertext from the electronic medical cloud storage unit  20 . 
     The health file access control system in an electronic medical cloud provided by the present invention establishes a secure electronic medical cloud information storage system, which realizes fine-grained access control of health files while protecting data confidentiality. The attribute privacy protection is achieved under the premise of ensuring the confidentiality of health files. That is, the health file owner is able to hide the attribute value corresponding to the access policy in the privacy-protected health file ciphertext, while the health file utilizer is allowed to perform an efficient decryption test without access policy attribute value, and determine whether the utilizer attribute private key is able to decrypt the health file ciphertext including the basic information and/or health care information of the health file owner. The size of the system public key is constant, computational complexity of the decryption test is low, only a constant bilinear pair is needed, and the decryption does not require attribute value information, thereby simplifying the system, and improving computational efficiency and protecting attribute privacy while preserving system security. 
       FIG. 9  depicts a flowchart illustrating a first example of a health file access control method in an electronic medical cloud according to the present invention. As shown in  FIG. 9 , the method comprises the following steps: 
     performing, by a medical management center unit, system initialization to generate a system public key PK and a system private key MK (S 101 ); 
     inputting, by at least one health file user access unit, basic information and/or health care information of a health file owner to generate a health file M (S 102 ); 
     encrypting, by the at least one health file user access unit, the health file M according to the system public key PK to obtain a privacy-protected health file ciphertext CT (S 103 ); 
     storing the privacy-protected health file ciphertext CT into an electronic medical cloud storage unit (S 104 ). 
     The step of performing system initialization, by a medical management center unit, to generate a system public key PK and a system private key MK (S 101 ) comprises: 
     selecting three parameters including G, G T  and ê, wherein G is a cyclic group whose order is a composite number N; G T  is another cyclic group whose order is a composite number N; ê is a bilinear pair; N=p 1 p 2 p 3 p 4 , representing the product of four prime numbers p 1 , p 2 , p 3  and p 4 ; G=G p1 ×G p2 ×G p3 ×G p4 , representing the Cartesian product of four subgroups G p1 , G p2 , G p3  and G p4 ; ê: ê: G×G→G T  is a mapping that satisfies bilinearity, non-degeneracy, and computability and that maps two elements in the cyclic group G to another element of another cyclic group G T ; 
     setting the attribute domain U=Z_N according to the selected three parameters G, G T  and ê (S 1012 ), wherein Z N  is a finite set, Z N ={1, 2, . . . , N}; 
     selecting a random number 
     α, a∈ R Z N , g, h∈ R G p1 , X 3 ∈ R G p3 , Z, X 4 ∈ R G p4  (S 1013 ); 
     It should be understood that the symbol ∈ R  indicates random selection. Taking step S 1013  as an example, α, a∈ R Z N  indicates that elements α and a are randomly selected from the set Z N ; g, h∈ R G p1  indicates that g and h are randomly selected from the set G p1 ; X 3 ∈ R G p3  indicates that X 3  is randomly selected from the set G p3 ; and Z, X 4 ∈ R G p4  indicates that Z and X 4  are randomly selected from the set G p4 . 
     calculating g a , Y=ê(g, g) α  and H=hZ (S 1014 ); 
     disclosing the system public key PK=(N, g, g a , Y, H, X 4 ) and keeping the system private key MK=(α, h, X 3 ) confidential (S 1015 ); 
     The step of encrypting, by the at least one health file user access unit, the health file M according to the system public key PK to obtain a privacy-protected health file ciphertext CT (S 103 ) comprises: 
     selecting a symmetric key K se  from the key space of the advanced encryption standard according to the system public key PK, and performing a symmetric encryption algorithm of the advanced encryption standard for the health file M according to the symmetric key K se  to obtain a file symmetric ciphertext CT se  (S 1031 ); 
     establishing an access policy   according to the system public key PK (S 1032 ), wherein  =(A, ρ, ); A represents a matrix with l rows and n columns on Z N ; ρ represents a mapping of a certain row of   to an attribute name;   represents a attribute value based on a row of A and ρ,  =(t ρ(1) , t ρ(2) , . . . , t ρ(l) )∈Z N   l ; Z N   l  represents a set of vectors with length l, each element in the vector is taken from Z N ; 
     selecting a random vector v, v′∈ R Z N   n  (S 1033 ), wherein v, v′∈ R Z N   n  indicates that the vectors v and v′ are randomly selected from the set Z N   n , v=(s, v 2 , . . . , v n ), v′=(s′, v′ 2 , . . . , v′ n ); Z N   n  represents a set of vectors with length n, each element in the vector is taken from Z N ; 
     selecting a random number Z Δ ∈ R G p4  based on X 4  and, for 1≤x≤l, selecting a random number r x ∈ R Z N  and Z Δ,x , Z c,x , Z d,x ∈ R G p4  (S 1034 ), wherein Z Δ ∈ R G p4  indicates that Z Δ  is randomly selected from the set G p4 ; r x ∈ R Z N  indicates that r x  is randomly selected from the set Z N ; Z Δ,x ,Z c,x , Z d,x ∈ R G p4  indicates that Z Δ,x , Z c,x  and Z d,x  are randomly selected from the set G p4 ; 
     calculating {tilde over (C)} Δ =Y s′ , Ĉ Δ =g s′ Z Δ , {tilde over (C)} 1 =K se ·Y s  and Ĉ 1 =g s  (S 1035 ); 
     for 1≤x≤l, calculating C Δ,x =g aA     x     ·v′ (g t     ρ(x)   H) −s′ Z Δ,x , C 1,x =g aA     x     ·v (g t     ρ(x)   H) −r     x   Z c,x  and D 1,x =g r     x   Z d,x  (S 1036 ); 
     making C =((A, ρ), {tilde over (C)} Δ , Ĉ Δ , {C Δ,x } 1≤x≤l , {tilde over (C)} 1 , Ĉ 1 , {C 1,x , D 1,x } 1≤x≤l ) (S 1037 ); 
     obtaining a privacy-protected health file ciphertext CT=(CT se , C ) (S 1038 ). 
       FIG. 10  depicts a flowchart illustrating a second example of a health file access control method in an electronic medical cloud according to the present invention. As shown in  FIG. 10 , the method comprises the following steps: 
     performing, by a medical management center unit, system initialization to generate a system public key PK and a system private key MK (S 101 ); 
     inputting, by at least one health file user access unit, basic information and/or health care information of a health file owner to generate a health file M (S 102 ); 
     encrypting, by the at least one health file user access unit, the health file M according to the system public key PK to obtain a privacy-protected health file ciphertext CT (S 103 ); 
     storing the privacy-protected health file ciphertext CT into an electronic medical cloud storage unit (S 104 ); 
     downloading, by the at least one health file user access unit, a privacy-protected health file ciphertext CT from an electronic medical cloud storage unit (S 105 ); 
     inputting, by the at least one health file user access unit, basic information of a health file utilizer to generate a set of corresponding utilizer&#39;s attributes S (S 106 ); 
     performing, by the medical management center unit, registration for a new user and generating a private key for utilizer&#39;s attributes SK S  according to the system public key PK, the system private key MK, and the set of utilizer&#39;s attributes (S 107 ); 
     decrypting, by the at least one health file user access unit, the privacy-protected health file ciphertext CT sent by the electronic medical cloud storage unit according to the system public key PK and the private key SK S  to obtain a health file M (S 108 ). 
     The steps included in S 101  and S 103  in the second example are similar to those included in S 101  and S 103  in the first example, and are not repeated herein. 
     The step of performing, by the medical management center unit, registration for a new user and generating a private key for utilizer&#39;s attributes SK S  according to the system public key PK, the system private key MK, and the set S (S 107 ) comprises: 
     for each i□I S , based on X 3 , selecting a random number R i ∈ R G p3  (S 1071 ); wherein, S=(I S , S) according to the system public key PK, the system private key MK, and the set S, wherein S=(I S , S) represents an set of index of the attribute name, I S  ⊆Z N ; S represents a set of values of the attributes, S={s i ∈Z N } i∈I     S   ; R i ∈ R G p3  represents the element R i  is randomly selected from the set G p3 ; 
     selecting a random number t ∈ R Z N  and, based on X 3 , selecting a random number R, R′∈ R G p3  (S 1072 ), wherein t ∈ R Z N  indicates that the element t is randomly selected from the set Z N ; R, R′∈ R G p3  indicates that the element R and R′ are randomly selected from the set G p3 ; 
     calculating K=g α g at  R, K′=g α R′, for each i ∈I S , calculating K i =(g s     i   h) t R i  (S 1073 ); 
     obtaining the private key for utilizer&#39;s attributes SK S =(S, K, K′, {K i } i∈I     S   ) (S 1074 ). 
     The step of decrypting, by the at least one health file user access unit, the privacy-protected health file ciphertext CT sent by the electronic medical cloud storage unit according to the system public key PK and the private key SK S  to obtain a health file M (S 108 ) comprises: 
     upon receiving the privacy-protected health file ciphertext CT, parsing the privacy-protected health file ciphertext CT into CT=(CT se , C ) (S 1081 ); 
     performing attribute-hiding attribute-based decryption on the symmetric key ciphertext C  according to the system public key PK, the private key SK S  based on the rules of the bilinear pair, to obtain a symmetric key K se  (S 1082 ); and 
     performing a symmetric decryption algorithm of the advanced encryption standard for the file symmetric ciphertext CT se  according to the system public key PK and the symmetric private key K se  to obtain the health file M (S 1083 ). 
     Further, the attribute-hiding attribute-based decryption includes a decryption test and an attribute-based decryption; wherein the decryption test is configured to output a symmetric private key K se  if the set S in the utilizer attribute private key SK S  matches the access policy   in the privacy-protected health file ciphertext CT, and output a prompt which indicates that no access permission is granted if the set S in the utilizer attribute private key SK S  does not match the access policy   in the privacy-protected health file ciphertext CT; and wherein the attribute-based decryption is configured to output the symmetric private key if the decryption test is successful. In this process, the number of bilinear pairs required for each decryption test is constant and, therefore, the complexity of the access policy is not increased accordingly. 
     In particular, performing the attribute-hiding attribute-based decryption comprises: 
     determining that I matches (A, ρ) if a constant {w i } i∈I  on Z N  satisfies Σ i∈I  w i A i =(1, 0, . . . , 0), and that I does not match (A, ρ) if the constant {w i } i∈I  on Z N  does not satisfy Σ i∈I  w i A i =(1, 0, . . . , 0), wherein A i  represents the ith row of matrix A, and I represents any subset of the set {1, 2, . . . , l}; 
     determining that I is the smallest matching subset that matches (A, ρ) if   matches (A, ρ) and none of true subset of I matches (A, ρ); 
     calculating all the smallest matching subsets of the set I and (A, ρ), and marking the set of all the smallest matching subsets as I A,ρ ; 
     checking whether I ∈I A,ρ  exists, and both {ρ(i)|i ∈I}⊆I S  and {tilde over (C)} Δ   −1 =ê(Π i∈I C Δ,i   w     i   , K′)ê(Ĉ Δ , K −1  Π i∈I  K ρ(i)   w     i   ) are satisfied; if I exists, calculating 
             E   =         e   ^     ⁡     (         C   ^     1     ,   K     )           ∏     i   ∈   I       ⁢       (         e   ^     ⁡     (       C     1   ,   i       ⁢     K   ′       )       ⁢       e   ^     ⁡     (       D     1   ,   i       ,     K     ρ   ⁡     (   i   )           )         )       w   i                 
and outputting a symmetric private key K se ={tilde over (C)} 1 /E based on I and the corresponding {w i } i∈I ; if I does not exist, outputting a prompt which indicates that no access permission is granted, wherein {w i } i∈I  is a constant on Z N  that is determined by the match of I and (A, ρ).
 
       FIG. 11  depicts a flowchart illustrating a third example of a health file access control method in an electronic medical cloud according to the present invention. As shown in  FIG. 11 , the method comprises the following steps: 
     performing, by a medical management center unit, system initialization to generate a system public key PK and a system private key MK (S 101 ′); 
     inputting, by at least one health file user access unit, basic information of a health file user to generate a set of utilizer&#39;s attributes S (S 102 ′); 
     performing, by the medical management center unit, registration for a new user, and generating a private key for user&#39;s attributes SK S  according to the system public key PK, the system private key MK, and the set S (S 103 ′); 
     downloading, by the at least one health file user access unit, a privacy-protected health file ciphertext CT from an electronic medical cloud storage unit (S 104 ′); and 
     decrypting, by the at least one health file user access unit, the privacy-protected health file ciphertext CT sent by the electronic medical cloud storage unit according to the system public key PK and the private key SK S  to obtain a health file M (S 105 ′). 
     The steps included in S 101 ′ in the third example are similar to those included in S 101  in the first example, and the steps included in S 103 ′ and S 105 ′ in the third example are similar to those included in S 107  and S 108  in the second example, and are not repeated herein. 
     In the health file access control method in the electronic medical cloud of the first to third examples, the set of utilizer&#39;s attributes includes at least one attribute comprising an attribute name and at least one attribute value corresponding to the attribute name. 
     The health file access control method in an electronic medical cloud provided by the present invention establishes a secure electronic medical cloud information storage method, which realizes fine-grained access control of health files while keeping data confidential. The attribute privacy protection is achieved under the premise of ensuring the confidentiality of health files. That is, the health file owner is able to hide the attribute value corresponding to the access policy in the privacy-protected health file ciphertext, while the health file utilizer is able to perform an efficient decryption test without access policy attribute value, and determine whether the private key for utilizer&#39;s attributes is able to decrypt the health file ciphertext including the basic information and/or health care information of the health file owner. The size of the system public key is constant, computational complexity of the decryption test is low, only a constant bilinear pair is needed, and the decryption does not require attribute value information, thereby simplifying the method, and improving computational efficiency and protecting attribute privacy while preserving method security. 
     It should be noted that the health file access control method in the electronic medical cloud provided by the present invention corresponds to the health file access control system in the electronic medical cloud provided by the present invention. In other words, the health file access control method in the electronic medical cloud provided by the present invention is implemented in the health file access control system in the electronic medical cloud provided by the present invention. The description of the method is also applicable to the system. 
     The present invention has been described in detail with reference to the embodiments thereof, however, it should be understood that the specific description herein are shall not be construed as limiting the scope of the invention, and various modifications made to the above embodiments after reading this specification by those skilled in the art fall within the scope of the present invention.