Method, system, apparatus and computer readable medium for sensitive data protection

By building a scalable framework and data pipeline, combining customizable detector components and connector components, the problem of flexibility and inefficiency in the prior art is solved, and efficient detection and classification of sensitive data of multimodal data is achieved.

CN120418797APending Publication Date: 2025-08-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280102699.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-12-22
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The prior art lacks flexibility, scalability and efficiency in sensitive data detection and classification, and cannot effectively process multimodal data. The existing products can only use predefined detectors and cannot customize and optimize the detection process.

Method used

Provides an extensible framework that includes customizable detector components and connector components, builds data pipelines, supports multimodal data processing, and improves detection efficiency through dynamic optimization and early stopping technologies.

Benefits of technology

It realizes a flexible and scalable sensitive data detection and classification system, which can handle multiple data types, improves detection efficiency and flexibility, and supports the detection of multimodal data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120418797A_ABST
    Figure CN120418797A_ABST
Patent Text Reader

Abstract

A method for identifying sensitive data is described. A data pipeline is constructed from an extensible framework that includes a plurality of customizable detector components for identifying the sensitive data and at least one customizable connector component for aggregating outputs from the plurality of customizable detector components. Input data is processed using the data pipeline to identify the sensitive data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to methods, systems, devices, and computer-readable storage media for protecting sensitive data, and more particularly to methods, systems, devices, and computer-readable storage media for identifying and / or classifying sensitive data. Background Art

[0002] Sensitive data is information that an individual or organization wishes to avoid public disclosure of because the disclosure of the information may result in harm, such as identity theft or fraud. Sensitive data can be personally identifiable information (PII), such as date of birth, address, social security number, bank account information, or credit / debit card information. Sensitive data may also be company proprietary information, such as contracts or financial information.

[0003] There are many regulations related to the use and protection of sensitive data by companies, such as the General Data Protection Regulation (GDPR) in the European Union. In addition, there are many industry standards related to the use and protection of sensitive data by companies. Summary of the Invention

[0004] According to one aspect of the present invention, a method for identifying sensitive data is provided. Companies and individuals need to detect sensitive information in various data. There are many existing products that provide sensitive data detection and classification solutions, such as Google DLP, Microsoft Azure AIP, and Amazon Macie. One problem with existing products is that they have a fixed workflow, lacking flexibility and scalability. Users can only use the predefined detectors provided by the system to detect specific data types. Another problem with existing products is that they do not use optimization techniques to improve the efficiency of the workflow. Another problem with existing products is that they can only be used for sensitive text detection. They cannot be used for image data or multimodal data.

[0005] According to some embodiments, a scalable framework including a detector component and a connector component is provided. The detector component can process input data to detect or classify sensitive information. The connector component can be used to aggregate outputs from multiple detector components. Both the detector component and the connector component can be customized by a user. The user can create their own detector components and connector components to include in the framework. The detector component and the connector component can be combined into a data pipeline. The data pipeline can be a tree structure or a graph structure. The data pipeline can be optimized by modifying its sub-structure or using early stopping techniques. Thus, the user can easily build a customizable, flexible, and efficient system for identifying sensitive information in input data.

[0006] According to a first aspect of the present invention, a method for identifying sensitive data is provided. The method includes: constructing a data pipeline from a scalable framework, the scalable framework including a plurality of customizable detector components for identifying the sensitive data and at least one customizable connector component for aggregating outputs from the plurality of customizable detector components. The method further includes: using the data pipeline to process input data to identify the sensitive data.

[0007] The method further includes adding a user-created detector component or connector component to the data pipeline. The user-created detector component can be a neural network.

[0008] The data pipeline can be a tree structure or a graph structure.

[0009] The plurality of customizable detector components can include a regular expression component, a keyword component, a blacklist component, a whitelist component, an exclusion component, a validation component, a checksum component, an object detection component, a named entity recognition (NER) component, and / or an optical character recognition (OCR) component. The at least one customizable connector component can include a union component, an intersection component, a difference component, a range component, a data type converter component, and / or a disjunctive normal form (DNF) component.

[0010] The input data can include text, images, sounds, or multimodal data.

[0011] The method may further include modifying a sub-structure of the data pipeline to optimize the processing of the input data. The method further includes removing a sub-structure of the data pipeline, the removal being done during the processing of the input data. The method may further include removing a second sub-structure of the data pipeline, the second sub-structure having a lower priority than the completed sub-structure. The method further includes: stopping the processing of the input data if all sub-structures of the data pipeline are completed.

[0012] At least one of the plurality of customizable detector components or connector components may be customized by a user.

