REST/SOAP Security A Brief Introduction.

Slides:



Advertisements
Similar presentations
Presence, Security and Privacy. VON The Current Environment Many Faces of Security Authentication Verify someone is who they.
Advertisements

Internet Protocol Security (IP Sec)
IPSec.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
SSL CS772 Fall Secure Socket layer Design Goals: SSLv2) SSL should work well with the main web protocols such as HTTP. Confidentiality is the top.
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
A Public Web Services Security Framework Based on Current and Future Usage Scenarios J.Thelin, Chief Architect PJ.Murray, Product Manager Cape Clear Software.
SECURITY IN E-COMMERCE VARNA FREE UNIVERSITY Prof. Teodora Bakardjieva.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
Making VLAB Secure Javier I. Roman. What is VLAB?  An interdisciplinary consortium dedicated to the development and promotion of the theory of planetary.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
.Net Security and Performance -has security slowed down the application By Krishnan Ganesh Madras.
Session 11: Security with ASP.NET
CHAPTER 2 PCs on the Internet Suraya Alias. The TCP/IP Suite of Protocols Internet applications – client/server applications The client requested data.
Digital Certificates Made Easy Sam Lutgring Director of Informational Technology Services Calhoun Intermediate School District.
SSL / TLS in ITDS Arun Vishwanathan 23 rd Dec 2003.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
1 Web services and security ---discuss different ways to enforce security Presenter: Han, Xue.
Digital Envelopes, Secure Socket Layer and Digital Certificates By: Anthony and James.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
Kemal Baykal Rasim Ismayilov
IP Security (IPSec) Matt Hermanson. What is IPSec? It is an extension to the Internet Protocol (IP) suite that creates an encrypted and secure conversation.
Cryptography CSS 329 Lecture 13:SSL.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Database architecture and security Workshop 4.
PRESENTATION ON SECURE SOCKET LAYER (SSL) BY: ARZOO THAKUR M.E. C.S.E (REGULAR) BATCH
Secure HTTP (HTTPS) Pat Morin COMP 2405.
The Secure Sockets Layer (SSL) Protocol
TOPIC: HTTPS (Security protocol)
Web Security CS-431.
IPSec Detailed Description and VPN
Web Applications Security Cryptography 1
Network Architecture Layered Architectures Network Protocols
Encryption and Network Security
Cryptography Reference: Network Security
Cryptography Reference: Network Security
Secure Sockets Layer (SSL)
Radius, LDAP, Radius used in Authenticating Users
Web Services Security.
COMP3220 Web Infrastructure COMP6218 Web Architecture
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
Chapter 2 Introduction Application Requirements VS. Transport Services
Implementing a service-oriented architecture using SOAP
Introduction to Web Services and SOA
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Message Digest Cryptographic checksum One-way function Relevance
Pooja programmer,cse department
SSH: SECURE LOGIN CONNECTIONS OVER THE INTERNET
Security & .NET 12/1/2018.
Securing the CASP Protocol
$, $$, $$$ API testing Edition
The Secure Sockets Layer (SSL) Protocol
Protocol ap1.0: Alice says “I am Alice”
Lecture 5: Transport layer (TLS / SSL) and Security ( PGP )
Module 2 OBJECTIVE 14: Compare various security mechanisms.
Chinese wall model in the internet Environment
Network Security 4/21/2019 Raj Rajarajan.
Introduction to Web Services and SOA
Advanced Computer Networks
Electronic Payment Security Technologies
Cryptography and Network Security
Chapter 8 roadmap 8.1 What is network security?
Lecture 36.
CSE 5/7349 – February 15th 2006 IPSec.
Lecture 36.
Presentation transcript:

REST/SOAP Security A Brief Introduction

Quick Review: Protocol Layering The Internet can be viewed as a layered stack of protocols Each layer offers services to the layer above and consumes those provided by the underlying layer The services provided by a layer form its service model Two protocols that belong to the same layer should offer some common service: TCP and UDP both offer a transport service for application-layer messages But the general nature of the service may vary: TCP is connection-oriented – UDP is connectionless Same goes for the properties of the service TCP guarantees delivery – UDP provides no guarantees

