Processing and displaying restricted data

The method addresses the limitations of existing data protection by creating a data array with templates and automatic verification to form an abstract data layer, ensuring flexible and attribute-specific protection for data prohibited for transmission in distributed systems, enhancing security and visualization.

WO2025005821A1PCT designated stage expired Publication Date: 2025-01-02OBSHCHESTVO S OGRANICHENNOJ OTVETSTVENNOSTYU TEKHNOLOGII OTRASLEVOJ TRANSFORMACII
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/RU2023/000200
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2023-07-06
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

Existing solutions for data protection in distributed information systems fail to ensure maximum protection due to unlocalized data location and limited protection scope, often fixated on specific file extensions, leading to inadequate security.

Method used

A method for processing and visualizing data prohibited for transmission in distributed systems, involving the creation of a data array that stores prohibited data, templates, and network identifiers, with automatic verification and abstract data layer formation to replace prohibited data, ensuring flexible and attribute-specific protection.

Benefits of technology

Ensures comprehensive protection of data prohibited for transmission across all system levels, allowing for flexible configuration and visualization while maintaining data security and integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure RU2023000200_02012025_PF_FP_ABST
    Figure RU2023000200_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A method for processing and displaying restricted data in a distributed information system comprises the steps of: identifying restricted data and creating a shared data array for all levels of the system, in which a list of restricted data, templates for the subsequent substitution of said data, the origin of the restriction, and network identifiers are stored (101); making the data array accessible to requests from all nodes of the distributed information system (102); creating a logic for the automatic verification of data for filling the data array (103); sending to the data array, upon receipt of a data processing request from a node of the distributed information system, a request with a list of the data intended for processing and checking if said data can be processed (104); if restricted data are found, altering the processing of said data by generating an abstract data layer in which the restricted data are substituted with data from a template (105); generating and displaying the processed data on the basis of the generated abstract layer (106). The invention makes it possible to protect restricted data during handling in distributed information systems.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] PROCESSING AND VISUALIZATION OF DATA PROHIBITED FROM TRANSFER

[0002] AREA OF TECHNOLOGY

[0003] [1] This technical solution generally relates to methods of processing data and preparing data structures for viewing and visualization, namely to a method of processing and visualizing data prohibited for transmission in distributed information systems.

[0004] LEVEL OF TECHNOLOGY

[0005] [2] Currently, concepts of edge computing are known, in which computations are performed as close to the user as possible in a complex hierarchical client-server architecture, but not necessarily on the client device. A method of distributing computations in parts is also known, i.e. different stages of the algorithm are performed on different devices.

[0006] [3] Depending on the type of task, there may be restrictions on the transfer of data between different devices (for example, from the server to the client part and vice versa, from one server to another, etc.).

[0007] [4] For example, personal data of individuals may only be permitted to be stored on the user's computer.

[0008] [5] For example, details of commercial agreements cannot be transferred from certain company servers to others, although the fact of such an agreement itself may or should be transferred, a so-called commercial secret.

[0009] [6] The prior art includes a technical solution described in RU 2541895 “SYSTEM AND METHOD FOR INCREASING THE SECURITY OF AN ORGANIZATION’S DATA BY CREATING AN ISOLATED ENVIRONMENT”, 25.12.2012, Kaspersky Lab Closed Joint-Stock Company (RU): “the method for detecting violations of the rules for working with data includes: a) modifying the application code by replacing the call of functions working with data with a call of handler functions; b) collecting information about calls of the modified application to functions working with data by calling the corresponding handler functions; c) analyzing the information collected at step b) for non-compliance with the rules for working with data established by the security policy; d) detecting a violation of the rules for working with data based on the analysis.”

[0010] [7] The prior art includes a technical solution described in RU 2759210 "SYSTEM AND METHOD FOR PROTECTING ELECTRONIC DOCUMENTS CONTAINING CONFIDENTIAL INFORMATION FROM UNAUTHORIZED ACCESS", 01.09.2020, Crosstech Solutions Group Limited Liability Company (RU): a system for protecting electronic documents containing confidential information from unauthorized access comprises: a tagging subsystem; an access control subsystem; a file tracking subsystem; a classification subsystem; an anonymization subsystem; a screen uniqueization subsystem; a data transmission subsystem; a data storage subsystem; a recognition subsystem; an administration subsystem."

[0011] [8] A technical solution described in US 10,931,652 B2 “Data sealing with a sealing enclave”, 24.01.2017, Microsoft Technology Licensing LLC (US) is known from the prior art: “the method comprises the steps of: sending to a source enclave located in a first native enclave platform a first attestation report for a sealing enclave located in a second native enclave platform; receiving an allowed list and associated enclave data in the sealing enclave from the source enclave, wherein the allowed list includes a list of one or more enclave identifiers that are allowed to unseal the enclave data; securely storing the enclave data and the allowed list, and restricting access to the enclave data for enclaves with authenticated identifiers, in accordance with how allowed by the allowed list.”

[0012] [9] The disadvantages of known solutions are the fact that when working with data that requires protection, the localization of their location is not ensured, and as a result, maximum protection is not provided, and other disadvantages include the limited set of protected data and the fixation of protection on specific extensions of certain files.

[0013] DISCLOSURE OF INVENTION

[0014]

[0010] This technical solution is aimed at eliminating the shortcomings inherent in existing solutions known from the prior art.

[0015]

[0011] The technical problem solved in this technical solution is that when working with data that requires protection, the localization of their location is not ensured, and as a consequence, maximum protection is not ensured, as well as the limited set of protected data and the fixation of protection on specific extensions of certain files.

[0016]

[0012] The main technical result that emerges from solving the above-mentioned problem is ensuring the protection of data prohibited from being transmitted when working in distributed information systems.

[0017]

[0013] Additional technical results that emerge from solving the above-mentioned problem include the ability to ensure protection of specific data attributes, as well as the variability of data protection settings.

[0018]

[0014] The specified technical results are achieved by implementing a method for processing and visualizing data prohibited from being transmitted in distributed information systems, implemented using a processor and a data storage device, including the following steps:

[0019] • when constructing a distributed information system, they determine data prohibited from being transmitted by forming a common data array for all levels of the system, where a list of data prohibited from being transmitted is stored, templates for the subsequent replacement of this data, the source of the prohibition on transmission, and network identifiers;

[0020] • the data array generated in the previous step is made available for requests from all nodes of the constructed distributed information system;

[0021] • form the logic of automatic data verification for automatic supplementation of the data array generated in the first step; • upon receipt of a request for data processing from a node of the constructed distributed information system, send an additional request with a list of data intended for processing to the data array generated in the first step and check the possibility of processing;

[0022] • if data prohibited from being transferred is found, the data processing is changed by forming an abstract data layer with the automated replacement of data prohibited from being transferred with data from the corresponding template;

[0023] • generate and visualize the processed data based on the abstract data layer generated in the previous step.

[0024]

[0015] In one of the particular examples of implementing the method, in the event of finding data that is prohibited from being transmitted, a request is made to the user to download this data from the local data storage.

[0025]

[0016] In another particular example of implementing the method, if data is found that is prohibited from being transmitted, this data is automatically downloaded from the local data storage.

[0026]

[0017] In addition, the claimed technical result is achieved through a system for processing and visualizing data prohibited for transmission in distributed information systems, containing:

[0027] - at least one data processing device;

[0028] - at least one data storage device;

[0029] - at least one program, where one or more programs are stored on one or more data storage devices and executed on one or more data processing devices, wherein the one or more programs ensure the execution of the following steps:

[0030] • when constructing a distributed information system, they determine data prohibited from being transmitted by forming a common data array for all levels of the system, where a list of data prohibited from being transmitted is stored, templates for the subsequent replacement of this data, the source of the prohibition on transmission, and network identifiers;

[0031] • the data array generated in the previous step is made available for requests from all nodes of the constructed distributed information system;

[0032] • form the logic of automatic data verification for automatic addition of the data array generated in the first step;

