SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
¡Bienvenidos!
Agenda:
• Inauguración del Meetup de En Mi Local Funciona Barcelona
• Protegiendo tu API REST con JWT en aplicaciones .NET
• Cervezas y picoteo.
Comenzamos el blog en 2016
Y poco a poco hemos ido creciendo:
Gracias a todos los que lo habéis hecho posible
Más de 90 posts de más de 50 compañeros
Protegiendo tu API REST con
JWT en aplicaciones .NET
1. Conceptos básicos de seguridad
2. Cookies vs Tokens
3. Definiciones de JWT
4. Fundamentos de JWT
5. Anatomía de JWT
6. Estructura de un Token
7. Nuestros amigos debuggers
8. Ciclo de vida de un Token
9. Librerías y vulnerabilidades
10.Vamos a la acción
UN REPASO A CONCEPTOS BASICOS
Autenticación
- Recepción hotel
- Login con password
- HTTP 401 Unauthorized
Autorización
- Llave de la habitación
- Permisos de acceso
- HTTP 403 Forbidden
Cookies: WebForms, asp.net mvc, etc
Sesión: Necesitan ser guardas en el servidor, -Escalable
Datos: Contiene la sessionID, AUTH del usuario
Tokens: Api key, OAuth2, openID, SSO, etc.
Sesión: Se almacena en cada cliente, +Escalable
Datos: Contiene información del usuario
Cookies vs Tokens
https://es.wikipedia.org/wiki/JSON_Web_Token https://tools.ietf.org/html/rfc7519
• Desktop, Mobile & Web Ready!!
• Ligero: podemos codificar gran cantidad de datos y pasarlo como una cadena.
• Self-container: Delegamos mantener el estado al cliente.
• Stateless: Creamos servicios optimizados desacoplados del servidor .
• Scalable: Los webserver pueden escalar sin problemas y aumentar en rendimiento.
• La información es confiable porque está firmada digitalmente.
• "Authorization: Bearer token“ es la forma más común de enviarlo (existen otras).
• ¡Nos olvidamos de cookies!
• Los JWT son mecanismos para transferir datos, no para asegurarlo
• Los JWT son seguros cuando se utiliza conjuntamente con HTTPS
RECORDAR: Siempre, debemos usar HTTPS entre el cliente/servidor para encriptar las peticiones.
• JWT sirve para transmitir información de un usuario garantizando integridad de datos
entre un cliente/servidor mediante una cadena de texto codificada en Base64.
ANATOMIA DEL TOKEN
HEADER: Indica el algoritmo y tipo de Token.
PAYLOAD: Datos de usuario/claims
SIGNATURE: la firma, para verificar que el token es válido.
ESTRUCTURA DEL TOKEN (Claims)
Claims: No son obligatorios.
Claims: Se recomienda seguir este formato.
Claims: No todas las librerías .NET los implementan.
jti: Es muy útil para usar Tokens de un solo uso y evitar ataques.
Especificación: https://tools.ietf.org/html/rfc7519
JWT – ESTRUCTURA DEL TOKEN
HEADER: Algoritmo Hash HS256 y token JWT.
PAYLOAD: Datos de nombre usuario y lo que necesite nuestra API para validar la petición,
recordar que nosotros generamos el token y podemos incluir todos los atributos que queramos.
SIGNATURE: Firma para la integridad del Token
Aquí lo importante es el “SECRET" con el que firmamos y que ahora explicaremos.
NUESTRO AMIGOS DEBUGGERS
DEMO: Lo importante es el SECRET con el que firmamos el token y no debemos darlo a nadie.
JWT
LIBRERIAS
Y
VULNERABILIDADES
https://docs.microsoft.com/en-us/security-updates
JWT
LIBRERIAS
Y
VULNERABILIDADES
Vulnerabilities: https://docs.microsoft.com/en-us/security-updates/securityadvisories/2017/3214296
Ciclo de vida de un Token
DEMO ASP.NET WEB API
DEBUGGERS
CUESTIONES CLAVE
• Que pasa cuando recibo el token en mi controlador
• Que pasa cuando caduca el token en mi aplicación
• Que pasa cuando realizamos logout en app/web
• Que pasa con mis token en devlocal y producción
• Que pasa si tengo varias API REST que usan JWT
• Quien y donde se gestionan los usuarios de mi API
PREGUNTAS
REFERENCIAS
• https://enmilocalfunciona.io/construyendo-una-web-api-rest-segura-con-json-web-token-en-net-parte-i/
• https://enmilocalfunciona.io/construyendo-una-web-api-rest-segura-con-json-web-token-en-net-parte-ii/
• https://enmilocalfunciona.io/construyendo-una-web-api-rest-segura-con-json-web-token-en-net-parte-iii/
• https://github.com/santimacnet/WebAPI-Segura-JWT
• https://jwt.io
• https://www.jsonwebtoken.io
• https://tools.ietf.org/html/rfc7519
• https://docs.microsoft.com/en-us/security-updates/securityadvisories/2017/3214296
• https://auth0.com/blog/ten-things-you-should-know-about-tokens-and-cookies/
Meetup En mi local funciona - Protegiendo tu API REST con JWT en aplicaciones .NET
Meetup En mi local funciona - Protegiendo tu API REST con JWT en aplicaciones .NET

