Making USB Flash drives secure: Why and How
The USB based memory devices referred to as USB flash drive or “thumb drive” or “pen drive” have revolutionized the way data storage and portability have evolved.
Since their inception in 2000, millions of these devices have been manufactured and sold in all corners of the globe. Statistically speaking, approximately 173 Million units of such USB based flash drives were manufactured in the year 2008 alone.
Some of the reasons which have contributed to the ubiquitous presence of these devices are:
* Portability: The physical form factor of these devices are generally quite small and light, making them very convenient for carrying around in one’s pocket (hence the name ‘pen drives!’)
* Ease of use: With the gaining acceptance of USB as a standard interface, these USB-based storage devices are extremely simple to use.
* Low price
* Fast speeds
* Big (and growing) capacities
Of late, one of the major challenges facing individuals as well as corporations using USB flash drives is that of data leakage and theft from these devices. There have been a number of cases ranging from misplaced to stolen or misused flash drives reported which have resulted in losses up to 2.5 Million USD from a single such incident!
The losses are a result of confidential, personal or corporate level data getting leaked and misused. In the light of such occurrences, there is a need to make the USB based flash devices more secure and ‘leak proof.’ Data security can be maintained in USB flash drives using encryption/decryption mechanisms to enable reading/writing to the device only by authenticated personnel.
Security in USB flash drives
The two widely used methods for securing USB flash drives are:
Software encryption: . Encryption keys are stored in the device’s memory and used to encrypt/decrypt the data. Although quite a safe methodology, the presence of the keys on the device memory exposes them to the hackers who know where to look for the keys and their unique format.
Hardware encryption: The encryption keys do not ever leave the hardware device, thus never exposing them. This aspect makes hardware encryption potentially more foolproof than the software encryption alternative.
Both software and hardware encryption methodologies use the Advanced Encryption Standard (AES) 128-bit or 256-bit (As of now, neither the 128-bit nor the 256-bit algorithms have been reportedly compromised).
However, just deploying the AES algorithm does not suffice as the manner in which it is executed is equally important. As is with software encryption, user-passwords are fed into the AES engine to generate the encryption keys, which makes the strength of the encryption directly dependant on the strength of the password.
Also, ideally a 128-bit AES would require the password to be of 16 characters (8 bits/character) and similarly, the 256-bit AES would require a 32-character password. Creating and remembering a difficult-to-guess password can make the device user-unfriendly.
On the other hand, hardware based random number generators could be used to generate number patterns which would be fed to the AES engine to generate encryption keys. The encryption key is unlocked by the user password and is used by the AES engine for encrypting the data. Evidently, the hardware based methodology is a more secure option.
A point worth noting is that both the software and the hardware encryption methodologies require a user password. However, the hardware encryption method is deemed to be more fool-proof since it does not allow a direct access to the encryption keys and the quality of encryption is not determined by the strength of the user password.
Shown in Figure 1 below is a generic block diagram of such encryption enabled devices available today look like the following:
![]() |
| Figure 1. Current architecture of USB encrypted device. |
In the schematic above, the USB controller receives data from the PC/laptop’s USB port and passes it onto the AES engine which subsequently passes the data onto the mass storage in the encrypted format.
The data retrieval also follows the same path in which the memory controller reads from the mass storage and passes the data onto the AES engine which decrypts the data and pushes it out to the USB controller.



Loading comments... Write a comment