Quick Review: Protocol Layering (cont.) In a broad sense, web services are application-layer entities that use HTTP as a communication protocol Security is not included in HTTP’s service model If we want a secure web service, we have a few options: Provide security measures at the service level (or the periphery thereof) Use a more secure message transport protocol (f. ex. HTTP over SSL) Both

Web Service Security: An Approach to the Topic “Wire-level” security (HTTPS) Peer authentication Integrity Confidentiality Credential processing: Phase I: User authentication Phase II: User authorization

Wire-level Security Problem: As a government official, I want to conduct business securely. Solution: Set up a private phone line. Analogy: HTTPS connections

Wire-level Security: Confidentiality Problem: My “private” phone line is still connected to the central telephone network. A listening device could be attached to it. Solution: Encode all wire traffic before it leaves the office, decode traffic as it enters the office. Analogy: HTTPS Encryption/Decryption

Wire-level Security: Peer authentication Problems: I only want to accept phone calls from people on the green list Impostors could call a green listed person and pretend to be me Solution: Before discussing any confidential issues, callers should introduce themselves by exchanging (sufficient) information about their respective identities. Analogy: HTTPS digital certificate exchange

Wire-level Security: Integrity Problem: Callers may mishear me due to interference or deliberate tampering. Solution: End each sentence by relaying the first letter of every word spoken – the caller will then try to match this against the message they received. Analogy: HTTPS Message Digests

Credential Processing Web services provide clients with access to resources If a resource is secured, the client should have the appropriate credentials to gain access The credentials are presented and verified through a two-phase process: Phase I: Authentication Phase II: Authorization

Credential Processing & Wire-level Security Under users/roles security, a client furnishes a form of identification together with a security credential that vouches for the identification To avoid hijacking, the credentials should be relayed over a secure channel whose setup and teardown is generally the responsibility of a wire-level security framework Wire-level security is thus the foundation upon which users/roles security is implemented HTTPS is a good way to provide wire-level security for web services (REST & SOAP)

Credential Processing: Authentication Problem: I’m a security guard in charge of a warehouse. Someone wants to enter the building but since I am uncertain of their identity I am unable to proceed. Solution: Ask the caller for their identification code. Analogy: Username/password combination

A Note on Credential Format Username and password pair – self-explanatory API key – basically a unique identifier handed out to each user Pros: UN/PW often less secure Easy reset Independent of master credentials (i.e. actual UN/PW) Saves time since UN/PW processing is slower by necessity (due to extra steps and protection against cyber attacks) https://stormpath.com/blog/top-six-reasons-use-api-keys-and-how Cons: Still need a secure comm. channel Not really a security feature http://nordicapis.com/why-api-keys-are-not-enough/

Credential Transmission over HTTPS Basic Encoded transmission, not much better than plain text Digest Hash transmission, a slight improvement Cryptographic scheme Public key cryptography (symmetric/asymmetric)

Basic access authentication

Digest access authentication

Credential Processing: Authorization Problem: An authenticated party has already entered the building. He is requesting access for storage compartment #43. Solution: Come up with a mapping that associates each authenticated party to the storage compartments they are allowed to access. Analogy: Authorization schemes

What about SOAP and REST? SOAP – a messaging framework often employed by web services REST – an architecture style often used in the design of web services Irrespective of which particular framework/style was used in the implementation of a web service, the previously discussion about security measures still applies Additionally, there is always the option to define custom security schemes: Custom HTTP headers for REST Custom SOAP extensions

A Note on WS-Security (WSS) A family of specifications providing a unified, transport-neutral, container-neutral, end-to-end framework for higher levels of security such as message confidentiality and authentication/authorization “The protocol specifies how integrity and confidentiality can be enforced on messages and allows the communication of various security token formats” (https://en.wikipedia.org/wiki/WS-Security) F. ex. WSS specifies how digital signatures and encryption information can be inserted into SOAP headers

A Note on WS-Security (WSS) (cont.)

Recap “Wire-level” security (HTTPS) Credential processing: Peer authentication Integrity Confidentiality Credential processing: Phase I: User authentication Phase II: User authorization

Sources Martin Kalin. “Java Web Services: Up and Running” 2nd ed. pg. 231 – 291. James F. Kurose, Keith W. Ross. “Computer Networking: A Top-Down Approach” 6th Intl. ed. pg. 81 – 87, 73 – 79.