FIDO2 key redirection not working with embedded session

FIDO2 key redirection not working with embedded session

avatar

I am unable to get my FIDO2 key redirection to function when leveraging the embedded browser. It works fine when I manually use MSTSC or if I use external from within RDM (which is leveraging MSTSC). I have checked that my local resources has smart cards and webauthn options enabled for the connection. However, when checking between the two for supported RemoteFX USB devices there is a difference. In MSTSC I see the FIDO2 key listed but within RDM I do not. Attached are the screen shots showing the difference. I believe this is the root issue in allowing embedded to function properly. Any idea why the FIDO2 key is not shown with RDM?


image (17).png

image (16).png

image (15).png

All Comments (4)

avatar

Hi,

First, do you intend to use RemoteFX USB redirection, or FIDO2 / WebAuthn API redirection? Remoting FIDO2 keys over USB redirection has historically been a hack which requires adding registry keys to force-enable them to be listed in mstsc. We've tried replicating the same kind of USB device filtering in RDM but I'd have to double-check if we're also checking the same keys to allow specific devices that would normally be filtered out by mstsc.

In order to get the FIDO2 key listed in mstsc, did you have to create additional registry keys, or was it also filtered out by mstsc by default?

Best regards,

Marc-André Moreau

avatar

My intention is just WebAuthN redirection so I can leverage security keys/windows hello on the remote session with an embedded session. Within MSTSC if I just have WebAuthn (Windows Hello or security Keys) selected it works without issue. I didn't have to make any changes whatsoever to registry or settings. MSTSC works as expected with my FIDO2 key (both alone and if I select external for the connection in RDM) but it does not work within the embedded connection of RDM. It does not redirect to my local machine and is only prompted from within the remote session.

I only changed my local group policy option to enabled RemoteFX USB support to see if that made a difference with RDM. After that change I could see the devices listed under the RemoteFX section in MSTSC and then saw they did not make from within RDM.

avatar

Hi,

I found a problem with the way RDM loads the WebAuthn.dll virtual channel plugin in the RDP ActiveX to mimic how mstsc.exe enables WebAuthn API redirection, and made a fix which should be available in the next build (2024.1.26). When WebAuthn API redirection came out, Microsoft added registry keys to register C:\Windows\System32\WebAuthn.dll as an RDP virtual channel plugin to load, and we've used those to detect the path to the plugin. We had noticed that this plugin registration was a bit problematic as it caused WebAuthn API redirection to always be enabled in mstsc, regardless of the "redirectwebauthn:i:0" .RDP file setting.

It looks like Microsoft noticed their mistake and removed the registry keys in recent Windows builds, which unfortunately broke our path detection to WebAuthn.dll. Since the latest mstsc.exe now only checks for C:\Windows\System32\WebAuthn.dll to add it to the list of plugins to load based on the "redirectwebauthn" value, I've updated our code to do the same, without using the registry keys which are now gone.

I included a .reg file to restore the registry keys in this reply if you want to make it work with the current version of RDM, without waiting for the new RDM build.

When using the FIDO2 key from mstsc, is this the kind of prompt you see on the client?



From RDM, if enabled, it should look like this with the embedded mode:



Best regards,

Marc-André Moreau

924caa98-7d6e-4ede-bf75-6a3dbb76381b.png

91ff5bd4-721d-4b88-ab18-bdeedf91ad2a.png

RdpWebAuthnAddin.reg

avatar

Yes those are the differences in the prompts I receive. I also confirmed the registry change allows the security key to work from within RDM with embedded session. Thank you!