home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-richardson-ipsec-traversal-00.txt < prev    next >
Text File  |  1997-06-13  |  21KB  |  589 lines

  1. Network Working Group      Michael Richardson mcr@sandelman.ottawa.on.ca
  2. INTERNET-DRAFT                               SSH Communications Security
  3. draft-richardson-ipsec-traversal-00.txt               v1.1, 11 June 1997
  4. Expires in six months
  5.  
  6.  
  7.                 Firewall Traversal authorization system
  8.  
  9. Status of This memo
  10.  
  11. This document is an Internet-Draft. Internet-Drafts are working
  12. documents of the Internet Engineering Task Force (IETF), its areas,
  13. and its working groups. Note that other groups may also distribute
  14. working documents as Internet-Drafts.
  15.  
  16. Internet-Drafts are draft documents valid for a maximum of six
  17. months and may be updated, replaced, or obsoleted by other documents
  18. at any time. It is inappropriate to use Internet-Drafts as reference
  19. material or to cite them other than as ``work in progress.''
  20.  
  21. To learn the current status of any Internet-Draft, please check
  22. the ``1id-abstracts.txt'' listing contained in the Internet-Drafts
  23. Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  24. munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast),
  25. or ftp.isi.edu (US West Coast).
  26.  
  27. Abstract
  28.  
  29. This document describes a public key certificate mechanism to authorize
  30. traversal of multiple security gateways (firewalls). This work is inde-
  31. pendant of transport layer in concept, and could apply to IPsec, TLS, or
  32. SecSH. It is applied here to IPsec. The SPKI certificate format is used
  33. here.
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 1]
  59.  
  60. INTERNET-DRAFT                                        v1.1, 11 June 1997
  61.  
  62. Table of Contents
  63.  
  64. 1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  65.   1.1.  Definition of terminology   . . . . . . . . . . . . . . . . .  2
  66. 2.  Introduction to the problem   . . . . . . . . . . . . . . . . . .  3
  67.   2.1.  Key Sharing methods   . . . . . . . . . . . . . . . . . . . .  3
  68.   2.2.  Stacked or tunnelled solutions  . . . . . . . . . . . . . . .  4
  69.   2.3.  Virtual Circuit solutions   . . . . . . . . . . . . . . . . .  5
  70.   2.4.  Issues raised   . . . . . . . . . . . . . . . . . . . . . . .  6
  71. 3.  Firewall traversal certificates   . . . . . . . . . . . . . . . .  6
  72.   3.1.  The IP-Gateway Certificate  . . . . . . . . . . . . . . . . .  7
  73.   3.2.  Definition of certificate   . . . . . . . . . . . . . . . . .  7
  74.   3.3.  An example  . . . . . . . . . . . . . . . . . . . . . . . . .  7
  75.   3.4.  Completing the certificate loop   . . . . . . . . . . . . . .  8
  76. 4.  Security Considerations:  . . . . . . . . . . . . . . . . . . . .  8
  77. 5.  References:   . . . . . . . . . . . . . . . . . . . . . . . . . .  8
  78.   5.1.  Author's Address  . . . . . . . . . . . . . . . . . . . . . . 10
  79.   5.2.  Expiration and File Name  . . . . . . . . . . . . . . . . . . 10
  80.  
  81.  
  82.  
  83. 1.  Introduction
  84.  
  85. This document is a result of recent discussions in the IETF ipsec, IETF
  86. secsh and IETF mobileip working groups about how to trust security
  87. gateways (aka firewalls) with end-to-end (host to host) encryption and
  88. authentication keys.
  89.  
  90. This document describes the problem, some solutions which have been
  91. suggested in the past, and then goes on to describe a system of public
  92. key signed certificates that would allow a series of appropriate
  93. connections to automatically be setup.
  94.  
  95. Gupta97-1 gives an expanded view of the problems, and other solutions.
  96. Unlike Gupta97-1, this document does not limit itself to firewalls that
  97. are known apriori, or under the same administrative control.
  98.  
  99. For a solution to be scalable to the entire internet, the policy must
  100. either be learnt dynamically from correspondant nodes (e.g. arrived at
  101. through negotiation), or must be available in some pre-existing global
  102. database such as the domain name system.
  103.  
  104. 1.1.  Definition of terminology
  105.  
  106. Here is a network of two security gateways, a client node and a server
  107. node.
  108.  
  109.                   C---{G1}---{G2}---S
  110.  
  111.             C is the client.
  112.             G1/G1 are gateways.
  113.             S is the server.
  114.  
  115.  
  116.  
  117. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 2]
  118.  
  119. INTERNET-DRAFT                                        v1.1, 11 June 1997
  120.  
  121. Since there are potentially more than one transport or network layer
  122. connection, we define some terms to describe the different end points.
  123.  
  124.    C  is the transport layer originator. TLO
  125.  
  126.    S  is the transport layer target.     TLT
  127.  
  128.    C/G1
  129.       is a network layer originator/target pair. NLO/NLT/
  130.  
  131.    G1/G2
  132.       is a network layer originator/target pair.
  133.  
  134.    G2/S
  135.       is a network layer originator/target pair.
  136.  
  137. If discussing application layer protocols (e.g. SSH, TLS) through
  138. security gateways, then the transport layer designations above should be
  139. replaced with the session layer designations (e.g. URL, hostname), and
  140. the network layer designations with transport layer designations (e.g.
  141. TCP endpoints, SSH/TLS host keys).
  142.  
  143. The end points of the different types of connections will be denoted
  144. with a subscript. So, when C is used in an TLO context, the symbol C_s
  145. will be used (s for Server) . When C is used in a NLO context, the
  146. symbol C_g1 or C_g2 will be used.
  147.  
  148. 2.  Introduction to the problem
  149.  
  150. The problem is not as some say, merely a question of allowing security
  151. protocols to pass unexamined through a security gateway. Many
  152. environments have very strong auditing requirements, and encrypted
  153. traffic is by design, intended to thwart attempts for third parties to
  154. eavesdrop.
  155.  
  156. Further, this policy relies on the security of target hosts being
  157. perfect. Were this the case in practice, for all vendors, for all
  158. releases, both new and old, the firewall might not be required at all.
  159.  
  160. 2.1.  Key Sharing methods
  161.  
  162. It has been suggested by several people XXX that a key sharing protocol
  163. will solve the problem. The firewall(s) would be provided with the
  164. encryption keys in order to examine the traffic. Alternately, a copy of
  165. the authentication keys would allow the firewall to verify the origin of
  166. the packets, thus allowing it to apply its access policy.
  167.  
  168.         C <------+----------+------> S
  169.                  G1         G2
  170.  
  171. This solution is not appropriate because the problem is more
  172. complicated. In general there will be a combination of network address
  173. translating firewall, topology hiding firewalls, and particularities of
  174.  
  175.  
  176. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 3]
  177.  
  178. INTERNET-DRAFT                                        v1.1, 11 June 1997
  179.  
  180. various protocols.
  181.  
  182. A host behind a network address translation may have an address that is
  183. not available, or worse: illegal, to its correspondant node. The
  184. firewall must therefore be involved during all the key exchange protocol
  185. because the firewall (or the address that the ALT/ALO is translated to)
  186. is the logical end point for the encryption, not the actual ALT/ALO.
  187.  
  188. When topology is hided by a firewall, there must be some mechanism to
  189. map the connection to intended application layer target. That is,
  190. despite the topology hiding, there is a need to name selected pieces of
  191. the internal topology, and communicate that name to the firewall.
  192.  
  193. The difficulty of doing this in general for all protocols in first
  194. generation application layer firewalls, even for outbound connections,
  195. is what caused the development of protocols like SOCKS.
  196.  
  197. A firewall that supports protocols that use more than a single logical
  198. connection also has a requirement to see the contents of the "control"
  199. or "nameserver" connection. The typical example is FTP, but CuSeeMe,
  200. RealAudio, SunRPC (portmap is the nameserver connection), and most
  201. multicast protocols have this problem.
  202.  
  203. 2.2.  Stacked or tunnelled solutions
  204.  
  205. A second proposal is to stack algorithms. This is being proposed by
  206. Gupta97-2 for the mobileIP group. This is best illustrated by a diagram.
  207.  
  208.                   C_s  <------+----------+------> S_c
  209.                   C_g2 <------+--------> G2_c***>
  210.                   C_g1 <----> G1_c*****>
  211.  
  212. Each arrow represents a secure connection, the upper connections being
  213. transported in the lower connections. Stars represent unencrypted (from
  214. that layer's point of view) connections.
  215. Note: there is n+1 layers when n gateways are involved. Two gateways are
  216. typical (one at each location), but should two higher security networks
  217. (e.g. research or finance) inside the lower security organizational
  218. network need to communicate, this number rises to 4. Future topologies
  219. could further increase n.
  220.  
  221. Some systems which have implemented this method include SOCKS: one runs
  222. SOCKS inside SOCKS.
  223.  
  224. The most glaring problem, however, is that the data, if encrypted, is
  225. opaque to both gateways! The traversal problem has been solved, but the
  226. auditing and protocol requirements remain.
  227.  
  228. There is some difficulty with dealing with ICMP messages, since the
  229. gateway may not be able to do anything with them.
  230.  
  231. The repeated encapsulation (tunnelling) of one packet inside another
  232. increases the overhead, and for packet protocols, decreasing the amount
  233.  
  234.  
  235. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 4]
  236.  
  237. INTERNET-DRAFT                                        v1.1, 11 June 1997
  238.  
  239. of payload per packet.
  240.  
  241. This has serious efficiency and reliability implications. Node C may
  242. have difficulty getting accurate ICMP messages back, and may not be able
  243. to set its TCP MSS properly leading to excessive fragmentation. This
  244. problem is not unique to this topology.
  245.  
  246. 2.3.  Virtual Circuit solutions
  247.  
  248. An alternate way to set up the associations is a series of adjacent
  249. tunnels rather than a stack of tunnells. This is similar to what happens
  250. in ATM networks with virtual circuits are setup. The ATM switches
  251. negotiation frame ids between themselves and act as stateful routers.
  252.  
  253. There may still be a need for strong end to end security in this
  254. situation, so the tunnels may be used to transport an end to end
  255. security association. At most, there are two layers of security
  256. associations with this method.
  257.  
  258.           End to end      C_s  <--------+----------+--------> S_c
  259.           Hop by hop      C_g1 <------>G1_c
  260.                                        G1_g2<---->G2_g1
  261.                                                   G2_s<-----> S_g2
  262.  
  263. There are three ways to arrange the two sets of security associations:
  264.  
  265.    1. Delegated traversal
  266.       the gateways may provide sufficient trust in identity that an
  267.       internal tunnel is not required. In that case, an upper protocol
  268.       may appear immediately inside the hop-by-hop security header. The
  269.       hop-by-hop SA's may provide authentication alone, or encryption
  270.       and integrity.  On-the-wire IPsec packets might look like:
  271.  
  272.                              IP[C_g1->X] AH[C_g1->G1_c TCP/UDP/ICMP]
  273.  
  274.    or
  275.  
  276.                              IP[C_g1->X] ESP[C_g1->G1_c TCP/UDP/ICMP]
  277.  
  278.    2. Audited Traversal
  279.       If the gateways do not permit unexamined (i.e. encrypted) data to
  280.       pass through, then the end to end (C_s/S_c) SA must be
  281.       authentication only. The hop-by-hop SA's would have to provide the
  282.       privacy features.  On-the-wire IPsec packets might look like:
  283.  
  284.              IP[C_g1->X] ESP[C_g1->G1_c
  285.                  IP[C_s->S_c] AH[C_s->S_c] TCP/UDP/IP/ICMP]
  286.  
  287.    3. Authenticated traversal
  288.       If the gateways do allow encrypted data to pass through, then the
  289.       end to end SA's can include privacy features. The hop-by-hop SA
  290.       could be authentication only, or might include additional privacy
  291.       features to thwart traffic analysis.  On-the-wire IPsec packets
  292.  
  293.  
  294. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 5]
  295.  
  296. INTERNET-DRAFT                                        v1.1, 11 June 1997
  297.  
  298.       might look like:
  299.  
  300.              IP[C_g1->X] AH[C_g1->G1_c
  301.                      ESP[C_s->S_c] <whatever>]
  302.  
  303.    or
  304.  
  305.              IP[C_g1->X] ESP[C_g1->G1_c
  306.                      ESP[C_s->S_c] <whatever>]
  307.  
  308. Some notes on above:
  309.  
  310. 1. In the audited case (1) it is possible for the gateways to control
  311.    what kind of data can flow through by looking at the next protocol
  312.    header in the AH packet. Thus the gateway can prevent authorized
  313.    tunnels from being formed. The gateway could allow IP without
  314.    necessarily giving up the ability to audit. This is not the case for
  315.    the authenticate case, because once any ESP is allowed through, the
  316.    gateway gives up control of what protocols get transmitted through
  317.    the gateway.
  318.  
  319. 2. At all times a single SA's could be used for different streams of
  320.    traffic (at the same sensitivity), or multiple SA's could be used for
  321.    a single stream of traffic.
  322.  
  323. 3. in case 2, where there is an outer AH or integrity protected ESP, the
  324.    inner ESP need is NOT REQUIRED to also provide integrity protection,
  325.    but may do so.
  326.  
  327. 4.  the X above could be either S_c or it could be G1_c. It is not clear
  328.    which is more appropriate. In the NAT situation, there are reduced
  329.    choices, in the absense of NAT, either is possible. (ISSUE)
  330.  
  331. 2.4.  Issues raised
  332.  
  333. The following questions are posed, which this document will attempt to
  334. resolve:
  335.  
  336. 1. how does the client know that it can trust gateway g1 or g2?
  337.  
  338. 2. how does the server know that it can trust gateway g1 or g2?
  339.  
  340. 3. how to tell the real server who the real client is?
  341.  
  342. Problems #1 and #2 are related, and are solved by the same mechanism.
  343. The information as to the real client is also passed by this proceedure.
  344.  
  345. 3.  Firewall traversal certificates
  346.  
  347. If one makes an analogy between security perimeters and altitudes, then
  348. the end nodes can be thought of as being on plateaus, possibly with
  349. several ledges on the way up, with large amounts of plain between
  350. plateaus.
  351.  
  352.  
  353. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 6]
  354.  
  355. INTERNET-DRAFT                                        v1.1, 11 June 1997
  356.  
  357. Virtual private network tunnels are then bridges that span between
  358. ledges/plateaus. Prior to building a bridge, some guide wires (symmetric
  359. keys) must be established. To establish the guide wires requires sending
  360. an ambassador out with appropriate proof of origin. The ambassador meets
  361. up with a representative of the distant plateau, and they exchange
  362. credentials. The meeting place, which occurs on the plain, at zero
  363. altitude will be referred to as "security zone 0".
  364.  
  365. The wide open Internet is a good example of such a zone and it is
  366. probably equivalent to sea level. In general, the security zone 0 is
  367. just the lowest point on the path between the two security plateaus.
  368.  
  369. The remainder of this document is therefore a description of the
  370. credentials that are provided by non-zero security zones to lower
  371. altitude security levels.
  372.  
  373. 3.1.  The IP-Gateway Certificate
  374.  
  375. At each downward hop, a certificate is used to delegate the identity of
  376. the ALO node to an lower security level gateway. At security level 0,
  377. the ambassador meets with their counterpart. The counterpart also has a
  378. set of certificates. Once proof of identify has been exchanged, the
  379. ambassador needs to bring that proof back up to the security plateau.
  380. The ambassador does this by using their own certificates.
  381.  
  382. The certificates are SPKI format. The issuer of the certificate is
  383. ultimately the ALO or ALT node. The subject of the certificate is the
  384. node to which authority is being delegated. The authentication being
  385. delegated the list of hosts for which the gateway is authorized to speak
  386. for.
  387.  
  388. In the simplest case, there is only one certificate issued by the
  389. ALO/ALT nodes, and it can only delegate authority for itself. A more
  390. complicated system would have an organizational CA or ISP based CA
  391. signing a certificate that delegated a particular portion of the IP
  392. address space to a particular key.
  393.  
  394. 3.2.  Definition of certificate
  395.  
  396.    v4-network
  397.       this is followed by the v4 network prefix and the length of the
  398.       prefix. Hosts are indicated by a prefix length of 32.
  399.  
  400.    v6-network
  401.       this is followed by the v6 network prefix and the length of the
  402.       prefix. Hosts are indicated by a prefix length of 128.
  403.  
  404.    host
  405.       this is followed by a DNS name, or by a SDSI name
  406.  
  407. 3.3.  An example
  408.  
  409. For example, Somecompany.com used to use the class C subnet:
  410.  
  411.  
  412. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 7]
  413.  
  414. INTERNET-DRAFT                                        v1.1, 11 June 1997
  415.  
  416. 192.1.2.128/26. This is further divided into several 16 address subnet
  417. that exist behind a packet filter. Further firewalls inside did network
  418. address translation as well. The network topology would look like:
  419.  
  420.                   X14---fw1----pf1---<INTERNET>
  421.  
  422. where X14 has a private network address, fw1 provides network address
  423. translation, and pf1 provides filtering only.  Also assume that this
  424. organization had a IPv6 prefix of c0:ff:ee:04:ba:be::
  425.  
  426. Given that, DNSSEC would delegate authority for 192.1.2.128/26 and for
  427. somecompany.com to the key SC1, then the following statements might be
  428. made:
  429.  
  430.           (cert (issuer  SC1)
  431.                   (subject pf1)
  432.                   (auth   (ip-gateway
  433.                             (v4-network 205.233.54.128 26)
  434.                             (v6-network c0:ff:ee:04:ba:be:: 48))))
  435.  
  436.           (cert (issuer (ref SC1 xterm14.somecompany.com))
  437.                   (subject fw1)
  438.                   (auth   (ip-gateway (host
  439.                                   (ref SC1 xterm14.somecompany.com)))))
  440.  
  441. We have to use a host name here because there is no IP address that can
  442. be legitimately used.
  443.  
  444. ISSUE: I'm not sure how the (stop-at-key) etc. stuff of SPKI applies
  445. here yet, but I KNOW that it does
  446.  
  447. ISSUE: a wildcard for the hostname might also be desirable, but perhaps
  448. SDSI groups would also work here
  449.  
  450. 3.4.  Completing the certificate loop
  451.  
  452. Since all certificates chains must be rooted with a self-signed
  453. certificate, the verifier of the ip-gateway chain (for instance, the ALT
  454. node) must determine the origin of the ALO's authority to speak for that
  455. address/hostname. The origin of its authority would come from either
  456. DNSSEC or X.500 servers that it trusts.
  457.  
  458. This initial trust relationship would appear in this node via a
  459. preconfigured root CA key, or cross certification of DNSSEC servers...
  460. the technology for doing this is not described here.
  461.  
  462. 4.  Security Considerations:
  463.  
  464. This entire document discussed a security protocol.
  465.  
  466. 5.  References:
  467.  
  468.    RFC-1825
  469.  
  470.  
  471. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 8]
  472.  
  473. INTERNET-DRAFT                                        v1.1, 11 June 1997
  474.  
  475.       R. Atkinson, "Security Architecture for the Internet Protocol",
  476.       RFC-1825, August 1995.
  477.  
  478.    RFC-1826
  479.       R. Atkinson, "IP Authentication Header", RFC-1826, August 1995.
  480.  
  481.    RFC-1828
  482.       P. Metzger, W. A. Simpson, "IP Authentication using Keyed
  483.       MD5",RFC-1828, August 1995.
  484.  
  485.    KSM-AH
  486.       New AH draft.
  487.  
  488.    Maughan97
  489.       D. Maughan, M. Schertler, "Internet Security Association and Key
  490.       Management Protocol (ISAKMP)", version 7, draft-ietf-ipsec-
  491.       isakmp-07.txt, work in progress: February 21, 1997
  492.  
  493.    Harkins97
  494.       D. Harkins, D. Carrel, "The resolution of ISAKMP with Oakley",
  495.       draft-ietf-ipsec-isakmp-oakley-03.txt, version 3, work in
  496.       progress: February 1997
  497.  
  498.    Ylo97-1
  499.       T. Ylonen, "SSH Transport Layer Protocol", draft-ietf-secsh-
  500.       transport-00.txt, version 0, work in progress: March 22, 1997
  501.  
  502.    Ellison97
  503.       C. Ellison, B. Frantz, B.M. Thomas, "Simple Public Key
  504.       Certificate", draft-ietf-spki-cert-structure-01.txt, version 1,
  505.       work in progress: March 25, 1997
  506.  
  507.    SDSI
  508.       R. Rivest, B. Lampson, "SDSI - A Simple Distributed Security
  509.       Infrastructure SDSI",
  510.       %lt;URL:http://theory.lcs.mit.edu/ rivest/sdsi11.html>, October 2,
  511.       1996
  512.  
  513.    Monte96
  514.       G. Montenegro, V. Gupta, "Firewall Support for Mobile IP", draft-
  515.       montenegro-firewall-mobileip-00.txt,
  516.       %lt;URL:http://skip.incog.com/drafts/draft-montenegro-firewall-
  517.       mobileip-00.txt%gt;, work in progress: Sept. 14, 1996
  518.  
  519.    Gupta97-1
  520.       V. Gupta, S. Glass, "Firewall Traversal for Mobile IP: Goals and
  521.       Requirements", draft-ietf-mobileip-ft-req-00.txt, work in
  522.       progress: Jan. 20, 1997
  523.  
  524.    Gupta97-2
  525.       V. Gupta, S. Glass, "Firewall Traversal for Mobile IP: Guidelines
  526.       for Firewalls and Mobile IP entities", draft-ietf-mobileip-
  527.       firewall-trav-00.txt, work in progress: March 17, 1997
  528.  
  529.  
  530. Michael Richardson mcr@sandelman.ottawa.on.ca                   [page 9]
  531.  
  532. INTERNET-DRAFT                                        v1.1, 11 June 1997
  533.  
  534. 5.1.  Author's Address
  535.  
  536.              Michael C. Richardson
  537.              Sandelman Software Works Corp.
  538.              152 Rochester Street
  539.              Ottawa, ON K1R 7M4
  540.              Canada
  541.  
  542.              Telephone:   +1 613 233-6809
  543.              EMail:       mcr@sandelman.ottawa.on.ca
  544.  
  545. 5.2.  Expiration and File Name
  546.  
  547. This draft expires December 15, 1997
  548.  
  549. Its file name is draft-richardson-ipsec-traversal-cert-01.txt
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588. Michael Richardson mcr@sandelman.ottawa.on.ca                  [page 10]
  589.