Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added FYP_Report.pdf
Binary file not shown.
130 changes: 130 additions & 0 deletions Plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
October 14 – 27
Set up WSL + Ubuntu development environment

Learn GitHub workflow and LaTeX basics

Fork and clone the Apache httpd ECH repository

Notes

Verify compiler, build tools, and version control setup

October 28 – November 10
Study ECH protocol (RFC 9460) and TLS 1.3 internals

Build and run Apache from the ECH-enabled fork

Document build and configuration steps in LaTeX

Notes

Focus on a clean, reproducible build process

November 11 – 24
Compile OpenSSL with ECH support (Cloudflare branch)

Link Apache build to that OpenSSL

Verify ECH directives such as SSLECHKeyDir

Notes

Record logs, errors, and solutions for future reference

November 25 – December 8
Configure Apache for ECH with valid certificates

Test ECH handshake using openssl s_client and Wireshark

Document test outputs and success criteria

Notes

Achieve first working ECH connection

December 9 – 22
Develop automated local test scripts

Run interoperability tests with Firefox Nightly and Chrome Canary

Document success/failure results

Notes

Begin comparing browser behavior and TLS fingerprints

December 23 – January 5
Mid-project progress summary

Push builds, configurations, and notes to GitHub

Produce an interim LaTeX report (PDF)

Notes

Validate current work before automation stage

January 6 – 19
Build an automated test harness (Python + Selenium)

Collect logs for ECH success/failure cases

Notes

Ensure tests run headlessly and are repeatable

January 20 – February 2
Integrate test harness into CI (GitHub Actions or Jenkins)

Automate Apache build and testing pipeline

Notes

Emphasize reproducibility and automation

February 3 – 16
Run large-scale interoperability and fallback tests

Measure latency and CPU overhead with/without ECH

Notes

Gather quantitative data for final report graphs

February 17 – March 1
Write LaTeX report: methodology, results, and analysis

Include figures, charts, and structured data

Notes

Ensure report clarity and academic quality

March 2 – 15
Review feedback from supervisor

Clean and document repository (configs, scripts, reports)

Notes

Finalize documentation and naming conventions

March 16 – 29
Prepare presentation and demo

Test CI pipeline and live ECH-enabled Apache setup

Notes

Keep the demo simple, reliable, and reproducible

March 30 – April 12
Submit final report and all deliverables

Stretch Goal: Open a pull request contributing test harness/docs to Apache httpd

Present final project demo

Notes

Ensure repository, PDF, and presentation materials are complete
1 change: 1 addition & 0 deletions apr
Submodule apr added at e461da
1 change: 1 addition & 0 deletions apr-util
Submodule apr-util added at c9a9a7
Binary file added docs/testing/ech_handshake.pcap
Binary file not shown.
51 changes: 51 additions & 0 deletions docs/testing/ech_performance_logs.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
iteration,std_latency,ech_latency,ech_confirmed
0,0.22650087600050028,0.12737569300225005,True
1,0.13654781300283503,0.11134141300863121,True
2,0.11049007200927008,0.09693292700103484,True
3,0.12114080399624072,0.11733656599244568,True
4,0.10936477599898353,0.11758939200080931,True
5,0.09885514399502426,0.10678910800197627,True
6,0.12391714598925319,0.13514423399465159,True
7,0.10902970199822448,0.10650835098931566,True
8,0.11856637299933936,0.12955073500052094,True
9,0.11344977100088727,0.1354563230124768,True
10,0.10533214001043234,0.12530196600710042,True
11,0.12614300000132062,0.11985863900918048,True
12,0.11371774699364323,0.12466634600423276,True
13,0.1115421900030924,0.1017281629901845,True
14,0.11679411999648437,0.11299750801117625,True
15,0.1188468210020801,0.10183597200375516,True
16,0.11273107799934223,0.09608271899924148,True
17,0.13611348399717826,0.11520038000890054,True
18,0.11762969099800102,0.09841957899334375,True
19,0.11030424099590164,0.11912747500173282,True
20,0.11247979800100438,0.0958657610026421,True
21,0.11387801798991859,0.11790948199632112,True
22,0.10607022199837957,0.10704038199037313,True
23,0.13268852001056075,0.1264009900041856,True
24,0.11548296299588401,0.10811600000306498,True
25,0.11066845399909653,0.11242403798678424,True
26,0.11598438100190833,0.11288690200308338,True
27,0.1311641610082006,0.10629794299893547,True
28,0.11534461900009774,0.1314301280071959,True
29,0.1162647800083505,0.1274051679938566,True
30,0.12240128699340858,0.14644579199375585,True
31,0.12468653700489085,0.1205587990116328,True
32,0.11218095700314734,0.12797802699788008,True
33,0.12755670699698385,0.10329252199153416,True
34,0.11598499899264425,0.1316903219994856,True
35,0.12412872799905017,0.10678214600193314,True
36,0.10481574699224439,0.09988557299948297,True
37,0.12554422700486612,0.10091418299998622,True
38,0.0953260000096634,0.11047392700857017,True
39,0.10524448899377603,0.13128838199190795,True
40,0.10495439999795053,0.09837038899422623,True
41,0.12509857899567578,0.09954765099973883,True
42,0.11913701200683136,0.11942998800077476,True
43,0.1061636199883651,0.12731826500385068,True
44,0.1113787280046381,0.11227033501199912,True
45,0.10892286799207795,0.12500178000482265,True
46,0.09853460799786262,0.10297295000054874,True
47,0.11939421598799527,0.11064463999355212,True
48,0.10485471399442758,0.12548701399646234,True
49,0.10930243700568099,0.11972760199569166,True
Binary file added sf-annotated-FYP_Report.pdf
Binary file not shown.
3 changes: 3 additions & 0 deletions test/pyhttpd/ech/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
conf/
__pycache__/
geckodriver
14 changes: 14 additions & 0 deletions test/pyhttpd/ech/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
__pycache__/
*.py[cod]