[0033] • when a request for data processing is received from a node of the constructed distributed information system, an additional request is sent with a list of data to be processed to the data array generated in the first step and the possibility of processing is checked;

[0034] • if data prohibited from being transferred is found, the data processing is changed by forming an abstract data layer with the automated replacement of data prohibited from being transferred with data from the corresponding template;

[0035] • generate and visualize the processed data based on the abstract data layer generated in the previous step.

[0036]

[0018] In one of the particular examples of the implementation of the system, in the event of finding data that is prohibited from being transmitted, a request is made to the user to download this data from the local data storage.

[0037]

[0019] In another particular example of the implementation of the system, in the event of finding data that is prohibited from being transmitted, this data is automatically downloaded from the local data storage. BRIEF DESCRIPTION OF THE DRAWINGS

[0038]

[0020] The features and advantages of the present technical solution will become apparent from the following detailed description and the accompanying drawings, in which:

[0021] Fig. 1 illustrates a block diagram of the implementation of the claimed method.

[0039]

[0022] Fig. 2 illustrates an example of the operation of the described technical solution.

[0040]

[0023] Fig. 3 illustrates a system for implementing the claimed method.

[0041] IMPLEMENTATION OF THE INVENTION

[0042]

[0024] Below, the terms and concepts necessary for the implementation of this technical solution will be described.

[0043]

[0025] Data attribute - the name of a column in a table

[0044]

[0026] Distributed information system - any information system that allows for the organization of interaction between independent but interconnected computers. Distributed systems are those that are not located in one controlled area or at one facility. These systems are intended to automate facilities that are characterized by territorial distribution of points of information generation and consumption.

[0045]

[0027] SQL queries are sets of commands for working with relational (tabular) databases. SQL (abbr. from Structured Query Language) is a declarative programming language used to create, modify, and manage data in a relational database managed by the corresponding database management system.

[0046]

[0028] A data abstraction layer (DBAL) is an application programming interface that unifies communication between a computer application and a database management system (DBMS) such as SQL Server, DB2, MySQL, PostgreSQL, Oracle, or SQLite. Traditionally, each DBMS vendor provides its own interface tailored to their product, allowing a programmer to implement code for all the database interfaces he or she wishes to support. Abstraction layers reduce the amount of work by providing a consistent API to the developer and by hiding the database specifics behind the interface as much as possible. There are many abstraction layers with different interfaces in many programming languages.

[0029] The claimed technical solution may be implemented, for example, by a system, a machine-readable medium, a server, etc.In this technical solution, the term “system” means, among other things, a computer system, a computer (electronic computer), a numerical control (CNC), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).

[0047]

[0030] A command processing unit is an electronic unit or integrated circuit (microprocessor) that executes machine instructions (programs).

[0048]

[0031] The command processing unit reads and executes machine instructions (programs) from one or more data storage devices, such as random access memory (RAM) and / or read-only memory (ROM). ROM may include, but is not limited to, hard disk drives (HDD), flash memory, solid-state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.

[0049]

[0032] A program is a sequence of instructions intended for execution by a computer control unit or command processing device.

[0050]

[0033] The term "instructions" as used in this application may generally refer to software instructions or software commands that are written in a given programming language to perform a specific function, such as, for example, receiving and processing data, forming a user profile, receiving and transmitting signals, analyzing received data, identifying a user, etc. The instructions may be implemented in a variety of ways, including, for example, object-oriented methods. For example, the instructions may be implemented using the C++ programming language, Java, Python, various libraries (e.g., Microsoft Foundation Classes), etc. The instructions that perform the processes described in this solution may be transmitted via both wired and wireless data transmission channels, such as Wi-Fi, Bluetooth, USB, WLAN, LAN, etc.

[0051]

[0034] The presented method for processing and visualizing data prohibited for transmission in distributed information systems (Fig. 1 shows a diagram of the method) solves the problems of ensuring the protection of data prohibited for transmission when working in distributed information systems, as well as ensuring the protection of specific data attributes and the variability of data protection settings by sequentially performing the following steps:

