NEA Working Group                                       P. Sangster
 Internet Draft                                             Symantec
 Expires: Oct 2007                                       H. Khosravi
                                                               Intel
                                                             M. Mani
                                                               Avaya
                                                          K. Narayan
                                                       Cisco Systems
                                                            J. Tardo
                                                      Nevis Networks

                                                          April 2007


                  Network Endpoint Assessment (NEA):
                      Overview and Requirements
                  draft-ietf-nea-requirements-02.txt



 Status of this Memo

    By submitting this Internet-Draft, each author represents that
    any applicable patent or other IPR claims of which he or she is
    aware have been or will be disclosed, and any of which he or she
    becomes aware will be disclosed, in accordance with Section 6 of
    BCP 79.

    Internet-Drafts are working documents of the Internet
    Engineering Task Force (IETF), its areas, and its working
    groups.  Note that other groups may also distribute working
    documents as Internet-Drafts.

    Internet-Drafts are draft documents valid for a maximum of six
    months and may be updated, replaced, or obsoleted by other
    documents at any time.  It is inappropriate to use Internet-
    Drafts as reference material or to cite them other than as "work
    in progress."

    The list of current Internet-Drafts can be accessed at
    http://www.ietf.org/ietf/1id-abstracts.txt.

    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.

 Copyright Notice

    Copyright (C) The IETF Trust (2007).

 Abstract


Sangster, et. al.          Expires Oct 2007                   [Page 1]


 Internet Draft             NEA Requirements                 Apr 2007
   This document defines the problem statement, scope and interface
   (protocol) requirements between the components of the NEA (Network
   Endpoint Assessment) reference model.  NEA provides owners of
   networks (e.g. an enterprise offering remote access) a mechanism to
   evaluate the posture of a system.  This may take place during the
   request for network access and/or subsequently at any time while
   connected to the network.  The learned posture information can then
   be applied to a variety of compliance oriented decisions.  The
   posture information is frequently useful for detecting systems that
   are lacking (or have out of date) security protective mechanisms
   (e.g. anti-virus, firewall).

   In order to provide context for the requirements, a reference
   model and terminology are introduced.  This model is provided for
   informational purposes but is based on the models used by NAC
   [CNAC], NAP[NAP] and TNC[TNC].


 Table of Contents

   1. Introduction....................................................3
      1.1 Conventions Used in This Document...........................4
   2. Terminology.....................................................4
   3. Applicability...................................................7
      3.1 Scope.......................................................7
      3.2 Applicability of Environments...............................8
   4. Problem Statement...............................................9
   5. Reference Model................................................10
      5.1 Components.................................................12
          5.1.1 NEA Client...........................................12
          5.1.2 NEA Server...........................................15
      5.2 Protocols..................................................18
          5.2.1 Posture Attribute Protocol (PA)......................18
          5.2.2 Posture Broker Protocol (PB).........................18
          5.2.3 Posture Transport Protocol (PT)......................18
      5.3 Attributes.................................................19
          5.3.1 Attributes Normally Sent by NEA Client:..............19
          5.3.2 Attributes Normally Sent by NEA Server:..............20
   6. Use Cases......................................................20
      6.1 Initial Assessment.........................................21
          6.1.1 Triggered by Network Connection or Service Request...22
          6.1.2 Triggered by Endpoint................................24
      6.2 Posture Re-Assessment......................................26
          6.2.1 Triggered by NEA Client..............................27
          6.2.2 Triggered by NEA Server..............................29
   7. Requirements...................................................32
      7.1 Common Protocol Requirements...............................32
      7.2 Posture Attribute (PA) Protocol Requirements...............33
      7.3 Posture Broker (PB) Protocol Requirements..................35


Sangster, et. al.          Expires Oct 2007                   [Page 2]


 Internet Draft             NEA Requirements                 Apr 2007
      7.4 Posture Transport (PT) Protocol Requirements...............36
   8. Security Considerations........................................37
      8.1 Trust......................................................37
          8.1.1 Endpoint Components..................................38
          8.1.2 Network Communications...............................38
          8.1.3 NEA Server Components................................40
      8.2 Protection Mechanisms at Multiple Layers...................40
      8.3 Relevant Classes of Attack.................................41
          8.3.1 Man-in-the-Middle (MITM).............................41
          8.3.2 Message Modification.................................42
          8.3.3 Message Replay or Attribute Theft....................43
          8.3.4 Other Types of Attack................................43
   9. Privacy Considerations.........................................44
      9.1 Implementer Considerations.................................45
      9.2 Minimizing Attribute Disclosure............................46
   10. References....................................................48
      10.1 Normative References......................................48
      10.2 Informative References....................................48
   Acknowledgments...................................................49
   Authors' Addresses................................................49


 1. Introduction

    Today, most network providers can leverage existing standards-
    based technologies to restrict access to their network based
    upon criteria such as the requesting system's user or host-based
    identity, source IP address or physical access point.  However
    these approaches still leave the network resident systems
    vulnerable to malware-based attack, when an authorized but
    infected system is admitted and the malware is able to spread
    throughout the internal network.

    As a result, network operators need a proactive mechanism to
    assess the state of systems joining or present on the network to
    determine their status relative to network compliance policies.
    For example, if a system is determined to be out of compliance
    because it is lacking proper defensive mechanisms such as
    firewalls, anti-virus software or the absence of critical
    security patches, there needs to be a way to safely repair
    (remediate) the system so that it can be subsequently trusted to
    join and operate on the network.  The NEA technology strives to
    provide a mechanism to report the configuration of an endpoint
    for evaluation against network compliance policy.  Such a
    mechanism could offer a useful tool for the network operators'
    arsenal but should be recognized as not being a complete
    endpoint compliance solution in and of itself.



Sangster, et. al.          Expires Oct 2007                   [Page 3]


 Internet Draft             NEA Requirements                 Apr 2007
    NEA typically involves the use of special client software
    running on the requesting system that observes and reports on
    the configuration of the system to the network infrastructure.
    The infrastructure has corresponding validation software that is
    capable of comparing the system configuration information with
    network compliance policy and providing the result to
    appropriate authorization entities that make decisions about
    network and application access.  Some systems may be incapable
    of running the NEA client software (e.g. printer) or be
    unwilling to share information about its configuration.  In
    these cases the network infrastructure might decide to disallow
    or limit access to the network.

    In many cases, the admission decision is provisioned to the
    enforcement mechanisms on the network and/or system requesting
    access.  The decision might allow for no access, limited or
    quarantined access (possibly to allow for remediation), or full
    access to the network.  While the NEA Working Group recognizes
    there is a link between an assessment and the enforcement of the
    assessment decision, the mechanisms and protocols for
    enforcement are not in scope for this specification.

    Architectures, similar to NEA, have existed in the industry for
    some time and are present in shipping products, but do not offer
    interoperability.  Some examples of such architectures include:
    Trusted Computing Group's Trusted Network Connect [TNC],
    Microsoft's Network Access Protection [NAP], Cisco's Network
    Admission Control [CNAC]).  These technologies assess the
    software or hardware configuration of endpoint devices for the
    purposes of monitoring or enforcing compliance to an
    organization's policy.  These architectures are not
    interoperable because they are implemented using primarily non-
    standards based technologies.

    The NEA working group is working on defining standard protocols
    so as to enable interoperability between devices from different
    vendors allowing network owners to deploy truly heterogeneous
    solutions. This document describes the requirements for NEA
    candidate technologies and protocols.

 1.1 Conventions Used in This Document

    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 [KEYWORDS].

 2. Terminology


Sangster, et. al.          Expires Oct 2007                   [Page 4]


 Internet Draft             NEA Requirements                 Apr 2007

    This section defines a set of terms used throughout this
    document.  In some cases these terms have been used in other
    contexts with different meanings so this section attempts to
    describe each term's meaning with respect to the NEA WG
    activities.

    Assessment - The process of collecting posture from a set of
      endpoint components such that the appropriate validators may
      evaluate the posture against compliance policy.

    Assertion Attributes - Attributes sharing the property that they
      include re-usable information about the success of a prior
      assessment of the endpoint.  This could be used to optimize
      subsequent assessments by avoiding a full posture re-
      assessment.  For example, this type of attribute might be
      issued specifically to a particular endpoint, dated and
      signed by the NEA Server allowing that endpoint to re-use it
      for a time period to assert compliance to a set of policies.
      The NEA Server might accept this in lieu of obtaining posture
      information.

    Attribute - Data element including any requisite meta-data
      describing an observed, expected or status of a component
      property.  Attributes are exchanged as part of the PA
      protocol.  NEA recognizes a variety of usage scenarios where
      the use of an attribute in a particular type of PA message
      could indicate:
        o previously assessed status (Assertion Attributes),
        o observed component property (Posture Attributes),
        o request for component property (Request Attributes),
        o assessment decision (Result Attributes), or
        o repair instructions (Remediation Attributes).

      The NEA WG will standardize a subset of the attribute name
      space known as standard attributes.  Those attributes not
      standardized are referred to in this specification as vendor-
      specific.

    Component - Software, hardware or firmware entity performing a
      particular logical function on the endpoint. For example, a
      component may be a Posture Collector designed to ascertain
      the posture of another component such as a particular vendor
      product (e.g. Norton Anti-Virus) running on the endpoint.

    Deployer - Role of an entity that makes available for use
      hardware and/or software solutions.  For example, an
      administrator within an enterprise IT department might
      release an NEA Server for use on its network.

Sangster, et. al.          Expires Oct 2007                   [Page 5]


 Internet Draft             NEA Requirements                 Apr 2007

    Dialog - Sequence of request/response messages exchanged

    Endpoint - Any host computing device that can be connected to a
      network.  This includes: laptops, desktops, servers, cell
      phone or any device with an IP address.

    Message - Self contained unit of communication between
      components.  For example, a PA message might carry a set of
      attributes describing the configuration of a component on an
      endpoint.

    Owner - the role of an entity who is the legal, rightful
      possessor on an asset (e.g. endpoint).  The owner is entitled
      to maintain control over the policies enforced on the device
      even if the asset is not within the owner's possession.  The
      owner may permit user override or augmentation of control
      policies or may not assert any policies limiting use of
      asset.

    Posture - Configuration and/or status of hardware or software
      component(s) on an endpoint as it pertains to an
      organization's security policy.

    Posture Attributes - Attributes describing a quality or
      characteristic of a component.  For example, a Posture
      Attribute might describe the version of a component installed
      on the system.  Posture Attributes are created by a Posture
      Collector for inclusion in a PA message reporting on the
      posture of an endpoint.

    Request Attributes - Attributes sent by an NEA Server in a PA
      message identifying the posture information requested from
      the NEA Client.  For example, a Request Attribute might be an
      attribute included in a PA message that is requesting the
      name of the manufacturer for a particular component on an
      endpoint.

    Remediation Attributes - Attributes containing the remediation
      instructions for how to bring an endpoint into compliance
      with one or more policies.  NEA WG will not define standard
      remediation attributes but this specification does describe
      where they are used within the architecture and protocols.

    Result Attributes - Attributes describing whether the endpoint
      is in compliance with NEA policy.  The Result Attribute is
      created by the NEA Server normally at the conclusion of the
      assessment to indicate whether the endpoint was considered
      compliant or not.  Multiple of these attributes may be used

