<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.10 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-sacm-arch-03" category="std">

  <front>
    <title abbrev="SACM Architecture">Security Automation and Continuous Monitoring (SACM) Architecture</title>

    <author initials="A." surname="Montville" fullname="Adam W. Montville">
      <organization abbrev="CIS">Center for Internet Security</organization>
      <address>
        <postal>
          <street>31 Tech Valley Drive</street>
          <city>East Greenbush</city>
          <region>NY</region>
          <code>12061</code>
          <country>USA</country>
        </postal>
        <email>adam.montville.sdo@gmail.com</email>
      </address>
    </author>
    <author initials="B." surname="Munyan" fullname="Bill Munyan">
      <organization abbrev="CIS">Center for Internet Security</organization>
      <address>
        <postal>
          <street>31 Tech Valley Drive</street>
          <city>East Greenbush</city>
          <region>NY</region>
          <code>12061</code>
          <country>USA</country>
        </postal>
        <email>bill.munyan.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2019" month="September" day="06"/>

    <area>Security</area>
    <workgroup>SACM Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This memo defines a Security Automation and Continuous Monitoring (SACM) architecture. This work is built upon <xref target="RFC8600"/>, and is predicated upon information gleaned from SACM Use Cases and Requirements (<xref target="RFC7632"/> and <xref target="RFC8248"/> respectively), and terminology as found in <xref target="I-D.ietf-sacm-terminology"/>.</t>

<t>WORKING GROUP: The source for this draft is maintained in GitHub.  Suggested changes should be submitted as pull requests at https://github.com/sacmwg/ietf-mandm-sacm-arch/.  Instructions are on that page as well.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">
<t>The purpose of this draft is to define an architectural approach for a SACM Domain, based on the spirit of use cases found in <xref target="RFC7632"/> and requirements found in <xref target="RFC8248"/>. This approach gains the most advantage by supporting a variety of collection systems, and intends to enable a cooperative ecosystem of tools from disparate sources with minimal operator configuration.</t>

<section anchor="requirements-notation" title="Requirements notation">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in RFC
2119, BCP 14 <xref target="RFC2119"/>.</t>

</section>
</section>
<section anchor="terms-and-definitions" title="Terms and Definitions">
<t>This draft defers to <xref target="I-D.ietf-sacm-terminology"/> for terms and definitions.</t>

</section>
<section anchor="architectural-overview" title="Architectural Overview">
<t>The generic approach proposed herein recognizes the need to obtain information from existing and future state collection systems, and makes every attempt to respect <xref target="RFC7632"/> and <xref target="RFC8248"/>. At the foundation of any architecture are entities, or components, that need to communicate. They communicate by sharing information, where, in a given flow, one or more components are consumers of information and one or more components are providers of information.</t>

<figure title="Notional Architecture" anchor="fig-notional"><artwork><![CDATA[
              +--------------------+
              | Feeds/Repositories |
              |  of External Data  |
              +---------+----------+
                        +
****************************************************** Enterprise Boundary ***
                        +
      +--------------+  |  +--------------------+
      | Orchestrator |  |  | Repositories/CMDBs |
      +------^-------+  |  +----------^---------+
             |          |             |             +--------------------+
             |          |             |             |  Downstream Uses   |
             |          |             |             | +----------------+ |
 +-----------v----------v-------------v------+      | |   Analytics    | |
 |       Component Integration Service       <------> +----------------+ |
 +----- -----^--------------------------^----+      | +----------------+ |
             |                          |           | |   Reporting    | |
             |                          |           | +----------------+ |
 +-----------v-------------------+      |           +--------------------+
 |  Collection Sub-Architecture  |      |
 +-------------------------------+      |
                  +---------------------v---------+
                  |  Evaluation Sub-Architecture  |
                  +-------------------------------+

]]></artwork></figure>

<t>As shown in <xref target="fig-notional"/>, the SACM architecture consists of some basic SACM Components communicating using a component integration service. The component integration service is expected to maximally align with the requirements described in <xref target="RFC8248"/>, which means that the component integration service will support brokered (i.e. point-to-point) and proxied data exchange.</t>

<t>The enterprise boundary is not intended to imply a physical boundary. Rather, the enterprise boundary is intended to be inclusive of various cloud environments and vendor-provided services in addition to any physical systems the enterprise operates.</t>

<section anchor="architectural-components" title="Architectural Components">
<t>This document suggests a variety of players in a cooperative ecosystem - we call these players SACM Components. SACM Components may be composed of other SACM Components, and each SACM Component plays one, or more, of several roles relevant to the ecosystem. Generally each role is either a consumer of information or a provider of information.  The <xref target="fig-notional"/> diagram illustrates a number of SACM components which are architecturally significant and therefore warrant discussion and clarification.</t>

<section anchor="orchestrator" title="Orchestrator">
<t>An Orchestration component exists to aid in the automation of configuration, coordination, and management for the ecosystem of SACM components.  The Orchestrator performs control-plane operations, administration of an implementing organization's components (including endpoints, posture collection services, and downstream activities), scheduling of automated tasks, and any ad-hoc activities such as the initiation of collection or evaluation activities.  The Orchestrator is the key administrative interface into the SACM architecture.</t>

</section>
<section anchor="repositoriescmdbs" title="Repositories/CMDBs">
<t>The <xref target="fig-notional"/> diagram only includes a single reference to "Repositories/CMDBs", but in practice, a number of separate data repositories may exist, including posture attribute repositories, policy repositories, local vulnerability definition data repositories, and state assessment results repositories.  These data repositories may exist separately or together in a single representation, and the design of these repositories may be as distinct as their intended purpose, such as the use of relational database management systems or graph/map implementations focused on the relationships between data elements.  Each implementation of a SACM repository should focus on the relationships between data elements and implement the SACM information and data model(s).</t>

</section>
<section anchor="component-integration-service" title="Component Integration Service">
<t>If each SACM component represents a set of services, capabilities, and/or functions, the Component Integration Service represents the "fabric" by which all those services, capabilities and functions are woven together.  The Component Integration Service acts as a message broker, combining a canonical data model, a common command set, and a messaging infrastructure to allow other SACM components to communicate using a shared set of interfaces.  The Component Integration Service's brokering capabilities enable the exchange of information, the orchestration of capabilities, message routing and reliable delivery.  The Component Integration Service minimizes the dependencies from one system to another through the loose coupling of applications through messaging.</t>

<t>The Component Integration Service should provide mechanisms for synchronous "request/response"-style messaging, asynchronous "send and forget" messaging, or publish/subscribe.  It is the responsibility of the Component Integration Service to coordinate and manage the sending and receiving of messages.  The Component Integration Service should allow components the ability to directly connect and produce or consume messages, or connect via message translators which can act as a proxy, transforming messages from a component format to one implementing a SACM data model.</t>

<t>A number of pieces come together to form the Component Integration Service:</t>

<t><list style="numbers">
  <t>Common communication infrastructure:  The physical communications infrastructure, providing a cross-platform, cross-language universal adapter between SACM components.  This infrastructure commonly includes message routing capabilities to facilitate the correct routing of messages from SACM component to SACM component, as well as using Publish/Subscribe functionality to facilitate sending messages to all receivers.</t>
  <t>Adapters:  The use of a standard, canonical data model will likely require SACM components to translate component-specific information into the canonical format used by the message broker.</t>
  <t>Common command/interaction structure: Just as PC architectures have a common set of commands to represent the different operations possible on a physical bus, there must be common interactions that all SACM components can understand.</t>
