User Tools

Site Tools


dido:public:ra:1.4_req:2_nonfunc:25_security:04_data_integrity

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:1.4_req:2_nonfunc:25_security:04_data_integrity [2020/11/15 20:10]
nick
dido:public:ra:1.4_req:2_nonfunc:25_security:04_data_integrity [2021/06/11 14:43] (current)
char
Line 1: Line 1:
-====== 4.2.4.2 Data Integrity ======+====== 4.3.4.2 Data Integrity ======
 [[dido:​public:​ra:​1.4_req:​2_nonfunc:​25_security | Return to Securability ]] [[dido:​public:​ra:​1.4_req:​2_nonfunc:​25_security | Return to Securability ]]
  
Line 7: Line 7:
 [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataintegrity]] is the completeness,​ accuracy and consistency of data throughout the entire data lifecycle of the data as well as when the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataatrest | Data is at Rest]], [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​data_in_motion]] and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​data_in_use]].((What is Data Integrity, Accessed 8 July 2020, [[https://​www.talend.com/​resources/​what-is-data-integrity/​]])) [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataintegrity]] is the completeness,​ accuracy and consistency of data throughout the entire data lifecycle of the data as well as when the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataatrest | Data is at Rest]], [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​data_in_motion]] and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​data_in_use]].((What is Data Integrity, Accessed 8 July 2020, [[https://​www.talend.com/​resources/​what-is-data-integrity/​]]))
  
-Figure {{ref>​pyramid}} shows the five levels [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​autopyramid]] and the functionality usually associated with each one. There is [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataatrest]] at each level of the pyramid. As the data transitions up and down from level to level with in the pyramid, the Data is in Motion. Within each level, the data will most likely be accessed therefore, the Data is in Use.+Figure {{ref>​pyramid}} shows the five levels [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​autopyramid]] and the functionality usually associated with each one. There is [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataatrest]] at each level of the pyramid. As the data transitions up and down from level to level within ​the pyramid, the Data is in Motion. Within each level, the data will most likely be accessed therefore, the Data is in Use.
  
 <table pyramidLevels>​ <table pyramidLevels>​
 <​caption>​The five levels of the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​autopyramid]].</​caption>​ <​caption>​The five levels of the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​autopyramid]].</​caption>​
  
-^  Automation Level  ​^   Description ​     +^  Automation Level                                            ​^ ​ ​Description ​                                                                                                                                                                                                                                                                                                                                                                                                                                        ​
-^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​f:​fieldlevel]] ​   | The Field Level where products are produced. In other words, this is where the physical work plus monitoring occur. Electric motors, hydraulic and pneumatic actuators to move machinery, proximity switches used to detect that movement or certain materials, photoelectric switches that detect similar things will all play a part in the field level. | +^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​f:​fieldlevel]] ​    ​| The Field Level where products are produced. In other words, this is where the physical work plus monitoring occur. Electric motors, hydraulic and pneumatic actuators to move machinery, proximity switches used to detect that movement or certain materials, photoelectric switches that detect similar things will all play a part in the field level. ​                                                                                          ​
-^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​control_level]] | The Control Level uses the the control devices to “run” the devices in the Field Level. The Control Devices make decisions based on information provided by [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​sensor|sensors]],​ switches, and other input devices to complete the programmed task. | +^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​control_level]] ​ | The Control Level uses the control devices to “run” the devices in the Field Level. The Control Devices make decisions based on information provided by [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​sensor|sensors]],​ switches, and other input devices to complete the programmed task.                                                                                                                                                             ​
-^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​superlevel]] ​   | The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​scada]] is combines the Field and Control Levels to provide oversight from a single location. This is usually accomplished using Graphical User Interface, or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hmi]],​ to remotely control operations. For example, water plants often employ this technology to control remote water pumps. | +^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​superlevel]] ​    ​| The [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​scada]] is combines the Field and Control Levels to provide oversight from a single location. This is usually accomplished using [[dido:​public:​ra:​xapend:​xapend.a_glossary:​g:​gui]], or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hmi]],​ to remotely control operations. For example, water plants often employ this technology to control remote water pumps. ​                                     
-^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​planlevel]] ​    ​| The Planning Level uses [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​mes]] to monitor the entire manufacturing process. For example, in a factory to plan for everything from raw materials to the finished products. This allows management to visualize the current state of operations and aids them in making decisions and adjust raw material orders or shipment plans based on real data received from Supervisory,​ Control and Field Levels.| +^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​planlevel]] ​     | The Planning Level uses [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​mes]] to monitor the entire manufacturing process. For example, in a factory to plan for everything from raw materials to the finished products. This allows management to visualize the current state of operations and aids them in making decisions and adjust raw material orders or shipment plans based on real data received from Supervisory,​ Control and Field Levels. ​ 
-^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​manaelevel]] ​   | The management level uses the companies integrated management system such as as [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​erp]]. Corporate management visualize and control operations. This level allows the businesses monitor all levels (i.e., manufacturing,​ to sales, to purchasing, to finance and payroll). The integration of an ERP promotes efficiency and transparency within a company by helping to communicate the levels.|+^ [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​manaelevel]] ​    ​| The management level uses the companies integrated management system such as as [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​erp]]. Corporate management visualize and control operations. This level allows the businesses monitor all levels (i.e., manufacturing,​ to sales, to purchasing, to finance and payroll). The integration of an ERP promotes efficiency and transparency within a company by helping to communicate the levels. ​         |
  
 </​table>​ </​table>​
