Sistema de Identificação OpenID Vanessa Marques de Assis

Preview:

Citation preview

Sistema de Identificação OpenID

Vanessa Marques de Assis

Page 2

Muitas senhas para lembrar

Muitos sites onde preciso inserir meus dados

O Problema

Page 3

Anotar minhas senhas?

Usar o mesmo username e senha para todos os sites?

O que fazer?

Page 4

A solução: OpenID

Autenticação Única

O usuário escolhe seu provedor

Poucos locais com seus dados

Page 5

Protocolo

Agentes

Page 6

Protocolo

Processo de autenticação

1. URL ou XRI único

2. Descoberta, redirecionamento e pedido de autenticação

3. Entrada de username e senha

Page 7

Protocolo

Processo de autenticação

1. URL ou XRI único

2. Descoberta, redirecionamento e pedido de autenticação

3. Entrada de username e senha e confirmação de informações.

4. Autenticação realizada com sucesso

Page 8

Protocolo

Autenticação Única

5. URL ou XRI único

6. Pedido de autenticação. Verificação do ID da sessão.

7. Permitir autenticação: dessa vez, sempre ou negar

8. Verificação realizada com sucesso

Page 9

Protocolo

Processo de Descoberta

• Protocolo XRI para a descoberta do documento XRDS

• Protocolo Yadis para a descoberta do documento XRDS

• Análise do documento HTML apontado pela URLEx.: <link rel="openid2.provider" href="http://www.exemplo.org/openid"/>

Page 10

Protocolo

Protocolo Yadis

• Identificador único: ID Yadis

• Pedido HTTP

• Resposta contém uma referência para documento XRDS

Page 11

Segurança

Três Cenários

• Usuário Malicioso

• RP Malicioso

• Provedor Malicioso

Page 12

Segurança

Usuário Malicioso

• Acessar host internoEx.: localhost/admin.php?action=sql&query=DROP TABLE user

• Forçar acesso a host externoEx.: www.exemplo.com/falhadeseguranca.php?attack=true

• Inundação e negação de serviçoEx.: Muitos pedidos de autenticação em pouco tempo

Page 13

Segurança

Como evitar?

• FiltrosNão deixe o usuário inserir a URL que quiser

• Banir excesso de pedidos de autenticação que não passam pelo processo de descoberta

• Banir muitos pedidos de autenticação em pouco tempo

Page 14

Segurança

RP Malicioso

Page 15

Segurança

Como usuário evita?

Page 16

Segurança

Como provedor evita?

Page 17

Segurança

Provedor Malicioso

• Privilégios únicos

• Pode passar-se por usuário

• Possui informações sobre o usuário

Page 18

Segurança

Como evitar?

• Provedor de confiança

• Utilização de domínio próprioEx.: O domínio http://vanessa.exemplo.net possui em seu HTML o trecho:<link rel="openid2.provider" href="http://www.exemplo.org/openid"/><link rel="openid2.local_id" href="http://vanessa.exemplo.org"/>

Page 19

Conclusão

Solução barata e simples de implementar

Principais falhas de segurança

Popularização é um ponto positivo

Não é ideal para alguns tipos de tarefa

Page 20

Perguntas

1. Quais são os principais problemas que o protocolo OpenID visa solucionar?

Page 21

Perguntas

1. Quais são os principais problemas que o protocolo OpenID visa solucionar?

Com o aumento do número de serviços online, um mesmo usuário acaba tendo diversas contas, precisando decorar muitas senhas diferentes. E como há a necessidade da criação de uma conta para a utilização de cada serviço, acabamos inserindo informações pessoais em websites que por vezes não confiamos ou conhecemos a fim de conseguir uma autenticação para acessá-lo, o que permite que diversos locais tenham acesso a essas informações.

Page 22

Perguntas

2. Por que a prática de utilizar um mesmo username e senha para diversos sites não é segura?

Page 23

Perguntas

2. Por que a prática de utilizar um mesmo username e senha para diversos sites não é segura?

Essa é uma prática pouquíssimo segura pois basta que um dos websites em que o usuário se inscreveu seja malicioso ou tenha sua segurança violada para que obtenham a autenticação do usuário e, através dela, tenham acesso a outros websites onde o usuário é cadastrado. Sendo assim, a segurança de todos os websites utilizados pelo usuário estará sujeita àquele com menor segurança.

Page 24

Perguntas

3. Quais são os principais agente envolvidos no protocolo OpenID?

Page 25

Perguntas

3. Quais são os principais agente envolvidos no protocolo OpenID?

Usuário: Pode ser representado pelo navegador utilizado pelo usuário final para acessar um website (relying party) e autenticar-se utilizando uma identidade OpenID obtida de um provedor OpenID de sua escolha

Provedor OpenID  (OP): Um servidor de autenticação que fornece uma ou mais identidades para o usuário final e valida as credenciais do usuário para autenticação. O usuário tem liberdade para escolher um provedor OpenID no qual confie

Relying Party (RP): O website onde o usuário deseja conectar-se, utilizando um identificador OpenID. Esse identificador será validado pelo provedor OpenID do usuário.

Page 26

Perguntas

4. O que é phishing e qual agente do protocolo OpenID pode realizar esse tipo de ataque?

Page 27

Perguntas

4. O que é phishing e qual agente do protocolo OpenID pode realizar esse tipo de ataque?Phishing é uma forma de fraude virtual, onde o atacante faz uma cópia de um website a fim de fazer com que o usuário acredite que se encontra no website verdadeiro para então obter a identidade do usuário e os dados pessoais que ele fornece ao local que ele acredita que seja de sua confiança. No protocolo OpenID, o agente que pode realizar esse tipo de ataque é o RP, falsificando o site do provedor OpenID utilizado pelo usuário com o objetivo de obter seu username e senha.

Page 28

Perguntas

5. Que medidas o usuário e o provedor podem tomar para se prevenir de fraudes como phishing?

Page 29

Perguntas

5. Que medidas o usuário e o provedor podem tomar para se prevenir de fraudes como phishing?Para o usuário, uma das maneiras mais rápidas e eficazes de se identificar o phishing é através da análise da URL. Ou seja, é fortemente recomendado que o usuário verifique com atenção a URL do provedor OpenID e confirme que ela de fato está de acordo com a URL original antes de inserir os dados para sua autenticação. Se a URL parecer suspeita, é possível que o RP esteja tentando executar um ataque de phishing. O usuário pode também utilizar complementos em seu navegador que realizem esse tipo de verificação.Já o provedor deve criar uma página de autenticação que seja fácil para que os usuários reconheçam mas que ao mesmo tempo seja difícil para que terceiros falsifiquem. Um exemplo apresentado é o selo de autenticação utilizado pelo Yahoo!.

Page 30

Fim

Obrigada.

Recommended