jwt (radamés aragón)

15
Semana de Segurança JWT

Upload: concrete-solutions

Post on 11-Apr-2017

98 views

Category:

Technology


0 download

TRANSCRIPT

Semana de SegurançaJWT

O que é JWT?

JSON Web Token

É um padrão aberto de transmissão de dados com uma assinatura digital que garante a autenticidade do emissor.

O que é JWT?

Pra que JWT?

● Autenticação○ Stateless○ Stateful○ Misto

● Transmissão de dados○ Garantia de conteúdo○ Garantia de emissor○ Compactação de dados

1. Header

○ Algoritmo: RSA, HS256

2. Payload

○ JSON

○ Claims: iss, exp, sub

3. Encrypted signature

○ Algoritmo (base64 (cabeçalho) + “.” +base64 (corpo),segredo)

Anatomia do JWT

* http://jwt.io

E por que não cookies?

E por que não cookies?E por que não sessão?

JWT ou a boa e velha sessão?

A diferença fundamental está navalidação da autorização:

● JWT: o token garante a autenticidade, o servidor confia e vamos ao que interessa!

● Sessão: o cookie informa qual sessão de usuário deve ser verificada - na memória ou no banco de dados - e só então continua.

Session vs Token(JWT)

* https://auth0.com/blog/cookies-vs-tokens-definitive-guide

Problemas de sessão

● Escalabilidade

● Bancos de dados

● Complexidade ao lidar com diferentes meios

● Não se aplica a transmissões de dados seguras

Problemas de JWT

● Implementações falhas

● Tokens sem expiration date (!)

● Irreprimível se for stateless

● Inócuo se for full stateful

● Armazenamento inseguro

Porque JWT?

AWSServerless Infrastructure:

● Lambda● API Gateway

Integração Mobile

Referências

● JSON Web Token (JWT) RFC

http://webconcepts.info/specs/IETF/RFC/7519

● JSON Web Token Claims

http://webconcepts.info/concepts/jwt-claim/

● Cookies vs Tokens: The Definitive Guide

https://auth0.com/blog/cookies-vs-tokens-definitive-guide

www.concretesolutions.com.br

Ajudamos empresas a criar produtos digitais de sucesso

Belo Horizonte - Av. Getúlio Vargas, 671 8º andar, sala 800 - Savassi - (31) 3360-8900

Rio de Janeiro - Rua São José, 90 - cj. 2121Centro - (21) 2240-2030

São Paulo - Av. Nações Unidas, 11.5413º andar - Brooklin - (11) 4119-0449