1Password 曰く、LastPass のパスワード保管庫をクラックするのに百万年もかからない 76
ストーリー by headless
復号 部門より
復号 部門より
LastPass のパスワード保管庫の安全性について、同社がユーザーをミスリードするような説明をしているとライバルの 1Password が批判している
(1Password のブログ記事、
9to5Mac の記事、
The Verge の記事)。
LastPass は昨年 2 回の不正アクセスを受け、2 回目の不正アクセスでは攻撃者がユーザーのパスワード保管庫のバックアップをコピー可能な状態にあったことを 12 月に発表した。ただし、パスワード保管庫はパスワードなどを 256-bit AES で暗号化しており、顧客がマスターパスワードを LastPass のベストプラクティスに従って作成していれば復号に数百万年を要すると説明している。
LastPass のマスターパスワード作成に関するベストプラクティスは以下のようなもの。
LastPass は昨年 2 回の不正アクセスを受け、2 回目の不正アクセスでは攻撃者がユーザーのパスワード保管庫のバックアップをコピー可能な状態にあったことを 12 月に発表した。ただし、パスワード保管庫はパスワードなどを 256-bit AES で暗号化しており、顧客がマスターパスワードを LastPass のベストプラクティスに従って作成していれば復号に数百万年を要すると説明している。
LastPass のマスターパスワード作成に関するベストプラクティスは以下のようなもの。
- 少なくとも 12 文字、長ければ長いほどいい
- 大文字・小文字・数字・記号を使う
- 発音しやすく記憶しやすくする一方で、簡単に推測できないようにする (パスフレーズ)
- 自分だけのユニークなものにする
- 個人情報は絶対に使わない
- 好例: Fidoate!my2woolsox
1Password ではこれに対し。12 文字のパスワードにはおよそ 272 通りの組み合わせがあるもののクラッキングシステムではパスフレーズのような組み合わせを先に試すため、完全にランダムなパスワードと比べて少ない試行回数でクラックできると指摘。272 という数字が意味を持つのはすべての組み合わせが選ばれる可能性が等しい場合に限られ、人間が作ったパスワードは最初の数十億回の試行に含まれる可能性が高いという。
クラッキングのコストについて 1Password では、以前実施したコンテストの結果から 232 回 (約43億回) の試行で 6 ドルと試算し、100 億回 (おそらく236 回 ≒ 687 億回の間違い) の試行で 100 ドル未満だと述べている。コンテストで用いられたのは 100,000 回反復する PBKDF2-H256 であり、LastPass の 100,100 回と比べて少ないが、コストは 0.1 % の差でしかなく、違いは無視できるとのこと。
一方、1Password ではユーザーのデバイスで最初のサインアップ時に生成されるエントロピーの高い 128 ビットの秘密鍵があり、データの復号に必要な鍵を派生する際にアカウントのパスワードに織り込まれる。この秘密鍵が 1Password のサーバーに渡されることは決してなく、1Password 側が保持するデータが攻撃者の手に渡ってもパスワードをクラックするには天文学的な時間を要するとのことだ。
一方、1Password ではユーザーのデバイスで最初のサインアップ時に生成されるエントロピーの高い 128 ビットの秘密鍵があり、データの復号に必要な鍵を派生する際にアカウントのパスワードに織り込まれる。この秘密鍵が 1Password のサーバーに渡されることは決してなく、1Password 側が保持するデータが攻撃者の手に渡ってもパスワードをクラックするには天文学的な時間を要するとのことだ。
LastPassの情報公開をセキュリティ専門家が「嘘でいっぱいだ」と批判 (スコア:5, 参考になる)
https://softantenna.com/blog/lastpass-disclosure/ [softantenna.com]
秘密鍵の保存先 (スコア:0)
アプリごとにローカルに保存するんだろうか?
ID Manager の自分に隙はない ※ (スコア:0)
未だ ID Manager 使ってるから、この手のニュースは慌てる必要がない。
#なお別の問題を孕んでいる模様 (データ消失とか、スマホと同期できないから二重管理とか、etc…)
Re: (スコア:0)
スマホだと別アプリに画面切り替えてコピペする手間はけっこう大きいから、結局ほとんどの人がGoogleさん(あるいはAppleさん)任せでしょうね。
二重管理はめんどうだけど、万が一スマホを乗っ取られてもスマホでは利用してない情報まで抜かれない(一元管理だとまとめて持ってかれる)と考えることもできる。
ノー○ンじゃだめなんですか? (スコア:0)
こっちも、ブロードコムに買収されたとかさらにアクセンチュアに転売されたとか、証明書発行がずさんすぎてググルさんから八部されたとか、ろくな話は聞きませんが。
便利なのは確か。
Re: (スコア:0)
ノートンIDセーフの頃から使い続けてるわ
Re: (スコア:0)
ろくな話は聞きませんが。
脳が頓挫してるんかいなって揶揄されるとこですね
Re: (スコア:0)
脳が…頓…??
Re: (スコア:0)
Re: (スコア:0)
しゃぶしゃぶしか思いつかなかった。
Re:ノー○ンじゃだめなんですか? (スコア:1)
始球式だな
# ノー○ンでノー○ンは誰もやってないよな
Re: (スコア:0)
懐かしいなローラン。
こんな逸般人向けサービスより気になる存在 (スコア:0)
ユーザが意識することなく大量のパスワードが保存されているEdge、Chrome、icloudの安全性について。
防衛に大金注ぎ込めるから漏洩していないだけで、漏洩したら一発アウトな形式で保存されていましたって話なら笑えん。
Re: (スコア:0)
暗号化されてようが普通は漏洩したら一発アウトだよ。
大体保存状態より生データを通る経路で抜かれる事の方が怖いし。
Re: (スコア:0)
漏洩したら一発アウトな暗号化って何だ? シーザー暗号でも使ってるのか?
Re: (スコア:0)
暗号技術全否定やなw
暗号データを解読できるならスマホ押収した捜査機関とか苦労しねーよw
Re: (スコア:0)
今どきTLS使ってなかったらぼっこぼこにされてるから経路で抜かれるなんて心配は杞憂やろ
Re: (スコア:0)
Firefox Syncならオープンソースだし (自鯖運用もできる)、2016年にCure53のコード監査結果が公開されてる
https://cure53.de/pentest-report_fxa.pdf [cure53.de]
保存形式は適切のようで全体的に高評価だけれど、深刻度Highとして指摘された1つの脆弱性が2023年の今もまだ未修正の模様
まあ現実的なリスクとは思わないし、ユーザー側で対策も可能だから自分は使ってるけど、いい加減Mozillaははよ直せよな
ローマ字による日本語パスワードは辞書アタックに強い説 (スコア:0)
どうでしょう?
Re:ローマ字による日本語パスワードは辞書アタックに強い説 (スコア:2, すばらしい洞察)
どうでしょう?
つまりパスワードはSUIYOUだな
Re: (スコア:0)
例え今は強くとも「日本人はローマ字による日本語パスワードを好んで使うらしい」と知れた時点で専用の辞書が作られて弱いパスワードになるけどいいの?
Re: (スコア:0)
パスワードに irononaimidorinogainengamouretuninemuru(色の無い緑の概念が猛烈に眠る)とかを使ったら簡単に突破されてしまうのだろうか?(文法的な間違いは無いが、普通の人は普通はこんな文章を作らないという実例として特定に人たちに有名な定番のフレーズ)
Re:ローマ字による日本語パスワードは辞書アタックに強い説 (スコア:3)
https://atmarkit.itmedia.co.jp/ait/articles/2102/19/news026.html
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
Re: (スコア:0)
パスワードクラックは辞書攻撃が基本なので、辞書にない長文を破るのは現実的に無理。
26文字総当たりでも現在の処理能力では14文字で50万年以上かかるので、こっちの観点でもやはり無理。
Re: (スコア:0)
辞書攻撃ってのは辞書に登録した文字列だけでなくそれを組み合わせた長文文字列も試す。組み合わせの数は膨大だけど、すべての英数字総当たりよりははるかに少ない試行回数で成功できる見込みは十分にあるから。
「日本人はローマ字による日本語パスワードを好んで使うらしい」となれば辞書にローマ字文字列も入れればいいだけなので、26文字総当たりと同程度の安全性を期待するのは大馬鹿。
Re: (スコア:0)
辞書に入れればいいだけって……
10万語の辞書からたった4つ選ぶ(1E20通り)のとアルファベット26種から12文字作る(およそ1E17通り)のがだいたい同じ強度だぞ?
辞書漏れをなくすってことはその分の試行単語が増えて組み合わせが膨大になるってこととトレードオフだ
「辞書にローマ字文字列も入れればいいだけ」だとおもってるなら大馬鹿
Re:ローマ字による日本語パスワードは辞書アタックに強い説 (スコア:1)
他でも書かれているけど、ここで言う辞書はパスワード用の辞書って意味だから実績のあるフレーズ(漏洩した生パスワード)を含む。
先の例のような有名なフレーズは長文であろうとそのまま辞書に登録されている可能性が高い。
親コメの説明は的外れだが「irononaimidorinogainengamouretuninemuru」はおそらく秒でクリアされるパスワードと思われる。
Re: (スコア:0)
「組み合わせパターンも辞書に登録する」じゃなくて「辞書に登録された複数単語を繋げたパターンも試行する」だよ。
組み合わせの数は膨大なものだけど一文字ずつランダムな文字を総当たりで試すより遥かに試行回数を減らせるので、完全ランダムを試すより優先的にやってみる価値は十分にある。
Re: (スコア:0)
ローマ字にした時点で26文字からになるんじゃね?
Re:ローマ字による日本語パスワードは辞書アタックに強い説 (スコア:1)
> #4389276
妄想はいいからその例(irono〜)を秒で突破できる辞書があるんなら教えて
有名なフレーズって#4389214が適当に組み合わせた文章だけど何いってんだ?
Re: (スコア:0)
> 「組み合わせパターンも辞書に登録する」じゃなくて「辞書に登録された複数単語を繋げたパターンも試行する」だよ。
「10万語の辞書からたった4つ選ぶ」「単語が増えて組み合わせが膨大になる」って日本語を理解してからコメントしてね
Re: (スコア:0)
訂正
誤:有名なフレーズって#4389214が適当に組み合わせた文章だけど何いってんだ?
正:有名なフレーズって#4389214が適当に訳した文章だけど何いってんだ?
一般的には「色無き緑の考えが猛烈に眠る」だ
んな訳が登録されてる訳がない
Re: (スコア:0)
それでも同じ長さで一文字ずつすべての組み合わせを試すよりはずっと少ない数になってることが理解できないのかい?
Re: (スコア:0)
> #4389324
「それでも」とかw
先に日本語読めてませんでした、だろ?
んで、今度は下記が読めてないんだな
ほんと、日本語読んでからコメントしろって
「同じ長さ」の話なんぞ一切してないって読み取れない?
強度(組み合わせ数)の話、理解できる?
「26文字総当たりと同程度の安全性を期待するのは大馬鹿。」
↓
「10万語の辞書からたった4つ選ぶ(1E20通り)のとアルファベット26種から12文字作る(およそ1E17通り)のがだいたい同じ強度だぞ?」
Re: (スコア:0)
え?文字数が違うものを比較して強度を語ろうっての?そこまで素人だとは思わなかったわ。
Re: (スコア:0)
辞書アタックには、全体を見た時に日本語として綺麗かはあまり関係ないんじゃないかな
でも単純に文字数多いのは強度高いし、助詞が多いのも有利に働く気がしなくもない
一方で、特定の人達に有名がどれくらい有名かでフレーズ一括登録される可能性も…
Re: (スコア:0)
先人から生パスワードが漏れてる可能性が跳ね上がるので
なにかしらの「定番」である時点でかなり危険
Re: (スコア:0)
英単語を無意味に組み合わせるハックがかなり昔から存在するので、#4389206のように知られた時点で同様。
さらに文法的な間違いがないという制限が加わるとストーリー本文のように試行回数が激減する。
Re: (スコア:0)
配布されてる辞書サンプルにローマ字も含まれてるものもあるし、過去に流出したパスワードとかも参考にしてたりするから無意味
配布されてる辞書とか基本的にはASCIIなので、パスワードがUnicode対応してるサービスやアプリなら平仮名・漢字・カタカナ交じりの日本語そのまま使ってしまうのもあり
自分が知ってる範囲ではtwitterはUnicode対応で漢字や全角記号もいける
Re: (スコア:0)
現状は無意味ってほどではないと思うけど、単純な辞書式じゃなくて、漏洩パスワードと辞書をベースにしたAIとかなら、もう無意味だろうね。こういうのは完成しても存在を公にはしないだろうから、陰謀論が捗ると思うが、環境的にはもう個人で気軽に制作できるだろうし……。
Re: (スコア:0)
「単純な辞書式」でも複数の単語をくっつけたパターンくらいは試すし、それだけでもランダム文字列よりは組み合わせ試行パターン数は何桁も減らせる。AIなんか使わなくてもすでに無意味だ。
Re: (スコア:0)
> 何桁も減らせる
"何桁かしか減らせない" じゃなくて "何桁も減らせる" って言っちゃうあたりからにじみ出る素人らしさが実に味わい深い。
Re: (スコア:0)
#4389214の文字列で無意味な理由を是非数学的に説明してくれ、数え方にもよるが6から10語はあるな
どんな語彙数の辞書を想定して無意味だと思ったの?
ついでに言っておくと、100文字種から12個(100^12通り)と10000語から6個(10000^6)って組み合わせ数同じだってしってた?
Re: (スコア:0)
それは「1語」が2文字で構成されていると仮定していることになり、100文字種2文字だと10000通り、つまり100000語というのは100種2文字で構成可能なすべての組み合わせということになるから当たり前だ。
現実には単語に使われる文字の並びは同文字数のすべての組み合わせよりずっと絞られる。
特にローマ字に特定すれば「子音+母音」「母音単独」が圧倒的に多くなり、それ以外にありうる並びは非常に少ない。
そのため単語の登録までしなくても、「ローマ字として使われる文字の並びのリスト(su,ra,doなど)」を用意するだけで総当たりよりは何桁も少ないパターンになる。
単純化するために「ローマ字は(ヘボン式などの複数表記を考慮して)合計80種ですべて2文字構成」と仮定して、26^12と50^6でどれくらい違う数になるか計算してみて。
Re: (スコア:0)
> #4389310
長文でしかも内容がメチャクチャすぎて何言ってるか分からん
少なくともヘボン式とか言ってるので辞書攻撃を分かってないのはよく伝わってくるよ
とりあえず君は「irono」「nai」「midorino」〜などが含まれる辞書10000語から6個の組み合わせと、「i」「ro」「no」など80種から17個の組み合わせ、どっちが組み合わせが大きいか計算してみたら?
あー、「計算してみて」って言ってるくらいだから計算能力がないのかな?
ならこっちでやってやるな
10000^6=1.0E24
80^17=2.3E32
んで、シンプルに大文字・小文字・数字・記号(およそ100種)から12個も1.0E24
分かった?
Re: (スコア:0)
「アルファベット組み合わせ総当たりとの比較」を勝手に「単語単位との比較」に置き換えて何言ってんだ?
ローマ字の一音ずつを一単語扱いにして組み合わせを全て試せば、すべてのアルファベットの組み合わせ総当たりよりはずっと少ない数になるって話だぞ?
> 80^17=2.3E32
> んで、シンプルに大文字・小文字・数字・記号(およそ100種)から12個も1.0E24
なんで「ローマ字17音(アルファベット約34文字)」と「英数記号12個」の比較なんだよ。
それだけ文字数が違ってたら何の比較にもならないだろうが。
「およそ100種から34個」なら1.0E+68だぞ。
2の72乗 (スコア:0)
なぜ「およそ2の72乗」と表現してるのかと思ったけど
2^72 = 2^(6*12) = 2^6^12 = 64^12
だから、この計算では(実際はもうちょっと多いけど)64種類の文字を12個、としてるのかな
1passの言い分がよくわからん (スコア:0)
>一方、1Password ではユーザーのデバイスで最初のサインアップ時に生成されるエントロピーの高い 128 ビットの秘密鍵があり、データの復号に必要な鍵を派生する際にアカウントのパスワードに織り込まれる。
>この秘密鍵が 1Password のサーバーに渡されることは決してなく、1Password 側が保持するデータが攻撃者の手に渡ってもパスワードをクラックするには天文学的な時間を要するとのことだ。
LastPassはサーバー側のデータが盗まれたんでしょ?
クライアント側の暗号化アピールはまず全く関係ないと思うんだが
で、サーバー側のデータの暗号化は、結局ユーザーが個別に設定するマスターパスワードに依存するしかなくて、
マスターパスワードが弱かったら1passもサーバー側のデータの個別の強度はそう変わらんのでは?
Re: (スコア:0)
LastPass は
ユーザが設定したマスタパスワード == サーバ側のデータの複合に必要なマスタパスワード
になってるけど,1Password は
ユーザが設定したマスタパスワード+ユーザのローカルにしかない秘密鍵 == サーバ側のデータの複合に必要なマスタパスワード
みたいな構成になってるってことなんじゃないですかね.
人間が作ったパスワードだとどうしても偏りがあるけど,1Password はそのまま使うんじゃなくてユーザのローカルにしかないエントロピーの高いデータを加味したものをマスタパスワードにしてるので,偏りが少なくなってより安全な構成になってるよ,と.
Re:1passの言い分がよくわからん (スコア:2)
それに、ユーザーサイドに(ユーザーが設定しない)情報を持たせるのは、特に、マルチデバイスに対応していたりすると、かなり大変な気はしますね。
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。