web-dev-qa-db-ja.com

Web上のパスワードを記憶する方法

さまざまなサイトにあるユーザーアカウントのパスワードを管理するのに最も手間がかからない方法は何ですか。

オプションは3つしか表示されません。

  • パスワードマネージャー。パスワードはさまざまで強力な場合がありますが、欠点は、JohnDoe45のように覚えやすいように弱いマスターパスワードが必要なことです。誰かがそれにアクセスした場合、すべてのパスワードが侵害されます。また、パスワードデータファイルを紛失した場合は、失敗します。

  • 簡単に覚えられるすべてのサイトの単一のパスワード。欠点は、誰かがそれを見つけた場合、他のサイトのすべてのアカウントが侵害されることです。

  • 個人用アルゴリズムを使用したさまざまなパスワード。サイトの最初の2文字+名前の最初の2文字+サイトの最後の文字+なんでも。

最後のオプションは私にとって最良の選択のようです。どう思いますか?私が見逃しているより良い方法はありますか?

4
Anna

パスワードを覚えておきたい場合は、筋肉の記憶を働かせるか、覚えやすいパスワードを選択する必要があります。ただし、覚えやすいのは推測も簡単です。そして、すべての異なるクラスの文字(上、下、数字、記号、さらにはUTF-8の組み合わせ)を使用して、妥当な長さの3-4-5パスワードを覚えておくという "精神的緊張"があります(そうですね、ALT + 4099をpassword))、それは平均的なユーザーの努力の価値はありません。

