IP Library Granted Patent US 12,126,719
Granted Patent B2
US 12,126,719 · App. 18/170,197 · Granted Oct 22, 2024

Utilizing encryption key exchange with access permissions to share passwords among devices via a shared folder

Inventors: Jiayi Xu (Redmond, WA); Brent Heeringa (Williamstown, MA); Andrew Hannon (Leeds, MA); Katherine Prior (Mercer Island, WA)
Assignee: Dropbox, Inc.
H04L9/0891G06F21/6227H04L9/0825H04L9/0894
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 12,126,719
App. No.
18/170,197
Granted
Oct 22, 2024
Kind
B2
Abstract

This disclosure describes methods, non-transitory computer readable storage media, and systems that provide secure password sharing across a plurality of users and client devices via a shared folder. For example, in one or more embodiments, the disclosed system retrieves a public key set including public encryption keys for client devices having access to the shared folder. The disclosed system provides the public key set to a client device requesting to share the shared folder. The disclosed system receives an encrypted payload for the shared folder and a shared encryption key that is utilized to encrypt the payload and is encrypted in the shared folder utilizing the public key set. The disclosed system also detects key rotation events and notifies one or more client devices to generate a modified shared encryption key and re-encrypt the payload for storage within the shared folder.

Claims (56)

1. A non-transitory computer readable storage medium comprising instructions that, when executed by at least one processor, cause a content management system to:

provide access to a shared folder of a content management system to a first client device associated with a first user account and a second client device associated with a second user account;

provide, to the first client device, a public key set comprising a public encryption key associated with the second client device;

receive, from the first client device for storage within the shared folder, an encrypted payload comprising a password and a shared encryption key that is utilized to encrypt the password, the shared encryption key being encrypted in the shared folder utilizing the public key set;

receive, from the first client device, a password permission that designates a limited access level to the password for the second client device;

assign, for the second client device, an access permission for the shared folder that corresponds with the password permission; and

in response to receiving a request to access the password from the second client device, provide the encrypted payload to the second client device per the access permission for the shared folder, wherein providing the encrypted payload to the second client device causes the second client device to access the password at the limited access level by decrypting the shared encryption key with the public encryption key associated with the second client device and decrypting the password with the shared encryption key.

2. The non-transitory computer readable storage medium as recited in claim 1 , further comprising instructions that, when executed by the at least one processor, cause the content management system to:

define a folder hierarchy within the shared folder, the folder hierarchy comprising a subfolder within the shared folder; and

wherein applying the access permission for the shared folder that corresponds with the password permission comprises modifying an access control level relative to a subfolder.

3. The non-transitory computer readable storage medium as recited in claim 1 , further comprising instructions that, when executed by the at least one processor, cause the content management system to:

receive a request to generate a set of password permissions for a set of passwords, the set of passwords comprising the password; and

generate a folder structure for the shared folder with access permissions to one or more subfolders corresponding to the set of password permissions within the folder structure.

4. The non-transitory computer readable storage medium as recited in claim 1 , wherein the limited access level to the password for the second client device allows the second client device to use the password without the second client device viewing the password.

5. The non-transitory computer readable storage medium as recited in claim 1 , further comprising instructions that, when executed by the at least one processor, cause the content management system to:

receive, from the second client device, a request to view or modify the password; and

restrict the request to view or modify the password based on the access permission for the shared folder that corresponds to the password permission.

6. The non-transitory computer readable storage medium as recited in claim 1 , further comprising instructions that, when executed by the at least one processor, cause the content management system to:

receive, from the second client device, a request to modify the password;

determine, based on the access permission for the shared folder that corresponds with the password permission, the second client device can modify the password;

modify the password per the request to modify based on determining the second client device can modify the password; and

initiating a key rotation event based on modifying the password.

7. The non-transitory computer readable storage medium as recited in claim 1 , wherein the password permission designates one or more restrictions associated with a read control level, a write control level, or a view control level.

8. A system comprising:

at least one processor; and

a non-transitory computer readable storage medium comprising instructions that, when executed by the at least one processor, cause the system to:

provide access to a shared folder of a content management system to a first client device associated with a first user account and a second client device associated with a second user account;

receive, from the first client device for storage within the shared folder, an encrypted payload comprising a password and a shared encryption key that is utilized to encrypt the password, the shared encryption key being encrypted in the shared folder utilizing a public key set;

apply, based on information received from the first client device, an access permission for the shared folder that corresponds with a password permission that designates a limited access level to the password for the second client device; and

in response to receiving a request to access the password from the second client device, provide the password to the second client device per the access permission for the shared folder.

9. The system as recited in claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to:

define a folder hierarchy within the shared folder, the folder hierarchy comprising a subfolder within the shared folder; and

wherein applying the access permission for the shared folder that corresponds with the password permission comprises modifying an access control level relative to a subfolder.

10. The system as recited in claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive a request to generate a set of password permissions for a set of passwords, the set of passwords comprising the password; and

generate a folder structure for the shared folder with access permissions to one or more subfolders corresponding to the set of password permissions within the folder structure.

11. The system as recited in claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to assign, to the first user account associated with the first client device, an additional password permission that designates an access level to the password for the first client device, wherein the additional password permission for the first client device is different than the password permission for the second client device.

12. The system as recited in claim 8 , wherein the limited access level to the password for the second client device allows the second client device to read the password while restricting the second client device from viewing the password.

13. The system as recited in claim 8 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive, from the second client device, a request modify the password; and

restrict the request to modify the password based on the access permission for the shared folder that corresponds to the password permission.

14. The system as recited in claim 8 , wherein providing the password to the second client device per the access permission for the shared folder comprises providing, via the second client device, the password to a service as a login credential for the service.

15. A computer-implemented method comprising:

provide access to a shared folder of a content management system to a first client device associated with a first user account and a second client device associated with a second user account;

receive, from the first client device for storage within the shared folder, an encrypted payload comprising a password and a shared encryption key that is utilized to encrypt the password, the shared encryption key being encrypted in the shared folder utilizing a public key set;

assign an access permission for the shared folder that corresponds with a password permission that designates a limited access level to the password for the second client device; and

in response to receiving a request to access the password from the second client device, provide the password to the second client device per the access permission for the shared folder.

16. The computer-implemented method as recited in claim 15 , further comprising:

receiving a request to generate a set of password permissions for a set of passwords, the set of passwords comprising the password; and

generating a folder hierarchy for the shared folder with access permissions to one or more subfolders corresponding to the set of password permissions within the folder hierarchy.

17. The computer-implemented method as recited in claim 15 , further comprising assigning, to the first user account associated with the first client device, an additional password permission that designates an access level to the password for the first client device, wherein the additional password permission for the first client device is different than the password permission for the second client device.

18. The computer-implemented method as recited in claim 15 , wherein the password permission designates one or more restrictions associated with a read control level, a write control level, or a view control level.

19. The computer-implemented method as recited in claim 15 , further comprising:

receiving, from the second client device, a request modify the password; and

restricting the request to modify the password based on the access permission for the shared folder that corresponds to the password permission.

20. The computer-implemented method as recited in claim 15 , wherein providing the password to the second client device per the access permission for the shared folder comprises providing, via the second client device, the password to a service as a login credential for the service.

Assignments (1)
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →