RFC 3723:Securing Block Storage Protocols over IP
RFC-Ref

1. Introduction

   This specification discusses use of the IPsec protocol suite for
   protecting block storage protocols over IP networks (including iSCSI,
   iFCP and FCIP), as well as storage discovery protocols (iSNS and
   SLPv2).

1.1. iSCSI Overview

   iSCSI, described in [RFC3720], is a connection-oriented
   command/response protocol that runs over TCP, and is used to access
   disk, tape and other devices.  iSCSI is a client-server protocol in
   which clients (initiators) open connections to servers (targets) and
   perform an iSCSI login.

   This document uses the SCSI terms initiator and target for clarity
   and to avoid the common assumption that clients have considerably
   less computational and memory resources than servers; the reverse is
   often the case for SCSI, as targets are commonly dedicated devices of
   some form.

   The iSCSI protocol has a text based negotiation mechanism as part of
   its initial (login) procedure.  The mechanism is extensible in what
   can be negotiated (new text keys and values can be defined) and also
   in the number of negotiation rounds (e.g., to accommodate
   functionality such as challenge-response authentication).

   After a successful login, the iSCSI initiator may issue SCSI commands
   for execution by the iSCSI target, which returns a status response
   for each command, over the same connection.  A single connection is
   used for both command/status messages as well as transfer of data
   and/or optional command parameters.  An iSCSI session may have
   multiple connections, but a separate login is performed on each.  The
   iSCSI session terminates when its last connection is closed.

   iSCSI initiators and targets are application layer entities that are
   independent of TCP ports and IP addresses.  Initiators and targets
   have names whose syntax is defined in [RFC3721].  iSCSI sessions
   between a given initiator and target are run over one or more TCP
   connections between those entities.  That is, the login process
   establishes an association between an iSCSI Session and the TCP
   connection(s) over which iSCSI PDUs will be carried.

   While the iSCSI login may include mutual authentication of the iSCSI
   endpoints and negotiation of session parameters, iSCSI does not
   define its own per-packet authentication, integrity, confidentiality
   or replay protection mechanisms.  Rather, it relies upon the IPsec
   protocol suite to provide per-packet data confidentiality and

   integrity and authentication services, with IKE as the key management
   protocol.  iSCSI uses TCP to provide congestion control, error
   detection and error recovery.

1.2. iFCP Overview

   iFCP, defined in [iFCP], is a gateway-to-gateway protocol, which
   provides transport services to Fibre Channel devices over a TCP/IP
   network.  iFCP allows interconnection and networking of existing
   Fibre Channel devices at wire speeds over an IP network.  iFCP
   implementations emulate fabric services in order to improve fault
   tolerance and scalability by fully leveraging IP technology.  Each
   TCP connection is used to support storage traffic between a unique
   pair of Fibre Channel N_PORTs.

   iFCP does not have a native, in-band security mechanism.  Rather, it
   relies upon the IPsec protocol suite to provide data confidentiality
   and authentication services, and IKE as the key management protocol.
   iFCP uses TCP to provide congestion control, error detection and
   error recovery.

1.3. FCIP Overview

   FCIP, defined in [FCIP], is a pure FC encapsulation protocol that
   transports FC frames.  Current specification work intends this for
   interconnection of Fibre Channel switches over TCP/IP networks, but
   the protocol is not inherently limited to connecting FC switches.
   FCIP differs from iFCP in that no interception or emulation of fabric
   services is involved.  One or more TCP connections are bound to an
   FCIP Link, which is used to realize Inter-Switch Links (ISLs) between
   pairs of Fibre Channel entities.  FCIP Frame Encapsulation is
   described in [RFC3643].

   FCIP does not have a native, in-band security mechanism.  Rather, it
   relies upon the IPsec protocol suite to provide data confidentiality
   and authentication services, and IKE as the key management protocol.
   FCIP uses TCP to provide congestion control, error detection and
   error recovery.

1.4. IPsec Overview

   IPsec is a protocol suite which is used to secure communication at
   the network layer between two peers.  The IPsec protocol suite is
   specified within the IP Security Architecture [RFC2401], IKE
   [RFC2409][RFC2412], IPsec Authentication Header (AH) [RFC2402] and
   IPsec Encapsulating Security Payload (ESP) [RFC2406] documents.  IKE
   is the key management protocol while AH and ESP are used to protect
   IP traffic.

   An IPsec SA is a one-way security association, uniquely identified by
   the 3-tuple: Security Parameter Index (SPI), protocol (ESP) and
   destination IP.  The parameters for an IPsec security association are
   typically established by a key management protocol.  These include
   the encapsulation mode, encapsulation type, session keys and SPI
   values.

   IKE is a two phase negotiation protocol based on the modular exchange
   of messages defined by ISAKMP [RFC2408],and the IP Security Domain of
   Interpretation (DOI) [RFC2407].  IKE has two phases, and accomplishes
   the following functions:

   [1]  Protected cipher suite and options negotiation - using keyed
        MACs and encryption and anti-replay mechanisms

   [2]  Master key generation - such as via MODP Diffie-Hellman
        calculations

   [3]  Authentication of end-points

   [4]  IPsec SA management (selector negotiation, options negotiation,
        create, delete, and rekeying)

   Items 1 through 3 are accomplished in IKE Phase 1, while item 4 is
   handled in IKE Phase 2.

   An IKE Phase 2 negotiation is performed to establish both an inbound
   and an outbound IPsec SA.  The traffic to be protected by an IPsec SA
   is determined by a selector which has been proposed by the IKE
   initiator and accepted by the IKE Responder.  In IPsec transport
   mode, the IPsec SA selector can be a "filter" or traffic classifier,
   defined as the 5-tuple: <Source IP address, Destination IP address,
   transport protocol (UDP/SCTP/TCP), Source port, Destination port>.
   The successful establishment of a IKE Phase-2 SA results in the
   creation of two uni-directional IPsec SAs fully qualified by the
   tuple <Protocol (ESP/AH), destination address, SPI>.

   The session keys for each IPsec SA are derived from a master key,
   typically via a MODP Diffie-Hellman computation.  Rekeying of an
   existing IPsec SA pair is accomplished by creating two new IPsec SAs,
   making them active, and then optionally deleting the older IPsec SA
   pair.  Typically the new outbound SA is used immediately, and the old
   inbound SA is left active to receive packets for some locally defined
   time, perhaps 30 seconds or 1 minute.

1.5. Terminology

   Fibre Channel
      Fibre Channel (FC) is a gigabit speed networking technology
      primarily used to implement Storage Area Networks (SANs), although
      it also may be used to transport other frames types as well,
      including IP.  FC is standardized under American National Standard
      for Information Systems of the InterNational Committee for
      Informational Technology Standards (ANSI-INCITS) in its T11
      technical committee.

   FCIP
       Fibre Channel over IP (FCIP) is a protocol for interconnecting
      Fibre Channel islands over IP Networks so as to form a unified SAN
      in a single Fibre Channel fabric.  The principal FCIP interface
      point to the IP Network is the FCIP Entity.  The FCIP Link
      represents one or more TCP connections that exist between a pair
      of FCIP Entities.

   HBA
      Host Bus Adapter (HBA) is a generic term for a SCSI interface to
      other device(s); it's roughly analogous to the term Network
      Interface Card (NIC) for a TCP/IP network interface, except that
      HBAs generally have on-board SCSI implementations, whereas most
      NICs do not implement TCP, UDP, or IP.

   iFCP
      iFCP is a gateway-to-gateway protocol, which provides Fibre
      Channel fabric services to Fibre Channel devices over a TCP/IP
      network.

   IP block storage protocol
      Where used within this document, the term "IP block storage
      protocol" applies to all block storage protocols running over IP,
      including iSCSI, iFCP and FCIP.

   iSCSI
      iSCSI is a client-server protocol in which clients (initiators)
      open connections to servers (targets).

   iSNS
      The Internet Storage Name Server (iSNS) protocol provides for
      discovery and management of iSCSI and Fibre Channel (FCP) storage
      devices.  iSNS applications store iSCSI and FC device attributes
      and monitor their availability and reachability, providing a
      consolidated information repository for an integrated IP block
      storage network.  iFCP requires iSNS for discovery and management,
      while iSCSI may use iSNS for discovery, and FCIP does not use
      iSNS.

   initiator
      The iSCSI initiator connects to the target on well-known TCP port
      3260.  The iSCSI initiator then issues SCSI commands for execution
      by the iSCSI target.

   target
      The iSCSI target listens on a well-known TCP port for incoming
      connections, and  returns a status response for each command
      issued by the iSCSI initiator, over the same connection.

1.6. Requirements Language

   In this document, the key words "MAY", "MUST, "MUST NOT", "OPTIONAL",
   "RECOMMENDED", "SHALL", "SHALL NOT", "SHOULD", and "SHOULD NOT", are
   to be interpreted as described in [RFC2119].

   Note that requirements specified in this document apply only to use
   of IPsec and IKE with IP block storage protocols.  Thus, these
   requirements do not apply to IPsec implementations in general.
   Implementation requirements language should therefore be assumed to
   relate to the availability of features for use with IP block storage
   security only.

   Although the security requirements in this document are already
   incorporated into the iSCSI [RFC3720], iFCP [iFCP] and FCIP [FCIP]
   standards track documents, they are reproduced here for convenience.
   In the event of a discrepancy, the individual protocol standards
   track documents take precedence.

Google
Web
RFC-Ref