[0013] According to another aspect of the present invention, there is provided a scalable data processing system for identifying sensitive data. The system includes a plurality of customizable detector components for identifying the sensitive data. The system includes at least one customizable connector component for aggregating the outputs from the plurality of customizable detector components. The plurality of customizable detector components and the at least one customizable connector component may be used to be combined into a data pipeline for processing input data to identify the sensitive data.

[0014] The plurality of customizable detector components may include a regular expression component, a keyword component, a blacklist component, a whitelist component, an exclusion component, a validation component, a checksum component, an object detection component, a NER component, and / or an OCR component. The at least one customizable connector component may include a union component, an intersection component, a difference component, a range component, a data type converter component, and / or a DNF component.

[0015] According to another aspect of the present invention, there is provided a non-transitory computer-readable medium, the non-transitory computer-readable medium including computer program code stored therein for identifying sensitive data, which when executed by one or more processors, causes the one or more processors to perform the method described above in connection with the first aspect of the present invention.

[0016] The above method, system, device, and one or more non-transitory computer-readable storage devices provide many advantages. The system is flexible, scalable, and customizable. A user can build a data pipeline from user-created or customized components. A user can add their own components to the framework. A user can build a data pipeline using multiple rules. The data pipeline can be automatically optimized to improve the efficiency of the processing of the input data. The system can be used for a variety of different types of input data, including multimodal data, which contains multiple different types of data, such as text, images, sounds, and videos. Description of the Drawings

[0017] To more fully understand the present invention, reference is made to the following description and the accompanying drawings, in which:

[0018] Figure 1 Schematic diagram of a computer network system for identifying sensitive data provided in some embodiments of the present invention;

[0019] Figure 2 is Figure 1 Schematic diagram of the simplified hardware structure of the computing device of the computer network system shown;

[0020] Figure 3 is Figure 1 Schematic diagram of the simplified software architecture of the computing device of the computer network system shown;

[0021] Figure 4 Provided in some embodiments of the present invention by Figure 1 Flowchart of a method for identifying sensitive data executed by the computer network system shown;

[0022] Figure 5 Provided in some embodiments of the present invention by Figure 1 Flowchart of a method for identifying sensitive data executed by the computer network system shown;

[0023] Figure 6 Provided in some embodiments of the present invention by Figure 1 Schematic diagram of the system architecture used by the computer network system shown;

[0024] Figure 7A and Figure 7B Provided in some embodiments of the present invention by Figure 1 Schematic diagram of the data pipeline used by the computer network system shown;

[0025] Figure 8 Provided in some embodiments of the present invention by Figure 1 Schematic diagram of the data pipeline used by the computer network system shown;

[0026] Figure 9 Provided in some embodiments of the present invention by Figure 1 Schematic diagram of the optimization technology used by the computer network system shown;

[0027] Figure 10 Provided in some embodiments of the present invention Figure 1 Schematic diagram of the use case of the computer network system shown. Detailed Description of the Invention

[0028] The embodiments disclosed herein relate to data processing modules or circuits for performing sensitive data identification processes.

[0029] As will be described in more detail later, a "module" refers to a hardware structure, such as an interpretive term for a circuit implemented using electrical and / or optical technologies (and more specific examples of semiconductors) etc., for performing defined operations or processing. A "module" alternatively refers to a combination of a hardware structure and a software structure, where the hardware structure can be generally implemented using technologies such as electrical and / or optical technologies (and more specific examples of semiconductors) etc., for performing defined operations or processing according to a software structure in the form of a set of instructions stored in one or more non-transitory computer-readable storage devices or media.

[0030] As will be described in detail below, the data processing module can be part of a device, apparatus, system, etc., where the data processing module can be coupled to or integrated with other parts of the device, apparatus, or system, such that their combination forms the device, apparatus, or system. Alternatively, the data processing module can be implemented as an independent sensitive data device or apparatus.

[0031] The data processing module performs a sensitive data identification process for identifying sensitive data. Here, a process has the general meaning equivalent to a method and does not necessarily correspond to the concept of a computing process (i.e., an instance of a computer program being executed). More specifically, a process here is a defined method for processing data (such as sensitive data etc.) implemented using hardware components. A process can include one or more functions or use one or more functions to process the designed data. Here, a function is a defined sub-process or sub-method for computing (computing / calculating) or otherwise processing input data in a defined manner and generating or otherwise producing output data.

[0032] As those skilled in the art will understand, the sensitive data identification process disclosed herein can be implemented as one or more software and / or firmware programs having the necessary computer-executable code or instructions and stored in one or more non-transitory computer-readable storage devices or media, which can be any volatile and / or non-volatile, non-removable or removable storage devices, such as RAM, ROM, EEPROM, solid-state memory devices, hard disks, CDs, DVDs, flash devices, etc. The data processing module can read the computer-executable code from the storage device and execute the computer-executable code to perform the sensitive data identification process.

