Office Action 1: Non-Final Rejection (2024-07-31)
Rejection types: 103 - Obviousness

CLAIMS:
WHAT IS CLAIMED IS:
1\. A method comprising: inferring, in response to a trigger, a program identity of an unknown binary; executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs; and selectively providing the program with access to system resources based on a program nature of the authenticated program identity.
2\. The method of claim 1 further comprising: determining that the executed one or more authentication factors is unable to authenticate the inferred program identity; initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary.
3\. The method of claim 1 further comprising: preventing the unknown binary to access system resources when it is not authenticated.
4\. The method of claim 1, wherein the trigger comprises the unknown binary requesting access to a system resource or performing a sensitive operation.
5\. The method of claim 1, wherein the trigger comprises the unknown binary commencing initialization.
6\. The method of claim 1, wherein the plurality of authentication factors comprises one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source.
7\. The method of claim 6, wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
8\. The method of claim 1 further comprising: determining that the unknown binary has been modified relative to a known binary; determining whether the modifications of the unknown binary are congruent modifications which preserve a program nature of the unknown binary or divergent modifications which change a program nature of the unknown binary; allowing access by the program to system resources when it is determined that the modifications of the unknown binary are congruent; or preventing access by the program to system resources when it is determined that the modifications of the unknown binary are divergent.
9\. A method comprising: inferring, in response to a trigger, a program identity of an unknown binary; executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs; and selectively prohibiting sensitive operations based on a program nature of the authenticated program identity.
10\. The method of claim 9 further comprising: determining that the executed one or more authentication factors is unable to authenticate the inferred program identity; initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary.
11\. The method of claim 9 further comprising: prohibiting a set of sensitive operations when it is not authenticated.
12\. The method of claim 9, wherein the trigger comprises the unknown binary requesting access to a system resource or performing a sensitive operation.
13\. The method of claim 9, wherein the trigger comprises the unknown binary commencing initialization.
14\. The method of claim 9, wherein the plurality of authentication factors comprises one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source.
15\. The method of claim 14, wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
16\. The method of claim 9 further comprising: determining that the unknown binary has been modified relative to a known binary; determining whether the modifications of the unknown binary are congruent modifications which preserve a program nature of the unknown binary or divergent modifications which change a program nature of the unknown binary; allowing access by the program to system resources when it is determined that the modifications of the unknown binary are congruent; or preventing access by the program to system resources when it is determined that the modifications of the unknown binary are divergent.
17\. A method comprising: inferring a program identity of an unknown binary seeking to access a resource or in response to a request to run the binary; automatically authenticating the inferred program identity of the unknown binary as being one of a plurality of different programs when a plurality of authentication factors provide a confidence indicator above a threshold level; initiating, when the confidence indicator is at or below the threshold level, a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary; and selectively providing the program with access to system resources or prohibiting sensitive operations based on a program nature of the program after automatic or human authentication of the unknown binary.
18\. The method of claim 17, wherein the plurality of authentication factors comprises one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source.
19\. The method of claim 18, wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
20\. The method of claim 19 further comprising: determining that the unknown binary has been modified relative to a known binary; determining whether the modifications of the unknown binary are congruent modifications which preserve a program nature of the unknown binary or divergent modifications which change a program nature of the unknown binary; allowing access by the program to system resources when it is determined that the modifications of the unknown binary are congruent; or preventing access by the program to system resources when it is determined that the modifications of the unknown binary are divergent.