</list></t>

</section>
</section>
<section anchor="sub-architectures" title="Sub-Architectures">
<t>The <xref target="fig-notional"/> shows two components representing the architectural workflows involved in a cooperative ecosystem of SACM components: Collection and Evaluation.  The following section, Architectural Workflows (TBD - ADD LINK) further expands on these components/workflows.</t>

</section>
<section anchor="downstream-uses" title="Downstream Uses">
<t>As depicted by <xref target="fig-notional"/>, a number of downstream uses exist in the cooperative ecosystem.  Each notional SACM component represents distinct sub-architectures which will exchange information via the component integration services, using interactions described in this draft.</t>

<section anchor="reporting" title="Reporting">
<t>The Reporting component represents the capabilities of the SACM architecture dealing with the query and retrieval of collected posture attribute information, evaluation results, etc. in various display formats that are useful to a wide range of stakeholders.</t>

</section>
<section anchor="analytics" title="Analytics">
<t>The Analytics component represents the capabilities of the SACM architecture dealing with the discovery, interpretation, and communication of any meaningful patterns of data in order to inform effective decision making within the organization.</t>

</section>
</section>
</section>
<section anchor="sub-architectural-components" title="Sub-Architectural Components">
<t>This section describes the workflows derived from the interactions with the two sub-architectures depicted in the <xref target="fig-notional"/>: Collection and Evaluation.</t>

<section anchor="collection-sub-architecture" title="Collection Sub-Architecture">
<t>The Collection sub-architecture, in a SACM context, is the mechanism by which posture attributes are collected from applicable endpoints and persisted to a repository, such as a configuration management database (CMDB).  Orchestration components will choreograph endpoint data collection via interactions using the Component Integration Service as a message broker.  Instructions to perform endpoint data collection are directed to a Posture Collection Service capable of performing collection activities utilizing any number of methods, such as SNMP, NETCONF/RESTCONF, SSH, WinRM, or host-based.</t>

<figure title="Collection Sub-Architecture" anchor="fig-collection"><artwork><![CDATA[
+----------------------------------------------------------+
|                       Orchestrator                       |
+-----------+----------------------------------------------+
            |               +------------------------------+
            |               | Posture Attribute Repository |
            |               +--------------^---------------+
            |                              |
            |                              |
            |                       Collected Data
            |                              ^
            |                              |
+-----------v------------------------------+---------------+
|             Component Integration Service                |
+----+------------------^-----------+------------------^---+
     |                  |           |                  |
     |                  |           |                  |
     v                  |           v                  |
  Perform           Collected    Perform           Collected
 Collection           Data      Collection           Data
     |                  ^           |                  ^
     |                  |           |                  |
     |                  |           |                  |
+----v------------------+----+ +----v------------------+----+
| Posture Collection Service | | Posture Collection Service |
+---^------------------------+ |                            |
    |                   |      | +------------------------+ |
    |                   v      | |        Endpoint        | |
  Events             Queries   | +------------------------+ |
    ^                   |      +----------------------------+
    |                   |
+---+-------------------v----+
|          Endpoint          |
+----------------------------+

]]></artwork></figure>

<section anchor="posture-collection-service" title="Posture Collection Service">
<t>The Posture Collection Service (PCS) is the SACM component responsible for the collection of posture attributes from an endpoint or set of endpoints.  A single PCS may be responsible for management of posture attribute collection from many endpoints.  The PCS will interact with the Component Integration Service to receive collection instructions and to provide collected posture data for persistence to the Posture Attribute Repository.  Collection instructions may be supplied in a variety of forms, including subscription to a publish/subscribe topic to which the Component Integration Service has published instructions, via request/response-style synchronous messaging, or via asynchronous "send-and-forget" messaging.  Collected posture information may then be supplied to the Component Integration Service via similar channels.  The various interaction types are discussed later in this draft (TBD).</t>

</section>
<section anchor="endpoint" title="Endpoint">
<t>Building upon <xref target="I-D.ietf-sacm-terminology"/>, the SACM Collection Sub-Architecture augments the definition of an Endpoint as a component within an organization's management domain from which a Posture Collection Service will collect relevant posture attributes.</t>

</section>
<section anchor="posture-attribute-repository" title="Posture Attribute Repository">
<t>The Posture Attribute Repository is a SACM component responsible for the persistent storage of posture attributes collected via interactions between the Posture Collection Service and Endpoints.</t>

</section>
</section>
<section anchor="evaluation-sub-architecture" title="Evaluation Sub-Architecture">
<t>The Evaluation Sub-Architecture, in the SACM context, is the mechanism by which policy, expressed in the form of expected state, is compared with collected posture attributes to yield an evaluation result, that result being contextually dependent on the policy being evaluated.</t>

<figure title="Evaluation Sub-Architecture" anchor="fig-evaluation"><artwork><![CDATA[
+---------------------------------------+
|              Orchestrator             |
+-------------------+-------------------+
                    |
                    |
                    |
+-------------------v-------------------+
|     Component Integration Service     |
+--------+------------^--------^--------+
         |            |        |
         |            |        |
         v            |    Retrieve         +--------------------------------+
      Perform         |     Posture <-------+  Posture Attribute Repository  |
     Evaluation       |    Attributes       +--------------------------------+
         |            |
         |            |
         |            |                     +--------------------------------+
         |            +-----Retrieve <------+        Policy Repository       |
         |                   Policy         +--------------------------------+
         |
+--------v------------------------------+
|       Posture Evaluation Service      |
+----------------------------+----------+
                             |
                             v
                         Evaluation
                          Results
                             |
                             |
        +--------------------v----------+
        | Evaluation Results Repository |
        +-------------------------------+
]]></artwork></figure>

<section anchor="posture-evaluation-service" title="Posture Evaluation Service">
<t>The Posture Evaluation Service represents the SACM component responsible for coordinating the policy to be evaluated and the collected posture attributes relevant to that policy, as well as the comparison engine responsible for correctly determining compliance with the expected state.</t>

</section>
<section anchor="policy-repository" title="Policy Repository">
<t>The Policy Repository represents a persistent storage mechanism for the policy to be assessed against collected posture attributes to determine if an endpoint meets the defined expected state.  Examples of information contained in a Policy Repository would be Vulnerability Definition Data or configuration recommendations as part of a CIS Benchmark or DISA STIG.</t>

</section>
<section anchor="evaluation-results-repository" title="Evaluation Results Repository">
<t>The Evaluation Results Repository persists the information representing the results of a particular posture assessment, indicating those posture attributes collected from various endpoints which either meet or do not meet the expected state defined by the assessed policy.  Consideration should be made for the context of individual results.  For example, meeting the expected state for a configuration attribute indicates a correct configuration of the endpoint, whereas meeting an expected state for a vulnerable software version indicates an incorrect and therefore vulnerable configuration.</t>

</section>
</section>
</section>
<section anchor="interactions" title="Interactions">
<t>SACM Components are intended to interact with other SACM Components. These interactions can be thought of, at the level of this architectural approach, as the combination of interfaces with their supported operations.  Each interaction will convey a payload of information. The payload information is expected to contain sub-domain-specific characteristics and instructions.</t>

<t><list style="symbols">
  <t><spanx style="strong">Publish/Subscribe</spanx>: A component publishes information to a messaging system and a set of other components, subscribed to that information type, receive the published information.</t>
  <t><spanx style="strong">Request/Response</spanx>: A request/response interaction can take a number of forms, but will always be synchronous operations involving the requesting component waiting/blocking until a response is received from the requested component or a timeout occurs.
  <list style="symbols">
      <t><spanx style="strong">Information Request</spanx>: An information request is simply one component requesting information from another component, such as an Orchestrator requesting collection capabilities from a Posture Collection Service.</t>
      <t><spanx style="strong">Query</spanx>: A query interaction can take one of two forms, "selection" or "storage".
      <list style="symbols">
          <t><spanx style="emph">Selection</spanx>: A component requests data from a repository.</t>
          <t><spanx style="emph">Storage</spanx>: A component provides data to be persisted in a repository.</t>
        </list></t>
    </list></t>
  <t><spanx style="strong">Directive</spanx>: Commonly referred to as "Send-and-Forget", a directive is an asynchronous interaction whereby a component requests information from another component but does not wait/block for a response.  The receiving component may reply later via callbacks or further interactions, but it is not mandatory.</t>
</list></t>

<t>Each interaction will convey a payload of information. The payload information is expected to contain sub-domain-specific characteristics and instructions.</t>

</section>
<section anchor="security-domain-workflows" title="Security Domain Workflows">
<t>This section describes three primary information security domains from which workflows may be derived: IT Asset Management, Vulnerability Management, and Configuration Management.</t>

<section anchor="it-asset-management" title="IT Asset Management">
<t>Information Technology asset management is easier said than done. The <xref target="CISCONTROLS"/> have two controls dealing with IT asset management. Control 1, Inventory and Control of Hardware Assets, states, "Actively manage (inventory, track, and correct) all hardware devices on the network so that only authorized devices are given access, and unauthorized and unmanaged devices are found and prevented from gaining access." Control 2, Inventory and Control of Software Assets, states, "Actively manage (inventory, track, and correct) all software on the network so that only authorized software is installed and can execute, and that unauthorized and unmanaged software is found and prevented from installation or execution."</t>

<t>In spirit, this covers all of the processing entities on your network (as opposed to things like network cables, dongles, adapters, etc.), whether physical or virtual.</t>

<t>An IT asset management capability needs to be able to:</t>

<t><list style="symbols">
  <t>Identify and catalog new assets by executing Target Endpoint Discovery Tasks</t>
  <t>Provide information about its managed assets, including uniquely identifying information (for that enterprise)</t>
  <t>Handle software and/or hardware (including virtual assets)</t>
  <t>Represent cloud hybrid environments</t>
</list></t>

</section>
<section anchor="vulnerability-management" title="Vulnerability Management">
<t>Vulnerability management is a relatively established process. To paraphrase the <xref target="CISCONTROLS"/>, continuous vulnerability management is the act of continuously acquiring, assessing, and taking subsequent action on new information in order to identify and remediate vulnerabilities, therefore minimizing the window of opportunity for attackers.</t>

<t>A vulnerability assessment (i.e. vulnerability detection) is performed in two steps:</t>

<t><list style="symbols">
  <t>Endpoint information collected by the endpoint management capabilities is examined by the vulnerability management capabilities through Evaluation Tasks.</t>
  <t>If the data possessed by the endpoint management capabilities is insufficient, a Collection Task is triggered and the necessary data is collected from the target endpoint.</t>
</list></t>

<t>Vulnerability detection relies on the examination of different endpoint information depending on the nature of a specific vulnerability. Common endpoint information used to detect a vulnerability includes:</t>

<t><list style="symbols">
  <t>A specific software version is installed on the endpoint</t>
  <t>File system attributes</t>
  <t>Specific state attributes</t>
</list></t>

<t>In some cases, the endpoint information needed to determine an endpoint's vulnerability status will have been previously collected by the endpoint management capabilities and available in a Repository. However, in other cases, the necessary endpoint information will not be readily available in a Repository and a Collection Task will be triggered to perform collection from the target endpoint. Of course, some implementations of endpoint management capabilities may prefer to enable operators to perform this collection even when sufficient information can be provided by the endpoint management capabilities (e.g. there may be freshness requirements for information).</t>

</section>
<section anchor="configuration-management" title="Configuration Management">
<t>Configuration management involves configuration assessment, which requires state assessment. The <xref target="CISCONTROLS"/> specify two high-level controls concerning configuration management (Control 5 for non-network devices and Control 11 for network devices). As an aside, these controls are listed separately because many enterprises have different organizations for managing network infrastructure and workload endpoints. Merging the two controls results in the following paraphrasing: Establish, implement, and actively manage (track, report on, correct) the security configuration of systems using a rigorous configuration management and change control process in order to prevent attackers from exploiting vulnerable services and settings.</t>

<t>Typically, an enterprise will use configuration guidance from a reputable source, and from time to time they may tailor the guidance from that source prior to adopting it as part of their enterprise standard. The enterprise standard is then provided to the appropriate configuration assessment tools and they assess endpoints and/or appropriate endpoint information.</t>

<t>A preferred flow follows:</t>

<t><list style="symbols">
  <t>Reputable source publishes new or updated configuration guidance</t>
  <t>Enterprise configuration assessment capability retrieves configuration guidance from reputable source</t>
  <t>Optional: Configuration guidance is tailored for enterprise-specific needs</t>
  <t>Configuration assessment tool queries asset inventory repository to retrieve a list of affected endpoints</t>
  <t>Configuration assessment tool queries configuration state repository to evaluate compliance</t>
  <t>If information is stale or unavailable, configuration assessment tool triggers an ad hoc assessment</t>
</list></t>

<t>The SACM architecture needs to support varying deployment models to accommodate the current state of the industry, but should strongly encourage event-driven approaches to monitoring configuration.</t>

</section>
</section>
<section anchor="configuration-management-components-and-capabilities" title="Configuration Management Components and Capabilities">
<t>This section provides more detail about the components and capabilities required when considering the aforementioned configuration management workflow.</t>

<section anchor="components" title="Components">
<t>The following is a minimal list of SACM Components required to implement the aforementioned configuration assessment workflow.</t>

<t><list style="symbols">
  <t>Configuration Policy Feed: An external source of authoritative configuration recommendations.</t>
  <t>Configuration Policy Repository: An internal repository of enterprise standard configurations.</t>
  <t>Configuration Assessment Orchestrator: A component responsible for orchestrating assessments.</t>
  <t>Posture Attribute Collection Subsystem: A component responsible for collection of posture attributes from systems.</t>
  <t>Posture Attribute Repository: A component used for storing system posture attribute values.</t>
  <t>Configuration Assessment Evaluator: A component responsible for evaluating system posture attribute values against expected posture attribute values.</t>
  <t>Configuration Assessment Results Repository: A component used for storing evaluation results.</t>
</list></t>

</section>
<section anchor="capabilities" title="Capabilities">
<t>Per <xref target="RFC8248"/>, solutions MUST support capability negotiation. Components implementing specific interfaces and operations (i.e. interactions) will need a method of describing their capabilities to other components participating in the ecosystem; for example, "As a component in the ecosystem, I can assess the configuration of Windows, MacOS, and AWS using OVAL".</t>

</section>
</section>
<section anchor="configuration-assessment-workflow" title="Configuration Assessment Workflow">
<t>This section describes the components and interactions in a basic configuration assessment workflow. For simplicity, error conditions are recognized as being necessary and are not depicted. When one component messages another component, the message is expected to be handled appropriately unless there is an error condition, or other notification, messaged in return.</t>

