-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keyboard Map introduces a high entropy fingerprinting surface #30
Comments
@rniwa Does it really leak so much information compared with other channels? Sure, it lets you determine the active keyboard layout, but can't you already predict it with >90% accuracy just from the IP country and/or preferred languages set in browser? |
No. There are like 5-6 different keyboard layouts for Japanese alone. And if you use a keyboard layout that's not common in a given country / region, you'd stand out. |
Without using the 'Keyboard Map' API, assuming that an application can listen to keyboard events and record
I wonder whether these differences are really that large, or whether one could exploit it - for instance, only let the 'Keyboard Map' API become available if the user has typed at least 10 different 'letter' keys, since at that point there may be enough information either way to guess with a high success rate the user's keyboard layout. One case that does argue for a substantial difference is if a user has a very specific/personal keyboard layout (like x number of keys being mapped to something atypical, and the user not normally typing those keys). |
Could it make sense to (either generally or as a mode when requesting This does mean that the mapping would not be available and useful initially for a web application, and the mapping would only become available piecemeal, which might be bothersome and confusing for users and possibly annoying for web application developers to handle. It might also mean that such a mode of But that might still give a way forward. For instance: When requesting
This may furthermore possibly enable the relaxation/removal of the 'top-level global context' requirement. The 'top-level global context' requirement is somewhat of a hindrance for the cases where iframes are used, which includes many web games and web game portals, a main use case for this API. One could also combine the modes in this example, such that there is a third mode that starts with the first mode, and if the user rejects it, falls back to the second mode (though that can also be handled by web application developers, so may not make sense to include in the API). |
Without this API it is very hard for an application to show a user correctly the keyboard shortcuts that are mapped in the application. This is a major drawback and harms the experience on web vs desktop. We at Adobe really need some solution here to discover the true mapping of Is anyone at Apple interested in reopening the conversation here and trying to find a solution? |
@benjamind The approach I ended up going with for my case was making it clear to the user that the user has to press the key on their keyboard that corresponds to the given |
Why would browsers vendors provide event.code values since without |
As I've noted in person a while ago, the Keyboard Map API as proposed exposes a high entropy fingerprinting surface. This is not acceptable from privacy perspective. As a result, the WebKit team at Apple is not interested in implementing this feature as currently proposed / spec'ed.
The text was updated successfully, but these errors were encountered: