throbber
RIV-1018
`Riverbed Technology v. Silver Peak Systems
`IPR2014-00245 / Page 1 of 11
`
`

`

`U.S.
`
`Patent
`
`Oct. 2, 2007
`
`Sheet 1 0f 5
`
`US 7,278,016 B1
`
`HARDWARE MODEL
`
`T — pEBces—sore— —|
`
`19
`
`35
`
`
`
` OPTIONAL
`
`
`USER
`INPUT TO
`ENCRYPT
`
`L______]20
`r——— "w
`
`
`DRIVE CONTROLLER
`
`
`
`
`32
`
`IPR2014-00245 / Page 2 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 2 of 11
`
`

`

`U.S. Patent
`
`Oct. 2, 2007
`
`Sheet 2 0f 5
`
`US 7,278,016 B1
`
`SOFTWARE MODEL
`
`
`
`OPTIONAL
`USER
`
`INPUT TO
`
`ENCRYPT
`
`
`
`KEY
`GENERATED AT DEVICE
`
`DRIVER INITIALIZATION
`
`
`
`
`
`
`ENCRYPTION DECRYPTION
`UNIT
`UNIT
`
`132
`
`
`
`STORAGE
`DEVICE
`
`
`
`
`IPR2014-00245 / Page 3 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 3 of 11
`
`

`

`U.S. Patent
`
`Oct. 2, 2007
`
`Sheet 3 0f 5
`
`US 7,278,016 B1
`
`SOFTWARE KEY GENERATION
`(AT DEVICE DRIVER INITIALIZATION)
`
`
`
`
`
`ACCESS MACHINE SPECIFIC
`INFORMATION FROM NON—
`REMOVABLE DEVICES/COMPONENTS
`
`300
`
`
`
`
`
`
`
`
`GENERATE A KEY BY HASHING THE
`INFORMATION FROM THE PREVIOUS STEP
`
`STORE THE KEY IN THE DEVICE
`DRIVER'S VOLATILE MEMORY
`
`fig. 3
`
`310
`
`320
`
`IPR2014-00245 / Page 4 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 4 of 11
`
`

`

`U.S. Patent
`
`Oct. 2, 2007
`
`Sheet 4 0f 5
`
`US 7,278,016 B1
`
`SOFTWARE DATA STORAGE
`
`DEVICE DRIVER RECEIVES A
`REQUEST TO STORE DATA
`
`400
`
`410
`
`HAS
`USER SELECTED
`ENCRYPTION
`?
`
`
`
`
`
`DEVICE DRIVER INITIALIZATION
`
`430
`
`DATA IS ENCRYPTED USING
`
`THE KEY GENERATED AT
`
`420
`
`DATA IS SENT TO THE
`STORAGE DEVICE
`
`fig. 4
`
`IPR2014-00245 / Page 5 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 5 of 11
`
`

`

`U.S. Patent
`
`Oct. 2, 2007
`
`Sheet 5 0f 5
`
`US 7,278,016 B1
`
`SOFTWARE DATA FETCH
`
`DEVICE DRIVER RECEIVES A
`REQUEST FOR DATA
`
`FETCH DATA FROM
`STORAGE DEVICE
`
`520
`
`IS
`THE DATA
`ENCRIPTED
`
`
`
`
`
`DECRYPT THE DATA USING
`
`THE KEY GENERATED AT
`DEVICE DRIVER INITIALIZATION
`
`500
`
`510
`
`530
`
`REQUESTER
`
`f'Ilg. 5
`
`IPR2014-00245 / Page 6 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 6 of 11
`
`

`

