The present invention relates to a method and arrangement for encryption and/or decryption of contents of a memory unit, especially a memory unit detachably connected to a computer device, such as a personal computer.
Exchange of information, in particular privileged information between computers and users of the computers increases tremendously.
It is not unusual that the users, besides transmitting information, e.g. using e-mail applications, also store information on memory units detachable form computers. USB (Universal Serial Bus) memories have become very popular as they allow simple connection, fast and large storing ability, Former diskettes and disk-drives are more and more rare sight in the computers.
In a computer system, peripherals and other devices may be attached to a computer system by means of a bus, such as a USB bus, FireWire (IEEE 1394), Human Interface Devices (HID), PCMCIA, etc.
A computer system utilizing a USB bus will include a USB software layer that will interact with applications and mediate the sending and receipt of data from a central host to the peripherals.
The USB software layer supports generic USB hardware. The USB software layer is complex and flexible, in order to support the USB communication. The USB software layer preferably supports multiple independent hardware vendors' drivers and must remain pluggable. Therefore, the USB software layer may be changed often in order to respond to challenges such as changes in hardware or other updates. Moreover, there are a large number of different USB hardware elements available, and the USB software layer is preferably able to support this multiplicity of options.
Ordinary USB memories store data without any encryption, which allows easy access to the stored data, e.g. if the USB memory is lost.
Thus, there is a need for a way to provide the benefits of USB connectivity or any other similar memory type and compatibility with existing such devices and systems, while allowing for increased security.
Advantages of the invention include:
For these and other reasons described below a memory arrangement is provided comprising a security driver application providing an interface, a storage arrangement, and a driver application for activation when connected to a memory accessing arrangement. The driver application is configured to, when accessed, to authenticate a user using a password whereby said interface is configured to secure and/or unsecure data transactions to and from said storage arrangement, Preferably, the memory accessing arrangement comprises end-user processing commands used to access said data. The memory arrangement may be one of a USB (Universal Serial Bus) memory unit (memory stick), digital camera, digital video recorder, cell-phone and configured to be connected to a host being one or several of as a computer through a USB bus, FireWire (IEEE 1394), Human Interface Devices (HID), PCMCIA, Bluetooth or infrared. In one embodiment a client is configured to guide a user and function as a link between the user and the memory arrangement. The client may be a part of memory encryption policy, and applied to the user centrally. Preferably, a client deployment configuration comprises one of: securing memory arrangement manually, enquiring to secure memory arrangement once for each device, enquiring to secure memory arrangement every time an unsecured device is used.
The invention also relates to a method of policy based security deployment for a memory arrangement, using a first operation level, a second policy level and a third component logic level, whereby an administrator administrates said deployment policy of the second level, whereby the security deployment is transferred to said third level comprising, in which a server communicates with a client which is intended to receive said memory arrangement, and when said memory arrangement received, security policies are transferred to it and also provided to a user. Most preferably, when data is secured it is encrypted using suitable encrypting method. The method may further comprise a time lock feature used to lock the arrangement after a predetermined period. The method may comprise a recovery procedure operating as a secondary private password. The recovery password operates:
In one embodiment the hash comprises a key identifier, user identifier and recovery seed combined. The recovery data may be the user identifier combined with the key identifier. A final recovery key is generated using: user identifier, key identifier and recovery seed.
In the following the invention is described with reference to a number of non-limiting exemplary embodiments illustrated schematically in the attached drawings, in which:
In the following, the invention is described with reference to a preferred example using a USB (Universal Serial Bus) memory unit (memory stick). However, it should be appreciated by a skilled person that teachings of the invention may be implemented on any type of memory units attachable to a computer, such memory units include memory sticks, digital cameras, digital video cameras, cell-phones, etc., which can be connected to a host such as a PC through a USB bus, FireWire (IEEE 1394), Human Interface Devices (HID), PCMCIA, Bluetooth, Infrared, etc.
The following describes the parameters involved when a user goes from having an unsecured memory unit to a secured memory unit. Basically the client is configured on how to guide the user in the deployment process. Once configured, the client works as a link between the user and the USB unit. This will be a part of the memory encryption Policy, and can be applied to the user centrally. The client deployment configuration is as follows:
According to one embodiment, the USB memory can be configured for manual deployment, and the user will have to secure the USB device manually. A secondary option is in the settings, where the user may select ‘Secure USB device now’.
If configured for to be asked to secure an USB device once for each device, the client will prompt the user if he wants to secure an USB device as soon as he inserts the memory unit into his computer. It will only be done once for each device, since the client will keep track of the USB devices inserted.
If configured for to be asked each time an unsecured USB device is inserted, the client will prompt the user to secure the device each time he inserts it into his computer. This only occurs if the USB device is missing a secured area.
Preferably, the process of securing an USB device will be a wizard driven process. It aims to be as user friendly as possible.
When securing data on the memory unit, different protection methods can be used, e.g. Secured Groups. This may be a part of the security policy, and can be applied to the user centrally.
Following protection methods may be available:
However, when accessing the information, the user may have to enter a password manually each time he wants to access the information. The reason for this is that the memory unit logic does not have to hold any server connectivity logic or any connection to the users profile database on the client 122.
Technically, when data is secured it is encrypted, e.g. using AES256 with a strongly randomized 256 bit key or any other suitable encrypting algorithm. In this case, the key is placed in a “key-holder slots” in the secured data's header. Each key-slot is then encrypted using AES256 or any other suitable encrypting algorithm with the key related to a specific protection method. The key is a hashed version of the actual password, to prevent brute-force procedures. See
A time lock feature may also be available for the memory unit, which is used to lock the device after a predetermined period.
The recovery password works as a secondary private password, and can be defined by a server. If the client is not configured towards a server, it will not be possible to secure data using a recovery password. Each secured entity will use different recovery passwords. Every user that resides on the server will have a recovery password generated for it.
The recovery password operates in following way, see
According to a preferred embodiment, there are three components to a recovery password:
The final recovery key is generated as follows:
The recovery ticket will be encoded in a way so that it is user-readable and communicated easily in written or verbal form. See
The USB memory is from a technical perspective the same as a folder in standalone executable mode placed on an USB Unit, i.e. the data on the memory is realised as folders and files which can be secured/encrypted, There is however one important difference—the memory unit's standalone execution can be written to. Every action performed with the secured area at the USB unit can be logged inside the secured area, see
The logs are accessible for browsing if one has access to the secured area. It is done by opening the secured area in browser mode, going to the main menu and select Display Log-browser.
The present invention allows enforce encryption on all data placed on the USB unit. The aim for this is to create a way so that data can not be stored as plain text on an USB unit that has a secured area, This feature can be policy controlled through settings:
It is not necessary to create a policy only for USB unit or Master Password and apply it to all the users, A common usage scenario example is that there will be a policy created for, for example Mail security, one for USB security, and one for Master Password. The Master Password may override other passwords and managed by an administrator. The Master Password policy will be applied to the root of the tree so that every user will have the same and only users who will use USB will get the USB policy. This adds great flexibility to the product and gives the administrators the chance to configure the policy settings in the way they want.
Going hand in hand with the previous feature, a user is allowed to have multiple policies instead of a single one. For example the user might have 3 policies, one for USB, one for files on a computer and one for Master Password, instead of having only one policy with everything in it.
The administrator will have the possibility to choose a “list” of policies for the users and rank each policy in the list. The higher rank a policy has means it will override the policies with a lower rank. This is only the case when the two policies have settings that conflict with each other.
Policy A has some settings defined for email securing and file securing. Policy B has some settings defined for email securing, Password and Admin Lock. User is applied both Policy A and Policy B, with Policy A as higher rank. The user will get the settings for email from Policy A since it has higher rank than policy B. However, he will get Password and Admin Lock settings from policy B since these settings have not been defined in pined in policy A.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/SE08/00106 | 2/6/2009 | WO | 00 | 9/30/2010 |
| Number | Date | Country | |
|---|---|---|---|
| 60899716 | Feb 2007 | US |