Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

CARLOS HENRIQUE DO NASCIMENTO C66811 7
Atenticação HTTP – Digest
O que é.
A autenticação Digest é um esquema de desafio / resposta que substitui a autenticação básica. O servidor envia uma cadeia de caracteres dos dados aleatórios chamados umnonce ao cliente como um desafio. O cliente responde com um hash que inclui o nome de usuário, senha e nonce entre informações adicionais. A complexidade que apresenta este exchange e o hash de dados tornar mais difícil roubar e reutilizar as credenciais do usuário com esse esquema de autenticação.
 A autenticação Digest requer o uso de contas de domínio do Windows. O resumo de realmé o nome de domínio do Windows. Portanto, você não pode usar um servidor em execução em um sistema operacional que não oferece suporte a domínios do Windows, como o Windows XP Home Edition, com a autenticação Digest. Por outro lado, quando o cliente é executado em um sistema operacional que não oferece suporte a domínios do Windows, uma conta de domínio deve ser explicitamente especificada durante a autenticação.
Caracteristicas 
Navegadores:
Chrome 
Firefox 
Safari
IE a partir do 10
Algoritmos Suportados:
Digest
MD5
SHA-1
SHA-256
Código de Autenticação de Mensagem (MAC)
HMAC / MD5
HMAC / SHA-1
HMAC / SHA-256
Função de Derivação de Chave Baseada em Senha (PBKDF)
PBKDF1 / SHA1
PBKDF1 / MD5
PBKDF2 / HMAC / SHA1
PBKDF2 / HMAC / SHA-256
Vantagens
A autenticação digest HTTP foi projetada para ser mais segura do que os esquemas tradicionais de autenticação digest, por exemplo, "significativamente mais forte que (por exemplo, CRAM-MD5 ..." ( RFC 2617 ).
Algumas das forças de segurança da autenticação de resumo HTTP são:
A senha não é enviada para o servidor, evitando ataques de phishing se o usuário for induzido a acessar o site errado.
A senha não é usada diretamente no resumo, mas sim HA1 = MD5 (username: realm: password). Isso permite que algumas implementações (por exemplo, JBoss [4] ) armazenem HA1 em vez da senha em texto puro.
O cliente nonce foi introduzido no 2617, que permite ao cliente impedir escolhidos, como tabelas de arco-íris que poderiam, de outra forma, ameaçar os sistemas de autenticação digest.
O nonce do servidor tem permissão para conter registros de data e hora. Portanto, o servidor pode inspecionar atributos nonce enviados por clientes, para evitar ataques de repetição
O servidor também pode manter uma lista de valores de nonce de servidor emitidos ou usados ​​recentemente para evitar a reutilização.
Desvantagens
A autenticação de acesso digest é planejada como um compromisso de segurança. Destina-se a substituir a autenticação de acesso básico HTTP não criptografada. Não é, no entanto, destinado a substituir protocolos de autenticação fortes, como a autenticação de chave pública ou Kerberos.
Em termos de segurança, existem várias desvantagens na autenticação de acesso digest:
Muitas das opções de segurança no RFC 2617 são opcionais. Se a qualidade de proteção (qop) não for especificada pelo servidor, o cliente operará em um modo RFC 2069legado com segurança reduzida.
A autenticação digest é vulnerável a um). Por exemplo, um invasor MITM poderia dizer aos clientes para usar a autenticação de acesso básico ou o modo de autenticação de acesso de compilação legado RFC2069. Para estender isso ainda mais, a autenticação de acesso digest não fornece nenhum mecanismo para os clientes verificarem a identidade do servidor
Alguns servidores exigem que as senhas sejam armazenadas usando criptografia reversível. No entanto, é possível armazenar o valor digitado do nome de usuário, domínio e senha.
Ele impede o uso de um hash de senha forte (como bcrypt) ao armazenar senhas (já que a senha, o nome de usuário, a região e a senha digeridos devem ser recuperáveis)
Além disso, como o algoritmo MD5 não é permitido no FIPS, a autenticação do HTTP Digest não funcionará com os módulos de criptografia certificados pelo FIPS 
Aplicação
Instalação
 Nó
 npm install digest-js 
e depois
 Digest =   require ( ' digest-js ' ) ; 
 
Navegador
 < script   type = " text / javascript "   src = " caminho / para / digest.min.js " > < / script >
 Compilação
 digest.js está usando npm e grunt
 Instale o Grunt
 Install npm -g grunt-cli 
 
 Baixe dependências
 npm install 
 Construa a biblioteca
 grunt
 Uso da API
 
Digest
Inicializar um objeto de resumo
 
var dg =   New   Digest.SHA1 ( ) ; 
Atualize alguns dados
 var data =   new   ArrayBuffer ( 3 ) ; 
 var buf =   new   Uint8Array ( data ) ; 
 buf [ 0 ]   =   0x61 ;   / * a * / 
 buf [ 1 ]   =   0x62 ;   / * b * / 
 buf [ 2 ]   =   0x63 ;   / * c * / 
 dg . update ( data ) ; 
Finalizar
 var result =   dg . finalize ( ) ; 
Também é possível digerir alguns dados de uma só vez:
 var dg =   New   Digest.SHA1 ( ) ; 
 var result =   dg . digest ( " abc " ) ; 
https://en.wikipedia.org/wiki/Digest_access_authentication
https://docs.microsoft.com/pt-br/dotnet/framework/wcf/feature-details/understanding-http-authentication
https://technet.microsoft.com/ptbr/Library/cc441713.aspx#BKMK_DigestandWDigestauthentication
https://www.npmjs.com/package/digest-js

Mais conteúdos dessa disciplina