[0033] Alternatively, the sensitive data identification process disclosed herein can be implemented as one or more hardware structures having the necessary electrical and / or optical components, circuits, logic gates, integrated circuit (IC) chips, etc.

[0034] Now turn to Figure 1 which shows a computer network system for identifying sensitive data and is generally identified using reference numeral 100. In these embodiments, the sensitive data system 100 is used to identify sensitive data.

[0035] As Figure 1 shown, the sensitive data system 100 includes one or more server computers 102, a plurality of client computing devices 104, and one or more client computer systems 106, which are functionally interconnected through a network 108 via appropriate wired and wireless network connections. For example, the network 108 is the Internet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), etc.

[0036] The server computer 102 can be a computing device specifically designed to be used as a server and / or a general-purpose computing device acting as a server computer while also being used by various users. Each server computer 102 can execute one or more server programs.

[0037] The client computing device 104 can be a portable and / or non-portable computing device, such as a laptop computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a desktop computer, etc. Each client computing device 104 can execute one or more client applications, which are sometimes referred to as "apps".

[0038] Generally, the computing devices 102 and 104 include similar hardware structures, such as Figure 2 the hardware structure 120 shown. As shown, the hardware structure 120 includes a processing structure 122, a control structure 124, one or more non-transitory computer-readable memories or storage devices 126, a network interface 128, an input interface 130, and an output interface 132, which are functionally interconnected through a system bus 138. The hardware structure 120 can also include other components 134 coupled to the system bus 138.

[0039] The processing structure 122 can be one or more single-core or multi-core computing processors under architectures, etc., generally referred to as a central processing unit (CPU), such as those manufactured by multiple manufacturers such as Qualcomm Incorporated of San Diego, California, USA. a microprocessor (INTEL is a registered trademark of Intel Corporation of Santa Clara, California, USA), Microprocessor (AMD is a registered trademark of Advanced Micro Devices, Inc., Sunnyvale, California, USA), Microprocessor (ARM is a registered trademark of Arm Limited, Cambridge, UK). When the processing structure 122 includes multiple processors, the processors can cooperate through dedicated circuits of a dedicated bus or through the system bus 138.

[0040] The processing structure 122 may also include one or more real-time processors, programmable logic controllers (PLCs), microcontroller units (MCUs), μ-controllers (UCs), dedicated / custom processors, hardware accelerators, and / or control circuits (also referred to as “controllers”), such as field-programmable gate arrays (FPGAs) or application-specific integrated circuit (ASIC) technologies. In some embodiments, the processing structure includes a CPU (otherwise referred to as the host processor) and a dedicated hardware accelerator, and the dedicated hardware accelerator includes circuits for performing calculations of neural networks such as tensor multiplication and matrix multiplication. The host processor can offload some calculations to the hardware accelerator to perform the calculation operations of the neural network. Examples of hardware accelerators include graphics processing units (GPUs), neural processing units (NPUs), and tensor processing units (TPUs). In some embodiments, the host processor and the hardware accelerator (such as GPUs, NPUs, and / or TPUs) can generally be considered processors.

[0041] Generally, the processing structure 122 includes the necessary circuits implemented using technologies such as electronic and / or optical hardware components for performing a sensitive data identification process for design purposes and / or use cases, for the input data received from the input terminal 106 and outputting the resulting sensitive data identification through the output terminal 108.

[0042] For example, the processing structure 122 may include logic gates implemented by semiconductors to perform various calculations, operations, and / or processing. Examples of logic gates include AND gates, OR gates, XOR (exclusive OR) gates, and NOT gates, each of which accepts one or more inputs and generates or otherwise produces an output based on the logic implemented therein. For example, a NOT gate receives an input (e.g., a high voltage, a state with current, a state with emitted light, etc.), inverts the input (e.g., forms a low voltage, a state without current, a state without light, etc.), and outputs the inverted input as an output.

[0043] Although the inputs and outputs of logic gates are typically physical signals and their logic or processing is a tangible operation with physical results (e.g., the output of a physical signal), their inputs and outputs are typically represented using numbers (e.g., the digits "0" and "1") and their operations are typically described as "computing" (which is how "computer" or "computing device" got their names) or "calculating", or more generally, "processing", to generate or produce an output from their inputs.

[0044] Complex combinations of logic gates in the form of logic gate circuits, such as the processing structure 122, can be formed using multiple AND, OR, XOR, and / or NOT gates. Such combinations of logic gates can be implemented using individual semiconductors or, more often, implemented as an integrated circuit (IC).