Line 29: Line 29:
  
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​physicalintegrity]] protects data’s wholeness and accuracy as it’s being used. When expected or unexpected down times occur (i.e., natural disasters strike, power goes out, or hackers disrupt database functions) ​ physical integrity is compromised. Some other issues which can compromise the integrity of the data are Human error, storage erosion, or a host of other issues making it impossible for data processing managers, system programmers,​ applications programmers,​ and internal auditors to obtain accurate data.   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​physicalintegrity]] protects data’s wholeness and accuracy as it’s being used. When expected or unexpected down times occur (i.e., natural disasters strike, power goes out, or hackers disrupt database functions) ​ physical integrity is compromised. Some other issues which can compromise the integrity of the data are Human error, storage erosion, or a host of other issues making it impossible for data processing managers, system programmers,​ applications programmers,​ and internal auditors to obtain accurate data.
 +  * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​l:​logicalintegrity]] keeps data unchanged as it is accessed. Logical integrity protects data from some of the same issues as Physical Integrity (i.e., human error and hackers as well) but in different ways. There are four types of logical integrity. \\
 +    1 - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:​entityintegrity]] - supports unique values that identify any particular data entry and that the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​k:​key|key]] is not null. \\
 +    2 - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​r:​refintegrity]] - ensures that references to other data entries exist. \\
 +    3 - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataintegrity]] - ensures that domain rules (i.e., data restrictions) are enforced for the data within the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​datastructure]]. For example, minimum, maximum, number of decimals, nullable, etc. are enforced. \\
 +    4 - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​u:​udefintegrity]] - ensures that business rules are enforced. For example, if a value is set, another value must also be set (unset); if a value exceeds a threshold, a notice must be sent.  \\
  
-  ​[[dido:public:​ra:​xapend:​xapend.a_glossary:​l:​logicalintegrity]] keeps data unchanged as it is accessed. Logical integrity protects data from some of the same issues as Physical Integrity (i.e., human error and hackers as well) but in different ways. There are four types of logical integrity. +**Note:** Data integrity ​is not [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:datasecurity]] and not [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:dataquality]].  
-    - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​e:entityintegrity]] - supports unique values that identify any particular data entry and that the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​k:key|key]] is not null+  * Data Security defines the steps taken to prevent corruption from within and from outside attacks by people or processes
-    - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​r:​refintegrity]] - ensures that references ​to other data entries exists+  * Data Integrity defines the steps taken to keep the data intact and accurate from internal people and processes and for the entirety of the data's existence 
-    - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataintegrity]] - ensures that domain rules (i.e., ​data restrictions) are enforced ​for the data within the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​datastructure]]. For example, minimum, maximum, number of decimals, nullable, etc. are enforced. +
-    - [[dido:​public:​ra:​xapend:​xapend.a_glossary:​u:​userdefintegrity]] - ensures that business rules are enforced. For example, if a value is set, another value must also be set (unset); if a value exceeds a threshold, a notice must be sent+
  
