Habr•August 17, 2026•🇷🇺Translated from Russian

Russian Ministry Certificates Enable Potential State MITM on Foreign Domains

Russian organizations under sanctions have begun switching to certificates issued under the Ministry of Digital Development and Communications root after commercial authorities revoked or declined to renew their existing certificates. Users who visit affected sites now encounter browser warnings that the authenticity of the resource cannot be verified.

The article explains that the only practical workarounds are to install the Ministry root certificates system-wide, switch to Yandex Browser which already bundles them, or maintain two separate browsers. Each option carries significant risks: loss of access to services, full system trust in a state-controlled CA, or reduced usability.

Threat Model

The author constructs a detailed threat model focused on a third party operating inside Russian jurisdiction. This actor can legally compel any Russian company to hand over data and can also deploy TLS interception appliances between users and foreign services. Once the Ministry root is trusted, the same infrastructure can silently terminate and re-sign connections to non-Russian domains, capturing session tokens and credentials.

Because the Ministry root currently carries no name constraints, it can issue certificates for any domain. The article therefore recommends re-signing the root with nameConstraints that permit only the national TLDs .ru, .su, and .рф.

Technical Implementation with OpenSSL

All steps are performed using OpenSSL on macOS and Linux. Users first download the Ministry certificate bundle from gosuslugi.ru, extract the non-GOST files, and create a new local root with appropriate basicConstraints, keyUsage, and nameConstraints extensions.

  • Generate a fresh 4096-bit local root limited to national domains.
  • Create a temporary CSR and extract the public key from the original Ministry root.
  • Cross-sign the Ministry root using the local root and a cross_ca_ext configuration that preserves CA capabilities while inheriting the name constraints.

The resulting new_root_ca.crt can then be installed in the system trust store. Verification commands confirm that sites under .ru domains continue to validate while foreign domains such as sberbank.com are rejected when only the constrained root is present.

The author stresses that users must perform these steps themselves; any party holding the private key of a trusted root can still perform interception within the certificate’s permitted scope.

Related articles

Habr•Privacy & Surveillance

Understanding Russia's TSPU: How DPI Filtering, DNS Manipulation and Traffic Throttling Work

Russia's TSPU system combines hardware filters from RDP.ru with EcoFilter and EcoDPI software to perform both simple IP/port/transport blocking and advanced protocol recognition. The platform inspects DNS queries, SNI fields in TLS handshakes, QUIC packets and HTTP headers to enforce domain blacklists or apply throttling. When simple blocking fails, operators fall back to traffic shaping that drops packets or limits bandwidth after an initial window. Multiple bypass techniques including encrypted DNS tunnels, ECH, and specialized proxies such as Hysteria 2, NaiveProxy and Shadowsocks are examined in detail. The article also outlines future developments including expanded residential whitelists and neural-network-based traffic classification.

Habr•Privacy & Surveillance

ONYX 2.0 Removes Central Servers for Fully Decentralized Tor-Based Messaging and Calls

ONYX 2.0-beta marks a major shift from its previously centralized design to a serverless architecture that relies entirely on Tor for all communications. Each user account is now represented solely by a cryptographic key pair generated on first launch, with recovery handled through a 12-word seed phrase. Devices connect directly via onion services, and the application bundles its own Tor daemon on desktop platforms while using tor-android on mobile devices. Voice calls are supported through an embedded local TURN server, delivering acceptable quality with 1-3 second latency despite the anonymity overhead. Message delivery now depends on recipient availability, with undelivered messages stored locally on the sender and retried automatically. The update deliberately removes features such as HTTP or SOCKS5 proxies and link previews to prevent IP leaks or external traffic. Developers released the beta to gather feedback on stability across network changes and multi-device scenarios.

Habr•Privacy & Surveillance

Privacy-Focused Browser Tool Compresses PDFs Locally Without Uploading Sensitive Documents

A developer created a PDF compression tool that runs entirely inside the browser to protect sensitive personal and professional documents from third-party servers. The solution addresses repeated situations where embassy submissions, financial presentations, contracts, and internal reports exceeded size limits, forcing users to choose between installing desktop software or risking data exposure through online services. The tool reduces scanned and photographic PDFs by 66 to 97 percent depending on quality settings while honestly reporting weaker performance on text-heavy files compared with Ghostscript. It works on both desktop and mobile platforms, including iPhone and Android, requires no installation, and continues functioning offline after the first page load. On mobile devices the application respects memory constraints by limiting images to four megapixels, preserving readability for A4 documents intended for printing. The project originated from a single evening script built around Ghostscript and evolved into a full web application after similar compression needs recurred across multiple devices and locations.

Habr•Privacy & Surveillance

Building Prizrak: How a Developer Created a Federated Messenger That Masks All Traffic as Legitimate HTTPS

A developer created Prizrak, a federated messenger with end-to-end encryption where all traffic, including calls, is indistinguishable from ordinary HTTPS connections. The project addresses three common limitations of existing messengers: centralized control points, mandatory phone numbers, and detectable encrypted traffic. It uses real TLS 1.3 handshakes to actual domains, multi-port listening, and a hidden token mechanism inside the encrypted channel. When servers cannot reach each other directly, messages are delivered through a network of storage nodes modeled after Ceph's RADOS system. Voice and video calls run on a native media stack with custom STUN-like functionality and careful UDP buffer sizing to avoid packet truncation. An integrated two-hop VPN reuses the same stealth transport while keeping messenger traffic outside the tunnel.