web-dev-qa-db-fra.com

Plusieurs numéros par bouton ont-ils un effet sur la sécurité?

J'ai récemment rencontré un pêne dormant électronique comme celui-ci: Kwikset Door lock

Les touches ont plusieurs numéros par bouton, 1|2, 3|4, 5|6, 7|8, 9|0

Est-il possible que cela augmente la sécurité de la serrure électronique? Il semble que le fait d'avoir deux numéros par bouton réduit considérablement votre entropie possible, puisque vous avez maintenant 5 bits au lieu de 10 bits, non?

Est-ce juste une question d'esthétique/de réduction des coûts de sécurité?

23
Wayne Werner

Non, en supposant des codes d'accès également longs, le fait d'avoir moins de boutons ne peut en aucun cas augmenter la sécurité.

Selon la façon dont les mots de passe sont choisis et si les boutons sont régulièrement nettoyés pour éliminer les taches *, il (peut ou) peut diminuer la sécurité de manière significative , mais la réduction du nombre de boutons ne peut certainement pas rendre le verrou plus plus sûr.

Vous avez donc probablement raison: c'est juste fait pour l'esthétique et/ou pour réduire les coûts. Quant à savoir pourquoi les boutons de votre exemple de verrouillage sont à deux chiffres, Dennis Jaheruddin probablement cloué cela dans les commentaires :

"Il s'agit essentiellement d'un verrou à 5 boutons qui permet aux gens d'abuser de leur anniversaire ou de leur code PIN pour un mot de passe."

Avec seulement cinq chiffres parmi lesquels choisir, vous ne pouvez pas choisir un mot de passe facilement mémorisable comme 31121976 ou 31415926. Avec chaque bouton étiqueté deux fois, vous le pouvez. (Que ce soit bon ou mauvais pour la sécurité est discutable; sans doute, si les utilisateurs ne pouvaient pas choisir des codes comme ça, beaucoup d'entre eux se replieraient sur quelque chose d'encore moins sécurisé comme 12341234, ou écrivez simplement leur mot de passe sur un post-it. Mais du point de vue de l'utilisabilité, c'est définitivement une victoire.)


*) Étant donné que le problème des attaques par bavures a déjà été soulevé , permettez-moi de noter brièvement qu'elles n'affectent pas la conclusion générale selon laquelle moins de boutons ne peuvent pas être plus sécurisé. Plus précisément, supposons que le mot de passe est connu pour être long et utilise k boutons sur un total de n , et considérons les deux cas extrêmes suivants:

  1. Les boutons sont maintenus propres, de sorte qu'un attaquant ne peut pas savoir quels boutons font partie du code d'accès. Dans ce cas, il y a codes d'accès possibles, dont l'attaquant doit en moyenne essayer la moitié avant de trouver le bon.

  2. Les boutons ne sont jamais nettoyés et accumulent des taches qui permettent finalement à un attaquant de dire exactement qui k les boutons sont utilisés dans le mot de passe. Dans ce cas, les boutons inutilisés deviennent complètement hors de propos, et donc l'attaquant sait qu'il n'y a que tout au plus mots de passe possibles (dont ils, encore une fois, doivent en moyenne essayer la moitié pour trouver le bon) indépendamment de n . (Le nombre réel est un peu inférieur à , car les codes qui n'utilisent que moins de k différents boutons peuvent être exclus, mais cela ne dépend toujours pas le n du tout.)

La réalité se situe généralement quelque part entre ces deux extrêmes: un attaquant pourrait être en mesure d'observer une certaine usure et des taches sur les boutons, et ainsi obtenir des informations sur la probabilité que chaque bouton fasse partie du code d'accès, mais à moins que le clavier ne soit vraiment usé et/ou sales, ils ne peuvent probablement pas être sûrs à 100%. Ainsi, généralement, le fait d'avoir moins de boutons diminue la sécurité quelque peu, mais probablement pas autant qu'un calcul naïf ignorant le maculage laisse à penser (car il a déjà été réduit par le maculage).

