Multiplexed Application Substrate over QUIC Encryption (MASQUE) Flashcards

1
Q

What are examples of proxies that exist?

A
  • Native HTTP proxy: send HTTP GET to proxy, proxy makes request and forwards response.
  • HTTP Connect: TCP connection via proxy, send HTTP Connect to proxy, proxy establishes TCP connection to remote server and forwards from then on.
  • SOCKS: Support TCP/UDP, but very detectabe/ blockable(cleartext), also multiple RTT to establish connections.
  • IPSec, transparent PEP, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the motivation behind MASQUE?

A

Many proxies exist, however HTTP/3 aka. QUIC breaks TCP- proxying technologies, since TLS encryptions is mandatory and it is built on UDP.
However QUIC also makes things easier, so we want to make it a basis for new type of proxy:
- Unreliable transmit
- Multiplexed streams
- HTTP/3 has all other required stuff: cache, auth, req/res

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are some use cases for MASQUE?

A
  • QUIC for encryption in VPN- like services
  • QUIC for HTTP Connect
  • DNS over HTTPS - via proxy
  • Allowing Efficient tunneling of QUIC (with compression)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the QUIC Datagram extension?

A
  • It allows applications on top of QUIC to send unreliable data, while still leveraging sec. and cc properties of QUIC.
  • Similar to DTLS (TLS for UDP)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is missing from QUIC Datagram extension in order for it to work with MASQUE?

A
  • It can not demultiplex datagrams by default

- If QUIC is blocked, there is not fallback for earlier HTTP versions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How does the draft by MASQUE WG solve the issues related to QUIC Datagram extension so that we can send datagrams with HTTP?

A
  • Demultiplexing: Each datagram is associated with client- initiated bidirectional QUIC stream. Each stream identified by optional 62- bit context ID.
  • Solving HTTP fallback: Simply send the data over TCP in this case, slower but works.
  • Capsule Protocol: Sequence of type- length- value tuples allowing endpoints to reliably commmunicate request- related information. Has different types of capsules to register/close datagram connections.
  • Connect UDP Method:
    HTTP datagrams from Client to Proxy, then UDP datagrams to Server.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly