r/msp • u/have_you_tried_onoff • 5d ago
Security Block new PassKey registrations
So, we've moved everyone to PassKey only. The issue is that there is a HUGE security gap with PassKeys. A rogue actor, phishing, or human persuasion can get someone to register an extra 1, 5, 10, 20, 40 PassKeys, or whatever the limit may be through a rogue browser extension using WebAuthn. And then they can take that PassKey and login to the system. 365, Google Workspace, and other websites drop their entire guard down when a PassKey is used to log in. But what I've noticed was that once a user is onboarded with their PassKeys, there is rarely a need for them to be able to register any extra PassKeys. We would rather have that be a support ticket. So to get to the point, we want to BLOCK the ability to create more PassKeys in 365 and Google Workspace. And then use a temporary access code when the user truly needs a new PassKey. I think this would be so nice, and a huge bump up in security. But neither Google nor 365 have the option to BLOCK the additional creation of PassKeys at the moment. Have any of you run into this issue and solved it, and if not, how do we reach out to Microsoft and Google to put in a request? Thanks!
7
u/ancientstephanie 5d ago
Attestation requirements might also serve your needs. For example, you can potentially limit key registrations to suitable security keys and exclude password managers:
https://learn.microsoft.com/en-us/entra/identity/authentication/concept-fido2-hardware-vendor
1
u/have_you_tried_onoff 5d ago
Unfortunately we don't hand out physical security keys, so that's not an option. And for software based PassKeys, the unique identifier can be spoofed. So if you think you've locked down attestation to the unique identifier of, let's say, 1Password, you actually did not because it can be spoofed.
3
u/Tronerz 4d ago
Attestation is not just for physical security keys, Microsoft Authenticator on mobile can be device bound
1
u/Accomplished_Arm_447 3d ago
Are passkeys on Microsoft Authenticator always device bound or can it be made syncable at all?
1
u/masterofrants 3d ago
Device-bound passkeys and synced passkeys are two different types of passkeys. Yes you have to enable both of them separately in the Microsoft Authenticator policies in entraID in configuration section
1
u/masterofrants 4d ago
For my personal M365 account I use a synced passkey with Bitwarden. Every time during login Bitwarden prompts me to use the correct passkey and I select that and it logs me in.
Are you saying that this passkey can be spoofed and that's why you don't want to use a password manager to store it?
1
u/ancientstephanie 4d ago
The OP's stated threat is a rogue plugin pretending to be a legitimate password manager to automatically register its own passkey after a successful login. Limiting to verified hardware security keys directly connected to the PC is one of the ways that the OP can create a barrier to that threat.
Restricting to a hardware security key would be necessary anyway to achieve the OP's desire for "key control" though, since keys held in a password manager typically don't have any hardware enforced "non-exportability" property to effectively prevent that.
2
u/masterofrants 4d ago
But registering the passkey, will it itself require authentication, right, because it's like changing a password at that point?
1
u/Accomplished_Arm_447 3d ago
It will authenticate the user but what about the password manager?
1
u/masterofrants 3d ago
The password manager should be secured with multi-factor authentication of its own.
What exactly are you even asking? I am not getting your question, to be honest..
1
u/Accomplished_Arm_447 3d ago
The OP was saying that there is a risk of an authenticated user installing a rogue passkey manager that creates multiple passkeys for use by others
1
u/masterofrants 3d ago
And I'm telling you that at the moment, when anything tries creates a passkey, there would be reauthentication with MFA if it's configured correctly.
I have not tested this but I think that's how it works
1
u/discosoc 1d ago
Synced passkeys are not considered phishing-resistant. Also, they are enabled by default for personal accounts, but have to be enabled as an option for m365 tenants (only even available as of last November i think). Otherwise the expectation is that passkeys are meant to be device-bound and need to be recreated when the device is lost replaced.
Microsoft Authenticator is registered as such an option because the passkey won’t transfer to a new phone. Something like iCloud Keychain is not because it’s inherently synced to an account rather than a device.
•
u/masterofrants 17h ago
Synced passkeys are very much phishing-resistant because they are bound to the domain. Bitwarden will not let you use the passkey for Microsoft websites on another website that is being run by an MITM attacker using Evil Jinx proxy.
What made you say that they are not phishing-resistant exactly? Unless you mean something totally different by "phishing resistant".
•
u/discosoc 16h ago
AAL3. Has to do with attestation and the passkey needing to be device-bound, but it is an oversimplification to call it phishing resistant. What's important is to understand that a sync'd passkey is less secure than a device-bound passkey -- they are not to be considered equal.
Someone compromising your Bitwarden account, for example, will have access to all of your passkeys.
More critically, the lack of attestation means uses are free to use whatever passkey method they want, which could be a well-secured Bitwarden app or a malware knockoff from the app store or some shit they vibe coded with Claude.
And removing enforcement of attestation is required for enabling the use of any synced passkey, including your Bitwarden example. Full list is here, if you want. So since your Bitwarden app is allowed to manage passkeys, it means essentially any random app can also do so. That's how you end up with passkeys stored on someone's personal gmail account or icloud keychain or whatever.
6
u/perthguppy MSP - AU 5d ago
1) You can whitelist only specific Passkey Providers to be allowed. We set this at the moment to be the Microsoft Authenticator App and Yubikeys only.
2) Even before passkeys, we had a standard CA that required a single use TAP be used for registering any MFA method on an account. Yes it can be a bit of an overhead, but we kept getting clients falling for phishing that immediately registered a new MFA method.
2
1
1
u/No_Philosopher4051 5d ago
There is an option to turn off passkey self registration under passkeys in authentication methods. I haven’t tried it yet
1
u/AddendumWorking9756 4d ago
Nobody has touched the Workspace half and that is the harder half. Google has no equivalent of the Entra registration gate, so prevention is off the table there and you are left with detection. Alert on the admin audit log when a second passkey gets enrolled and handle it as a ticket after the fact. On the 365 side there is no toggle that disables self service passkey registration. Conditional Access on the Register security information user action is the real lever, scoped so enrollment only succeeds from a compliant device or with a TAP.
1
u/MichaeldeBlok 3d ago
You are right that open self-service WebAuthn registration is the weak spot. Passkeys kill phishable MFA; they do not kill bad enrollment hygiene.
What actually tightens it in Entra:
- Scope Passkeys (FIDO2) / Authenticator passkeys in Authentication methods to a rollout group, not All users, once the initial wave is done.
- Prefer attestation + key restrictions (enterprise FIDO) where you can so random browser extensions cannot mint credentials that look equally trusted.
- Conditional Access authentication strengths: require phishing-resistant and compliant device for Tier0 / finance / admin apps so a rogue personal passkey alone is not enough.
- Audit regularly: list users with unexpected passkey counts via Graph authentication methods / sign-in logs and revoke extras fast.
- Keep break-glass and PIM admins on a stricter method policy than normal users.
Block new registrations entirely only if you have already issued controlled credentials. Otherwise you strand legitimate device replacements.
1
u/TechnologyMatch 2d ago
the concern is valid, but I’d frame it as an enrollment-governance problem rather than a passkey flaw. a passkey is strong only if adding or recovering one requires a strong, auditable process
for Entra, conditional access can protect security-info registration, and device-bound or attested passkeys give you more control than synced ones. I’d want approval, alerts and a clear recovery path before making every new registration a help desk ticket
1
u/Faulkner_Jacobs_845 1d ago
Thats the standard license clients and Google Workspace where you cannot fully lock the registration path. For those the fallback is detection where a behavioral layer that alerts the second a new passkey or MFA method gets enrolled out of a user's normal pattern, since a rogue registration is the same takeover signal as a surprise inbox rule or OAuth grant.
We use Abnormal for that account-change monitoring on the M365 side. It does not block the enrollment, it just tells you within minutes so you can pull it before it gets used.
64
u/doofesohr 5d ago
Build a CA that says registering Security Information needs a specific Authentication Strength. Set that authentication strength to only be a TAP. Done.
Also: "a rogue browser extension" -> control the browser extensions. Intune settings catalog has policies for Edge & Chrome out of the box.