Modernizing Network Security with nQUIC Noise-Based Packet Protection
Explore the evolution of network security mechanisms through nQUIC Noise protocol, comparing it against traditional HTTPS stack. Delve into the secure transmission aspects of TCP/IP, TLS, and the innovative approaches of QUIC protocol, emphasizing the significance of securing protocols with TLS in modern network infrastructures.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
nQUIC nQUIC: Noise : Noise- -Based Packet Protection Protection Based Packet Mathias Hall-Andersen* University of Copenhagen David Wong* Facebook Alishah Chator Johns Hopkins University Nick Sullivan Cloudflare *Work done while at NCC Group Work done while at Cloudflare
The Traditional HTTPS Stack HTTP TLS TCP IP
The Traditional HTTPS Stack Multiplexed Streams HTTP TLS TCP IP
The Traditional HTTPS Stack Multiplexed Streams HTTP Security TLS TCP IP
The Traditional HTTPS Stack Multiplexed Streams HTTP Security TLS Reliability TCP IP
The Traditional HTTPS Stack HTTP TLS Ossification TCP IP
The QUIC way of doing things HTTP HTTP TLS QUIC TCP UDP IP
The QUIC way of doing things HTTP HTTP Multiplexed Streams TLS Security Reliability QUIC TCP UDP IP
Securing Protocols with TLS: TCP TLS Handshake Layer TLS Record Layer TCP
Securing Protocols with TLS: TCP TLS Handshake Layer Handshake messages, Application data, TLS alerts TLS Record Layer TCP
Securing Protocols with TLS: TCP TLS Handshake Layer Handshake messages, Application data, TLS alerts Applies cryptographic protection TLS Record Layer TCP
Securing Protocols with TLS: TCP TLS Handshake Layer Handshake messages, Application data, TLS alerts Applies cryptographic protection TLS Record Layer Reliable transport TCP
Securing Protocols with TLS: QUIC TLS Handshake/Alerts Application Data QUIC
Securing Protocols with TLS: QUIC TLS Handshake/Alerts Application Data Supplies both packet protection and reliable transport QUIC
Handshake Modularity Extract keys from handshake QUIC TLS Handshake/Alerts
Handshake Modularity Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets QUIC Packet Protector
Handshake Modularity Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets QUIC Packet Protector
Handshake Modularity Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Separation between how handshake is performed and how the keys are used QUIC Packet Protector
Handshake Modularity Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Separation between how handshake is performed and how the keys are used QUIC Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets QUIC Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Specifications focus on TLS 1.3 limits advantages of modularity QUIC Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Specifications focus on TLS 1.3 limits advantages of modularity - Avoiding complexity when not needed QUIC Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Specifications focus on TLS 1.3 limits advantages of modularity - Avoiding complexity when not needed - Swapping in new protocols with full security proofs QUIC Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Specifications focus on TLS 1.3 limits advantages of modularity - Avoiding complexity when not needed - Swapping in new protocols with full security proofs QUIC - Legacy support not always needed Packet Protector
Handshake Modularity? Extract keys from handshake QUIC TLS Handshake/Alerts Use keys to protect packets Specifications focus on TLS 1.3 limits advantages of modularity - Avoiding complexity when not needed - Swapping in new protocols with full security proofs QUIC - Legacy support not always needed Packet Protector In addition, TLS implementations need significant modification before integrating with QUIC
Are there circumstances we can do better than TLS 1.3?
What is Noise A framework for specifying Cryptographic Handshakes
What is Noise A framework for specifying Cryptographic Handshakes A variety of protocols can be specified using the simple Noise language
What is Noise A framework for specifying Cryptographic Handshakes A variety of protocols can be specified using the simple Noise language These protocols can vary in their guarantees and complexity
What is Noise A framework for specifying Cryptographic Handshakes A variety of protocols can be specified using the simple Noise language These protocols can vary in their guarantees and complexity However, once a protocol is selected, the handshake proceeds in a straightforward fashion
What is Noise The Noise language consists of tokens, which combine into message patterns, when combine into handshake patterns
What is Noise The Noise language consists of tokens, which combine into message patterns, when combine into handshake patterns s s e e Public Key Tokens
What is Noise The Noise language consists of tokens, which combine into message patterns, when combine into handshake patterns s s e s s s e e s e e e Public Key Tokens DH Tokens
What is Noise Here is a basic example handshake pattern e payload payload e e e
What is Noise Here is a basic example handshake pattern e Initiator sends a public ephemeral DH share
What is Noise Here is a basic example handshake pattern e payload Initiator sends a public ephemeral DH share A cleartext payload is also sent over
What is Noise Here is a basic example handshake pattern e payload Initiator sends a public ephemeral DH share A cleartext payload is also sent over Responder sends a public ephemeral DH share e
What is Noise Here is a basic example handshake pattern e payload Initiator sends a public ephemeral DH share A cleartext payload is also sent over Responder sends a public ephemeral DH share e e e A DHKE is performed using these keys to obtain
What is Noise Here is a basic example handshake pattern e payload Initiator sends a public ephemeral DH share A cleartext payload is also sent over Responder sends a public ephemeral DH share payload e e e A DHKE is performed using these keys to obtain Responder sends payload encrypted under a derived key
What is Noise Here is a basic example handshake pattern e payload Initiator sends a public ephemeral DH share A cleartext payload is also sent over Responder sends a public ephemeral DH share payload e e e A DHKE is performed using these keys to obtain Responder sends payload encrypted under a derived key Noise does additional processing to mix all handshake data into the derived key
Noise vs TLS Once a handshake pattern is selected, noise follows a simple linear state machine
Noise vs TLS Once a handshake pattern is selected, Noise follows a simple linear state machine Noise is easy to prove secure
Noise vs TLS Once a handshake pattern is selected, Noise follows a simple linear state machine Noise is easy to prove secure Noise is generally implemented as a build your own protocol library
Noise vs TLS Once a handshake pattern is selected, Noise follows a simple linear state machine Noise is easy to prove secure Noise is generally implemented as a build your own protocol library Noise lacks cryptographic agility
Peer Authentication and Pinning Traditionally, Authentication of peers in TLS involves a PKI
Peer Authentication and Pinning Traditionally, Authentication of peers in TLS involves a PKI Leaf Intermediary Root Chain of Trust
Peer Authentication and Pinning Traditionally, Authentication of peers in TLS involves a PKI Leaf Intermediary Root Chain of Trust However this is not necessary in a centrally managed setting
Peer Authentication and Pinning Pinning instructs a peer to expect a specific key
Peer Authentication and Pinning Pinning instructs a peer to expect a specific key This is similar to the Preshared Symmetric Keys (PSKs) setting