<figure title="Configuration Assessment Component Interactions" anchor="fig-configassess"><artwork><![CDATA[
+-------------+
| Policy Feed |
+-----+-------+
      |                     5.1
  1   |   +----------------------------------------+
      |   |                                        |            
+-----v------+  2   +----------------+  5  +-----v-----+  6   +------------+
|   Policy   +------>  Orchestrator  +-----> Evaluator +------> Evaluation |
| Repository |      +-------+--------+     +-----^-----+      |   Results  |
+------------+              |                    |            | Repository |
                            | 3                  |            +------------+
                            |                    | 5.2
                 +----------|--------+           |
                 | +--------v------+ |           |
                 | |   Collector   | |           |
                 | +-------+-------+ |   4   +------------+
                 |         |         +-------> Posture    |
                 | +-------+-------+ |       | Attribute  |
                 | | Target System | |       | Repository |
                 | +---------------+ |       +------------+
                 +-------------------+
              Collection Sub-Architecture
]]></artwork></figure>

<t><xref target="fig-configassess"/> depicts configuration assessment components and their interactions, which are further described below.</t>

<t><list style="numbers">
  <t>Policy is stored in the Policy Repository: TODO - add specific interaction options here.</t>
  <t>The Orchestrator obtains collection information from the Policy Repository: TODO - add specific interaction options here.</t>
  <t>The Orchestrator initiates collection to be performed by the Collection Sub-Architecture: TODO - add specific interaction options here.</t>
  <t>Collected posture attributes are stored n the Posture Attribute Repository: TODO - add specific interaction options here.</t>
  <t>The Orchestrator initiates the Evaluator (optionally with evaluation information gathered from the Policy Repository): TODO - add specific interaction options here
  <list style="numbers">
      <t>The Evaluator obtains evaluation information from the Policy Repository (optionally): TODO - add specific interaction options here</t>
      <t>The Evaluator obtains relevant posture attributes from the Posture Attribute Repository: TODO - add specific interaction options here</t>
    </list></t>
  <t>Evaluation results are stored in the Evaluation Results Repository: TODO - add specific interaction options here</t>
</list></t>

<t>In the above flow, the payload information is expected to convey the context required by the receiving component for the action being taken under different circumstances. For example, the Tell message sent from an Orchestrator to a Collection sub-architecture might be telling that Collector to watch a specific posture attribute and report only specific detected changes to the Posture Attribute Repository, or it might be telling the Collector to gather that posture attribute immediately. Such details are expected to be handled as part of that payload, not as part of the architecture described herein.</t>

</section>
<section anchor="privacy-considerations" title="Privacy Considerations">
<t>TODO</t>

</section>
<section anchor="security-considerations" title="Security Considerations">
<t>TODO</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">
<t>TODO: Revamp this section after the configuration assessment workflow is fleshed out.</t>

<t>IANA tables can probably be used to make life a little easier. We would like a place to enumerate:</t>

<t><list style="symbols">
  <t>Capability/operation semantics</t>
  <t>SACM Component implementation identifiers</t>
  <t>SACM Component versions</t>
  <t>Associations of SACM Components (and versions) to specific Capabilities</t>
  <t>Collection sub-architecture Identification</t>
</list></t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC8412" target='https://www.rfc-editor.org/info/rfc8412'>
<front>
<title>Software Inventory Message and Attributes (SWIMA) for PA-TNC</title>
<author initials='C.' surname='Schmidt' fullname='C. Schmidt'><organization /></author>
<author initials='D.' surname='Haynes' fullname='D. Haynes'><organization /></author>
<author initials='C.' surname='Coffin' fullname='C. Coffin'><organization /></author>
<author initials='D.' surname='Waltermire' fullname='D. Waltermire'><organization /></author>
<author initials='J.' surname='Fitzgerald-McKay' fullname='J. Fitzgerald-McKay'><organization /></author>
<date year='2018' month='July' />
<abstract><t>This document extends &quot;PA-TNC: A Posture Attribute (PA) Protocol Compatible with Trusted Network Connect (TNC)&quot; (RFC 5792) by providing specific attributes and message exchanges to allow endpoints to report their installed software inventory information to a NEA Server, as defined in &quot;Network Endpoint Assessment (NEA): Overview and Requirements&quot; (RFC 5209).</t></abstract>
</front>
<seriesInfo name='RFC' value='8412'/>
<seriesInfo name='DOI' value='10.17487/RFC8412'/>
</reference>



<reference anchor="I-D.ietf-sacm-ecp">
<front>
<title>Endpoint Posture Collection Profile</title>

<author initials='D' surname='Haynes' fullname='Daniel Haynes'>
    <organization />
</author>

<author initials='J' surname='Fitzgerald-McKay' fullname='Jessica Fitzgerald-McKay'>
    <organization />
</author>

<author initials='L' surname='Lorenzin' fullname='Lisa Lorenzin'>
    <organization />
</author>

<date month='June' day='21' year='2019' />

<abstract><t>This document specifies the Endpoint Posture Collection Profile, which describes the best practices for the application of IETF, TNC, and ISO/IEC data models, protocols, and interfaces to support the on- going collection and communication of endpoint posture to a centralized server where it can be stored and made available to other tools.  This document is an extension of the Trusted Computing Group's Endpoint Compliance Profile Version 1.0 specification [ECP].</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-sacm-ecp-05' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-sacm-ecp-05.txt' />
<format type='PDF'
        target='http://www.ietf.org/internet-drafts/draft-ietf-sacm-ecp-05.pdf' />
</reference>



