IPSP Working Group                                       M. Blaze, AT&T Labs
Internet Draft                              A. Keromytis, U. of Pennsylvania
draft-ietf-ipsp-requirements-01.txt  M. Richardson, Sandelman Software Works
Expires [six months]                                    L. Sanchez, BBN/GTEI
                                                                  July, 2001


                          IPSP Requirements

Status of this Memo

This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026.

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.

To view the entire list of current Internet-Drafts, please check
the "1id-abstracts.txt" listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
(Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au
(Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US
West Coast).

Abstract

This document describes the problem and solution requirements for
the IPsec Policy Protocol.


1.0 Introduction

1.1 Security Policy and IPSEC

Network-layer security now  enjoys broad popularity as a tool for
protecting Internet traffic and resources.  Security at the network
layer can be used as a tool for at least two kinds of security
architecture:

a) Security gateways.  Security gateways (including "firewalls") at
   the edges of networks use IPSEC to enforce access control, protect
   the confidentiality and authenticity of network traffic entering
   and leaving a network, and to provide gateway services for virtual
   private networks (VPNs).

b) Secure end-to-end communication.  Hosts use IPSEC to implement
   host-level access control, to protect the confidentiality and
   authenticity of network traffic exchanged with the peer hosts with
   which they communicate, and to join virtual private networks.

On one hand, IPSEC provides an excellent basis for a very wide rage of
protection schemes; on the other hand, this wide range of applications
for IPSEC creates complex management tasks that become especially
difficult as networks scale up and require different security
policies, controlled by different entities, for different kinds of
traffic in different parts of the network.

As organizations deploy security gateways, the Internet divides into
heterogeneous regions that enforce different access and security
policies.  Yet it is often still necessary for hosts to communicate
across the network boundaries controlled by several different
policies.  The wide range of choices of cryptographic parameters (at
multiple protocol layers) complicates matters and introduces the need
to for hosts and security gateways to identify and negotiate a set of
security parameters that meets each party's requirements.  Even more
complexity arises as IPSEC becomes the means through which firewalls
enforce access control and VPN membership; two IPSEC endpoints that
want to establish a security association must identify not only the
mutually acceptable cryptographic parameters, but also exactly what
kind of access the combined security policy provides.

While the negotiation of cryptographic and other security parameters
for IPSEC security associations (SAs) is supported by key management
protocols (e.g., ISAKMP [RFC-2408]), the IPSEC key management layer
does not provide a scheme for managing, negotiating and enforcing the
security policies under which SAs operate.

IPSP provides the framework for managing IPSEC security policy,
negotiating security association (SA) parameters between IPSEC
endpoints, and distributing authorization and policy information among
hosts that require the ability to communicate via IPSEC.


1.2  The IPSP Problem Space

IPSP aims to provide a scalable, decentralized framework for managing,
discovering and negotiating the host and network IPSEC policies that
govern access, authorization, cryptographic mechanisms,
confidentiality, data integrity, and other IPSEC properties.

