Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

47
Trabalho de Conclus˜ ao de Curso - UTFPR - 2011 Fernando Geraldo Mantoan Introdu¸c˜ ao Vis˜ ao geral Objetivos Procedimentos de Pesquisa Referencial Te´orico Seguran¸ca Autentica¸c˜ ao Autoriza¸ ao Cloud Computing HTTP OAuth Estrutura ısica Tecnologias Implementa¸c˜ ao Estudo de Caso de uma Estrutura de Autentica¸c˜ ao ´ Unica Utilizando o Protocolo OAuth. Fernando Geraldo Mantoan Orientador: Prof. Esp. Diego de Carvalho UTFPR - Universidade Tecnol´ogica Federal do Paran´ a, Campus Medianeira 11 de dezembro de 2011

Transcript of Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Page 1: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Estudo de Caso de uma Estrutura deAutenticacao Unica Utilizando o Protocolo

OAuth.

Fernando Geraldo MantoanOrientador: Prof. Esp. Diego de Carvalho

UTFPR - Universidade Tecnologica Federal do Parana, Campus Medianeira

11 de dezembro de 2011

Page 2: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 3: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

IntroducaoVisao geral

Visao geral

Necessidade de restringir acesso;

Autenticacao e Credenciais de acesso;

OAuth e modelo tradicional cliente-servidor;

Resource Owner (Proprietario do recurso);

Cliente (Consumidores);

Acesso a recursos controlados.

Page 4: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

IntroducaoObjetivos

Objetivo Geral

Propor uma estrutura para fornecer autenticacao unica com oprotocolo OAuth na plataforma Java, e implementar duasmini-aplicacoes que utilizem esta estrutura de autenticacao,sendo elas de plataformas de programacao diferentes.

Page 5: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

IntroducaoObjetivos

Objetivos Especıficos

Explicar os conceitos de seguranca;

Explanar o protocolo OAuth;

Apresentar as tecnologias utilizadas no desenvolvimentodas aplicacoes;

Implementar uma aplicacao que forneca autenticacaounica utilizando o protocolo OAuth;

Implementar duas aplicacoes que se autenticam utilizandoa estrutura OAuth implementada.

Page 6: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 7: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Procedimentos de Pesquisa

Procedimentos de Pesquisa

Analise Bibliografica;

Pesquisa Experimental;

Tipo de Pesquisa

AplicadaExploratoria

Page 8: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 9: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Seguranca

Seguranca

Componente crıtico;

Uso inteligente e um ponto chave;

Confidencialidade;

Integridade;

Disponibilidade;

Autenticidade.

Page 10: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

SegurancaVulnerabilidades

Vulnerabilidades

Defeito relevante no sistema;

Subversao da polıtica de seguranca;

Vulnerabilidade de projeto;

Vulnerabilidade de codificacao;

Vulnerabilidade operacional.

Page 11: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Autenticacao

Autenticacao

Identificacao de um usuario;

Mapeamento deste usuario;

Domınios (anonimo e autenticado);

Anonimo: Independentes de identificacao;

Autenticado: Funcionalidades protegidas.

Page 12: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Autorizacao

Autorizacao

Disponibilidade de dados e recursos autorizados para ousuario;

Particionamento de funcionalidades;

Privilegios, funcionalidades, dados e usuarios;

Mapeamento para papeis;

Checagens de autoridade para recursos;

Recurso protegido = Funcionalidade do sistema.

Page 13: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Cloud Computing

Cloud Computing

Forma com que infra-estruturas sao arquitetadas,compradas e implantadas;

Utilizacao como um utilitario;

Otimizacao tatica;

Artefato arquitetural estrategico;

Conjunto de solucoes escalaveis;

Alugado ou utilizado conforme a necessidade;

Nuvem privada;

Nuvem publica.

Page 14: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPIntroducao

Introducao

Hypertext Transfer Protocol ;

Navegadores de internet, servidores, aplicacoes web;

Servidores web = conteudo;

Dados requisitados pelo cliente HTTP;

Pedidos HTTP e Respostas HTTP.

Page 15: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPURI

URI

Unified Resource Identifier ;

Identificador unico de um recurso de um servidor web;

Exclusivo;

Exemplo:

http://www.site.com/imagens/imagem.gif

Page 16: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPURL

URL

Uniform Resource Locator ;

Identificador de recurso;

Localizacao de um recurso em um servidor;

Como obter o recurso;

Exemplo:

http://www.site.com/imagens/imagem.gif