[0052] • when constructing a distributed information system, they determine data prohibited from being transmitted by forming a common data array for all levels of the system, where a list of data prohibited from being transmitted is stored, templates for the subsequent replacement of this data, the source of the prohibition on transmission, and network identifiers;

[0053] • the data array generated in the previous step is made available for requests from all nodes of the constructed distributed information system;

[0054] • form the logic of automatic data verification for automatic addition of the data array generated in the first step;

[0055] • when a request for data processing is received from a node of the constructed distributed information system, an additional request is sent with a list of data to be processed to the data array formed in the first step and the possibility of processing is checked; • if data prohibited for transmission is found, the data processing is changed by forming an abstract data layer with an automated replacement of data prohibited for transmission with data from the corresponding template;

[0056] • generate and visualize the processed data based on the abstract data layer generated in the previous step.

[0057]

[0035] At the design stage of a distributed information system, it is determined which data cannot be transmitted to which nodes of the distributed information system, with reference to the source of the prohibition.

[0058]

[0036] It is possible to make changes during the operation of the system by adding a table of restrictions to the distributed information system (in one implementation variant - to the database). In such a case, the functionality of checking the presence of such a table will additionally need to be added to the distributed information system.

[0059]

[0037] The prohibition of certain data can be set explicitly by the user of the distributed information system, or it can be determined by the server in real time, using specified algorithms. In this case, the method of storing the identified prohibitions does not change.

[0060]

[0038] For example, in a distributed information system, logic for checking data for compliance with certain conditions can be implemented initially or by adding it during operation (in the next release of a new version of the distributed information system): for example, the presence of more than N common surnames from the directory of common surnames in a certain table attribute can be checked. Or the correspondence of the attribute name to a certain mask can be checked, for example, "yo.*". In this case, a new entry is automatically added to the restrictions table, making this attribute prohibited for transmission.

[0039] In the described method, all levels of the system have access to information that some of the data will be prohibited for transmission, depending on this, the calculation algorithm changes, for example, the text of SQL queries, or the entire calculation architecture, for example, additional API calls.Such information about restrictions is available by creating a common restrictions table for all levels of the system.

[0061]

[0040] The general principle for selecting a calculation algorithm option is the following: if at least one constraint from the constraint table for a selected attribute is triggered during calculation at any level of the system, then it is prohibited from being transferred. For example, if an aggregate for a certain attribute is calculated for less than 100 rows, and the TRANSFER_AGGR_MIN_100 rule is set for this attribute of this table, then this aggregate is not transferred between system levels.

[0062]

[0041] In this case, it may also be permitted to transmit only aggregated data, for example:

[0063] • transfer of amounts from the wage fund for the entire organization as a whole, but not for each employee.

[0064] • it may be prohibited to transmit data on average prices for a particular product, aggregated less than by region.

[0065] • if less than 100 celestial bodies are included in the spectral analysis of a group of celestial bodies, then such statistics have no scientific value and are not transferred to other levels of the system. Moreover, the ban itself is established in the form of an internal rule of the scientific organization.

[0066] • if, when studying the rate of spread of infections, a certain ethnic group is found to be susceptible to this infection, then a rule can be established to prohibit the transfer of the “ethnic group” attribute, i.e. it can only be transferred in a more generalized form.

[0042] To implement these functions, an algorithm for describing such permissions and prohibitions is provided, accessible to all levels of the system as a set of master data.

[0067]

[0043] In general, these constraints are formulated in any declarative (in the form of a set of rule lines that form a description of the required constraint) or imperative (in the form of a set of operators that form the logic for checking the constraint) programming language.

[0068]

[0044] In particular, in one way of implementing such a set of rules in a declarative form, such a set of rules can be implemented as a reference table in a DB. Table 1. Example of the structure of a reference table of attribute constraints.

[0069]

[0045] In another method (imperative), the constraints can be given in the form of program code for checking an attribute, for example, code for checking whether the fragment "Gyu" is present in the attribute name:

