Claims
- 1. A method of implementing a file system, comprising:
creating a plurality of file encryption groups from a plurality of files based on common attributes of said plurality of files; associating each file encryption group of said plurality of file encryption groups with a respective key; and accessing one file encryption group by utilizing one respective key.
- 2. The method according to claim 1, further comprising:
encrypting each file in each file encryption group of said plurality of file encryption groups with said respective key; storing said encrypted files of said plurality of file encryption groups; and accessing said encrypted files from said one file encryption group by utilizing said respective key.
- 3. The method according to claim 1, further comprising:
detecting a creation of a new file; encrypting said new file with a default write key; and associating said new file with a default file encryption group.
- 4. The method according to claim 3, wherein said default file encryption group is based on an owner permission settings.
- 5. The method according to claim 1, further comprising:
determining a modification in at least one attribute of a file; searching for an existing file encryption group of said plurality of file encryption groups based on said at least one attribute of said file; and associating said file with said existing file encryption group of said plurality of file encryption groups.
- 6. The method according to claim 5, wherein said association further comprises:
retrieving a write key for said existing file encryption group in response to said determination of existence of said existing file encryption group; retrieving a read key for a current file encryption group of said file; decrypting said file with said read key; and encrypting said decrypted file with said write key.
- 7. The method according to claim 5, wherein said search further comprises:
searching a table by using said at least one attribute of said file as a search index.
- 8. The method according to claim 1, further comprising:
determining a modification in at least one attribute of a file; searching for an existing file encryption group of said plurality of file encryption groups based on said at least one attribute of said file; and associating said file with a new file encryption group of said plurality of file encryption groups in response to said determination of an non-existence of said existing file encryption group.
- 9. The method according to claim 8, further comprising:
generating a read/write key pair; encrypting said file with a write key of said read/write key pair; and updating a table with said write key and said new file encryption group..
- 10. The method according to claim 1, wherein said attributes includes at least one of the owner, the group, a sticky bit, a temporary bit, a group read bit, a group write bit, a group execute bit, an owner read bit, an owner write bit, an owner execute bit, an all-user read bit, an all-user write bit, and an all-user execute bit.
- 11. A system for implementing a file system, comprising:
at least one processor; a memory coupled to said at least one processor; and a group manager module residing in said memory and executed by said at least one processor, wherein said group manager module is configured to create a plurality of file encryption groups from a plurality of files based on common attributes of said plurality of files, is also configured to associate each file encryption group of said plurality of file encryption groups with a respective key, and is further configured to access one file encryption group by utilizing one respective key.
- 12. The system according to claim 11, wherein said group manager is further configured to encrypt each file in each file encryption group of said plurality of file encryption groups with said respective key, is yet further configured to store said encrypted files of said plurality of file encryption groups and is yet further configured to access said encrypted files from said one file encryption group by utilizing said respective key.
- 13. The system according to claim 1, wherein said group manager module is further configured to detect a creation of a new file, is yet further configured to encrypt said new file with a default write key, and is yet further configured to associate said new file with a default file encryption group.
- 14. The system according to claim 1, wherein said group manager module is further configured to determine a modification in at least one attribute of a file, is yet further configured to search for an existing file encryption group of said plurality of file encryption groups based on said at least one attribute of said file, and is yet further configured to associate said file with said existing file encryption group of said plurality of file encryption groups.
- 15. The system according to claim 14, wherein said group manager module is further configured to retrieve a write key for said existing file encryption group in response to said determination of existence of said existing file encryption group, is yet further configured to retrieve a read key for a current file encryption group of said file, is yet further configured to decrypt said file with said read key, and is yet further configured to encrypt said decrypted file with said write key.
- 16. The system according to claim 11, wherein said group manager module is further configured to determine a modification in at least one attribute of a file, is yet further configured to search for an existing file encryption group of said plurality of file encryption groups based on said at least one attribute of said file, and is yet further configured to associate said file with a new file encryption group of said plurality of file encryption groups in response to said determination of an non-existence of said existing file encryption group.
- 17. The system according to claim 16, wherein said group manager module is further configured to generate a read/write key pair, is yet further configured to encrypt said file with a write key of said read/write key pair, and is yet further configured to update a table with said write key and said new file encryption group..
- 18. An apparatus for implementing a file system, comprising:
an interface configured to communicate with a storage device; an encryption/decryption module; and a manager module configured to associate a subplurality of files of a plurality of files stored on said storage device into a file group based on common attributes of said subplurality of files and encrypting said subplurality of files with one encryption key of said plurality of encryption keys by utilizing said encryption/decryption module.
- 19. The apparatus according to claim 18, further comprising:
a key generation module configured to generate an encryption/decryption key pair in response to a determination of a new file group status, wherein said manager module is also configured to request said encryption/decryption pair in response to a determination of a modification of attributes of said file indicating a new file group.
- 20. The apparatus according to claim 19, further comprising:
a file group table configured to maintain a listing of a plurality of encryption keys and associated file groups, wherein said manager module is further configured to update said file group table with said new file group in response to said determination of said modification of attribute of said file indicating said new file group.
- 21. The apparatus according to claim 18, further comprising:
a file group table configured to maintain a listing of a plurality of encryption keys and associated file groups, wherein said manager module is further configured to search said file group table for an existing file group in response to a modification of attributes of a file.
RELATED APPLICATIONS
[0001] The following commonly assigned applications, filed concurrently, may contain some common disclosure and may relate to the present invention. Thus, the following applications are hereby incorporated by reference:
[0002] U.S. patent application Ser. No. 09/______, entitled “SYSTEM FOR ENABLING LAZY-REVOCATION THROUGH RECURSIVE KEY GENERATION” (Attorney Docket No. 10017428-1);
[0003] U.S. patent application Ser. No. 09/______, entitled “SYSTEM FOR ENCRYPTED FILE STORAGE OPTIMIZATION VIA DIFFERENTIATED KEY SIZES” (Attorney Docket No. 10017431-1); and
[0004] U.S. patent application Ser. No. 09/______, entitled “SYSTEM FOR ENSURING DATA PRIVACY AND USER DIFFERENTIATION IN A DISTRIBUTED FILE SYSTEM” (Attorney Docket No. 10017426-1/10017433-1).