`US 7,278,016 B1
`
`1
`ENCRYPTION/DECRYPTION OF STORED
`DATA USING NON-ACCESSIBLE, UNIQUE
`ENCRYPTION KEY
`
`TECHNICAL FIELD
`
`The present invention generally relates to encryption and
`decryption of data, and more specifically, to a technique for
`implementing encryption and decryption of data stored from
`a computing system to a storage medium wherein the
`encryption and decryption employ a unique, non-accessible
`encryption key specific to the computing system.
`
`BACKGROUND OF THE INVENTION
`
`Procedures for encrypting and decrypting data for tem-
`porary or permanent storage, or transmission over non-
`secure links, are generally known in the art. Most encryption
`algorithms employ an encryption key to encrypt data. Suc-
`cessful use of an encryption algorithm thus typically
`requires that the station receiving the encrypted transmission
`or reading the encrypted data from storage have the same
`key used to encrypt the data in order to decrypt it. Accord-
`ingly, no unauthorized party should know or have access to
`the encryption key that is being used.
`Encryption techniques are numerous, and many have been
`applied to computers and computer data. However, further
`enhancements are deemed desirable, particularly, in tech-
`niques for preventing an unauthorized party from having
`access to the encryption key.
`
`DISCLOSURE OF THE INVENTION
`
`More particular to the present invention, computer data is
`commonly stored on a hard disk drive. If the hard disk drive
`is used to store sensitive data, its loss or theft can pose a
`danger. Theft of disk drives may particularly be a threat to
`portable (i.e., laptop) computer systems, which are often
`easily opened.
`Thus, there is a need in the art for an encryption/decryp-
`tion approach which is transparent to a user application and
`which is based upon a unique property of the host machine
`to fashion an encryption key so that data encrypted from the
`machine cannot be decrypted without access to the machine.
`Briefly summarized then, this invention comprises in one
`aspect a method for protecting data stored from a computing
`system to a storage medium. The method includes estab-
`lishing a unique encryption key for the computing system;
`encrypting the data using the unique encryption key to
`produce encrypted data; and storing the encrypted data on
`the storage medium without storing the unique encryption
`key on the storage medium.
`In another aspect, a system for protecting data stored from
`a computing system to a storage medium is provided. The
`system includes means for establishing a unique encryption
`key within the computing system, and means for encrypting
`the data using the unique encryption key to produce
`encrypted data. Means for storing the encrypted data on a
`storage medium is also provided, wherein the storing occurs
`without storing the unique encryption key on the storage
`medium.
`
`In still another aspect, a processing system is presented
`which includes a storage medium for storing data and a
`computing system. The computing system is adapted to
`establish a unique encryption key, and to encrypt data using
`the unique encryption key to produce encrypted data. The
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`computing system further includes a device driver and a
`drive controller for storing encrypted data to the storage
`medium.
`
`In a further aspect, at least one program storage device is
`provided readable by a machine, tangibly embodying at least
`one program of instructions executable by the machine to
`perform a method for protecting data stored from a com-
`puting system to a storage medium. The method includes:
`establishing a unique encryption key within the computing
`system; encrypting the data using the unique encryption key
`to produce encrypted data; and storing the encrypted data on
`the storage medium without storing the unique encryption
`key on the storage medium.
`To restate,
`in all embodiments, provided herein is a
`transparent technique for encrypting and decrypting data to
`be stored from a computing system to a removable or
`non-removable storage medium such as a hard disk drive,
`floppy diskette or compact disk. The encryption/decryption
`technique employs a unique, non-accessible encryption key
`specific to the computing system. The encryption key, along
`with encryption logic and decryption logic, can be embed-
`ded in hardware, for example, within the drive controller of
`the computing system. Alternatively,
`the encryption key,
`along with the encryption logic and decryption logic, can
`reside within software within the computing system.
`If implemented within software, the unique encryption
`key can be derived by, for example, the computing system’s
`device driver. Specifically, the device driver can be pro-
`grammed to read one or more serial numbers (or other static
`information such as PCI configuration information, chip
`identification numbers, etc.) from non-removable hardware
`components of the computing system at time of initializa-
`tion. These serial numbers could then be combined (for
`example, hashed) into the unique encryption key, thereby
`ensuring that data encrypted by the computing system can
`only be decrypted by that computing system.
`Advantageously,
`the transparent encryption/decryption
`approach presented herein ensures that data in, for example,
`a hard disk drive, floppy diskette, or compact disk, would
`only be useful within the specific machine which stored the
`data. If the storage medium were relocated to a different
`machine, the medium would be inoperable. This is believed
`particularly valuable for portable computer users, the mili-
`tary, or any user with sensitive data to be protected. Pref-
`erably, the encryption and decryption employ an encryption
`key which is based on properties of the host machine, and
`therefore,
`inaccessible without decryption by the host
`machine. Further, in accordance with the present invention,
`no seed numbers need be presented to the computer from
`outside the computer in order to construct
`the unique
`encryption key.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The above-described objects, advantages and features of
`the present invention, as well as others, will be more readily
`understood from the following detailed description of cer-
`tain preferred embodiments of the invention, when consid-
`ered in conjunction with the accompanying drawings in
`which:
`
`FIG. 1 depicts one embodiment of a computing system
`implementing encryption/decryption capabilities in accor-
`dance with the principles of the present invention, wherein
`the encryption/decryption capabilities are implemented in
`hardware using an embedded encryption key;
`FIG. 2 depicts an alternate embodiment of a computing
`system implementing encryption/decryption capabilities in
`
`IPR2014-00245 / Page 7 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 7 of 11
`
`

`

`US 7,278,016 B1
`
`3
`invention,
`accordance with the principles of the present
`wherein the encryption key is generated based upon unique
`properties of the host computing system and the encryption/
`decryption capabilities are implemented in software;
`FIG. 3 is a flowchart of one embodiment for encryption 5
`key generation in software in accordance with the principles
`of the present invention;
`FIG. 4 is a flowchart of one embodiment for storing data
`encrypted in accordance with the capabilities of the present
`invention; and
`FIG. 5 is a flowchart of one embodiment for retrieving
`data encrypted in accordance with the capabilities of the
`present invention.
`
`10
`
`BEST MODE FOR CARRYING OUT THE
`INVENTION
`
`15
`
`Generally stated, presented herein is a more secure
`method to encrypt digital data for storage either on remov-
`able or non-removable medium. Data protection is achieved 20
`by: deriving a unique number embedded within a computer
`writing to (or possessing) the data storage medium, with the
`number being embedded other than within the storage
`medium itself; encrypting data using the unique number as
`the basis of the encrypting; and after encrypting, storing the 25
`encrypted data within the data storage medium without
`storing the unique number on the data storage medium.
`Non-removable storage medium may comprise the comput-
`er’s hard disk drive, while a removable medium might
`comprise a floppy disk, recordable compact disk, etc. By 30
`encrypting data using an encryption key unique to the
`particular computer storing the data, then the encrypted data
`can only be decrypted by the same computer.
`The unique encryption key may comprise a number stored
`in a non-removable component of the computer, or the key 35
`may be derived by hashing (or otherwise mathematically
`combining) one or more numbers stored in non-removable
`components. For example, the unique number might be a
`serial number embedded in the computer’s processor, or
`other components integrated into the motherboard. One 40
`requirement, however, is that the number used as the basis
`for the encryption key not be stored on the same medium as
`the data that is encrypted.
`The encryption of data before storage, and decryption of
`data after being fetched from storage, may be performed in 45
`either hardware or software. FIG. 1 depicts one embodiment
`of a computing system, generally denoted 10, wherein the
`encryption key and encryption and decryption units are
`implemented within hardware embedded within each drive
`controller 20 on the computer. The hardware encryption and 50
`decryption could be either in the drive controller 20 (as
`shown), or in the drive itself, using the unique key 30 stored
`in the drive controller 20.
`
`As shown in FIG. 1, computing system 10 also includes
`a processor 12 which runs a user application 14, executes a 55
`file system 16, and runs a device driver 18. As is well known,
`a storage system relies on software wherein each drive has
`an associated “file system” 16, which includes, among other
`things, software known as “device drivers” 18. Device
`drivers are low level executable modules capable of access-
`ing (e.g., reading and writing), hardware components of the
`computer.
`In the embodiment of FIG. 1, encryption key 30, encryp-
`tion unit 32 and decryption unit 34 are assumed to be
`implemented in hardware within drive controller 20. Many 65
`personal computers have “drive controllers” which regulate
`the flow of data to and from a disk drive, floppy drive, etc.
`
`60
`
`4
`
`Common types of drive controllers include IDE (integrated
`drive electronics), SCSI (small computer system interface),
`and floppy drive controllers.
`An encryption key may be embedded in the logic of a
`drive or drive controller. Contemporary drive controllers are
`often integrated into one chip with multiple functions. For
`example, one chip might serve as a PCI-to-ISA bus bridge,
`include one or more IDE drive controllers, and a controller
`for interrupts, direct memory access (DMA), one or more
`universal serial buses (USB’s), power management, and
`other functions. An example of such a chip is the Intel
`82371AB PCI-to-ISA/IDE Xcelerator (PIIX4) multifunc-
`tion chip. The encryption key may be stored in a read-only
`register (or several registers, for the sake of redundancy)
`which is not externally accessibleithat is, its contents are
`unknown to the outside world. The key would be accessed
`internally and used to operate on the data as it was multi-
`plexed for transmission, for example, on an external bus to
`a storage medium such as a recordable CD-ROM, floppy
`disk, etc. The key may evolve by periodically clocking it
`through a linear-feedback shift register (LFSR). The decryp-
`tion unit would access the same key and use it to reverse the
`encryption process again as the data was prepared for
`transmission on an external bus, destined for the system’s
`main memory (DRAM) or another storage medium where it
`would reside as normal in-the-clear data.
`
`In accordance with one embodiment of the present inven-
`tion, when data is stored to storage device 22, hardware 32
`automatically encrypts the data using unique encryption key
`30, while upon fetching data from storage device 22, decryp-
`tion unit 34 automatically decrypts the encrypted data again
`using the key 30. Any conventional encryption/decryption
`technique can be employed within encryption unit 32 and
`decryption unit 34 provided the technique employs an
`encryption/decryption key. As an enhancement, the system
`can be provided with an optional user input 35 to selectively
`direct the encryption unit 32 whether to encrypt data being
`stored to storage device 22. This optional user input could be
`implemented by one skilled in the art within hardware or
`software depending upon the computer system 10.
`An alternate approach for implementing the concepts of
`the present invention would be to encrypt and decrypt the
`data at a level above the hardware, i.e., a level above the
`drive controller 20. For example, encryption and decryption,
`along with generation of an encryption key, could be imple-
`mented in software within the device driver, which accesses
`the drive. This approach, referred to herein as a software
`implementation, is depicted in FIG. 2.
`In the embodiment of FIG. 2, computing system 100
`includes a processor 112 which runs a user application 114,
`file system programs 116 and at least one device driver
`module 118. The device driver module 118 includes a key
`generation routine 130 and the encryption 132 and decryp-
`tion 134 software. As with the hardware implementation,
`one skilled in the art could provide a user with the option
`whether to encrypt or not selected data 135. Thus, data is
`shown passing through encryption unit 132 into drive con-
`troller 120 or outside of the encryption unit depending upon
`whether the user selects encryption. Further, any encryption/
`decryption algorithm known in the art could be implemented
`by one skilled in the art for use in connection with the
`present invention, provided that the selected encryption/
`decryption algorithm employed an encryption/decryption
`key. The encrypted data is forwarded by drive controller 120
`to the storage device 122.
`In the software approach, the encryption key could be
`derived (explained further below) when the computer boots.
`
`IPR2014-00245 / Page 8 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 8 of 11
`
`

