301 Moved Permanently

Moved to https://vow.g.hatena.ne.jp/vow/

雑感

のりおくれ

(続き)

前回の消える金融ではオマケ付きで流行に乗れたのだけど、今回は今のところメール一つ来ないし何の異常も現れていない感じでして、なんというか微妙な疎外感もあったりなかったりしますが、いや仲間に入れてもらってもあまり嬉しくないのでそれはそれでいいです。

ええと現行のパスワードが既に漏洩し終わっている公算であるならば、それは確かにパスワードを即時更新すべきであって間違いないのですが。それなりの蓋然性でシステム自体の健全性に疑いがある場合にはパスワードの更新作業自体が漏洩のトリガーである可能性も考慮すべきであって、要するに下手にパスワードを更新しようとしないほうがまだしも安全かもしれないという展開も十分にあり得るのだけど・・・とりあえずパス変えとけ言ってる人ってそのあたり考慮してるのかなぁ。運営側も含めて。


ある特定のゲームIDが実在するか否かは実質的に公開情報であって最初から秘密でも何でもないので、そこを防御することは不可能です。実在するゲームID全体のリストが非公開であることとは意味が違う。テキトーなこと言ってる人って本当にわかってんのかなぁ。

も少し詳しく説明します。

  • 実在しないIDに対するログイン試行では、アカウントに対するロックアウトは (そもそもアカウントが存在しないので) 発生し得ません。この挙動の差を隠していない場合、IDが実在するか否かの情報は漏洩します。実際にちょろっと叩いてみた感じでは、実在しないIDに対するログイン試行ではロックアウトは起動しないようであって、つまり問題の挙動の差は隠されていないものと思われます。
  • この挙動の差を隠すために、「パスワードが正しかった場合にのみロックアウトと表示し、正しくなかった場合は通常のログイン失敗と表示する」というのはダメです。それではID/パスワードの対が正しいかどうかの答えを敵に教えてしまいます。ロックアウトの意味がありません。最悪です。
  • アカウントに対するロックアウト状態を一切返さず、ロックアウトを全て通常のログイン失敗として扱うというのは、一つの正しい選択肢です。ただしこの場合、急にログインできなくなった正規のユーザは、状況を認識できず路頭に迷うことになります。
  • 完全に挙動の差を隠すには、「実在しないIDに対するログイン試行でも、全く同じようにロックアウト状態となるよう偽装する」しかありません。ただし実在しないIDは無制限に増殖し得るので、状態追跡用のDBが爆発しないよう防護策を講じておかないと、かえって自滅する可能性があります。
  • もっとも、ID自体の存在を隠しきれないのはIDを使用した認証方式の宿痾であって、影響を軽減する方策はあっても完全な対策はありません。そもそも、ある特定のIDが実在するか否かの情報は、最初から新規登録用のインタフェースなどを通じて漏洩しており、これを完全に止めることはできません。なので、ロックアウト経由での漏洩だけを止めても、理論的には言うほどの意味はありません。
  • 新規登録用のインタフェースを使ったID走査の速度を制限し影響を軽減するには、たとえばID試行を許す前にメールアドレスの認証を強制し、ID試行回数に上限を設け、ID試行に成功した時点でそれ以上のID試行をできなくする等が考えられます。ただしこの部分のフタを強化すると、まともに新規顧客獲得の障壁になってしまい、結構簡単に自分の首が絞まります。

こうしてみると、ロックアウトの挙動からIDが実在するか否かの情報が漏洩するのは「気に入らないけど仕方がない」程度の事であって、あんまり目くじらをたてても意味がないように思えるのですが・・・もちろん素人考えなので実地で何かする際にはちゃんと専門家に相談してください。まる。