質問
長所:
- 「良い」を思い出せないとにかくパスワード を覚えておくのは問題ではありません。
- パスワードのようには見えません
- 推測がほとんど不可能(128ビットのエントロピー)
- 簡単に生成できます(" good PRNG"問題をオフロードします)
短所:
- ???
特に;一部のセットアップでのデータベースログインのように、コンピューターが入力するパスワードはどうですか。
解決
1つの大きな欠点は、「128ビットのエントロピー」を必ずしも持つ必要がないことです。元の質問で述べたように。
多くのGUIDアルゴリズムには、コンピューターのMACアドレス、日付/時刻、増分シーケンスなど、予測可能なパターンで情報が埋め込まれています。関数UuidCreateによって返される次の250,000 GUIDまでを予測できる初期状態を前提とすると、WinAPI GUIDの暗号解析が示されています
たとえば、3番目の数字グループの最初の位置にある最初の数字は、1(V1 guidsの場合)または4(V4 guidsの場合)になるため、約50%の確率で推測されます
他のヒント
短所:
- どこかに書き留めます。
- おそらくそれらをメールで送信するか、他の人に伝える必要がある場合は再度書き留めます。
- 特定のシステムには長すぎる可能性があります。
- これらは実際に記憶することは不可能であるため、必要に応じて頻繁に変更する可能性があります。
そのため、それらがめったに変更されないシステムパスワードでない限り、それらが良いパスワードであるとは思わない。
コン:
32バイトの英数字文字列を覚えることはほとんど不可能です。
本当に安全なパスワードが必要な場合は、パスフレーズ。長いパスフレーズは簡単に覚えられ、総当たりするのは非常に困難です。
コン:
- 一部のシステムでは、パスワードの最大長に制限があります。 16進数字のみを使用している場合、これによりエントロピーをおそらく32ビットに制限できます。
パスワードとして入力する必要がある人はいますか?それとも、それを一度限りのものとして使いたいですか?真剣に、誰もパスワードフィールドにGUIDを入力したくないからです。人々は、WEP / WPA2 wifiネットワークキーを入力するだけで十分な問題を抱えています。そして、ほとんどの場合、それらはワンタイマーです。
@宮城:それは最も明らかなコンコースです。書き留める必要があります。
技術的には、良いパスワードになります 実際には、それらは恐ろしいパスワードです
パスワードを書き留める、パスワードマネージャーを使用する、またはパスワードを実際に使用する他のフォームを使用する必要があります...失敗ポイントをパスワードから別の側面に移動する方法で。
パスフレーズの使用を検討してください。特定の文字または他の文字、および数字の代わりに、SHIFTを使用して入力し、覚えやすい数字を適切に定義された文字シーケンスに変換する文。
たとえば、 bcs19850101bcs は bcs!(*%)!)!bcs
になります。短所:
- パスワードフィールドは必ずしも十分な長さではありません。
- 入力するのがより難しい-あなたはおそらくあなたの頭ではなくプログラムにパスワードを保存するでしょう。それはちょっとしたセキュリティ問題です...
...長所:
- 誰もあなたからパスワードを強制することはできません。
以前に大きな乱数のパスワードが実行されました。それらは OTP と呼ばれ、はるかに安全です。それらは時間とともに変化し、安全なデバイスによって生成される傾向があるため、あなたが提案しているものよりも。もちろん、これはあなたがパスワードシステムを設計している場合にのみ関係します。
UNIXライクなシステムのパスワードマネージャーに残したい安全なパスワードが必要な場合は、/ dev / randomからパスワードを取得し、読み取り可能なものにエンコードする方がはるかに優れています。 128ビットのエントロピーには、次のような単純なものを使用できます
head -c 16 /dev/random | openssl enc -a -e
5eqIviKu4pFTqSPnYosVKg ==
不当に長く、安全で、ランダムで、覚えようとする自殺ではない。
編集:UUIDに対するこのメソッドの追加された利点には、PRNG(/ dev / random)の追加のセキュリティと、短いパスワード、同様の不足が含まれます
最近、チェックサムの最初の64ビットを4つの英単語のシーケンスに変換するコードを書きました。これにより、優れたチェックサムが得られます(16進数の混乱よりも覚えやすい)が、パスワードとして信頼できるかどうかはわかりません。安全なものを保護する場合は、覚えて書き留めない強力なパスワードを使用する必要があります。そうでない場合は、古いパスワードで十分です。
実際に必要なのは、GUIDではなく、暗号的に乱数だと思います。 GUIDとUUIDはランダムではありません。JohnFxが言ったように、一意性を保証するために、MACアドレスや現在のタイムスタンプなどの検出可能な値を組み込む傾向があります。
代わりに、利用可能な暗号化APIを調べて、高エントロピー乱数のソースを見つける必要があります。ドキュメントは、出力が通常のPRNGだけでなく、暗号化に適していることを約束していることを確認してください。たとえば、Unixシステムの/ dev / randomは優れたソースです。次に、必要な数だけランダムバイトを展開します。
個人的には、これはちょっとハードコアすぎるようです。むしろ、文字ごとのエントロピーが少し少ない文字列を生成したいのですが、入力して覚えやすくなります。たとえば、ランダムな音節を組み合わせて発音可能なナンセンスな単語を作成するアルゴリズムがいくつかあります。いくつかの数字と句読点を散りばめ、あなたは良いパスワードを持っています。
自分のパスワードが好き強力で発音可能(いずれかのサイトここにリストされているオンラインデモでは、必ず「v2」サイトを選択してください発音ガイドを取得します)。
欠点:再入力できないため、コピーして貼り付ける必要があります。システムにパスワード管理プログラムがある場合は、実際には問題ありません。しかし、そうしないシステムになってしまった場合、単にタイプし直すのは非常に困難になります。
そして、数回試行した後、ロックアウトされます...
人生は非常に迷惑になる可能性があります。
書き留めたとしても、適切なパスワードはエラーなしで一貫して入力できるものです。