Security UML -1 Security Analysis/Design for UML Alberto De la Rosa Algarín, Jaime Pavlich-Mariscal, Steven A. Demurjian, Laurent D. Michel Computer Science.

Slides:



Advertisements
Similar presentations
Database Planning, Design, and Administration
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Copyright © 2008 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Andrew Stone Common Security.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Object-Oriented Analysis and Design
Secure Systems Research Group - FAU Patterns for access control E.B. Fernandez.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Securing Web Services Using Semantic Web Technologies Brian Shields PhD Candidate, Department of Information Technology, National University of Ireland,
© Copyright Eliyahu Brutman Programming Techniques Course.
Lecture Nine Database Planning, Design, and Administration
Object Oriented Analysis and Design Using the UML
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Audumbar. Access control and privacy Who can access what, under what conditions, and for what purpose.
XACML Gyanasekaran Radhakrishnan. Raviteja Kadiyam.
1 © Talend 2014 XACML Authorization Training Slides 2014 Jan Bernhardt Zsolt Beothy-Elo
● Problem statement ● Proposed solution ● Proposed product ● Product Features ● Web Service ● Delegation ● Revocation ● Report Generation ● XACML 3.0.
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
UML - Development Process 1 Software Development Process Using UML (2)
Overview of the Database Development Process
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Database Planning, Design, and Administration Transparencies
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
An Introduction to the Unified Modeling Language
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Design Model Lecture p6 T120B pavasario sem.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
Department of Computer Science PCL: A Policy Combining Language EXAM: Environment for Xacml policy Analysis & Management Access Control Policy Combining.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Basic Characteristics of Object-Oriented Systems
UnifiedSec-1 CSE 5810 Integrated Secure Software Engr. Approach for Functional, Collaborative, and Information Concerns J. A. Pavlich-Mariscal, S. Berhe,
UMLSecurity-1 CSE 5810 Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 371 Fairfield Road, Box U-1155.
Chapter 9 Database Planning, Design, and Administration Transparencies © Pearson Education Limited 1995, 2005.
DigitalHC-1 CSE 5810 Digital Healthcare Security Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut.
Chapter 1: Introduction to Systems Analysis and Design
The Movement To Objects
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
Software Design Lecture : 15.
Chapter 1: Introduction to Systems Analysis and Design
Design Yaodong Bi.
Chapter 1: Introduction to Systems Analysis and Design
UML Design for an Automated Registration System
Presentation transcript:

Security UML -1 Security Analysis/Design for UML Alberto De la Rosa Algarín, Jaime Pavlich-Mariscal, Steven A. Demurjian, Laurent D. Michel Computer Science & Engineering Department 371 Fairfield Road, Box U-2155 The University of Connecticut Storrs, Connecticut

Security UML -2Motivation  Software Engineering  Phases of Requirements, Design, Implementation, Testing, Maintenance.  Effort: E.g., 60% for Requirement & Design, 15% Implementation, and 25% Testing [Boehm 87]  Software Applications with Security Concerns  When is Security Incorporated into Software Development?  Traditional: Deferred to Latter Stages of the Lifecycle Problem: Error-Prone, Difficult to Verify, Costly  Microsoft Report: >50% Security Problems are Design Flaws [McGraw 03]  Return on Security Investment (ROSI): 21% if Integrating at Design; 15% Implementation;12% Testing [Hoo 01]

Security UML -3Motivation  Incorporating Security into UML Design  Object-Oriented Software Design:  Using the De Facto UML (Unified Modeling Language) [OMG03], a Language for Specifying, Visualizing, Constructing, and Documenting Software Artifacts  When is Security Incorporated into Software Design?  Security Must Be a First Class Citizen - Integrated at Early and All Stages of the Lifecycle  Security Assured, Synchronized, Convenient  Provide Automated Transition from Security Definitions to Security Enforcement Code  Integration of Enforcement Code with Application

