Internet DRAFT - draft-black-ips-iscsi-security

draft-black-ips-iscsi-security





IP Storage WG                                             D. Black, EMC 
Internet Draft                                                
Document: draft-black-ips-iscsi-security-01.txt            August, 2001 
 
 
          iSCSI Security Requirements and SRP-based ESP Keys 
 
 
Status of this Memo 
 
   This document is an Internet-Draft and is subject to all provisions 
   of Section 10 of RFC2026.  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/1id-abstracts.html 
    
   The list of Internet-Draft Shadow Directories can be accessed at 
        http://www.ietf.org/shadow.html 
    
   Discussion and suggestions for improvement are requested.  This 
   draft will expire before February 2002.  Distribution of this draft 
   is unlimited. 
    
 Abstract 
    
   This draft describes security requirements, status of security 
   specification, operating environment characteristics, and related 
   considerations for iSCSI. It also outlines an SRP-based [RFC-2945] 
   mechanism to derive ESP [RFC-2406] keying material and associated 
   rekeying mechanisms.  These topics are combined in this draft for 
   convenience; the security requirements, status and operating 
   environment are generic to iSCSI, whereas the use of SRP to obtain 
   ESP keys is an independent proposal and is not the only way to meet 
   iSCSI's security requirements.  The keying description focuses on 
   the overall approach and structure, further details will be added if 
   this proposal is pursued. 
    
   This draft is unlikely to become an RFC in its current form; its 
   primary purpose is to capture a set of ideas as a basis for further 
   discussions.  Portions of this draft may be incorporated into other 
   drafts that are intended to become RFCs.  Caution should be 
   exercised in drawing inferences from the fact that the author of 
   this draft is one of the chairs of the IP Storage WG.  This draft is 
   an individual submission that the IP Storage WG is free to adopt, 
   modify, reject, fold, spindle, and/or mutilate as it sees fit. 
  
Black                                                         [Page 1] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
 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 [RFC-2119]. 
 
 Table of Contents 
    
   1. Context and Purposes............................................2 
   2. iSCSI Overview..................................................3 
   3. Approach to Security Specification..............................3 
   4. Security Functionality Requirements.............................4 
   4.1 Negotiation of Security Functionality..........................4 
   4.2 Authentication.................................................4 
   4.2.1 Multiple Authentication Considerations.......................5 
   4.3 Cryptographic Integrity and Data Origin Authentication.........5 
   4.4 Confidentiality................................................6 
   4.5 Rekeying.......................................................6 
   5. iSCSI Implementation Characterization...........................6 
   5.1 Implementation Classes and Resource Availability...............6 
   5.2 Implementation Scaling.........................................7 
   5.3 Other Implementation Environment Concerns......................8 
   6. SRP Keying of ESP...............................................9 
   6.1 Overall structure..............................................9 
   6.2 Negotiation...................................................10 
   6.3 Key Derivation................................................11 
   6.4 ESP Startup...................................................11 
   6.5 Rekeying......................................................13 
   6.5.1 Rekeying Mechanism 1: No New Key Exchange...................14 
   6.5.2 Rekeying Mechanism 2: New Key Exchange......................14 
   7. Security Considerations........................................14 
   8. Changes from û00 Version.......................................14 
   9. References.....................................................15 
   10. Acknowledgments...............................................16 
   11. Author's Address..............................................16 
    
1. Context and Purposes 
    
   As specification of iSCSI security mechanisms progresses, it seems 
   useful to gather security requirements and reasonable security-
   relevant assumptions about iSCSI operating environments in an 
   accessible form; that is the purpose of Sections 2 through 5 of this 
   draft.  The IP Storage WG has recently completed work on iSCSI 
   requirements [ISCSI-REQTS], which should be consulted for further 
   information on iSCSI requirements in other areas.  Section 6 of this 
   draft describes an SRP-based mechanism for keying ESP based on 
   concepts discussed at the IP Storage WG's Nashua interim meeting 
   (April 30 and May 1, 2001).  Section 6 is included in this draft 
   primarily for convenience and to ensure that these ideas are not 
   lost.  While this mechanism appears to satisfy iSCSI's security 
   requirements, it is not the only mechanism that satisfies them; IKE 
   is another possibility, see [ISCSI-IPSEC]. 
  
Black                                                         [Page 2] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   As is the case for all Internet-Drafts, the contents of this draft 
   are subject to discussion and revision.  All material in this draft 
   concerning status or content of specification efforts in the IP 
   Storage WG is as of mid-August 2001 as understood by the author.  It 
   is hoped that this closely approximates reality, but no absolute 
   assurances can be offered, and all WG decisions are potentially 
   subject to change as work on the iSCSI specification(s) moves 
   forward. 
    
