Claims
- 1. A method of implementing a file system, comprising:
creating a plurality of file encryption groups from a plurality of files; and associating each file with a respective file encryption group based on an access pattern for each file.
- 2. The method according to claim 1, further comprising:
associating each file encryption group of said plurality of file encryption groups with a respective encryption key; and accessing each file encryption group by utilizing said respective encryption key.
- 3. The method according to claim 2, further comprising:
encrypting each file in each file encryption group of said plurality of file encryption groups with said respective encryption key; and storing said encrypted files of said plurality of file encryption groups.
- 4. The method according to claim 1, further comprising:
detecting an event; and dividing files of a selected encryption group into a plurality of sub-groups based on file access patterns for said files of said selected file encryption group.
- 5. The method according to claim 4, further comprising:
generating a respective encryption sub-key for each sub group of said plurality of sub-groups; and encrypting each file of each sub-group with respective encryption sub-key.
- 6. The method according to claim 4, further comprising:
maintaining said respective encryption key of said selected file encryption group for a sub-group with an access pattern of little activity.
- 7. The method according to claim 4, further comprising:
moving a file from one sub-group to a second sub-group based on an change in level of activity of said file.
- 8. The method according to claim 7, wherein said change is an increase in activity.
- 9. The method according to claim 7, wherein said change is a decrease in activity.
- 10. The method according to claim 2, further comprising:
disassociating a file from a first file encryption group based on a change in a respective file access pattern; and associating said file with a second file encryption group based on said change in said respective file access pattern.
- 11. A method of optimizing costs associated with managing encrypted data, said method comprising:
creating a plurality of file encryption groups for a plurality of files based on attributes of each file; detecting an event; and dividing a selected file encryption group into a plurality of sub-groups based on an access pattern for each file in said selected file encryption group in response to said event.
- 12. The method according to claim 11, wherein said event is a revocation of a user.
- 13. The method according to claim 11, further comprising:
generating a plurality of encryption keys; and associating each encryption key with a respective file encryption group of said plurality of file encryption groups, wherein each encryption key encrypts each file in said respective file encryption group of said plurality of file encryption groups.
- 14. The method according to claim 13, further comprising:
associating an encryption key for a selected file encryption group with a selected sub-group based on an access pattern.
- 15. The method according to claim 11, further comprising:
generating a plurality of encryption keys; and associating each encryption key with a respective sub-group from said plurality of sub-groups.
- 16. The method according to claim 15, further comprising:
encrypting each file in each sub-group of said plurality of sub-groups with a respective encryption key.
- 17. The method according to claim 15, further comprising:
moving a file from a first sub-group to a second sub-group based on a change in an access pattern for said file.
- 18. The method according to claim 11, further comprising:
moving a file from a first sub-group to a second sub-group based on a change in an access patter for said file.
- 19. A method of optimizing costs associated with managing encrypted data, said method comprising:
creating a plurality of file encryption groups for a plurality of files; and associating each file with a respective file encryption group based on at least one attribute and an access pattern for each file.
- 20. An apparatus for optimizing costs associated with managing encrypted data, said apparatus comprising:
means for creating a plurality of file encryption groups for a plurality of files based on attributes of each file; means for detecting an event; and means for dividing a selected file encryption group into a plurality of sub-groups based on an access pattern for each file in said selected file encryption group in response to said event.
- 21. The apparatus according to claim 20, further comprising:
means for generating a plurality of encryption keys; and means for associating each encryption key with a respective file encryption group of said plurality of file encryption groups, wherein each encryption key encrypts each file in said respective file encryption group of said plurality of file encryption groups.
- 22. The apparatus according to claim 21, further comprising:
means for associating an encryption key for a selected file encryption group with a selected sub-group based on an access pattern.
- 23. The apparatus according to claim 20, further comprising:
means for generating a plurality of encryption keys; and means for associating each encryption key with a respective sub-group from said plurality of sub-groups.
- 24. The apparatus according to claim 23, further comprising:
means for encrypting each file in each sub-group of said plurality of sub-groups with a respective encryption key.
- 25. The apparatus according to claim 24, further comprising:
means for moving a file from a first sub-group to a second sub-group based on a change in an access pattern for said file.
- 26. The apparatus according to claim 20, further comprising:
means for moving a file from a first sub-group to a second sub-group based on a change in an access patter for said file.
- 27. A system for optimizing costs associated with managing encrypted data, said system comprising:
at least one processor; a memory configured to interface with said at least one processor; and a file manager module configured to be stored on said memory and executed by said at least one processor; wherein said file manager module is configured to create a plurality of file encryption groups for a plurality of files based on attributes of each file, to detect an event, and to divide a selected file encryption group into a plurality of sub-groups based on an access pattern for each file in said selected file encryption group in response to said event.
- 28. The system according to claim 27, further comprising:
a key generation module configured to generate cryptographic keys, wherein said file manager module is further configured to invoke said key generation module to generate a plurality of cryptographic keys and to associate each cryptographic key with a respective file encryption group.
- 29. The system according to claim 28, wherein said file manager is further configured to invoke said key generation module to generate a plurality of cryptographic keys and to associate each cryptographic keys with each sub-group of said plurality of sub-groups.
- 30. The system according to claim 27, wherein said file manager module is further configured to use each cryptographic key to encrypt each file in said respective file encryption group.
- 31. The system according to 27, wherein said file manager module is adapted to execute in an application program.
- 32. The system according to claim 27, wherein said file manager module is configured to be integrated in an operating system.
- 33. The system according to claim 27, wherein said file manager module is configured to be integrated in a shared file system.
- 34. A computer readable storage medium on which is embedded one or more computer programs, said one or more computer programs implementing a method of optimizing costs associated with managing encrypted data, said one or more computer programs comprising a set of instructions for:
creating a plurality of file encryption groups from a plurality of files; and associating each file with a respective file encryption group based on an access pattern for each file.
- 35. The computer readable storage medium in according to claim 34, said one or more computer programs further comprising a set of instructions for:
associating each file encryption group of said plurality of file encryption groups with a respective encryption key; and accessing each file encryption group by utilizing said respective encryption key.
- 36. The computer readable storage medium in according to claim 35, said one or more computer programs further comprising a set of instructions for:
encrypting each file in each file encryption group of said plurality of file encryption groups with said respective encryption key; and storing said encrypted files of said plurality of file encryption groups.
- 37. The computer readable storage medium in according to claim 34, said one or more computer programs further comprising a set of instructions for:
detecting an event; and dividing files of a selected encryption group into a plurality of sub-groups based on file access patterns for said files of said selected file encryption group.
- 38. The computer readable storage medium in according to claim 37, said one or more computer programs further comprising a set of instructions for:
generating a respective encryption sub-key for each sub group of said plurality of sub-groups; and encrypting each file of each sub-group with respective encryption sub-key.
- 39. The computer readable storage medium in according to claim 37, said one or more computer programs further comprising a set of instructions for:
maintaining said respective encryption key of said selected file encryption group for a sub-group with an access pattern of little activity.
- 40. The computer readable storage medium in according to claim 37, said one or more computer programs further comprising a set of instructions for:
moving a file from one sub-group to a second sub-group based on an change in level of activity of said file.
- 41. The computer readable storage medium in according to claim 35, said one or more computer programs further comprising a set of instructions for:
disassociating a file from a first file encryption group based on a change in a respective file access pattern; and associating said file with a second file encryption group based on said change in said respective file access pattern.
RELATED APPLICATIONS
[0001] The following commonly assigned applications filed on Oct. 31, 2001 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/984,927, entitled “SYSTEM FOR ENABLING LAZY-REVOCATION THROUGH RECURSIVE KEY GENERATION”;
[0003] U.S. patent application Ser. No. 09/984,936, entitled “SYSTEM FOR ENCRYPTED FILE STORAGE OPTIMIZATION VIA DIFFERENTIATED KEY SIZES”;
[0004] U.S. patent application Ser. No.09/984,926, entitled “SYSTEM FOR ENSURING DATA PRIVACY AND USER DIFFERENTIATION IN A DISTRIBUTED FILE SYSTEM”; and
[0005] U.S. patent application Ser. No.09/984,928, entitled “SYSTEM FOR OPTIMIZED KEY MANAGEMENT WITH FILE GROUPS”.