`

`US 7,278,016 B1
`
`5
`For example, in one embodiment, the key could be stored in
`volatile (i.e., temporary) storage, and would be lost when the
`computer is powered off.
`By providing a user with the optional input whether to
`designate particular data for encryption,
`it is possible to
`provide the user with the capability of deciding whether the
`data can be read back on any computing system, or only the
`computing system which wrote the storage medium. Further,
`a drive (or drive controller, or device driver) equipped with
`such optional encryption/decryption capability, might tag
`each file so that upon reading the file from storage,
`it is
`apparent whether the file does or does not require decryp-
`tion.
`
`FIGS. 3-5 depict an overview of processing employed in
`a software implementation of the encryption/decryption
`capabilities of the present invention. In FIG. 3, a unique
`encryption key is generated, for example, at device driver
`initialization, by accessing machine-specific information
`from non-removable devices/components of the computing
`system 300. From this information, the key is generated by,
`for example, hashing the information 310, after which the
`key is stored in the device driver’s volatile memory 320.
`Many chips in a typical computer are irremovably
`mounted on a main circuit board, or motherboard. Such
`chips may include a main processor (a Pentium or the like),
`a video chip (or display adapter), an audio chip, and one or
`more adapters which link the processor’s host bus, a periph-
`eral component
`interconnect
`(PCI) bus, main memory
`(DRAM), accelerated graphics ports (AGP), drive control-
`lers, bus bridges, etc. These chips may include unchanging
`readable information such as a chip ID or a serial number.
`Further, many chips are PCI devicesithat is,
`they are
`connected by a PCI bus. The PCI Local Bus specification
`defines a mandatory configuration space to be implemented
`by each device resident on the bus. This configuration space
`has a l6-byte predefined header region followed by one of
`two types of secondary space. The header region contains
`several constant fields which may be accessed by low-level
`code (such as a device driver). Among these fields are the
`Device ID, the Vendor ID, the Revision ID, the Class Code,
`and the Header Type. Any of these or other consistently
`accessible, static registers of irremovable components, may
`be read and their contents combined to formulate a ‘finger-
`print,’ a number which may serve as a encryption key.
`Once the key has been established,
`then data can be
`selectively encrypted for storage. As shown in FIG. 4, the
`device driver initially receives a request to store data 400,
`and then inquires whether encryption has been selected 410.
`If so, then the data is encrypted using the key generated, for
`example, at device driver initialization 420. The encrypted
`data is then sent to the storage device 430. If the user has not
`selected encryption, then the data is directly sent to the
`storage device.
`FIG. 5 depicts one embodiment of a data fetch operation
`which begins with the device driver receiving a request for
`data 500. The data is fetched from the storage device 510
`and processing determines whether the data is encrypted
`520. If so, the data is decrypted using the unique encryption
`key generated at device driver initialization 530. After
`decryption, or if the data has not been encrypted, the data is
`sent to the requester 540.
`To summarize, presented herein is a technique wherein a
`number is embedded or derived that is unique to a particular
`computing system. By way of example, the number might
`include serial numbers or other identification numbers of
`
`certain non-removable components of the computer system.
`Alternatively, the computer might be manufactured with a
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`“write-once” area into which a unique value could be placed
`by the user or at time of manufacture. This unique encryp-
`tion key is then accessed as the user stores data for use in
`encrypting the data or decrypting the encrypted data. Pref-
`erably, the encryption and decryption is performed at a low
`level of the computer system, perhaps by the input/output
`(I/O) subsystem in a manner similar to that which data
`compression schemes operate. Further,
`the user can be
`provided with the option to selectively disable encryption.
`The encryption key and encryption and decryption units
`can be implemented either in hardware or in software as
`discussed above.
`In either
`implementation,
`the unique
`encryption key which forms the basis for the encryption and
`decryption is not stored on the storage device. Presented
`herein is an encryption/decryption technique that is based on
`properties of the host machine,
`i.e.,
`the encryption key
`employed to encrypt/decrypt data is unique to a number
`embedded within the machine or a number derived from
`
`the
`non-removable components of the machine. Thus,
`encryption/decryption can be transparent to the user and the
`user does not have to be involved in the encryption/decryp-
`tion process. Further, no seed numbers need be presented to
`the computer from the outside world.
`The unique encryption key could, in advance of enabling
`encryption, be provided to or fetched remotely by a system
`manufacturer and recorded by them. Thus, if a catastrophic
`failure occurred,
`such as
`a motherboard failure (for
`example), the hard drive could, using the recorded unique
`number, still have the data contents decrypted elsewhere,
`notwithstanding failure of the computing system which
`uniquely encrypted the data.
`The present invention can be included, for example, in an
`article of manufacture (e.g., one or more computer program
`products) having, for instance, computer usable media. This
`media has embodied therein, for instance, computer readable
`program code means for providing and facilitating the
`capabilities of the present invention. The articles of manu-
`facture can be included as part of the computer system or
`sold separately.
`Additionally, at least one program storage device readable
`by machine, tangibly embodying at least one program of
`instructions executable by the machine,
`to perform the
`capabilities of the present invention, can be provided.
`The flow diagrams depicted herein are provided by way of
`example. There may be variations to these diagrams or the
`steps (or operations) described herein without departing
`from the spirit of the invention. For instance,
`in certain
`cases, the steps may be performed in differing order, or steps
`may be added, deleted or modified. All of these variations
`are considered to comprise part of the present invention as
`recited in the appended claims.
`While the invention has been described in detail herein in
`
`accordance with certain preferred embodiments thereof,
`many modifications and changes therein may be effected by
`those skilled in the art. Accordingly, it is intended by the
`appended claims to cover all such modifications and changes
`as fall within the true spirit and scope of the invention.
`The invention claimed is:
`
`1. A method for protecting data written from a general
`purpose computer processor system to a removable storage
`device comprising drive logic and storage medium, said
`method comprising:
`transparently generating a unique, non-accessible encryp-
`tion key within a general purpose computer processor
`system, wherein the unique, non-accessible encryption
`key is generated from at least one unique hardware
`characteristic of the general purpose computer proces-
`
`IPR2014-00245 / Page 9 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 9 of 11
`
`

`

`US 7,278,016 B1
`
`7
`sor system without any seed data being presented to the
`general purpose computer processor system from out-
`side the general purpose computer processor system;
`automatically encrypting the data using said unique
`encryption key to produce encrypted data;
`employing a removable storage device associated with the
`general purpose computer processor system to store
`said encrypted data without storing said unique encryp-
`tion key on said removable storage device, said remov-
`able storage device comprising drive logic and storage
`medium, wherein encrypted data stored on the remov-
`able device can only be decrypted by the general
`purpose computer processor system establishing the
`unique, non-accessible encryption key;
`wherein said automatically encrypting is transparent to a
`user application running on said general purpose com-
`puter processor system, said user application providing
`said data to be stored from said general purpose com-
`puter processor system to said storage medium of said
`removable storage device;
`wherein said generating comprises embedding within
`hardware of said general purpose computer processor
`system said unique encryption key; and
`wherein said embedding comprises embedding said
`unique encryption key within a drive controller of said
`general purpose computer processor system.
`2. The method of claim 1, wherein said encrypting com-
`prises performing said encrypting in hardware using said
`unique encryption key embedded in said drive controller.
`3. The method of claim 2, wherein said unique encryption
`key is embedded in two different locations within said drive
`controller of said general purpose computer processor sys-
`tem.
`
`4. The method of claim 1, wherein said general purpose
`computer processor system comprises a laptop computer and
`said removable storage device comprises a computer hard
`drive of said laptop computer.
`5. The method of claim 1, further comprising fetching said
`encrypted data from said removable storage device and
`automatically decrypting said encrypted data using said
`unique encryption key, said automatically decrypting being
`transparent to a user application running on said general
`purpose computer processor system.
`6. The method of claim 5, wherein said encrypting com-
`prises performing said encrypting in hardware using said
`unique encryption key, said hardware residing within a drive
`controller within said general purpose computer processor
`system, and wherein said decrypting comprises performing
`said decrypting in hardware residing within said drive
`controller within said general purpose computer processor
`system.
`7. The method of claim 5, wherein said encrypting com-
`prises encrypting said data in software using said unique
`encryption key, said encrypting being performed in software
`within a device driver of said general purpose computer
`processor system, and wherein said decrypting comprises
`decrypting said encrypted data in software using said unique
`encryption key, said decrypting also being performed in
`software within said device driver, wherein said encrypting
`and decrypting are transparent to a user application running
`on said general purpose computer processor system.
`8. A system for protecting data written from a general
`purpose computer processor system to a removable storage
`device comprising drive logic and storage medium, said
`system comprising:
`means for transparently generating a unique, non-acces-
`sible encryption key within said general purpose com-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`puter processor system, wherein the unique, non-ac-
`cessible encryption key is generated from at least one
`unique hardware characteristic of the general purpose
`computer processor system without any seed data being
`presented to the general purpose computer processor
`system from outside the general purpose computer
`processor system;
`means for automatically encrypting the data using said
`unique encryption key to produce encrypted data;
`means for storing said encrypted data on a removable
`storage device associated with the general purpose
`computer processor system without storing said unique
`encryption key on said removable storage device, said
`removable storage device comprising drive logic and
`storage medium, wherein encrypted data stored on the
`removable storage device, can only be decrypted by the
`general purpose computer processor system establish-
`ing the unique, non-accessible encryption key;
`wherein said means for automatically encrypting is trans-
`parent to a user application running on said general
`purpose computer processor system, said user applica-
`tion providing said data to be stored from said general
`purpose computer processor system to said removable
`storage device;
`further comprising means for fetching said encrypted data
`from said storage medium and for automatically
`decrypting said encrypted data using said unique
`encryption key, said automatically decrypting being
`transparent to a user application running on said gen-
`eral purpose computer processor system; and
`wherein said means for generating comprises means for
`embedding within hardware of said general purpose
`computer processor system said unique encryption key,
`and wherein said means for embedding comprises
`means for embedding said unique encryption key
`within a drive controller of said general purpose com-
`puter processor system.
`9. The system of claim 8, wherein said means for encrypt-
`ing comprises means for performing said encrypting in
`hardware using said unique encryption key embedded in
`said drive controller.
`
`10. The system of claim 9, wherein said unique encryption
`key is embedded in two different locations within said drive
`controller of said general purpose computer processor sys-
`tem.
`
`11. The system of claim 8, wherein said general purpose
`computer processor system comprises a laptop computer and
`said removable storage device comprises a computer hard
`drive of said laptop computer.
`12. The system of claim 8, wherein said means for
`encrypting comprises means for performing said encrypting
`in hardware using said unique encryption key, said hardware
`residing within a drive controller within said general pur-
`pose computer processor system, and wherein said means
`for decrypting comprises means
`for performing said
`decrypting in hardware residing within said drive controller
`within said general purpose computer processor system.
`13. The system of claim 8, wherein said means for
`encrypting comprises means for encrypting said data in
`software using said unique encryption key, said encrypting
`being performed in software within a device driver of said
`general purpose computer processor system, and wherein
`said means for decrypting comprises means for decrypting
`said encrypted data in software using said unique encryption
`key, said means for decrypting also being implemented in
`software within said device driver, wherein said encrypting
`
`IPR2014-00245 / Page 10 of 11
`
`RIV-1018
`
`RIV-1018
`IPR2014-00245 / Page 10 of 11
`
`

`

`US 7,278,016 B1
`
`9
`and decrypting are transparent to a user application running
`on said general purpose computer processor system.
`14. A processing system comprising:
`a removable storage device for storing data, the remov-
`able storage device comprising drive logic and storage
`medium;
`a general purpose computer processor system adapted to
`transparently generate a unique, non-accessible encryp-
`tion key, wherein the unique, non-accessible encryption
`key is generated from at least one unique hardware
`characteristic of the general purpose computer proces-
`sor system without any seed data being presented to the
`general purpose computer processor system from out-
`side the general purpose computer processor system,
`and to automatically encrypt data using said unique
`encryption key to produce encrypted data, said general
`purpose computer processor system further comprising
`a drive controller for storing encrypted data to said
`removable storage device, wherein encrypted data
`stored on the removable storage device can only be
`decrypted by the general purpose computer processor
`system establishing the unique, non-accessible encryp-
`tion key, and wherein said automatically encrypting is
`transparent to a user application running on said gen-
`eral purpose computer processor system, said user
`application providing said data to be stored from said
`general purpose computer processor system to said
`storage medium of said removable storage device; and
`wherein said general purpose computer processor system
`includes an encryption unit and a decryption unit
`implemented in software such that encryption of data
`stored to said removable storage device and decryption
`of data retrieved from said removable storage device is
`transparent to an application program running on said
`general purpose computer processor
`system, and
`wherein said unique encryption key is generated at
`initialization and stored in volatile memory.
`15. The processing system of claim 14, wherein said
`general purpose computer processor system includes an
`encryption unit and a decryption unit implemented in hard-
`ware within said drive controller such that encrypt

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket