Week 5: Congestion Control, Security
#Certificates
#Certificates 1
Look at the provided server.crt certificate. What is the domain name that this certificate applies to? Just submit the domain name itself (e.g. google.com).
Use the command openssl x509 -in certificate.crt -text -noout to parse a certificate file.
#Certificates 2
What is the CN (common name) of the issuer of this certificate?
#Certificates 3
What is the CN (common name) of the root CA? You may need to use the provided intermediate.crt.
#Certificates 4
Look at the provided server_untrusted.crt. A browser will be unable to verify this certificate for the domain it applies to. Why?
#Congestion Control
#Congestion Control 1
What does the congestion control window (cwnd) size represent?
- The number of bytes the receiver can buffer at a time
- The number of bytes that can fit inside the sender’s queue
- The maximum number of bytes in flight in the network between the sender and the receiver
- The number of bytes the sender can send before a packet is dropped
Answer with a number, like 1.
#Congestion Control 2
Which of the following fields in a captured TCP segment header indicates the current state of the sender’s congestion control window (cwnd)?
- The window size field
- The acknowledgement number field
- The options field
- None of the above
Answer with a number, like 1.
#Congestion Control 3
During the congestion avoidance phase, if the current cwnd is 10 segments and 10 successful ACKs are received (one full window), what will the new cwnd be (in segments)?
#Congestion Control 4
During the slow start phase, if the current cwnd is 10 segments and 10 successful ACKs are received (one full window), what will the new cwnd be (in segments)?
#Congestion Control 5
If the current cwnd is 10 segments and a timeout occurs, what will the new cwnd be (in segments)?
#Cryptography
#Cryptography 1
Which of the following cryptographic algorithms can be performed with just a single shared key between two parties?
- Symmetric encryption
- Public-key encryption
- Signatures (NOT MAC)
- MAC (NOT signatures)
Answer with a list, like 1,2,3.
#Cryptography 2
Which of the following cryptographic algorithms can be performed using public and private keys (without a shared key exchange)?
- Symmetric encryption
- Public-key encryption
- Signatures (NOT MAC)
- MAC (NOT signatures)
Answer with a list, like 1,2,3.
#Cryptography 3
A client sends a password over HTTPS. Which cryptographic property ensures that an eavesdropper cannot read it?
- Confidentiality
- Integrity
- Authenticity
- Availability
Answer with a number, like 1.
#Cryptography 4
A client downloads a file over HTTPS. Which cryptographic property ensures that the file was not tampered in transit?
- Confidentiality
- Integrity
- Authenticity
- Availability
Answer with a number, like 1.
#Cryptography 5
Why does TLS establish a shared session key to use for symmetric encryption instead of just relying on asymmetric cryptography?
- Asymmetric cryptography is less secure
- Historical reasons
- Symmetric cryptography is more efficient to compute locally
- Asymmetric cryptography requires more key exchanges
Answer with a number, like 1.
#Cryptography 6
Suppose a server publishes a public key alongside its cryptographic hash. A client tries to download both of these objects over HTTP (not HTTPS). Identify which cryptographic property is missing from this setup, and what an attacker could do in this scenario.
Hint: A public key is intended to be public. If an eavesdropper reads its contents, nothing bad happens.
#Congestion Control Simulation
Host A begins sending data to host B over a TCP connection at T = 0 ms. Host B does not have any data to send to host A. Each segment that host A sends is 1 KB, which is also the MSS. At T = 0 ms, host A’s congestion control window cwnd = 1 KB and ssthresh = 3 KB. Additionally, RTO = 100 ms and 1 RTT = 20 ms. The RTT includes a transmission delay of 4 ms for data-carrying segments. The transmission delay for ACK segments with no data is negligible. Delayed ACKs are not used.
#Congestion Control Simulation 1
At what time (in ms) does host A receive the ACK for segment 2?
#Congestion Control Simulation 2
What is host A’s congestion control phase once it receives the ACK for segment 2?
- Slow start
- Congestion avoidance
- Fast recovery
Answer with a number, like 1.
#Congestion Control Simulation 3
At what time (in ms) does host A begin transmitting segment 5?
#Congestion Control Simulation 4
Once host A receives the ACK for segment 5, what is cwnd (in KB)?
#Congestion Control Simulation 5
Suppose segment 6 gets lost once. At what time (in ms) does host A begin retransmitting the segment?
#Congestion Control Simulation 6
What is host A’s congestion control phase once it finishes retransmitting segment 6?
- Slow start
- Congestion avoidance
- Fast recovery
#TLS
#TLS 1
In a TLS handshake, what could a client send to a server?
- The highest supported TLS protocol version it supports
- The TLS protocol version that will be used
- Supported cryptographic algorithms
- The cryptographic algorithms that will be used
- A certificate
- An encrypted random number
- A public key used for Diffie-Hellman Key Exchange
Answer with a list, like 1,2,3.
#TLS 2
In a TLS handshake, what could a server send to a client?
- The highest supported TLS protocol version it supports
- The TLS protocol version that will be used
- Supported cryptographic algorithms
- The cryptographic algorithms that will be used
- A certificate
- An encrypted random number
- A public key used for Diffie-Hellman Key Exchange
Answer with a list, like 1,2,3.
#TLS 3
Which of the cryptographic primitives are used in modern TLS (which has forward secrecy)?
- Symmetric-key encryption
- Asymmetric (public-key) encryption
- MACs
- Asymmetric (public-key) signatures
- Asymmetric key exchanges (e.g., Diffie-Hellman)
- Key exchanges based on random-number encryption
- Hashing
Answer with a list, like 1,2,3.