<?xml version='1.0' encoding='UTF-8'?>

<!-- draft submitted in xml v3 -->   

<!DOCTYPE rfc [
 <!ENTITY nbsp    "&#160;">
 <!ENTITY zwsp   "&#8203;">
 <!ENTITY nbhy   "&#8209;">
 <!ENTITY wj     "&#8288;">
]> 

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-ietf-uta-ciphersuites-in-sec-syslog-07" number="9662" ipr="trust200902" obsoletes="" updates="5425, 6012" submissionType="IETF" consensus="true" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">

 <front>
   <title abbrev="Cipher Suites in Secure Syslog">Updates to the Cipher Suites in Secure Syslog</title>
    <seriesInfo name="RFC" value="9662"/>
    <author fullname="Chris Lonvick" initials="C." surname="Lonvick">
      <address>
        <email>lonvick.ietf@gmail.com</email>
     </address>
    </author>
    
     <author fullname="Sean Turner" initials="S." surname="Turner">
      <organization>sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
     </address>
    </author>
    
     <author fullname="Joe Salowey" initials="J." surname="Salowey">
       <organization>Venafi</organization>
      <address>
        <email>joe@salowey.net</email>
     </address>
    </author>

    <date month="October" year="2024"/>

    <area>SEC</area>
    <workgroup>uts</workgroup>
  

    <keyword>syslog</keyword>
    <keyword>secure syslog</keyword>
    <keyword>TLS_RSA_WITH_AES_128_CBC_SHA</keyword>
    <keyword>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</keyword>
    <keyword>DTLS</keyword>
    <keyword>TLS</keyword>
    <keyword>cipher suite</keyword>

        <abstract>
                <t>
   RFCs 5425 and 6012 describe using TLS and DTLS to securely 
   transport syslog messages.  This document updates the 
   cipher suites required by RFC 5245 (TLS 
   Transport Mapping for Syslog) and RFC 6012 
   (DTLS Transport Mapping for Syslog).  It also updates 
   the protocol recommended by RFC 6012 for secure datagram transport. 
		</t>
    </abstract>
	</front>
	<middle>
    <section numbered="true" toc="default">
    	<name>Introduction</name>
<t>
   "Transport Layer Security (TLS) Transport Mapping for Syslog" <xref target="RFC5425"/> and 
   "Datagram Transport Layer Security (DTLS) Transport Mapping for Syslog" <xref target="RFC6012"/>
   describe using TLS and DTLS to securely transport syslog messages.  Both 
   of these specifications require the use of RSA-based certificates 
   and the use of TLS and DTLS versions that are not the most recent.
</t>
			<t>
			<xref target="RFC5425" sectionFormat="of" section="4.2"/> requires that implementations <bcp14>MUST</bcp14>
			support TLS 1.2 <xref target="RFC5246" /> and are <bcp14>REQUIRED</bcp14> 
			to support the mandatory-to-implement cipher suite 
			TLS_RSA_WITH_AES_128_CBC_SHA. 
			</t><t>
			<xref target="RFC6012" sectionFormat="of" section="5.2"/> requires that implementations "<bcp14>MUST</bcp14>" 
			support DTLS 1.0 <xref target="RFC4347" /> and are also 
			"<bcp14>REQUIRED</bcp14>" to support the mandatory-to-implement cipher suite 
			TLS_RSA_WITH_AES_128_CBC_SHA.
			</t><t>
			The community is moving away from cipher suites that do not offer forward
			secrecy and towards more robust suites.
			</t><t>
			The DTLS 1.0 transport <xref target="RFC4347" /> has been deprecated by 
			RFC 8996 <xref target="BCP195" />, and the community is moving to DTLS 1.2 
			<xref target="RFC6347" /> and DTLS 1.3 <xref target="RFC9147" />.
			</t><t>
			This document updates <xref target="RFC5425" /> and <xref target="RFC6012" /> 
			to prefer the use of TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 over the use of
			TLS_RSA_WITH_AES_128_CBC_SHA. 
			</t><t>
			This document also updates <xref target="RFC6012" /> by recommending  
			a mandatory-to-implement secure datagram transport.
			</t>
		</section>
		
		<section anchor="terminology" numbered="true" toc="default">

		  <name>Terminology</name>
        <t>
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/> <xref
    target="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
		</section>

		<section anchor="reasons" numbered="true" toc="default">	
		  <name>Support for Updating</name>
			<t>
			<xref target="I-D.ietf-tls-rfc8447bis" /> generally reminds us that 
			cryptographic algorithms and parameters will be broken or weakened over time.  
			Blindly implementing the cryptographic algorithms listed in any specification 
			is not advised. Implementers and users need to check that the cryptographic 
			algorithms specified continue to provide the expected level of security.
			</t><t>
			As the Syslog Working Group determined, syslog clients and servers 
			<bcp14>MUST</bcp14> use certificates as defined in <xref target="RFC5280" />.
			Since both <xref target="RFC5425" /> and <xref target="RFC6012" /> 
			<bcp14>REQUIRED</bcp14> the use of TLS_RSA_WITH_AES_128_CBC_SHA, it is very
			likely that RSA certificates have been implemented in devices adhering to
			those specifications. RFC 9325 <xref target="BCP195" /> notes that ECDHE cipher suites 
			exist for both RSA and ECDSA certificates, so moving to an ECDHE cipher suite 
			will not require replacing or moving away from any currently installed 
			RSA-based certificates.
			</t><t>
			<xref target="I-D.ietf-tls-deprecate-obsolete-kex" /> documents that the
			cipher suite TLS_RSA_WITH_AES_128_CBC_SHA, along with some other cipher suites,
			may require mitigation techniques to achieve expected security, which may be 
			difficult to effectively implement. Along those lines, 