[0045] The circuit of a logic gate can be a "hardwired" circuit that can only perform the designed function once it is designed. In this example, its process and function are "hardcoded" in the circuit.

[0046] With the advancement of technology, the circuit of a logic gate, such as the processing structure 122, can typically be designed in a general way such that it can perform various processes and functions according to a set of "programming" instructions implemented as firmware and / or software and stored in one or more non-transitory computer-readable storage devices or media. In this example, the circuit of a logic gate, such as the processing structure 122, is typically useless without meaningful firmware and / or software.

[0047] Of course, those skilled in the art will understand that a process or function (and thus the processor 102) can be implemented using other technologies such as analog technologies.

[0048] Return to reference Figure 1 , the control structure 124 includes one or more control circuits, such as a graphics controller, an input / output chipset, etc., for coordinating the operations of various hardware components and modules of the computing device 102 / 104.

[0049] The memory 126 includes one or more storage devices or media, which can be accessed by the processing structure 122 and the control structure 124 for reading and / or storing instructions for execution by the processing structure 122, and for reading and / or storing data, including input data and data generated by the processing structure 122 and the control structure 124. The memory 126 can be volatile and / or non-volatile, non-removable or removable memory, such as RAM, ROM, EEPROM, solid state memory, hard disk, CD, DVD, flash memory, etc.

[0050] The network interface 128 includes one or more network modules for connecting to other computing devices or networks via a network 108 by using suitable wired or wireless communication technologies. For example, the communication technologies are Ethernet, (WI-FI is a Wi-Fi Alliance in Austin, Texas, USA) (BLUETOOTH is a registered trademark of Bluetooth Special Interest Group, Inc., Kirkland, Washington, USA), Bluetooth Low Energy (BLE), Z-Wave, Long Range (LoRa), (ZIGBEE is a registered trademark of the ZigBee Alliance in San Ramon, California, USA), wireless broadband communication technologies such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX), CDMA2000, Long Term Evolution (LTE), 3GPP, 5G New Radio (5G NR) and / or other 5G networks, etc. In some embodiments, parallel ports, serial ports, USB connections, optical connections, etc. can also be used to connect to other computing devices or networks, although they are generally considered as input / output interfaces for connecting input / output devices.

[0051] The input interface 130 includes one or more input modules for one or more users to input data through, for example, a touch-sensitive screen, a touch-sensitive whiteboard, a touchpad, a keyboard, a computer mouse, a trackball, a microphone, a scanner, a camera, etc. The input interface 130 can be a physically integrated part of the computing device 102 / 104 (e.g., the touchpad of a laptop or the touch-sensitive screen of a tablet), or a device that is physically separated from other components of the computing device 102 / 104 (e.g., a computer mouse) but functionally coupled. In some implementations, the input interface 130 can be integrated with the display output to form a touch-sensitive screen or a touch-sensitive whiteboard.

[0052] The output interface 132 includes one or more output modules for outputting data to the user. Examples of output modules include displays (e.g., monitors, LCD displays, LED displays, projectors, etc.), speakers, printers, virtual reality (VR) headsets, augmented reality (AR) goggles, etc. The output interface 132 can be a physically integrated part of the computing device 102 / 104 (e.g., the display of a laptop or a tablet), or a device that is physically separated from other components of the computing device 102 / 104 (e.g., the monitor of a desktop computer) but functionally coupled.

[0053] The computing device 102 / 104 may also include other components 134, such as one or more positioning modules, temperature sensors, barometers, inertial measurement units (IMUs), etc.

[0054] The system bus 138 interconnects the various components 122 to 134, enabling them to send and receive data and control signals to and from each other.

[0055] Figure 3 A simplified software architecture 160 of the computing device 102 or 104 is shown. The software architecture 160 includes one or more application programs 164, an operating system 166, a logical input / output (I / O) interface 168, and a logical memory 172. The one or more application programs 164, the operating system 166, and the logical I / O interface 168 are typically implemented as computer-executable instructions or code in the form of software programs or firmware programs stored in the logical memory 172, and these instructions or code can be executed by the processing structure 122.

[0056] One or more application programs 164 executed or run by the processing structure 122 are used to perform various tasks.

