Como posso implementar com segurança um recurso de login sem senha?


10

Acabei de publicar um novo plugin: No More Senhas

No momento, tenho a tag beta porque o login em uma plataforma é um problema delicado e não quero liberar algo que possa ter falhas de segurança. Então aqui está a minha consulta:

É seguro?

Fiz o seguinte para garantir a segurança:

  1. Nome de usuário / senha nunca são passados ​​para frente e para trás, apenas o hash exclusivo.
  2. O hash é removido do banco de dados depois de usado, hashes antigos que não foram usados ​​não podem ser, a menos que o banco de dados seja invadido, mas você tem problemas maiores.
  3. Todas as consultas ao banco de dados do hash foram escapadas para evitar ataques XSS.
  4. nonce adicionado à chamada ajax.
  5. nonce e confirmação adicionados no final móvel para impedir ataques de CSRF.

Aqui eu tenho uma descrição completa de como funciona .

Próxima versão Espero implementar oauth via twitter, já que o iOS já trabalhou em ...

Agradecemos desde já a sua contribuição.

Editar: decidi que, como uma camada adicionada, adicionaria uma verificação de ID da sessão para garantir que seja o mesmo navegador que o navegador que iniciou o logon do código QR.

Respostas:


5

(Eu sou um otário para esquemas de login alternativos)

Algumas dicas sobre escape de DB:

  • Você usa mysql_real_escape_string()diretamente. O método preferido é usar $wpdb->prepare()or esc_sql().

  • As consultas UPDATE são melhor tratadas por $wpdb->update()


Atualizei o plugin para incluir isso. Obrigado pela dica.
22412 jackreichert

5

Eu acho que é uma ótima idéia, mas como sempre a maior fraqueza é o fator humano, nesse caso, seria o próprio telefone sendo perdido, roubado ou interceptado. Você já pensou em adicionar autenticação em duas camadas, como um código de verificação por SMS (como o Gmail, etc.). Ou uma alternativa mais fácil seria um cookie + palavra secreta.

Você também pode mencionar qual algoritmo está gerando o código QR na sua página sobre?


Portanto, o plug-in depende de você estar conectado no seu telefone para funcionar. O risco de você perder o telefone é quase o mesmo que deixar o seu PC conectado ao seu site wp. Estou usando a API do Google Chart para gerar o código QR.
precisa saber é o seguinte

3
Eu apenas pensei que seria uma boa ideia adicionar outra camada que não prejudicasse o usuário, já que os telefones são roubados / perdidos muito mais que os computadores, e em um computador você ainda precisa saber o nome de usuário / senha.
Wyck
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.