<reference  anchor="RFC8600" target='https://www.rfc-editor.org/info/rfc8600'>
<front>
<title>Using Extensible Messaging and Presence Protocol (XMPP) for Security Information Exchange</title>
<author initials='N.' surname='Cam-Winget' fullname='N. Cam-Winget' role='editor'><organization /></author>
<author initials='S.' surname='Appala' fullname='S. Appala'><organization /></author>
<author initials='S.' surname='Pope' fullname='S. Pope'><organization /></author>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'><organization /></author>
<date year='2019' month='June' />
<abstract><t>This document describes how to use the Extensible Messaging and Presence Protocol (XMPP) to collect and distribute security incident reports and other security-relevant information between network- connected devices, primarily for the purpose of communication among Computer Security Incident Response Teams and associated entities. To illustrate the principles involved, this document describes such a usage for the Incident Object Description Exchange Format (IODEF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8600'/>
<seriesInfo name='DOI' value='10.17487/RFC8600'/>
</reference>




    </references>

    <references title='Informative References'>





<reference anchor="I-D.ietf-sacm-terminology">
<front>
<title>Security Automation and Continuous Monitoring (SACM) Terminology</title>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='J' surname='Lu' fullname='Jarrett Lu'>
    <organization />
</author>

<author initials='J' surname='Strassner' fullname='John Strassner'>
    <organization />
</author>

<author initials='N' surname='Cam-Winget' fullname='Nancy Cam-Winget'>
    <organization />
</author>

<author initials='A' surname='Montville' fullname='Adam Montville'>
    <organization />
</author>

<date month='December' day='14' year='2018' />

<abstract><t>This memo documents terminology used in the documents produced by SACM (Security Automation and Continuous Monitoring).</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-sacm-terminology-16' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-sacm-terminology-16.txt' />
</reference>



<reference  anchor="RFC8322" target='https://www.rfc-editor.org/info/rfc8322'>
<front>
<title>Resource-Oriented Lightweight Information Exchange (ROLIE)</title>
<author initials='J.' surname='Field' fullname='J. Field'><organization /></author>
<author initials='S.' surname='Banghart' fullname='S. Banghart'><organization /></author>
<author initials='D.' surname='Waltermire' fullname='D. Waltermire'><organization /></author>
<date year='2018' month='February' />
<abstract><t>This document defines a resource-oriented approach for security automation information publication, discovery, and sharing.  Using this approach, producers may publish, share, and exchange representations of software descriptors, security incidents, attack indicators, software vulnerabilities, configuration checklists, and other security automation information as web-addressable resources. Furthermore, consumers and other stakeholders may access and search this security information as needed, establishing a rapid and on-demand information exchange network for restricted internal use or public access repositories.  This specification extends the Atom Publishing Protocol and Atom Syndication Format to transport and share security automation resource representations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8322'/>
<seriesInfo name='DOI' value='10.17487/RFC8322'/>
</reference>


<reference anchor="draft-birkholz-sacm-yang-content" target="https://tools.ietf.org/html/draft-birkholz-sacm-yang-content-01">
  <front>
    <title>YANG subscribed notifications via SACM Statements</title>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization></organization>
    </author>
    <author initials="N." surname="Cam-Winget" fullname="Nancy Cam-Winget">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>




<reference  anchor="RFC7632" target='https://www.rfc-editor.org/info/rfc7632'>
<front>
<title>Endpoint Security Posture Assessment: Enterprise Use Cases</title>
<author initials='D.' surname='Waltermire' fullname='D. Waltermire'><organization /></author>
<author initials='D.' surname='Harrington' fullname='D. Harrington'><organization /></author>
<date year='2015' month='September' />
<abstract><t>This memo documents a sampling of use cases for securely aggregating configuration and operational data and evaluating that data to determine an organization's security posture.  From these operational use cases, we can derive common functional capabilities and requirements to guide development of vendor-neutral, interoperable standards for aggregating and evaluating data relevant to security posture.</t></abstract>
</front>
<seriesInfo name='RFC' value='7632'/>
<seriesInfo name='DOI' value='10.17487/RFC7632'/>
</reference>



<reference  anchor="RFC8248" target='https://www.rfc-editor.org/info/rfc8248'>
<front>
<title>Security Automation and Continuous Monitoring (SACM) Requirements</title>
<author initials='N.' surname='Cam-Winget' fullname='N. Cam-Winget'><organization /></author>
<author initials='L.' surname='Lorenzin' fullname='L. Lorenzin'><organization /></author>
<date year='2017' month='September' />
<abstract><t>This document defines the scope and set of requirements for the Security Automation and Continuous Monitoring (SACM) architecture, data model, and transfer protocols.  The requirements and scope are based on the agreed-upon use cases described in RFC 7632.</t></abstract>
</front>
<seriesInfo name='RFC' value='8248'/>
<seriesInfo name='DOI' value='10.17487/RFC8248'/>
</reference>



<reference  anchor="RFC5023" target='https://www.rfc-editor.org/info/rfc5023'>
<front>
<title>The Atom Publishing Protocol</title>
<author initials='J.' surname='Gregorio' fullname='J. Gregorio' role='editor'><organization /></author>
<author initials='B.' surname='de hOra' fullname='B. de hOra' role='editor'><organization /></author>
<date year='2007' month='October' />
<abstract><t>The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources.  The protocol is based on HTTP transfer of Atom-formatted representations.  The Atom format is documented in the Atom Syndication Format.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5023'/>
<seriesInfo name='DOI' value='10.17487/RFC5023'/>
</reference>


<reference anchor="CISCONTROLS" target="https://www.cisecurity.org/controls">
  <front>
    <title>CIS Controls v7.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="NIST800126" target="https://csrc.nist.gov/publications/detail/sp/800-126/rev-3/final">
  <front>
    <title>SP 800-126 Rev. 3 - The Technical Specification for the Security Content Automation Protocol (SCAP) - SCAP Version 1.3</title>
    <author initials="D." surname="Waltermire" fullname="David Waltermire">
      <organization></organization>
    </author>
    <author initials="S." surname="Quinn" fullname="Stephen Quinn">
      <organization></organization>
    </author>
    <author initials="H." surname="Booth" fullname="Harold Booth">
      <organization></organization>
    </author>
    <author initials="K." surname="Scarfone" fullname="Karen Scarfone">
      <organization></organization>
    </author>
    <author initials="D." surname="Prisaca" fullname="Dragos Prisaca">
      <organization></organization>
    </author>
    <date year="2018" month="February"/>
  </front>
</reference>
<reference anchor="NISTIR7694" target="https://csrc.nist.gov/publications/detail/nistir/7694/final">
  <front>
    <title>NISTIR 7694 Specification for Asset Reporting Format 1.1</title>
    <author initials="A." surname="Halbardier" fullname="Adam Halbardier">
      <organization></organization>
    </author>
    <author initials="D." surname="Waltermire" fullname="David Waltermire">
      <organization></organization>
    </author>
    <author initials="M." surname="Johnson" fullname="Mark Johnson">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="XMPPEXT" target="https://xmpp.org/extensions/">
  <front>
    <title>XMPP Extensions</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK99" target="https://www.github.com/sacmwg/vulnerability-scenario/ietf-hackathon">
  <front>
    <title>IETF 99 Hackathon - Vulnerability Scenario EPCP</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK100" target="https://www.github.com/sacmwg/vulnerability-scenario/ietf-hackathon">
  <front>
    <title>IETF 100 Hackathon - Vulnerability Scenario EPCP+XMPP</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK101" target="https://www.github.com/CISecurity/Integration">
  <front>
    <title>IETF 101 Hackathon - Configuration Assessment XMPP</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK102" target="https://www.github.com/CISecurity/YANG">
  <front>
    <title>IETF 102 Hackathon - YANG Collection on Traditional Endpoints</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK103" target="https://www.ietf.org/how/meetings/103/">
  <front>
    <title>IETF 103 Hackathon - N/A</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK104" target="https://github.com/CISecurity/SACM-Architecture">
  <front>
    <title>IETF 104 Hackathon - A simple XMPP client</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="HACK105" target="https://github.com/CISecurity/SACM-Architecture">
  <front>
    <title>IETF 105 Hackathon - A more robust XMPP client including collection extensions</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>


<section anchor="mapping-to-rfc8248" title="Mapping to RFC8248">
<t>TODO: Consider removing or placing in a separate solution draft.</t>

<t>This section provides a mapping of XMPP and XMPP Extensions to the relevant requirements from <xref target="RFC8248"/>. In the table below, the ID and Name columns provide the ID and Name of the requirement directly out of <xref target="RFC8248"/>. The Supported By column may contain one of several values:</t>

<t><list style="symbols">
  <t>N/A: The requirement is not applicable to this architectural exploration</t>
  <t>Architecture: This architecture (possibly assuming some components) should meet the requirement</t>
  <t>XMPP: The set of XMPP Core specifications and the collection of applicable extensions, deployment, and operational considerations.</t>
  <t>XMPP-Core: The requirement is satisfied by a core XMPP feature</t>
  <t>XEP-nnnn: The requirement is satisfied by a numbered XMPP extension (see <xref target="XMPPEXT"/>)</t>
  <t>Operational: The requirement is an operational concern or can be addressed by an operational deployment</t>
  <t>Implementation: The requirement is an implementation concern</t>
</list></t>

<t>If there is no entry in the Supported By column, then there is a gap that must be filled.</t>

<texttable>
      <ttcol align='left'>ID</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='center'>Supported By</ttcol>
      <c>G-001</c>
      <c>Solution Extensibility</c>
      <c>XMPP-Core</c>
      <c>G-002</c>
      <c>Interoperability</c>
      <c>XMPP</c>
      <c>G-003</c>
      <c>Scalability</c>
      <c>XMPP</c>
      <c>G-004</c>
      <c>Versatility</c>
      <c>XMPP-Core</c>
      <c>G-005</c>
      <c>Information Extensibility</c>
      <c>XMPP-Core</c>
      <c>G-006</c>
      <c>Data Protection</c>
      <c>Operational</c>
      <c>G-007</c>
      <c>Data Partitioning</c>
      <c>Operational</c>
      <c>G-008</c>
      <c>Versioning and Backward Compatibility</c>
      <c>XEP-0115/0030</c>
      <c>G-009</c>
      <c>Information Discovery</c>
      <c>XEP-0030</c>
      <c>G-010</c>
      <c>Target Endpoint Discovery</c>
      <c>XMPP-Core</c>
      <c>G-011</c>
      <c>Push and Pull Access</c>
      <c>XEP-0060/0312</c>
      <c>G-012</c>
      <c>SACM Component Interface</c>
      <c>N/A</c>
      <c>G-013</c>
      <c>Endpoint Location and Network Topology</c>
      <c>&#160;</c>
      <c>G-014</c>
      <c>Target Endpoint Identity</c>
      <c>XMPP-Core</c>
      <c>G-015</c>
      <c>Data Access Control</c>
      <c>&#160;</c>
      <c>ARCH-001</c>
      <c>Component Functions</c>
      <c>XMPP</c>
      <c>ARCH-002</c>
      <c>Scalability</c>
      <c>XMPP-Core</c>
      <c>ARCH-003</c>
      <c>Flexibility</c>
      <c>XMPP-Core</c>
      <c>ARCH-004</c>
      <c>Separation of Data and Management Functions</c>
      <c>&#160;</c>
      <c>ARCH-005</c>
      <c>Topology Flexibility</c>
      <c>XMPP-Core</c>
      <c>ARCH-006</c>
      <c>Capability Negotiation</c>
      <c>XEP-0115/0030</c>
      <c>ARCH-007</c>
      <c>Role-Based Authorization</c>
      <c>XMPP-Core</c>
      <c>ARCH-008</c>
      <c>Context-Based Authorization</c>
      <c>&#160;</c>
      <c>ARCH-009</c>
      <c>Time Synchronization</c>
      <c>Operational</c>
      <c>IM-001</c>
      <c>Extensible Attribute Vocabulary</c>
      <c>N/A</c>
      <c>IM-002</c>
      <c>Posture Data Publication</c>
      <c>N/A</c>
      <c>IM-003</c>
      <c>Data Model Negotiation</c>
      <c>N/A</c>
      <c>IM-004</c>
      <c>Data Model Identification</c>
      <c>N/A</c>
      <c>IM-005</c>
      <c>Data Lifetime Management</c>
      <c>N/A</c>
      <c>IM-006</c>
      <c>Singularity and Modularity</c>
      <c>N/A</c>
      <c>DM-001</c>
      <c>Element Association</c>
      <c>N/A</c>
      <c>DM-002</c>
      <c>Data Model Structure</c>
      <c>N/A</c>
      <c>DM-003</c>
      <c>Search Flexibility</c>
      <c>N/A</c>
      <c>DM-004</c>
      <c>Full vs. Partial Updates</c>
      <c>N/A</c>
      <c>DM-005</c>
      <c>Loose Coupling</c>
      <c>N/A</c>
      <c>DM-006</c>
      <c>Data Cardinality</c>
      <c>N/A</c>
      <c>DM-007</c>
      <c>Data Model Negotiation</c>
      <c>N/A</c>
      <c>DM-008</c>
      <c>Data Origin</c>
      <c>N/A</c>
      <c>DM-009</c>
      <c>Origination Time</c>
      <c>N/A</c>
      <c>DM-010</c>
      <c>Data Generation</c>
      <c>N/A</c>
      <c>DM-011</c>
      <c>Data Source</c>
      <c>N/A</c>
      <c>DM-012</c>
      <c>Data Updates</c>
      <c>N/A</c>
      <c>DM-013</c>
      <c>Multiple Collectors</c>
      <c>N/A</c>
      <c>DM-014</c>
      <c>Attribute Extensibility</c>
      <c>N/A</c>
      <c>DM-015</c>
      <c>Solicited vs. Unsolicited Updates</c>
      <c>N/A</c>
      <c>DM-016</c>
      <c>Transfer Agnostic</c>
      <c>N/A</c>
      <c>OP-001</c>
      <c>Time Synchronization</c>
      <c>&#160;</c>
      <c>OP-002</c>
      <c>Collection Abstraction</c>
      <c>&#160;</c>
      <c>OP-003</c>
      <c>Collection Composition</c>
      <c>&#160;</c>
      <c>OP-004</c>
      <c>Attribute-Based Query</c>
      <c>&#160;</c>
      <c>OP-005</c>
      <c>Information-Based Query with Filtering</c>
      <c>&#160;</c>
      <c>OP-006</c>
      <c>Operation Scalability</c>
      <c>&#160;</c>
      <c>OP-007</c>
      <c>Data Abstraction</c>
      <c>&#160;</c>
      <c>OP-008</c>
      <c>Provider Restriction</c>
      <c>&#160;</c>
      <c>T-001</c>
      <c>Multiple Transfer Protocol Support</c>
      <c>Architecture</c>
      <c>T-002</c>
      <c>Data Integrity</c>
      <c>Operational</c>
      <c>T-003</c>
      <c>Data Confidentiality</c>
      <c>Operational</c>
      <c>T-004</c>
      <c>Transfer Protection</c>
      <c>&#160;</c>
      <c>T-005</c>
      <c>Transfer Reliability</c>
      <c>&#160;</c>
      <c>T-006</c>
      <c>Transfer-Layer Requirements</c>
      <c>&#160;</c>
      <c>T-007</c>
      <c>Transfer Protocol Adoption</c>
      <c>Architecture</c>
</texttable>

</section>
<section anchor="example-components" title="Example Components">
<t>TODO: Consider removing.</t>

<section anchor="policy-services" title="Policy Services">
<t>Consider a policy server conforming to <xref target="RFC8322"/>. <xref target="RFC8322"/> describes a RESTful way based on the ATOM Publishing Protocol (<xref target="RFC5023"/>) to find specific data collections. While this represents a specific binding (i.e. RESTful API based on <xref target="RFC5023"/>), there is a more abstract way to look at ROLIE.</t>

<t>ROLIE provides notional workspaces and collections, and provides the concept of information categories and links. Strictly speaking, these are logical concepts independent of the RESTful binding ROLIE specifies. In other words, ROLIE binds a logical interface (i.e. GET workspace, GET collection, SET entry, and so on) to a specific mechanism (namely an ATOM Publication Protocol extension).</t>

<t>It is not inconceivable to believe there could be a different interface mechanism, or a connector, providing these same operations using XMPP-Grid as the transfer mechanism.</t>

<t>Even if a <xref target="RFC8322"/> server were external to an organization, there would be a need for a policy source inside the organization as well, and it may be preferred for such a policy source to be connected directly to the ecosystem's communication infrastructure.</t>

</section>
<section anchor="software-inventory" title="Software Inventory">
<t>The SACM working group has accepted work on the Endpoint Posture Collection Profile <xref target="I-D.ietf-sacm-ecp"/>, which describes a collection architecture and may be viewed as a collector coupled with a collection-specific repository.</t>

<figure title="EPCP Collection Architecture" anchor="fig-ecp"><artwork><![CDATA[
                                 Posture Manager              Endpoint
                Orchestrator    +---------------+        +---------------+
                +--------+      |               |        |               |
                |        |      | +-----------+ |        | +-----------+ |
                |        |<---->| | Posture   | |        | | Posture   | |
                |        | pub/ | | Validator | |        | | Collector | |
                |        | sub  | +-----------+ |        | +-----------+ |
                +--------+      |      |        |        |      |        |
                                |      |        |        |      |        |
Evaluator       Repository      |      |        |        |      |        |
+------+        +--------+      | +-----------+ |<-------| +-----------+ |
|      |        |        |      | | Posture   | | report | | Posture   | |
|      |        |        |      | | Collection| |        | | Collection| |
|      |<-----> |        |<-----| | Manager   | | query  | | Engine    | |
|      |request/|        | store| +-----------+ |------->| +-----------+ |
|      |respond |        |      |               |        |               |
|      |        |        |      |               |        |               |
+------+        +--------+      +---------------+        +---------------+

]]></artwork></figure>

<t>In <xref target="fig-ecp"/>, any of the communications between the Posture Manager and EPCP components to its left could be performed directly or indirectly using a given message transfer mechanism. For example, the pub/sub interface between the Orchestrator and the Posture Manager could be using a proprietary method or using <xref target="RFC8600"/> or some other pub/sub mechanism. Similarly, the store connection from the Posture Manager to the Repository could be performed internally to a given implementation, via a RESTful API invocation over HTTPS, or even over a pub/sub mechanism.</t>

<t>Our assertion is that the Evaluator, Repository, Orchestrator, and Posture Manager all have the potential to represent SACM Components with specific capability interfaces that can be logically specified, then bound to one or more specific transfer mechanisms (i.e. RESTful API, <xref target="RFC8322"/>, <xref target="RFC8600"/>, and so on).</t>

</section>
<section anchor="datastream-collection" title="Datastream Collection">
<t><xref target="NIST800126"/>, also known as SCAP 1.3, provides the technical specifications for a "datastream collection".  The specification describes the "datastream collection" as being "composed of SCAP data streams and SCAP source components".  A "datastream" provides an encapsulation of the SCAP source components required to, for example, perform configuration assessment on a given endpoint.  These source components include XCCDF checklists, OVAL Definitions, and CPE Dictionary information.  A single "datastream collection" may encapsulate multiple "datastreams", and reference any number of SCAP components.  Datastream collections were intended to provide an envelope enabling transfer of SCAP data more easily.</t>

<t>The <xref target="NIST800126"/> specification also defines the "SCAP result data stream" as being conformant to the Asset Reporting Format specification, defined in <xref target="NISTIR7694"/>.  The Asset Reporting Format provides an encapsulation of the SCAP source components, Asset Information, and SCAP result components, such as system characteristics and state evaluation results.</t>

<t>What <xref target="NIST800126"/>did not do is specify the interface for finding or acquiring source datastream information, nor an interface for publishing result information.  Discovering the actual resources for this information could be done via ROLIE, as described in the Policy Services section above, but other repositories of SCAP data exist as well.</t>

</section>
<section anchor="network-configuration-collection" title="Network Configuration Collection">
<t><xref target="draft-birkholz-sacm-yang-content"/> illustrates a SACM Component incorporating a YANG Push client function and an XMPP-grid publisher function. <xref target="draft-birkholz-sacm-yang-content"/> further states "the output of the YANG Push client function is encapsulated in a SACM Content Element envelope, which is again encapsulated in a SACM statement envelope" which are published, essentially, via an XMPP-Grid Connector for SACM Components also part of the XMPP-Grid.</t>

<t>This is a specific example of an existing collection mechanism being adapted to the XMPP-Grid message transfer system.</t>

</section>
</section>
<section anchor="exploring-an-xmpp-based-solution" title="Exploring An XMPP-based Solution">
<t>TODO: Consider removing or placing in a separate draft.</t>

<t>Ongoing work has been taking place around and during IETF hackathons. The list of hackathon efforts follows:</t>

<t><list style="symbols">
  <t><xref target="HACK99"/>: A partial implementation of a vulnerability assessment scenario involving an <xref target="I-D.ietf-sacm-ecp"/> implementation, a <xref target="RFC8322"/> implementation, and a proprietary evaluator to pull the pieces together.</t>
  <t><xref target="HACK100"/>: Work to combine the vulnerability assessment scenario from <xref target="HACK99"/> with an XMPP-based YANG push model.</t>
  <t><xref target="HACK101"/>: A fully automated configuration assessment implementation using XMPP (specifically Publish/Subscribe capabilities) as a communication mechanism.</t>
  <t><xref target="HACK102"/>: An exploration of how we might model assessment, collection, and evaluation abstractly, and then rely on YANG expressions for the attributes of traditional endpoints.</t>
  <t><xref target="HACK103"/>: No SACM participation at the Bangkok hackathon.</t>
  <t><xref target="HACK104"/>: Basic XMPP-to-Concise MAP - Created an XMPP adapter that can accept basic posture attributes and translate them to Concise MAP.  This hackathon only proved the concept that system characteristics information can be transported via XMPP and translated to a (very basic) concise MAP implementation.</t>
  <t><xref target="HACK105"/>: Advanced XMPP-to-Concise MAP:  Full orchestration of collection capabilities using XMPP.  Collector implementations extend the core XMPP structure to allow OVAL collection instructions (OVAL objects) to inform posture attribute collection.  Collected system characteristics can be provided to the Concise MAP XMPP adapter using all 3 available XMPP capabilities: Publish/Subscribe, Information Query (iq - request/response) stanzas, or direct Message stanzas.  CDDL was created to map collected posture attributes to Concise MAP structure.  The XMPP adapter translates the incoming system characteristics and stores the information in the MAP.</t>
</list></t>

<t><xref target="fig-xmpp"/> depicts a slightly more detailed view of the architecture (within the enterprise boundary) - one that fosters the development of a pluggable ecosystem of cooperative tools. Existing collection mechanisms can be brought into this architecture by specifying the interface of the collector and creating the XMPP-Grid Connector binding for that interface.</t>

<t>Additionally, while not directly depicted in <xref target="fig-xmpp"/>, this architecture does allow point-to-point interfaces. In fact, <xref target="RFC8600"/> provides brokering capabilities to facilitate such point-to-point data transfers). Additionally, each of the SACM Components depicted in <xref target="fig-xmpp"/> may be a provider, a consumer, or both, depending on the workflow in context.</t>

