<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<rfc category="std" docName="draft-hares-i2nsf-ssls-02.txt"  ipr="trust200902">
  <front>
    <title abbrev="SSLS">Secure Session Layer Services</title>

	<author fullname="Susan Hares" initials="S." surname="Hares">
	<organization> Hickory Hill Consulting </organization>
	<address>
	  <postal>
	   <street></street>
	    <city>Saline</city>
		<country>US</country>
	  </postal>
	 <email>shares@ndzh.com </email>
	</address>
	</author>
	<author fullname="Robert Moskowitz" initials="R" surname="Moskowitz">
    <organization>HTT Consulting</organization>
    <address>
      <postal> 
	    <street></street>
        <city>Oak Park</city>
        <region>MI</region>
        <code>48237</code>
        <country>USA</country>
      </postal>
	  <phone>+1-248-968-9809</phone>
      <email>rgm@htt-consult.com</email>
	</address>
	</author>
    <date year="2017" />
    <area>Security Area</area>
    <workgroup>I2NSF</workgroup>
    <keyword>RFC</keyword>
    <keyword>Request for Comments</keyword>
    <keyword>I-D</keyword>
    <keyword>Internet-Draft</keyword>
    <keyword>I2NSF</keyword>
	<keyword>Secure Session Layer Services</keyword>
	<keyword>SSLS</keyword>
    <abstract>
      <t>  Each I2NSF agent and I2NSF client needs to provide
     application level support for management traffic during 
	 periods of DDoS and network security attacks to 
	 deal with congestion (burst and/or continuous), 
	 high error rates and packet loss due to the attacks, 
	 and the inability to utilize a transport protocol (E.g. TCP)
	 due to a specific protocol attack.  This application 
	 level support needs to be able to select the key management system
	 and provide "chunking" of data (in order to fit in reduced
	 effective MTUs), compression of data (in order to fit into 
	 reduced bandwidth), small security envelope )in order to maximize room 
	 for management payload), and fragmentation and reassembly 
     at the application layer for those protocols which do not support
     fragmentation/reassembly (E.g. UDP or SMS). 
	 </t>
	 <t> These Secure Session Layer services may only be deployed on a 
    the few management ports which need to be protected during DDoS attacks or  
    network security attacks, and turned on/off based on need.  The application 
	and the network instrumentation need to cooperate to determine if this 
	service needs to be turned on or off.   This draft specifies a 
	security session layer services(SSLs) which provide
	these features in terms of APIs (North-Bound and South-bound), 
	and the component features (interface to key management systems, data compression, chunking of data, 
	 secure session envelope (SSE) to send data, and fragmentation and 
     reassembly, and ability to detect existence of attack). 
    </t>	 
	 </abstract>
  </front>
 <middle>
<section anchor="intro" title="Introduction"> 
      <t>  Each I2NSF agent and I2NSF client needs to provide
     application level support for management traffic during 
	 periods of DDoS and network security attacks to 
	 deal with congestion (burst and/or continuous), 
	 high error rates and packet loss due to the attacks, 
	 and the inability to utilize a transport protocol (E.g. TCP)
	 due to a specific protocol attack.  Some of the services 
	 the I2NSF controller must provide during these periods of 
	 DDoS or network security attacks are: 
	 <list style="symbols">
    <t>receiving information regarding DDoS Threats from DOTS systems, 
	</t>
	<t>Changing policy on vNSF and NSF devices during these periods, </t>
	<t>exchanging information with user security applications using I2NSF
	to obtain information from the controller,</t>
    <t>Aid the I2NSF reporting of attacks with the the CERT (MILE)
       either by providing data or sendign the report 	
    </t>
   <t> and manages network connnectivity of devices out of compliance (SACM).</t>
   </list>
   </t>
   <t>
	 This application level support for I2NSF client-agent communication
	 needs to be able to select the key management system
	 and provide "chunking" of data (in order to fit in reduced
	 effective MTUs), compression of data (in order to fit into 
	 reduced bandwidth), small security envelope )in order to maximize room 
	 for mangement payload), and fragmentation and reassembly 
     at the application layer for those protocols which do not support
     fragmentation/reassembly (E.g. UDP or SMS).  The application 
	 layer needs to be able to turn off this features if the system 
	 detects these features are no longer needed. 
	 </t>
	 <t>
	These requirements can be well met with the Secure Session Layer 
	Service [draft-hares-ssls-00]:
	
	<list style="symbols">
	<t>A North-bound API from the application to the session layer
	</t>
	<t>A South-bound API from the session layer to the network layer
	</t>
	<t>interface to key management system, </t>
	<t>data compression
	</t>
	<t>chunking of data
	</t>
	<t>secure envelope, </t>
	<t>fragmentation and reassembly,
	</t>
	<t>detection of network conditions that require this service.
	 </t>
	</list>
    A diagram of the SSLS with these process is in figure 1. 
    </t>
   <t>
   The API for this SSLS allows the application to select
   the types of key management, and the different types of 
   services (data compression, chunking of data, 
   secure e)
	</t>
	<t>
	<figure>
	<artwork>
	
	Secure Session Layer Services(SSLS)
        | API |
        |     |
  +------------------------------+
  |     | Key Mangement(KMP)     |
  |     |........................|
  |     | Detection of network   |
  |SB===| conditions + selection |
  |API  | of transport (optional | 
  |     |  proprietary code)     |
  |     .........................|
  |SSLS | Compression (GPComp)   |
  |     |........................|
  |SB===| Chunking of data       |
  |API  | (this draft)           |
  |     .........................|
  |     | Session Security       |
  |     | Envelope (SSE)         |
  |     |........................|
  |     | fragmentation and      |
  |SB== | reassembly at          | 
  |API  | application layer      |
  |     | (This draft)           |
  +------------------------------+
	</artwork>
	</figure>
	</t>
   </section> 
