1 2 3NETWORK WORKING GROUP N. Williams 4Internet-Draft Sun 5Expires: December 30, 2004 July 2004 6 7 8 A PRF API extension for the GSS-API 9 draft-ietf-kitten-gssapi-prf-01.txt 10 11Status of this Memo 12 13 By submitting this Internet-Draft, I certify that any applicable 14 patent or other IPR claims of which I am aware have been disclosed, 15 and any of which I become aware will be disclosed, in accordance with 16 RFC 3668. 17 18 Internet-Drafts are working documents of the Internet Engineering 19 Task Force (IETF), its areas, and its working groups. Note that 20 other groups may also distribute working documents as 21 Internet-Drafts. 22 23 Internet-Drafts are draft documents valid for a maximum of six months 24 and may be updated, replaced, or obsoleted by other documents at any 25 time. It is inappropriate to use Internet-Drafts as reference 26 material or to cite them other than as "work in progress." 27 28 The list of current Internet-Drafts can be accessed at 29 http://www.ietf.org/ietf/1id-abstracts.txt. 30 31 The list of Internet-Draft Shadow Directories can be accessed at 32 http://www.ietf.org/shadow.html. 33 34 This Internet-Draft will expire on December 30, 2004. 35 36Copyright Notice 37 38 Copyright (C) The Internet Society (2004). All Rights Reserved. 39 40Abstract 41 42 This document defines a Pseudo-Random Function (PRF) extension to the 43 Generic Security Service Applicatoin Programming Interface (GSS-API) 44 for keying application protocols given an established GSS-API 45 security context. The primary intended use of this function is to 46 key secure session layers that don't or cannot use GSS-API 47 per-message MIC (message integrity check) and wrap tokens for session 48 protection. 49 50 51 52 53 54 55Williams Expires December 30, 2004 [Page 1] 56 57Internet-Draft A PRF Extension for the GSS-API July 2004 58 59 60Table of Contents 61 62 1. Conventions used in this document . . . . . . . . . . . . . . 3 63 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 3. GSS_Pseudo_random() . . . . . . . . . . . . . . . . . . . . . 5 65 3.1 C-Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . 5 66 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 67 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 68 5.1 Normative References . . . . . . . . . . . . . . . . . . . . . 8 69 5.2 Informative References . . . . . . . . . . . . . . . . . . . . 8 70 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 8 71 Intellectual Property and Copyright Statements . . . . . . . . 9 72 73 74 75 76 77 78 79 80 81 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 111Williams Expires December 30, 2004 [Page 2] 112 113Internet-Draft A PRF Extension for the GSS-API July 2004 114 115 1161. Conventions used in this document 117 118 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 119 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 120 document are to be interpreted as described in [RFC2119]. 121 122 123 124 125 126 127 128 129 130 131 132 133 134 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 167Williams Expires December 30, 2004 [Page 3] 168 169Internet-Draft A PRF Extension for the GSS-API July 2004 170 171 1722. Introduction 173 174 A need has arisen for users of the GSS-API to key applications' 175 cryptographic protocols using established GSS-API security contexts. 176 Such applications can use the GSS-API for authentication, but not for 177 transport security (for whatever reasons), and since the GSS-API does 178 not provide a method for obtaining keying material from established 179 security contexts such applications cannot make effective use of the 180 GSS-API. 181 182 To address this need we define a pseudo-random function (PRF) 183 extension to the GSS-API. 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223Williams Expires December 30, 2004 [Page 4] 224 225Internet-Draft A PRF Extension for the GSS-API July 2004 226 227 2283. GSS_Pseudo_random() 229 230 Inputs: 231 232 o context CONTEXT handle, 233 o prf_in OCTET STRING, 234 o desired_output_len INTEGER 235 236 Outputs: 237 238 o major_status INTEGER, 239 o minor_status INTEGER, 240 o prf_out OCTET STRING 241 242 Return major_status codes: 243 o GSS_S_COMPLETE indicates no error. 244 o GSS_S_NO_CONTEXT indicates that a null context has been provided 245 as input. 246 o GSS_S_CONTEXT_EXPIRED indicates that an expired context has been 247 provided as input. 248 o GSS_S_UNAVAILABLE indicates that the mechanism lacks support for 249 this function. 250 o GSS_S_FAILURE indicates failure or lack of support; the minor 251 status code may provide additional information. 252 253 This function applies the established context's mechanism's keyed PRF 254 function to the input data (prf_in), keyed with key material 255 associated with the given security context and outputs the resulting 256 octet string (prf_out) of desired_output_len length. 257 258 The output string of this function MUST be a pseudo-random function 259 [GGM1][GGM2] of the input keyed with key material from the 260 established security context -- the chances of getting the same 261 output given different input parameters should be exponentially 262 small. 263 264 This function, applied to the same inputs by an initiator and 265 acceptor using the same established context, MUST produce the *same 266 results* for both, the initiator and acceptor, even if called 267 multiple times for the same context. 268 269 Mechanisms MAY limit the output of the PRF according, possibly in 270 ways related to the types of cryptographic keys available for the PRF 271 function, thus the prf_out output of GSS_Pseudo_random() MAY be 272 smaller than requested. 273 2743.1 C-Bindings 275 276 277 278 279Williams Expires December 30, 2004 [Page 5] 280 281Internet-Draft A PRF Extension for the GSS-API July 2004 282 283 284 OM_uint32 gss_pseudo_random( 285 OM_uint32 *minor_status, 286 gss_ctx_id_t context, 287 const gss_buffer_t prf_in, 288 ssize_t desired_output_len, 289 gss_buffer_t prf_out 290 ); 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335Williams Expires December 30, 2004 [Page 6] 336 337Internet-Draft A PRF Extension for the GSS-API July 2004 338 339 3404. Security Considerations 341 342 Care should be taken in properly designing a mechanism's PRF 343 function. 344 345 GSS mechanisms' PRF functions should use a key derived from contexts' 346 session keys and should preserve the forward security properties of 347 the mechanisms' key exchanges. 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391Williams Expires December 30, 2004 [Page 7] 392 393Internet-Draft A PRF Extension for the GSS-API July 2004 394 395 3965. References 397 3985.1 Normative References 399 400 [GGM1] Goldreich, O., Goldwasser, S. and S. Micali, "How to 401 Construct Random Functions", October 1986. 402 403 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 404 Requirement Levels", BCP 14, RFC 2119, March 1997. 405 406 [RFC2743] Linn, J., "Generic Security Service Application Program 407 Interface Version 2, Update 1", RFC 2743, January 2000. 408 409 [RFC2744] Wray, J., "Generic Security Service API Version 2 : 410 C-bindings", RFC 2744, January 2000. 411 4125.2 Informative References 413 414 [GGM2] Goldreich, O., Goldwasser, S. and S. Micali, "On the 415 Cryptographic Applications of Random Functions", 1985. 416 417 [RFC1750] Eastlake, D., Crocker, S. and J. Schiller, "Randomness 418 Recommendations for Security", RFC 1750, December 1994. 419 420 421Author's Address 422 423 Nicolas Williams 424 Sun Microsystems 425 5300 Riata Trace Ct 426 Austin, TX 78727 427 US 428 429 EMail: Nicolas.Williams@sun.com 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447Williams Expires December 30, 2004 [Page 8] 448 449Internet-Draft A PRF Extension for the GSS-API July 2004 450 451 452Intellectual Property Statement 453 454 The IETF takes no position regarding the validity or scope of any 455 Intellectual Property Rights or other rights that might be claimed to 456 pertain to the implementation or use of the technology described in 457 this document or the extent to which any license under such rights 458 might or might not be available; nor does it represent that it has 459 made any independent effort to identify any such rights. Information 460 on the procedures with respect to rights in RFC documents can be 461 found in BCP 78 and BCP 79. 462 463 Copies of IPR disclosures made to the IETF Secretariat and any 464 assurances of licenses to be made available, or the result of an 465 attempt made to obtain a general license or permission for the use of 466 such proprietary rights by implementers or users of this 467 specification can be obtained from the IETF on-line IPR repository at 468 http://www.ietf.org/ipr. 469 470 The IETF invites any interested party to bring to its attention any 471 copyrights, patents or patent applications, or other proprietary 472 rights that may cover technology that may be required to implement 473 this standard. Please address the information to the IETF at 474 ietf-ipr@ietf.org. 475 476 477Disclaimer of Validity 478 479 This document and the information contained herein are provided on an 480 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 481 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 482 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 483 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 484 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 485 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 486 487 488Copyright Statement 489 490 Copyright (C) The Internet Society (2004). This document is subject 491 to the rights, licenses and restrictions contained in BCP 78, and 492 except as set forth therein, the authors retain all their rights. 493 494 495Acknowledgment 496 497 Funding for the RFC Editor function is currently provided by the 498 Internet Society. 499 500 501 502 503Williams Expires December 30, 2004 [Page 9] 504 505 506