One document matched: draft-hansbury-sacm-oval-info-model-mapping-01.xml


<?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 RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2865 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml">
<!ENTITY RFC3444 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3444.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-hansbury-sacm-oval-info-model-mapping-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 -->

        <title abbrev="OVAL and the SACM Information Model">OVAL and the SACM
            Information Model</title>

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

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

        <author fullname="Matthew Hansbury" initials="M.H." surname="Hansbury">
            <organization>The MITRE Corporation</organization>

            <address>
        <postal>
          <street>202 Burlington Road</street>

          <!-- Reorder these if your country does things differently -->

          <city>Bedford</city>

          <region>MA</region>

          <code>01730</code>

          <country>USA</country>
        </postal>

        <phone/>

        <email>mhansbury@mitre.org</email>

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

        <author fullname="Daniel Haynes" initials="D.H." surname="Haynes">
            <organization>The MITRE Corporation</organization>

            <address>
        <postal>
          <street>202 Burlington Road</street>

          <!-- Reorder these if your country does things differently -->

          <city>Bedford</city>

          <region>MA</region>

          <code>01730</code>

          <country>USA</country>
        </postal>

        <phone/>

        <email>dhaynes@mitre.org</email>

        <!-- uri and facsimile elements may also be added -->
      </address>
        </author>
        
        <author fullname="Juan Gonzalez" initials="J.G." surname="Gonzalez">
            <organization>Department of Homeland Security</organization>
            
            <address>
        <postal>
          <street>245 Murray Lane</street>

          <!-- Reorder these if your country does things differently -->

          <city>Washington</city>

          <region>DC</region>

          <code>20548</code>

          <country>USA</country>
        </postal>

        <phone/>

        <email>juan.gonzalez@dhs.gov</email>

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

        <date month="November" year="2015"/>

        <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

        <!-- Meta-data Declarations -->

        <area>Security</area>

        <workgroup>Security Automation and Continuous Monitoring</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>security automation</keyword>
        <keyword>continuous monitoring</keyword>
        <keyword>endpoint</keyword>
        <keyword>posture assessment</keyword>
        <keyword>oval</keyword>
        <keyword>lessons learned</keyword>
        <keyword>gaps</keyword>
        <keyword>configuration management</keyword>
        <keyword>vulnerability management</keyword>
        <keyword>information model</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>The OVAL community has spent more than ten years developing and
                employing the OVAL Language. During this time, the community has
                made a number of design decisions and learned a number of
                lessons that should be leveraged as next generation endpoint
                posture assessment is formulated. There are a number of places
                throughout the SACM Information Model document that could be
                fulfilled by portions of the OVAL Language, either in its
                current state or, in some cases, with modifications. Another
                output of the work executed under the OVAL project is a number
                of lessons that are applicable to the SACM work. These lessons
                include a clear separation of data collection and evaluation; a
                call to focus on ensuring both primary source vendors and third
                party security experts feel invited to the discussion and are
                empowered to leverage their unique domain knowledge; and to
                strive for simplicity and flexibility, where possible. Finally,
                the OVAL community has a set of clear recommendations with
                respect to which parts of OVAL should be used by SACM as a means
                to make best use of the efforts of those that have worked on and
                supported OVAL over the past ten years. Those recommendations
                are: <list style="symbols">
                    <t>Use the OVAL System Characteristics Model as a base data
                        model for at least one way to provide data
                        collection.</t>
                    <t>Use the OVAL Definitions Model in parts as a base data
                        model for both evaluation and collection guidance.</t>
                    <t>Do not use the OVAL Results Model for a data model to
                        encode evaluation results.</t>
                </list>
            </t>
        </abstract>
    </front>

    <middle>
        <section title="Introduction">
            <t>The Security Automation and Continuous Monitoring (SACM) IETF
                Working Group <xref target="SACM"/> has been chartered with standardizing the
                mechanisms by which endpoint security assessment is performed.
                This includes software inventory, compliance and vulnerability
                management, and other related activities. The Working Group has
                created a series of artifacts <xref target="SACM-DOCUMENTS"/> to capture the
                important concepts required to accomplish this goal. In addition
                to Use Cases, Requirements, and Architecture documents, the
                Working Group has created an initial draft of an Information
                Model that describes the high-level components and concepts that
                fulfill the already defined requirements.</t>
            <t>This white paper discusses how the Open Vulnerability and
                Assessment Language (OVAL) <xref target="OVAL-WEBSITE"/> can be leveraged in
                order to implement the Information Model defined by the SACM
                group. This paper is not meant to suggest that the entire OVAL
                Data Model could-or even should-be supported by SACM; rather, it
                breaks apart the various components of the OVAL Language and
                discusses how each could be used to satisfy parts of the
                Information Model.</t>
            <t>This document assumes that the reader is already familiar with
                OVAL and its structures. For those readers that require more
                in-depth information about OVAL, please review the OVAL Tutorial
                documentation <xref target="OVAL-DEFINITION-TUTORIAL"/> and other related
                documentation on the OVAL website. This document describes how
                these structures can be thought of as data models whose scopes
                and activities overlap with the SACM Information Model.</t>
            <t>Additionally, in later sections, the paper presents lessons
                learned from the ten plus years of OVAL development and
                curation, as well as related gaps.</t>

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

        <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

        <?rfc needLines="8" ?>

        <section title="SACM Information Model" anchor="sacm-information-model">
            <t>The information model defined by the SACM Working Group captures
                the types of objects and data required to fulfill the defined
                SACM Requirements <xref target="I-D.ietf-sacm-requirements"/>. It additionally
                provides details on the flow of data to and from the different
                objects in the system, in conjunction with the SACM Architecture
                document <xref target="I-D.ietf-sacm-architecture"/>. The document describes
                all of these things in a protocol and data format neutral
                manner.</t>
            <t>The document provides descriptions of the various components that
                are required to perform endpoint assessments, along with some
                usage scenarios, and the potential mapping from OVAL to any of
                these defined components wherever OVAL may be relevant.</t>
        </section>

        <section title="OVAL Language" anchor="oval-language">
            <t>The OVAL Language is made up of several parts, each responsible
                for encapsulating a part of the assessment model. Each part is
                discussed briefly below <xref target="STRUCTURE-OF-OVAL"/>.</t>
            <t>Note: A word about Core vs. Platform Extensions. OVAL can be
                broadly split into Core structures, which are those that are
                foundational and give the overall structure to the OVAL
                Language, and the Platform Extensions, which are
                platform-specific structures that extend the Core in order to
                provide ways to encode the underlying low-level,
                platform-specific tests used by OVAL Content. This paper is
                chiefly focused on mapping the Core into the SACM Information
                Model.</t>
            <t>In a similar fashion, while thinking about how to implement the
                SACM Information Model, two distinct levels must be considered:
                    <list style="numbers">
                    <t>Platform-agnostic, high level concepts</t>
                    <t>Platform-specific concepts</t>
                </list>
            </t>
            <section title="Core OVAL Data Models"
                anchor="core-oval-data-models">
                <t>There are a number of models defined as part of OVAL. This
                    section discusses the three most important models.</t>
                <section title="OVAL Definitions Model"
                    anchor="oval-definitions-model">
                    <t>The Definitions Model is the central component of the
                        OVAL Language. The structures in this model allow an
                        author to encode what data to collect, the expected
                        values for the data, and the rules by which to evaluate
                        that data. This represents one of the chief limitations
                        of the OVAL Language: Since an author must include both
                        what data must be collected, and how that data is to be
                        assessed in an OVAL Definition, these two related-but
                        separate-elements are directly coupled to one another.
                        For more information, see the related "Collection and
                        Evaluation Must Be De-coupled" section below.</t>
                    <t>It is in the OVAL Definitions Model that the Definition
                        object is defined. A Definition is the root element for
                        any OVAL check. It contains a set of criteria, either
                        simple or complex, to define how the check should
                        operate. In addition, the OVAL Definitions Model defines
                        the base structures that are used by the Platform
                        Extensions to extend OVAL, as well as Functions, and
                        other high-level concepts.</t>
                </section>
                <section title="OVAL System Characteristics Model"
                    anchor="oval-system-characteristics-model">
                    <t>The OVAL System Characteristics Model defines structures
                        to encode the actual data that is collected. It provides
                        basic structures for capturing this data, including the
                        Item, which is the base structure for recording
                        collected data in OVAL. It also provides structures for
                        capturing information about the endpoint from which the
                        data was collected, including OS information, endpoint
                        identification information (such as IP and MAC
                        addresses), and other relevant endpoint metadata.</t>
                </section>
                <section title="OVAL Results Model" anchor="oval-results-model">
                    <t>Finally, OVAL provides a third model to encode the
                        results of the assessment: the OVAL Results Model. In
                        addition to providing structures to capture essential
                        information about the evaluation results, such as the
                        overall results of each assessment and when the
                        assessment occurred, the model also provides ways to
                        include both the guidance (Definitions) and collected
                        data (System Characteristics) used for the assessments.
                        This model provides a comprehensive way to capture not
                        only the results themselves, but also the information
                        used to determine the result.</t>
                </section>
            </section>
            <section title="Additional Core OVAL Data Models"
                anchor="additional-core-oval-data-models">
                <t>Additional data models are defined that support specific
                    capabilities and are sometimes useful in conjunction with
                    the OVAL models previously discussed. The models discussed
                    in this section are not intended to stand alone, and require
                    the use of one or more of the core OVAL models.</t>
                <section title="OVAL Common Model" anchor="oval-common-model">
                    <t>The Common Model is a very simple collection of global
                        building blocks, such as enumerations used throughout
                        the other models, along with some other foundational
                        pieces. Common values are defined in this model once and
                        then applied within other OVAL models, thus reducing
                        redundancy between each OVAL data model. Examples of the
                        elements provided by the OVAL Common Model are
                        enumerations that provide useful value sets for use
                        within OVAL, such as family types ("windows", "unix",
                        etc.), data types (e.g., "string," "boolean," "int,"
                        etc.), and class types (e.g., "vulnerability,"
                        "compliance," etc.).</t>
                </section>
                <section title="OVAL Variables Model"
                    anchor="oval-variables-model">
                    <t>The OVAL Variables Model provides a simple framework for
                        externally specifying variable values to an OVAL
                        Definitions document at runtime.</t>
                </section>
                <section title="OVAL Directives Model"
                    anchor="oval-directives-model">
                    <t>The OVAL Directives Model provides a very simple model
                        with structures to indicate the level of detail that
                        should be present in an OVAL Results document.</t>
                </section>
            </section>
        </section>

        <section title="Relating the OVAL Models to the SACM Information Model"
            anchor="relating-the-oval-models-to-the-sacm-information-model">
            <t>The following section discusses each piece of the SACM
                Information Model, where one or more OVAL models can be used to
                implement the piece, wholly or in part.</t>
            <section title="Attribute Collector" anchor="attribute-collector">
                <t>The SACM Information Model defines both Internal and External
                    Attribute Collectors. Both are components that perform the
                    collection of posture information about an endpoint. The
                    Information Model lists a number of examples of Collectors
                    such as Network Intrusion Detection Systems (NIDS), NEA
                    posture collectors, and vulnerability scanners. While OVAL
                    is not directly applicable for some types of Attribute
                    Collectors such as NIDS, it is certainly applicable for
                    items such as configuration or vulnerability scanners.</t>
                <t>An Attribute Collector needs to be instructed as to what
                    specific posture attributes must be collected, when or how
                    often those attributes must be collected, and how to share
                    the collected attributes. In some cases, an Attribute
                    Collector may simply collect data and directly respond to
                    the caller with the required results. In others, it may need
                    to execute the data collection at a future time or at some
                    interval, and thus will need to know how to share the
                    collected data. The OVAL Language does not provide any
                    mechanism for instructing tools where to send collected
                    data, but the OVAL Definitions Model can (among other
                    things) encode what data must be collected; however, it does
                    not allow (as currently constructed) for providing any
                    notion of what constitutes valid data collection (i.e., how
                    recent data must be to be considered acceptable, and how and
                    where it was collected).</t>
                <t>Additionally, the OVAL Definitions Model could be modified to
                    support monitoring of events. As it is today, OVAL doesn't
                    have any explicit way to include this instruction, but it
                    would be simple to modify the model to include this
                    notion.</t>
                <t>The OVAL System Characteristics Model allows the encoding of
                    collected information and can be used to implement a data
                    format for sharing collected data. While OVAL does not
                    require that tools store data using a standardized format
                    (though they are free to do so), a standardized format is
                    required to allow tools to share data. The OVAL System
                    Characteristics Model provides a standardized way to encode
                    this information.</t>
            </section>
            <section title="Evaluator" anchor="evaluator">
                <t>An Evaluator is the component that analyzes inputs such as
                    Posture Attributes and Evaluation Guidance to determine the
                    result of a particular assessment. It is the piece that
                    answers a question about the security posture of one more
                    endpoints. The Evaluator must be able to ingest inputs of
                    various types, understand the question or questions asked of
                    it, and analyze the inputs to make a determination.</t>
                <t>In this case, OVAL could be used to provide several of the
                    required inputs to an Evaluator. The format defined in the
                    OVAL Definitions Model could be used to express Evaluation
                    Guidance. Note that when mapping the OVAL Definitions Data
                    Model to the SACM Information Model, it is important to
                    distinguish between Collection and Evaluation within the
                    OVAL Definitions Model. The OVAL Definitions Model
                    structures currently combine both the Collection ("what to
                    collect") and Evaluation ("what the data should look like").
                    One of the key concepts within the SACM Information Model is
                    that Collection and Evaluation should be separate concepts.
                    Nonetheless, OVAL contains building blocks that could be
                    modified to satisfy this need.</t>
                <t>Additionally, the structures defined in the OVAL System
                    Characteristics Model could be used to encode the Posture
                    Attributes input to the Evaluator. Finally, when the
                    Evaluator makes its determination and must encode the result
                    of the assessment, the OVAL Results Model structures could
                    be used as well.</t>
            </section>
            <section title="Endpoint Attribute Assertion"
                anchor="endpoint-attribute-assertion">
                <t>According to the SACM Information Model, an Endpoint
                    Attribute Assertion is a way to indicate that a specified
                    set of posture attributes or events were present on an
                    endpoint during a specific interval of time. For example, an
                    Assertion could be made that a particular Windows server had
                    the following attributes from 1/1/2015 - 1/8/2015: <list
                        style="symbols">
                        <t>os = Windows 7</t>
                        <t>mac-address = 01:24:42:58:34:2b</t>
                    </list>
                </t>
                <t>OVAL does not have a direct corollary to this construct;
                    however, the structures defined by the OVAL System
                    Characteristics Model could provide a base from which such a
                    construct could be built. The System Characteristics Data
                    Model is designed to capture posture attributes, and as
                    such, could be extended or modified to include the concept
                    of a time interval.</t>
                <t>Additionally, it is important to note that the SACM
                    Information Model also states that Events can be included
                    within an Endpoint Attribute Assertion. While "event" and
                    "attribute" are often used interchangeably, in the SACM
                    Information Model, these two concepts are considered
                    distinct. The distinction is that an "event" is something
                    that has a value that does not change until something causes
                    a change, whereas an "attribute" is something that occurs at
                    a moment in time. The Endpoint Attribute Assertion deals
                    with both posture attributes and events during a time
                    interval. No special treatment is given to Events within
                    OVAL as it is currently constructed, although, as stated
                    previously, adding a time interval to support Events is
                    simple to do.</t>
            </section>
            <section title="Evaluation Result" anchor="evaluation-result">
                <t>An Evaluation Result is the representation of the analysis of
                    a given set of Posture Attributes against Evaluation
                    Guidance. The OVAL Results Model structures can be used to
                    encode one or more Evaluation Results.</t>
            </section>
            <section title="Collection Guidance" anchor="collection-guidance">
                <t>Within the SACM Information Model, Collection Guidance is
                    defined as information that describes which Posture
                    Attributes must be collected from one or more endpoints. It
                    is the means by which an Attribute Collector determines what
                    information it must collect, as well as when that
                    information must be collected (including intervals for
                    repeated collection activities).</t>
                <t>The OVAL Definitions Model provides structures capable of
                    expressing information about what data must be collected for
                    an assessment. It is important to note that the method by
                    which the OVAL Definitions Model accomplishes this will not
                    necessarily directly apply to the SACM Information Model in
                    its current state. In many cases, which specific posture
                    attributes should be collected is not distinct from its
                    evaluation guidance. For the OVAL Definitions Model to be
                    used to implement the SACM Information Model, work would
                    need to be undertaken to de-couple these concepts.</t>
                <t>While the model provides the ability to encode details such
                    as what data must be collected from the endpoint, it does
                    not currently provide the ability to include information
                    such as collection interval. The model can be extended,
                    however, to add this capability. Adding the concept of an
                    "interval" to the model to capture the concept may be a way
                    to accomplish this goal.</t>
                <t>Important Note: One of the key drawbacks to OVAL is that
                    Platform Extensions (using the OVAL Definitions Model as a
                    base) must be created for each platform and data source to
                    capture any Posture Attributes that must be collected for a
                    given platform and data source. As a result, it is not easy
                    or scalable to create or update extensions for rapidly
                    changing platforms and products in a timely manner.</t>
                <t>With this in mind, it is important that any use of the OVAL
                    Definitions Model to satisfy Collection Guidance for SACM
                    should warrant consideration of updates that change this
                    from a solution where the low-level platform details are
                    part of the language itself, to one where the format
                    provides a way for domain experts (ideally primary source
                    vendors) to instruct tools what Posture Attributes to
                    collect.</t>
                <t>This also applies to the next section (Evaluation
                    Guidance).</t>
            </section>
            <section title="Evaluation Guidance" anchor="evaluation-guidance">
                <t>The Evaluation Guidance component contains the information
                    that directs an Evaluator how to perform one or more
                    assessments based on collected data. Evaluation Guidance
                    must direct the Evaluator on what the expected state of
                    collected data should be. Additionally, it must be able to
                    specify desired characteristics of the data. That is, it
                    must be able to not only cite the specific posture
                    attributes under evaluation, but also to specify
                    characteristics such as the type of tool that was used to
                    collect the data, how old the data is, etc.</t>
                <t>The Evaluator must then ingest this guidance, locate the
                    required data-whether locally or remotely available-and then
                    execute the analysis required.</t>
                <t>OVAL offers the OVAL Definitions Model to provide the
                    structures for encoding the expected state or values for the
                    collected data. The OVAL Language does not currently provide
                    a way to specify the expected characteristics of the data,
                    but the OVAL Definitions Model could be augmented to include
                    this type of information. Alternatively, the concept could
                    be added elsewhere and re-used as appropriate. Allowing for
                    characteristics information will be important to allow
                    evaluation to do things like only query data if it's been
                    collected within the past x days or only query data that is
                    collected by a credentialed scan.</t>
                <t>Again, as Collection and Evaluation are intertwined currently
                    in OVAL Language, some work will be required to de-couple
                    them for use with the Evaluation Guidance component.</t>
            </section>
            <section title="Report Generator" anchor="report-generator">
                <t>Within the SACM Information Model, a Report Generator is a
                    component that constructs a collection of artifacts such as
                    Endpoint Attribute Assertions, Evaluation Results, etc. The
                    reports that are generated by this component can be used to
                    either report on a collection of assessments, or to provide
                    a summary of previously run assessments or queries.</t>
                <t>The structures defined in the OVAL Results Model could be
                    used by the Report Generator as a means to encode the
                    required report information. The OVAL Results structures can
                    be used to encode Evaluation Results, although it would need
                    to be extended to include Endpoint Attribute Assertions; as
                    such, a construct does not exist within OVAL today.</t>
            </section>
            <section title="Report" anchor="report">
                <t>A Report is the tangible output from the Report Generator. It
                    contains formatted information that satisfies one or more
                    assessments or queries. A data format that implements the
                    Report component must be able to support Evaluation Results,
                    Endpoint Attribute Assertions, Events, and other related
                    reporting data.</t>
                <t>As mentioned in the Report Generator section, the OVAL
                    Results Model structures can be used to encode some of these
                    details today, and can be extended to handle Events and
                    Endpoint Attribute Assertions. It is important to note that
                    while OVAL provides this capability, historically, the OVAL
                    Results Model structures have been considered by many to be
                    too verbose to be used in a large scale enterprise
                    environment. These structures could be revised to allow more
                    granular and flexible ways to encode this information in
                    order to satisfy the needs of SACM, or a different data
                    model could be used to implement this capability.</t>
            </section>
            <section title="Provenance" anchor="provenance">
                <t>Within the SACM Information Model, Provenance is defined as a
                    metadata item that contains information such as the time
                    when an artifact is produced, what produced it, the policies
                    that govern it, and the method used to produce it.</t>
                <t>Within the OVAL Common Model, a Generator structure is
                    defined to express both what created the content, and when
                    it was created. While the purpose of this structure does not
                    meet all the needs for Provenance in SACM, it could be used
                    as a building block to achieve this goal. This structure
                    would need to be extended to include the policy information
                    and the method used to produce a given artifact, but the
                    base structure is in place.</t>
            </section>
        </section>
        <section title="SACM Constructs with No OVAL Mapping"
            anchor="sacm-constructs-with-no-oval-mapping">
            <t>Finally, while there are many similarities between what is
                defined by the SACM Information Model and that supported by OVAL
                models, there are some things discussed in the SACM Information
                Model document that are either different from-or not supported
                within-OVAL.</t>
            <section title="Tasking" anchor="tasking">
                <t>The SACM Information Model discusses Tasks in a few places,
                    including the Collector, Evaluator, and Reporting sections.
                    Tasks represent of notion of "do something at this time."
                    OVAL does not support any notion of a tasking model as
                    currently defined.</t>
                <t>While the OVAL Definitions Model (or some derivative) could
                    be referenced by a model that captures tasking, it may be
                    difficult to support all of the needs of tasking in this
                    way. Tasking may already be well defined by another,
                    existing model, and if so, it might be best to leverage that
                    existing work.</t>
            </section>
            <section title="Event-driven Actions" anchor="event-driven-actions">
                <t>Within the SACM Information Model, in addition to posture
                    attributes, events are also often part of the data
                    collection activities. Events are discussed as both part of
                    an Endpoint Attribute Assertion, and an Endpoint Attribute
                    Collector. In each case, it is clear that, in addition to
                    the collection of posture attribute data, event data must
                    also be taken into account.</t>
                <t>The OVAL Language does not have any notion of capturing
                    events directly. It is constructed to allow the
                    representation of Posture Attribute data within the OVAL
                    System Characteristics Model, but event data is absent from
                    that model. OVAL can be modified to support Events in large
                    part by simply extending it to include a time interval.</t>
            </section>
            <section title="User and Authorization"
                anchor="user-and-authorization">
                <t>The Information Model talks about Users (i.e., one or more
                    end users or roles) and Authorizations (i.e., their
                    authority to undertake actions). While OVAL includes some
                    entities that may relate to these types of concepts, they
                    appear in very specific low-level tests like Windows and
                    UNIX user-related tests. OVAL lacks any general concept of
                    Users or Authorizations that could be applied across its
                    core data structures. The recommendation is to integrate an
                    external solution into relevant OVAL models to achieve
                    required capabilities in this area.</t>
            </section>
            <section title="Location" anchor="location">
                <t>Similar to Users and Authorization, Locations are defined in
                    the Information Model. Locations include authentication
                    points, wall-jacks to which an endpoint is connected,
                    geographical location, etc.</t>
                <t>Again, as for Users and Authorization, the recommendation is
                    for the relevant OVAL models to be integrated with other
                    solutions to meet these requirements.</t>
            </section>
        </section>
        <section title="Lessons Learned and Gaps"
            anchor="lessons-learned-and-gaps">
            <t>Over the course of ten-plus years in moderating the OVAL project,
                those involved in the project have released over 15 distinct
                versions of the Language, 25 versions of the OVAL Interpreter,
                and have processed over 25,000 OVAL Definitions in the OVAL
                Repository. In addition, the team has spent a lot of time
                interacting with security tool vendors, researchers, primary
                source vendors, and commercial and government end users,
                discussing their needs and struggles. As such, the following
                lessons learned are presented to help ensure that the collective
                experience of the group is shared with the larger community.</t>
            <t>In addition to a description of the lesson, each also has a
                suggested application for the SACM work.</t>
            <section title="Simplicity is Key" anchor="simplicity-is-key">
                <section title="Lesson" anchor="simplicity-is-key-lesson">
                    <t>Endpoint assessment covers a broad set of activities.
                        From organization to organization, assessment has
                        different meanings, and what is "good enough" for one
                        group, barely scratches the surface for another.
                        Experience suggested that caution must be used to avoid
                        unnecessary complexity as a means to address this
                        diversity.</t>
                    <t>The team has seen that when information sharing is
                        required across diverse parties, the simpler the
                        exchange mechanism design, the more successful the
                        sharing effort will be.</t>
                </section>
                <section title="SACM Implications"
                    anchor="simplicity-is-key-sacm-implications">
                    <t>Review both the diversity of the different organizations
                        that are sharing information within the SACM framework,
                        and the types and volume of information that must be
                        shared. Include only the information that is required to
                        successfully implement the desired Use Cases.</t>
                </section>
            </section>
            <section title="Collection and Evaluation Must Be De-coupled"
                anchor="collection-and-evaluation-must-be-de-coupled">
                <section title="Lesson"
                    anchor="collection-and-evaluation-must-be-de-coupled-lesson">
                    <t>As OVAL - and the security automation space in general -
                        has evolved, it has become clear that the close coupling
                        found in OVAL between the OVAL Object and OVAL State
                        (i.e., what to collect and what the collected data
                        should look like) is an undesirable feature. By forcing
                        these two concepts into a single model, the Language
                        does not easily allow for dynamic querying of previously
                        collected data, nor does it easily allow for
                        efficiencies in data collection.</t>
                </section>
                <section title="SACM Implications"
                    anchor="collection-and-evaluation-must-be-de-coupled-sacm-implications">
                    <t>Keep the mechanism by which data is collected and
                        evaluated separate.</t>
                </section>
            </section>
            <section title="Keep Separate Core and Extensions"
                anchor="keep-separate-core-and-extensions">
                <section title="Lesson"
                    anchor="keep-separate-core-and-extensions-lesson">
                    <t>OVAL, by design, must be frequently updated to keep up
                        with new and expanding sets of assessment platforms.
                        However, tool vendors incurred great cost in updating to
                        new versions of the Language, including implementing new
                        tests in the updated version, as well as general quality
                        testing, updating release and deployment, etc.</t>
                    <t>As the project matured, so too did the Core Models that
                        define the building blocks for endpoint assessment. Over
                        the past few years, the Core Models rarely changed-in
                        some cases, going years without any required update. The
                        Platform Extension Models, however, will always require
                        a frequent revision cycle, and often were out of date
                        very quickly. Despite the fact that these two models had
                        distinct release cycle requirements-one continually
                        getting longer in the Core Models, and one requiring
                        agility in the Platform Extensions-a full release of
                        both was required to include changes to any part of the
                        OVAL Language.</t>
                </section>
                <section title="SACM Implications"
                    anchor="keep-separate-core-and-extensions-sacm-implications">
                    <t>SACM should focus on providing the foundational building
                        blocks that allow those that know best to express what
                        data must be collected to assess an endpoint. The SNMP
                        standard <xref target="RFC1157"/> could be used as a model for this
                        type of separation. SNMP defines the building blocks for
                        sharing information about network devices, but defers
                        the low-level details of this information sharing to
                        those that best understand the products via Management
                        Information Bases (MIBs). While this is not a perfectly
                        analogous model for the SACM work, this clean separation
                        of core building blocks and protocols from the low-level
                        details of products should be emulated, if possible.</t>
                </section>
            </section>
            <section title="Empower Subject Matter Experts"
                anchor="empower-subject-matter-experts">
                <section title="Lesson"
                    anchor="empower-subject-matter-experts-lesson">
                    <t>As the security automation field has matured, more
                        primary source vendors and other subject matter experts
                        have taken increased responsibility in ownership of how
                        their products are assessed. This step in maturity is
                        critical and, within OVAL, as these vendors have become
                        more involved, the quality in tests available to tools
                        and end users has greatly increased.</t>
                </section>
                <section title="SACM Implications"
                    anchor="empower-subject-matter-experts-sacm-implications">
                    <t>Ensure that usage of SACM means that those that best
                        understand the component being assessed are empowered to
                        instruct what data must be collected for the assessment,
                        along with the meaning of this data. As much as
                        possible, keep the mechanism by which this information
                        is conveyed as simple as possible to ensure that it is
                        as easy as possible for subject matter experts to
                        participate.</t>
                </section>
            </section>
            <section title="Carrots Work Better than Sticks"
                anchor="carrots-work-better-than-sticks">
                <section title="Lesson"
                    anchor="carrots-work-better-than-sticks-lesson">
                    <t>As much as possible, ensure that usage and compliance
                        with the defined standards is encouraged by offering
                        primary source vendors and subject matter experts
                        incentive to do so. Forced compliance typically
                        encourages organizations to do the least possible, and
                        does not entice them to continually stay engaged.</t>
                </section>
                <section title="SACM Implications"
                    anchor="carrots-work-better-than-sticks-sacm-implications">
                    <t>Find ways to encourage participation that drives long
                        term engagement and willing participation. Engage with
                        vendors to understand their problems and, where
                        possible, construct SACM use cases and requirements that
                        not only address the needs of the SACM end users, but
                        also those of the vendors. Build a compelling story for
                        use of SACM that not only shows value to end users, but
                        shows a clear return on investment for vendors.</t>
                </section>
            </section>
            <section title="Use Caution Defining Data Collection"
                anchor="use-caution-defining-data-collection">
                <section title="Lesson"
                    anchor="use-caution-defining-data-collection-lesson">
                    <t>When providing information about what data must be
                        collected as part of an assessment, it can be quite easy
                        to provide this information in a way that dictates how
                        to collect the required data. Doing so can limit
                        innovation and architectural choices for organizations
                        implementing security automation tools.</t>
                    <t>On the other hand, it is not always feasible to express
                        what data must be collected without implying or
                        instructing specific data collection mechanisms. Over
                        the years, there have been a few cases where the OVAL
                        community could not agree on significant issues related
                        to data collection. Discussions on whether to allow open
                        scripting in the Language and how best to support both
                        third party and primary source contributions were very
                        challenging. With good arguments on both sides of these
                        issues, it was difficult to achieve consensus.</t>
                </section>
                <section title="SACM Implications"
                    anchor="use-caution-defining-data-collection-sacm-implications">
                    <t>This will be one of the bigger challenges for SACM to
                        navigate. SACM must allow those that best understand
                        platforms and products to instruct what data must be
                        collected for assessment. At the same time, third party
                        support will be critical in some cases as well, and
                        allowances must be made for this.</t>
                    <t>Additionally, deciding how many, if any, collection
                        methods are allowed as part of the collection
                        instructions will be challenging. Again, a balance
                        should be struck to best allow clarity in data
                        collection instructions, without limiting innovation and
                        product-specific decisions.</t>
                </section>
            </section>
            <section title="Perspective Matters" anchor="perspective-matters">
                <section title="Lesson" anchor="perspective-matters-lesson">
                    <t>When evaluating collected posture attributes, it is
                        important to be able to include additional context to
                        this evaluation in some cases. For example, the method
                        by which data was collected could be an important piece
                        of information when performing evaluation. If the
                        scanner was a remote, unauthorized scanner of an
                        endpoint, it is entirely possible that the scanner could
                        not properly scan for a number of posture attributes.
                        If, however, the scanner ran locally on the endpoint as
                        an administrative user, it is much more likely that it
                        accurately collected posture attributes from the
                        endpoint.</t>
                    <t>Other examples of this type of perspective and context
                        include how old the collected data is, and whether the
                        scanner was active or passive.</t>
                </section>
                <section title="SACM Implications"
                    anchor="perspective-matters-sacm-implications">
                    <t>Ensure information that provides necessary context can be
                        provided as part of data collection, thereby allowing
                        context-based decisions to be made.</t>
                </section>
            </section>
            <section title="Flexible Reporting Fidelity is Important"
                anchor="flexible-reporting-fidelity-is-important">
                <section title="Lesson"
                    anchor="flexible-reporting-fidelity-is-important-lesson">
                    <t>After data collection and evaluation is complete, the
                        results of the evaluation must be shared, often with
                        multiple parties, and in multiple ways. It is important
                        to provide a reasonable amount of flexibility with
                        respect to what levels of fidelity are allowed with
                        results. While OVAL did try to achieve a reasonable
                        amount of flexibility with reporting fidelity,
                        challenges still exist.</t>
                </section>
                <section title="SACM Implications"
                    anchor="flexible-reporting-fidelity-is-important-sacm-implications">
                    <t>As much as possible, allow the end users of the reporting
                        capability to determine exactly what level of fidelity
                        they need to achieve their goals.</t>
                </section>
            </section>
            <section title="Evaluation Guidance is Platform-Specific"
                anchor="evaluation-guidance-is-platform-specific">
                <section title="Lesson"
                    anchor="evaluation-guidance-is-platform-specific-lesson">
                    <t>In the early days of OVAL, initial adoption of the effort
                        was spearheaded by third party security vendors, as
                        opposed to the primary source vendors for software. As
                        the effort matured, more primary source vendors became
                        involved and adopted OVAL in some way. It quickly became
                        evident that, while third party vendors made great
                        strides in determining how to evaluate the security
                        posture of many platforms and products, understanding
                        the best way to evaluate is hard, and very
                        platform-specific. Additionally, OVAL content is costly
                        to create, even for seasoned content authors, due to the
                        need to understand these very low-level product and
                        platform complexities.</t>
                </section>
                <section title="SACM Implications"
                    anchor="evaluation-guidance-is-platform-specific-sacm-implications">
                    <t>As cited above, the primary source vendors are best
                        suited to provide evaluation guidance. It is very
                        challenging for third party organizations to truly
                        understand platform-specific evaluation. Empower primary
                        source vendors and other subject matter experts by
                        providing simple and effective ways to provide this
                        information. Also, as discussions on complex topics
                        arise, engage these primary source vendors to understand
                        their valuable views.</t>
                </section>
            </section>
        </section>
        <section title="Recommendations" anchor="recommendations">
            <t>In order to successfully standardize the mechanisms by which
                endpoint posture assessment is performed, the following
                recommendations are offered to SACM for consideration.</t>
            <section
                title="Use the OVAL System Characteristics Model for Encoding Collection Data"
                anchor="use-the-oval-system-characteristics-model-for-encoding-collection-data">
                <t>The OVAL System Characteristics Model is used within the OVAL
                    Language in order to encode the underlying data collected as
                    part of endpoint posture assessment. Each of the posture
                    attributes collected by an OVAL-enabled tool can be
                    represented using the OVAL System Characteristics Model. As
                    such, this model should be used as the basis for
                    implementing at least one of the formats used to encode
                    collected posture attributes within SACM.</t>
                <t>Within the OVAL System Characteristics Model, information
                    such as metadata about the document (who/what created the
                    document, creation timestamp, etc.), endpoint identification
                    information (OS name, host name, and other asset-related
                    information), and the foundational constructs to allow the
                    encoding of posture attributes can be found. It is
                    understood that modifications to the model will be required
                    in order for it to fully implement all of the requirements
                    for SACM. However, the use of this well-supported,
                    standardized mechanism for encoding collected data is
                    recommended as SACM begins moving from Information Model
                    into Data Models and actual implementations.</t>
                <t>The expectation is that SACM will need to make use of
                    multiple types of standardized formats to encompass a
                    complete solution for endpoint posture assessment. As such,
                    the OVAL System Characteristics Model is likely to be used
                    as one of multiple possible formats for encoding collected
                    data.</t>
            </section>
            <section
                title="Use the OVAL Definitions Model for Collection and Evaluation Guidance"
                anchor="use-the-oval-definitions-model-for-collection-and-evaluation-guidance">
                <t>Similar to the OVAL System Characteristics Model, the OVAL
                    Definitions Model also has aspects that could be very useful
                    in jump starting the development of a model to capture
                    Collection Guidance. Collection Guidance is the mechanism by
                    which a content author can dictate what rules should be used
                    for collecting data from an endpoint. While the OVAL
                    Definitions Model, as it is today, is used for guidance of
                    both Collection and Evaluation, it is well suited to serve
                    as the base for Collection Guidance.</t>
                <t>This model provides several key features that should be used
                    as building blocks for this capability. For instance, within
                    the OVAL Definitions Model, there is a series of structures
                    that can serve as the base for instructing tools as to what
                    data must be collected, including abstract structures for
                    identifying required posture attributes, Variables, and
                    Functions (which allow several types of data manipulation
                    during collection). The model also supports a number of
                    different data types, such as strings, Booleans, integers,
                    records, and others.</t>
                <t>While the recommendation is to make use of many of the
                    structures found within the OVAL Definitions Model, it is
                    equally important to note that the current approach for
                    extending OVAL into various platforms is flawed, and should
                    be fixed. Specifically, for every new check that is to be
                    added to the Language, a new concrete test must be created.
                    OVAL provides an abstract Test structure that must be
                    extended to create checks (e.g., "registry_test,"
                    "file_test," "ldap_test," etc.). For SACM, it is imperative
                    that a more scalable and flexible approach be
                    implemented.</t>
                <t>One aspect of SACM that has been discussed, but only
                    partially worked into the Information Model at the time, is
                    the concept of high-level, platform-agnostic configuration
                    items and low-level platform-specific configuration items.
                    In the discussed concept, the high-level items will capture
                    the concepts of configuration that must be defined by those
                    who write the guidance, while the low-level items will be
                    provided by the appropriate vendors and/or subject matter
                    experts to allow those that best know the platforms and
                    products to instruct data collection. With this approach in
                    place, some of the concepts defined within the OVAL
                    Definitions Model (e.g., Objects, which instruct tools as to
                    what data to collect) will need to be modified or removed to
                    accommodate the shift in how posture attributes are defined
                    for Collection. As such, the recommendation is to use many
                    of the underlying structures in the OVAL Definitions Model,
                    including the data types, Variables, Functions, etc., as a
                    base from which to build a complete solution for fulfilling
                    the SACM Information Model.</t>
                <t>In addition to utility in supporting Collection Guidance, the
                    same OVAL Definitions Model should also be used as the base
                    for Evaluation Guidance. Again, with the current OVAL
                    Language, Collection and Evaluation are wrapped together in
                    the single model. The OVAL Definitions Model provides a
                    series of structures that can be used to support Boolean
                    logic statements, which could be useful for defining
                    evaluation criteria and could be used as the basis for a
                    further enhanced model for Evaluation.</t>
            </section>
            <section
                title="Do NOT Use the OVAL Results Model for Results Sharing"
                anchor="do-not-use-the-oval-results-model-for-results-sharing">
                <t>Despite the fact that the Results Model could be used to
                    share the results of the evaluation part of an endpoint
                    posture assessment, the recommendation is to not use this
                    model to represent this information within SACM. The OVAL
                    Results Model has, over the years, been a source of
                    contention at times within the OVAL Community. Some feel
                    like it provides too little information, while others
                    believe that it offers too much. While there is some
                    flexibility, in the form of OVAL Directives, in how much or
                    how little information is included in the results, it really
                    is not flexible enough to handle the broad set of
                    requirements for SACM without extensive re-working.</t>
                <t>Furthermore, SACM is working hard at separating data
                    collection and evaluation, which makes the OVAL Results
                    Model a poor fit, as it was constructed with a more combined
                    Collection and Evaluation framework. It is expected that to
                    properly model all of the results requirements within SACM,
                    an alternative solution will be required.</t>
                <t>While considering an alternative way to encode the results of
                    an assessment, the following requirements have been stated
                    by the OVAL Community as critical factors: <list
                        style="symbols">
                        <t>Allow evaluation results with appropriate
                            granularity</t>
                        <t>Ensure support for enterprise scale uses</t>
                        <t>Provide results that include only the actionable
                            information</t>
                        <t>Ensure that data is clear and identifiable within the
                            results</t>
                        <t>Ensure interoperability</t>
                    </list>
                </t>
            </section>
        </section>

        <section anchor="Acknowledgements" title="Acknowledgements">
            <t>The authors would like to thank Brant Cheikes (MITRE), Juan
                Gonzalez (DHS), Adam Montville (CIS), Charles Schmidt (MITRE),
                David Waltermire (NIST), and Kim Watson (DHS) for reviewing this
                document and providing helpful feedback.</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>This memo documents, for informational purposes, the mapping
                between the OVAL Data Models and the SACM Information Model as
                well as the lessons learned from the past 10+ years of
                developing OVAL. As a result, there are no specific security
                considerations.</t>
        </section>
		
		<section anchor="ChangeLog" title="Change Log">
			<section anchor="latest" title="-00 to -01">
				<t>There are no textual changes associated with this revision. 
				This revision simply reflects a resubmission of the document so that
				it goes back into active status. The document expired on
				November 6, 2015.</t>
			</section>	
		</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; </references>

        <references title="Informative References">
            <!-- Here we use entities that we defined at the beginning. -->
            <!-- A reference written by by an organization not a person. -->
            <reference anchor="SACM"
                target="https://datatracker.ietf.org/wg/sacm/charter/">
                <front>
                    <title>IETF Security Automation and Continuous Monitoring
                        (sacm) Working Group Charter</title>
                    <author>
                        <organization>The IETF SACM WG</organization>
                    </author>
                    <date year="2015"/>
                </front>
            </reference>
            <reference anchor="SACM-DOCUMENTS"
                target="https://datatracker.ietf.org/wg/sacm/documents/">
                <front>
                    <title>IETF Security Automation and Continuous Monitoring
                        (sacm) Working Group Documents</title>
                    <author>
                        <organization>The IETF SACM WG</organization>
                    </author>
                    <date year="2015"/>
                </front>
            </reference>
            <reference anchor="OVAL-WEBSITE" target="https://oval.mitre.org/">
                <front>
                    <title>The Open Vulnerability and Assessment
                        Language</title>
                    <author>
                        <organization>The MITRE Corporation</organization>
                    </author>
                    <date year="2015"/>
                </front>
            </reference>
            <reference anchor="OVAL-DEFINITION-TUTORIAL"
                target="http://oval.mitre.org/language/about/definition.html">
                <front>
                    <title>The OVAL Definition Tutorial</title>
                    <author>
                        <organization>The MITRE Corporation</organization>
                    </author>
                    <date year="2011"/>
                </front>
            </reference>
            <reference anchor="I-D.ietf-sacm-requirements"
                target="http://www.ietf.org/id/draft-ietf-sacm-requirements-04.txt">
                <front>
                    <title>Secure Automation and Continuous Monitoring (SACM)
                        Requirements</title>
                    <author>
                        <organization>Cam-Winget, N. and L.
                            Lorenzin</organization>
                    </author>
                    <date year="2015"/>
                </front>
            </reference>
            <reference anchor="I-D.ietf-sacm-architecture"
                target="http://www.ietf.org/id/draft-ietf-sacm-architecture-03.txt">
                <front>
                    <title>Secure Automation and Continuous Monitoring (SACM)
                        Architecture</title>
                    <author>
                        <organization>Cam-Winget, N., Ford, B., Lorenzin, L.,
                            McDonald, I., and l. loxx@cisco.com</organization>
                    </author>
                    <date year="2015"/>
                </front>
            </reference>
            <reference anchor="STRUCTURE-OF-OVAL"
                target="http://oval.mitre.org/language/about/structure.html">
                <front>
                    <title>Structure of the Language</title>
                    <author>
                        <organization>The MITRE Corporation</organization>
                    </author>
                    <date year="2012"/>
                </front>
            </reference>
            <reference anchor="RFC1157"
                target="https://www.ietf.org/rfc/rfc1157.txt">
                <front>
                    <title>A Simple Network Management Protocol (SNMP)</title>
                    <author>
                        <organization>Case, J., Fedor, M., Schoffstall, M., and
                            J. Davin</organization>
                    </author>
                    <date year="1990"/>
                </front>
            </reference>
        </references>


        <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                      v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                      other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                      Modified comments around figure to reflect non-implementation of
                      figure indent control.  Put in reference using anchor="DOMINATION".
                      Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                      added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                      images. Removed meta-characters from comments (causes
                      problems).
    2015-04-17 AR     updated ipr attribute.  -->
    </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 07:30:24