Sangster, et. al.          Expires Oct 2007                   [Page 6]


 Internet Draft             NEA Requirements                 Apr 2007
      allowing for Posture Validator level decisions to be
      communicated in addition to an overall, global assessment
      decision from the Posture Broker Server.

    Session - Stateful connection (e.g. PB protocol described in
      Section 3) capable of carrying one or more messages from
      multiple subscribed Posture Collectors and Validators.

    User - Role of an entity that is making use of the services of
      an endpoint.  The user may not own the endpoint so might need
      to operate within the acceptable use constraints defined by
      the endpoint's owner.  For example, an enterprise employee
      might be a user of a computer provided by the enterprise
      (owner) to perform her job.

 3. Applicability

    This section discusses the scope of technologies being
    standardized and the network environments where it is envisioned
    that the NEA technologies might be applicable.

 3.1 Scope

    The priority of the NEA working group is to develop standard
    protocols at the higher layers in the Reference Model (see
    section 5): the Posture Attribute protocol (PA) and the Posture
    Broker protocol (PB).  PA and PB will be designed to be carried
    over a variety of lower layer transport (PT) protocols.  When
    used with standard lower layer protocols, the PA and PB
    protocols are intended to allow interoperability between an NEA
    Client from one vendor and an NEA Server from another.  This
    specification will not focus on the local interfaces between NEA
    Reference Model components nor requirements on their internals.
    Any discussion of these aspects is provided to provide context
    for understanding the model and resulting requirements.

    Some tangent areas not shown in the Reference Model that are
    also out of scope for the NEA working group, and thus this
    specification, include:
      o Standardizing the protocols and mechanisms for enforcing
        restricted network access,
      o Developing standard protocols for remediation of non-
        compliant endpoints,



Sangster, et. al.          Expires Oct 2007                   [Page 7]


 Internet Draft             NEA Requirements                 Apr 2007
      o Detecting or handling lying endpoints (see section 8.1.1
        for more information).

 3.2 Applicability of Environments

    Because the NEA model is based on special software being present
    on the endpoint and in the network infrastructure and the nature
    of the information being exposed, the use of NEA technologies
    may not apply in a variety of situations possible on the
    Internet.  Therefore, this section discusses some of the
    scenarios where NEA is most likely to be applicable and some
    where it may not.  Ultimately, the use of NEA within a
    deployment is not restricted to just these scenarios.  The
    decision of whether to use NEA technologies lies in the hands of
    the deployer (e.g. network provider) based upon the expected
    relationship they have with the owners and users of potential
    endpoints.

    NEA technologies are largely focused on scenarios where the
    owner of the endpoint is the same as the owner of the Network.
    This is a very common model for enterprises which provide
    equipment to employees to perform their duties.  These employees
    are likely bound under an employment contract which outlines
    what level of visibility the employer expects to have into the
    employee's use of company assets and possibly activities during
    work hours.  This contract may establish the expectation that
    the endpoint needs to conform to policies set forth by the
    enterprise.

    Some other environments may be in a similar situation and thus
    find NEA technologies to be beneficial.  For example,
    environments where the endpoint is owned by a party (possibly
    even the user) which has explicitly expressed a desire to
    conform to the policies established by a network or service
    provider in exchange for being able to access its resources.  An
    example of this might be an independent contractor with a
    personal laptop, working for a company imposing NEA assessment
    policies on its employees, who may wish a similar level of
    access and is willing to conform to its policies.  NEA
    technologies may be applicable to this situation.

    Conversely, some environments where NEA is not expected to be
    applicable would be environments where the endpoint is owned by

Sangster, et. al.          Expires Oct 2007                   [Page 8]


 Internet Draft             NEA Requirements                 Apr 2007
    a user that has not agreed to conform to a network provider's
    policies.  An example might include when the above contractor
    visits any public area like the local coffee shop which offers
    Internet access.  This coffee shop would not be expected to be
    able to use NEA technologies to assess the posture of the
    contractor's laptop.  Because of the potentially invasive nature
    of NEA technology, such an assessment could amount to an
    invasion of privacy of the contractor.

    Other environments are more difficult to determine whether NEA
    is applicable, so the NEA WG will consider them to be out of
    scope for consideration and specification.  In order for an
    environment to be considered applicable for NEA, the owner or
    user of an endpoint must have established a clear expectation
    that it will comply with the policies of the owner and operator
    of the network.  Such an expectation likely includes a
    willingness to disclose appropriate information necessary for
    the network to perform compliance checks.

 4. Problem Statement

    NEA technology may be used for several purposes.  One use is to
    facilitate endpoint compliance checking against an
    organization's security policy when an endpoint connects to the
    network.  Organizations often require endpoints to run an IT-
    specified OS configuration and have certain security
    applications enabled, e.g. anti-virus software, host intrusion
    detection/prevention systems, personal firewalls, and patch
    management software.  An endpoint that is not compliant with IT
    policy may be vulnerable to a number of known threats that might
    exist on the network.

    Without NEA technology, ensuring compliance of endpoints to
    corporate policy is a time-consuming and difficult task.  Not
    all endpoints are managed by a corporation's IT organization,
    e.g. lab assets and guest machines.  Even for assets that are
    managed, they may not receive updates in a timely fashion
    because they are not permanently attached to the corporate
    network, e.g. laptops.  With NEA technology, the network is able
    to assess an endpoint as soon as it requests access to the
    network or at any time after joining the network.  This provides
    the corporation an opportunity to check compliance of all NEA-
    capable endpoints in a timely fashion and facilitate endpoint
    remediation potentially while quarantined where needed.
    Endpoint that are not NEA-capable or choose not to share


Sangster, et. al.          Expires Oct 2007                   [Page 9]


 Internet Draft             NEA Requirements                 Apr 2007
    sufficient posture to evaluate compliance may be subject to
    different access policies.

    The decision of how to handle non-compliant or non-participating
    endpoints can be made by the network administrator possibly
    based on information from other security mechanisms on the
    network (e.g. authentication).  For example, remediation
    instructions or warnings may be sent to the non-compliant
    endpoint with a properly authorized user while allowing limited
    access to the network.  Also, network access technologies can
    use the NEA results to restrict or deny access to an endpoint,
    while allowing vulnerabilities to be addressed before an
    endpoint is exposed to attack.  The communication and
    representation of NEA assessment results to network access
    technologies on the network is out-of-scope for this document.

    Re-assessment is an important part of NEA technology as it
    allows for additional assessments of previously considered
    compliant endpoints to be performed.  This might become
    necessary because network compliance policies and/or endpoint
    posture can change over time.  A system initially assessed as
    being compliant when it joined the network may no longer be in
    compliance after changes occur.  For example, re-assessment
    might be necessary if a user disables a security protection
    (e.g. host firewall) required by policy or when the firewall
    becomes non-compliant after a firewall patch is issued and
    network policy is changed to require the patch.

    Another use of NEA technology may be to verify or supplement
    organization asset information stored in inventory databases.

    NEA technology can be used to provide posture assessment for a
    range of ways of connecting to the network including (but not
    limited to) wired and wireless LAN access, remote access via
    IPsec[IPSEC] or SSL[TLS] VPN, or gateway access.   NEA
    technology can also be used to check and report compliance for
    endpoints when they try to access certain mission critical
    applications within an enterprise by employing service
    (application) triggered assessment.

 5. Reference Model

    This section describes the Reference Model for Network Endpoint
    Assessment.  This model is provided to establish a context for the
    discussion of requirements and may not directly map to any
    particular product or deployment architecture.  The model includes
    the major components of the NEA Client and Server and their
    relationships, as well as the protocols they use to communicate at

Sangster, et. al.          Expires Oct 2007                  [Page 10]


 Internet Draft             NEA Requirements                 Apr 2007
    various levels (e.g. PA is carried by the PB protocol).  While the
    diagram shows 3 layered protocols, it's envisioned that PA is
    likely a thin, message wrapper around a set of attributes and PB
    primarily is a lightweight message batching protocol, so the
    protocol stack is mostly the transport (PT).  The vertical lines in
    the model represent APIs and/or protocols between components within
    the NEA Client or Server.  These interfaces are out of scope for
    standardization in the NEA WG.

      +-------------+                          +--------------+
      |  Posture    |   <--------PA-------->   |   Posture    |
      |  Collectors |                          |   Validators |
      |  (1 .. N)   |                          |   (1 .. N)   |
      +-------------+                          +--------------+
            |                                         |
            |                                         |
            |                                         |
      +-------------+                          +--------------+
      |   Posture   |                          |   Posture    |
      |   Broker    |   <--------PB-------->   |   Broker     |
      |   Client    |                          |   Server     |
      +-------------+                          +--------------+
            |                                         |
            |                                         |
      +-------------+                          +--------------+
      |   Posture   |                          |   Posture    |
      |   Transport |   <--------PT-------->   |   Transport  |
      |   Client    |                          |   Server     |
      |   (1 .. N)  |                          |   (1 .. N)   |
      +-------------+                          +--------------+

         NEA CLIENT                               NEA SERVER

                       Figure 1: NEA Reference Model

    The NEA Reference model does not include mechanisms for discovery
    of NEA Clients and NEA Servers.  It is expected that NEA Clients
    and NEA Servers are configured with information that allow them to
    reach each other.  The specific methods of referencing the
    configuration and establishing the communication channel are out of
    scope for the NEA Reference Model and should be covered part of the
    specifications of candidate protocols for the Posture Transport.


Sangster, et. al.          Expires Oct 2007                  [Page 11]


 Internet Draft             NEA Requirements                 Apr 2007
 5.1 Components

 5.1.1 NEA Client

    The NEA Client is resident on an endpoint device and comprises
    of the following components:

      o Posture Collector

      o Posture Broker Client

      o Posture Transport Client

    The NEA Client is responsible for responding to requests for
    attributes describing the configuration of the local operating
    domain of the client.  An NEA Client is not responsible for
    reporting on posture of entities that might exist on the system
    or over the network that are outside the scope/visibility of the
    NEA Client.

    For example a NAT device might route communications for many
    systems behind it, but when the NAT device is joining the
    network its NEA Client is only reports its own posture.
    Similarly, endpoints with virtualization capabilities might have
    multiple independent domains of execution (e.g. OS instances).
    Each NEA Client is only responsible for reporting posture for
    its domain of execution but this information might be aggregated
    by other local mechanisms which represent multiple domain
    posture on the endpoint.  Such posture aggregation mechanisms
    are outside the focus on this specification.

    Endpoints lacking NEA Client software or choosing not to provide
    the attributes required by the NEA Server could be considered
    non-compliant and subject to different access policies.  The NEA
    model includes capabilities to enable the endpoint to update its
    contents in order to become compliant.

 5.1.1.1 Posture Collector

    The Posture Collector is the component that is responsible for
    responding to requests for posture information from the Posture
    Broker Client and receiving posture assessment requests in
    Request Attributes, assessment decisions in Result Attributes
    and remediation instructions (Remediation Attributes).  A single
    NEA Client can have several Posture Collectors capable of
    collecting standard and/or vendor-specific Posture Attributes
    for particular endpoint components.  Typical examples include
    Posture Collectors that provide information about Operating


Sangster, et. al.          Expires Oct 2007                  [Page 12]


 Internet Draft             NEA Requirements                 Apr 2007
    System (OS) patch levels, anti-virus software, and security
    mechanisms on the endpoint such as host firewall or an IDS.
    Posture Collectors may also be capable of evaluating rules and
    asserting posture decisions.

    Each Posture Collector will be associated with an identifier
    that enables it to be the specified as the destination in a PA
    message.  The Posture Broker Client uses this identifier to
    route messages to this collector.  This identifier might be
    dynamic (e.g. assigned by the Posture Broker Client upon
    registration) or more static (e.g. provided during registration)
    or a function of the attribute messages the collector desires to
    receive (e.g. message type subscription).

    The NEA model allocates the following responsibilities to the
    Posture Collector component:

      o Consulting with local privacy and security policies that
        may restrict what information is allowed to be disclosed to
        a given NEA Server.

      o Receiving Request Attributes from a Posture Validator and
        performing the local processing required to respond
        appropriately.  This may include:
           - Collecting associated posture information for the
             component(s) on the endpoint and returning this
             information in Posture Attributes.
           - Caching and recognizing the applicability of a
             recently issued attributes containing re-usable
             assertions that might serve to prove compliance and
             returning this attribute instead of posture
             information.

      o Receiving attributes containing remediation instructions on
        how to update the component(s) on the endpoint.  This could
        require the collector to interact with the user, owner
        and/or a remediation server.

      o Monitoring the posture of component(s) on the endpoint for
        posture changes that require notification to the Posture
        Broker Client.

      o Providing cryptographic verification of the attributes
        received from the Validator and offering cryptographic
        protection to the attributes returned.

    The above list describes the model's view of the possible
    responsibilities of the Posture Collector.  Recall that this is