[0057] The operating system 166 manages various hardware components of the computing device 102 or 104 through the logical I / O interface 168, manages the logical memory 172, and manages and supports the application programs 164. The operating system 166 also communicates with other computing devices (not shown) via the network 108 to allow the application programs 164 to communicate with application programs running on other computing devices. As those skilled in the art will understand, the operating system 166 can be any suitable operating system, such as (MICROSOFT and WINDOWS are registered trademarks of Microsoft Corporation, Redmond, Washington, USA), OS X, iOS (APPLE is a registered trademark of Apple Inc., Cupertino, California, USA), Linux, (ANDROID is a registered trademark of Google Inc., Mountain View, California, USA), etc. The computing devices 102 and 104 of the sensitive data system 100 can both have the same operating system or can have different operating systems.

[0058] The logical I / O interface 168 includes one or more device drivers 170 for communicating with the corresponding input and output interfaces 130 and 132, receiving data from them and sending data to them. The received data can be sent to one or more application programs 164 for processing by the one or more application programs 164. The data generated by the application programs 164 can be sent to the logical I / O interface 168 for output to various output devices (through the output interface 132).

[0059] The logical memory 172 is a logical mapping of the physical memory 126 to facilitate access by the application programs 164. In this embodiment, the logical memory 172 includes a storage memory area that can be mapped to non-volatile physical memory such as a hard disk, a solid-state drive, a flash drive, etc., which is typically used for long-term storage of data therein. The logical memory 172 also includes a working memory area that is typically mapped to high-speed (in some implementations) volatile physical memory such as RAM, which is typically used for the application programs 164 to temporarily store data during program execution. For example, the application programs 164 can load data from the storage memory area into the working memory area and can store the data generated during their execution into the working memory area. The application programs 164 can also store some data into the storage memory area as needed or in response to user commands.

[0060] In server computer 102, one or more applications 164 typically provide server functionality for managing network communications with client computing device 104 and facilitating collaboration between server computer 102 and client computing device 104. Here, the term "server" can refer to server computer 102 from a hardware perspective or a logical server from a software perspective, depending on the context.

[0061] As described above, processing structure 122 is typically useless without meaningful firmware and / or software. Similarly, although a computer system such as sensitive data system 100 may have the potential to perform various tasks, it cannot perform any tasks and is useless without meaningful firmware and / or software. As will be described in more detail later, the sensitive data system 100 and its modules, circuits, and components described herein, as a combination of hardware and software, typically produce tangible results associated with the physical world, where, for example, those tangible results described herein can lead to improvements in computer devices and systems themselves, modules, circuits, and components, etc.

[0062] Protecting sensitive information can include sensitive data detection and sensitive data classification. The purpose of sensitive data detection is to detect sensitive information in structured data, unstructured data, text data, and media data such as images, videos, and audio. Sensitive information can include sensitive text such as phone numbers or email addresses. Sensitive information may also appear in images in the form of objects, such as faces or license plates. Sensitive data classification assigns labels to data based on the content of the data and / or predefined rules. For example, an article can be classified as news based on its content. For example, if a document contains personal information, a person label can be assigned to it according to predefined rules.

[0063] There are many existing products that provide sensitive data detection and classification solutions, such as Google DLP, Microsoft Azure AIP, and Amazon Macie. Existing products support the detection of sensitive text data using rule-based methods. Sensitive data detection and classification may involve two steps. First, the user defines detection rules specifying the types of sensitive data to be detected. Second, the system scans the input data according to the defined rules.

[0064] One problem with existing products is that they have fixed workflows and generally lack flexibility and scalability. Users can only configure detection rules and cannot customize detectors. Users can only use the predefined detectors provided by the system to detect specific data types. It is impossible to integrate new detectors into the workflow for many existing products. Customizing or improving existing detectors is usually impossible. For example, existing products may provide regular expression matching and keyword matching, but usually lack a whitelist component. It is generally impossible to integrate the whitelist component into the workflow. For existing products, users usually can only use the components provided by the product.

[0065] Another problem with existing products is that they generally have static workflows that lack efficiency. In existing products, detection rules and processes are usually static and thus do not change dynamically during the detection process to improve efficiency. For example, existing products usually do not have an early stopping mechanism. Thus, such existing products will continue to scan the entire document even if the rule is satisfied on the first page. In addition, existing products usually do not have rule optimization, so the rules are not updated based on the sensitive data detected during the detection process.

[0066] Another problem with existing products is that they are generally simple and have limited application scope. Existing technical solutions usually do not support multiple detection rules. Moreover, many existing technical solutions can only be used for sensitive text detection and cannot be used for image data or multimedia data.

[0067] Now refer to Figure 4 。 Figure 4 Method 400 for identifying sensitive data is shown. Method 400 includes: constructing a data pipeline from an extensible framework, the extensible framework including a plurality of customizable detector components for identifying sensitive data and at least one customizable connector component for aggregating outputs from the plurality of customizable detector components (step 410), and then processing input data 503 using the data pipeline to identify sensitive data (step 420).

