Your SlideShare is downloading. ×
0
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 ...
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...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Desde que existem compu...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Senhas
Schneier escreve...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Senhas
Se acrescentarmo...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
No modelo tradicional d...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Para que o cliente poss...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Principais Caracteristi...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Ao fornecer um Token e ...
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 entid...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Tokens e Credenciais
O ...
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...
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...
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...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas com o OAuth 1...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Principais caracteristi...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Quatro ´areas gerais on...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Al´em de implementar to...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Seis novos fluxos
User-A...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Tokens Bearer
Op¸c˜ao s...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Assinaturas Simplificada...
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
...
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...
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...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Problemas potenciais:
A...
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...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conclus˜oes
Neste momen...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Conclus˜oes
Caso seja n...
Sum´ario Introdu¸c˜ao O protocolo OAuth 1.0 O protocolo OAuth 2.0 Problemas potenciais Conclus˜oes
Obrigado. Quest˜oes?
Jo...
Upcoming SlideShare
Loading in...5
×

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

863

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
863
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×