<figure title="XMPP-based Architecture" anchor="fig-xmpp"><artwork><![CDATA[
 +--------------+           +--------------+
 | Orchestrator |           | Repositories |
 +------^-------+           +------^-------+       
        |                          |
        |                          |
+-------v--------------------------v--------+     +-----------------+
|                XMPP-Grid+                 <-----> Downstream Uses |
+------------------------^------------------+     +-----------------+
                         |
                         |
                 +-------v------+   
                 |  XMPP-Grid   |   
                 | Connector(s) |
                 +------^-------+
                        |
                 +------v-------+
                 | Collector(s) |
                 +--------------+
]]></artwork></figure>

<t><xref target="RFC8600"/> details a number of XMPP extensions (XEPs) that MUST be utilized to meet the needs of <xref target="RFC7632"/> and <xref target="RFC8248"/>:</t>

<t><list style="symbols">
  <t>Service Discovery (XEP-0030): Service Discovery allows XMPP entities to discover information about other XMPP entities.  Two kinds of information can be discovered: the identity and capabilities of an entity, such as supported features, and items associated with an entity.</t>
  <t>Publish-Subscribe (XEP-0060): The PubSub extension enables entities to create nodes (topics) at a PubSub service and publish information at those nodes.  Once published, an event notification is broadcast to all entities that have subscribed to that node.</t>