-  * **Note:** Data integrity is not [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​datasecurity]] and is not [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataquality]].  +===== DIDO Specifics =====
-    * Data Security defines the steps taken in the prevention corruption and from corruption by outside attacks by people or processes.  +
-    * Data Integrity defines the steps taken to keep the data intact and accurate from internal people and processes and for the entirety of the data's existence. +
- +
-===== DDS Specifics =====+
 [[dido:​public:​ra:​1.4_req:​2_nonfunc:​25_security:​04_data_integrity | Return to Top]] [[dido:​public:​ra:​1.4_req:​2_nonfunc:​25_security:​04_data_integrity | Return to Top]]
  
- +  ​<wrap hi><​color red> To be added/​expanded in future revisions ​of the DIDO RA  (look at spec if DDSF) </color></​wrap>​
-[[dido:public:​ra:​xapend:​xapend.a_glossary:​d:​data_distribution_service_dds]] Systems are [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​distsystem|Distributed Systems]] and are generally architected so [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​dataintegrity]] is almost an after thought.  +
- +
-It is important to remember that systems using DDS are distributed by definition. These systems are actually a network of [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​ddsnode | DDS Nodes]]. Each node provides functionality at an appropriate automation level (i.e., [[dido:​public:​ra:​xapend:​xapend.a_glossary:​f:​fieldlevel]] through [[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​manaelevel]]) ​of the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​autopyramid]]). For example: +
- +
-  - The Field Level is the production flow that does the physical work and monitoring +
-  - The Control Level the information from all then sensors is collected level and is used to make decision +
-  - The Supervisory Level that is the human layer or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​scada]] the information that is used to access the data to control the systems from one single location and plus it usually adds some graphical user interface for plant managers aspect.  +
-  - The Planning Level ([[dido:​public:​ra:​xapend:​xapend.a_glossary:​m:​mes|Manufacturing Execution System (MES)]]) it monitors the entire manufacturing process in a plant or a factory +
-  - The business logistics (Cloud) layer - it monitors or levels of from manufacturing to sales to purchase and to finance  +
- +
-  +
-A well defined system also provides for multiple nodes that provide redundant functionality. For example, in a Chemical Mixing Process, there may be multiple [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​sensor|Sensors]] (i.e., nodes) providing temperature for the mixing vat and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​publisher | publishing]] to the same [[dido:​public:​ra:​xapend:​xapend.a_glossary:​t:​topic]]. There are also multiple nodes listening (i.e., [[dido:​public:​ra:​xapend:​xapend.a_glossary:​s:​subscriber]] to the data being published). If the data being published ​at the sensors were not identical in structure, format, and content then the redundancy creates more work for the subscribers. In DDS, if one of the publisher were to fail, the subscribers would automatically get the data from the second sensor. +
- +
-In a like way, there can be multiple subscribers at any particular automation level, or the subscribers could be at different levels in the automation pyramid. For example, one subscriber at the Field Level, and one at the Control Level, etc. Each level may be using a different programming language. For example, the Field Level might be using C/C++, the Control Level might use Java, the Supervisory Level might use Python or R, the Planning level might use SQL or Javascript, and the Business Logic might use executable [[dido:​public:​ra:​xapend:​xapend.a_glossary:​b:​bpmn]]. As long as there is a mapping between the programming language and the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​idl]] data structures, Data Integrity is preserved and there is no problem with each language using the same Topic. ​+
  
 /​**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /​**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
dido/public/ra/1.4_req/2_nonfunc/25_security/04_data_integrity.1605489009.txt.gz · Last modified: 2020/11/15 20:10 by nick