The InnovationQ application will be updated on Sunday, May 31st from 10am-noon ET. You may experience brief service interruptions during that time.
Browse Prior Art Database

A Method of OS Independent Power-On-Password Security

IP.com Disclosure Number: IPCOM000013357D
Original Publication Date: 2000-Jul-01
Included in the Prior Art Database: 2003-Jun-18

Publishing Venue



Currently, IBM POST/BIOS implements a power-on-password (POP) security feature. The idea behind this security is to lock the keyboard from all activity until the programmed POP has been entered; such a feature is desirable in Servers where the server administrator can prevent unwanted access to the file server. This functionality is easily implemented in POST/BIOS by programming the keyboard controller to remain locked until the password is entered. This solution works with most operating systems; however, Windows 2000 alters the keyboard controller code which prevents any use of the keyboard at all. The keyboard has now become completely useless and the administrator is locked out of the system! This invention provides a unique solution to this problem and can eliminate all dependence on the keyboard controller and operating system. During POST code execution and before the OS has been booted, the SMI Handler will check to see if a POP has been entered in the BIOS Setup/Configuration utility. If a password is present and unattended mode is enabled, the SMI Handler will then program the South Bridge to generate a SMI on all keyboard interrupts (such a feature is available on all current South Bridge chipsets such as the ServerWorks OSB5/OSB4). From this point onward, all key strokes will invoke the SMI Handler. Upon striking a key, the SMI Handler will be invoked and can check to see if the complete password string has been entered. If so, the keyboard interrupt will be unhooked, the SMI Handler will exit, and normal system operation will continue. However, if the password has not been entered yet or entered incorrectly, the SMI Handler can remove data from the keyboard controller port which will prevent any keyboard stroke from being processed by the operating system. The block diagram is shown below: 1