IP Library Granted Patent US 9,355,259
Granted Patent B1
US 9,355,259 · App. 14/726,166 · Granted May 31, 2016

Method and apparatus for accessing sensitive information on-demand

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,355,259
App. No.
14/726,166
Granted
May 31, 2016
Kind
B1
Abstract

Exposure of sensitive tenant information is minimized in a multi-tenant/multi-user environment. A unique encryption key is provided for each tenant. The tenant encryption key is never stored in the clear and each copy of the tenant encryption key is protected by a user derived password. A secure folder is created for each tenant and encrypted by the tenant encryption key. Secure folders are mounted only on-demand, i.e. when an authenticated request is received for that tenant. The secure folders are mounted only for specific durations only. Otherwise, they are un-mounted. When a secure folder is mounted, any read/write operation to the secure folder is encrypted/decrypted on-the-fly. When the secure folder is un-mounted, all file contents in the secure folder, and the secure folder itself, are not visible in the file system and no application can browse to the secure folder without the tenant encryption key.

Claims (95)

1. A computer implemented method for minimizing exposure of sensitive tenant information in a multi-tenant/multi-user environment, comprising:

providing a processor for generating a unique tenant encryption key (TEK) for each tenant, wherein said TEK is never stored in the clear and each copy of the TEK is protected by a user derived password;

said processor creating a secure folder for each tenant;

said processor using said TEK to encrypt said secure folder;

said processor only mounting said secure folder to a file system on-demand, in response to an authenticated request received from said tenant; and

said processor limiting the interval for which said secure folder is mounted to said file system, said secure folder remaining un-mounted at all other times;

wherein when said secure folder is mounted to said file system, any read/write operation to the secure folder is encrypted/decrypted on-the-fly; and wherein when said secure folder is un-mounted from the file system, all file contents in the secure folder, and the secure folder itself, are not visible in the file system and it is not possible to browse to the secure folder without the TEK;

said processor requiring an encryption key for access to a tenant's secure folder, said encryption key comprising a derived key encryption key:

KEK=PBKDF-2{access_token,user_salt}

where said access_token comprises a cryptographic random number tied to a user; and

wherein said salt comprises a random number generated per an operator and/or administrator;

said secure folder file system filer driver mounting said requested tenant secure folder for a duration that not longer than that which is required to complete any necessary read/write operations; and

said secure folder file system filer driver unmounting said requested tenant secure folder once said read/write operations are completed.

2. The method of claim 1 , further comprising:

encrypting/decrypting read/write operations to the secure folder on-the-fly using AES-256.

3. The method of claim 1 , further comprising:

said processor receiving tenant access to said file system from a Web user interface.

4. The method of claim 3 , further comprising:

said processor implementing a secure folder controller for intermediating tenant access via a Web user interface to said file system; and

said processor implementing a secure folder file system filter driver for receiving intermediated tenant access from said secure folder controller and providing file system access in response thereto.

5. The method of claim 1 , further comprising:

said file system containing secure folders for each of a plurality of tenants, wherein each tenant's secure folder contains any of passwords, connection strings, settings, and files.

6. The method of claim 1 , further comprising:

said processor protecting said tenant encryption key (TEK) as follows:

encrypted TEK=AES-256-KEK-encrypt{TEK}.

7. The method of claim 1 , further comprising:

said processor mounting said tenant's secure folder to said file system in response to a tenant request to access said tenant's secure folder contents received at a secure folder controller from a tenant Web user interface;

said secure folder controller providing said TEK and a tenant secure folder name to a secure folder file system filter driver;

secure folder file system filer driver decrypting said secure folder in said file system using said TEK; and

said secure folder file system filer driver mounting said requested tenant secure folder.

8. The method of claim 1 , further comprising:

said processor receiving a file 1/0 write operation to a secure folder from a tenant;

said processor browsing to a requested file system sector block on said tenant's secure folder via a secure folder file system filter driver;

said processor encrypting said file on-the-fly with said TEK; and

said processor writing said encrypted sector block to said file system.

9. The method of claim 1 , further comprising:

said processor receiving a file 1/0 read operation for a file from a secure folder from a tenant;

said processor browsing to a requested file system sector block on said tenant's secure folder via a secure folder file system filter driver;

said processor reading said encrypted sector block from file system;

said processor decrypting said file on-the-fly; and

said processor reading said decrypted sector block from said file system.

10. The method of claim 1 , further comprising:

said processor implementing a secure file system controller receiving an authenticated input/output/control (IOCTL) request from an application, said IOCTL comprising a requested mount duration and said TEK;

said secure file system filter driver setting a mount duration timer and mounting a secure folder of interest to said file system;

when said secure file is mounted, said processor using said TEK for decrypting file reads and encrypting file writes;

when said mount duration timer times out, said processor issuing an unmount time trigger that unmounts said secure folder from said file system.

11. The method of claim 10 , further comprising:

said processor issuing an unmount time trigger that unmounts said secure folder from said file system when said requested mount duration exceeds a predetermined limit.

12. An apparatus for minimizing exposure of sensitive tenant information in a multi-tenant/multi-user environment, comprising:

a hardware processor generating a unique tenant encryption key (TEK) for each tenant, wherein said TEK is never stored in the clear and each copy of the TEK is protected by a user derived password;

said processor creating a secure folder for each tenant;

