A smart city sensitive data information hierarchical access control method and system
By constructing a computational cost control tree and a cache occupancy mutual exclusion graph in the smart city data sharing scenario, the decryption blocking problem caused by differences in terminal resources is solved, and the cache demand can be accurately quantified and dynamic hierarchical access control can be achieved without interrupting business.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TANGSHAN CAOFEIDIAN LIANCHENG TECH CO LTD
- Filing Date
- 2026-05-06
- Publication Date
- 2026-06-02
AI Technical Summary
In the context of cross-departmental data sharing in smart cities, existing technologies, such as Cited Policy Attribute Base Encryption (CP-ABE), suffer from computational blockage and increased non-linear time consumption due to differences in terminal resources. This makes it impossible to accurately quantify terminal caching requirements, leading to business interruptions and communication timeouts.
By controlling the interaction between the API gateway and the target terminal to obtain the number of available cache slots, the time consumed in a single operation, and the set of effective attributes, a computation cost control tree and a cache occupancy mutual exclusion graph are constructed. The peak demand for cache slots and the expected decryption time are analyzed and determined to achieve hierarchical access control.
Accurately predict terminal decryption blocking risks to avoid business interruptions, realize hierarchical access control with data pre-delay quantification and dynamic degradation distribution, and improve the reliability and accuracy of access control.
Smart Images

