A method and apparatus for restricting access of an application to
computer hardware. The apparatus includes both an authentication module
and a validation module. The authentication module is within the trusted
firmware layer. The purpose of the authentication module is to verify a
cryptographic key presented by an application. The validation module is
responsive to the authentication module and limits access of the
application to the computer hardware. The authentication modules may be
implemented in software through a firmware call, or through a hardware
register of the computer.