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 .
Continued Examination Under 37 CFR 1.114
2. Continued Examination Under 37 CFR 1.114A request for continued examination under 37 CFR 1.114, including the fee set forth in37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicants’ submission filed on 9/25/2025 has been entered.
3. Pending claims for reconsideration are claims 16-36. Claims 16-18, 20, 24-26, 28, 31-34, and 36 have been amended.
Response to Arguments
4. Applicant's arguments filed 9/25/2025 have been fully considered but they are not persuasive.
In the remarks, applicant argues in substance:
That- Martin and Scarlata do not disclose or render obvious “generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, and the report includes coded data generated based on the nonce.” This makes it clear that the report includes, in addition to the field to include the measurement, also coded data and that the coded data is generated based on the nonce
In response to applicant’s arguments- It is the combination of Martin and Scarlata that teaches the claimed limitations, neither Martin nor Scarlata alone. The claims have been interpreted in the broadest most reasonable interpretation in light of the applicant’s specification. Paragraph 0018 of Martin includes an instruction set architecture which teaches first instruction to create a secure execution environment, a second instruction to add content to a secure execution environment, a third instruction to measure content of a secure execution environment, a fourth instruction to initialize a secure execution environment, a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment. Par. 0026 further discloses that processors 110 and 130 are locality nonce storage locations 116 and 136, respectively. Each may represent a register or any other type of storage of any size in which to store a nonce. Locality nonce storage locations 116 and 136, as well as any other locality nonce storage locations in System 100. Such as locality nonce storage location 146, are populated by Sampling a random number generator during each boot of system 100 and distributing the random or pseudo-random value to each component in system 100 having a locality nonce storage location
That- Martin and Scarlata do not disclose or render obvious “the report generation instruction to indicate a plurality of parameters, including an identifier of a secured container and a nonce.
In response to applicant’s arguments- as disclosed in the above argument, Par. 0026 further discloses that processors 110 and 130 are locality nonce storage locations 116 and 136, respectively. Each may represent a register or any other type of storage of any size in which to store a nonce. Locality nonce storage locations 116 and 136, as well as any other locality nonce storage locations in System 100. Such as locality nonce storage location 146, are populated by Sampling a random number generator during each boot of system 100 and distributing the random or pseudo-random value to each component in system 100 having a locality nonce storage location
PNG
media_image1.png
522
698
media_image1.png
Greyscale
PNG
media_image2.png
528
758
media_image2.png
Greyscale
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.
3. Claims 16-35 are rejected under 35 U.S.C. 103 as being unpatentable over Pub.No.: US 2015/0113241 A1 to MARTIN et al(hereafter referenced as Martin) in view of Pub.No.: US 2015/0033012 A1 to Scarlata et al(hereafter referenced as Scarlata).
Regarding claim 16, Martin discloses “ a processor comprising: first circuitry to receive a report generation instruction (instruction set [par.0018]) , the report generation instruction to indicate a plurality of parameters”(a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment [par.0018]), “including an identifier of a secured container and a nonce”(PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce [par.0022]).
Martin does not explicitly disclose “and second circuitry to perform operations corresponding to the report generation instruction, including to: access a hardware-based key; determine a measurement of contents of the secured container corresponding to the identifier; generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, and the report includes coded data generated based on the nonce; and store the report in memory”
However, Scarlata in an analogous art discloses “and second circuitry to perform operations corresponding to the report generation instruction, including to: access a hardware-based key; determine a measurement of the secured container corresponding to the identifier (processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018], Each entry includes an identifier (e.g., a 64 bit field) of the SECS (i.e., the enclave) to which the page belongs. These identifiers may be referred to by secure enclaves instructions, such as EADD, EEXTEND, and EINIT, to provide for the SECS to be read by hardware in order to execute the instruction Scarlata [par.0035]) ; “generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, and the report includes coded data generated based on the nonce; and store the report in memory” (a third instruction to measure content of an enclave, a fourth instruction to initialize an enclave, and a fifth instruction to generate a report of an enclave's content and/or identity Scarlata[par.0018]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Martin’s secure execution environments with Scarlata’s secure processing environment inclusive of generating report formats. One of ordinary skill in the art would have been motivated to combine because Martin discloses a secure execution environment with report instructions, Scarlata also teaches a secure process environment but inclusive of a reporting format, and both are form the same field of endeavor.
Regarding claim 17 in view of claim 16, the references combined disclose “wherein the defined report format has a defined length” (Instructions, such as the EREPORT instruction, may be also be leaves of a single opcode (i.e. defined length), Such as an unprivileged secure enclave opcode (e.g., ENCLU), where the leaf instructions are also specified by the value in a processor register (e.g., EAX). Operands or other parameters may be associated with an instruction implicitly, directly, indirectly, or according to any other approach Scarlata [par.0021]).
Regarding claim 18 in view of claim 16, the references combined disclose “wherein the report includes a first portion to identify a type of technology used to generate the report” (In box 234, the PSE sends a message (M3) to the CSE, M3 including a concatenation of IDs. IDCs, Rose, and Rese, where IDs is a report of the parent enclave's content and/or identity (e.g., generated by an EREPORT instruction Martin[par.0035])
Regarding claim 19 in view of claim 16, the references combined disclose “wherein the report includes a field to store information specific to the secured container”(PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce Martin[par.0022]).
Regarding claim 20 in view of claim 16, the references combined disclose “wherein the secured container is a secured virtual machine, and wherein the coded data is in the last portion of the report”(method 400, these instructions may be issued, invoked, or otherwise used by privileged system Software. Such as an operating system or a virtual machine monitor Scarlata [par.0039]).
Regarding claim 21 in view of claim 16, the references combined disclose “wherein the report generation instruction is a privileged instruction” (instruction set [par.0018]).
Regarding claim 22 in view of claim 16, the references combined disclose “wherein the report generation instruction is called through an API “(processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018]).
Regarding claim 23 in view of claim 16, the references combined disclose “wherein the defined report format includes a defined length, wherein the report includes a field to store information specific to the secured container, and wherein the secured container is a secured virtual machine” (method 400, these instructions may be issued, invoked, or otherwise used by privileged system Software. Such as an operating system or a virtual machine monitor Scarlata [par.0039]).
Regarding claim 24, Martin discloses “a processor comprising: first circuitry to receive binary code and a plurality of parameters indicated by the binary code, the plurality of parameters(a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment [par.0018]), including an identifier of a secured container and a nonce” (PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce [par.0022]).
Martin does not explicitly disclose “and second circuitry to perform operations corresponding to the binary code, including to: access a hardware-based key; determine a measurement of contents of the secured container corresponding to the identifier; generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, and the report includes coded data generated based on the nonce; and store the report in memory”
However, Scarlata in an analogous art discloses “and second circuitry to perform operations corresponding to the binary code, including to: access a hardware-based key; determine a measurement of contents of the secured container corresponding to the identifier” (processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018], Each entry includes an identifier (e.g., a 64 bit field) of the SECS (i.e., the enclave) to which the page belongs. These identifiers may be referred to by secure enclaves instructions, such as EADD, EEXTEND, and EINIT, to provide for the SECS to be read by hardware in order to execute the instruction Scarlata [par.0035]); “generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, and the report includes coded data generated based on the nonce ; and store the report in memory” ” (a third instruction to measure content of an enclave, a fourth instruction to initialize an enclave, and a fifth instruction to generate a report of an enclave's content and/or identity Scarlata[par.0018]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Martin’s secure execution environments with Scarlata’s secure processing environment inclusive of generating report formats. One of ordinary skill in the art would have been motivated to combine because Martin discloses a secure execution environment with report instructions, Scarlata also teaches a secure process environment but inclusive of a reporting format, and both are form the same field of endeavor.
Regarding claim 25 in view of claim 24, the references combined disclose “wherein the defined report format has a defined length” (Instructions, such as the EREPORT instruction, may be also be leaves of a single opcode (i.e. defined length), Such as an unprivileged secure enclave opcode (e.g., ENCLU), where the leaf instructions are also specified by the value in a processor register (e.g., EAX). Operands or other parameters may be associated with an instruction implicitly, directly, indirectly, or according to any other approach Scarlata [par.0021]).
Regarding claim 26 in view of claim 24, the references combined disclose “wherein the report includes a first portion to identify a type of technology used to generate the report” (a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment Martin [par.0018]).
Regarding claim 27 in view of claim 24, the references combined disclose “wherein the report includes a field to store information specific to the secured container” (PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce Martin[par.0022]).
Regarding claim 28 in view of claim 24, the references combined disclose “wherein the secured container is a secured virtual machine, and wherein the coded data is in the last portion of the report” (method 400, these instructions may be issued, invoked, or otherwise used by privileged system Software. Such as an operating system or a virtual machine monitor Scarlata [par.0039]).
Regarding claim 29 in view of claim 24, the references combined disclose “wherein the binary code corresponds to a privileged level” (instruction set [par.0018]).
Regarding claim 30 in view of claim 24, the references combined disclose "wherein the binary code corresponds to an API” (processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018]).
Regarding claim 31 in view of claim 24, the references combined disclose “wherein the defined report format includes a defined length, wherein the report has a field to store information specific to the secured container, and wherein the secured container is a secured virtual machine” (method 400, these instructions may be issued, invoked, or otherwise used by privileged system Software. Such as an operating system or a virtual machine monitor Scarlata [par.0039]).
Regarding claim 32, Martin discloses “at least one machine-readable storage medium storing binary code, the binary code to indicate a plurality of parameters” (a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment [par.0018]), “including an identifier of a secured container and a nonce” (PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce [par.0022]).
Martin does not explicitly disclose “the binary code executable by a machine to cause the machine to perform operations corresponding to the binary code, including to: access a hardware-based key; determine a measurement of contents of the secured container corresponding to the identifier; generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, wherein the report includes a portion to identify a type of technology used to generate the report; and store the report in memory”
However, Scarlata in an analogous art discloses “the binary code executable by a machine to cause the machine to perform operations corresponding to the binary code, including to: access a hardware-based key; determine a measurement of contents of the secured container corresponding to the identifier” (processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018], Each entry includes an identifier (e.g., a 64 bit field) of the SECS (i.e., the enclave) to which the page belongs. These identifiers may be referred to by secure enclaves instructions, such as EADD, EEXTEND, and EINIT, to provide for the SECS to be read by hardware in order to execute the instruction Scarlata [par.0035]); “generate a report according to a defined report format, wherein the defined report format includes a plurality of fields, including a field to include the measurement, wherein the report includes a portion to identify a type of technology used to generate the report; and store the report in memory” (a third instruction to measure content of an enclave, a fourth instruction to initialize an enclave, and a fifth instruction to generate a report of an enclave's content and/or identity Scarlata[par.0018]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Martin’s secure execution environments with Scarlata’s secure processing environment inclusive of generating report formats. One of ordinary skill in the art would have been motivated to combine because Martin discloses a secure execution environment with report instructions, Scarlata also teaches a secure process environment but inclusive of a reporting format, and both are form the same field of endeavor.
Regarding claim 33 in view of claim 32, the references combined disclose “wherein the defined report format has a defined length, wherein the secured container is a secured virtual machine, and wherein the report includes coded data generated based on the nonce” (method 400, these instructions may be issued, invoked, or otherwise used by privileged system Software. Such as an operating system or a virtual machine monitor Scarlata [par.0039]).
Regarding claim 34 in view of claim 33, the references combined disclose “wherein the report includes a portion to identify a type of technology used to generate the report, wherein the coded data is in a last portion of the report and wherein the report includes a field to store information specific to the secured container” (PCA 142 also includes locality nonce storage location 146, which may represent a register or any other type of storage of any size in which to store a nonce Martin[par.0022]).
Regarding claim 35 in view of claim 33, the references combined disclose “wherein the binary code corresponds to an API” (processor 110 may operate according to an instruction set architecture that includes a first instruction to create a secure enclave, a second instruction to add content to an enclave Scarlata [par.0018]).
4. Claim 36 is rejected under 35 U.S.C. 103 as being unpatentable over Pub.No.: Pub.No.: US 2015/0033012 A1 to Scarlata et al(hereafter referenced as Scarlata) in view of Pub.No.: US 2015/0113241 A1 to MARTIN et al(hereafter referenced as Martin).
Regarding claim 36, Scarlata discloses “an apparatus comprising: a processor comprising: a cache (epc 240 secure storage [par.0030]) ; a fetch unit to fetch an instruction of an instruction set of the processor ; a decoder coupled with the fetch unit, the decoder to decode the instruction; and circuitry coupled with the decoder” (Instruction units 214 and 224 may include any circuitry, logic, structures, and/or other hardware for fetching, receiving, decoding, interpreting, and/or scheduling instructions to be executed by cores 210 and 220, respectively [par.0021]), “and generate an integrity-protected trust domain report structure for the trust domain, wherein the integrity-protected trust domain report structure has a defined report structure and comprises the first measurements, the second measurements, and the data integrity code generated from the key” (a third instruction to measure content of an enclave, a fourth instruction to initialize an enclave, and a fifth instruction to generate a report of an enclave's content and/or identity Scarlata[par.0018]).
Scarlata does not explicitly disclose ““ the circuitry to perform operations corresponding to the instruction, including to: obtain first measurements of contents and configuration of a trust domain to be launched on a computing platform, wherein the trust domain includes a software container in which software is to be run; obtain second measurements of the computing platform; obtain a data integrity code generated from a key accessible only to a particular processor of the computing platform”
However, Martin in an analogous art discloses “ the circuitry to perform operations corresponding to the instruction, including to: obtain first measurements of contents and configuration of a trust domain to be launched on a computing platform” (Each locality nonce designates the locality domain of the hardware at the time of boot. Therefore, the locality nonce may be used by firmware and software running within that domain to prove locality, for example, as part of a cryptographic channel setup Martin[par.0027]), wherein the trust domain includes a software container in which software is to be run; obtain second measurements of the computing platform; obtain a data integrity code generated from a key accessible only to a particular processor of the computing platform” (a fifth instruction to generate a report of a secure execution environment's content and/or identity, and a sixth instruction to get a key for use by a secure execution environment Martin[par.0018]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Scarlata’s secure processing environment inclusive of generating report formats with Martin’s secure execution environments. One of ordinary skill in the art would have been motivated to combine because Scarlata teaches a secure process environment inclusive of a reporting format, Martin discloses a secure execution environment with report instructions, and both are form the same field of endeavor.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL D ANDERSON whose telephone number is (571)270-5159. The examiner can normally be reached Mon-Fri 9am-6pm.
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, Jeffrey Pwu can be reached at (571) 272-6798. 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.
/MICHAEL D ANDERSON/Examiner, Art Unit 2433
/JEFFREY C PWU/Supervisory Patent Examiner, Art Unit 2433