アカウント名:
パスワード:
良いパスワードの条件(大文字小文字数字記号を混ぜる、長くする、頻繁に変更する、使い回さないetc.)を満たすような文字列の記憶など非現実的で、だからパスワード管理ツールを使うのだが、するとそのパスワード管理ツールがcrackの対象になって・・・
どーすりゃいいのさ
1passwordは、1レコードごとにストレッチ&ソルト付きで暗号化してくれていると信じている
信じるな
検証しろ
OSSじゃないし仮にそうだとしても提供されているバイナリが同一という保証はないしどう検証しろと
大文字小文字数字記号を混ぜる、長くする、頻繁に変更する、使い回さないetc
すでに、「定期的な(頻繁な)パスワード変更はリスクを増大させる」ということになっていた筈です。 また、大文字と小文字を混ぜることを強制するのも、大文字だけ・小文字だけのパスワードを候補から外せるので危険らしいと。 確実な対応は、数字・記号・文字を混ぜることと、長くする、そして使いまわさないですね。 まあ、変更を強要するサイトはありますし、個人の能力を超えている点に違いはありませんが・・・ 。
定期的なパスワード変更は一定の注意を要求するというマーケティングの一種として意味があるかもしれない。セキュリティー上必要という言い訳は通りやすいしメール通知等なら強制的に訪問もさせられる。というか電子書籍などのマーケットで無料商品を面倒にするのと同じで、実際はそういうのが主目的くらいに思ってたね。セキュリティー上ってのは言い訳で。最近になって真面目に議論されて否定されたのがむしろ意外なくらいだった。
それから大文字小文字の強制が候補を外させるってのはあまり現実的とは思えない。全部大文字小文字は2パターンしかない一方、混在は2^n-2の内どれかは分からないからね。
パスワード管理としては秘匿する使いまわし(できれば部分組み合わせ)の共通部分と、パスワード管理などに載せるランダム部分(と組み合わせパターン)を合わせるのが良いと思う。クレジットカード登録したサイトでは他のサイトで使っていない文字列を加えるとかもして。とは言ってもブラウザ標準のパスワードマネージャーは普通に使ってるけど。
定期的な変更は /etc/passwd のオフライン攻撃対策、記号と大文字は8文字パスワード対策なんですよ。
昔々、「コンピュータ」といえば一種の root 権限無し共有 VPS のようなもの、「コンピュータを使う」といえば ssh 専用シンクライアントのようなものを利用申請して使うものだった時代、パスワードは /etc/passwd(のちに/etc/shadow) というテキストファイルにハッシュ化して保存されていました。その時代はパスワードだって精々7か8文字──要は char password[8]; だったわけです。同じ棟のコンピュータ利用者であれば、誰のパスワードだろうと su すれば読めました。みんなで1つの Unix インスタンスを共有しているのですから。
これと当時は現実だったムーアの法則が組み合わさり、「ハッシュ化パスワードは常に漏洩しているもの、8文字以上にパスワードを伸ばすことは不可能、従ってパスワードは設定し続ける限り数か月から数年で破られるもの」という前提が存在していました。そこで、漏洩してから総当たり攻撃が成立しうるまでを6か月程度などと見込み、「パスワードを長くとも数か月間隔で頻繁に変更し、クラックする時間を与えない」「総当たりの難易度を高く保つため、同じ8文字の空間ではできるだけ複雑化する」という規則が生まれました。
Microsoft Windows が登場するより10年か20年くらい前、1970年代くらいにはこういう背景があったようです。アポロ11号が月に行った時よりは、少し現代に近い世界でしょう。
さて、その後は IBM が PC/AT を発売するとか、NEC が PC-98 を発売するとかして、コンピュータは個人が1台ずつ所有するものになりました。個人用コンピュータのパスワード(そんなものがあれば、ですが)は HDD に記録され、HDD は筐体の中にネジ止めされ、筐体は仕事机の上にあるわけです。私はあなたと同じ Unix インスタンスにログインしませんので、あなたの /etc/passwd は読めません。まあ上の話でも su できる利用者ってなんやねんとか、パソコンだって rlogin あったやろとか NTLM 認証がどうとかツッコミはあるでしょうが、基本的にこの 「 Unix とその一部子孫において、/etc/passwd が容易に漏洩し、有効文字数も短く、認証が脆弱である」という問題を緩和するための策が定期変更であり複雑化なのです。
この2つの前提がなくなった現代においては、パスワード忘れとか漏洩のリスクを考えれば、この2規則は廃止されてしかるべきものです。もしあなたがこのチェスタートンの柵の当代のアドボケートなら、これがその柵にまつわる逸話です。
共有のSSH環境とかは今も似たような匂いですねぇ。隣のユーザーが何やってるのか分かる環境だと気休め程度のセキュリティーがそれなりに重要だったりします。良く分からない頃はコマンドライン引数でウェブサービスのパスワードを漏らした事もあったような。知らない内にぼこぼこ漏れるような環境なら気休めの対策としてありってのは現在でも変わらないでしょう。
教えてエロいひとetc/passwd のオフライン攻撃ってどんなん?
passwd(shadow)ファイルはユーザ情報管理ファイル。ユーザ名、ユーザID、ハッシュ化(暗号化)済みパスワード等が全部記載されている。これを読む権限を得てコピーする他にも、これを読み込権限を持つむ何らかのソフトの脆弱性を突いてデータを抜くとかもある。
オフライン攻撃はハッシュ化(暗号化)されたデータが攻撃者の手元にあり、専用ツールなどで無制限に鍵(パスワード)の総当たり攻撃等を行なう事。オンライン(通常稼働中のシステム)ではないので、単位時間あたりの攻撃数も莫大な上、失敗数でロックされたりしない。
passwd(shadow)用のオフライン攻撃ツールは何種類も存在する位には使われた手のはず。
パスワードの利用場面が増えた事もあり、必要な記憶量が増えすぎて管理不能になる事で、「いつものパス+連番」のような問題のあるパスワードやパスワードのメモ書きのようなリスクが高くなる。定期変更ルールで本当にランダムなパスを定期付け替えしてるやつなんてまずいない。
大文字小文字の強制はパスワードに使用可能な鍵空間サイズの話で、完全なランダム生成総当たり攻撃での強度の話としては正確。大抵は何らかの単語ベースだから意味は無いし、文字数が多いほど強度の低下は小さくなる(禁止条件に引っかかるランダムパス発生率も下がる)けどね。分かりやすく2文字英字
> また、大文字と小文字を混ぜることを強制するのも、大文字だけ・小文字だけのパスワードを候補から外せるので危険らしいと。
8文字のパスワードでも0.07%が候補から除外されるだけ。文字数が増えれば比率は文字通り指数関数的に下がる。安易につけたと考えられるパスワードを除外できるメリットのほうがずっと大きい。そんな寝言は気にしなくていいかと
すでに、「定期的な(頻繁な)パスワード変更はリスクを増大させる」ということになっていた筈です。
この弁説ホントに理由付きで語らなきゃ何の意味も無いどころかヘタすりゃ害悪だと思うんだけど。少なくとも重要な観点は「変更の強制」でしょ、なんで変更するだけでリスクが上がるんだよ。
頻繁に変更する指針は間違いであるとされているので、ある程度長い複雑な文字列であればよく、これを覚えるのが大変であるとすると、自分の愛唱歌、警句、その他フレーズを、適当にleetspeakでエンコードしてある程度長い文字列を生成するのがお勧め
自分の愛唱歌、警句、その他フレーズ
それが駄目だというほど強い指摘ではないですが、辞書から適当に引いた語句3つなど、自分の頭以外の場所から生成した方がよりお勧めとされています。
というか素直に既存句だと辞書攻撃に弱いからランダム単語列使えって言うべき。leetも1文字あたり読み替え候補が1とすると文字数ビット分の情報量しか稼げない。そのくせ覚える側は文字位置ごとにleet有無を覚える必要がある。ランダム単語は一語で抽出元辞書空間サイズ分の情報量が増えるので、個人的に覚えやすそうな単語列が来るまでランダム振り直すほうが防御力比の記憶コストは安いだろう。
素直に既存句だと辞書攻撃に弱いからランダム単語列使えって言うべき。
「既存句だと辞書攻撃に弱いからランダム単語列使え」は素直ではないと思いますよ。「使え」という命令口調に、後ろに「言うべき」まで重ねたら、素直どころか、完全にひねくれた人間の言い様になってると思います。書き出しに「というか」もなかなかのものです。
まあ、別に私が傷ついたとかそういうことではないんですが(と書いても信じてもらえないかもしれませんが)、自分だったら素直に書いて、元コメントのような形になるなあ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
人間の能力の限界 (スコア:0)
良いパスワードの条件(大文字小文字数字記号を混ぜる、長くする、頻繁に変更する、使い回さないetc.)を満たすような文字列の記憶など非現実的で、だからパスワード管理ツールを使うのだが、するとそのパスワード管理ツールがcrackの対象になって・・・
どーすりゃいいのさ
Re:人間の能力の限界 (スコア:2)
メインのネットバンクはパスワードだけわかっても残高や取引履歴がわかるだけ(振込には、セキュリティトークンに表示されるワンタイムパスワードが必要)なので、なんとかなる。
個人情報は別にどーでも良いし、性癖についてはしばらく死にたくなるくらいのダメージで済むものと信じたい。
問題は仕事関係だが、パスワードだけでセキュリティを保証するのが間違っているといえるでしょう。
Re: (スコア:0)
1passwordは、1レコードごとにストレッチ&ソルト付きで暗号化してくれていると信じている
Re: (スコア:0)
信じるな
検証しろ
Re: (スコア:0)
OSSじゃないし仮にそうだとしても提供されているバイナリが同一という保証はないしどう検証しろと
頻繁に変更しない (スコア:1)
大文字小文字数字記号を混ぜる、長くする、頻繁に変更する、使い回さないetc
すでに、「定期的な(頻繁な)パスワード変更はリスクを増大させる」ということになっていた筈です。
また、大文字と小文字を混ぜることを強制するのも、大文字だけ・小文字だけのパスワードを候補から外せるので危険らしいと。
確実な対応は、数字・記号・文字を混ぜることと、長くする、そして使いまわさないですね。
まあ、変更を強要するサイトはありますし、個人の能力を超えている点に違いはありませんが・・・ 。
Re: (スコア:0)
定期的なパスワード変更は一定の注意を要求するというマーケティングの一種として意味があるかもしれない。
セキュリティー上必要という言い訳は通りやすいしメール通知等なら強制的に訪問もさせられる。
というか電子書籍などのマーケットで無料商品を面倒にするのと同じで、実際はそういうのが主目的くらいに思ってたね。セキュリティー上ってのは言い訳で。
最近になって真面目に議論されて否定されたのがむしろ意外なくらいだった。
それから大文字小文字の強制が候補を外させるってのはあまり現実的とは思えない。
全部大文字小文字は2パターンしかない一方、混在は2^n-2の内どれかは分からないからね。
パスワード管理としては秘匿する使いまわし(できれば部分組み合わせ)の共通部分と、パスワード管理などに載せるランダム部分(と組み合わせパターン)を合わせるのが良いと思う。
クレジットカード登録したサイトでは他のサイトで使っていない文字列を加えるとかもして。
とは言ってもブラウザ標準のパスワードマネージャーは普通に使ってるけど。
Re:頻繁に変更しない (スコア:4, 参考になる)
定期的な変更は /etc/passwd のオフライン攻撃対策、記号と大文字は8文字パスワード対策なんですよ。
昔々、「コンピュータ」といえば一種の root 権限無し共有 VPS のようなもの、「コンピュータを使う」といえば ssh 専用シンクライアントのようなものを利用申請して使うものだった時代、パスワードは /etc/passwd(のちに/etc/shadow) というテキストファイルにハッシュ化して保存されていました。その時代はパスワードだって精々7か8文字──要は char password[8]; だったわけです。同じ棟のコンピュータ利用者であれば、誰のパスワードだろうと su すれば読めました。みんなで1つの Unix インスタンスを共有しているのですから。
これと当時は現実だったムーアの法則が組み合わさり、「ハッシュ化パスワードは常に漏洩しているもの、8文字以上にパスワードを伸ばすことは不可能、従ってパスワードは設定し続ける限り数か月から数年で破られるもの」という前提が存在していました。そこで、漏洩してから総当たり攻撃が成立しうるまでを6か月程度などと見込み、「パスワードを長くとも数か月間隔で頻繁に変更し、クラックする時間を与えない」「総当たりの難易度を高く保つため、同じ8文字の空間ではできるだけ複雑化する」という規則が生まれました。
Microsoft Windows が登場するより10年か20年くらい前、1970年代くらいにはこういう背景があったようです。アポロ11号が月に行った時よりは、少し現代に近い世界でしょう。
さて、その後は IBM が PC/AT を発売するとか、NEC が PC-98 を発売するとかして、コンピュータは個人が1台ずつ所有するものになりました。個人用コンピュータのパスワード(そんなものがあれば、ですが)は HDD に記録され、HDD は筐体の中にネジ止めされ、筐体は仕事机の上にあるわけです。私はあなたと同じ Unix インスタンスにログインしませんので、あなたの /etc/passwd は読めません。まあ上の話でも su できる利用者ってなんやねんとか、パソコンだって rlogin あったやろとか NTLM 認証がどうとかツッコミはあるでしょうが、基本的にこの 「 Unix とその一部子孫において、/etc/passwd が容易に漏洩し、有効文字数も短く、認証が脆弱である」という問題を緩和するための策が定期変更であり複雑化なのです。
この2つの前提がなくなった現代においては、パスワード忘れとか漏洩のリスクを考えれば、この2規則は廃止されてしかるべきものです。
もしあなたがこのチェスタートンの柵の当代のアドボケートなら、これがその柵にまつわる逸話です。
Re: (スコア:0)
共有のSSH環境とかは今も似たような匂いですねぇ。
隣のユーザーが何やってるのか分かる環境だと気休め程度のセキュリティーがそれなりに重要だったりします。
良く分からない頃はコマンドライン引数でウェブサービスのパスワードを漏らした事もあったような。
知らない内にぼこぼこ漏れるような環境なら気休めの対策としてありってのは現在でも変わらないでしょう。
Re: (スコア:0)
教えてエロいひと
etc/passwd のオフライン攻撃
ってどんなん?
Re: (スコア:0)
passwd(shadow)ファイルはユーザ情報管理ファイル。
ユーザ名、ユーザID、ハッシュ化(暗号化)済みパスワード等が全部記載されている。
これを読む権限を得てコピーする他にも、
これを読み込権限を持つむ何らかのソフトの脆弱性を突いてデータを抜くとかもある。
オフライン攻撃はハッシュ化(暗号化)されたデータが攻撃者の手元にあり、
専用ツールなどで無制限に鍵(パスワード)の総当たり攻撃等を行なう事。
オンライン(通常稼働中のシステム)ではないので、
単位時間あたりの攻撃数も莫大な上、失敗数でロックされたりしない。
passwd(shadow)用のオフライン攻撃ツールは何種類も存在する位には使われた手のはず。
Re:頻繁に変更しない (スコア:2)
NISTも総務省も推奨しなくなってリスク要因だとしているので、時間はかかるけれど消えていくのではないかな。
大文字小文字の強制が候補を外させる(危険)というのは、ちょっと言い過ぎでしたね。
ただ、利用者が大文字小文字を意識しているという前提であれば、サイト側で大文字小文字の混在を強制する行為は候補を僅かとは言え減らす側に傾くでしょう。(今の利用者にそんな意識はねーよと言われればその通り。)
最後に、クレジットカードを登録するサイトについては、登録をカードレスデビットにして、サイト毎に別の番号にし、適時停止や限度額変更をしてリスクを下げるという方法はありますね。よく使うが少額、めったに使わないが多額そしてちょっと怪しいくらいに区分するといいのかなと思っています。
まあ、2つに分けて面倒な管理をする(自分を信じる)くらいであれば、パスワード管理ツールと心中する(プロに任せる)方が楽なので、今は1Password様にかなりをお任せ。
Re: (スコア:0)
パスワードの利用場面が増えた事もあり、必要な記憶量が増えすぎて管理不能になる事で、
「いつものパス+連番」のような問題のあるパスワードやパスワードのメモ書きのようなリスクが高くなる。
定期変更ルールで本当にランダムなパスを定期付け替えしてるやつなんてまずいない。
大文字小文字の強制はパスワードに使用可能な鍵空間サイズの話で、
完全なランダム生成総当たり攻撃での強度の話としては正確。
大抵は何らかの単語ベースだから意味は無いし、
文字数が多いほど強度の低下は小さくなる
(禁止条件に引っかかるランダムパス発生率も下がる)けどね。
分かりやすく2文字英字
Re: (スコア:0)
> また、大文字と小文字を混ぜることを強制するのも、大文字だけ・小文字だけのパスワードを候補から外せるので危険らしいと。
8文字のパスワードでも0.07%が候補から除外されるだけ。文字数が増えれば比率は文字通り指数関数的に下がる。安易につけたと考えられるパスワードを除外できるメリットのほうがずっと大きい。そんな寝言は気にしなくていいかと
Re:頻繁に変更しない (スコア:1)
選択肢を多く、文字数を増やせと言いたかっただけなので、この部分は言い過ぎでした。
Re: (スコア:0)
すでに、「定期的な(頻繁な)パスワード変更はリスクを増大させる」ということになっていた筈です。
この弁説ホントに理由付きで語らなきゃ何の意味も無いどころかヘタすりゃ害悪だと思うんだけど。
少なくとも重要な観点は「変更の強制」でしょ、なんで変更するだけでリスクが上がるんだよ。
Re:頻繁に変更しない (スコア:1)
ここに来ているような人は、過去に強制してきた立場の人が多いのではないかと思いますので、今更なんでしょうが、理由つきにしましょう。
「実際にパスワードを破られアカウントが乗っ取られたり、サービス側から流出した事実がなければ、パスワードを変更する必要はありません。むしろ定期的な変更をすることで、パスワードの作り方がパターン化し簡単なものになることや、使い回しをするようになることの方が問題となります。」(By 総務省)
ただ、人に説明する場合、「国のガイドラインがそう変わったんです。」という理由の方が楽ですが
Re: (スコア:0)
頻繁に変更する指針は間違いであるとされているので、ある程度長い複雑な文字列であればよく、これを覚えるのが大変であるとすると、
自分の愛唱歌、警句、その他フレーズを、適当にleetspeakでエンコードしてある程度長い文字列を生成するのがお勧め
Re:人間の能力の限界 (スコア:3, 参考になる)
それが駄目だというほど強い指摘ではないですが、辞書から適当に引いた語句3つなど、自分の頭以外の場所から生成した方がよりお勧めとされています。
LIVE-GON(リベゴン)
Re: (スコア:0)
というか素直に既存句だと辞書攻撃に弱いからランダム単語列使えって言うべき。
leetも1文字あたり読み替え候補が1とすると文字数ビット分の情報量しか稼げない。
そのくせ覚える側は文字位置ごとにleet有無を覚える必要がある。
ランダム単語は一語で抽出元辞書空間サイズ分の情報量が増えるので、
個人的に覚えやすそうな単語列が来るまでランダム振り直すほうが防御力比の記憶コストは安いだろう。
Re:人間の能力の限界 (スコア:1)
「既存句だと辞書攻撃に弱いからランダム単語列使え」は素直ではないと思いますよ。「使え」という命令口調に、後ろに「言うべき」まで重ねたら、素直どころか、完全にひねくれた人間の言い様になってると思います。書き出しに「というか」もなかなかのものです。
まあ、別に私が傷ついたとかそういうことではないんですが(と書いても信じてもらえないかもしれませんが)、自分だったら素直に書いて、元コメントのような形になるなあ。
LIVE-GON(リベゴン)