Sangster, et. al.          Expires Oct 2007                  [Page 13]


 Internet Draft             NEA Requirements                 Apr 2007
    not a set of requirements for what each Posture Collector
    implementation must support.

 5.1.1.2 Posture Broker Client

    The Posture Broker Client is a component that is both a PA
    message multiplexer and a de-multiplexer. The Posture Broker
    Client is responsible for de-multiplexing the posture
    information request from the NEA Server and distributing each
    request to the corresponding Posture Collector(s).  The model
    also allows for the posture information request to be pre-
    provisioned on the NEA Client to improve performance by allowing
    the NEA Client to report posture without receiving a request for
    particular attributes from the NEA Server.

    The Posture Broker Client also multiplexes the responses from
    the Posture Collector(s) and returns them to the NEA Server. The
    Posture Broker Client constructs one or more PB messages using
    the PA message(s) it obtains from the Posture Collector(s)
    involved in the assessment.  The quantity and ordering of
    Posture Collector responses (PA message(s)) multiplexed into the
    PB response message(s) can be determined by the Posture Broker
    Client based on many factors including policy or characteristics
    of the underlying network transport (e.g. MTU).  A particular
    NEA Client will have one Posture Broker Client.

    The NEA model allocates the following responsibilities to the
    Posture Broker Client component:

      o Maintaining a registry of known Posture Collectors and
        allowing for Posture Collectors to dynamically
        register/un-register.

      o Multiplexing and de-multiplexing attribute messages
        between the NEA Server and the relevant Posture
        Collectors.

      o Handling posture change notifications from Posture
        Collectors and triggering re-assessment.

      o Providing user notification about the global assessment
        decision and other user messages sent by the NEA Server.

 5.1.1.3 Posture Transport Client

    The Posture Transport Client is a component responsible for
    establishing a reliable communication channel with the NEA
    Server for the message dialog between the NEA Client and NEA
    Server. There might be more than one Posture Transport Client on

Sangster, et. al.          Expires Oct 2007                  [Page 14]


 Internet Draft             NEA Requirements                 Apr 2007
    a particular NEA Client.  Certain Posture Transport Clients may
    be configured with the address of the appropriate Posture
    Transport Server to use for a particular network.

    The NEA model allocates the following responsibilities to the
    Posture Transport Client component:

      o Initiating and maintaining the communication channel to the
        NEA Server, the Posture Transport Client hides the details
        of the underlying carrier which could be a Layer 2 or Layer
        3 protocol.

      o Providing cryptographic protection for the message dialog
        between the NEA Client and NEA Server.

 5.1.2 NEA Server

    The NEA Server will typically comprise of the following logical
    components:

      o Posture Validator

      o Posture Broker Server

      o Posture Transport Server

    The Posture Validator can be located on a separate server from
    the Posture Broker Server requiring the Posture Broker Server to
    deal with both local and remote Posture Validators.

 5.1.2.1 Posture Validator

    A Posture Validator is a component that is responsible for
    assessing the Posture Attributes from the corresponding Posture
    Collector and determining the result of the assessment. The
    Posture Validator performs the posture assessment for one or
    more components and creates the result and if necessary the
    remediation instructions. The Posture Validator can request a
    set of primitive attributes or can pass compliance policies that
    might be evaluated by the Posture Collector. The response from
    the Posture Collector could be a set of attributes or a set of
    assertions in case of NEA Client based evaluation.

    Each Posture Validator will be associated with an identifier
    that enables it to be the specified as the destination in a PA
    message.  The Posture Broker Server uses this identifier to
    route messages to this Validator. This identifier might be
    dynamic (e.g. assigned by the Posture Broker Server upon
    registration) or more static (e.g. provided during registration)

Sangster, et. al.          Expires Oct 2007                  [Page 15]


 Internet Draft             NEA Requirements                 Apr 2007
    or a function of the attribute messages the validator desires to
    receive (e.g. message type subscription).

    Posture Validators can be co-located on the NEA Server or can be
    hosted on separate servers. A particular NEA Server is required
    to handle several Posture Validators.

    The NEA model allocates the following responsibilities to the
    Posture Validator component:

      o Requesting attributes from a Posture Collector.  The
        request may include:
           - Request Attributes that indicate to the Posture
             Collector to fetch and provide Posture Attributes from
             various component(s) on the NEA Client.

      o Receiving attributes from the Posture Collector. The
        response from the Posture Collector may include:
           - Posture Attributes collected from various
             component(s).
           - Assertion Attributes that indicate the compliance
             result from a prior assessment.

      o Assessing the posture of the component(s) based on the
        various attributes received from the Collector.

      o Communicating the posture assessment Result to the Posture
        Broker Server.

      o Communicating the posture assessment Results to the Posture
        Collector; this attribute message may include:
           - Results Attribute that communicates the posture
             assessment Result.
           - Remediation Attributes that communicate the
             Remediation Instructions to the Posture Collector.

      o Monitoring out-of-band updates that trigger re-assessment
        and require notifications to be sent to the Posture Broker
        Server.

      o Providing cryptographic protection for attributes sent to
        the Collector and offering cryptographic verification of
        the attributes received from the Collector.

 5.1.2.2 Posture Broker Server

    The Posture Broker Server is a component that acts as a
    multiplexer and a de-multiplexer for attribute messages. The
    Posture Broker Client multiplexes the PA messages, e.g. messages

Sangster, et. al.          Expires Oct 2007                  [Page 16]


 Internet Draft             NEA Requirements                 Apr 2007
    containing Request Attribute(s) from the relevant Posture
    Validator(s) in one or more PB messages and returns them to the
    NEA Client. The Posture Broker Server de-multiplexes the PA
    messages received from the NEA Client and passes them to the
    associated Posture Validators.  The quantity and ordering of
    Posture Collector responses (PA message(s)) multiplexed into the
    PB response message(s) can be determined by the Posture Broker
    Client based on many factors including policy or characteristics
    of the underlying network transport (e.g. MTU).

    The Posture Broker Server is also responsible for computing the
    global assessment decision based on individual posture
    assessment results from the various Posture Validators, this
    global assessment decision is sent back to the NEA Client. A
    particular NEA Server will have one Posture Broker Server and
    this Posture Broker Server will handle all the local and remote
    Posture Validators.

    The NEA model allocates the following responsibilities to the
    Posture Broker Server component:

      o Maintaining a registry of Posture Validators and allowing
        for Posture Validators to register/un-register.

      o Multiplexing and de-multiplexing posture messages between
        the NEA Client and the relevant Posture Validators.

      o Computing the global assessment decision based on posture
        assessment results from the various Posture Validators.

 5.1.2.3 Posture Transport Server

    The Posture Transport Server is a component responsible for
    establishing a reliable communication channel with the NEA
    Client for the message dialog between the NEA Client and NEA
    Server. There might be more than one Posture Transport Servers
    on a particular NEA Server. A particular Posture Transport
    Server will typically handle requests from several Posture
    Transport Clients and may require local configuration describing
    how to reach the NEA Clients.

    The NEA model allocates the following responsibilities to the
    Posture Transport Server component:

      o Initiating and maintaining a communication channel with
        potentially several NEA Clients.

      o Providing cryptographic protection for the message dialog
        between the NEA Client and NEA Server.

Sangster, et. al.          Expires Oct 2007                  [Page 17]


 Internet Draft             NEA Requirements                 Apr 2007

 5.2 Protocols

    The NEA Reference Model includes three layered protocols (PA, PB
    and PT) that allow for the exchange of attributes across the
    different sets of components on the network.  While these protocols
    are intended to be used together to fulfill a particular role in
    the model, they may offer overlapping functionality.  For example,
    each protocol should be capable of protecting its information from
    attack (see section 8.2 for more information).

 5.2.1 Posture Attribute Protocol (PA)

    PA is a protocol that carries attribute messages between a
    Posture Collector and its associated Posture Validator. The PA
    protocol is a message oriented lightweight wrapper around a set
    of attributes being exchanged.  This wrapper may indicate the
    purpose of attributes within the message.  Some of the types of
    messages expected include: requests for posture information
    (Request Attributes), posture information about endpoint
    (Posture Attributes), results of an assessment (Result
    Attributes), re-usable compliance assertions (Assertion
    Attributes) and instructions to remediate non-compliant
    components (Remediation Attributes). The PA protocol also
    provides the requisite encoding and cryptographic protection for
    the Posture Attributes.

 5.2.2 Posture Broker Protocol  (PB)

    PB is a protocol that carries aggregate attribute messages
    between the requested Posture Collectors on the NEA Client and
    the corresponding Posture Validators on the NEA Server involved
    in a particular assessment.  The PB protocol creates and manages
    a session allowing for message dialogs for every assessment.
    This PB session is then used to bind multiple Posture Attribute
    requests and responses from the different Posture Collectors and
    Posture Validators involved in a particular assessment. The PB
    protocol may also carry the global assessment decision in the
    Result Attribute from the Posture Broker Server to the Posture
    Broker Client.

 5.2.3 Posture Transport Protocol (PT)

    PT is a transport protocol between the NEA Client and the NEA
    Server responsible for carrying the messages generated by the PB
    protocol. The PT protocol(s) must be capable of transporting
    messages for assessment during network connection request or
    after network connectivity has been established. It is


Sangster, et. al.          Expires Oct 2007                  [Page 18]


 Internet Draft             NEA Requirements                 Apr 2007
    conceivable that certain candidate PT protocols are capable of
    transporting messages both during network connection request and
    after network connectivity has been established, but this isn't
    a mandatory requirement for all candidate PT protocols.  Should
    the NEA WG select a PT protocol capable of operating only during
    one time horizon, the WG should select an additional one so that
    both horizons could be possible.

    The PT protocol provides reliable message delivery, mutual
    authentication and cryptographic protection for the PB messages.

 5.3 Attributes

    The PA protocol is responsible for the exchange of attributes
    between a Posture Collector and Posture Validator.  Attributes are
    effectively the reserved word 'nouns' of the posture assessment.
    The NEA Server is only able to ask for information that has a
    corresponding attribute, thus bounding what type of posture can be
    obtained.  The NEA WG will define a common (standard) set of
    attributes that are expected to be supported by all Posture
    Collectors, but outside this set Posture Collectors may support
    additional vendor-specific attributes.

    As discussed in the Use Cases section below, depending on the
    deployment scenario, different types of attributes may be used.
    The attribute classes defined in this specification may be merged
    when the NEA WG defines the name space and schema for each
    attribute class, but for now this specification recognizes their
    distinct roles. This section summarizes the purpose of each class
    of attribute and how they are generated.

 5.3.1 Attributes Normally Sent by NEA Client:

      o Posture Attributes - Attributes and values sent to report
        information about a particular aspect (based on semantic of
        the attribute) of the system.  These attributes are typically
        sent in response to Request Attributes from the NEA Server.
        For example a set of Posture Attributes might describe the
        status of the firewall (e.g. If running, Vendor, Version).
        The NEA Server would base its decision on comparing this type
        of attribute against policy.

      o Assertion Attributes - Attributes stating recent prior
        compliance to policy in hopes of avoiding the need to re-
        collect the posture and send it to the NEA Server.  These
        attributes might consist of NEA Server provided attributes
        (state) describing a prior evaluation (e.g. opaque to
        endpoint, signed, time stamped items stating specific results)