geckodriver*
*.log

capture_log.txt
*.pcap
tshark_capture.txt

venv/
ech-venv/

.docker/
24 changes: 24 additions & 0 deletions test/pyhttpd/ech/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
### Step 1: Local DNS Configuration
Map the test domain to your local loopback interface:
```bash
echo "127.0.0.1 ech-test.fyp.local" | sudo tee -a /etc/hosts

### Step 2: Environment Initialization
Set the path to your ECH-enabled OpenSSL build and run the setup script:
export OPENSSL_ECH_PATH=/path/to/your/openssl

### for me right now
export OPENSSL_ECH_PATH=/home/yag/final_year/build/openssl
export LD_LIBRARY_PATH=$OPENSSL_ECH_PATH/lib64:$LD_LIBRARY_PATH


./setup_test_env.sh

### Step 3: Start the Server
docker-compose up -d --build

### Step 4: execute test
pytest -s test_ech.py


Test will succeed if firefox parses the provided ECHConfig, Apache uses the SSLECHKeyDir to decrypt ClientHello, and then routes the decrypted request to the ech-test.fyp.local VirtualHost, avoiding falling back to the public default.
12 changes: 12 additions & 0 deletions test/pyhttpd/ech/infrastructure/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM apache-ech-server:latest

RUN mkdir -p /usr/local/apache2/htdocs/public \
/usr/local/apache2/htdocs/private

RUN echo "<html><body><h1>Public Gateway</h1><p>ECH Failed</p></body></html>" \
> /usr/local/apache2/htdocs/public/index.html

RUN echo "<html><body><h1>Private Origin</h1><p>ECH Decrypted Successfully</p></body></html>" \
> /usr/local/apache2/htdocs/private/index.html

RUN chown -R daemon:daemon /usr/local/apache2/htdocs
7 changes: 7 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ech/ECH_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-----BEGIN PRIVATE KEY-----
MC4CAQAwBQYDK2VuBCIEIACOppEk6uZF3O4RxDIdM0KzUXq5a9bjz0dTqLve0K9B
-----END PRIVATE KEY-----
-----BEGIN ECHCONFIG-----
ADz+DQA4IwAgACDyvRA8LJbr7rUy6KG6q8/0XjZAXEe2eLLhi2FnEBmzWgAEAAEA
AQAJbG9jYWxob3N0AAA=
-----END ECHCONFIG-----
1 change: 1 addition & 0 deletions test/pyhttpd/ech/infrastructure/conf/ech/invalid.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NOT_A_KEY
52 changes: 52 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/MyLocalCA.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
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
t3919m8gQPAFjQlCPpYZzXY6pgVN8w==
-----END PRIVATE KEY-----
33 changes: 33 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/MyLocalCA.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFnTCCA4WgAwIBAgIUHlpUTTSuUBqKGjjSWwsCYUjffEIwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCSUUxDzANBgNVBAgMBkR1YmxpbjEPMA0GA1UEBwwGRHVi
bGluMRUwEwYDVQQKDAxGWVBfUmVzZWFyY2gxFjAUBgNVBAMMDU15TG9jYWxFQ0hf
Q0EwHhcNMjYwMzEyMDQ1NTUzWhcNMjcwMzEyMDQ1NTUzWjBeMQswCQYDVQQGEwJJ
RTEPMA0GA1UECAwGRHVibGluMQ8wDQYDVQQHDAZEdWJsaW4xFTATBgNVBAoMDEZZ
UF9SZXNlYXJjaDEWMBQGA1UEAwwNTXlMb2NhbEVDSF9DQTCCAiIwDQYJKoZIhvcN
AQEBBQADggIPADCCAgoCggIBAKrJ/34+81C9No39O5Q0Q8Ll/95bm4abhNjTdgp6
vj57badPxs1+xF0g0iXNw4dPiyQXDQk9Bc9ZiOOxHHW/va+pfFYBnBwWoOdsIN9L
Hb96ZLhKQirFX/2+H1G/tr3+BWW7KtUviK2U8ozqNf/4ic5RFiz5ToieMMAdRQvm
t5WorG8l9gWRwtIoSPLWoXxUNk1IFhABEsDYGxPKiFqhuieYfd91zIKtiss/5maw
NHVisfrChM0//u69bv7ct26CpLAX3tbCXbH8ujgrnbLFcVuyBcQ8IsWb8QWW//SX
V7/M1Nn8ZLbHMWr32nXibsmKRvXQzYnpcFToHCvTtJ4wElB3PCId+84UynPdrrMa
CXvBKQOGqWWhlR8Gm0CE+7pwG1c11+nsuf1gcGJLaoKQP6rCIzSmeCcmoq32jbHq
gnFqZgs0YPoROELHgRU0PBu8i8Vl5UjGjbyHLeEffzYwSem+uUQyUMS9bUr66geI
OMYvO0W09F8uglLdrVzJ9zMG1Auvc9uLAOSedw3XoE5xezqcoI82427/HfbW18ab
6b2ct2tqQ2jVeP4ppYKBtVqgIXdUV6wJsyhNOFT/QxNKdgY81F1gH1MnVMm+3fQV
KQRTMUoKmH15vTpMwyfwsZxsjGMfXdEudmDFnQ+QZbLwIs7yyeaZB2Fo6Jk2Se6y
Og99AgMBAAGjUzBRMB0GA1UdDgQWBBSF5QIkCfESRdw+iSqettPzoxLH6zAfBgNV
HSMEGDAWgBSF5QIkCfESRdw+iSqettPzoxLH6zAPBgNVHRMBAf8EBTADAQH/MA0G
CSqGSIb3DQEBCwUAA4ICAQChOGRHizPNM2zGacuURJ6IIdD8jf1DbKP5oQeKv3rG
aTrZsg0ngwj4Vy9B4AXOUjaX3tgQ0v16W2LP7V2lz6R9VWiYZ6ov+HiXywyPTGxA
nRzyZRQE5hSOapzhXMDiaprl4hd7baLcUHmePNCdfrpB8WP183DA8PpXWNmmPjjW
PakYG8tN4MF+bu+9B8nidh5LaPzsf5cLOy8D2llL33JwUrR0lNqvNYWI3OT7b7WR
izvdvUZIVHfyzTNF5RjE4jmEiIB4blaP56oLE/aK4+WQfQ76HxqOnJb0VLcS33M+
ZFSBY4BC+HOH+jCz76+MTYJ9Z+c5dy1g31x9ekCVN2Xm3C2KhirYXpHOn4pD3jWT
izrj9j7WgsL80kJK5GgwHGNKS/QJY7+8E0Lxp6mCPuFNgitWAZnE/m8hjokJQ3Du
WHlFW6WPeeJ1lizbi0BvXoZdY6A43v2EwRSso5713o9ws1kC+5BPdlDMR1/pJjz/
UhQusQaX8szxdz3lq5Cl1+39GYSDigUYmYzscxFMKobOvhjLHhWykKNfrt7O5baa
vbxZRSaPvpiwIKMWOZkQMx0mstuE4Y3e89swRwKCpPiNrq+RBWA1itMdKGN3AGju
sU8WNGx9p2xBCZJF0pVsNWWQ87yvkQDTpLD3tRbVC0WbHechtRITsB4NKlingFmM
2A==
-----END CERTIFICATE-----
1 change: 1 addition & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/MyLocalCA.srl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
66D35EA07885253B86329EFBF28C9E9440997D28
6 changes: 6 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/domains.ext
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
29 changes: 29 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/server.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
-----BEGIN CERTIFICATE-----
MIIEcDCCAligAwIBAgIUZtNeoHiFJTuGMp778oyelECZfSgwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCSUUxDzANBgNVBAgMBkR1YmxpbjEPMA0GA1UEBwwGRHVi
bGluMRUwEwYDVQQKDAxGWVBfUmVzZWFyY2gxFjAUBgNVBAMMDU15TG9jYWxFQ0hf
Q0EwHhcNMjYwMzEyMDQ1NTUzWhcNMjcwMzEyMDQ1NTUzWjAUMRIwEAYDVQQDDAls
b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVLEmLJKoa
LI+Idt4LaCZgHD8GOBXID0bxSkdZ7KOB2Mzd+Y3QdvFAxGWodXp4BG4DZZ2MGU0I
8S/mvK/UCr8wjp7pfG0vRkInjD1hC+eM+URNehA2Lr0RaNMm+qVXkDlXjDeTr89D
hYL7/FJOouSvrHcLO3jgluznPYMXl7zI75mXp185FNC9Nvobyt+6NFvijWWKRc9U
75xVz8LAhpuRE5tJnY5t2j0aNmyUEwXBHQs5lOd+36t6Q6vOdqCJ4/4pqnQdPkg+
Z2JYnJFcJnaGyjzQ6N73QKHT5A5jBp9sfeMqrio8mRJ07G/O1SWV/UInn0ur2cxx
FLZhCRbeKZEtAgMBAAGjcDBuMB8GA1UdIwQYMBaAFIXlAiQJ8RJF3D6JKp620/Oj
EsfrMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgTwMBQGA1UdEQQNMAuCCWxvY2FsaG9z
dDAdBgNVHQ4EFgQUeROtO6psIN3r7AQ9taw9oTFuzn8wDQYJKoZIhvcNAQELBQAD
ggIBAABMOrSEh+VM0P+EMoT7eSRCpDOg7YOYaPN6ND62BUwcXpAHLN6p/RAfpn2p
mPJJojpQY35EOl1SD6MVO3M6+lUxDswqLvooGWs00Jt/wMAdbCLDodFb1v36oXdP
gBtlQ+8u+jQk/oJrQBBdYOKElBtsl+cym2kTpSaQCVv6BQvEayIpCVgmPOF82cAM
figyqAzK7M4jryguL5TTntGCgwaQwxiH/PkQ5aV2fIYUU+iR/TqgqLh0/Yu2K66j
75hCWTf7aOSAPHnPWZL77izdwVQzEHJ0/wK971Y1zcFm/gvnUqMxo+XHjwOgZBrY
o1RSooR0Da+1hGCWTS8oO2fMohR9kViprGa9yHVRC47JoYXd9nbgM8yk3g0AwA3i
gW4ohTuLrywo7ysX1bE41sZ3zRx9kzLBlrBgP4P8/DqSC3TTkqCEyQoqeEU4tdga
RiVJcPBBS7w6cO+qVOVnqpLeoCVc01ubUaIgKX0tW7jGfJ0/5ZNaf+WXBirdHCYo
oMPIjHg+BobuygFzpnowM6rrqPby0ukzTPk76tfmazR8bRVDBrcIXZpIqjHnnXfo
JsV6bdkhQaIrqPLYsJPa6XjyX3MNvvC8v++vqF301vgxffczsAYTcS2L8BwLtPbx
EwUhYE57d2dNeZm8B4LDLXAmpoA2ibZrCeUG+6LEpyosMpBi
-----END CERTIFICATE-----
SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt
SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt
SSLCertificateFile /usr/local/apache2/conf/ssl/server.crt
15 changes: 15 additions & 0 deletions test/pyhttpd/ech/infrastructure/conf/ssl/server.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICWTCCAUECAQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAlSxJiySqGiyPiHbeC2gmYBw/BjgVyA9G8UpHWeyj
gdjM3fmN0HbxQMRlqHV6eARuA2WdjBlNCPEv5ryv1Aq/MI6e6XxtL0ZCJ4w9YQvn
jPlETXoQNi69EWjTJvqlV5A5V4w3k6/PQ4WC+/xSTqLkr6x3Czt44Jbs5z2DF5e8
yO+Zl6dfORTQvTb6G8rfujRb4o1likXPVO+cVc/CwIabkRObSZ2Obdo9GjZslBMF
wR0LOZTnft+rekOrznagieP+Kap0HT5IPmdiWJyRXCZ2hso80Oje90Ch0+QOYwaf
bH3jKq4qPJkSdOxvztUllf1CJ59Lq9nMcRS2YQkW3imRLQIDAQABoAAwDQYJKoZI
hvcNAQELBQADggEBAABaHVRpZG7i+MW/YBjSQx4w73n8rZRqEOM0c0OdAe+kn5Bo
v7dMCmU6V0PJvpv2S2/vFSU4qIbysQsF5DVoAvc7X7AOeDcN8dfC7k4ok8LJaofV
XpIfcLobgzZsr8X0lKeayiUidevOwvo5XNV+KHN6kSOnduDFLUZcK/lZloaPr5AO
FblmFDfWJIY51V3IH6QYyzSFm2oTEYXO7oSahJZeP063tz2Hw4ffwgEFD+crLiMo
rEnXtLHTWiy57kjTAbT1MS/7cFnW+DpXJdEnkW3Uv6YcMaVXL9X3E7JKPTwPdrIT
Zwl0jN3eCjsXxBroDPwNtGFO7APTcN81zn89MOY=
-----END CERTIFICATE REQUEST-----
Loading