idnits 2.17.1 draft-ietf-ntp-mac-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The abstract seems to contain references ([RFC5905], [RFC4493]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 3, 2017) is 2488 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 1321 ** Downref: Normative reference to an Informational RFC: RFC 4493 ** Downref: Normative reference to an Informational RFC: RFC 6151 Summary: 6 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force A. Malhotra 3 Internet-Draft S. Goldberg 4 Intended status: Standards Track Boston University 5 Expires: January 4, 2018 July 3, 2017 7 Message Authentication Code for the Network Time Protocol 8 draft-ietf-ntp-mac-01 10 Abstract 12 RFC 5905 [RFC5905] states that Network Time Protocol (NTP) packets 13 should be authenticated by appending a 128-bit key to the NTP data, 14 and hashing the result with MD5 to obtain a 128-bit tag. This 15 document deprecates MD5-based authentication, which is considered to 16 be too weak, and recommends the use of AES-CMAC [RFC4493] as a 17 replacement. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on January 4, 2018. 36 Copyright Notice 38 Copyright (c) 2017 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 55 2. Deprecating MD5 . . . . . . . . . . . . . . . . . . . . . . . 2 56 3. Replacement Recommendation . . . . . . . . . . . . . . . . . 2 57 4. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 5. Test Vectors . . . . . . . . . . . . . . . . . . . . . . . . 3 59 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 3 60 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 7.1. Normative References . . . . . . . . . . . . . . . . . . 3 62 7.2. Informative References . . . . . . . . . . . . . . . . . 4 63 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 4 65 1. Introduction 67 RFC 5905 [RFC5905] states that Network Time Protocol (NTP) packets 68 should be authenticated by appending a 128-bit key to the NTP data, 69 and hashing the result with MD5 to obtain a 128-bit tag. This 70 document deprecates MD5-based authentication, which is considered to 71 be too weak, and recommends the use of AES-CMAC [RFC4493] as a 72 replacement. 74 1.1. Requirements Language 76 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 77 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 78 document are to be interpreted as described in RFC 2119 [RFC2119]. 80 2. Deprecating MD5 82 RFC 5905 [RFC5905] defines how the MD5 digest algorithm in RFC 1321 83 [RFC1321] can be used as a message authentication code (MAC) for 84 authenticating NTP packets. However, as discussed in [BCK] and RFC 85 6151 [RFC6151], this is not a secure MAC and therefore MUST be 86 deprecated. 88 3. Replacement Recommendation 90 If authentication is implemented, then AES-CMAC as specified in RFC 91 4493 [RFC4493] should be computed over all fields in the NTP header, 92 and any extension fields that are present in the NTP packet as 93 described in RFC 5905 [RFC5905]. We recommend that the MAC key for 94 NTP SHOULD be 128 bits long AES-128 key and the resulting MAC tag 95 SHOULD be 128 bits long as stated in section 2.4 of RFC 4493 97 [RFC4493]. NTP makes this transition possible as it supports 98 algorithm agility as described in Section 2.1 of RFC 7696 [RFC7696]. 100 4. Motivation 102 AES-CMAC is recommended for the following reasons: 104 1. It is an IETF standard that is available in many open source 105 implementations. 107 2. It is immune to nonce-reuse vulnerabilities (e.g. [Joux]) 108 because it does not use a nonce. 110 3. It has fine performance in terms of latency and throughput. 111 These are important considerations for NTP, since latency 112 directly affects jitter and therefore the accuracy of time 113 synchronization. 115 4. It benefits from native hardware support, for instance, Intel's 116 New Instruction set. 118 5. Test Vectors 120 FOr test vectors and their outputs refer to Section 4 of RFC 4493 121 [RFC4493] 123 6. Acknowledgements 125 The authors wish to acknowledge useful discussions with Leen 126 Alshenibr, Daniel Franke, Ethan Heilman, Kenny Paterson, Leonid 127 Reyzin, Harlan Stenn, and Mayank Varia. 129 7. References 131 7.1. Normative References 133 [RFC1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, 134 DOI 10.17487/RFC1321, April 1992, 135 . 137 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 138 Requirement Levels", BCP 14, RFC 2119, 139 DOI 10.17487/RFC2119, March 1997, 140 . 142 [RFC4493] Song, JH., Poovendran, R., Lee, J., and T. Iwata, "The 143 AES-CMAC Algorithm", RFC 4493, DOI 10.17487/RFC4493, June 144 2006, . 146 [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, 147 "Network Time Protocol Version 4: Protocol and Algorithms 148 Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, 149 . 151 [RFC6151] Turner, S. and L. Chen, "Updated Security Considerations 152 for the MD5 Message-Digest and the HMAC-MD5 Algorithms", 153 RFC 6151, DOI 10.17487/RFC6151, March 2011, 154 . 156 [RFC7696] Housley, R., "Guidelines for Cryptographic Algorithm 157 Agility and Selecting Mandatory-to-Implement Algorithms", 158 BCP 201, RFC 7696, DOI 10.17487/RFC7696, November 2015, 159 . 161 7.2. Informative References 163 [BCK] Bellare, M., Canetti, R., and H. Krawczyk, "Keyed Hash 164 Functions and Message Authentication", in Proceedings of 165 Crypto'96, 1996. 167 [Joux] Joux, A., "Authentication Failures in NIST version of 168 GCM", 169 . 172 Authors' Addresses 174 Aanchal Malhotra 175 Boston University 176 111 Cummington St 177 Boston, MA 02215 178 US 180 Email: aanchal4@bu.edu 182 Sharon Goldberg 183 Boston University 184 111 Cummington St 185 Boston, MA 02215 186 US 188 Email: goldbe@cs.bu.edu