RFC 9325 <xref target="BCP195" /> notes that 
			TLS_RSA_WITH_AES_128_CBC_SHA does not provide forward secrecy, a feature that 
			is highly desirable in securing event messages. That document also goes on to 
			recommend TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 as a cipher suite that does 
			provide forward secrecy.
			</t><t>
 			As such, the community is moving away from algorithms that do not provide 
 			forward secrecy. For example, the International Electrotechnical Commission 
 			(IEC) has selected more robust suites such as 
 			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, which is also listed as a 
 			currently <bcp14>RECOMMENDED</bcp14> algorithm in
			<xref target="I-D.ietf-tls-rfc8447bis" /> for their deployments of
			secure syslog.
			</t><t>
			Additionally, RFC 8996 <xref target="BCP195" /> 
			deprecates the use 
			of DTLS 1.0 <xref target="RFC4347" />, which is the mandatory-to-implement 
			transport protocol per <xref target="RFC6012" />. Therefore, that transport
			protocol must be updated.
			</t><t>
			Finally, RFC 9325 <xref target="BCP195" /> provides 
			guidance on the support of TLS 1.3 <xref target="RFC8446" /> and 
			DTLS 1.3 <xref target="RFC9147" />.
			</t><t>
			Therefore, to maintain interoperability across implementations, the mandatory-to-implement cipher suites listed in <xref target="RFC5425" /> and 
			<xref target="RFC6012" /> should be updated so that implementations of secure 
			syslog will still interoperate and provide an acceptable and expected level 
			of security. 
			</t>


			<t>
			However, since there are many implementations of syslog using
			the cipher suites mandated by <xref target="RFC6012" />, a 
			sudden change is not desirable. To accommodate a migration path,
                        TLS_RSA_WITH_AES_128_CBC_SHA or
                        TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 may be used, but it
                        is <bcp14>REQUIRED</bcp14> that TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                        be preferred. 
			</t>
		</section>
    
		<section anchor="updates5425">
		  <name>Updates to RFC 5425</name>
			<t>
			The mandatory-to-implement cipher suites are <bcp14>REQUIRED</bcp14> 
			to be TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 and TLS_RSA_WITH_AES_128_CBC_SHA.
			</t><t>
			Implementations of <xref target="RFC5425" /> <bcp14>SHOULD</bcp14> offer 
			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 but <bcp14>MAY</bcp14> offer
			TLS_RSA_WITH_AES_128_CBC_SHA.
			</t><t>
			Implementations of <xref target="RFC5425" /> <bcp14>MUST</bcp14> continue to 
			use TLS 1.2 <xref target="RFC5246" /> as the mandatory-to-implement 
			transport protocol.
     		       </t>
<t>
			As per RFC 9325 <xref target="BCP195" />, implementations of <xref target="RFC5425" /> 
			<bcp14>SHOULD</bcp14> support TLS 1.3 <xref target="RFC8446" /> and, if 
			implemented, <bcp14>MUST</bcp14> prefer to negotiate TLS 1.3
			over earlier versions of TLS.
 			</t>
		</section>
			
		<section anchor="updates6012">
		  <name>Updates to RFC 6012</name>	
			<t>
			The mandatory-to-implement cipher suites are <bcp14>REQUIRED</bcp14> to be 
			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 and TLS_RSA_WITH_AES_128_CBC_SHA.
			</t><t>
			Implementations of <xref target="RFC6012" /> <bcp14>SHOULD</bcp14> offer 
			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 but <bcp14>MAY</bcp14> offer
			TLS_RSA_WITH_AES_128_CBC_SHA. 
			</t>