<section title="SSLS Processes">
<section title="Chunking of Data">
<t>
The process that "chunks" data breaks down the
application stream after the compression process.
If the compression process has compressed the data, 
the chunking process will chunk compressed data. 
If the user has requested no compression, this 
chunking process will chunk uncompressed data. 
</t>
<t>
The secure session envelope must be bigger than the chunk.  
</t>
<t>
If the SSE is using TCP or STCP, that assembles 
the application flow into a byte stream, then 
the SSE packages will contain a chunk within the 
secure session envelope. 
</t>
<t>
	If Transports that do not fragment and re-assembly are being 
	specified, the SSL will support application layer fragmentation and 
	reassembly. (see the fragmentation section below).
</t>
</section>
<section title="Secure Session Envelope">
<t>
	The Secure Session Envelope (SSE) <xref 
	target="I-D.moskowitz-sse"></xref> creates a secure envelope using 
	the SPI created by the key management and running over the 
	transport selected by the user.
</t>
</section>
<section title="Application Packet Fragmentation and Reassembly">
<t>
	SSE's secure envelope may be passed over UDP to avoid 
	transport-level security attacks.  Alternatively SSE's secure 
	transport may go over the extremely limited SMS fabric so that some 
	security management information gets through.  In both cases, the 
	user (or the "detection log") can select the transport and 
	fragmentation. 
</t>
<t>
	If fragmentation is turned on, the individual SSE envelopes will 
	track the IP messages the SSE envelope is broken into.  The SSE 
	process receiving the traffic will send back an acknowledge SSE 
	packet. It is anticipate that the fragmentation process will 
	attempt to bundle some acks.
</t>
</section>
<section title="Proprietary Plugins: Detect Conditions + Select Transport">
<t>The SSL process allows two proprietary plugins: 
<list style="numbers">
<t>Plugin to detect error conditions 
which require SSLS services which include: 
<list style="symbols">
<t>High levels of end-to-end congestion,</t>
<t>High levels of error and loss, </t>
<t>Input from IDS/IPS that detects problems</t>
<t>Signals from other I2NSF applications</t>
</list>
</t>
<t>Proprietary actions may select transport
based on input from other standardize security services
(DOTS, CERT, MILE) or proprietary services.</t>
</list>
</t>
<t>Prototype code will provide instances to show 
plugin values, and the South-Bound API to these plugins. 
</t>
 
</section>
</section> 
<section anchor="IANA" title="IANA Considerations">
<t>
	TBD 
</t>
</section>
 <section title="Security Considerations">
<t>The SSLS shares the following security considerations with the 
SSE Technology:
<list style="symbols">
<t>
	As SSE uses an AEAD block cipher, it is vulnerable to attack if a 
	sequence number is reused for a given key. Thus implementations of 
	SSE MUST provide for rekeying prior to Sequence Number rollover. An 
	implementation should never assume that for a given context, the 
	sequence number space will never be exhausted. Key Management 
	Protocols like IKEv2 <xref target="RFC7296"/> or HIP <xref 
	target="RFC7401"/> could be used to provide for rekeying 
	management.  The KMP SHOULD not create a network layer fate-sharing 
	limitation.
</t>
<t>
	As any security protocol can be used for a resource exhaustion 
	attack, implementations should consider methods to mitigate 
	flooding attacks of messages with valid SPIs but invalid content.  
	Even with the ICV check, resources are still consumed to validate 
	the ICV.
</t> 
<t>
	SSE makes no attempt to recommend the ICV length.  For constrained 
	network implementations, other sources should guide the 
	implementation as to ICV length selection.  The ICV length 
	selection SHOULD be the the responsibility of the KMP.
</t> 

<t>
	As with any layered security protocol, SSE makes no claims of 
	protecting lower or higher processes in the communication stack. 
	Each layer's risks and liabilities need be addressed at that level.
</t>
</list>
</t>
</section>
<section anchor="Acknowledgements" title="Acknowledgements">
  <t>The authos would like to thank Frank (Liang) Xia for his comments and suggestions on 
     this draft.  </t>
</section>
</middle>
 <back>
    <references title="Normative References">
	<?rfc include="reference.RFC.2119.xml"?>
	</references>
    <references title="Informative References">
	<?rfc include="reference.RFC.7296.xml"?>
	<?rfc include="reference.RFC.7401.xml"?>
	<?rfc include="reference.I-D.moskowitz-sse.xml"?>
    </references>
  </back>
</rfc>
