RFC 4785

Pre-Shared Key (PSK) Ciphersuites with NULL Encryption for Transport Layer Security (TLS)

πŸ“… published January 2007, from ietf

RFC 4785 πŸ’– Pre-Shared Key (PSK) Ciphersuites with NULL Encryption for Transport Layer Security (TLS)

okay bestie, this one is a Standards Track doc from the IETF, and it's giving practical, no-frills TLS πŸ¦‹

  • RFC number: 4785
  • Network Working Group, Standards Track
  • Authors: Uri Blumenthal and Purushottam Goel, both at Intel Corporation 🧚
  • Date: January 2007
  • Obsoletes / Updates: the header doesn't list any RFCs it obsoletes or updates ✨

Status of This Memo πŸ“‹

this doc is an Internet standards track protocol spec for the Internet community, and it's asking for discussion and suggestions for improvements πŸ—£οΈ. for the current standardization state and status of this protocol, check the "Internet Official Protocol Standards" (STD 1). distribution of this memo is unlimited 🌸.

Copyright (C) The IETF Trust (2007).

Abstract 🌈

so this doc specifies authentication-only ciphersuites with no encryption for the Pre-Shared Key (PSK) based Transport Layer Security (TLS) protocol πŸ”. they're useful when you want authentication and integrity protection but confidentiality isn't needed, or isn't allowed πŸ™ˆ.

Table of Contents πŸ—‚οΈ

   1. Introduction ....................................................2
      1.1. Applicability Statement ....................................2
   2. Conventions Used in This Document ...............................2
   3. Cipher Usage ....................................................3
   4. Security Considerations .........................................3
   5. IANA Considerations .............................................3
   6. Acknowledgments .................................................3
   7. References ......................................................4
      7.1. Normative References .......................................4
      7.2. Informative References .....................................4

1. Introduction ✨

okay so the PSK TLS spec, [TLS-PSK], gives you ciphersuites for TLS using pre-shared symmetric keys πŸ”‘. the catch is that every ciphersuite in [TLS-PSK] requires encryption. but there are situations where you only need authentication and integrity protection, and confidentiality just isn't needed πŸ€·β€β™€οΈ. there are also situations where confidentiality isn't permitted. for example, implementations that have to follow import restrictions in some countries 🌍. even with no encryption, these suites still let the client and server authenticate each other, and they still give you message integrity πŸ’….

this doc augments [TLS-PSK] by adding three more ciphersuites (PSK, DHE_PSK, RSA_PSK) that do authentication and integrity only, with no encryption πŸŽ€. you're expected to already be familiar with the [TLS-PSK] standard before reading this one, so go read that first, bestie πŸ“š.

1.1. Applicability Statement 🧁

the ciphersuites in this doc are meant for a pretty limited set of applications, usually with just a very small number of clients and servers πŸ₯Ί. even in those environments, other alternatives might fit better πŸ‘€.

if the main goal is avoiding Public-key Infrastructures (PKIs), you could consider self-signed certificates with public key fingerprints πŸͺͺ. instead of manually setting up a shared secret in something like a config file, you could put a fingerprint (hash) of the other party's public key (or certificate) in there instead πŸ’œ.

you can also use the Secure Remote Password (SRP) ciphersuites for shared secret authentication [SRP] πŸ”’. SRP was designed to work with passwords, and it has protection against dictionary attacks baked in πŸ™Œ. the tradeoff is that it's computationally more expensive than the PSK ciphersuites in [TLS-PSK] 🐒.

2. Conventions Used in This Document πŸ“

the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] 🫢.

3. Cipher Usage πŸ“

the three new ciphersuites here match the three cipher suites defined in [TLS-PSK], except that these ones use null encryption 🌸.

these ciphersuites use the following options for the key exchange and hash parts of the protocol πŸ’…:

   CipherSuite                     Key Exchange   Cipher      Hash

   TLS_PSK_WITH_NULL_SHA           PSK            NULL        SHA
   TLS_DHE_PSK_WITH_NULL_SHA       DHE_PSK        NULL        SHA
   TLS_RSA_PSK_WITH_NULL_SHA       RSA_PSK        NULL        SHA

for what PSK means, check section 1 in [TLS-PSK]. for DHE, RSA, and SHA, check appendixes A.5 and B in [TLS] πŸ“–.

4. Security Considerations πŸ’€

⚠️ big deal section, don't skip it! ⚠️ as with every scheme that uses shared keys, you need to take special care to protect the shared values and to limit how long they're exposed πŸ”. this doc augments [TLS-PSK], so everything in the Security Considerations section of [TLS-PSK] applies here too. on top of that, these cipher suites don't support confidentiality, so take care not to send sensitive information (like passwords) over connections protected by one of these ciphersuites 🚨.

5. IANA Considerations 🏷️

this doc defines three new ciphersuites, and their values live in the TLS Cipher Suite registry defined in [TLS] πŸ“‹.

   CipherSuite   TLS_PSK_WITH_NULL_SHA      = { 0x00, 0x2C };
   CipherSuite   TLS_DHE_PSK_WITH_NULL_SHA  = { 0x00, 0x2D };
   CipherSuite   TLS_RSA_PSK_WITH_NULL_SHA  = { 0x00, 0x2E };

6. Acknowledgments πŸ«‚

the ciphersuites in this doc are an augmentation of, and based on, [TLS-PSK] πŸ’œ.

7. References πŸ“š

7.1. Normative References 🌟

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [TLS]     Dierks, T. and E. Rescorla, "The Transport Layer Security
             (TLS) Protocol Version 1.1", RFC 4346, April 2006.

   [TLS-PSK] Eronen, P. and H. Tschofenig, "Pre-Shared Key Ciphersuites
             for Transport Layer Security (TLS)", RFC 4279, December
             2005.

7.2. Informative References πŸ’­

   [SRP]     Taylor, D., Wu, T., Mavrogiannopoulos, N., and T. Perrin,
             "Using SRP for TLS Authentication", Work in Progress,
             December 2006.

Authors' Addresses πŸ§šβ€β™€οΈ

   Uri Blumenthal
   Intel Corporation
   1515 State Route 10,
   PY2-1 10-4
   Parsippany, NJ 07054
   USA

   EMail: urimobile@optonline.net


   Purushottam Goel
   Intel Corporation
   2111 N.E. 25 Ave.
   JF3-414
   Hillsboro, OR 97124
   USA

   EMail: Purushottam.Goel@intel.com

Copyright (C) The IETF Trust (2007).

this document is subject to the rights, licenses and restrictions in BCP 78, and except as set out there, the authors keep all their rights πŸŽ€.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property πŸ¦‹

the IETF takes no position on the validity or scope of any Intellectual Property Rights or other rights that might be claimed to apply to the technology in this document, or on whether any license under those rights is available. it also doesn't say it has independently tried to find any such rights. info on the procedures for rights in RFC documents is in BCP 78 and BCP 79 πŸ“œ.

copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, and the results of any attempt to get a general license or permission for implementers or users to use such proprietary rights can be found in the IETF online IPR repository at http://www.ietf.org/ipr πŸ”.

the IETF invites any interested party to bring to its attention any copyrights, patents, patent applications, or other proprietary rights that might cover technology needed to implement this standard. send that info to the IETF at ietf-ipr@ietf.org πŸ’Œ.

Acknowledgement ✨

funding for the RFC Editor function is currently provided by the Internet Society πŸ’–.

πŸ“¦ where this page comes from