TCPLS : Closely Integrating
TCP and TLS
Florentin Rochet, Emery Assogba, Olivier Bonaventure
UCLouvain
This work was partially supported by the Walloon government within the MQUIC project
1
Our current stack
• TLS 1.3
• provides security
• More and more used on WANs and
by a variety of applications
• TCP
• provides connection abstraction,
realibility, congestion control
• Most popular transport protocol
• In the future, TCP could always be
used with TLS
TCP
Socket
IP
Application
TLS
2
Control and data separation in TCP
Source port Destination port
Checksum Urgent pointer
THL Reserved Flags
Acknowledgment number
Sequence number
Window
Payload
TCP Options
• Very simple
Control
Data
restricts the length of
3
TLS 1.3 in one slide
• Secure Handshake • The encrypted TLS records
ClientHello( ... Extension)
ServerHello(.. EncryptedExt)
Finished
Application Data
Finished
0-rtt mode in parallel with the
TCP handshake is possible
Type Version Length
Always 23 App Data TLS 1.3
TrueType
Encrypted
and
authenticated
Encrypted and thus invisible to middleboxes
4
An integrated stack
• Key idea
• Use new TLS record types to carry TCP
control plane information
• TLS record to carry TCP option
• TCP option inside ClientHello Extension
• TCP option inside ServerHello EncrytedExt
• TCPLS has 2 different channels for TCP
control
• regular TCP options
• Encrypted TLS recordsIP
Application
TCPLS
TLS
TCP
Socket
5
The TCPLS control channels
6
Application
TCPLS
TLS
TCP
Socket
Enc. TLS rec #2 (data)
Source port Destination port
Checksum Urgent pointer
THL Reserved Flags
Acknowledgment number
Sequence number
Window
TCP Options
Enc. TLS rec #1(control)
Application
TCPLS
TLS
TCP
Socket
TCP header
TLS records
Use case : Securing Multipath TCP
• Security concerns
• token is exchanged inside SYN/SYN+ACK
• ADD_ADDR authentication
• ADD_ADDR not reliable
• With TCPLS
• Derive token from TLS secrets
• TCPLS record for ADD_ADDR
• reliable and authenticated
• REMOVE_ADDR could still be
sent as TCP option
7
Use case : Stronger TFO
• Concern
• The security of TFO is limited by the length of the TCP options in the SYN to encode
the cookie
• TCPLS approach
• Use TLS’s 0-RTT and
• send ClientHello inside SYN payload with TCPLS cookie
• send ServerHello inside SYN+ACK payload with TCPLS cookie
• Cookies can be longer and more secure by leveraging the existing TLS mechanisms
• Middlebox interference
• Apple’s measurements do not seem to indicate that the length of the payload in the SYN is a
strong factor in middlebox interference
8
Use case : More space for TCP options
• TCPLS approach
• More options during the handshake
• Leverage the 0-RTT handshake
• ServerHello inside SYN+ACK and TCP Options as ServerHello EncryptedExt
• Define TLS record type to carry TCP options
• Late negotiation of TCP extensions
• Since TLS records are reliably exchanged, we could also negotiate a TCP extension after
the establishment of a connection
9
Use case : True keepalives
• Concern
• Keepalives really part of TCP
• TCPLS approach
• New ping/pong TCPLS record type
• Hosts can send ping/pong records including data without interfering with payload
• TCPLS can negotiate keepalive intervals and other informations
RFC1122
10
Use case : Secure session release
• Concern
• Middleboxes or attackers can force the termination of TCP connections using
RST or FIN
• TCPLS approach
• New authenticated record type indicating end of TCPLS connection
• If RST or FIN are received before the exchange of this record, then the
underlying TCP connection can be automatically reestablished
11
Use case : Happy eyeballs
• Server supports IPv4 and IPv6
• Client learns addresses from DNS and initiates IPv6 and later IPv4 connection
• With TCPLS
• Server uses EncryptedExt in ServerHello to advertise its alternate address
• Similar to what QUIC connection migration or MPTCP’s ADD_ADDR
• Client learns alternate server address during handshake
• Client can create connection to alternate address, test it and migrate the
connection
12
Use case : Connection migration
• Concern
• Smartphone wants to move to cellular while preserving established TCPLS
session
• Implemented TCPLS approach
• Server provides connection identifier
and cookie in ServerHello
• Client creates second TCPLS subflow
to server using this information
• Server and client move data transfer to
new TCPLS subflow
13
Conclusion
• Don’t consider TCP and TLS as separate and independent protocols
• TLS 1.3 can be efficiently combined with TCP to improve it
• More details are available in
our Hotnets’20 paper
• There is running code based on
picotls at
https://pluginized-protocols.org
14
Conclusion
• Don’t consider TCP and TLS as separate and independent protocols
• TLS 1.3 can be efficiently combined with TCP to improve it
• More details are available in
our Hotnets’20 paper
• There is running code based on
picotls at
https://pluginized-protocols.org
15

