I am following this tutorial.
In the Developer Tools pane, click the Security tab.
In the Connections section, notice these three items, outlined in red in the image below.
Start sniffing on the interface that carries traffic from your host system to your virtual machine.
In Wireshark, at the top left, enter this display filter:
tcp.port==443Press Enter to activate the filter.
In Chrome, refresh this page:
https://yourname-https.netWhen the page loads, stop Wireshark capturing.
Find the Client Hello packet.
Expand these items:
This corresponds to X25519MLKEM768, a hybrid PQC algorithm combining X25519 (ECDH) with ML-KEM-768 (a PQC key encapsulation mechanism).
Expand these items:
openssl version
You must have version 3 or later,
as shown below.
sudo apt update
sudo apt install git cmake libssl-dev ninja-build -y
git clone https://github.com/open-quantum-safe/oqs-provider.git
cd oqs-provider
./scripts/fullbuild.sh
sudo cmake --install _build
./scripts/runtests.sh
The tests should pass,
as shown below.
sudo nano /etc/ssl/openssl.cnf
Near the top of the file,
remove the "#" to uncomment this line,
as shown below:
openssl_conf = openssl_init
Add the following lines at the end of the file, as shown below.
# PQC via OpenQuantumSafe
[provider_sect]
default = default_sect
oqsprovider = oqsprovider_sect
[default_sect]
activate = 1
[oqsprovider_sect]
activate = 1
Save the file with Ctrl+X, Y, Enter.
openssl list -providers
You should see the
"OpenSSL OQS Provider",
as shown below.
openssl list -kem-algorithms
You should see
"X25519MLKEM768 @ oqsprovide",
highlighted in the image
below.
This is the only post-quantum algorithm supported by default in current web browsers.
sudo nano /etc/apache2/mods-enabled/ssl.conf
At the bottom ofmthe file, add these lines,
as shown below.
# Configure key exchange and key encapsulation mechanisms
SSLOpenSSLConfCmd Curves X25519MLKEM768:X448:X25519:prime256v1
Save the file with Ctrl+X, Y, Enter.
Execute this command to restart Apache:
sudo service apache2 restart
In the Developer Tools pane, click the Security tab.
In the Connections section, you should now see X25519MLKEM768, outlined in red in the image below.
Flag W 12.1: Server Hello (10 pts)
Capture a TLS handshake in Wireshark.Find the Server Hello packet.
Expand these items:
The flag is covered by a green rectangle in the image below.
- Transport Layer Security
- TLSv1.3 Record Layer: Handshake Protocol: Server Hello
- Handshake Protocol: Server Hello
- Extension: key_share
- Key Share extension