From sacadmin Fri Jul 13 16:05:46 2007
Received: from sac.sfbay.sun.com (localhost [127.0.0.1])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l6DN5k1I027741;
	Fri, 13 Jul 2007 16:05:46 -0700 (PDT)
Received: (from sommerfe@localhost)
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8/Submit) id l6DN5kqp027737;
	Fri, 13 Jul 2007 16:05:46 -0700 (PDT)
Date: Fri, 13 Jul 2007 16:05:46 -0700 (PDT)
From: William Sommerfeld <sommerfe@sac.sfbay.sun.com>
Message-Id: <200707132305.l6DN5kqp027737@sac.sfbay.sun.com>
To: PSARC-record@sac.sfbay.sun.com
Subject: RFC 3526 Diffie-Hellman groups for IKE [PSARC/2007/409 Self Review]
Status: RO
Content-Length: 571


Template Version: @(#)sac_nextcase 1.63 06/14/07 SMI
This information is Copyright 2007 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 RFC 3526 Diffie-Hellman groups for IKE
    1.2. Name of Document Author/Supplier:
	 Author:  Mark Fenwick
    1.3  Date of This Document:
	13 July, 2007
4. Technical Description
    See the case directory for more detail

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		ON
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open


From sommerfeld@sun.com Fri Jul 13 16:10:40 2007
Received: from sunmail5.uk.sun.com (sunmail5.UK.Sun.COM [129.156.85.165])
	by sac.sfbay.sun.com (8.13.8+Sun/8.13.8) with ESMTP id l6DNAdus027780
	for <psarc-ext@sac.sfbay.sun.com>; Fri, 13 Jul 2007 16:10:39 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.145.155.6])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7/ENSMAIL,v2.2) with ESMTP id l6DN8e98008816;
	Sat, 14 Jul 2007 00:08:41 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0JL500B094AG2R00@nwk-avmta-2.sfbay.sun.com>; Fri,
 13 Jul 2007 16:08:40 -0700 (PDT)
Received: from eastmail2bur.East.Sun.COM ([129.148.13.40])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0JL500AYG4AFB730@nwk-avmta-2.sfbay.sun.com>; Fri,
 13 Jul 2007 16:08:40 -0700 (PDT)
Received: from thunk.east.sun.com (thunk.East.Sun.COM [129.148.174.66])
	by eastmail2bur.East.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id l6DN8cSe006167; Fri, 13 Jul 2007 19:08:38 -0400 (EDT)
Received: from [IPv6:::1] (localhost [IPv6:::1])
	by thunk.east.sun.com (8.14.1+Sun/8.14.1) with ESMTP id l6DN8c4w010486; Fri,
 13 Jul 2007 19:08:38 -0400 (EDT)
Date: Fri, 13 Jul 2007 19:08:36 -0400
From: Bill Sommerfeld <sommerfeld@sun.com>
Subject: 2007/409 RFC 3526 Diffie-Hellman groups for IKE
To: psarc-ext@sun.com
Cc: Mark Fenwick <Mark.Fenwick@sun.com>
Message-id: <1184368117.10164.16.camel@thunk>
MIME-version: 1.0
X-Mailer: Evolution 2.10.2
Content-type: text/plain
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 5847

I'm sponsoring this self-reviewed open case for Mark Fenwick and have
marked it "closed approved automatic".  The interface taxonomy is
Committed.  Release binding is Micro/Patch. 

Note that some of the code modified by this project is closed-source.  

Description: 

The IKE protocol uses the Diffie-Hellman key agreement protocol to
generate keying material.  IKE defines several different Diffie-Hellman
groups with different modulus sizes; groups with larger modulus sizes
produce a larger shared key and otherwise have greater cryptographic
strength, but are more computationally expensive to use.

The Solaris IKE daemon, in.iked supports the Diffie-Hellman (MODP)
Oakley groups defined in RFC 2409 appendix A, specifically 1 (768-bit),
2 (1024-bit) and 5 (1536-bit). Larger Oakley groups have been defined in
RFC 3526, specifically 14 (2048-bit), 15 (3072-bit), 16 (4096-bit), 
17 (6144-bit) and 18 (8192-bit).

Solaris should support larger Oakley groups to keep par with other 
operating environments, specifically Microsoft Vista which already 
supports group 14.

Solution:

Changes to libike and in.iked allow for support for the following new
Oakley groups:

        14 (2048-bit)
        15 (3072-bit)
        16 (4096-bit)