[0068] In step 410, a configurable, flexible, and extensible framework is provided that can quickly build customized sensitive data detection and classification applications. The framework includes detector components and connector components. The detector components and connector components can be programmable modules or classes. By organizing the detector components and connector components, users can easily and quickly build the sensitive data detection and classification applications they need. The detector components can use rule-based methods and machine learning-based methods to perform detection and classification tasks, and these methods are applicable to multi-modal sensitive data (i.e., data containing different types of media (such as text, images, and videos)). This extends the application scenario from pure text to multi-modal data.

[0069] Now refer to Figure 5 。Figure 5 FIG. 500 shows a usage flow chart for identifying sensitive data using the sensitive data system 100. User 501 can configure the sensitive data system 100 by editing the configuration file 502. User 501 can also use a graphical user interface (GUI), an application programming interface (API), or other programming techniques to configure the system 100. In the application configuration step 505, the system 100 can build a data pipeline based on the configuration file 502. The configuration file can specify how the system 100 processes the input data 503. In the application execution step 506, the system 100 can scan the input data 503 based on the detection rule 504. During the execution 506, the dynamic optimization module 507 can update the detection rule 504 based on the scanned input data 503 to improve efficiency. When the application execution 506 is completed, the system 100 can output the final result 508.

[0070] The input data 503 can include text, images, sounds, or multimodal data. Multimodal data is data composed of data of various media types. The input data 503 can include documents, scanned documents, digital files, database entries, websites, sound files, video files, word processor files, spreadsheet files, etc.

[0071] Now refer to Figure 6 . Figure 6 FIG. shows a system architecture for the extensible framework 600. The extensible framework can include three components:

[0072] · Service: The service 602 can include a complete data workflow from input data to output data. It can be represented as a tree structure or a graph structure with detector components and connector components. The service can correspond to a data pipeline built by extensible framework components.

[0073] · Detector component: The detector component 603 (also known as an operand or a core element) can process the input data 503 and detect or classify sensitive data. The detector component can be rule-based or machine learning-based. Examples of detector components include regular expressions, keywords, named entity recognition, and object detectors.

[0074] · Connector component: The connector component 604 (also known as an operator) is used to connect multiple detector components to output aggregated or filtered results. Examples of connector components include union, intersection, difference, and range.

[0075] User 501 can easily and quickly construct their desired sensitive data detection and classification data pipeline by organizing detector and connector components in a tree structure or a graph structure. The data pipeline can be specified in a configuration file 502 or specified by user 501 using a GUI. Alternatively, the data pipeline can be specified in a programming language, such as using an API. Now refer to Figure 7A . Figure 7A An example of a data pipeline 700 (also known as a service tree) for text-based sensitive data detection is shown. The data pipeline 700 includes a plurality of detector 603 and connector 604 components organized in a tree structure. The data pipeline can also be organized in a graph structure or other suitable data structures. Different from the tree structure, the graph structure has no single root node. Such a data pipeline using a graph structure can have multiple outputs. Now refer to Figure 7B . Figure 7B An example of a data pipeline 750 for multimodal sensitive data detection is shown. The data pipeline 750 is used to detect sensitive data in data containing different types of media such as text, images, and videos. The pre-configured detector components and connector components can be reused to reduce the time required to develop the data pipeline. In addition, the entire pre-configured data pipeline can be reused as a component in other data pipelines. For example, the text-based data pipeline 700 can be reused as a module 751 in the multimodal data pipeline 750. An optical character recognition (OCR) detector component 752 can convert image data into text data before being processed by the text-based detector component. The multimodal data pipeline 750 can also include an object detector 753. The object detector 753 can detect objects in the image data. For example, the object detector 753 can detect a face or a license plate in the image. The object detector 753 can use a neural network to detect objects in the image.

[0076] As described above, method 400 includes: processing input data 503 using a data pipeline to identify sensitive data 420. More specifically, service 602 can use a constructed data pipeline including detector components 603 and connector components 604 to process input data 503 for identifying sensitive data 420. Thus, the data pipeline can output a final result 508 (see Figure 5 ), which can include identifying the document as containing sensitive data, classifying the document, or classifying the sensitive data content of the document.

[0077] The sensitive data detection system 100 can use various optimization techniques to reduce the time required to scan the input data 503. For example, the system 100 can automatically modify the data pipeline to optimize the processing time. Specifically, the system 100 can automatically modify the sub-structures of the data pipeline to optimize the processing time. That is, certain modes of the detector component 603 and the connector component 604 can be automatically detected and replaced with optimized modes that result in more efficient data processing. Now refer to Figure 8 . Figure 8 Figure 800 shows a pre-optimized data pipeline 800 with a sub-optimal mode 801. The system 100 can automatically detect the sub-optimal mode 801 and replace it with a more efficient mode 802, thereby generating an optimized data pipeline 850. Compared with the pre-optimized data pipeline 800, the optimized data pipeline 850 can have a shorter processing time and / or reduced memory consumption.

