The present invention relates to disk drives, and in particular, to a secure disk drive for preventing unauthorized data access.
For protection against unauthorized data access, conventional secure disk drives have a partition on a disk that stores software for authenticating credentials of the user before allowing the data to be read. This partition is referred to as a master boot record shadow (MBRS). More specifically, the MBRS stores a small security program (also known as pre boot authentication (PBA) program) on some hidden sectors of a disk, and the program is executed to authenticate the credentials of the user when he/she attempts to initially access the data stored on the disk drive through a host, i.e., when the computer boots up.
Since the security program in the MBRS is accessed when the host or computer to which the disk drive is connected is first powered or booted on, the disk in the drive must spin up to the proper operating speed before the program can be accessed and executed. As shown in
The REQUEST, SEEK, READ, SEND and EXEC processes are repeated multiple times (on the order of approximately 1,000 times). Thus, the total time for accessing and performing the security program in the MBRS in a conventional secure disk drive can be as long as 10 seconds, which many users find unsatisfactory.
The present invention is directed to a disk apparatus which is configured to be connected to a host device and having a security program for preventing unauthorized user access. One or more storage devices within the disk apparatus store a boot program for executing a boot process, a security program, and user data. A processor is provided for retrieving the security program from the storage device and enabling the host device to execute the security program. The boot program is executed by the host device to determine that the disk apparatus may be accessed by the user. The present invention reduces the credential authentication process time in a disk apparatus having a security program for preventing unauthorized user access.
Broadly stated, the present invention is directed to a secure disk drive for preventing unauthorized data access. The disk drive includes a non-volatile memory for storing a security program. A host device attempting to boot from the disk drive is initially directed to the security program which executes to authenticate a user to the disk drive. If the authentication is successful, the disk drive allows access to the normal boot program and user data. Storing the security program in a non-volatile memory of a disk drive significantly reduces the time for accessing or executing the security program, since the spin up time required to bring the disk to a normal operating speed and seek time to bring the disk read head over the correct track is eliminated, as in conventional secure disk drives that store authentication programs on some partition sectors of a disk.
Turning now to
The HDD 10 may be magnetic, optical or magneto-optical disk drives, and includes a head disk assembly (HDA) 16, a hard disk controller (HDC) 18 and a read/write channel 20. The HDA 16, although not shown, includes one or more magnetic, optical or magneto-optical disks, a spindle motor for rotating the disks, read/write heads corresponding to the disks for reading data from and writing data on the disks, and a head actuator for positioning the heads on the disks.
The HDC 18, in cooperation with a main control processor (described below), processes commands from the host 12, and accepts data from and transmits disk data to the host device. Status to the host 12 regarding successes and errors relating to the processing of commands is also generated by the HDC 18. The HDC 18 also controls the HDA 16 including the rotational speed of the spindle motor used to rotate the disks, and the positioning of the read/write head(s) in the HDA.
The read/write channel 20 is provided for translation of digital data from the HDC 18 to a format capable of being either written to, or read from the disk(s) in the HDA 16. In a disk write operation, the read/write channel 20 sends signals to the write head and a preamp to cause magnetic transitions to be “written” to the disks. For a disk read operation, the read/write channel 20 decodes the signals from the read head and the preamp, generated by passing over the magnetic domains written on the disks. The transitions are detected and processed in a manner that allows them to be converted into a data format usable by the HDC 18 and the host 12.
The HDD 10 further includes a main control processor (MCP) 22, a buffer memory 24 and a program memory 26. The MCP 22, in cooperation with the HDC 18, is provided for the overall control of the HDD 10 including the control and management of the mechanical positioning of the read/write head(s) and rotational media (motor controls) in the HDA 16, management of the buffer memory 24 and its caching algorithms, the control and setup of the read/write channel 20 and the host interface, for example. The program memory 26 stores programs and tables (not shown) used in accomplishing the above-mentioned MCP 22 responsibilities, including read channel and buffer management cache tables, and codes to be executed by the MCP 22. The program memory 26 is implemented in a non-volatile device such as a flash memory or a ROM. The buffer memory 24 stores data used by the MCP 22, data used by the HDC 18, and user data to be transferred between the host 12 and disk media in the HDA 16.
The HDD 10 in accordance with one embodiment of the invention further includes a storage unit 28 for storing a security program which enables the host 12 to collect the authentication credentials of a user requesting access to the HDD and send them to the HDD. The security program storage unit 28 is a non-volatile memory such as a flash memory, which retains data when the HDD 10 is powered off. While the security program storage unit 28 is shown as an independent component of the HDD 10, it may also be provided in a portion of some other non-volatile storage device available on the HDD, such as a flash memory used as cache for user data or the program memory 26.
Referring to
If, however, the MCP 22 determines that the HDD 10 is locked, it retrieves the security program from the storage unit 28 (Block 38), and sends it to the host 12 to execute the security program to collect authentication credentials from the user and send them to the HDD (Block 40). The MCP 22 then checks the authentication credentials to determine whether they are correct (Block 42). If the MCP 22 determines that the authentication credentials are correct (Block 44), it informs the security program running on the host 12 of the authentication success, and unlocks the HDD and retrieves the boot program from the disk (Block 34) and sends it to the host to execute the boot process (Block 36), so that the user has access to the HDD.
If, however, the MCP 22 determines that the authentication credentials are not correct (Block 44), the MCP 22 keeps the HDD in the locked state and informs the security program running on the host of the authentication failure. The MCP 22 does not retrieve the boot program from the disk (Block 46), so that the host 12 does not run the boot process. As a result, the user is denied access to the HDD 10.
In the above-described operation of the HDD 10, the boot program is stored in a disk in the HDA 16. Alternatively, the boot program may also be stored in a non-volatile storage device in the HDD 10, instead of a disk. For example, the boot program may be stored in a separate storage device such as a flash memory or in the security program storage unit 28 or the program memory 26.
Turning now to
Referring to
The time required for accessing and performing the security program is generally divided as follows:
The process above is repeated multiple times (on the order of approximately 1,000 times) for a total time of less than 3 seconds. Thus, the total time for accessing and performing the security program in accordance with the present invention is approximately seven seconds less than for known disk drives. In this manner, the HDD 10 of the invention provides a speedier authentication process for a better user experience.
While various embodiments of the present invention have been shown and described, it should be understood that other modifications, substitutions and alternatives are apparent to one of ordinary skill in the art. Such modifications, substitutions and alternatives can be made without departing from the spirit and scope of the invention, which should be determined from the appended claims.
Various features of the invention are set forth in the appended claims.