You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/ros2_access_control_policies.md
+11-10Lines changed: 11 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,8 @@ categories: Security
24
24
Original Author: {{ page.author }}
25
25
26
26
27
-
[SROS 2](/articles/ros2_dds_security.html) introduces several security properties, including encryption, authentication, and authorization, where authorization is subsequently obtained by combining the first two properties with a model for access control.
27
+
[SROS 2](/articles/ros2_dds_security.html) introduces several security properties, including encryption, authentication, and authorization.
28
+
Authorization is obtained by combining the first two properties with a model for access control.
28
29
Such models are often referred to as access control policies.
29
30
A policy serves as a high-level abstraction of privileges associated with attributes that may then be transpiled into low-level permissions for individual identities, such as specific ROS nodes within a secure DDS network.
30
31
@@ -37,7 +38,7 @@ In this context, a subject may be thought of as a participant on a distributed d
37
38
38
39
[Mandatory Access Control](https://en.wikipedia.org/wiki/Mandatory_access_control) (MAC) refers to allowing access to an object if and only if rules exist that allow a given subject to access the resource; the term mandatory denotes this requirement that a subject’s access to an object must always be explicitly provisioned.
39
40
Most importantly, contrary to discretionary access control (DAC), such policies are enforced by a set of authorization rules that cannot be overridden or modified by the subject either accidentally or intentionally.
40
-
This could also be referred to as “deny by default”.
41
+
This could also be referred to as “deny by default”.
41
42
42
43
### Principle of Least Privilege
43
44
@@ -54,16 +55,16 @@ Systems unable to comply with this requirement may consequently fail to satisfy
54
55
### Separation of Concerns
55
56
56
57
[Separation of Concerns](https://en.wikipedia.org/wiki/Separation_of_concerns) (SoC) is a design principle for separating a system into distinct sections, so that each section addresses a separate concern.
57
-
Separate concerns in this case may be how encryption is governed in a system v.s. how authorization is permissioned between subjects.
58
+
Separate concerns in this case may be how encryption is governed in a system versus how authorization is given to subjects.
58
59
59
-
## Criterias
60
+
## Criteria
60
61
61
-
Design criterias for SROS 2 policies and for selecting the [Extensible Markup Language](https://en.wikipedia.org/wiki/XML) (XML) are discussed here.
62
+
Design criteria for SROS 2 policies and for selecting the [Extensible Markup Language](https://en.wikipedia.org/wiki/XML) (XML) are discussed here.
62
63
63
64
### Validation
64
65
65
66
Prior to interpreting any user configuration input, such as an access control policy, [data validation](https://en.wikipedia.org/wiki/Data_validation) should be applied to ensure inputs are compliant and correctly formatted.
66
-
Incorrect inputs can affect the soundness of most programs or tools, yet guarding against general malformormations may itself require meticulous validation logic.
67
+
Incorrect inputs can affect the soundness of most programs or tools, yet guarding against general malformations may itself require meticulous validation logic.
67
68
Formalizing the description of the data using a precise schema allows for separate programs to assert inputs are compliant without replicating validation logic across implementations.
68
69
In XML, this is achieved using [XSD](https://en.wikipedia.org/wiki/XML_schema); allowing the policy markup to be defined by an extendable standard definition rather than a canonical implementation.
69
70
@@ -76,14 +77,14 @@ In XML, this is achieved using [XSLT](https://en.wikipedia.org/wiki/XML_transfor
76
77
77
78
### Composition
78
79
79
-
When formulating an access control policy, many subjects may share a commonality of fundamental privileges for basic access.
80
+
When formulating an access control policy, many subjects may share fundamental privileges for basic access.
80
81
To avoid unnecessary repetition that could exacerbate human errors or other discrepancies, policies should possess sufficient [expressive power](https://en.wikipedia.org/wiki/Expressive_power_(computer_science)) to remain [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
81
82
In XML, this is achieved using [XInclude](https://en.wikipedia.org/wiki/XInclude); allowing the policy markup to easily include or substitute external reference to particular profiles and permissions that repeat across separate policies or profiles.
82
83
83
84
## Schema
84
85
85
-
This section is a description of a SROS 2 policy schema, expressed in terms of constraints on the structure and content of the document that are beyond the basic syntactic constraints imposed by XML itself.
86
-
This schema and accompanying definitions for grammatical rules governing the structure and content for elements and attributes is described below.
86
+
The SROS 2 policy schema is defined with XML.
87
+
The elements and attributes that make up a policy are described below.
To transpile SROS 2 policies into security artifacts for a targeted access controlled transport, XSLT templates can be used to perform this level of document conversion.
191
192
This may include any number of optimisations or adjustments specific for the target transport.
192
-
The pipeline stages for targeting Secure DDS for example is as follows:
193
+
For example, the pipeline stages for targeting Secure DDS is as follows:
193
194
194
195
1. An XML document with a root of the SROS 2 policy is specified
195
196
2. The document is fully expanded using XInclude to reference external elements
0 commit comments