[0078] The sensitive data detection system 100 can also use early stopping optimization techniques to reduce the time required to scan the input data 503. Now refer to Figure 9 . Figure 9 Figure 11 shows three different early stopping techniques. One type of early stopping optimization can be batch early stopping 950. The input data 503 can be scanned in batches. For example, a multi-page document can be scanned page by page. The detection rules 504 can define multiple sensitive data types to be detected in the input data 503, such as dates, names, locations, and ID numbers. If a sensitive data type is detected, the scanner can stop scanning that sensitive data type on all other pages of the input data 503. For example, if a date and a name are detected on the first page of the input data 503, the system 100 can only scan for locations and ID numbers on all other pages. The date and name sensitive data types can be removed from the detection rules 504 by the dynamic optimization module 507. This can include removing sub-structures from the data pipeline. When all the sensitive data types in the detection rules 504 have been detected, the system 100 can stop scanning the remaining input data 503. This can occur when all the sub-structures of the data pipeline have been completed. This can improve the efficiency of the system 100 by preventing unnecessary scans.

[0079] Another type of early stopping optimization can be rule-based early stopping 960. Detection rules 504 can include multiple rules ranked by priority. For example, a data pipeline can be constructed to classify input data 503 as confidential, sensitive, or public. If a document is sensitive or confidential, it cannot be made public. Detectors or rules can be ranked so that the public detector has the lowest priority, the sensitive detector has the next lowest priority, and the confidential detector has the highest priority. If a category is detected, the dynamic optimization module 507 can remove that category and all lower-priority categories from the detection rules 504, allowing the system 100 to stop scanning those categories on all other pages. For example, if the sensitive detector is satisfied on a given page, both the sensitive and public detectors can be removed from the detection rules 504. The system 100 will continue scanning based only on the confidential detector. Removing the sensitive detector can include removing a substructure from the data pipeline. Removing the public detector can include removing a second substructure from the data pipeline. Once all detectors are satisfied, the system 100 can stop scanning the input data 503. This may occur when all substructures of the data pipeline have been completed. This can improve the efficiency of the system 100 by preventing unnecessary scans.

[0080] Another type of early stopping optimization can be Disjunctive Normal Form (DNF) early stopping 970. Detection rules 504 can include rules expressed in a logical form, such as "(email*3 OR phone number) AND IP address." Such a detector can search for documents containing three email addresses or one phone number and one IP address. Documents containing both a phone number and an IP address can satisfy the detector's requirements. Documents containing only an IP address may not satisfy the detector's requirements. Dynamic optimization module 507 can update the logical expression of the rule in response to sensitive data types detected in input data 503. For example, if two email data types are detected, dynamic optimization module 507 can update detection rule 504 to: "(email OR phone number) AND IP address." That is, since two email addresses are detected, the detection rule now only needs to search for one more email address or phone number and IP address. Dynamic optimization module 507 can update detection rule 504 by modifying the data pipeline (e.g., by pruning the data pipeline tree or graph). This DNF dynamic update can avoid duplicate detection and speed up the detection process.

[0081] Now refer to Figure 10 . Figure 10A use case 900 of system 100 is shown. Different types of users can use sensitive data detection system 100. Service user 901 can utilize an existing data pipeline 904 to process input data 503. Service developer user 902 can create a new data pipeline 905 using an existing detector component 603 and a connector component 604. Developer user 903 can modify or customize an existing component 907. Developer user 903 can create or customize a new component 908. Existing components 907 and new components 908 can include detector components 603 or connector components 604. Developer user 903 can create a new data pipeline 906 including modified components 907 and / or new components 908. Method 400 can also include a user adding new component 908 to the data pipeline. New component 908 can include a neural network, for example, for detecting sensitive objects in image data. Other users, such as service user 901 and service developer user 902, can use the new data pipeline 906, modified components 907, and new components 908 created by developer user 903.