More Related Content

PPTX
10 routing-bgp
PPTX
Part 6 : Internet applications
PPTX
Part 7 : HTTP/2, UDP and TCP
PPTX
Part 9 : Congestion control and IPv6
PPTX
Making our networking stack truly extensible
PPTX
IPv6 Segment Routing : an end-to-end solution ?
PPTX
12 ethernet-wifi
PPTX
Innovation is back in the transport and network layers
10 routing-bgp
Part 6 : Internet applications
Part 7 : HTTP/2, UDP and TCP
Part 9 : Congestion control and IPv6
Making our networking stack truly extensible
IPv6 Segment Routing : an end-to-end solution ?
12 ethernet-wifi
Innovation is back in the transport and network layers

What's hot (20)

DOCX
Network interview questions
PPTX
Part 4 : reliable transport and sharing resources
DOCX
Surviving The Stump The Chump Interview Questions
PPT
6 app-tcp
PPTX
9 ipv6-routing
PPTX
Future Internet protocols
PPTX
Multipath TCP
PPTX
Part 5 : Sharing resources, security principles and protocols
PPTX
16 coms 525 tcpip - routing protocols -all
PPTX
8 congestion-ipv6
PPTX
Beyond TCP: The evolution of Internet transport protocols
PPT
5 sharing-app
PPTX
Transport layer
PPTX
PDF
TCP Theory
PDF
Lec 12(Transport Layer)
PPTX
TCP/IP and UDP protocols
PPTX
TCP- Transmission Control Protocol
PDF
TCP - Transmission Control Protocol
PDF
Chapter 3 : User Datagram Protocol (UDP)
Network interview questions
Part 4 : reliable transport and sharing resources
Surviving The Stump The Chump Interview Questions
6 app-tcp
9 ipv6-routing
Future Internet protocols
Multipath TCP
Part 5 : Sharing resources, security principles and protocols
16 coms 525 tcpip - routing protocols -all
8 congestion-ipv6
Beyond TCP: The evolution of Internet transport protocols
5 sharing-app
Transport layer
TCP Theory
Lec 12(Transport Layer)
TCP/IP and UDP protocols
TCP- Transmission Control Protocol
TCP - Transmission Control Protocol
Chapter 3 : User Datagram Protocol (UDP)
Ad

Similar to TCPLS presentation @ietf 109 (20)

PDF
BAIT1103 Chapter 4
 
PDF
CNIT 141: 13. TLS
PDF
CNIT 141: 13. TLS
PDF
CNIT 141 13. TLS
PPTX
IOT2.pptx is internet of things presentation
PPTX
FILE TRANSFER PROTOCOL BY LAXMI $ Group
PPTX
TCP_UDP_presention_for_network_transtion.pptx
PDF
The Trusted Cloud Transfer Protocol (TCTP)
PPT
TCP/IP(networking)
PPTX
ITN6_Instructor_Materials_Chapter9git.pptx
PPTX
tcp-ippresentation-150614172243-lva1-app6892.pptx
PPTX
TRANSPORT LAYER ppt.pptx
PPTX
Transmission control protocol (TCP) Group 6 (1).pptx
PPTX
Chp3 Transport Layer.pptxdata communication and networking
PDF
SECURE SOCKET LAYER(SSL)_LECTURE SLIDES.pdf
PPT
Transport protocols
PDF
TCP - IP Presentation
PPTX
Tcp ip presentation
PPTX
Vpn(virtual private network)
PPTX
1.1.2 - Concept of Network and TCP_IP Model (2).pptx
BAIT1103 Chapter 4
 
