CS144: Sessions. Cookie : CS144: Web Applications

Size: px
Start display at page:

Download "CS144: Sessions. Cookie : CS144: Web Applications"

Transcription

1 CS144: Sessions HTTP is a stateless protocol. The server s response is purely based on the single request, not anything else Q: How does a web site like Amazon can remember a user and customize its results? How can they implement shopping cart? How does it know that multiple HTTP requests are coming from the same user? Q: Use source IP? Cookie Cookies allow a server to ask a client to remember "name=value" pairs and send them back in all future requests Example From server (in the response): Set - Cookie : username = john ; path =/; domain = ucla. edu ; expires = Wed, 21 Oct :28:00 GMT ; Request client to set the cookie username=john path and domain specify the path and the domain to which the cookie should be sent if not specified, the cookie will be sent in all future requests to this server expire specifies when the cookie expires if not specified, the cookie becomes transient (= session cookie) and is valid during current browsing session server can erase a cookie by setting the expiration date to a past time In all future requests to the specified domain and path, client add: Cookie : username = john Same-origin policy: The client sends a cookie only to the domain from which it got the cookie. Junghoo "John" Cho (cho@cs.ucla.edu) 1

2 No cross-domain cookie exchange is allowed. Q: Why same-origin policy? Q: Can we use cookie(s) to identify a user across multiple domains? It is possible given the same-origin policy? third-party cookie Authentication and session management Q: How can we authenticate a user? How do we verify that the user is really who they claim to be? Q: How can we let users authenticate once, without asking for authentication for every request? Q: After authentication, what should we store in the cookie? username vs session ID Q: Any problem with storing username as cookie? Session ID: All session-related states reside on the server Junghoo "John" Cho (cho@cs.ucla.edu) 2

