The present invention relates to policy enforcement in computing systems.
The concept of using a secure hardware device to sign data for the purpose of guaranteeing its integrity is known. For example in http://www.sans.org/encryption/hardware SCC.PHP, there is described how hardware security modules can form a MAC of data and verify the MAC each time a request for data is made.
Known signatures are a more expensive way of achieving a similar level of integrity, except that a requestor can use a corresponding public key to check the integrity. However a problem with this approach is that the process requesting the signature needs to be trusted as does the underlying system and associated user accounts, for example root accounts. Where a server serving this information can be compromised, for example by a Trojan or where the administrator is not sufficiently trustable, then they can change the data and gain access to the hardware security module to gain the appropriate integrity check data, whether based on a MAC or on a signature.
It is known to use a signing key to communicate and guarantee the integrity of data. Such keys are also expected to be stored and used within a secure hardware device.
Referring to
One way of indicating the integrity and correctness of the data, is for the server computer entity 100 to apply a digital signature 104 to the data, or a message such as a MAC to the data, so that the client computer entity can trust the data.
Referring to
Referring to
The client computer entity 300 relies upon the signature process 303 to control the integrity of the data. The server controls the signing process, thereby gaining control of the integrity of the data, which constitutes a limit on the scope of controlling the integrity of the data.
In prior art systems, the security of the signature process relies upon the private key used to apply the signature. To increase security, digital keys may be stored in a secure hardware module 304 which keeps the private key safe from tampering. Such modules are available which hold digital keys securely, without being available outside the secure hardware module, and which will perform signature within the secure hardware module using encryption algorithms. Use of the secure hardware module increases the clients ability to trust the signature, since the operator of the client computer entity knows that if a signature has been applied, then it must have been applied by a secure hardware module.
One of the potential weaknesses of the system shown in
However, if a third party subverts the process, they can bypass the authentication process 303 completely.
In the prior art systems, authentication processes and policy enforcement processes are carried out in a relatively non-secure domain, separate to a secure domain in which signatures are applied.
Referring to
This is in contrast to a situation such as a database, where the number of changes to data is relatively high, compared to the number of requests for access to data by client computers.
An example of a system which has a large number of requests for data, but where the data change relatively infrequently, is the Lightweight Directory Access Protocol (LDAP). In this protocol, there is a large directory, which has a lot of structure, where the structure is changed infrequently, but the structure is used to satisfy client data requests relatively frequently.
Another example is one of policy distribution by a server. In this example, if the client computers 500-502 need to enforce a policy, for example a security policy, then the security policies may be centralised in a server computer 503, and be frequently accessed by a plurality of client computer entities. The security policies may be altered from time to time by a set of administrators, but the frequency of alterations of the policy data are relatively infrequent compared to the frequency of requests to access the policy data by the plurality of client computers. Every time a client computer boots up, or reconfigures, they may need to access a security policy stored on the server computer. The client computer may need to check the signature on the security policy, to ensure that the correct security policy has been obtained.
In such prior art computer systems storing high integrity data and having multiple users, a conventional approach is to rely on one or more human administrators to enforce access control policies to data, and so practically security is not fully automated, but relies upon human monitoring.
According to a first aspect of the present invention, there is provided a method of applying policy enforcement in a computing system, said method comprising:
According to a second aspect of the present invention, there is provided a secure hardware device comprising:
According to a third aspect of the present invention, there is provided a computer system comprising:
According to a fourth aspect of the present invention, there is provided a method of controlling changes to a file system, comprising:
According to a fifth aspect of the present invention, there is provided a secure hardware device, comprising:
According to a sixth aspect of the present invention, there is provided a system of computer entities configured into a plurality of domains comprising:
According to a seventh aspect of the present invention, there is provided a method of operation of a system of computer entities, said method comprising:
Other aspects of the invention are as recited in the claims herein.
Specific embodiments disclosed herein provide that a policy check and enforcement is tightly bound to a signing key within a secure hardware device. A secure hardware device can be configured to allow a different set of users, administrators, outsourcers or managers or a mixture of like persons to control changes to policies.
Remote parties may have an ability to identify a signing service and a binding service remotely, and therefore have remote management of policies.
Specific embodiments disclosed herein may move the computation which judges whether a user or a process has a right to change an item of data in to the same secure hardware device that is guarding cryptographic keys used to sign, and thus demonstrate the integrity of, the data. Physically incorporating computation in to a same secure hardware device which guards cryptographic keys may provide enhanced security, since such processes are likely to be attempted to be compromised by external attack. It also allows a different set of people or users to be responsible for managing changes to data, for example administrators rather than users, or managers rather than administrators.
Tamper resistant hardware has an advantage that a computation can be done locally, and yet still be trusted and managed by remote personnel.
For a better understanding of the invention and to show how the same may be carried into effect, there will now be described by way of example only, specific embodiments, methods and processes according to the present invention with reference to the accompanying drawings in which:
a and 8b illustrate schematically operation of the computing system of
There will now be described by way of example specific embodiments contemplated by the inventors. In the following description numerous specific details are set forth in order to provide a thorough understanding. It will be apparent however, to one skilled in the art, that the present invention may be practiced without limitation to these specific details. In other instances, well known methods and structures have not been described in detail so as not to unnecessarily obscure the description.
Referring to
Control process 603 receives requests from one or more clients 605 to access data via directory 601. Control process 603 determines whether the client 605 has authorisation to access the requested data in the directory 601 or not. Because all the data in the directory is signed, the client can check the data and verify that the data is correct.
Secure hardware module 602 performs the functions of: controlling policy; performing authentication; and applying digital signatures to data. The processes of checking policy, and authenticating data are performed prior to signature.
The first specific embodiment herein provides a secure tamper resistant hardware device, which incorporates software which can securely store keys and invoke their usage for signing.
The secure hardware device running a service operates two distinct phases:
Application (LDAP) clients may wish to be augmented, and to receive and to check the integrity check data matches the data received, thus ensuring that they have a trust worthy data.
The integrity check data may simply be a signature on the data in some embodiments. However this has an issue in that it can be replayed. The integrity service may therefore issue periodically signed heartbeat checks. A client application can then check that the integrity check which they have is contained in a current heartbeat check.
In the case of an LDAP service, the integrity of LDAP information is crucial to user organizations, since it is used to hold PKI certificates, email, and organization details of such organizations. A change to a users profile could result in their email being diverted to unauthorized parties.
The first specific embodiment herein may transfer policy enforcement functionality into a secure hardware module, where policies cannot be tampered with or subverted externally to the secure hardware module.
Referring to
A first administrator 604 is an administrator who can change data in directory 601. First administrator 604 needs to authenticate himself to the secure hardware device 602 and gain authorisation, before being able to make changes to the directory data 601.
The secure hardware device 602 contains a set of meta policies which describes what policies the secure hardware device will run. The meta policies may be changed and modified by a second set of administrators 606. The meta policies 702 controlled by the second set of administrators 606 determine how the policies within the control process 603 can be changed.
An example of operation of the first specific embodiment now follows.
A first set of administrators 604 may wish to change the structure of the directory 601. For example, where an employee has left a company, and part of the directory relates to that employee, the first administrator 604 may wish to delete the part of the directory relating to the employee who has left the company.
Referring to
The control process 603 does not perform the authorisation to change the directory structure itself, but refers to the secure hardware device a request and a set of credentials of a person making the request, and depending upon whether authorisation is permitted or denied by the secure hardware device, will allow the person making the request to carry out the request or not, as appropriate.
The type of credentials presented by the administrator may be a ticket which is used in the system, the type of ticket depending upon the type normally used in the system, or may be a certificate which shows that the administrator has a private key which enables the administrator to authenticate itself to the secure hardware device.
Therefore, the secure hardware device has the information which it needs to perform authentication, and can perform authentication. The secure hardware device also needs to determine that there is a policy associated with that particular aspect of the directory which is being requested to be changed.
Therefore, the secure hardware device knows there is a policy associated with a requested aspect of the structure of the directory, the secure hardware device can check the person requesting the change against the policy for changing the directory, and once satisfied that the request is authorised to change the directory in the manner requested, the secure hardware device accesses its own private key in order to sign the request before passing it back to the control process.
The first level administrator then makes the changes to the directory, having being authorised by the secure hardware device. One or more clients 605 can then access the new directory structure 401 to read data.
The binding between the correct policy for a directory, and the directory itself is checked in the secure hardware device 602. The administrators credentials are checked and compared to the policy for changing the directory by the secure hardware device 602.
Therefore, the secure hardware device performs the operations of:
Referring to
In a secure domain 903, operations of checking a policy for modifying a directory, checking authentication of a person requesting to change a directory structure, that is a first level administrator, and enforcement of directory management policies are present. A set of meta policies within the secure domain can be modified by one or more second level administrators 904.
In a directory 905, the data in the directory can be changed via the control domain, and data can be accessed by clients via the control domain.
In the specific embodiment described herein, there are a set of policies, and a set of keys, and usage of the policies is linked to the set of keys, such that both the keys and the policies are controlled within a secure hardware device, i.e. that is within a secure domain.
Referring to
Linked to the server is a secure hardware device 1004. Whenever a first level administrator 1003 is to change any data in the directory, they must get authorisation from the secure hardware device 1004.
Clients 1001, 1002 when they fetch data, do not need to be referred to the secure hardware device. The data is already signed when it is stored in the server, and the clients can have confidence of the integrity of the data.
The secure hardware device can be used to manage changes to the overall directory management policies, in a way in which the first level administrators 1003 are controlled and restricted to making changes to the directory in accordance with those meta policies.
An example of a meta policy, in this case concerning human resources may be ‘only human resources personnel can change remuneration data for employees’. In this case, a second level administrator 1005, being at a management level higher than the human resources personnel, may change the meta policies within the secure hardware device 1004, such that the human resources personnel (the first level administrators), can change remuneration data stored in a directory of the server 1000.
Referring to
Within the server 1100 is a software component, for accessing the directory, for example the Lightweight Directory Access Protocol (LDAP), the known Lightweight Directory Access Protocol (LDAP) Software 1102. The LDAP server finds a correct entry in the directory in response to a request received from a client user. In the directory, each data record is augmented by having a signature 1003.
Control of the data is effected by a secure hardware device 1104, which applies its signature to each data record within the directory. Within the secure hardware device is one or more policies 1105. Policies can be set by administrators how have access to the secure hardware device. An example of a policy may be:
The policy data resides in the secure hardware device, and is linked to the directory structure. The data stored in the directory is the type of data which is important to keep secure, since it contains personal address details, and reflects the organisational structure of a company, therefore, it is data which needs to be controlled.
There will now be described a process for changing control of the data.
A manager 1106 wishing to change control of the data needs to authenticate herself with the secure hardware device 1104. This can be achieved by logging into the secure hardware device, for example using a Microsoft NT log in procedure, the result of which is that the secure hardware device knows the identity of the manager. Since the administrator logs in directly to the secure hardware device, the administrator is within a trusted domain, defined by the extent of the physical security, that is, a secure casing, and physical tamper proof aspects of the secure hardware device.
The secure hardware device access the record which the manager wishes to change. The LDAP server sends the current version of the record to the secure hardware device. A new record is generated by the LDAP server according to the policy 1105.
There will now be described an example of operation of the system of
Deletion of a record, according to the current policy 1105 can only be carried out by a system administrator. A system administrator 1107 sends a message 1108 which is signed with a digital signature 1109 of a person who's record is to be deleted, to the secure hardware device 1104. A policy within the secure hardware device specifies that any commands to delete an entire record must be signed with the person to which the record relates, i.e. the named employee. Alternatively, the policy 1105 may specify that in order to delete a record, two signatures are required, for example a signature of a system administrator, and a signature of the person whose record is being deleted. The LDAP server checks the integrity of the overall file system, and also checks the integrity of each individual data record.
The above examples illustrate how various levels of authorisation and authentication may be required within the system, and the system can handle changes to data which can be carried out by almost any person, or alternatively can handle changes to data which require several levels of authentication and several signatures from different authorised persons.
Referring to
A manager 1204 may send a change policy message to each of the secure hardware devices, where the change policy message is signed, and contains details of changes to policies stored in each of the secure hardware devices. In this way, a top level policy change can be applied globally by a manager or other administrator within a trusted domain, by changing policy data within each of a plurality of secure hardware devices, where the policy data controls one or more servers and the policy data controls how access to data stored within those servers can be made by other users, for example, clients or lower level administrators.
The trusted domain 1205 is protected from external attacks, or by attacks from lower level administrators in the system, by virtue of the physical security of each secure hardware device, these being provided with tamper proof casings, and by a set of identities stored within the secure hardware devices, which can be used to authenticate messages sent by a manager 1204 within the trust domain.
Whilst specific embodiments herein have been described using an LDAP software for accessing a directory, the invention is not limited to using the known LDAP software.
The specific embodiments described herein may have general applicability to data stores where clients or requesters require strong guarantees of the integrity of data items which they retrieve. However, the specific implementations described herein are particularly suited to directory type services, where particular requests are to read data and fewer requests are for changing data.
Large enterprises have large information technology departments devoted to ensuring separation of concerns amongst the administrators which configure the LDAP servers, so can achieve good integrity. The specific embodiments described herein may significantly reduce the cost and complexity of securely managing such service. Additionally, the specific embodiments disclosed herein may also make it feasible for much smaller companies to run LDAP servers to a security standard required for their businesses.
Number | Date | Country | Kind |
---|---|---|---|
0314206.4 | Jun 2003 | GB | national |