web-dev-qa-db-ja.com

ボタンごとに複数の数値はセキュリティに影響しますか?

私は最近このような電子デッドボルトに遭遇しました: Kwikset Door lock

キーには、ボタンごとに複数の番号があります。1|23|45|67|89|0

これが電子錠のセキュリティを高める方法はありますか?ボタンごとに2つの数値があると、エントロピーが劇的に減少するようです。これで、10ビットではなく5ビットになりましたよね?

これは単なるセキュリティ上の美学/コスト削減の問題ですか?

23
Wayne Werner

ユーザーやボタンに描かれているものについてではなく、技術的な実装について考えてください。これは、5つのボタンを備えたキーパッドです。デバイスのロックを解除するには、一連の5つのボタンが必要です(ただし、5つのボタンを何度押しても可能です)。

ボタンの数が増えると、組み合わせを総当たりすることが難しくなります。ボタンが2つしかない、またはボタンが20個あると想像してください。ボタンの数が増えると、可能な組み合わせが増え、組み合わせが増えるとブルートフォースが難しくなります。

ボタンの数が少ない1つの方法を想像できます可能性がありますセキュリティを向上させる:汚れ。 20個のボタンがある場合、時間が経つにつれて、使用したいくつかのボタンが使用されているように見え、ユーザーが覚えておく必要がある数字列( "123456")をデュースできるなど、試行できるボタンの数が減ります。ボタンが少ない(ボタンごとに複数の数字がある)と、汚れがあまり意味がなくなり(すべて汚れている)、記憶された数字のシーケンスが何であるかを推測する可能性が低くなります。しかし、これはセキュリティの1つの側面にすぎず、住宅の家の鍵をあまり高く評価しないかもしれません。

27
schroeder

それ自体ではありません。

組み合わせの総数はXY ここで、Xはボタンの数、Yは組み合わせの長さです。

例えば:

  • 5つのボタンの6桁の組み合わせは56 = 15 625の組み合わせ。
  • 10ボタンの4桁の組み合わせは10です4 = 10 000の組み合わせ。

組み合わせの長さがわからない場合、ボタンの数はセキュリティとは無関係です。ボタンは2つだけです。

1
njzk2

各ボタンに2番目の数字を入力するときに実際に何が起こるかによって異なりませんか(2回押すと想定しています)。

ケース1:同じボタンを2回押すと、1つの数字ボタンのキーパッドで同じボタンを2回押すのと同じように、同じ数字の2つが出力されます。その結果、ボタンの数は減りますが、コードが長くなります。ボタンを番号で参照する代わりに、どのボタンであるか(つまり、ボタン1、ボタン2 ......ボタンn)でボタンを参照できます。あなたが知っていると確信している組み合わせの総数はnですlここで、lは組み合わせの長さです。明らかにlは総数に大きな影響を与えます。

ケース2:1つのボタンを2回キーストロークすると1桁(ボタンの2番目の数字)が出力され、ボタンの数は10ですが、長さが変化し、入力の数とは異なります。

許可されるキーストロークの最大数によって異なります。 10回のキーストロークが最大であるとしましょう。

ケース1:

5つのボタン、キーストロークごとに1桁、長さは10になります。

510 = 9 765 625

ケース2:

1つまたは2つのキーストロークにつき1桁の5つのボタンを使用すると、最大長は10、最小は5になります。ただし、実際には10の可能な出力があることに注意してください。

ボタンの最初の桁のみを使用する組み合わせを使用する場合:

510 = 9 765 625-同じ!

2番目の数値のみを使用する組み合わせを使用する場合:

105 = 100 000-はるかに低い

したがって、2番目の数値を作成するメカニズムが上記のとおりであり、組み合わせにキーストロークの最大数がある場合、セキュリティは低くなります。

しかし、組み合わせが無限のキーストロークで最大桁数を持つ場合、結果は大きく異なります。

最大10桁:

ケース1:

上記と同じ:510 = 9 765 625

ケース2:

これで5つのボタンができましたが、キーストロークの数は関係ないので、実質的に10個のボタンがあります。

1010 = 10 000 000 000

はるかに多くのように見えるかもしれませんが、これは標準の10ボタン(0-9)ロックと同じです。結論として、私は最終的なケースを標準的なケースと単純に比較することができ、このロックで達成できる最も高いセキュリティは10ボタンのロックと同じだと言いました。真実は私が知らなかったし、私が書いたときにこれを理解したことです!それが何かに光を与えたことを願っています。

1
Ryan