<t>
			As specified in RFCs 8996 and 9325 <xref target="BCP195" />, implementations of 
			<xref target="RFC6012" /> <bcp14>MUST NOT</bcp14> use DTLS 1.0 <xref target="RFC4347" />. 
			Implementations <bcp14>MUST</bcp14> use DTLS 1.2 <xref target="RFC6347" />.
			</t><t>
			DTLS 1.2 <xref target="RFC6347" /> implementations <bcp14>SHOULD</bcp14> support 
			and prefer the mandatory-to-implement cipher suite 
			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.
			</t><t>
			As per RFC 9325 <xref target="BCP195" />, implementations of <xref target="RFC6012" /> 
			<bcp14>SHOULD</bcp14> support DTLS 1.3 <xref target="RFC9147" /> and, if 
			implemented, <bcp14>MUST</bcp14> prefer to negotiate DTLS version 1.3 over 
			earlier versions of DTLS.
 			</t>
		</section>   
		
		<section anchor="earlyData">
		  <name>Early Data</name>
			<t>
			Early data (aka 0-RTT data) is a mechanism defined in TLS 1.3
			<xref target="RFC8446" /> that allows a client to send data ("early data") as 
			part of the first flight of messages to a server. Early data is permitted by 
			TLS 1.3 when the client and server share a PSK, either obtained externally or 
			via a previous handshake. The client uses the PSK to authenticate the server 
			and to encrypt the early data.
			</t><t>
			As noted in <xref target="I-D.ietf-tls-rfc8446bis" sectionFormat="of" section="2.3" />, the 
			security properties for early data are weaker than those for subsequent 
			TLS-protected data.  In particular, early data is not forward secret, and 
			there are no protections against the replay of early data between 
			connections. <xref target="I-D.ietf-tls-rfc8446bis" sectionFormat="of" section="E.5" /> 
			requires that applications not use early data without a profile that defines its 
			use. Because syslog does not support replay protection (see  
			<xref target="RFC5424" sectionFormat="of" section="8.4"/>) and most implementations establish a long-lived 
			connection, this document specifies that implementations <bcp14>MUST NOT</bcp14> use early 
			data.
			</t>
		</section>
 

		<section anchor="IANA" numbered="true" toc="default">
			<name>IANA Considerations</name>
<t>This document has no IANA actions.</t>
		</section>
		<section anchor="Security" numbered="true" toc="default">
			<name>Security Considerations</name>
			<t>
			RFCs 8996 and 9325 <xref target="BCP195" /> deprecate an insecure DTLS transport protocol 
			from <xref target="RFC6012" /> and deprecate insecure cipher suites from 
			<xref target="RFC5425" /> and <xref target="RFC6012" />. However, the
			installed base of syslog implementations is not easily updated to 
			immediately adhere to those changes.
			</t><t>
			This document updates the mandatory-to-implement cipher suites to allow 
			for a migration from TLS_RSA_WITH_AES_128_CBC_SHA to
			TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 without deprecating the former.
			Implementations should prefer to use TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.
			</t><t>
			If a device currently only has TLS_RSA_WITH_AES_128_CBC_SHA, an 
			administrator of the network should evaluate
			the conditions and determine if TLS_RSA_WITH_AES_128_CBC_SHA should be allowed
			so that syslog messages may continue to be delivered until the device is
			updated to have TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256.
			</t>
		</section>
  </middle>

 <back>
   <displayreference target="I-D.ietf-tls-rfc8447bis" to="RFC8447bis"/>
   <displayreference target="I-D.ietf-tls-deprecate-obsolete-kex" to="DEPRECATE-KEX"/>
   <displayreference target="I-D.ietf-tls-rfc8446bis" to="RFC8446bis"/>
   <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5425.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5246.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5424.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4347.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6012.xml'/>
	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml'/>
	
	<referencegroup anchor="BCP195" target="https://www.rfc-editor.org/info/bcp195">
	  <xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8996.xml'/>
	  <xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9325.xml'/>
	</referencegroup>

	<xi:include href='https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml'/>

      </references>
      <references>
        <name>Informative References</name>

<!-- [I-D.ietf-tls-rfc8447bis] IESG state: I-D Exists -->
	<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-tls-rfc8447bis"/>

<!-- [I-D.ietf-tls-deprecate-obsolete-kex] IESG state: AD Evaluation::External Party -->
	<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-tls-deprecate-obsolete-kex"/>

<!--[I-D.ietf-tls-rfc8446bis] IESG state: I-D Exists -->
	<xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D.ietf-tls-rfc8446bis"/>

      </references>
    </references>

		<section anchor="Acks" numbered="false" toc="default">
			<name>Acknowledgments</name>
			<t>The authors would like to thank <contact fullname="Arijit Kumar Bose"/>, <contact fullname="Steffen Fries"/>, and the 
			members of IEC TC57 WG15 for their review, comments, and suggestions. The
			authors would also like to thank <contact fullname="Tom Petch"/>, <contact fullname="Juergen Schoenwaelder"/>,  
			<contact fullname="Hannes Tschofenig"/>, <contact fullname="Viktor Dukhovni"/>, and the IESG members for their comments 
			and constructive feedback.
			</t>
		</section>

 </back>
</rfc>