Security UML -4Objectives  Span from Requirements/Design to Development of the Software Process, its Models, and Tools  Integrated:  Rigid Methodology to Express Security Concerns  Seamlessly Capture Security Requirements at Design  Assured:  Specific Means to Verify Security Concerns  Easy-To-Use:  Intuitive Solution Facilitates Inclusion of Security for Different Stakeholders  Transition: Requirements - Design – Development  Security Code Generation (Authorizations)  Run-time Authentication

Security UML -5 Overview of Remainder of Talk  Secure Software Design  Principles of Secure Design  Extending UML for Secure Design  UML Extensions for Security  Tracking Design and Security State  Security Assurance via Constraint Checking  Prototyping Effort  Transition from Design to Development  Role Slice Diagram  Aspect Oriented Programming  Prototyping Effort  Push to Information Security  Conclusions and Ongoing Research

Security UML -6 Principles of Secure Design  Principle 1  The Software Design has Multiple Iterative Periods  Security Features Should be Incorporated and Adjusted During Each of and Among Those Periods  Principle 2  T  The Security Assurance is Satisfied Relatively to the Period of Software Design  Principle 3  The Security Incorporating Process Should Neither Counter the Intuition Nor Decrease the Productivity of the Stakeholders  Principle 4  Security Definition via a Unified Perspective that Collects Privileges into a Cohesive Abstraction

Security UML -7  Tier 2: Associating Classes Used in Use Cases  Choosing Needed Classes in Sequence Diagrams  Tier 3: Sequence Diagrams (and Other Diagrams)  Specify Messages (Methods Without Code) Between Objects  Multiple Design Tiers:  Tier 1: Use Case Diagrams, Class Diagrams  Define Use Cases, Actors, and Their Relationships  Define Classes (High Level:Only Attributes/Methods Signatures) and Relationships Among Classes Principle 1  The Software Design Has Multiple Iterative Phases and The Security Features Should Be Incorporated and Adjusted During Each of and Among Those Phases

Security UML -8 Principle 2  The Security Assurance is Satisfied Relatively to the Period of Software Design  Security Assurance Evaluated Against the Respective Software Design Phase To Enforce the Security Assurance Rules (SARs)  The Granularity Level of SAR Checks Is Dependent on the Level of Detail in the Software Design Phase  Example:  Tiers 1 & 2: Use Case Diagrams, Class Diagrams  Check the Security Levels of Use Cases, Actors, and Classes  Tier 3: Sequence Diagrams  Check the Security Levels of Methods

Security UML -9 Principle 3  The Security Incorporating Process Should Neither Counter the Intuition nor Decrease the Productivity of the Software Designer.  Our Perspective:  (e i, e j.behavior jk ): Whether Element e i Can Employ Some Behavior behavior jk of Element e j  Security Consideration in UML: “Who Can Exercise Which Behaviors of the Application (Use Cases) and Class Behaviors (Methods)?”  Answer: Drawing Connections in UML Diagrams  Productivity: Incorporating Security Via SARs in Connections Provides Security Checks During the Normal Activity of Designers

Security UML -10 Principle 3  The Security Incorporating Process Should Neither Counter the Intuition nor Decrease the Productivity of the Software Designer  Security Consideration in UML: “Who Can Exercise Which Behaviors of the Application (Use Cases) and Class Behaviors (Methods)?”  Example: The System has Two Usage Modes:  Design-Time: Real-Time Check  Drag – Check – “Drop/Pop”: Realization of the Intended Design Element or Pop Up Error Message Depending on the Security Checking Result  Post-Design: On-Demand Check  Security Compiler Executed on a Whole Design

Security UML -11 Principle 3  The Security Incorporating Process Should Neither Counter the Intuition nor Decrease the Productivity of the Software Designer.  MAC: (Subject, Operation, Object): Operation = Read|Write|Call Object = A Piece of Atomic Information With Only One Assigned Security Classification  Object-Oriented: Operation = (Read*Write*Call*)* (as Method) Object = An Instance of Class with Many Attributes

