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 .
DETAILED ACTION
1. This action is responsive to the communication filed on 10/25/2024.
Information Disclosure Statement
2. The information disclosure statement (IDS) submitted on 2/19/2025 was filed after the mailing date of the instant application. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
3. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f):
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f), is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f). The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f), is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
4. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f), except as otherwise indicated in an Office action.
Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f), except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) because the claim limitation uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation is:
“wherein the cryptographic element is to” in line 10 of claim 1.
Because this claim limitation is being interpreted under 35 U.S.C. 112(f) it is being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this limitation interpreted under 35 U.S.C. 112(f) applicant may: (1) amend the claim limitation to avoid it being interpreted under 35 U.S.C. 112(f) (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation recites sufficient structure to perform the claimed function so as to avoid it being interpreted under 35 U.S.C. 112(f).
Double Patenting
5. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claims because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
6. Claims 1-3, 5-8, 10-12, and 14-20 are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1-12 and 14-17, respectively of Patent No. 11,210,413. Although the conflicting claims are not identical, they are not patentably distinct from each other because all limitations recited in claims 1-3, 5-8, 10-12, and 14-20 of the instant application are anticipated by limitations recited in claims 1-12 and 14-17 of Patent No. 11,210,413, respectively (see table below).
Instant Application 18/926,670
Patent No. 11,210,413
Claim 1:
A system, comprising:
one or more physical devices to:
select, based on an identifier, a subset of data segments of a computer file for generating a first digest with a cryptographic function;
execute the cryptographic function on the selected subset of data segments of the computer file to generate the first digest;
generate an authenticator using the first digest and a private key; and
send the computer file, the subset selection identifier, and the authenticator to a cryptographic element,
wherein the cryptographic element is to:
determine the subset of data segments of the computer file based, at least in part, on the identifier;
execute a hash function on the subset of data segments of the computer file to generate a second digest; and
authenticate the computer file via verification of the authenticator using the second digest and a public key.
15. upon determining a repeatable pattern of data segments.
2. The system of claim 1, wherein the identifier is used to at least one of select the subset of data segments of the computer file or identify how the subset of data segments of the computer file is selected.
3. The system of claim 1, wherein the identifier identifies 1 data segment for every N data segments, where N is a positive integer.
5. The system of claim 1, wherein the subset selection identifier identifies a pseudorandom distribution of data segments of the computer file.
6. The system of claim 1, wherein the subset selection identifier includes, or is determined via, an algorithm.
7. The system of claim 1, wherein the subset selection identifier includes, or is determined by, a randomly generated number.
8. The system of claim 7, wherein the randomly generated number is represented by a binary number, wherein each bit of the binary number corresponds to a data segment within either the subset of data segments or another subset of data segments of the computer file not selected for generating the first digest.
10. A method, comprising: selecting, via a subset selection identifier, a subset of data segments of a computer file; executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest, which said first digest is signed by a private key; generating an authenticator using the first digest and the private key; conveying the computer file, the subset selection identifier, and the authenticator to a secure node; determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier; executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest; and
authenticating, at the secure node, the computer file via verification of the authenticator based on the second digest and a public key.
14. determining the subset selection identifier
11. The method of claim 10, wherein the identifier is used to at least one of select the subset of data segments of the computer file or identify how the subset of data segments of the computer file is selected.
15. upon determining a repeatable pattern of data segments of the computer file
12. The method of claim 10, wherein the identifier identifies 1 data segment for every N data segments, where N is a positive integer.
14. The method of claim 12, wherein the determining the subset selection identifier comprises determining the subset selection identifier via one of an algorithm and a randomly generated number.
15. A non-transitory machine-readable medium storing instructions that, in response to being executed by at least one processor of a system, are to enable the system to perform operations comprising:
determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected,
upon determining a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer;
selecting, via the subset selection identifier, the subset of data segments of the computer file;
executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest,
which said first digest is signed by a private key; generating an authenticator using the first digest and the private key;
conveying, via a secure message, at least the subset of data segments, the subset selection identifier, and the authenticator to a secure node;
determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier;
executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest; and
authenticating, at the secure node, the computer file via verification of the authenticator based on the second digest and a public key.
16. The non-transitory machine-readable medium of claim 15, further comprising: executing a second hash operation on the subset of data segments of the computer file to generate a second digest; and authenticating the computer file via verification of the authenticator using the second digest and a public key.
17. The non-transitory machine-readable medium of claim 16, wherein the executing the second hash operation comprises executing the second hash operation on a secure cryptography element.
18. The non-transitory machine-readable medium of claim 15, the operations further comprising determining the subset selection identifier based on at least one of a repeatable pattern, a random number, or an algorithm.
19. The non-transitory machine-readable medium of claim 15, wherein the executing the cryptographic function comprises executing a hash operation on a microcontroller.
20. The non-transitory machine-readable medium of claim 15, wherein the executing the cryptographic function comprises executing the cryptographic function responsive to at least one of a firmware update or a secure boot up.
Claim 1:
A system, comprising:
one or more physical devices configured to:
select, as indicated by an identifier, a subset of data segments of an application image for generating a first digest with a hash function,
execute the hash function on the selected subset of data segments of the application image to generate the first digest;
generate an authenticator using the first digest and a private key; and
send the application image, the identifier, and the authenticator to a cryptography element;
wherein the cryptography element is configured to:
the identifier used to at least one of select the subset of data segments
execute the hash function on the subset of data segments of the application image to generate a second digest; and
authenticate the application image via verification of the authenticator using the second digest and a public key.
2. The system of claim 1, wherein the identifier identifies a repeatable pattern of data segments.
1. the identifier used to at least one of select the subset of data segments of the application image or identify how the subset of data segments of the application image is selected;
3. The system of claim 2, wherein the repeatable pattern is in a form of 1 data segment selected for every N data segments, wherein N is a positive integer.
4. The system of claim 1, wherein the identifier identifies a pseudorandom distribution of data segments of the application image.
5. The system of claim 1, wherein the identifier includes or is determined via an algorithm.
6. The system of claim 1, wherein the identifier includes or is determined by a randomly generated number.
7. The system of claim 6, wherein the randomly generated number is represented by a binary number, wherein each bit of the binary number corresponds to a data segment within either the subset of data segments or another subset of data segments of the application image not selected for generating the digest.
8. A method, comprising: selecting, via an identifier, a subset of data segments of an application image, the identifier used to at least one of select the subset of data segments of the application image or identify how the subset of data segments of the application image is selected; executing, via a microcontroller, a hash function on only the subset of data segments of the application image to generate a first digest; generating, via the microcontroller, an authenticator using the first digest and a private key; conveying the application image, the identifier, and the authenticator to a cryptography element; executing, via the cryptography element, the hash function on the subset of data segments of the application image to generate a second digest; and authenticating, via the cryptography element, the application image via verification of the authenticator using the second digest and a public key.
9. The method of claim 8, further comprising determining the identifier.
8. the identifier used to at least one of select the subset of data segments of the application image or identify how the subset of data segments of the application image is selected
10. The method of claim 9, wherein the determining the identifier comprises determining a repeatable pattern of data segments of the application image in a form of 1 data segment selected for every N data segments, wherein N is a positive integer.
11. The method of claim 9, wherein the determining the identifier comprises determining the identifier via one of an algorithm and a randomly generated number.
12. A non-transitory machine-readable medium storing instructions that, in response to being executed by at least one processor of a system, are configured to enable the system to perform operations comprising:
the identifier used to at least one of select the subset of data segments of the application image or identify how the subset of data segments of the application image is selected;
10. determining a repeatable pattern of data segments of the application image in a form of 1 data segment selected for every N data segments, wherein N is a positive integer.
selecting, via an identifier, a subset of data segments of an application image,
executing a first hash operation on only the subset of data segments of the application image to generate a first digest;
generating an authenticator using the first digest and a private key;
conveying, via a secure message, at least the subset of data segments, the identifier, and the authenticator;
the identifier used to at least one of select the subset of data segments of the application image
executing a second hash operation on the subset of data segments of the application image to generate a second digest; and
authenticating the application image via verification of the authenticator using the second digest and a public key.
12 (cont.). executing a second hash operation on the subset of data segments of the application image to generate a second digest; and authenticating the application image via verification of the authenticator using the second digest and a public key
15. The non-transitory machine-readable medium of claim 12, wherein the executing the second hash operation comprises executing the second hash operation on a secure cryptography element.
14. The non-transitory machine-readable medium of claim 12, the operations further comprising determining the identifier based on at least one of a repeatable pattern, a random number, and an algorithm.
16. The non-transitory machine-readable medium of claim 12, wherein the executing the first hash operation comprises executing the first hash operation on a microcontroller.
17. The non-transitory machine-readable medium of claim 12, wherein the executing the first hash operation comprises executing the first hash operation responsive to at least one of a firmware update and a secure boot up.
7. Claims 1-12 and 14-20 are rejected on the ground of non-statutory double patenting as being unpatentable over claims 1-16, respectively of Patent No. 12,130,933. Although the conflicting claims are not identical, they are not patentably distinct from each other because all limitations recited in claims 1-12 and 14-20 of the instant application are anticipated by limitations recited in claims 1-16 of Patent No. 12,130,933, respectively (see table below).
Instant Application 18/926,670
Patent No. 12,130,933
Claim 1:
A system, comprising:
one or more physical devices to:
select, based on an identifier, a subset of data segments of a computer file for generating a first digest with a cryptographic function;
execute the cryptographic function on the selected subset of data segments of the computer file to generate the first digest;
generate an authenticator using the first digest and a private key; and
send the computer file, the subset selection identifier, and the authenticator to a cryptographic element,
wherein the cryptographic element is to:
determine the subset of data segments of the computer file based, at least in part, on the identifier;
execute a hash function on the subset of data segments of the computer file to generate a second digest; and
authenticate the computer file via verification of the authenticator using the second digest and a public key.
2. The system of claim 1, wherein the identifier is used to at least one of select the subset of data segments of the computer file or identify how the subset of data segments of the computer file is selected.
3. The system of claim 1, wherein the identifier identifies 1 data segment for every N data segments, where N is a positive integer.
4. The system of claim 1, wherein the identifier identifies one or more data segments based on data of the computer file pre-determined to be selected.
5. The system of claim 1, wherein the subset selection identifier identifies a pseudorandom distribution of data segments of the computer file.
6. The system of claim 1, wherein the subset selection identifier includes, or is determined via, an algorithm.
7. The system of claim 1, wherein the subset selection identifier includes, or is determined by, a randomly generated number.
8. The system of claim 7, wherein the randomly generated number is represented by a binary number, wherein each bit of the binary number corresponds to a data segment within either the subset of data segments or another subset of data segments of the computer file not selected for generating the first digest.
9. The system of claim 1, wherein the one or more physical devices are to select the subset of data segments of the computer file based on contents of the computer file.
10. A method, comprising: selecting, via a subset selection identifier, a subset of data segments of a computer file;
15. determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected;
upon determining a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer;
executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest, which said first digest is signed by a private key;
generating an authenticator using the first digest and the private key; conveying the computer file, the subset selection identifier, and the authenticator to a secure node;
determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier;
executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest; and
authenticating, at the secure node, the computer file via verification of the authenticator based on the second digest and a public key.
11. The method of claim 10, wherein the identifier is used to at least one of select the subset of data segments of the computer file or identify how the subset of data segments of the computer file is selected.
14. The method of claim 12, wherein the determining the subset selection identifier comprises determining the subset selection identifier via one of an algorithm and a randomly generated number.
15. A non-transitory machine-readable medium storing instructions that, in response to being executed by at least one processor of a system, are to enable the system to perform operations comprising:
determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected, upon determining a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer; selecting, via the subset selection identifier, the subset of data segments of the computer file; executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest, which said first digest is signed by a private key;
generating an authenticator using the first digest and the private key; conveying, via a secure message, at least the subset of data segments, the subset selection identifier, and the authenticator to a secure node;
determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier;
executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest; and
authenticating, at the secure node, the computer file via verification of the authenticator based on the second digest and a public key.
16. The non-transitory machine-readable medium of claim 15, further comprising:
executing a second hash operation on the subset of data segments of the computer file to generate a second digest; and authenticating the computer file via verification of the authenticator using the second digest and a public key.
17. The non-transitory machine-readable medium of claim 16, wherein the executing the second hash operation comprises executing the second hash operation on a secure cryptography element.
18. The non-transitory machine-readable medium of claim 15, the operations further comprising determining the subset selection identifier based on at least one of a repeatable pattern, a random number, or an algorithm.
19. The non-transitory machine-readable medium of claim 15, wherein the executing the cryptographic function comprises executing a hash operation on a microcontroller.
20. The non-transitory machine-readable medium of claim 15, wherein the executing the cryptographic function comprises executing the cryptographic function responsive to at least one of a firmware update or a secure boot up.
Claim 1:
A system, comprising:
one or more physical devices to:
select, via the subset selection identifier, the subset of data segments of the computer file for generating a first digest with a cryptographic function;
execute the cryptographic function on the selected subset of data segments of the computer file to generate the first digest,
which said first digest is signed by a private key; generate an authenticator using the first digest and the private key; and
send the computer file, the subset selection identifier, and the authenticator to a same secure node.
determine the subset of data segments of the computer file based on the subset selection identifier
execute the cryptographic function on the subset of data segments of the computer file to generate a second digest
and authenticate the computer file via verification of the authenticator based on the second digest and a public key
determine a subset selection identifier, said subset selection identifier to identify how a subset of data segments of a computer file is selected,
upon determining an identification of a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer;
2. The system of claim 1, further comprising the secure node, the secure node to: receive the computer file, the subset selection identifier, and the authenticator
3. The system of claim 1, wherein the subset selection identifier identifies a pseudorandom distribution of data segments of the computer file.
4. The system of claim 1, wherein the subset selection identifier includes, or is determined via, an algorithm.
5. The system of claim 1, wherein the subset selection identifier includes, or is determined by, a randomly generated number.
6. The system of claim 5, wherein the randomly generated number is represented by a binary number, wherein each bit of the binary number corresponds to a data segment within either the subset of data segments or another subset of data segments of the computer file not selected for generating the first digest.
7. The system of claim 1, wherein the one or more physical devices are to select the subset of data segments of the computer file based on contents of the computer file.
8. A method, comprising:
selecting, via the subset selection identifier, the subset of data segments of the computer file;
determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected,
upon determining a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer;
executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest, which said first digest is signed by a private key;
generating an authenticator using the first digest and the private key; and conveying the computer file, the subset selection identifier, and the authenticator to a same cryptography element.
11. selecting, via the subset selection identifier, the subset of data segments of the computer file
9. The method of claim 8, further comprising; executing, via the cryptography element, the cryptographic function on the subset of data segments of the computer file to generate a second digest; and authenticating, via the cryptography element, the computer file via verification of the authenticator based on the second digest and a public key.
8.
the subset selection identifier to identify how a subset of data segments of a computer file is selected
10. The method of claim 8, wherein the determining the subset selection identifier comprises determining the subset selection identifier via one of an algorithm and a randomly generated number.
11. A non-transitory machine-readable medium storing instructions that, in response to being executed by at least one processor of a system, are to enable the system to perform operations comprising:
determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected, upon determining a repeatable pattern of data segments of the computer file in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer; selecting, via the subset selection identifier, the subset of data segments of the computer file; executing a cryptographic function on only the subset of data segments of the computer file to generate a first digest, which said first digest is signed by a private key;
generating an authenticator using the first digest and the private key; and conveying, via a secure message, at least the subset of data segments, the subset selection identifier, and the authenticator to a same secure node.
2. determine the subset of data segments of the computer file based on the subset selection identifier;
execute the cryptographic function on the subset of data segments of the computer file to generate a second digest; and
authenticate the computer file via verification of the authenticator based on the second digest and a public key
12. The non-transitory machine-readable medium of claim 11, further comprising:
executing a second hash operation on the subset of data segments of the computer file to generate a second digest; and authenticating the computer file via verification of the authenticator using the second digest and a public key.
13. The non-transitory machine-readable medium of claim 12, wherein the executing the second hash operation comprises executing the second hash operation on a secure cryptography element.
14. The non-transitory machine-readable medium of claim 11, the operations further comprising determining the subset selection identifier based on at least one of a repeatable pattern, a random number, or an algorithm.
15. The non-transitory machine-readable medium of claim 11, wherein the executing the cryptographic function comprises executing a hash operation on a microcontroller.
16. The non-transitory machine-readable medium of claim 11, wherein the executing the cryptographic function comprises executing the cryptographic function responsive to at least one of a firmware update or a secure boot up.
Claim Rejections – 35 USC 103
8. 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.
9. Claims 1-20 are rejected under 35 USC 103 as being unpatentable over Farrugia et al (US 8,886,947) in view of Cocotis et al (US 2002/0112162).
Regarding claim 1, Farrugia et al teaches a system comprising:
one or more physical devices (fig. 1, ‘110/’115) to:
select, based on an identifier, a subset of data segments of a computer file (Abstract, “a particular portion of the digital content”) for generating a first digest with a cryptographic function (Abstract, “hash digest”);
execute the cryptographic function on the selected subset of data segments of the computer file to generate the first digest (Abstract, which discloses applying a hash function to the portion of the digital content & col. 2, lines 18-21, which discloses applying the hash function to the portion to generate the hash digest);
wherein the cryptographic element is to:
determine the subset of data segments of the computer file based, at least in part, on the identifier (col. 10, lines 43-47, which discloses a selection process for selecting a subset of the digital content);
execute a hash function on the subset of data segments of the computer file to generate a second digest (fig. 1, ‘149 & col. 11, lines 9-10, which discloses applying the hash function on the selected portion of the digital content to generate the secondary digest).
Farrugia et al does not explicitly teach generating an authenticator using the first digest and a private key; and sending the computer file, the subset selection identifier, and the authenticator to a cryptographic element; and authenticate the computer file via verification of the authenticator using the second digest and a public key.
However, Cocotis et al teaches generating an authenticator using the first digest and a private key (par [0032], lines 14-16, which discloses using a private key and a hash function to create a digital signature); and
sending the computer file, the subset selection identifier, and the authenticator to a cryptographic element (par [0018], lines 8-16 and par [0057], lines 6-7, which disclose transmitting a file, digital signature corresponding to each file, and content file identity for authentication); and
authenticate the computer file via verification of the authenticator using the second digest and a public key (par [0029] & par [0032], lines 10-14, which discloses using a message digest (hash) and a public key to validate a content file).
It would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to be motivated to combine the teachings of Cocotis et al within the disclosure of Farrugia et al in order to provide the predictive result of improving system speed and efficiency by preventing the transmission of content files that are already resident in the client's local storage and can be authenticated and verified (as disclosed in par [0029] of Cocotis et al).
Regarding claim 2, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the identifier is used to at least one of select the subset of data segments of the computer file (col. 2, lines 10-15, “select a predetermined set of sections of the digital content as the particular portion of the digital content”) or identify how the subset of data segments of the computer file is selected.
Regarding claim 3, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the identifier identifies 1 data segment for every N data segments, where N is a positive integer (fig. 1, ‘105/’125).
Regarding claim 4, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the identifier identifies one or more data segments based on data of the computer file pre-determined to be selected (col. 2, lines 13-14, “predetermined set of sections of the digital content”).
Regarding claim 5, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the subset selection identifier identifies a pseudorandom distribution of data segments of the computer file (col. 10, lines 43-47).
Regarding claim 6, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the subset selection identifier includes, or is determined via, an algorithm (col 5, lines 13-18).
Regarding claim 7, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the subset selection identifier includes, or is determined by, a randomly generated number (col. 4, lines 25-30).
Regarding claim 8, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the randomly generated number is represented by a binary number (col. 4, lines 25-28), wherein each bit of the binary number corresponds to a data segment within either the subset of data segments (col. 4, lines 25-28, “ ordered pattern of bytes”) or another subset of data segments of the computer file not selected for generating the first digest.
Regarding claim 9, Farrugia et al and Cocotis et al teach the limitations of claim 1.
Farrugia et al further teaches wherein the one or more physical devices are to select the subset of data segments of the computer file based on contents of the computer file (col. 2, lines 10-14).
Regarding claim 10, Farrugia et al teaches a method comprising:
select, via a subset selection identifier, a subset of data segments of a computer file (Abstract, “a particular portion of the digital content”);
executing a cryptographic function on only the selected subset of data segments of the computer file to generate the first digest (Abstract, which discloses applying a hash function to the portion of the digital content & col. 2, lines 18-21, which discloses applying the hash function to the portion to generate the hash digest);
determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier (col. 10, lines 43-47, which discloses a selection process for selecting a subset of the digital content);
executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest (fig. 1, ‘149 & col. 11, lines 9-10, which discloses applying the hash function on the selected portion of the digital content to generate the secondary digest).
Farrugia et al does not explicitly teach which said first digest is signed by a private key; generating an authenticator using the first digest and a private key; and conveying the computer file, the subset selection identifier, and the authenticator to a secure node; and authenticating, at the secure node, the computer file via verification of the authenticator using the second digest and a public key.
However, Cocotis et al teaches which said first digest is signed by a private key (par [0017], lines 12-15 and par [0032], lines 1-10, which disclose using a private key to generate a digital signature and apply the digital signature to a message digest/hash); generating an authenticator using the first digest and a private key (par [0032], lines 14-16, which discloses using a private key and a hash function to create a digital signature); and
conveying the computer file, the subset selection identifier, and the authenticator to a secure node (par [0018], lines 8-16 and par [0057], lines 6-7, which disclose transmitting a file, digital signature corresponding to each file, and content file identity for authentication); and
authenticating, at the secure node, the computer file via verification of the authenticator using the second digest and a public key (par [0029] & par [0032], lines 10-14, which discloses using a message digest (hash) and a public key to validate a content file).
It would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to be motivated to combine the teachings of Cocotis et al within the disclosure of Farrugia et al in order to provide the predictive result of improving system speed and efficiency by preventing the transmission of content files that are already resident in the client's local storage and can be authenticated and verified (as disclosed in par [0029] of Cocotis).
Regarding claim 11, Farrugia et al and Cocotis et al teach the limitations of claim 10.
Farrugia et al further teaches wherein the identifier is used to at least one of select the subset of data segments of the computer file (col. 2, lines 10-15, “select a predetermined set of sections of the digital content as the particular portion of the digital content”) or identify how the subset of data segments of the computer file is selected.
Regarding claim 12, Farrugia et al and Cocotis et al teach the limitations of claim 10.
Farrugia et al further teaches wherein the identifier identifies 1 data segment for every N data segments, where N is a positive integer (fig. 1, ‘105/’125).
Regarding claim 13, Farrugia et al and Cocotis et al teach the limitations of claim 10.
Farrugia et al further teaches wherein the identifier identifies one or more data segments based on data of the computer file pre-determined to be selected (col. 2, lines 13-14, “predetermined set of sections of the digital content”).
Regarding claim 14, Farrugia et al and Cocotis et al teach the limitations of claim 10.
Farrugia et al further teaches wherein the subset selection identifier includes, or is determined via, an algorithm (col 5, lines 13-18) and a randomly generated number (col. 4, lines 25-30).
Regarding claim 15, Farrugia et al teaches a non-transitory machine-readable medium (col. 10, lines 39-41) storing instructions that, in response to being executed by at least one processor of a system (col. 10, lines 39-41), are to enable the system to perform operations comprising:
determining a subset selection identifier, the subset selection identifier to identify how a subset of data segments of a computer file is selected (col. 2, lines 10-17, “select a predetermined set of sections of the digital content”), upon determining a repeatable pattern of data segments of the computer file (col. 4, lines 3-8, which discloses a portion of a particular pattern of bits for hashing the content) in a form of one (1) data segment selected for every N data segments, wherein N is a positive integer (col. 4, lines 3-15, which discloses the bit pattern being drawn to a plurality of bits corresponding to numerical values);
select, via a subset selection identifier, a subset of data segments of the computer file (Abstract, “a particular portion of the digital content”);
executing a cryptographic function on only the subset of data segments of the computer file to generate the first digest (Abstract, which discloses applying a hash function to the portion of the digital content & col. 2, lines 18-21, which discloses applying the hash function to the portion to generate the hash digest);
determining, at the secure node, the subset of data segments of the computer file based on the subset selection identifier (col. 10, lines 43-47, which discloses a selection process for selecting a subset of the digital content);
executing, at the secure node, the cryptographic function on the subset of data segments of the computer file to generate a second digest (fig. 1, ‘149 & col. 11, lines 9-10, which discloses applying the hash function on the selected portion of the digital content to generate the secondary digest).
Farrugia et al does not explicitly teach which said first digest is signed by a private key; generating an authenticator using the first digest and a private key; and conveying, via a secure message, at least the subset of data segments, the subset selection identifier, and the authenticator to a secure node; and authenticating, at the secure node, the computer file via verification of the authenticator using the second digest and a public key.
However, Cocotis et al teaches which said first digest is signed by a private key (par [0017], lines 12-15 and par [0032], lines 1-10, which disclose using a private key to generate a digital signature and apply the digital signature to a message digest/hash); generating an authenticator using the first digest and a private key (par [0032], lines 14-16, which discloses using a private key and a hash function to create a digital signature); and
conveying, via a secure message, at least the subset of data segments, the subset selection identifier, and the authenticator to a secure node (par [0018], lines 8-16 and par [0057], lines 6-7, which disclose transmitting a file, digital signature corresponding to each file, and content file identity for authentication); and
authenticating, at the secure node, the computer file via verification of the authenticator using the second digest and a public key (par [0029] & par [0032], lines 10-14, which discloses using a message digest (hash) and a public key to validate a content file).
It would have been obvious to one of ordinary skill in the art before the effective date of the claimed invention to be motivated to combine the teachings of Cocotis et al within the disclosure of Farrugia et al in order to provide the predictive result of improving system speed and efficiency by preventing the transmission of content files that are already resident in the client's local storage and can be authenticated and verified (as disclosed in par [0029] of Cocotis).
Regarding claim 16, Farrugia et al and Cocotis et al teach the limitations of claim 15.
Farrugia et al further teaches executing a second hash operation on the subset of data segments of the computer file to generate a second digest (col. 2, lines 30-33); and
authenticating the computer file via verification of the authenticator using the second digest and a public key (col. 10, lines 20-30).
Regarding claim 17, Farrugia et al and Cocotis et al teach the limitations of claim 15.
Farrugia et al further teaches wherein the executing the second hash operation comprises executing the second hash operation on a secure cryptography element (col. 4, lines 15-20).
Regarding claim 18, Farrugia et al and Cocotis et al teach the limitations of claim 15.
Farrugia et al further teaches determining the subset selection identifier based on at least one of a repeatable pattern, a random number (col. 5, lines 50-54), or an algorithm.
Regarding claim 19, Farrugia et al and Cocotis et al teach the limitations of claim 15.
Farrugia et al further teaches wherein the executing the cryptographic function comprises executing a hash operation on a microcontroller (col. 4, lines 53-59).
Regarding claim 20, Farrugia et al and Cocotis et al teach the limitations of claim 15.
Farrugia et al further teaches wherein the executing the cryptographic function comprises executing the cryptographic function responsive to at least one of a firmware update or a secure boot up (col. 2, lines 40-42).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Randy A. Scott whose telephone number is (571) 272-3797. The examiner can normally be reached on Monday-Thursday 7:30 am-5:00 pm, second Fridays 7:30 am-4pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner's supervisor, Luu Pham can be reached on (571) 270-5002. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/RANDY A SCOTT/Primary Examiner, Art Unit 2439 20260415