SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
OAuth 1.0 vs OAuth 2.0 - Principais
diferen¸cas e as raz˜oes para a cria¸c˜ao de um
novo protocolo de delega¸c˜ao de credenciais.
Jo˜ao Alves
ISCTE-IUL
15 de Julho de 2011
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Sum´ario
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Desde que existem computadores que h´a utilizadores e senhas.
A gest˜ao de senhas tem sido sempre uma quest˜ao complicada, pois
na maioria das vezes elas representam o elo mais fraco na cadeia
de seguran¸ca. Como demonstrado empiricamente no estudo
realizado por Hayashi, ”todos os participantes, excepto um
reutiliza as suas senhas para m´ultiplas contas/sistemas” e noutro
estudo feito por Gaw onde ”os participantes relataram ter apenas
algumas senhas ´unicas”.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Senhas
Schneier escreveu ”a abordagem tradicional para autentica¸c˜ao ´e
uma senha”. Stallings escreveu ”A linha de frente de defesa contra
intrusos ´e o sistema de senhas”, Schneier destacou que
”infelizmente, o sistema utilizador/senha funciona pior do as
pessoas pensam”. Gollmann acredita que ”com as senhas, tˆem-se
observado um trade-off entre a complexidade das senhas e as
faculdades da mem´oria humana em decor´a-las”. Com base em
estudos Gaw demonstra que ”[...] as taxas de reutiliza¸c˜ao de
senhas aumentaram porque as pessoas disp˜oem de mais contas,
mas n˜ao criam mais senhas.”.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Senhas
Se acrescentarmos a necessidade de dar o nosso pr´oprio
utilizador/senha para uma entidade terceira executar uma ac¸c˜ao na
nossa informa¸c˜ao seria realmente uma m´a ideia.
O protocolo OAuth vem como solu¸c˜ao para este problema.
Este protocolo foi criado como um m´etodo standard para permitir
que os clientes acedam a recursos do servidor, em nome do
propriet´ario de um recurso (o utilizador). Tem a capacidade de
fazer isso sem dar ao cliente as credenciais do propriet´ario do
recurso.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Sum´ario
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
No modelo tradicional de autentica¸c˜ao cliente-servidor, o cliente
usa as suas credenciais para aceder aos seus recursos armazenados
pelo servidor. O OAuth introduz um terceiro papel com este
modelo: o propriet´ario do recurso. No modelo OAuth, o cliente
(que n˜ao ´e o propriet´ario do recurso, mas quem est´a a actuar em
seu nome) faz pedidos de acesso aos recursos controlados pelo
propriet´ario do recurso, mas armazenado pelo servidor (servidor de
recursos protegidos).
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Para que o cliente possa aceder aos recursos, ele primeiro tem de
obter permiss˜ao do propriet´ario do recurso. Essa permiss˜ao ´e
expressa na forma de um Token e o correspondente segredo
partilhado (shared-secret). O objectivo do Token ´e tornar
desnecess´aria para o propriet´ario do recurso a partilha das suas
credenciais (utilizador/senha) com o cliente. Ao contr´ario das
credenciais do propriet´ario do recurso, os Tokens podem ser
emitidos com um ˆambito restrito e vida ´util limitada, e revogados
de forma independente.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Principais Caracteristicas:
Desenhado para HTTP
Definido no RFC 5849
Baseado em alguns protocolos propriet´arios (Google AuthSub,
API Flickr e Yahoo BBAuth)
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Ao fornecer um Token e o correspondente segredo partilhado
(shared-secret) ´e poss´ıvel para o propriet´ario do recurso dar acesso
a um recurso protegido sem revelar as suas credenciais
(utilizador/senha) ao servi¸co final que vai aceder aos dados
(cliente). Para tudo isto ´e necess´ario que o servidor de recursos
protegidos e o cliente suportem o protocolo OAuth.
O Token adiciona uma vantagem adicional para o acesso
pretendido, por ser capaz de definir o ˆambito do acesso e o per´ıodo
de tempo no qual ´e v´alido.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Pap´eis
H´a trˆes entidades principais envolvidas numa conversa¸c˜ao OAuth:
Propriet´ario do recurso - o utilizador final;
Cliente - aquele que vai aceder aos recursos, tipicamente um
servidor;
Servidor de recursos protegidos - o servidor que alberga os
recursos do propriet´ario.
Estes pap´eis s˜ao usados em qualquer transac¸c˜ao OAuth. Por vezes,
o propriet´ario do recurso e o cliente s˜ao o mesmo.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Tokens e Credenciais
O OAuth usa trˆes tipos de credenciais:
Credenciais do Cliente
As credenciais do cliente s˜ao usadas para autenticar o cliente.
Credenciais de Token
As credenciais de Token s˜ao usadas em vez do nome do
propriet´ario dos recursos e da senha.
Credenciais tempor´arias
O processo de autoriza¸c˜ao OAuth tamb´em usa um conjunto de
credenciais tempor´arias que s˜ao usadas para identificar o pedido de
autoriza¸c˜ao.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 1.0
A autentica¸c˜ao OAuth ´e o processo no qual os utilizadores
concedem acesso aos seus recursos protegidos sem partilhar as suas
credenciais com o cliente. O OAuth usa Tokens gerados pelo
Servidor de recursos protegidos em vez de credenciais do utilizador
em pedidos de recursos protegidos. O processo utiliza dois tipos de
Token: Tokens de pedido e Tokens de acesso.
Token de pedido
Utilizado pelo cliente para pedir ao utilizador para autorizar o
acesso aos recursos protegidos.
Token de Acesso
Utilizado pelo cliente para aceder aos recursos protegidos em nome
do utilizador.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 1.0
Processo de Autentica¸c˜ao
Todos os pedidos baseados em OAuth s˜ao muito parecidos. Est´a a
ser identificado um recurso para o qual se quer fazer um pedido, ´e
constru´ıda uma cadeia (string) que descreve o pedido e as suas
credenciais para fazˆe-lo, e ent˜ao a cadeia (string) ´e assinada
usando um conjunto de segredos.
´E como endere¸car uma carta onde o endere¸co e o carimbo n˜ao
descrevem apenas o destino, mas tamb´em o conte´udo.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 1.0
Ciclo do pedido OAuth:
1 ´E pedido um Token de pedido e ´e especificado o seu retorno;
2 O utilizador ´e redireccionado para o ecr˜a de autoriza¸c˜ao (no
Servidor de recursos protegidos);
3 Poder´a neste momento receber uma chamada de retorno
numa URL que foi especificada em 1, ou o membro digita um
c´odigo PIN (autentica¸c˜ao out-of-band);
4 Pedir Token de acesso;
5 Fazer chamadas `a API do Servidor de recursos protegidos.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 1.0
Figura: Fluxo de Autentica¸c˜ao OAUTH 1.0a
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1.0
Conversa¸c˜ao criptogr´afica complexa
A forma como o OAuth 1.0 ´e implementado torna a cria¸c˜ao de
scripts complexa devido `a conversa¸c˜ao criptogr´afica envolvida na
negocia¸c˜ao do Token.
suporte de aplica¸c˜oes n˜ao-web
´E necess´ario encaminhar o utilizador para abrir o browser para o
servi¸co desejado, autenticar com o servi¸co, e copiar o Token do
servi¸co de volta para a aplica¸c˜ao.
Per´ıodo de vida longo dos Tokens
Os Tokens gerados por esta vers˜ao tˆem um per´ıodo de vida longo e
poder˜ao ser usados por um longo per´ıodo de tempo.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1.0
Parsing complicado
Uma vez que esta vers˜ao do protocolo pode ser implementada
usando HTTP n˜ao criptografado, ´e necess´ario que a aplica¸c˜ao use
hashs Token HMAC e cadeias de pedidos. Para o protocolo
funcionar ´e igualmente necess´ario fazer um conjunto especial de
ac¸c˜oes (parsing) que apresentam uma complexidade elevada.
Problemas de Escalabilidade
A escalabilidade ´e complexa devido `a existˆencia de um processo de
gest˜ao do estado do protocolo nas diferentes etapas, com
credenciais tempor´arias e de acesso que possivelmente requerem a
emiss˜ao de credenciais de longa dura¸c˜ao, que s˜ao menos seguras e
mais dif´ıceis de gerir (e sincronizar em grandes ambientes).
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1.0
Al´em disso, o OAuth 1.0 requer que os pontos terminais protegidos
dos recursos tenham acesso `as credenciais do cliente, a fim de
validar o pedido. Isto impossibilita a arquitectura t´ıpica da maioria
dos grandes fornecedores em que um servidor centralizado de
autoriza¸c˜ao ´e usado para a emiss˜ao de credenciais, e um servidor
separado ´e usado para chamadas de API. O OAuth 1.0 requer o
uso dos dois conjuntos de credenciais: as credenciais do cliente e
as credenciais Token o que faz com que essa separa¸c˜ao seja muito
complexa.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Sum´ario
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Principais caracteristicas:
Protocolo novo incompativel com o 1.0;
´E o resultado de um trabalho colaborativo de um grande
n´umero de empresas como Yahoo, Facebook, Salesforce,
Microsoft, Twitter, Deutsche Telekom, Intuit, Mozilla e
Google;
Adop¸c˜ao r´apida desta tecnologia por parte de Facebook,
Twitter e Google;
Ainda n˜ao se encontra na sua vers˜ao final.
No momento em que foi escrito este artigo, o protocolo ainda
estava em desenvolvimento sendo ainda um projecto IETF-draft.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Quatro ´areas gerais onde mudou:
O SSL passou a ser necess´ario em todas as comunica¸c˜oes
quando ´e necess´ario para gerar o Token;
As assinaturas n˜ao s˜ao necess´arias para as chamadas `a API a
partir do momento que o Token ´e gerado;
Apenas um Token de seguran¸ca, e a assinatura n˜ao ´e
necess´aria;
A separa¸c˜ao de propriet´ario de recursos e servidor de
autoriza¸c˜ao ´e clara.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Al´em de implementar todas as ”boas”caracter´ısticas de 1.0 s˜ao
criadas algumas novas:
Seis novos fluxos;
Tokens Bearer;
Assinaturas simplificadas;
Tokens de curta dura¸c˜ao com autoriza¸c˜oes de vida longa;
Separa¸c˜ao de Pap´eis
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Seis novos fluxos
User-Agent - para clientes que s˜ao executados dentro de um
agente de utilizador (geralmente um browser web).
Web Server - para clientes que fazem parte de uma aplica¸c˜ao
de servidor web, acess´ıvel atrav´es de solicita¸c˜oes HTTP.
Dispositivo - para clientes executados em dispositivos
limitados - requer acesso independente a um browser.
Utilizador e Senha - utilizado nos casos em que o utilizador
confia no cliente para lidar com as suas credenciais.
Credenciais clientes - o cliente usa suas credenciais para obter
um Token de acesso.
Afirma¸c˜ao (assertion) - o cliente apresenta uma afirma¸c˜ao
SAML para o servidor de autoriza¸c˜ao.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Tokens Bearer
Op¸c˜ao sem criptografia para autentica¸c˜ao, que se baseia na
arquitectura existente cookie de autentica¸c˜ao. Em vez de enviar os
pedidos assinados com segredos e HMAC Token, o Token ´e usado
como um segredo e enviado atrav´es de SSL.
Outros tipos de Tokens
MAC - ´e equivalente ao esquema de Token no OAuth 1.0
SAML - usa afirma¸c˜oes SAML 2.0 em cada pedido como uma
forma de estabelecer a identidade do cliente.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Assinaturas Simplificadas
O Suporte `a assinatura foi significativamente simplificado para
remover a necessidade de tratamento especial, codifica¸c˜ao e
classifica¸c˜ao dos parˆametros.
Tokens de curta dura¸c˜ao com autoriza¸c˜oes de vida longa
Em vez de emitir um Token de longa dura¸c˜ao (normalmente por
um ano ou eterno), o servidor pode emitir um Token de acesso de
curta dura¸c˜ao e uma vida longa do Token de actualiza¸c˜ao.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Separa¸c˜ao de pap´eis
O OAuth 2.0 separa o papel do servidor de autoriza¸c˜ao respons´avel
pela obten¸c˜ao da autoriza¸c˜ao do utilizador e a emiss˜ao de Tokens
do servidor de recursos que trata das chamadas `a API. Assim, e em
contraponto com o OAuth 1.0 existem claramente quatro pap´eis:
Propriet´ario do recurso - o utilizador final;
Cliente - aquele que precisa de aceder aos recursos,
tipicamente um servidor;
Servidor de recursos protegidos - o servidor que alberga os
recursos do propriet´ario;
Servidor de Autoriza¸c˜ao - o servidor que emite os Tokens para
o Cliente.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 2.0
Figura: OAuth 2.0 Protocol FLOW
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conversa¸c˜ao OAuth 2.0
O processo de conversa¸c˜ao do protocolo pode ser descrito em seis
passos:
(A) O cliente solicita autoriza¸c˜ao ao propriet´ario do recurso.
(B) O cliente recebe uma concess˜ao de autoriza¸c˜ao, que representa
a autoriza¸c˜ao fornecida pelo propriet´ario do recurso.
(C) O cliente solicita um Token de acesso autenticando-se junto
do servidor com a concess˜ao de autoriza¸c˜ao.
(D) O servidor de autoriza¸c˜ao autentica o cliente e valida a
concess˜ao de autoriza¸c˜ao, e se esta for v´alida emite o Token
de acesso.
(E) O cliente pede o recurso protegido ao servidor de recursos
protegidos e autentica-se com o Token de acesso.
(F) O servidor de recursos valida o Token de acesso, e se for
v´alido, serve o pedido.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Sum´ario
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas potenciais:
Ataques de Phishing
CSRF, o Clickjacking
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Sum´ario
1 Introdu¸c˜ao
Senhas
2 O protocolo OAuth 1.0
Pap´eis
Tokens e Credenciais
Conversa¸c˜ao OAuth 1.0
Problemas com o OAuth 1.0
3 O protocolo OAuth 2.0
Conversa¸c˜ao OAuth 2.0
4 Problemas potenciais
5 Conclus˜oes
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conclus˜oes
Neste momento, e atendendo a que o OAuth 2.0 ainda n˜ao ´e um
standard, as implementa¸c˜oes que estiverem a ser desenvolvidas
devem ficar preparadas para serem ajustadas `a medida que os
”servidores de recursos protegidos”e as APIs forem actualizando o
protocolo de acordo com a evolu¸c˜ao do draft.
Por outro lado, a necessidade de utilizar um ou outro protocolo
est´a sempre dependente do que os grandes ”players” da Internet
disponibilizam e se os servi¸cos que se pretende consumir suportam
um protocolo ou outro. A t´ıtulo de exemplo o Twitter, o Facebook
e o Google j´a disponibilizam servi¸cos suportados somente em 2.0.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conclus˜oes
Caso seja necess´ario implementar as componentes de servidor de
recursos protegidos e servidor de autoriza¸c˜ao (caso seja um servi¸co
na rede) faz todo o sentido usar o OAuth 2.0 dada a esperada
longividade que este ir´a ter face ao 1.0.
O grau de maturidade do draft – analisado o draft-ietf-oauth-v2-18
– apresenta j´a um aspecto bastante proximo do que ser´a o
protocolo final publicado em RFC, ficando ainda por clarificar
alguns aspectos como o Registo dos Clientes, a defini¸c˜ao do URI
de redireccionamento ou a defini¸c˜ao de tipos de endpoints de
autoriza¸c˜ao.
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Obrigado. Quest˜oes?
Jo˜ao Alves ISCTE-IUL
OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.

