Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Security and Trust Software Architecture Lecture 21.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
PACE: An Architectural Style for Trust Management in Decentralized Applications Girish Suryanarayana Justin Erenkrantz Scott Hendrickson.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Usable Security (Part 1 – Oct. 30/07) Dr. Kirstie Hawkey Content primarily from Teaching Usable Privacy and Security: A guide for instructors (
6/4/2015National Digital Certification Agency1 Security Engineering and PKI Applications in Modern Enterprises Mohamed HAMDI National.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Security and Trust Software Architecture Lecture 21.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
1 Minggu 7, Pertemuan 13 Security Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
CMSC 414 Computer and Network Security Lecture 11 Jonathan Katz.
Chapter 8 Security Transparencies © Pearson Education Limited 1995, 2005.
Key Management in Cryptography
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Chapter 19 Security Transparencies. 2 Chapter 19 - Objectives Scope of database security. Why database security is a serious concern for an organization.
Review security basic concepts IT 352 : Lecture 2- part1 Najwa AlGhamdi, MSc – 2012 /1433.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Security potpourri INF 123 – Software architecture (Slides from Dick Taylor and Crista Lopes) 1.
Cryptography and Network Security Overview & Chapter 1 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
ISOM MIS3150 Data and Info Mgmt Database Security Arijit Sengupta.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
Security Security is a measure of the system’s ability to protect data and information from unauthorized access while still providing access to people.
CMSC 414 Computer (and Network) Security Lecture 14 Jonathan Katz.
Security and Trust By Troy Lee. Overview Security Design Principles Architectural Access Control Access Control Models Connector-centric Architectural.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
Security and Trust Security is one of the “non-functional” properties of the system (or is it really all non-functional? ). While security may be added.
SAML CCOW Work Item HL7 Working Group Meeting San Antonio - January 2008 Presented by: David Staggs, JD CISSP VHA Office of Information Standards.
By Swetha Namburi.  Trust  Trust Model ◦ Reputation-based Systems ◦ Architectural Approach to Decentralized Trust Management.
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
Access Control. What is Access Control? The ability to allow only authorized users, programs or processes system or resource access The ability to disallow.
. 1. Computer Security Concepts 2. The OSI Security Architecture 3. Security Attacks 4. Security Services 5. Security Mechanisms 6. A Model for Network.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
Software Security II Karl Lieberherr. What is Security Enforcing a policy that describes rules for accessing resources. Policy may be explicit or implicit.
CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters 9-17 in the text book –Also Chapter 8 on Architectural Analysis.
CSCI 578 Software Architectures Exam #2 Review. Materials you are responsible for Chapters in the text book All lecture material from Implementation.
Information Security IBK3IBV01 College 2 Paul J. Cornelisse.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Designing for NFPs Infosys, Mysore December 21, 2009.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Brief Introduction to Software Connectors Software Architecture.
CS223: Software Engineering Lecture 13: Software Architecture.
Cryptography and Network Security Chapter 1. Background  Information Security requirements have changed in recent times  traditionally provided by physical.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Security and Trust Software Architecture.
Software Security II Karl Lieberherr. What is Security Enforcing a policy that describes rules for accessing resources. Policy may be explicit or implicit.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
CS457 Introduction to Information Security Systems
Software Security II Karl Lieberherr.
Software Connectors.
CSCI 578 Software Architectures
CSCI 578 Software Architectures
Software Architecture
Software Architecture Lecture 20
CSCI 578 Software Architectures
How to Mitigate the Consequences What are the Countermeasures?
Software Connectors.
DATABASE SECURITY For CSCL (BIM).
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture Lecture 7
Access Control What’s New?
Software Architecture Lecture 6
Presentation transcript:

Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Security and Trust Software Architecture Lecture 21

Software Architecture: Foundations, Theory, and Practice Outline Security Design Principles Architectural Access Control u Access Control Models u Connector-Centric Architectural Access Control Trust Trust Model u Reputation-based Systems u Architectural Approach to Decentralized Trust Management 2

Software Architecture: Foundations, Theory, and Practice Security “The protection afforded to an automated information system in order to attain the applicable objectives of preserving the integrity, availability and confidentiality of information system resources (includes hardware, software, firmware, information/data, and telecommunications).” u National Institute of Standards and Technology 3

Software Architecture: Foundations, Theory, and Practice Confidentiality, Integrity, and Availability Confidentiality u Preserving the confidentiality of information means preventing unauthorized parties from accessing the information or perhaps even being aware of the existence of the information. I.e., secrecy. Integrity u Maintaining the integrity of information means that only authorized parties can manipulate the information and do so only in authorized ways. Availability u Resources are available if they are accessible by authorized parties on all appropriate occasions. 4

Software Architecture: Foundations, Theory, and Practice Design Principles for Computer Security Least Privilege: give each component only the privileges it requires Fail-safe Defaults: deny access if explicit permission is absent Economy of Mechanism: adopt simple security mechanisms Complete Mediation: ensure every access is permitted Design: do not rely on secrecy for security 5

Software Architecture: Foundations, Theory, and Practice Design Principles for Computer Security (cont’d) Separation of Privilege: introduce multiple parties to avoid exploitation of privileges Least Common Mechanism: limit critical resource sharing to only a few mechanisms Psychological Acceptability: make security mechanisms usable Defense in Depth: have multiple layers of countermeasures 6

Software Architecture: Foundations, Theory, and Practice Security for Microsoft IIS 7 --from [Wing, 2003]

Software Architecture: Foundations, Theory, and Practice Architectural Access Control Models Decide whether access to a protected resource should be granted or denied Discretionary access control u Based on the identity of the requestor, the resource, and whether the requestor has permission to access Mandatory access control u Policy based 8

Software Architecture: Foundations, Theory, and Practice Discretionary Access Control Database AComponent QInterface F AliceRead-Write; Always BendYes BobRead-Write; Between 9 and 5 FoldNo CharlesNo accessSpindleNo DaveNo accessMutilateYes EveRead-only; Always NoneNo 9

Software Architecture: Foundations, Theory, and Practice Mandatory Access Control Bob: Secret Alice: Confidential Tom: Top Secret 10 Arrows show access (read/write) privileges What about just appending?

Software Architecture: Foundations, Theory, and Practice Connector-Centric Architectural Access Control Decide what subjects the connected components are executing for Regulate whether components have sufficient privileges to communicate through the connectors Provide secure interaction between insecure components Propagate privileges in architectural access check Participate in deciding architectural connections Route messages according to established policies 11 Static analysis of architectures coupled with dynamic checking

Software Architecture: Foundations, Theory, and Practice Decentralization No centralized authority to coordinate and control entities Independent peers, with possibly conflicting goals, interact with each other and make local autonomous decisions Presence of malicious peers in open decentralized applications Need for measures to protect peers against malicious attacks 12

Software Architecture: Foundations, Theory, and Practice Some Threats of Decentralization Impersonation: Mallory says she is Bob to Alice Fraudulent Actions: Mallory doesn’t complete transactions Misrepresenting Trust: Mallory tells everyone Bob is evil Collusion: Mallory and Eve tell everyone Bob is evil Addition of Unknowns: Alice has never met Bob 13 Trust management can serve as a potential countermeasure u Trust relationships help peers establish confidence in other peers

Software Architecture: Foundations, Theory, and Practice Decentralized Auctioning Open decentralized application Independent buyers/sellers Potentially malicious participants Need to counter threats 14 Marvin (malicious) Carol Bob Alice Mallory (malicious) Decentralized Auctioning

Software Architecture: Foundations, Theory, and Practice Impersonation 15 Bob Alice Mallory (malicious) “I am Bob” Bob is reliable and everyone has a good opinion about Bob

Software Architecture: Foundations, Theory, and Practice Fraudulent Actions 16 Alice “buyer” Alice pays for the items Marvin “seller” (malicious) Marvin does not ship the items

Software Architecture: Foundations, Theory, and Practice Misrepresentation 17 Bob Alice Mallory (malicious) “Bob is unreliable” Bob is reliable and everyone has a good opinion about Bob

Software Architecture: Foundations, Theory, and Practice Collusion 18 Bob Alice Mallory (malicious) “Bob is unreliable” Bob is reliable and everyone has a good opinion about Bob Marvin (malicious)

Software Architecture: Foundations, Theory, and Practice Addition of Unknowns 19 Carol (new entrant in the system) Bob Alice Bob has no information about Carol; he is not sure whether to interact with Carol Carol is new and does not know Alice; she is not sure whether to interact with Alice

Software Architecture: Foundations, Theory, and Practice Background: Trust Management Trust u Trust is a particular level of the subjective probability with which an agent assesses that another agent will perform a particular action in a context that affects his actions [Gambetta, 1990] Reputation u Expectation about an entity’s behavior based on past behavior [Abdul-Rahman, 2000] u May be used to determine trust Two types of trust management systems u Credential and Policy-based u Reputation-based 20

Software Architecture: Foundations, Theory, and Practice Role of Trust Management Each entity (peer) must protect itself against these threats Trust Management can serve as a potential countermeasure u Trust relationships between peers help establish confidence Two types of decentralized trust management systems u Credential and policy-based u Reputation-based 21

Software Architecture: Foundations, Theory, and Practice Architecture and Trust Management Decentralized trust management has received a lot of attention from researchers [Grandison and Sloman, 2000] u Primary focus has been on developing new models But how does one build a trust-enabled decentralized application? u How do I pick a trust model for a given application? u And, how do I incorporate the trust model within each entity? 22

Software Architecture: Foundations, Theory, and Practice Approach Select a suitable reputation-based trust model for a given application Describe this trust model precisely Incorporate the model within the structure (architecture) of an entity u Software architectural style for trust management (PACE) Result – entity architecture consisting of u components that encapsulate the trust model u additional trust technologies to counter threats 23

Software Architecture: Foundations, Theory, and Practice Key Insights Trust u Cannot be isolated to one component u Is a dominant concern in decentralized applications and should be considered early on during application development u Having an explicit architecture is one way to consistently address the cross-cutting concern of trust Architectural styles u Provide a foundation to reason about specific goals u Facilitate reuse of design knowledge u Allow known benefits to be leveraged and induce desirable properties 24

Software Architecture: Foundations, Theory, and Practice Design Guidelines: Approach Identify threats of decentralization Use the threats to identify guiding principles that help defend against the threats Incorporate these principles within an architectural style focused on decentralized trust management 25

Software Architecture: Foundations, Theory, and Practice Design Guidelines 26 ThreatsStrategies ImpersonationDigital identities, signature-based verification Fraudulent ActionsExplicit trust, comparable trust MisrepresentationExplicit trust, comparable trust, separation of internal and external data CollusionExplicit trust, comparable trust, separation of internal and external data Addition of unknownsImplicit trust of user

Software Architecture: Foundations, Theory, and Practice PACE Architectural Style Basis: C2, a layered event-based style u Allows the natural structuring of the four functional units according to their dependencies u Facilitates reuse u Extensive tool support The resultant architectural style is called PACE (Practical Architectural approach for Composing Egocentric trust) 27

Software Architecture: Foundations, Theory, and Practice Functional Units Communication u Responsible for external interaction with other peers including data collection and transmission; does not depend upon data storage or analysis Information u Store all data including internal beliefs and reported information Trust u Responsible for trust computation and managing credentials; depends upon internal data for computation Application u Application-specific components including user interface; Builds upon services provided by the other three 28

Software Architecture: Foundations, Theory, and Practice PACE Components 29 Application Layer Communication Layer Information Layer Trust Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credentia l Manager A P P L I C A T I O N

Software Architecture: Foundations, Theory, and Practice PACE: Communication Layer 30 Multiple protocol handlers. Translate internal events into external messages and vice-versa Creates and manages protocol handlers Signs requests and verifies notifications Communication Layer Information Layer Trust Layer Application Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credential Manager A P P L I C A T I O N

Software Architecture: Foundations, Theory, and Practice PACE: Information Layer 31 Communication Layer Information Layer Trust Layer Application Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credential Manager A P P L I C A T I O N Separates internal beliefs from reported information Stores internal beliefs persistently

Software Architecture: Foundations, Theory, and Practice PACE: Trust Layer 32 Communication Layer Information Layer Trust Layer Application Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credential Manager A P P L I C A T I O N Incorporates different trust models and algorithms; can assign trust values to notifications received Generates unique public-private key pairs Maintains local cache of other peers’ identities; requests public keys from peers and responds to revocations

Software Architecture: Foundations, Theory, and Practice PACE: Application Layer 33 Domain-specific trust rules; includes context of trust User-interface and application- specific components Communication Layer Information Layer Trust Layer Application Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credential Manager A P P L I C A T I O N

Software Architecture: Foundations, Theory, and Practice Countering Fraudulent Actions 34 User sends request for trust information Others respond Responses are verified and tagged with trust values User sees these messages and makes an informed decision Post-interaction, user can change trust information Communication Layer Information Layer Trust Layer Application Layer Communication Manager External Information Internal Information Key Manager Signature Manager Trust Manager Application Trust Rules HTTP SenderCustom ProtocolsMulticast Manager Multicast Handler Credential Manager A P P L I C A T I O N

Software Architecture: Foundations, Theory, and Practice Result: Decentralized Auctioning 35 Carol Bob Alice Marvin (malicious) Mallory (malicious) Decentralized Auctioning Trust-enabled entity architecture Trust-enabled entity architecture Trust-enabled entity architecture