Pergunta

Eu estou procurando um protocolo HTTP existente para garantir a autenticação, mas não a carga útil que se segue. Eu quero o servidor para armazenar o nome de usuário, senha hash e sal diferente por usuário.

HTTP Digest autenticação falha esses requisitos, porque todas as contas de usar o mesmo sal. SSL falha porque ele criptografa a conexão inteira.

Editado para adicionar:

Isto é para um cliente de desktop conversando com um serviço web (sem navegador envolvidos)

Foi útil?

Solução

Porque não basta ter o seu mecanismo de autenticação protegido por SSL e, em seguida, para a frente para o resto de sua aplicação que funciona em condições normais HTTP?

Outras dicas

O esquema popular é ter formulário de login protegido por SSL, enquanto o resto do site não usa SSL. Ver, por exemplo populares sites de redes sociais.

Como cerca de OpenID? Existe uma razão que você tem que informações de autenticação loja?

editado para adicionar

Infelizmente não entendi que era um aplicativo de desktop. Como sobre OAuth ?

Existe uma maneira que você poderia estruturar o URL do pedido original para indicar o usuário? Em seguida, o servidor pode responder com um reino diferente diferente (agindo como "sal") para cada usuário no HTTP digerir resposta de autenticação. Por exemplo, URLs pedido do http://user.y.com/service forma ou http://www.y.com/user/service resultaria em uma resposta de desafio como:

WWW-Authenticate: Digest realm="user@y.com", nonce="oqa9hvq49krprkphtqc"

Você pode explicar o que está dirigindo o mandato "sem criptografia"? Se você está sujeito a ataques man-in-the-middle, você precisa para proteger a integridade de todo o pedido. Lá, SSL seria muito útil. Se você absolutamente não pode ter criptografia, seria SSL utilizando um conjunto de cifras não criptografado ser aceitável?

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