draft-williams-gssapi-prf-00.txt
1 NETWORK WORKING GROUP N. Williams 2 Internet-Draft Sun 3 Expires: December 30, 2004 S. Hartman 4 MIT 5 July 2004 6 7 8 9 A PRF API extension for the GSS-API 10 draft-williams-gssapi-prf-00.txt 11 12 13 Status of this Memo 14 15 16 By submitting this Internet-Draft, I certify that any applicable 17 patent or other IPR claims of which I am aware have been disclosed, 18 and any of which I become aware will be disclosed, in accordance with 19 RFC 3668. 20 21 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF), its areas, and its working groups. Note that 24 other groups may also distribute working documents as 25 Internet-Drafts. 26 27 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 32 33 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt. 36 37 38 The list of Internet-Draft Shadow Directories can be accessed at 39 http://www.ietf.org/shadow.html. 40 41 42 This Internet-Draft will expire on December 30, 2004. 43 44 45 Copyright Notice 46 47 48 Copyright (C) The Internet Society (2004). All Rights Reserved. 49 50 51 Abstract 52 53 54 This document defines a Pseudo-Random Function (PRF) extension to the 55 GSS-API for keying application protocols given an established GSS-API 56 security context. 57 58 59 60 61 62 63 64 65 66 Williams & Hartman Expires December 30, 2004 [Page 1] 67 Internet-Draft A PRF Extension for the GSS-API July 2004 68 69 70 71 Table of Contents 72 73 74 1. Conventions used in this document . . . . . . . . . . . . . . 3 75 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 76 3. GSS_Pseudo_random() . . . . . . . . . . . . . . . . . . . . . 5 77 3.1 C-Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . 5 78 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 79 5. Normative . . . . . . . . . . . . . . . . . . . . . . . . . . 6 80 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 6 81 Intellectual Property and Copyright Statements . . . . . . . . 8 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 Williams & Hartman Expires December 30, 2004 [Page 2] 125 Internet-Draft A PRF Extension for the GSS-API July 2004 126 127 128 129 1. Conventions used in this document 130 131 132 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 133 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 134 document are to be interpreted as described in [RFC2119]. 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 Williams & Hartman Expires December 30, 2004 [Page 3] 183 Internet-Draft A PRF Extension for the GSS-API July 2004 184 185 186 187 2. Introduction 188 189 190 A need has arisen for users of the GSS-API to key applications' 191 cryptographic protocols using established GSS-API security contexts. 192 Such applications can use the GSS-API for authentication, but not for 193 transport security (for whatever reasons), and since the GSS-API does 194 not provide a method for obtaining keying material from established 195 security contexts such applications cannot make effective use of the 196 GSS-API. 197 198 199 To address this need we define a PRF extension to the GSS-API. 200 201 202 At this point EAP may be the primary consumer of this extension. 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 Williams & Hartman Expires December 30, 2004 [Page 4] 243 Internet-Draft A PRF Extension for the GSS-API July 2004 244 245 246 247 3. GSS_Pseudo_random() 248 249 250 Inputs: 251 252 253 o context CONTEXT handle, 254 o prf_in OCTET STRING 255 256 257 Outputs: 258 259 260 o major_status INTEGER, 261 o minor_status INTEGER, 262 o prf_out OCTET STRING 263 264 265 Return major_status codes: 266 o GSS_S_COMPLETE indicates no error. 267 o GSS_S_NO_CONTEXT indicates that a null context has been provided 268 as input. 269 o GSS_S_CONTEXT_EXPIRED indicates that an expired context has been 270 provided as input. 271 o GSS_S_FAILURE indicates failure or lack of support; the minor 272 status code may provide additional information. 273 274 275 This function applies the context's mechanism's keyed PRF function to 276 the input data (prf_in), keyed with key material associated with the 277 given security context and outputs the result (prf_out). 278 279 280 3.1 C-Bindings 281 282 283 OM_uint32 gss_pseudo_random( 284 OM_uint32 *minor_status, 285 gss_ctx_id_t context, 286 const gss_buffer_t prf_in, 287 gss_buffer_t prf_out 288 ); 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 Williams & Hartman Expires December 30, 2004 [Page 5] 308 Internet-Draft A PRF Extension for the GSS-API July 2004 309 310 311 312 4. Security Considerations 313 314 315 GSS mechanisms' PRF functions should use a key derived from contexts' 316 session keys and should preserve the forward security properties of 317 the mechanisms' key exchanges. 318 319 320 Care should be taken in properly designing a mechanism's PRF 321 function. Cryptographic hash functions which do not provide strong 322 collision resistance should not be used, except through HMAC. 323 324 325 GSS mechanisms' PRF functions may output fewer octets than the 326 application may need, therefore GSS-API applications that use 327 GSS_Pseudo_random() may require a "PRF+" construction based on 328 GSS_Pseudo_random(). 329 330 331 [Question: Should GSS_Pseudo_random() have an input roughly 332 corresponding to the "key usage" used for key derivation in Kerberos 333 V?] 334 335 336 5 Normative 337 338 339 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 340 Requirement Levels", BCP 14, RFC 2119, March 1997. 341 342 343 [RFC2743] Linn, J., "Generic Security Service Application Program 344 Interface Version 2, Update 1", RFC 2743, January 2000. 345 346 347 [RFC2744] Wray, J., "Generic Security Service API Version 2 : 348 C-bindings", RFC 2744, January 2000. 349 350 351 352 Authors' Addresses 353 354 355 Nicolas Williams 356 Sun Microsystems 357 5300 Riata Trace Ct 358 Austin, TX 78727 359 US 360 361 362 EMail: Nicolas.Williams@sun.com 363 364 365 366 Sam Hartman 367 Massachussets Institute of Technology 368 ... 369 ..., MA ... 370 US 371 372 373 374 375 376 Williams & Hartman Expires December 30, 2004 [Page 6] 377 Internet-Draft A PRF Extension for the GSS-API July 2004 378 379 380 381 EMail: hartmans@mit.edu 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 Williams & Hartman Expires December 30, 2004 [Page 7] 434 Internet-Draft A PRF Extension for the GSS-API July 2004 435 436 437 438 Intellectual Property Statement 439 440 441 The IETF takes no position regarding the validity or scope of any 442 Intellectual Property Rights or other rights that might be claimed to 443 pertain to the implementation or use of the technology described in 444 this document or the extent to which any license under such rights 445 might or might not be available; nor does it represent that it has 446 made any independent effort to identify any such rights. Information 447 on the procedures with respect to rights in RFC documents can be 448 found in BCP 78 and BCP 79. 449 450 451 Copies of IPR disclosures made to the IETF Secretariat and any 452 assurances of licenses to be made available, or the result of an 453 attempt made to obtain a general license or permission for the use of 454 such proprietary rights by implementers or users of this 455 specification can be obtained from the IETF on-line IPR repository at 456 http://www.ietf.org/ipr. 457 458 459 The IETF invites any interested party to bring to its attention any 460 copyrights, patents or patent applications, or other proprietary 461 rights that may cover technology that may be required to implement 462 this standard. Please address the information to the IETF at 463 ietf-ipr@ietf.org. 464 465 466 467 Disclaimer of Validity 468 469 470 This document and the information contained herein are provided on an 471 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 472 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 473 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 474 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 475 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 476 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 477 478 479 480 Copyright Statement 481 482 483 Copyright (C) The Internet Society (2004). This document is subject 484 to the rights, licenses and restrictions contained in BCP 78, and 485 except as set forth therein, the authors retain all their rights. 486 487 488 489 Acknowledgment 490 491 492 Funding for the RFC Editor function is currently provided by the 493 Internet Society. 494 495 496 497 498 Williams & Hartman Expires December 30, 2004 [Page 8]