Support for groups 17 & 18 will not be added at this time. The Solaris
Cryptographic Framework which provides PKCS#11 support for libike only
supports Diffie-Hellman key generation up to 4096 bits at this time. The
current generation of Sun supplied hardware crypto accelerators only support
modulus sizes up to 2048 bits. Generation of Diffie-Hellman key pairs larger
than 4096 bits in software is very slow.

The new groups can be configured using the existing configuration file
syntax described in ike.config(4). The suggested man page modification
is included below:


*** ike.config.txt.orig Thu Jul 12 13:14:03 2007
--- ike.config.txt      Fri Jul 13 15:53:37 2007
***************
*** 422,435 ****
           parameter-list:
  
           oakley_group number
  
               The Oakley Diffie-Hellman group used for IKE SA  key
!              derivation.  Acceptable values are currently 1 (768-
!              bit), 2 (1024-bit), or 5 (1536-bit).
  
  
           encr_alg {3des, 3des-cbc, blowfish, blowfish-cdc, des,
           des-cbc, aes, aes-cbc}
  
               An encryption algorithm, as in  ipsecconf(1M).  How-
               ever,  of  the  ciphers  listed  above, only aes and
--- 422,443 ----
           parameter-list:
  
           oakley_group number
  
               The Oakley Diffie-Hellman group used for IKE SA  key
!              derivation. The group numbers are defined in RFC 2409
!              appendix A and RFC 3526.  Acceptable values are
!              currently:
  
+                 1 (768-bit),
+                 2 (1024-bit),
+                 5 (1536-bit),
+                 14 (2048-bit),
+                 15 (3072-bit),
+                 16 (4096-bit).
  
+ 
           encr_alg {3des, 3des-cbc, blowfish, blowfish-cdc, des,
           des-cbc, aes, aes-cbc}
  
               An encryption algorithm, as in  ipsecconf(1M).  How-
               ever,  of  the  ciphers  listed  above, only aes and
***************
*** 581,593 ****
  
       p2_pfs num
  
           Use perfect forward secrecy for phase 2 (quick mode). If
           selected, the oakley group specified is used for phase 2
!          PFS. Acceptable values are 0 (do not use Perfect Forward
!          Secrecy for IPsec SAs), 1 (768-bit), 2 (1024-bit), and 5
  
  
  
  SunOS 5.11          Last change: 28 Jun 2006                    9
  
  
--- 589,607 ----
  
       p2_pfs num
  
           Use perfect forward secrecy for phase 2 (quick mode). If
           selected, the oakley group specified is used for phase 2
!          PFS. Acceptable values are:
  
+                 0 (do not use Perfect Forward Secrecy for IPsec SAs),
+                 1 (768-bit),
+                 2 (1024-bit),
+                 5 (1536-bit),
+                 14 (2048-bit),
+                 15 (3072-bit),
+                 16 (4096-bit).
  
  
  SunOS 5.11          Last change: 28 Jun 2006                    9
  
  
***************
*** 618,631 ****
           exactly once within a given transform's parameter-list:
  
           oakley_group number
  
               The Oakley Diffie-Hellman group used for IKE SA  key
!              derivation.  Acceptable values are currently 1 (768-
!              bit), 2 (1024-bit), or 5 (1536-bit).
  
  
           encr_alg {3des, 3des-cbc, blowfish, blowfish-cdc, des,
           des-cbc, aes, aes-cbc}
  
               An encryption algorithm, as in  ipsecconf(1M).  How-
               ever,  of  the  ciphers  listed  above, only aes and
--- 632,652 ----
           exactly once within a given transform's parameter-list:
  
           oakley_group number
  
               The Oakley Diffie-Hellman group used for IKE SA  key
!              derivation.  Acceptable values are currently:
  
+                 1 (768-bit),
+                 2 (1024-bit),
+                 5 (1536-bit),
+                 14 (2048-bit),
+                 15 (3072-bit),
+                 16 (4096-bit).
  
+ 
+ 
           encr_alg {3des, 3des-cbc, blowfish, blowfish-cdc, des,
           des-cbc, aes, aes-cbc}
  
               An encryption algorithm, as in  ipsecconf(1M).  How-
               ever,  of  the  ciphers  listed  above, only aes and
***************
*** 900,910 ****
--- 921,935 ----
  
       Piper, Derrell. RFC 2407, The Internet IP Security Domain of
       Interpretation for ISAKMP. Network Alchemy. Santa Cruz, Cal-
       ifornia. November 1998.
  
+      Kivinen, T. RFC 3526, More Modular Exponential (MODP)
+      Diffie-Hellman groups for Internet Key Exchange (IKE).
+      The Internet Society, Network Working Group. May 2003.
  



