web-dev-qa-db-ja.com

パスワードにUUIDを使用する

UUIDをパスワードとして使用することについて誰かが意見を持っていますか?これは、プライベートSFTPフォルダーへの顧客アクセスなど、外部ユーザー用に作成されたアカウントを対象としています。または、代わりに公開鍵を使用していますか?これらのユーザーはシェルを持っておらず、ディレクトリにchrootされます。

マンページから:

UUIDは128ビットの数値であり、空間と時間にわたって一意である可能性が高く、計算上推測が困難です。これらはグローバルに一意の識別子であり、グローバル登録機関に連絡せずにローカルで生成できます。 UUIDは、ライフタイムが非常に短いオブジェクトの一括タグ付けと、ネットワーク全体で非常に永続的なオブジェクトを確実に識別するための一意の識別子として意図されています。

私はUbuntu9.10を使用していますが、 OSSP uuid パッケージはほとんどの* nixディストリビューションで利用できます。

4
Cawflands

UUIDを生成する方法はたくさんありますが、そのいくつかは非常に推測しやすいものです。たとえば、現在の時刻はコンポーネントであり、マシンのMACアドレスなどと同様に、すぐそこにあります。一意と推測できないものを混同しないでください。

パスワード用にUUIDを再利用しようとはしませんが、代わりに強力なパスワードジェネレーターを選択します。パスワードにUUIDを使用することを検討している場合、それを明確に覚えることは重要ではないため、/ dev/randomまたは/ dev/urandomから数バイトのMD5の出力のようなものを選択します。

dd if=/dev/random bs=128 count=1 | md5

または、強力なパスワードを生成するために特別に設計されたツールを使用することをお勧めします。理想的には、ユーザーが書き留めなくても覚えられるものです。

7
Michael Graff

パスワードの複雑さのレベルが高いほど、ユーザーが付箋にパスワードを書き留めてモニターに貼り付ける可能性が高くなります。さらに、ユーザーがパスワードを忘れた場合のサポートコストも高くなります。

SSHキーを使用する場合、キーを保護するために何らかの形式のパスワードをお勧めします(必須ではありません)。パスフレーズはパスワードよりも覚えやすいので、次のようになります。

  • Firefox&is&JUST&a&browser
  • NotTheFirstHackI'dTry
  • クイックブラウンフォックス

忘れたパスワードをリセットするための呼び出しの発生率を減らし、ユーザーがパスワードを書き留めることなく覚えることができるため、セキュリティが向上します。

5
Richard Slater

理論的には、マシンのパスワードやAPIキーなどにランダムなUUIDを使用することは良い考えだと思います。ただし、書き留めるか、コピー/貼り付けする必要があります。人々がそれらをタイプしなければならないとき、それらは素晴らしいものではありません。(しかし、あなたは彼らが救われるだろうとあなたは言いました)

OSSP uuidコマンドは、デフォルトでバージョン1のUUIDを生成します。これは、現在のマシンのMACアドレスと現在の時刻に基づいています。したがって、見た目ほど安全ではありません。

10個のUUIDを生成するuuid -n 10を実行すると、多くの文字が同じであることがわかります。

uuid -v4を実行すると、ランダムなUUIDが得られます。デフォルトよりも優れています。

OSSP UUIDのソースを確認しましたが、ランダム性が十分であるかどうかを判断できません。ソースは10年間更新されておらず、それ以来、暗号化乱数の作成について多くの研究と視点があります。おそらく大丈夫です。

Linuxマシンでランダムなuuidを取得する私のお気に入りの方法は、cat /proc/sys/kernel/random/uuidです。

本当に妄想的な人にとっては、使用しているマシンで利用できるランダムデータの量も検討することをお勧めします。 cat /proc/sys/kernel/random/entropy_avail 1000を超えるような大きな数を探しています。仮想マシンを使用していて、あまり多くのことをしていない場合は、苦労する可能性があります。

0
Tim Bray