Securing the Broker Pattern Patrick Morrison 12/08/2005.

Slides:



Advertisements
Similar presentations
GT 4 Security Goals & Plans Sam Meder
Advertisements

The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Authentication Applications The Kerberos Protocol Standard
Security by Design A Prequel for COMPSCI 702. Perspective “Any fool can know. The point is to understand.” - Albert Einstein “Sometimes it's not enough.
OOI-CI–Ragouzis– Ocean Observatories Initiative Cyberinfrastructure Component CI Design Workshop October 2007.
1 Computer Security Instructor: Dr. Bo Sun. 2 Course Objectives Understand basic issues, concepts, principles, and mechanisms in computer network security.
1 Security Assertion Markup Language (SAML). 2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
Broker Pattern Pattern-Oriented Software Architecture (POSA 1)
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
6/4/2015National Digital Certification Agency1 Security Engineering and PKI Applications in Modern Enterprises Mohamed HAMDI National.
SOA Security Chapter 12 SOA for Dummies. Outline User Authentication/ authorization Authenticating Software and Data Auditing and the Enterprise Service.
II. Middleware for Distributed Systems
Introduction To Windows NT ® Server And Internet Information Server.
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
Storage Security and Management: Security Framework
Cardea Requirements, Authorization Model, Standards and Approach Globus World Security Workshop January 23, 2004 Rebekah Lepro Metz
1 Open Pluggable Edge Services OPES Abbie Barbir, Ph.D.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
1 Security and Agent Based Computing Environment Presented by: Feng Zhang, Markus Kaiser, Hien Nguyen, and Shu Wang.
Computer Science and Engineering 1 Service-Oriented Architecture Security 2.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Module 11: Remote Access Fundamentals
Grid Resource Allocation and Management (GRAM) Execution management Execution management –Deployment, scheduling and monitoring Community Scheduler Framework.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
U.S. Department of Agriculture eGovernment Program July 15, 2003 eAuthentication Initiative Pre-Implementation Status eGovernment Program.
Lecture 16 Page 1 Advanced Network Security Perimeter Defense in Networks: Virtual Private Networks Advanced Network Security Peter Reiher August, 2014.
Security Overview  System protection requirements areas  Types of information protection  Information Architecture dimensions  Public Key Infrastructure.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
By Garrett Kelly. 3 types or reasons for distributed applications Data Data used by the application is distributed Computation Computation is distributed.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Biometric Authentication in Distributed Computing Environments Vijai Gandikota Karthikeyan Mahadevan Bojan Cukic.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
CSC480 Software Engineering Lecture 10 September 25, 2002.
06/02/06 Workshop on knowledge sharing using the new WWW tools May 30 – June 2, 2006 GROUP Presentation Group 5 Group Members Ambrose Ruyooka Emmanuel.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Authorization GGF-6 Grid Authorization Concepts Proposed work item of Authorization WG Chicago, IL - Oct 15 th 2002 Leon Gommans Advanced Internet.
Web Services Security Patterns Alex Mackman CM Group Ltd
UML (Unified Modeling Language)
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Understanding Security
INTRODUCTION TO COMPUTER & NETWORK SECURITY INSTRUCTOR: DANIA ALOMAR.
February 1999T. Haupt, DATORR meeting1 Gateway System New Generation of WebFlow.
M2M Service Layer – DM Server Security Group Name: OMA-BBF-oneM2M Adhoc Source: Timothy Carey, Meeting Date:
1 Computer Security Instructor: Dr. Bo Sun. 2 Course Objectives Understand basic issues, concepts, principles, and mechanisms in computer network security.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
OGF PGI – EDGI Security Use Case and Requirements
Building Distributed Educational Applications using P2P
Grid Security.
Evaluating Existing Systems
Evaluating Existing Systems
Design and Implementation
Data Security in Local Networks using Distributed Firewalls
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Chapter 5 Architectural Design.
Access Control What’s New?
Chapter 5 SNMP Management
Chapter 5 SNMP Management
Presentation transcript:

Securing the Broker Pattern Patrick Morrison 12/08/2005

Presentation Outline Present Broker Discuss security issues with Broker Survey CORBA as a Broker implementation that addresses security Abstract these ideas into Secure Broker

Broker Pattern The Broker architectural pattern can be used to structure distributing software systems with decoupled components that interact by remote service invocations. A broker component is responsible for coordinating communication, such as forwarding requests, as well as for transmitting results and exceptions. [POSA1] (e.g. WWW, CORBA)