Weitere ähnliche Inhalte

Was ist angesagt?

DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...Simplilearn
 
Server configuration
Server configurationServer configuration
Server configurationAisha Talat
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreVikalp Bhalia
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysAngel Alberici
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed applicationRishikese MR
 
Batch Message Listener capabilities of the Apache Kafka Connector
Batch Message Listener capabilities of the Apache Kafka ConnectorBatch Message Listener capabilities of the Apache Kafka Connector
Batch Message Listener capabilities of the Apache Kafka ConnectorNeerajKumar1965
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Simplilearn
 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computinggaurav jain
 
Web Server And Database Server
Web Server And Database ServerWeb Server And Database Server
Web Server And Database ServerMahbubur Rahman
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using pythonVISHAL VERMA
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63Angel Alberici
 
Distributed Transaction in Microservices.pdf
Distributed Transaction in Microservices.pdfDistributed Transaction in Microservices.pdf
Distributed Transaction in Microservices.pdfrony setyawansyah
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloudgmthomps
 

Was ist angesagt? (20)

DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
 
Server configuration
Server configurationServer configuration
Server configuration
 
Domain Controller.pptx
Domain Controller.pptxDomain Controller.pptx
Domain Controller.pptx
 
DevOps intro
DevOps introDevOps intro
DevOps intro
 
Dataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStoreDataweave Libraries and ObjectStore
Dataweave Libraries and ObjectStore
 
Unit 1
Unit 1Unit 1
Unit 1
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
Middleware and Middleware in distributed application
Middleware and Middleware in distributed applicationMiddleware and Middleware in distributed application
Middleware and Middleware in distributed application
 
Batch Message Listener capabilities of the Apache Kafka Connector
Batch Message Listener capabilities of the Apache Kafka ConnectorBatch Message Listener capabilities of the Apache Kafka Connector
Batch Message Listener capabilities of the Apache Kafka Connector
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
Historical development of cloud computing
Historical development of cloud computingHistorical development of cloud computing
Historical development of cloud computing
 
Api Gateway
Api GatewayApi Gateway
Api Gateway
 
Web Server And Database Server
Web Server And Database ServerWeb Server And Database Server
Web Server And Database Server
 
Simple chat room using python
Simple chat room using pythonSimple chat room using python
Simple chat room using python
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
Distributed Transaction in Microservices.pdf
Distributed Transaction in Microservices.pdfDistributed Transaction in Microservices.pdf
Distributed Transaction in Microservices.pdf
 
Presentation on Web Attacks
Presentation on Web AttacksPresentation on Web Attacks
Presentation on Web Attacks
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloud
 
