Sim e não. Houve muita discussão na Security.SE sobre o assunto. Vamos começar com uma citação de uma resposta de Jeff Goldberg :
What the XKCD comic does not effectively communicate is that the selection of words must be (uniformly) random. If you ask humans to pick words at random, you get a heavy bias for concrete nouns. Such biases can and will be exploited.
Isso aqui é provavelmente o ataque mais importante contra o esquema XKCD. Os humanos são terríveis em inventar qualquer coisa aleatória. " eu estou adorando meus cães e gatos maravilhosos " é certamente "longo" o suficiente, mas não é imprevisível.
(Como um aparte, Jeff também aponta que o esquema XKCD não é realmente original para Randall Munroe:
The overall idea for "XKCD-like" passwords goes at least as far back as the S/Key one time passwords from the early 1980s.
A resposta mais votada nos lembra sobre o fato de que precisamos saber o que estamos defendendo contra :
One of the many reasons there is no consistent advice about passwords is it all comes down to an issue of threat modeling. What exactly are you trying to defend against?
For example: are you trying to protect against an attacker who is specifically targeting you and knows your system for generating passwords? Or are you just one of millions of users in some leaked database? Are you defending against GPU based password cracking or just a weak web server? Are you on a host infected with malware?
I think you should assume the attacker knows your exact method of generating passwords and is just targeting you. The xkcd comic assumes in both examples that all the details of the generation are known.
Veja esta pequena lista. Se você se encaixa neste perfil, então o esquema XKCD provavelmente é certo para você:
1. A senha será usada em apenas um lugar.
2. Você se preocupa apenas em manter pessoas honestas e crianças de script fora de sua conta ou longe de seus dados.
3. Bem ... realmente não há um 3.
Para ser franco, a menos que você esteja disposto a usar o Diceware para gerar uma senha memorável, não se preocupe com o XKCD esquema para qualquer coisa séria. Troy Hunt analisou isso há algum tempo . Como ele diz perto do final desse post, o "melhor" conselho de senha é usar senhas totalmente aleatórias e um gerenciador de senhas:
So in total, I’m tracking one hundred and thirty accounts. Very few people will read this and have less than 30 accounts, even if you can’t think of them all off the top of your head right now (can you really remember every account you’ve ever created?) Be honest, add them all up and see what you get to, even the ones you don’t use that often. And if you don’t have 30 accounts now, just how long will it be until you do? Having recently gone through the password management exercise with my father in his 60s and not coming from a technology background, I know that at worst, any regular online user will almost certainly have more accounts than they can count on their fingers and toes and definitely more than they can apply their memory to.
Não tenho 130 contas, mas tenho mais do que dedos e dedos no meu gerenciador de senhas. Toda vez que mudo a senha para o meu computador de trabalho, levo cerca de três semanas de uso sólido antes de poder memorizá-la. E essa é uma das talvez 2-4 senhas que eu realmente coloco na mão! Tente escalar isso para 30 a 100 contas e isso simplesmente não funciona.