アカウント名:
パスワード:
10桁に満たないパスワードを勝手にスペースで埋めて登録してたんですよね.
あっちが持ってるデータは,10桁に埋められたものから生成されたものですよね.
それを,スペース埋めなくてもいいようにしたってことは,もしかして例の生パスワードを保存してるんですってやつ?
と思ったけど,手動でスペースを入力してたのを,あっちで勝手にスペースを埋めるようにしただけかな.
> あっちが持ってるデータは,10桁に埋められたものから生成されたもの
平文じゃなくても、ハッシュ化処理を10文字固定でやってるとか?
10文字より長いパスワードを使っていると、11文字目以降は実はデタラメでもOK、とかだと笑える。
10文字より長いパスワードを登録すると、勝手に10文字に切ってから登録するシステムがあったことを思い出した。
Jetstarが今まさにそれだよ...いくら言ってもなおしてくれない
そもそもパスワードの文字数の上限って、なんのためにあるんだろう。異常なほど長いパスワードで通信量を逼迫させる馬鹿対策としても、1024文字くらいはOKにすればいいのに。
どうせ俺はパスワード覚える気は無いので、システムが受け入れる最長文字数のパスワードをランダムに生成して使ってるが。
ネットで送信されてサーバーが解釈するデータである以上、上限値は必要でしょう。仮に10億文字(1GB)のパスワードとか送られたらって考えればわかります。ネットワークのリソースもhash化のための負荷も相当になります。要するに正規のパスワード認証を繰り返すだけで攻撃が成立してしまいます。
「なんで上限が必用?」なんて言ってる奴は、たぶんプログラミングしたこと無い人。パスワードに限らず、何を作る場合でも上限は必用。
無限長なんてものを認めた時点で、プログラムもデバッグも必用とするリソースも、そしてかかる工数と費用も桁違いに増える。動作保証も出来なくなる。だからよほどのバカじゃ無きゃそんなことはしない#自動車の乗員しかり、トラックの積載量しかり。無限大などありえない。
んー…
・ハッシュ関数の知識のない人が外部仕様を決めた・ハッシュ関数の知識のない人に説明するのが面倒なので目立ちそうな仕様は避けた・上限を増やすとそんなに長いパスワードを使わなければいけないのかと不安がって問い合わせるユーザーが増えるかもしれないので避けた・長く設定できるようにすると律儀に手入力するユーザーの誤入力を誘引してクレーマーに進化する恐れがあるのでトラブルの芽は予め摘んでおいた
どうなんでしょうね実際。
たとえば。
ID:AnonymousCowardPassword:jugemujugemugokounosurikirekaijarisuigyono(以下略)
えっ、ハッシュ化して記録してあるパスワードと、入力パスワードを同様にハッシュ化して比較しないの?どうせハッシュ化するんだし、パスワード長なんて関係ないと思ってたけど?無限長とか言ってるトコ見ると、平文パスワードで保存してるの?もしかして?
とりあえず、#2772663は1行以上コメントが読めない人だという事はわかった。
平文か暗号化したものを持ってるとこもあるんじゃない?ハッシュ化は衝突がないことが保証できないので、例えそれが2の512乗分の1という宇宙が滅びるよりあり得ない確率でも承認しない役員がいてもおかしくない。
ダウト
(ソルトが無い糞設計の場合は)野球とかドラゴンとかサッカーとかみんな大好きだからガリガリ君が当たる確率くらいにはぶつかっているに決まっている
#ハッシュすれば良いんでしょ?とか言ってソルトとストレッチングしてないところも多そうだ
>「なんで上限が必用?」なんて言ってる奴は、たぶんプログラミングしたこと無い人。
なんていう人は、多分ウェブサーバ書いたことがない人。RFCに最大長なんて規定されてないんだぜ。なんで、ウェブサーバ(Apacheはデフォルト8,190)とブラウザ(IEは2,083)がそれぞれ勝手に制限をもってる。
パスワードについては例えば、LimitRequestBody とか、下のレイヤで制限されてれば特になにもしなくても問題にはならない。
今、(IDじゃなく)パスワードの話ししてるんだよね。衝突してなにが困るのさ。普通、パスワードなんて平文の状態でもいくらでも衝突するんじゃないの。「1234」とか。まあ、SALT付HASHなら、衝突の確率が格段に下がるな。
> なんで、ウェブサーバ(Apacheはデフォルト8,190)とブラウザ(IEは2,083)がそれぞれ勝手に制限をもってる。
だっ、誰です?パスワード認証を GET メソッドで実装しようとしてるのは!
「なあ、新しいパスワードが登録できないんだが。」「ああ、規則が変わったからな。ちゃんと6文字(character)以上12文字以内になってるか?」「なってるさ。ミッキーとミニーとドナルドダックとグーフィーとチップとデール。これで6characterだよね。」
#使い古されたジョーク
> パスワードなんて平文の状態でも
って、平文の衝突とハッシュの衝突のはなししを一緒にしたらいかんと思うよ。
ハッシュが衝突する平文を見つければ、それが正しい平文でなくても認証を突破できるってこと。元の平文が衝突するとは、まったく別の問題。
うちもそうです(絶対AC)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
なぜ解決できた? (スコア:1)
10桁に満たないパスワードを勝手にスペースで埋めて登録してたんですよね.
あっちが持ってるデータは,10桁に埋められたものから生成されたものですよね.
それを,スペース埋めなくてもいいようにしたってことは,もしかして例の生パスワードを保存してるんですってやつ?
と思ったけど,手動でスペースを入力してたのを,あっちで勝手にスペースを埋めるようにしただけかな.
Re: (スコア:1)
> あっちが持ってるデータは,10桁に埋められたものから生成されたもの
平文じゃなくても、ハッシュ化処理を10文字固定でやってるとか?
Re: (スコア:1)
10文字より長いパスワードを使っていると、11文字目以降は実はデタラメでもOK、とかだと笑える。
Re: (スコア:2)
10文字より長いパスワードを登録すると、勝手に10文字に切ってから登録するシステムがあったことを思い出した。
Re:なぜ解決できた? (スコア:1)
Jetstarが今まさにそれだよ...いくら言ってもなおしてくれない
Re: (スコア:0)
そもそもパスワードの文字数の上限って、なんのためにあるんだろう。
異常なほど長いパスワードで通信量を逼迫させる馬鹿対策としても、1024文字くらいはOKにすればいいのに。
どうせ俺はパスワード覚える気は無いので、システムが受け入れる最長文字数のパスワードをランダムに生成して使ってるが。
Re:なぜ解決できた? (スコア:2)
ネットで送信されてサーバーが解釈するデータである以上、上限値は必要でしょう。
仮に10億文字(1GB)のパスワードとか送られたらって考えればわかります。
ネットワークのリソースもhash化のための負荷も相当になります。
要するに正規のパスワード認証を繰り返すだけで攻撃が成立してしまいます。
Re: (スコア:0)
「なんで上限が必用?」なんて言ってる奴は、たぶんプログラミングしたこと無い人。
パスワードに限らず、何を作る場合でも上限は必用。
無限長なんてものを認めた時点で、プログラムもデバッグも必用とするリソースも、
そしてかかる工数と費用も桁違いに増える。動作保証も出来なくなる。
だからよほどのバカじゃ無きゃそんなことはしない
#自動車の乗員しかり、トラックの積載量しかり。無限大などありえない。
Re: (スコア:0)
んー…
・ハッシュ関数の知識のない人が外部仕様を決めた
・ハッシュ関数の知識のない人に説明するのが面倒なので目立ちそうな仕様は避けた
・上限を増やすとそんなに長いパスワードを使わなければいけないのかと不安がって問い合わせるユーザーが増えるかもしれないので避けた
・長く設定できるようにすると律儀に手入力するユーザーの誤入力を誘引してクレーマーに進化する恐れがあるのでトラブルの芽は予め摘んでおいた
どうなんでしょうね実際。
Re: (スコア:0)
たとえば。
ID:AnonymousCoward
Password:jugemujugemugokounosurikirekaijarisuigyono(以下略)
Re: (スコア:0)
えっ、ハッシュ化して記録してあるパスワードと、入力パスワードを同様にハッシュ化して比較しないの?
どうせハッシュ化するんだし、パスワード長なんて関係ないと思ってたけど?
無限長とか言ってるトコ見ると、平文パスワードで保存してるの?もしかして?
Re: (スコア:0)
とりあえず、#2772663は1行以上コメントが読めない人だという事はわかった。
Re: (スコア:0)
平文か暗号化したものを持ってるとこもあるんじゃない?
ハッシュ化は衝突がないことが保証できないので、
例えそれが2の512乗分の1という宇宙が滅びるよりあり得ない確率でも
承認しない役員がいてもおかしくない。
Re: (スコア:0)
ダウト
(ソルトが無い糞設計の場合は)野球とかドラゴンとかサッカーとかみんな大好きだからガリガリ君が当たる確率くらいにはぶつかっているに決まっている
#ハッシュすれば良いんでしょ?とか言ってソルトとストレッチングしてないところも多そうだ
Re:なぜ解決できた? (スコア:1)
>「なんで上限が必用?」なんて言ってる奴は、たぶんプログラミングしたこと無い人。
なんていう人は、多分ウェブサーバ書いたことがない人。
RFCに最大長なんて規定されてないんだぜ。
なんで、ウェブサーバ(Apacheはデフォルト8,190)とブラウザ(IEは2,083)がそれぞれ勝手に制限をもってる。
パスワードについては例えば、LimitRequestBody とか、下のレイヤで制限されてれば特になにもしなくても問題にはならない。
Re:なぜ解決できた? (スコア:1)
今、(IDじゃなく)パスワードの話ししてるんだよね。
衝突してなにが困るのさ。
普通、パスワードなんて平文の状態でもいくらでも衝突するんじゃないの。「1234」とか。
まあ、SALT付HASHなら、衝突の確率が格段に下がるな。
Re:なぜ解決できた? (スコア:2)
> なんで、ウェブサーバ(Apacheはデフォルト8,190)とブラウザ(IEは2,083)がそれぞれ勝手に制限をもってる。
だっ、誰です?
パスワード認証を GET メソッドで実装しようとしてるのは!
Re: (スコア:0)
「なあ、新しいパスワードが登録できないんだが。」
「ああ、規則が変わったからな。ちゃんと6文字(character)以上12文字以内になってるか?」
「なってるさ。ミッキーとミニーとドナルドダックとグーフィーとチップとデール。これで6characterだよね。」
#使い古されたジョーク
Re: (スコア:0)
> パスワードなんて平文の状態でも
って、平文の衝突とハッシュの衝突のはなししを一緒にしたらいかんと思うよ。
ハッシュが衝突する平文を見つければ、それが正しい平文でなくても認証を突破できるってこと。
元の平文が衝突するとは、まったく別の問題。
Re: (スコア:0)
うちもそうです(絶対AC)