3 A unique identifier is associated with a session Store the session ID in the cookie The server obtains session related states from local session data store using session ID Q: Why is it helpful? Can t a malicious user send a different session ID? Q: Pros and Cons between signed states vs session ID Note: Be very careful about what we store in cookie Cookie theft and cookie poisoning secure; attribute With secure; attribute set, the cookie is sent back only over https Protects against cookie theft Signed cookie: Secret-key encrypted signature added to the main cookie data Protects against cookie poisoning Attaching expiration date Makes sure that cookie useable only for a short period of time Even if the cookie is stolen after a while, it is no longer valid JSON Web Token (JWT) Web standard to represent and exchange client-managed states with protection against tempering Format: header.payload.signature Header: Base64-encoded JSON object, with (typically) two fields, alg (hashing algorithm) and typ (token type) { " alg ": " HS256 ", Junghoo "John" Cho (cho@cs.ucla.edu) 3

4 } " typ ": " JWT " Payload: Base64-encoded JSON object to represent the main information { " iss ": " http :// oak. cs. ucla. edu ", " jti ": "3 gxhylhd ", " iat ": , " exp ": , " user ": " junghoo " } Registered claims (=fields) : iss (issuer), jti (JWT ID), iat (issued at, # seconds since T00:00:00Z UTC), exp (expires at), sub (subject), aud(audience),... No claim is required Signature: Base64-encoded secret-key encrypted hash on header.payload HMACSHA256 ( base64urlencode ( header ) + "." + base64urlencode ( payload ), " my secret password " ) Example JWT: eyj0exaioijkv1qilcjhbgcioijiuzi1nij9 // header. eyjrzxkioij2ywwilcjpyxqioje0mji2mdu0ndv9 // payload. euiabuikv -8 PYk2AkGY4Fb5KMZeorYBLw261JPQD5lM // signature JWT can be remembered by the browser either as a cookie or by JavaScript code in localstorage Junghoo "John" Cho (cho@cs.ucla.edu) 4

5 References Cookie: RFC 6265 JSON Web Token: Junghoo "John" Cho 5

Authentication and Authorization of End User in Microservice Architecture

Authentication and Authorization of End User in Microservice Architecture Journal of Physics: Conference Series PAPER OPEN ACCESS Authentication and Authorization of End User in Microservice Architecture To cite this article: Xiuyu He and Xudong Yang 2017 J. Phys.: Conf. Ser.

More information

python-jose Documentation

python-jose Documentation python-jose Documentation Release 0.2.0 Michael Davis May 21, 2018 Contents 1 Contents 3 1.1 JSON Web Signature........................................... 3 1.2 JSON Web Token............................................

More information

TECHNICAL GUIDE SSO JWT. At 360Learning, we don t make promises about technical solutions, we make commitments.

TECHNICAL GUIDE SSO JWT. At 360Learning, we don t make promises about technical solutions, we make commitments. 1 TECHNICAL GUIDE SSO JWT At 360Learning, we don t make promises about technical solutions, we make commitments. This technical guide is part of our Technical Documentation. Version 1.4 2 360Learning is

More information

Topic 15: Authentication

Topic 15: Authentication Topic 15: Authentication CITS3403 Agile Web Development Getting MEAN with Mongo, Express, Angular and Node, Chapter 11 Semester 1, 2018 Secure web apps Security is a primary concern for anyone developing

More information

PyJWT Documentation. Release José Padilla

PyJWT Documentation. Release José Padilla PyJWT Documentation Release 1.6.1 José Padilla Apr 08, 2018 Contents 1 Sponsor 3 2 Installation 5 3 Example Usage 7 4 Command line 9 5 Index 11 5.1 Installation................................................

More information

FAS Authorization Server - OpenID Connect Onboarding

FAS Authorization Server - OpenID Connect Onboarding FAS Authorization Server - OpenID Connect Onboarding 1 Table of Content FAS as an authorization server 3 1 OpenID Connect Authorization Code Request and Response 4 1.1 OPENID CONNECT AUTHORIZATION CODE

More information

Securing APIs and Microservices with OAuth and OpenID Connect

Securing APIs and Microservices with OAuth and OpenID Connect Securing APIs and Microservices with OAuth and OpenID Connect By Travis Spencer, CEO @travisspencer, @curityio Organizers and founders ü All API Conferences ü API Community ü Active blogosphere 2018 Platform

More information

openid connect all the things

openid connect all the things openid connect all the things @pquerna CTO, ScaleFT CoreOS Fest 2017-2017-07-01 Problem - More Client Devices per-human - Many Cloud Accounts - More Apps: yay k8s - More Distributed Teams - VPNs aren

More information

PAS for OpenEdge Support for JWT and OAuth Samples -

PAS for OpenEdge Support for JWT and OAuth Samples - PAS for OpenEdge Support for JWT and OAuth 2.0 - Samples - Version 1.0 November 21, 2017 Copyright 2017 and/or its subsidiaries or affiliates. All Rights Reserved. 2 TABLE OF CONTENTS INTRODUCTION... 3

More information

EDC Documentation. Release 1.0. ONS Digital

EDC Documentation. Release 1.0. ONS Digital EDC Documentation Release 1.0 ONS Digital Nov 13, 2018 Contents 1 Introduction 3 1.1 License.................................................. 3 2 JWT Profile 5 2.1 UUID Definition.............................................

More information

Getting and Using a MapKit JS Key

Getting and Using a MapKit JS Key #WWDC18 Getting and Using a MapKit JS Key Session 508 Eric Gelinas, MapKit JS 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

More information

Lecture 9a: Sessions and Cookies

Lecture 9a: Sessions and Cookies CS 655 / 441 Fall 2007 Lecture 9a: Sessions and Cookies 1 Review: Structure of a Web Application On every interchange between client and server, server must: Parse request. Look up session state and global

More information

Stateless Microservice Security via JWT, TomEE and MicroProfile

Stateless Microservice Security via JWT, TomEE and MicroProfile Stateless Microservice Security via JWT, TomEE and MicroProfile Jean-Louis Monteiro Tomitribe Why am I here today? Microservices architecture case Security opeons OAuth2 with JWT HTTP Signatures Demo with

More information

FAS Authorization Server - OpenID Connect Onboarding

FAS Authorization Server - OpenID Connect Onboarding FAS Authorization Server - OpenID Connect Onboarding Table of Contents Table of Contents 1 List of Figures 2 1 FAS as an authorization server 3 2 OpenID Connect Authorization Code Request and Response

More information

Authentication and Password CS166 Introduction to Computer Security 2/11/18 CS166 1

Authentication and Password CS166 Introduction to Computer Security 2/11/18 CS166 1 Authentication and Password CS166 Introduction to Computer Security 2/11/18 CS166 1 CIA Triad Confidentiality Prevent disclosure of information to unauthorized parties Integrity Detect data tampering Availability

More information

FAS Authorization Server - OpenID Connect Onboarding

FAS Authorization Server - OpenID Connect Onboarding FAS Authorization Server - OpenID Connect Onboarding Table of Contents Table of Contents 1 List of Figures 2 1 FAS as an authorization server 3 2 OpenID Connect Authorization Code Request and Response

More information

flask-jwt-simple Documentation

flask-jwt-simple Documentation flask-jwt-simple Documentation Release 0.0.3 vimalloc rlam3 Nov 17, 2018 Contents 1 Installation 3 2 Basic Usage 5 3 Changing JWT Claims 7 4 Changing Default Behaviors 9 5 Configuration Options 11 6 API

More information

Advanced API Security

Advanced API Security Advanced API Security ITANA Group Nuwan Dias Architect 22/06/2017 Agenda 2 HTTP Basic Authentication Authorization: Basic QWxhZGRpbjpPcGVuU2VzYW1l 3 API Security is about controlling Access Delegation

More information

CN Assignment I. 1. With an example explain how cookies are used in e-commerce application to improve the performance.

CN Assignment I. 1. With an example explain how cookies are used in e-commerce application to improve the performance. CN Assignment I 1. With an example explain how cookies are used in e-commerce application to improve the performance. In an e-commerce application, when the user sends a login form to the server, the server

More information

4.2. Authenticating to REST Services. Q u i c k R e f e r e n c e G u i d e. 1. IdentityX 4.2 Updates

4.2. Authenticating to REST Services. Q u i c k R e f e r e n c e G u i d e. 1. IdentityX 4.2 Updates 4.2 Authenticating to REST Services Q u i c k R e f e r e n c e G u i d e In IdentityX 4.1, REST services have an authentication and signing requirement that is handled by the IdentityX REST SDKs. In order

More information

Cookies, sessions and authentication

Cookies, sessions and authentication Cookies, sessions and authentication TI1506: Web and Database Technology Claudia Hauff! Lecture 7 [Web], 2014/15 1 Course overview [Web] 1. http: the language of Web communication 2. Web (app) design &

More information

CS 5450 HTTP. Vitaly Shmatikov

CS 5450 HTTP. Vitaly Shmatikov CS 5450 HTTP Vitaly Shmatikov Browser and Network Browser OS Hardware request reply website Network slide 2 HTML A web page includes Base HTML file Referenced objects (e.g., images) HTML: Hypertext Markup

More information

OpenID Connect Opens the Door to SAS Viya APIs

OpenID Connect Opens the Door to SAS Viya APIs Paper SAS1737-2018 OpenID Connect Opens the Door to SAS Viya APIs Mike Roda, SAS Institute Inc. ABSTRACT As part of the strategy to be open and cloud-ready, SAS Viya services leverage OAuth and OpenID

More information

flask-jwt Documentation

flask-jwt Documentation flask-jwt Documentation Release 0.3.2 Dan Jacob Nov 16, 2017 Contents 1 Links 3 2 Installation 5 3 Quickstart 7 4 Configuration Options 9 5 API 11 6 Changelog 13 6.1 Flask-JWT Changelog..........................................

More information

Nordea e-identification Service description

Nordea e-identification Service description Nordea e-identification Service description October 2018 1 Change log Version Description/ Changes 1.0 Initial version 1.1 Minor updates to examples & service hours October 2018 2 Contents Change log...

More information

API Gateway. Version 7.5.1

API Gateway. Version 7.5.1 O A U T H U S E R G U I D E API Gateway Version 7.5.1 15 September 2017 Copyright 2017 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.5.1 No part

More information

On the (in-)security of JavaScript Object Signing and Encryption. Dennis Detering

On the (in-)security of JavaScript Object Signing and Encryption. Dennis Detering On the (in-)security of JavaScript Object Signing and Encryption Dennis Detering 2 Introduction Dennis Detering IT Security Consultant dennis.detering@cspi.com dennis.detering@rub.de @Merenon Christian

More information

ACCORDING to [1] RESTful web services, which are. Securing RESTful Web Services using Multiple JSON Web Tokens

ACCORDING to [1] RESTful web services, which are. Securing RESTful Web Services using Multiple JSON Web Tokens , July 5-7, 2017, London, U.K. Securing RESTful Web Services using Multiple JSON Web Tokens Pedro Mestre, Member, IAENG, Rui Madureira, Pedro Melo-Pinto, and Carlos Serodio, Member, IAENG Abstract Because

More information

Connect. explained. Vladimir Dzhuvinov. :

Connect. explained. Vladimir Dzhuvinov.   : Connect explained Vladimir Dzhuvinov Email: vladimir@dzhuvinov.com : Twitter: @dzhivinov Married for 15 years to Java C Python JavaScript JavaScript on a bad day So what is OpenID Connect? OpenID Connect

More information

SHAKEN Governance Model and Cer4ficate Management Overview

SHAKEN Governance Model and Cer4ficate Management Overview SHAKEN Governance Model and Cer4ficate Management Overview ATIS- 1000080 8/2/17 1 STI- PA STI- CA Service Provider Code Token ACME SP- KMS Public Key STI- CR SKS Private Key STI- AS STI- VS 8/2/17 2 STI-

More information

Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin

Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin Master s Thesis Authorization Aspects of the Distributed Dataflow-oriented IoT Framework Calvin Tomas Nilsson Department of Electrical and Information Technology, Faculty of Engineering, LTH, Lund University,

More information

Requests that are forwarded via redirects by a customer's web browser are authenticated via browser API authentication.

Requests that are forwarded via redirects by a customer's web browser are authenticated via browser API authentication. Poplatek Server API Version: 2016-06-22.2 Quick links Browser API Pay REST API Get Transaction Status Cancel Refund Settlement report Changes 2016-06-22: Document sandbox URL endpoints. Small miscellaneous

More information

P2_L12 Web Security Page 1

P2_L12 Web Security Page 1 P2_L12 Web Security Page 1 Reference: Computer Security by Stallings and Brown, Chapter (not specified) The web is an extension of our computing environment, because most of our daily tasks involve interaction

More information

DCCKI Interface Design Specification. and. DCCKI Repository Interface Design Specification

DCCKI Interface Design Specification. and. DCCKI Repository Interface Design Specification DCCKI Interface Design Specification and DCCKI Repository Interface Design Specification 1 INTRODUCTION Document Purpose 1.1 Pursuant to Section L13.13 of the Code (DCCKI Interface Design Specification),

More information

Rest Services with Play Framework, and a Security Level with JWT (JSON Web Tokens) Community Day

Rest Services with Play Framework, and a Security Level with JWT (JSON Web Tokens) Community Day Rest Services with Play Framework, and a Security Level with JWT (JSON Web Tokens) Community Day Community Leader JDuchess Chapter Guatemala Ex-JUG Member Guatemala Java Users Group (GuateJUG) Chief Technology

More information

Security Guide Oracle Banking Virtual Account Management Release July 2018

Security Guide Oracle Banking Virtual Account Management Release July 2018 Security Guide Oracle Banking Virtual Account Management Release 14.1.0.0.0 July 2018 Oracle Banking Virtual Account Management Security Guide Oracle Financial Services Software Limited Oracle Park Off

More information

Authentication for Web Services. Ray Miller Systems Development and Support Computing Services, University of Oxford

Authentication for Web Services. Ray Miller Systems Development and Support Computing Services, University of Oxford Authentication for Web Services Ray Miller Systems Development and Support Computing Services, University of Oxford Overview Password-based authentication Cookie-based authentication

More information

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Security and Privacy. SWE 432, Fall 2016 Design and Implementation of Software for the Web Security and Privacy SWE 432, Fall 2016 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Privacy For further reading: https://www.owasp.org/index.php/

More information

Saving State on the WWW

Saving State on the WWW Saving State on the WWW The Issue Connections on the WWW are stateless Every time a link is followed is like the first time to the server it has no memory for connections Why Bother To Fix This? By saving

More information

Protect Your API with OAuth 2. Rob Allen

Protect Your API with OAuth 2. Rob Allen Protect Your API with OAuth 2 Authentication Know who is logging into your API Rate limiting Revoke application access if its a problem Allow users to revoke 3rd party applications How? Authorization header:

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2017 CS 161 Computer Security Discussion 4 Week of February 13, 2017 Question 1 Clickjacking (5 min) Watch the following video: https://www.youtube.com/watch?v=sw8ch-m3n8m Question 2 Session

More information

Managing State. Chapter 13

Managing State. Chapter 13 Managing State Chapter 13 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 THE PROBLEM OF STATE IN WEB APPLICATIONS

More information

Web Based Single Sign-On and Access Control

Web Based Single Sign-On and Access Control 0-- Web Based Single Sign-On and Access Control Different username and password for each website Typically, passwords will be reused will be weak will be written down Many websites to attack when looking

More information

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License.

Eclipse Incubator. https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License. Current Status 1 Eclipse Incubator https://projects.eclipse.org/projects/technology.microprofile - ASLv2 License http://microprofile.io/ - Home Page https://github.com/eclipse - Eclipse Foundation GitHub

More information

1000 Ways to Die in Mobile OAuth. Eric Chen, Yutong Pei, Yuan Tian, Shuo Chen,Robert Kotcher and Patrick Tague

1000 Ways to Die in Mobile OAuth. Eric Chen, Yutong Pei, Yuan Tian, Shuo Chen,Robert Kotcher and Patrick Tague 1000 Ways to Die in Mobile OAuth Eric Chen, Yutong Pei, Yuan Tian, Shuo Chen,Robert Kotcher and Patrick Tague What is this work about? In 2014, Studied OAuth usage in 200 Android/iOS OAuth applications.

More information

OAuth and OpenID Connect (IN PLAIN ENGLISH)

OAuth and OpenID Connect (IN PLAIN ENGLISH) OAuth and OpenID Connect (IN PLAIN ENGLISH) NATE BARBETTINI @NBARBETTINI @OKTADEV A lot of confusion around OAuth. Terminology and jargon Incorrect advice Identity use cases (circa 2007) Simple login forms

More information

Cookies and Other Client-Side Storage Techniques. Bok, Jong Soon

Cookies and Other Client-Side Storage Techniques. Bok, Jong Soon Cookies and Other Client-Side Storage Techniques Bok, Jong Soon javaexpert@nate.com www.javaexpert.co.kr HTML5 Feature Areas Offline and Storage Offline and Storage (Cont.) Source : Google,Introduction

More information

Black Box DCX3000 / DCX1000 Using the API

Black Box DCX3000 / DCX1000 Using the API Black Box DCX3000 / DCX1000 Using the API updated 2/22/2017 This document will give you a brief overview of how to access the DCX3000 / DCX1000 API and how you can interact with it using an online tool.

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

Web Applica+on Security

Web Applica+on Security Web Applica+on Security Raluca Ada Popa Feb 25, 2013 6.857: Computer and Network Security See last slide for credits Outline Web basics: HTTP Web security: Authen+ca+on: passwords, cookies Security amacks

More information

We will resume at 3:30 pm Enjoy your break!

We will resume at 3:30 pm Enjoy your break! We will resume at 3:30 pm Enjoy your break! Presented by Mike Sloves Ray Verhoeff Building a Secure PI Web API Environment Presented by Mike Sloves Ray Verhoeff User Conference 2017 Themes 3 What do we

More information

Overview! Automated Certificate Management (ACME) Protocol! IP-NNI Task Force! Mary Barnes - iconectiv!

Overview! Automated Certificate Management (ACME) Protocol! IP-NNI Task Force! Mary Barnes - iconectiv! Overview! Automated Certificate Management (ACME) Protocol! IP-NNI Task Force! Mary Barnes - iconectiv! ACME Overview! ACME is a protocol being developed in IETF for Automated Certificate Management.!

More information

Distributing Secrets. Securely? Simo Sorce. Presented by. Red Hat, Inc.

Distributing Secrets. Securely? Simo Sorce. Presented by. Red Hat, Inc. Distributing Secrets Securely? Presented by Simo Sorce Red Hat, Inc. Flock 2015 Historically Monolithic applications on single servers potentially hooked to a central authentication system. Idm Distributing

More information

Sessions. Mendel Rosenblum. CS142 Lecture Notes - Sessions

Sessions. Mendel Rosenblum. CS142 Lecture Notes - Sessions Sessions Mendel Rosenblum How do we know what user sent request? Would like to authenticate user and have that information available each time we process a request. More generally web apps would like to

More information

How LinkedIn changed its security model in order to offer an API

How LinkedIn changed its security model in order to offer an API Security 2.0 How LinkedIn changed its security model in order to offer an API Yan Pujante Distinguished Software Engineer Member of the Founding Team @ LinkedIn ypujante@linkedin.com http://www.linkedin.com/in/yan

More information

Combination of the PEAP Protocol with EAP-OpenID Connect

Combination of the PEAP Protocol with EAP-OpenID Connect University of Piraeus Department of Digital Systems Postgraduate Program «Digital Systems Security» Academic Year 2017-2018 (ΨΣ-ΑΦ-888) MSc Dissertation Combination of the PEAP Protocol with EAP-OpenID

More information

Analytics, Insights, Cookies, and the Disappearing Privacy

Analytics, Insights, Cookies, and the Disappearing Privacy Analytics, Insights, Cookies, and the Disappearing Privacy What Are We Talking About Today? 1. Logfiles 2. Analytics 3. Google Analytics 4. Insights 5. Cookies 6. Privacy 7. Security slide 2 Logfiles Every

More information

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store

More information

5/19/2015. Objectives. JavaScript, Sixth Edition. Saving State Information with Query Strings. Understanding State Information

5/19/2015. Objectives. JavaScript, Sixth Edition. Saving State Information with Query Strings. Understanding State Information Objectives JavaScript, Sixth Edition When you complete this chapter, you will be able to: Save state information with query strings, hidden form fields, and cookies Describe JavaScript security issues

More information

Internet Engineering Task Force (IETF) Request for Comments: ISSN: S. Erdtman Spotify AB H. Tschofenig ARM Ltd.

Internet Engineering Task Force (IETF) Request for Comments: ISSN: S. Erdtman Spotify AB H. Tschofenig ARM Ltd. Internet Engineering Task Force (IETF) Request for Comments: 8392 Category: Standards Track ISSN: 2070-1721 M. Jones Microsoft E. Wahlstroem S. Erdtman Spotify AB H. Tschofenig ARM Ltd. May 2018 CBOR Web

More information

A TECHNICAL DESIGN FOR A BLUE BADGE DIGITAL SERVICE

A TECHNICAL DESIGN FOR A BLUE BADGE DIGITAL SERVICE A TECHNICAL DESIGN FOR A BLUE BADGE DIGITAL SERVICE The findings of an Alpha Project involving GDS DWP By Steven Gevers (Verizon) and Rob Laurence (Innovate Identity) Introduction Table of Contents Introduction

More information

A team-oriented open source password manager with a focus on transparency, usability and security.

A team-oriented open source password manager with a focus on transparency, usability and security. A team-oriented open source password manager with a focus on transparency, usability and security. SCRT Who am I? Florian Gaultier Security engineer in charge of SCRT France I break things for a living,

More information

Engineering Letters, 26:2, EL_26_2_12. Multiple JSON Web Tokens for Mobile Distributed Applications

Engineering Letters, 26:2, EL_26_2_12. Multiple JSON Web Tokens for Mobile Distributed Applications Multiple JSON Web Tokens for Mobile Distributed Applications Pedro Mestre, Member, IAENG, Rui Madureira, Pedro Melo-Pinto, and Carlos Serodio, Member, IAENG Abstract Internet of (almost) everything brought

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh February 11, 2016 1 / 27 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach

How is state managed in HTTP sessions. Web basics: HTTP cookies. Hidden fields (2) The principle. Disadvantage of this approach Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh March 30, 2015 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the server sends

More information

Combating Common Web App Authentication Threats

Combating Common Web App Authentication Threats Security PS Combating Common Web App Authentication Threats Bruce K. Marshall, CISSP, NSA-IAM Senior Security Consultant bmarshall@securityps.com Key Topics Key Presentation Topics Understanding Web App

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

CSE 154 LECTURE 21: COOKIES

CSE 154 LECTURE 21: COOKIES CSE 154 LECTURE 21: COOKIES Regular expressions in (PDF) regex syntax: strings that begin and end with /, such as "/[AEIOU]+/" function preg_match(regex, string) preg_replace(regex, replacement, string)

More information

CSE 154 LECTURE 21: COOKIES

CSE 154 LECTURE 21: COOKIES CSE 154 LECTURE 21: COOKIES Regular expressions in (PDF) regex syntax: strings that begin and end with /, such as "/[AEIOU]+/" function preg_match(regex, string) preg_replace(regex, replacement, string)

More information

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616 Lecture 3. HTTP v1.0 application layer protocol into details HTTP 1.0: RFC 1945, T. Berners-Lee Lee,, R. Fielding, H. Frystyk, may 1996 HTTP 1.1: RFC 2068, 2616 Ascii protocol uses plain text case sensitive

More information

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014

CS105 Perl: Perl CGI. Nathan Clement 24 Feb 2014 CS105 Perl: Perl CGI Nathan Clement 24 Feb 2014 Agenda We will cover some CGI basics, including Perl-specific CGI What is CGI? Server Architecture GET vs POST Preserving State in CGI URL Rewriting, Hidden

More information

Easily Secure your Microservices with Keycloak. Sébastien Blanc Red

Easily Secure your Microservices with Keycloak. Sébastien Blanc Red Easily Secure your Microservices with Keycloak Sébastien Blanc Red Hat @sebi2706 Keycloak? Keycloak is an open source Identity and Access Management solution aimed at modern applications and services.

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

Overview of Authentication Systems

Overview of Authentication Systems Overview of Authentication Systems Raj Jain Washington University in Saint Louis Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse571-07/

More information

I was given the following web application: and the instruction could be found on the first page.

I was given the following web application:   and the instruction could be found on the first page. I was given the following web application: http://159.203.178.9/ and the instruction could be found on the first page. So, I had to find the path for the application that stores notes and try to exploit

More information

Welcome to the OWASP TOP 10

Welcome to the OWASP TOP 10 Welcome to the OWASP TOP 10 Secure Development for Java Developers Dominik Schadow 03/20/2012 BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN 1 AGENDA

More information

Web basics: HTTP cookies

Web basics: HTTP cookies Web basics: HTTP cookies Myrto Arapinis School of Informatics University of Edinburgh November 20, 2017 1 / 32 How is state managed in HTTP sessions HTTP is stateless: when a client sends a request, the

More information

flask-jwt-extended Documentation

flask-jwt-extended Documentation flask-jwt-extended Documentation Release 3.10.0 vimalloc rlam3 Jun 29, 2018 Contents 1 Installation 1 2 Basic Usage 3 3 Partially protecting routes 5 4 Storing Data in Access Tokens 7 5 Tokens from Complex

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

Version 1.2. ASAM CS Single Sign-On

Version 1.2. ASAM CS Single Sign-On Version 1.2 ASAM CS Single Sign-On 1 Table of Contents 1. Purpose... 3 2. Single Sign-On Overview... 3 3. Creating Token... 4 4. Release Notes... 5 2 1. Purpose This document aims at providing a guide

More information

Node.js. Node.js Overview. CS144: Web Applications

Node.js. Node.js Overview. CS144: Web Applications Node.js Node.js Overview JavaScript runtime environment based on Chrome V8 JavaScript engine Allows JavaScript to run on any computer JavaScript everywhere! On browsers and servers! Intended to run directly

More information

Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization

Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization Scaling Trust with Millions of Containers: Microsegmentation Strategies for Authorization 1 About Me Drupal Security Team Database Maintainer Service Mgmt for RHEL/Ubuntu Committer Scalable CGroups Management

More information

fredag 7 september 12 OpenID Connect

fredag 7 september 12 OpenID Connect OpenID Connect OpenID Connect Necessity for communication - information about the other part Trust management not solved! (1) OP discovery The user provides an identifier (for instance an email address)

More information

Attacks Against Websites. Tom Chothia Computer Security, Lecture 11

Attacks Against Websites. Tom Chothia Computer Security, Lecture 11 Attacks Against Websites Tom Chothia Computer Security, Lecture 11 A typical web set up TLS Server HTTP GET cookie Client HTML HTTP file HTML PHP process Display PHP SQL Typical Web Setup HTTP website:

More information

Lecture 7: Dates/Times & Sessions. CS 383 Web Development II Wednesday, February 14, 2018

Lecture 7: Dates/Times & Sessions. CS 383 Web Development II Wednesday, February 14, 2018 Lecture 7: Dates/Times & Sessions CS 383 Web Development II Wednesday, February 14, 2018 Date/Time When working in PHP, date is primarily tracked as a UNIX timestamp, the number of seconds that have elapsed

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

The SciTokens Authorization Model: JSON Web Tokens & OAuth

The SciTokens Authorization Model: JSON Web Tokens & OAuth The SciTokens Authorization Model: JSON Web Tokens & OAuth Jim Basney Brian Bockelman This material is based upon work supported by the National Science

More information

Distributed Systems. 25. Authentication Paul Krzyzanowski. Rutgers University. Fall 2018

Distributed Systems. 25. Authentication Paul Krzyzanowski. Rutgers University. Fall 2018 Distributed Systems 25. Authentication Paul Krzyzanowski Rutgers University Fall 2018 2018 Paul Krzyzanowski 1 Authentication For a user (or process): Establish & verify identity Then decide whether to

More information

Security. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Security. SWE 432, Fall 2017 Design and Implementation of Software for the Web Security SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Security What is it? Most important types of attacks Authorization oauth 2 Security Why is it important? Users data is

More information

Pass, No Record: An Android Password Manager

Pass, No Record: An Android Password Manager Pass, No Record: An Android Password Manager Alex Konradi, Samuel Yeom December 4, 2015 Abstract Pass, No Record is an Android password manager that allows users to securely retrieve passwords from a server

More information

Introduction to SciTokens

Introduction to SciTokens Introduction to SciTokens Brian Bockelman, On Behalf of the SciTokens Team https://scitokens.org This material is based upon work supported by the National Science Foundation under Grant No. 1738962. Any

More information

CS November 2018

CS November 2018 Authentication Distributed Systems 25. Authentication For a user (or process): Establish & verify identity Then decide whether to allow access to resources (= authorization) Paul Krzyzanowski Rutgers University

More information

Create and Secure Your REST APIs with Apache CXF

Create and Secure Your REST APIs with Apache CXF Create and Secure Your REST APIs with Apache CXF Andrei Shakirin, Talend ashakirin@talend.com ashakirin.blogspot.com Agenda REST Principles in API Design Using CXF JAX-RS Features Secure REST API AboutMe

More information

StorageGRID Webscale 11.0 Tenant Administrator Guide

StorageGRID Webscale 11.0 Tenant Administrator Guide StorageGRID Webscale 11.0 Tenant Administrator Guide January 2018 215-12403_B0 doccomments@netapp.com Table of Contents 3 Contents Administering a StorageGRID Webscale tenant account... 5 Understanding

More information

NetIQ Access Manager 4.4. REST API Guide

NetIQ Access Manager 4.4. REST API Guide NetIQ Access Manager 4.4 REST API Guide Contents 1. Introduction... 3 2. API Overview... 3 3 Administration APIs... 3 3.1 Accessing the Administration APIs... 3 3.2 Detailed API Documentation... 4 3.3

More information

Building a Secure PI Web API Environment

Building a Secure PI Web API Environment Building a Secure PI Web API Environment Presented by Mike Sloves Ray Verhoeff User Conference 2017 Themes 2 What do we mean by secure? Basic summary of security concepts: Minimizing the Attack Vector

More information

Authority Tokens for ACME. IETF 101 ACME WG Jon - London - Mar 2018

Authority Tokens for ACME. IETF 101 ACME WG Jon - London - Mar 2018 Authority Tokens for ACME IETF 101 ACME WG Jon - London - Mar 2018 STIR and ACME What is STIR? Secure Telephone Identity (Revisited) ART Area WG Providing cryptographic authentication for telephone calls

More information

Office 365 and Azure Active Directory Identities In-depth

Office 365 and Azure Active Directory Identities In-depth Office 365 and Azure Active Directory Identities In-depth Jethro Seghers Program Director SkySync #ITDEVCONNECTIONS ITDEVCONNECTIONS.COM Agenda Introduction Identities Different forms of authentication

More information