Sangster, et. al.          Expires Oct 2007                  [Page 19]


 Internet Draft             NEA Requirements                 Apr 2007
        or might consist of NEA Client identity information used by
        the NEA Server to locate state about prior decisions (e.g.
        system-bound cookie).  These might be returned in lieu of or
        addition to Posture Attributes.

 5.3.2 Attributes Normally Sent by NEA Server:

      o Request Attributes - Attributes which define the specific
        posture information desired by the NEA Server.  These
        attributes might effectively form a template that the Posture
        Collector fills in (subject to local policy restrictions) with
        the specific value corresponding to each attribute.  The
        resulting attributes are typically Posture or Assertion
        Attributes from the NEA Client.

      o Result Attributes - Attributes that contain the decisions of
        the Posture Validators and/or Posture Broker Server.  The
        level of detail provided may vary from which individual
        attributes were compliant or not thru just the global
        assessment decision.

      o Remediation Attributes - Attributes that describe to the NEA
        Client and its user how to update the endpoint to become
        compliant with the NEA Server policies.  These attributes are
        sent when the global assessment decision was that the endpoint
        is not currently compliant.  Remediation and Result Attributes
        may both exist within an NEA Server attribute message.

      o Assertion Attributes - Attributes containing NEA Server
        assertions of compliance to a policy for future use by the NEA
        Client.  See section 5.3.1 for more information.

 6. Use Cases

    This section discusses use cases with intent to describe and
    collectively bound the NEA problem space under consideration.
    The use cases provide a context and general rationale for the
    defined requirements.  In order to ease understanding of each
    use case and how it maps to the reference model, each use case
    will be accompanied by a simple example and a discussion of how
    this example relates to the NEA protocols.  It should be
    emphasized that the provided examples are not intended to
    indicate the only approach to addressing the use case but rather
    are included to ease understanding of how the flows might occur
    and require support from the NEA protocols.

    We broadly classify the use cases into two categories each with
    their own set of trigger events:


Sangster, et. al.          Expires Oct 2007                  [Page 20]


 Internet Draft             NEA Requirements                 Apr 2007
      o Initial assessment - evaluation of the posture of an
        endpoint that has not recently been assessed and thus is
        not in possession of any valid proof that it should be
        considered compliant.  This might be triggered by a request
        to join a network, request to use a service or a desire to
        understand the posture of a system.

      o Re-assessment - evaluation of the posture of an endpoint
        that has previously been assessed.  This could occur for a
        variety of reasons including the NEA Client or Server
        recognizing an occurrence affecting the endpoint which
        might raise its risk level.   This could be as simple as it
        having been a long time since its last re-assessment.

 6.1 Initial Assessment

    An initial assessment occurs when a NEA Client or Server event
    occurs that causes the evaluation of the posture of the endpoint
    for the first time.  Endpoints that have been recently assessed
    and the NEA Client or Server has maintained state (or proof)
    that the endpoint is compliant and therefore does not need to
    have their posture evaluated again do not qualify for this
    category of use case.

    Posture   P.Broker Transport  Transport  P.Broker   Posture
    Collectors Client  Client     Server     Server   Validators
      |         |         |           |         |           |
      |         |  client requests network access           |
      |         |         |---------->|         |           |
      |         |         |           |-------->|Posture reqs
      |         |         |           |         |<----------|
      |         |         |     Posture Req     |           |
      |         | Pos Req |<----------|<--------|           |
      | Pos Req |<--------|           |         |           |
      |<--------|         |           |         |           |
      |Pos Resp |         |           |         |           |
      |-------->|Pos Resp |           |         |           |
      |         |-------->|     Posture Resp    |           |
      |         |         |---------->|-------->| Pos Resp  |
      |         |         |           |         |---------->|
      |         |         |           |         | Decisions |
      |         |         |  Posture Decision   |<----------|
      |         | Decision|<----------|<--------|           |
      | Decision|<--------|           |         |           |
      |<--------|         |           |         |           |
      |         |         |           |         |           |

    Figure 2: Illustration of NEA Initial Assessment Use case


Sangster, et. al.          Expires Oct 2007                  [Page 21]


 Internet Draft             NEA Requirements                 Apr 2007

 6.1.1 Triggered by Network Connection or Service Request

    This use case focuses on assessments performed at the time an
    endpoint attempts to join a network or request use of a service
    which requires a posture evaluation.  This use case is particularly
    interesting because it allows the NEA Server to evaluate the
    posture of an endpoint before allowing it access to the network.
    This approach could be used to help detect endpoints with known
    vulnerabilities and facilitate their repair before they are
    admitted to the network and potentially exposed to such threats on
    the network.

    A variety of types of endpoint actions could result in this class
    of assessment.  For example, an assessment could be triggered by
    the endpoint trying to access a highly protected network service
    (e.g. financial or HR application server) where heightened security
    requirements are required.  A better known example could include
    requesting entrance to a network which requires systems to meet
    compliance policy.  This example is discussed in more detail in the
    following section.

 6.1.1.1 Example

    An IT employee returning from vacation boots his office desktop
    computer which generates a request to join the wired enterprise
    network.  The network's security policy requires the system to
    provide posture information in order to determine whether the
    desktop's security features are enabled and up to date.  The
    desktop sends its patch, firewall and anti-virus posture
    information.  The network determines that the system is lacking
    a recent security patch designed to fix a serious vulnerability
    and places the system on a restricted access network.  The
    desktop follows the network provided remediation instructions to
    download and install the necessary patch.  Later, the desktop
    requests again to join the network and this time is allowed on
    the enterprise network after a full assessment.

 6.1.1.2 Possible flows and Protocol Usage

    The following describes the message flows through the NEA Reference
    Model for the described example:

     1. The IT employee's desktop computer connects to the network
        through an access gateway in the wired enterprise network.
     2. The Posture Broker Server on the NEA Server is notified of
        the request to join the wired network.
     3. Based upon compliance policy the Posture Broker Server
        contacts the OS Patch, Firewall and Anti-Virus Posture

Sangster, et. al.          Expires Oct 2007                  [Page 22]


 Internet Draft             NEA Requirements                 Apr 2007
        Validators to request the necessary posture.  Each Posture
        Validator creates a PA message containing the desired
        attributes to be requested for assessment from the desktop
        system.
     4. The Posture Broker Server aggregates the PA messages from
        the Posture Validators and sends them to the NEA Client on
        the desktop using the Posture Transport Server.
     5. The Posture Transport Client receives the message from the
        NEA Server and passes it to the Posture Broker Client for
        message delivery.
     6. The Posture Broker Client de-multiplexes the PB message and
        delivers the PA messages with the request for attributes to
        the Firewall, OS Patch and Anti-Virus Posture Collectors.
     7. Each Posture Collector involved consults local privacy
        policy to determine what information is allowed to be
        disclosed and then returns the requested attributes that are
        authorized in a PA message to the Posture Broker Client.
     8. The Posture Broker Client aggregates these into a single PB
        message and sends it to the Posture Broker Server using the
        Posture Transport Client to Server session.
     9. The Posture Transport Server provides the PB message to the
        Posture Broker Server which de-multiplexes the message and
        sends the appropriate attributes to the corresponding
        Posture Validator.
    10. Each Posture Validator compares the values of the attributes
        it receives with the expected values defined in its policy.
    11. The Anti-Virus and Firewall Posture Validators return
        attributes stating it's compliant to the Posture Broker
        Server, but the OS Patch Posture Validator returns non-
        compliant. The OS Patch Posture Validator creates a PA
        message that contains attributes with remediation
        instructions in addition to the attribute indicating non-
        compliance result.
    12. The Posture Broker Server aggregates the PA messages and
        sends them in a PB message to the Posture Broker Client
    13. The Posture Broker Client delivers the PA messages with
        results from the various posture validators to the
        appropriate posture collectors including the PA message
        containing attributes with remediation instructions to the
        OS Patch Posture Collector which interacts with the user to
        download and install the needed patches potentially while
        quarantined.
    14. Upon completion, the above steps 1-10 are repeated
        (triggered by the NEA Client again requesting network
        access).
    15. This time the OS Patch Posture Validator (step 11) returns a
        compliant status and the Posture Broker Server returns a
        compliant result indicating a global success.


Sangster, et. al.          Expires Oct 2007                  [Page 23]


 Internet Draft             NEA Requirements                 Apr 2007
    16. The Posture Broker Client receives the compliant result and
        the IT employee's desktop is now on the network.

 6.1.1.3 Impact on Requirements

    The following are several different aspects of the use case example
    that potentially need to be factored into the requirements.

      o Posture assessment before endpoint allowed on network
      o Endpoint sends attributes containing posture information
      o NEA Server sends remediation instructions
      o NEA Client causes a re-assessment to join network after
        remediation

 6.1.2 Triggered by Endpoint

    This use case highlights that an endpoint (possibly caused by a
    user) may wish to trigger an assessment of its posture to
    determine whether its security protective mechanisms are running
    and up to date.

 6.1.2.1 Example

    A student goes to the terminal room to work on a project.  The
    terminal room contains shared systems owned by the school that
    are on the network.  These systems have been previously used by
    other students so their security posture is unknown.  The
    student wishes to check whether a system is currently in
    compliance with the school's security policies prior to doing
    work, so requests a posture assessment.  The network performs an
    initial assessment of the system and determines it's compliant
    but the anti-virus protection is not in use.  The student
    receives an advisory response indicating the system's anti-virus
    software is turned off but that otherwise it complies with the
    school's policy.  The student turns on the anti-virus software,
    initiates a scan and upon completion decides to trust the system
    with her work.

 6.1.2.2 Possible flows and Protocol Usage

   The following describes the message flows through the NEA Reference
   Model for the student using a terminal room shared system example:

    1. Student triggers the Posture Broker Client on the computer
       system in the terminal room to initiate a posture
       assessment.
    2. The Posture Broker Client establishes a session with the
       Posture Broker Server which causes an assessment to be
       triggered.

Sangster, et. al.          Expires Oct 2007                  [Page 24]


 Internet Draft             NEA Requirements                 Apr 2007
    3. The Posture Transport Client establishes the transport
       channel to the Posture Transport Server causing a new
       protocol context exchange to be initiated.
    4. The Posture Broker Server detects the new session and
       consults policy to determine which Posture Validators to
       involve in the assessment.  The Posture Broker Server
       contacts several Posture Validators including the Anti-Virus
       Posture Validator.
    5. The Posture Validators involved create PA messages
       containing requests for particular attributes containing
       information about the desired terminal room computer based
       on the school's security policy.
    6. The Posture Broker Server assembles a PB message including
       each of the PA messages from the Posture Validators.
    7. The Posture Transport Server sends the PB message to the
       Posture Transport Client where it is passed on to the
       Posture Broker Client.
    8. The Posture Broker Client on the student's computer de-
       multiplexes the PA message and delivers them to the
       corresponding Posture Collectors.
    9. The Posture Collectors consult privacy policy to decide what
       information to share with the Server.  If allowable, the
       collectors each return a PA message containing the requested
       posture to the Posture Broker Client.
    10. The Posture Broker Client aggregates the returned PA
       messages into a PB message and hands it to the Posture
       Transport Client for transmission to the Posture Transport
       Server.
    11. The Posture Broker Server separates and distributes the
       Posture Collector PA messages to the associated Posture
       Validators.
    12. The Posture Validators determine whether the attributes
       containing the posture included in the PA message are
       compliant with their policies and returns a posture
       assessment decision to the Posture Broker Server. In this
       case, the anti-virus Posture Validator returns a PA message
       indicating a non-compliant result because the Anti-Virus
       software is not running and includes attributes describing
       how to active the software.
    13. The Posture Broker Server determines the overall compliance
       decision based on each Validators' assessment results and
       sends a PB message containing an attribute expressing the
       global assessment decision and the Anti-Virus Validator's PA
       message.  In this case, the global assessment decision
       indicates the system is compliant (despite the Anti-Virus
       Validator's result) because the Posture Broker Server policy
       allowed for the Anti-Virus to not be running as long as the
       system was properly patched and running a Firewall (which
       was the case according to the other Posture Validators).

Sangster, et. al.          Expires Oct 2007                  [Page 25]


 Internet Draft             NEA Requirements                 Apr 2007
    14. The Posture Transport Server sends the PB message to the
       Posture Transport Client which provides the message to the
       Posture Broker Client.
    15. The Posture Broker Client on the terminal room computer
       examines the PB message's global assessment decision
       attribute and reports to the Student that the system was
       deemed to be compliant, but that an advisory was included.
    16. The Posture Broker Client provides the PA message with the
       remediation attributes to the Anti-Virus Posture Collector
       which interacts with the user to explain how to turn on
       Anti-Virus to improve the local protections.
    17. The student turns on the Anti-Virus software and on
       completion steps 1-10 are repeated.
    18. This time the Anti-Virus Posture Validator returns a success
       status and the Posture Broker Server returns a successful
       global assessment decision in the PB message.
    19. The Posture Broker Client receives the successful global
       assessment decision in the PB message and the student now
       uses the computer for his/her assignment.

 6.1.2.3 Impact on Requirements

    The following are several different aspects of the use case example
    that potentially need to be factored into the requirements.

      o Voluntary, endpoint requested initial assessment
      o Successful (compliant) global assessment decision included in
        PB message with a PA message containing an advisory set of
        attributes for remediation.

 6.2 Posture Re-Assessment

    Re-assessment(s) of endpoints can happen anytime after being
    admitted to the network after a successful initial NEA
    assessment. These may be event-based such as driven by posture
    changes detected by the NEA Client or changes detected by
    network infrastructure such as detection of suspicious behavior
    or network policy updates.

    They may also be periodic (timer-driven) to re-assess the health
    of the endpoint.

    Posture   P.Broker Transport  Transport  P.Broker   Posture
    Collectors Client  Client     Server     Server   Validators
      |         |         |           |         |           |
      |         | initial assessment complete   |           |
      |         |         |<--------->|         |event triggered
      |         |         |           |         |posture request


Sangster, et. al.          Expires Oct 2007                  [Page 26]


 Internet Draft             NEA Requirements                 Apr 2007
      |         |         |           |         |<----------|
      |         |         |     Posture Req     |           |
      |         | Pos Req |<----------|<--------|           |
      | Pos Req |<--------|           |         |           |
      |<--------|         |           |         |           |
      |Pos Resp |         |           |         |           |
      |-------->|Pos Resp |           |         |           |
      |         |-------->|     Posture Resp    |           |
      |         |         |---------->|-------->| Pos Resp  |
      |         |         |           |         |---------->|
      |         |         |           |         | Decision  |
      |         |         |  Posture Decision   |<----------|
      |         | Decision|<----------|<--------|           |
      | Decision|<--------|           |         |           |
      |<--------|         |           |         |           |
      |         |         |           |         |           |

    Figure 3: Illustration of NEA Posture Re-assessment Use case

 6.2.1 Triggered by NEA Client

    This use case allows for software on the endpoint or a user to
    determine that a re-assessment of the system is required.  There
    are a variety of reasons why such a re-assessment might be
    beneficial including: changes in its previously reported posture,
    detection of potentially suspicious behavior or even to enable the
    system to periodically poll the network to assess its condition
    relative to the latest policies.

 6.2.1.1 Example

    The desktops within a company's HR department have a history of
    poor security practices and eventual compromise.  The HR
    department administrator decides to deploy software on each
    desktop to monitor the use of security protective mechanisms to
    assure their use.  One day, an HR person accidentally turns off
    the desktop firewall.  The monitoring process detects the lack
    of a firewall and contacts the NEA Server to request a re-
    assessment of the firewall compliance.  The NEA Server returns a
    decision that the firewall must be re-activated to stay on the
    network.  The NEA Client explains the decision to the user and
    how to re-activate the firewall.  The HR person re-starts the
    firewall and initiates a request to re-join the network.

 6.2.1.2 Possible Flows & Protocol Usage

    The following describes the message flows through the NEA Reference
    Model for the HR department example:


Sangster, et. al.          Expires Oct 2007                  [Page 27]


 Internet Draft             NEA Requirements                 Apr 2007

    1. The desktop monitoring software which typically might act as
       a Posture Collector triggers the Posture Broker Client to
       initiate a posture re-assessment. This PB message contains a
       PA message indicating the desktop firewall has been
       disabled.
    2. The Posture Broker Client sends the PB message to the
       Posture Broker Server. The Posture Broker Client will create
       a new session for the re-assessment.
    3. The Posture Transport Client sends the PB message to the
       Posture Transport Server over the PT protocol.
    4. The Posture Broker Server receives the PB message and
       forwards the PA message to the Firewall Posture Validator
       for evaluation.
    5. The Firewall Posture Validator determines that the endpoint
       is no longer compliant because its firewall has been
       disabled.
    6. The Posture Validator generates a PA message that contains
       attributes indicating a non-compliant posture assessment
       result and remediation instructions for how to re-activate
       the firewall.
    7. The Posture Validator communicates the PA message with the
       posture assessment result to the Posture Broker Server and
       instructs it to respond back to the NEA Client.
    8. The Posture Broker Server generates a PB message including a
       global assessment decision of non-compliant and the PA
       message from the Firewall Posture Validator.
    9. The Posture Transport Server transports the PB message to
       the Posture Transport Client where it is passed to the
       Posture Broker Client.
    10. The Posture Broker Client processes the attribute containing the
       global assessment decision received from the NEA Server and
       displays the non-compliance messages to the user.
    11. The Posture Broker Client forwards the PA message to the
       Firewall Posture Collector; the Posture Collector displays the
       remediation instructions for how to enable the Desktop Firewall.
    12. The user is prompted to initiate a re-assessment after
       completing the remediation.
    13. Upon completion of the remediation, the NEA Client re-initiates
       a request for re-assessment and steps 1-4 are repeated.  This
       time the Firewall Posture Validator determines the endpoint is
       compliant and returns a successful posture assessment decision.
    14. The Posture Broker Server generates a PB message with a global
       assessment decision of compliant and returns this to the NEA
       Client.

 6.2.1.3 Impact on Requirements



Sangster, et. al.          Expires Oct 2007                  [Page 28]


 Internet Draft             NEA Requirements                 Apr 2007
    The following are several different aspects of the use case example
    that potentially need to be factored into the requirements.

       o Voluntary, endpoint (software) initiated posture re-
         assessment request
       o NEA Server requests specific firewall-oriented Posture
         Attributes
       o NEA Client (Firewall Posture Collector) interact with user to
         remediate problem

 6.2.2 Triggered by NEA Server

    In many cases, especially for re-assessment, the NEA Server may
    initiate specific or complete re-assessment of one or more
    endpoints triggered by:

     o Time (periodic)
     o Event occurrence

 6.2.2.1 Example

    An enterprise requires employees on the network to always stay
    up to date with security critical operating system patches.  A
    marketing employee joins the network and performs an initial
    assessment.  The assessment determines the employee's laptop is
    compliant.  Several hours later, a major operating system vendor
    releases a set of patches preventing a serious vulnerability
    that is being exploited on the Internet.

    The enterprise administrators make available the patches and
    change the network policy to require it to be installed by 5PM.
    This policy change causes the NEA Server to request a re-
    assessment to determine what endpoints are impacted and lacking
    the patches.  The marketing employee's laptop is re-assessed and
    determined to need the patches.  A remediation advisory is sent
    and presented to the employee how to obtain the patch and that
    it must be installed by 5PM.  The marketing employee immediately
    downloads and installs the patch and obtains an assertion that
    the patches are now installed.

    At 5PM the enterprise performs another re-assessment of all
    impacted endpoints to determine if they are now in compliance.
    The marketing employee's laptop is re-assessed and presents the
    assertion that it has the patches installed and thus is allowed
    to remain on the network.

 6.2.2.2 Possible Flows and Protocol Usage



Sangster, et. al.          Expires Oct 2007                  [Page 29]


 Internet Draft             NEA Requirements                 Apr 2007
    The following describes the message flows through the NEA Reference
    Model for the above example:

    1. Marketing employee joins network and completes an initial
       assessment resulting in a compliant decision.
    2. The Enterprise Administrator configures an OS Patch policy
       for indicating that recent patches are required on all
       endpoints by 5PM to prevent serious vulnerabilities.
    3. The NEA Server's OS Patch Posture Validator become aware of
       this policy change and creates a PA message requesting
       attributes describing OS patches in use and triggers the
       Posture Broker Server to initiate a posture re-assessment of
       all endpoints connected to the network.
    4. The Posture Broker creates a PB message that includes the PA
       message from the OS Patch Posture Validator.
    5. The Posture Broker Server gradually establishes a session
       with each available NEA Client.
    6. The Posture Broker Server sends the PB message to the
       Posture Broker Client.
    7. The Posture Transport Server carries the PB message to the
       Posture Transport Client over the PT protocol.
    8. The Posture Broker Client receives the PB message and
       forwards the PA message to the Posture Collector responsible
       for handling OS Patch Request Attribute(s).
    9. The OS Patch Posture Collector determines the OS patches
       present on the endpoint and if authorized by its disclosure
       policy creates a PA message containing the patch information
       attributes.
    10. The Posture Broker Client sends a PB message that includes
       the OS Patch PA message.
    11. The Posture Transport Client transports the PB message to
       the Posture Transport Server where it is passed to the
       Posture Broker Server.
    12. The Posture Broker Server receives the PB message and delivers
       the PA message to the OS Patch Posture Validator.
    13. The OS Patch Posture Validator extracts the attributes
       describing the current OS patches from the PA message and
       uses the values to determine whether the endpoint is
       compliant with the new policy. The Posture Validator
       determines that the endpoint is not compliant since it does
       not have the new OS patches installed.
    14. The Posture Validator generates a PA message that includes
       attributes stating the posture assessment decision is non-
       compliant and attributes containing the remediation
       instructions to enable the endpoint to download the required
       OS patches.
    15. The Posture Validator communicates the posture assessment
       result to the Posture Broker Server and its PA message.


Sangster, et. al.          Expires Oct 2007                  [Page 30]


 Internet Draft             NEA Requirements                 Apr 2007
    16. The Posture Broker Server generates a global assessment
       decision and sends a PB message with the decision and the OS
       Patch Posture Validator's PA message.
    17. The Posture Transport Server transports the PB message to
       the Posture Transport Client where it is passed to the
       Posture Broker Client.
    18. The Posture Broker Client processes the Result Attribute
       received from the NEA Server and displays the non-compliance
       decision to the user.
    19. The Posture Broker Client forwards the PA message containing the
       remediation instructions to the OS Patch Posture Collector; the
       Posture Collector guides the user with instructions on how to
       become compliant that includes downloading the appropriate OS
       patches to prevent the vulnerability.
    20. The marketing employee installs the required patches and how is
       in compliance.
    21. The NEA Client triggers a re-assessment of the OS Patches which
       causes a repeat of many of the steps above.  This time step 13
       the OS Patch Posture Validator determines the marketing
       employee's laptop is compliant.  It returns a re-usable (signed
       and dated) set of attributes that assert OS patch compliance to
       the latest policy.  These assertion attributes can be used in a
       future PA message from the OS Patch Collector instead of
       determining and providing the specific patch set posture as
       before.
    22. This time when the OS Patch Posture Collector receives the PA
       message that contains re-usable attributes asserting compliance
       which is caches for future use.
    23. Later at 5PM, the NEA Server triggers a gradual re-assessment to
       determine compliance to the patch advisory.  When the OS Patch
       Posture Collector receives the request for posture information
       (like in step 9-10 above) it returns the cached set of
       assertions (instead of specific OS patch information) to
       indicate that the patches have been installed instead of
       determining all the patches that have been installed on the
       system.
    24. When the OS Patch Posture Validator receives the PA message
       containing the assertions it is able to determine that they are
       authentic and acceptable instead of specific posture.  It
       returns a posture assessment decision of compliant thus allowing
       the laptop to remain on the network.

 6.2.2.3 Impact on Requirements

    The following are several different aspects of the use case example
    that potentially need to be factored into the requirements.

      o Server initiated re-assessment required due to urgent patch
        availability

