Blockchain-based fine-grained access control method and system for mobile medical internet of things
By employing a blockchain-based access control method, utilizing policy hiding, online and offline key generation, encryption mechanisms, and outsourced decryption verification, the problems of user privacy leakage and insufficient computing resources in mobile medical IoT are solved, achieving efficient access control and trusted authentication.
Patent Information
- Application Number
- CN202211618736.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-15
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2042-12-15
AI Technical Summary
In existing mobile healthcare IoT systems, user privacy information is easily leaked, access policies are directly and explicitly stored, leading to privacy exposure, unauthorized users incur high decryption costs, mobile devices have limited computing resources, registration and decryption efficiency is low, and there is a lack of distributed trusted authentication.
A blockchain-based access control method is adopted, introducing a policy hiding mechanism. Access permission authentication is performed through the blockchain network, separating offline key generation and encryption, outsourcing the decryption process to reduce the user's computational burden, and using a verifiable outsourced decryption mechanism for decryption verification.
It achieves user privacy protection, reduces decryption overhead for unauthorized users, improves the registration and encryption efficiency of mobile users, realizes distributed trusted authentication, and reduces the computing burden on mobile devices.
Smart Images

Figure CN115987592B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of information security, and in particular relates to a fine-grained access control method and system for mobile medical Internet of Things based on blockchain. Background Technology
[0002] The statements in this section are merely background information related to the present invention and do not necessarily constitute prior art.
[0003] As an emerging technology, the Internet of Things (IoT) connects a vast number of sensors and smart terminal devices to form a unified whole with the internet, providing intelligent interactive services anytime and anywhere for large-scale applications such as industrial production, smart cities, traffic management, and healthcare. Mobile Internet of Medical Things (MIoMT) collects patients' medical data through wearable mobile devices. Healthcare professionals and patients can remotely access this data via portable mobile devices for better diagnosis and communication. However, due to limited computing and storage resources, mobile devices cannot store and manage medical data long-term. Cloud computing, with its powerful computing and storage capabilities, provides strong support for the operation of IoT. Cloud-assisted IoT connects mobile devices to cloud services, allowing them to enjoy the large-capacity storage and high-performance computing services provided by server clusters. In the healthcare field, the combination of IoT and cloud services has created a new computing paradigm: Cloud-Assisted Mobile Internet of Medical Things (MIoMT), which can provide patients with higher-quality medical services.
[0004] Because medical data contains sensitive patient information, cloud storage of mobile medical IoT data poses security risks. Uploading transparent data to cloud service providers without encryption or anonymization can easily lead to user privacy leaks. Furthermore, cloud storage of medical data results in a separation of data ownership and management, preventing data owners from exercising access control and security management over their personal data. Attribute-based encryption (ABE), proposed by Sahai and Waters, offers a promising solution to these problems. Attribute encryption provides fine-grained one-to-many access control while achieving encryption. Depending on the access policy and the associated attribute object, ABE can be divided into two categories: KP-ABE and CP-ABE. CP-ABE is particularly suitable for medical IoT environments with high demands for data control.
[0005] Many existing CP-ABE schemes only consider data confidentiality, neglecting user privacy protection by explicitly sending access policies along with ciphertext. Access policies containing patient and authorized user privacy information, explicitly storing which exposes their privacy, is problematic. For example, an access policy like ("Hospital: Provincial Hospital" AND "Department: Cardiology") OR ("Disease: Cardiology" AND "Gender: Female") allows anyone to see from the explicit access policy that the recipient is a cardiologist at the provincial hospital or a female patient with heart disease. They could then directly observe or infer that the data owner has heart disease and is receiving treatment at the provincial hospital. This exposes the privacy of both the data owner and the data recipient, which is highly insecure. However, by hiding the access policy, data access users can only determine their authorization by decrypting the result rather than directly comparing attributes, undoubtedly increasing the unnecessary decryption overhead for unauthorized users. To address this issue, many schemes propose adding an authentication phase before full decryption. However, these authentication phases are performed by resource-constrained mobile devices or centralized third parties, resulting in low user authentication efficiency and poor reliability of authentication results.
[0006] Furthermore, CP-ABE utilizes costly modular exponentiation and pairing operations, which require computing devices with sufficient battery capacity and computing resources. Mobile devices in mobile healthcare IoT environments have limited power and computing power, making it difficult to frequently perform necessary operations such as generating or decrypting ciphertext. The efficiency of user registration is also a current challenge, as large-scale concurrent user registration in mobile healthcare IoT environments reduces the efficiency of the registration phase.
[0007] For example, Chinese invention patent CN114650137A, entitled "A Decryption Outsourcing Method and System Based on Blockchain Supporting Policy Hiding," provides a policy hiding method but does not provide an access authentication method before complete decryption, increasing the computational overhead for unauthorized users. Chinese invention patent CN113626831A, entitled "CP-ABE Method Supporting Privacy Protection and Decryption in the Cloud," while adding a decryption testing algorithm and outsourcing the decryption algorithm to save user costs, fails to address the high computational overhead of the key generation and encryption stages. Furthermore, the decryption testing algorithm is executed by a lightweight user, still incurring additional computational overhead and failing to achieve the goal of distributed trusted authentication. Summary of the Invention
[0008] To overcome the shortcomings of the existing technologies, this invention provides a fine-grained access control method and system for mobile medical IoT based on blockchain. It employs a policy hiding mechanism to protect user privacy information in the medical system, adding an access permission authentication stage before full decryption. This authentication stage is executed by blockchain nodes with sufficient computing power, solving the decryption overhead problem caused to unauthorized users due to policy hiding. This reduces user computational overhead while achieving distributed and trusted authentication of user access permissions. Furthermore, it adopts online / offline key generation and online / offline encryption mechanisms to improve the efficiency of mobile user registration and encryption, and utilizes a verifiable outsourced decryption mechanism to reduce the computational burden on mobile users during the decryption process.
[0009] To achieve the above objectives, one or more embodiments of the present invention provide the following technical solutions:
[0010] The first aspect of this invention provides a fine-grained access control method for mobile medical IoT based on blockchain.
[0011] A blockchain-based fine-grained access control method for mobile healthcare IoT includes the following steps:
[0012] The data requester sends a set of attributes to the trusted authorization center to obtain the attribute key, which includes the authentication key required during the authorization process;
[0013] The data owner encrypts the data to be shared to obtain ciphertext, which includes the authentication ciphertext required during the authorization process. The ciphertext is then sent to the cloud service provider, along with the access policy, the authentication ciphertext, and the ciphertext address returned by the cloud service provider, which are then sent to the blockchain network.
[0014] The data requester sends a set of attributes and an authentication key to the blockchain network, which then calls a smart contract in the blockchain network to authenticate access permissions. If the access permission authentication is successful, the blockchain network sends an encrypted address to the data requester.
[0015] The data requester generates a conversion key based on the attribute key and sends the conversion key and the ciphertext address to the cloud service provider. The cloud service provider uses the conversion key to convert the ciphertext based on the ciphertext address and sends the converted ciphertext back to the data requester, who then decrypts and verifies it.
[0016] A second aspect of the present invention provides a blockchain-based fine-grained access control system for mobile medical IoT.
[0017] A blockchain-based fine-grained access control system for mobile healthcare IoT includes a trusted authorization center, cloud service provider, blockchain, data owner, and data requester, wherein:
[0018] The Trusted Authorization Center is used to generate public parameters and master keys, manage user registration, receive attribute sets submitted by data requesters and generate corresponding attribute keys. The generation of attribute keys is divided into two stages: offline key generation and online key generation, and the attribute keys are sent to the data requesters.
[0019] The data owner encrypts the data to be shared to obtain ciphertext, which is divided into two stages: offline encryption and online encryption. The ciphertext is sent to the cloud service provider, and the ciphertext address, access policy and authentication ciphertext in the ciphertext are sent to the blockchain network together.
[0020] The cloud service provider stores the encrypted data, receives the encrypted address and conversion key sent by the data requester, partially decrypts the encrypted data, obtains the encrypted conversion result, and sends it to the data requester.
[0021] A blockchain network is used to receive encrypted addresses, access policies and authentication ciphertext sent by data owners, store them in a distributed manner, and receive attribute sets and authentication keys sent by data requesters, with smart contracts authenticating access permissions for data requesters.
[0022] The data requester sends an attribute set to a trusted authorization center to obtain attribute keys and generates a conversion key based on the attribute keys. It then sends the attribute set and the authentication key from the attribute keys to the blockchain network, calling a smart contract in the blockchain network to authenticate access permissions. If the access permission authentication is successful, it receives the ciphertext address sent by the blockchain network. Finally, it sends the conversion key and the ciphertext address together to the cloud service provider, receives the ciphertext conversion result sent by the cloud service provider, and decrypts and verifies the data for the user.
[0023] A third aspect of the present invention provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, implements the steps of the blockchain-based fine-grained access control method for mobile medical IoT as described in the first aspect of the present invention.
[0024] The fourth aspect of the present invention provides an electronic device including a memory, a processor, and a program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the blockchain-based fine-grained access control method for mobile medical IoT as described in the first aspect of the present invention.
[0025] The above one or more technical solutions have the following beneficial effects:
[0026] 1. Comparison with existing technologies: Addressing the correlation between access policies and user privacy information in medical systems, this invention utilizes an access policy hiding mechanism to protect user privacy; it introduces online / offline key generation and online / offline encryption mechanisms to improve the registration and encryption efficiency for mobile users; it introduces a verifiable outsourced decryption mechanism to reduce the computational burden on mobile users during the decryption process; and it adds an access permission authentication stage before complete decryption, solving the problem of meaningless decryption overhead for unauthorized users caused by policy hiding.
[0027] 2. Compared with existing technologies that do not use blockchain: In this invention, the encrypted address, authentication ciphertext, and access policy are sent to the blockchain for storage, ensuring the immutability of the data. Furthermore, the authorization authentication stage is executed by a smart contract within the blockchain network, reducing user computational overhead while achieving distributed and trusted authentication of user access permissions.
[0028] 3. Compared with existing blockchain-based technologies: This invention not only utilizes blockchain to achieve distributed storage of key information but also to implement distributed trusted authentication of user access permissions. Furthermore, this invention introduces online / offline key generation and online / offline encryption mechanisms. By completing most of the computation in the offline stage, the computational load in the online stage is reduced, allowing more computational tasks to be completed within limited computing resources and time, significantly improving the registration and encryption efficiency for mobile users. Simultaneously, a verifiable outsourced decryption mechanism is introduced, outsourcing all pairing operations and most exponentiation operations in the decryption stage to cloud service providers, leaving the user with only one exponentiation operation, greatly reducing the computational burden on mobile users during the decryption process.
[0029] Advantages of additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description
[0030] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0031] Figure 1 This is a flowchart of the method in the first embodiment.
[0032] Figure 2 This is a system structure diagram of the second embodiment. Detailed Implementation
[0033] It should be noted that the following detailed descriptions are exemplary and intended to provide further illustration of the invention. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0034] It should be noted that the terminology used herein is for the purpose of describing particular implementations only and is not intended to limit the exemplary implementations of the present invention.
[0035] Where there is no conflict, the embodiments and features in the embodiments of the present invention can be combined with each other.
[0036] Terminology Explanation:
[0037] (1) Bilinear mapping:
[0038] Let G and G T Let G be two multiplicative cyclic groups of order p, and g be a generator of G. Define a mapping operation e: G × G → G T If a mapping has the following property, then e is called a bilinear mapping:
[0039] 1) Bilinear: There is e(g) a ,w b )=e(g,w) ab .
[0040] 2) Non-degradability: This makes e(g,w)≠1.
[0041] 3) Computability: Operations in group G and pairing operations e: G×G→G T It can be calculated in polynomial time.
[0042] (2) Linear secret sharing
[0043] make This is a system attribute domain, containing n attribute categories, denoted as... Each attribute is divided into two parts: attribute name and attribute value. Each attribute has n. x Let there be candidate values. It is the set of all possible values for the i-th attribute name. Any monotonic access expression can be transformed into the equivalent LSSS sharing generator matrix A. A linear secret sharing scheme consists of two phases: secret sharing and secret reconstruction.
[0044] 1) Secret sharing: This stage uses a shared generator matrix A. l×n Share secret value s∈Z p First, select Together with the secret value s, they form an n-dimensional column vector. Then matrix A is calculated. l×n The shared component held by each row vector for the secret value s
[0045] 2) Secret Reconstruction: This stage recovers the secret value s from a sufficient number of shared components. Assume P is an authorized set satisfying the access policy, and define a set of attribute name indices. According to the equation ∑ i∈l w i A i = (1, 0, ..., 0), we can obtain a set of constants in polynomial time. And according to the equation ∑ i∈I w i λ i =s calculates the secret value s.
[0046] I is the minimum set of authorizations that satisfies access policy (A,ρ). l×n ,ρ), and no subset can be found. This condition is also met.
[0047] In the solution proposed in this invention, the following is used: This represents the specified access strategy, where A is an l-row n-column shared generation matrix generated by the access expression, and ρ maps each row of the matrix to an attribute name index in the expression, defined as: ρ(i) i∈[1,l] →att i (att i ∈[1,n]), τ=(t ρ(1) ,…,t ρ(l) This represents the set of attribute values that corresponds one-to-one with the attribute name index. Assume a user's attribute set is S = (I... S ,L S ). Among them, I S L represents the set of attribute name indices for a user. S This represents the set of attribute values corresponding to the attribute name. We consider this user to meet the access policy. If and only if and
[0048] (3) ABE (Attribute-Based Encryption): ABE can be divided into two categories: KP-ABE (Key Policy-ABE) and CP-ABE (Ciphertext Policy-ABE). In KP-ABE, the ciphertext is associated with a set of user attributes that satisfy the access requirements, and the data user's key is associated with an access policy embedded therein. In CP-ABE, the ciphertext corresponds to an access policy, and the key corresponds to a set of attributes; decryption occurs if and only if the attributes in the set satisfy the access policy.
[0049] The overall concept proposed in this invention is as follows:
[0050] This invention discloses a fine-grained access control method and system for mobile medical IoT based on blockchain. It employs a policy hiding mechanism for privacy protection, where data owners divide attributes in the access policy into attribute names and attribute values. The attribute names are still explicitly stored along with the ciphertext, while the more sensitive attribute values are embedded in the ciphertext component. To ensure the efficiency and trustworthiness of the access authentication phase, the authentication process is delegated to a self-executable smart contract in the blockchain. The authentication process is open and transparent, efficiently achieving efficient and distributed trusted authentication of data user access permissions.
[0051] To balance the computational burden on users during the encryption phase, encryption is divided into offline and online stages. Most of the pre-computation in the encryption phase is completed while the user is offline (device charging or in standby mode). In the online stage, the ciphertext generated in the offline stage is used to quickly assemble the ciphertext, allowing the user to complete as many encryption tasks as possible without consuming excessive power. To improve user registration efficiency, key generation is also divided into offline and online stages. The authorizing authority completes most of the key generation pre-computation offline, and after obtaining the user's attribute list, quickly generates the user key in the online stage.
[0052] To reduce the computational load on mobile devices during the decryption phase, the pairing and most exponentiation operations in the decryption process are outsourced to cloud service providers, leaving the user with only one modulo exponentiation operation. Simultaneously, a verification component is added to the ciphertext, enabling users to verify the correctness of decryption results returned by servers that are not entirely trusted.
[0053] Example 1
[0054] This embodiment discloses a blockchain-based fine-grained access control method for mobile medical IoT.
[0055] like Figure 1 As shown, a blockchain-based fine-grained access control method for mobile healthcare IoT includes the following steps:
[0056] The data requester sends a set of attributes to the trusted authorization center to obtain the attribute key, which includes the authentication key required during the authorization process;
[0057] The data owner encrypts the data to be shared to obtain ciphertext, which includes the authentication ciphertext required for the authorization process. The ciphertext is then sent to the cloud service provider, along with the access policy, the authentication ciphertext, and the ciphertext address returned by the cloud service provider, which are then sent to the blockchain network.
[0058] The data requester sends a set of attributes and an authentication key to the blockchain network, which then calls a smart contract in the blockchain network to authenticate access permissions. If the access permission authentication is successful, the blockchain network sends an encrypted address to the data requester.
[0059] The data requester generates a conversion key based on the attribute key and sends the conversion key and the ciphertext address to the cloud service provider. The cloud service provider uses the conversion key to convert the ciphertext based on the ciphertext address and sends the converted ciphertext back to the data requester, who then decrypts and verifies it.
[0060] The specific steps are as follows:
[0061] 1. System Initialization
[0062] Trusted Authorization Center (TA) obtains the bilinear mapping related tuple T = (G, G) by inputting the security parameter λ. T ,p,g,e(g,g)). And set the global attribute set U=Z p And execute the following initialization algorithm.
[0063] Setup(1 λ → (PK, MSK): Attribute Authorization Center (TA) And set a collision-resistant hash function H, which is used to convert attribute values or group G. T The elements in the map are mapped to the group Z. p The elements in. TA calculates u = g c Y = e(g, g) α The system publishes the following public parameters and master key:
[0064]
[0065] MSK = (α, η, g1).
[0066] Among them, “Z” p Let G be the set of remainders modulo p, and let G be a multiplicative cyclic group of order p. To randomly select an element from a specific group, "e(g,g): G×G→G" T " is a bilinear pairing operation.
[0067] 2. User Registration
[0068] Before obtaining the user attribute set, the Trusted Authorization Center (TA) executes the following offline key generation algorithm to generate an offline key. After obtaining the attribute set submitted by the user, the TA executes the following online key generation algorithm to generate the final key.
[0069] 2.1 Offline Key Generation
[0070] Offline.KeyGen(PK,MSK)→SK off Trusted Authorization Center (TA) Where i∈[1,U]. TA calculation K1 = g ε ,
[0071]
[0072] Where i∈[1,U]. Then TA is the offline key generated by the system user, SK. off =(K0,K1,{K 2,i ,K 3,i ,K 4,i ,K 5,i} i∈[1,U] ).
[0073] 2.2 Online Key Generation
[0074] Online.KeyGen(PK,SK off S=(I S ,L S ))→SK S Based on the offline key and the user-submitted attribute set S = (I S ,L S ), where I S A set of attribute name indices for user attributes. This is the set of attribute values corresponding to the attribute name. TA calculation:
[0075]
[0076] Where i∈[1,I] S ]. TA generates the final key. Wherein, K′ i This is the authentication key, used to authenticate the access rights of the data requester.
[0077] 3. Privacy-protected medical record sharing
[0078] The data owner (DO) divides the encryption process into offline and online phases. Before specifying the message to be encrypted, the DO executes an offline encryption algorithm to generate offline ciphertext. After specifying the access policy and the plaintext to be encrypted, the DO executes an online encryption algorithm to generate the final ciphertext.
[0079] 3.1 Offline Encryption
[0080] Offline.Enc(PK)→CT off :DO Where j∈[1,U], DO calculates DO then calculates:
[0081]
[0082] Where j∈[1,U]. DO sets the offline ciphertext to
[0083] 3.2 Online Encryption
[0084] DO specifies the access policy and the plaintext M∈G to be encrypted T DO And construct two n-dimensional column vectors DO calculation:
[0085]
[0086]
[0087] Where j∈[1,l]. DO sets the final ciphertext to be... Among them, C′ j This is an authentication ciphertext used to authenticate the access rights of the data requester.
[0088] Where A is an l-row, n-column shared generating matrix, ρ:ρ(i) i∈[1,l] →att i (att i ∈[1,n]) maps each row vector in the matrix to an attribute name index, τ=(t ρ(1) ,…,t ρ(l) ) is the set of attribute values associated with (A,ρ).
[0089] 4. Privacy-protected access control
[0090] This phase consists of two steps: authentication and decryption. The authentication phase determines whether the user is authorized. Only authorized users who have passed authentication need to proceed to the decryption phase.
[0091] 4.1 Access Permission Authentication
[0092] Authentication: Before the outsourced decryption phase, the data requester (DR) invokes the authentication contract to verify its right to access the data. This contract is based on the access policy. (A, ρ) and the user's attribute set S = (I S ,L S The attribute name index set I in ) S Calculate the set I = {i | ρ(i) ∈ I} S} and constant set The following authentication process is then performed based on the authentication ciphertext and authentication key:
[0093]
[0094] If the equation holds true, the algorithm outputs a set of constants. Indicates the attribute set S = (I S ,L S Satisfy access policies If the user is authorized, they can decrypt the ciphertext. Otherwise, the algorithm outputs ⊥, indicating that the attribute set does not satisfy the access policy, the user is unauthorized, and cannot decrypt the ciphertext.
[0095] 4.2 Decryption
[0096] Decryption: Authorized users can recover message M′ from the ciphertext at this stage, and most of the computation at this stage is outsourced to cloud service providers.
[0097] 5. Decryption of outsourced services
[0098] The decryption phase consists of two parts. First, the cloud service provider uses the user-generated conversion key to convert the ciphertext. Then, the user decrypts the ciphertext and verifies the conversion result from the cloud service provider.
[0099] 5.1 User generates conversion key
[0100] The algorithm is executed by the data requester, DR. And calculate
[0101]
[0102] Where i∈[1,I] S ]. DR sets the conversion key to Set the user key to UK=r.
[0103] 5.2 Cloud service provider converts encrypted messages
[0104] The algorithm is executed by the cloud service provider.
[0105] The cloud service provider performs the ciphertext conversion as follows:
[0106]
[0107] in:
[0108]
[0109]
[0110] but:
[0111]
[0112] 5.3 User Decryption
[0113] Decrypt out (PK,CT out ,UK)→M′or⊥:The data requester executes the user decryption algorithm as follows:
[0114]
[0115] 5.4 Decryption Verification
[0116] The data requester (DR) executes a verification algorithm, calculates the value of the obtained plaintext, and compares it with the ciphertext. The verification ciphertext Φ is compared to verify whether the cloud service provider's conversion result is correct. The verification process is as follows:
[0117]
[0118] Example 2
[0119] This embodiment discloses a blockchain-based fine-grained access control system for mobile medical IoT.
[0120] like Figure 2 As shown, the blockchain-based fine-grained access control system for mobile healthcare IoT includes a trusted authorization center, a cloud service provider, a blockchain, data owners, and data requesters, wherein:
[0121] The Trusted Authorization Center is used to generate public parameters and master keys, manage user registration, receive attribute sets submitted by data requesters and generate corresponding attribute keys. The generation of attribute keys is divided into two stages: offline key generation and online key generation, and the attribute keys are sent to the data requesters.
[0122] The data owner encrypts the data to be shared to obtain ciphertext, which is divided into two stages: offline encryption and online encryption. The ciphertext is sent to the cloud service provider, and the ciphertext address, access policy and authentication ciphertext in the ciphertext are sent to the blockchain network together.
[0123] The cloud service provider stores the ciphertext, receives the ciphertext address and conversion key sent by the data requester, partially decrypts the ciphertext, obtains the ciphertext conversion result, and sends it to the data requester.
[0124] A blockchain network is used to receive encrypted addresses, access policies and authentication ciphertext sent by data owners, store them in a distributed manner, and receive attribute sets and authentication keys sent by data requesters, with smart contracts authenticating access permissions for data requesters.
[0125] The data requester sends an attribute set to a trusted authorization center to obtain attribute keys and generates a conversion key based on the attribute keys. It then sends the attribute set and the authentication key from the attribute keys to the blockchain network, calls the smart contract in the blockchain network to perform access permission authentication, and if the access permission authentication is successful, receives the ciphertext address sent by the blockchain network. It then sends the conversion key and the ciphertext address together to the cloud service provider, receives the ciphertext conversion result sent by the cloud service provider, and performs user decryption and verification.
[0126] 1. Trusted Authorization Center
[0127] The Trusted Authorization Center is a fully trusted entity responsible for generating the system's public parameters and master key. It also manages user registration and generates corresponding attribute keys for users based on the attribute sets they submit.
[0128] 2. Cloud service providers
[0129] Cloud service providers consist of numerous storage servers and compute servers. Storage servers store encrypted data for data owners, while compute servers partially decrypt the data for users with limited computing resources.
[0130] 3. Blockchain
[0131] Blockchain is a distributed, trusted platform composed of servers with computing power, allowing users to create and query transactions. This paper uses blockchain to store authentication ciphertext, partially hidden access policies, and ciphertext addresses returned by cloud service providers. As a carrier of smart contracts, it enables distributed, trusted authentication of data requesters.
[0132] 4. Data Owner
[0133] The data owner divides the encryption process into two phases: an offline phase and an online phase. During the offline phase, when the mobile device is idle, the device generates the offline ciphertext. In the online phase, after specifying the access policy and the message to be encrypted, the ciphertext is quickly assembled. To achieve secure and reliable data sharing, the data owner stores the ciphertext address, authentication ciphertext, and access policy for the transaction Tx. storage It is sent to the blockchain for storage in the form of [data / format].
[0134] 5. Data requester
[0135] Data requesters are users who want to access encrypted data stored in a cloud service provider's repository. They possess keys corresponding to a set of attributes. Data users are categorized as authorized or unauthorized. Authorized users can correctly decrypt and access plaintext data, while unauthorized users cannot correctly decrypt ciphertext. During the decryption process, the data requester can outsource part of the decryption process to the cloud service provider. Before downloading and decrypting the ciphertext stored in the cloud service provider's repository, the data requester invokes a smart contract in the form of a transaction to authenticate access rights. Only after successful access rights authentication can the data requester obtain the storage address of the ciphertext and decrypt it.
[0136] Example 3
[0137] The purpose of this embodiment is to provide a computer-readable storage medium.
[0138] A computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of the blockchain-based fine-grained access control method for mobile medical IoT as described in Embodiment 1 of this disclosure.
[0139] Example 4
[0140] The purpose of this embodiment is to provide an electronic device.
[0141] An electronic device includes a memory, a processor, and a program stored on the memory and executable on the processor, wherein the processor executes the program to implement the steps in the blockchain-based fine-grained access control method for mobile medical IoT as described in Embodiment 1 of this disclosure.
[0142] The steps and methods involved in the apparatuses of Embodiments 2, 3, and 4 above correspond to those in Embodiment 1. For specific implementation details, please refer to the relevant description section of Embodiment 1. The term "computer-readable storage medium" should be understood as a single medium or multiple media including one or more instruction sets; it should also be understood as including any medium capable of storing, encoding, or carrying an instruction set for execution by a processor and enabling the processor to perform any of the methods in this invention.
[0143] Those skilled in the art will understand that the modules or steps of the present invention described above can be implemented using general-purpose computer devices. Optionally, they can be implemented using computer-executable program code, thereby allowing them to be stored in a storage device for execution by a computer device, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. The present invention is not limited to any particular combination of hardware and software.
[0144] While the specific embodiments of the present invention have been described above in conjunction with the accompanying drawings, this is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art without creative effort based on the technical solutions of the present invention are still within the scope of protection of the present invention.
Claims
1. A blockchain-based fine-grained access control method for mobile medical IoT, characterized in that, Includes the following steps: The data requester sends a set of attributes to the trusted authorization center to obtain the attribute key, which includes the authentication key required during the authorization process; The data owner encrypts the data to be shared to obtain ciphertext, which includes the authentication ciphertext required during the authorization process. The ciphertext is then sent to the cloud service provider, which returns the ciphertext address to the data owner. The data owner sends the access policy, authentication ciphertext, and the ciphertext address returned by the cloud service provider to the blockchain network; The data requester sends a set of attributes and an authentication key to the blockchain network, invokes a smart contract in the blockchain network to authenticate access permissions, and if the access permission authentication is successful, receives the encrypted address sent by the blockchain network. The data requester generates a conversion key based on the attribute key and sends the conversion key and the ciphertext address to the cloud service provider. The cloud service provider uses the conversion key to convert the ciphertext based on the ciphertext address and sends the converted ciphertext back to the data requester, who then decrypts and verifies it.
2. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 1, characterized in that, Before the data requester sends the set of attributes to the trusted authorization center to obtain the attribute key, the process also includes: The trusted authorization center initializes the system, obtains public parameters and master key, and generates offline keys based on public parameters and master key.
3. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 2, characterized in that, The data requester sends a set of attributes to the trusted authorization center to obtain the attribute key. Specifically, the trusted authorization center generates the attribute key based on the offline key and the set of attributes sent by the data requester, and then sends the attribute key to the data requester.
4. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 2, characterized in that, The data owner encrypts the data to obtain ciphertext containing authentication ciphertext, specifically including: The trusted authorization center sends public parameters to the data owner; The data owner generates offline ciphertext by executing an offline encryption algorithm based on public parameters; and generates the final ciphertext by executing an online encryption algorithm based on the offline ciphertext, the specified access policy, and the plaintext to be encrypted.
5. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 1, characterized in that, Data owners store transaction Tx with encrypted addresses, access policies, and authentication ciphertext. storage It is sent to the blockchain network for storage in the form of [data / format].
6. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 1, characterized in that, The data requester decrypts the data using a modular exponentiation operation.
7. The blockchain-based fine-grained access control method for mobile medical IoT as described in claim 1, characterized in that, The data requester executes a verification algorithm to verify whether the cloud service provider's conversion results are correct.
8. A blockchain-based fine-grained access control system for mobile medical IoT, characterized in that: This includes trusted authorization centers, cloud service providers, blockchains, data owners, and data requesters, among whom: The Trusted Authorization Center is used to generate public parameters and master keys, manage user registration, receive attribute sets submitted by data requesters and generate corresponding attribute keys. The generation of attribute keys is divided into two stages: offline key generation and online key generation, and the attribute keys are sent to the data requesters. The data owner encrypts the data to be shared to obtain ciphertext, which includes the authentication ciphertext required during the authorization process. The ciphertext is sent to the cloud service provider, and the access policy, authentication ciphertext, and the ciphertext address returned by the cloud service provider are sent to the blockchain network together. The cloud service provider stores the ciphertext, receives the ciphertext address and conversion key sent by the data requester, partially decrypts the ciphertext, obtains the ciphertext conversion result, and sends it to the data requester. A blockchain network is used to receive encrypted addresses, access policies and authentication ciphertext sent by data owners, store them in a distributed manner, and receive attribute sets and authentication keys sent by data requesters, with smart contracts authenticating access permissions for data requesters. The data requester sends an attribute set to a trusted authorization center to obtain attribute keys and generates a conversion key based on the attribute keys. It then sends the attribute set and the authentication key from the attribute keys to the blockchain network, calls the smart contract in the blockchain network to perform access permission authentication, and if the access permission authentication is successful, receives the ciphertext address sent by the blockchain network. It then sends the conversion key and the ciphertext address together to the cloud service provider, receives the ciphertext conversion result sent by the cloud service provider, and performs user decryption and verification.
9. A computer-readable storage medium having a program stored thereon, characterized in that, When executed by the processor, the program implements the steps in the blockchain-based fine-grained access control method for mobile medical IoT as described in any one of claims 1-7.
10. An electronic device, comprising a memory, a processor, and a program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps in the blockchain-based fine-grained access control method for mobile medical IoT as described in any one of claims 1-7.
Citation Information
Patent Citations
CP-ABE method for supporting privacy protection and decryption in cloud
CN113626831A
Decryption outsourcing method and system supporting strategy hiding based on block chain
CN114650137A
Medical data sharing system based on Blockchain technology and designing method
CN110400642A
Fine-grained cloud storage security access control method based on blockchain
CN114039790A