CNIT 141: 13. TLS
CNIT 141: 13. TLS
CNIT 141 13. TLS
IOT2.pptx is internet of things presentation
FILE TRANSFER PROTOCOL BY LAXMI $ Group
TCP_UDP_presention_for_network_transtion.pptx
The Trusted Cloud Transfer Protocol (TCTP)
TCP/IP(networking)
ITN6_Instructor_Materials_Chapter9git.pptx
tcp-ippresentation-150614172243-lva1-app6892.pptx
TRANSPORT LAYER ppt.pptx
Transmission control protocol (TCP) Group 6 (1).pptx
Chp3 Transport Layer.pptxdata communication and networking
SECURE SOCKET LAYER(SSL)_LECTURE SLIDES.pdf
Transport protocols
TCP - IP Presentation
Tcp ip presentation
Vpn(virtual private network)
1.1.2 - Concept of Network and TCP_IP Model (2).pptx
Ad

More from Olivier Bonaventure (20)

PPTX
Part3-reliable.pptx
PPTX
Part10-router.pptx
PPTX
Part1-Intro-Apps.pptx
PPTX
Part9-congestion.pptx
PPTX
Part2-Apps-Security.pptx
PPTX
Part11-lan.pptx
PPTX
Part5-tcp-improvements.pptx
PPTX
Part8-ibgp.pptx
PPTX
Part4-reliable-tcp.pptx
PPTX
Part7-routing.pptx
PPTX
Part6-network-routing.pptx
PPTX
Part1-Intro-Apps.pptx
PPTX
Part2-Apps-Security.pptx
PPTX
Part4-reliable-tcp.pptx
PPTX
Part3-reliable.pptx
PPTX
A personal journey towards more reproducible networking research
PPTX
Part 12 : Local Area Networks
PPTX
Part 11 : Interdomain routing with BGP
PPTX
Part 10 : Routing in IP networks and interdomain routing with BGP
PPTX
Part 8 : TCP and Congestion control
Part3-reliable.pptx
Part10-router.pptx
Part1-Intro-Apps.pptx
Part9-congestion.pptx
Part2-Apps-Security.pptx
Part11-lan.pptx
Part5-tcp-improvements.pptx
Part8-ibgp.pptx
Part4-reliable-tcp.pptx
Part7-routing.pptx
Part6-network-routing.pptx
Part1-Intro-Apps.pptx
Part2-Apps-Security.pptx
Part4-reliable-tcp.pptx
Part3-reliable.pptx
A personal journey towards more reproducible networking research
Part 12 : Local Area Networks
Part 11 : Interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 8 : TCP and Congestion control

Recently uploaded (20)

PDF
Uptota Investor Deck - Where Africa Meets Blockchain
PDF
Alethe Consulting Corporate Profile and Solution Aproach
PPTX
newyork.pptxirantrafgshenepalchinachinane
PPTX
Introduction to cybersecurity and digital nettiquette
PDF
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
DOCX
Powerful Ways AIRCONNECT INFOSYSTEMS Pvt Ltd Enhances IT Infrastructure in In...
PPT
Ethics in Information System - Management Information System
PPTX
Database Information System - Management Information System
PPTX
The-Importance-of-School-Sanitation.pptx
PDF
SlidesGDGoCxRAIS about Google Dialogflow and NotebookLM.pdf
PPTX
Layers_of_the_Earth_Grade7.pptx class by
PPT
12 Things That Make People Trust a Website Instantly
PPTX
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
PPTX
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
PPT
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
PDF
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
PPTX
TITLE DEFENSE entitle the impact of social media on education
PDF
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
PPTX
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
PPT
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
Uptota Investor Deck - Where Africa Meets Blockchain
Alethe Consulting Corporate Profile and Solution Aproach
newyork.pptxirantrafgshenepalchinachinane
Introduction to cybersecurity and digital nettiquette
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
Powerful Ways AIRCONNECT INFOSYSTEMS Pvt Ltd Enhances IT Infrastructure in In...
Ethics in Information System - Management Information System
Database Information System - Management Information System
The-Importance-of-School-Sanitation.pptx
SlidesGDGoCxRAIS about Google Dialogflow and NotebookLM.pdf
Layers_of_the_Earth_Grade7.pptx class by
12 Things That Make People Trust a Website Instantly
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
module 1-Part 1.pptxdddddddddddddddddddddddddddddddddddd
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
TITLE DEFENSE entitle the impact of social media on education
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt

TCPLS presentation @ietf 109

  • 1. TCPLS : Closely Integrating TCP and TLS Florentin Rochet, Emery Assogba, Olivier Bonaventure UCLouvain This work was partially supported by the Walloon government within the MQUIC project 1
  • 2. Our current stack • TLS 1.3 • provides security • More and more used on WANs and by a variety of applications • TCP • provides connection abstraction, realibility, congestion control • Most popular transport protocol • In the future, TCP could always be used with TLS TCP Socket IP Application TLS 2
  • 3. Control and data separation in TCP Source port Destination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window Payload TCP Options • Very simple Control Data restricts the length of 3
  • 4. TLS 1.3 in one slide • Secure Handshake • The encrypted TLS records ClientHello( ... Extension) ServerHello(.. EncryptedExt) Finished Application Data Finished 0-rtt mode in parallel with the TCP handshake is possible Type Version Length Always 23 App Data TLS 1.3 TrueType Encrypted and authenticated Encrypted and thus invisible to middleboxes 4
  • 5. An integrated stack • Key idea • Use new TLS record types to carry TCP control plane information • TLS record to carry TCP option • TCP option inside ClientHello Extension • TCP option inside ServerHello EncrytedExt • TCPLS has 2 different channels for TCP control • regular TCP options • Encrypted TLS recordsIP Application TCPLS TLS TCP Socket 5
  • 6. The TCPLS control channels 6 Application TCPLS TLS TCP Socket Enc. TLS rec #2 (data) Source port Destination port Checksum Urgent pointer THL Reserved Flags Acknowledgment number Sequence number Window TCP Options Enc. TLS rec #1(control) Application TCPLS TLS TCP Socket TCP header TLS records
  • 7. Use case : Securing Multipath TCP • Security concerns • token is exchanged inside SYN/SYN+ACK • ADD_ADDR authentication • ADD_ADDR not reliable • With TCPLS • Derive token from TLS secrets • TCPLS record for ADD_ADDR • reliable and authenticated • REMOVE_ADDR could still be sent as TCP option 7
  • 8. Use case : Stronger TFO • Concern • The security of TFO is limited by the length of the TCP options in the SYN to encode the cookie • TCPLS approach • Use TLS’s 0-RTT and • send ClientHello inside SYN payload with TCPLS cookie • send ServerHello inside SYN+ACK payload with TCPLS cookie • Cookies can be longer and more secure by leveraging the existing TLS mechanisms • Middlebox interference • Apple’s measurements do not seem to indicate that the length of the payload in the SYN is a strong factor in middlebox interference 8
  • 9. Use case : More space for TCP options • TCPLS approach • More options during the handshake • Leverage the 0-RTT handshake • ServerHello inside SYN+ACK and TCP Options as ServerHello EncryptedExt • Define TLS record type to carry TCP options • Late negotiation of TCP extensions • Since TLS records are reliably exchanged, we could also negotiate a TCP extension after the establishment of a connection 9
  • 10. Use case : True keepalives • Concern • Keepalives really part of TCP • TCPLS approach • New ping/pong TCPLS record type • Hosts can send ping/pong records including data without interfering with payload • TCPLS can negotiate keepalive intervals and other informations RFC1122 10
  • 11. Use case : Secure session release • Concern • Middleboxes or attackers can force the termination of TCP connections using RST or FIN • TCPLS approach • New authenticated record type indicating end of TCPLS connection • If RST or FIN are received before the exchange of this record, then the underlying TCP connection can be automatically reestablished 11
  • 12. Use case : Happy eyeballs • Server supports IPv4 and IPv6 • Client learns addresses from DNS and initiates IPv6 and later IPv4 connection • With TCPLS • Server uses EncryptedExt in ServerHello to advertise its alternate address • Similar to what QUIC connection migration or MPTCP’s ADD_ADDR • Client learns alternate server address during handshake • Client can create connection to alternate address, test it and migrate the connection 12
  • 13. Use case : Connection migration • Concern • Smartphone wants to move to cellular while preserving established TCPLS session • Implemented TCPLS approach • Server provides connection identifier and cookie in ServerHello • Client creates second TCPLS subflow to server using this information • Server and client move data transfer to new TCPLS subflow 13
  • 14. Conclusion • Don’t consider TCP and TLS as separate and independent protocols • TLS 1.3 can be efficiently combined with TCP to improve it • More details are available in our Hotnets’20 paper • There is running code based on picotls at https://pluginized-protocols.org 14
  • 15. Conclusion • Don’t consider TCP and TLS as separate and independent protocols • TLS 1.3 can be efficiently combined with TCP to improve it • More details are available in our Hotnets’20 paper • There is running code based on picotls at https://pluginized-protocols.org 15