Replies: 3 comments
-
@SParekh so the lexical requirement around the nominal 'ID' type are derived from the requirements for the XML ID type, which must conform to the Name production, which forbids spaces, most punctuation ... and initial numerals. https://www.w3.org/TR/REC-xml/#id Since in OSCAL the 'id' property is intended as a machine-readable token and not part of the "legible" text -- and you are free to devise any ID you like (whether or not embedding a numeration) -- we think this restriction is worth the cost, since what we get in return on the XML side is considerable leverage. (XML tools come with specialized capabilities and functions relating to IDs, which we can use and not rebuild around a different ID syntax.) Unfortunately this does mean that there is a cost in expressiveness on the JSON side, which is paid for only on the XML side. This is part of the compromise we undertake to support both. Note that the "ID" used commonly as a label -- such as "AC(10)" in SP 800-53 -- is a different thing and should be captured in a different data point (probably a Short version is that if you make your ID syntax look like |
Beta Was this translation helpful? Give feedback.
-
@SParekh - There are two fundamental aspects here: 1) a strictly technical aspect related to the pattern and 2) a more important one, related to the use of OSCAL Catalog model to represent the SP 800-171r2 requirements.
|
Beta Was this translation helpful? Give feedback.
-
@SParekh I should add to the above, that we are also moving away from XML-based restrictions in general (especially ones that seem arbitrary) and the ID format might arguably be on this list. In other words, we are open to loosening the rule in a later version of OSCAL if we learn that the burden is onerous or the advantages (described above) are negligible. Since it is a backward-incompatible change it would have to be a major revision i.e. OSCAL 2.0. Thanks for the question! |
Beta Was this translation helpful? Give feedback.
-
As per latest Schema changes, Group Id has been restricted by Pattern, that requires it to have starting characters to be letters (A-Za-z)
OSCAL/json/schema/oscal_catalog_schema.json
Line 51 in 81f0315
However, for Frameworks like NIST SP 800-171-R2, the 14 Group and corresponding Ids (Document term is "families") does not match the pattern
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-171r2.pdf
Though the above 14 families look similar to "Groups" in NIST 800-53, these 14 are referenced as "Families" in the NIST SP 800-171r2 documentation and have different Ids (Numeric). Additionally, it does not map exactly 1:1 with 800-53 Groups
E.g. "3.12 Security Assessment" in 800-171 though matches the title of "CA" in 800-53 , it includes control mapping from both CA and PL
Question:
As OSCAL schema is expected to be scalable across different compliance requirements, is the assumption accurate that Group.Id will always start with letters ?
Beta Was this translation helpful? Give feedback.
All reactions