View Issue Details

IDProjectCategoryView StatusLast Update
0000722XMB1Research Taskspublic2026-06-10 17:44
Reportermiqrogroove Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status acknowledgedResolutionopen 
Target Version1.12.00 
Summary0000722: How to Mitigate TLS Inspection
DescriptionTLS Inspection is a potential threat to all web servers and to any client not administered by the end user. For example, the user of a computer at work or at a library might not realize the client's root trust list has been compromised.

The result of a TLS Inspection deployment is that the TLS channel cannot be trusted at either end, and is effectively not confidential. This exposes passwords, session cookies, and all other data on the wire. Unfortunately, this is almost entirely beyond the control of the end user, and next to impossible to detect at the server.

At the scripting level, almost nothing can be done short of redundantly implementing full asymmetric cryptography for both the client and server. If the inspection threat is sufficiently malicious, then scripting solutions are moot because script itself can be compromised to defeat any form of trust.

At the transport level, the obvious remedy is something like Apache's `SSLVerifyClient require` directive. But this means a full PKI deployment to end users, just to protect confidentiality at the server level. It also implies end users would be tied to their own devices or risk trying to use personal certificates on foreign clients. To further complicate matters, the certificates would have to be tied to each user's account so that one user couldn't proxy traffic for another.

This is a systemic risk to the whole Internet, but I am interested in any practical mitigation.
TagsNo tags attached.
MySQL Version
PHP Version
Web Server
Browser
Flags
Original Reporter
SVN Revision
Git Commit

Activities

miqrogroove

2026-05-31 08:27

administrator   ~0000619

Bounced some ideas off of ChatGPT this morning. The conclusion was browsers are designed to enable this problem, and the only comprehensive solution is to not allow browsers.

miqrogroove

2026-06-06 22:10

administrator   ~0000620

The mTLS solution is messy because it requires two separate domains for public and private browsing. Certificate delivery must be out of channel, either on the public website or via email for example.

I'm leaning toward closing this issue but find it interesting that we might have a use case for mTLS.

miqrogroove

2026-06-07 08:52

administrator   ~0000621

Last edited: 2026-06-07 08:53

TODO: Ensure the Session system is sufficiently abstracted to allow for certificate auth implementations. Determine if any implementation should be baked in or left in the realm of hacks or future plugins.

miqrogroove

2026-06-10 17:44

administrator   ~0000622

The Session system needs a Registry of Mechanisms and practical testing. Assigning to next major version.

Issue History

Date Modified Username Field Change
2024-12-01 07:09 miqrogroove New Issue
2024-12-01 07:24 miqrogroove Description Updated
2024-12-01 07:25 miqrogroove Description Updated
2026-05-31 08:27 miqrogroove Description Updated
2026-05-31 08:27 miqrogroove Note Added: 0000619
2026-06-06 22:10 miqrogroove Note Added: 0000620
2026-06-07 08:52 miqrogroove Note Added: 0000621
2026-06-07 08:53 miqrogroove Note Edited: 0000621
2026-06-07 09:16 miqrogroove Status new => acknowledged
2026-06-10 17:44 miqrogroove Target Version => 1.12.00
2026-06-10 17:44 miqrogroove Note Added: 0000622