Sangster, et. al.          Expires Oct 2007                  [Page 31]


 Internet Draft             NEA Requirements                 Apr 2007
      o NEA Client submits re-usable assertion attributes instead of
        posture that patch is installed
      o NEA Server capable of recognizing previously issued assertion
        attributes are sufficient instead of posture

 7. Requirements

    This section describes the requirements that will be used by the
    NEA WG to assess and compare candidate protocols for PA, PB and
    PT.  These requirements frequently express features that a
    candidate protocol must be capable of offering so that a
    deployer can decide to make use of that feature.  This section
    does not state requirements about what features of each protocol
    must be used during a deployment.

    For example, a requirement may exist for cryptographic security
    protections to be available from each protocol but this does not
    require that a deployer make use of all or even any of them
    should they deem their environment to offer other protections
    which are sufficient.

 7.1 Common Protocol Requirements

    The following are the common requirements that apply to the PA,
    PB and PT protocols in NEA conceptual architecture:

     C-1 NEA protocols MUST be capable of performing a multiple
         message dialog between the NEA Client and NEA Server.
         This allows for assessment models that require more than
         one round trip to complete the assessment. This also
         allows for updates to already reported posture
         information. These updates allow for detection of recent
         changes in the endpoint state (e.g. possibly due to a
         remediation).

     C-2 NEA protocols MUST allow posture assessment to occur
         before or after the endpoint has established network
         connectivity. The support for both time periods will
         facilitate multiple deployment models including those that
         leverage the network access technology to restrict access
         based on posture.  Should the WG select a protocol used
         only during one time period, this requirement would cause
         the selection of an additional protocol with coverage of
         the other time period.

Sangster, et. al.          Expires Oct 2007                  [Page 32]


 Internet Draft             NEA Requirements                 Apr 2007

     C-3 NEA protocols MUST provide a way for both the NEA Client
         and the NEA Server to initiate a posture re-assessment
         request as needed.

     C-4 NEA protocols MUST provide protection against active and
         passive attacks by intermediaries including protection to
         prevent replay based attacks.

     C-5 The PA and PB protocols defined by NEA MUST be agnostic of
         the transport i.e. PT protocol. For example, the PB
         protocol must provide a transport independent interface
         allowing the PA protocol to operate without change across
         a variety of network protocol environments (e.g.
         EAP/802.1X, PANA, and IKE/IPsec).

     C-6 The selection process for NEA protocols MUST evaluate and
         prefer the reuse of existing open standards that meet the
         requirements before defining new ones.  The goal of NEA is
         not to create additional alternative protocols where
         acceptable solutions already exist.

     C-7 NEA protocols MUST be highly scalable; the protocols MUST
         support many Posture Collectors on a large number of NEA
         Clients to be assessed by numerous Posture Validators
         residing on multiple NEA Servers.

     C-8 The protocols MUST support efficient transport of a large
         number of attributes messages between the NEA Client and
         the NEA Server.

     C-9 The protocols MUST support deployments that have large
         numbers of compliance policies.

     C-10 The protocols MUST allow for assessment modes that can
          reduce the amount information to be exchanged between the
          NEA Client and Server to complete an assessment.

 7.2 Posture Attribute (PA) Protocol Requirements

    The Posture Attribute (PA) protocol defines the transport and data
    model to carry posture and validation information between a
    particular Posture Collector associated with the NEA Client and a

Sangster, et. al.          Expires Oct 2007                  [Page 33]


 Internet Draft             NEA Requirements                 Apr 2007
    Posture Validator associated with an NEA Server. The PA protocol
    carries collections of standard attributes and vendor-specific
    attributes. The PA protocol itself is carried inside the PB
    protocol.

    The following requirements define the desired properties that form
    the basis for comparison and evaluation of candidate PA protocols.
    These requirements do not mandate the use of these properties, but
    merely that the candidate protocols are capable of offering the
    property if it should be needed.

     PA-1 The PA protocol MUST support transport of the required
          (standard) attributes defined in the data model.

     PA-2 The PA protocol MUST support the transport of vendor-specific
          attributes.

     PA-3 The PA protocol MUST enable a Posture Validator to request
          Posture and Assertion Attributes about particular components
          on the NEA Client system from its peer Posture Collector.

     PA-4 The PA protocol MUST enable a Posture Validator to request
          Posture and Assertion Attributes from its peer Posture
          Collector on more than one occasion using an existing or new
          session. This enables the Posture Validator to reassess the
          posture of a particular component or to request information
          about additional component.

     PA-5 The PA protocol MUST be capable of returning Results and
          Remediation Attributes from the Posture Validator. This
          enables the Posture Collector to learn the specific reason
          for a failed assessment and to aid in remediation and
          notification of the system owner.

     PA-6 The PA protocol SHOULD support expression of standard
          attributes to describe remediation state of components, for
          example, last update time or remediation server used. These
          attributes are used after remediation so that a Posture
          Validator can synchronize with a Posture Collector and
          continue remediation.

     PA-7 The PA protocol MUST support authentication, integrity, and
          confidentiality of attributes, sent between a Posture

Sangster, et. al.          Expires Oct 2007                  [Page 34]


 Internet Draft             NEA Requirements                 Apr 2007
          Collector and Posture Validator. This enables end-to-end
          security across an NEA deployment that might involve
          traversal of several systems.

     PA-8 The PA protocol MUST be capable of carrying attributes that
          contain binary data including encrypted content.

     PA-9 String attributes MUST support being encoded with an
          encoding standard that supports internationalization.

 7.3 Posture Broker (PB) Protocol Requirements

    The PB protocol supports multiplexing of Posture Attribute messages
    (based on PA protocol) from multiple Posture Collectors associated
    with a NEA Client and transmitting them to an NEA Server, where
    they can be de-multiplexed to potentially multiple corresponding
    Posture Validators.

    The PB protocol carries the global assessment decision made by the
    Posture Broker Server, taking into account the results of the
    Posture Validators involved in the assessment, to the Posture
    Broker Client. The PB protocol also aggregates and transports
    advisories and notifications such as remediation instructions and
    patch references from one or more Posture Validators.

    The requirements for the PB protocol are:

     PB-1 The PB protocol MUST be capable of carrying the Result
          Attributes and, if appropriate, the Remediation Attributes
          from the Posture Broker Server to the Posture Broker Client.

     PB-2 The PB protocol MUST carry identifiers that are used by the
          Posture Brokers to route (deliver) messages between peer
          Posture Collectors and Posture Validators. Such message
          routing should facilitate dynamic (de)registration of Posture
          Collectors and Validators to the NEA service.  For example, a
          dynamically registered Anti-Virus Posture Validator should be
          able to subscribe to receive messages from its respective
          Anti-Virus Posture Collector on NEA Clients.

     PB-3 The PB protocol MUST support creation and management of a
          session that can carry a message dialog between one or more
          Posture Collectors and Posture Validators.  This allows each

Sangster, et. al.          Expires Oct 2007                  [Page 35]


 Internet Draft             NEA Requirements                 Apr 2007
          party to send multiple messages before the dialog is
          complete.

     PB-4 The PB protocol MAY support authentication, integrity and
          confidentiality protection for the attribute messages it
          carries between an NEA Client and Server.  This provides
          security protection for a message dialog of the groupings of
          attribute messages exchanged between the NEA Client and
          Server. Such protection is orthogonal to PA protections
          (which are end to end) and allow for simpler Posture
          Collector and Validators be implemented, and for
          consolidation of cryptographic operations possibly improving
          scalability and manageability.

     PB-5 The PB protocol MUST support grouping of attribute messages
          to optimize transport of messages and minimize round trips.

 7.4 Posture Transport (PT) Protocol Requirements

    The Posture Transport (PT) protocol carries PB protocol messages
    between the Posture Transport Client and the Posture Transport
    Server. PT is responsible for providing a protected transport for
    the PB protocol. The PT protocol may itself be transported by one
    or more concatenated sessions using lower layer protocols, such as
    802.1X, RADIUS, TLS, or IKE.

    This section defines the requirements that candidate PT protocols
    must be capable of supporting.

     PT-1 The PT protocol SHOULD incur low overhead to accommodate us
          on low bandwidth links

     PT-2 The PT protocol SHOULD be capable of supporting a half-duplex
          communication environment.

     PT-3 The PT protocol MUST NOT attempt to interpret the contents of
          PB messages being transported, i.e., the data it is carrying
          must be opaque to it.

     PT-4 The PT protocol MUST be capable of protecting the integrity
          and confidentiality of the PB messages between the Posture
          Transport Client and the Posture Transport Server. This
          includes protection against replay and reflection.



Sangster, et. al.          Expires Oct 2007                  [Page 36]


 Internet Draft             NEA Requirements                 Apr 2007
     PT-5 The PT protocol MUST provide reliable delivery for the PB
          protocol. This includes the ability to perform fragmentation,
          reassembly, and detect duplicates and reorder to provide in-
          sequence delivery, as required.

     PT-6 The PT protocol MUST be capable of supporting mutual
          authentication between the Posture Transport Client and the
          Posture Transport Server. This MAY occur by leveraging by-
          products (e.g., keys) supplied by the PB protocol
          authentication.

     PT-7 The PT protocol MUST support establishing a restricted
          session between the Posture Transport Client and the Posture
          Transport Server prior to the NEA Client being granted
          unrestricted network access.

     PT-8 The PT protocol MUST allow either the Posture Transport
          Client or the Posture Transport Server to initiate a
          restricted session for use by NEA when both parties have
          necessary network addresses established.

 8. Security Considerations

    This document defines the functional requirements for the PA, PB
    and PT protocols used for Network Endpoint Assessment.  As such, it
    does not define a specific protocol stack or set of technologies,
    so this section will highlight security issues that may apply to
    NEA in general or to particular aspects of the reference model's
    components.

 8.1 Trust

    Network Endpoint Assessment involves assessing the posture of
    endpoints entering or already on the network against compliance
    policies to assure they are adequately protected.  Therefore, there
    is an implied distrusting of endpoints until there is reason to
    believe (based on posture information) that they are well protected
    and can be trusted to not infect/attack other endpoints.  On the
    network provider side, the NEA Client normally is expected to trust
    the network infrastructure systems not to misuse any disclosed
    posture information (see section 9) and any remediation
    instructions necessary to join the network.  The NEA Client
    normally needs to trust that the NEA Server will only request
    information required to determine whether the endpoint is safe to
    access the network assets.

    In between the NEA Client and Server exists a network that is not
    assumed to be trustworthy.  Therefore, little about the network is

