2026-05-02

security · irc

Bad security is worse than none

This showed up in the IRC post. It gets its own page because people still argue it wrong.

Classic IRC is text over TCP. RFC 2812 assumes cleartext unless you add transport security yourself. TLS is a protocol somebody else maintains. 1.3 is RFC 8446. 1.2 is RFC 5246, if you are reading history. Skip the cipher list. Use the stack that already exists. The OS, OpenSSL, the .NET stack. Do not roll your own.

CWE-327 is the name for a broken or risky algorithm, including the ad-hoc protocol. The OWASP cryptographic storage cheat sheet says the same thing in more words. Downgrade tricks and padding oracles show up when the handshake is sloppy. That is why TLS 1.3 got stricter, not why you should invent a suite.

IRC with no encryption and no real authentication is horrifying, and it is honest.

A layer you added because plaintext felt shameful, and you did it slightly wrong, is worse. Users think they are safe. You think you are safe. The mistake is predictable.

No security, and openness about it, is usually exponentially better than bad security.

Name the adversary before you pick a tool. A network observer, a malicious server, a compromised client. Then TLS, or Noise, or QUIC, from a stack somebody else maintains. Write down what you are not covering. A phishing mail and a compromised laptop survive any handshake.

I would rather say I am not the person for that threat model than ship a half-understood cipher because I could not stand the shame of plaintext.

All posts