[0082] The multiple customizable detector components 604 can include a regular expression component, a keyword component, a blacklist component, a whitelist component, an exclusion component, a validation component, a checksum component, an object detection component, a Named Entity Recognition (NER) component, and / or an OCR component. The customizable connector components 604 can include a union component, an intersection component, a difference component, a range component, a data type converter component, and / or a DNF component. The regular expression component can apply a regular expression to the input text and return all matching substrings in the input text. The keyword component can find a specified keyword in the input text. The blacklist component may find substrings in the input text that match a list of words and mark the input text as sensitive data. The whitelist component may find substrings that match a list of words and mark the input text as non-sensitive data. The exclusion component can exclude input text that contains matching substrings that satisfy certain rules. The validation component can check whether the provided list of matching substrings is valid based on a validation function and the original input text. The checksum component can check whether the provided list of matching substrings is valid according to a checksum function. The object detection component may attempt to classify certain objects in the input image into predefined categories, such as faces, license plates, identity cards, etc. The NER component may attempt to locate named entities mentioned in the input text and classify them into predefined categories, such as person names, organizations, locations, etc. The OCR component can convert an image of typed, handwritten, or printed text into machine-encoded text, whether from a scanned document, a document photo, or a scene photo. The union component can return all output results of its child nodes. The intersection component can return the common elements of the outputs from its child nodes. The difference component can compare the outputs of two child nodes and return the results that exist in one child node but not in the other. The range component can calculate the distance between two matching substrings and only output results when the distance is less than a threshold. The data type converter component can convert data of one type into another type; for example, it can convert an image object type composed of location and category attributes into a data type composed only of category attributes. The DNF component may contain rule information (such as logical expressions) and may update the rules based on the input detection results.

[0083] Another embodiment includes an extensible data processing system for identifying sensitive data. The system can be a framework for the components 600 for identifying sensitive data. The system includes multiple customizable detector components 603 for identifying sensitive data. The system 100 also includes at least one customizable connector component 604 for aggregating the outputs from the multiple customizable detector components. The multiple customizable detector components 603 and the at least one customizable connector component 604 can be used to be combined into a data pipeline for processing input data to identify sensitive data.

[0084] Although the embodiments have been described above with reference to the accompanying drawings, those skilled in the art will understand that changes and modifications can be made without departing from the scope defined by the appended claims.

Claims

1. A method for identifying sensitive data, characterized in that, Comprising: Constructing a data pipeline from an extensible framework, the extensible framework including a plurality of customizable detector components for identifying the sensitive data and at least one customizable connector component for aggregating outputs from the plurality of customizable detector components; Processing input data using the data pipeline to identify the sensitive data.

2. The method according to claim 1, wherein Also including adding user-created detector components or connector components to the data pipeline.

3. The method according to claim 2, wherein The user-created detector component is a neural network.

4. The method according to claim 1, characterized in that, The data pipeline is a tree structure or a graph structure.

5. The method according to claim 1, wherein The plurality of customizable detector components include regular expression components, keyword components, blacklist components, whitelist components, exclusion components, verification components, checksum components, object detection components, named entity recognition (NER) components, and / or optical character recognition (OCR) components.

6. The method according to claim 1, characterized in that The at least one customizable connector component includes union components, intersection components, difference components, range components, data type converter components, and / or disjunctive normal form (DNF) components.

7. The method according to claim 1, wherein The input data includes text, images, sounds, or multimodal data.

8. The method according to claim 1, wherein Also including modifying a sub-structure of the data pipeline to optimize the processing of the input data.

9. The method according to claim 1, characterized in that Also including removing a sub-structure of the data pipeline, the removal being completed during the processing of the input data.

10. The method according to claim 9, wherein Also including removing a second sub-structure of the data pipeline, the priority of the second sub-structure being lower than the priority of the completed sub-structure.

11. The method according to claim 9, characterized in that, Also including: If all sub-structures of the data pipeline are completed, stop processing the input data.

12. The method according to claim 1, wherein At least one of the plurality of customizable detector components can be customized by a user.

13. An extensible data processing system for identifying sensitive data, characterized in that, Comprising: A plurality of customizable detector components for identifying the sensitive data; At least one customizable connector component for aggregating outputs from the plurality of customizable detector components; Wherein, the plurality of customizable detector components and the at least one customizable connector component are used to be combined into a data pipeline for processing input data to identify the sensitive data.

14. The system according to claim 13, wherein, The plurality of customizable detector components include regular expression components, keyword components, blacklist components, whitelist components, exclusion components, verification components, checksum components, object detection components, named entity recognition (NER) components, and / or optical character recognition (OCR) components.

15. The system according to claim 13, characterized in that, The at least one customizable connector component includes union components, intersection components, difference components, range components, data type converter components, and / or disjunctive normal form (DNF) components.

16. A non-transitory computer-readable medium, characterized in that, The non-transitory computer-readable medium includes computer program code stored therein for identifying sensitive data, which, when executed by one or more processors, causes the one or more processors to perform the method according to any one of claims 1 to 12.