Sangster, et. al.          Expires Oct 2007                  [Page 37]


 Internet Draft             NEA Requirements                 Apr 2007
    implicitly trusted beyond its willingness and ability to transport
    the exchanged messages in a timely manner.  The amount of trust
    given to each of these parties is deployment specific.  The NEA
    Reference Model intends to provide security mechanisms to reduce
    the amount of trust that must be assumed by a deployer. The
    following sections will discuss each area in more detail.

 8.1.1 Endpoint Components

    For NEA to properly operate, the endpoint needs to be trusted to
    accurately represent the requested security posture of the endpoint
    to the NEA Server.  By NEA WG charter, the NEA Reference Model does
    not explicitly specify how to detect or prevent lying endpoints
    that intentionally misrepresent their posture.  Similarly, the
    detection of malware (e.g. root kits) that are able to trick the
    Posture Collectors into returning incorrect information is the
    subject for research and standardization outside the IETF (e.g.
    Trusted Computing Group) and is not specifically addressed by the
    model.  However, if such mechanisms do come into existence, the NEA
    Reference Model should be able to accommodate these technologies by
    allowing them to communicate over PA to Posture Validators or work
    orthogonally to protect the NEA components from attack and assure
    the ability of Posture Collectors to view the actual posture.

    Besides having to trust the integrity of the NEA components and
    their ability to accurately collect and report Posture Attributes
    about the endpoint, we try to limit other assumed trust.  Most of
    the usage models for NEA expect the posture information to be sent
    to the NEA Server for evaluation and decision making.  However, NEA
    implementations may choose to send or pre-provision some policies
    to the endpoint for evaluation which would assume more trust in the
    endpoint.  In this case, the NEA Server must trust the endpoint's
    policy storage, comparison and reporting mechanisms to not falsify
    the results of the posture evaluation.

    Generally the endpoint should not trust network communications
    (e.g. inbound connection requests) unless it has been specifically
    authorized by the user or owner defined policy.  The NEA Reference
    Model assumes all the NEA Client components are local to the
    endpoint.  Unsolicited communications originating from the network
    should be inspected by normal security protective mechanisms (e.g.
    firewalls, security protocols, IDS/IPS, etc).  Communications
    associated with the NEA assessment or re-assessment requires some
    level of trust particularly when initiated by the NEA Server (re-
    assessment).  The degree of trust can be limited by use of strong
    security protections on the messages as dictated by the network
    deployer and the endpoint user/owner policy.

 8.1.2 Network Communications

Sangster, et. al.          Expires Oct 2007                  [Page 38]


 Internet Draft             NEA Requirements                 Apr 2007

    Between the NEA Client and Server there may exist a variety of
    types of devices to facilitate the communication path. Some of the
    devices may serve as intermediaries (e.g. simple L2 switches) so
    may have the opportunity to observe and change the message dialogs.

    The intermediary devices may fall into a few major categories which
    impact our degree of trust in their operation.  First, some
    intermediary devices may act as message forwarders or carriers for
    PT (e.g. L2 switches, L3 routers, or alike).  For these devices we
    trust them not to drop the messages or actively DOS the NEA
    deployment.

    Second, some intermediary devices may be part of the access control
    layer of the network and as such we trust them to enforce policies
    including remediation isolation and access controls given to them
    by the NEA Server.  These devices may also fill other types of
    roles described in this section.

    Third, some devices may act as a termination point or proxy for the
    PT carrier protocol.  Frequently, it's expected that the carrier
    protocol for PT will terminate on the NEA Client and Server so will
    be co-resident with the PT endpoints.  If this expectation is not
    present in a deployment, we must trust the termination device to
    accurately proxy the PT messages without alteration into the next
    carrier protocol (e.g. if inner EAP method messages are
    transitioned from an EAP [EAP] tunnel to a RADIUS [RADIUS]
    session).

    Fourth, many networks include infrastructure such as IDS/IPS
    devices which monitor and take corrective action when suspicious
    behavior is observed on the network.  These devices may have a
    relationship with the NEA Server which is not within scope for this
    specification.  Devices trusted by the NEA Server to provide
    security information that might affect the NEA Server's decisions
    are trusted to operate properly and not cause the NEA Server to
    make incorrect decisions.

    Finally, other types of intermediary devices may exist on the
    network between the NEA Client and Server which are present to
    service other network functions beside NEA.  These devices might be
    capable of passively eavesdropping on the network archiving
    information for future purposes (e.g. replay or privacy invasion)
    or more actively attacking the NEA protocols.  Because these
    devices do not play a role in facilitating NEA, it's essential that
    NEA deployers not be forced to trust them for NEA to reliably
    operate.  Therefore, it is required that NEA protocols offer
    security protections to assure these devices can't steal, alter,
    spoof or otherwise damage the reliability of the message dialogs.

Sangster, et. al.          Expires Oct 2007                  [Page 39]


 Internet Draft             NEA Requirements                 Apr 2007

 8.1.3 NEA Server Components

    The NEA Server components including systems providing (remote)
    Posture Validation are generally trusted to enforce the specified
    assessment policies and are protected from compromise.  It's
    essential that NEA Server deployments properly safeguard these
    systems from a variety of attacks from the network and endpoints to
    assure their proper operation.

    While we need to trust the NEA Server operation to some degree,
    rigorous security architecture, analysis, monitoring and review
    should assure their network footprint and internal workings are
    protected from attack.  The network footprint would include
    communications over the network which might be subject to attack
    such as policy provisioning from the policy authoring systems and
    general security and system management protocols.  Some examples of
    internal workings include protections from malware attacking the
    intra-NEA component communications, component inner workings or
    policy stores particularly those that would change the resulting
    decisions or enforcements.  The NEA Server needs to trust the
    underlying carrier protocols to properly behave and safeguard the
    exchanged messages with the endpoint.  The NEA Reference Model does
    not attempt to address integrity protection of the operating system
    or other software supporting the NEA Server.

    One interesting example combines aspects of both areas, where each
    of the NEA Server components physically reside in different
    systems.  This might occur when a Posture Validator (or a remote
    backend server used by a local Posture Validator) exists on another
    system from the Posture Broker Server.  Similarly, the Posture
    Broker Server might exist on a separate system from the Posture
    Transport Server.  When there is a physical separation, the
    communications between the NEA Server components must ensure that
    the PB session and PA message dialogs are resistant to active and
    passive attacks, in particular, guarded against eavesdropping,
    forgery and replay.

 8.2 Protection Mechanisms at Multiple Layers

    Inherent in the requirements is a desire for NEA candidate
    protocols throughout the Reference Model to be capable of providing
    strong security mechanisms as dictated by the particular
    deployment.  In some cases, these mechanisms may appear to provide
    overlapping or redundant protections.  These apparent overlaps may
    be used in combination to offer a defense in depth approach to
    security.  However because of the layering of the protocols each



Sangster, et. al.          Expires Oct 2007                  [Page 40]


 Internet Draft             NEA Requirements                 Apr 2007
    set of protections offers slightly different benefits and levels of
    granularity.

    For example, a deployer may wish to encrypt traffic at the PT layer
    to protect against some forms of traffic analysis or interception
    by an eavesdropper.  Additionally, the deployer may also
    selectively encrypt messages containing the posture of an endpoint
    to achieve end to end confidentiality to its peer Posture
    Validator.  In particular, this might be desired when the Posture
    Validator is not co-located with the PT Server so the information
    will traverse additional network segments after the PT protections
    have been enforced and the Posture Validator can authenticate the
    peer Posture Collector (or vice versa).

    Different use cases and environments for the NEA technologies will
    likely influence the selection of the strength and security
    mechanisms employed during an assessment.  The goal of the NEA
    requirements is to encourage the selection of technologies and
    protocols that are capable of enforcing the necessary protections
    for a wide variety of types of assessment.

 8.3 Relevant Classes of Attack

    A variety of attacks are possible against the NEA protocols and
    assessment technologies. This section does not include a full
    security analysis, but wishes to highlight a few attacks that
    influenced the requirement definition and should be considered by
    deployers selecting use of protective mechanisms within the NEA
    Reference Model.

    As discussed, there are a variety of protective mechanisms included
    in the requirements for candidate NEA protocols.  Different use
    cases and environments may cause deployers to decide not to use
    some of these mechanisms; however this should be done with an
    understanding that the deployment may become vulnerable to some
    classes of attack.  As always a balance of risk vs. performance,
    usability, manageability and other factors should be taken into
    account.

    The following types of attacks are applicable to network protocols
    defined in the Reference Model and thus should be considered by
    deployers.

 8.3.1 Man-in-the-Middle (MITM)

    MITM attacks against a network protocol exist when a third party
    can insert itself between two communicating entities without
    detection and gain benefit from involvement in their message


Sangster, et. al.          Expires Oct 2007                  [Page 41]


 Internet Draft             NEA Requirements                 Apr 2007
    dialog.  For example, a malware infested system might wish to join
    the network replaying posture observed from a clean endpoint
    entering the network.  This might occur by the system inserting
    itself into and actively proxying an assessment message dialog. The
    impact of the damage caused by the MITM can be limited or prevented
    by selection of appropriate protocol protective mechanisms.

    For example, the requirement for PT to be capable of supporting
    mutual authentication prior to any endpoint assessment message
    dialogs prevents the attacker from inserting themselves as an
    active participant (proxy) within the communications without
    detection (assuming attacker lacks credentials convincing either
    party it is legitimate).  Re-usable credentials should not be
    exposed on the network to assure the MITM doesn't have a way to
    impersonate either party.  The PT requirement for confidentiality
    protected (encrypted) communications linked to the above
    authentication prevent a passive MITM from eavesdropping by
    observing the message dialog and keeping a record of the conformant
    posture values for future use.  The PT requirement for replay
    prevention stops the passive MITM from later establishing a new
    session (or hijacking an existing session) and replaying previously
    observed message dialogs.

 8.3.2 Message Modification

    Without message integrity protection, an attacker capable of
    interception of a message might be capable of modifying its
    contents and causing an incorrect decision to be made.  For
    example, the attacker might change the Posture Attributes to always
    reflect incorrect values and thus prevent a compliant system from
    joining the network.  Unless the NEA Server could detect this
    change, the attacker could prevent admission to large numbers of
    clean systems. Conversely, the attacker could allow malware
    infested machine to be admitted by changing the sent Posture
    Attributes to reflect compliant values, thus hiding the malware
    from the Posture Validator.

    In order to protect against such attacks, the PT includes a
    requirement for strong integrity protection (e.g. including a
    protected hash like an HMAC [HMAC] of the message) so this change
    would be detected.  PA includes a similar requirement to enable end
    to end integrity protection of the attributes extending the
    protection all the way to the Posture Validator even if it existed
    on another system behind the NEA Server.

    It is important that integrity protection schemes leverage fresh
    secret information (not known by the attacker) that is bound to the
    authenticated session such as an HMAC using a derived fresh secret
    associated with the session.  Inclusion of freshness information

Sangster, et. al.          Expires Oct 2007                  [Page 42]


 Internet Draft             NEA Requirements                 Apr 2007
    allows the parties to protect against some forms of message replay
    attacks using secret information from prior sessions.

 8.3.3 Message Replay or Attribute Theft

    An attacker might listen to the network recording message dialogs
    or attributes from a compliant endpoint for later re-use to the
    same NEA Server or just to build an inventory of software running
    on other systems watching for known vulnerabilities.  The NEA
    Server needs to be capable of detecting the replay of posture
    and/or the model must assure that the eavesdropper can not obtain
    the information in the first place.

    The cryptographic protection from disclosure of the PT, PB or PA
    messages prevents the passive listener from observing the exchanged
    messages and thus prevents theft of the information for future use.
    However an active attacker might be able to replay the encrypted
    message if there is no strong link to the originating party or
    session.  By linking the encrypted message dialog to the
    authentication event and leveraging per-transaction freshness and
    keying exchanges, this prevents a replay of the encrypted
    transaction.

 8.3.4 Other Types of Attack

    This section doesn't claim to present an exhaustive list of attacks
    against the NEA Reference Model.  Several types of attack will
    become easier to understand and analyze once the NEA WG has created
    specifications describing the specific selected technologies and
    protocols to be used within NEA.  One such area is Denial of
    Service (DoS).  At this point in time it's not practical to try to
    define the all of the potential exposures present within the NEA
    protocols, so such an analysis should be included in the Security
    Considerations sections of the selected NEA protocols.

    However, it's important that the NEA Server be resilient to DoS
    attacks as an outage might affect large numbers of endpoints
    wishing to join or remain on the network.  The NEA Reference Model
    expects that the underlying carrier protocols would have some
    amount of DoS resilience and that the NEA protocols would need to
    build upon that base with their own protections.  To help narrow
    the window of attack by unauthenticated parties, it is envisioned
    that NEA Servers would employ carrier protocols that enable an
    early authentication of the requesting endpoint as one technique
    for filtering out attacks.  The PT protocol also requires support
    of a mutual authentication that can be used in addition to (or in
    lieu of) the carrier authentication to limit the window of
    unauthenticated attack against the posture assessment.


