NISTIR 5820

Distributed Communication Methods and Role-Based Access Control for Use in Health Care Applications

Joseph Poole
John Barkley
Kevin Brady
Anthony Cincotta
Wayne Salamon


Abstract

The use of software in the health care industry is becoming of increasing importance. One of the major roadblocks to efficient health care is the fact that important information is distributed across many sites. These sites can be located across a significant area. The problem is to provide a uniform mechanism to integrate this information. This paper documents the results of an investigation into the suitability of several different distributed access mechanisms. Five methods were examined: the Common Object Request Broker (CORBA), Object Linking and Embedding (OLE), remote procedure call (RPC), remote database access (SQL/RDA) and Protocol Independent Interfaces (PII, we specifically examined sockets). These mechanisms were compared with regard for use in health care applications. In particular, the following capabilities were compared:

A second goal was to explore the use of role-based access control (RBAC). RBAC is a security mechanism that is more flexible than Mandatory Access Control, but easier to use than just plain access control lists. Every user is assigned to one or more roles. Each role can perform some operations but not others.

A demonstration application was constructed that used the distributed communication methods to implement a patient record database. This report discusses how these mechanisms were used in the demonstration project and the results found. Not unsurprisingly, we discovered that each of the mechanisms were effective for different purposes. These findings are discussed in detail in this report. One component of the demonstration project also implemented role-based access control and is detailed in this report.

Keywords : access control, CORBA, distributed, health care, OLE, PII, RBAC, role-based, RPC, security, SQL/RDA, transport

Trademarks

Ada is a registered trademark of the U.S. Government (Ada Joint Program Office). Microsoft and Windows are registered trademarks of Microsoft Corporation. Microsoft Visual Basic is a trademark of Microsoft Corporation. Borland is a registered trademark of Borland International, Inc. Unix is a registered trademark of Novell, Inc.



Certain commercial products are identified in this report. Such identification does not imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the product, publication or service identified is necessarily the best available for the purpose.

Acronyms
1 Introduction
2 Technical Overview of Transport Mechanisms
2.1 CORBA
2.2 OLE
2.3 SQL/RDA
2.4 Sockets
2.5 RPC
3 Technical Overview of Role Based Access Control
3.1 Implementing Role Based Access Control Using Object Technology
4 Demonstration Applications
4.1 POSIX Demo
4.1.1 Operation of the server object methods
4.1.2 Role-Based Access Control in the Server
4.2 The PC Demo
4.2.1 OLE Objects Used in the Viewer
4.3 Other Distributed Communication Methods
5 Conclusions
Appendix A - Code for Role-based Access Control using Object Technology
Appendix B - IDL Description of Patient Record Object
Glossary
References