The central problem to solved by IPSP is that of controlling security
policy in a manner that is useful for the wide range of IPSEC
applications and modes of operation.  In particular:

  - IPSP hosts may be serve as IPSEC endpoints, security gateways,
    network management hubs, or a combination of these functions.
    IPSP will manage end-users computers (which may be fixed
    workstations controlled by a single organization or mobile laptops
    that require remote access to a corporate VPN), firewalls (which
    provide different services and allow different levels of access to
    different classes of traffic and users), VPN routers (which
    support links to other VPNs that might be controlled by a
    different organization's network policy), web and other servers
    (which might provide different services depending on where a
    client request came from), and so on.

  - IPSP administration will be inherently heterogeneous and
    decentralized.  A basic feature of IPSEC is that two hosts can
    establish a Security Association even though they might not share
    a common security policy, or, indeed, trust one another at all.
    This property of IPSEC becomes even more pronounced at the higher
    level abstraction managed by IPSP.

  - The SA parameters acceptable to any pair of hosts (operating under
    different policies) will often not be specified in advance.  IPSP
    will often have to negotiate and discover the mutually-acceptable
    SA parameters on-the-fly when two hosts attempt to create a new SA.

  - Some hosts will be governed by policies that are not directly
    specified in the IPSP language.  For example, a host's IPSEC
    policy might be derived from a more comprehensive higher-layer
    security policy managed by some other system.  Similarly, some
    vendors might develop specialized (and proprietary) tools for
    managing policy in their products.  In such cases, it is
    necessary to to derive an IPSP policy specification only for
    those aspects of a host's policy that involve interoperability
    with other hosts running IPSP.

  - IPSP must scale to support complex policy administration schemes.
    In even modest-size networks, one administrator must often control
    policy remotely, and must have the ability to change the policy
    on many different hosts at the same time.  In larger networks (or
    those belonging to large organizations), a host's policy might be
    governed by several different authorities (e.g. several different
    departments might have the authority to add users to a firewall or
    open access to new services).  Different parts of a policy might
    be "owned" by different entities in a complex hierarchy.  IPSP
    must provide a mechanism for delegating specific kinds of
    authority to specific entities.

  - The semantics of IPSP must be well defined, particularly with
    respect to any security-critical aspects of the system

  - IPSP must be secure, sound, and comprehensible.  It should be
    possible to understand what an IPSP policy does; the difficulty of
    understanding an IPSP policy should be somewhat proportional to
    the complexity of the problem it solves.  It should also be
    possible to have confidence that an IPSP policy does what it
    claims to and that and IPSP implementation is correct;
    architecturally, the security-critical parts of IPSP should be
    small and well-specified enough to allow verification of their
    correct operation.  Ideally, IPSP should be compatible with formal
    methods such as implementing security policies with provable
    properties.


2  Requirements for IPSP

2.1 General Requirements

An IPSP solution must include

  - A policy model with well-defined semantics that captures the
    relationship between IPSEC SAs and higher-level security policies

  - A gateway discovery mechanism that allows hosts to discover
    where to direct IPSEC traffic intended for a specific endpoint.

  - A well-specified language for describing host policies

  - A means for distributing responsibility for different aspects of
    policy to different entities

  - A mechanism for discovering the policy of a host

  - A mechanism for resolving the specific IPSEC parameters to be used
    between two hosts governed by different policies (and for
    determining whether any such parameters exist)

and

  - A well-specified mechanism for checking for compliance with a
    host's policy when SAs are created

The mechanisms used in IPSP must not require any protocol
modifications in any of the IPsec standards (ESP, AH, IKE).  The
mechanisms must be independent of the SA-negotiation protocol, but may
assume certain functionality from such a protocol (this is to ensure
that future SA-negotiation protocols are not incompatible with IPSP).

2.2  Description and Justification

2.2.1 Policy Model

A Policy Model defines the semantics of IPsec policy.  Policy
specification, checking, and resolution should implement the semantics
defined in the model.  The model should, however, be independent of
the specific policy distribution mechanism and policy discovery
scheme, to the extent possible.

2.2.2   Gateway Discovery

The gateway discovery mechanism may be invoked by any host or gateway.
Its goal is to determine what IPSEC gateways exist between the
initiator and the intended communication peer.  The actual mechanism
employed may be used to piggyback information necessary by other
components of the IPSP architecture (e.g., policy discovery, as is
done in [SPP]).  The discovery mechanism may have to be invoked at any
time, independently of existing security associations or other
communication, to detect topology changes.

2.2.3 IPSP Language

In order to allow for policy discovery, compliance checking, and
resolution across a range of hosts, a common language is necessary in
which to express the policies of hosts that need to communicate with
one another.  Statements in this language are the output of policy
discovery, and provide the input to the policy resolution and
compliance checking systems.  Note that a host's or network's security
policy may be expressed in a vendor-specific way, but would be
translated to the common language when it is to be managed by the IPSP
services.

2.2.4  Distributed policy

As discussed above, it must be possible for all or part of a host's
policy to be managed remotely, possible by more than one entity.  This
is a basic requirement for large-scale networks and systems.

2.2.5  Policy Discovery

A policy discovery mechanism must provide the essential information
that two IPSEC endpoints can use to determine what kinds of SAs are
possible between one another.  This is especially important for hosts
that are not controlled by the same entity, and that might not
initially share any common information about each other.  Note that a
host need not reveal its entire security policy, only enough
information to support the SA resolution system for hosts that might
want to communicate with it.

2.2.6  SA Resolution

Once two hosts have learned enough about each other's policies, it
must be possible (and computationally feasible) to find an acceptable
set of SA parameters that meets both host's requirements and will lead
to the successful creation of a new SA.

2.2.7  Compliance Checking

When a host proposes the output of the SA resolution scheme, it must
be checked for compliance with the local security policy of each host.
The security and soundness of the SAs created by IPSP-managed
communication should depend only on the correctness of the compliance
checking stage.  In particular, the even if the SA resolution scheme
(which is likely to be computationally and conceptually complex)
produces an incorrect result, it should still not be possible to
violate the specified policy of either host.


3.  References


[RFC-2401] S. Kent, R. Atkinson, RFC2401: "Security Architecture for the
           Internet Protocol", November 1998.

[RFC-2408] D. Maughan, M. Shertler, M. Schneider, J. Turner, RFC2408:
           "Internet Security Association and Key Management Protocol
           (ISAKMP)", November 1998.


Author's Address

   Matt Blaze
   AT&T Labs - Research
   180 Park Avenue
   Florham Park, NJ 07932  USA
   Email: mab@research.att.com

   Angelos D. Keromytis
   Distributed Systems Lab
   CIS Department, University of Pennsylvania
   200 S. 33rd Street
   Philadelphia, Pennsylvania  19104-6389   USA
   EMail: angelos@dsl.cis.upenn.edu

   Michael C. Richardson
   Sandelman Software Works Corp.
   152 Rochester Street
   Ottawa, ON K1R 7M4   Canada
   Telephone:   +1 613 276-6809
   EMail:       mcr@sandelman.ottawa.on.ca

   Luis A. Sanchez
   BBN Technologies
   GTE Internetworking
   10 Moulton Street
   Cambridge, MA  02140  USA
   Telephone: +1 (617) 873-3351
   EMail: lsanchez@bbn.com


Expiration and File Name

  This draft expires [six months]

  Its file name is draft-ietf-ipsp-requirements-01.txt