said processor using said TEK to encrypt said secure folder;

said processor only mounting said secure folder to a file system on-demand, in response to an authenticated request received from said tenant; and

said processor limiting the interval for which said secure folder is mounted to said file system, said secure folder remaining un-mounted at all other times;

wherein when said secure folder is mounted to said file system, any read/write operation to the secure folder is encrypted/decrypted on-the-fly; and

wherein when said secure folder is un-mounted from the file system, all file contents in the secure folder, and the secure folder itself, are not visible in the file system and it is not possible to browse to the secure folder without the TEK;

said processor requiring an encryption key for access to a tenant's secure folder, said encryption key comprising a derived key encryption key:

KEK=PBKDF-2{access_token,user_salt}

where said access_token comprises a cryptographic random number tied to a user; and

wherein said salt comprises a random number generated per an operator and/or administrator;

said secure folder file system filer driver mounting said requested tenant secure folder for a duration that is not longer than that which is required to complete any necessary read/write operations; and

said secure folder file system filer driver unmounting said requested tenant secure folder once said read/write operations are completed.

13. The apparatus of claim 12 , further comprising:

encrypting/decrypting read/write operations to the secure folder on-the-fly using AES-256.

14. The apparatus of claim 12 , wherein said processor receiving tenant access to said file system from a Web user interface, said apparatus further comprising:

a secure folder controller for intermediating tenant access via a Web user interface to said file system; and

a secure folder file system filter driver for receiving intermediated tenant access from said secure folder controller and providing file system access in response thereto.

15. The apparatus of claim 12 , further comprising:

said file system containing secure folders for each of a plurality of tenants, wherein each tenant's secure folder contains any of passwords, connection strings, settings, and files.

16. The apparatus of claim 12 , further comprising:

said processor protecting said tenant encryption key (TEK) as follows:

encrypted TEK=AES-256-KEK-encrypt{TEK}.

17. The apparatus of claim 12 , further comprising:

said processor mounting said tenant's secure folder to said file system in response to a tenant request to access said tenant's secure folder contents received at a secure folder controller from a tenant Web or application interface;

said secure folder controller providing said TEK and a tenant secure folder name to a secure folder file system filer driver;

secure folder file system filer driver decrypting said secure folder in said file system using said TEK; and

said secure folder file system filer driver mounting said requested tenant secure folder.

18. The apparatus of claim 12 , further comprising:

said processor receiving a file 1/0 write operation to a secure folder from a tenant;

said processor browsing to a requested file system sector block on said tenant's secure folder via a secure folder file system filter driver;

said processor encrypting said file on-the-fly with said TEK; and

said processor writing said encrypted sector block to said file system using normal file 1/0 operations.

19. The apparatus of claim 12 , further comprising:

said processor receiving a file 1/0 read operation for a file from a secure folder from a tenant;

said processor browsing to a requested file system sector block on said tenant's secure folder via a secure folder file system filter driver;

said processor reading said encrypted sector block from file system;

said processor decrypting said file on-the-fly; and

said processor reading said decrypted sector block from said file system using normal file 1/0 operations.

20. The apparatus of claim 12 , further comprising:

said processor implementing a secure file system controller receiving an authenticated input/output/control (IOCTL) request from an application, said IOCTL comprising a requested mount duration and said TEK;

said secure file system filter driver setting a mount duration timer and mounting a secure folder of interest to said file system;

when said secure file is mounted, said processor using said TEK for decrypting file reads and encrypting file writes;

when said mount duration timer times out, said processor issuing an unmount time trigger that unmounts said secure folder from said file system.

21. The apparatus of claim 20 , further comprising:

said processor issuing an unmount time trigger that unmounts said secure folder from said file system when said requested mount duration exceeds a predetermined limit.

Assignments (9)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS - REEL/FRAME 045441/ 0499 Recorded Aug 25, 2025
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
Reel/Frame 072552/0558 →
SECURITY INTEREST Recorded Aug 15, 2025
From: FLEXERA SOFTWARE LLC
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL GENT
Reel/Frame 072460/0828 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Apr 18, 2024
From: JEFFERIES FINANCE LLC
To: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
Reel/Frame 067636/0534 →
SECOND LIEN SECURITY AGREEMENT Recorded Mar 3, 2021
From: BDNA CORPORATION; FLEXERA SOFTWARE LLC; PALAMIDA, INC.; RIGHTSCALE, INC.; RISC NETWORKS, LLC; REVULYTICS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 055487/0354 →
RELEASE OF SECOND LIEN SECURITY INTEREST Recorded Feb 28, 2020
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION; RIGHTSCALE, INC.; RISC NETWORKS, LLC
Reel/Frame 052049/0560 →
SECOND LIEN SECURITY AGREEMENT Recorded Feb 27, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045451/0499 →
FIRST LIEN SECURITY AGREEMENT Recorded Feb 26, 2018
From: FLEXERA SOFTWARE LLC; PALAMIDA, INC.; BDNA CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 045441/0499 →
TERMINATION OF 1ST LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 039920/0280 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0117 →
TERMINATION OF 2ND LIEN SECURITY INTEREST RECORDED AT REEL/FRAME 039920/0574 Recorded Feb 26, 2018
From: JEFFERIES FINANCE LLC
To: FLEXERA SOFTWARE LLC
Reel/Frame 045447/0908 →