[0070] =IFERROR(IF(SEARCH("Bo";KS[- 1 ]); 1 ;0);0)

[0071]

[0046] To implement this algorithm, access to data at another level of the system can be provided by forming an abstract layer - a presentation layer (VIEW) in the DB. In this case, in the VIEW data, confidential attributes are either zeroed or calculated taking into account the restrictions in the table above.

[0072] Table 2. Example of a table with employees' salaries.

[0073] Table 3. Example of a table with restrictions on the transfer of salary data.

[0074] 1 1 test employees salary TRANSFER_NO -100 Example of forming an abstract data layer taking into account restrictions:

[0075] Abstract layer data (Table 4): fio A salary « character varying n integer и Ivanov Ivan Iva...

[0076] > Petrov Petr Pet... Sidorov Sidor S...

[0077]

[0047] In all tables, all confidential attributes are replaced with NULL / O / empty string (any special values). In this case, a specific empty value can be defined separately in each implementation of the algorithm. The main criterion for choosing the type of empty value is that all parts (levels) of the system must process such values ​​without critical errors.

[0078]

[0048] For example, at the last step of the algorithm - visualization on the end device, by default, instead of confidential attributes, zero values ​​will be displayed, i.e. the graph or diagram will be displayed correctly, but with false values.

[0079]

[0049] When detecting the presence of attributes that are prohibited from being transmitted, the end device may request the user or automatically download the necessary data from local storage.

[0080]

[0050] If local storage is unavailable, the system may issue warnings about this and offer to enter the necessary data into local storage.

[0081]

[0051] For example, when displaying a payroll distribution chart within a department, the actual data on wages can be stored only on the computer of the head of the HR department. At the same time, the entire methodology for constructing reports is available to all departments, as shown in the chart (Fig. 2).

[0082]

[0052] In general terms (see Fig. 3), the system for combining data from information systems for their subsequent visualization (300) comprises one or more processors (301) connected by a common information exchange bus, memory means such as RAM (302) and ROM (303), and input / output interfaces (304).

[0083]

[0053] The processor (301) (or several processors, a multi-core processor, etc.) can be selected from a range of devices that are widely used at present, for example, from manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™, etc. The processor or one of the processors used in the system (300) must also include a graphics processor, for example, an NVIDIA GPU with a software model compatible with CUDA, or Graphcore, the type of which is also suitable for the full or partial implementation of the method, and can also be used for training and applying machine learning models in various information systems.

[0084]

[0054] RAM (302) is a random access memory and is intended for storing machine-readable instructions executable by the processor (301) for performing the necessary operations for logical data processing. RAM (302), as a rule, contains executable instructions of the operating system and the corresponding software components (applications, software modules, etc.). In this case, the available memory capacity of the graphic card or graphic processor can act as RAM (302).

[0085]

[0055] The ROM (303) represents one or more permanent data storage devices, such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R / RW, DVD-R / RW, BlueRay Disc, MD), etc.

[0086]

[0056] To organize the operation of the components of the device (300) and to organize the operation of external connected devices, various types of I / O interfaces (304) are used. The selection of the corresponding interfaces depends on the specific design of the computing device, which may be, without limitation: PCI, AGP, PS / 2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS / Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.

[0087]

[0057] To ensure user interaction with the device (300), various I / O information means (305) are used, for example, a keyboard, a display (monitor), a touch display, a touchpad, a joystick, a mouse, a light pen, a stylus, a touch panel, a trackball, speakers, a microphone, augmented reality means, optical sensors, a tablet, light indicators, a projector, a camera, biometric identification means (a retina scanner, a fingerprint scanner, a voice recognition module), etc.

[0058] A network interaction means (306) ensures data transmission via an internal or external computer network, for example, an Intranet, the Internet, a LAN, etc. The following may be used as one or more means (306), but are not limited to: an Ethernet card, a GSM modem, a GPRS modem, an LTE modem, a 5G modem, a satellite communication module, an NFC module, a Bluetooth and / or BLE module, a Wi-Fi module, etc.