</list></t>

<t>At this point, <xref target="RFC8600"/> specifies fewer features than SACM requires, and there are other XMPP extensions (XEPs) we need to consider to meet the needs of <xref target="RFC7632"/> and <xref target="RFC8248"/>. In <xref target="fig-xmpp"/> we therefore use "XMPP-Grid+" to indicate something more than <xref target="RFC8600"/> alone, even though we are not yet fully confident in the exact set of XMPP-related extensions we will require. The authors propose work to extend (or modify) <xref target="RFC8600"/> to include additional XEPs - possibly the following:</t>

<t><list style="symbols">
  <t>Entity Capabilities (XEP-0115): This extension defines the methods for broadcasting and dynamically discovering an entities' capabilities.  This information is transported via standard XMPP presence.  Example capabilities that could be discovered could include support for posture attribute collection, support for specific types of posture attribute collection such as EPCP, SWIMA, OVAL, or YANG.  Other capabilities are still to be determined.</t>
  <t>Ad Hoc Commands (XEP-0050): This extension allows an XMPP entity to advertise and execute application-specific commands.  Typically the commands contain data forms (XEP-0004) in order to structure the information exchange.  This extension may be usable for simple orchestration (i.e. "do assessment").</t>
  <t>HTTP File Upload (XEP-0363): The HTTP File Upload extension allows for large data sets to be published to a specific path on an HTTP server, and receive a URL from which that file can later be downloaded again.  XMPP messages and IQs are meant to be compact, and large data sets, such as collected posture attributes, may exceed a message size threshold.  Usage of this XEP allows those larger data sets to be persisted, thus necessitating only the download URL to be passed via XMPP messages.</t>
  <t>Personal Eventing Protocol (XEP-0163): The Personal Eventing Protocol can be thought of as a virtual PubSub service, allowing an XMPP account to publish events only to their roster instead of a generic PubSub topic.  This XEP may be useful in the cases when collection requests or queries are only intended for a subset of endpoints and not an entire subscriber set.</t>
  <t>File Repository and Sharing (XEP-0214): This extension defines a method for XMPP entities to designate a set of file available for retrieval by other users of their choosing, and is based on PubSub Collections.</t>
  <t>Easy User Onboarding (XEP-401): The goal of this extension is simplified client registration, and may be useful when adding new endpoints or SACM components to the ecosystem.</t>
  <t>Bidirectional-streams Over Synchronous HTTP (BOSH) (XEP-0124): BOSH emulates the semantics of a long-lived, bidirectional TCP connection between two entities (aka "long polling").  Consider a SACM component that is updated dynamically, i.e. an internal vulnerability definition repository ingesting data from a Feed/Repository of External Data, and a second SACM component such as an Orchestrator.  Using BOSH, the Orchestrator can effectively continuously poll the vulnerability definition repository for changes/updates.</t>
  <t>PubSub Collection Nodes (XEP-0248): Effectively an extension to XEP-0060 (Publish-Subscribe), PubSub Collections aim to simplify an entities' subscription to multiple related topics, and establishes a "node graph" relating parent nodes to its descendents.  An example "node graph" could be rooted in a "vulnerability definitions" topic, and contain descendent topics for OS family-level vulnerability definitions (i.e. Windows), and further for OS family version-level definitions (i.e. Windows 10 or Windows Server 2016).</t>
  <t>PubSub Since (XEP-0312): This extension enables a subscriber to automatically receive PubSub and Personal Eventing Protocol (PEP) notifications since its last logout time.  This extension may be useful in intermittent connection scenarios, or when entities disconnect and reconnect to the ecosystem.</t>
  <t>PubSub Chaining (XEP-0253): This extension describes the federation of publishing nodes, enabling a publish node of one server to be a subscriber to a publishing node of another server.</t>