したがって、私たちが通常行うことは、パスワードを再利用または書き留めることです。パスワードの再利用(#2)は、あなたが言うように、それに関連付けられたすべてのアカウントを危険にさらす可能性があります。人々は実際にこれを理解しているようで、通常、価値の低いデータを保護するアカウントでのみパスワードを再利用します。

ただし、パスワードを書き留める:安全に行われれば、パスワードを書き留めることは問題ではないと主張します。ここでの違いは、銀行のパスワードをOTPジェネレーターの背面またはモニターのポストイットノートに書き込むか、ウォレットでパスワードを非表示にするかです。もちろん、FacebookのパスワードとしてGæµRA­♣$ 6(◘F0z03*╬)を使用して安全に保管することはできません。これは使い勝手が悪いです。

アルゴリズムも気に入らない。そこにはある程度の「あいまいさによるセキュリティ」があるので、誰かがあなたのパターンを見つけたら、ねじ込まれています。あなたが価値の高いターゲットであるとしたら(そうではないかもしれませんが、見事なお金があるかもしれません)、somedisposablemessageboard.comとsomepaywallnewspaper.co.ukのパターンを使用してください。パスワード漏洩。攻撃者が多少「認知能力」がある場合、攻撃者はあなたのパターンを見つけて、バンキングパスワードであるBaAnk $ taticPa $$ Word(「Bank」、「Anna」、および「$ taticPa $$ Word」で構成される)を試す可能性があります。 。

パスワードマネージャーは、パスワードを保持するために信頼できるストレージ機能です。例として、LastPassはプラグインと連携して認証を容易にします。このようにして、ブラウザーセッション(IIRC)ごとに1回マスターパスワード(推測するのは難しいですが、それは唯一のパスワードです。それをそのまま使用できます)を入力し、LastPassからサービスにパスワードをダウンロードし続けます。特にパラノイアのために、ここには別の問題があります。マスターパスワードをキーボードからブラウザーに入力します。つまり、マスターパスワードはメモリに保存され、(理論的には)トロイの木馬によって読み取られる可能性があります。また、キーロガーはLastPass.comに到着すると発火し、パスワードを収集する可能性があります。どちらも城の鍵を手に入れます。

(技術的なおもしろい事実:LastPassのパスワードは、500反復のPBKDF2を使用してマスターパスワードから生成された鍵で暗号化されます。これは、鍵導出関数です。500反復は、 PBKDFドキュメントで指定されている使用の絶対最小値の半分です 、およびmay格納されている暗号化されたパスワードが漏洩した場合、総当たりではありません。)

では、キーボードでパスワードを入力することができない場合はどうすればよいでしょうか。心配する必要はありません。パスワードを書き留めて、財布に入れてください。 Facebook:¤#V&W#V&、銀行:AybyB%¤YB¤、ポルノ:&%HB&4sybyなどと記述しないでください。

CIAのスパイである場合は、パスワードを保持するための画面を備えた外部デバイスをお勧めします。それは別の携帯電話ではなく、機能が低下したデバイスである必要があります。ただし、パスワードは誰にも表示されず、平文で転送されることはありません。次のように機能します。

Facebook:パスワードをギミに入力してください、アンナのPC。

アンナのPC:ちょっと待って、クールな外部デバイスを手に入れました!

Facebook:ヨ、アンナ。共有シークレット(パスワード)とハッシュ関数(またはKDF)を使用して、デバイスにこのチャレンジを計算させて認証します!

アンナの認証デバイス:HASH = KDF(Salt、(secret + challenge)、Iterations(10000000)

アンナのPC:FBさん、こんにちは。チャレンジへの対応はboogaboogawhatever89646y7547645

Facebook:うわー、HASH = boogaboogawhatever89646y7547645も手に入れました!なんでアナなんだ!

(Facebookゲートが開きます)

本当に頭がおかしい場合は、 USBバーコードリーダー を購入し、銀行のパスワードをいくつかのバーコード番号にします。ただし、これらのデバイス(IIRC)は数字のみを読み取るため、パスワードごとにいくつかのコードが必要になる可能性があります。 7025943875928759843758924759834759843725098347527465243785942365674382568347567345454735276567543356728578535は正しいパスワードですか?銀行のバーコードをスキャンしてください。

1
Henning Klevjer

パスワードを管理するパスワードについては、 この答え を参照してください:トリックは覚えないことですそれらは、パスワードを「合理的に安全な」ストレージ領域に保存するためのものです。

本当にパスワードを頭の中で覚えておきたいのであれば、少なくとも毎日、頻繁にパスワードを入力するように強制することをお勧めします。この種の仕事では、指は脳細胞よりも優れています(これは 筋肉記憶 と呼ばれます)。もちろん、これは「一般的な」Webパスワードでは実用的ではありません。できることは、パスワードを2つのカテゴリーに分割することです。

  • 頻繁に使用し、脳に保存するパスワード。
  • まれに使用するパスワードをファイルに保存します。

(さまざまなストレージシステムが存在しますが、プレーンファイルは十分に安全である場合があります。適切に実行すれば、もう一度、私がリンクしている以前の応答を参照してください。)

1
Thomas Pornin

同志、ああパスワードの世界!どちら側から見ているかに応じて、とても魅力的です。個人的には、洗練されたパーソナルアルゴリズムをいくつかのパーソナルアルゴリズムのソルティングと一緒に使用するのが最も安全であると思います。

単純なアルゴリズムパスワードの問題点は、Webサイトの管理者がパスワードを平文で見ることができれば、個人のアルゴリズムを見つけて他のWebサイトで使用できることです。

私の経験では、パスワードに対する最大の脅威の1つは、外部から(Webから)または内部から(つまり、企業環境内から)パスワードをリセットする機能であることがわかりました。

だから、洗練された個人的なアルゴリズム+個人的なアルゴリズムの塩が私が使うものです。

私のパスワードのコースはMyPwd * StackEx7(またはアメリカで言うように、NOT!... ;-))です

0
Nik

最後のオプションは私にとって最良の選択のようです(パーソナルアルゴリズムを使用した異なるパスワード)。どう思いますか?私が見逃しているより良い方法はありますか?

パスワードマネージャーは最高だと思います。

ただし、パーソナルアルゴリズムの使用に関するアドバイスが必要な場合は、できる限りのサポートを提供します。

Webサイトの所有者に、使用するパターンが表示されないようにすることを検討する必要があります。これは、パスワードリストを盗んだハッカーがすべてのパスワードを見るのを防ぎたいので、同様の緩和策を適用できるWebサイトの所有者と同様の問題です。

注:違反後にパスワードを変更する方法も必要です。以下の私の例では、パスワードを毎月変更することを想定して、年と月をソルトに入れるという単純化したアプローチを採用しました。

これを行う最善の方法は、PBKDF2、Bcrypt、またはScryptyourselfを使用してパスワードを生成することです。たとえば、 Mitsuhiko's Python PBKDF2 implementation with warner's patch を使用できます(「rv = starmap(xor、izip(rv 、u)) "から" rv = list(starmap(xor、izip(rv、u))) ")、またはopenssl呼び出しなどを使用して、パスワードとソルトの両方を使用し、多数の反復を行います。デフォルトのSHA-1の代わりにSHA-512を使用するのが理想的ですが、Base64出力を使用するのが理想的ではありません。

コマンドは次のようになります。

pbkdf2 MyPw*forsites salt201402YnU7StackExchange 131072 20

最低限*として、たとえば次の最初の20文字のようなHMACを使用できます。

echo "MyPw*forsites" | openssl dgst -sha512 -binary -hmac salt201402YnU7StackExchange | openssl enc -base64

*この最小値は、他の人のパスワードを保存するには不十分であると考えられています。自分で使用する場合は注意深く検討してください。

0

LastPassやPassword Safeなどのパスワードセーフの強力なパスワードを1つ覚えることは可能だと思います。

奇妙なランダムな言葉から始めましょうが、覚えておくことができます。

私のワグホルターは絞首刑にされようとしていたので、そうであるか否かは彼が言った、それは私が大きなお尻が好きであり、私が嘘をつくことができない問題だということです

だから、各単語の最初の文字を使用して、ただワグホルターを単語として保持してください:

Mwaghalterwatbhshstbontbtitqilbbaicl

今度は「ワグホルター」を奇妙に活用してください

mwAGhALTERwatbhshstbontbtitqilbbaicl

大きな内臓が好きだと言うのではなく、大きな胎盤が好きだとしましょう:

mwAGhALTERwatbhshstbontbtitqilbplacenTASaicl

ツールを使用してランダムなパスワードを生成します。

/%kJ:#Goh [5l

覚えている特定の場所、またはランダムな場所に、これらの文字を4つ(または覚えやすい数だけ)挿入します。

mwAGJhA:LT#ERGwatbhshstbontbtitqilbplacenTASaicl

これは単なるアイデアですが、ほとんどの人はこのようなものを覚えることができると思います。

必要に応じて、追加の20文字を書き留めてパスワードに追加し、それを財布に入れることもできます。そうすれば、誰かがあなたの財布を見つけたとしても、おそらく上記のパスワードを破ることはできません。

この件に関する関連記事: https://www.schneier.com/blog/archives/2013/06/a_really_good_a.html

電子メールやNetflixなど、適度に強力なパスワードが必要な場合に、それほど強力ではないパスフレーズを使用することがありますが、パスワードが安全でなければほとんどの場合、覚えておくことができます。他のサイトでは、できるからといって強力なパスワードを生成します。また、上記の手順が難しいと思われる場合は、少なくとも「JohnDoe45」よりも強力な次のようなパスワードを使用できます。

AgitPROP5%arrogantCANcer

0
user40513

私は通常これで行きます:

プログラミングの経験がほとんどない(または学習したい)場合は、文字列に基づいてパスワードを生成する小さなスクリプト(php/Perl/Java/bash/whatever)を作成します。例えば:

$ ./genpass facebook.com

「genpass」スクリプト内で(他の名前を付ける方が良い)、必要な数の暗号/ハッシュアルゴリズムを使用できます。パスワード(マスターの種類)を要求して、それをソルトとして使用することもできます。次に、結果の文字列(約14〜20文字)を切り取り、パスワードに使用できます。

利点は、パスワードが保存されておらず、パスワードの生成方法を知っているのはあなただけであることです。何もせずにそのリストにサイトを追加することができます。それはあなた自身の個人的な(カスタマイズされた)方法なので、他人の前にそれを見せないように注意する必要があるだけです。

そのアイデアに基づいて、ファイル(JPG、DOC、MP3など)のエントロピーを使用し、使用できるパスワードを生成するスクリプト(JSで)を作成しました。これはJavascriptなので、オフラインで使用でき、どのファイルがどのサイト用かを覚えておく必要があります(たとえば、ディレクトリを作成して、そこにいくつかのサイトロゴを保存できます)。これは " file2pass "と呼ばれます(いくつかのデモを見ることができます)。

私は2年前からこれらの方法を使用しており、自分のパスワードがわかりません(毎日使用するものを除いて)。私はそれらをその場で生成します。

0
lepe