Problem Broker decouples communications from application concerns, but does not address security issues; un- addressed, these can compromise an application’s usefulness. In addition to Broker’s role in decoupling communications from applications, the Secure Broker must: –Protect Clients from illegitimate Servers and Brokers –Protect Servers from illegitimate Clients and Brokers –Protect Brokerss from illegitimate Clients and Servers

Problem in Stick Figures Forgery –Client: I’m Bill Gates, please give me $1M –Broker: I’m Bank of America, deposit your money here. –Server: I’m Wells Fargo, I can carry those money bags away for you. Betrayal (by Trusted Server) –Client: Give me my Bank –Broker: Here’s your Bank –Bank: (Actually the Bad Guy’s server) Denial (of Service) –Client: I’d like to speak to my Bank. –Broker: What Bank?

Forces The existing Broker pattern does not address security concerns. Broker will typically require security Security is difficult to ‘get right’ Implementations of Broker have addressed security concerns – CORBA, WWW

(One Possible) Solution Find implementations of Broker that address security concerns Evaluate their security attributes Factor lessons learned back in to the original pattern. Motto: “Prefer discovery to invention.”

Broker in Detail Class Diagram Sequence Diagrams Security issues in the Scenarios/Use Cases

Broker Class Diagram

Server Registration

Client Requests Service

Broker Forwards Request

Implementation Evaluation:CORBA CORBA in Broker terms Security Architecture Lessons Learned

CORBA in Broker Terms

CORBA Security Threats Addressed An authorized user of the system gaining access to information that should be hidden from him. A user masquerading as someone else, directly or through delegation. Security controls being bypassed. Eavesdropping on a communication line Tampering with communication Lack of accountability due, for example, to inadequate identification of users. Source: Corba Security Service v1.8, sect

CORBA Security Overview Principals are the primary actors Principals have credentials indicating what their permissions are Credentials are issued by a trusted intermediary (“Principal Authenticator”) Targets are the primary resources requested A given object may be Principal and Target Policies relate credentials to Principals

CORBA Security Overview Secure Object Invocation –Establish trust relationship between Principal and Target Authenticate each other Present Principal credentials to Target object Establish security context –Determine whether Principal may execute the requested Target operation –Audit the invocation –Protect request and response from tampering and eavesdropping

CORBA Security Overview Access Control Model –Object Invocation Access Policy Enforced by Proxies/ORB Enforced through Access Decision functions –Binary result: yes/no, allow/deny –At Principal: rules for invocation “Can I ask Johnny to come out and play?” –At Target: rules for accepting request “Not after 6.” Policies built on top of access decision framework

Current ORB Core Target ORB Security Security Association ORB Security Access control Secure Invocation Secure Invocation Access control Access Decision Policy Obj-Reference Client Credentials Current Credentials Security Association Policy Secure Inter- operability Big Picture

CORBA Invocation Security Client Application (Message Sender) ORB Security Enforcement Subsystem Execution Context Credential Identity Privileges Message Policy Enforcement Code Target Object Domain Domain Policy

CORBA Security Overview The Untold Story –Policies –Domains –Non-Repudiation

CORBA in UML: Credentials

CORBA in UML goes here Presentation status: The glue’s not quite dry. Mea culpa.

CORBA Lessons Security begins with Identity – Principals, authorization Implement access control in the proxies and Broker Implement mechanism, not policy Implement (optional) encryption when messages pass across bridges.

Secure Broker Intent: Provide secure interactions between distributed components. Example: Online Bank, Customer makes withdrawal – want to be sure that the Customer gives his account only to the Bank, and that the Bank distributes the Customer’s money according to the Customer’s wishes. Context: Distributed computing systems, homogeneous or heterogeneous.

Secure Broker Problem: Broker decouples communications from application concerns, but does not address security issues; un-addressed, these can compromise an application’s usefulness. In addition to Broker’s role in decoupling communications from applications, the Secure Broker must: –Protect Clients from illegitimate Servers and Brokers –Protect Servers from illegitimate Clients and Brokers –Protect Brokers from illegitimate Clients and Servers

Secure Broker Forces –Broker distributes objects, but distribution does not imply trust –Client access to Servers may need to be restricted –Server access to Clients may need to be restricted –Trust for an intermediary can be established

Secure Broker Solution: ‘Borrow’ CORBA security ideas for application to the Broker pattern –Identity –Credentials –Access Decisions

Secure Broker Structure

Next Steps Sequence Diagrams Other implementations Other patterns: Broker Revisited, Lookup