<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC5209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5209.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY I-D.ietf-sacm-use-cases SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sacm-use-cases.xml">
<!ENTITY I-D.dbh-sacm-terminology SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.dbh-sacm-terminology">
<!ENTITY I-D.handt-sacm-alternate-architecture SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.handt-sacm-alternate-architecture.xml">

]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-camwinget-sacm-requirements-01" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters P-->

    <title abbrev="Abbreviated Title">Secure Automation and Continuous Monitoring (SACM) Requirements</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

    <!-- Another author who claims to be an editor -->

 
    <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>3550 Cisco Way</street>
	  <city>San Jose</city>
	  <country>US</country>
	  <code>95134</code>
	  <region>CA</region>

          <!-- Reorder-->
        </postal>

        <email>ncamwing@cisco.com</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>


    <date month="October" year="2013"/>


    <area>General</area>

    <workgroup>SACM</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>template</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This document defines the scope and set of requirements for the Secure Automation and Continuous Monitoring working group.
      The requirements and scope are based on the agreed upon use cases and architecture defined.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t> Today's challenges of evolving threats and improved analytics to address such threats highlight a need to automate the securing of both information and the systems that store, process and trasmit the information. SACM's charter focuses on addressing some of these challenges in a narrower scope by bounding the task to address use cases that pertain to the posture assessment of endpoints. </t>

      <t> This document focuses on describing the requirements for facilitating the exchange of posture assessment information, in particular, for the use cases as exemplified in <xref target="I-D.ietf-sacm-use-cases"/>.  
       </t>
    </section>

    <section anchor="terms" title="Terminology">
        <t>Currently defined in  <xref target="I-D.dbh-sacm-terminology"/>.</t>

    </section>
      
    <section anchor="reqmts" title="Requirements">
       <t> As the group continues to define an architecture and use cases, some requirements can already be formed and be used to evolve the architecture as well.
       This section describes the requirements used by the SACM WG to assess and compare candidate information models
       and protocols to suit the architecture.  These requirements express characteristics or features that a candidate
       protocol or data model must be capable of offering so as to ensure security and interoperability.</t>

       <section anchor="arch" title="Reference Architecture Model">

       <t> Until a richer architecture is agreed upon, the requiremens are predicated on the following model: </t>
        <figure title="Simple Architectural Model">
          <artwork>
          
            <![CDATA[
          
            +--------+             +-----------+              +---------------------+
            | Asset  | <....A....> | Evaluator | <....B....>  | Assessment Consumer |
            +--------+             +-----------+              +---------------------+
                             +-------|   ^                                ^
            +--------+       |           | C                              |
            | Asset  | <-----+           v                                |
            +--------+            +-------------+                         |
                                  | Repository  |                         |
                                  +-------------+                         |
                                                                          |
                              +--------------------+                      |
                              | Posture Assessment |<---------------------+
                              |     Repository     |
                              +--------------------+


                                  ]]>
          </artwork>
        </figure>
	<t> The Architectural Model shown above demonstrates: </t>
	 <t><list style="symbols">
	   <t> Asset: is the endpoint of interest that is posture validated.</t>
	   <t> Evaluator: is the service that affects the posture assessment and stores the posture result into a repository.</t>
	   <t> Repository: is the storage component bound to the Evaluator that contains the posture assessment information.</t>
     <t> Posture Assessment Repository: is another type of repository that holds posture assessment information.  While not bound to the Evaluator, it is another source of posture assessment information (e.g. a data aggregation point aggregating posture assessment with other attributes) that can provide information to serve SACM use cases.</t>
	   <t> Assessment Consumer: is the service that requires the posture assessments information of one or more assets.</t>
            </list></t>

	    <t> Using this architectural reference model, the interfaces, data models and transports used to affect the posture assessment, e.g. A in the figure above have already been defined by different mechanisms, for example, an IETF defined one through NEA.  As the focus of SACM is the information exchange to obtain the posture assessment information, it can be achieved through the interfaces shown as B.  That is, it is not clear that there is a requirement for the Assessment Consumer to tap directly into the Repository.  Similarly, it is not clear that SACM is chartered to define the interfaces and data model for how an Evaluator stores and transports the assessment results to the Repository.  Thus, the focus of the requirements will revolve around the data models, protocols and transports for B, the communication of posture assessment from an Evaluator to an Assessment Consumer.
      </t>
       </section>

       <section anchor="data-model" title="Data Model requirements">
	 <t>With the use cases spanning the need to collect, verify and update information about posture assessment, the set of high level requirements for the data model include:</t>
   <t><list hangIndent="1" style="hanging">
          <t><list hangIndent="3" style="hanging">
            <t hangText="Extensibility"> <vspace blankLines="1"/>
             Posture Assessment includes the posture attributes relating to the asset configuration but its observed status as well.  The use cases already articulate the many different means in which such configuration may be queried and will evolve over time.  With the explosion of different assets evolving and means in which the assets are used and configured, the data model must be extensible to allow for the support of these new upcoming attributes. </t>
             <t hangText="Agility"> <vspace blankLines="1"/>
             Considerations for the lightweight representation for these attributes and the tools used to consume the information will be required.  Use cases, especially in the vulnerability assessment and threat defense applications require time criticality in both obtaining the information as well as consuming (e.g. parsing). The agility requirement is to ensure that the data model and its implementations are suitable to fit in different deployment models and scenarios.
           </t>
           <t hangText="Standards representation"> <vspace blankLines="1"/>
           While it is presumed that we can leverage from standards, the data model must also adhere to Internationalization especially of display strings where applicable.
         </t>
         <t hangText="Interoperability"> <vspace blankLines="1"/>
           To ensure a globalized and interoperable standard, it is understood that a minimum set of terms and attributes are defined to address the use cases defined, the expected set of posture assessments (including the expected posture configuration) and potential state or assertions.
         </t>
    
           </list> </t>
         </list> </t>
       </section>

       <section anchor="protocol" title="Architectural Design Tenets">
	 <t> The protocol requirements must account for different network topology scenarios to ensure that the information can be (securely) routed. With the focus of enabling the communication of posture assessment information, different scenarios must also be accounted for to address the use cases.  The architectural model design tenets or requirements incude:</t>
        <t><list hangIndent="1" style="hanging">
          <t><list hangIndent="3" style="hanging">
            <t hangText="Discovery"> <vspace blankLines="1"/>
             To address the availability of posture assessment from different Evaluators that may support different interface (or data model) versions, a discovery mechanism may be introduced by which Posture assement Evaluators and Consumers can be registered with their capabilities (e.g. version support) clearly defined.</t>
            <t hangText="Many to Many"> <vspace blankLines="1"/>
             The architectural model for designing the security and transport must account for a many-to-many connections.  It is expected that an Assessment Consumer may probe, request and consume Posture assessment information from various Evaluators.  Similarly, Evaluators will be providing their Posture assessment information to many Assessment Consumers. </t>
            <t hangText="Asynchronous updates or notifications"> <vspace blankLines="1"/> Assessment Consumers such as Firewalls or Intrusion Prevention Systems will require realtime notifications especially of posture assessment updates."></t>
            <t hangText="Bulk Updates"> <vspace blankLines="1"/>
             Just as there is a need to recieve timely updates of Posture Assessment information, there are applications where Assessment Consumers will require full state information of an Evaluator's Posture Assessment repository.  As such, the repository may be very large based on both the number of assets and historical information stored by that Evaluator's Posture Assessment Repository; e.g. bulk synchronization or updates will be required."></t>
             <t hangText="Support for varied network deployments"> <vspace blankLines="1"/>
           As applications defined in the use cases may be deployed in different enterprise scenarios, an enterprise's network deployment may vary and must be taken into account. In a simple enterprise scenario, an application may be expected to sit in the same internet domain; however, in today's enterprise, the application, while still part of the enterprise, may be in a different internet domain or hosted on a private cloud.  As such, the transport must account that there data delivery may be feasible in different OSI transport layers and in some cases, may be over a limited bandwidth connection.
         </t>
            </list></t>
            </list></t>
        </section>
    </section>

      
    <section anchor="Sec-reqmts" title="Security Requirements">
        <t>This section describes security requirements as needed to address the mechanisms that facilitate secure exchange of posture assessment information.   </t>
        <t><list style="symbols">
            
            <t> Authentication: all services or entities that either provide or consume the information must be authenticated to ensure that only authorized entities can request or provide the posture assessment information.</t>
            <t> Anti-replay: if the Assessment Consumer recieves the same exact message twice (e.g. because an attacker has re-intected the message), it must be detectable and the Assessment Consumer must reject the replayed message.</t>
            <t> Confidentiality: it should not be possible for any entity other than the targetted Assessment Consumer to read the message.</t>
            </list></t>
        
    </section>
    

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors would like to thank Barbara Fraser, Jim Bieda and Adam Montville for reviewing and contributing to this draft.</t>


    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>

          </section>

    <section anchor="Security" title="Security Considerations">
	<t>Still to do.</t>
	
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->

      &RFC2119;
      &I-D.ietf-sacm-use-cases;
      &I-D.dbh-sacm-terminology;
     
    </references>
     
    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->

      &RFC5209;
     
    </references>



    <!-- Change Log

v00 2013-010-11  NCW   Initial version
     -->
  </back>
</rfc>