Security UML -12 Principle 4  Security Definition via a Unified Perspective that Collects Privileges into a Cohesive Abstraction  Our Perspective:  Security as Supported via Principles 1, 2, and 3, Spreads Requirements Across Multiple Diagrams  As a Result, Security is “Tangled” and “Scattered” Across Design  Propose a “Role-Slice Diagram” that Collects Definitions into a Central Location  Allows Stakeholders to See the “Big Picture”  Provides Basis for Security Enforcement Code Generation

Security UML -13 Objective and Approach  Objective  Propose and Design Techniques that Integrate Security Concerns into the Software Process.  MAC, RBAC, and DAC (Delegation)  Lifetime of Access  Authentication  Logging  Approach Introduces the “Role-Slice Diagram”  Preserve Separation of Security Concerns from Modeling through Implementation  Provide the Tools to Integrate them at Every Level  Allow a Customized Generation of Secure Code on an Application-by-Application Basis

Security UML -14 Recall Survey Management Example  A Survey Institution Performs and Manages Public Surveys  The Senior Staff Person Adds a Survey Header Into the Database  Staff Person (Senior or Junior Staff) Adds Questions Into that Survey, Categorize Questions and Adds a New Question Category If Needed  Some Special Questions that have More Sensitive Content - Only Senior Staff Allowed to Process

Security UML -15 Survey Management Example

Security UML -16 Survey Management Class Diagram

Security UML -17 Simplified Class Model of the Survey Application

Security UML -18 Defining a Secure Subsystem  We do not Want to Define Security over Every Class in the System  Security is Defined over a Secure Subsystem  Represents those Classes on Which Privileges will be Defined Secure Subsystem

Security UML -19 Defining Access Control Policy  A Role Slice is a Specialized Class Diagram that Represents Permissions for the RBAC Model  Roles are Represented as Packages  Permissions are Represented as Stereotyped Methods  Role Hierarchy is Represented by a Stereotyped Dependency Relation

Security UML -20 Integration is Automatable  Recall the Transition from Use Cases to the:  Classes Utilized to Realize their Functionality  Methods of those Classes (Subset)  Provides  Definition of Secure Subsystem (Include a Class if at Least One Method is Assigned to a Use Case)  Methods Identified via Actor-Use Case- Class-Method Link  by Disallowed Usage Secure Subsystem

Security UML -21 Recall the Transition Secure Subsystem

Security UML -22 Framework Overview   Application- specific Model   Concern-specific Composable Units   Implementation of the Application   Implementation of Concerns   Composition into the Final Application

Security UML -23 Framework Overview  Role-Slice Extensions  Aspect-Oriented Security Enforcement Code Generation

Security UML -24 Simplified Class Model of the Survey Application

Security UML -25 Defining the Security Policy  We do not Want to Define Security over Every Class in the System  Security is Defined over a Secure Subsystem Secure Subsystem

Security UML -26 Composition of Role Slices  To Obtain the Final Set of Permissions  Positive Permissions are Inherited by Child Role Slices from their Parents  Negative Permissions are Used to Override Permissions that are Positive in Parent Role Slices

Security UML -27 Formal Role-Slice Policy

Security UML -28 Composition of Role Slices  To Obtain the Final Set of Permissions  Positive Permissions are Inherited by Child Role Slices from their Parents  Negative Permissions are Used to Override Permissions that are Positive in Parent Role Slices

Security UML -29 Composed Role Slices

Security UML -30 Another Example

Security UML -31 Role Slice Diagram

Security UML -32 Composed Role Slices

Security UML -33 Mapping to Security Enforcement Code  Role Slices Define an Access Control Policy  This Policy Must be Enforced in the Code  OOP is not Enough to add Security to Software  Leverage Aspect-Oriented Programming (AOP)