Bien sûr, une autre façon dont la réduction du nombre de boutons peut affaiblir la sécurité, même dans le scénario de maculage ci-dessus, est si deux chiffres utilisés dans le code d'accès sont mappés sur le même bouton sur le plus petit clavier (réduisant ainsi les deux n et k ). Pour les codes d'accès choisis au hasard, cela commence à devenir un problème (en raison du paradoxe d'anniversaire ) lorsque n < ², et sera certainement un problème lorsque n <. Pourtant, cette observation ne fait que renforcer la conclusion que, maculés ou non, moins de boutons ne peuvent jamais être plus sécurisés (et peuvent être moins).

12
Ilmari Karonen

Pensez à l'implémentation technique, pas à l'utilisateur ou à ce qui est peint sur les boutons: c'est un clavier à 5 boutons. Pour déverrouiller l'appareil, il a besoin d'une séquence de ces 5 boutons (quelle que soit la pression sur ces 5 boutons, il le permet).

Plus de boutons rendraient plus difficile la force brute de la combinaison. Imaginez n'avoir que 2 boutons, ou imaginez en avoir 20. Plus de boutons signifieraient plus de combinaisons possibles, plus de combinaisons signifie plus difficile à utiliser.

Je peux imaginer une façon où avoir moins de boutons pourrait augmenter la sécurité: les taches. Si vous aviez 20 boutons, au fil du temps, les quelques boutons que vous avez utilisés sembleraient être utilisés, réduisant ainsi le nombre de boutons possibles à essayer, y compris la possibilité de supprimer la chaîne de chiffres ("123456") dont l'utilisateur devait se souvenir. Moins de boutons (avec plusieurs numéros par bouton) signifient que les taches sont moins significatives (elles sont toutes tachées), et une possibilité réduite de déduire quelle était la séquence de numéros mémorisée. Mais, ce n'est qu'un aspect de la sécurité, et je ne l'apprécierais peut-être pas trop sur une serrure de maison résidentielle.

27
schroeder

Pas tout seul.

Le nombre total de combinaison est XOui où X est le nombre de boutons et Y est la longueur de la combinaison.

Par exemple:

  • une combinaison de 6 chiffres de 5 boutons est 56 = 15 625 combinaisons.
  • une combinaison de 4 chiffres de 10 boutons est 104 = 10 000 combinaisons.

Si vous ne connaissez pas la longueur de la combinaison, le nombre de boutons n'est pas pertinent pour la sécurité. Vous pourriez avoir seulement 2 boutons.

1
njzk2

Cela ne dépendrait-il pas de ce qui se passe réellement lorsque vous souhaitez saisir le deuxième numéro de chaque bouton (je suppose que vous appuyez deux fois sur ce bouton)?

Cas 1: deux frappes sur le même bouton génèrent simplement deux du même chiffre, comme si vous appuyiez deux fois sur le même bouton sur un seul clavier à touches numériques, le résultat est simplement un nombre réduit de touches, mais un code plus long. Au lieu de faire référence aux boutons par leur numéro, vous pouvez leur faire référence par quel bouton il s'agit (c'est-à-dire bouton 1, bouton 2 ...... bouton n). Le nombre total de combinaisons que je suis sûr que vous savez est nl, où l est la longueur de la combinaison. De toute évidence, j'ai un effet plus élevé sur le nombre total.

Cas 2: Deux frappes sur un bouton produisent un seul chiffre (le deuxième chiffre du bouton) puis le nombre de boutons est de 10, mais la longueur change et n'est pas la même que le nombre d'entrées!

Cela dépend du nombre maximum de touches autorisé. Disons que 10 touches est le maximum.

Cas 1:

5 boutons, 1 chiffre par frappe, donne une longueur de 10.

5dix = 9 765 625

Cas 2:

5 boutons, 1 chiffre par 1 ou 2 touches, donne une longueur maximale de 10 et un minimum de 5. Mais n'oubliez pas que vous avez en fait 10 sorties possibles.

Si vous utilisez une combinaison qui n'utilise que les premiers chiffres des boutons:

5dix = 9 765 625 - pareil!

Si vous utilisez une combinaison qui utilise uniquement tous les seconds chiffres:

dix5 = 100 000 - beaucoup plus faible

Donc, si le mécanisme de création du deuxième numéro est le même que ci-dessus et que la combinaison a un nombre maximum de touches, la sécurité est plus faible.

Mais si la combinaison a un nombre maximum de chiffres avec des touches sans fin, le résultat est très différent.

Avec un maximum de 10 chiffres:

Cas 1:

Comme ci-dessus: 5dix = 9 765 625

Cas 2:

Vous disposez maintenant de 5 boutons, mais le nombre de touches n'est pas pertinent, vous disposez donc de 10 boutons.

dixdix = 10 000 000 000

Cela peut sembler beaucoup plus, mais c'est la même chose qu'un verrou standard à 10 boutons (0-9). En conclusion, j'aurais pu simplement comparer le boîtier final avec le boîtier standard et dire que le plus de sécurité possible avec ce verrou est le même que le verrou à 10 boutons. La vérité est que je ne le savais pas et j'ai compris cela en l'écrivant! J'espère que cela a éclairé quelque chose.

1
Ryan