EXPLORINEER
en

Hatena

What the eMudhra Incident Means for the Web | blog.jxck.io

SecurityFirst seen 421 points


A Indian certificate authority (CA) called eMudhra made a key-generation mistake. Its root signing keys were so weak that they could be cracked, which means an attacker could forge trusted certificates for any website.

What happened

eMudhra is a Root CA from India that many devices trust. During a key ceremony, a script bug created a very weak private key. That weak key was then used as an intermediate CA key by mistake. The article's author says this is far more serious than the PHP2Shell issue that got big news coverage at the same time.

Key facts

  • The key used the P-384 elliptic curve. It should have been a random 48-byte value.
  • In practice, the top 47 bytes were all zero, so the key was really only 1 byte of secret.
  • Only 8 possible key values were left, and they could be found by trying about 256 guesses.
  • Anyone who finds this weakness can recover the CA's private key quickly.

How CA trust works

When a website uses HTTPS, a trusted CA signs its certificate. Devices keep a list of trusted CAs, and they check that signature. This system depends on the idea that CAs are run safely. Root CA private keys are stored in special hardware called a Hardware Security Module (HSM), and their creation is done in a formal key ceremony with outside audits.

Why it matters

If an attacker has the CA's private key, they can make a valid certificate for any domain in the world. Devices will accept it as real. The attacker could then secretly redirect HTTPS traffic, for example on free public Wi-Fi, and users would see no warning. The author says the risk applies to every website, not only those built with PHP.

What to watch

  • Whether browsers and device makers remove eMudhra from their trusted CA lists.
  • What eMudhra's full investigation and public report find.
  • Whether audit and key-ceremony rules get stronger across the CA industry.

Glossary

P-384
A type of elliptic curve encryption key with a 384-bit strength, used for secure connections.