
「w6!j38?pa7J」と「CanYouCelebrate?」ではどっちが強力なパスワードか? 152
ストーリー by nagazou
回答の解説が悪いのでは 部門より
回答の解説が悪いのでは 部門より
しんやさんのツイートによると、とあるセキュリティ研修で
この問題の正解は「2」。説明によると、
1.は確かに複雑ですが覚えにくいです。2.は覚えやすく他人からの推測も困難です。2.を使う方が賢明です。
とのことだったようだ。このセキュリティ研修の問題はあちこちの企業で使われているらしく、Twitter上では「全く同じ問題出てみんな間違えてた」とする声が相次いでいた模様。
一方で2で正解なのが当然だとする指摘も出ている。その理由としてエクスリさんは
2は字数長い、全角半角記号まで使っている、生体情報的な単語がない、辞書攻撃リストにはあまりない文と固さの条件整っている上で忘れにくいわかりやすさだからなぁ
と解説している。また1のような複雑過ぎるパスワードは、メモされて画面やキーボードの裏とかに貼られたりする傾向があり、ソーシャルハックに弱いとする指摘もあった。
#1 のほうがいい (スコア:5, 興味深い)
信じられないアホを見る目してくれていい。
辞書アタックの事しか考えてないんでは?
1. CanYouCelebrate? が覚えやすいって、これで使い回すんならアウト。
自分はこんな文でもバラバラに出来るほど記憶力はよろしくない。
2. サイトによって CanYouCelebrate? を許さない。数字を入れと言われたり、
逆に ? はダメというところもある。なので、ここで分裂がはじまる> 覚えられない
どっかに記録しないといけないんですよ。
自作パスワードマネージャが最強かね。(中身、ただのopensslのバッチ)
ツール類はトロイの木馬だったら嫌だし、
やってないけど。
Re:#1 のほうがいい (スコア:3, おもしろおかしい)
1を付箋に書いて貼っちゃうようなやつは
Celebrateのスペルに自信なくて2でも付箋貼る
Re:#1 のほうがいい (スコア:1)
serebureito でいいのじゃよ。
英単語とローマ字読み混ぜると辞書攻撃にも強くなりそう。
Re: (スコア:0)
俺の行動を予知するな
Re:#1 のほうがいい (スコア:2)
別枝にも書きましたけど、これは4単語以上で完全ランダムじゃないとダメなんです。3単語で文章だとまったく辞書攻撃が可能で、英数大小記号11文字(~70^11)の方が遥かに破られにくいです。けれども一定の裏付けがあるし、詳しい条件は普通の講師には分からないので"引っかかる(正解している)"人が多いわけですね。
Re:#1 のほうがいい (スコア:2)
ちなみに、5個の数字は、すべて、暗証番号とは異なる。(ので、落としたら、大抵ロックがかかって連絡が来ると)
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
Re:#1 のほうがいい (スコア:1)
w6!j38?pa7J
うろん!じゃさば?ぱなじぇ
覚えた
Re: (スコア:0)
覚えやすいって理由が笑えるね。逆に言えば打ち込んでるところを見られたら覚えられちゃうし。文字列長除けば2の方が完全に弱い
冗句だし第三勢力になってもよいよね (スコア:0)
1だろうが2だろうが知る要素のみな時点で脆弱だと思う。
「覚えやすさ」が判断に含まれるという事は、手で入力する前提だろうけど、
どちらだろうと、ショルダーハックによってパスワードを盗み見られる可能性がある。
それを試みるハッカーなら記憶力に自信があるだろうから、1だろうが2だろうが関係はない。
また、入力画面が改竄されていたら、端末にキーロガーが実行されていたらそこから漏れる。
よって、どちらのパスワードの使用も賢明ではない。
Re: (スコア:0)
辞書攻撃と総当たり攻撃
どちらを重要視するかで変わる
ソーシャルハックの餌食 (スコア:5, すばらしい洞察)
2番目は毎入力時に鼻歌うたっちゃう奴が少なからずいるはずなので、脆弱
Re: (スコア:0)
ふと思ったんだが、メロディーをパスワードにすれば結構長いの覚えられるかもしれんね。sofa#solaso-…。歌詞でも良いのか。
メロディーやローマ字入力は同じ文字を多用するので体温の残りをサーモグラフィーで見てもバレ難いかな。
#を使う使わないとか伸ばしを入れる入れないとか、音階の書き方(doremi…、CDE…、或いはキーボードを鍵盤に見立ててaをドにしたらgtghg-…配列変わっちゃったら…w)とか…フォーマットも色々。
2の単語、crackstationに載っているけどなあ (スコア:5, 参考になる)
パスワードクラックをやっていたのはずいぶん前のことなんですが、当時よく使われてたcrackstation.txtという辞書ファイルがあるんです。そこにgrepかけてみますとこんな感じです。
ls -al crackstation.txt
-rw-r--r-- 1 torii users 15696118781 Apr 27 2015 crackstation.txt
grep -f -a -i canyoucelebrate carckstation.txt
CANYOUCELEBRATE
CANYOUCELEBRATE?
CanYouCelebrate
CanYouCelebrate?
Canyoucelebrate
canyoucelebrate
canyoucelebrate?
CANYOUCELEBRATE?(BACKTRACKWITHTK)
canyoucelebrate?(backtrackwithtk)
CANYOUCELEBRATE?(Heavenlymix)
canyoucelebrate?(heavenlymix)
CANYOUCELEBRATE?(instrumental)
canyoucelebrate?(instrumental)
CANYOUCELEBRATE?(SEVENTHAVENUESOUTHmix)
canyoucelebrate?(seventhavenuesouthmix)
CANYOUCELEBRATE?(STRAIGHTRUN)
canyoucelebrate?(straightrun)
CANYOUCELEBRATE?(Weddingmix)
canyoucelebrate?(weddingmix)
色々バージョンがあるみたいですね。
既知の単語を組み合わせるなら、関連性の薄い単語にしておいた方がいいんじゃないですかね。聞いたことはないですが、単語間の出現確率を推定してランダムウォークで生成させることもできなくはないと思うんで。can と you って連続出現の確率高そうでしょ?
パスワードマネージャ (スコア:4, 興味深い)
一般的な個人用途なら、ランダム20文字以上のパスワードを使って、パスワードマネージャで管理するのが一番でしょう
Re: (スコア:0)
二択の問題で選択肢にない答えを示してもしょうがない
Re:パスワードマネージャ (スコア:1)
KeepassXC
パスワードは長くさせろ (スコア:3)
1.大文字小文字を混在させることよりもパスワードは長くすることで強度が上がる
2.数字を入れさせることよりもパスワードは長くすることで強度が上がる
3.記号を入れさせることよりもパスワードは長くすることで強度が上がる
以上の理由から「パスワードには必ず大文字小文字混在で。数字は必ず使ってください」みたいなポリシーよりも「パスワードは何百文字でもひたすら長くしてくださって構いません。短いパスワードを設定した結果起きた不法ログイン事案は短いパスワードを設定したユーザーご本人の責任ですので責任を負いかねます」としてくれればいい
Re: (スコア:0)
愚痴でも入れたらいいのかな。
NagaiPasuwa-dowoIrerunohaMendokusai
Re: (スコア:0)
実際、カナを単純にアルファベットにしたものは辞書攻撃にも強いからオススメだね
攻撃側がこの人のパスワードがこの法則(子音+母音の法則性)で入力されているのを知っている場合に限ってはクラック速度も上がるけど、そんなことはないだろうし
とはいえ使いまわしの懸念があるから、パスワードマネージャでサイト毎個別に設定しておいた方がいいのは確か
Re: (スコア:0)
日本人のアタッカーなら普通にローマ字単語辞書ぐらい使うんじゃないかな
Re:パスワードは長くさせろ (スコア:1)
訓令式とヘボン式を混ぜるとか
Re:パスワードは長くさせろ (スコア:2)
今世紀初頭、パスフレーズ(空白文字を含むパスワード)が流行ったころ、歌詞とかをパスフレーズに使っていた
ほとんどのパスフレーズが50文字超だったけど、自作の暗号化ソフト以外では使い道が無かった
数字入れろ記号入れろとか言われる度に、ひらカタ使わせろ、せめて50文字入れさせろと思う
文字数以外では質問回答自由に設定できる秘密の質問が一番良かったんだが。まあ、英数字を1バイト文字で入力できるところは無かったんだが
Re: (スコア:0)
その理屈だと「1」を100回つづけてもよし?
Re: (スコア:0)
多分あり
まあ倍くらいにした方がいい気がするけど
Re: (スコア:0)
ネット上のサービスの場合、使用可能な文字数と文字種を明記してない場合が結構多い印象がある
パスワードマネージャーでランダムな文字列を生成して登録してるんだが、後になってパスワードが通らなくて、末尾の文字を何文字か削ったら通ったことがある
せめて、パスワードを登録するときに文字数オーバーで警告を出してくれれば良いんだけどね
それすらない辺り、下手するとバッファオーバーフロー絡みの脆弱性も疑われてかなり怖い仕様だけど
単語の連続のほうが強力なのはホント (スコア:2)
https://xkcd.com/936/ [xkcd.com] と https://www.explainxkcd.com/wiki/index.php/936:_Password_Strength [explainxkcd.com] 参照。
例えば英数記号8文字、つまりchar[8]なパスワードであれば64bit = 1.84*1019通り、まあ実際は28bit = 2.7x108程度の情報量があります(\aとか\bとか\nとか使えないし、単語もじってる場合が多いし、等々)。これに対して"頻出英単語2048"のような本を買ってきて全部文字起こしして、その中から例えば"Correct Horse Battery Staple"のように、ちゃんとした乱数でランダムに4単語を選べば、情報量は少なくとも20484 = 1.8x1013となり、先の2.7x108を超えます。
"Correct Horse Battery Staple"はスペースを除いて25文字なので、単純なブルートフォースでは平均258/2回で割れます。単語帳アタックに対してはより脆弱ですが、頻出英単語2048から乱数で4単語選んでいるわけですから、1013回単位でガチャを引いて1/2048を4連で当てないと割れません。なのでちゃんとした乱数で4単語以上を選んでいる限りは英数記号より覚えやすい割に強力なのです。これと似た考え方は仮想通貨ウォレットの復元用のひみつの呪文でも取り入れられていて、例えば"among laundry cruise want ..."とか16単語くらいの羅列を表示してメモらせる方法が広く使われています。
……ではこの1)と2)は本当に2)が強力なのかというとですね、まず単語をランダムで選んでないし、単語数が足りていなくて……いわゆる"Correct Horse Battery Staple"法はランダム生成4単語だから20484の強度が期待できるわけですが、3単語だと11bit(1.5文字……)にしかなりません。そこから更に英文として成立しているという縛りが入るので……えーっと……
Correct Horse Battery Staple法にはジェネレーター [correcthor...staple.net]も複数あるので、使ってみたい人は適当なやつを選んで機械生成するのがおすすめです。くれぐれも、文章として成立する英文を頭で考えて打ち込んだり、単語数を4未満に減らしたりしてはいけません。完全にランダムに選ばれた4単語以上だからこそ、組み合わせがちゃんと爆発して、覚えやすい割に総当たりでも辞書でもAIでもどう絞り込まれても強度が確保できる、という理屈なので。長い分には好きにすればよろしい。
Re:単語の連続のほうが強力なのはホント (スコア:2)
例えば英数記号8文字、つまりchar[8]なパスワードであれば64bit = 1.84*1019通り、まあ実際は28bit = 2.7x108程度の情報量があります(\aとか\bとか\nとか使えないし、単語もじってる場合が多いし、等々)。
これに対して"頻出英単語2048"のような本を買ってきて全部文字起こしして、その中から例えば"Correct Horse Battery Staple"のように、ちゃんとした乱数でランダムに4単語を選べば、
どうして文字を選ぶときはランダムではないと仮定するのかがわかりません。条件を揃えない理由はなんでしょうか。
ランダムな場合、英数記号8文字で 8bit という時点でちょっと。英数字62文字、記号が32文字程度。約6.55bit×8文字=52.4bit ぐらい。「まあ実際は28bit」とは全然違います。
28bit というと、1文字 3.5bit つまり 12文字種未満です。数字と記号2種(+-とか)よりも小さいわけで、アルファベット小文字のみよりもはるかに小さいです。英数記号としているのに、これはないでしょう。
3単語だと11bit(1.5文字……)にしかなりません。
2048通りの単語は1語で 211、つまり 11bit あるのでは? 3単語なら 33bit、「まあ実際は28bit」を上回っています。
そもそも、攻撃者が試行しなければならない回数を基準に考えるべきでしょう。
まず総当たり法だったら短い方か攻撃者が考えるありそうな長さから攻撃するのでパスワードが長い方が絶対的に有利です。
辞書攻撃だったとしても、2048通りしか載っていない辞書で攻撃されるというのは普通はありえないでしょう。英語漬け.com [eigo-duke.com]の単語表なんかでも John Smith すら載っていませんからね。8192単語の辞書で攻撃するなら 13bit、大文字か小文字かの2通り試すだけで +1bit、単語の後ろにスペースをつけるかつけないかで +1bit です。先頭のみ大文字とか区切りがスペース以外にピリオドだの疑問符だのハイフンだのを考慮すると、もっともっとです。1語あたりでこれですから、3単語だと、まあまあ強力です。
個人的には、辞書に載っていない語を1つ組み合わせることを勧めています。Can You Celebrate? が好きなら cyc? とかと更に2語ほど。単語間を適当な文字でつなぐとなおよし。
Re:単語の連続のほうが強力なのはホント (スコア:2)
そう、例えの前提は明らかにCorrect Horse Battery Staple法をすごく低解像度で理解して雑に再実装してエンバグしているんです。だから信じられないアホと言われている。
スペルミスがあると、なお良い (スコア:2, 興味深い)
うちの会社で、「Lancer_Evolusion_9」というパスワードを設定した人がいて問題視されたが、
Evolusion のスペルが間違っており、辞書攻撃に強いという意見が多数あった。
Re:スペルミスがあると、なお良い (スコア:1)
なぜ、パスワードがバレたのか。
バレた事自体が問題な気が。
あらら(オフトピ) (スコア:0)
またインデックス生成が止まっているようですね。
ありがとうございます。 (スコア:0)
パスワードリストを更新しました。
これでもう意味なくね?
Re: (スコア:0)
安室奈美恵の曲で既にリストに入ってるでしょ。
https://ja.wikipedia.org/wiki/CAN_YOU_CELEBRATE%3F [wikipedia.org]
最近のシステムだと (スコア:0)
2は数字が使われていないからパスワードとして設定できねーよ。
#oを0に置き換えるか
Re: (スコア:0)
ATM「せやな~」
辞書攻撃 (スコア:0)
この例で言えば英単語を全てぶち込んである辞書でクラックできそうだけどなあ
単語の先頭が大文字なことやクエスチョンマークは辞書攻撃ツールがデフォルトでやってくれそうだ
Re:辞書攻撃 (スコア:2)
英単語を全てぶち込んであっても、単語数が多くなると候補単語^単語数に組み合わせが増えるのでクラックできなくなります。でも3単語かつ文章として意味のある英文だと瞬殺なんですけどね。まあ巷の研修というのが如何にいい加減かという……
例えば"1234 2345 0000 5432 4321"だと名目上はパターンが10^20通りあるでしょう。ちゃんとランダムに選べば英数記号8桁(256^8, 10^19通り)より複雑だし、その数字を英単語に置換しても問題ないわけです。ちゃんとランダムに4つ以上並べれば。既知じゃなければ。
Re:辞書攻撃 (スコア:2)
そう、だからスクリプトを組んでランダムな4単語以上を選ばないとダメなんですよね。そこが分かっていないと、2)が正解ですなんていう研修をやってしまうわけ……
こんなのは見た瞬間に分かる話で (スコア:0)
パスワードってのは長ければそれだけでいい
0を20個並べただけでもまず破られない
一手間足りない (スコア:0)
「覚えられないパスワードはソーシャルハックが容易などこかにメモられる」というのは全くその通りなんだけど、2はこれをベースに自分が覚えやすいルールに基づいて置き換え/追加を行った上で利用しない限り変わらず脆弱。
#つうか10年ぐらい前にこの方式(「自分が覚えている/気に入っている特定の文章」を元にパスワードを作る)について複数の媒体で別々のライターが書いていた文を読んだ記憶があるけど、それらの記事では文章を繋げただけでそのまま使うなんて乱暴な事はやってなかったけどなあ。
この曲名を使ったパスフレーズの生成だと、たとえば
1:シンガーの名字の子音部分「AMR」と合致する文字だけ大文字にする
2:同じく名前を数字変換した「730」を頭なり最後なりに追加する
みたいな一手間掛ければ、最悪ペンとメモ用紙一枚出して実際に書きながら考えれば大抵は思い出せるって具合。
#「え」で「0」にはならない?だったら「え」->「えー」->「A」で「73A」を使っても別にええですわ、自分がそのルールを覚えていれば。
これを奇貨とし名乗り出るてくれぞなもし (スコア:0)
この研修内容を広めている会社名を知りたい。会社名を無料で宣伝できるこの機会は、研修会社も自信をもって教えてるのならば悪い話ではないはず
全角半角? (スコア:0)
全部半角じゃね? メモ帳にコピペして全角文字探したけど無かったぞ
まさか大文字小文字の事を言ってるのだろうか?
そもそもパスワードに全角文字ってあんまし良くないような
IMEの変換候補とか見られたらキーボード盗み見より簡単にバレそうだし
Re: (スコア:0)
わかったぞ。
「CanYouCelebrate?」
っていう鍵カッコ含むパスワードなんだ、きっと。
証明問題にすれば (スコア:0)
12どちらでもいいけど、こういうクラックしたらこちらが勝ちました。のほうがいいな
そしてすべてをぶち壊す「秘密の質問」 (スコア:0)
「あなたの小学校の名前は?」とかさ。
こんなのがくっつくところはパスワードだけいくら頑張ってもムダというか脱力感しかない。
Re:そしてすべてをぶち壊す「秘密の質問」 (スコア:1)
「けいおうぎじゅくしょうがっこうかっこうそかっことじ」とか。
「2は字数長い、全角半角記号まで使っている」 (スコア:0)
何処に全角があるんだ?
日常的に使われる英単語は約4000 (スコア:0)
4000^10 = 2.56*10^14
区切り文字のバリエーションを加えても大したことがなく、ランダムな英数字8桁と同程度。
普通に辞書とブルートフォースを複合されたら短時間でクラックされるな。
Re:べき乗演算子 (スコア:1)
// J「せやかてAPL、やっぱあかんかったやん」
2には致命的な欠陥がある (スコア:0)
このタイトルの曲は結婚式でよく歌われる
→めっちゃむかつく新婚さん爆発しろ
→キーボードを怒りのままに力一杯叩く
→パスワードに使うキーだけボロボロになる
→痛んでいるキーからパスワードが推測可能になる