Sangster, et. al.          Expires Oct 2007                  [Page 43]


 Internet Draft             NEA Requirements                 Apr 2007
    Attacks occurring after the authentication would at least come from
    sources possessing valid credentials and could potentially be held
    accountable.  Similarly, NEA protocols should offer strong replay
    protection to prevent DoS based attacks based on replayed sessions
    and messages.  Posture assessment should be strongly linked with
    the carrier and/or Posture Transport authentications that occurred
    to assure the posture came from the authenticated party.
    Cryptographic mechanisms and other potentially resource intensive
    operations should be used sparingly until the validity of the
    request can be established.  This and other resource/protocol based
    attacks can be evaluated once the NEA technologies and their
    cryptographic use have been selected.

 9. Privacy Considerations

    While there are a number of beneficial uses of the NEA
    technology for organizations that own and operate networks
    offering services to similarly owned endpoints, these same
    technologies might enhance the potential for abuse and invasion
    of personal privacy if misused.  This section will discuss a few
    of the potential privacy concerns raised by the deployment of
    this technology and offer some guidance to implementers.

    The NEA technology enables greater visibility into the
    configuration of an endpoint from the network.  Such
    transparency enables the network to take into consideration the
    strength of the endpoint's security mechanisms when making
    access control decisions to network resources.  However this
    transparency could also be used to enforce restrictive policies
    to the detriment of the user by limiting their choice of
    software or prying into past or present uses of the endpoint.

    The scope of the NEA WG was limited to specify protocols
    targeting the use cases where the endpoints and network are
    owned by the same party or a clear expectation of
    disclosure/compliance has been established with the network
    owner.  This is a familiar model for governments, institutions
    and a wide variety of enterprises that provide endpoints to
    their employees to perform their jobs.  In many of these
    situations, the endpoint is purchased and owned by the
    enterprise and they often reserve the right to audit and
    possibly dictate the allowable uses of the device.  The NEA
    technologies allow them to automate the inspection of the
    contents of an endpoint and this information may be linked to


Sangster, et. al.          Expires Oct 2007                  [Page 44]


 Internet Draft             NEA Requirements                 Apr 2007
    the access control mechanisms on the network to limit their use
    should they not meet minimal compliance levels.

    In these environments, the level of personal privacy the
    employee enjoys may be significantly reduced subject to local
    laws and customs.  However, in situations where the endpoint is
    owned by the user or where local laws protect the rights of the
    user even when using endpoints owned by another party, it's
    critical that the NEA implementation enable the user to control
    what endpoint information is shared with the network.  Such
    controls imposed by the user might prevent or limit their
    ability to access certain networks or protected resources, but
    this must be a user choice.

 9.1 Implementer Considerations

    The NEA WG is not defining NEA Client policy content standards
    nor defining requirements on aspects of an implementation
    outside of the network protocols, however the following guidance
    is provided to encourage privacy friendly implementations for
    broader use than just the enterprise oriented setting described
    above.

    NEA Client implementations are encouraged to offer an opt-in
    policy to users prior to sharing their endpoint's posture
    information.  The opt-in mechanism should be on a per-user, per-
    NEA Server basis so each user can control which networks can
    access any posture information on their system.  For those
    networks that are allowed to assess the endpoint, the user
    should be able to specify granular restrictions on what
    particular types and specific attributes Posture Collectors are
    allowed to disclose.

    Requests for attributes that are explicitly not allowed to be
    shared should result in a user notification and/or log record so
    the user can assess whether the service is doing something
    undesirable or whether the user is willing to share this
    additional information in order to gain access.  Some products
    might consider policy-driven support for prompting the user for
    authorization with a specific description of the posture
    information being requested prior to sending it to the NEA
    Server.


Sangster, et. al.          Expires Oct 2007                  [Page 45]


 Internet Draft             NEA Requirements                 Apr 2007
    It's envisioned that the owner of the endpoint is able to
    specify disclosure policies that may override or influence the
    user's policies of the attributes visible to the network.  If
    the owner disclosure policy allows for broader posture
    availability than the user policy, the implementation should
    provide a feedback mechanism to the user so they understand the
    situation and can choose to whether to use the endpoint in those
    circumstances.

    In such a system, it is important that the user's policy
    authoring interface be easy to understand and clearly
    articulates the current disclosure policy of the system
    including any influences from the owner policy.  Users should be
    able to understand what posture is available to the network and
    the general impact of this information being known.  In order to
    minimize the list of restrictions enumerated, use of a
    conservative default disclosure policy such as 'that which is
    not explicitly authorized for disclosure is not allowed' might
    make sense to avoid unintentional leakage of information.

    NEA Server implementations should provide newly subscribing
    endpoints with a disclosure statement that clearly states:

      o What information is required,
      o How this information will be used/protected,
      o What local privacy policies are applicable.

    This information will empower subscribing users to decide
    whether the disclosure of this information is acceptable
    considering local laws and customs.

 9.2 Minimizing Attribute Disclosure

    One important issue in the design of the NEA Reference Model and
    protocols is enabling endpoints to disclose minimal information
    required to establish compliance with network policies.  There
    are several models that could be considered as to how the
    disclosed attribute set is established.  Each model has benefits
    and issues and these descriptions are provided to seed
    discussion as to whether each is feasible and whether a
    preferred approach will emerge potentially impacting the
    protocols and general privacy of NEA.


Sangster, et. al.          Expires Oct 2007                  [Page 46]


 Internet Draft             NEA Requirements                 Apr 2007

    The first model is easy to implement and deploy but has privacy
    and potentially latency and scalability implications.  This
    approach effectively defaults the local policy to send all known
    NEA Posture Attributes when an assessment occurs.  While this
    might simplify deployment, it exposes a lot of information that
    is potentially not relevant to the security assessment of the
    system and may introduce privacy issues.  For example, is it
    really important that the enterprise know whether Firefox is
    being used on system instead of other browsers during the
    security posture assessment?

    The second model involves an out-of-band provisioning of the
    disclosure policy to all endpoints.  This model may involve the
    enterprise establishing policy that a particular list of
    attributes must be provided when a NEA exchange occurs.
    Endpoint privacy policy may filter this attribute list, but such
    changes could cause the endpoint not to be given network or
    resource access.  This model simplifies the network exchange as
    the endpoint always sends the filtered list of attributes when
    challenged by a particular network.  However this approach
    requires an out-of-band management protocol to establish and
    manage the NEA disclosure policies of all system.

    The third model avoids the need for pre-provisioning of
    disclosure policy by allowing the NEA Server to specifically
    request what attributes are required.  This is somewhat
    analogous to the policy being provisioned during the NEA
    exchanges so is much easier to manage.  This model allows for
    the NEA Server to iteratively ask for attributes based on the
    values of prior attributes.  Note, even in this model the NEA
    protocols are not expected to be a general purpose query
    language, but rather allow the NEA Server to request specific
    attributes as only the defined attributes are possible to
    request.   For example, an enterprise might ask about the OS
    version in the initial message dialog and after learning the
    system is a Linux system, ask for a different/smaller set of
    attributes specific to Linux then it would if the endpoint was a
    Windows system.  It's envisioned that this approach might
    minimize the set of attributes sent over the network if the
    assessment is of a complex system (such as trying to understand
    what patches are missing from an OS).


Sangster, et. al.          Expires Oct 2007                  [Page 47]


 Internet Draft             NEA Requirements                 Apr 2007
    In each model, the user could create a set of per-network
    privacy filter policies enforced by the NEA Client to prevent
    the disclosure of attributes felt to be personal in nature or
    not relevant to a particular network.  Such filters would
    protect the privacy of the user but might result in the user not
    being allowed access to the desired asset (or network) or being
    provided limited access.

 10. References

 10.1 Normative References

    [EAP]          Aboba, B., Blunk, L., Vollbrecht, J., Carlson
                   J., and H. Levkowetz, "Extensible Authentication
                   Protocol (EAP)", RFC 3748, June 2004.

    [HMAC]         Krawczyk, H., Bellare, M., and R. Canetti,
                   "HMAC: Keyed-Hashing for Message
                   Authentication", RFC 2104, February 1997.

    [IPSEC]        Kent, S., Seo K., "Security Architecture for the
                   Internet Protocol", RFC 4301, December 2005.

    [KEYWORDS]     S. Bradner, "Keywords for use in RFCs to
                   Indicate Requirement Levels", RFC2119 (BCP),
                   IETF, March 1997.

    [RADIUS]       Rigney, C., Willens, S., Rubens, A., and
                   Simpson, W., "Remote Authentication Dial In User
                   Service (RADIUS)", RFC 2865, June 2000.

    [TLS]          Dierks, T., Rescorla, E., "The Transport Layer
                   Security (TLS) Protocol Version 1.1", RFC 4346,
                   April 2006.


 10.2 Informative References

    [CNAC]         Cisco, Cisco's Network Admission Control Main
                   Web Site, http://www.cisco.com/go/nac

    [NAP]          Microsoft, Network Access Protection Main Web
                   Site, http://www.microsoft.com/nap


Sangster, et. al.          Expires Oct 2007                  [Page 48]


 Internet Draft             NEA Requirements                 Apr 2007

    [TNC]          Trusted Computing Group, Trusted Network Connect
                   Main Web Site,
                   https://www.trustedcomputinggroup.org/groups/net
                   work/

 Acknowledgments

    The authors of this draft would like to acknowledge the NEA working
    group members who have contributed to previous requirements and
    problem statement drafts that influenced the direction of this
    specification: Kevin Amorin, Diana Arroyo, Uri Blumenthal, Alan
    DeKoK, Steve Hanna, Thomas Hardjono, Ravi Sahita, Mauricio Sanchez,
    Jeff Six, Susan Thompson, John Vollbrecht, Nancy Winget, Han Yin,
    Hao Zhou.

 Authors' Addresses

   Hormuzd Khosravi
   Intel
   2111 NE 25th Avenue
   Hillsboro, OR 97124 USA
   Phone: +1 503 264 0334
   Email: hormuzd.m.khosravi@intel.com

   Mahalingam Mani
   Avaya Inc.
   1033 McCarthy Blvd.
   Milpitas, CA 95035 USA
   Phone: +1 408 321-4840
   mmani@avaya.com

   Kaushik Narayan
   Cisco Systems Inc.
   10 West Tasman Drive
   San Jose, CA 95134
   Phone: +1 408 526-8168
   kaushik@cisco.com

   Paul Sangster
   Symantec Corporation
   6825 Citrine Dr
   Carlsbad, CA 92009 USA
   Email: Paul_Sangster@symantec.com

   Joseph Tardo
   Nevis Networks

Sangster, et. al.          Expires Oct 2007                  [Page 49]


 Internet Draft             NEA Requirements                 Apr 2007
   500 N. Bernardo Ave.
   Mountain View, CA 94043 USA
   Email: joseph.tardo@nevisnetworks.com

 Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided
   on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
   IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
   WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
   WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
   ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
   FITNESS FOR A PARTICULAR PURPOSE.

 Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed
   to pertain to the implementation or use of the technology described
   in this document or the extent to which any license under such
   rights might or might not be available; nor does it represent that
   it has made any independent effort to identify any such rights.
   Information on the procedures with respect to rights in RFC
   documents can be found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use
   of such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository
   at http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.



Sangster, et. al.          Expires Oct 2007                  [Page 50]