Ciência e Tecnologia

O que é OAuth? Como funciona e para que serve

OAuth, ou autenticação de padrão aberto, é uma estrutura ou protocolo que permite aplicativos operados pelo cliente protegem o acesso a outros servidores e serviços. Com o OAuth, esse acesso de terceiros é controlado com segurança para proteger senhas e credenciais de login.

À medida que você interage com sites ou aplicativos baseados na web, como suas contas de mídia social, terceiros podem solicitar permissão para acessar suas informações protegidas. Se você conceder permissão, o OAuth poderá proteger suas informações privadas se o terceiro sofrer uma violação ou outra situação de emergência.

Você já viu um pop-up pedindo permissão para postar em seu feed de mídia social, acessar seus dispositivos inteligentes ou compartilhar arquivos em diferentes plataformas? Se você respondeu sim, provavelmente já usou essa estrutura sem sequer perguntar “O que é OAuth?” Continue lendo para saber como o OAuth funciona, se é seguro e outras informações úteis.

Como funciona OAuth Work?

Depois de conceder a um terceiro acesso à sua conta, há um OAuth de seis etapas processo que se inicia automaticamente. Existem três grupos envolvidos nesse processo, conhecidos como fluxo OAuth: o usuário, o terceiro denominado aplicativo e o provedor de serviços.

Na maioria dos casos, o usuário é o proprietário original do perfil em questão, o aplicativo é quem deseja acessar o perfil e o provedor de serviços é onde reside o perfil em questão.

Etapas no fluxo OAuth:

Reveal Intent: O usuário revela que eles querem dar permissão a um aplicativo para acessar servidores ou serviços protegidos. Essa intenção é mais frequentemente revelada durante interações com aplicativos de mídia social ou compartilhamento de arquivos entre sistemas. Solicitar permissão do provedor de serviços: O aplicativo solicita permissão do provedor de serviços para autorização. Se for concedido, o provedor de serviços concederá ao aplicativo um token de solicitação e compartilhará uma senha gerada aleatoriamente conhecida como segredo com o usuário. O usuário assinará cada solicitação de autenticação com o segredo para que o provedor de serviços possa verificar se está realmente fazendo a solicitação.

  • Ser redirecionado: O aplicativo fornece ao usuário o token de solicitação. Eles são então redirecionados para o provedor de serviços para fornecer autorização do aplicativo.

Pedir permissão do usuário: O usuário autoriza o token de solicitação. Quando autorizado, o aplicativo retorna ao provedor de serviços sem pharming para senhas ou nomes de usuário. O provedor de serviços perguntará ao usuário quais permissões conceder e aprovar o token de solicitação. Ganhe Token de Acesso: O aplicativo troca seu token de solicitação por um token de acesso e um segredo do provedor de serviços. Acessar Perfil do Usuário: Toda vez que o aplicativo acessar os servidores ou serviços do usuário, ele deverá apresentar seu token de acesso e segredo ao provedor do serviço.

Em vez de divulgar informações de senha para usuários de terceiros, o OAuth usa tokens para autorizar a identidade de um usuário, sua conexão com uma conta e seus prestadores de serviços. Um token OAuth é mais seguro do que compartilhar informações de senha e também é protegido por um segredo conhecido apenas pelo usuário, aplicativo e provedor de serviços.

Exemplos de autenticação

Aplicativos de terceiros começaram a usar OAuth para acessar perfis de usuários, postar em contas e faça login em sites e aplicativos móveis com mais frequência. Aqui estão alguns exemplos de como o OAuth pode ser usado com aplicativos de mídia social, dispositivos domésticos inteligentes e a nuvem para compartilhar arquivos. Embora esses não sejam os únicos lugares onde o OAuth pode ser usado, eles são alguns dos espaços mais comuns onde o OAuth é usado.

Aplicativos de mídia social

Um aplicativo de mídia social abriga o perfil de um usuário, linha do tempo e informações de login, tornando-o o provedor de serviços. Para que um aplicativo externo leia qualquer parte das informações de um usuário, ele deve solicitar ao provedor de serviços um token e um segredo OAuth antes de obter acesso às informações protegidas de um usuário. Depois que o usuário autentica e autoriza o acesso do aplicativo, o OAuth continua sendo executado em segundo plano do programa para impedir que o aplicativo acesse credenciais às quais o usuário não deu acesso.

Por exemplo, se você, o usuário, deseja que um aplicativo como o ESPN publique atualizações de pontuação em seu perfil do Facebook, ele precisa solicitar acesso ao provedor de serviços. Como o Facebook é o provedor de serviços, ele precisará conceder tokens de solicitação à ESPN e tokens de acesso antes que sua página possa se tornar um placar contínuo dos jogos da temporada.

Dispositivos de casa inteligente

