CN117874789B - A dynamic privacy data encryption method and system - Google Patents
A dynamic privacy data encryption method and system Download PDFInfo
- Publication number
- CN117874789B CN117874789B CN202410015848.5A CN202410015848A CN117874789B CN 117874789 B CN117874789 B CN 117874789B CN 202410015848 A CN202410015848 A CN 202410015848A CN 117874789 B CN117874789 B CN 117874789B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- data block
- mpc
- security
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种动态的隐私数据加密方法和系统,所述方法包括:步骤S1:对敏感数据进行自动识别与分区;步骤S2:对数据块更新,并将数据块与MPC任务关联;步骤S3:实行动态增量加密机制;步骤S4:存储节点将增量加密后的数据应用到相关数据块中,同时保持未变更数据的加密状态不变。本发明提出的动态隐私数据加密方法针对的是数据安全和隐私保护这两个在商业领域中日益重要的技术问题,通过结合自动识别敏感数据、数据分区、与多方计算MPC任务的关联、动态增量加密等技术手段,实现敏感数据的自动识别与保护和数据隐私与安全性增强。
The present invention discloses a dynamic privacy data encryption method and system, the method comprising: step S1: automatically identifying and partitioning sensitive data; step S2: updating data blocks and associating data blocks with MPC tasks; step S3: implementing a dynamic incremental encryption mechanism; step S4: the storage node applies the incrementally encrypted data to the relevant data blocks, while keeping the encryption state of the unchanged data unchanged. The dynamic privacy data encryption method proposed in the present invention is aimed at data security and privacy protection, two increasingly important technical issues in the commercial field. By combining automatic identification of sensitive data, data partitioning, association with multi-party computing MPC tasks, dynamic incremental encryption and other technical means, the automatic identification and protection of sensitive data and the enhancement of data privacy and security are achieved.
Description
技术领域Technical Field
本发明属于计算机技术领域,尤其涉及一种动态的隐私数据加密方法和系统。The present invention belongs to the field of computer technology, and in particular relates to a dynamic privacy data encryption method and system.
背景技术Background Art
随着信息技术的迅速发展,数据成为了企业中最宝贵的资源之一。尤其在大数据、云计算和物联网技术不断进步的背景下,数据的收集、存储、处理和分析变得更加频繁和复杂。商业数据通常包含了大量的敏感信息,如个人隐私数据、财务信息等,这些信息一旦泄露,可能会对企业造成重大的经济损失和信誉损害。With the rapid development of information technology, data has become one of the most valuable resources in enterprises. Especially with the continuous advancement of big data, cloud computing and Internet of Things technologies, the collection, storage, processing and analysis of data have become more frequent and complex. Business data usually contains a large amount of sensitive information, such as personal privacy data, financial information, etc. Once this information is leaked, it may cause significant economic losses and reputation damage to the enterprise.
目前,数据加密是保护商业数据不被未经授权访问的常用手段。然而,传统的数据加密方法通常在数据存储时将整个数据集进行加密,这种静态的加密方式存在一些缺陷。首先,当数据需要更新或处理时,可能需要对整个加密数据集进行解密和再加密,这不仅效率低下,而且在数据解密的过程中存在安全隐患。其次,静态加密方法不利于实现对数据访问权限的细粒度控制,不满足现代商业对数据安全性和灵活性的双重需求。Currently, data encryption is a common means of protecting business data from unauthorized access. However, traditional data encryption methods usually encrypt the entire data set when the data is stored. This static encryption method has some defects. First, when the data needs to be updated or processed, the entire encrypted data set may need to be decrypted and re-encrypted, which is not only inefficient, but also poses security risks during the data decryption process. Secondly, static encryption methods are not conducive to achieving fine-grained control over data access rights and do not meet the dual needs of modern business for data security and flexibility.
因此,亟需一种新型的动态隐私数据加密方法和系统,该方法和系统能够实现对商业敏感数据的高效、安全管理,保护商业利益和客户信任。Therefore, there is an urgent need for a new type of dynamic privacy data encryption method and system that can achieve efficient and secure management of commercial sensitive data and protect commercial interests and customer trust.
发明内容Summary of the invention
针对上述现有技术中存在的缺陷,本发明提供一种动态的隐私数据加密方法,所述方法包括:In view of the defects existing in the above-mentioned prior art, the present invention provides a dynamic privacy data encryption method, which comprises:
步骤S1:对敏感数据进行自动识别与分区;Step S1: Automatically identify and partition sensitive data;
其中,自动分析和标识敏感数据,并根据敏感性等级对其进行分区,每个分区的数据根据其与特定多方计算MPC任务的关联性进行数据分块,在每个分组形成多个数据块;Among them, sensitive data is automatically analyzed and identified, and partitioned according to the sensitivity level. The data in each partition is divided into blocks according to its relevance to a specific multi-party computing MPC task, forming multiple data blocks in each group;
步骤S2:对数据块更新,并将数据块与MPC任务关联;Step S2: Update the data block and associate the data block with the MPC task;
步骤S3:实行动态增量加密机制;Step S3: Implement dynamic incremental encryption mechanism;
其中,相关的MPC参与者开启增量加密功能,以及基于数据块大小、当前任务处理情况以及资源可用情况对变更的数据实施增量加密;Among them, the relevant MPC participants enable the incremental encryption function and implement incremental encryption for the changed data based on the data block size, current task processing status and resource availability;
其中,所述增量加密基于动态的权限密钥;Wherein, the incremental encryption is based on a dynamic authority key;
增量加密完成后,所述MPC参与者将增量加密后的数据分发给所有存储节点。After the incremental encryption is completed, the MPC participant distributes the incrementally encrypted data to all storage nodes.
步骤S4:存储节点将增量加密后的数据应用到相关数据块中,同时保持未变更数据的加密状态不变。Step S4: The storage node applies the incrementally encrypted data to the relevant data blocks while keeping the encryption status of the unchanged data unchanged.
其中,所述步骤S2中,数据块更新,并将数据块与MPC任务关联,具体包括:Wherein, in step S2, the data block is updated and the data block is associated with the MPC task, specifically including:
系统通过注册的事件监听器检测到这个更新;查找这个数据块关联的MPC任务,并确定当前任务受到影响;系统向参与当前MPC任务的参与者发送安全通知;MPC参与者接收到通知后,启动增量加密算法,只加密和传送更改的数据部分。The system detects this update through the registered event listener; finds the MPC task associated with this data block and determines whether the current task is affected; the system sends a security notification to the participants involved in the current MPC task; after receiving the notification, the MPC participant starts the incremental encryption algorithm and only encrypts and transmits the changed data part.
其中,所述步骤S1中:Wherein, in step S1:
在开始自动标识之前,收集并预处理数据;Before starting automatic identification, collect and pre-process data;
对预处理后的数据进行敏感性评估,包括进行关键词进行特征提取后,根据正则表达式进行关键词匹配,来识别商业数据中的敏感数据,基于预定义的敏感数据标识符和业务规则对预处理后的数据确定数据的敏感性等级;Conduct sensitivity assessment on pre-processed data, including keyword feature extraction, keyword matching based on regular expressions to identify sensitive data in business data, and determine the sensitivity level of pre-processed data based on pre-defined sensitive data identifiers and business rules;
根据敏感数据的等级,数据被分区为不同的类别。Depending on the level of sensitivity of the data, the data is partitioned into different categories.
其中,所述步骤S1中:Wherein, in step S1:
数据分区完成,对数据分区划分为多个数据块,每一数据块与特定的MPC任务相关联;Data partitioning is completed, and the data partition is divided into multiple data blocks, each data block is associated with a specific MPC task;
MPC任务针对每个敏感性等级的数据块使用相应的加密协议和算法;The MPC task uses the corresponding encryption protocol and algorithm for each data block of each sensitivity level;
至少基于加密算法的计算复杂度、网络带宽、处理器能力共同来确定分区内数据块的组织方式。The organization of data blocks within a partition is determined based at least on the computational complexity of the encryption algorithm, network bandwidth, and processor capability.
其中,初始化获取所有参数以计算数据块大小,包括如下参数:Among them, all parameters are initialized to calculate the data block size, including the following parameters:
C:加密算法计算复杂度;C: encryption algorithm computational complexity;
P:处理器的处理能力;P: Processor processing power;
B:网络带宽;B: Network bandwidth;
T_max:最大允许的加密操作延迟时间;T_max: maximum allowed encryption operation delay time;
S_sec:安全性参数;S_sec: security parameters;
O:算法的开销;O: Algorithm overhead;
然后,基于最大延迟计算数据块大小N1,包括基于每个加密操作的最大延迟时间,使用以下公式来确定数据块的大小:Then, the data block size N1 is calculated based on the maximum delay, including the maximum delay time based on each encryption operation, and the size of the data block is determined using the following formula:
N1=(T_max-O)*P/C,N1=(T_max-O)*P/C,
其中,in,
(T_max-O)表示实际用于数据加密的时间,P/C表示在单位时间内能够处理的数据量,用于限定CPU的处理能力上限对数据块大小的限制程度;(T_max-O) represents the actual time used for data encryption, and P/C represents the amount of data that can be processed per unit time, which is used to limit the degree of restriction of the CPU's processing capacity on the data block size;
同时,基于网络带宽计算数据块大小N2,包括使用以下公式确定基于网络能够在T_max时间内传输的数据量来确定数据块的大小N2:N2=B*T_max;其中,N2应该小于或等于网络在T_max内能够传输的最大数据量;Meanwhile, the data block size N2 is calculated based on the network bandwidth, including using the following formula to determine the data block size N2 based on the amount of data that the network can transmit within the T_max time: N2=B*T_max; wherein N2 should be less than or equal to the maximum amount of data that the network can transmit within T_max;
以及,根据安全性参数S_sec来根据不同的安全性要求来调整数据块的大小,对于需要更高安全性的数据,通过减小数据块的大小来增加安全性,用公式表示为:N_adj=N*S_sec;And, according to the security parameter S_sec, the size of the data block is adjusted according to different security requirements. For data requiring higher security, the security is increased by reducing the size of the data block, which is expressed by the formula: N_adj = N*S_sec;
基于处理器能力、网络带宽、安全性要求来确定数据块的大小:Determine the size of the data block based on processor power, network bandwidth, and security requirements:
最终的数据块大小N_final是以上几个因素计算结果的最小值:The final data block size N_final is the minimum value of the calculation results of the above factors:
N_final=min(N,N_adj,B*T_max),N_final=min(N,N_adj,B*T_max),
所述N_final为对应分区内数据块的组织方式。The N_final is the organization method of the data blocks in the corresponding partition.
其中,对于S_sec的确定,包括使用敏感性等级到安全性权重的映射确定。The determination of S_sec includes using a mapping from sensitivity level to security weight.
其中,对于S_sec的确定,包括根据以下公式计算S_sec:The determination of S_sec includes calculating S_sec according to the following formula:
S_sec=W_sec*F_legal*F_threat*F_env,S_sec=W_sec*F_legal*F_threat*F_env,
其中,in,
W_sec:根据敏感性等级而定义的安全性权重;W_sec: security weight defined according to sensitivity level;
F_legal:法律要求因子;F_legal: legal requirement factor;
F_threat:威胁模型因子;F_threat: Threat model factor;
F_env:环境因子。F_env: Environmental factor.
其中,使用以下公式计算F_threat:Among them, F_threat is calculated using the following formula:
F_threat=F_threat=b+(b*(1-(Σ(Score_i)/(N*Max_Score)))),在此公式中:F_threat=F_threat=b+(b*(1-(Σ(Score_i)/(N*Max_Score)))), where:
b:设置的参数取值下限的常数,表明设置的因素影响的最大程度;Score_i:第i个潜在威胁的评分;b: The constant of the lower limit of the parameter value, indicating the maximum degree of influence of the set factor; Score_i: The score of the i-th potential threat;
N:潜在威胁的数量;N: the number of potential threats;
Max_Score:单个潜在威胁的最高评分。Max_Score: The maximum score of a single potential threat.
其中,所述步骤S3中实行动态增量加密机制,包括:系统根据所述数据块大小、当前的CPU负载、内存使用情况和网络带宽确定当前MPC任务的增量加密策略;The step S3 implements a dynamic incremental encryption mechanism, including: the system determines an incremental encryption strategy for the current MPC task according to the data block size, the current CPU load, the memory usage and the network bandwidth;
以及,基于当前数据版本号生成一个新的权限密钥,并基于权限密钥进行增量加密。And, a new authority key is generated based on the current data version number, and incremental encryption is performed based on the authority key.
本发明还公开了一种动态的隐私数据加密系统,包括存储器、处理器,其特征在于,所述存储器中存储计算机程序代码,所述处理器用于执行所述计算机程序代码实现前述的动态的隐私数据加密方法。The present invention also discloses a dynamic privacy data encryption system, including a memory and a processor, wherein the memory stores computer program code, and the processor is used to execute the computer program code to implement the aforementioned dynamic privacy data encryption method.
本发明自动识别敏感数据并对其进行分区,有助于减少人为错误,并提高敏感数据保护的效率和准确性。本发明通过与MPC任务关联并实施动态增量加密,只有被授权的参与者才能访问和处理数据,从而增强数据的安全性。此外,增量加密允许只对发生变更的数据块进行处理,还可以减少了计算量并提高了数据处理的灵活性和效率。The present invention automatically identifies sensitive data and partitions it, which helps reduce human errors and improves the efficiency and accuracy of sensitive data protection. By associating with MPC tasks and implementing dynamic incremental encryption, only authorized participants can access and process data, thereby enhancing data security. In addition, incremental encryption allows only the changed data blocks to be processed, which can also reduce the amount of calculation and improve the flexibility and efficiency of data processing.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present disclosure will become readily understood. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
图1是示出根据本发明实施例的一种动态的隐私数据加密方法的流程图。FIG. 1 is a flow chart showing a dynamic privacy data encryption method according to an embodiment of the present invention.
具体实施方式DETAILED DESCRIPTION
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。In order to make the purpose, technical scheme and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。The terms used in the embodiments of the present invention are only for the purpose of describing specific embodiments, and are not intended to limit the present invention. The singular forms "a", "said" and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings, and "multiple" generally includes at least two.
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本发明实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。It should be understood that although the terms first, second, third, etc. may be used to describe ... in the embodiments of the present invention, these ... should not be limited to these terms. These terms are only used to distinguish .... For example, without departing from the scope of the embodiments of the present invention, the first ... may also be referred to as the second ..., and similarly, the second ... may also be referred to as the first ....
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should be understood that the term "and/or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and/or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character "/" in this article generally indicates that the associated objects before and after are in an "or" relationship.
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a product or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such product or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the product or device including the elements.
本发明提出的动态隐私数据加密方法主要针对的是数据安全和隐私保护这两个在商业领域中日益重要的技术问题。通过结合自动识别敏感数据、数据分区、与多方计算(MPC)任务的关联、动态增量加密等步骤,实现敏感数据的自动识别与保护和数据隐私与安全性增强。The dynamic privacy data encryption method proposed in this invention mainly targets data security and privacy protection, two increasingly important technical issues in the business field. By combining the steps of automatic identification of sensitive data, data partitioning, association with multi-party computing (MPC) tasks, dynamic incremental encryption, etc., the automatic identification and protection of sensitive data and the enhancement of data privacy and security are achieved.
如图1所示,本发明公开了一种动态的隐私数据加密方法,所述方法包括:As shown in FIG1 , the present invention discloses a dynamic privacy data encryption method, the method comprising:
步骤S1:对敏感数据进行自动识别与分区。Step S1: Automatically identify and partition sensitive data.
所述步骤S1中,需要自动分析和标识敏感数据,并根据敏感性等级对其进行分区。每个分区的数据根据其与特定MPC(多方计算)任务的关联性进行数据分块,在每个分组形成多个数据块。在每个分布式存储节点中应用同样的数据块组织结构,便于数据块结构的统一管理和存储,每个数据块内可以存储有不同版本的数据包。In step S1, sensitive data needs to be automatically analyzed and identified, and partitioned according to sensitivity levels. The data of each partition is divided into blocks according to its relevance to a specific MPC (multi-party computing) task, and multiple data blocks are formed in each group. The same data block organization structure is applied in each distributed storage node to facilitate the unified management and storage of the data block structure, and different versions of data packets can be stored in each data block.
步骤S2:对数据块更新,并将数据块与MPC任务关联。Step S2: Update the data block and associate the data block with the MPC task.
所述步骤S2中,需要当某个数据块准备更新时,将其与相关的MPC任务联系起来。数据块发生变化时,通知相关MPC任务的所有参与者,激活增量加密机制。In step S2, when a data block is ready to be updated, it needs to be associated with the relevant MPC task. When a data block changes, all participants of the relevant MPC task are notified and the incremental encryption mechanism is activated.
步骤S3:实行动态增量加密机制。Step S3: Implement a dynamic incremental encryption mechanism.
所述步骤S3中,相关的MPC参与者开启增量加密功能。基于数据块大小、当前任务处理情况以及资源可用情况对变更的数据实施增量加密,其中,所述增量加密基于动态的权限密钥。增量加密完成后,所述MPC参与者将增量加密后的数据分发给所有存储节点。In step S3, the relevant MPC participants enable the incremental encryption function. Incremental encryption is performed on the changed data based on the data block size, the current task processing status, and the resource availability, wherein the incremental encryption is based on a dynamic authority key. After the incremental encryption is completed, the MPC participants distribute the incrementally encrypted data to all storage nodes.
步骤S4:增量解密与应用结果Step S4: Incremental decryption and application results
所述步骤S4中,存储节点将增量加密后的数据应用到相关数据块中,同时保持未变更数据的加密状态不变。In step S4, the storage node applies the incrementally encrypted data to the relevant data blocks while keeping the encryption status of the unchanged data unchanged.
本发明自动识别敏感数据并对其进行分区,有助于减少人为错误,并提高敏感数据保护的效率和准确性。本发明通过与MPC任务关联并实施动态增量加密,只有被授权的参与者才能访问和处理数据,从而增强数据的安全性。此外,增量加密允许只对发生变更的数据块进行处理,还可以减少了计算量并提高了数据处理的灵活性和效率。The present invention automatically identifies sensitive data and partitions it, which helps reduce human errors and improves the efficiency and accuracy of sensitive data protection. By associating with MPC tasks and implementing dynamic incremental encryption, only authorized participants can access and process data, thereby enhancing data security. In addition, incremental encryption allows only the changed data blocks to be processed, which can also reduce the amount of calculation and improve the flexibility and efficiency of data processing.
为了实现自动识别和标记出敏感数据,并依据其敏感性等级将数据进行适当的分区。在开始自动标识之前,首先要收集并预处理数据。预处理可能包括清洗数据(移除重复项、修正错误、填补缺失值)、格式标准化(日期格式统一)以及文本标准化等。In order to automatically identify and mark sensitive data, and to partition the data appropriately according to its sensitivity level, the data must first be collected and preprocessed before starting the automatic identification. Preprocessing may include cleaning the data (removing duplicates, correcting errors, filling missing values), format standardization (unifying date formats), and text standardization.
然后对预处理后的数据进行敏感性评估,包括进行关键词进行特征提取后,根据正则表达式进行关键词匹配,来识别商业数据中的敏感数据。Then, the sensitivity of the preprocessed data is assessed, including keyword feature extraction and keyword matching based on regular expressions to identify sensitive data in commercial data.
正则表达式为一种基于规则的算法,基于预定义的敏感数据标识符和业务规则对预处理后的数据确定数据的敏感性等级。Regular expressions are a rule-based algorithm that determines the sensitivity level of data based on predefined sensitive data identifiers and business rules for preprocessed data.
的商业系统中,敏感数据包括但不限于个人身份信息(如身份证号码、手机号码)、财务信息(如银行卡号)、个人隐私(如住址、邮箱地址)等。其中,身份证号码(18位,最后一位可能是数字或字母X),手机号码(目前中国的手机号码为11位数字,且以13、14、15、16、17、18、19开头),银行卡号(通常为16到19位数字),邮箱地址(简单邮箱地址匹配),住址(匹配中文字符及常见地址组成部分)。随着规则和标准的更新,需要定期更新正则表达式以适应新的格式。In the commercial system, sensitive data includes but is not limited to personal identity information (such as ID card number, mobile phone number), financial information (such as bank card number), personal privacy (such as address, email address), etc. Among them, ID card number (18 digits, the last digit may be a number or letter X), mobile phone number (currently China's mobile phone number is 11 digits and starts with 13, 14, 15, 16, 17, 18, 19), bank card number (usually 16 to 19 digits), email address (simple email address matching), address (matching Chinese characters and common address components). As the rules and standards are updated, regular expressions need to be updated regularly to adapt to the new format.
根据敏感数据的等级,数据被分区为不同的类别。基于数据的敏感性等级(如等级1~5)来进行分区,其中低等级的数据敏感性更低,高等级的数据敏感性更高。According to the level of sensitive data, data is partitioned into different categories. Partitioning is performed based on the sensitivity level of data (such as level 1 to 5), where low-level data has lower sensitivity and high-level data has higher sensitivity.
对于敏感性等级,可选地,按照如下规则确定敏感性等级:For the sensitivity level, optionally, the sensitivity level is determined according to the following rules:
敏感性等级1,例如公开发布的信息。敏感性等级2,例如客户个人邮箱地址。敏感性等级3,例如客户住址信息。敏感性等级4,例如客户手机号码、身份证号码。敏感性等级5,例如银行卡号、以及对应的银行账户交易信息。Sensitivity level 1, such as publicly released information. Sensitivity level 2, such as a customer's personal email address. Sensitivity level 3, such as a customer's residential address information. Sensitivity level 4, such as a customer's mobile phone number and ID number. Sensitivity level 5, such as a bank card number and the corresponding bank account transaction information.
一旦数据分区完成,对数据分区划分为多个数据块,每一块数据需要与特定的MPC任务相关联。Once the data partitioning is completed, the data partition is divided into multiple data blocks, and each block of data needs to be associated with a specific MPC task.
MPC任务为对数据块数据执行加密处理,确保合适的加密强度。The MPC task is to perform encryption processing on the data block to ensure the appropriate encryption strength.
将数据块根据其敏感性等级与相应的MPC任务关联。确保MPC任务针对每个敏感性等级的数据块使用相应的加密协议和算法。基于加密算法的计算复杂度、网络带宽、处理器能力等因素共同来确定分区内数据块的组织方式。Associate data blocks with corresponding MPC tasks according to their sensitivity levels. Ensure that MPC tasks use the corresponding encryption protocols and algorithms for data blocks of each sensitivity level. Determine the organization of data blocks within a partition based on factors such as the computational complexity of the encryption algorithm, network bandwidth, and processor capabilities.
基于加密算法的计算复杂度划分数据块,包括当创建的数据块较小时,表明数据敏感性越高,需要应用计算复杂度高的加密算法。反之,当创建的数据块较大时,表明数据敏感性越低,可以应用计算复杂度低的加密算法,以减少加密操作的总次数。The data blocks are divided based on the computational complexity of the encryption algorithm, including when the created data blocks are smaller, it indicates that the data sensitivity is higher and an encryption algorithm with higher computational complexity needs to be applied. Conversely, when the created data blocks are larger, it indicates that the data sensitivity is lower and an encryption algorithm with lower computational complexity can be applied to reduce the total number of encryption operations.
具体地,初始化获取所有参数以计算数据块大小,包括如下参数:Specifically, all parameters are initialized to calculate the data block size, including the following parameters:
C:加密算法计算复杂度,用每比特需要的CPU周期数标识。C: The computational complexity of the encryption algorithm, expressed as the number of CPU cycles required per bit.
P:处理器的处理能力,用每秒可以处理的比特数(bps)表示。P: The processing power of the processor, expressed in the number of bits that can be processed per second (bps).
B:网络带宽,以每秒可以传输的比特数(bps)表示。B: Network bandwidth, expressed in the number of bits that can be transmitted per second (bps).
T_max:最大允许的加密操作延迟时间(秒)。T_max: Maximum allowed encryption operation delay time (seconds).
S_sec:安全性参数,根据安全要求确定的数据块大小系数。S_sec: security parameter, data block size coefficient determined according to security requirements.
O:算法的开销,表示为非数据依赖的常数时间(秒),可以以算法初始化时间来确定非数据依赖算法开销。O: Algorithm overhead, expressed as a non-data-dependent constant time (seconds). The non-data-dependent algorithm overhead can be determined by the algorithm initialization time.
然后,基于最大延迟计算数据块大小N1,包括基于每个加密操作的最大延迟时间,使用以下公式来确定数据块的大小:Then, the data block size N1 is calculated based on the maximum delay, including the maximum delay time based on each encryption operation, and the size of the data block is determined using the following formula:
N1=(T_max-O)*P/C,N1=(T_max-O)*P/C,
其中,in,
(T_max-O)表示实际用于数据加密的时间,P/C表示在单位时间内能够处理的数据量,用于限定CPU的处理能力上限对数据块大小的限制程度。(T_max-O) represents the actual time used for data encryption, and P/C represents the amount of data that can be processed per unit time, which is used to limit the degree of limitation of the data block size by the upper limit of the CPU's processing capacity.
同时,基于网络带宽计算数据块大小N2,包括使用以下公式确定基于网络能够在T_max时间内传输的数据量来确定数据块的大小N2:N2=B*T_max。在这种情况下,N2应该小于或等于网络在T_max内能够传输的最大数据量。At the same time, the data block size N2 is calculated based on the network bandwidth, including using the following formula to determine the data block size N2 based on the amount of data that the network can transmit within T_max time: N2 = B*T_max. In this case, N2 should be less than or equal to the maximum amount of data that the network can transmit within T_max.
此外,还需要根据安全性参数S_sec来根据不同的安全性要求来调整数据块的大小。对于需要更高安全性的数据,通过减小数据块的大小来增加安全性,用公式表示为:N_adj=N*S_sec。In addition, the size of the data block needs to be adjusted according to different security requirements based on the security parameter S_sec. For data that requires higher security, the security is increased by reducing the size of the data block, which is expressed by the formula: N_adj = N*S_sec.
如果S_sec小于1,表示需要减小数据块的大小来提高安全性;如果S_sec大于1,则可以增加数据块的大小。If S_sec is less than 1, it means that the size of the data block needs to be reduced to improve security; if S_sec is greater than 1, the size of the data block can be increased.
最后,综合考虑处理能力、网络带宽、安全性要求等因素来确定数据块的大小。因此,最终的数据块大小N_final是以上几个因素计算结果的最小值:N_final=min(N,N_adj,B*T_max)。Finally, the size of the data block is determined by comprehensively considering factors such as processing power, network bandwidth, and security requirements. Therefore, the final data block size N_final is the minimum value of the calculation results of the above factors: N_final = min(N, N_adj, B*T_max).
所述N_final为对应分区内数据块的组织方式,由于不同分区的S_sec不相同,且分区对应分配的CPU的处理能力P可能不相同,不同分区的加密算法复杂度可能也不相同,因此不同的分区内的数据块的组织方式不相同。The N_final is the organization method of the data blocks in the corresponding partition. Since the S_sec of different partitions is different, and the processing power P of the CPU allocated to the partitions may be different, the complexity of the encryption algorithm of different partitions may also be different, the organization method of the data blocks in different partitions is different.
其中,对于S_sec的确定,有以下两种确定方式:There are two ways to determine S_sec:
方式一、使用敏感性等级到安全性权重的映射。Method 1: Use the mapping of sensitivity levels to security weights.
具体为,为每个等级分配一个安全性权重W_sec,它根据数据的敏感性等级来缩放。Specifically, each level is assigned a security weight W_sec, which is scaled according to the sensitivity level of the data.
等级1:W_sec=1.0(默认权重,不需要额外的安全措施)Level 1: W_sec = 1.0 (default weight, no additional security measures required)
等级2:W_sec=0.8Level 2: W_sec = 0.8
等级3:W_sec=0.6Level 3: W_sec = 0.6
等级4:W_sec=0.4Level 4: W_sec = 0.4
等级5:W_sec=0.2(最高等级的敏感性,需要最小的数据块)Level 5: W_sec = 0.2 (highest level of sensitivity, requiring the smallest data block)
这里,W_sec值小于1表明随着敏感性等级的升高,需要减小数据块的大小来提高安全性。Here, a W_sec value less than 1 indicates that as the sensitivity level increases, the size of the data block needs to be reduced to improve security.
方式二、如果数据分区只是基于数据属性来进行,在一个分区内有多个不同属性的数据内容,对数据分块时,保证一个数据块内只有同一属性的数据内容。例如,如果等级1的分区中,同时有银行卡号、交易记录、交易总额,交易时间等等信息,但对于某一具体的数据块,只保存银行卡号,则可能根据方式二确定同一数据分区内不同数据块的安全性权重W_sec,使得安全性权重W_sec的分配更加灵活。Method 2: If data partitioning is based only on data attributes, and there are multiple data contents with different attributes in one partition, when data is divided into blocks, it is ensured that there are only data contents with the same attribute in one data block. For example, if the partition of level 1 contains bank card number, transaction record, transaction amount, transaction time and other information at the same time, but only the bank card number is saved for a specific data block, the security weight W_sec of different data blocks in the same data partition may be determined according to method 2, making the allocation of security weight W_sec more flexible.
以下为方式二中计算S_sec的公式:The following is the formula for calculating S_sec in method 2:
S_sec=W_sec*F_legal*F_threat*F_env,S_sec=W_sec*F_legal*F_threat*F_env,
其中,in,
W_sec:根据敏感性等级而定义的安全性权重(参照方式一)。W_sec: Security weight defined according to sensitivity level (refer to method 1).
F_legal:法律要求因子,如果有法律要求的严格程度确定F_legal,这个值在常数b(例如0.5)到1之间。F_legal: Legal requirement factor. If there is a legal requirement, the strictness of F_legal is determined. This value is between a constant b (e.g. 0.5) and 1.
F_threat:威胁模型因子,根据高风险的威胁成都确定F_threat,这个值在常数b(例如0.5)到1之间。F_threat: Threat model factor. F_threat is determined based on the number of high-risk threats. This value is between a constant b (e.g. 0.5) and 1.
F_env:环境因子,根据数据处理环境的安全程度确定,这个值在常数b(例如0.5)到1之间。F_env: Environmental factor, determined according to the security level of the data processing environment. This value is between the constant b (e.g. 0.5) and 1.
法律要求因子(F_legal)反映了组织必须遵守的数据保护和隐私法律的严格程度。这个因素可以基于法律要求的复杂性、罚款的严重性以及合规成本来确定。其中,F_legal的值应当在0到1之间,值越小表示法律要求越严格,需要更多的安全措施以确保合规。The legal requirement factor (F_legal) reflects the strictness of the data protection and privacy laws that an organization must comply with. This factor can be determined based on the complexity of the legal requirements, the severity of the fines, and the cost of compliance. The value of F_legal should be between 0 and 1. The smaller the value, the stricter the legal requirements and the more security measures required to ensure compliance.
威胁模型因子(F_threat)考虑了组织面临的安全威胁的类型和严重性。不同属性类型的数据和不同的业务模型面临的威胁模型会有所不同,例如银行卡信息可能相对于邮箱信息面临更高的威胁。可选地,F_threat的值在常数b(例如0.5)到1之间,值越大表示潜在威胁的可能性和影响越高,需要更多的安全措施以减轻风险。The threat model factor (F_threat) takes into account the type and severity of security threats faced by the organization. Data of different attribute types and different business models face different threat models. For example, bank card information may face higher threats than email information. Optionally, the value of F_threat is between a constant b (e.g., 0.5) and 1. The larger the value, the higher the possibility and impact of potential threats, and more security measures are needed to mitigate the risk.
可以基于评分计算的方式来确定F_threat,具体包括:F_threat can be determined based on the scoring calculation method, including:
识别可能影响数据安全的所有潜在威胁。例如:外部攻击(如DDoS攻击、钓鱼攻击);内部威胁(如恶意内部人员、误操作);系统漏洞(如软件未更新)。Identify all potential threats that may affect data security, such as external attacks (such as DDoS attacks, phishing attacks); internal threats (such as malicious insiders, misoperation); system vulnerabilities (such as software not updated).
评估威胁的可能性和影响,具体对于每个潜在威胁,评估其发生的可能性和对组织产生的影响。可以使用以下评分:Assess the likelihood and impact of threats. For each potential threat, assess its likelihood of occurrence and the impact it would have on the organization. The following scores can be used:
0分:威胁不可能发生或影响微不足道。0 points: The threat is unlikely to occur or the impact is negligible.
1分:威胁可能性低,影响较小。1 point: The threat possibility is low and the impact is small.
2分:威胁可能性中等,影响显著。2 points: The threat possibility is medium and the impact is significant.
3分:威胁可能性高,影响严重。3 points: The threat possibility is high and the impact is serious.
最后,计算F_threat,使用以下公式计算F_threat:Finally, calculate F_threat. Use the following formula to calculate F_threat:
F_threat=F_threat=b+(b*(1-(Σ(Score_i)/(N*Max_Score)))),F_threat=F_threat=b+(b*(1-(Σ(Score_i)/(N*Max_Score)))),
在此公式中:In this formula:
b:设置的参数取值下限的常数,表明设置的因素影响的最大程度,例如设置为0.5。b: A constant for the lower limit of the parameter value, indicating the maximum degree of influence of the set factor, for example, it is set to 0.5.
Score_i:第i个潜在威胁的评分。Score_i: The score of the i-th potential threat.
N:潜在威胁的数量。N: The number of potential threats.
Max_Score:单个潜在威胁的最高评分(本例中为3)。Max_Score: The maximum score of a single potential threat (3 in this example).
基于上述公式,在所有潜在威胁的评分都是最高的情况下(即最不安全),F_threat的值将为b,而如果所有潜在威胁的评分都是最低的情况下(即最安全),F_threat的值将是1(b为0.5的情形下)。Based on the above formula, when all potential threats have the highest scores (ie, the least secure), the value of F_threat will be b, and if all potential threats have the lowest scores (ie, the safest), the value of F_threat will be 1 (when b is 0.5).
对于环境因子F_env,可以根据与数据处理环境安全相关的控制措施,包括物理安全措施(如内网、外网),以及网络安全设备(如防火墙、入侵检测系统)的配置程度来确定安全程度,安全程度越高的环境环境因子F_env越高,安全程度越低的环境环境因子F_env越低。For the environmental factor F_env, the security level can be determined based on the control measures related to the security of the data processing environment, including physical security measures (such as intranet and extranet), and the configuration level of network security equipment (such as firewalls and intrusion detection systems). The higher the security level, the higher the environmental factor F_env, and the lower the security level, the lower the environmental factor F_env.
对于步骤S2中对于数据块更新,并将数据块与MPC任务关联,包括:系统通过注册的事件监听器检测到这个更新;查找这个数据块关联的MPC任务,并确定当前任务受到影响;系统向参与当前MPC任务的参与者发送安全通知;MPC参与者接收到通知后,启动增量加密算法,只加密和传送更改的数据部分;MPC参与者更新本地的计算,重新计算或调整自身负责的部分。For updating the data block in step S2, and associating the data block with the MPC task, it includes: the system detects the update through the registered event listener; finds the MPC task associated with the data block and determines that the current task is affected; the system sends a security notification to the participants participating in the current MPC task; after receiving the notification, the MPC participant starts the incremental encryption algorithm and only encrypts and transmits the changed data part; the MPC participant updates the local calculation and recalculates or adjusts the part that it is responsible for.
首先,必须有一个机制来监测数据块何时准备更新,包括通过版本控制、触发器或事件监听来实现。数据所有者或控制者应对数据块进行版本管理,并在数据块将要被更新时生成更新事件。加一段版本升级的触发条件,可以是数据积累量决定。First, there must be a mechanism to monitor when a data block is ready to be updated, including through version control, triggers, or event monitoring. The data owner or controller should manage the data block version and generate an update event when the data block is about to be updated. Add a trigger condition for version upgrade, which can be determined by the amount of data accumulated.
每个数据块更新事件需要与一个或多个MPC任务相关联,包括维护一个映射,记录哪些MPC任务依赖于哪些数据块,当数据块更新时,查询这个映射找出受影响的MPC任务。Each data block update event needs to be associated with one or more MPC tasks, including maintaining a map to record which MPC tasks depend on which data blocks. When a data block is updated, this map is queried to find the affected MPC tasks.
当更新发生后,系统需要通知相关MPC任务的参与者。这可以通过一个安全的消息传递系统来实现,确保参与者收到通知,并了解所依赖的数据块已更新。When an update occurs, the system needs to notify the participants of the relevant MPC tasks. This can be achieved through a secure messaging system to ensure that the participants receive notifications and understand that the data blocks they depend on have been updated.
由于MPC任务通常涉及敏感数据,因此在更新数据块时应使用增量加密机制来保护数据的安全性,在此过程中,只有变化的部分被重新加密和分发,而不是整个数据块。Since MPC tasks usually involve sensitive data, an incremental encryption mechanism should be used to protect the security of data when updating data blocks, during which only the changed parts are re-encrypted and distributed instead of the entire data block.
参与者在收到更新通知后,需要根据新的数据块内容调整自身计算部分,包括重新运行某些计算步骤或完全重新开始MPC过程。After receiving the update notification, participants need to adjust their own calculation part according to the new data block content, including re-running certain calculation steps or completely restarting the MPC process.
对于一个MPC实例,每个MPC参与者可以基于以下框架,包括使用开源的MPC协议库,通过TLS(传输层安全)或DTLS(数据报传输层安全)协议来保护数据在网络上传输,利用分布式锁或共识算法来实现操作的同步,使用数据库加密、安全存储或者密钥管理系统来管理数据,部署HSM以增强密钥的安全性和加密操作,以及在支持SGX的CPU上创建安全飞地来执行敏感计算。For an MPC instance, each MPC participant can be based on the following framework, including using open source MPC protocol libraries, protecting data transmission over the network through TLS (Transport Layer Security) or DTLS (Datagram Transport Layer Security) protocols, using distributed locks or consensus algorithms to synchronize operations, using database encryption, secure storage or key management systems to manage data, deploying HSM to enhance key security and encryption operations, and creating secure enclaves on SGX-enabled CPUs to perform sensitive calculations.
所述步骤S3中实行动态增量加密机制,包括:系统根据所述数据块大小、当前的CPU负载、内存使用情况和网络带宽确定当前MPC任务的增量加密策略。以及,系统基于当前数据版本号生成一个新的权限密钥,并基于权限密钥进行增量加密。该步骤中仅对已更改的数据块应用加密,而不重新加密整个数据集。加密的增量版本的数据块通过安全的通信渠道发送到所有的存储节点。每个存储节点确认收到的数据块,并对其进行验证和同步,管理各个存储节点的数据的版本,确保所有参与者都在使用最新的加密数据块。The step S3 implements a dynamic incremental encryption mechanism, including: the system determines the incremental encryption strategy for the current MPC task based on the data block size, current CPU load, memory usage and network bandwidth. And, the system generates a new authority key based on the current data version number, and performs incremental encryption based on the authority key. In this step, encryption is only applied to the changed data blocks, without re-encrypting the entire data set. The encrypted incremental version of the data block is sent to all storage nodes through a secure communication channel. Each storage node confirms the received data block, verifies and synchronizes it, manages the version of the data of each storage node, and ensures that all participants are using the latest encrypted data block.
实现对不同版本数据块的精细化管理,以及并行加密,提高加密速度。Realize refined management of data blocks of different versions and parallel encryption to improve encryption speed.
可选地,权限密钥的生成可以基于当前的数据版本号,结合一个密钥生成函数KeyGen,能使用散列算法或伪随机函数来从数据版本号生成密钥:Optionally, the authority key can be generated based on the current data version number, combined with a key generation function KeyGen, which can use a hash algorithm or a pseudo-random function to generate a key from the data version number:
Permission_Key=KeyGen(Data_Version),Permission_Key=KeyGen(Data_Version),
这里的KeyGen函数是一个确定性函数,以确保相同的输入(数据版本号)将产生相同的权限密钥。确定性函数KeyGen用于生成权限密钥,其核心特性是对于相同的输入总是产生相同的输出。KeyGen通常会借助密码学安全的哈希函数或伪随机函数,输入数据版本号来生成密钥,例如Permission_Key=SHA256(Data_Version),其中Data_Version是密钥生成的主要输入,SHA256是一个单向的哈希函数,保证无法逆向推导出原始输入。由于KeyGen使用SHA256哈希函数来生成密钥,Permission_Key的长度将是固定的,因为SHA256的输出长度是固定的。SHA256哈希函数的输出长度是256位(即32字节)。无论输入数据的长度如何,SHA256始终产生一个固定长度的输出。这意味着Permission_Key的长度在使用SHA256时将始终是256位。The KeyGen function here is a deterministic function to ensure that the same input (data version number) will produce the same permission key. The deterministic function KeyGen is used to generate permission keys, and its core feature is that it always produces the same output for the same input. KeyGen usually uses a cryptographically secure hash function or a pseudo-random function to input the data version number to generate the key, such as Permission_Key = SHA256 (Data_Version), where Data_Version is the main input for key generation, and SHA256 is a one-way hash function that ensures that the original input cannot be reversed. Since KeyGen uses the SHA256 hash function to generate the key, the length of Permission_Key will be fixed because the output length of SHA256 is fixed. The output length of the SHA256 hash function is 256 bits (i.e. 32 bytes). Regardless of the length of the input data, SHA256 always produces an output of a fixed length. This means that the length of Permission_Key will always be 256 bits when using SHA256.
可选地,所述数据块大小、当前的CPU负载、内存使用情况和网络带宽确定当前MPC任务的增量加密策略,使得根据系统的性能参数动态调整加密操作的参数,包括加密算法的选择、密钥的大小、加密操作的并发度。Optionally, the data block size, current CPU load, memory usage and network bandwidth determine the incremental encryption strategy of the current MPC task, so that the parameters of the encryption operation are dynamically adjusted according to the performance parameters of the system, including the selection of encryption algorithm, key size, and concurrency of encryption operations.
以下是增量加密策略制定的计算公式和参数定义:The following are the calculation formulas and parameter definitions for incremental encryption strategy formulation:
BlockSize_Changed:待增量加密的数据包所在数据块的大小,BlockSize_Changed的数值为增量加密所在数据包对应的数据块在步骤S1中确定的N_final。BlockSize_Changed: the size of the data block containing the data packet to be incrementally encrypted. The value of BlockSize_Changed is N_final determined in step S1 for the data block corresponding to the data packet to be incrementally encrypted.
CPU_Load:当前CPU负载的百分比,表示为0到100之间的数值。CPU_Load: The current CPU load percentage, expressed as a value between 0 and 100.
Memory_Usage:当前使用的内存量。Memory_Usage: The amount of memory currently used.
Memory_Total:系统总内存量。Memory_Total: Total system memory.
Network_Bandwidth:当前可用的网络带宽。Network_Bandwidth: The currently available network bandwidth.
Data_Version:当前数据的版本号。Data_Version: The version number of the current data.
根据系统资源和数据块状态,制定以下增量加密策略:According to system resources and data block status, formulate the following incremental encryption strategy:
(1)密钥长度Key_Length:(1) Key length Key_Length:
Key_Length=f(CPU_Load,Memory_Usage,Network_Bandwidth)Key_Length=f(CPU_Load,Memory_Usage,Network_Bandwidth)
其中f函数可以根据系统资源参数选择合适的密钥长度。高CPU负载和内存使用可能意味着选择一个较短的密钥长度来减少计算开销。The f function can choose an appropriate key length based on system resource parameters. High CPU load and memory usage may mean choosing a shorter key length to reduce computational overhead.
可选地,函数f基于系统资源参数选择密钥长度,密钥长度的选择需要在安全性和性能之间做出平衡。可选地,根据CPU负载、内存使用和网络带宽来动态调整密钥长度。Optionally, function f selects a key length based on system resource parameters, where the key length selection requires a balance between security and performance. Optionally, the key length is dynamically adjusted based on CPU load, memory usage, and network bandwidth.
定义密钥长度的基准,分别为:The bases for defining key lengths are:
Key_Length_Max:可选的最大密钥长度,例如256位。Key_Length_Max: Optional maximum key length, for example 256 bits.
Key_Length_Min:可选的最小密钥长度,例如128位。Key_Length_Min: Optional minimum key length, for example 128 bits.
定义资源使用的阈值,包括:Define resource usage thresholds, including:
CPU_Load_Max:CPU负载的最大可接受百分比,例如80%。CPU_Load_Max: The maximum acceptable percentage of CPU load, for example 80%.
Memory_Usage_Max:内存使用的最大可接受百分比,例如75%。Memory_Usage_Max: The maximum acceptable percentage of memory usage, for example 75%.
Network_Bandwidth_Min:网络带宽的最小可接受值,例如1Mbps。Network_Bandwidth_Min: The minimum acceptable value of network bandwidth, for example 1Mbps.
确定Key_Length=f(CPU_Load,Memory_Usage,Network_Bandwidth),即根据CPU负载、内存使用和网络带宽来动态调整密钥长度Key_Length。Determine Key_Length = f(CPU_Load, Memory_Usage, Network_Bandwidth), that is, dynamically adjust the key length Key_Length according to the CPU load, memory usage and network bandwidth.
首先,将内存使用Memory_Usage转换为百分比Memory_Usage_Percent:Memory_Usage_Percent=(Memory_Usage/Memory_Total)*100First, convert the memory usage Memory_Usage into a percentage Memory_Usage_Percent: Memory_Usage_Percent = (Memory_Usage/Memory_Total)*100
然后,计算资源压力指数Stress_Index,值域为[0,1]:Then, calculate the resource pressure index Stress_Index, the value range is [0,1]:
Stress_Index=(CPU_Load/CPU_Load_Max+Memory_Usage_Percent/Memory_Usage_Max+(Network_Bandwidth_Min/Network_Bandwidth))/3,Stress_Index=(CPU_Load/CPU_Load_Max+Memory_Usage_Percent/Memory_Usage_Max+(Network_Bandwidth_Min/Network_Bandwidth))/3,
根据资源压力指数Stress_Index选择密钥长度Key_Length_1:Select the key length Key_Length_1 according to the resource pressure index Stress_Index:
Key_Length_1=Key_Length_Max-(Stress_Index*(Key_Length_Max-Key_Length_Min)),Key_Length_1=Key_Length_Max-(Stress_Index*(Key_Length_Max-Key_Length_Min)),
最后,需要确保密钥Key_Length长度不低于最小值:Finally, you need to ensure that the key Key_Length is not less than the minimum value:
Key_Length=max(Key_Length_1,Key_Length_Min)。Key_Length=max(Key_Length_1,Key_Length_Min).
其中,Stress_Index是一个计算指标,综合考虑了CPU负载、内存使用百分比和网络带宽。当Stress_Index值增加时,表示系统资源的压力增大。密钥长度Key_Length是在最大值Key_Length_Max和最小值Key_Length_Min之间动态调整的,当系统压力增大时,选择较短的密钥长度以减少计算开销。上述f函数确保了密钥长度不会低于定义的最小安全标准Key_Length_Min。Among them, Stress_Index is a calculation indicator that takes into account CPU load, memory usage percentage and network bandwidth. When the Stress_Index value increases, it means that the pressure on system resources increases. The key length Key_Length is dynamically adjusted between the maximum value Key_Length_Max and the minimum value Key_Length_Min. When the system pressure increases, a shorter key length is selected to reduce the calculation overhead. The above f function ensures that the key length will not be lower than the defined minimum security standard Key_Length_Min.
其中,Key_Length变量定义加密密钥的长度,Key_Length用于控制Permission_Key的密钥长度,系统中的加密密钥长度(Key_Length)需要动态调整为小于等于SHA256输出的长度,需要对SHA256的输出进行截断操作,以匹配所需的Key_Length。具体地,对对SHA256的输出的Permission_Key截取前Key_Length位,得到一个长度为Key_Length的密钥。Among them, the Key_Length variable defines the length of the encryption key. Key_Length is used to control the key length of Permission_Key. The encryption key length (Key_Length) in the system needs to be dynamically adjusted to be less than or equal to the length of the SHA256 output. The SHA256 output needs to be truncated to match the required Key_Length. Specifically, the first Key_Length bits of the Permission_Key output of SHA256 are truncated to obtain a key with a length of Key_Length.
(2)加密算法Encryption_Algorithm的选择:(2) Encryption algorithm Encryption_Algorithm selection:
Encryption_Algorithm=g(BlockSize_Changed),Encryption_Algorithm=g(BlockSize_Changed),
其中g函数可以根据待增量加密的数据包所在数据块的大小选择合适的加密算法。由于待增量加密的数据包所在数据块的大小体现了数据包内数据的安全敏感程度,因此较小的数据块需要使用计算量更大的加密算法,以提供更高的安全性。The g function can select a suitable encryption algorithm according to the size of the data block where the data packet to be incrementally encrypted is located. Since the size of the data block where the data packet to be incrementally encrypted is located reflects the security sensitivity of the data in the data packet, a smaller data block requires an encryption algorithm with a higher computational workload to provide higher security.
可选地,g函数应该基于待增量加密的数据包所在数据块的大小来选择不同的加密算法,定义对待增量加密的数据包所在数据块的大小划分区间的两个阈值:BlockSize_Small_Threshold:定义小数据块的最大阈值,BlockSize_Medium_Threshold:定义中等数据块的最大阈值。Optionally, the g function should select different encryption algorithms based on the size of the data block containing the data packet to be incrementally encrypted, and define two thresholds for dividing the size interval of the data block containing the data packet to be incrementally encrypted: BlockSize_Small_Threshold: defines the maximum threshold for small data blocks, BlockSize_Medium_Threshold: defines the maximum threshold for medium data blocks.
根据待增量加密的数据包所在数据块的大小所在不同区间确定对应的加密算法,包括:The corresponding encryption algorithm is determined according to the different intervals of the size of the data block of the data packet to be incrementally encrypted, including:
在待增量加密的数据包所在数据块的大小小于BlockSize_Small_Threshold时,进入Algorithm_Secure模式,采用更安全的加密算法RSA非对称加密算法。When the size of the data block where the data packet to be incrementally encrypted is located is less than BlockSize_Small_Threshold, the Algorithm_Secure mode is entered, and the more secure encryption algorithm RSA asymmetric encryption algorithm is used.
在待增量加密的数据包所在数据块的大小在BlockSize_Small_Threshold和BlockSize_Medium_Threshold之间时,进入Algorithm_Balanced模式,采用安全性和性能平衡的加密算法AES-CBC算法。When the size of the data block containing the data packet to be incrementally encrypted is between BlockSize_Small_Threshold and BlockSize_Medium_Threshold, the system enters Algorithm_Balanced mode and adopts the encryption algorithm AES-CBC algorithm that balances security and performance.
在待增量加密的数据包所在数据块的大小大于BlockSize_Medium_Threshold时,进入Algorithm_Fast模式,采用计算量较小,执行更快的加密算法AES-CTR算法。When the size of the data block containing the data packet to be incrementally encrypted is greater than BlockSize_Medium_Threshold, the Algorithm_Fast mode is entered, and the AES-CTR algorithm, which has a smaller calculation amount and is executed faster, is used.
(3)加密操作的并发度Encryption_Concurrency:(3) Concurrency of encryption operation Encryption_Concurrency:
Encryption_Concurrency=h(Network_Bandwidth,Memory_Usage)Encryption_Concurrency=h(Network_Bandwidth,Memory_Usage)
其中h函数可以根据可用网络带宽和内存使用来决定并发执行加密任务的数量。网络带宽较大且内存使用不高时,可以增加并发度来加速加密过程。The h function can determine the number of concurrent encryption tasks based on the available network bandwidth and memory usage. When the network bandwidth is large and the memory usage is not high, the concurrency can be increased to speed up the encryption process.
根据网络带宽和内存使用来确定可以同时执行的加密任务数量的h函数,包括:The h function that determines the number of encryption tasks that can be executed simultaneously based on network bandwidth and memory usage includes:
定义资源使用的阈值:Define thresholds for resource usage:
Network_Bandwidth_Max:网络带宽的最大值。Network_Bandwidth_Max: The maximum value of the network bandwidth.
Memory_Usage_Max:系统总内存中可以分配给加密操作的最大内存使用量。Memory_Usage_Max: The maximum amount of memory usage that can be allocated to encryption operations in the total system memory.
确定定义并发度的范围:Determine the scope of defining concurrency:
Concurrency_Min:最小并发度,例如1(表示至少有一个加密操作在运行)。Concurrency_Min: minimum concurrency, for example 1 (indicates that at least one encryption operation is running).
Concurrency_Max:最大并发度,例如256(基于系统能够处理的最大并发数)。Concurrency_Max: Maximum concurrency, for example 256 (based on the maximum number of concurrent connections that the system can handle).
h函数的具体形式为:h(Network_Bandwidth,Memory_Usage),包括以下过程:The specific form of the h function is: h(Network_Bandwidth,Memory_Usage), which includes the following processes:
首先,计算当前网络带宽利用率,假设更高的带宽利用率允许更多的并发加密操作:First, calculate the current network bandwidth utilization, assuming that higher bandwidth utilization allows more concurrent encryption operations:
Network_Utilization=Network_Bandwidth/Network_Bandwidth_Max,Network_Utilization=Network_Bandwidth/Network_Bandwidth_Max,
然后,计算当前内存利用率,更低的内存利用率允许更多的并发加密操作,则有:Then, calculate the current memory utilization. Lower memory utilization allows more concurrent encryption operations, so:
Memory_Utilization=Memory_Usage/Memory_Usage_Max,Memory_Available=1-Memory_Utilization。Memory_Utilization=Memory_Usage/Memory_Usage_Max, Memory_Available=1-Memory_Utilization.
之后,计算加密操作的并发度Encryption_Concurrency_1,取决于网络资源利用率Network_Utilization和内存资源的利用率Memory_Available:After that, the concurrency of the encryption operation Encryption_Concurrency_1 is calculated, which depends on the network resource utilization Network_Utilization and the memory resource utilization Memory_Available:
Encryption_Concurrency_1=int((Network_Utilization+Memory_Available)/2*Concurrency_Max)。Encryption_Concurrency_1=int((Network_Utilization+Memory_Available)/2*Concurrency_Max).
最后,对Encryption_Concurrency_1的范围进行限定处理,得到最终的加密操作的并发度Encryption_Concurrency,包括:Finally, the range of Encryption_Concurrency_1 is limited to obtain the final encryption operation concurrency Encryption_Concurrency, including:
Encryption_Concurrency=max(Encryption_Concurrency_1,Concurrency_Min),Encryption_Concurrency=max(Encryption_Concurrency_1,Concurrency_Min),
Encryption_Concurrency=min(Encryption_Concurrency_1,Concurrency_Max)。Encryption_Concurrency=min(Encryption_Concurrency_1,Concurrency_Max).
其中,Network_Utilization和Memory_Available是两个介于0和1之间的因子,分别代表网络带宽和可用内存的利用率。Among them, Network_Utilization and Memory_Available are two factors between 0 and 1, representing the utilization of network bandwidth and available memory respectively.
通过取网络带宽利用率和内存可用率的平均值,计算出一个标准化的并发度因子,并将其乘以Concurrency_Max来得到初始的并发度数目。By taking the average of network bandwidth utilization and memory availability, a standardized concurrency factor is calculated and multiplied by Concurrency_Max to get the initial concurrency number.
然后,通过确保并发度不低于Concurrency_Min且不高于Concurrency_Max来调整最终的并发度。int函数用于确保并发度是一个整数,在数学上等于往下取整的计算函数。The final concurrency is then adjusted by ensuring that the concurrency is not less than Concurrency_Min and not greater than Concurrency_Max. The int function is used to ensure that the concurrency is an integer, which is mathematically equivalent to the calculation function rounded down.
最后,基于确定的动态增量加密策略应用加密:Finally, encryption is applied based on the determined dynamic incremental encryption strategy:
Encrypted_Block=Encrypt(Data,Permission_Key,Encryption_Algorithm)Encrypted_Block=Encrypt(Data,Permission_Key,Encryption_Algorithm)
其中,Encrypt是加密函数,Data是待加密的增量数据包,Permission_Key是用于加密的权限密钥,而Encryption_Algorithm是根据策略选择的算法。Among them, Encrypt is the encryption function, Data is the incremental data packet to be encrypted, Permission_Key is the permission key used for encryption, and Encryption_Algorithm is the algorithm selected according to the policy.
系统可以动态调整其增量加密方式,以最佳方式利用当前的系统资源,同时保证数据的安全性。The system can dynamically adjust its incremental encryption method to best utilize current system resources while ensuring data security.
Encryption_Algorithm是加密算法,它定义了如何使用限制长度的密钥Permission_Key和选定加密算法在设定并发度的条件下来加密Data。所述设定算法可能是RSA,AES-CTR以及AES-CBC算法。所述设定并发度区间为1-256,所述限制长度为128-256位。Encryption_Algorithm is an encryption algorithm, which defines how to use the limited length key Permission_Key and the selected encryption algorithm to encrypt Data under the condition of set concurrency. The set algorithm may be RSA, AES-CTR and AES-CBC algorithms. The set concurrency range is 1-256, and the limit length is 128-256 bits.
最终,Encrypt函数结合了Data、Permission_Key和Encryption_Algorithm来生成Encrypted_Block。Finally, the Encrypt function combines the Data, Permission_Key, and Encryption_Algorithm to generate the Encrypted_Block.
可选地,在多方计算(MPC)场景中,参与者通常需要共享信息,同时保持数据的隐私性。MPC参与者在完成增量加密后,会将加密后的数据块(Encrypted_Block)分发给所有的存储节点。Optionally, in a multi-party computing (MPC) scenario, participants usually need to share information while maintaining the privacy of the data. After completing the incremental encryption, the MPC participants will distribute the encrypted data block (Encrypted_Block) to all storage nodes.
MPC参与者首先确定自上次更新以来哪些数据发生了变化。然后,他们使用Permission_Key和选定的Encryption_Algorithm对这些增量数据进行加密,生成Encrypted_Block。MPC participants first determine which data has changed since the last update. Then, they encrypt this incremental data using the Permission_Key and the selected Encryption_Algorithm to generate an Encrypted_Block.
加密完成后,MPC参与者将Encrypted_Block发送到网络中的每一个存储节点。After encryption is completed, the MPC participant sends the Encrypted_Block to every storage node in the network.
所述MPC参与者将限制密钥长度Key_Length和Encrypted_Block一并发送到网络中的每一个存储节点。The MPC participant sends the limited key length Key_Length and Encrypted_Block to each storage node in the network.
存储节点收到Encrypted_Block后,会将其存储在本地。由于数据是加密的,即使存储节点被攻击或受到破坏,数据内容也能保持安全。After receiving the Encrypted_Block, the storage node will store it locally. Since the data is encrypted, the data content can remain safe even if the storage node is attacked or damaged.
在分布式存储系统中,用户通常需要通过安全的方式访问存储在节点上的加密数据。本发明中,当需要访问或处理这些数据时,授权的用户可以基于相应的解密密钥存储节点获得解密的Encrypted_Block,从而获取原始的增量数据,包括:In a distributed storage system, users usually need to access encrypted data stored on nodes in a secure manner. In the present invention, when it is necessary to access or process these data, authorized users can obtain the decrypted Encrypted_Block based on the corresponding decryption key storage node, thereby obtaining the original incremental data, including:
用户向存储节点发起请求前,需要通过系统的身份验证,确认用户是否具有访问特定版本号对应数据的权限。一旦验证通过,用户请求特定版本号的数据包及其对应的密钥长度Key_Length。存储节点接收到请求后,验证用户的请求是否有效后,所述验证用户请求有效,包括确认是否在验证通过后预设时间段内发送所述请求。一旦确认用户有权访问数据,存储节点将请求的数据包(仍然是加密状态)及所需的Key_Length发送给用户。Before a user initiates a request to a storage node, the user needs to pass the system's identity authentication to confirm whether the user has the authority to access the data corresponding to a specific version number. Once the verification is passed, the user requests a data packet with a specific version number and its corresponding key length Key_Length. After the storage node receives the request, it verifies whether the user's request is valid. The verification of the user's request is valid, including confirming whether the request is sent within a preset time period after the verification is passed. Once it is confirmed that the user has the right to access the data, the storage node sends the requested data packet (still encrypted) and the required Key_Length to the user.
用户根据提供的版本号和Key_Length,通过密钥生成机制(KeyGen函数)生成对应的加密密钥。版本号和密钥长度是公开的,密钥本身是私有的。The user generates the corresponding encryption key through the key generation mechanism (KeyGen function) based on the provided version number and Key_Length. The version number and key length are public, and the key itself is private.
用户使用生成的密钥对接收到的加密数据进行解密。解密成功后,用户可以访问数据的明文版本并进行后续操作,如阅读、编辑或处理数据。The user uses the generated key to decrypt the received encrypted data. After successful decryption, the user can access the plaintext version of the data and perform subsequent operations such as reading, editing, or processing the data.
通过本发明的方法和系统,使用增量加密和解密减少了对整个数据集的加密需求,仅针对变化的部分进行处理,从而提高了数据处理的速度。此外,通过动态的权限密钥和与MPC任务关联的数据管理机制,允许对数据访问权限进行细粒度控制,提高了权限管理的灵活性。以及,通过对敏感数据进行分区并实施增量加密,本发明极大地强化了数据隐私保护,降低了数据泄露的风险,并通过动态增量加密根据当前任务处理情况和资源可用情况来进行,有助于优化资源使用,降低运维成本。Through the method and system of the present invention, the use of incremental encryption and decryption reduces the need for encryption of the entire data set, and only processes the changed parts, thereby improving the speed of data processing. In addition, through dynamic permission keys and data management mechanisms associated with MPC tasks, fine-grained control of data access rights is allowed, which improves the flexibility of permission management. In addition, by partitioning sensitive data and implementing incremental encryption, the present invention greatly enhances data privacy protection, reduces the risk of data leakage, and uses dynamic incremental encryption based on the current task processing situation and resource availability, which helps to optimize resource usage and reduce operation and maintenance costs.
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。The computer-readable medium may be included in the electronic device, or may exist independently without being installed in the electronic device.
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and/or flow chart, and the combination of the square boxes in the block diagram and/or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, constitute a limitation on the unit itself.
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概括的保护范围之内。The above introduces the preferred embodiments of the present invention, which is intended to make the spirit of the present invention clearer and easier to understand, but is not intended to limit the present invention. All modifications, substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection outlined by the claims attached to the present invention.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015848.5A CN117874789B (en) | 2024-01-05 | 2024-01-05 | A dynamic privacy data encryption method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410015848.5A CN117874789B (en) | 2024-01-05 | 2024-01-05 | A dynamic privacy data encryption method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117874789A CN117874789A (en) | 2024-04-12 |
CN117874789B true CN117874789B (en) | 2024-09-03 |
Family
ID=90589608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410015848.5A Active CN117874789B (en) | 2024-01-05 | 2024-01-05 | A dynamic privacy data encryption method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117874789B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118195600B (en) * | 2024-04-16 | 2024-10-11 | 数盾信息科技股份有限公司 | Anonymous transaction method and system based on zero knowledge proof |
CN118940290B (en) * | 2024-07-15 | 2025-04-22 | 深圳市金胜电子科技有限公司 | Confidential data secure collaborative storage system and method based on multi-party secure computing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2446199A (en) * | 2006-12-01 | 2008-08-06 | David Irvine | Secure, decentralised and anonymous peer-to-peer network |
US8655939B2 (en) * | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
KR20110106849A (en) * | 2008-11-10 | 2011-09-29 | 윌리엄 브이 옥스포드 | Method and system for controlling code execution on a computing device using recursive security protocol |
US20150006895A1 (en) * | 2009-06-01 | 2015-01-01 | Maidsafe Foundation | Distributed network system |
US8321688B2 (en) * | 2009-06-12 | 2012-11-27 | Microsoft Corporation | Secure and private backup storage and processing for trusted computing and data services |
CA2808124A1 (en) * | 2010-08-12 | 2012-02-16 | Don Martin | Systems and methods for secure remote storage of data |
CN111008228A (en) * | 2020-03-09 | 2020-04-14 | 支付宝(杭州)信息技术有限公司 | Method and device for inquiring account privacy information in block chain |
-
2024
- 2024-01-05 CN CN202410015848.5A patent/CN117874789B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN117874789A (en) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022126980A1 (en) | Data transmission method and apparatus, terminal, and storage medium | |
Ayoade et al. | Decentralized IoT data management using blockchain and trusted execution environment | |
US10255444B2 (en) | Method and system for utilizing secure profiles in event detection | |
Bates et al. | Trustworthy {Whole-System} provenance for the linux kernel | |
US10911438B2 (en) | Secure detection and management of compromised credentials using a salt and a set model | |
US10491403B2 (en) | Data loss prevention with key usage limit enforcement | |
CN117874789B (en) | A dynamic privacy data encryption method and system | |
TWI441022B (en) | Policy based cryptographic application programming interface in secure memory | |
US10122693B2 (en) | Protocol based key management | |
CN110915164A (en) | Intelligent contract operation processing blockchain data based on execution in trusted execution environment | |
US11489660B2 (en) | Re-encrypting data on a hash chain | |
US9917817B1 (en) | Selective encryption of outgoing data | |
US20150347773A1 (en) | Method and system for implementing data security policies using database classification | |
US9853811B1 (en) | Optimistic key usage with correction | |
US11140196B1 (en) | Malware fingerprinting on encrypted transport layer security (TLS) traffic | |
CN111783140B (en) | Request response method and device, electronic equipment and computer readable storage medium | |
CA3089745C (en) | Secure storage of data and hashes via a distributed ledger system | |
US12200118B1 (en) | Application programming interface to generate data key pairs | |
CN113225348B (en) | Request anti-replay verification method and device | |
CN119066683A (en) | Data encryption method, device, equipment and computer-readable storage medium | |
CN108900595A (en) | Access method, apparatus, equipment and the calculation medium of cloud storage service device data | |
CN118734333A (en) | Embedded Euler system access control method, device, equipment and storage medium | |
CN118300785A (en) | Safe data encryption method and device for electric power Internet of things | |
US12278824B2 (en) | Detecting malicious behavior from handshake protocols using machine learning | |
CN115883199A (en) | A file transmission method, device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240804 Address after: No. 31 Wuzhuang, Hangtou Village, Chihuai Town, Kaihua County, Quzhou City, Zhejiang Province, China 324305 Applicant after: Zhang Kexin Country or region after: China Address before: 815, 8th Floor, No.1 Yuehua Street, Gongchen Street, Fangshan District, Beijing, 102488 Applicant before: Beijing Jiahuaming Brand Planning Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20241103 Address after: 815, 8th Floor, No.1 Yuehua Street, Gongchen Street, Fangshan District, Beijing, 102488 Patentee after: Beijing Jiahuaming Brand Planning Co.,Ltd. Country or region after: China Address before: No. 31 Wuzhuang, Hangtou Village, Chihuai Town, Kaihua County, Quzhou City, Zhejiang Province, China 324305 Patentee before: Zhang Kexin Country or region before: China |