4d2.su: 4d2 dot org Proof of Security
- This is early alpha software and shouldn't yet be relied on for safety -

What's broken: We've recently seen privacy-oriented services come under attack in several ways, from privacy-compromising efforts like the EU's Chat Control initiative to an extremely concerning Man-in-the-Middle TLS attack where major hosting companies were most likely compelled to cooperate with law enforcement to violate the privacy of jabber.ru users. In the case of that attack against jabber.ru, the two providers involved—Akamai Technologies, Inc. and Hetzner Online GmbH— also host parts of our infrastructure.

In the jabber.ru attack, fake SSL/TLS certificates were successfully generated for jabber.ru services and secretly used to create an intermediate termination point for secure traffic. So, although both users and site admins saw that connections were encrypted, all of that communication was actually being decrypted and funneled to a third party – likely legal authorities, since it's hard to imagine any innocuous reason for this kind of configuration change. This may have continued for as much as three months before it was noticed that the fingerprints of certificates stored on the server and of those presented to users were different.

We won't blather about whether these kinds of government operations are worthwhile to society or necessary to geopolitics – what we know for sure is that they represent an unknown security and privacy risk to many hundreds/thousands of innocent users.

How we're defending ourselves: We already take some precautions against this kind of attack, like DNS CAA records, that jabber.ru didn't, but this site attempts to close the security gaps that still exist. Our strategy is to monitor our own certificates using as many mututally uncooperative parties as possible, making it as difficult as we can for an adversary to launch a MitM attack against us without being noticed. Here's how it works:
  1. This site uses a domain name registered in the .su top-level domain, which was originally created for the USSR in 1990. Although no TLD is immune from tampering, .su is a small TLD (~100k domains registered) that receives very little attention compared to .ru, current economic sanctions make these domain names very difficult to register or modify, and the .su TLD's operators are not usually cooperative with non-Russian government agencies.
  2. The virtual machine serving this page is hosted with a provider in the Republic of Moldova who is not directly answerable to US, European or Russian authorities.
  3. Every few minutes, the servers hosting our public services (email, Matrix, web hosting, etc.) export the SHA256 fingerprint and validity dates of all their TLS certificates. This data comes from the local copies of these certificates on each application server. These fingerprints and validity dates are pushed to this machine via SSH using mutual authentication (i.e., not a vector for a MitM attack itself).
  4. Every few minutes, one or more client machines we control makes a TLS client connection to each of our (sub)domain names that supports TLS, and requests the same SHA256 fingerprint and validity date, this time acting as a client preparing to exchange traffic. The results are then sent to this machine using mutual auth as described above.
  5. We compare the data received by these two mechanisms. If the certificate fingerprints or validity dates for any name don't match, we assume a MitM attack.