OAuth é necessário para autenticar e autorizar o acesso seguro a perfis de usuários em dispositivos domésticos inteligentes. Por exemplo, o Nest Learning Thermostat é um provedor de serviços que pode permitir que outros aplicativos acessem as temperaturas e configurações domésticas preferidas do usuário. Alguns aplicativos de terceiros, como o FTL Lights, podem querer acessar essas informações do Nest para acender ou apagar as luzes ou alertá-lo se a câmera de segurança notar um movimento incomum.

Se um aplicativo quisesse acessar essas informações, ele precisaria receber um token de solicitação e um segredo do Nest, solicitar autenticação do usuário e trocar o token de solicitação por um token de acesso antes acessar ou alterar o ambiente da casa.

Compartilhamento de Arquivos em Nuvem

O compartilhamento de arquivos armazenados na nuvem entre sistemas pode ser difícil sem o OAuth. Por exemplo, simplesmente compartilhar seu álbum de casamento com seus pais pode ser uma dor se você usar o Google Drive e eles usarem o Microsoft OneDrive. Normalmente, seus pais precisariam de um segundo nome de usuário e senha para acessar qualquer arquivo de e-mail anexado que você enviasse, mas o OAuth permite que você compartilhe arquivos com segurança e rapidez de um usuário para outro, independentemente do sistema ao qual o e-mail está conectado.

Embora o conteúdo de muitos usuários da nuvem seja protegido por criptografia, o OAuth é uma estrutura de proteção adicional útil ao compartilhar dados. No entanto, para que a nuvem se conecte a um sistema separado, ambos devem oferecer suporte à mesma versão e estrutura do OAuth.

OAuth 1.0 vs. OAuth 2.0

Embora o OAuth seja uma estrutura de autenticação padrão, existem diferentes versões de seus protocolos. OAuth 1.0 é a estrutura de autenticação de padrão aberto original, enquanto o OAuth 2.0 é a versão mais recente e convencional. Como o OAuth 2.0 deveria substituir as versões mais antigas da estrutura, 1.0 e 2.0 são incompatíveis. No entanto, os sites podem oferecer suporte a ambas as versões do OAuth, mesmo que haja grandes diferenças entre os dois.

OAuth 1.0OAuth 2.0Mais seguro que o OAuth 2.0

Suportado por mais sites e dispositivos
Sem expiração do token OAuthMenos seguro que o OAuth 1.0

Menos complexo que o OAuth 2.0

Os tokens de solicitação têm vida curta enquanto os tokens de atualização duram mais
Usa criptografia requisitos para a transmissão de tokens e segredosNão suporta criptografia, assinaturas ou ligação de canal
Suporta apenas três fluxos que não cobrem aplicativos que não sejam de navegador ou de dispositivos móveis O usuário precisa de um protocolo de proteção secundário como Segurança da Camada de Transporte (TLS)
Assinaturas secretas são mais simples

OAuth 2.0 é a versão mais amplamente aceita do framework, e muitos -lev el sites e especialistas incentivam os usuários a fazer deste seu protocolo de autenticação padrão.

SAML vs. OAuth

Security Assertion Markup Language (SAML) é frequentemente comparado ao OAuth. O primeiro pode ser chamado de “irmão mais velho” do OAuth devido às semelhanças entre os dois programas. Como o SAML usa XML e cookies para dar aos usuários acesso a mapas da web durante a autenticação e autorizando credenciais, acabou se tornando muito desatualizado para aplicativos móveis, da Web e de jogos de alta tecnologia.

Embora esses dois protocolos compartilhem algumas semelhanças, há uma variedade de diferenças importantes entre eles.

Diferenças entre OAuth e SAML

OAuth
SAML
Definição

Estrutura de autenticação de padrão aberto para usuários e aplicativosPadrão aberto que passa credenciais de autorização para provedores de serviços

FormatoJSONXML

Experiência de usuário

Usa chamadas de API para fornecer uma experiência móvel simplesUsa cookies de sessão para segurança empresarial

Melhor usado para

Aplicativos móveis, aplicativos web modernos, consoles de jogos e dispositivos de Internet das Coisas (IoT)

Aplicativo de logon único íons

OAuth é seguro?

Ainda não existe uma solução perfeitamente segura para manter senhas e credenciais seguras ao fornecer acesso autenticado a terceiros. No entanto, o uso do OAuth pode aumentar substancialmente a segurança durante os processos de autenticação e autorização. Além disso, combinar OAuths com Transport Layer Security (TLS) ou Secure Sockets Layer (SSL) pode aumentar ainda mais a segurança da autenticação de credenciais.

Depois de responder “O que é OAuth?” você pode estar se perguntando como evitar ser hackeado ou perder suas credenciais de login. Sem práticas adequadas de autenticação e autorização, é mais fácil para forças externas invadir contas usando man-in-the- ataques intermediários e outros ataques de roubo de credenciais.

Ser proativo e entender seu ambiente de segurança é a melhor maneira de evitar ataques de roubo de credenciais. Proteja a sua rede e acesso à Internet investindo numa VPN.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo