blob: 23ae9cda382aec4c3082d8b47a36815be5b3f195 [file] [log] [blame]
Austin Schuh8d0a2852019-12-28 22:54:28 -08001
2
3
4
5
6
7Network Working Group S. Bellovin
8Request for Comments: 3554 J. Ioannidis
9Category: Standards Track AT&T Labs - Research
10 A. Keromytis
11 Columbia University
12 R. Stewart
13 Cisco
14 July 2003
15
16
17 On the Use of Stream Control Transmission Protocol (SCTP) with IPsec
18
19Status of this Memo
20
21 This document specifies an Internet standards track protocol for the
22 Internet community, and requests discussion and suggestions for
23 improvements. Please refer to the current edition of the "Internet
24 Official Protocol Standards" (STD 1) for the standardization state
25 and status of this protocol. Distribution of this memo is unlimited.
26
27Copyright Notice
28
29 Copyright (C) The Internet Society (2003). All Rights Reserved.
30
31Abstract
32
33 This document describes functional requirements for IPsec (RFC 2401)
34 and Internet Key Exchange (IKE) (RFC 2409) to facilitate their use in
35 securing SCTP (RFC 2960) traffic.
36
371. Introduction
38
39 The Stream Control Transmission Protocol (SCTP) is a reliable
40 transport protocol operating on top of a connection-less packet
41 network such as IP. SCTP is designed to transport PSTN signaling
42 messages over IP networks, but is capable of broader applications.
43
44 When SCTP is used over IP networks, it may utilize the IP security
45 protocol suite [RFC2402][RFC2406] for integrity and confidentiality.
46 To dynamically establish IPsec Security Associations (SAs), a key
47 negotiation protocol such as IKE [RFC2409] may be used.
48
49 This document describes functional requirements for IPsec and IKE to
50 facilitate their use in securing SCTP traffic. In particular, we
51 discuss additional support in the form of a new ID type in IKE
52 [RFC2409] and implementation choices in the IPsec processing to
53 accommodate for the multiplicity of source and destination addresses
54 associated with a single SCTP association.
55
56
57
58Bellovin, et. al. Standards Track [Page 1]
59
60RFC 3554 SCTP with IPsec July 2003
61
62
631.1. Terminology
64
65 In this document, the key words "MAY", "MUST, "MUST NOT", "optional",
66 "recommended", "SHOULD", and "SHOULD NOT", are to be interpreted as
67 described in [RFC-2119].
68
692. SCTP over IPsec
70
71 When utilizing the Authentication Header [RFC2402] or Encapsulating
72 Security Payload [RFC2406] protocols to provide security services for
73 SCTP frames, the SCTP frame is treated as just another transport
74 layer protocol on top of IP (same as TCP, UDP, etc.)
75
76 IPsec implementations should already be able to use the SCTP
77 transport protocol number as assigned by IANA as a selector in their
78 Security Policy Database (SPD). It should be straightforward to
79 extend existing implementations to use the SCTP source and
80 destination port numbers as selectors in the SPD. Since the concept
81 of a port, and its location in the transport header is
82 protocol-specific, the IPsec code responsible for identifying the
83 transport protocol ports has to be suitably modified. This, however
84 is not enough to fully support the use of SCTP in conjunction with
85 IPsec.
86
87 Since SCTP can negotiate sets of source and destination addresses
88 (not necessarily in the same subnet or address range) that may be
89 used in the context of a single association, the SPD should be able
90 to accommodate this. The straightforward, and expensive, way is to
91 create one SPD entry for each pair of source/destination addresses
92 negotiated. A better approach is to associate sets of addresses with
93 the source and destination selectors in each SPD entry (in the case
94 of non-SCTP traffic, these sets would contain only one element).
95 While this is an implementation decision, implementors are encouraged
96 to follow this or a similar approach when designing or modifying the
97 SPD to accommodate SCTP-specific selectors.
98
99 Similarly, SAs may have multiple associated source and destination
100 addresses. Thus an SA is identified by the extended triplet ({set of
101 destination addresses}, SPI, Security Protocol). A lookup in the
102 Security Association Database (SADB) using the triplet (Destination
103 Address, SPI, Security Protocol), where Destination Address is any of
104 the negotiated peer addresses, MUST return the same SA.
105
106
107
108
109
110
111
112
113
114Bellovin, et. al. Standards Track [Page 2]
115
116RFC 3554 SCTP with IPsec July 2003
117
118
1193. SCTP and IKE
120
121 There are two issues relevant to the use of IKE when negotiating
122 protection for SCTP traffic:
123
124 a) Since SCTP allows for multiple source and destination network
125 addresses associated with an SCTP association, it MUST be possible
126 for IKE to efficiently negotiate these in the Phase 2 (Quick Mode)
127 exchange. The straightforward approach is to negotiate one pair of
128 IPsec SAs for each combination of source and destination addresses.
129 This can result in an unnecessarily large number of SAs, thus wasting
130 time (in negotiating these) and memory. All current implementations
131 of IKE support this functionality. However, a method for specifying
132 multiple selectors in Phase 2 is desirable for efficiency purposes.
133 Conformance with this document requires that implementations adhere
134 to the guidelines in the rest of this section.
135
136 Define a new type of ID, ID_LIST, that allows for recursive inclusion
137 of IDs. Thus, the IKE Phase 2 Initiator ID for an SCTP association
138 MAY be of type ID_LIST, which would in turn contain as many
139 ID_IPV4_ADDR IDs as necessary to describe Initiator addresses;
140 likewise for Responder IDs. Note that other selector types MAY be
141 used when establishing SAs for use with SCTP, if there is no need to
142 use negotiate multiple addresses for each SCTP endpoint (i.e., if
143 only one address is used by each peer of an SCTP flow).
144 Implementations MUST support this new ID type.
145
146 ID_LIST IDs cannot appear inside ID_LIST ID payloads. Any of the ID
147 types defined in [RFC2407] can be included inside an ID_LIST ID.
148 Each of the IDs contained in the ID_LIST ID must include a complete
149 Identification Payload header.
150
151 The following diagram illustrates the content of an ID_LIST ID
152 payload that contains two ID_FQDN payloads.
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170Bellovin, et. al. Standards Track [Page 3]
171
172RFC 3554 SCTP with IPsec July 2003
173
174
175 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
176 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
177 ! Next Payload ! RESERVED ! Payload Length !
178 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
179 ! ID Type ! Protocol ID ! Port !
180 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
181 ! Next Payload ! RESERVED ! Payload Length !
182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
183 ! ID Type ! Protocol ID ! Port !
184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
185 ~ FQDN 1 Identification Data ~
186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
187 ! Next Payload ! RESERVED ! Payload Length !
188 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
189 ! ID Type ! Protocol ID ! Port !
190 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
191 ~ FQDN 2 Identification Data ~
192 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
193
194 The Next Payload field in any of the included IDs (for FQDN 1 and
195 FQDN 2) MUST be ignored by the Responder. The Payload Length, ID
196 Type, Protocol ID, and Port fields of the included Payloads should be
197 set to the appropriate values. The Protocol ID and Port fields of
198 the ID_LIST Payload should be set to zero by the Initiator and MUST
199 be ignored by the Responder.
200
201 Different types of IDs (e.g., an ID_FQDN and an ID_IPV4_ADDR) can be
202 included inside the same ID_LIST ID. If an ID type included in an
203 ID_LIST ID payload is invalid in the context the ID_LIST ID is used,
204 the whole ID_LIST should be considered to be at fault, e.g., if an
205 ID_LIST ID payload that contains an ID_FQDN and an ID_IPV4_ADDR is
206 received during an IKE Quick Mode exchange, the Responder should
207 signal a fault to the Initiator and stop processing of the message
208 (the same behavior it would exhibit if simply an ID_FQDN was received
209 instead).
210
211 The IANA-assigned number for the ID_LIST ID is 12.
212
213 b) For IKE to be able to validate the Phase 2 selectors, it must be
214 possible to exchange sufficient information during Phase 1.
215 Currently, IKE can directly accommodate the simple case of two peers
216 talking to each other, by using Phase 1 IDs corresponding to their IP
217 addresses, and encoding those same addresses in the SubjAltName of
218 the certificates used to authenticate the Phase 1 exchange. For more
219 complicated scenarios, external policy (or some other mechanism)
220 needs to be consulted, to validate the Phase 2 selectors and SA
221 parameters. All addresses presented in Phase 2 selectors MUST be
222 validated. That is, enough evidence must be presented to the
223
224
225
226Bellovin, et. al. Standards Track [Page 4]
227
228RFC 3554 SCTP with IPsec July 2003
229
230
231 Responder that the Initiator is authorized to receive traffic for all
232 addresses that appear in the Phase 2 selectors. This evidence can be
233 derived from the certificates exchanged during Phase 1 (if possible);
234 otherwise it must be acquired through out-of-band means (e.g., policy
235 mechanism, configured by the administrator, etc.).
236
237 In order to accommodate the same simple scenario in the context of
238 multiple source/destination addresses in an SCTP association, it MUST
239 be possible to:
240
241 1) Specify multiple Phase 1 IDs, which are used to validate Phase
242 2 parameters (in particular, the Phase 2 selectors). Following
243 the discussion on an ID_LIST ID type, it is possible to use the
244 same method for specifying multiple Phase 1 IDs.
245
246 2) Authenticate the various Phase 1 IDs. Using pre-shared key
247 authentication, this is possible by associating the same shared
248 key with all acceptable peer Phase 1 IDs. In the case of
249 certificates, we have two alternatives:
250
251 a) The same certificate can contain multiple IDs encoded in
252 the SubjAltName field, as an ASN.1 sequence. Since this is
253 already possible, it is the preferred solution and any
254 conformant implementations MUST support this.
255
256 b) Multiple certificates MAY be passed during the Phase 1
257 exchange, in multiple CERT payloads. This feature is also
258 supported by the current specification. Since only one
259 signature may be issued per IKE Phase 1 exchange, it is
260 necessary for all certificates to contain the same key as
261 their Subject. However, this approach does not offer any
262 significant advantage over (a), thus implementations MAY
263 support it.
264
265 In either case, an IKE implementation needs to verify the
266 validity of a peer's claimed Phase 1 ID, for all such IDs
267 received over an exchange.
268
269 Although SCTP does not currently support modification of the
270 addresses associated with an SCTP association (while the latter is in
271 use), it is a feature that may be supported in the future. Unless
272 the set of addresses changes extremely often, it is sufficient to do
273 a full Phase 1 and Phase 2 exchange to establish the appropriate
274 selectors and SAs.
275
276
277
278
279
280
281
282Bellovin, et. al. Standards Track [Page 5]
283
284RFC 3554 SCTP with IPsec July 2003
285
286
287 The last issue with respect to SCTP and IKE pertains to the initial
288 offer of Phase 2 selectors (IDs) by the Initiator. Per the current
289 IKE specification, the Responder must send in the second message of
290 the Quick Mode the IDs received in the first message. Thus, it is
291 assumed that the Initiator already knows all the Selectors relevant
292 to this SCTP association. In most cases however, the Responder has
293 more accurate knowledge of its various addresses. Thus, the IPsec
294 Selectors established can be potentially insufficient or inaccurate.
295
296 If the proposed set of Selectors is not accurate from the Responder's
297 point of view, the latter can start a new Quick Mode exchange. In
298 this new Quick Mode exchange, the roles of Initiator and Responder
299 have been reversed; the new Initiator MUST copy the SA and Selectors
300 from the old Quick Mode message, and modify its set of Selectors to
301 match reality. All SCTP-supporting IKE implementations MUST be able
302 to do this.
303
3044. Security Considerations
305
306 This documents discusses the use of a security protocol (IPsec) in
307 the context of a new transport protocol (SCTP). SCTP, with its
308 provision for mobility, opens up the possibility for
309 traffic-redirection attacks whereby an attacker X claims that his
310 address should be added to an SCTP session between peers A and B, and
311 be used for further communications. In this manner, traffic between
312 A and B can be seen by X. If X is not in the communication path
313 between A and B, SCTP offers him new attack capabilities. Thus, all
314 such address updates of SCTP sessions should be authenticated. Since
315 IKE negotiates IPsec SAs for use by these sessions, IKE MUST validate
316 all addresses attached to an SCTP endpoint either through validating
317 the certificates presented to it during the Phase 1 exchange, or
318 through some out-of-band method.
319
320 The Responder in a Phase 2 exchange MUST verify the Initiator's
321 authority to receive traffic for all addresses that appear in the
322 Initiator's Phase 2 selectors. Not doing so would allow for any
323 valid peer of the Responder (i.e., anyone who can successfully
324 establish a Phase 1 SA with the Responder) to see any other valid
325 peer's traffic by claiming their address.
326
3275. IANA Considerations
328
329 IANA has assigned number 12 for ID_LIST (defined in Section 3) in the
330 "IPSEC Identification Type" registry from the Internet Security
331 Association and Key Management Protocol (ISAKMP) Identifiers table.
332
333
334
335
336
337
338Bellovin, et. al. Standards Track [Page 6]
339
340RFC 3554 SCTP with IPsec July 2003
341
342
3436. Intellectual Property Rights Notice
344
345 The IETF takes no position regarding the validity or scope of any
346 intellectual property or other rights that might be claimed to
347 pertain to the implementation or use of the technology described in
348 this document or the extent to which any license under such rights
349 might or might not be available; neither does it represent that it
350 has made any effort to identify any such rights. Information on the
351 IETF's procedures with respect to rights in standards-track and
352 standards-related documentation can be found in BCP-11. Copies of
353 claims of rights made available for publication and any assurances of
354 licenses to be made available, or the result of an attempt made to
355 obtain a general license or permission for the use of such
356 proprietary rights by implementors or users of this specification can
357 be obtained from the IETF Secretariat.
358
359 The IETF invites any interested party to bring to its attention any
360 copyrights, patents or patent applications, or other proprietary
361 rights which may cover technology that may be required to practice
362 this standard. Please address the information to the IETF Executive
363 Director.
364
365Normative References
366
367 [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the
368 Internet Protocol", RFC 2401, November 1998.
369
370 [RFC2402] Kent, S. and R. Atkinson, "IP Authentication Header", RFC
371 2402, November 1998.
372
373 [RFC2406] Kent, S. and R. Atkinson, "IP Encapsulating Security
374 Payload (ESP)", RFC 2406, November 1998.
375
376 [RFC2407] Piper, D., "The Internet IP Security Domain of
377 Interpretation for ISAKMPD", RFC 2407, November 1998.
378
379 [RFC2408] Maughan, D., Schertler, M., Schneider, M. and J. Turner,
380 "Internet Security Association and Key Management
381 Protocol", RFC 2408, November 1998.
382
383 [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
384 (IKE)", RFC 2409, November 1998.
385
386 [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C.,
387 Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M.,
388 Zhang, L. and V. Paxson, "Stream Control Transmission
389 Protocol", RFC 2960, October 2000.
390
391
392
393
394Bellovin, et. al. Standards Track [Page 7]
395
396RFC 3554 SCTP with IPsec July 2003
397
398
399Authors' Addresses
400
401 Steven M. Bellovin
402 AT&T Labs - Research
403 180 Park Avenue
404 Florham Park, New Jersey 07932-0971
405
406 Phone: +1 973 360 8656
407 EMail: smb@research.att.com
408
409
410 John Ioannidis
411 AT&T Labs - Research
412 180 Park Avenue
413 Florham Park, New Jersey 07932-0971
414
415 EMail: ji@research.att.com
416
417
418 Angelos D. Keromytis
419 Columbia University, CS Department
420 515 CS Building
421 1214 Amsterdam Avenue, Mailstop 0401
422 New York, New York 10027-7003
423
424 Phone: +1 212 939 7095
425 EMail: angelos@cs.columbia.edu
426
427
428 Randall R. Stewart
429 24 Burning Bush Trail.
430 Crystal Lake, IL 60012
431
432 Phone: +1-815-477-2127
433 EMail: rrs@cisco.com
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450Bellovin, et. al. Standards Track [Page 8]
451
452RFC 3554 SCTP with IPsec July 2003
453
454
455Full Copyright Statement
456
457 Copyright (C) The Internet Society (2003). All Rights Reserved.
458
459 This document and translations of it may be copied and furnished to
460 others, and derivative works that comment on or otherwise explain it
461 or assist in its implementation may be prepared, copied, published
462 and distributed, in whole or in part, without restriction of any
463 kind, provided that the above copyright notice and this paragraph are
464 included on all such copies and derivative works. However, this
465 document itself may not be modified in any way, such as by removing
466 the copyright notice or references to the Internet Society or other
467 Internet organizations, except as needed for the purpose of
468 developing Internet standards in which case the procedures for
469 copyrights defined in the Internet Standards process must be
470 followed, or as required to translate it into languages other than
471 English.
472
473 The limited permissions granted above are perpetual and will not be
474 revoked by the Internet Society or its successors or assignees.
475
476 This document and the information contained herein is provided on an
477 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
478 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
479 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
480 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
481 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
482
483Acknowledgement
484
485 Funding for the RFC Editor function is currently provided by the
486 Internet Society.
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506Bellovin, et. al. Standards Track [Page 9]
507