2. iSCSI Overview 
    
   iSCSI [ISCSI] is a TCP/IP encapsulation of the SCSI protocols used 
   to access disk, tape and other devices.  iSCSI is a client-server 
   protocol in which clients (Initiators) open connections to servers 
   (Targets).  This draft 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. 
    
   iSCSI Initiators and Targets are layer 5 entities that are 
   independent of TCP ports and IP addresses.  An Initiator or Target 
   may use multiple communication endpoints  (<TCP port, IP address> 
   pair), and such endpoints may be shared by multiple Initiators or 
   Targets.  The common case for sharing will be that the sharing 
   entities are all of the same type (i.e., all Initiators or all 
   Targets). iSCSI entities have names that are independent of 
   communication endpoints, and iSCSI defines its own naming syntax for 
   such entities (i.e., Initiators and Targets), see [ISCSI-NAME-DISC]. 
    
   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).   
 
3. Approach to Security Specification 
    
   The IP Storage WG is currently pursuing an approach of selecting 
   subsets of IETF security specifications for iSCSI.  This requires 
   that good engineering judgement be used and that the result be sound 
   from a security standpoint.  Motivations for this subset selection 
   approach include: 
    
   - Avoiding specification of requirements that have little current 
     justification, (e.g., AH). 
   - Matching the chosen subset more closely to iSCSI's security 
     requirements (e.g., iSCSI does not require both transport and 
     tunnel mode IPsec encapsulation). 
   - Matching implementation requirements more closely to iSCSI's 
     expected operating environments, particularly resource-limited 
     embedded systems. 
  
Black                                                         [Page 3] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   In addition to the above examples, this approach may be applicable 
   to areas such as IKE/ISAKMP [RFC-2407, RFC-2408, RFC-2409] (e.g., 
   subset of IKE modes and ISAKMP-negotiable items/values) and ESP 
   algorithms (e.g., believe it or not, DES is still REQUIRED by ESP in 
   Section 5 of [RFC-2406]). 
    
4. Security Functionality Requirements 
    
   This section summarizes iSCSI security requirements and status.   
    
4.1 Negotiation of Security Functionality 
    
   The current status is that iSCSI's negotiation mechanism is capable 
   of negotiating away any and all security functionality in 
   environments where it is not needed (as determined by local policy).  
   For example, a security administrator could determine that a 
   physically isolated and physically secure network used only for 
   iSCSI requires no additional iSCSI security beyond authentication.  
   Another example is that a security administrator could determine 
   that operation of iSCSI over a secure VPN requires no security 
   beyond authentication because the VPN provides adequate defense 
   against the relevant classes of threats. 
    
   Two caveats apply to the previous paragraph: 
   - Both of the examples above use authentication.  Use of 
     authentication should be RECOMMENDED by the iSCSI specification. 
   - The acronym SAN has sometimes been used to refer to environments 
     in which iSCSI requires less security than is needed on a public 
     network. Such usage is misleading, as it incorrectly implies that 
     SANs have little to no need for communication protocol security. 
    
   ISCSI's inband negotiation mechanism has no intrinsic security 
   because it is performed in the clear as far as iSCSI is concerned.  
   If such a negotiation is conducted over an otherwise unsecured 
   connection, man-in-the-middle attacks on security negotiation have 
   to be considered.  The usual admonition to not offer security 
   mechanisms that are weaker than acceptable applies. 
 
4.2 Authentication 
    
   Bi-directional authentication (Initiator to Target) and vice-versa 
   is REQUIRED.  This authentication is logically between the iSCSI 
   Initiator and the iSCSI Target (as opposed to between the TCP/IP 
   communication endpoints).  There is no requirement that the 
   identities used in authentication be kept confidential (e.g., from a 
   passive eavesdropper).  The intent of the iSCSI design is that the 
   Initiator and Target represent the systems (e.g., host and disk 
   array or tape system) participating in the communication, as opposed 
   to network communication interfaces or endpoints. 
 
   The current status is that the Secure Remote Password protocol 
  
Black                                                         [Page 4] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   (SRP) [RFC-2945] will be REQUIRED of all implementations based on 
   iSCSIÆs text-based multi-round negotiation mechanism noted above.  A 
   number of additional authentication protocols have also been 
   specified in the current iSCSI draft.  Negotiation between Initiator 
   and Target is used to determine which authentication algorithm to 
   use (or whether to use one at all); the connection closes if either 
   side requires authentication and no mutually acceptable algorithm 
   can be agreed upon. 
    