DevOps seminar ppt
DevOps seminar ppt DevOps seminar ppt
DevOps seminar ppt
 

Ähnlich wie OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de um novo protocolo de delegação de Credenciais

Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webEduardo Cesar
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2Rodrigo Cândido da Silva
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis LaravelEduardo Cesar
 
Curso de Desenvolvimento Web - Módulo I - HTML.pdf
Curso de Desenvolvimento Web - Módulo I - HTML.pdfCurso de Desenvolvimento Web - Módulo I - HTML.pdf
Curso de Desenvolvimento Web - Módulo I - HTML.pdfailton bsj
 
Blockchain como serviço no azure
Blockchain como serviço no azureBlockchain como serviço no azure
Blockchain como serviço no azureVagner Oliveira
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2Luiz Avila
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2tdc-globalcode
 
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...tdc-globalcode
 
Implementação de Servidor OAuth
Implementação de Servidor OAuthImplementação de Servidor OAuth
Implementação de Servidor OAuthLuiz Duarte
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...tdc-globalcode
 
Implantação glpi empresa de advcacia
Implantação glpi empresa de advcaciaImplantação glpi empresa de advcacia
Implantação glpi empresa de advcaciaTiago Figueiredo
 
Documento de Requisitos v.2 - SCCI - Grupo ACCER
Documento de Requisitos v.2  - SCCI - Grupo ACCERDocumento de Requisitos v.2  - SCCI - Grupo ACCER
Documento de Requisitos v.2 - SCCI - Grupo ACCERaccer-scci
 
Overview - Bot Framework
Overview - Bot FrameworkOverview - Bot Framework
Overview - Bot FrameworkRenato Romão
 
Open Source Bootcamp Mogi das Cruzes - Bot Framework
Open Source Bootcamp Mogi das Cruzes - Bot FrameworkOpen Source Bootcamp Mogi das Cruzes - Bot Framework
Open Source Bootcamp Mogi das Cruzes - Bot FrameworkDouglas Romão
 

Ähnlich wie OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de um novo protocolo de delegação de Credenciais (20)

Explorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na webExplorando mecanismos autenticacao na web
Explorando mecanismos autenticacao na web
 
O auth2 e open id connect
O auth2 e open id connectO auth2 e open id connect
O auth2 e open id connect
 
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
 
TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2TDC 2015 - Segurança em Recursos RESTful com OAuth2
TDC 2015 - Segurança em Recursos RESTful com OAuth2
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Manipulando JWT em apis Laravel
Manipulando JWT em apis LaravelManipulando JWT em apis Laravel
Manipulando JWT em apis Laravel
 
Curso de Desenvolvimento Web - Módulo I - HTML.pdf
Curso de Desenvolvimento Web - Módulo I - HTML.pdfCurso de Desenvolvimento Web - Módulo I - HTML.pdf
Curso de Desenvolvimento Web - Módulo I - HTML.pdf
 
Blockchain como serviço no azure
Blockchain como serviço no azureBlockchain como serviço no azure
Blockchain como serviço no azure
 
#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2#TheDevConf 2018 - spring boot ionic oauth2
#TheDevConf 2018 - spring boot ionic oauth2
 
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
TDC2018SP | Trilha Java Enterprise - Protegendo sua API Spring Boot com OAuth2
 
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
 
Implementação de Servidor OAuth
Implementação de Servidor OAuthImplementação de Servidor OAuth
Implementação de Servidor OAuth
 
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
 
Web service
Web serviceWeb service
Web service
 
JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
Implantação glpi empresa de advcacia
Implantação glpi empresa de advcaciaImplantação glpi empresa de advcacia
Implantação glpi empresa de advcacia
 
Documento de Requisitos v.2 - SCCI - Grupo ACCER
Documento de Requisitos v.2  - SCCI - Grupo ACCERDocumento de Requisitos v.2  - SCCI - Grupo ACCER
Documento de Requisitos v.2 - SCCI - Grupo ACCER
 
Overview - Bot Framework
Overview - Bot FrameworkOverview - Bot Framework
Overview - Bot Framework
 
Open Source Bootcamp Mogi das Cruzes - Bot Framework
Open Source Bootcamp Mogi das Cruzes - Bot FrameworkOpen Source Bootcamp Mogi das Cruzes - Bot Framework
Open Source Bootcamp Mogi das Cruzes - Bot Framework
 
PHP SSO no Zentyal
PHP SSO no ZentyalPHP SSO no Zentyal
PHP SSO no Zentyal
 

Mehr von Joao Alves

CSEduino @ european maker week
CSEduino @  european maker weekCSEduino @  european maker week
CSEduino @ european maker weekJoao Alves
 
CSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireCSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireJoao Alves
 
Stuff harvesting - Gather your electronic components for hobbyist
Stuff harvesting - Gather your electronic components for hobbyistStuff harvesting - Gather your electronic components for hobbyist
Stuff harvesting - Gather your electronic components for hobbyistJoao Alves
 
CSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchCSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchJoao Alves
 
Jogo em Javascript com HTML5
Jogo em Javascript com HTML5Jogo em Javascript com HTML5
Jogo em Javascript com HTML5Joao Alves
 
Robot Lego programado em Java
Robot Lego programado em JavaRobot Lego programado em Java
Robot Lego programado em JavaJoao Alves
 
NXTTour: An Open Source Robotic System Operated over the Internet
NXTTour: An Open Source Robotic System Operated over the InternetNXTTour: An Open Source Robotic System Operated over the Internet
NXTTour: An Open Source Robotic System Operated over the InternetJoao Alves
 

Mehr von Joao Alves (7)

CSEduino @ european maker week
CSEduino @  european maker weekCSEduino @  european maker week
CSEduino @ european maker week
 
CSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker FaireCSEduino presentation at Lisbon Mini Maker Faire
CSEduino presentation at Lisbon Mini Maker Faire
 
Stuff harvesting - Gather your electronic components for hobbyist
Stuff harvesting - Gather your electronic components for hobbyistStuff harvesting - Gather your electronic components for hobbyist
Stuff harvesting - Gather your electronic components for hobbyist
 
CSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratchCSEduino - Build your Arduino from scratch
CSEduino - Build your Arduino from scratch
 
Jogo em Javascript com HTML5
Jogo em Javascript com HTML5Jogo em Javascript com HTML5
Jogo em Javascript com HTML5
 
Robot Lego programado em Java
Robot Lego programado em JavaRobot Lego programado em Java
Robot Lego programado em Java
 
NXTTour: An Open Source Robotic System Operated over the Internet
NXTTour: An Open Source Robotic System Operated over the InternetNXTTour: An Open Source Robotic System Operated over the Internet
NXTTour: An Open Source Robotic System Operated over the Internet
 

