SlideShare uma empresa Scribd logo
1 de 12
OAuth2 e OpenID Connect
Segurança de Aplicações Modernas e novas oportunidades de negócios
OAuth2 and OpenID Connect
Modern Applications Security and new business opportunities
O que é OAuth2
1. Protocolo de autorização para aplicações modernas
2. Emite tokens em troca de uma credencial
3. O token representa uma conjunto de permissões
4. O token dispensa o compartilhamento da credencial
What is OAuth2
1. Authorization protocol used by modern applications
2. Issue tokens in change for credentials
3. The token represents a permission set
4. The token dismiss the password sharing
O que é OpenID Connect
1. Extensão de OAuth2
2. Autenticação: Utiliza o modelo OAuth para conhecer o usuário se a
identidade do usuário for necessária
What is OpenID Connect
1. An OAuth2 extension
2. Authentication: Utilizes the OAuth2 way to know the user’s identity if
necessary
Exemplos: Uma conferência em um hotel
Um hóspede apresenta o número de reserva e sua identificação no saguão.
Recebe um cartão (token de acesso) que permite entrar em locais protegidos
(o quarto nº 1220, o salão de jogos, a academia…) e um crachá com o seu
nome e algumas informações (token de identificação) para uso na
conferência.
● O cartão de acesso: Token de Acesso (OAuth2)
● O crachá: Token de Identificação (OpenID Connect)
Example: An conference in an Hotel
An guest presents your ID in the lobby. Receives an card (access token) that
allow access in protected areas (room number 1220, game room, the gym…)
and name badge with some personal informations (Identification Token).
● The card: Access Token (OAuth2)
● The name badge: Identification Token (OpenID Connect)
OAuth2 - Papéis
● Dono do Recurso: Um ser humano, um aplicativo, uma coisa.
● Cliente: Um aplicativo consumidor de API Web.
● Servidor de Recursos: Uma API web
● Servidor de Autorização: Quem autêntica, autoriza e emite tokens;
Tokens
1. Credenciais para os Servidores de Recursos
2. Emitidos pelo Servidor de Autorização
3. Single Sign On (SSO) - Autenticação Centralizada
4. Possuem um escopo bem definido de utilização
5. Contém alegações (informações sobre o usuário ou autorização)
6. São assinados pelo Servidor de Autorização (podem ser validados)
7. Expiram (possuem limite de tempo para utilização)
8. Em geral no formato JWT (multi plataformas)
Token - Exemplo:
{
“sub”: “fulano@bb.com.br”,
“aud”: “aplicativoX”,
“iss”: “https://oauth.bb.com.br/oauth”,
“exp”:13118256723, // 30/01/2017 às 18:02
“iat”: 13118251223, // 20/12/2016 às 16:00
“scope”: “consultas-financeiras.extratos”,
“contas-autorizadas”:[{“agencia” : 1234, “conta”: 112345},{“agencia”: 3444,”conta”: “654321”}}]
}
OpenID Connect -
Extras
● Token de Identificação - (Escopo
openid)
● Informações adicionais do usuário -
Endpoint /userInfo
○ profile, email, address, phone,
creditRisk, yearsProfits, accounts, ...

Mais conteúdo relacionado

Semelhante a OAuth2 e OpenID Connect: Segurança e Negócios

Architecture In A Box - Declarações e Identidades Na Computação Na Nuvem
Architecture In A Box - Declarações e Identidades Na Computação Na NuvemArchitecture In A Box - Declarações e Identidades Na Computação Na Nuvem
Architecture In A Box - Declarações e Identidades Na Computação Na NuvemMarkus Christen
 
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
 
Brasil Cidadão - SDK V.1.4
Brasil Cidadão - SDK V.1.4Brasil Cidadão - SDK V.1.4
Brasil Cidadão - SDK V.1.4Colaborativismo
 
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
 
Abordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave públicaAbordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave públicabrunoluiz
 
