Skip to content

Commit 23726b4

Browse files
ruffsljacobperron
andcommitted
Incorporate a few reword suggestions
Co-Authored-By: Jacob Perron <[email protected]>
1 parent 7d68c4a commit 23726b4

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

articles/ros2_access_control_policies.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ categories: Security
2424
Original Author: {{ page.author }}
2525

2626

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.
2829
Such models are often referred to as access control policies.
2930
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.
3031

@@ -37,7 +38,7 @@ In this context, a subject may be thought of as a participant on a distributed d
3738

3839
[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.
3940
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”.
4142

4243
### Principle of Least Privilege
4344

@@ -54,16 +55,16 @@ Systems unable to comply with this requirement may consequently fail to satisfy
5455
### Separation of Concerns
5556

5657
[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.
5859

59-
## Criterias
60+
## Criteria
6061

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.
6263

6364
### Validation
6465

6566
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.
6768
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.
6869
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.
6970

@@ -76,14 +77,14 @@ In XML, this is achieved using [XSLT](https://en.wikipedia.org/wiki/XML_transfor
7677

7778
### Composition
7879

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.
8081
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).
8182
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.
8283

8384
## Schema
8485

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.
8788

8889
``` xml
8990
{% include_relative ros2_access_control_policies/policy.xsd %}
@@ -189,7 +190,7 @@ Attributes:
189190

190191
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.
191192
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:
193194

194195
1. An XML document with a root of the SROS 2 policy is specified
195196
2. The document is fully expanded using XInclude to reference external elements

0 commit comments

Comments
 (0)