4.2.1 Multiple Authentication Considerations 
    
   If a secure communication channel (e.g., an IPsec Security 
   Association) is used below iSCSI, authentication may occur both in 
   setting up that channel and as part of iSCSI login.  If these 
   authentications employ different identities, the security properties 
   of the channel may not be constrained to the iSCSI authenticated 
   identity (e.g., it may be possible for multiple iSCSI sessions with 
   different authentication identities to use the same IPsec Security 
   Association).  This is particularly true when a machine identity is 
   used for IPsec authentication, but a user identity is used for iSCSI 
   authentication (the user identity may be that of some application 
   rather than an actual human user).  An analogous situation  
   arises in the interaction of PPP and IPsec authentication when IPsec 
   provides a secure communication channel for PPP encapsulated in 
   L2TP, and most of the discussion of in see Section 5.1.1 of [L2TP-
   SECURITY] is applicable to this iSCSI situation, as it involves a 
   mix of user authentication (PPP) and machine authentication (IPsec). 
    
   Any multiple authentication approach for iSCSI MUST include some 
   means of checking that the identities used in the two 
   authentications for each connection correspond in some acceptable 
   fashion, and these checks MUST be automatic because they may occur 
   as part of a system boot procedure.  A possible means of supporting 
   such checks is to include both identities and communication 
   endpoints as part of iSCSI access control and discovery information 
   provided that the mechanisms for distributing and/or configuring 
   such information are suitably secured. 
    
4.3 Cryptographic Integrity and Data Origin Authentication 
    
   Cryptographic integrity of all iSCSI communications after the login 
   phase must be implemented, and this integrity mechanism MUST be 
   keyed to provide data origin authentication for all received data.  
   The key MUST be derived from or otherwise securely linked to the 
   appropriate authentication; among the purposes of this is to prevent 
   a TCP hijack attack from succeeding because the hijacker does not 
   know the key required to generate the correct cryptographic 
   integrity checks.  This is a significantly stronger integrity 
   requirement than the usual data integrity requirements for storage 
   traffic; the integrity check MUST resist malicious tampering, and 
   MUST be authenticated in a fashion that prevents an adversary from 
   regenerating it.  For example, an XOR-keyed CRC (CRC xor key) is not 
  
Black                                                         [Page 5] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   a sufficient check because it has inadequate strength to resist 
   tampering.  An adversary who does not know the key can easily 
   determine which bits to flip in a keyed CRC to offset bits flipped 
   in the data covered by the CRC.  Use of a cryptographic integrity 
   mechanism in iSCSI is negotiable - see Section 4.1. 
    
   The current status is that ESP [RFC-2406] with NULL encryption has 
   been chosen as the implementation approach to meet this requirement, 
   but the Authentication Algorithm (MAC, e.g., HMAC-SHA1) has not been 
   selected.  While iSCSI is clearly a "host" rather than a "security 
   gateway" (see Section 3 of [RFC-2401]), ESP is likely to be used 
   only in tunnel mode for reasons that include: 
    
   (1) Only one IPsec encapsulation mode (transport or tunnel) is 
        needed by a protocol like iSCSI. 
   (2) Tunnel mode better accommodates NATs because the encapsulated IP 
        and TCP checksums are correct in tunnel mode, whereas they are 
        incorrect in transport mode.  See [NAT-REQTS] for details. 
   (3) Tunnel mode may allow the use of external IPsec gateways and 
        related implementation structures, transport mode does not. 
    
   This is an example of the subset approach to security specification 
   discussed in Section 3. 
    
4.4 Confidentiality 
    
   A confidentiality mechanism MUST be implemented, but any such 
   mechanism is OPTIONAL to use.  The current status is also that ESP 
   has been chosen as the implementation approach, but no preferred ESP 
   transform (i.e., encryption algorithm) has been selected.   
 
4.5 Rekeying  
    
   A manual keying mechanism uses a pre-configured key without key 
   exchanges or rekeying.  This is insufficient because iSCSI will 
   support long-lived connections that exchange enough traffic to cause 
   ESP's 32-bit sequence number to rollover, exposing the connection to 
   replay attacks.  Other considerations may dictate or recommend 
   rekeying considerably earlier than required solely to avoid rollover 
   (e.g., to limit the amount of data encrypted or signed with the same 
   session key).  For these reasons, an interoperable automatic 
   rekeying mechanism MUST be specified as part of iSCSI and will be 
   REQUIRED of all conforming implementations.  
    
5. iSCSI Implementation Characterization 
 
5.1 Implementation Classes and Resource Availability 
    
   iSCSI will be implemented on a variety of systems ranging from large 
   servers running general purpose operating systems to embedded host 
   bus adapters (HBAs).  Host Bus Adapter is a generic term for a SCSI 
   interface to other device(s); it's roughly analogous to the term 
  