[0088]

[0059] The specific selection of elements of the device (300) for implementing various software and hardware architectural solutions may vary while maintaining the required functionality provided. In particular, such an implementation may be performed using electronic components used to create digital integrated circuits. I am not limited to, microcircuits may be used whose operating logic is determined during manufacture, or programmable logic integrated circuits (PLIS), whose operating logic is specified by programming. For programming, programmers and debugging environments are used that allow the desired structure of the digital device to be specified in the form of a basic electrical circuit or a program in special hardware description languages: Verilog, VHDL, AHDL, etc.An alternative to FPGAs are: programmable logic controllers (PLCs), basic matrix crystals (BMCs), which require a factory production process for programming; ASICs — specialized custom large-scale integrated circuits (LSIs), which are significantly more expensive for small-scale and single-unit production. Thus, implementation can be achieved by standard means based on classical principles of implementing the basics of computer technology.

[0089]

[0060] The submitted application materials disclose preferred examples of the implementation of the technical solution and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology.

Claims

FORMULA.

1. A method for processing and visualizing data prohibited for transmission in distributed information systems, implemented using a processor and a data storage device, including the following steps: • when constructing a distributed information system, they determine data prohibited from being transmitted by forming a common data array for all levels of the system, where a list of data prohibited from being transmitted is stored, templates for the subsequent replacement of this data, the source of the prohibition on transmission, and network identifiers; • the data array generated in the previous step is made available for requests from all nodes of the constructed distributed information system; • form the logic of automatic data verification for automatic addition of the data array generated in the first step; • when a request for data processing is received from a node of the constructed distributed information system, an additional request is sent with a list of data to be processed to the data array generated in the first step and the possibility of processing is checked; • if data prohibited from being transferred is found, the data processing is changed by forming an abstract data layer with the automated replacement of data prohibited from being transferred with data from the corresponding template; • generate and visualize the processed data based on the abstract data layer generated in the previous step.

2. The method according to paragraph 1, characterized in that in the event of finding data that is prohibited from being transmitted, a request is made to the user to download this data from the local data storage.

3. The method according to paragraph 1, characterized in that in the event of finding data that is prohibited from being transmitted, this data is automatically downloaded from the local data storage.

4. A system for processing and visualizing data prohibited for transmission in distributed information systems, containing: - at least one data processing device; - at least one data storage device; - at least one program, where one or more programs are stored on one or more data storage devices and executed on one or more data processing devices, wherein the one or more programs ensure the execution of the following steps: • when constructing a distributed information system, they determine data prohibited from being transmitted by forming a common data array for all levels of the system, where a list of data prohibited from being transmitted is stored, templates for the subsequent replacement of this data, the source of the prohibition on transmission, and network identifiers; • the data array generated in the previous step is made available for requests from all nodes of the constructed distributed information system; • form the logic of automatic data verification for automatic addition of the data array generated in the first step; • when a request for data processing is received from a node of the constructed distributed information system, an additional request is sent with a list of data to be processed to the data array generated in the first step and the possibility of processing is checked; • if data prohibited from being transmitted is found, the data processing is changed by forming an abstract data layer with the automated replacement of data prohibited from being transmitted with data from the corresponding template; • the processed data is formed and visualized based on the abstract data layer formed in the previous step.

5. The system according to paragraph 3, characterized by the fact that in the event of finding data that is prohibited from being transmitted, a request is made to the user to download this data from the local data storage.

6. The system according to paragraph 3, characterized by the fact that in the event of finding data that is prohibited from being transmitted, this data is automatically downloaded from the local data storage.

Citation Information

Patent Citations

  • Propagation of data changes in a distributed system

    EP3217301B1

  • System for establishing a confidentiality mark in an electronic document, accounting and control of work with confidential electronic documents

    RU2647643C1

  • Method and system for realizing a rendezvous service in a management operations center implemented in a global ecosystem of interrelated services

    US20020147611A1

  • Data processing architecture

    US20040059436A1

  • System and method for managing data in a distributed computer system

    US20060123010A1