The last post was the disaster. Four failures, perfectly stacked, with a peer comparison that was basically a public roasting.
This one’s the redemption arc. And honestly? It’s the most technically interesting post in the series so far, because when Microsoft finally got to work, they went further than fixing the minimum. They went several layers deeper than anyone expected.
Quick recap if you’re just joining. A Chinese threat actor used a forgotten 2016 signing key to forge authentication tokens, walked into 22 organizations’ Exchange Online mailboxes, stayed for six weeks, and Microsoft had no idea until a government agency called them. The four failures that made it possible were keys in software storage, no automated rotation, a broken trust boundary between consumer and enterprise identity, and zero forged-token detection.
This post is about the fix. Specifically, the identity and key management rebuild, which is genuinely the most fascinating part of the whole Secure Future Initiative.
The story is not just “Microsoft put keys in an HSM.” It’s a progressively deeper set of protections, each one closing an attack vector the previous layer still leaves open. That kind of architectural thinking is worth understanding, regardless of whether you run anything at Microsoft’s scale.
Four Layers, Each One Assuming the Last Can Fail
By November 2025, across three progress reports, Microsoft had added four distinct layers of defense where there were previously none. Each layer assumes the one before it can fail. That’s the right way to think about this. And it’s the first time in this whole story where I’d say Microsoft’s thinking was genuinely ahead of the minimum required fix.
Each layer assumes the previous one can fail. That’s not a nice-to-have. That’s the only design philosophy that actually holds up when someone smart is trying to break it.
Layer 1: Hardware Security Modules
The first and most fundamental fix was moving signing keys off software-managed storage and into Hardware Security Modules. An HSM is a dedicated piece of hardware, physically tamper-resistant, designed to hold cryptographic material and perform operations without ever exposing the key itself. You send data in, you get signed data back. The key never leaves the chip.
By the September 2024 progress report, Microsoft had completed HSM-based storage for Entra ID and MSA access token signing keys across public cloud and US government clouds. ADFS token signing keys moved to HSMs across all environments too. Automated rotation landed at the same time, which meant that keys now rotate on a schedule with no human in the loop. No more forgotten retirement dates. No more “a manual rotation caused an outage so we just stopped” as an excuse.
The thing that should’ve been done years ago finally happened.
But here’s the thing a lot of post-incident coverage missed. Putting a key in an HSM does not mean the service using that key is safe. The signing service itself, the process that calls the HSM and produces tokens, still runs on a host.
If that host is compromised, an attacker can abuse the signing service directly without ever touching the key material.
The HSM protects the key. It doesn’t protect the signing operation. Microsoft clearly understood this, because the next layer addresses exactly that gap.
Layer 2: Confidential Computing
By the April 2025 report, Microsoft had migrated the MSA signing service to run on Azure Confidential VMs, with the Entra ID signing service migration well underway.
Azure Confidential Compute uses hardware-enforced isolation built into the processor itself to encrypt a VM’s memory even from the underlying host and the hypervisor. Even if someone compromises the physical server or the cloud management plane, they can’t read what’s happening inside the confidential VM. The workload is cryptographically isolated at the hardware level. If you’ve ever had to explain to a compliance auditor why “the cloud provider can theoretically read our stuff” isn’t a deal-breaker, this is the technology that actually kills that conversation dead.
By the November 2025 report, 95% of Entra ID signing VMs had migrated to Azure Confidential Compute. Microsoft described this as the largest confidential compute workload in Azure. Think about that for a second. They’re now protecting their signing infrastructure from their own servers. That’s the kind of paranoia you want from the company running your identity platform.
They also ran Red Team exercises specifically to validate these improvements, confirming that improved auditing telemetry and reduced key validity periods made attacks significantly easier to detect and investigate. They didn’t just deploy it and hope for the best. They actively tried to break it. That shouldn’t be noteworthy, but given where this story started, it is.
Now an attacker needs to compromise both layers simultaneously. The HSM holds the key and won’t release it. The signing service runs in a cryptographically isolated environment the host can’t read. That’s a meaningfully harder problem than “find the key in software storage.”
They Also Designed Their Own Chip
Small detour, but worth it. Traditional cloud HSM services are centralized network resources. When a workload needs to use its key, it either makes a network round-trip to the HSM cluster with the latency that brings, or requests the key be released locally, which is weaker protection because the key leaves the hardware boundary. You’re constantly trading performance against security. It’s one of those architectural compromises everyone learns to live with.
Microsoft’s answer was to design their own chip. Not to configure a vendor appliance, but actually design silicon, from scratch, for this specific problem. The Azure Integrated HSM is a custom ASIC that sits directly on the server. Cryptographic operations happen locally. The key physically cannot leave the chip. It’s tamper-resistant, not just tamper-evident. Physically probe it and the keys get nuked from orbit. It’s the only way to be sure.
And Microsoft is putting one in every new Azure server going forward. This is not a fix deployed to affected systems. It’s a design doctrine baked into the hardware itself.
That’s not a patch. That’s a generational infrastructure decision.
Layer 3: Key Partitioning
Even with HSMs and confidential VMs, there’s still a blast radius problem. If a single signing key covers the entire identity infrastructure and someone compromises it, the damage is total. Every service trusting tokens signed by that key is exposed. You haven’t reduced the risk. You’ve concentrated it. One key to rule them all, and not in a fun way.
The answer is partitioning. Split the signing keys so different parts of the infrastructure use different keys, and a compromise of one can’t pivot into higher-privilege management layers.
As of the November 2025 report, Microsoft completed its first milestone for key partitioning within the Entra ID infrastructure. The report describes it as reducing “blast radius so that compromised keys cannot enable traversal into higher-privilege management layers within the infrastructure.”
First milestone, though. Full compartmentalization is still ahead.
A key that can’t pivot into management layers beats one that can. That’s progress. Partial, carefully-worded progress, but progress.
Layer 4: Stateful Token Validation and Forged Token Detection
The last layer is detection. Even with hardware-protected keys and isolated signing services, you want to catch it if something goes wrong. Stateful token validation means the server checks not just whether a token is cryptographically valid, but whether it’s consistent with the known state of the session.
A token minted at an unusual time, or for a service the user hasn’t actually authenticated to, gets flagged.
By November 2025, Microsoft had deployed forged token detection and stateful validation across their most critical services, including Exchange Online and SharePoint Online, the two products at the center of the original breach.
Rapid access revocation was expanded too. If credentials are compromised, they can be killed across key management, identity, and collaboration services in one move. Which only works if you have the detection layer in the first place. Funny how that connects.
This is the layer that was entirely missing in 2023. It wouldn’t have prevented Storm-0558 on its own, but it would have caught it a lot faster than “a customer spotted something weird in premium-tier logs six weeks later.”
Which, to be clear, is how that actually went down.