Figure CN122137681A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of access control technology, specifically to a hierarchical access control method and system for sensitive data information in smart cities. Background Technology
[0002] In smart city cross-departmental data sharing scenarios, Cited Policy Attribute Base Encryption (CP-ABE) technology is typically used to control access to sensitive data. When a terminal decrypts the ciphertext access control tree, the underlying polynomial Lagrange interpolation recovery process generates a large number of intermediate computational variables. Due to significant differences in computing power and memory resources among different heterogeneous terminals, when the number of concurrent intermediate variables exceeds the upper limit of the cache slots pre-allocated by the terminal application layer cryptographic sandbox, the system will frequently trigger application layer garbage collection (GC) blocking or memory paging stacking. This resource squeeze will cause the decryption computation time to increase exponentially and non-linearly, leading to application layer communication timeouts or even TCP connection termination.
[0003] Existing network congestion control mechanisms primarily rely on passive retransmission after application-layer communication timeouts. They cannot predict underlying computational blockages caused by buffer overflows before ciphertext is sent. Furthermore, when assessing a terminal's decryption capability, they often only perform a simple linear summation of the total number of policy tree nodes, ignoring the spatial exclusion principle in cryptographic operations where variables at the same level must reside in memory simultaneously. This results in an inability to accurately measure the terminal's true instantaneous peak buffer demand. Current technologies struggle to simultaneously achieve tiered access control that quantifies data pre-delay and dynamically degrades data delivery without causing service interruption. Summary of the Invention
[0004] To address the technical challenge of existing technologies in simultaneously achieving hierarchical access control for data pre-delay quantification and dynamic degradation distribution without business interruption, this invention aims to provide a hierarchical access control method and system for sensitive data information in smart cities. The specific technical solution adopted is as follows: Control the API gateway to perform encrypted interactions with the target terminal, and obtain the number of available cache slots, single operation time, valid attribute set and encrypted access control tree for each encrypted interaction process; Based on the inclusion relationship between the valid attribute set and the ciphertext access control tree, a computational cost control tree is constructed; the computational cost control tree is optimized to determine the minimum cost node sequence; the ciphertext access control tree is corrected based on the minimum cost node sequence to construct a mandatory decryption subtree; in the mandatory decryption subtree, a cache occupancy mutual exclusion graph is constructed based on the mutual logical relationship between each node; logical association analysis is performed on the cache occupancy mutual exclusion graph to determine the peak cache slot demand. Based on the mutual offset between the peak demand for cache slots and the number of available cache slots, the time consumed in a single operation, and the sequence of nodes with minimum cost, the expected decryption time is analyzed and determined; based on the relative baseline offset of the expected decryption time, hierarchical access control is performed.
[0005] Furthermore, the method for constructing the computational cost control tree includes: In the encrypted access control tree, obtain the underlying attribute values of each leaf node; If the underlying attribute value is in the set of valid attributes, the cost value of the corresponding leaf node is set to a preset small constant; if the underlying attribute value is outside the set of valid attributes, the cost value of the corresponding leaf node is set to a preset large constant; a reference cost control tree is constructed, and each leaf node in the reference cost control tree contains a cost value. In the reference cost control tree, each node except the leaf node is taken as the target point in a bottom-up order, and all nodes at the next level of each target point are taken as the corresponding calculation points. If the target point belongs to the AND gate type, the sum of the cost values of all corresponding computation points is taken as the cost value of the target point; if the target point belongs to the OR gate type, the minimum cost value among all corresponding computation points is taken as the cost value of the target point; a computation cost control tree is constructed, and each node in the computation cost control tree contains a cost value.
[0006] Furthermore, the method for obtaining the minimum cost node sequence is as follows: The cost control tree is input into the depth-first search algorithm, which outputs the sequence of nodes with the minimum cost.
[0007] Furthermore, the method for constructing the necessary decryption subtree includes: Each node in the minimum cost node sequence is used as a decryption point; in the ciphertext access control tree, nodes belonging to decryption points are retained, and nodes not belonging to decryption points are removed, thus constructing the necessary decryption subtree.
[0008] Furthermore, the method for constructing the cache occupancy mutual exclusion graph includes: Each node belonging to the logical AND gate type in the necessary decryption subtree is used as a mutual exclusion reference point; all nodes at the next level directly connected to each mutual exclusion reference point are used as corresponding mutual exclusion points; and connections are made between all mutual exclusion points corresponding to each mutual exclusion reference point to construct a cache occupancy mutual exclusion graph.
[0009] Furthermore, the method for obtaining the peak demand for the cache slots includes: In the cache occupancy mutual exclusion graph, all nodes are sorted in descending order according to the number of connections of each node to determine the node processing sequence; the node processing sequence is iteratively processed to determine the peak amount of cache slot demand.
[0010] Furthermore, the process of iteratively processing the node processing sequence to determine the peak demand for cache slots includes: In the cache occupancy mutual exclusion graph, all nodes are sorted in descending order according to the number of connections of each node to determine the node processing sequence; the node processing sequence is iterated to obtain the processing object point in each iteration; In each iteration, all processing object points are arranged sequentially along the node processing sequence to determine the processing object point sequence. The processing object point sequence is traversed sequentially, and the processing object point at the first traversal is used as the initial comparison point. When traversing each processing object point, if there is no connection between the corresponding processing object point and all the comparison points that have been traversed in the cache occupancy mutual exclusion graph, then the corresponding processing object point is used as the comparison point. After the processing object point sequence is traversed, the processing object points that are connected to the comparison points in the cache occupancy mutual exclusion graph are used as the processing object points for the next iteration. Continue iterating until all nodes in the node processing sequence are comparison points, then stop iterating and use the total number of iterations as the peak demand for cache slots.
[0011] Furthermore, the method for obtaining the expected decryption time includes: The total number of leaf nodes in the minimum cost node sequence is taken as the minimum decryption computation amount; The difference between the peak demand for cache slots and the number of available cache slots is positively correlated to determine the penalty coefficient; the expected decryption time is determined based on the product of the penalty coefficient, the time consumed in a single operation, and the minimum amount of decryption operation.
[0012] Furthermore, the process of implementing hierarchical access control includes: If the expected decryption time is less than or equal to the preset response timeout, the standard ciphertext distribution mode is maintained. If the expected decryption time is greater than the preset response timeout, then downgraded ciphertext distribution will be performed.
[0013] A hierarchical access control system for sensitive data information in a smart city includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements any of the steps of the hierarchical access control method for sensitive data information in a smart city.
[0014] The present invention has the following beneficial effects: This invention first actively eliminates the interference of network transmission fluctuations on the measurement results by acquiring multiple sets of data during the encrypted interaction process. This provides a reliable data baseline for accurately predicting the risk of terminal decryption blockage, helping to avoid service interruptions caused by traditional solutions relying on static configuration or passive timeout retransmissions. By constructing a mandatory decryption subtree, it retains the absolutely necessary cryptographic nodes in the actual decryption process of the terminal and accurately eliminates computational bypass nodes unrelated to terminal attributes, thereby effectively filtering out the interference of noisy data and laying a structural foundation for accurately measuring the actual concurrent caching requirements of terminal decryption. Furthermore, by constructing a cache occupancy mutual exclusion mechanism... By analyzing the graph to determine the peak demand for cache slots, this invention, for the first time, transforms the space exclusion rule that intermediate variables at the same level must reside in memory simultaneously during the cryptographic polynomial Lagrange interpolation recovery process into a concurrent demand measurement problem at the graph theory level. This can accurately identify the number of real critical point variables at the terminal application layer and accurately quantify the peak instantaneous cache demand required for terminal decryption of ciphertext. Finally, by analyzing the expected decryption time and implementing hierarchical access control, it achieves proactive prediction of decryption blocking risks before ciphertext is distributed. This enables hierarchical access control that simultaneously quantifies data pre-delay and dynamically degrades distribution while avoiding business interruption. Attached Figure Description
[0015] To more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0016] Figure 1 A flowchart of a hierarchical access control method for sensitive data information in a smart city, provided in one embodiment of the present invention; Figure 2 This is a flowchart of a method for obtaining encrypted interactive data according to an embodiment of the present invention; Figure 3 This is a flowchart of a method for obtaining a computational cost control tree according to an embodiment of the present invention. Detailed Implementation
[0017] To further illustrate the technical means and effects adopted by the present invention to achieve its intended purpose, the following, in conjunction with the accompanying drawings and preferred embodiments, details the specific implementation, structure, features, and effects of a method and system for hierarchical access control of sensitive data information in smart cities proposed according to the present invention. In the following description, different "one embodiment" or "another embodiment" do not necessarily refer to the same embodiment. Furthermore, specific features, structures, or characteristics in one or more embodiments can be combined in any suitable form.
[0018] Unless otherwise defined, 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.
[0019] The following description, in conjunction with the accompanying drawings, details the specific scheme of a hierarchical access control method and system for sensitive data information in smart cities provided by this invention.
[0020] Please see Figure 1 The diagram illustrates a flowchart of a hierarchical access control method for sensitive data information in a smart city, according to an embodiment of the present invention. The method includes: Step S101: Control the API gateway to perform encrypted interaction with the target terminal, and obtain the number of available cache slots, single operation time, effective attribute set and encrypted access control tree in each encrypted interaction process.
[0021] When network congestion occurs, it is often accompanied by a severe shortage of available cache capacity within the terminal, meaning that the cache required for decryption exceeds the currently available cache. Therefore, the number of available cache slots on the target terminal is closely related to the ability to quickly decrypt ciphertext. On the other hand, the decryption speed of the target terminal also depends on the time spent on each operation. The longer the time, the slower the decryption and the more likely network congestion will occur. Conversely, the shorter the time, the less likely network congestion will occur. Therefore, in order to accurately quantify the decryption capability of the target terminal, this embodiment of the invention considers obtaining the number of available cache slots and the time spent on each operation during each interaction between the API gateway and the target terminal, which helps to ensure the stability of subsequent analysis and calculation.
[0022] It should be noted that the target terminals in smart city scenarios are diverse and heterogeneous (such as IoT nodes, mobile law enforcement terminals, etc.). Different target terminals have different decryption permissions. Therefore, before sending the decryption message, it is necessary to first determine whether the target terminal has the permission to decrypt the corresponding ciphertext. This invention obtains the effective attribute set of the target terminal, which contains all the permission tags that the target terminal can decrypt, and can accurately display the decryption permissions of each target terminal.
[0023] Since the decryption process of the target terminal relies on the internal access control tree, in order to perform subsequent hierarchical access control objectively and accurately, it is necessary to conduct subsequent data analysis and processing based on the ciphertext access control tree, which can effectively improve the reliability of hierarchical access control results.
[0024] As an example, in a specific implementation of this invention, the specific process for obtaining the number of available cache slots, the time consumed in a single operation, the set of valid attributes, and the ciphertext access control tree includes: Please refer to... Figure 2 The diagram illustrates a flowchart of a method for obtaining encrypted interactive data according to an embodiment of the present invention, the method comprising: Step S201: Obtain the number of available cache slots of the target terminal; encapsulate the number of available cache slots and establish an initial handshake request message; control the target terminal to interact with the API gateway and parse and determine the number of available cache slots in the API gateway.
[0025] The target terminal first reads the number of available cache slots pre-allocated in the application-layer cryptographic sandbox within the current operating system that can be used to store intermediate variables for cryptographic calculations (representing the upper limit of the number of memory pool blocks pre-allocated in the terminal's application-layer cryptographic sandbox), and encapsulates this number into the extended protocol header of the application-layer initial handshake request message. At the same time, the target terminal attaches its digital identity credentials to this message, and then sends the initial handshake request message to the API gateway. After receiving the application-layer initial handshake request message, the API gateway performs structured parsing on the extended protocol header, extracts the number of available cache slots encapsulated within, and records it as the number of available cache slots.
[0026] Step S202: Parse the initial handshake request message in the API gateway to determine the set of valid attributes.
[0027] The API gateway parses the digital identity credential in the initial handshake request message and extracts the set of valid terminal attributes currently legally held by the target terminal, which is denoted as the set of valid attributes.
[0028] Step S203: Obtain the lightweight test ciphertext, and the total decryption time and total number of operations required for the target terminal to decrypt the lightweight test ciphertext; determine the time consumption of a single operation based on the ratio between the total decryption time and the total number of operations.
[0029] The API gateway first generates a lightweight test ciphertext. During generation, this ciphertext is forcibly embedded with a basic policy tree, which always contains at least one layer of logical decision nodes (such as a simple AND gate). After generation, the gateway calculates the total number of bilinear pair computation instructions required for the terminal to decrypt the lightweight test ciphertext based on the basic policy tree and the aforementioned set of valid attributes. This total number of computations is denoted as the total number of test operations. The total number of computations must be a positive integer greater than or equal to 1 to avoid the problem of a zero denominator in subsequent division operations. Then, the API gateway sends the lightweight test ciphertext to the target terminal. Simultaneously, the gateway calls the system hardware clock to record the local start timestamp, denoted as the start time. The target terminal receives the lightweight test ciphertext, decrypts it, and returns a decryption confirmation message. The API gateway receives this decryption request message and, again, calls the system hardware clock to record the local end timestamp, denoted as the end time. The API gateway calls the underlying operating system's TCP protocol stack to read the smooth round-trip time (RTT). Finally, the system calculates the time consumed in a single operation using the following formula: ,in, Indicates the time taken for a single operation; Indicates the end time; Indicates the start time; Indicates smooth round-trip channel delay; This represents the total number of test operations; where the numerator in the formula represents the total decryption time consumed by the target terminal to decrypt the lightweight test ciphertext after removing round-trip transmission delay; the denominator represents the total number of operations required for the target terminal to decrypt the lightweight test ciphertext.
[0030] It should be noted that in practice, network momentary smoothness may cause the numerator in the above formula to be 0, while network jitter may cause a larger smooth round-trip channel delay, resulting in a negative numerator. Therefore, after calculating the numerator of the above formula, the system compares the numerator with a preset effective time consumption threshold: if the numerator is greater than or equal to the preset effective time consumption threshold, the numerator remains unchanged; if the numerator is less than the preset effective time consumption threshold, the value of the numerator is set to the preset effective time consumption threshold and used in subsequent division calculations. This operation ensures the stability of the time consumption of a single operation. In a specific implementation of this invention, the preset effective time consumption threshold is set between [0.1ms, 0.3ms], for example, 0.1 milliseconds, and can be adjusted according to the specific implementation scenario.
[0031] Step S204: Control the target terminal to perform data interaction with the API gateway and obtain the target ciphertext buffer during the data interaction process; determine the ciphertext access control tree based on the target ciphertext buffer.
[0032] The target terminal sends a highly sensitive business data request message to the API gateway. Upon receiving the message, the gateway invokes its built-in Trusted Execution Environment (TEE) proxy module. Within the TEE, the gateway reads the highly sensitive business data request message, parses the resource identifier within it, and directly reads the corresponding original highly sensitive plaintext data buffer from the gateway's local trusted internal storage. Based on the access control policy pre-set for this data, the gateway generates a target ciphertext buffer to be distributed in memory. The gateway then extracts the access control tree encapsulated within the target ciphertext buffer by parsing its protocol control header, denoted as the ciphertext access control tree. Each node in the ciphertext access control tree represents a logic gate type (AND gate or OR gate). It should be noted that the ciphertext interaction data includes the number of available cache slots obtained in step S201, the set of valid attributes obtained in step S202, the single operation time obtained in step S203, and the ciphertext access control tree obtained in this step S204.
[0033] Step S102: Construct a computational cost control tree based on the inclusion relationship between the valid attribute set and the ciphertext access control tree; optimize the computational cost control tree to determine the minimum cost node sequence; correct the ciphertext access control tree based on the minimum cost node sequence to construct a mandatory decryption subtree; in the mandatory decryption subtree, construct a cache occupancy mutual exclusion graph based on the logical relationship between each node; perform logical association analysis in the cache occupancy mutual exclusion graph to determine the peak cache slot demand.
[0034] As explained in step S101 above, target terminals in smart city scenarios are diverse. It is necessary to first determine whether the target terminal has the permission to decrypt the corresponding ciphertext. The effective attribute set contains all the permission tags that the target terminal can decrypt. Therefore, this embodiment of the invention considers that if the decryption permission contained in the ciphertext access control tree is included in the effective attribute set, then the target terminal is considered to have the permission to decrypt the corresponding ciphertext. Thus, a computational cost control tree can be determined, which can use the magnitude of the computational cost to quantify whether the target terminal has the decryption permission, providing a reliable initial reference benchmark for subsequent analysis of the decryption process.
[0035] It should be noted that, in the actual decryption process, the derivation operation often tends to find the minimum amount of resources required to decrypt the target ciphertext. Therefore, in order to accurately identify the actual cache usage of the target terminal under the optimal execution path, it is necessary to obtain the minimum cost node sequence required for decryption. This sequence represents the position of the optimal execution path with the minimum cost of the target terminal on the ciphertext access control tree. Based on this minimum cost node sequence, the ciphertext access control tree is modified to determine a necessary decryption subtree. This accurately reflects the cryptographic node network topology that the target terminal actually needs to load into the application layer cryptographic sandbox under the optimal execution path, significantly improving the applicability and reliability of hierarchical access control.
[0036] In the polynomial Lagrange interpolation recovery process of bilinear pairing operations, cryptographic computation objectively exhibits a spatial coexistence exclusionary property. For example, all intermediate variables participating in the operation belonging to the same logical parent node must coexist in the system's cache simultaneously to complete the polynomial inner product calculation at that level. If this rule is not considered during evaluation, and only the total number of nodes in the entire policy tree is simply counted, sequential nodes that were executed at different times and have already released their caches will be incorrectly counted as concurrent occupancy. Therefore, this invention constructs a cache occupancy mutual exclusion graph by analyzing the logical relationships between each node in the necessary decryption subtree. This graph vividly illustrates this spatial coexistence exclusionary property, objectively identifying the number of variables that trigger garbage collection blocking and memory paging stacking at the terminal application layer. Furthermore, logical correlation analysis is performed in the cache occupancy mutual exclusion graph to determine the peak demand for a cache slot, providing an accurate quantitative basis for subsequent calculations of expected decryption time.
[0037] Step S103: Based on the mutual offset between the peak demand for cache slots and the number of available cache slots, the time consumed in a single operation, and the sequence of nodes with minimum cost, analyze and determine the expected decryption time; based on the relative baseline offset of the expected decryption time, perform hierarchical access control.
[0038] Whether congestion will occur during the decryption process is closely related to the size of the decryption cache available to the target terminal (the number of available cache slots) and the cache required for decryption (the peak number of cache slots required). If the decryption cache available to the target terminal is insufficient to meet the cache required for decryption, the target terminal is more likely to experience congestion when decrypting the corresponding ciphertext, and vice versa. Therefore, the offset between the peak number of cache slots required and the number of available cache slots helps to analyze and determine the expected decryption time of the terminal.
[0039] Since the minimum cost node sequence contains the minimum number of operations required for the target terminal to decrypt the ciphertext (the larger the value, the more decryption steps), and the single operation decryption time reflects the time taken for the target terminal to perform one operation (the larger the value, the longer the decryption time), the expected decryption time can be obtained by combining the minimum cost node sequence and the single operation decryption time analysis. This can quantify the memory congestion of the terminal application layer into a calculable specific network communication time, which helps to quantify the pre-decryption delay of the target terminal's decryption capability before the decryption service is performed.
[0040] The longer the expected decryption time, the longer the system computation time, and the higher the probability of congestion. Conversely, the lower the probability of congestion, the more accurate the decryption time relative to the baseline can be to indicate whether congestion will occur when the target terminal decrypts the ciphertext. Based on this, hierarchical access control can be implemented. This can achieve hierarchical access control that quantifies the data pre-delay and dynamically degrades the data, while avoiding business interruption, thus significantly improving the reliability of access control results.
[0041] In summary: This invention first actively eliminates the interference of network transmission fluctuations on the measurement results by acquiring multiple sets of data during the encrypted interaction process. This provides a reliable data baseline for accurately predicting the risk of terminal decryption blockage, helping to avoid service interruptions caused by traditional solutions relying on static configuration or passive timeout retransmissions. By constructing a mandatory decryption subtree, it retains the absolutely necessary cryptographic nodes in the actual decryption process of the terminal and accurately eliminates computational bypass nodes unrelated to terminal attributes, thereby effectively filtering out the interference of noisy data and laying a structural foundation for accurately measuring the actual concurrent caching requirements of terminal decryption. Furthermore, by constructing a cache occupancy... By analyzing mutual exclusion graphs and determining peak cache slot demand, this invention, for the first time, transforms the space exclusion rule that intermediate variables at the same level must reside in memory simultaneously during the cryptographic polynomial Lagrange interpolation recovery process into a concurrent demand measurement problem at the graph theory level. This can accurately identify the number of real critical point variables at the terminal application layer and accurately quantify the peak instantaneous cache demand required for terminal decryption of ciphertext. Finally, by analyzing the expected decryption time and implementing hierarchical access control, it achieves proactive prediction of decryption blocking risks before ciphertext is distributed. This enables hierarchical access control that simultaneously quantifies data pre-delay and dynamically degrades distribution while avoiding business interruption.
[0042] Preferably, in some possible implementations of the embodiments of the present invention, the specific implementation process of obtaining the computational cost control tree in step S102 includes: Please refer to Figure 3 The diagram illustrates a flowchart of a method for obtaining a computational cost control tree according to an embodiment of the present invention. The method includes: Step S301: In the encrypted access control tree, obtain the underlying attribute value of each leaf node.
[0043] The underlying attribute values represent the permission tags of the corresponding leaf nodes. In smart city scenarios, they represent the objective conditions that the target terminal needs to meet to decrypt the ciphertext. Therefore, the underlying attribute values can be used to determine whether the branch corresponding to the leaf node can be computed. In a specific implementation of this invention, the system traverses each leaf node in the ciphertext access control tree, extracts the underlying access control attribute values bound to each leaf node, and records them as the corresponding underlying attribute values.
[0044] Step S302: If the underlying attribute value is in the set of valid attributes, the cost value of the corresponding leaf node is set to a preset small constant; if the underlying attribute value is outside the set of valid attributes, the cost value of the corresponding leaf node is set to a preset large constant; construct a reference cost control tree, wherein each leaf node in the reference cost control tree contains a cost value.
[0045] Based on the above analysis, it can be seen that the underlying attribute value can serve as the matching criterion for leaf nodes in the ciphertext access control tree. By determining whether the underlying attribute value belongs to the valid attribute set, it can be determined whether the underlying password lock corresponding to the leaf node can be opened, and thus whether the branch can participate in the calculation of the upper-level logic gate. Specifically, the system traverses all leaf nodes of the ciphertext access control tree. For each leaf node: if the underlying attribute value is in the valid attribute set, it means that the underlying password lock corresponding to the leaf node can be opened, and the branch can participate in the calculation of the upper-level logic gate. Therefore, a small cost value (preset small constant) can be assigned to the leaf node to indicate that it can participate in the calculation; conversely, if the underlying attribute value is outside the valid attribute set, it means that the leaf node cannot participate in the calculation of the upper-level logic gate. Therefore, a very large cost value (preset very large constant) can be assigned to the leaf node to indicate that it cannot participate in the calculation.
[0046] In one specific implementation of this invention, the preset smaller constant is set within the range of [1, 5], for example, it can be set to a positive integer 1, and the preset maximum constant can be set to... Implementers may also make adjustments according to the specific implementation scenario, and no restrictions are imposed here.
[0047] It should be noted that the tree structure of the reference cost control tree is the same as that of the ciphertext access control tree. The difference is that all leaf nodes of the reference cost control tree contain a cost value, while all nodes of the ciphertext access control tree do not contain a cost value.
[0048] Step S303: In the reference cost control tree, each node except the leaf node is taken as the target point in a bottom-up order, and all nodes at the next level of each target point are taken as the corresponding calculation points.
[0049] In the aforementioned reference cost control tree, only the leaf nodes contain cost values, and each node in the reference cost control tree contains a judgment logic (AND gate or OR gate). Therefore, a cost value can be directly assigned to each node in a bottom-up order based on the cost value of the leaf nodes. Since the cost value of each node, except for the leaf nodes, depends on the cost values of all nodes at the next level (for example, the cost value of a node of type AND gate needs to be determined by the sum of the cost values of all nodes at the next level), this embodiment of the invention uses each node other than the leaf nodes as a target point and all nodes at the next level of each target point as the corresponding calculation points, which helps to subsequently assign an accurate cost value that conforms to the judgment logic to each node.
[0050] It should be noted that, in the embodiments of the present invention, the bottom-up order represents the directional order from the leaf node of the reference cost control tree to the root node.
[0051] Step S304: If the target point belongs to the AND gate type, the sum of the cost values of all corresponding computation points is taken as the cost value of the target point; if the target point belongs to the OR gate type, the minimum cost value among all corresponding computation points is taken as the cost value of the target point; construct a computation cost control tree, where each node in the computation cost control tree contains a cost value.
[0052] An AND gate indicates that the value of the parent node (target point) depends simultaneously on the values of all its child nodes (computation points). Therefore, in this embodiment, the values of all child nodes of the parent node are summed, and the resulting sum is used as the value of the parent node. An OR gate indicates that the value of the parent node (target point) depends on the value of the child nodes (computation points) that satisfies the condition. In this embodiment, the minimum value among the child nodes is used as the value of the parent node. This is because in real-world decryption processes, decryption strategies often tend to have fewer decryption steps (less computational resource consumption).
[0053] In one specific implementation of this invention, the process of obtaining the computational cost control tree is as follows: following the tree structure of the reference cost control tree in a bottom-up order, the above-mentioned process of setting the value of the AND gate type node and the OR gate type node is repeated level by level until all nodes of the reference cost control tree have been set with the previous value, and then the reference cost control tree is used as the computational cost control tree.
[0054] Preferably, in some possible implementations of the embodiments of the present invention, the method for obtaining the minimum cost node sequence is as follows: The cost control tree is input into the depth-first search algorithm, which outputs the sequence of nodes with the minimum cost.
[0055] In the actual process of decrypting CP-ABE ciphertext by heterogeneous terminals in smart cities, the target terminal only needs to complete the polynomial Lagrange interpolation recovery along an optimal execution path, rather than traversing all branches of the entire ciphertext access control tree. Therefore, this invention can obtain a minimum cost node sequence by optimizing the computational cost control tree. This sequence reflects the set of absolutely necessary nodes that the terminal must pass through to decrypt the target ciphertext. In the process of optimization, if the depth-first search algorithm (DFS) encounters a logical OR gate type node, it adds the node with the smallest cost value in the next level to the node sequence to be output. If it enters a logical AND gate type node, it includes all nodes in the next level whose cost value is not equal to the preset maximum constant in the node sequence to be output.
[0056] In other specific implementations of the embodiments of the present invention, the depth-first search algorithm can also be replaced by the breadth-first search algorithm (BFS), which are common knowledge and will not be elaborated or limited here.
[0057] It should be noted that after the ciphertext is input to the target terminal, the target terminal may not have the authority to decrypt it. Therefore, after obtaining the minimum cost node sequence, it is necessary to further determine whether the target terminal can decrypt the input ciphertext on the minimum cost node sequence. Specifically: the system first obtains all leaf nodes in the minimum cost node sequence, denoted as judgment points. If the cost value of the judgment point is equal to a preset maximum constant (indicating that the current terminal cannot meet the decryption condition even if all possible branches are exhausted), the system directly determines that the target terminal does not have the authority to decrypt the ciphertext, and thus directly rejects and discards the high-sensitivity service data request message; if the cost value of the judgment points is equal to a preset smaller constant, the system determines that the target terminal has the authority to decrypt the ciphertext, and then proceeds normally to the subsequent process.
[0058] Preferably, in some possible implementations of the embodiments of the present invention, the method for constructing the mandatory decryption subtree includes: Each node in the minimum cost node sequence is used as a decryption point; in the ciphertext access control tree, nodes belonging to decryption points are retained, and nodes not belonging to decryption points are removed, thus constructing the necessary decryption subtree.
[0059] The original ciphertext access control tree not only contains the nodes that the terminal must pass through for decryption (i.e., the sequence of nodes with the minimum cost), but also a large number of logical branch nodes that cannot be activated due to insufficient terminal attributes (such as unmet logical OR gate branch conditions). If the complete ciphertext access control tree containing multiple logical OR gate branches is directly used for subsequent cache requirement evaluation, it will incorrectly include those bypass branch nodes that are executed serially in different time segments and do not conflict with each other in the concurrency occupancy statistics, resulting in seriously inflated subsequent calculation results. Therefore, the embodiments of the present invention perform node retention (retaining nodes belonging to decryption points) and node removal (removing nodes that do not belong to decryption points) operations on the ciphertext access control tree. This can reduce computational complexity (the number of nodes in the necessary decryption subtree is significantly reduced compared to the ciphertext access control tree) while eliminating redundant bypass nodes, which helps to improve the accuracy of subsequent evaluation of the target terminal's decryption capability.
[0060] Preferably, in some possible implementations of the embodiments of the present invention, the method for constructing the cache occupancy mutual exclusion graph includes: Each node belonging to the logical AND gate type in the necessary decryption subtree is used as a mutual exclusion reference point; all nodes at the next level directly connected to each mutual exclusion reference point are used as corresponding mutual exclusion points; and connections are made between all mutual exclusion points corresponding to each mutual exclusion reference point to construct a cache occupancy mutual exclusion graph.
[0061] In this embodiment of the invention, we take into account the fundamental differences in the caching patterns of intermediate variables for different types of logic gate nodes. Specifically, for the logical AND gate, its cryptographic operation characteristics determine that all the intermediate variables corresponding to the direct child nodes of this type of node must reside simultaneously in the cache slots of the application layer cryptographic sandbox in order to complete the bilinear inner product calculation at this level. This is because the AND gate operation needs to integrate the decryption results of all child nodes. The absence of any child node variable will cause the entire AND gate node to fail to be correctly recovered, which is the spatial coexistence exclusion mentioned in step S102 above.
[0062] For a logical OR gate, its cryptographic operation characteristics are exactly the opposite. The terminal only needs to satisfy the condition of any one of the child nodes under the OR gate to complete the decryption operation at that level. In actual execution, the system will choose the feasible child node path with the lowest cost to traverse downwards, and will not execute all branches under the OR gate at the same time (i.e., serial selectability). Therefore, the embodiments of the present invention only perform connection processing on all child nodes (mutually exclusive points) under the logical AND gate type node (mutually exclusive reference point), which can transform the original mandatory decryption subtree describing the logical hierarchy relationship into a network topology diagram reflecting the concurrent resource exclusion relationship at the logical level. This is beneficial for accurately distinguishing the two fundamentally different resource occupation modes in cryptographic operations: mandatory concurrency and serial selectability.
[0063] It should be noted that the meaning of the connection is that the two nodes connected to each other need to be calculated simultaneously during the actual decryption process to ensure that the spatial coexistence exclusion property is satisfied.
[0064] It should be further explained that the reason why the embodiments of the present invention only connect all mutually exclusive points corresponding to the same mutually exclusive reference point is that spatial coexistence exclusion only exists within the set of child nodes directly connected to the same logical AND gate node, while there is no direct concurrent exclusion constraint relationship between child nodes of different logical AND gate nodes (i.e., there is no spatial coexistence exclusion).
[0065] Preferably, in some possible implementations of the embodiments of the present invention, the method for obtaining the peak amount of cache slot demand includes: In the cache occupancy mutual exclusion graph, all nodes are sorted in descending order according to the number of connections of each node to determine the node processing sequence; the node processing sequence is iterated to obtain the processing object point in each iteration; In each iteration, all processing object points are arranged sequentially along the node processing sequence to determine the processing object point sequence. The processing object point sequence is traversed sequentially, and the processing object point at the first traversal is used as the initial comparison point. When traversing each processing object point, if there is no connection between the corresponding processing object point and all the comparison points that have been traversed in the cache occupancy mutual exclusion graph, then the corresponding processing object point is used as the comparison point. After the processing object point sequence is traversed, the processing object points that are connected to the comparison points in the cache occupancy mutual exclusion graph are used as the processing object points for the next iteration. Continue iterating until all nodes in the node processing sequence are comparison points, then stop iterating and use the total number of iterations as the peak demand for cache slots.
[0066] In the cache occupancy mutual exclusion graph, the number of connections between each node reflects the probability of conflict when each node resides in memory with other nodes. The node with the highest number of connections indicates that the probability of conflict when other nodes reside in memory with that node is the highest, making it the most difficult to allocate cache slots. Therefore, by obtaining the number of connections between each node and sorting each node in descending order based on the number of connections (from largest to smallest), a node processing sequence containing iterative processing priorities can be determined. This allows for the priority allocation of cache slots to nodes with high mutual exclusion (high probability of conflict). Subsequent iterations are then performed according to the order of the node processing sequence, effectively avoiding artificially high peak values for cache slot demand.
[0067] The iterative process follows the node processing sequence. In each iteration, different cache slots are allocated to nodes that have spatial coexistence exclusion. Therefore, each iteration is equivalent to filling a new cache slot with all nodes that do not have spatial coexistence exclusion. Since different cache slots are allocated to different nodes in each iteration, nodes that already have cache slots do not need to be allocated again. Therefore, it is necessary to obtain the processing target points that are not connected to the comparison point in the cache occupancy mutual exclusion graph in the previous iteration, and use them as the processing target points in the next iteration.
[0068] In a specific implementation of this invention, the iterative processing is as follows: The system first establishes an iteration count index value to represent the current iteration count and initializes it with a positive integer 1. Then, the system extracts the first processing object point along the sequence of processing object points and records it as a comparison point. Next, the system iterates through all remaining processing object points along the sequence of processing object points and executes the following query and judgment logic: The system determines whether there is a connection between the current processing object point and the comparison point already traversed in the current iteration. If there is a connection (meaning that the node must exclusively occupy another cache space at the same time point to avoid data overwriting, space coexistence exclusion), the system skips the node (does not treat it as a comparison point) and continues to traverse. If there is no connection (meaning that the node can reuse the same cache slot with the allocated node in the time sequence), the system treats the processing object point as a comparison point. After the system completes one iteration along the processing object point sequence, the system checks whether there are still processing object points in the current processing object point sequence. If there are, the system increments the iteration count index value by 1 and repeats the iteration process. If there are no connections, the iteration terminates. Finally, all nodes in the node processing sequence are represented as comparison points.
[0069] It should be noted that the specific iteration process in the first iteration is as follows: First, the system uses the first node in the node processing sequence as the first comparison point for the first iteration. Second, the system uses all remaining nodes in the node processing sequence as the processing objects for the first iteration. The system iterates through and compares each processing object point with the comparison point in the order of the node processing sequence. For example, if there is no connection between the first processing object point (the second node in the node processing sequence) and the first comparison point (currently, one comparison point has been found), then the first processing object point is used as the second comparison point. Then, the system iterates through and compares the second processing object point with the currently found comparison points. The system checks if there are connections between comparison points. For example, if there is no connection between the first comparison point and the second comparison point, then the second comparison point is skipped (not used as a new comparison point). Then, it iterates through the comparison points to check if there are connections between the third comparison point and the currently traversed comparison points. For example, if there are no connections between the third comparison point and both the first and second comparison points (there are currently two comparison points), then the third comparison point is used as the third comparison point. The system then iterates through all the comparison points in the node processing sequence, and finally uses all the comparison points that were not used as comparison points as the comparison points for the second iteration.
[0070] In summary, the number of object points processed in each iteration is less than the number of object points processed in the previous iteration.
[0071] It should be noted that the reason why the processing object points in each iteration are the remaining processing object points of the previous iteration (the processing object points skipped in the previous iteration) is that the comparison point has already occupied a cache slot and there is no space coexistence exclusion between it and all other nodes. Therefore, there is no need to redistribute the existing comparison points, which improves the reliability of the iteration process.
[0072] As explained above, the iteration number index value at each iteration is logically equivalent to the number of cache slots that have been allocated and are being allocated; therefore, the iteration index value after the last iteration is equivalent to the peak cache slot demand. This peak cache slot demand excludes the artificially high interference caused by non-concurrent nodes due to simple linear accumulation, and represents the maximum number of independent cache slots that the application layer cryptographic sandbox must open simultaneously if the current target terminal wants to perform polynomial decryption of the ciphertext. This provides reliable data support for the subsequent calculation of the expected decryption time of the target terminal.
[0073] Preferably, in some possible implementations of the embodiments of the present invention, the method for obtaining the expected decryption time includes: The total number of leaf nodes in the minimum cost node sequence is taken as the minimum decryption computation amount; The difference between the peak demand for cache slots and the number of available cache slots is positively correlated to determine the penalty coefficient; the expected decryption time is determined based on the product of the penalty coefficient, the time consumed in a single operation, and the minimum amount of decryption operation.
[0074] In CP-ABE decryption, the most time-consuming bilinear pairing operation mainly occurs in the matching of the underlying leaf nodes with the ciphertext attributes. Non-leaf nodes (logic gates) perform polynomial Lagrange interpolation recovery, which is a lightweight group multiplication operation. Its time consumption is usually one to two orders of magnitude less than that of the bilinear pairing operation. Therefore, this embodiment of the invention considers the actual situation and only counts the total number of all leaf nodes in the minimum cost node sequence (representing the number of bilinear pairing operations triggered by the leaf nodes), and uses it as the minimum decryption operation required for the target terminal, which can reduce the operation load while ensuring prediction accuracy.
[0075] The peak cache slot demand represents the number of independent cache slots required for the target terminal to decrypt, while the minimum decryption computation represents the number of independent cache slots that the target terminal can currently provide for decryption. The difference between the peak cache slot demand and the number of available cache slots reflects the degree of lack of cache resources required for the target terminal to decrypt the ciphertext, i.e., the mutual offset between the peak cache slot demand and the number of available cache slots as described in step S103 above. The larger the difference (the larger the mutual offset), the more severe the lack of cache resources required for the target terminal to decrypt, and the longer the decryption time. Conversely, the smaller the difference (the smaller the mutual offset), the less the lack of cache resources required for the target terminal, and the shorter the decryption time. That is, the difference between the peak cache slot demand and the number of available cache slots is positively correlated with the time required for decryption. Therefore, mapping this difference positively correlates it can be transformed into a penalty coefficient to play a corrective role when calculating the expected decryption time, which helps to improve the accuracy of the calculation.
[0076] In one specific implementation of this invention, the penalty coefficient can be calculated using the following formula: ,in, Indicates the penalty coefficient; This indicates the peak value of cache slot demand. This represents the number of available cache slots. This represents the loss function, designed to set a bottom-line protection mechanism to ensure that the output is 0 when the input is negative, thereby preventing interference from negative exponents; This represents an exponential function with a base of the natural constant. Its purpose is to reflect the additional time overhead caused by application-level garbage collection (GC) blocking or memory paging stacking, for example, when no overflow occurs. (less than or equal to 0) The maximum value is 0, and the penalty coefficient degenerates to a positive integer 1, indicating that no penalty is incurred and the overall time consumption is determined solely by the base computing power; when overflow occurs, the penalty coefficient is a multiplier greater than a positive integer 1. The larger the difference, the higher the exponentially amplified penalty multiplier. This represents the buffer penalty damping coefficient, designed to smooth out exponential explosions, since it directly uses the natural constant. The absolute difference in value is used as an exponent. When the number of missing cache slots is large (e.g., 15 slots are missing), it will produce a mathematical amplification of millions of times, causing the expected decryption time to directly overflow the upper limit of the computer's data type and resulting in program deadlock. Therefore, in this embodiment of the invention, the cache penalty damping coefficient can be between [0.01, 0.1], for example, a value of 0.01.
[0077] The single operation time represents the time it takes for the target terminal to perform one operation, and the minimum decryption operation amount represents the number of operations required for the target terminal to decrypt. Therefore, the product of the two values can reflect the basic computing power time consumption of the target terminal. Thus, multiplying this product by the penalty coefficient can correct the basic computing power time consumption, significantly improving the reliability and accuracy of the expected decryption time.
[0078] In one specific implementation of this invention, the formula for calculating the expected decryption time is: ,in, Indicates the expected decryption time; Indicates the time taken for a single operation; This represents the minimum number of decryption operations; where, This product term represents the basic computing time, which is the theoretical basic time consumed by simply executing bilinear pairing operation instructions under ideal conditions where terminal application layer cache resources are absolutely sufficient and no memory congestion occurs.
[0079] Preferably, in some possible implementations of the embodiments of the present invention, the process of performing hierarchical access control includes: If the expected decryption time is less than or equal to the preset response timeout, the standard ciphertext distribution mode is maintained. If the expected decryption time is greater than the preset response timeout, then downgraded ciphertext distribution will be performed.
[0080] Because physical terminals in practice have communication thresholds, when the expected decryption time exceeds the communication threshold, network links may be abnormally disconnected or the terminal may crash. Therefore, it is necessary to compare the expected decryption time with a preset response timeout. This allows for the determination of the terminal's decryption capability before the ciphertext is sent, which helps improve the universality and reliability of hierarchical access control. It should be noted that in this embodiment, the preset response timeout can be used as a "benchmark," corresponding to the statement in step S103 above that "the relative offset of the expected decryption time to the benchmark can accurately show whether the target terminal will experience congestion when decrypting the ciphertext." Specifically, the offset of the expected decryption time relative to the preset response timeout can accurately show whether the target terminal will experience congestion when decrypting the ciphertext (if the expected decryption time exceeds the preset response timeout, it indicates that congestion has occurred; otherwise, it indicates that no congestion has occurred).
[0081] In a specific implementation of this invention, the hierarchical access control process is as follows: if the expected decryption time is less than or equal to the preset response timeout, indicating that the expected timeout (expected decryption time) is within the range allowed by the business, the available cache slots of the current application layer cryptographic sandbox of the terminal are sufficient to support the concurrent polynomial decryption of the target ciphertext. At this time, the system maintains the original data delivery process. If the expected decryption time exceeds the preset response timeout, it means that forcibly sending the target ciphertext that exceeds the expected time limit will cause the terminal to experience garbage collection (GC) blocking and network connection loss. At this time, the API gateway intercepts the ciphertext sending action and calls the trusted execution environment (TEE) proxy module built into the gateway. Inside the TEE, it reads the original high-sensitivity plaintext data corresponding to the business request cached in the gateway's trusted internal storage area (i.e., skipping the operation on the ciphertext and directly backtracking to process the original plaintext data); then the system uses existing conventional field mask replacement (such as replacing the ID number part with asterisks) or image precision reduction (such as... The system employs desensitization techniques such as resolution compression to automatically desensitize the original highly sensitive plaintext data. After processing, the system outputs desensitized and downgraded plaintext matching a lower security level. Next, the system reads attributes from the valid attribute set and generates a simplified policy tree containing only a single logical decision node (such as a basic identity attribute verification node). Using this simplified policy tree, the system re-implements attribute-based encryption on the desensitized and downgraded plaintext, outputting a new downgraded ciphertext requiring minimal decryption computation. Finally, the API gateway re-encapsulates this new downgraded ciphertext into a network packet and calls the underlying network transceiver interface to send it to the target terminal. This operation achieves dynamic downgraded delivery of the original ciphertext, completely avoiding the risks of underlying memory blockage and program crashes, while ensuring that the target terminal can obtain hierarchically desensitized data that matches its current carrying capacity, thus completing an adaptive hierarchical access control closed loop in a smart city scenario.
[0082] It should be noted that different application layer business protocols have strict lifespan requirements for data access requests. The system must obtain an objective absolute time boundary (preset response timeout) to determine whether the terminal will experience a network disconnection. Specifically, the system first calls the underlying TCP / IP protocol stack to read the transport layer keep-alive timeout of the current connection. Then, the system reads the read / write timeout waiting time set in the application layer API gateway system configuration file. The system then extracts the minimum value between these two values (transport layer keep-alive timeout and read / write timeout waiting time) as the preset response timeout, which reflects the maximum response waiting time allowed by the current network environment. In a specific implementation of this invention, in order to balance business experience and network stability, the value of the preset response timeout can also be empirically set to a fixed integer between 3000 milliseconds and 5000 milliseconds, for example, 4 seconds.
[0083] Based on the same inventive concept, the present invention also proposes a hierarchical access control system for sensitive data information in smart cities, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements any of the steps of the hierarchical access control method for sensitive data information in smart cities.
[0084] It should be noted that the order of the above embodiments of the present invention is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. The processes depicted in the accompanying drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0085] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on describing the differences from other embodiments.
Claims
1. A hierarchical access control method for sensitive data information in smart cities, characterized in that, The method includes: Control the API gateway to perform encrypted interactions with the target terminal, and obtain the number of available cache slots, single operation time, valid attribute set and encrypted access control tree for each encrypted interaction process; Based on the inclusion relationship between the valid attribute set and the ciphertext access control tree, a computational cost control tree is constructed; the computational cost control tree is optimized to determine the minimum cost node sequence; the ciphertext access control tree is corrected based on the minimum cost node sequence to construct a mandatory decryption subtree; in the mandatory decryption subtree, a cache occupancy mutual exclusion graph is constructed based on the mutual logical relationship between each node; logical association analysis is performed on the cache occupancy mutual exclusion graph to determine the peak cache slot demand. Based on the mutual offset between the peak demand for cache slots and the number of available cache slots, the time consumed in a single operation, and the sequence of nodes with minimum cost, the expected decryption time is analyzed and determined; based on the relative baseline offset of the expected decryption time, hierarchical access control is performed.
2. The method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The method for constructing the computational cost control tree includes: In the encrypted access control tree, obtain the underlying attribute values of each leaf node; If the underlying attribute value is in the set of valid attributes, the cost value of the corresponding leaf node is set to a preset small constant; if the underlying attribute value is outside the set of valid attributes, the cost value of the corresponding leaf node is set to a preset large constant; a reference cost control tree is constructed, and each leaf node in the reference cost control tree contains a cost value. In the reference cost control tree, each node except the leaf node is taken as the target point in a bottom-up order, and all nodes at the next level of each target point are taken as the corresponding calculation points. If the target point belongs to the AND gate type, the sum of the cost values of all corresponding computation points is taken as the cost value of the target point; if the target point belongs to the OR gate type, the minimum cost value among all corresponding computation points is taken as the cost value of the target point; a computation cost control tree is constructed, and each node in the computation cost control tree contains a cost value.
3. The method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The method for obtaining the minimum cost node sequence is as follows: The cost control tree is input into the depth-first search algorithm, which outputs the sequence of nodes with the minimum cost.
4. The method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The method for constructing the necessary decryption subtree includes: Each node in the minimum cost node sequence is used as a decryption point; in the ciphertext access control tree, nodes belonging to decryption points are retained, and nodes not belonging to decryption points are removed, thus constructing the necessary decryption subtree.
5. A method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The method for constructing the cache occupancy mutual exclusion graph includes: Each node belonging to the logical AND gate type in the necessary decryption subtree is used as a mutual exclusion reference point; all nodes at the next level directly connected to each mutual exclusion reference point are used as corresponding mutual exclusion points; and connections are made between all mutual exclusion points corresponding to each mutual exclusion reference point to construct a cache occupancy mutual exclusion graph.
6. A method for hierarchical access control of sensitive data information in a smart city according to claim 5, characterized in that, The method for obtaining the peak demand for cache slots includes: In the cache occupancy mutual exclusion graph, all nodes are sorted in descending order according to the number of connections of each node to determine the node processing sequence; the node processing sequence is iteratively processed to determine the peak amount of cache slot demand.
7. A method for hierarchical access control of sensitive data information in a smart city according to claim 6, characterized in that, The process of iteratively processing the node processing sequence to determine the peak demand for cache slots includes: In the cache occupancy mutual exclusion graph, all nodes are sorted in descending order according to the number of connections of each node to determine the node processing sequence; the node processing sequence is iterated to obtain the processing object point in each iteration; In each iteration, all processing object points are arranged sequentially along the node processing sequence to determine the processing object point sequence. The processing object point sequence is traversed sequentially, and the processing object point at the first traversal is used as the initial comparison point. When traversing each processing object point, if there is no connection between the corresponding processing object point and all the comparison points that have been traversed in the cache occupancy mutual exclusion graph, then the corresponding processing object point is used as the comparison point. After the processing object point sequence is traversed, the processing object points that have a connection with the comparison points in the cache occupancy mutual exclusion graph are used as the processing object points for the next iteration. Continue iterating until all nodes in the node processing sequence are comparison points, then stop iterating and use the total number of iterations as the peak demand for cache slots.
8. A method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The method for obtaining the expected decryption time includes: The total number of leaf nodes in the minimum cost node sequence is taken as the minimum decryption computation amount; The difference between the peak demand for cache slots and the number of available cache slots is positively correlated to determine the penalty coefficient; the expected decryption time is determined based on the product of the penalty coefficient, the time consumed in a single operation, and the minimum amount of decryption operation.
9. A method for hierarchical access control of sensitive data information in a smart city according to claim 1, characterized in that, The process of implementing hierarchical access control includes: If the expected decryption time is less than or equal to the preset response timeout, the standard ciphertext distribution mode is maintained. If the expected decryption time is greater than the preset response timeout, then downgraded ciphertext distribution will be performed.
10. A hierarchical access control system for sensitive data information in a smart city, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method for hierarchical access control of sensitive data information in a smart city as described in any one of claims 1 to 9.