Black                                                         [Page 6] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   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.  In general, a host bus 
   adapter is the most constrained iSCSI implementation environment, 
   although an HBA may draw upon the resources of the system to which 
   it is attached in some cases (e.g., authentication computations 
   required for connection setup).  More resources should be available 
   to iSCSI implementations for embedded and general purpose operating 
   systems.  The following guidelines indicate the approximate level of 
   resources that authentication, keying, and rekeying functionality 
   can reasonably expect to draw upon: 
    
   - Low power processors with small word size are generally not used, 
     as power is usually not a constraining factor, with the possible 
     exception of HBAs, which can draw upon the computational resources 
     of the system into which they are inserted).  Computational 
     horsepower should be available to perform a reasonable amount of 
     exponentiation as part of authentication and key derivation for  
     connection setup.  The same is true of rekeying, although the 
     ability to avoid exponentiation for rekeying may be desirable (but 
     is not an absolute requirement). 
    
   - RAM and/or flash resources tend to be constrained in embedded 
     implementations.  8-10 MB of code and data for authentication, 
     keying, and rekeying is clearly excessive, 800-1000 KB is clearly 
     larger than desirable, but tolerable if there is no other 
     alternative and 80-100 KB should be acceptable.  These sizes are 
     intended as rough order of magnitude guidance, and should not be 
     taken as hard targets or limits (e.g., smaller code sizes are 
     always better).  Software implementations for general purpose 
     operating systems may have more leeway. 
    
   In summary, the primary resource concern for implementation of 
   authentication and keying mechanisms is code size, as iSCSI assumes 
   that the computational horsepower to do exponentiations (e.g., those 
   required by SRP) will be available (SRP implementation is currently 
   REQUIRED by iSCSI). 
    
5.2 Implementation Scaling 
    
   There is no dominant iSCSI usage scenario - the scenarios range from 
   a single connection constrained only by media bandwidth to hundreds 
   of Initiator connections to a single Target or communication 
   endpoint.  SCSI sessions and hence the connections they use tend to 
   be relatively long lived; for disk storage, a host typically opens a 
   SCSI connection on boot and closes it on shutdown.  Tape session 
   length tends to be measured in hours or fractions thereof (i.e., 
   rapid fire sharing of the same tape device among different 
   Initiators is unusual), although tape robot control sessions can be 
   short when the robot is shared among tape drives.  On the other 
   hand, tape will not see a large number of Initiator connections to a 
   single Target or communication endpoint, as each tape drive is 
  
Black                                                         [Page 7] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   dedicated to a single use at a single time, and a dozen tape drives 
   is a large tape device. 
    
   Given current networking technology, security solutions must work 
   well at 1 Gbit/sec in terms of CPU overhead and/or availability of 
   suitable hardware implementations.  Solutions that scale up to 10 
   Gbits/sec are desirable but are not an absolute requirement as there 
   are issues with a number of technologies at 10 Gbits/sec.  This is 
   of particular concern for HMAC [RFC-2104], which is the basis for 
   the only MACs (cryptographic data integrity and data origin 
   authentication) currently standardized for use with ESP.  HMAC 
   implementations are commercially available at 1 Gbit/sec (often 
   based on hardware assistance of some form), but HMAC's computational 
   structure and overhead raise serious concerns about scaling to 10 
   Gbits/sec. 
    
5.3 Other Implementation Environment Concerns 
    
   This section gathers up several questions and answers on other iSCSI 
   implementation environment topics.  
    
   Q: Will IPsec generally be present on systems supporting iSCSI 
      due to other traffic requiring IPsec security? 
   A: No, especially for Targets, as they may have no important 
      functionality other than iSCSI. 
 
   Q: What are the persistence requirements for security state across 
      power off or loss of TCP connections? 
   A: Essentially none; most SCSI state does not survive power loss or 
      system crash events with a few exceptions such as persistent 
      reservations.  Security state for open TCP connections need not 
      survive the loss of those connections; any new connection will 
      have to re-authenticate. 
    
   Q: What about load-balancing or fail-over middleboxes? 
   A: Discussions of iSCSI-aware middleboxes have usually assumed that 
      such boxes serve as an endpoint for the iSCSI sessions on both 
      sides of them.  For example, this is why iSCSI specifies separate 
      CRCs for its header and data.  The author has not seen any 
      major objections in the IP Storage WG to the fashion in which 
      IPsec can interact with such boxes (e.g., TCP header is 
      encrypted, making it impossible to classify traffic based on TCP 
      port number). 
    
   Q: What about NATs? 
   A: The IP Storage WG charter indicates that the ability to operate 
      through NATs is important, but not an absolute requirement.  Work 
      is underway in the ipsec WG to specify transparent operation 
      through NATs via UDP encapsulation. 
 
    
    
  
