Para muitas pessoas, misturar os dígitos e criar uma variação de “Corinthians1910MinhaVida” significa ter uma senha forte. Então você espera que algo complicado como “ji32k7au4a83” seja uma boa senha. Mas de acordo com o repositório de vazamentos de dados Have I Been Pwned (HIBP), essa sequência aparece mais vezes do que você poderia esperar.
Essa curiosidade veio à público graças ao engenheiro de software/hardware Robert Ou, que pediu para que seus seguidores no Twitter tentassem explicar o porquê dessa aparente sequência aleatória ser vista centenas de vezes pelo HIBP.
Fun thing I learned today regarding secure passwords: the password “ji32k7au4a83” looks like it’d be decently secure, right? But if you check e.g. HIBP, it’s been seen over a hundred times. Challenge: explain why and how this happened and how this password might be guessed
— Robert Ou @ BSidesSF (@rqou_) 1 de março de 2019
Uma coisa engraçada que eu aprendi hoje sobre senhas seguras: a senha “ji32k7au4a83” parece ser decentemente segura, né? Mas se você checar por exemplo o HIPB, ela já foi vista centenas de vezes. Desafio: explicar por que e como isso aconteceu e como essa senha pode ser adivinhada
O Have I Been Pwned é um agregador que foi fundado pelo especialista de segurança Troy Hunt para ajudar pessoas a descobrirem se seus e-mails ou senhas pessoais já apareceram em quaisquer vazamentos de dados importantes. Um serviço oferecido pelo site é a pesquisa de senha que permite que você cheque se sua senha já apareceu em algum vazamento que está no radar da comunidade de segurança. Neste caso, “ji32k7au4a83″ já foi vista pelo HIBP em 141 vazamentos.
Diversos seguidores de Robert descobriram rapidamente a solução para essa pegadinha. A senha vem do sistema Zhuyin Fuhao para transliterar mandarim. O motivo pelo qual a combinação é frequente no repositório é porque “ji32k7au4a83” pode ser traduzido para o inglês como “my password” ou “minha senha”, em português.
Eu pedi para que meu amigo Ben Macaulay me ajudasse a verificar o que estava acontecendo neste caso. Macaulay é graduando em linguística e entusiasta de Taiwan que estuda documentação linguística em vias de extinção. Ele utiliza com frequência um teclado Zhuyin, também conhecido como Bopomofo, e que é chave para descobrir o enigma.
Macaulay me contou que esse é o sistema mais usado para digitar em Taiwan. O sistema fonético é reconhecido pelo Unicode, e Macaulay confirmou que esta é a versão simplificada de como a tradução poderia ser dividida:
ji3 -> 我 -> M
2K7 -> 的 -> Y
au4 -> 密 -> PASS
a83 -> 碼 -> WORD
(Aqui temos dois gráficos que explicam como o Unicode funciona).
Essa é a tradução que precisamos para entender a frequência do conjunto de caracteres nas senhas, mas Macaulay explicou tudo de forma detalhada. Decidi citar toda a sua explicação simplesmente porque sou grato por ter que digitar em apenas um idioma.
Existem quatro tons: 1º tom (espaço de espera), 2º tom (6), 3º tom (3), 4º tom (4), átono/sem tom (7).
Então, consoantes para o começo da sílaba, dispostas pelo lugar de articulação: b (1) p (q) m (a) f (z); d (2) t (w) n (s) l (x); g (e) k (d) h ©; j ® q (f) x (v); zh (5) ch (t) sh (g) r (b); z (y ) c (h).
Então, as vogais/semivogais: i/yi/y (u) u/wu/w (j) ü/yo (m); a (8) o (i) e (soa como ‘uh’; k) e (soa como ‘eh’; _).
Então, algumas consoantes finais de sílaba e combinações de vogal+vogal/vogal+consoante: ai (9) ei (o) ao (l) ou (!); an (0) en/-n ℗ ang (;) eng/-ng (?).
Para digitar em zhuyin, você tecla um de cada (nessa ordem, exceto que o tom é o último).
I = 我 = wo3 = u (j) + o (i) + 3º tom (3).
Então o marcador possessivo 的 (como o ‘s do inglês) = de (sem tom) = d (2) + e (k) + sem tom (7).
Password = 密碼 = 密 ‘segredo’ + 碼 (a segunda metade de 號碼 ‘número’) 密 = mi4 = m (a) + i (u) + 4º tom (4) 碼 = ma3 = m (a) + a (8) + 3º tom tone (3).
O que dá para tirar de tudo isso? Bem, dá para concluir que as pessoas em Taiwan parece ter os mesmos péssimos hábitos de segurança do que o resto do mundo.
Além disso, essa é uma boa oportunidade de você checar no Have I Been Pwned se a senha que você acha ser segura é, de fato, segura ou apenas uma sequência aleatória de caracteres que guarda um significado oculto.