Senhas, limites de tentativas e contas sem e-mail
Blocks Beyond The Stars também é jogado por crianças. Isso molda não só o design do jogo, mas também a engenharia de segurança por trás dele. Três exemplos.
Contas sem e-mail — de propósito. Uma conta de jogador conosco não exige endereço de e-mail. Isso não é um recurso que falta, é uma decisão: queremos o mínimo possível de dados pessoais, principalmente de jogadores jovens. O que não guardamos não pode se perder. (O outro lado, com sinceridade: por isso não existe "esqueci a senha" por e-mail — comunicamos isso abertamente.)
Senhas de mundo, feitas direito. Se você protege seu mundo, sua senha nunca é guardada em texto puro, mas como um hash PBKDF2 — nem nós conseguimos lê-la. A senha é conferida antes de o mundo ser acordado, para que estranhos não consigam ligar mundos alheios só com tentativas de entrada. E, depois de dez tentativas erradas em 15 minutos, há um tempo de espera contra força bruta.
Guardiões automáticos. Nosso código passa pelo CodeQL, a análise estática de segurança do GitHub. Ele já nos pegou de verdade: um cookie de idioma era definido inicialmente sem as flags Secure e HttpOnly — parece inofensivo, mas deixava uma brecha desnecessária. Corrigido, e desde então olhamos cada novo alerta.
O fio condutor: para nós, segurança não é um departamento, é uma série de decisões pequenas e consistentes. Para um jogo que você dá ao seu próprio filho, é o único jeito que parece certo.
Comentários