web-dev-qa-db-ja.com

ASIC cryptocoin minersはscryptのセキュリティにどのように影響しますか?

これらのマイナーが利用できるのは、scryptよりもbcrypt(または何か他のもの)を好む理由ですか?

つまり、パスワードハッシュ関数の目的は、攻撃者がブルートフォースや辞書などを使ってハッシュを破るのに必要な作業を最大化し、正当な使用に必要な作業を最小化することです。攻撃者が何度もサーバーの速度でハッシュを計算できる場合、弱点があります。

Scryptベースの暗号通貨用のASICマイナーは、scryptハッシュの計算に非常に効率的であり、ほとんどのサーバーは暗号通貨マイニングハードウェアを使用してパスワードハッシュを高速化していません。

攻撃者が適切なマイニングハードウェアにアクセスできるのは問題ですか?

3
Filip Haglund

パスワードハッシュ の理論は、問題全体が攻撃者と防御者の間の武装競争であるということです。パスワードハッシュ関数(bcrypt、scrypt ...)は、防御側がハードウェアで許容できる限り、意図的に遅くなっています。攻撃者は防御側と同じ種類のハードウェアを購入できると想定しているため、攻撃者は常に少なくとも防御側と同じくらい効率的です。攻撃者の希望は、同じ予算でより多くのハッシュを計算できる特殊なハードウェアを購入または構築できることです。

Scryptに基づくコインのマイニングに特化したマシンは、同じ価格の基本的なPCよりも1秒間にscryptを実行する場合にのみ意味があるため、攻撃者にとって本質的に朗報です。ただし、これは必ずしも実際の攻撃モデルに変換されるわけではありません。特に、scryptは高度に構成可能な関数(RAM使用量とCPUコストの両方を設定できます)であり、マイナーが最適化される組み合わせであるためです。特定のサーバーでパスワードをハッシュするために使用されたものと必ずしも一致しない重要なプロパティは、マイニングハードウェアを他のscryptパラメーターに再利用できる量です。

もう1つの重要な点は、bcryptがFPGAベースのハードウェアで「より簡単に壊れる」ことが知られていることです(新しいFPGAには、bcryptの実装に非常に興味深い組み込みのRAMブロックが含まれています-各bcryptインスタンスのみが必要です) 4 kBのRAM)。したがって、マイニングASICcanが攻撃者を高速化すると仮定しても、不明確です彼がbcryptに対してFPGAで得られるよりももっとスピードアップするかどうか。

パスワードハッシュは、暗号化、エンジニアリング、および経済学に及ぶ問題であることを覚えておく必要があります。決定を下したい場合は、これらのすべての側面を考慮に入れる必要があります。

(また、scryptは、ハードディスクのパスワードベースの暗号化というかなり特殊なケース向けに設計および最適化されました。これは、ユーザーを認証するWebサーバーとはかなり異なる使用シナリオです。ラップトップハードディスクのマスターパスワードをハッシュする場合、システムは数秒のCPUを消費し、ギガバイトのRAMを使用する場合があります。認証サーバーでscryptを使用すると、パラメーターがこのゾーンの外に移動します。)

7
Thomas Pornin

ここでは、3つの異なるパスワードハッシュアルゴリズムについて説明します。

| Algorithm | Cryptographic primitive | Crypto-currency that uses it| Miner speed   | 
|-----------|-------------------------|-----------------------------|---------------|
| PBKDF2    | SHA-256                 | Bitcoin uses SHA-256        | 7 Thash/sec   |
|           |                         |                             |               | 
| Bcrypt    | Whirlpool cipher        | (none)                      | n/a           |
|           | with 4kB key setup      |                             |               |
|           |                         |                             |               |
| Scrypt    | Salsa/20 BlockMix       | LiteCoin                    | 100 Mhash/sec |

ハッシュの難しさは、アクセスする必要があるメモリの量に起因します。

  • SHA-256は高速であることを目的としています。メモリをほとんど使用しません
  • BCryptの高価なキーセットアップは、キーをセットアップするときにランダムに4KBのメモリを使用します
  • Litecoinでは、N=1024, r=1, p=1のscryptパラメータにより、scryptに128 * 1 * 1024 = 128 KBのメモリが必要になります

重要な点は、これらのASICマイナーは専用をlitecoinに、そしてそれらの特定のLitCoin scryptパラメータに適用することです。つまり、デフォルトのscryptパラメータを使用することを意味します:

  • N=16,384r=8p=1

必要とする:

  • 128 * 8 * 16384 = 16 MB

real-worldパスワードパラメータを使用したscryptの経験に基づいた大まかな計算を使用すると、これらの高価なボックスの1つが実行できます。

6,100ハッシュ/秒= 0.006ハッシュ/秒

5桁遅い。しかし、まだ懸念事項です。私の唯一のIntel i5-2500はこれらのパラメーターで5 hash/secを実行できます。そのカスタムハードウェアは1,000倍以上高速です。

理想的には、scryptがハードウェアで約500ミリ秒かかるように調整されます。私のハードウェアで:

  • N = 2 ^ 15 = 32768
  • r = 9
  • p = 1

36 MBのメモリフットプリント。鉱山労働者の一人にとって、それは1,205ハッシュ/秒-私の1台のPCの200倍の速度で実行できます。

tl; dr:鉱夫について心配する必要があります。幸い、correct horse battery stapleは、パスワードを誰にも届かないようにします。

3
Ian Boyd

あなたの質問は奇妙です。 ASICはセキュリティに影響しますか?いいえそうではありません。

一方、ASICは、ASICを使用するユーザーにとって非常に大きなメリットを生み出します。 CPU/GPUビットコインマイニングが今日では不採算であるのはそのためです。

ASICは比較的安く、消費電力が少なく、かなり高速ですが、一般的にRAMは多くありません。したがって、いくつかの暗号通貨は、RAMが大量に必要な他のハッシュスキームの使用を支持し、ASIC通常のコンピュータ。

1
ThoriumBR