This is not absolute protection from a MitM attack, or anything close. It simply tries to make executing such an attack without being noticed as hard as possible. To avoid tripping the alarm, an attacker would need to compromise servers in multiple jurisdictions well in advance, and would then need to deploy several covert changes in a very small time window. This is well within the known capabilities of state actors, but since we are a privacy-oriented service and not criminals (see TOS), we don't see ourselves as a worthwhile target for that kind of expensive operation.
Service NameLocal Cert FingerprintCert Presented to ClientLocal Cert ExpiryExpiry Presented to ClientTrust Status
4d2.link
25:22:1A:D0:F7:D5:AD:CF 37:34:F7:15:54:84:AA:0F:FC:63:B0:E0:26:05:89:83:03:64:F9:21:65:8A:23:5F:25:22:1A:D0:F7:D5:AD:CF
25:22:1A:D0:F7:D5:AD:CF 37:34:F7:15:54:84:AA:0F:FC:63:B0:E0:26:05:89:83:03:64:F9:21:65:8A:23:5F:25:22:1A:D0:F7:D5:AD:CF
Jun 21 06:33:58 2024 GMT Mar 23 06:33:59 2024 GMT - Jun 21 06:33:58 2024 GMT
Jun 21 06:33:58 2024 GMT Mar 23 06:33:59 2024 GMT - Jun 21 06:33:58 2024 GMT
OK!
4d2.org
F0:35:32:C4:DB:56:3A:52 DE:CF:5F:B8:A6:74:01:37:A0:32:8C:3A:C9:34:B3:72:07:D9:B5:32:45:EE:AA:7A:F0:35:32:C4:DB:56:3A:52
F0:35:32:C4:DB:56:3A:52 DE:CF:5F:B8:A6:74:01:37:A0:32:8C:3A:C9:34:B3:72:07:D9:B5:32:45:EE:AA:7A:F0:35:32:C4:DB:56:3A:52
Jun 21 06:34:24 2024 GMT Mar 23 06:34:25 2024 GMT - Jun 21 06:34:24 2024 GMT
Jun 21 06:34:24 2024 GMT Mar 23 06:34:25 2024 GMT - Jun 21 06:34:24 2024 GMT
OK!
4d2.su
F6:18:AC:66:93:52:9A:A8 0C:BC:3D:CB:E2:AE:E3:0B:63:8A:A5:B8:7E:A7:6F:CE:9B:1F:A5:C8:6C:9D:CE:01:F6:18:AC:66:93:52:9A:A8
Verify this manuallyCheck cert details in your browser - Verify this SHA-256 fingerprint manually
Jun 21 06:34:47 2024 GMT Mar 23 06:34:48 2024 GMT - Jun 21 06:34:47 2024 GMT
Verify this manuallyCheck cert details in your browser - Verify this manually
UnknownIt's not possible for this server to securely attest for itself
bayard.4d2.org
F0:35:32:C4:DB:56:3A:52 DE:CF:5F:B8:A6:74:01:37:A0:32:8C:3A:C9:34:B3:72:07:D9:B5:32:45:EE:AA:7A:F0:35:32:C4:DB:56:3A:52
F0:35:32:C4:DB:56:3A:52 DE:CF:5F:B8:A6:74:01:37:A0:32:8C:3A:C9:34:B3:72:07:D9:B5:32:45:EE:AA:7A:F0:35:32:C4:DB:56:3A:52
Jun 21 06:34:24 2024 GMT Mar 23 06:34:25 2024 GMT - Jun 21 06:34:24 2024 GMT
Jun 21 06:34:24 2024 GMT Mar 23 06:34:25 2024 GMT - Jun 21 06:34:24 2024 GMT
OK!
cinny.4d2.org
55:1B:1B:27:68:F5:F7:D3 A9:54:27:18:81:F9:04:70:2F:4C:C3:55:C9:E2:6F:C2:18:86:93:39:15:69:1F:BA:55:1B:1B:27:68:F5:F7:D3
55:1B:1B:27:68:F5:F7:D3 A9:54:27:18:81:F9:04:70:2F:4C:C3:55:C9:E2:6F:C2:18:86:93:39:15:69:1F:BA:55:1B:1B:27:68:F5:F7:D3
Jun 24 06:21:02 2024 GMT Mar 26 06:21:03 2024 GMT - Jun 24 06:21:02 2024 GMT
Jun 24 06:21:02 2024 GMT Mar 26 06:21:03 2024 GMT - Jun 24 06:21:02 2024 GMT
OK!
depot.4d2.org
DF:89:95:7B:96:2B:84:49 DC:F5:8F:CD:16:18:4B:10:84:AC:52:15:9B:B6:D5:E6:85:06:AA:80:45:A5:33:21:DF:89:95:7B:96:2B:84:49
DF:89:95:7B:96:2B:84:49 DC:F5:8F:CD:16:18:4B:10:84:AC:52:15:9B:B6:D5:E6:85:06:AA:80:45:A5:33:21:DF:89:95:7B:96:2B:84:49
Jul 9 03:46:33 2024 GMT Apr 10 03:46:34 2024 GMT - Jul 9 03:46:33 2024 GMT
Jul 9 03:46:33 2024 GMT Apr 10 03:46:34 2024 GMT - Jul 9 03:46:33 2024 GMT
OK!
element.4d2.org
20:A3:78:67:22:99:2C:47 4C:3F:44:CA:0D:1D:39:E3:35:24:DC:19:11:4E:60:5D:B8:F4:73:0B:CD:0F:AC:0C:20:A3:78:67:22:99:2C:47
20:A3:78:67:22:99:2C:47 4C:3F:44:CA:0D:1D:39:E3:35:24:DC:19:11:4E:60:5D:B8:F4:73:0B:CD:0F:AC:0C:20:A3:78:67:22:99:2C:47
Jun 24 06:20:45 2024 GMT Mar 26 06:20:46 2024 GMT - Jun 24 06:20:45 2024 GMT
Jun 24 06:20:45 2024 GMT Mar 26 06:20:46 2024 GMT - Jun 24 06:20:45 2024 GMT
OK!
jitsi.4d2.org
7A:7D:BE:18:8A:8B:BA:81 05:7E:49:AF:9D:70:4A:F9:B7:3E:BA:9C:D5:1E:0D:AC:E9:E0:30:1F:5C:4A:DF:4A:7A:7D:BE:18:8A:8B:BA:81
7A:7D:BE:18:8A:8B:BA:81 05:7E:49:AF:9D:70:4A:F9:B7:3E:BA:9C:D5:1E:0D:AC:E9:E0:30:1F:5C:4A:DF:4A:7A:7D:BE:18:8A:8B:BA:81
Jun 24 06:20:40 2024 GMT Mar 26 06:20:41 2024 GMT - Jun 24 06:20:40 2024 GMT
Jun 24 06:20:40 2024 GMT Mar 26 06:20:41 2024 GMT - Jun 24 06:20:40 2024 GMT
OK!
matrix.4d2.org
59:5B:42:57:2E:AC:D0:0B 1B:A4:60:71:1E:26:32:75:BD:DA:D0:6D:94:88:59:17:79:62:E0:B7:79:11:61:FD:59:5B:42:57:2E:AC:D0:0B
59:5B:42:57:2E:AC:D0:0B 1B:A4:60:71:1E:26:32:75:BD:DA:D0:6D:94:88:59:17:79:62:E0:B7:79:11:61:FD:59:5B:42:57:2E:AC:D0:0B
Jun 24 06:20:54 2024 GMT Mar 26 06:20:55 2024 GMT - Jun 24 06:20:54 2024 GMT
Jun 24 06:20:54 2024 GMT Mar 26 06:20:55 2024 GMT - Jun 24 06:20:54 2024 GMT
OK!
What privacy risks still exist, and how do I mitigate them?
Can I sign up to receive notifications if something changes?
Soon! We're still working on automated "break glass" notifications via email, Matrix system messages, SMS, telepathy, etc.

Back to 4d2 dot org