Pergunta

Pros:

  1. Não me lembro "boas" as senhas de qualquer maneira para lembrar-lhes que não é um problema.
  2. eles não se parecem com senhas
  3. são danado quase impossível de adivinhar (128 bits de entropia)
  4. fácil de gerar (offloads o "bom PRNG" problema)

Contras:

  1. ???

Em particular; o que acontece com as senhas que os computadores entram como para bancos de dados logins em algumas configurações.

Foi útil?

Solução

Uma das principais con é que você não necessariamente tem "128 bits de entropia" como indicado na pergunta original.

Muitos Algoritmos GUID ter informações embutidas nelas em padrões previsíveis, por exemplo, o endereço MAC do computador, a data / hora, ou uma seqüência de incremento. Criptoanálise da WinAPI GUID mostrou dada a um estado inicial pode prever até próximos 250.000 GUIDs retornados pela função UuidCreate

Por exemplo, tenho cerca de 50% de probabilidade de adivinhar o primeiro dígito na primeira posição do terceiro grupo de dígitos, uma vez que irá ser 1 (para V1 GUID) ou 4 (para guids V4)

Fonte: http://en.wikipedia.org/wiki/Globally_Unique_Identifier

Outras dicas

Contras:

  1. Você irá anotá-las em algum lugar.
  2. Você provavelmente irá enviá-las ou escrevê-las novamente se você precisa dizer a ninguém.
  3. Eles podem ser muito longos para determinados sistemas.
  4. Eles são praticamente impossível de memorizar, de modo que você pode alterá-los com mais freqüência, em seguida desejado.

Portanto, a menos que eles estão senhas do sistema que mudam raramente, eu duvido que eles são boas senhas.

Con:

Seria quase impossível se lembrar de um 32-byte alfa seqüência numérica.

Se você realmente quer uma senha segura, considere um senha . Uma longa frase-senha é facilmente lembrado, e muito difícil de força bruta.

Con:

  • Alguns sistemas têm limites sobre o comprimento máximo de senhas. Se você estiver usando apenas hex dígitos isso pode limitar a sua entropia para talvez tão pouco como 32 bits.

Alguém precisar inseri-lo como uma senha? Ou você quer usá-lo como uma coisa de uma só vez? Porque a sério, ninguém quer entrar em um GUID em um passwordfield. As pessoas têm o suficiente problemas como ela é, inserindo chaves de rede Wi-Fi WEP / WPA2. E na maioria das vezes, essas são one-timers.

@Miyagi: essa é a mais óbvia con é claro. Eles vão ter que escrevê-lo.

Tecnicamente eles seriam boas senhas Na vida real, eles seriam senhas horríveis

Você iria acabar por ter de anotar as senhas, use um gerenciador de senhas, ou alguma outra forma de realmente usar a senha ... de uma maneira de mover o ponto de falha da senha para outro aspecto.

Considere o uso de frases secretas. Frases com substituições para determinadas letras ou outros caracteres, e para números, escrevendo-os com a tecla SHIFT, convertendo fácil de lembrar números de sequências de caracteres bem definidos.

Por exemplo bcs19850101bcs seria BCS! (*%)!)! BCS

Contras:

  1. Campos de senha nem sempre são o suficiente.
  2. Mais difícil entrar - você provavelmente armazenar a senha em um programa, não em sua cabeça. Isso é um pouco de um problema de segurança ...

... prós:

  1. Ninguém será capaz de forçar sua senha fora de você.

senhas-aleatório-número Big ter sido feito antes. Eles são chamados OTP s, e são muito mais seguras do que o que você está sugerindo porque eles mudam ao longo do tempo, e tendem a ser gerado por dispositivos seguros. Claro que isso só é relevante se você está projetando um sistema de senha.

Se você quiser uma senha segura que você deseja deixar para um gerenciador de senhas em um UNIX-like sistema, você está muito melhor apenas puxando um de / dev / random e codificação-lo em algo legível. para 128 bits de entropia você pode usar algo simples como

head -c 16 /dev/random | openssl enc -a -e

que dá uma senha como 5eqIviKu4pFTqSPnYosVKg==

Não é excessivamente longo, seguro, aleatório, suicídio para tentar lembrar.

Edit: benefícios deste método sobre UUID incluem segurança extra no PRNG (/ dev / random) e senhas mais curtas, deficiências semelhantes

Eu escrevi recentemente código para converter os primeiros 64 bits de um checksum em uma seqüência de quatro palavras em inglês. Isso faz com que uma boa soma de verificação (muito mais fácil de lembrar do que uma bagunça hex), mas eu não estou certo que eu confiar nele como uma senha. Se você está protegendo algo garantir, você deve usar uma senha forte que você memorizar e não escrever. Se não, então qualquer senha antiga vai fazer.

Eu acho que você realmente quer é uma número criptograficamente aleatória , e não um GUID. GUIDs e UUIDs não são aleatórios - como disse JohnFx, eles tendem a incorporar valores detectáveis ??como o endereço MAC ou timestamp atual, de modo a singularidade garantia

.

Em vez disso, você deve olhar para o que quer criptografia API está disponível para você e encontrar uma fonte de números aleatórios de alta entropia. Certifique-se as promessas de documentação A saída é adequado para criptografia, não apenas um PRNG regular. Por exemplo, / dev / random em sistemas Unix é uma fonte boa. Em seguida, basta desenrolar como muitos bytes aleatórios como você quer.

Pessoalmente isso parece um pouco demais incondicional. Eu prefiro gerar seqüências que contêm um pouco menos entropia por personagem, mas são mais fáceis de escrever e lembrar. Por exemplo, existem vários algoritmos que combinam sílabas aleatórias para criar palavras sem sentido pronunciável; intersperse alguns dígitos e pontuação, e você tem uma boa senha.

eu como o meu senhas forte e pronouncable (experimente um dos sites aqui para uma demonstração online, certifique-se de escolher um local de "v2" para obter o pronounciation-guia).

Con: Você não pode digitá-lo novamente, o que significa que você terá de copiar e colar. Se você tem o seu programa de gerenciamento de senhas em seu sistema, não é realmente um problema. Mas se você acabar em um sistema onde você não, basta digitar novamente a coisa vai ser muito difícil.

E, em seguida, depois de tentar um par de vezes que você ficar trancado para fora ....

A vida poderia ficar muito chato.

Mesmo se você anotá-la, uma boa senha é algo que você pode escrever de forma consistente, sem erros.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top