Ce problème vient de l'ordre dans lequel 2 opérations importantes sont programmées pour lire une information sensible qui est un mot de passe :
- verrouiller l'accès exclusif au clavier
- lire les caractères tapés sur le clavier
Apparemment, ces 2 opérations sont programmées à l'envers :
- lire les caractères tapés sur le clavier
- verrouiller l'accès exclusif au clavier
La partie du noyau chargée de lire le clavier est réveillée avant de verrouiller le clavier. Ceci est tout à fait compréhensible lorsque l'on souhaite pouvoir réveiller le système à chaque entrée sur le clavier. Mais dans un tel cas, un mécanisme devrait clairement indiquer à l'utilisateur quand le clavier est sécurisé pour taper un mot de passe sérieux et non réveiller du bruit.
Ce mauvais ordonnancement était apparemment un petit problème et non remarqué par beaucoup d'utilisateurs car les 2 opérations sont de toute façon programmées dans une petite fenêtre d'événements (il s'agit d'une question d'une ou 2 secondes ici).
Cette petite fenêtre de temps pour programmer ces 2 opérations est plus grande si vous venez tout juste de réveiller votre disque, ou si votre disque n'est pas assez rapide pour vos doigts, ou si vous avez des doigts trop rapides. C'est la raison pour laquelle certaines personnes ont pensé que ce problème était créé par un disque dur (HDD) et supprimé par un disque à état solide (SSD). En fait, le problème n'est pas supprimé par un SSD, il est simplement plus difficile à mettre en évidence. Vous devriez considérer cela comme un bogue fondamental dans la lecture du mot de passe qui est caché lors de l'utilisation d'un disque suffisamment rapide ou de doigts au mouvement lent.