| rfc9393v5.txt | rfc9393.txt | |||
|---|---|---|---|---|
| Internet Engineering Task Force (IETF) H. Birkholz | Internet Engineering Task Force (IETF) H. Birkholz | |||
| Request for Comments: 9393 Fraunhofer SIT | Request for Comments: 9393 Fraunhofer SIT | |||
| Category: Standards Track J. Fitzgerald-McKay | Category: Standards Track J. Fitzgerald-McKay | |||
| ISSN: 2070-1721 National Security Agency | ISSN: 2070-1721 National Security Agency | |||
| C. Schmidt | C. Schmidt | |||
| The MITRE Corporation | The MITRE Corporation | |||
| D. Waltermire | D. Waltermire | |||
| NIST | NIST | |||
| May 2023 | June 2023 | |||
| Concise Software Identification Tags | Concise Software Identification Tags | |||
| Abstract | Abstract | |||
| ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an | ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an | |||
| extensible XML-based structure to identify and describe individual | extensible XML-based structure to identify and describe individual | |||
| software components, patches, and installation bundles. SWID tag | software components, patches, and installation bundles. SWID tag | |||
| representations can be too large for devices with network and storage | representations can be too large for devices with network and storage | |||
| constraints. This document defines a concise representation of SWID | constraints. This document defines a concise representation of SWID | |||
| skipping to change at line 1064 ¶ | skipping to change at line 1064 ¶ | |||
| to registered entries in the "Software ID Link Relationship | to registered entries in the "Software ID Link Relationship | |||
| Values" registry. | Values" registry. | |||
| media-type (index 41): Supplies the resource consumer with a hint | media-type (index 41): Supplies the resource consumer with a hint | |||
| regarding what type of resource to expect. A link can point to | regarding what type of resource to expect. A link can point to | |||
| arbitrary resources on the endpoint, local network, or Internet | arbitrary resources on the endpoint, local network, or Internet | |||
| using the href item. (This is a _hint_: there is no obligation | using the href item. (This is a _hint_: there is no obligation | |||
| for the server hosting the target of the URI to use the indicated | for the server hosting the target of the URI to use the indicated | |||
| media type when the URI is dereferenced.) Media types are | media type when the URI is dereferenced.) Media types are | |||
| identified by referencing a "Name" from the IANA "Media Types" | identified by referencing a "Name" from the IANA "Media Types" | |||
| registry (see <http://www.iana.org/assignments/media-types/>). | registry (see <https://www.iana.org/assignments/media-types/>). | |||
| This item maps to '/SoftwareIdentity/Link/@type' in [SWID]. | This item maps to '/SoftwareIdentity/Link/@type' in [SWID]. | |||
| use (index 42): An integer or textual value (integer label with text | use (index 42): An integer or textual value (integer label with text | |||
| escape; see Section 2). See Section 4.5 for the list of values | escape; see Section 2). See Section 4.5 for the list of values | |||
| available for this item. This item is used to determine if the | available for this item. This item is used to determine if the | |||
| referenced software component has to be installed before | referenced software component has to be installed before | |||
| installing the software component identified by the CoSWID tag. | installing the software component identified by the CoSWID tag. | |||
| If an integer value is used, it MUST be an index value in the | If an integer value is used, it MUST be an index value in the | |||
| range -256 to 255. Integer values in the range -256 to -1 are | range -256 to 255. Integer values in the range -256 to -1 are | |||
| reserved for testing and use in closed environments (see | reserved for testing and use in closed environments (see | |||
| skipping to change at line 1243 ¶ | skipping to change at line 1243 ¶ | |||
| $$software-meta-extension: A CDDL socket that can be used to extend | $$software-meta-extension: A CDDL socket that can be used to extend | |||
| the software-meta-entry group model. See Section 2.2. | the software-meta-entry group model. See Section 2.2. | |||
| 2.9. The Resource Collection Definition | 2.9. The Resource Collection Definition | |||
| 2.9.1. The hash-entry Array | 2.9.1. The hash-entry Array | |||
| CoSWID adds explicit support for the representation of hash entries | CoSWID adds explicit support for the representation of hash entries | |||
| using algorithms that are registered in the IANA "Named Information | using algorithms that are registered in the IANA "Named Information | |||
| Hash Algorithm Registry" [IANA.named-information] using the hash | Hash Algorithm Registry" [IANA.named-information]. This array is | |||
| member (index 7) and the corresponding hash-entry type. This is the | used by both the hash (index 7) and thumbprint (index 34) values. | |||
| equivalent of the namespace qualified "hash" attribute in [SWID]. | This is the equivalent of the namespace qualified "hash" attribute in | |||
| [SWID]. | ||||
| hash-entry = [ | hash-entry = [ | |||
| hash-alg-id: int, | hash-alg-id: int, | |||
| hash-value: bytes, | hash-value: bytes, | |||
| ] | ] | |||
| The number used as a value for hash-alg-id is an integer-based hash | The number used as a value for hash-alg-id is an integer-based hash | |||
| algorithm identifier whose value MUST refer to an ID in the IANA | algorithm identifier whose value MUST refer to an ID in the IANA | |||
| "Named Information Hash Algorithm Registry" [IANA.named-information] | "Named Information Hash Algorithm Registry" [IANA.named-information] | |||
| with a Status of "current" (at the time the generator software was | with a Status of "current" (at the time the generator software was | |||
| skipping to change at line 1324 ¶ | skipping to change at line 1325 ¶ | |||
| * $$process-extension, | * $$process-extension, | |||
| global-attributes, | global-attributes, | |||
| } | } | |||
| resource-entry = { | resource-entry = { | |||
| type => text, | type => text, | |||
| * $$resource-extension, | * $$resource-extension, | |||
| global-attributes, | global-attributes, | |||
| } | } | |||
| hash = 7 | ||||
| directory = 16 | directory = 16 | |||
| file = 17 | file = 17 | |||
| process = 18 | process = 18 | |||
| resource = 19 | resource = 19 | |||
| size = 20 | size = 20 | |||
| file-version = 21 | file-version = 21 | |||
| key = 22 | key = 22 | |||
| location = 23 | location = 23 | |||
| fs-name = 24 | fs-name = 24 | |||
| root = 25 | root = 25 | |||
| skipping to change at line 1349 ¶ | skipping to change at line 1351 ¶ | |||
| The following list describes each member of the groups and maps | The following list describes each member of the groups and maps | |||
| illustrated above. | illustrated above. | |||
| filesystem-item: A list of common items used for representing the | filesystem-item: A list of common items used for representing the | |||
| filesystem root, relative location, name, and significance of a | filesystem root, relative location, name, and significance of a | |||
| file or directory item. | file or directory item. | |||
| global-attributes: The global-attributes group as described in | global-attributes: The global-attributes group as described in | |||
| Section 2.5. | Section 2.5. | |||
| hash (index 7): A hash of the file as described in Section 2.9.1. | hash (index 7): Value that provides a hash of a file. This item | |||
| provides an integrity measurement with respect to a specific file. | ||||
| See Section 2.9.1 for more details on the use of the hash-entry | ||||
| data structure. | ||||
| directory (index 16): Item that allows child directory and file | directory (index 16): Item that allows child directory and file | |||
| items to be defined within a directory hierarchy for the software | items to be defined within a directory hierarchy for the software | |||
| component. | component. | |||
| file (index 17): Item that allows details about a file to be | file (index 17): Item that allows details about a file to be | |||
| provided for the software component. | provided for the software component. | |||
| process (index 18): Item that allows details to be provided about | process (index 18): Item that allows details to be provided about | |||
| the runtime behavior of the software component, such as | the runtime behavior of the software component, such as | |||
| skipping to change at line 1386 ¶ | skipping to change at line 1391 ¶ | |||
| '/SoftwareIdentity/(Payload|Evidence)/File/@version' in [SWID]. | '/SoftwareIdentity/(Payload|Evidence)/File/@version' in [SWID]. | |||
| key (index 22): A boolean value indicating if a file or directory is | key (index 22): A boolean value indicating if a file or directory is | |||
| significant or required for the software component to execute or | significant or required for the software component to execute or | |||
| function properly. These are files or directories that can be | function properly. These are files or directories that can be | |||
| used to affirmatively determine if the software component is | used to affirmatively determine if the software component is | |||
| installed on an endpoint. | installed on an endpoint. | |||
| location (index 23): The filesystem path where a file is expected to | location (index 23): The filesystem path where a file is expected to | |||
| be located when installed or copied. The location MUST be either | be located when installed or copied. The location MUST be either | |||
| relative to the location of the parent directory item (preferred) | an absolute path, a path relative to the path value included in | |||
| or relative to the location of the CoSWID tag (as indicated in the | the parent directory item (preferred), or a path relative to the | |||
| location value in the evidence entry map) if no parent is defined. | location of the CoSWID tag if no parent is defined. The location | |||
| The location MUST NOT include a file's name, which is provided by | MUST NOT include a file's name, which is provided by the fs-name | |||
| the fs-name item. | item. | |||
| fs-name (index 24): The name of the directory or file without any | fs-name (index 24): The name of the directory or file without any | |||
| path information. This aligns with a file "name" in [SWID]. This | path information. This aligns with a file "name" in [SWID]. This | |||
| item maps to | item maps to | |||
| '/SoftwareIdentity/(Payload|Evidence)/(File|Directory)/@name' in | '/SoftwareIdentity/(Payload|Evidence)/(File|Directory)/@name' in | |||
| [SWID]. | [SWID]. | |||
| root (index 25): A host-specific name for the root of the | root (index 25): A host-specific name for the root of the | |||
| filesystem. The location item is considered relative to this | filesystem. The location item is considered relative to this | |||
| location if specified. If not provided, the value provided by the | location if specified. If not provided, the value provided by the | |||
| skipping to change at line 1482 ¶ | skipping to change at line 1487 ¶ | |||
| device-id = 36 | device-id = 36 | |||
| The following list describes each child item of this group. | The following list describes each child item of this group. | |||
| global-attributes: The global-attributes group as described in | global-attributes: The global-attributes group as described in | |||
| Section 2.5. | Section 2.5. | |||
| resource-collection: The resource-collection group as described in | resource-collection: The resource-collection group as described in | |||
| Section 2.9.2. | Section 2.9.2. | |||
| location (index 23): The absolute file path of the location of the | location (index 23): The filesystem path of the location of the | |||
| CoSWID tag generated as evidence. (Location values in filesystem- | CoSWID tag generated as evidence. This path is always an absolute | |||
| item instances in the payload can be expressed relative to this | file path (unlike the value of a location item found within a | |||
| location.) | filesystem-item as described in Section 2.9.2, which can be either | |||
| a relative path or an absolute path). | ||||
| date (index 35): The date and time the information was collected | date (index 35): The date and time the information was collected | |||
| pertaining to the evidence item in epoch-based date/time format as | pertaining to the evidence item in epoch-based date/time format as | |||
| specified in Section 3.4.2 of [RFC8949]. | specified in Section 3.4.2 of [RFC8949]. | |||
| device-id (index 36): The endpoint's string identifier from which | device-id (index 36): The endpoint's string identifier from which | |||
| the evidence was collected. | the evidence was collected. | |||
| $$evidence-extension: A CDDL socket that can be used to extend the | $$evidence-extension: A CDDL socket that can be used to extend the | |||
| evidence-entry group model. See Section 2.2. | evidence-entry group model. See Section 2.2. | |||
| End of changes. 7 change blocks. | ||||
| 15 lines changed or deleted | 21 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||