iv ACKNOWLEDGMENTS Kent Wreder directed my original steps towards addressing the problem of access control for distributed enterprise applications. Thanks to his encouragements and support, I had a very quick start. Eric Butler and Eric Navarro introduced me to the work of IT architects and were great colleagues.My advisor, Yi Deng, was an unending source of useful and pragmatic advice. He helped me to see the problems more broadly and at the same time be more specific. His patience, compassion and belief in me were instrumental in the completion of this journey.Thanks also to him for reading my dissertation and suggesting structural and stylistic changes that made it much more valuable and comprehendible. Yi, thanks for everything.I would like to thank Yi's students --Suresh Chegireddy, Banaglore Gururprakash, Luis Espinal, Manish Mahajan and Nathan Vuong --for their input during our numorous discussions on CAAS. Luis deserves special thanks for he has been a great help to me throughout my research, we did most of CAAS design and implementation together, and I
Miami, FloridaProfessor Yi Deng, Major Professor Access control (AC) is a necessary defense against a large variety of security attacks on the resources of distributed enterprise applications. However, to be effective, AC in some application domains has to be fine-grain, support the use of application-specific factors in authorization decisions, as well as consistently and reliably enforce organization-wide authorization policies across enterprise applications. Because the existing middleware technologies do not provide a complete solution, application developers resort to embedding AC functionality in application systems. This coupling of AC functionality with application logic causes significant problems including tremendously difficult, costly and error prone development, integration, and overall ownership of application software. The way AC for application systems is engineered needs to be changed.
viiIn this dissertation, we propose an architectural approach for engineering AC mechanisms to address the above problems. First, we develop a framework for implementing the rolebased access control (RBAC) model using AC mechanisms provided by CORBA Security. For those application domains where the granularity of CORBA controls and the expressiveness of RBAC model suffice, our framework addresses the stated problem.In the second and main part of our approach, we propose an architecture for an authorization service, RAD, to address the problem of controlling access to distributed application resources, when the granularity and support for complex policies by middleware AC mechanisms are inadequate. Applying this architecture, we developed a CORBA-based application authorization service (CAAS). Using CAAS, we studied the main properties of the architecture and showed how they can be substantiated by employing CORBA and Java technologies. Our approach enables a wide-ranging solution for controlling the resources of distributed enterprise applications.