DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
Claims 1-20 are pending.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-3, 8-10, 15-17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bashyam et al (PGPUB 2016/0352511), and further in view of Yanovsky et al (PGPUB 2017/0048021) and Howe (PGPUB 2016/0028696).
Regarding Claims 1, 8, and 15:
Bashyam teaches a method for execution by a processing system of a storage network that includes a processor, a non-transitory computer readable storage medium comprising at least one memory that stores operational instructions that, when executed by a processing system of a storage network having a processor, causes the processing system to perform operations ([0050] these interfaces may include ports appropriate for communication with the appropriate media; in some cases, they may also include an independent processor and, in some instances, volatile RAM; [0051] system 200 uses memory 203 to store data and program instructions for operations), and a processing system of a storage network comprising:
an interface ([0049]-[0050] interface); and
processing circuitry, coupled to the interface, configured by operational instructions to perform operations that include ([0050] these interfaces may include ports appropriate for communication with the appropriate media; in some cases, they may also include an independent processor and, in some instances, volatile RAM; [0051] system 200 uses memory 203 to store data and program instructions for operations):
receiving a first data slice for storage by the storage network ([0053], data stream parsed into chunks at a first client machine and transmitted to remote server or networked storage device; [0051] system uses memory to store data and program instructions, i.e. vault; [0035] first and second client devices; networked storage system configured to process file-related requests from each device; [0040] first and second client devices use communication protocol interfaces to communicate with networked storage system and support operations such as creating a file or writing to a file), wherein the first data slice is associated with a first vault ([0053], data stream parsed into chunks at a first client machine and transmitted to remote server or networked storage device; [0051] system uses memory to store data and program instructions, i.e. vault);
generating a first encryption key corresponding to the first data slice associated with the first vault, wherein the first encryption key is different from encryption keys corresponding to others of the set of encoded data slices ([0033], [0055]-[0061], key derived from data chunk; keys are “chunk-specific”, i.e. unique to each chunk [0114] key generated at remote server);
utilizing the first encryption key to generate a first encrypted data slice and that corresponds to, and is based on, the first data slice ([0053], [0066], [0111]-[0114] data chunk encrypted with data chunk encryption key);
storing the first encrypted data slice in a first storage unit of the storage network ([0113]-[0114], Fig. 7, encrypted data chunks stored at networked storage system; [0039], [0049] network storage device memory);
receiving a request to retrieve the first data slice ([0118] request received to provide data chunk to client device);
retrieving the first encrypted data slice corresponding to the first data slice from the first storage unit of the storage network ([0119] data chunk and identifying hash value are located on network storage device);
generating a first decryption key corresponding to the first data slice ([0124] data chunk encryption key constructed from hash value); and
regenerating the first data slice using the first decryption key and different from decryption keys corresponding to others of the set data slices ([0125] data chunk decrypted with data chunk encryption key; [0124] data chunk encryption key is constructed from the hash value; [0055]-[0061], key derived from data chunk; keys are “chunk-specific”, i.e. unique to each chunk).
Bashyam does not explicitly teach wherein the data slice is an encoded data slice and is included in a set of encoded data slices generated via a dispersed error encoding of a data segment.
However, Yanovsky teaches the concept wherein a data slice is an encoded data slice and is included in a set of encoded data slices generated via a dispersed error encoding of a data segment (abstract, method for distributed storage; original data is divided into fragments and erasure coding (i.e. “dispersed error encoding”); [0060] client-side processor (CSP) uploads file to storage nodes network (SNN) by splitting file into slices and encrypting (i.e. encoding), and sending sliced files to front-end data processor (FEDP); [0061] FEDP divides and further encrypts the slices; erasure coding is performed to provide error correction, for example, in the event some data is lost during the transmission process; the erasure coding, as will be further described herein, will increase the size of each file slice fragment, to provide for error correction; the FEDP may also encrypt the file slice fragment using its own encryption key).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the encoded data slice teachings of Yanovsky with the dispersed storage and task system of Bashyam, in order to protect data chunks/slices from interception during transit by malicious agents by first encrypting the slice at the client, and then further protecting the file from theft or discovery using server side encryption to increase the entropy of the security environment.
Neither Bashyam nor Yanovsky explicitly teaches wherein the first decryption key is different from the first encryption key.
However, Howe teaches the concept wherein a first decryption key is different from a first encryption key (abstract, system for encrypting data and transferring or storing data securely may include a computing device including an encryptor configured to generate an encryption key from a network resource and encrypt data using the encryption key to generate encrypted data, and a decryptor configured to generate a decryption key from the network resource and decrypt the encrypted data to generate the non-encrypted data; [0068] the encryption key 48 and the decryption key 49 may be different).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the different encryption and decryption key teachings of Howe with the dispersed storage and task system of Bashyam, in order to provide the benefit of asymmetric key encryption systems, such as enabling safe and secure key distribution without the risk of an attacker or eavesdropper capturing the decryption key during transmission, as typically only the encrypting key of the key pair is passed around in the open.
Regarding Claims 2, 9, and 16:
Bashyam in view of Yanovsky and Howe teaches the method of claim 1, the processing system of claim 8, and the non-transitory computer readable storage medium of claim 15. In addition, Bashyam teaches wherein the operations further include:
receiving a second data slice for storage by the storage network, wherein the second data slice is associated with a second vault ([0035] first and second client devices; networked storage system configured to process file-related requests from each device; therefore same process applies to chunks sent from second client device; [0053] data stream parsed into chunks at client machine and transmitted to remote server or networked storage device; [0051] system uses memory to store data and program instructions, i.e. vault);
generating a second encryption key corresponding the second data slice associated with the second vault ([0033], [0055]-[0061] key derived from data chunk; [0114] key generated at remote server);
generating a second encrypted data slice using the second encryption key ([0053], [0066], [0111]-[0114] data chunk encrypted with data chunk encryption key); and
storing the second encrypted data slice in a second storage unit of the storage network ([0113]-[0114] Fig. 7, encrypted data chunks stored at networked storage system; [0039], [0049] network storage device memory); and
Yanovsky teaches the concept wherein a data slice is an encoded data slice (abstract, method for distributed storage; [0060] client-side processor (CSP) uploads file to storage nodes network (SNN) by splitting file into slices and encrypting (i.e. encoding), and sending sliced files to front-end data processor (FEDP); [0061] FEDP divides and further encrypts the slices).
The rationale to combine Bashyam and Yanovsky is the same as provided for claim 1 due to the overlapping subject matter between claims 1 and 2.
Regarding Claims 3, 10, and 17:
Bashyam in view of Yanovsky and Howe teaches the method of claim 2, the processing system of claim 9, and the non-transitory computer readable storage medium of claim 16, wherein the operations further include:
receiving a third data slice for storage by the storage network, wherein the third data slice is associated with the first vault ([0053], data stream parsed into chunks, i.e. “first and third data slices” at a first client machine and transmitted to remote server or networked storage device; [0051] system uses memory to store data and program instructions, i.e. vault; [0035] first and second client devices; networked storage system configured to process file-related requests from each device; [0040] first and second client devices use communication protocol interfaces to communicate with networked storage system and support operations such as creating a file or writing to a file);
generating a third encrypted data slice by utilizing the first encryption key ([0055] a shared encryption key construction technique is identified; according to various embodiments, the shared encryption key construction technique may be any technique that can be derived from two sets of information; the first set of information is derived from the chunk itself; the second set of information includes secret keys, strings, or procedures arranged in advance between two network endpoints, where the same keys, strings, or procedures apply to potentially many chunks of data to be encrypted); and
storing the third encrypted data slice in the first storage unit of the storage network ([0113]-[0114], Fig. 7, encrypted data chunks stored at networked storage system; [0039], [0049] network storage device memory); and
Yanovsky teaches the concept wherein a data slice is an encoded data slice (abstract, method for distributed storage; [0060] client-side processor (CSP) uploads file to storage nodes network (SNN) by splitting file into slices and encrypting (i.e. encoding), and sending sliced files to front-end data processor (FEDP); [0061] FEDP divides and further encrypts the slices).
The rationale to combine Bashyam and Yanovsky is the same as provided for claim 1 due to the overlapping subject matter between claims 1 and 2.
Claim(s) 4-7, 11-14, 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Bashyam in view of Yanovsky and Howe, and further in view of Dhuse et al (PGPUB 2012/0311345).
Regarding Claims 4, 11, and 18:
Bashyam in view of Yanovsky and Howe teaches the method of claim 2, the processing system of claim 9, and the non-transitory computer readable storage medium of claim 16.
Neither Bashyam nor Yanovsky nor Howe explicitly teaches wherein the first encryption key is generated by performing a deterministic function on a first vault identifier.
However, Dhuse teaches the concept wherein a first encryption key is generated by performing a deterministic function on a first vault identifier ([0101] encryption key generated by masking shared secret to produce masked shared secret; masking includes performing deterministic function on shared secret and one or more key elements; key elements include source name, slice revision number, requesting entity ID, and rebuilding participants list; [0067] in example of storing data, gateway module receives incoming data object that includes user ID field, object name field, and data field; gateway module authenticates user associated with data object by verifying the user ID; [0068] when user is authenticated, gateway module obtains user information from user device including vault identifier; vault ID therefore associated with first vault, i.e. user device associated with user which provides incoming data object; [0069] gateway module uses user information to assign source name to the data object; source name contains file ID, vault generation number, reserved field, and vault ID; therefore, deterministic encryption key function uses source name including vault ID associated with user device).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine the vault identifier encryption key teachings of Dhuse with the data slice and dispersed storage and task system of Bashyam in view of Yanovsky and Howe, in order to capitalize on known information for use in generating an encryption key, and allowing use of a key to be tied to a specific device or user, and allowing reproduction of the key in the event of loss of the key and preventing theft of the key by not requiring that the key be stored.
Regarding Claims 5, 12, and 19:
Bashyam in view of Yanovsky, Howe, and Dhuse teaches the method of claim 4, the processing system of claim 11, and the non-transitory computer readable storage medium of claim 18. In addition, Bashyam teaches wherein the first encryption key is generated by performing the deterministic function further on a slice identifier of the first data slice ([0033], [0057] encryption key derived from fingerprint used for identification of a data chunk; [0058]-[0060] key constructed using fingerprint information, agreed upon value, and algorithm, e.g. HMAC; [0035] first and second client devices; therefore same process applies to chunks sent from second client device); and
Yanovsky teaches the concept wherein a data slice is an encoded data slice (abstract, method for distributed storage; [0060] client-side processor (CSP) uploads file to storage nodes network (SNN) by splitting file into slices and encrypting (i.e. encoding), and sending sliced files to front-end data processor (FEDP); [0061] FEDP divides and further encrypts the slices).
The rationale to combine Bashyam and Yanovsky is the same as provided for claim 1 due to the overlapping subject matter between claims 1 and 4.
Regarding Claims 6, 13, and 20:
Bashyam in view of Yanovsky, Howe, and Dhuse teaches the method of claim 4, the processing system of claim 11, and the non-transitory computer readable storage medium of claim 18. In addition, Dhuse teaches wherein the encryption key is generated by performing the deterministic function on a vault identifier ([0101] encryption key generated by masking shared secret to produce masked shared secret; masking includes performing deterministic function on shared secret and one or more key elements; key elements include source name, slice revision number, requesting entity ID, and rebuilding participants list; [0067] in example of storing data, gateway module receives incoming data object that includes user ID field, object name field, and data field; gateway module authenticates user associated with data object by verifying the user ID; [0068] when user is authenticated, gateway module obtains user information from user device including vault identifier; vault ID therefore associated with first vault, i.e. user device associated with user which provides incoming data object; [0069] gateway module uses user information to assign source name to the data object; source name contains file ID, vault generation number, reserved field, and vault ID; therefore, deterministic encryption key function uses source name including vault ID associated with user device); and
Bashyam teaches wherein the encryption key is a second encryption key, and the vault is a second vault ([0035] first and second client devices (i.e. “vaults”); networked storage system configured to process file-related requests from each device; therefore same process applies to chunks sent from second client device; [0053] data stream parsed into chunks at client machine and transmitted to remote server or networked storage device; [0051] system uses memory to store data and program instructions, i.e. vault; [0033], [0055]-[0061] key derived from data chunk; [0114] key generated at remote server).
The rationale to combine Bashyam and Dhuse is the same as provided for claim 4, due to the overlapping subject matter between claims 4 and 6.
Regarding Claims 7 and 14:
Bashyam in view of Yanovsky and Howe teaches the method of claim 1, and the processing system of claim 8.
Neither Bashyam nor Yanovsky nor Howe explicitly teaches wherein the operations further include:
re-encrypting the first encoded data slice with a new encryption key in response to a transfer of the first encoded data slice from the first storage unit to another storage unit.
However, Dhuse teaches the concept of re-encrypting a first encoded data slice with a new encryption key in response to a transfer of the first encoded data slice from a first storage unit to another storage unit ([0087] system includes a plurality of sites 1-4 that includes, in totality, a set of dispersed storage (DS) units associated with a set of encoded data slices; [0090] each DS unit of DS units 1, 3, 4, 5, and 6 encrypts the slice partial corresponding to the DS unit utilizing an encryption function, wherein the encryption function utilizes an encryption algorithm and one or more keys; for example, DS unit 3 utilizes a shared secret key (K3-5) shared between DS units 3 and 5, DS unit 5 utilizes the shared secret key between DS units 3 and 5, DS unit 4 utilizes a shared secret key (K1-4) between DS units 1 and 4, DS unit 6 utilizes a shared secret key (K1-6) between DS units 1 and 6, and DS unit 1 utilizes the shared secret key between DS units 1 and 4 the shared secret key between DS units 1 and 6; [0092] next, each DS unit outputs an encrypted slice partial in accordance with a rebuilding topology of the rebuilding parameters; for example, DS unit 1 sends the encrypted slice partial associated with DS unit 1 directly to DS unit 2 and DS unit 3 sends the encrypted slice partial associated with DS unit 3 to DS unit 4 (e.g., at the same site) in accordance with the rebuilding topology).
It would have been obvious to one or ordinary skill in the art before the effective filing date of the claimed invention to combine encrypted data distribution teachings of Dhuse with the data slice and dispersed storage and task system of Bashyam in view of Yanovsky and Howe. Dhuse raises the issue that “To reduce the risk of data loss, data on a RAID device is typically copied on to one or more other RAID devices. While this addresses the loss of data issue, it raises a security issue since multiple copies of data are available, which increases the chances of unauthorized access” (e.g. Dhuse, [0014]). Therefore, it would be obvious to incorporate the solution of Dhuse to improve the security environment by using encryption to prevent unauthorized access in a distributed data system.
Response to Arguments
Applicant's arguments filed 5/6/2026 have been fully considered but they are not persuasive.
Regarding the Double Patenting rejection:
Applicant claims to have filed a terminal disclaimer over U.S. Patents 12,130,704, and 11,157,366, and 10,467,096. To date, no terminal disclaimer has apparently been filed. However, applicant’s amendments have overcome the double patenting rejection over U.S. 12,130,704, and 11,157,366 and 10,467,096, which are therefore withdrawn.
Regarding the rejection of claims under 35 USC 103:
Examiner’s response to applicant’s arguments, page 8 paragraph 4: Examiner disagrees. Applicant’s specification and claims do not recite a special definition of a data “slice”. In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., “a data segment (i.e. data chunk) is encoded into a plurality of encoded data slices”) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). Examiner views the BRI of “data slice” to include data separated into multiple parts, e.g. the data chunks of Bashyam or the “file slice fragments” of Yanovsky; the references are both teaching dividing larger data into smaller data, e.g. chunks or fragments. The data chunks of Bashyam, herein considered data slices, each use an encryption/decryption key which is based on the hash of the data chunk, and therefore different for each data chunk (e.g. [0033], [0055]-[0061]). Bashyam therefore teaches wherein each “slice” uses a different encryption key. However, even if this were not the case, Yanovsky also teaches that each “slice” uses a different encryption key (e.g. [0061] “The FEDP may also encrypt the file slice fragment using its own encryption key.”). Therefore, the combination of Bashyam and Yanovsky teaches this subject matter. Yanovsky further teaches using erasure coding, a form of dispersed error encoding, on
the file slice fragments (e.g. [0061]), thus teaching this amended subject matter also.
Bashyam in view of Yanovsky and Howe therefore teach all the limitations of claims 1, 8, and 15 as amended.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FORREST L CAREY whose telephone number is (571)270-7814. The examiner can normally be reached 9:00AM-5:30PM M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, William Korzuch can be reached at (571) 272-7589. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/FORREST L CAREY/Examiner, Art Unit 2491
/WILLIAM R KORZUCH/Supervisory Patent Examiner, Art Unit 2491