Secure Information Sharing Manager

Secure Information Sharing Manager

<p>SECURE INFORMATION SHARING MANAGER</p><p> by</p><p>STEPHEN D. WISE</p><p>A thesis submitted to the Graduate Faculty of the</p><p>University of Colorado at Colorado Springs</p><p> in partial fulfillment of the</p><p> requirements for the degree of</p><p>Master Of Science</p><p>Department of Computer Science</p><p>2007 i</p><p>© Copyright By Stephen D. Wise 2007</p><p>All Rights Reserved ii</p><p>This thesis for the M.S. Of Computer Science degree by</p><p>Stephen D. Wise</p><p> has been Approved for the</p><p>Department of Computer Science by</p><p>______</p><p>Dr. C. Edward Chow, Chair</p><p>______</p><p>Dr. Jugal K. Kalita</p><p>______</p><p>Dr. Xiaobo Zhou</p><p>______Date iii</p><p>Wise, Stephen D. (M.S., Computer Science)</p><p>Secure Information Sharing Manager</p><p>Thesis directed by Professor C. Edward Chow</p><p>The Secure Information Sharing Manager (SIS-M) prototype is an extension of the research accomplished for Secure Information Sharing Using Attribute Certificates and</p><p>Role Based Access Control [1]. The SIS-M research emphasis is to prototype an</p><p>Enterprise Management capability based upon Web Based Enterprise Management</p><p>(WBEM) standards developed by the Distributed Management Task Force (DMTF).</p><p>The SIS-M prototype utilizes the .NET 2.0 Framework and other components (ASP.Net</p><p>2.0, Internet Information Services (IIS) 6.0, Active Directory (AD), Certificate Services, and Windows Management Instrumentation (WMI)) to accomplish remote administration tasks in a web-based architecture. The research tasks are to enable 1) system health and status monitoring using Windows Management Instrumentation</p><p>(WMI), 2) user account management using the Active Directory Membership Provider,</p><p>3) Role Based Access Control (RBAC) using ASP.Net 2.0 Forms Authentication and the Authorization Manager, and 4) automated Client-side Certificate distribution using</p><p>Certificate Services. The SIS-M implementation, built within VMware Server Version</p><p>1.0.1, includes three Windows 2003 Servers to provide the WBEM and Secure</p><p>Information Sharing (SIS) capabilities and two Windows XP clients that simulate external users that require access to the SIS-M or SIS websites for either remote site administration or remote information sharing. iv</p><p>CONTENTS</p><p>Chapter</p><p>1 Introduction...... 1 1.1 Enterprise Management...... 2 1.1.1 The Distributed Management Task Force...... 2 1.1.2 The CIM and WBEM Standards...... 4 1.2 Role Based Access Control...... 5 1.2.1 The Organization for the Advancement of Structured Information Standards 6 1.2.2 RBAC Standards...... 6 1.2.3 Document Organization...... 7 2 SIS-M Architecture Research...... 9 2.1 WBEM Architecture...... 9 2.2 SIS-M WBEM Implementation...... 12 2.3 SIS-M User Account Management Implementation...... 14 2.4 SIS-M RBAC Implementation...... 15 2.5 SIS-M Client-side Certificate Distribution Implementation...... 17 2.6 SIS-M Architecture Description...... 17 3 SIS-M Implementation...... 19 3.1 SIS-M Server and Client Specifications...... 19 3.2 Virtual Network Topology...... 20 3.3 SIS-M Architecture...... 20 3.3.1 The Domain Controller...... 21 3.3.2 The Management Server...... 22 3.3.3 The Secure Information Server...... 22 3.4 System Health and Status Monitoring...... 23 3.4.1 Establishing WMI Namespace Connectivity...... 27 3.4.1.1 WMI Connection Options...... 28 3.4.1.2 Building A WMI Namespace Path...... 28 3.4.1.3 Instantiating WMI Management Scope...... 29 3.4.2 Building And Executing A WMI Query...... 29 3.5 User Account Management...... 31 3.5.1 InformationAccess User Management Capability...... 32 3.5.1.1 Creating Users...... 32 3.5.1.2 Deleting Users...... 33 3.5.1.3 User Account Details...... 33 3.6 Role Based Access Control Management...... 34 3.6.1 InformationAccess RBAC Management Capability...... 35 3.6.2 Create Role...... 35 3.6.3 Delete Role...... 36 3.6.4 Add User To Role...... 37 v</p><p>3.6.5 Get Users In Role...... 37 3.6.6 Get All Roles...... 38 3.6.7 Get Roles For User...... 39 3.6.8 Is User In Role...... 40 3.6.9 Remove User From Role...... 41 3.7 Client-side Certificate Distribution...... 41 3.8 RBAC Policy Violation Archive...... 42 3.8.1 Event Log Creation...... 42 3.8.2 Writing Event Log Entries...... 42 3.8.3 Deleting Event Log Entries...... 43 3.9 InformationSharing Web Application...... 44 4 Performance Observations...... 49 4.1 RBAC Policy Violation Archive...... 49 4.2 RBAC Management...... 50 4.3 Health And Status Monitoring...... 51 4.3.1 One Server Retrieving One WMI Object...... 52 4.3.2 Two Servers Retrieving One WMI Object...... 53 4.3.3 Three Servers Retrieving One WMI Object...... 54 4.3.4 One Server Retrieving Five WMI Objects...... 55 4.3.5 Two Servers Retrieving Five WMI Objects...... 56 4.3.6 Three Servers Retrieving Five WMI Objects...... 57 4.3.7 Server Trend For Retrieving One WMI Object...... 58 4.3.8 Server Trend For Retrieving Five WMI Objects...... 59 5 Lessons Learned...... 60 5.1 WMI Win32 Classes And CIM Schema Observations...... 60 5.1.1 Win32_UserAccount...... 60 5.1.2 Win32 Formatted Performance Statistics...... 61 5.2 System Health And Status...... 61 5.3 User Account Management...... 61 5.4 RBAC Management...... 62 5.5 Client-side Certificate Distribution...... 62 6 Future Research...... 64 6.1 Update SIS-M Architecture To Include A UNIX Server...... 64 6.2 Update The SIS-M Prototype To The .Net 3.0 Framework...... 64 6.3 Certificate Authority Architecture...... 64 6.4 Implement Client-side Certificate Mapping...... 65 7 Conclusion...... 66 7.1 System Health And Status Monitoring...... 66 7.2 User Account Management...... 66 7.3 RBAC Management...... 67 7.4 Client-side Certificate Distribution...... 67 7.5 Performance Observations...... 67 8 Bibliography...... 69 9 APPENDIX A: Developer / User Guide...... 72 9.1 The SIS-M Prototype Environment...... 72 9.2 SIS-M Prototype Administration...... 74 9.3 The InformationAccess Application...... 76 9.3.1 The InformationAccess SiteAdministrator Role...... 79 9.3.1.1 Manage Users Capability...... 79 9.3.1.2 Manage RBAC Capability...... 82 vi</p><p>9.3.1.3 Monitor Systems Capability...... 91 9.3.1.4 Obtain Client-side Certificate...... 92 9.4 RBAC Policy Violation Archive...... 98 9.5 The InformationSharing Application...... 99 vii</p><p>TABLES</p><p>Table </p><p>Table 1. SIS-M WBEM Implementation Survey Results...... 12 Table 2. Authorization Manager RBAC Elements...... 17 Table 3. SIS-M Virtual Machine Specifications...... 20 viii</p><p>FIGURES</p><p>Figure</p><p>Figure 1. DMTF Technology Diagram...... 3 Figure 2. Summary WBEM Architecture...... 10 Figure 3. WBEM Implementation Evaluation...... 11 Figure 4. WMI Architecture...... 13 Figure 5. SIS-M Virtual Network Topology...... 20 Figure 6. The Trusted Subsystem Model...... 21 Figure 7. Summary Architecture...... 23 Figure 8. WMI Tiers...... 24 Figure 9. Server Health And Status Attributes...... 25 Figure 10. Health And Status Rules...... 27 Figure 11. SIS-M WMI Connection Creation...... 28 Figure 12. SIS-M WMI Connection Attributes...... 29 Figure 13. SIS-M WMI Query Objects...... 30 Figure 14. WMI Query Execution...... 31 Figure 15. Active Directory Connection...... 32 Figure 16. Create User Wizard Definition...... 33 Figure 17. Membership Delete User...... 33 Figure 18. Authorization Manager Connection...... 35 Figure 19. Create Role...... 36 Figure 20. Delete Role...... 37 Figure 21. Add User To Role...... 37 Figure 22. Get Users In Role...... 38 Figure 23. Get All Roles...... 39 Figure 24. Get Roles For User...... 40 Figure 25. Is User In Role...... 41 Figure 26. Remove User From Role...... 41 Figure 27. EventViewer Log File Creation...... 42 Figure 28. Event Log Entry Creation...... 43 Figure 29. Event Log Entry Deletion...... 43 Figure 30. IIS Two-way Authentication Handshake...... 45 Figure 31. Custom 403.7 Error Configuration...... 46 Figure 32. InformationSharing Controls...... 47 Figure 33. InformationSharing RBAC Policy Check...... 48 Figure 34. RBAC Policy Violation Entry Retrieval...... 50 Figure 35. RBAC Management Request Time...... 51 Figure 36. WMI One Server One Object Response Time...... 53 Figure 37. WMI Two Servers One Object Response Time...... 54 Figure 38. WMI Three Servers One Object Response Time...... 55 Figure 39. WMI One Server Five Objects Response Time...... 56 ix</p><p>Figure 40. WMI Two Servers Five Objects Response Time...... 57 Figure 41. WMI Three Servers Five Objects Response Time...... 58 Figure 42. Single WMI Object Server Trend...... 59 Figure 43. Five WMI Objects Server Trend...... 59 Figure 44. InformationAccess VS2005 Start Page...... 73 Figure 45. InformationSharing IIS Management Console...... 74 Figure 46. SISDC Active Directoy Users and Computers...... 75 Figure 47. SISDC AzMan Console...... 76 Figure 48. Starting The AzMan Console...... 76 Figure 49. InformationAccess Login Page...... 77 Figure 50. InformationAccess Default Page...... 78 Figure 51. InformationAccess Manage Users...... 79 Figure 52. InformationAccess Create User...... 80 Figure 53. InformationAccess Delete User...... 81 Figure 54. InformationAccess User Account Details Query Result...... 82 Figure 55. InformationAccess Manage RBAC...... 83 Figure 56. InformationAccess Create Role...... 84 Figure 57. InformationAccess Delete Role...... 85 Figure 58. InformationAccess Add User To Role...... 86 Figure 59. InformationAccess Get Users In Role...... 87 Figure 60. InformationAccess Get All Roles...... 88 Figure 61. InformationAccess Get Roles For User...... 89 Figure 62. InformationAccess Is User In Role...... 90 Figure 63. InformationAccess Remove User From Role...... 91 Figure 64. InformationAccess Monitor Systems...... 92 Figure 65. CertSrv Password Protection...... 93 Figure 66. Certificate Services Welcome Page...... 94 Figure 67. Certificate Services Request A Certificate Page...... 95 Figure 68. Certificate Services User Certificate Request Submission...... 96 Figure 69. Certificate Services Issued Certificate...... 97 Figure 70. Certificate Services Successful Certificate Installation...... 98 Figure 71. RBAC Policy Violation Log...... 99 Figure 72. InformationSharing Client-side Certificate Error...... 100 Figure 73. InformationSharing Login Page...... 101 Figure 74. InformationSharing Default Page...... 102 Figure 75. InformationSharing Access Secure Information Page...... 103 Figure 76. InformationSharing RBAC Policy Violation...... 104 Figure 77. InformationSharing File Upload Page...... 105 Figure 78. InformationSharing File Upload Browser...... 106 Chapter 1</p><p>1 Introduction</p><p>The Network Information and Space Security Center (NISSC) provided a grant to </p><p>UCCS to study and implement a Secure Information Sharing (SIS) capability based upon a multi-tiered web architecture. The SIS project objective was to create a web- based implementation proof of concept to share information using Public Key </p><p>Certificates (PKC) and Attribute Certificates (AC) to allow multiple agencies to share information securely based upon access rights defined in Role Based Access Control </p><p>(RBAC) policies. The research accomplished in Secure Information Sharing Using </p><p>Attribute Certificates and Role Based Access Control [1] satisfied the objectives identified in the NISSC grant. Additional PKC and AC research accomplished in </p><p>ENgine FOR Controlling Emergent Hierarchical Role-Based Access [21] extended the concepts identified in support of the NISSC grant. The Secure Information Sharing </p><p>Manager (SIS-M) research accomplished in this thesis is focused on Enterprise </p><p>Management in a secure information sharing environment. The research and associated prototype are to demonstrate remote web-based System Administrator functionality for 2 a Windows 2003 Server enterprise using the .Net 2.0 Framework and other Microsoft </p><p>Windows 2003 Server components. A successful prototype enables 1) system health monitoring using Windows Management Instrumentation (WMI), 2) user account management using the Active Directory Membership Provider, 3) Role Based Access </p><p>Control (RBAC) using ASP.Net 2.0 Forms Authentication and the Authorization </p><p>Manager, and 4) automated Client-side Certificate distribution using Certificate </p><p>Services. </p><p>1.1 Enterprise Management</p><p>The Enterprise Management problem evolved as the Information Technology (IT) industry matured. Each IT vendor, in an effort to expedite products to market, created proprietary enterprise management capabilities that do not easily integrate with other vendors’ capabilities. The results of rapid IT infrastructure maturation and evolution created corporate infrastructures that contain multiple vendor capabilities that are managed uniquely. The lack of an Enterprise Management standard is increasing corporate overhead costs to manage multiple unique systems and applications. This situation is currently impeding the ability of many companies to evolve their current systems to accommodate new business requirements and organizational needs [4].</p><p>1.1.1 The Distributed Management Task Force</p><p>The Distributed Management Task Force, Inc. (DMTF) is the industry organization leading the development of management standards and the promotion of interoperability for enterprise and Internet environments. DMTF standards provide a common management infrastructure and components for instrumentation, control, and 3 communication in a platform-independent and technology neutral way [4]. The DMTF </p><p>Technology Diagram depicted in Figure 1 shows the relationships among Management </p><p>Initiatives, Web Based Enterprise Management (WBEM), and the Common Information</p><p>Model (CIM).</p><p>Figure 1. DMTF Technology Diagram</p><p>The Common Information Model (CIM) is the foundation for the DMTF technology solution to distributed enterprise management and describes computing and business entities in Internet, enterprise, and service provider environments. Web-Based </p><p>Enterprise Management (WBEM) is a set of management and Internet standard technologies developed to unify the management of distributed computing environments. WBEM standards facilitate the exchange of CIM information in an interoperable and efficient manner. Management Initiatives are designed to deliver 4 market specific solutions such as the Storage Networking Industry Association (SNIA) </p><p>Storage Management Initiative (SMI) [4]. </p><p>1.1.2 The CIM and WBEM Standards</p><p>The CIM Schema is comprised of the Core Model, the Common Model, and Schema </p><p>Extensions [2] [4] as identified below.</p><p> The Core Model captures notions that are applicable to all areas of </p><p> management. The Core Model is a set of classes, associations, properties, and </p><p> methods that provide a basic vocabulary for describing managed systems. The </p><p>Core Model represents a starting point for determining how to extend the </p><p>Common schema.</p><p> The Common Models are information models that capture notions that are </p><p> common to particular management areas, but independent of any particular </p><p> technology or implementation. Examples of common models include systems, </p><p> applications, networks, and devices. The classes, associations, properties, and </p><p> methods in the Common Models are intended to provide a view of the area that </p><p> is detailed enough to use as a basis for program design and, in some cases, </p><p> implementation.</p><p> Extension Schemas represent technology-specific extensions of the common </p><p> models. These schemas are specific to environments, such as operating systems.</p><p>It is expected that the Common Models will evolve as a result of the promotion </p><p> of objects and properties defined in the Extension Schemas.</p><p>The WBEM standards are focused on management and Internet standard technologies 5 to accomplish CIM information exchange in an interoperable and efficient manner. </p><p>WBEM standards include:</p><p> Mappings</p><p> o URI: WBEM URI Mapping Specification 1.0, DSP0207</p><p> o XML: Representation of CIM using XML 1.2, DSP0201</p><p> Protocols</p><p> o CIM-XML: CIM Operations over HTTP 1.2, DSP0200</p><p> o CLP: Command Line Protocol 1.0, DSP0214</p><p> Discovery</p><p> o SLP: WBEM Discovery using SLP, DSP0205</p><p> Query Language</p><p> o CIM Query Language 1.0, DSP0202</p><p>The SIS-M prototype utilizes data in the CORE Model, the CIM Query Language, and a</p><p>SIS-M developed health and status rule set to determine Windows 2003 Server health in</p><p>SIS-M’s web-based enterprise.</p><p>1.2 Role Based Access Control</p><p>Corporate infrastructures of today include many disparate domains of corporate information. The corporations also associate some value with each type of information available within their enterprise infrastructure. Some types of sensitive corporate information include, 1) corporate strategy, intellectual property, human resources, and supplier information. Role Based Access Control (RBAC) standards provide a solution 6 for access management within corporate infrastructures. RBAC maps user job roles to application permissions so that the access control administration can be accomplished in terms of the job role of users [1]. The result of a sound RBAC implementation within a corporate infrastructure is secure information access by organizational and job responsibility. </p><p>1.2.1 The Organization for the Advancement of Structured Information Standards</p><p>The Organization for the Advancement of Structured Information Standards (OASIS) is a not-for-profit consortium that drives the development, convergence and adoption of the open standards for the global information society [9]. OASIS’s Extensible Access </p><p>Control Markup Language (XACML) specification describes building blocks that may be used to implement the various elements of the RBAC model presented in </p><p>ANSI/INCITS 359 [12] according to The National Institute of Standards and </p><p>Technology (NIST).</p><p>1.2.2 RBAC Standards</p><p>Core RBAC requires support for multiple users per role, multiple roles per user, multiple permissions per role, and multiple roles per permission. The OASIS XACML specification addresses ANSI CORE RBAC requirements with the following five basic elements [10].</p><p> Users are implemented as XACML Subjects.</p><p> Roles are expressed using on or more XACML Subject Attributes.</p><p> Objects are expressed using XACML Resources 7</p><p> Operations are expressed using XACML Actions</p><p> Permissions are expressed using XACML Role Policy Sets and Permission </p><p>Policy Sets</p><p>XACML addresses Hierarchical RBAC requirements by implementing role inheritance based upon a Policy Set Id Reference where senior roles can inherit permissions from junior roles [1].</p><p>In addition to the five RBAC elements defined within the standard, three key components are emphasized to accomplish controlled access to information. The components are [11]:</p><p> Policy Administration Point (PAP): The system entity that creates a policy or </p><p> policy set.</p><p> Policy Decision Point (PDP): The system entity that evaluates policy and </p><p> renders an authorization decision.</p><p> Policy Enforcement Point (PEP): The system entity that performs access </p><p> control, by making decision requests and enforcing authorization decisions. </p><p>1.2.3 Document Organization</p><p>The remainder of this document is organized as follows; Chapter 2 presents information regarding WBEM and RBAC as the technologies apply to the SIS-M prototype. </p><p>Chapter 3 describes the System Health and Status Monitoring, User Account </p><p>Management, Role Based Access Control Management, Client-side Certificate </p><p>Distribution, and RBAC Policy Violation Archive capabilities implemented within the 8</p><p>SIS-M prototype. Chapter 4 contains performance observations for accessing .Net 2.0 </p><p>Framework classes and Windows components utilized within the SIS-M prototype. </p><p>Chapter 5 identifies lessons learned about Microsoft’s WBEM implementation, WMI, and other Windows components utilized within the SIS-M prototype. Chapter 6 recommends SIS-M prototype updates for future research. Conclusions regarding the </p><p>SIS-M prototype research and implementation are included in Chapter 7. Finally, </p><p>Appendix A, contains information for developers and users. Chapter 2</p><p>2 SIS-M Architecture Research</p><p>The DMTF standards identified the Enterprise Management requirement set for the SIS-</p><p>M prototype. There are several Commercial and Open Source WBEM implementations and each has a varying degree of DMTF standards compliance. A driving SIS-M requirement identified during Secure Information Sharing Using Attribute Certificates and Role Based Access Control [1] research was to implement the SIS-M capabilities on a Windows platform. Therefore, the WBEM implementation utilized by SIS-M must provide the maximum capability possible in a Windows environment and comply with </p><p>DMTF standards. The result of the WBEM analysis identified the direction for all other architecture decisions. </p><p>2.1 WBEM Architecture</p><p>The WBEM architecture is not bound to a particular implementation. A standards compliant WBEM environment based on CIM standards is depicted in Figure 2 and includes:</p><p> The CIM Client is used to obtain management information by querying 10</p><p>CIM/WBEM Servers</p><p> The CIM/WBEM Server provides CIM data, upon requests, to CIM clients </p><p> locally or remotely.</p><p> The CIM Object Manager maintains a repository of CIM data on the </p><p>CIM/WBEM Servers.</p><p> The Providers implement one or more aspects of the CIM Schema that abstracts</p><p> the hardware and software implementation away from the CIM clients.</p><p>Figure 2. Summary WBEM Architecture</p><p>The SIS-M research surveyed two WBEM implementations, WBEM Services and 11</p><p>WMI, for the SIS-M prototype. Additionally, research depicted in Figure 3, from the </p><p>Design of a WBEM-based Management System for Ubiquitous Computing Servers [5], provided useful information to narrow SIS-M’s WBEM implementation survey.</p><p>Figure 3. WBEM Implementation Evaluation</p><p>The SIS-M WBEM implementation survey used the driving requirement of operability within a Windows environment as the discriminating attribute to determine the SIS-M </p><p>WBEM implementation decision. As noted in Table 1, the SIS-M WBEM survey did not identify WBEM Services providers for managed elements within the Windows environment while multiple WMI providers existed for each managed element the SIS-</p><p>M prototype intended to monitor. Therefore, WMI was chosen as the WBEM infrastructure for the SIS-M prototype. 12</p><p>WBEM Implementation Attribute WMI WBEM Services Executes In Windows 2003 Environment Yes Yes Supporting Tool Set WMI CIM Studio CIM Workshop Operating System Providers Available Yes No CPU Providers Available Yes No Disk Providers Available Yes No Developer Documentation Available Yes Yes</p><p>Table 1. SIS-M WBEM Implementation Survey Results</p><p>2.2 SIS-M WBEM Implementation</p><p>The SIS-M Health and Status monitoring capability is a management application that integrates rules to evaluate Windows 2003 Server WBEM elements to determine health and status of a given server. The SIS-M Health and Status monitoring capability utilizes the Microsoft WMI Architecture [6] and is depicted in Figure 4. 13</p><p>Figure 4. WMI Architecture</p><p>The SIS-M Health and Status Monitoring capability is divided into three summary categories, Operating System, CPU, and Disk. Five WMI Win32 classes reside within the WMI CIMOM, also known as the WMI CORE, and are used to derive SIS-M’s health and status within the three summary categories. </p><p> Operating System</p><p> o The WMI Win32_ComputerSystem class represents a computer </p><p> system running Windows [7]. 14</p><p> o The WMI Win32_PerfFormattedData_PerfOS_Memory class </p><p> provides pre-calculated performance data from the performance counters</p><p> that monitor the physical and virtual memory on the computer. Physical </p><p> memory is the amount of random access memory (RAM) on the </p><p> computer. Virtual memory consists of space in physical memory and on </p><p> disk [7]. </p><p> CPU</p><p> o The WMI Win32_Processor class represents a device that can interpret </p><p> a sequence of instructions on a computer running on a Windows </p><p> operating system [7].</p><p> Disk</p><p> o The WMI Win32_DiskDrive class represents a physical disk drive as </p><p> seen by a computer running the Windows operating system [7].</p><p> o The WMI Win32_PerfFormattedData_PerfDisk_PhysicalDisk class </p><p> provides pre-calculated data from performance counters that monitor </p><p> hard or fixed disk drives on a computer. Disks store file, program, or </p><p> paging data and are read to retrieve these items, and written to record </p><p> changes to them. The values of physical disk counters are sums of the </p><p> values of the logical disks, also known as partitions, into which they are </p><p> divided [7]. </p><p>2.3 SIS-M User Account Management Implementation</p><p>The SIS-M User Account Management capability, based upon the decision to utilize 15</p><p>WMI for health and status monitoring, is accomplished using Active Directory and the </p><p>ActiveDirectoryMembershipProvider implemented within a SIS-M ASP.Net 2.0 application. The ActiveDirectoryMembershipProvider functionality includes [8]:</p><p> Creating new users and passwords.</p><p> Storing membership information in Active Directory.</p><p> Authenticating users who visit your site programmatically or by utilizing </p><p>ASP.Net login controls.</p><p> Creating, changing, and resetting user account passwords.</p><p> Exposing a unique identifier for authenticated users that can be used in ASP.Net </p><p> personalization and role management.</p><p> Specifying a custom membership provider that allows for system unique </p><p> membership functionality.</p><p>The ActiveDirectoryMembershipProvider interfaces with Active Directory using LDAP commands. This means that the provider is always pointed at the root of some container, and all provider operations occur within that single container [8]. Therefore, the ActiveDirectoryMembershipProvider and the MembershipUser class in the </p><p>System.Web.Security namespace is used to create, delete, and retrieve user details in the</p><p>SIS-M User Account Management application.</p><p>2.4 SIS-M RBAC Implementation</p><p>The SIS-M RBAC Management capability leverages the Windows 2003 Server component called the Authorization Manager (AzMan) and the 16</p><p>AuthorizationStoreRoleProvider capability within ASP.Net 2.0. </p><p>AuthorizationStoreRoleProvider is a wrapper around a subset of the functionality available in Authorization Manager [8] and facilitates role and policy access through the</p><p>Roles class within the System.Web.Security namespace. AzMan contains the following list of attributes and capabilities to manage and enforce authorization policy [13].</p><p> Operation: A low-level permission that a resource manager uses to identify </p><p> security procedures.</p><p> Task: A collection of low-level operations.</p><p> Role Definition: A collection of permissions that are needed for a particular </p><p> role, where permissions can be tasks or operations.</p><p> Role: The set of permissions that users must have to be able to do their job.</p><p> BizRules: The set of rules / scripts that are attached to a task object that is run at</p><p> the time of the access request.</p><p> Scope: A collection of objects or resources with a distinct authorization policy.</p><p> Application Groups: Groups that are applicable only to an authorization store.</p><p> Application Basic Groups: A subset of application groups. A list of members </p><p>(Active Directory Users or groups or other application groups). </p><p> LDAP-query Groups: A subset of application groups. Groups that are defined </p><p> by an Lightweight Directory Access Protocol (LDAP) query on a given Active </p><p>Directory users account attributes.</p><p>AzMan policy stores are either integrated into Active Directory, the implementation 17 used in SIS-M, or created as standalone XML files. AzMan addresses the five elements of the CORE RBAC Standard using AzMan elements and capabilities identified in</p><p>Table 2.</p><p>Table 2. Authorization Manager RBAC Elements</p><p>AzMan addresses the three key RBAC components by utilizing the Authorization </p><p>Manager Management Console for PAP, BizRules for PDP, and the </p><p>AuthorizationStoreRoleProvider and the Roles class for PEP.</p><p>2.5 SIS-M Client-side Certificate Distribution Implementation</p><p>The SIS-M Client-side Certificate Distribution capability is accomplished using the </p><p>Windows 2003 Server Certificate Authority component. An enterprise Certificate </p><p>Authority (CA) is fully integrated with Active Directory. Through a process called autoenrollment, a CA can automatically issue certificates to either users or computers without administrative intervention [15]. SIS-M issues client-side certificates remotely using the CertSrv website within the Windows 2003 Server CA component. </p><p>2.6 SIS-M Architecture Description</p><p>The SIS-M architecture implemented, as a result of the architecture research, to satisfy the SIS-M prototype capabilities of 1) system health monitoring, 2) user account 18 management, 3) Role Based Access Control (RBAC) management and enforcement, and 4) automated Client-side Certificate distribution is comprised of three servers utilizing various Windows 2003 Server components. The SIS-M prototype web-based infrastructure enables remote access for the site administrator and SIS user and is implemented using Windows 2003 Server components, Active Directory, ASP.Net 2.0, </p><p>Internet Information Services 6.0, WMI, and Certificate Services.</p><p>SIS-M’s functional decomposition and allocation to infrastructure components and capabilities is summarized below.</p><p> System health and status monitoring is accomplished using WMI and a rule set </p><p> implemented as part of the SIS-M prototype.</p><p> User account management is accomplished using Active Directory and the </p><p>ActiveDirectoryMembershipProvider included within ASP.Net 2.0.</p><p> RBAC management and enforcement is accomplished using ASP.Net 2.0 Forms</p><p>Authentication, the Authorization Manager, and the </p><p>AuthorizationStoreRoleProvider.</p><p> Automated Client-side certificate distribution is accomplished using the </p><p>Windows 2003 Server Certificate Authority components. Chapter 3</p><p>3 SIS-M Implementation</p><p>The SIS-M implementation is contained within a VMware Server Version 1.0.1 environment. All implementation and SIS-M prototype functional and performance evaluation occurred within the VMware environment. The SIS-M implementation includes three Windows 2003 Servers. The two Windows XP clients simulate external users that require access to the SIS-M and/or SIS websites for either remote site administration, remote secure information sharing, and/or remote information access. </p><p>3.1 SIS-M Server and Client Specifications</p><p>The Windows 2003 Server and Windows XP client specifications were created by defining Virtual Machine Settings in the VMware Server console. Each SIS-M virtual machine contained two Network Interface Cards, one bridged to establish connectivity outside of the virtual environment, the other to communicate machine-to-machine within the SISMTHESIS.com domain. Table 3 lists the SIS-M virtual machine specifications. 20</p><p>Table 3. SIS-M Virtual Machine Specifications</p><p>3.2 Virtual Network Topology</p><p>Figure 5 depicts the virtual network topology used for SIS-M development. The </p><p>Windows XP clients, SIS-M Client and SIS Client, are instantiated external to the </p><p>SISMTHESIS domain.</p><p>Figure 5. SIS-M Virtual Network Topology</p><p>3.3 SIS-M Architecture</p><p>The SIS-M architecture supports all the functionality to meet the objects identified for the SIS-M research to include 1) system health monitoring using Windows </p><p>Management Instrumentation (WMI), 2) user account management using the Active 21</p><p>Directory Membership Provider, 3) Role Based Access Control (RBAC) using ASP.Net</p><p>2.0 Forms Authentication and the Authorization Manager, and 4) automated Client-side </p><p>Certificate distribution using Certificate Services. The SIS-M architecture prohibits direct client access to any backend resource using the Trusted Subsystem Model [16] as depicted in Figure 6. </p><p>Figure 6. The Trusted Subsystem Model</p><p>The Trusted Subsystem Model requires all resources are accessed by an ASP.Net worker process with appropriate authorization and credentials rather than the credentials associated with the authorized external user. The worker process is responsible for retrieving all requested resources once the client is authorized within the domain. </p><p>3.3.1 The Domain Controller</p><p>The Secure Information Sharing Domain Controller (SISDC) server utilizes Active </p><p>Directory and contains all user information and AzMan Policies. The server name is </p><p>SISDC.sismthesis.com. 22</p><p>3.3.2 The Management Server</p><p>The Secure Information Sharing Manager capability resides within the server named </p><p>Manager. The SIS-M capabilities are implemented in a web-based application called </p><p>InformationAccess. The capabilities implemented in the InformationAccess web application include, Manage Users, Manage RBAC, RBAC Violations, and Monitor </p><p>Systems. The URL for InformationAccess is https://Manager/InformationAccess. The </p><p>InformationAccess capability uses server-side certificates to facilitate secure communications between the client and SIS-M. The server name for Manager is </p><p>Manager.sismthesis.com.</p><p>3.3.3 The Secure Information Server</p><p>The Secure Information Sharing capability resides within the server named Secure. The</p><p>SIS capabilities are implemented in a web-based application called InformationSharing.</p><p>The URL for InformationSharing is https://Secure/InformationSharing. The </p><p>InformationSharing capability requires client-side certificates to establish a connection. </p><p>Additionally, this server contains the CA capability and distributes the client-side certificates from another web-based application with the URL, https://Secure/certsrv. </p><p>The server name is Secure.sismthesis.com.</p><p>Figure 7 summarizes the architecture implemented during the SIS-M prototype development. 23</p><p>Figure 7. Summary Architecture</p><p>3.4 System Health and Status Monitoring</p><p>The System Health and Status Monitoring capability resides within the </p><p>InformationAccess web-based application of SIS-M. The capability integrates into the </p><p>WMI functionality through the System.Management namespace. Figure 8 generically depicts WMI Tiers [14] and the approach used for ASP.Net applications to interface with WMI through the System.Management namespace. This is the approach implemented in InformationAccess and the data path for all health and status monitoring information. 24</p><p>Figure 8. WMI Tiers</p><p>Each Windows 2003 Server within SIS-M’s enterprise is evaluated by the summary categories of Operating System, CPU, and Disk. The WMI Win32 Classes and class properties are depicted in Figure 9. 25</p><p>Figure 9. Server Health And Status Attributes</p><p>The information provided by each attribute is listed below [7].</p><p> The WIN32_ComputerSystem Status property provides the current operational </p><p> status of the WIN32_ComputerSystem object.</p><p> The Win32_PerfFormattedData_PerfOS_Memory AvailableMBytes property </p><p> provides the amount of physical memory available to processes running on the </p><p> computer, in megabytes. It is calculated by summing the space on the Zeroed, </p><p>Free, and Standby memory lists. Free memory is ready for use; Zeroed memory </p><p> contains memory pages filled with zeros to prevent later processes from seeing </p><p> data used by a previous process. Standby memory is memory removed from a </p><p> process’ working set, but is still available to be recalled. This property provides </p><p> the last observed value only it is not an average. 26</p><p> The Win32_Processor Status property provides the current operational status of </p><p> the Win32_Processor object.</p><p> The Win32_Processor Availability property provides availability and status of </p><p> the device.</p><p> The Win32_Processor LoadPercentage property provides the load capacity of </p><p> each processor, averaged to the last second, where processor loading is the total </p><p> computing burden for each processor at one time.</p><p> The Win32_DiskDrive Status property provides the current operational status of </p><p> the Win32_DiskDrive object. </p><p> The Win32_PerfFormattedData_PerfDisk_PhysicalDisk PercentIdleTime </p><p> property provides the percentage of time during the sample interval that the disk </p><p> was idle.</p><p>The WMI Win32 Classes property values are assessed against a SIS-M implemented rule set, Figure 10, to determine a SIS-M status for each attribute. The resulting status of the attribute analysis is displayed in the InformationAccess web-based application user interface. 27</p><p>Figure 10. Health And Status Rules</p><p>3.4.1 Establishing WMI Namespace Connectivity</p><p>WMI namespace connectivity is established by creating a connection options object, identifying the WMI namespace path, and instantiating a management scope. Figure 11 shows the server connection algorithm for InformationAccess. 28</p><p>Figure 11. SIS-M WMI Connection Creation</p><p>3.4.1.1 WMI Connection Options</p><p>WMI connections require a username, password, a connection authority address string to validate user credentials for authorized WMI namespace access, and a namespace path.</p><p>3.4.1.2 Building A WMI Namespace Path</p><p>The WMI namespace path is the combination of the server name and WMI namespace. </p><p>SIS-M’s InformationAccess web-based application retrieves the WMI Win32 class 29 information from the root/CIMV2 namespace on each server. The host executing the application requesting management information does not require connection scope because the host’s management namespaces are already within scope and accessible by local query objects with appropriate user credentials.</p><p>3.4.1.3 Instantiating WMI Management Scope</p><p>The WMI management scope connection requires a valid WMI namespace path and validated user credentials with permissions to access the requested information. A </p><p>TargetInvocationException is thrown if the WMI connection information is not accurate. An XMLDocument object is used to retrieve the connection information for each server. The SIS-M implemented XML document is shown in Figure 12.</p><p>Figure 12. SIS-M WMI Connection Attributes</p><p>3.4.2 Building And Executing A WMI Query</p><p>CIM and WBEM support a query mechanism that is used to select sets of properties 30 from CIM object instances stored within the CIMOM or WMI Core. Query definitions allow a WBEM client to specify the nature and the number of instance that are selected and what information is returned from those instances. This enables a WBEM managed environment to place less burden on the network infrastructure [3]. The SIS-M query objects are shown in Figure 13. </p><p>Figure 13. SIS-M WMI Query Objects</p><p>The InformationAccess web-based application requests all the properties within each </p><p>CIM object instance in the query for each server in the enterprise. The WMI namespace connection scope and the query object are required to invoke a request for management information. See Figure 14. Upon successful execution, a </p><p>ManagementObjectCollection is returned with the properties necessary to evaluate against SIS-M’s health and status rules. 31</p><p>Figure 14. WMI Query Execution</p><p>3.5 User Account Management</p><p>The user account management capability within InformationAccess is accomplished by using the ActiveDirectoryMembershipProvider. The ASP.Net 2.0 web.config file contains configuration information. InformationAccess defines a connection to Active </p><p>Directory installed on SISDC within the web.config file. Additionally, the </p><p>ActiveDirectoryMembershipProvider service is added to the web application through configuration settings. Figure 15 is a snapshot of InformationAccess’ web.config that implements the Active Directory connection string and the </p><p>ActiveDirectoryMembershipProvider settings. 32</p><p>Figure 15. Active Directory Connection</p><p>3.5.1 InformationAccess User Management Capability</p><p>The user management capability implemented within InformationAccess is accomplished with the Membership and MembershipUser classes in the </p><p>System.Web.Security namespace. InformationAccess’ user management functionality includes, creating users, deleting users, and querying for user account details. The user interface is shown in 9.3.1.1.</p><p>3.5.1.1 Creating Users</p><p>InformationAccess’s configuration settings implemented in the web.config file establish a connection to Active Directory on SISDC and instantiate a membership provider. A new account is established with the CreateUserWizard Server Control. A generic </p><p>CreateUserWizard Server Control is depicted in Figure 16. 33</p><p>Figure 16. Create User Wizard Definition</p><p>3.5.1.2 Deleting Users</p><p>InformationAccess’s delete user functionality is also the beneficiary of ASP.Net web.config capabilities. User deletion is accomplished by using the Membership class and calling the method, DeleteUser. The delete user functionality is implemented by the code in Figure 17.</p><p>Figure 17. Membership Delete User</p><p>3.5.1.3 User Account Details</p><p>The user account details are retrieved in a similar manner, using the MembershipUser class. The MembershipUser class properties, listed below, are displayed on a user account details web page within InformationAccess. The user interface is depicted in</p><p>Figure 54.</p><p> Comment</p><p> CreationDate 34</p><p> Email</p><p> IsApproved</p><p> IsLockedOut</p><p> IsOnline</p><p> LastActivityDate</p><p> LastLockoutDate</p><p>3.6 Role Based Access Control Management</p><p>The RBAC management capability within InformationAccess is accomplished by using the AuthorizationStoreRoleProvider. InformationAccess defines a connection to the </p><p>Authorization Manager within Active Directory installed on SISDC. Additionally, a roleManager service is added to the web-based application through the configuration settings. Figure 18 is a snapshot of InformationAccess’ web.config that implements the</p><p>Authorization Manager connection. The Authorization Manager Connection string includes additional attributes listed below.</p><p> Common Name (CN): SISRBACPolicies</p><p> Domain Component (DC): SISMTHESIS</p><p> Domain Component (DC): COM 35</p><p>Figure 18. Authorization Manager Connection</p><p>The additional connection string attributes are required to uniquely identify the </p><p>Authorization Manager Policy Store within Active Directory that InformationAccess uses to enforce access checks prior to responding to the client.</p><p>3.6.1 InformationAccess RBAC Management Capability</p><p>The RBAC management capability implemented within InformationAccess is accomplished with the Roles classes in the System.Web.Security namespace. </p><p>InformationAccess’ RBAC management functionality includes, creating roles, deleting roles, adding users to roles, query for users in roles, querying for all the roles defined within the system, getting all the roles for a particular user, determining if a user is in a particular role, and removing a user from a particular role. </p><p>3.6.2 Create Role </p><p>Role creation is accomplished by instantiating a Roles class and using the method, </p><p>CreateRole. The create role functionality is implemented by the code in Figure 19. 36</p><p>Figure 19. Create Role</p><p>3.6.3 Delete Role</p><p>Role deletion is accomplished by using the method, DeleteRole. The delete role functionality is implemented by the code in Figure 20. 37</p><p>Figure 20. Delete Role</p><p>3.6.4 Add User To Role</p><p>Adding users to specific roles is accomplished by using the method, AddUserToRole. </p><p>The user-to-role assignment functionality is implemented by the code in Figure 21.</p><p>Figure 21. Add User To Role</p><p>3.6.5 Get Users In Role</p><p>Retrieving users in specific roles is accomplished by using the method, GetUserInRole. 38</p><p>The user retrieval functionality is implemented by the code in Figure 22.</p><p>Figure 22. Get Users In Role</p><p>3.6.6 Get All Roles</p><p>The Get All Roles functionality is implemented in Figure 23. 39</p><p>Figure 23. Get All Roles</p><p>3.6.7 Get Roles For User</p><p>Retrieving roles for a specific user is accomplished by using the method, </p><p>GetRolesForUser. The role retrieval functionality is implemented by the code in Figure</p><p>24. 40</p><p>Figure 24. Get Roles For User</p><p>3.6.8 Is User In Role</p><p>Verifying a user is in a specific role is accomplished by using the method, </p><p>IsUserInRole. The user-in-role verification functionality is implemented by the code in</p><p>Figure 25. 41</p><p>Figure 25. Is User In Role</p><p>3.6.9 Remove User From Role</p><p>Removing a user from a specific role is accomplished by using the method, </p><p>RemoveUserFromRole. The functionality is implemented by the code in Figure 26.</p><p>Figure 26. Remove User From Role</p><p>Section 9.3.1.2 describes InformationAccess’ RBAC Management user interface.</p><p>3.7 Client-side Certificate Distribution</p><p>The Client-side certificate automated distribution capability is fulfilled completely by </p><p>Windows 2003 server components and configuration. See section 9.3.1.4 for the description of Certificate Services. 42</p><p>3.8 RBAC Policy Violation Archive</p><p>The RBAC policy violation archive capability within InformationAccess is accomplished by using the EventLog classes in the System.Diagnostics namespace. </p><p>Each web-based application, InformationAccess and InformationSharing, uses the </p><p>EventLog classes to archive RBAC policy violations into the Event Log on the server </p><p>SISDC.sismthesis.com. </p><p>3.8.1 Event Log Creation</p><p>Event Log creation requires an EventSourceCreationData object that contains an event source name, a log file name, and the target host name where the log file resides.</p><p>Figure 27 shows the code necessary to establish a custom log file within the </p><p>EventViewer on SISDC.sismthesis.com.</p><p>Figure 27. EventViewer Log File Creation</p><p>3.8.2 Writing Event Log Entries</p><p>Figure 28 depicts the code to write an entry into a remote log file with a severity of </p><p>Warning. The code establishes a connection to the appropriate log file by using the log 43 name, machine name, and log entry source. The entry is written as a message that is categorized with a severity that can be Information, Warning, or Error.</p><p>Figure 28. Event Log Entry Creation</p><p>3.8.3 Deleting Event Log Entries</p><p>Deleting Event Log entries in the EventViewer follows a similar pattern. A connection must be established to the appropriate log file by using the log name, machine name, and log entry source. The entries are cleared once connectivity is established, as depicted in Figure 29.</p><p>Figure 29. Event Log Entry Deletion</p><p>3.9 InformationSharing Web Application</p><p>A secure information sharing capability is built within the SIS-M prototype in order to 44 effectively evaluate Authorization Manager’s policy enforcement capability. The </p><p>InformationSharing web-application resides on the server, named Secure, and requires two-way authentication prior to establishing client connections. Internet Information </p><p>Services (IIS) is Secure Socket Layer Version 3.0 compliant [18] and is used to accomplish the two-way authentication prior to establishing a secure connection with the server. Figure 30 shows the two-way authentication handshake [19].</p><p>Figure 30. IIS Two-way Authentication Handshake</p><p>A client attempting to connect to InformationSharing without a certificate receives an 45 error message. The error message displayed is described in Figure 72. </p><p>InformationSharing defines a custom 403.7, Forbidden – Client Certificate Required, error in the IIS Management Console as shown in Figure 31.</p><p>Figure 31. Custom 403.7 Error Configuration</p><p>The purpose of the InformationSharing web-based application is to provide a user capability to read and deposit information into a common location and make information available based upon a user’s role definition. InformationSharing allows for user content to be uploaded into a common location if the user has appropriate permissions. InformationSharing uses the control flow shown in Figure 32 to enforce 46</p><p>RBAC policy compliance. Therefore, a user must have 1) a valid client-side certificate to establish connectivity, 2) a valid user account within the domain, and 3) appropriate permissions defined in Authorization Manager to accomplish any information exchanges using the InformationSharing web-based application.</p><p>Figure 32. InformationSharing Controls 47</p><p>InformationSharing’s Authorization Manager policy enforcement is accomplished by the code shown in Figure 33.</p><p>Figure 33. InformationSharing RBAC Policy Check Chapter 4</p><p>4 Performance Observations</p><p>The SIS-M prototype uses the .Net 2.0 Framework classes and other Windows components to meet the objectives of this thesis. As part of the research, performance measurements were taken to observe the HTTPS request to HTTPS response time for </p><p>RBAC Violation Archive data retrieval, RBAC Management, and Health and Status </p><p>Monitoring. The objective of the performance analysis was to capture the performance of the .Net 2.0 Framework classes and Windows components while accomplishing SIS-</p><p>M’s InformationAccess web-based application tasks. All measurements were captured using the WireShark [20], formerly Ethereal, network sniffer. The SIS-M performance observations decomposed the HTTPS request to HTTPS response time into four discrete measurements. The Measurements were Client Request, SSL Handshake </p><p>Complete, Backend Data Retrieval Complete, and Client Response.</p><p>4.1 RBAC Policy Violation Archive</p><p>The RBAC Policy Violation Archive implementation is described in section 3.8. The performance measurements observed for retrieving archive information are depicted in 49</p><p>Figure 34. Both of SIS-M’s web-based applications, InformationAccess and </p><p>InformationSharing, write RBAC Policy Violation entries into a custom Windows </p><p>Event Log on the domain controller, SISDC. The objective of this measurement is to observe the performance of the Windows Event Log during a custom archive data retrieval request.</p><p>RBAC Archive Information Retrieval</p><p>3.500 3.000 2.500 s</p><p> d 2.000 n o c</p><p> e 1.500 S 1.000 0.500 0.000 RBAC Log SSL Handshake Client Request Retrieval Client Response Complete Complete Run #1 0 0.142373 1.878325 3.029757 Run #2 0 0.039929 1.655951 2.232192 Run #3 0 0.015794 2.371433 2.633444 Run #4 0 0.079289 1.714269 2.687524 Run #5 0 0.015815 1.655792 2.295007 Average 0 0.05864 1.855154 2.5755848</p><p>Figure 34. RBAC Policy Violation Entry Retrieval</p><p>4.2 RBAC Management</p><p>The RBAC Management implementation is described in section 3.6. SIS-M’s web- based application, InformationAccess, accesses the Authorization Manager capabilities contained within Active Directory on SISDC to manage role membership for each user. 50</p><p>The objective of this measurement is to observe the performance of Authorization </p><p>Manager access. The performance measurements observed for Authorization Manager are depicted in Figure 35.</p><p>RBAC Mgt Request Time</p><p>1.200 1.000 0.800 s d n</p><p> o 0.600 c e</p><p>S 0.400 0.200 0.000 RBAC Mgt SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.015862 0.197095 0.847619 Run #2 0 0.01724 0.174485 0.848788 Run #3 0 0.066693 0.295151 0.630357 Run #4 0 0.028176 0.196822 0.525366 Run #5 0 0.023659 0.199299 0.957544 Average 0 0.030326 0.2125704 0.7619348</p><p>Figure 35. RBAC Management Request Time</p><p>4.3 Health And Status Monitoring</p><p>The Health and Status Monitoring implementation is described in section 3.4. SIS-M’s web-based application, InformationAccess, connects to each of the three Windows 2003 servers WMI namespaces to retrieve health and status monitoring information. The objectives of the following measurements are to observe the performance of WMI data retrieval. A set of observations with combinations of servers and WMI objects requested were observed in an attempt to trend the data. The observation sets were: 51</p><p> One Server Retrieving One WMI Object</p><p> Two Servers Retrieving One WMI Object</p><p> Three Servers Retrieving One WMI Object</p><p> One Server Retrieving Five WMI Objects</p><p> Two Servers Retrieving Five WMI Objects</p><p> Three Servers Retrieving Five WMI Objects</p><p>The following sections show the performance observations for the combinations of servers and WMI objects.</p><p>4.3.1 One Server Retrieving One WMI Object</p><p>The One Server Retrieving One WMI Object observation captures the time required for one WMI query requesting a single WMI object to execute against the WMI namespace on SISDC. The results are depicted in Figure 36. 52</p><p>WMI 1X1 Response Time</p><p>14.000 12.000 10.000 s</p><p> d 8.000 n o c</p><p> e 6.000 S 4.000 2.000 0.000 WMI Object SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.02201 6.91379 7.763398 Run #2 0 0.357341 11.762104 12.294849 Run #3 0 0.061387 6.807595 7.069001 Run #4 0 0.020213 6.014796 7.443219 Run #5 0 0.102926 6.945391 7.696152 Average 0 0.1127754 7.6887352 8.4533238</p><p>Figure 36. WMI One Server One Object Response Time</p><p>4.3.2 Two Servers Retrieving One WMI Object</p><p>The Two Servers Retrieving One WMI Object observation captures the time required for one WMI query requesting a single WMI object to execute against the WMI namespaces on SISDC and Secure servers. The results are depicted in Figure 37. 53</p><p>WMI 2X1 Response Time</p><p>12.000</p><p>10.000</p><p>8.000 s d n</p><p> o 6.000 c e S 4.000</p><p>2.000</p><p>0.000 WMI Object SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.029248 10.685066 10.903246 Run #2 0 0.014124 7.753585 8.077432 Run #3 0 0.078561 8.305449 8.716218 Run #4 0 0.043642 7.057637 7.825997 Run #5 0 0.048526 9.740575 10.021231 Average 0 0.0428202 8.7084624 9.1088248</p><p>Figure 37. WMI Two Servers One Object Response Time</p><p>4.3.3 Three Servers Retrieving One WMI Object</p><p>The Three Servers Retrieving One WMI Object observation captures the time required for one WMI query requesting a single WMI object to execute against the WMI namespaces on SISDC, Secure, and Manager servers. The results are depicted in Figure</p><p>38. 54</p><p>WMI 3X1 Response Time</p><p>14.000 12.000 10.000 s</p><p> d 8.000 n o c</p><p> e 6.000 S 4.000 2.000 0.000 WMI Object SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.079186 10.587262 11.718099 Run #2 0 0.015713 8.886371 9.500771 Run #3 0 0.04537 7.200216 7.984139 Run #4 0 0.0214 7.053049 7.628529 Run #5 0 0.061156 8.477964 9.074975 Average 0 0.044565 8.4409724 9.1813026</p><p>Figure 38. WMI Three Servers One Object Response Time</p><p>4.3.4 One Server Retrieving Five WMI Objects</p><p>The One Server Retrieving Five WMI Objects observation captures the time required for five WMI queries requesting a single WMI object to execute against the WMI namespace on SISDC. The results are depicted in Figure 39. 55</p><p>WMI 1X5 Response Time</p><p>10.000</p><p>8.000</p><p> s 6.000 d n o c</p><p> e 4.000 S</p><p>2.000</p><p>0.000 WMI Object SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.042058 8.47447 8.917341 Run #2 0 0.010382 6.439772 6.835655 Run #3 0 0.030147 8.462035 9.430691 Run #4 0 0.014877 7.484855 7.951533 Run #5 0 0.032794 7.716972 7.968646 Average 0 0.0260516 7.7156208 8.2207732</p><p>Figure 39. WMI One Server Five Objects Response Time</p><p>4.3.5 Two Servers Retrieving Five WMI Objects</p><p>The Two Servers Retrieving Five WMI Objects observation captures the time required for five WMI queries requesting a single WMI object to execute against the WMI namespaces on SISDC and Secure servers. The results are depicted in Figure 40. 56</p><p>WMI 2X5 Response Time</p><p>10.000</p><p>8.000 s</p><p> d 6.000 n o c</p><p> e 4.000 S 2.000</p><p>0.000 WMI Object SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.019284 8.119123 8.37916 Run #2 0 0.031845 7.852518 8.396238 Run #3 0 0.043652 7.560822 8.286355 Run #4 0 0.025252 7.851054 8.656812 Run #5 0 0.019517 6.875842 7.28684 Average 0 0.02791 7.6518718 8.201081</p><p>Figure 40. WMI Two Servers Five Objects Response Time</p><p>4.3.6 Three Servers Retrieving Five WMI Objects</p><p>The Three Servers Retrieving Five WMI Objects observation captures the time required for five WMI queries requesting a single WMI object to execute against the WMI namespaces on SISDC, Secure, and Manager servers. The results are depicted in Figure</p><p>41. 57</p><p>WMI 3X5 Response Time</p><p>14.000 12.000 10.000 s</p><p> d 8.000 n o c</p><p> e 6.000 S 4.000 2.000 0.000 Monitor Systems SSL Handshake Client Request Request Client Response Complete Complete Run #1 0 0.062698 11.84065 13.021709 Run #2 0 0.014455 6.847666 8.026303 Run #3 0 0.040922 7.84767 8.019918 Run #4 0 0.021126 8.119083 8.692987 Run #5 0 0.04444 6.954645 7.008613 Average 0 0.0367282 8.3219428 8.953906</p><p>Figure 41. WMI Three Servers Five Objects Response Time</p><p>4.3.7 Server Trend For Retrieving One WMI Object</p><p>The Server Trend For Retrieving One WMI Object observation shows response time increase for querying one WMI Object relative to the number of WMI namespaces queried. The results are depicted in Figure 42. 58</p><p>Single WMI Object Response Time</p><p>10.000 8.000 s</p><p> d 6.000 n o</p><p> c 4.000 e S 2.000 0.000 SSL Handshake WMI Object Client Request Client Response Complete Request WMI 1X1 Avg 0 0.1127754 7.6887352 8.4533238 WMI 2X1 Avg 0 0.0428202 8.7084624 9.1088248 WMI 3X1 Avg 0 0.044565 8.4409724 9.1813026</p><p>Figure 42. Single WMI Object Server Trend</p><p>4.3.8 Server Trend For Retrieving Five WMI Objects</p><p>The Server Trend For Retrieving Five WMI Objects observation shows response time increase for querying five WMI Objects relative to the number of WMI namespaces queried. The results are depicted in Figure 43.</p><p>Five WMI Object Response Time</p><p>10.000 8.000 s</p><p> d 6.000 n o</p><p> c 4.000 e S 2.000 0.000 SSL Handshake WMI Object Client Request Client Response Complete Request WMI 1X5 Avg 0 0.0260516 7.7156208 8.2207732 WMI 2X5 Avg 0 0.02791 7.6518718 8.201081 WMI 3X5 Avg 0 0.0367282 8.3219428 8.953906</p><p>Figure 43. Five WMI Objects Server Trend Chapter 5</p><p>5 Lessons Learned</p><p>5.1 WMI Win32 Classes And CIM Schema Observations</p><p>The SIS-M research reviewed class hierarchy between CIM Schema classes and the inheritance usage into the WMI Win32 Class definitions. The SIS-M research observed some obscure findings as follows.</p><p>5.1.1 Win32_UserAccount</p><p>The SIM User / Security Common define classes to manage</p><p> General contact and white pages information for organizations, organization </p><p> units and people</p><p> “Users” of services, and the related security information to authenticate and </p><p> authorize those “users”</p><p>The two classes that represent the users’ access to system resources are </p><p>CIM_UsersAccess and CIM_Account [4]. However, Win32_UserAccount does not inherit from either of these two classes. The Win32_UserAccount inherits from </p><p>CIM_LogicalElement. Additionally, the CIM_LogicalElement class is the base class 60 for all system components that represent abstract system components, such as profiles, processes, or system capabilities, in the form of logical devices [7]. </p><p>5.1.2 Win32 Formatted Performance Statistics</p><p>The CIM Schema Extension purpose is to provide vendors of Enterprise Management capabilities the avenue to integrate improvements into the CIM Core and Common </p><p>Models. The Win32 Formatted Performance Statistics classes used by the SIS-M prototype provided valuable information to the health and status monitoring capability within InformationAccess. The Win32 Formatted Performance Statistics classes inherit from the CIM_StatisticalInformation Class and appear to be candidates for CIM </p><p>Common Model Schema updates. However, the SIS-M research did not observe any of the classes Win32 Formatted Performance Statistics or equivalent in the CIM V2.1.2 </p><p>Schema.</p><p>5.2 System Health And Status</p><p>The WMI capabilities enabled the SIS-M prototype to achieve health and status monitoring of distributed systems. Defining appropriate user account credentials for access to the remote servers’ WMI namespaces is the key to effectively retrieving valuable management information. The result of inaccurately defining user access credentials results in an obscure TargetInvocationException that is extremely difficult to troubleshoot.</p><p>5.3 User Account Management</p><p>The ActiveDirectoryMembershipProvider, the Membership, and MembershipUser classes combined with ASP.Net 2.0 capability provide a solution to accomplish remote 61</p><p>User Account Management. However, the more complex user management functionality does not currently exist. Therefore, an administrator must use the Active </p><p>Directory Users and Computers Management Console to add or remove groups and to change user group assignments.</p><p>5.4 RBAC Management</p><p>The AuthorizationStoreRoleProvider is a wrapper around a subset of the functionality available in Authorization Manager [8]. Therefore, the AzMan capability is not completely supported through the ASP.Net services and some Membership methods throw a NotSupportedException. Also, the SIS-M prototype user accounts must be of the User Principal Name (UPN) format <username>@domain.com for AzMan to effectively apply access policy. The ASP.Net Forms Authentication, which is used in the SIS-M prototype, does not create a WindowsIdentity. Therefore, AzMan requires the full UPN to lookup user groups, permissions, and roles. </p><p>5.5 Client-side Certificate Distribution</p><p>The Client-side certificate distribution capability is accomplished by the installation and configuration of Windows 2003 Server components. Specifically, an Enterprise </p><p>Certificate Authority (CA) integrated with Active Directory automatically fulfills client requests for certificates and installs the certificate within the remote system. However, </p><p>Public Key Infrastructure (PKI) Best Practices state that Root CAs should never be connected to the network to raise the security level of the CAs private key [17]. A PKI in most cases should be architected with an offline Root CA, one or more offline </p><p>Intermediate CAs, and one or more networked Issuing Enterprise CAs. Chapter 6</p><p>6 Future Research</p><p>6.1 Update SIS-M Architecture To Include A UNIX Server</p><p>The CIM and WBEM standards are being developed to guide Enterprise Management capabilities in heterogeneous enterprises. Therefore, the SIS-M prototype could be updated to include a UNIX server and an alternative CIM implementation to assess platform interoperability using two CIM and WBEM compliant implementations.</p><p>6.2 Update The SIS-M Prototype To The .Net 3.0 Framework</p><p>As identified in Section 5, Lessons Learned, some functionality in the .Net 2.0 </p><p>Framework and ASP.Net 2.0 is not fully implemented and throws a </p><p>NotImplementedException. The SIS-M Prototype could be updated to evaluate additional functionality in the next evolution of the .Net Framework and ASP.Net.</p><p>6.3 Certificate Authority Architecture</p><p>As stated in section 5, a PKI in most cases should be architected with an offline Root </p><p>CA, one or more offline Intermediate CAs, and one or more networked Issuing 63</p><p>Enterprise CAs. Therefore a more robust CA architecture should be integrated in the </p><p>SIS-M prototype to assess and validate automated Client-side certificate distribution from an Issuing CA. Additionally, Certificate Services Web Enrollment pages can be customized by modifying certificate templates.</p><p>6.4 Implement Client-side Certificate Mapping</p><p>The SIS-M prototype uses Forms Authentication and Authorization Manager to determine identity, authenticate the user, and to authorize access. One-to-One certificate mapping can be used to authenticate users and grant or deny access to Web resources. Therefore, the SIS-M prototype can be updated to evaluate the certificate mapping functionality and assess the performance between both approaches of determining identity, authenticating users, and authorizing access. Chapter 7</p><p>7 Conclusion</p><p>The SIS-M research and prototype enabled 1) system health monitoring using Windows</p><p>Management Instrumentation (WMI), 2) user account management using the Active </p><p>Directory Membership Provider, 3) Role Based Access Control (RBAC) using ASP.Net</p><p>2.0 Forms Authentication and the Authorization Manager, and 4) automated Client-side </p><p>Certificate distribution using Certificate Services. </p><p>7.1 System Health And Status Monitoring</p><p>The WMI capabilities provide sufficient information to create a health and status monitoring capability. However, as mentioned in Section 5.1.1, the WMI Win 32 </p><p>Classes do not always inherit from the CIM Schema classes expected. The SIS-M research believes a reason for the observation may be the cost of integrating a standard into an existing product line could be prohibitive and not provide sufficient return on investment in the marketplace. 65</p><p>7.2 User Account Management</p><p>The user account management functionality satisfied the objectives for the SIS-M prototype and may be usable in a small enterprise setting. However, remote user account management does not currently have the fidelity to manage enterprises with many users. Therefore, the Active Directory Users & Computer application is still required to provide robust account management.</p><p>7.3 RBAC Management</p><p>SIS-M research concluded that AzMan addresses the five elements of the CORE RBAC</p><p>Standard using AzMan elements and capabilities identified in Table 2. SIS-M research also concluded that AzMan addresses the three key RBAC components by utilizing the </p><p>Authorization Manager Management Console for PAP, BizRules for PDP, and the </p><p>AuthorizationStoreRoleProvider and the Roles class for PEP.</p><p>7.4 Client-side Certificate Distribution</p><p>The certificate services component within Windows 2003 server achieved all the functionality required in the SIS-M prototype to remotely distribute and automatically install client-side certificates to new users upon request. The SIS-M prototype instantiated only one networked CA and believes a PKI architecture with a Standalone </p><p>Root CA, isolated Intermediate CAs, and Enterprise Issuing CAs is required to verify the automated remote distribution of client-side certificates within a more robust architecture.</p><p>7.5 Performance Observations</p><p>The SIS-M prototype uses the .Net 2.0 Framework classes and other Windows 66 components to meet the objectives of this thesis. The objective of the performance analysis was to capture the performance of the .Net 2.0 Framework classes and </p><p>Windows components while accomplishing SIS-M’s InformationAccess web-based application tasks. Multiple performance observations were captured for WMI Object retrieval analysis. The SIS-M WMI performance results, described in section 4.3.7, show a 7.9% increase in HTTPS response time when querying for one WMI Object when executing the WMI query on the three servers, SISDC, Secure, and Manger. The performance results, described in section 4.3.8, show an 8.1% increase in HTTPS response time when querying for five WMI Objects when executing the WMI queries on the three servers. Section 4 describes the performance observation measurements. 8 Bibliography</p><p>1 Ganesh, G. and Chow, E. 2005. Secure Information Sharing Using Attribute</p><p>Certificates and Role Based Access Control.</p><p>2 DMTF Inc. 2006. CIM Schema Version 2.1.2. Portland: Distributed </p><p>Management Task Force Incorporated.</p><p>3 DMTF Inc. 2006. CIM Query Language Specification Version 1.0. </p><p>Portland: Distributed Management Task Force Incorporated.</p><p>4 DMTF Inc. and WBEM Solutions Inc. 2003. CIM Tutorial. Portland: </p><p>Distributed Management Task Force Incorporated and Pinehurst: WBEM Solutions</p><p>Incorporated.</p><p>5 Dept. of Computer Science and Engineering, POSTECH. 2004. Design of a </p><p>WBEM-based Management System for Ubiquitous Computing Servers.</p><p>6 Microsoft Corporation. 2007. WMI Architecture. </p><p> http://msdn.microsoft.com/en-us/library/aa394553.aspx (accessed July 2007)</p><p>7 Microsoft Corporation. 2007. WMI Win32 Classes. </p><p> http://msdn2.microsoft.com/en-us/library/aa394084.aspx (accessed July 2007).</p><p>8 Stefan Schackow. 2006. Professional ASP.NET 2.0 Security, Membership, </p><p> and Role Management. Indianapolis: Wiley Publishing Inc. 68</p><p>9 OASIS. 2007. Who We Are. http://www.oasis-open.org (accessed July </p><p>2007).</p><p>10 OASIS. 2005. eXtensible Access Control Markup Language (XACML) </p><p>Version 2.0, CORE Specification.</p><p>11 OASIS. 2005. Core and hierarchical role based access control (RBAC) </p><p> profile of XACML v2.0.</p><p>12 NIST. 2007. RBAC Standards Roadmap. http://csrc.nist.gov/rbac/rbac-stds-</p><p> roadmap.html (accessed August 2007).</p><p>13 Microsoft Corporation. 2007. Role-Based Access Control for Multi-tier </p><p>Applications Using Authorization Manager. </p><p> http://technet2.microsoft.com/windowsserver/en/library/72b55950-86cc-4c7f-8fbf-</p><p>3063276cd0b61033.mspx?mfr=true (accessed August 2007).</p><p>14 Microsoft Corporation. 2007. WMI .NET Architecture. </p><p> http://msdn2.microsoft.com/en-us/library/ms257361(VS.80).aspx (accessed August</p><p>2007). </p><p>15 Howie, J. 2006. Windows Server 2003 Certificate Services. </p><p> http://www.windowsitpro.com/Articles/ArticleID/49733/49733.html (accessed </p><p>August 2007).</p><p>16 Microsoft Corporation. 2007. Developing Applications Using Windows </p><p>Authorization Manager. http://msdn2.microsoft.com/en-us/library/aa480244.aspx </p><p>(accessed August 2007).</p><p>17 Microsoft Corporation. 2007. Best Practices for Implementing a Microsoft </p><p>Windows Server 2003 Public Key Infrastructure. http://technet2.microsoft.com. 69</p><p>(accessed September 2007).</p><p>18 Microsoft Corporation. 2007. Internet Information Services Security </p><p>Overview. http://msdn2.microsoft.com/en-us/library/ms951692.aspx#iissecure_ssl. </p><p>(accessed October 2007).</p><p>19 WindowsSecurity.com. 2007. Secure Socket Layer. </p><p> http://www.windowsecurity.com/articles/Secure_Socket_Layer.html. (accessed </p><p>October 2007). </p><p>20 WIRESHARK. 2007. Wireshark: What’s on your network?. </p><p> http://www.wireshark.org. (accessed October 2007). </p><p>21 Khaleel, O. 2007. Engine For Controlling Emergent Hierarchical Role-</p><p>Based Access (ENforCE HRBAccess). 9 APPENDIX A: Developer / User Guide</p><p>The Developer / User Guide information in this appendix is intended to provide additional information to users and developers for extending the research accomplished during the SIS-M prototype development. The appendix includes information about the</p><p>SIS-M prototype development environment and the SIS-M prototype user interface.</p><p>9.1 The SIS-M Prototype Environment</p><p>The SIS-M prototype environment resides within VMware Server, version 1.0.1. The architecture implemented for the SIS-M prototype is discussed in Section 3.3. The SIS-</p><p>M prototype is developed using three Windows 2003 Servers. Each of the servers runs </p><p>Windows 2003 Server Enterprise Edition, Service Pack 1. All SIS-M prototype software is written in C#, ASP.Net, and HTML. The Integrated Development </p><p>Environment (IDE) used to develop and debug the InformationAccess and </p><p>InformationSharing web-based applications is Visual Studio (VS) 2005. The </p><p>InformationAccess project resides on the server named Manager and the VS2005 Start </p><p>Page is depicted in Figure 44. The InformationSharing project resides on the server named Secure. 71</p><p>Figure 44. InformationAccess VS2005 Start Page</p><p>Both InformationAccess and InformationSharing execute within Internet Information </p><p>Services (IIS) 6.0. Therefore, the IIS Management Console is used for all the configuration settings for the two web-based applications. The IIS Management </p><p>Console depicting InformationSharing is shown in Figure 45. 72</p><p>Figure 45. InformationSharing IIS Management Console</p><p>Note that all three servers and at least one Windows XP client (SISCLI or SISMCLI) must be executing for the SIS-M prototype to be completely functional. The web applications can be accessed by the URIs specified below. The InformationSharing web-based application returns a 403.7 Forbidden – Client Certificate Required Error page unless a certificate from the server named Secure is already installed in Internet </p><p>Explorer.</p><p> InformationAccess URI: https://Manager/InformationAccess</p><p> InformationSharing URI: https://Secure/InformationSharing 73</p><p>9.2 SIS-M Prototype Administration</p><p>SIS-M prototype administration occurs on the Secure Information Sharing Domain </p><p>Controller (SISDC) server. The Active Directory Users and Computers Management </p><p>Console is depicted in Figure 46 and was used routinely to manipulate user account information within the SISMTHESIS domain.</p><p>Figure 46. SISDC Active Directoy Users and Computers</p><p>Additionally, the Authorization Manager Management Console (AzMan) was used to manipulate roles, operations, and tasks authorized for each user. AzMan, shown in</p><p>Figure 47, is invoked as depicted in Figure 48. 74</p><p>Figure 47. SISDC AzMan Console</p><p>Figure 48. Starting The AzMan Console</p><p>9.3 The InformationAccess Application</p><p>Entrance into the InformationAccess web-based application is achieved only by logging in with authenticated user credentials and the user attempting to gain access must be included in the SiteAdministrator Role. The login page for InformationAccess is depicted in Figure 49. 75</p><p>Figure 49. InformationAccess Login Page</p><p>SiteAdministrator users can login to InformationAccess and see the default page shown in Figure 50. Only users that are assigned to the SiteAdministrator role are able to access the Manage Users, Manage RBAC, RBAC Violations, and Monitor Systems resources identified in the Navigation sidebar. 76</p><p>Figure 50. InformationAccess Default Page</p><p>A user attempting to login to InformationAccess that is not part of the SiteAdministrator</p><p>Role will immediately be logged out and have the session terminated. Additionally, a </p><p>RBAC Policy Violation entry will be generated and stored in the Event Log as explained in section 9.4. </p><p>9.3.1 The InformationAccess SiteAdministrator Role</p><p>SiteAdministrator role membership is required to access the Manage Users, Manage </p><p>RBAC, RBAC Violoations, and Monitor Systems resources within InformationAccess. </p><p>The following sections identify InformationAccess’ remote management capabilities. 77</p><p>9.3.1.1 Manage Users Capability</p><p>The Manage Users capability, shown in Figure 51, includes functionality to create users</p><p>(Figure 52), delete users (Figure 53), and query for user account details (Figure 54).</p><p>Figure 51. InformationAccess Manage Users 78</p><p>Figure 52. InformationAccess Create User 79</p><p>Figure 53. InformationAccess Delete User 80</p><p>Figure 54. InformationAccess User Account Details Query Result</p><p>9.3.1.2 Manage RBAC Capability</p><p>The Manage RBAC capability, shown in Figure 55, provides the users within the </p><p>SiteAdministrator role the functionality to create roles (Figure 56), delete roles (Figure </p><p>57), add users to roles (Figure 58), query for users in roles (Figure 59), query for all the roles defined within the system (Figure 60), get all the roles for a particular user (Figure</p><p>61), determine if a user is in a particular role (Figure 62), and remove a user from a particular role (Figure 63). 81</p><p>Figure 55. InformationAccess Manage RBAC 82</p><p>Figure 56. InformationAccess Create Role 83</p><p>Figure 57. InformationAccess Delete Role 84</p><p>Figure 58. InformationAccess Add User To Role 85</p><p>Figure 59. InformationAccess Get Users In Role 86</p><p>Figure 60. InformationAccess Get All Roles 87</p><p>Figure 61. InformationAccess Get Roles For User 88</p><p>Figure 62. InformationAccess Is User In Role 89</p><p>Figure 63. InformationAccess Remove User From Role</p><p>9.3.1.3 Monitor Systems Capability </p><p>The Monitor Systems capability, available to users in the SiteAdministrator role, is the result of WMI Win32 Class attribute values being evaluated against a SIS-M implemented rule set to determine a status. The resulting status of the attribute analysis is displayed in the InformationAccess web-based application user interface, Figure 64. 90</p><p>Figure 64. InformationAccess Monitor Systems</p><p>9.3.1.4 Obtain Client-side Certificate</p><p>The SIS-M prototype automated remote client-side certificate distribution is accomplished by utilizing Windows 2003 Server components and Certificate Services. </p><p>The CertSrv web-based application has configuration attributes available in the IIS 91</p><p>Management Console. The SIS-M prototype requires a valid user account in the </p><p>SISMTHESIS domain prior to requesting a client-side certificate from the server named</p><p>Secure. The Enter Network Password dialog box is depicted in Figure 65.</p><p>Figure 65. CertSrv Password Protection</p><p>The Certificate Services Welcome page, shown in Figure 66, is presented to the authenticated user requesting a client-side certificate. 92</p><p>Figure 66. Certificate Services Welcome Page</p><p>The authenticated user selects the Request a certificate link and Figure 67 is displayed. 93</p><p>Figure 67. Certificate Services Request A Certificate Page</p><p>The authenticated user selects the User Certificate link and Figure 68 is displayed. No additional identifying information is required because the user is authenticated within the SISMTHESIS domain. 94</p><p>Figure 68. Certificate Services User Certificate Request Submission</p><p>The action of selecting the submission button results in a client-side certificate being issued to the user as shown in Figure 69. 95</p><p>Figure 69. Certificate Services Issued Certificate</p><p>The selection of the Install this certificate link results in a successful installation dialog box as shown in Figure 70. The user now has all the appropriate information to access the InformationSharing web-based application. However, the current browser session must be restarted before attempting to reconnect with InformationSharing and an </p><p>InformationAccess user with SiteAdministrator permissions must allocate the new user into the appropriate roles. 96</p><p>Figure 70. Certificate Services Successful Certificate Installation</p><p>9.4 RBAC Policy Violation Archive</p><p>The RBAC Policy Violation Archive supports the RBAC Management capability within</p><p>InformationAccess by providing users in the SiteAdministrator role the ability to view attempted accesses by unauthorized users. Only users belonging to the </p><p>SiteAdministrator role are able to log into InformationAccess. All other users attempting to log into InformationAccess create a RBAC Policy Violation Log entry and the session is immediately terminated. InformationSharing logs all user attempts to access or upload information without appropriate permissions. The RBAC Policy </p><p>Violation Archive is depicted in Figure 71. 97</p><p>Figure 71. RBAC Policy Violation Log</p><p>9.5 The InformationSharing Application</p><p>Accessing the InformationSharing resource and resources within the web-based application is accomplished in three steps.</p><p> Creating an account through InformationAccess.</p><p> Obtaining and installing a Client-side certificate from Certificate Service at the 98</p><p>URI https://Secure/CertSrv.</p><p> Requesting and receiving membership enrollment by an InformationAccess </p><p>SiteAdministrator</p><p>InformationSharing returns an error page, shown in Figure 72, if the client attempting to gain access does not have a Client-side certificate installed.</p><p>Figure 72. InformationSharing Client-side Certificate Error</p><p>The user must authenticate against the SISMTHESIS domain by using </p><p>InformationSharing’s login page, Figure 73. 99</p><p>Figure 73. InformationSharing Login Page</p><p>An authenticated user is presented with InformationSharing’s default page, Figure 74, to request access to information contained within Authorization Manager’s defined roles. Note that not all roles available in Authorization Manager are presented to the user. By design, the SiteAdministrator role and the ReadOnly roles are not depicted. </p><p>Any user that is in a ReadOnly role still must request access to the information by using the role, Executive, Manager, etc, displayed in the selection list. 100</p><p>Figure 74. InformationSharing Default Page</p><p>Each of the roles displayed in the selection list maps to a storage location for information available in that role only. Therefore, a user must be a member of more than one role to obtain access to more than one storage location. After the user selects a role, the information available in that role storage area is presented to the user, Figure </p><p>75. 101</p><p>Figure 75. InformationSharing Access Secure Information Page</p><p>A RBAC Policy Violation Error Page is presented to the user if they are not a member of the role selected as depicted in Figure 76. 102</p><p>Figure 76. InformationSharing RBAC Policy Violation</p><p>A user that obtained access to a selected storage location based upon role selection may download files by selecting the Download File button. Additionally, a user with appropriate permissions can upload files into the storage location by selecting the File </p><p>Upload button, shown in Figure 77 and Figure 78. 103</p><p>Figure 77. InformationSharing File Upload Page 104</p><p>Figure 78. InformationSharing File Upload Browser</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    114 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us