draft-ietf-sacm-requirements-03.txt   draft-ietf-sacm-requirements-04.txt 
SACM N. Cam-Winget SACM N. Cam-Winget
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Intended status: Informational L. Lorenzin Intended status: Informational L. Lorenzin
Expires: July 6, 2015 Pulse Secure Expires: September 9, 2015 Pulse Secure
January 2, 2015 March 8, 2015
Secure Automation and Continuous Monitoring (SACM) Requirements Secure Automation and Continuous Monitoring (SACM) Requirements
draft-ietf-sacm-requirements-03 draft-ietf-sacm-requirements-04
Abstract Abstract
This document defines the scope and set of requirements for the This document defines the scope and set of requirements for the
Secure Automation and Continuous Monitoring working group. The Secure Automation and Continuous Monitoring (SACM) architecture, data
requirements and scope are based on the agreed upon use cases. model and protocols. The requirements and scope are based on the
agreed upon use cases.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 6, 2015. This Internet-Draft will expire on September 9, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requirements for SACM . . . . . . . . . . . . . . . . . . 3 2.1. Requirements for SACM . . . . . . . . . . . . . . . . . . 3
2.2. Requirements for the Architecture . . . . . . . . . . . . 5 2.2. Requirements for the Architecture . . . . . . . . . . . . 6
2.3. Requirements for the Data Model . . . . . . . . . . . . . 6 2.3. Requirements for the Information Model . . . . . . . . . 7
2.4. Requirements for Transport Protocols . . . . . . . . . . 9 2.4. Requirements for the Data Model . . . . . . . . . . . . . 7
3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 2.5. Requirements for Data Model Operations . . . . . . . . . 9
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 2.6. Requirements for Transport Protocols . . . . . . . . . . 10
5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 3. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11
5.1. Trust between Provider and Requestor . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6.1. Normative References . . . . . . . . . . . . . . . . . . 12 5.1. Trust between Provider and Requestor . . . . . . . . . . 12
6.2. Informative References . . . . . . . . . . . . . . . . . 12 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 6.1. Normative References . . . . . . . . . . . . . . . . . . 13
6.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
Today's environment of rapidly-evolving security threats highlights Today's environment of rapidly-evolving security threats highlights
the need to automate the sharing of such information while protecting the need to automate the sharing of such information while protecting
user information as well as the systems that store, process, and user information as well as the systems that store, process, and
transmit this information. Security threats can be detected in a transmit this information. Security threats can be detected in a
number of ways. SACM's charter focuses on how to collect and share number of ways. SACM's charter focuses on how to collect and share
this information based on use cases that involve posture assessment this information based on use cases that involve posture assessment
of endpoints. of endpoints.
Scalable and sustainable collection, expression, and evaluation of Scalable and sustainable collection, expression, and evaluation of
endpoint information is foundational to SACM's objectives. To secure endpoint information is foundational to SACM's objectives. To secure
and defend a network one must reliably determine what devices are on and defend a network, one must reliably determine what devices are on
the network, how those devices are configured from a hardware the network, how those devices are configured from a hardware
perspective, what software products are installed on those devices, perspective, what software products are installed on those devices,
and how those products are configured. We need to be able to and how those products are configured. We need to be able to
determine, share, and use this information in a secure, timely, determine, share, and use this information in a secure, timely,
consistent, and automated manner to perform endpoint posture consistent, and automated manner to perform endpoint posture
assessments. assessments.
This document focuses on describing the requirements for facilitating This document focuses on describing the requirements for facilitating
the exchange of posture assessment information, in particular, for the exchange of posture assessment information, in particular, for
the use cases as exemplified in [I-D.ietf-sacm-use-cases].Also, this the use cases as exemplified in [I-D.ietf-sacm-use-cases]. Also,
document uses terminology defined in [I-D.ietf-sacm-terminology]. this document uses terminology defined in
[I-D.ietf-sacm-terminology].
2. Requirements 2. Requirements
This document defines requirements based on the SACM use cases This document defines requirements based on the SACM use cases
defined in [I-D.ietf-sacm-use-cases]. This section describes the defined in [I-D.ietf-sacm-use-cases]. This section describes the
requirements used by SACM to assess and compare candidate data requirements used by SACM to assess and compare candidate data
models, their interfaces and protocols to suit the SACM architecture. models, interfaces, and protocols, to suit the SACM architecture.
These requirements express characteristics or features that a These requirements express characteristics or features that a
candidate protocol or data model must be capable of offering to candidate protocol or data model must be capable of offering to
ensure security and interoperability. ensure security and interoperability.
In order to address the needs for determining, sharing and using In order to address the needs for determining, sharing, and using
posture information, the following tasks should be considered: posture information, the following tasks should be considered:
1. Define the assets. This is what we want to know about an asset. 1. Define the assets. This is what we want to know about an asset.
For instance, organizations will want to know what software is For instance, organizations will want to know what software is
installed and its many critical security attributes such as patch installed and its many critical security attributes such as patch
level. level.
2. Resolve what assets actually compose an endpoint. This requires 2. Resolve what assets actually compose an endpoint. This requires
populating the data elements and attributes needed to exchange populating the data elements and attributes needed to exchange
information pertaining to the assets composing an endpoint. information pertaining to the assets composing an endpoint.
skipping to change at page 3, line 38 skipping to change at page 3, line 44
4. Evaluate the collected instances of the asset data against those 4. Evaluate the collected instances of the asset data against those
expressed in the policy. expressed in the policy.
5. Report the results of the evaluation. 5. Report the results of the evaluation.
2.1. Requirements for SACM 2.1. Requirements for SACM
Many deployment scenarios can be instantiated to address the above Many deployment scenarios can be instantiated to address the above
tasks and use cases defined in [I-D.ietf-sacm-use-cases]. To ensure tasks and use cases defined in [I-D.ietf-sacm-use-cases]. To ensure
interoperability, scalability and flexibility in any of these interoperability, scalability, and flexibility in any of these
deployments, the following requirements are defined for proposed SACM deployments, the following requirements are defined for proposed SACM
standards: standards:
G-001 Solution Extensibility: The data models, protocols and G-001 Solution Extensibility: The data models, protocols, and
transports defined by SACM MUST be extensible to allow support for transports defined by SACM MUST be extensible to allow support for
non-standard and future extensions. non-standard and future extensions.
1. The transport protocol MUST support the ability to add new 1. The transport protocol MUST support the ability to add new
operations while maintaining backwards compatibility. operations while maintaining backwards compatibility.
2. The query language must allow general inquiries as well as 2. The query language MUST allow for general inquiries, as well as
expression of specific paths to follow; retrieval of specific expression of specific paths to follow; the retrieval of
information based on an event, as well as on a continuous basis; specific information based on an event, as well as on a
and the ability to retrieve specific pieces of information, continuous basis and the ability to retrieve specific pieces of
specific types or classes of information, and/or the entirety of information, specific types or classes of information, and/or
available information. the entirety of available information.
3. The information model must accommodate the addition of new data 3. The information model MUST accommodate the addition of new data
types and/or schemas in a backwards compatible fashion. types and/or schemas in a backwards compatible fashion.
G-002 Interoperability: The data models, protocols and transports G-002 Interoperability: The data models, protocols, and transports
must be specified with enough details to ensure interoperability. must be specified with enough details to ensure interoperability.
[EDITOR Note: Can we remove this requirement?]
G-003 Scalability: The data models, protocols and transports must be G-003 Scalability: The data models, protocols, and transports MUST
scalable. SACM must support a broad set of deployment scenarios. be scalable. SACM must support a broad set of deployment scenarios.
As such, it is possible that the size of posture assessment Scalability must be addressed to support:
information can vary from a single assessment that is small in
(record or datagram) size to a very large datagram or a very large
set of assessments. This must be defined by the SACM
specifications.
G-004 Agility: The agility requirement is to ensure that the data * Large datagrams: It is possible that the size of posture
model, protocols, and transports are suitably specified to enable assessment information can vary from a single assessment that is
implementions to fit into the different deployment models and small in (record or datagram) size to a very large datagram or a
scenarios. Considerations for lightweight implementations of data very large set of assessments.
models and transports is required.
* Large number of providers and consumers: A deployment may consist
of a very large number of endpoints requiring or producing (or
both) posture assessment information.
* Large number of target endpoints: A deployment may be managing
information of a very large number of target endpoints.
G-004 Agility: The data model, protocols, and transports MUST be
suitably specified to enable implementations to fit into the
different deployment models and scenarios, including considerations
for lightweight implementations of data models and transports.
G-005 Information Extensibility: A method for expressing both G-005 Information Extensibility: A method for expressing both
standard and non-standard (implemention-specific) data attributes standard and non-standard (implementation-specific) data attributes
while avoiding collisions SHOULD be defined. For interoperability while avoiding collisions SHOULD be defined. For interoperability
and scope boundary, an explicit set of data attributes MUST be and scope boundary, an explicit set of data attributes MUST be
defined mandatory to implement. defined as mandatory to implement.
G-006 Data Integrity: A method for ensuring data integrity MUST be G-006 Data Integrity: A method for ensuring data integrity MUST be
provided. This method is required to be available (i.e. all data- provided. This method is required to be available (i.e. all data-
handling components must support it), but is not required to be used handling components must support it), but is not required to be used
in all cases. in all cases.
G-007 Data Isolation: A method for partitioning data MUST be G-007 Data Isolation: A method for partitioning data MUST be
supported, to accommodate considerations such as geographic, supported to accommodate considerations such as geographic,
regulatory, overlay boundaries and federation, where an organization regulatory, overlay boundaries, and federation, where an
may want to differentiate between information that can be shared organization may want to differentiate between information that can
outside its own domain and information that cannot. As with the be shared outside its own domain and information that cannot. As
requirement for data integrity, this method is required to be with the requirement for data integrity, this method is required to
available (i.e. all data-handling components must support it), but be available (i.e. all data-handling components must support it),
is not required to be used in all cases. but is not required to be used in all cases.
G-008 Versioning and Backward Compatibility: Announcement and G-008 Versioning and Backward Compatibility: Announcement and
negotiation of versions, inclusive of exisiting capabilities (such negotiation of versions, inclusive of existing capabilities (such as
as transport protocols, data models, specific attributes within data transport protocols, data models, specific attributes within data
models, standard attribute expression sets, etc.) MUST be models, standard attribute expression sets, etc.) MUST be
supported. Negotiation for both versioning and capability is needed supported. Negotiation for both versioning and capability is needed
to accommodate future growth and ecosystems with mixed capabilities. to accommodate future growth and ecosystems with mixed capabilities.
G-009 Discovery: There must be a mechanism for components to G-009 Discovery: There MUST be a mechanism for components to
discover what information is available across the ecosystem (i.e. a discover what information is available across the ecosystem (i.e. a
method for cataloging data available in the ecosystem and method for cataloging data available in the ecosystem and
advertising it to consumers), and where to go to get a specific advertising it to consumers), and where to go to get a specific
piece of that information. For example, providing a method by which piece of that information. For example, providing a method by which
a node can locate the advertised information so that consumers are a node can locate the advertised information so that consumers are
not required to have a priori knowledge to find available not required to have a priori knowledge to find available
information. information.
G-010 Endpoint Discovery: SACM MUST define the means by which G-010 Endpoint Discovery: SACM MUST define the means by which
endpoints may be discovered. Use Case 2.1.2 describes the need to endpoints may be discovered. Use Case 2.1.2 describes the need to
discover endpoints and their composition. discover endpoints and their composition.
G-011 Unsolicited publication, updates or change modifications with G-011 Unsolicited publication, updates, or change modifications with
filtering: Use Cases 2.1.3, 2.1.4 and 2.1.5 describe the need for filtering MUST be defined: Use Cases 2.1.3, 2.1.4 and 2.1.5 describe
the data model to support the means for the information to be the need for the data model to support the means for the information
published unsolicited. Similarly, the data model must support the to be published unsolicited. Similarly, the data model must support
means for a requestor to obtain updates or change modifications the means for a requestor to obtain updates or change modifications
without constant querying (or polling). Like the query operation, without constant querying (or polling). Like the query operation,
these update notifications can be set up with a filter to allow for these update notifications must be able to be set up with a filter
only a subset of posture assessment information to be obtained. to allow for only a subset of posture assessment information to be
obtained.
G-012 Device Interface: the interfaces by which endpoint communicate
to share endpoint posture information MUST be well defined.
G-013 Device location and network topology: the SACM architecture
and interfaces MUST allow for the endpoint (network) location and
network topology to be modeled and understood. Where appropriate,
the data model and the interfaces SHOULD allow for discovery of
endpoint location or network topology or both.
G-014 Target Endpoint Identity: the SACM architecture and interfaces
MUST support the ability of components to provide attributes that
can be used to compose an identity for a target endpoint. These
identities MAY be composed of attributes from one or more SACM
components.
2.2. Requirements for the Architecture 2.2. Requirements for the Architecture
At the simplest abstraction, the SACM architecture represents the At the simplest abstraction, the SACM architecture represents the
core components and interfaces needed to perform the production and core components and interfaces needed to perform the production and
consumption of posture assessment information. Requirements relating consumption of posture assessment information. Requirements relating
the SACM's architecture include: to the SACM's architecture include:
ARCH-001 Scalability: The architectural components must account for ARCH-001 Scalability: The architectural components MUST account for
a range of deployments, from very small set of endpoints are used to a range of deployments, from very small sets of endpoints to very
very large deployments. large deployments.
ARCH-002 Agility: The architectural components must account for ARCH-002 Flexibility: The architectural components MUST account for
different deployment scenarios where the architectural components different deployment scenarios where the architectural components
may be implemented, deployed or used within a single application, may be implemented, deployed, or used within a single application,
service, network or may comprise a federated system. service, or network, or may comprise a federated system.
ARCH-003 Separation of Data and Management functions: SACM must ARCH-003 Separation of Data and Management functions: SACM MUST
define both the configuration and management of the SACM data models define both the configuration and management of the SACM data models
and protocols used to transport and share posture assessment and protocols used to transport and share posture assessment
information. information.
ARCH-004 Topology Flexibility: Both centralized and decentralized ARCH-004 Topology Flexibility: Both centralized and decentralized
(peer-to-peer) information exchange must be supported. Centralized (peer-to-peer) information exchange MUST be supported. Centralized
data exchange enables use of a common data format to bridge together data exchange enables use of a common data format to bridge together
data exchange between diverse systems, and can leverage a virtual data exchange between diverse systems, and can leverage a virtual
data store that centralizes and offloads all data access, storage, data store that centralizes and offloads all data access, storage,
and maintenance to a dedicated resource. Decentralized data and maintenance to a dedicated resource. Decentralized data
exchange enables simplicity of sharing data between relatively exchange enables simplicity of sharing data between relatively
uniform systems, and between small numbers of systems, especially uniform systems, and between small numbers of systems, especially
within a single enterprise domain. within a single enterprise domain.
ARCH-005 Modularity: Announcement and negotiation of functional ARCH-005 Modularity: Announcement and negotiation of functional
capabilities (such as authentication protocols, authorization capabilities (such as authentication protocols, authorization
schemes, data models, transport protocols, etc.) must be supported, schemes, data models, transport protocols, etc.) must be supported,
enabling a SACM component to make inquiries about the capabilities enabling a SACM component to make inquiries about the capabilities
of other components in the SACM ecosystem. of other components in the SACM ecosystem.
ARCH-006 Role based Authorization: The SACM architecture MUST be ARCH-006 Role-based Authorization: The SACM architecture MUST be
capable of affecting role based authorization. Distinction of capable of effecting role based authorization. Distinction of
endpoints capable and authorized to provide or consume information endpoints capable and authorized to provide or consume information
is required to address appropriate access controls. is required to address appropriate access controls.
ARCH-007 Context based Authorization: The SACM architecture MUST be ARCH-007 Context-based Authorization: The SACM architecture MUST be
capable of affecting a context based authorization. Different capable of effecting context based authorization. Different
policies (e.g. business, regulatory, etc) may specify what data may policies (e.g. business, regulatory, etc.) may specify what data may
be exposed or shared by particular consumers as well as how be exposed or shared by particular consumers, as well as how
consumers may be required to share the information. The context consumers may be required to share the information. The context
defines the composite set of guidelines provided by policy for defines the composite set of guidelines provided by policy for
affecting what posture data is allowed to be communicated from affecting what posture data is allowed to be communicated from
providers to consumers. providers to consumers.
2.3. Requirements for the Data Model 2.3. Requirements for the Information Model
The SACM information represents the abstracted representation for the
Posture Assessment information to be communicated. SACM data models
must adhere and comply to the SACM Information Model. The
requirements for the SACM information model include:
IM-001 Extensible Attribute Dictionary: the Information Model MUST
define the minimum set of attributes for communicating Posture
Information. The attributes should be defined within an extensible
attribute dictionary to enable data models to adhere to SACM's
required attributes as well as allow for their own extensions.
IM-002 Ephemerality: The Information Model SHOULD account for the
Posture information's ephemerality as the data may be provided by a
requestor either solicited or unsolicited.
IM-003 Data model negotiation: SACM's Information Model MUST allow
support for different data models and data model versions. The SACM
Information Model MUST include the ability to discover and negotiate
the use of a particular or any data model.
2.4. Requirements for the Data Model
The SACM information model represents an abstraction for "what" The SACM information model represents an abstraction for "what"
information can be communicated and "how" it is to be represented and information can be communicated and "how" it is to be represented and
shared. shared.
It is expected that as applications may produce Posture assessment It is expected that as applications may produce posture assessment
information, they may share it using a specific data model. information, they may share it using a specific data model.
Similarly, applications consuming or requesting Posture Assessment Similarly, applications consuming or requesting posture assessment
information, may require it be based on a specific data model. Thus, information, may require it be based on a specific data model. Thus,
while there may exist different data models and schemas, they should while there may exist different data models and schemas, they should
adhere to a SACM information model that meets the requirements adhere to the SACM information model and meets the requirements
defined in this section. defined in this section.
The specific requirements for candidate data models include: The specific requirements for candidate data models include:
IM-001 The data model MUST define the data attributes as objects DM-001 The data model MUST define the data attributes as objects
that MUST be uniquely referenced (e.g. endpoint, IP address, asset). that MUST be uniquely referenced (e.g. endpoint, IP address, asset).
IM-002 The data model may be structured into modules and submodules DM-002 The data model MAY be structured into modules and submodules
to allow for data references within a module. For example, an to allow for data references within a module. For example, an
endpoint may be defined as a module that references one or more endpoint may be defined as a module that references one or more
submodules that further describe the one or more assets. submodules that further describe the one or more assets.
Constraints and interfaces may further be defined to resolve or Constraints and interfaces may further be defined to resolve or
tolerate ambiguity in the references (e.g. same IP address used in tolerate ambiguity in the references (e.g. same IP address used in
two separate networks). two separate networks).
IM-003 The interfaces and actions in the data model MUST include DM-003 The interfaces and actions in the data model MUST include
support for rootless searches and wildcard searches support for rootless searches and wildcard searches.
IM-004 The search interfaces and actions MUST include the ability to DM-004 The search interfaces and actions MUST include the ability to
start a search anywhere within a data model structure. start a search anywhere within a data model structure.
IM-005 The data model SHOULD include management of the data, DM-005 The data model SHOULD include management of the data,
including data lifetime management (longevity or expiration of including data lifetime management (longevity or expiration of data)
data). and persistence considerations.
IM-006 Ephemerality: The information model SHOULD include the DM-006 Ephemerality: The data model SHOULD include the ability to
ability to allow providers of data to provide the data as a whole or allow providers of data to provide the data as a whole or when
when updates occur. The data may be provided by a requestor either updates occur. The data may be provided by a requestor either
solicited or unsolicited. solicited or unsolicited.
IM-007 The data model SHOULD allow for a loose coupling between the DM-007 The data model SHOULD allow for a loose coupling between the
provider and the requestor. provider and the requestor.
IM-008 The interfaces and actions in the data model MUST include the DM-008 The interfaces and actions in the data model MUST include the
ability to identify data from a specific provider. ability to identify data from a specific provider.
IM-009 Data cardinality: The data model MUST describe their DM-009 Data cardinality: The data model MUST describe their
constraints (e.g. cardinality). As Posture information and the constraints (e.g. cardinality). As posture information and the
tasks for collection, aggregation or evaluation could comprise one tasks for collection, aggregation or evaluation, could comprise one
or more attributes, interfaces and actions must allow and account or more attributes, interfaces and actions MUST allow and account
for such cardinality as well as whether the attributes are for such cardinality as well as whether the attributes are
conditional, optional or mandatory. conditional, optional, or mandatory.
IM-010 Data model negotiation: The interfaces and actions in the DM-010 Data model negotiation: The interfaces and actions in the
information model MUST include capability negotiation to enable data model MUST include capability negotiation to enable discovery
discovery of supported and available data types and schemas. of supported and available data types and schemas.
IM-011 The data model SHOULD include the ability for providers to DM-011 Provenance: The data model MUST include the ability for
identify the data origin. providers to identify the data origin and provide a method for
provenance information to be captured and communicated.
IM-012 Synchronization: Request and response operations SHOULD be DM-012 Attribute Dictionary: Use Cases in the whole of Section 2
describe the need for an attribute dictionary. With SACM's scope
focused on posture assessment, the data model attribute collection
and aggregation MUST have a well-understood set of attributes
inclusive of their meaning or usage intent.
DM-013 Transport Agnostic: the data model SHOULD be transport
agnostic, to allow for the data operations to leverage the most
appropriate transport Internet layer (e.g. Link Layer, TCP, UDP,
etc.). [Editor's Note: Per Dan Romanascu's comment, should this
requirement be removed? Or perhaps moved to the Data Model
Operations, whereby the operations should be defined in a transport
agnostic encapsulation?]
DM-014 The data model SHOULD allow the provider to include the
information's origination time.
DM-015 The data model SHOULD allow the provider to include
attributes defining how the data was generated (e.g. self-reported,
reported by aggregator, scan result, etc.).
DM-016 The data model SHOULD allow the provider to include
attributes defining the location of the data source.
DM-017 The data model SHOULD allow the provider to include
attributes defining whether the information provided is a delta,
partial, or full set of information.
DM-018 The data model MUST support the collection of attributes by a
variety of collectors, including internal collectors, external
collectors with an authenticated relationship with the endpoint, and
external collectors based on network and other observations.
2.5. Requirements for Data Model Operations
Posture information data adhering to a Data Model must also provide
interfaces that include operations for access and production of the
data. The specific requirements for such operations include:
OP-001 Synchronization: Request and response operations SHOULD be
timestamped, and published information SHOULD capture time of timestamped, and published information SHOULD capture time of
publication. Actions or decisions based on time-sensitive data publication. Actions or decisions based on time-sensitive data
(such as user logon/logoff, endpoint connection/disconnection, (such as user logon/logoff, endpoint connection/disconnection,
endpoint behavior events, etc.) are all predicated on a synchronized endpoint behavior events, etc.) are all predicated on a synchronized
understanding of time. A method for detecting and reporting time understanding of time. A method for detecting and reporting time
discrepancies SHOULD be provided. discrepancies SHOULD be provided.
IM-013 Collection separation: The request for a data item must OP-002 Collection separation: The request for a data item MUST
include enough information to properly identify the item to collect, include enough information to properly identify the item to collect,
but the request shall not be a command to directly execute nor but the request shall not be a command to directly execute nor
directly be applied as arguments to a command. The purpose of this directly be applied as arguments to a command. The purpose of this
requirement is primarily to reduce the potential attack vectors, but requirement is primarily to reduce the potential attack vectors, but
has the additional benefit of abstracting the request for collection has the additional benefit of abstracting the request for collection
from the collection method thereby allowing more flexibility in how from the collection method, thereby allowing more flexibility in how
collection is implemented. collection is implemented.
IM-014 Collection composition: A collection request can be composed OP-003 Collection composition: A collection request MAY be composed
of multiple collection requests (which yield collected values). of multiple collection requests (which yield collected values). The
This must be able to be expressed as part of the collection request desire for multiple values MUST be expressed as part of the
so that the aggregation can be resolved at the point of collection collection request, so that the aggregation can be resolved at the
without having to interact with the requester. point of collection without having to interact with the requester.
IM-015 Attribute based query: Use Case 2.1.2 describes the need for
the data model to support a query operation based on a set of
attributes to facilitate collection of information such as posture
assessment, inventory (of endpoints or endpoint components) and
configuration checklist.
IM-016 Information based query with filtering: Use Case 2.1.3
describes the need for the data model to support the means for the
information to be collected through a query mechanism. Furthermore,
the query operation requires filtering capabilities to allow for
only a subset of information to be retrieved. The query operation
MAY be a synchronous request or asynchronous request.
IM-017 Data model scalability: Use Cases 2.1.4 and 2.1.5 describes
the need for the data model to support scalability. For example,
the query operation may result in a very large set of attributes as
well as a large set of targets.
IM-018 Attribute Dictionary: Use Cases in the whole of Section 2
describe the need for an Attribute Dictionary. With SACM's scope
focused on Posture Assessment, the data model attribute collection
and aggregation MUST have a well understood set of attributes
inclusive of their meaning or usage intent.
IM-019 Transport Agnostic: the data model SHOULD be transport
agnostic, to allow for the data operations to leverage the most
appropriate transport Internet layer (e.g. Link Layer, TCP, UDP,
etc.).
IM-020 The data model SHOULD allow the provider to include the OP-004 Attribute-based query: A query operation SHOULD be based on a
information's origination time. set of attributes. Use Case 2.1.2 describes the need for the data
model to support a query operation based on a set of attributes to
facilitate collection of information such as posture assessment,
inventory (of endpoints or endpoint components), and configuration
checklist.
IM-021 The data model SHOULD allow the provider to include attributs OP-005 Information-based query with filtering: The query operation
defining how the data was generated (e.g. self-reported, reported by MUST support filtering. Use Case 2.1.3 describes the need for the
aggregator, scan result, etc.). data model to support the means for the information to be collected
through a query mechanism. Furthermore, the query operation
requires filtering capabilities to allow for only a subset of
information to be retrieved. The query operation MAY be a
synchronous request or asynchronous request.
IM-022 The data model SHOULD allow the provider to include OP-006 Data model scalability: The data model MUST be scalable. Use
attributes defining the location of the data source. Cases 2.1.4 and 2.1.5 describes the need for the data model to
support scalability. For example, the query operation may result in
a very large set of attributes, as well as a large set of targets.
IM-023 The data model SHOULD allow the provider to include OP-007 The data model MUST allow a SACM component to communicate
attributes defining whether the information provided is a delta, what data was used to construct the target endpoint's identity, so
partial or full set of information. other SACM components can determine whether they are constructing an
equivalent target enpoint (and their identity) and whether they have
confidence in that identity. SACM components SHOULD have interfaces
defined to transmit this data directly or to refer to where the
information can be retrieved.
2.4. Requirements for Transport Protocols 2.6. Requirements for Transport Protocols
The requirements for transport protocols include: The requirements for transport protocols include:
T-001 Transport variability: Different transports must be supported T-001 Transport variability: Different transports MUST be supported
to address different deployment and time constraints. Supporting to address different deployment and time constraints. Supporting
transports MAY be at the data link layer, network transport layer or transports MAY be at the data link layer, network, transport, or
the application layers. application layers.
T-002 Data Integrity: Transport protocols MUST be able to support T-002 Data Integrity: Transport protocols MUST be able to ensure
data integrity. data integrity.
T-003 Data Confidentiality: Transport protocols MUST be able to T-003 Data Confidentiality: Transport protocols MUST be able to
support data confidentiality. Transport protocols SHOULD ensure support data confidentiality. Transport protocols SHOULD ensure
data protection for data in transit by encryption to provide data protection for data in transit by encryption to provide
confidentiality, integrity and robustness against protocol-based confidentiality, integrity, and robustness against protocol-based
attacks. Note that while the transport MUST be able to support data attacks. Note that while the transport MUST be able to support data
confidentiality, implementations MAY choose to make confidentiality confidentiality, implementations MAY choose to make confidentiality
optional. Protection for data at rest is not in scope for SACM. optional. Protection for data at rest is not in scope for SACM.
Data protection MAY be used for both privacy and non-privacy Data protection MAY be used for both privacy and non-privacy
scenarios. scenarios.
T-004 Transport protection: Transport protocols MUST be capable of T-004 Transport protection: Transport protocols MUST be capable of
supporting mutual authentication and replay protection. supporting mutual authentication and replay protection.
T-005 Transport reliability: Transport protocols MUST provide T-005 Transport reliability: Transport protocols MUST provide
reliable delivery of data. This includes the ability to perform reliable delivery of data. This includes the ability to perform
fragmentation and reassembly, and detect replays. fragmentation and reassembly, and to detect replays.
3. Acknowledgements 3. Acknowledgements
The authors would like to thank Barbara Fraser, Jim Bieda and Adam The authors would like to thank Barbara Fraser, Jim Bieda, and Adam
Montville for reviewing and contributing to this draft. Montville for reviewing and contributing to this draft.
4. IANA Considerations 4. IANA Considerations
This memo includes no request to IANA. This memo includes no request to IANA.
5. Security Considerations 5. Security Considerations
This document defines the requirements for SACM. As such, it is This document defines the requirements for SACM. As such, it is
expected that several data models, protocols and transports may be expected that several data models, protocols and transports may be
skipping to change at page 11, line 23 skipping to change at page 13, line 6
the posture information data it provides as well as the transport it the posture information data it provides as well as the transport it
uses. Similarly, while there may be providers whose goal is to uses. Similarly, while there may be providers whose goal is to
openly share its information, there may also be providers whose openly share its information, there may also be providers whose
policy is to grant access to certain posture information based on its policy is to grant access to certain posture information based on its
business or regulatory policy. In those situations, a provider may business or regulatory policy. In those situations, a provider may
require full authentication and authorization of the requestor (or require full authentication and authorization of the requestor (or
set of requestors) and share only the authorized information to the set of requestors) and share only the authorized information to the
authenticated and authorized requestors. authenticated and authorized requestors.
A requestor beyond distrusting the network service provider, must A requestor beyond distrusting the network service provider, must
also account that the information recieved from the provider may have also account that the information received from the provider may have
been communicated through an undetermined network communications been communicated through an undetermined network communications
system. That is, the posture information may have traversed through system. That is, the posture information may have traversed through
many devices before reaching the requestor. As such, providing non- many devices before reaching the requestor. As such, providing non-
repudiation in SACM is out of scope. However, SACM specifications repudiation in SACM is out of scope. However, SACM specifications
should provide the means for allowing non-repudiation possible and at should provide the means for allowing non-repudiation possible and at
minimum, provide endpoint authentication and transport integrity. minimum, provide endpoint authentication and transport integrity.
A requestor may require data freshness indications, both knowledge of A requestor may require data freshness indications, both knowledge of
data origination as well as time of publication so that it can make data origination as well as time of publication so that it can make
more informed decisions about the relevance of the data based on its more informed decisions about the relevance of the data based on its
skipping to change at page 12, line 12 skipping to change at page 13, line 44
o Either or both confidentiality and integrity at the transport o Either or both confidentiality and integrity at the transport
layer. layer.
o Either or both confidentiality and integrity at the data layer. o Either or both confidentiality and integrity at the data layer.
6. References 6. References
6.1. Normative References 6.1. Normative References
[I-D.ietf-sacm-terminology] [I-D.ietf-sacm-terminology]
Waltermire, D., Montville, A., Harrington, D., and N. Cam- Waltermire, D., Montville, A., Harrington, D., Cam-Winget,
Winget, "Terminology for Security Assessment", draft-ietf- N., Lu, J., Ford, B., and M. Kaeo, "Terminology for
sacm-terminology-05 (work in progress), August 2014. Security Assessment", draft-ietf-sacm-terminology-06 (work
in progress), February 2015.
[I-D.ietf-sacm-use-cases] [I-D.ietf-sacm-use-cases]
Waltermire, D. and D. Harrington, "Endpoint Security Waltermire, D. and D. Harrington, "Endpoint Security
Posture Assessment - Enterprise Use Cases", draft-ietf- Posture Assessment - Enterprise Use Cases", draft-ietf-
sacm-use-cases-07 (work in progress), April 2014. sacm-use-cases-08 (work in progress), February 2015.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5209] Sangster, P., Khosravi, H., Mani, M., Narayan, K., and J. [RFC5209] Sangster, P., Khosravi, H., Mani, M., Narayan, K., and J.
Tardo, "Network Endpoint Assessment (NEA): Overview and Tardo, "Network Endpoint Assessment (NEA): Overview and
Requirements", RFC 5209, June 2008. Requirements", RFC 5209, June 2008.
6.2. Informative References 6.2. Informative References
 End of changes. 67 change blocks. 
167 lines changed or deleted 242 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/