Patent ID: 7134022

Claim:
A mandatory access control system for controlling user access via a network from a client database terminal to a database within a database server, said access control system located within a label server located in the network path between said client database terminal and said database server and comprising: a user label database within said label server that stores user labels that define a binary word representing and defining the security attributes of users who logon to the client database terminal for authentication by the database server with identification and authentication data that is sent from said client database terminal with a data retrieval request; a data label database within said label server that stores both data labels consisting of a binary word representing and defining the access requirements for data stored in said database server and index data that links the stored data label to specific data records in said database server based on a pre-assigned relationship between the data record retrieved from the database server and the data label stored in the data label database; a label processor within said label server that is connected to said data label database and said user label data base and intercepts any data requests from the client database terminal and extracts the user identification and authentication data sent with the data request, said label processor converting said identification and authentication data into a user label and passing on the data request with said identification and authentication data to the database server for authentication against stored identification and authentication data and if the authentication is successful, intercepting any data record retrieved by said database server in response to said data request, said label processor first determining if there is index data in the data label database that links a stored pre-assigned data label to the retrieved data record and if there is linking index data, said label processor retrieving the pre-assigned data label and if there is no linking index data, said label processor generating a data label for the retrieved data from the security attributes of the retrieved data record and comparing the pre-assigned or generated data label with the user label and using the results of the comparison to determine if the retrieved data will be sent to said client database terminal or if said label processor will instead terminate the retrieved data and send an access denied message to said client database terminal.