Black                                                         [Page 8] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
6. SRP Keying of ESP 
    
   This section describes a mechanism to provide keying material for 
   ESP based on SRP inband authentication for iSCSI.  This is a single-
   layer authentication approach that places all other security 
   mechanism (i.e., ESP) below TCP.  ESP is linked to the SRP 
   authentication by deriving ESP's keys from the SRP authentication.  
   ESP's position below TCP causes TCP retransmission to be invoked 
   whenever ESP discards a packet due to a failed security check.  If 
   the failed check is due to data corruption, the result is TCP 
   retransmission rather than an iSCSI or SCSI retry.  This increases 
   the integrity assurance of data delivered by TCP based on the more 
   powerful integrity check in ESP MACs by comparison to TCP/IP 
   checksums. 
    
   This approach to ESP keying requires an interface between iSCSI and 
   the ESP implementation to transfer keying material from SRP to ESP; 
   such an interface may make use of external IPsec gateways with iSCSI 
   more difficult or impossible (e.g., software development may be 
   required to securely transfer keys and related configuration 
   information from iSCSI to the external IPsec gateway). 
    
   This section does not contain complete details; the major goal is to 
   show how this mechanism works to enable it to be evaluated for use 
   in iSCSI.  The mechanism is currently described for SRP only, but 
   appears to be extensible to any iSCSI inband authentication approach 
   that provides good keying material. 
 
6.1 Overall structure 
    
   The overall structure of this keying mechanism consists of the 
   following components: 
 
   - SRP inband iSCSI authentication (see [ISCSI]). 
   - iSCSI Negotiation of ESP SA parameters (Section 6.2) 
   - ESP session key derivation from SRP results (Section 6.3) 
   - ESP startup for an iSCSI TCP connection (Section 6.4) 
   - Rekeying (Section 6.5) 
    
   In summary, SRP is used as inband authentication for iSCSI, and 
   iSCSI negotiates additional parameters for ESP Security 
   Associations.  Keys for these associations are derived from the 
   results of the SRP authentication and used to initiate ESP security 
   processing beneath an existing iSCSI TCP connection.  The SAs used 
   for such processing are tightly bound to the corresponding TCP 
   connection and cannot be reused for other connections or traffic.  
   Rekeying is handled by one of two methods described in Section 6.5. 
    
    
    
    
    
  
Black                                                         [Page 9] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
6.2 Negotiation 
    
   In addition to the SRP authentication conducted as part of iSCSI 
   negotiation, the following additional parameters need to be 
   negotiated by iSCSI: 
    
   - ESP authentication algorithm (MAC, e.g., HMAC-SHA-1) or "none" 
   - ESP encryption algorithm (e.g., AES) or "none" 
   - SPI value sets for both Initiator and Target 
    
   The scope of negotiation is a single TCP connection; every iSCSI TCP 
   connection that uses this keying mechanism MUST perform SRP 
   authentication and negotiate these parameters.  The result will be 
   different ESP keys for each TCP connection. 
    
   iSCSI should limit the supported ESP encryption and authentication 
   algorithms to a small number that all implementations are REQUIRED 
   to support, except that implementations may choose not to support 
   any encryption algorithms.  As indicated previously, these 
   algorithms have yet to be chosen as of the date this draft was 
   written. 
    
   The Initiator and Target independently announce SPI value ranges via 
   iSCSI negotiation.  The Initiator tells the Target what SPI values 
   to apply to traffic sent to the Initiator, and the Target likewise 
   informs the Initiator what SPI values the Initiator to apply to 
   traffic sent to the Target.  To avoid having to renegotiate SPI 
   values when rekeying, ranges of SPI values are announced.  The two 
   Least Significant Bits of the announced SPI values MUST be zero; the 
   four SPI values obtained from all possible values for the two LSBs.  
   The initial SPI values used when ESP security processing is 
   initiated MUST have their two LSBs set to zero.  Rekeying will cycle 
   through each set of four SPI values (see Section 6.5).   A range of 
   four values is negotiated because two is too small for effective 
   rekey signaling (see section 6.5) and eight seems excessive. 
    
   This negotiation is completely in the clear, and hence is vulnerable 
   to man-in-the-middle tampering, but over a small number of 
   possibilities.  A single negotiation may not be particularly 
   vulnerable to this tampering provided that care is taken in 
   configuring the minimum levels of security protection offered and 
   accepted (e.g., an Initiator who offers "none" for ESP 
   authentication and encryption algorithms deserves the absence of 
   security that may result). If this is insufficient, additional 
   measures may be needed, such as requiring the exchange of security 
   parameter offers and negotiated results (and/or hashes thereof) over 
   the secure channel after ESP security processing is initiated. 
    
   Negotiation retries with weaker security than initially offered are 
   dangerous and MUST NOT be performed.  Consider an adversary who 
   changes the ESP authentication algorithm parameter to "none" on 
   iSCSI negotiation messages when neither party offered "none".  If 
  