OAuth 1.0 vs OAuth 2.0 - Principais diferenças e as razões para a criação de um novo protocolo de delegação de Credenciais

  • 1. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais. Jo˜ao Alves ISCTE-IUL 15 de Julho de 2011 Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 2. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 3. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Sum´ario 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 4. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Desde que existem computadores que h´a utilizadores e senhas. A gest˜ao de senhas tem sido sempre uma quest˜ao complicada, pois na maioria das vezes elas representam o elo mais fraco na cadeia de seguran¸ca. Como demonstrado empiricamente no estudo realizado por Hayashi, ”todos os participantes, excepto um reutiliza as suas senhas para m´ultiplas contas/sistemas” e noutro estudo feito por Gaw onde ”os participantes relataram ter apenas algumas senhas ´unicas”. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 5. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Senhas Schneier escreveu ”a abordagem tradicional para autentica¸c˜ao ´e uma senha”. Stallings escreveu ”A linha de frente de defesa contra intrusos ´e o sistema de senhas”, Schneier destacou que ”infelizmente, o sistema utilizador/senha funciona pior do as pessoas pensam”. Gollmann acredita que ”com as senhas, tˆem-se observado um trade-off entre a complexidade das senhas e as faculdades da mem´oria humana em decor´a-las”. Com base em estudos Gaw demonstra que ”[...] as taxas de reutiliza¸c˜ao de senhas aumentaram porque as pessoas disp˜oem de mais contas, mas n˜ao criam mais senhas.”. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 6. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Senhas Se acrescentarmos a necessidade de dar o nosso pr´oprio utilizador/senha para uma entidade terceira executar uma ac¸c˜ao na nossa informa¸c˜ao seria realmente uma m´a ideia. O protocolo OAuth vem como solu¸c˜ao para este problema. Este protocolo foi criado como um m´etodo standard para permitir que os clientes acedam a recursos do servidor, em nome do propriet´ario de um recurso (o utilizador). Tem a capacidade de fazer isso sem dar ao cliente as credenciais do propriet´ario do recurso. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 7. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Sum´ario 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 8. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes No modelo tradicional de autentica¸c˜ao cliente-servidor, o cliente usa as suas credenciais para aceder aos seus recursos armazenados pelo servidor. O OAuth introduz um terceiro papel com este modelo: o propriet´ario do recurso. No modelo OAuth, o cliente (que n˜ao ´e o propriet´ario do recurso, mas quem est´a a actuar em seu nome) faz pedidos de acesso aos recursos controlados pelo propriet´ario do recurso, mas armazenado pelo servidor (servidor de recursos protegidos). Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 9. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Para que o cliente possa aceder aos recursos, ele primeiro tem de obter permiss˜ao do propriet´ario do recurso. Essa permiss˜ao ´e expressa na forma de um Token e o correspondente segredo partilhado (shared-secret). O objectivo do Token ´e tornar desnecess´aria para o propriet´ario do recurso a partilha das suas credenciais (utilizador/senha) com o cliente. Ao contr´ario das credenciais do propriet´ario do recurso, os Tokens podem ser emitidos com um ˆambito restrito e vida ´util limitada, e revogados de forma independente. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 10. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Principais Caracteristicas: Desenhado para HTTP Definido no RFC 5849 Baseado em alguns protocolos propriet´arios (Google AuthSub, API Flickr e Yahoo BBAuth) Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 11. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Ao fornecer um Token e o correspondente segredo partilhado (shared-secret) ´e poss´ıvel para o propriet´ario do recurso dar acesso a um recurso protegido sem revelar as suas credenciais (utilizador/senha) ao servi¸co final que vai aceder aos dados (cliente). Para tudo isto ´e necess´ario que o servidor de recursos protegidos e o cliente suportem o protocolo OAuth. O Token adiciona uma vantagem adicional para o acesso pretendido, por ser capaz de definir o ˆambito do acesso e o per´ıodo de tempo no qual ´e v´alido. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 12. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Pap´eis H´a trˆes entidades principais envolvidas numa conversa¸c˜ao OAuth: Propriet´ario do recurso - o utilizador final; Cliente - aquele que vai aceder aos recursos, tipicamente um servidor; Servidor de recursos protegidos - o servidor que alberga os recursos do propriet´ario. Estes pap´eis s˜ao usados em qualquer transac¸c˜ao OAuth. Por vezes, o propriet´ario do recurso e o cliente s˜ao o mesmo. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 13. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Tokens e Credenciais O OAuth usa trˆes tipos de credenciais: Credenciais do Cliente As credenciais do cliente s˜ao usadas para autenticar o cliente. Credenciais de Token As credenciais de Token s˜ao usadas em vez do nome do propriet´ario dos recursos e da senha. Credenciais tempor´arias O processo de autoriza¸c˜ao OAuth tamb´em usa um conjunto de credenciais tempor´arias que s˜ao usadas para identificar o pedido de autoriza¸c˜ao. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 14. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 1.0 A autentica¸c˜ao OAuth ´e o processo no qual os utilizadores concedem acesso aos seus recursos protegidos sem partilhar as suas credenciais com o cliente. O OAuth usa Tokens gerados pelo Servidor de recursos protegidos em vez de credenciais do utilizador em pedidos de recursos protegidos. O processo utiliza dois tipos de Token: Tokens de pedido e Tokens de acesso. Token de pedido Utilizado pelo cliente para pedir ao utilizador para autorizar o acesso aos recursos protegidos. Token de Acesso Utilizado pelo cliente para aceder aos recursos protegidos em nome do utilizador. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 15. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 1.0 Processo de Autentica¸c˜ao Todos os pedidos baseados em OAuth s˜ao muito parecidos. Est´a a ser identificado um recurso para o qual se quer fazer um pedido, ´e constru´ıda uma cadeia (string) que descreve o pedido e as suas credenciais para fazˆe-lo, e ent˜ao a cadeia (string) ´e assinada usando um conjunto de segredos. ´E como endere¸car uma carta onde o endere¸co e o carimbo n˜ao descrevem apenas o destino, mas tamb´em o conte´udo. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 16. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 1.0 Ciclo do pedido OAuth: 1 ´E pedido um Token de pedido e ´e especificado o seu retorno; 2 O utilizador ´e redireccionado para o ecr˜a de autoriza¸c˜ao (no Servidor de recursos protegidos); 3 Poder´a neste momento receber uma chamada de retorno numa URL que foi especificada em 1, ou o membro digita um c´odigo PIN (autentica¸c˜ao out-of-band); 4 Pedir Token de acesso; 5 Fazer chamadas `a API do Servidor de recursos protegidos. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 17. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 1.0 Figura: Fluxo de Autentica¸c˜ao OAUTH 1.0a Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 18. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Problemas com o OAuth 1.0 Conversa¸c˜ao criptogr´afica complexa A forma como o OAuth 1.0 ´e implementado torna a cria¸c˜ao de scripts complexa devido `a conversa¸c˜ao criptogr´afica envolvida na negocia¸c˜ao do Token. suporte de aplica¸c˜oes n˜ao-web ´E necess´ario encaminhar o utilizador para abrir o browser para o servi¸co desejado, autenticar com o servi¸co, e copiar o Token do servi¸co de volta para a aplica¸c˜ao. Per´ıodo de vida longo dos Tokens Os Tokens gerados por esta vers˜ao tˆem um per´ıodo de vida longo e poder˜ao ser usados por um longo per´ıodo de tempo. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 19. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Problemas com o OAuth 1.0 Parsing complicado Uma vez que esta vers˜ao do protocolo pode ser implementada usando HTTP n˜ao criptografado, ´e necess´ario que a aplica¸c˜ao use hashs Token HMAC e cadeias de pedidos. Para o protocolo funcionar ´e igualmente necess´ario fazer um conjunto especial de ac¸c˜oes (parsing) que apresentam uma complexidade elevada. Problemas de Escalabilidade A escalabilidade ´e complexa devido `a existˆencia de um processo de gest˜ao do estado do protocolo nas diferentes etapas, com credenciais tempor´arias e de acesso que possivelmente requerem a emiss˜ao de credenciais de longa dura¸c˜ao, que s˜ao menos seguras e mais dif´ıceis de gerir (e sincronizar em grandes ambientes). Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 20. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Problemas com o OAuth 1.0 Al´em disso, o OAuth 1.0 requer que os pontos terminais protegidos dos recursos tenham acesso `as credenciais do cliente, a fim de validar o pedido. Isto impossibilita a arquitectura t´ıpica da maioria dos grandes fornecedores em que um servidor centralizado de autoriza¸c˜ao ´e usado para a emiss˜ao de credenciais, e um servidor separado ´e usado para chamadas de API. O OAuth 1.0 requer o uso dos dois conjuntos de credenciais: as credenciais do cliente e as credenciais Token o que faz com que essa separa¸c˜ao seja muito complexa. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 21. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Sum´ario 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 22. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Principais caracteristicas: Protocolo novo incompativel com o 1.0; ´E o resultado de um trabalho colaborativo de um grande n´umero de empresas como Yahoo, Facebook, Salesforce, Microsoft, Twitter, Deutsche Telekom, Intuit, Mozilla e Google; Adop¸c˜ao r´apida desta tecnologia por parte de Facebook, Twitter e Google; Ainda n˜ao se encontra na sua vers˜ao final. No momento em que foi escrito este artigo, o protocolo ainda estava em desenvolvimento sendo ainda um projecto IETF-draft. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 23. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Quatro ´areas gerais onde mudou: O SSL passou a ser necess´ario em todas as comunica¸c˜oes quando ´e necess´ario para gerar o Token; As assinaturas n˜ao s˜ao necess´arias para as chamadas `a API a partir do momento que o Token ´e gerado; Apenas um Token de seguran¸ca, e a assinatura n˜ao ´e necess´aria; A separa¸c˜ao de propriet´ario de recursos e servidor de autoriza¸c˜ao ´e clara. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 24. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Al´em de implementar todas as ”boas”caracter´ısticas de 1.0 s˜ao criadas algumas novas: Seis novos fluxos; Tokens Bearer; Assinaturas simplificadas; Tokens de curta dura¸c˜ao com autoriza¸c˜oes de vida longa; Separa¸c˜ao de Pap´eis Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 25. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Seis novos fluxos User-Agent - para clientes que s˜ao executados dentro de um agente de utilizador (geralmente um browser web). Web Server - para clientes que fazem parte de uma aplica¸c˜ao de servidor web, acess´ıvel atrav´es de solicita¸c˜oes HTTP. Dispositivo - para clientes executados em dispositivos limitados - requer acesso independente a um browser. Utilizador e Senha - utilizado nos casos em que o utilizador confia no cliente para lidar com as suas credenciais. Credenciais clientes - o cliente usa suas credenciais para obter um Token de acesso. Afirma¸c˜ao (assertion) - o cliente apresenta uma afirma¸c˜ao SAML para o servidor de autoriza¸c˜ao. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 26. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Tokens Bearer Op¸c˜ao sem criptografia para autentica¸c˜ao, que se baseia na arquitectura existente cookie de autentica¸c˜ao. Em vez de enviar os pedidos assinados com segredos e HMAC Token, o Token ´e usado como um segredo e enviado atrav´es de SSL. Outros tipos de Tokens MAC - ´e equivalente ao esquema de Token no OAuth 1.0 SAML - usa afirma¸c˜oes SAML 2.0 em cada pedido como uma forma de estabelecer a identidade do cliente. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 27. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Assinaturas Simplificadas O Suporte `a assinatura foi significativamente simplificado para remover a necessidade de tratamento especial, codifica¸c˜ao e classifica¸c˜ao dos parˆametros. Tokens de curta dura¸c˜ao com autoriza¸c˜oes de vida longa Em vez de emitir um Token de longa dura¸c˜ao (normalmente por um ano ou eterno), o servidor pode emitir um Token de acesso de curta dura¸c˜ao e uma vida longa do Token de actualiza¸c˜ao. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 28. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Separa¸c˜ao de pap´eis O OAuth 2.0 separa o papel do servidor de autoriza¸c˜ao respons´avel pela obten¸c˜ao da autoriza¸c˜ao do utilizador e a emiss˜ao de Tokens do servidor de recursos que trata das chamadas `a API. Assim, e em contraponto com o OAuth 1.0 existem claramente quatro pap´eis: Propriet´ario do recurso - o utilizador final; Cliente - aquele que precisa de aceder aos recursos, tipicamente um servidor; Servidor de recursos protegidos - o servidor que alberga os recursos do propriet´ario; Servidor de Autoriza¸c˜ao - o servidor que emite os Tokens para o Cliente. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 29. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 2.0 Figura: OAuth 2.0 Protocol FLOW Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 30. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conversa¸c˜ao OAuth 2.0 O processo de conversa¸c˜ao do protocolo pode ser descrito em seis passos: (A) O cliente solicita autoriza¸c˜ao ao propriet´ario do recurso. (B) O cliente recebe uma concess˜ao de autoriza¸c˜ao, que representa a autoriza¸c˜ao fornecida pelo propriet´ario do recurso. (C) O cliente solicita um Token de acesso autenticando-se junto do servidor com a concess˜ao de autoriza¸c˜ao. (D) O servidor de autoriza¸c˜ao autentica o cliente e valida a concess˜ao de autoriza¸c˜ao, e se esta for v´alida emite o Token de acesso. (E) O cliente pede o recurso protegido ao servidor de recursos protegidos e autentica-se com o Token de acesso. (F) O servidor de recursos valida o Token de acesso, e se for v´alido, serve o pedido. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 31. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Sum´ario 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 32. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Problemas potenciais: Ataques de Phishing CSRF, o Clickjacking Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 33. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Sum´ario 1 Introdu¸c˜ao Senhas 2 O protocolo OAuth 1.0 Pap´eis Tokens e Credenciais Conversa¸c˜ao OAuth 1.0 Problemas com o OAuth 1.0 3 O protocolo OAuth 2.0 Conversa¸c˜ao OAuth 2.0 4 Problemas potenciais 5 Conclus˜oes Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 34. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conclus˜oes Neste momento, e atendendo a que o OAuth 2.0 ainda n˜ao ´e um standard, as implementa¸c˜oes que estiverem a ser desenvolvidas devem ficar preparadas para serem ajustadas `a medida que os ”servidores de recursos protegidos”e as APIs forem actualizando o protocolo de acordo com a evolu¸c˜ao do draft. Por outro lado, a necessidade de utilizar um ou outro protocolo est´a sempre dependente do que os grandes ”players” da Internet disponibilizam e se os servi¸cos que se pretende consumir suportam um protocolo ou outro. A t´ıtulo de exemplo o Twitter, o Facebook e o Google j´a disponibilizam servi¸cos suportados somente em 2.0. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 35. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Conclus˜oes Caso seja necess´ario implementar as componentes de servidor de recursos protegidos e servidor de autoriza¸c˜ao (caso seja um servi¸co na rede) faz todo o sentido usar o OAuth 2.0 dada a esperada longividade que este ir´a ter face ao 1.0. O grau de maturidade do draft – analisado o draft-ietf-oauth-v2-18 – apresenta j´a um aspecto bastante proximo do que ser´a o protocolo final publicado em RFC, ficando ainda por clarificar alguns aspectos como o Registo dos Clientes, a defini¸c˜ao do URI de redireccionamento ou a defini¸c˜ao de tipos de endpoints de autoriza¸c˜ao. Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.
  • 36. Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes Obrigado. Quest˜oes? Jo˜ao Alves ISCTE-IUL OAuth 1.0 vs OAuth 2.0 - Principais diferen¸cas e as raz˜oes para a cria¸c˜ao de um novo protocolo de delega¸c˜ao de credenciais.