Weitere ähnliche Inhalte

Ähnlich wie Meetup En mi local funciona - Protegiendo tu API REST con JWT en aplicaciones .NET

Autenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un AvengerAutenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un AvengerAdrian Diaz Cervera
 
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
Seguridad para aplicaciones web java con json web tokens (jwt)  2020Seguridad para aplicaciones web java con json web tokens (jwt)  2020
Seguridad para aplicaciones web java con json web tokens (jwt) 2020Eudris Cabrera
 
Como desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerComo desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerAdrian Diaz Cervera
 
Presentacion-Oauth
Presentacion-OauthPresentacion-Oauth
Presentacion-OauthKevin Medina
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPMarcos Harasimowicz
 
Hypertext transfert protocol
Hypertext transfert protocolHypertext transfert protocol
Hypertext transfert protocolOscar Eduardo
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoRené Olivo
 
Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)carmenrico14
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTIgnacio Martín
 
tutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicotutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicoORCID, Inc
 
Llevando un piloto de blockchain con hedera hashgraph
Llevando un piloto de blockchain con hedera hashgraphLlevando un piloto de blockchain con hedera hashgraph
Llevando un piloto de blockchain con hedera hashgraphEvert Diaz Buitron
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 

Ähnlich wie Meetup En mi local funciona - Protegiendo tu API REST con JWT en aplicaciones .NET (20)

Autenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un AvengerAutenticar y securizar API en .NET Core como un Avenger
Autenticar y securizar API en .NET Core como un Avenger
 
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
Seguridad para aplicaciones web java con json web tokens (jwt)  2020Seguridad para aplicaciones web java con json web tokens (jwt)  2020
Seguridad para aplicaciones web java con json web tokens (jwt) 2020
 
Como desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico AvengerComo desarrollar una api en .NET Core como un autentico Avenger
Como desarrollar una api en .NET Core como un autentico Avenger
 
Presentacion-Oauth
Presentacion-OauthPresentacion-Oauth
Presentacion-Oauth
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Hypertext transfert protocol
Hypertext transfert protocolHypertext transfert protocol
Hypertext transfert protocol
 
Seguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio ElectrónicoSeguridad en Aplicaciones Web y Comercio Electrónico
Seguridad en Aplicaciones Web y Comercio Electrónico
 
Tema 3 - Seguridad en Internet
Tema 3 - Seguridad en InternetTema 3 - Seguridad en Internet
Tema 3 - Seguridad en Internet
 
Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)Owasp presentacion latam tour (Ago 2011)
Owasp presentacion latam tour (Ago 2011)
 
Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)Unidad 4: Servicio web (HTTP)
Unidad 4: Servicio web (HTTP)
 
Seguridad j1v2
Seguridad   j1v2Seguridad   j1v2
Seguridad j1v2
 
Web cryptography
Web cryptographyWeb cryptography
Web cryptography
 
Asegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWTAsegurando APIs en Symfony con JWT
Asegurando APIs en Symfony con JWT
 
tutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnicotutorial guide using the api - 2015 espana seminario tecnico
tutorial guide using the api - 2015 espana seminario tecnico
 
Llevando un piloto de blockchain con hedera hashgraph
Llevando un piloto de blockchain con hedera hashgraphLlevando un piloto de blockchain con hedera hashgraph
Llevando un piloto de blockchain con hedera hashgraph
 
Http[1]
Http[1]Http[1]
Http[1]
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Pcr2008
Pcr2008Pcr2008
Pcr2008
 
Realsec I Criptografia Y Firma Digital
Realsec I Criptografia Y Firma DigitalRealsec I Criptografia Y Firma Digital
Realsec I Criptografia Y Firma Digital
 

Mehr von atSistemas

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassianatSistemas
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital atSistemas
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021atSistemas
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipoatSistemas
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialatSistemas
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación AgileatSistemas
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación culturalatSistemas
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSatSistemas
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezatSistemas
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraatSistemas
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloatSistemas
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaatSistemas
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatatSistemas
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezatSistemas
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasatSistemas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezatSistemas
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolatSistemas
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezatSistemas
 

Mehr von atSistemas (20)

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarial
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación cultural
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor Gándara
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón Abruña
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio Gómez
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés Sánchez
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel Martínez
 

Meetup En mi local funciona - Protegiendo tu API REST con JWT en aplicaciones .NET