</list></t>

<section anchor="example-architecture-using-xmpp-grid-and-endpoint-posture-collection-protocol" title="Example Architecture using XMPP-Grid and Endpoint Posture Collection Protocol">

<t><xref target="fig-xmpp-epcp"/> depicts a further detailed view of the architecture including the Endpoint Posture Collection Protocol as the collection subsystem, illustrating the idea of a pluggable ecosystem of cooperative tools.</t>

<figure title="XMPP-based Architecture including EPCP" anchor="fig-xmpp-epcp"><artwork><![CDATA[
          +--------------------+
          | Feeds/Repositories |
          |  of External Data  |
          +--------------------+
                    |
********************v************************* Enterprise Boundary ************
*                   |                                                         *
*  +--------------+ | +-------------------+ +-------------+                   *
*  | Orchestrator | | | Posture Attr Repo | | Policy Repo |                   *
*  +------^-------+ | +---------^---------+ +---^---------+                   *
*         |         |           |               |          +----------------+ *
*         |         |           |               |          | Downstream Uses| *
*         |         |           |               |          | +-----------+  | *
*  +------v---------v-----------v---------------v--+       | |Evaluations|  | *
*  |                    XMPP-Grid                  <-------> +-----------+  | *
*  +----------------^-------------------^----------+       | +-----------+  | *
*                   |                   |                  | | Analytics |  | *
*                   |                   |                  | +-----------+  | *
*                   |             +-----v--------+         | +-----------+  | *
*                   |             | Results Repo |         | | Reporting |  | *
*                   |             +--------------+         | +-----------+  | *
*                   |                                      +----------------+ *
*         +---------v-----------+                                             *
*         | XMPP-Grid Connector |                                             *
*         +---------^-----------+                                             *
*                   |                                                         *
* +-----------------v-------------------------------------------------------+ *
* |                                                                         | *
* | +--Posture Collection Manager------------------------------------------+| *
* | |+-----------------------+ +----------------+ +----------------------+ || *
* | || Communications Server | | Posture Server | | Posture Validator(s) | || *
* | |+----------^------------+ +----------------+ +----------------------+ || *
* | +-----------|----------------------------------------------------------+| *
* |             |                                                           | *
* | +-----------|-------------------------Endpoint or Endpoint Proxy-------+| *
* | |+----------v------------+ +----------------+ +----------------------+ || *
* | || Communications Client | | Posture Client | | Posture Collector(s) | || *
* | |+-----------------------+ +----------------+ +----------------------+ || *
* | +----------------------------------------------------------------------+| *
* +-----------------Endpoint Posture Collection Profile---------------------+ *
*                                                                             *
*******************************************************************************
]]></artwork></figure>

</section>
</section>


  </back>

<!-- ##markdown-source:
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
dvRAPIBSg9AhtPFt8L8BFxb1A/rXAAA=

-->

</rfc>

