A Penn State CSE430W Senior Design Project


The Team
Myron Semack semack@cse.psu.edu Resume
Wilson Tsui tsui@cse.psu.edu Resume
Michael Vicinelly vicinell@cse.psu.edu Resume

Sponsored by

 ABB Robotics

Faculty Coach: Dr. Dennis Dunn

The Problem

The ABB Team was given the task of providing a software-based user authorization system.  The goal is to restrict certain features of an application from unauthorized users.  Suppose you have a computer (running Windows 2000) that is responsible for controlling an industrial robot.  Now, suppose a manager wants to change the programmed behavior of the robot.  That person can pull up the control software, and make the necessary changes.  But at the same time, there are other users who use the software to check the status of the robot, but should not have access to change the programming.  That is where our system comes into operation.

At first, this seems like a simple task, since Windows 2000 already has a robust security model in place.  Unfortunately, the default Windows 2000 security system only controls things on the operating system level, not the application level.  Using the native Windows 2000 model, it is possible to block unauthorized users from launching a particular application, but there is no way to control what users can do within the application once it has been launched.  We needed to to build a system which extends the security model of Windows 2000 to the application level.

Key Design Constraints

Adding to the difficulty of the task were the necessary constraints.  First, we were not to develop the application itself.  The system is a set of routines to be implemented "behind the scenes" of a software package.  This meant the system had to be abstract enough to work with a variety of different applications.  The only thing that would be common between them is the Windows 2000 operating system.  Furthermore, our system had to work with the native Windows 2000 security model.  It could not bypass the current system, only extend it.

The Solution

The system developed consists of three main components:

  • A DLL file containing the authorization routines

  • A searchable database, containing an access control list

  • A management tool to control the database

Standard behavior of our system is as follows: 

  1. A user tries to access a restricted feature of an application.

  2. The application queries our system, to determine whether or not the user has access. 

  3. Our system searches the database, finds the feature, and then searches for the user. 

  4. If the user is in the list, access is granted.  If the user is not in the list, access is denied.

 


Project Date: Fall 2001

Questions? semack@cse.psu.edu