Certificacao digital
Certificacao digitalCertificacao digital
Certificacao digitalnessinhavos
 
Certificação Digital - Aula2
Certificação Digital - Aula2Certificação Digital - Aula2
Certificação Digital - Aula2Leandro Rezende
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookLuiz Arthur
 
APIs seguras com OAuth2
APIs seguras com OAuth2APIs seguras com OAuth2
APIs seguras com OAuth2Luiz Messias
 
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...Markus Christen
 
Autenticação baseada em token com jwt
Autenticação baseada em token com jwtAutenticação baseada em token com jwt
Autenticação baseada em token com jwtGDGFoz
 
Modelo de segurança OPC UA
Modelo de segurança OPC UAModelo de segurança OPC UA
Modelo de segurança OPC UADalton Valadares
 
Glossario
Glossario Glossario
Glossario vds06
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduGuilherme
 

Semelhante a OAuth2 e OpenID Connect: Segurança e Negócios (20)

JWT - Json Web Token
JWT - Json Web TokenJWT - Json Web Token
JWT - Json Web Token
 
Architecture In A Box - Declarações e Identidades Na Computação Na Nuvem
Architecture In A Box - Declarações e Identidades Na Computação Na NuvemArchitecture In A Box - Declarações e Identidades Na Computação Na Nuvem
Architecture In A Box - Declarações e Identidades Na Computação Na Nuvem
 
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
 
Brasil Cidadão - SDK V.1.4
Brasil Cidadão - SDK V.1.4Brasil Cidadão - SDK V.1.4
Brasil Cidadão - SDK V.1.4
 
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...
 
Abordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave públicaAbordagem sistemática da infra-estrutura de chave pública
Abordagem sistemática da infra-estrutura de chave pública
 
Certificacao digital
Certificacao digitalCertificacao digital
Certificacao digital
 
Politicas de segurança
Politicas de segurançaPoliticas de segurança
Politicas de segurança
 
Maria certificado
Maria certificadoMaria certificado
Maria certificado
 
Certificação Digital - Aula2
Certificação Digital - Aula2Certificação Digital - Aula2
Certificação Digital - Aula2
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e Facebook
 
APIs seguras com OAuth2
APIs seguras com OAuth2APIs seguras com OAuth2
APIs seguras com OAuth2
 
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
Cenários do mundo real para uma arquitetura de autenticação e autorização no ...
 
Autenticação baseada em token com jwt
Autenticação baseada em token com jwtAutenticação baseada em token com jwt
Autenticação baseada em token com jwt
 
Modelo de segurança OPC UA
Modelo de segurança OPC UAModelo de segurança OPC UA
Modelo de segurança OPC UA
 
Glossario
Glossario Glossario
Glossario
 
Certificado.ppt
Certificado.pptCertificado.ppt
Certificado.ppt
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 
Aula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado DigitalAula 5 - Assinatura e Certificado Digital
Aula 5 - Assinatura e Certificado Digital
 

Mais de Anderson Carvalho

Modern infrastructure as code
Modern infrastructure as codeModern infrastructure as code
Modern infrastructure as codeAnderson Carvalho
 
Cloud Native Patterns Using AWS
Cloud Native Patterns Using AWSCloud Native Patterns Using AWS
Cloud Native Patterns Using AWSAnderson Carvalho
 
Cloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesCloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesAnderson Carvalho
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer servicesAnderson Carvalho
 
Terraform infrastructure as code for mere mortals
Terraform   infrastructure as code for mere mortalsTerraform   infrastructure as code for mere mortals
Terraform infrastructure as code for mere mortalsAnderson Carvalho
 

Mais de Anderson Carvalho (6)

Modern infrastructure as code
Modern infrastructure as codeModern infrastructure as code
Modern infrastructure as code
 
Cloud Native Patterns Using AWS
Cloud Native Patterns Using AWSCloud Native Patterns Using AWS
Cloud Native Patterns Using AWS
 
Cloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical ExamplesCloud Native Patterns Using AWS - Practical Examples
Cloud Native Patterns Using AWS - Practical Examples
 
Microservices
MicroservicesMicroservices
Microservices
 
Amazon web services (aws) main developer services
Amazon web services (aws)   main developer servicesAmazon web services (aws)   main developer services
Amazon web services (aws) main developer services
 
Terraform infrastructure as code for mere mortals
Terraform   infrastructure as code for mere mortalsTerraform   infrastructure as code for mere mortals
Terraform infrastructure as code for mere mortals
 

OAuth2 e OpenID Connect: Segurança e Negócios

  • 1. OAuth2 e OpenID Connect Segurança de Aplicações Modernas e novas oportunidades de negócios
  • 2. OAuth2 and OpenID Connect Modern Applications Security and new business opportunities
  • 3. O que é OAuth2 1. Protocolo de autorização para aplicações modernas 2. Emite tokens em troca de uma credencial 3. O token representa uma conjunto de permissões 4. O token dispensa o compartilhamento da credencial
  • 4. What is OAuth2 1. Authorization protocol used by modern applications 2. Issue tokens in change for credentials 3. The token represents a permission set 4. The token dismiss the password sharing
  • 5. O que é OpenID Connect 1. Extensão de OAuth2 2. Autenticação: Utiliza o modelo OAuth para conhecer o usuário se a identidade do usuário for necessária
  • 6. What is OpenID Connect 1. An OAuth2 extension 2. Authentication: Utilizes the OAuth2 way to know the user’s identity if necessary
  • 7. Exemplos: Uma conferência em um hotel Um hóspede apresenta o número de reserva e sua identificação no saguão. Recebe um cartão (token de acesso) que permite entrar em locais protegidos (o quarto nº 1220, o salão de jogos, a academia…) e um crachá com o seu nome e algumas informações (token de identificação) para uso na conferência. ● O cartão de acesso: Token de Acesso (OAuth2) ● O crachá: Token de Identificação (OpenID Connect)
  • 8. Example: An conference in an Hotel An guest presents your ID in the lobby. Receives an card (access token) that allow access in protected areas (room number 1220, game room, the gym…) and name badge with some personal informations (Identification Token). ● The card: Access Token (OAuth2) ● The name badge: Identification Token (OpenID Connect)
  • 9. OAuth2 - Papéis ● Dono do Recurso: Um ser humano, um aplicativo, uma coisa. ● Cliente: Um aplicativo consumidor de API Web. ● Servidor de Recursos: Uma API web ● Servidor de Autorização: Quem autêntica, autoriza e emite tokens;
  • 10. Tokens 1. Credenciais para os Servidores de Recursos 2. Emitidos pelo Servidor de Autorização 3. Single Sign On (SSO) - Autenticação Centralizada 4. Possuem um escopo bem definido de utilização 5. Contém alegações (informações sobre o usuário ou autorização) 6. São assinados pelo Servidor de Autorização (podem ser validados) 7. Expiram (possuem limite de tempo para utilização) 8. Em geral no formato JWT (multi plataformas)
  • 11. Token - Exemplo: { “sub”: “fulano@bb.com.br”, “aud”: “aplicativoX”, “iss”: “https://oauth.bb.com.br/oauth”, “exp”:13118256723, // 30/01/2017 às 18:02 “iat”: 13118251223, // 20/12/2016 às 16:00 “scope”: “consultas-financeiras.extratos”, “contas-autorizadas”:[{“agencia” : 1234, “conta”: 112345},{“agencia”: 3444,”conta”: “654321”}}] }
  • 12. OpenID Connect - Extras ● Token de Identificação - (Escopo openid) ● Informações adicionais do usuário - Endpoint /userInfo ○ profile, email, address, phone, creditRisk, yearsProfits, accounts, ...