Black                                                        [Page 10] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   both parties are prepared to offer and accept "none" on a 
   negotiation retry, the man-in-the-middle can cause "none" to be the 
   agreed value, even though it was not included in the initial 
   negotiation.   
    
6.3 Key Derivation 
    
   The same session keys are used for traffic in both directions on a 
   single TCP connection used by iSCSI.  In IPsec terminology this 
   means that the two Security Associations which carry the 
   connection's TCP traffic (one in each direction) share session keys.  
    
   SRP produces 320 bits of session keying material (K) as part of its 
   authentication.  These 320 bits of material are the result of a 
   secure hash after the Diffie-Hellman exchange embedded in SRP.  The 
   ESP keying material is then derived from K as follows: 
    
   (1) Set the 160 most significant bits of K aside as K_SAVE.  This is 
   for use in rekeying. 
    
   (2) Apply the SHA_Interleave function from Section 3.1 of RFC 2945 
   to the 160 least significant bits of K to yield K2. 
    
   (3) The ESP encryption keying material is the 160 most significant 
   bits of K2, and the ESP authentication keying material is the 160 
   least significant bits of K2.  Use of this keying material is 
   defined by the specifications for the encryption and authentication 
   algorithms; any algorithm requiring less than 160 bits of keying 
   material MUST use the most significant bits of the appropriate 
   keying material. 
    
   It's easy enough to generate different keying material for each SA 
   by following IKE's approach of incorporating the SPI value for each 
   direction into the hashes (see the definition of KEYMAT in section 
   5.5 of [RFC-2407]).  At (2) above, the SPI for the SA would be 
   appended to the 160 least significant bits of K2 before applying 
   SHA_Interleave.  The definition of SHA_Interleave generalizes to 
   arbitrary length inputs.  The most obvious benefit of this is 
   lengthening rekeying intervals when rekeying is based on the amount 
   of data for which a key is used.  The SPI values are publicly known, 
   but this is also the case for IKE and does not appear to cause a 
   security issue there. 
    
6.4 ESP Startup 
    
   At the completion of security negotiation, all communication MUST 
   switch to using ESP with the negotiated algorithms, SPI numbers, and 
   associated keys.  This means that all traffic sent by an Initiator 
   or Target after the iSCSI PDU containing SecurityContextComplete=Yes 
   must be processed by ESP.  This switch MUST occur at the end of the 
   PDU containing this security completion indication. iSCSI requires 
   that both sides send the security completion indication before 
  
