web-dev-qa-db-ja.com

「マスター」パスワードを設定するのは良い考えですか?

私はパスワードを十分に記憶していますが、アプリケーションごとに1つのパスワードを設定することは不可能です。それでも、それは...パスワードを処理するための私の現在の方法は、5つのパスワードを持ち、アプリケーションをどれだけ信頼し、どれだけ敏感であるかに応じて、そのうちの1つを選択することです。通常、パスワードは6か月から2年以内に更新します。

私が得たアイデアは、マスターの強力なパスワードとアプリケーションの名前からパスワードを生成するスクリプトを作成することです。私はすでに資産と欠点の両方を見ました。

資産

  • 覚えるだけのパスワード
  • アプリケーションごとに異なるパスワード

欠点

  • マスターパスワードを紛失すると、他のパスワードも失われます。
  • 誰かがマスターパスワードを見つけた場合...他の人を見つけるのは簡単ではありません。

また、アルゴリズムがリバーシブルになるかどうか(つまり、アプリケーションの名前と関連するパスワードからマスターを見つけること)も考えています。

だから私は自分の考えを改善しました。スクリプトがランダムなパスワードを生成し、それを他のユーザーと一緒に、関連するアプリケーションの名前の横のファイルに保存するとどうなるでしょうか。このファイルは、4096ビットのRSAキーで暗号化され、それ自体は月ごとに更新できるパスワードで保護されます。

簡単に言えば、後者が良いアイデアであるかどうか、または私の現在の方法がまだ優れているかどうかを知りたいのです。

7
Antoine Pinsard

マスターパスワードからサイト固有のパスワードを安全に導出することが可能です。つまり、確定的な一方向関数:「確定的」であるため、サイトのパスワードを再計算でき、「一方向」であるため、サイト固有のパスワードからマスターパスワードを再計算することはできません。一次近似として、 暗号化ハッシュ関数 がトリックを行います。

システムを拡張して、(マスターからサイト固有の)パスワード導出を構成可能slowにすることで、効率的な辞書攻撃を回避できます(悪意のあるサイトは、潜在的なマスターパスワードを「試して」、使用したものを取得できるかどうかを確認します。 「スローハッシュ」とは、多くの反復を伴うハッシュです。 saltを追加することもできます:秘密ではないがランダムに選択されたデータの一部で、マスターからサイトへの2人の異なるユーザーが-パスワードソフトウェアは、マスターパスワードを使用した場合でも、同じサイトパスワードになりません。ソルトはファイルに保存できます(非公開ではありません)が、マスターパスワードのみの知識からサイト固有のパスワードをすべて再構築することはできません(つまり、の問題に注意してください)。 data backup)の問題を追加しています。

これは、サーバー側のパスワードハッシュの保存に関する質問とよく似ています(通常の解決策は bcrypt および PBKDF2 です)。この問題は、マスターパスワードを「master」にすることで簡単になります。 1つのパスワードのみを覚えておけばよいので、大きくて太く、ランダムで、高エントロピーのパスワードにすることもできます。 17のランダムな小文字のシーケンスを生成し、それを学習すれば、大丈夫です(2617 約2です80、呼び出し280 ハッシュ関数は、現在のテクノロジーで実現可能な時間を超えています。すべて小文字のパスワードは、特にスマートフォンで簡単に入力できます。

他の人たちはそれを行う既存のソフトウェアへのポインタを与えました。


RSAキーと暗号化されたランダムパスワードを使用するという考えも機能します。ただし、storageを意味します。旅行中に誰かがラップトップを盗んだ場合(残念ながら、まったくあり得ない出来事ではありません)、マシンを奪われただけでなく、新しいマシンを購入するまでパスワードも忘れましたandパスワードでいっぱいの暗号化ファイルのバックアップを取得します。これは不便な場合があります。マスターパスワードから決定論的にパスワードを導出することは、マスターパスワードを覚えている間、それらを失うことがないことを意味します。

また、新しいパスワード(新しいサイトの場合)を使用するには、ファイルとそのバックアップをいじる必要があります。この場合も、旅行中に難しいことがあるかもしれません。

中間ストレージを使用するとパスワードの更新が可能になりますが、なぜそれを行うのですか?パスワードの更新は、何百ものパスワードを使用する大規模な組織を管理していて、一部のパスワードは脆弱で、一部のパスワードは破損すると想定する場合に役立ちます。これは損傷を抑える方法であり、壊れたパスワードの割合が常にゼロでない場合にのみ意味があります。パスワードの更新は、陸軍のものです。それはスケールダウンしません:単一のマスターパスワード(あなたのケース)に降りると、そのパスワードは完全に壊れていないか完全に壊れています。前者の場合、マスターパスワードを更新する必要はありません。後者の場合、以前のサイト固有のパスワードをすべて変更するなど、対処する必要がある緊急の問題があります。

簡単に述べると、マスターパスワードの更新が必要な場合は、壊れていました。つまり、サイトのパスワードはすべてトーストされます。したがって、サイトのパスワードを変更せずにマスターパスワードを更新しても意味がありません。

6
Thomas Pornin

(事前にお詫び申し上げます。まだコメントする権限がありません)。 1つのパスワードに基づくソリューションはまだ完璧ではないので、それは正当な質問だと思います(パスワードを保存するためのメモリも同様です)。アントワーヌが言ったように、マスターパスワードを忘れたり、何らかの方法でハッキングまたは復号化されたりするなど、このソリューションにはいくつかの大きな問題があります。

私はパスワード生成アルゴアントワーヌを元に戻す可能性について常に疑問に思っていました。非常に安全なパスワードキーパーを探しているなら、尋ねるのは公正な質問です。

それでも、Firefoxのパスワードマネージャーと共に1年間パスワードを使用してきました。すべてのアカウントに1つの強力なパスワードを使用するよりも、暗号化されたアカウントごとに一意のパスワードを使用する方が安全だと思います。忘れません。

2
Dyn