Security UML -34 Prototyping Effort - Role-slice Inspector  A Plugin for Together Architect that Generates a Role Slice from the Information of an Actor  Defines whether the Role is Abstract or Not  Shows the Role Slice Associated to the Selected Actor

Security UML -35 Prototyping Effort - Role-slice Inspector  Role-slice View of Actor Staff

Security UML -36 Prototyping Effort – Code Generator  Uses the Role Slice Information to Generate Enforcement Code in AspectJ

Security UML -37 Prototyping Effort – Code Generator  Generation of the AspectJ File AccessControl.java

Security UML -38 Prototyping Effort – Code Generator  Generated AspectJ File

Security UML -39 Prototyping Effort – Code Generator  Generated Code  Obtaining the Active User public aspect AccessControl { pointcut login():call(User SecurityAdmin.logIn(..)); User around():login() { User u = proceed(); activeUser.set(u); return u; } private ThreadLocal activeUser = new ThreadLocal() { protected Object initialValue() {return null;} }; private User getActiveUser() { return (User)activeUser.get(); }... }

Security UML -40 Prototyping Effort – Code Generator  Checking Permissions public aspect AccessControl {... pointcut externalCall() : (call(* Survey_List.*(..)) || call(* Survey_Header.*(..))) && !within(Survey_List) && !within(Survey_Header); before() : externalCall() { Role r = getActiveUser().getActiveRole(); if (!r.hasPosPermission(thisJoinPointStaticPart)) { throw new org.aspectj.lang.SoftException( new PermissionDeniedException()); }

Security UML -41 Information Security

Security UML -42 Push for Information Security  Today’s Applications and Systems Built around Multiple Technologies  APIs, Cloud Computing, Web Services, Data Mining, etc.  Alternative Data Structure Standards  XML, RDF, JSON, OWL, etc.  Can we Incorporate RBAC, MAC, and DAC ?  XML Security Schemas Set  Roles, Users, Constraints  RBAC, MAC, DAC  Apply Security Schemas to XML Documents  Security Schema Filters Document  XML Document Appears Differently Based on Role, MAC, Delegation

Security UML -43 What is XML?  Provides a Common, Structured Language  Independent of Systems  Information Hierarchically Structured and Tagged  Tags can Offer Semantics  XML schemas  Blueprints for new Instances  Validation Agents  Achieved with  XML Schema Definition (XSD)  XML Schema Language (XSL)

Security UML -44 Example of an XML schema (CCR segment)

Security UML -45 Secure Information Engineering  Given an XML Application of Schemas and Associated Instances, can we:  Define Schemas for Security Levels, Roles, User- Role Authorizations, and Delegation  Augment Application’s Schemas/Instances with MAC Security Classifications (if Needed)  XML Instances are Dynamically Filtered to Suit a User’s Needs for an Application:  Based on User’s Role, MAC, Delegation  Deliver Filtered Instance(s) to User  Exploit eXtensible Access Control Markup Language (XACML) for Policy Generation

Security UML -46 XML sScurity Oriented UML diagrams  UML provides diagrams to model applications  Lack of diagrams for Security  Pavlich-Mariscal 2008 defined new UML diagrams for RBAC in the Meta-model layer  We Extend with XML Oriented UML Artifacts  XML Schema Class Diagram (XSCD)  UML Representation of the XML schema  For RBAC, XML Role Slice Diagram (XRSD)  Security Augmented Representation of XML schema Elements, Roles and Permissions

Security UML -47 XML Schema Class Diagram  Artifact that holds all the characteristics of an XML schema  Structure, Data Type, Value Constraints  Hierarchical nature of XML schemas is modeled  xs:complexType, xs:element, xs:sequence  UML Class with respective Stereotypes  Child Relations (xs:element, xs:sequence, xs:simpleType)  UML Subclass  xs:extension  Association between Classes  Data-type Cardinality Requirements and Constraints; type  «constraint»; «type» stereotypes

Security UML -48 XSCD of CCR Segment «complexType» StructuredProductType «element» Product «complexType» «sequence» «type» CodedDescriptionType «element» ProductName «type» CodedDescriptionType «constraint» minOccurs=0 «element» BrandName «element» Strength «constraint» minOccurs=0 «constraint» maxOccurs=-1 «extension» CCRCodedDataObjectType XSCD

Security UML -49 XML Role Slice Diagram  Represents Access Control Definitions  With respect to XSCD Attributes  Fine Grained Control through  Security Policies and Definitions to the XSCD  Permissions on XML Documents  Read, Write, No Read, No Write  Represented in the XRSD with Stereotypes:  «read/write»  «read/nowrite»  «noread/write»  «noread/nowrite»

Security UML -50 Example of XRSDs «XRSD» Physician «RoleDescription» «RoleRequirements» «read/write» «element» Product «read/write» «element» ProductName «read/write» «element» BrandName «read/write» «element» Strength «read/write» «element» StrengthSequencePosition «read/write» «element» VariableStrengthModifier «XRSD» Nurse «RoleDescription» «RoleRequirements» «read/nowrite» «element» Product «read/nowrite» «element» ProductName «read/nowrite» «element» BrandName «read/nowrite» «element» Strength «read/nowrite» «element» StrengthSequencePosition «read/nowrite» «element» VariableStrengthModifier

Security UML -51 What is XACML?  Aims to Define a Common Language and Processing Model  Permits a Level of Security Interoperability  XACML schema Provides Several Structures and Elements to Represent Policies  PolicySet, Policy, Rule  PolicySets and Rules Combined by Policy/Rule Combination Algorithm  Permit-overrides  Deny-overrides  First-applicable  Only-one-applicable

Security UML -52 XACML General Structure PolicySet Policy Rule Subject Action Resource Rule Combination Algorithm Policy Combination Algorithm

Security UML -53 Mapping to a Security Policy (XACML)  Policies’ Language Structure and Processing Model  PolicySet, Policy, Rule  Policy and Rule Combination Done with Normative Algorithms  Deny-overrides, permit-overrides, first-applicable, only-one-applicable  Use Deny-overrides as Combination Algorithm for Enforcement  If the Evaluation of One Rule Results in Deny, the Policy Evaluation is Deny  Mapping Process Divided in 3 Sub-Mappings  Role, Element and Permission

Security UML -54 Mapped Policy Role Mapping Permission Mapping

Security UML -55 Mapped Policy Element Mapping

Security UML -56 Enforcement in a Security Architecture   The architecture has a number of components:  Policy Enforcement Point (PEP)  Allows a request to be made on a resource  Policy Decision Point (PDP)  Evaluates the request and provides a response according to the policies in place  Policy Administration Point (PAP)  Utilized to write and manage policies  Policy Information Point (PIP)  Arbitrate very fine grained security issues

Security UML -57 Enforcement in a Security Architecture Physician Nurse XRSDs XACML Policy Mapping XACML Policy – Schema 1 XACML Policy – Schema 2 Policy Retrieval Point (PRP) PAP PDP PEP PIP XACML Architecture

Security UML -58 Benefits of Approach  Secure Information Engineering  Information access control tackled at the design phase  Information security augmented to a first-class citizen  Decoupled security from the data  Lower cost of updating policies that target a large volume o  Visual representation of information security schemas  UML diagrams describe the roles, XML schemas targeted, and the interplay of all the elements in security

Security UML -59End-Purpose  Merging and combining  Functional Security (Jaime’s work)  Collaborative Security (Solomon’s work)  Information Security (Alberto’s work)  A secure software engineering approach that tackles the major concepts of an application  Methods and Operations  Collaboration and Adaptive Workflows  Information and Resources used  Leveraging access control models across all three topics  RBAC  MAC  DAC

Security UML -60 Overall View (1)Main Security Design of the Application (2a,b) Initial Functional Security and Collaboration Design (2a,b.1) Define Functional Security and Collaboration Use Cases (2a,b.2) Define Secure SubSystem + Collaboration Capable Subsystem (2c) Initial Information Security Design (2c.1) Define XML Schema Class Diagram (2c.2) Define Information Security Requirements Generated Functional, Collaborative & Information Secure System (4) Refinement of Functional, COD/AWF and Information Security Design (5) Combine Three Facets and Transition into Final Design (6) Mapping to Enforcement Code and XACML Policies (3a) Functional Security Design Define Security Features Group Users into Roles Separation of Duty, Delegation Authority Select MAC Features [NEEDS MAC] Security Refinement Process [DONE] [NOT DONE] Create Collaboration Workflow Name Create Collaboration Step/Workflow Security Refinement Process Collaboration Team Collaboration Obligation (3b) Collaboration Security Design [DONE] [NOT DONE] Define set of Roles with Information Access Determine Permissions of Roles to Information Create XML Role Slice Diagrams for each Role (3c) Information Security Design Security Refinement Process [DONE] [NOT DONE]

Security UML -61 Overall View – Initial Design (1)Main Security Design of the Application (2a,b) Initial Functional Security and Collaboration Design (2a,b.1) Define Functional Security and Collaboration Use Cases (2a,b.2) Define Secure SubSystem + Collaboration Capable Subsystem (2c) Initial Information Security Design (2c.1) Define XML Schema Class Diagram (2c.2) Define Information Security Requirements

Security UML -62 Overall View – Functional Security (3a) Functional Security Design Define Security Features Group Users into Roles Separation of Duty, Delegation Authority Select MAC Features [NEEDS MAC] Security Refinement Process [DONE] [NOT DONE]

Security UML -63 Overall View – Collaborative Security Create Collaboration Workflow Name Create Collaboration Step/Workflow Security Refinement Process Collaboration Team Collaboration Obligation (3b) Collaboration Security Design [DONE] [NOT DONE]

Security UML -64 Overall View – Information Security Define set of Roles with Information Access Determine Permissions of Roles to Information Create XML Role Slice Diagrams for each Role (3c) Information Security Design Security Refinement Process [DONE] [NOT DONE]

Security UML -65 Overall View – Refinement and Mappings Generated Functional, Collaborative & Information Secure System (4) Refinement of Functional, COD/AWF and Information Security Design (5) Combine Three Facets and Transition into Final Design (6) Mapping to Enforcement Code and XACML Policies

Security UML -66 Complete View (1)Main Security Design of the Application (2a,b) Initial Functional Security and Collaboration Design (2a,b.1) Define Functional Security and Collaboration Use Cases (2a,b.2) Define Secure SubSystem + Collaboration Capable Subsystem (2c) Initial Information Security Design (2c.1) Define XML Schema Class Diagram (2c.2) Define Information Security Requirements Generated Functional, Collaborative & Information Secure System (4) Refinement of Functional, COD/AWF and Information Security Design (5) Combine Three Facets and Transition into Final Design (6) Mapping to Enforcement Code and XACML Policies (3a) Functional Security Design Define Security Features Group Users into Roles Separation of Duty, Delegation Authority Select MAC Features [NEEDS MAC] Security Refinement Process [DONE] [NOT DONE] Create Collaboration Workflow Name Create Collaboration Step/Workflow Security Refinement Process Collaboration Team Collaboration Obligation (3b) Collaboration Security Design [DONE] [NOT DONE] Define set of Roles with Information Access Determine Permissions of Roles to Information Create XML Role Slice Diagrams for each Role (3c) Information Security Design Security Refinement Process [DONE] [NOT DONE]

Security UML -67 Other areas of interest for info security  Modeling of other access control models  Lattice Based Access Control (LBAC)  Attribute Based Access Control (ABAC)  Collaboration and adaptive workflows from the perspective of information security  Documents that are utilized by multiple roles/individuals at the same time  Hierarchically structured data with no validation agents  Specialized XML  JSON and JSON-LD  RDF  OWL