Black                                                        [Page 11] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   switching into full feature mode; access to SCSI data can only occur 
   in full feature mode. 
    
   This approach of starting ESP processing during of an active 
   connection may raise security monitoring/enforcement and 
   implementation concerns.  There is no meaningful security for 
   traffic prior to the point at which ESP processing is initiated as 
   described in the previous paragraph.  Firewalls and network traffic 
   monitoring systems may have difficulty verifying that iSCSI switches 
   to use of ESP prior to entering full feature mode.  Implementation 
   concerns have also been raised in that some IPsec implementations 
   may have difficulty in switching security processing from "off" to 
   "on" underneath an existing TCP connection.  All of these concerns 
   are in need of further discussion, exploration and explanation. 
    
   There are at least three alternatives for initiating ESP security 
   processing of iSCSI traffic after negotiation: 
    
   (1) Just start ESP security processing under TCP as described in the 
       first paragraph of this section.  Traffic on the wire changes 
       from "TCP in IP" to "TCP in IP in ESP in IP".  The "TCP in IP" 
       portion may not be visible in the latter format if encryption is 
       in use. 
    
   (2) Encapsulate all traffic prior to the start of security 
       processing in tunnel mode ESP, but use an SPI value of zero 
       and omit the authentication data prior to the start of ESP 
       security processing. 
    
   (3) Employ a specified universal SPI value, universal key and 
       universal authentication algorithm for use prior to starting 
       security processing.  All traffic on any iSCSI connection will 
       be authenticated with this key and algorithm prior to initiation 
       of ESP security processing. 
    
   Alternative (1) is an honest reflection of what is actually 
   happening.  It is also the best fit with iSCSI's ability to 
   negotiate "none" for both ESP security algorithms (in which case ESP 
   is not used).  On the other hand, it does not work through Network 
   Address Port Translation (see Section 4.1.2 of [RFC 2663]) because 
   adding ESP disables the port translation in the network without 
   providing sufficient information to the destination to enable it to 
   be reconstructed (i.e., the TCP port number will change as part of 
   the change from ôTCP in IPö to ôTCP in ESP in IPö.  Alternative (2) 
   is not consistent with [RFC-2406] because it amounts to ESP with 
   NULL authentication and NULL encryption prior to initiation of 
   security processing.  Alternative (3) provides a potentially false 
   indication of security, as any serious adversary can be assumed to 
   know the universal key, but it may provide some protection against 
   less capable adversaries. 
    
  
Black                                                        [Page 12] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   If this SRP/ESP keying mechanism is employed, one of the above 
   choices must be selected and REQUIRED for all iSCSI TCP connections. 
    
6.5 Rekeying 
    
   Rekeying only needs to provide new keys; it is not necessary to 
   renegotiate any SA parameters in order to rekey.  The Initiator or 
   Target may initiate rekeying, and the results are applied to the h 
   ESP SAs in both directions.  This avoids negotiating key lifetimes 
   (both initially and as part of rekeying), as either party to a 
   connection can initiate rekeying when it determines that a key needs 
   to be replaced.  Section 6.2 describes the means used to negotiate a 
   range of four SPI values in each direction; rekeying causes the two 
   least significant bits of the SPI value in each direction to be 
   incremented, modulo 4 (i.e., incrementing 11 yields 00). 
    
   A range of four SPI values in each direction is negotiated to avoid 
   confusion that could occur if only two values were negotiated.  ESP 
   may receive reordered IP packets, causing a packet with an 
   unincremented SPI value to arrive after packets with incremented SPI 
   values, even though the unincremented packet was sent first.  If 
   only two SPI values are available in each direction, it's not 
   possible to determine a priori whether such a packet is a rekeying 
   signal and needs to be processed with new keys versus a packet prior 
   to the last rekeying event that needs to be processed with old keys.  
   This is primarily a performance issue as there is only one correct 
   set of keys for any packet.  A range of four SPI values eliminates 
   this confusion, and specifying sufficient minimum rekeying intervals 
   should eliminate any need for larger ranges. 
    
   Rekeying MUST NOT be initiated until the initiating party receives 
   confirmation that the other party has completed any previous 
   rekeying event (i.e., packets arrive with the SPI value from that 
   rekeying event and are verified to have been processed with the 
   associated keys).  Spurious rekeying is prevented by checking that 
   an inbound IP packet is correctly processed with the corresponding 
   keys before initiating rekeying in response to its reception.  If 
   ESP authentication is in use, the Authentication Data in the ESP 
   trailer (see [RFC-2406]) MUST be verified before initiating 
   rekeying.  If only Encryption is in use, the Next Header, Pad Length 
   and Padding fields in the ESP trailer (see [RFC-2406]) MUST be 
   verified before initiating rekeying.  Receipt of stale packets based 
   on keys from a prior use of an SPI value will not pass these tests, 
   and hence will not cause spurious rekeying. 
    
   Two different rekeying mechanisms are proposed depending on whether 
   a new key exchange is desired to decouple the new session keys from 
   past keying material.  Minimum time and/or amount of data 
   transmitted between rekeying events SHOULD be specified to avoid 
   excessive rekeying, and these times should be sufficient so that at 
   the time of rekeying event N+1, no packets with keys from event N-1 
   are expected to be alive in the network. The initial SRP 
  
Black                                                        [Page 13] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   authentication on an iSCSI TCP connection is considered to be 
   rekeying event 0, and hence the minimum rekeying specifications 
   apply to the time and/or amount of data until the first rekeying 
   event.  If this keying mechanism is employed, further discussion 
   will be needed to decide whether to specify one or both rekeying 
   mechanisms.  Specifying both mechanisms will entail also specifying 
   a means of preventing the Initiator and Target from concurrently 
   initiating both rekeying mechanisms.  For this reason, it may be 
   better to only specify one rekeying mechanism. 
    
6.5.1 Rekeying Mechanism 1: No New Key Exchange 
    
   The new keying material is obtained by applying SHA_Interleave to 
   the keying material K_SAVE saved by step (1) in Section 6.3, and 
   using the resulting 320 bit value as the input to steps (1) to (3) 
   in Section 6.3 to yield new keying material and a new K_SAVE.  
   Either communicating party may initiate rekeying by calculating new 
   keys, incrementing the two least significant bits of the SPI value 
   used to send data (increment of 11 yields 00), and immediately using 
   the new keys to send data using the new SPI value. 
    
   A party who receives an incremented SPI value MUST process the data 
   using the new keys (which it can calculate by itself) and MUST 
   commence using the new keys and corresponding incremented SPI value 
   to send data.  This rekeying and transition to use of new keys and 
   SPI value to send data MUST be completed before sending any iSCSI 
   PDU that depends on the PDU whose arriving IP packet contained the 
   incremented SPI value.  Implementations MAY precalculate keys for 
   future rekeying events in order to avoid delays caused by a need to 
   perform rekeying calculations when a new SPI value is received.   
 
6.5.2 Rekeying Mechanism 2: New Key Exchange 
    
   This rekeying mechanism repeats the SRP authentication in order to 
   generate new keys based on the key exchange embedded in SRP.  An 
   iSCSI Initiator may initiate rekeying by using iSCSI Text PDUs to 
   initiate a new SRP authentication.  The keys derived from that 
   authentication are then used with incremented (mod 4) SPI values for 
   ESP processing.  An iSCSI Target may initiate rekeying by sending an 
   iSCSI Asynchronous Message PDU to the Initiator to make this 
   request; a new iSCSI Asynchronous Message code would need to be 
   defined for this purpose.   
    
7. Security Considerations 
 
   This entire draft is about security. 
 
8. Changes from û00 Version 
    
   Added statement that there is no requirement to keep authentication 
   identities confidential. 
    
  
Black                                                        [Page 14] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   Removed discussion of IKE text from authentication requirements 
   section to remove any implication that IKE is required.  Added short 
   discussion of multiple authentications and pointer to L2TP security 
   draft. 
    
   Updated confidentiality section to indicate that confidentiality is 
   now "MUST implement" but "OPTIONAL to use". 
    
   Added note that starting ESP on an active TCP connection will not 
   work correctly when TCP port translation is in use. 
    
   Added statement that SAs used with the proposed key management are 
   tightly bound to iSCSI TCP connections and hence not reusable to key 
   management description. 
    
9. References 
    
   [ISCSI] Satran, J., et.al., "iSCSI", draft-ietf-ips-iscsi-07.txt, 
   Work in Progress, July, 2001. 
    
   [ISCSI-IPSEC} Aboba, B., et.al., "Securing iSCSI with IPsec", draft-
   aboba-ips-iscsi-security-00.txt, Work in Progress, August 2001. 
    
   [ISCSI-NAME-DISC] Bakke, M., et.al., "iSCSI Naming and Discovery", 
   draft-ietf-ips-iscsi-name-disc-02.txt, Work in Progress, August 
   2001. 
    
   [ISCSI-REQTS] Krueger, M., et.al., "iSCSI Requirements and Design 
   Considerations", draft-ietf-ips-iscsi-reqmts-05.txt, Work in 
   Progress, July 2001. 
    
   [L2TP-SECURITY] Patel, B., et.al., "Securing L2TP using IPsec", 
   draft-ietf-l2tpext-security-04.txt, Work in Progress, July 2001. 
    
   [NAT-REQTS] Aboba, B., "IPsec-NAT Compatibility Requirements", 
   draft-ietf-ipsec-nat-reqts-00.txt, Work in Progress, June 2001. 
    
   [RFC-2104] Krawczyk, H., M. Bellare, and R. Canetti, "HMAC: Keyed-
   Hashing for Message Authentication", RFC 2104, February 1997. 
 
   [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate 
   Requirement Levels", RFC 2119, March 1997. 
    
   [RFC-2401] Kent, S. and R. Atkinson, "Security Architecture for the 
   Internet Protocol", RFC 2401, November 1998. 
    
   [RFC-2406] Kent, S. and R. Atkinson, "IP Encapsulating Security 
   Payload (ESP)", RFC 2406, November 1998. 
    
   [RFC-2407] Piper, D., "The Internet IP Security Domain of 
   Interpretation for ISAKMP", RFC 2407, November 1998. 
    
  
Black                                                        [Page 15] 
 

          iSCSI Security Requirements and SRP-based ESP Keys  Aug 2001 
 
 
   [RFC-2408] Maughan, D., M. Schertler, M. Schneider, and J. Turner, 
   "Internet Security Association and Key Management Protocol    
   (ISAKMP)", RFC 2408, November 1998. 
    
   [RFC-2409] Harkins, D. and D. Carrel, "The Internet Key Exchange 
   (IKE)", RFC 2409, November 1998. 
    
   [RFC-2663] Srisuresh, P. and M. Holdrege, "IP Network Address 
   Translator (NAT) Terminology and Considerations", RFC 2663, August 
   1999. 
    
   [RFC-2945] Wu, T., "The SRP Authentication and Key Exchange System", 
   RFC 2945, September 2000. 
 
10. Acknowledgments 
    
   This draft expands on topics originally discussed during the May 
   1st, 2001 interim meeting of the IP Storage WG.  Ted Ts'o and 
   Bernard Aboba have made significant contributions to these topics 
   since that meeting.  A number of other people have contributed via 
   discussions and email exchanges.  All contributions, discussions and 
   comments are gratefully appreciated and hereby acknowledged.  This 
   draft will expire before March 2002. 
    
11. Author's Address 
    
   David L. Black 
   EMC Corporation 
   42 South Street 
   Hopkinton, MA 01748 
   Phone: +1 (508) 435-1000 x75140 
   Email: black_david@emc.com 
  
Black                                                        [Page 16]