Primeira parte: Esquema (http://);Segunda parte: Endereco do servidor (www.site.com);Restante: Recurso do servidor (/imagens/imagem.gif).

Page 17: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPTransacoes

Transacoes

Comando enviado do cliente ao servidor;

Resposta enviada do servidor ao cliente;

Mensagens HTTP.

Page 18: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPMetodos

Metodos

Comandos de pedido;

Acao a ser executada.

Metodo Descricao

GET Envia um recurso nomeado do servidor aocliente.

PUT Armazena dados de um cliente em um re-curso nomeado do servidor.

DELETE Exclui o recurso nomeado de um servidor.

POST Envia dados do cliente a uma aplicacaoservidora de gateway.

HEAD Envia apenas os cabecalhos HTTP da re-sposta para o recurso nomeado.

Page 19: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPCodigos de Estado

Codigos de Estado

Numero de tres dıgitos;

Resultado da execucao do pedido;

Explicacao textual.

Codigo de Estado Descricao

200 OK. Documento retornado comsucesso.

302 Redirect. Redireciona o usuariopara outro lugar para obter orecurso.

404 Not Found. Nao foi possıvel en-contrar este recurso.

Page 20: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

HTTPMensagens

Mensagens

Simples sequencias de caracteres orientadas por linha;

Mensagens de pedido (de clientes web a servidores);

Mensagens de resposta (de servidores a clientes web);

Tres partes:

Linha de inınicio;Campos de cabecalho;Corpo.

Page 21: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthIntroducao

Introducao

Open Authentication;

Padrao aberto;

2007, desenvolvedores web, delegacao de acesso, 2009Revisao 1.0A;

Acesso em nome de um resource owner, acesso deterceiros;

Cliente obtem permissa do resource owner ;

Token e chave secreta;

Sem compartilhar credenciais;

Escopo restrito, tempo de vida limitado, revogacao.

Page 22: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthTerminologia

Terminologia

Cliente;

Servidor;

Recurso Protegido;

Proprietario do recurso (resource owner);

Credenciais;

Token.

Page 23: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthBenefıcios

Benefıcios

Token de acesso abstrato sem compartilhar nenhuma dassenhas do usuario;

Controle do usuario para revogar tokens;

Os tokens podem ser exibidos aos usuarios.

Page 24: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthFuncionamento

Funcionamento

Tres etapas:

Cliente obtem credenciais temporarias;Proprietario do recurso autoriza o pedido de acesso;Conjunto de tokens do servidor.

Endpoints:

Pedido de credencial temporaria;Autorizacao do Proprietario do Recurso;Pedido de token.

Page 25: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthFuncionamento - Credenciais Temporarias

Credenciais Temporarias

HTTP “POST“, endpoint de Pedido de credencialtemporaria;

oauth callback;

Credenciais do cliente;

SSL para a transmissao dos dados;

Conjunto de credenciais temporarias

Reposta: oauth token, oauth token secret,oauth callback confirmed;

Exemplo: HTTP/1.1 200 OK Content-Type:

application/x-www-form-urlencoded

oauth token=hdk48Djdsa

&oauth token secret=xyz4992k83j47x0b

&oauth callback confirmed=true

Page 26: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthFuncionamento - Autorizacao do Proprietario do Recurso

Autorizacao do Proprietario do Recurso

Usuario deve autorizar a requisicao;

Endpoint de autorizacao do proprietario do recurso,oauth token;

Redirecionamento do agente de usuario;

Informacoes do cliente;

Autorizado, redireciona para oauth callback;

Codigo de verificacao (oauth verifier);

Retorno omitido, exibe o codigo de verificacao.

Page 27: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthFuncionamento - Credenciais de Token

Credenciais de Token

HTTP “POST“ para o endpoint de pedido de token como oauth verifier;

Credenciais do cliente e temporarias oauth token;

POST request token HTTP1.1

Host: server.example.com Authorization:

OAuth realm=‘‘Example’’,

oauth consumer key=‘‘jd83jd92dhsh93js’’,

oauth token=‘‘hdk48Djdsa’’,

oauth signature method=‘‘PLAINTEXT’’,

oauth verifier=‘‘473f82d3’’,

oauth signature=‘‘ja893SD9%26xyz4992k83j47x0b’’

Page 28: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthFuncionamento - Credenciais de Token

Credenciais de Token

Validade do pedido, autorizacao o fornecimento do token,credenciais nao expiradas;

Codigo de verificacao;

Pedido valido = Resposta com token e cod 200 “OK”;

Resposta: oauth token e oauth token secret;

HTTP/1.1 200 OK

Content-Type:

application/x-www-form-urlencoded

oauth token=j49ddk933skd9dks

&oauth token secret=ll399dj47dskfjdk

Page 29: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthRequisicoes autenticadas

Requisicoes autenticadas

Requisicoes autenticadas do protocolo HTTP;

Credenciais do cliente e do proprietario do recurso;

Necessario obter credenciais de token;

Parametros: oauth consumer key, oauth token,oauth signature method, oauth timestamp,oauth nonce, oauth version;

Envia o pedido autenticado ao servidor.

Page 30: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthRequisicoes autenticadas

Requisicoes autenticadas

Exemplo:

POST request?b5%3D%253D&a3=a&c%40=&a2=r%20b

HTTP/1.1

Host: example.com

Content-Type:

application/x-www-form-urlencoded

Authorization: OAuth realm=‘‘Example’’,

oauth consumer key=‘‘9djdj82h48djs9d2’’,

oauth token=‘‘kkk9d7dh3k39sjv7’’,

oauth signature method=‘‘HMAC-SHA1’’,

oauth timestamp=‘‘137131201’’,

oauth nonce=‘‘7d8f3e4a’’,

oauth signature=‘‘bYT5CMsGcbgUdFHObYMEfcx6bsw%3D’’

c2&a3=2+q

Page 31: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

OAuthExperiencia do usuario

Experiencia do usuario

Menos intrusao;

Tela de autorizacao com informacoes do cliente;

Autorizar/Revogar.

Figura: Tela de autorizacao do Twitter

Page 32: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 33: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Estrutura Fısica

Estrutura Fısica

GNU/Linux Ubuntu 11.10;

Navegador de internet Opera 11 e Chromium;

Fast Ethernet 100;

Notebook:

CPU Pentium Dual Core T2130 1.86GHz;2 GB de memoria DDR2 667MHz;HD de 160 GB SATA.

Page 34: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 35: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Tecnologias

Tecnologias

Java;

Spring MVC, Spring Security, Spring Security OAuth;

Hibernate;

PHP e Zend Framework;

Play! Framework;

HTML5 e CSS3;

MySQL.

Page 36: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 37: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Implementacao

Implementacao

Servidor OAuth;

Aplicacao de Agenda de Contatos;

Aplicacao de Controle de Financas.

Page 38: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

ImplementacaoServidor OAuth

Servidor OAuth

Figura: Arquitetura

Page 39: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

ImplementacaoServidor OAuth

Servidor OAuth

Model-View-Controller ;

Spring MVC, Spring Security e Spring Security OAuth;

Configuracao de endpoints OAuth;

Definicao dos controladores, servicos e repositorios;

Views com HTML5 e CSS3;

Servico de tokens em memoria.

Figura: Banco de Dados

Page 40: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

ImplementacaoAplicacao de Agenda de Contatos

Aplicacao de Agenda de Contatos

Figura: Banco de Dados

Agenda simples de contatos;

Play! Framework;

Modulo OAuth e configuracao dos endpoints,redirecionamento;

Autenticacao por OAuth;

No callback obtem dados do perfil com uma requisicaoautenticada e armazena em sessao;

Views com HTML5 e CSS3.

Page 41: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

ImplementacaoAplicacao de Controle de Financas

Aplicacao de Controle de Financas

Figura: Banco de Dados

Aplicacao simples de lancamentos de creditos e debitos;

PHP 5.3 e Zend Framework;

Zend Oauth Consumer configuracoes de endpoints,redirecionamento;

No callback obtem dados do perfil com uma requisicaoautenticada e armazena no Zend Auth;

Views com HTML5 e CSS3.

Page 42: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 43: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Resultados

Resultados

Apresentacao das aplicacoes desenvolvidas.

Page 44: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Sumario

1 IntroducaoVisao geralObjetivos

2 Procedimentos de Pesquisa3 Referencial Teorico

SegurancaAutenticacaoAutorizacaoCloud ComputingHTTPOAuth

4 Estrutura Fısica5 Tecnologias6 Implementacao

Servidor OAuthAplicacao de Agenda de ContatosAplicacao de Controle de Financas

7 Resultados8 Conclusoes

Trabalhos Futuros

Page 45: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Conclusoes

Conclusoes

Seguranca e um ponto crucial;

Centralizacao das credenciais;

Tokens, OAuth, protocolo amplamente utilizado nomercado;

Diversas bibliotecas disponıveis;

Transparencia para o usuario;

Controle do que pode acessar seus dados.

Page 46: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

ConclusoesTrabalhos Futuros

Trabalhos Futuros

Persistir tokens no banco de dados;

Persistir consumidores no banco de dados, permitindo aosadministradores controlar melhor os consumidores;

Listar aos usuarios as aplicacoes autorizadas por ele;

Revogar as aplicacoes listadas e limpar os dados dousuario na aplicacao;

Migrar para o OAuth 2.0 quando o mesmo sair dorascunho.

Page 47: Banca: Estudo de Caso de uma Estrutura de Autenticação Única utilizando o protocolo OAuth

Trabalho deConclusao de

Curso -UTFPR -

2011

FernandoGeraldo

Mantoan

Introducao

Visao geral

Objetivos

Procedimentosde Pesquisa

ReferencialTeorico

Seguranca

Autenticacao

Autorizacao

CloudComputing

HTTP

OAuth

EstruturaFısica

Tecnologias

Implementacao

Servidor OAuth

Aplicacao deAgenda deContatos

Aplicacao deControle deFinancas

Resultados

Conclusoes

TrabalhosFuturos

Obrigado

Obrigado

Obrigado.