OFFICE 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 .
DETAILED ACTION
This action is responsive to application filed on 04/22/2024. In the application,
Claims 1-20 are pending and being considered.
Claims 1, 9 and 17 are independent.
Claims 1-20 are rejected.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 07/16/2024 was filed on or after the mailing date of the application no.18/642,515 filed on 04/22/2024. The submission is in compliance with the provisions of 37 CFR 1.97.  Accordingly, the information disclosure statement is being considered by the examiner and an initialed and dated copy of Applicant’s IDS form 1449 filed on 07/16/2024 is attached to the instant office action.
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Claim Objections
Claims 2-3, 8, 10-11, 16 and 17-20 are objected to because of the following informalities:
Claims 2, 3 and 8 in line 1 recites “The method of claim 1 further comprising:”, which should be corrected as “The method of claim 1, further comprising:”. Appropriate correction is required.
Claim 3 in line 2 recites “…access system resources…”, which should be corrected as “… access the system resources…” since the term “system resources” has already been recited in claim 1 on which claim 3 depends on. Appropriate correction is required.
Claim 8 recites the term “…a program nature…” in lines 4-5 of the claim, which should be corrected as “…the program nature…”, since the term “a program nature” has already been recited in claim 1 on which claim 8 depends on. Appropriate correction is required.
Claim 8 in lines 6-8 recites “…to system resources…”, which should be corrected as “… to the system resources…” since the term “system resources” has already been recited in claim 1 on which claim 8 depends on. Appropriate correction is required.
Claims 10, 11 and 16 in line 1 recites “The method of claim 9 further comprising:”, which should be corrected as “The method of claim 9, further comprising:”. Appropriate correction is required.
Claim 16 recites the term “…a program nature…” in lines 4-5 of the claim, which should be corrected as “…the program nature…”, since the term “a program nature” has already been recited in claim 9 on which claim 16 depends on. Appropriate correction is required.
Claim 17 in line 3 recites “the binary”, which should be corrected as “the unknown binary”, since the claim in line 2 recites “an unknown binary”. Appropriate correction is required.
Claim 20 in line 1 recites “The method of claim 19 further comprising:”, which should be corrected as “The method of claim 19, further comprising:”. Appropriate correction is required.
Claim 20 recites the term “…a program nature…” in lines 4-5 of the claim, which should be corrected as “…the program nature…”, since the term “a program nature” has already been recited in claim 17 on which claim 20 depends on. Appropriate correction is required.
Claim 20 in lines 6-8 recites “…to system resources…”, which should be corrected as “… to the system resources…” since the term “system resources” has already been recited in claim 17 on which claim 20 depends on. Appropriate correction is required.
Claims 18-19 are likewise objected since they depend on and/or carries the deficiencies of the parent claims.
Appropriate correction is required.
Claim Rejections - 35 U.S.C. 103
In the event the determination of the status of the application as subject to AIA  35 U.S.C. 102 and 103 (or as subject to pre-AIA  35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or non-obviousness.
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.
Claims 1, 3-4, 9 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of DESAI et al. (US 20170223024 A1, hereinafter “Desai”).
Regarding claim 1, Jiang teaches A method comprising (See Abstract):
inferring, in response to a trigger, a program identity of an unknown binary (Jiang, pdf page 4 (4th – 6th paragraph), discloses to provide an information configuration device, comprising: a request obtaining module, used for obtaining the configuration request of the application program, the configuration request at least comprises the identity information of the application program; an identity authentication module, used for according to the identity information, verifying the validity of the identity of the application program; or see also pdf page 4 (13th paragraph), discloses a request sending module, used for sending the configuration request to the trusted hardware, the configuration request at least comprises the identity information of the application program, so that the trusted hardware based on the identity information, verifying the validity of the identity of the application program (hereinafter, identity of an application program correlates to the claimed a program identity of an unknown binary. It is implicit that the identity authentication module/trusted hardware verifies the identity of the application program in response to a configuration request (herein correlated as in response to a trigger) received by a request obtaining module/trusted hardware));
executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs (Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information (e.g., authentication factors), so as to resist the attack of the virus data in the storage device. Or in some optional implementation, as disclosed in pdf page 7 (5th paragraph), the verification module 24 can be based on password verification (e.g., authentication factor) to verify the identity of the application program, so as to determine the access authority corresponding to it (hereinafter, application program being represent as the claimed unknown binary)); and
selectively providing the program with access to system resources based on Jiang, pdf page 3 (2nd-3rd paragraph), discloses to execute the access of the application program to the storage device based on the feedback message sent by the trusted hardware in response to determining the access authority of the application program based on the verification information (e.g., authentication factors), and as disclosed in pdf page 6 (12th paragraph), wherein the verification information (e.g., authentication factors) verifies the identity of the application program, so as to resist the attack of the virus data in the storage device, and as disclosed in pdf page 7 (4th paragraph), in the system architecture, the storage device may be an external storage device, such as a disk, an optical disk, or the like, or may also be a movable external storage device, such as a mobile hard disk and so on (e.g., system resources)).
Jiang, as disclosed above, teaches “executing one or more authentication factors to authenticate the inferred program identity of the unknown binary; and selectively providing the program with access to system resources based on the authenticated program identity.”. however, Jiang fails to explicitly disclose but Desai teaches the unknown binary as being one of a plurality of different programs (Desai, Para. [0053], discloses that software in a memory can include one or more software programs. (Hereinafter, one or more software programs represents as an unknown binary); and selectively providing the program with access to system resources based on a program nature (Desai, Para. [0017/0061], discloses that access to sensitive network resources is limited by the nature of the application being used).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified ‘Jiang’ by incorporating the above features, as taught by Desai, in order to provide an enhanced security system that introduces the concept of ‘application-based access control’ whereby access to sensitive network resources is limited by the nature of the application being used, and further ensures network protection where different devices are used to access network resources; Desai, Para. [0017/0056].
Regarding claim 3, Jiang as modified by Desai teaches the method of claim 1 further comprising: wherein Jiang further teaches preventing the unknown binary to access system resources when it is not authenticated (Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information (e.g., authentication factors), so as to resist the attack of the virus data in the storage device […]. Under the premise that the verification cannot be performed, it is not possible to realize the access of the hard disk data, so as to ensure the data safety of the storage device).
Regarding claim 4, Jiang as modified by Desai teaches the method of claim 1, wherein Desai further teaches the trigger comprises the unknown binary requesting access to a system resource or performing a sensitive operation (Desai, Para. [0005/0062], discloses to determine an application on the user device that requests to access the network resources.).
Regarding claim 9, Jiang teaches A method comprising: inferring, in response to a trigger, a program identity of an unknown binary (Jiang, pdf page 4 (4th – 6th paragraph), discloses to provide an information configuration device, comprising: a request obtaining module, used for obtaining the configuration request of the application program, the configuration request at least comprises the identity information of the application program; an identity authentication module, used for according to the identity information, verifying the validity of the identity of the application program; or see also pdf page 4 (13th paragraph), discloses a request sending module, used for sending the configuration request to the trusted hardware, the configuration request at least comprises the identity information of the application program, so that the trusted hardware based on the identity information, verifying the validity of the identity of the application program (hereinafter, identity of an application program correlates to the claimed a program identity of an unknown binary. It is implicit that the identity authentication module/trusted hardware verifies the identity of the application program in response to a configuration request (herein correlated as in response to a trigger) received by a request obtaining module/trusted hardware));
executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs (Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information (e.g., authentication factors), so as to resist the attack of the virus data in the storage device. In some optional implementation, as disclosed in pdf page 7 (5th paragraph), the verification module 24 can be based on password (e.g., authentication factor) verification to verify the identity of the application program, so as to determine the access authority corresponding to it (hereinafter, application program being represent as the claimed unknown binary)); and
selectively prohibiting sensitive operations based on Jiang, pdf page 9 (2nd paragraph), discloses to execute the storage device reading and/or writing operations based on the identity verification of the application program. e.g., when the identity of the application program is verified, the reading/writing operations are performed, or else prohibited. Or see also Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information, so as to resist the attack of the virus data in the storage device […]. Under the premise that the verification cannot be performed, it is not possible to realize the access of the hard disk data of the storage device (in other words, access of the hard disk data that correlates as the claimed sensitive operations cannot be realized (prohibited), if the identity of the application program is not verified).
Jiang, as disclosed above, teaches “executing one or more authentication factors to authenticate the inferred program identity of the unknown binary; and selectively prohibiting sensitive operations based on the authenticated program identity.”. however, Jiang fails to explicitly disclose but Desai teaches the unknown binary as being one of a plurality of different programs (Desai, Para. [0053], discloses that software in a memory can include one or more software programs. (hereinafter, one or more software programs correlates to the claimed an unknown binary); and selectively prohibiting sensitive operations based on a program nature (Desai, Para. [0017/0061], discloses that uncontrolled access to sensitive network resources can be restricted (prohibited) through “application-based access controls” whereby access to the sensitive network resources is limited by the nature of the application being used. (Herein, restricting/limiting access to the sensitive network resources correlates to prohibiting sensitive operations)).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified ‘Jiang’ by incorporating the above features, as taught by Desai, in order to provide an enhanced security system that introduces the concept of ‘application-based access control’ whereby access to sensitive network resources is limited by the nature of the application being used, and further ensures network protection where different devices are used to access network resources; Desai, Para. [0017/0056].
Regarding claim 12, the claim recites similar limitations as rejected above for claim 4. Therefore, claim 12 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 4.
Claims 2, 5, 10 and 13 are rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of DESAI et al. (US 20170223024 A1, hereinafter “Desai”), and further in view of Jain et al. (US 11522703 B1, hereinafter “Jain”).
Regarding claim 2, Jiang as modified by Desai teaches the method of claim 1 further comprising: Jiang further teaches determining that the executed one or more authentication factors is unable to authenticate the inferred program identity (Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information (e.g., authentication factors), so as to resist the attack of the virus data in the storage device […]. Under the premise that the verification cannot be performed, it is not possible to realize the access of the hard disk data, so as to ensure the data safety of the storage device.);
However, Jiang as modified by Desai fails to explicitly disclose but Jain teaches initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary (Jain, col. 31 (lines 31-55), discloses that when an application 130 is being configured and first needs access to a data area, the application 130 can initiate a function call or procedure that involves the access authorization tool 180. For the web application 130b, this may involve redirecting the user from the browser to a user interface of the access authorization tool 180, where the user 102a can select from the data areas for which keys 181 are stored. From this interface, the user can authorize an application 130 to gain access to a specific data area or multiple data areas. Such as disclosed in col. 35 (lines 61-67) and col. 36 (lines 1-24), where Fig. 3D shows a user interface 330 for the authorization tool 180, or alternatively the web-based authorization tool 183. The interface 330 gives the user options to approve or deny access, including to approve partial or limited access. In the example of Fig. 3D, the user selects to grant/approve a partial access for a Health Data Visualizer Application which is requesting access to read from and write to data area PID1 (e.g., contextual information) as displayed in the authorization tool 330 interface, which then leads to an interface for setting the level of access the user is willing to give to the application as depicted in Fig. 3E. Fig. 3F then shows a user interface 350 that shows the application after receiving the access token and populating information from the data area that the user authorized).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by Jain, in order to provide an enhanced user interface in which a user can manually approve/deny an application which is requesting access to the data storage areas over a communication network, Jain, Fig. 3D.
Regarding claim 5, Jiang as modified by Desai teaches the method of claim 1, wherein Jiang as modified by Desai fails to explicitly disclose but Jain teaches the trigger comprises the unknown binary commencing initialization (Jain, col. 28 (lines 55-58), discloses that the limitations on access may be discernible from the access token that the application 130 provides when it initiates a transaction (e.g., the unknown binary commencing initialization) with the data area 160 through the API 120. Or see also col. 31 (lines 31-34), discloses that when an application 130 is being configured and first needs access to a data area, the application 130 can initiate a function call or procedure (e.g., the unknown binary commencing initialization) that involves the access authorization tool 180).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by Jain, in order to provide an enhanced user interface in which a user can manually approve/deny an application which is requesting access to the data storage areas over a communication network, Jain, Fig. 3D.
Regarding claim 10, the claim recites similar limitations as rejected above for claim 2. Therefore, claim 10 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 2.
Regarding claim 13, the claim recites similar limitations as rejected above for claim 5. Therefore, claim 13 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 5.
Claims 6-7 and 14-15 are rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of DESAI et al. (US 20170223024 A1, hereinafter “Desai”), and further in view of KELLEY; Brian H. (US 20100275014 A1, hereinafter “Kelley”).
Regarding claim 6, Jiang as modified by Desai teaches the method of claim 1, wherein Jiang as modified by Desai fails to explicitly disclose but Kelley teaches the plurality of authentication factors comprises one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source (Kelley, Para. [0042], discloses that the process for verifying and executing an application involves the mobile device receiving a script for execution from the server, the mobile device verifying that the server from which the script was obtained is named in a digital certificate, the mobile device determining which permissions have been granted to the server according to the contents of the certificate, and the mobile device enabling the script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained. Or see also Para. [0028-33], which discloses to perform checks of the script’s trust status to determine whether the script can be granted access to a restricted resource at the time a request is made for access to the resource or not).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by Kelley, in order to enable a script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained, and prevent the script from executing if it requires a resource beyond its permission set; Kelley, Para. [0030].
Regarding claim 7, Jiang as modified by Desai in view of Kelley teaches the method of claim 6, wherein Jiang as modified by Desai fails to explicitly disclose but Kelley teaches the one or more executable integrity tests comprises one or more of: [Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and] JavaScript signing (Kelley, Para. [0032], discloses the process of signing a document, such as a JavaScript file, to perform validity check).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by Kelley, in order to enable a script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained, and prevent the script from executing if it requires a resource beyond its permission set; Kelley, Para. [0030].
Regarding claim 14, the claim recites similar limitations as rejected above for claim 6. Therefore, claim 14 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 6.
Regarding claim 15, the claim recites similar limitations as rejected above for claim 7. Therefore, claim 15 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 7.
Claims 8 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of DESAI et al. (US 20170223024 A1, hereinafter “Desai”), and further in view of LE ROY et al. (US 20190278914 A1; hereinafter “LeRoy”).
Regarding claim 8, Jiang as modified by Desai teaches the method of claim 1 further comprising: wherein Jiang as modified by Desai fails to explicitly disclose but LeRoy teaches determining that the unknown binary has been modified relative to a known binary (LeRoy, Para. [0004], discloses to determining / detecting a change to the software or the firmware. Or see also Para. [0120], discloses another approach to determine software updates by authenticating the program code of the updated software component(s) of the computing device 100);
determining whether the modifications of the unknown binary are congruent modifications which preserve a program nature of the unknown binary or divergent modifications which change a program nature of the unknown binary (LeRoy, Para. [0023], discloses to detect an unauthorized update (e.g., divergent modifications) to software and/or firmware associated with the computing device, and as disclosed in Para. [0004], wherein the unauthorized update (e.g., divergent modifications) to software and/or firmware includes detecting a change to the software or the firmware (e.g., change a program nature of the unknown binary); and determining that the change to the software was unauthorized);
allowing access by the program to system resources when it is determined that the modifications of the unknown binary are congruent; or preventing access by the program to system resources when it is determined that the modifications of the unknown binary are divergent (LeRoy, Para. [0023], discloses that the techniques disclosed herein can be used to detect an unauthorized update (e.g., divergent modifications) to the software and/or firmware associated with the computing device, and sensitive data can be rendered unrecoverable to prevent the unauthorized software or firmware from obtaining the sensitive data.).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by LeRoy, such modification would prevent an attacker from installing unauthorized software on the computing device in order to gain access to sensitive data stored in the memory; LeRoy, Para. [0138].
Regarding claim 16, the claim recites similar limitations as rejected above for claim 8. Therefore, claim 16 is rejected for the same reasons of anticipation and/or obviousness as used above for claim 8.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of DESAI et al. (US 20170223024 A1, hereinafter “Desai”), and further in view of Kraemer et al. (US 20060174319 A1, hereinafter “Kraemer”).
Regarding claim 11, Jiang as modified by Desai teaches the method of claim 9 further comprising: Jiang as modified by Desai fails to explicitly disclose but Kraemer teaches prohibiting a set of sensitive operations when it is not authenticated (Kraemer, Para. [0003-0004/0035], discloses that upon detection of data containing a malicious program code or malicious software, the computer system prevents the execution of the malicious program code or malicious software that might result in compromising the computer's proper operations, And/or see also Para. [0043-0047], discloses a security agent 150 configured within a computer system 110. Where, the security agent 150 components include a plurality of security interceptors 200 (200-1 through 200-7) including, for example, a network traffic interceptor 200-1, the network application interceptor 200-2, etc. These interceptors 200 can serve as wrappers to monitor and control processing operations of all calls made to any specific computer components, and thus provides protection against malicious software by restricting the operations that may be performed by that computer).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang as modified by Desai’ by incorporating the above features, as taught by Kraemer, in order to provide protection against execution of malicious/malformed application programs that can perform some undesired processing operations to comprise a computer’s proper operations to cause problems within computer systems or even entire computer networks; Kraemer, Para. [0004].
Claim 17 is rejected under 35 U.S.C. 103 as being unpatentable over JIANG, XIN (CN 114091027 A, hereinafter “Jiang”), in view of Kursun; Eren (US 20200380114 A1; hereinafter “Kursun”), and further in view of Jain et al. (US 11522703 B1, hereinafter “Jain”) and DESAI et al. (US 20170223024 A1, hereinafter “Desai”).
Regarding claim 17, Jiang teaches A method comprising: inferring a program identity of an unknown binary seeking to access a resource [or in response to a request to run the binary] (Jiang, pdf page 3 (2nd – 3rd paragraph), discloses to sending the configuration request to the trusted hardware, the configuration request at least comprises the identity information of the application program, so that the trusted hardware based on the identity information, verifying the validity of the identity of the application program; and further discloses to execute access of the application program to the storage device (e.g., resource) based on the feedback message sent by the trusted hardware in response to determining the access authority of the application program based on the verification information. (hereinafter, identity of an application program correlates to the claimed a program identity of an unknown binary));
automatically authenticating the inferred program identity of the unknown binary (Jiang, pdf page 6 (12th paragraph), discloses to verify the identity of the application program based on the verification information (e.g., authentication factors), so as to resist the attack of the virus data in the storage device. In some optional implementation, as disclosed in pdf page 7 (5th paragraph), the verification module 24 can be based on password verification to verify the identity of the application program, so as to determine the access authority corresponding to it (hereinafter, application program being represent as the claimed unknown binary));
selectively providing the program with access to system resources or prohibiting sensitive operations based on Jiang, pdf page 3 (2nd-3rd paragraph), discloses to execute the access of the application program to the storage device based on the feedback message sent by the trusted hardware in response to determining the access authority of the application program based on the verification information (e.g., authentication factors), and as disclosed in pdf page 6 (12th paragraph), wherein the verification information (e.g., authentication factors) verifies the identity of the application program, so as to resist the attack of the virus data in the storage device, and as disclosed in pdf page 7 (4th paragraph), in the system architecture, the storage device may be an external storage device, such as a disk, an optical disk, or the like, or may also be a movable external storage device, such as a mobile hard disk and so on (e.g., system resources)).
Jiang, as disclosed above, teaches to “automatically authenticating the inferred program identity of the unknown binary; and selectively providing the program with access to system resources or prohibiting sensitive operations based on the program after automatic authentication of the unknown binary.”. However, Jiang fails to explicitly disclose but Kursun teaches automatically authenticating the unknown binary as being one of a plurality of different programs when a plurality of authentication factors provide a confidence indicator above a threshold level (Kursun, Para. [0084-0086], discloses that the individual applications (e.g., account viewing applications, account transaction applications, account messaging applications, and the like) may be associated with varying degrees of security concerns, each individual application may have different authentication standards from one another. As such, the system may determine which application the authentication is being requested for and identify the malfeasance requirements (e.g., metrics, weightings, and the like) for that application. These malfeasance requirements are then compared against the OTP signature for a user to quantify the authentication value (e.g., confidence indicator) for that particular application. Once the overall authentication value for the user is determined for a particular application, the system then checks the malfeasance requirements for the particular application to determine whether the overall authentication value (e.g., confidence indicator) exceeds a predetermined threshold value. If the authentication value is determined to exceed the predetermined threshold, then the system may identify and verify the one or more applications for use by the authenticated user, and as disclosed in Para. [0083], where the machine learning system(s) calculate an overall authentication value (e.g., confidence indicator) for (i) the individual OTP (i.e., the received OTP information for the user), and (ii) the status of an account associated with the user. The overall authentication value is a quantification of the correlation between the received OTP information (e.g., user biometric information, password information, transmitting computing device information, location information, account information, application information, and the like) and the stored, known, or pre-analyzed OTP information associated with the user (e.g., authentication factors));
initiating, when the confidence indicator is at or below the threshold level, a manual authentication workflow (Kursun, Para. [0004], disclose that in response to determining that the authentication value (e.g., confidence indicator) does not meet the predetermined threshold value associated with the first application, the system would prompt the user for additional authentication credentials, and/or as disclosed in Para. [0072], if the system determines that the matching requirements do not meet a predetermined threshold, then the process 500 may proceed to block 522, where the system prompts the user for further interaction or to provide additional authentication which can subsequently be analyzed); and
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified ‘Jiang’ by incorporating the above features, as taught by Kursun, in order to provide an enhanced technique for security analysis and authentication across downstream applications associated with varying degrees of security concerns, where each individual application may have different authentication standards from one another and provides secure access to the user account/profile data; Kursun, Para. [0003/0084].
Jiang as modified by Kursun, as disclosed above, teaches to “automatically authenticating the inferred program identity of the unknown binary; and selectively providing the program with access to system resources or prohibiting sensitive operations based on the program after automatic authentication of the unknown binary as being one of a plurality of different programs when a plurality of authentication factors provide a confidence indicator above a threshold level; initiating, when the confidence indicator is at or below the threshold level, a manual authentication workflow; and selectively providing the program with access to system resources or prohibiting sensitive operations based on the program after automatic authentication of the unknown binary”.
However, Jiang as modified by Kursun fails to explicitly disclose but Jain teaches initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary (Jain, col. 31 (lines 31-55), discloses that when an application 130 is being configured and first needs access to a data area, the application 130 can initiate a function call or procedure that involves the access authorization tool 180. For the web application 130b, this may involve redirecting the user from the browser to a user interface of the access authorization tool 180, where the user 102a can select from the data areas for which keys 181 are stored. From this interface, the user can authorize an application 130 to gain access to a specific data area or multiple data areas. Such as disclosed in col. 35 (lines 61-67) and col. 36 (lines 1-24), where Fig. 3D shows a user interface 330 for the authorization tool 180, or alternatively the web-based authorization tool 183. The interface 330 gives the user options to approve or deny access, including to approve partial or limited access. In the example of Fig. 3D, the user selects to grant/approve a partial access for a “Health Data Visualizer” application which is requesting access to read from and write to data area PID1 (e.g., contextual information) as displayed in the authorization tool 330 interface, which then leads to an interface for setting the level of access the user is willing to give to the application as depicted in Fig. 3E. Fig. 3F then shows a user interface 350 that shows the application after receiving the access token and populating information from the data area that the user authorized.); and
selectively providing the program with access to system resources based on the program after human authentication of the unknown binary (Jain, col. 35 (lines 61-67) and col. 36 (lines 1-24), describes a Fig. 3D that shows a user interface for the authorization tool 180, or alternatively the web-based authorization tool 183. The interface 330 gives the user options to approve or deny access, including to approve partial or limited access. In the example of Fig. 3D, the user selects to grant/approve a partial access for a Health Data Visualizer Application which is requesting access to read from and write to data area PID1 (e.g., contextual information) as displayed in the authorization tool 330 interface, which then leads to an interface for setting the level of access the user is willing to give to the application as depicted in Fig. 3E. In this case, the user can select from among the different data types and data sources represented in the health data of the user's data area. The user grants access to heart rate data but denies access to blood pressure data, and grants access to data from all data sources.  When the user is satisfied with the authorizations, the user selects to proceed and grant limited access to the “Health Data Visualizer” application. Fig. 3F then shows a user interface 350 that shows the application after receiving the access token and populating information from the data area that the user authorized).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang-Kursun’ by incorporating the above features, as taught by Jain, in order to provide an enhanced user interface in which a user can manually approve/deny an application which is requesting access to the data storage areas over a communication network, Jain, Fig. 3D.
Jiang as modified by Kursun in view of Jain, as disclosed above, teaches “selectively providing the program with access to system resources or prohibiting sensitive operations based on the program after automatic or human authentication of the unknown binary.”. However, the combination of “Jiang-Kursun-Jain” fails to explicitly disclose but Desai teaches selectively providing the program with access to system resources based on a program nature of the program (Desai, Para. [0017/0061], discloses that access to sensitive network resources is limited by the nature of the application being used).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang-Kursun-Jain’ by incorporating the above features, as taught by Desai, in order to provide an enhanced security system that introduces the concept of ‘application-based access control’ whereby access to sensitive network resources is limited by the nature of the application being used, and further ensures network protection where different devices are used to access network resources; Desai, Para. [0017/0056].
Claims 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Jiang as modified by Kursun in view Jain and Desai, as applied above, and further in view of KELLEY; Brian H. (US 20100275014 A1, hereinafter “Kelley”).
Regarding claim 18, Jiang as modified by Kursun in view of Jain and Desai teaches the method of claim 17, wherein Jiang as modified by Kursun in view of Jain and Desai fails to explicitly disclose but Kelley teaches the plurality of authentication factors comprises one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source (Kelley, Para. [0042], discloses that the process for verifying and executing an application involves the mobile device receiving a script for execution from the server, the mobile device verifying that the server from which the script was obtained is named in a digital certificate, the mobile device determining which permissions have been granted to the server according to the contents of the certificate, and the mobile device enabling the script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained. Or see also Para. [0028-33], which discloses to perform checks of the script’s trust status to determine whether the script can be granted access to a restricted resource at the time a request is made for access to the resource or not).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘‘Jiang-Kursun-Jain-Desai’ by incorporating the above features, as taught by Kelley, in order to enable a script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained, and prevent the script from executing if it requires a resource beyond its permission set., Kelley, Para. [0030].
Regarding claim 19, Jiang as modified by Kursun in view of Jain, Desai and Kelley teaches the method of claim 18, wherein Jiang as modified by Kursun in view of Jain and Desai fails to explicitly disclose but Kelley further teaches the one or more executable integrity tests comprises one or more of: [Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and] JavaScript signing (Kelley, Para. [0032], discloses the process of signing a document, such as a JavaScript file, to perform validity check).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang-Kursun-Jain-Desai’ by incorporating the above features, as taught by Kelley, in order to enable a script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained, and prevent the script from executing if it requires a resource beyond its permission set., Kelley, Para. [0030].
Claim 20 is rejected under 35 U.S.C. 103 as being unpatentable over Jiang as modified by Kursun in view Jain, Desai and Kelley, as applied above, and further in view of LE ROY et al. (US 20190278914 A1; hereinafter “LeRoy”).
Regarding claim 20, Jiang as modified by Kursun in view of Jain, Desai and Kelley teaches the method of claim 19 further comprising: Wherein Jiang as modified by Kursun in view of Jain, Desai and Kelley fails to explicitly disclose but LeRoy teaches determining that the unknown binary has been modified relative to a known binary (LeRoy, Para. [0004], discloses to determining / detecting a change to the software or the firmware. Or see also Para. [0120], discloses another approach to determine software updates by authenticating the program code of the updated software component(s) of the computing device 100);
determining whether the modifications of the unknown binary are congruent modifications which preserve a program nature of the unknown binary or divergent modifications which change a program nature of the unknown binary (LeRoy, Para. [0023], discloses to detect an unauthorized update (e.g., divergent modifications) to software and/or firmware associated with the computing device, and as disclosed in Para. [0004], wherein the unauthorized update (e.g., divergent modifications) to software and/or firmware includes detecting a change to the software or the firmware (e.g., change a program nature of the unknown binary); and determining that the change to the software was unauthorized);
allowing access by the program to system resources when it is determined that the modifications of the unknown binary are congruent; or preventing access by the program to system resources when it is determined that the modifications of the unknown binary are divergent LeRoy, Para. [0023], discloses that the techniques disclosed herein can be used to detect an unauthorized update (e.g., divergent modifications) to the software and/or firmware associated with the computing device, and sensitive data can be rendered unrecoverable to prevent the unauthorized software or firmware from obtaining the sensitive data.).
Thus, it would have been obvious to one ordinary skilled in the art before the effective filling date of the claimed invention to have modified the combination of ‘Jiang-Kursun-Jain-Desai-Kelley’ by incorporating the above features, as taught by LeRoy, such modification would prevent an attacker from installing unauthorized software on the computing device in order to gain access to sensitive data stored in the memory; LeRoy, Para. [0138].
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See form PTO-892.


NEXT OFFICE ACTION: 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 .
Response to Amendments
This office action is in response to the amendments filed on 10/15/2024. After the examiner’s amendments shown below, claims 1, 9 and 17 are independent, claims 6, 14 and 18 are canceled, claims 23 and 24 are new, claims 1-3, 7-11, 15-17 and 19-20 are amended, and claims 1-5, 7-13, 15-17 and 19-24 are allowed.
Response to Arguments/Remarks
Applicant’s remarks, see pages 7-10, filed on 10/15/2024, have been fully considered and are persuasive in view of the remarks and examiner’s amendments, as disclosed below. Therefore, claim objections and claim rejections under 35 U.S.C. 103 as set forth in the previous office action has been waived.
Examiner’s Amendments
An examiner's amendment to the record appears below. Should the changes and/or additions be unacceptable to applicant, an amendment may be filed as provided by 37 CFR 1.312. To ensure consideration of such an amendment, it MUST be submitted no later than the payment of the issue fee.
Authorization for this examiner's amendment was given, via phone conversation, followed by an email by the applicant’s representative- Mr. Carl A. Kukkonen, III (Reg. No. 42,773) on 11/12/2024.
In the application, please replace all existing set of claims with the following:
1. 	(Currently Amended) A method for implementation by one or more computing devices comprising:
inferring, in response to a trigger, a program identity of an unknown binary;
executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs, the one or more authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source;
determining that the unknown binary has been modified relative to a known binary;
determining whether [[the]] modifications of the unknown binary are congruent modifications or divergent modifications, the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary;
selectively providing the unknown binary with access to system resources based on [[a]] the program nature of the authenticated program identity and based on the determination of whether the modifications of the unknown binary are said congruent modifications or said divergent modifications.
2. 	(Currently Amended) The method of claim 1, further comprising:
determining that the executed one or more authentication factors is unable to authenticate the inferred program identity;
initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary.
3.  	(Currently Amended) The method of claim 1, further comprising:
preventing the unknown binary from accessing the system resources when it is not authenticated.
4.	(Original) The method of claim 1, wherein the trigger comprises the unknown binary requesting access to a system resource or performing a sensitive operation.
5.	(Original) The method of claim 1, wherein the trigger comprises the unknown binary commencing initialization.
6.	(Canceled).
7.	(Currently Amended) The method of claim 1 [[6]], wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
8.	(Currently Amended) The method of claim 1, further comprising:
allowing access by the unknown binary to the system resources when it is determined that the modifications of the unknown binary are congruent; and
preventing access by the unknown binary to the system resources when it is determined that the modifications of the unknown binary are divergent.
9. 	(Currently Amended) A method for implementation by one or more computing devices comprising:
inferring, in response to a trigger, a program identity of an unknown binary;
executing one or more authentication factors to authenticate the inferred program identity of the unknown binary as being one of a plurality of different programs, the one or more authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source;
determining that the unknown binary has been modified relative to a known binary;
determining whether [[the]] modifications of the unknown binary are congruent modifications or divergent modifications, the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary; and
selectively prohibiting sensitive operations by the unknown binary based on [[a]] the program nature of the authenticated program identity and based on the determination of whether the modifications of the unknown binary are said congruent modifications or said divergent modifications.
10. (Currently Amended) The method of claim 9, further comprising:
determining that the executed one or more authentication factors is unable to authenticate the inferred program identity;
initiating a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary.
11. (Currently Amended) The method of claim 9, further comprising:
prohibiting a set of sensitive operations when it is not authenticated.
12. (Original) The method of claim 9, wherein the trigger comprises the unknown binary requesting access to a system resource or performing a sensitive operation.
13. (Original) The method of claim 9, wherein the trigger comprises the unknown binary commencing initialization.
14. (Canceled).
15.	 (Currently Amended) The method of claim 9 [[14]], wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
16.	 (Currently Amended) The method of claim 9, further comprising:
allowing access by the unknown binary to system resources when it is determined that the modifications of the unknown binary are congruent; and
preventing access by the unknown binary to system resources when it is determined that the modifications of the unknown binary are divergent.
17.	 (Currently Amended) A method for implementation by one or more computing devices comprising:
individually inferring, for each of a plurality of unknown binaries, a program identity of the unknown binary seeking to access a resource or in response to a request to run the unknown binary;
automatically authenticating the inferred program identity of each of the unknown binaries as being one of a plurality of different programs when a plurality of authentication factors provide a confidence indicator above a threshold level, the plurality of authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source;
initiating, when the confidence indicator of the corresponding unknown binary is at or below the threshold level, a manual authentication workflow in which contextual information about the unknown binary is displayed in a graphical user interface for human authentication of the unknown binary;
determining, for each unknown binary, that the unknown binary has been modified relative to a known binary;
determining, for each unknown binary, whether [[the]] modifications of the unknown binary are congruent modifications or divergent modifications, the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary;
assigning a same program identifier to each binary having a congruent modification relative to a same known binary; and
selectively providing each binary with access to system resources or prohibiting sensitive operations based on [[a]] the program nature of the program after automatic or human authentication of the unknown binary and based on the program identifier.
18.	 (Canceled).
19.	 (Currently Amended) The method of claim 17[[8]], wherein the one or more executable integrity tests comprises one or more of: Authenticode, strong name signing, one or more Linux schemes, Android Package Kit (APK) Signing, Apple code signing, PowerShell signing, and JavaScript signing.
20.	(Currently Amended) The method of claim 19, further comprising:
allowing access by the unknown binary to the system resources when it is determined that the modifications of the unknown binary are congruent; and
preventing access by the unknown binary to the system resources when it is determined that the modifications of the unknown binary are divergent.
21.	(Previously Presented) The method of claim 1, wherein the divergent modifications characterize representational disguise which comprises a contrived representation that is given to a program for to impersonate another program with a different program nature.
22.	(Previously Presented) The method of claim 1, wherein the divergent modifications characterize representational obfuscation which comprises a contrived representation that is given to a program for frustrating an understanding of the program nature.
23.	(New) The method of claim 9, wherein the divergent modifications characterize representational disguise which comprises a contrived representation that is given to a program for to impersonate another program with a different program nature.
24.	(New) The method of claim 9, wherein the divergent modifications characterize representational obfuscation which comprises a contrived representation that is given to a program for frustrating an understanding of the program nature.
Allowable Subject Matter
Claims 1-5, 7-13, 15-17 and 19-24 are allowed over prior art of record.
The following is an examiner’s statement of reasons for allowance:
Examiner’s updated search did not yield any specific references that reasonably, either alone or in combination, would result in a proper rejection of all the claimed features presented in each of the independent claims 1, 9 and 17 under 35 U.S.C 102 or 35 U.S.C.103 with proper motivation.
Thus, independent claims 1, 9 and 17 are allowed and the corresponding dependent claims depend upon one of the above-mentioned allowed claims are therefore allowed by virtue of their dependencies.
The closest relevant prior art made of record are:
JIANG, XIN (CN 114091027 A), discloses a trusted hardware that can verify the
validity of the identity of the application program, generating check information corresponding to the application program, and configuring the check information in the storage device needed to be accessed by the application program, based on the check information, determining the access authority of the application program, so as to ensure the data safety the storage device.
DESAI et al. (US 20170223024 A1), the present disclosure relates to client
application control systems and methods in cloud-based security systems for mobile devices. Systems and methods, implemented by one or more nodes in a cloud-based security system, for enforcing application-based control of network resources include receiving a request from a user device for the network resources; evaluating the request through the cloud-based security system and determining an application on the user device performing the request; and performing one of (1) denying the request if the application is unauthorized to access the network resources, (2) redirecting the request to an authorized application on the user device if the application is legitimate but unauthorized to access the network resources, and (3) allowing the request if the application is authorized to access the network resources.
LE ROY et al. (US 20190278914 A1), Techniques are disclosed herein for
preventing an unauthorized circumvention of data protections for sensitive data on a computing device. These techniques can mitigate attempts by firmware or software owners to circumvent these data protections by replacing firmware and/or software on the computing device. An unauthorized user who has physical access to the computing device may attempt to generate a signed firmware image that appears to be legitimate, and that when executed, can access the sensitive data stored on the computing device. The techniques disclosed herein can be used to detect an unauthorized update to software and/or firmware associated with the computing device, and sensitive data can be rendered unrecoverable to prevent the unauthorized software or firmware from obtaining the sensitive data.
Kursun; Eren (US 20200380114 A1), the present invention relates to a system
for security analysis and authentication across downstream applications. For sample, illustrative purposes, system environments will be summarized. The system may involve receiving one time password data associated with the user for an authentication request of a first application. Next, the system may cause a one-time password signature generation engine, comprising a neural network machine learning system, to identify characteristics within the received one time password data and generate a password signature for the user based on the received one time password data associated with the user wherein the password signature comprises a collection of digital or character code associated with the identified characteristics within the received one time password data. The system can then identify a first set of authentication verification matching requirements based on the first application. The system may then determine a first user authentication value based on a comparison of the generated password signature for the user and the identified first set of authentication verification matching requirements based on the first application, and determine whether the user authentication value meets a predetermined threshold value associated with the first application. In response to determining that the user authentication value meets the predetermined threshold value associated with the first application, the system will authenticate the user. Alternatively, in response to determining that the user authentication value does not meet the predetermined threshold value associated with the first application, the system would not authenticate the user or prompt the user for additional authentication credentials.
Jain et al. (US 11522703 B1), discloses that when an application 130 is being
configured and first needs access to a data area, the application 130 can initiate a function call or procedure that involves the access authorization tool 180. For the web application 130b, this may involve redirecting the user from the browser to a user interface of the access authorization tool 180, where the user 102a can select from the data areas for which keys 181 are stored. From this interface, the user can authorize an application 130 to gain access to a specific data area or multiple data areas. Such as, Fig. 3D shows a user interface 330 for the authorization tool 180, or alternatively the web-based authorization tool 183. The interface 330 gives the user options to approve or deny access, including to approve partial or limited access. In the example of Fig. 3D, the user selects to grant/approve a partial access for a Health Data Visualizer Application which is requesting access to read from and write to data area PID1 (e.g., contextual information) as displayed in the authorization tool 330 interface, which then leads to an interface for setting the level of access the user is willing to give to the application as depicted in Fig. 3E. Fig. 3F then shows a user interface 350 that shows the application after receiving the access token and populating information from the data area that the user authorized.
KELLEY; Brian H. (US 20100275014 A1), discloses the process for verifying and
executing an application that involves the mobile device receiving a script for execution from the server, the mobile device verifying that the server from which the script was obtained is named in a digital certificate, the mobile device determining which permissions have been granted to the server according to the contents of the certificate, and the mobile device enabling the script to access a protected resource only when an associated permission has been granted to the server from which the script was obtained.
Chao Zhang, Tao Wei, Zhaofeng Chen, Lei Duan, Laszlo Szekeres, Stephen
McCamant, Dawn song, and Wei Zou (Practical Control Flow Integrity & Randomization for Binary Executables); Pages 15; Published in 2013 IEEE.
However, none of the closest cited prior art(s) mentioned above teaches or suggests, either taken alone or in combination, neither anticipates nor renders obvious, all of the claimed features presented in each of the independent claims 1, 9 and 17. Such as,
with regards to independent claim 1, the claim recites subject matter “executing the one or more authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source; selectively providing the unknown binary with access to system resources based on the program nature of the authenticated program identity and based on the determination of whether the modifications of the unknown binary are said congruent modifications or said divergent modifications, wherein the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, and the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary;” which is not disclosed in the closest cited prior art of record. For this reason, the claim limitations as recited in the independent claim 1 along with other features taken as a whole are allowable over the cited prior arts.
with regards to independent claim 9, the claim recites subject matter “executing the one or more authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source; selectively prohibiting sensitive operations by the unknown binary based on the program nature of the authenticated program identity and based on the determination of whether the modifications of the unknown binary are said congruent modifications or said divergent modifications, wherein the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, and the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary;” which is not disclosed in the closest cited prior art of record. For this reason, the claim limitations as recited in the independent claim 9 along with other features taken as a whole are allowable over the cited prior arts.
with regards to independent claim 17, the claim recites subject matter “the plurality of authentication factors comprising one or more executable integrity tests in which scripts forming part of the unknown binary are cryptographically verified as being from a known source; assigning a same program identifier to each binary having a congruent modification relative to a same known binary, wherein the congruent modifications comprising a modification to a data representation of the known binary which preserve a program nature of the unknown binary, and the divergent modifications comprising a modification to a data representation of the known binary which change the program nature of the unknown binary; and selectively providing each binary with access to system resources or prohibiting sensitive operations based on the program nature of the program after automatic or human authentication of the unknown binary and based on the program identifier.” which is not disclosed in the closest cited prior art of record. For this reason, the claim limitations as recited in the independent claim 17 along with other features taken as a whole are allowable over the cited prior arts.
Thus, independent claims 1, 9 and 17 along with their dependent claims are in condition of allowance.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled Comments on Statement of Reasons for Allowance. In event of any post-allowance papers (e.g., IDS, 312 amendments, petition, etc.), Applicant is exhorted to mail papers to the Production Control branch in Publications or faxed to post-allowance papers correspondence branch at (703) 308-5864 to expedite issuing process or call PUB's Customer Service if any questions at (703) 305-8497.
Conclusion

CITED REFERENCE SUMMARIES: Ref US20070265972A1: Claims:
An application distribution system that distributes applications to user terminals connectable to the application distribution system via at least one public network, comprising: provider table configured to store identifications of applications available for download by users of the user terminals and identifications of application providers who provide the applications; usage table configured to record usages of the applications by the users; fee table configured to record fees collected from the users who each pay a fixed amount of fee periodically; and calculator configured to calculate allocations of the fees collected from the users among the application providers according to at least one of the usages of the applications by the users recorded in the usage table.
provider table configured to store identifications of applications available for download by users of the user terminals and identifications of application providers who provide the applications;
usage table configured to record usages of the applications by the users;
fee table configured to record fees collected from the users who each pay a fixed amount of fee periodically; and
calculator configured to calculate allocations of the fees collected from the users among the application providers according to at least one of the usages of the applications by the users recorded in the usage table.
An application distribution system according to claim 2 , wherein the calculator first determines usages of an application and then determines an allocation of the fees for the application.
An application distribution system according to claim 2 , wherein the calculator first determines usages of applications by a user and then determines allocations of the fee among the applications.
An application distribution system according to claim 2 , wherein one of the usages of an application is a number of downloads of the application.
An application distribution system according to claim 2 , wherein one of the usages of an application is time lengths during which the application is executed.
An application distribution system according to claim 6 , wherein the application distribution system receives notices from a user terminal when the terminal starts to execute an application and ends the execution of the application.
An application distribution system according to claim 2 , wherein one of the usages of an application is a number of times the application is activated on user terminals.
An application distribution system according to claim 2 , wherein one of the usages of an application is a rating made by users for the application, and the system further comprise a rating control configured to count the ratings made by the users.
An application distribution system according to claim 9 , wherein the rating control sets a limitation to a number of ratings one user can make during a time period.
An application distribution system according to claim 10 , wherein the rating control is responsive to a request from a user to create a list of applications for which the user can rate.
An application distribution system according to claim 11 , wherein in response to the request from the user, the rating control makes a list of applications which were downloaded by the user for a period of time.
An application distribution system according to claim 11 , wherein in response to the request from the user, the rating control makes a list of applications which were activated by the user for a period of time.
An application distribution system according to claim 11 , wherein in response to the request from the user, the rating control makes a list of applications which were rated by the user for a period of time.
An application distribution system according to claim 9 , wherein the rating control counts a rating by a user only if the rating is made for any one of (i) an application which was downloaded by the user for a period of time, (ii) an application which was activated by the user for the period of time and (iii) an application which was rated by the user for the period of time.
An application distribution system according to claim 9 , wherein the rating control generates a list of applications from which a user may select an application for rating and when the user selects an application from the list for rating, judges whether the user is eligible to select the application for rating.
An application distribution system according to claim 2 , wherein the calculator calculates allocations of the fees among the application providers, based on at least two usages selected from a group consisting of (i) a number of downloads of the applications by the uses, (ii) a number of times the applications were activated by the users and (iii) time lengths the applications were executed by the users.
An application distribution system according to claim 2 , further comprising an application locator responsive to a request from a user to locate an application and send the user information comprising at least a title and a description of the requested application.
An application distribution system according to 18 , further comprising a message transmitter configured to send the user information on a location of the requested application.
An application distribution system according to claim 19 , further comprising a graphic interface generator configured to present a graphic interface which allows the user to request the application.
An application distribution system according to claim 2 , further comprising payment control which allows payment of an allocation of the fees to a corresponding application provider only if the allocation exceeds a certain amount.
An application distribution system according to claim 21 , wherein the payment control sums allocations for an application provider over a time.
An application distribution system according to claim 2 , wherein the fee table records a fee collected from each user.
An application distribution system according to claim 2 , wherein the fee tale records total fees collected from each user.
An application distribution system according to claim 2 , wherein the fee is equal for all the users.
An application distribution system according to claim 2 , wherein the fee is equal for uses in a group.
An application distribution system according to claim 2 , further comprising a download control which prohibits a user from downloading an application if a number of times the user has downloaded the application over a certain period of time exceeds a certain number.
An application distribution system according to claim 2 , further comprising an execution time control which prohibits a user from at least one of (i) downloading an application and (iii) activating the application on the user's user terminal if total time lengths the user executed the application exceed a certain time length.
An application distribution system according to claim 2 , further comprising an activation control which prohibits a user from at least one of (i) downloading an application and (ii) activating the application on the user's user terminal if total numbers the user activating the application exceed a certain number.
An application distribution system according to claim 9 , wherein the application comprises an interface program which allows a user to rate the application.
An application distribution system according to claim 30 , wherein the rating control accepts a rating from a user only when the rating is for any one of (i) an application which was downloaded by the user for a period of time, (ii) an application which was activated by the user for the period of time and (iii) an application which was rated by the user for the period of time.
An application distribution system according to claim 2 , further comprising: a server program memory area that stores a plurality of server programs which communicate with applications downloaded on the user terminals; a common database area to which the server programs have access; and a restriction control which defines for each of the server programs table areas which a respective server program cannot access.
a server program memory area that stores a plurality of server programs which communicate with applications downloaded on the user terminals;
a common database area to which the server programs have access; and
a restriction control which defines for each of the server programs table areas which a respective server program cannot access.
An application distribution system according to claim 2 , further comprising: a server program memory area that stores a plurality of server programs which communicate with applications downloaded on the user terminals; a common database area to which the server programs have access; and a permission control which define for each of the server programs table areas which a respective server program can access.
a permission control which define for each of the server programs table areas which a respective server program can access.
An application distribution system according to claim 2 , further comprising: a user table which stores user information; a server program memory area that stores a plurality of server programs which communicate with applications downloaded on the user terminals; and a shared process interface which can access the user information stored in the user table, wherein the server programs access the user information in the user table via the shared process interface.
a user table which stores user information;
a server program memory area that stores a plurality of server programs which communicate with applications downloaded on the user terminals; and
a shared process interface which can access the user information stored in the user table, wherein the server programs access the user information in the user table via the shared process interface.
An application distribution method of distributing applications to user terminals connectable to the application distribution system via at least one public network, the method comprising: storing identifications of applications available for download by users of the user terminals and identifications of application providers who provide the applications; recording usages of the applications by the users; recording fees collected from the users who each pay a fixed amount of fee periodically; and calculating allocations of the fees collected from the users among the application providers according to at least one of the usages of the applications by the users recorded in the usage table.
storing identifications of applications available for download by users of the user terminals and identifications of application providers who provide the applications;
recording usages of the applications by the users;
recording fees collected from the users who each pay a fixed amount of fee periodically; and
calculating allocations of the fees collected from the users among the application providers according to at least one of the usages of the applications by the users recorded in the usage table.
An application distribution method according to claim 35 , wherein calculating allocations of the fees comprising first determining usages of an application and then determining an allocation of the fees for the application.
An application distribution method according to claim 35 , wherein calculating allocations of the fees comprising first determining usages of applications by a user and then determining allocations of the fee among the applications.
Ref US11522703B1: Claims:
A method performed by one or more computers, the method comprising: storing, by the one or more computers, data for multiple individuals in one or more data storage devices, the data for each individual being stored in a different logical data storage area, wherein the data storage areas are respectively assigned unique identifiers and different data storage areas have contents encrypted using different encryption keys; storing, by the one or more computers, data indicating a set of predetermined data classifications; for each data storage area of at least some of the data storage areas: determining, by the one or more computers, data classifications for data stored in an encrypted form in the data storage area, the data classifications being determined from among the set of predetermined data classifications; and storing, by the one or more computers, data indicating the determined data classifications for the data storage area in metadata associated with the data storage area; and providing, by the one or more computers, an application programming interface (API) that enables multiple different applications to access the data storage areas over a communication network, wherein the one or more computers are configured to: provide access through the API to the data stored in an encrypted form in the data storage areas, wherein access to the data is conditioned on applications providing authorization tokens corresponding to the data storage areas accessed for which the data is accessed; and provide access through the API to the data classifications in the metadata corresponding to the respective data storage areas, wherein access to the data classifications is not conditioned on applications providing authorization tokens corresponding to the data storage areas for which the data classifiers are accessed.
storing, by the one or more computers, data for multiple individuals in one or more data storage devices, the data for each individual being stored in a different logical data storage area, wherein the data storage areas are respectively assigned unique identifiers and different data storage areas have contents encrypted using different encryption keys;
storing, by the one or more computers, data indicating a set of predetermined data classifications;
for each data storage area of at least some of the data storage areas: determining, by the one or more computers, data classifications for data stored in an encrypted form in the data storage area, the data classifications being determined from among the set of predetermined data classifications; and storing, by the one or more computers, data indicating the determined data classifications for the data storage area in metadata associated with the data storage area; and
determining, by the one or more computers, data classifications for data stored in an encrypted form in the data storage area, the data classifications being determined from among the set of predetermined data classifications; and
storing, by the one or more computers, data indicating the determined data classifications for the data storage area in metadata associated with the data storage area; and
providing, by the one or more computers, an application programming interface (API) that enables multiple different applications to access the data storage areas over a communication network, wherein the one or more computers are configured to: provide access through the API to the data stored in an encrypted form in the data storage areas, wherein access to the data is conditioned on applications providing authorization tokens corresponding to the data storage areas accessed for which the data is accessed; and provide access through the API to the data classifications in the metadata corresponding to the respective data storage areas, wherein access to the data classifications is not conditioned on applications providing authorization tokens corresponding to the data storage areas for which the data classifiers are accessed.
provide access through the API to the data stored in an encrypted form in the data storage areas, wherein access to the data is conditioned on applications providing authorization tokens corresponding to the data storage areas accessed for which the data is accessed; and
provide access through the API to the data classifications in the metadata corresponding to the respective data storage areas, wherein access to the data classifications is not conditioned on applications providing authorization tokens corresponding to the data storage areas for which the data classifiers are accessed.
The method of claim 1 , wherein at least some of the predetermined data classifications represent different types of data; wherein determining the data classifications comprises determining, for a particular data storage area, types of data present in the particular data storage area; and wherein storing the data indicating the determined data classifications comprises storing, for the particular data storage area, metadata that indicates the types of data determined to be present in the particular data storage area.
wherein determining the data classifications comprises determining, for a particular data storage area, types of data present in the particular data storage area; and
wherein storing the data indicating the determined data classifications comprises storing, for the particular data storage area, metadata that indicates the types of data determined to be present in the particular data storage area.
The method of claim 2 , wherein at least some of the predetermined data classifications represent predetermined aspects of physiology, behavior, or mental health; and wherein the metadata that indicates the types of data determined to be present in the particular data storage area comprises metadata that indicates aspects of physiology, behavior, or mental described by the encrypted data in the particular data storage area.
wherein the metadata that indicates the types of data determined to be present in the particular data storage area comprises metadata that indicates aspects of physiology, behavior, or mental described by the encrypted data in the particular data storage area.
The method of claim 2 , wherein at least some of the predetermined data classifications represent predetermined types of measurements of physiology, behavior, or mental health; and wherein the metadata that indicates the types of data determined to be present in the particular data storage area comprises metadata that specifies types of measurements, from among the predetermined types of measurements, for which the encrypted data in the particular data storage area includes measurement values.
wherein the metadata that indicates the types of data determined to be present in the particular data storage area comprises metadata that specifies types of measurements, from among the predetermined types of measurements, for which the encrypted data in the particular data storage area includes measurement values.
The method of claim 2 , wherein storing metadata that indicates the types of data determined to be present in the particular data storage area comprises storing, in the metadata for the particular data storage area, identifiers for each of multiple types of data that are determined to be present in the encrypted data of the particular data storage area.
The method of claim 2 , wherein storing metadata that indicates the types of data determined to be present in the particular data storage area comprises: for each of at least some of the predetermined data classifications, storing, in the metadata for the particular data storage area, a value that indicates whether the encrypted data of the particular data storage area includes information of the type represented by the predetermined data classification.
for each of at least some of the predetermined data classifications, storing, in the metadata for the particular data storage area, a value that indicates whether the encrypted data of the particular data storage area includes information of the type represented by the predetermined data classification.
The method of claim 2 , wherein storing the data indicating the set of predetermined data classifications comprises storing data indicating a hierarchy of categories that represent types of data at different levels of specificity; and wher
[Truncated to input limit]