Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 10415|Resposta: 0

Análise de segurança OAuth 2.0 para dispositivos móveis e desktops e mecanismo do CodeVerifier

[Copiar link]
Publicado em 28/11/2020 20:51:48 | | | |
Os aplicativos desktop e mobile são navegadores incorporados no app para auxiliar na conclusão de todo o processo OAuth 2.0

O processo é mostrado na figura



OAuth2.0 web
1) Devolver o authCode para o Web redirectUri especificado (esse URI é configurado pelo desenvolvedor do app)
2) Para alterar o token, é necessário passar o clientId e o clientSecret para verificar a identidade do cliente (obtida pelo serviço backend da aplicação)

Observando os dois pontos acima,
1) Porque não o app web app detecção de redirecionamento Uri é inválida
2) Como não existe um cliente de serviço backendSecret não é seguro
Então, o ataque que podemos encontrar é como mostrado na figura abaixo: pode haver uma aplicação maliciosa interceptando o authCode para enviar uma mensagem ao AuthorizationServer para obter o token, de modo que o token seja obtido sem a autorização do cliente para a aplicação, mas para outra autorização oficial de aplicação, alcançando o propósito do ataque.



Solução:

1. O cliente gera uma string: verificador de código aleatória e salva essa string aleatória
code_challenge = transform(code_verifier, [Plain| S256])
Se o método de transformação for simples, então o desafio de código é equivalente ao verificador de código
Se o método de transformação for S256, então o desafio do código é igual ao hash Sha256 do verificador de código
2. Traga um desafio de código para a solicitação de código de autorização e como gerar um desafio de código. Esses dois estão vinculados ao código de autorização emitido pelo servidor
3. Após obter o código de autorização, o cliente traz o verificador de código inicialmente gerado ao trocar o código de autorização pelo Access Token. O servidor calcula o verificador de código de acordo com o método de transformação limitada, compara o resultado calculado com o desafio do código vinculado e emite um Access Token se for consistente.




Anterior:.NET/C# gera um arquivo CS a partir de um arquivo XML WSDL
Próximo:ASP.NET Core (iii) Criar instâncias dinamicamente usando ActivatorUtilities
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com