パスワード、レート制限、そしてメールなしのアカウント
Blocks Beyond The Stars は、子どもたちも遊んでいます。それはゲームデザインだけでなく、その裏にあるセキュリティの作り方にも影響しています。3つの例を紹介します。
メールなしのアカウント、あえてそうしています。私たちのプレイヤーアカウントには、メールアドレスが要りません。機能が足りないのではなく、決めたことです。とくに小さなプレイヤーについては、個人情報をできるだけ少なくしたいのです。保存しないものは、失われることもありません。(正直な裏側もあります。そのため、メールによる「パスワードを忘れた」は使えません。この点は、はっきりお伝えしています。)
ワールドのパスワードを、きちんと扱う。ワールドを保護すると、パスワードは平文では保存されず、PBKDF2ハッシュとして保存されます。私たちにも読めません。パスワードはワールドを起こす前に確認されるので、知らない人が参加を試すだけで他の人のワールドを起動することはできません。そして、15分間に10回失敗すると、総当たり攻撃を防ぐクールダウンがかかります。
自動の見張り番。私たちのコードは、GitHubの静的セキュリティ分析であるCodeQLにかけられています。実際に、これに見つけてもらったことがあります。言語のCookieが、最初はSecureとHttpOnlyのフラグなしで設定されていたのです。無害に聞こえますが、必要以上に攻撃されやすい状態でした。直しましたし、それ以来、新しいアラートはすべて確認しています。
共通しているのは、私たちにとってセキュリティは部署ではなく、小さな判断を一貫して積み重ねることだ、ということです。自分の子どもに渡すゲームなら、しっくりくるのはこのやり方だけです。
コメント