The SDK Problem Was Just as Bad
Here’s the part that gets almost no coverage. Not because it’s boring, but because “authentication library fragmentation” doesn’t make for great headlines. The authentication libraries themselves were a parallel problem, and arguably just as exploitable.
Different services across the Microsoft stack had each written their own token validation logic instead of using a single shared library. One team checks key type, another doesn’t. One validates issuer strictly, another trusts whatever the shared endpoint says. Each choice seemed reasonable in isolation. Stacked across dozens of services over twenty years, they created a patchwork of slightly different assumptions about what a valid token looks like. Attackers look for exactly that kind of inconsistency.
The solution was to replace all of that with a single hardened identity SDK that every service uses, with consistent validation logic enforced in one place.

Microsoft measured adoption as a percentage across each report. September 2024: 73%. April 2025: 90%. November 2025: 94.3%.
That last number is more interesting than it looks, because Microsoft quietly expanded the denominator between the April and November reports to include Microsoft Account tokens and internal platform identity systems on top of the Entra ID tokens they were already counting. Bigger scope, same percentage. They didn’t shrink the measurement to make progress look easier. That’s worth noting, because keeping the denominator small to protect a headline number is exactly what most progress reports do.
What the Stack Actually Looks Like Now
Here’s what the full stack looks like as of November 2025.
- Signing keys in HSMs, rotating automatically with no human in the loop
- Signing services running in Azure Confidential VMs, isolated even from the underlying host
- New Azure servers shipping with integrated HSM chips so cryptographic operations never leave the silicon
- Keys partitioned so a compromise of one can’t cascade across the full infrastructure
- 94.3% of tokens validated by a single hardened SDK
- Stateful validation and forged token detection across Exchange Online, SharePoint, and other critical services
Alright, Enough Nice Things
The architecture is sound and the direction is right. But a redemption arc isn’t complete until you’ve checked the fine print, as progress reports are designed to show progress. Sometimes you have to read between the carefully chosen lines.
Key partitioning is at “first milestone.” That is not ‘it’s completed’ language. The foundational work separating Entra ID infrastructure layers is complete, but full compartmentalization across all infrastructure layers is still ahead. The November 2025 report says they’re “laying the foundation for future compartmentalization across additional infrastructure layers.” If you’ve read enough enterprise progress reports, you know what that means. It means there’s a lot of work left.
The SDK is at 94.3%. The remaining 5.7% presumably includes services that are harder to migrate due to legacy architecture or third-party dependencies. It’ll get there. It’s not there yet though.
And in security, the last 5% is where the interesting attack surface lives.

The quantum-safe program is a separate, forward-looking workstream rather than Storm-0558 remediation, but worth a quick mention. Microsoft has started shipping post-quantum cryptography across their server, desktop, and developer platforms, with certificate services support following shortly after. Right timeline for where the industry is. Worth tracking. Not worth panicking about yet.
The Architecture Lesson
If you run an identity platform, or work on one, or are responsible for one, the Microsoft playbook here is definitely worth studying. Not because you need confidential compute infrastructure at Azure’s scale, but because the threat model applies to anyone who issues authentication tokens. And here’s the uncomfortable version of that statement. Most organizations can’t properly answer these questions yet.
- Where are your signing keys stored? Hardware or software-managed storage?
- Do your keys rotate automatically, or does someone have to remember to do it?
- If a key was extracted from your environment today, how long before you’d know?
- Can a token from one trust domain authenticate against resources in another?
- Do you have a single consistent validation implementation across your stack, or have different teams made slightly different choices?
Microsoft couldn’t answer them either, until 2023 made it very expensive for them not to. The difference now is that Microsoft has a documented, tested, layered answer for each of them.
Each layer assumes the previous one can fail. That’s what defense in depth actually looks like when you do it properly.
One very expensive lesson, now available for everyone else to read for free.
This is a rolling series. New posts drop over the coming weeks.
- 1. Microsoft’s Security Wake-Up Call (And Why It’s Yours Too)
The Storm-0558 incident, the CSRB findings, and how a forgotten key put cloud accountability on trial. - 2. Four Failures, Zero Excuses
The specific architectural problems that made Storm-0558 possible, and why Microsoft’s peers had already solved them. - 3. Four Layers, No Shortcuts
How Microsoft rebuilt its token signing infrastructure from scratch, and what defense in depth actually looks like when you do it properly. (You are here.) - 4. Six Million Ghosts in the Shell
6.9 million inactive tenants, 1.2 million unused apps killed, and 3,000+ privilege escalation paths closed. (Up next.)
More to follow.
Questions, corrections, or pushback welcome. Especially if you work in identity and think I’ve oversimplified the confidential compute story. Drop a comment.






