Web browser defenses against man-in-the-middle attacks
By verifying root certificate authorities and applying revocation criteria, web browsers enhance security against man-in-the-middle attacks by ensuring valid certificates are used, thwarting malicious actors.
Patent Information
- Application Number
- JP2024534698
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-14
- Filing Date
- 2022-12-14
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2042-12-14
AI Technical Summary
Existing web browser security systems are vulnerable to man-in-the-middle attacks due to manipulation of trusted root certificate authority lists by malicious actors.
Configuring web browsers to verify the inclusion of root certificate authorities in both the operating system's list and an administrator-provided list, and applying predefined revocation criteria to certificates, thereby preventing communication with malicious actors.
Thwarts man-in-the-middle attacks by ensuring valid certificates are used, enhancing security against unauthorized modifications and tampering.
Smart Images

Figure 0007721812000002 
Figure 0007721812000003 
Figure 0007721812000004
Abstract
Description
[Technical Field]
[0001] The present invention relates to a computer network security method. [Background technology]
[0002] Computer network communications are often secured through the use of encryption and decryption keys and certificates issued by certification authorities, such as those used by Hypertext Transfer Protocol Secure (HTTPS), which employs the Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols. According to such protocols, a certificate provided to a web browser by a computer server is verified by the web browser, typically by tracing the certificate along a chain of intermediate certificate authorities to a root certificate authority and authenticating the digital signature provided by each certificate authority along the chain. Web browsers are aided in this task by consulting a list of "trusted" root certificate authorities stored by the web browser, the operating system of the computer hosting the web browser, or both. Unfortunately, existing systems are vulnerable to malicious actors manipulating such lists to support man-in-the-middle attacks. Summary of the Invention [Means for solving the problem]
[0003] In one aspect of the invention, a computer network security method includes the steps of configuring a web browser with the ability to determine if a root certificate authority appears in a first list of trusted root certificate authorities stored by an operating system of a host computer hosting the web browser, configuring the web browser with the ability to determine if the root certificate authority was included in the first list at the time the operating system was installed on the host computer or is subsequently included in the first list by the operating system, configuring the web browser with the ability to determine if the root certificate authority appears in a second list of trusted root certificate authorities provided to the web browser by an administrator, and configuring the web browser to determine if a certificate meets defined revocation criteria; configuring the web browser to cease communicating with the party that provided the certificate to the web browser in response to the web browser determining that the certificate meets the defined revocation criteria; A method is provided, comprising:
[0004] In another aspect of the invention, the computer network security method further includes configuring the web browser to validate the certificate and thereafter determine whether the certificate meets the defined revocation criteria.
[0005] In another aspect of the invention, the defined invalidation criteria are the following criteria: The certificate's root authority does not appear in the first list, The certificate's root certificate authority was not included in the first list at the time the operating system was installed on the host computer or was not included in the first list by the operating system after the operating system was installed on the host computer; and The certificate's root authority does not appear in the second list Contains one or more of the following: [Brief explanation of the drawings]
[0006] Aspects of the present invention will be more fully understood and appreciated from the following detailed description read in conjunction with the accompanying drawings, in which:
[0007] [Figure 1A] 1 is a simplified conceptual diagram of a system for defending web browsers against man-in-the-middle attacks, constructed and operative in accordance with an embodiment of the present invention; [Figure 1B] 1B is a simplified flowchart diagram of an exemplary method for use with the system of FIG. 1A, operating in accordance with an embodiment of the present invention. [Figure 1C] 1B is a simplified conceptual diagram of a reporting system for use with the system of FIG. 1A, operating in accordance with an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0008] Reference is now made to Figures 1A and 1B, where Figure 1A is a simplified conceptual diagram of a system for defending a web browser against man-in-the-middle attacks, constructed and operative in accordance with an embodiment of the present invention, and Figure 1B is a simplified flowchart diagram of an exemplary method for use with the system of Figure 1A, operative in accordance with an embodiment of the present invention. In the system of Figure 1A and the method of Figure 1B, a web browser 100 is configured to incorporate functionality of a conventional web browser, e.g., functionality based on the Google™ Chromium™ architecture, and further configured to operate as described below. The web browser 100 may be hosted by any computing device, such as a host computer 102, connected to a computer network 104, such as the Internet. An operating system 106 of the host computer 102 is configured to store a list 108 of trusted root certificate authorities in accordance with conventional techniques, such as where the root certificate authorities are issuers of certificates that may be verified in accordance with the Transport Layer Security (TLS) protocol.
[0009] The operating system 106 is also preferably configured to provide the web browser 100 with an indicator of whether a root certificate authority in the list 108 was included in the list 108 at the time the operating system 106 was installed on the host computer 102 or has been subsequently included in the list 108 by the operating system 106. For example, if the operating system 106 is Microsoft Windows™, the web browser 100 is configured to use the Microsoft Windows™ CertGetCertificateContextProperty application programming interface (API) to check the property CERT_AUTH_ROOT_SHA256_HASH_PROP_ID of a given root certificate authority as follows:
number
[0010] Web browser 100 is configured to perform certificate validation according to conventional techniques, such as the Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocols, in which a certificate 110 received by web browser 100 is typically traced along a chain of intermediate certificate authorities to a root certificate authority, and the digital signature provided by each certificate authority along the chain is authenticated. In one example, certificate 110 is received by web browser 100 from computer server 112 in response to web browser 100 attempting to access the website of computer server 112 via computer network 104.
[0011] According to an embodiment of the present invention, web browser 100 is further configured to receive list 116 of trusted root certificate authorities and predefined revocation criteria 118 from administrator 114. In one embodiment of the present invention, list 116 and predefined revocation criteria 118 are provided to web browser 100 by administrator 114 if host computer 102 is a "managed device" whose settings are protected according to conventional access control techniques such that they are configurable only by authorized personnel, such as administrator 114. Additionally or alternatively, list 116 and predefined revocation criteria 118 are provided to web browser 100 by administrator 114 according to the techniques described in U.S. patent application Ser. No. 17 / 740,457, such as when list 116 and predefined revocation criteria 118 are received from computer server 120 in the form of policies defined by administrator 114 and configured to be enforced by web browser 100.
[0012] According to an embodiment of the present invention, web browser 100 is further configured with the ability to determine whether a root certificate authority appears in list 108 and whether a root certificate authority appearing in list 108 was included in list 108 at the time operating system 106 was installed on host computer 102 or was subsequently included in list 108 by operating system 106. Web browser 100 is further configured with the ability to determine whether a certificate's root certificate authority appears in list 116 of trusted root certificate authorities provided to web browser 110 by administrator 114.
[0013] According to an embodiment of the present invention, the web browser 100 is further configured to determine, either before or after validating the certificate according to the prior art, whether the certificate satisfies predefined revocation criteria 118. According to an embodiment of the present invention, the predefined revocation criteria 118 may be any of the following criteria: The certificate's root certificate authority does not appear in the list of trusted root certificate authorities stored by the host computer's operating system, The certificate's root certificate authority was not included in the list (of trusted root certificate authorities stored by the host computer's operating system) by the operating system or at the time the operating system was installed on the host computer; The certificate's root authority does not appear in the list of trusted root certificate authorities provided to your web browser by your administrator. Contains one or more of the following:
[0014] Web browser 100 is preferably configured to determine whether a certificate meets predefined revocation criteria 118 after web browser 100 initially receives the certificate from a party and before web browser 100 subsequently communicates with that party. Web browser 100 is preferably configured to cease communicating with the party that provided the certificate if web browser 100 determines that the certificate meets predefined revocation criteria 118. Thus, in a man-in-the-middle attack or the like, if a certificate is provided to web browser 100 by a malicious actor, and web browser 100 determines that the certificate meets predefined revocation criteria 118 and, as a result, ceases communicating with the malicious actor, the man-in-the-middle attack may be thwarted.
[0015] According to an embodiment of the present invention, web browser 100 is further configured to prevent access to keys, such as SSL or TLS public and private encryption keys, used by web browser 100 to encrypt and decrypt traffic between web browser 100 and a certificate provisioning endpoint. This may be done, for example, by omitting APIs from web browser 100 that provide such keys on request.
[0016] According to an embodiment of the present invention, web browser 100 is further configured to determine, in accordance with conventional techniques, whether any software restrictions of operating system 106 have been disabled, such as by achieving root access on a computing device using the Google Android™ operating system or by "jailbreaking" a computing device using the Apple iOS™ operating system. In one variation of this embodiment, web browser 100 is configured to self-terminate in response to determining that any such restrictions have been disabled.
[0017] According to an embodiment of the present invention, web browser 100 is further configured to determine, in accordance with conventional techniques, whether the proxy settings of either host computer 102 or operating system 106 have been tampered with, for example, by a party other than administrator 114 or in a manner not in accordance with the techniques described in U.S. patent application Ser. No. 17 / 740,457. In one variation of this embodiment, web browser 100 is configured to self-terminate in response to determining that any such restrictions have been overridden.
[0018] 1C, which is a simplified reporting system for use with the system of FIG. 1A, constructed and operative in accordance with an embodiment of the present invention. In the system of FIG. 1C, web browser 100 reports information related to any of the decisions made by web browser 100, as described above, to a recipient, such as administrator 114 or computer server 120. This related information may include: · determining that defined revocation criteria 118 are met with respect to a pre-validated certificate; determining that software restrictions in the operating system 106 have been disabled; Determining that the proxy settings of the host computer 102 or the operating system 106 have been unauthorizedly modified Examples include:
[0019] In one variation of this embodiment, the web browser 100 is configured to report information by issuing Hypertext Transport Protocol (HTTP) requests to a computer network address at which the web browser 100 is configured in a manner that bypasses any proxies of the host computer 102 and the operating system 106.
[0020] In another variation of this embodiment, the web browser 100 is configured to report the information by issuing a Domain Name System (DNS) query to resolve a specified Uniform Resource Locator (URL), where the reported information is encoded into the subdomain portion of the URL, such as using base64 encoding.
[0021] In another variation of this embodiment, the web browser 100 is configured to report information using facilities provided by the operating system 106, such as Event Tracing for Windows™ (ETW) on computing devices using the Microsoft Windows™ operating system, or Syslog™ on computing devices using the Apple MacOS™ operating system or Linux™, where the reported information is stored in a log file.
[0022] In another variation of this embodiment, the web browser 100 is configured to report information using applications installed on the host computer 102 according to the techniques described in U.S. patent application Ser. No. 17 / 740,457.
[0023] Any aspect of the invention described herein may be implemented in computer hardware and / or computer software embodied in a non-transitory computer-readable medium in accordance with conventional techniques, where the computer hardware includes one or more computer processors, computer memory, I / O devices and network interfaces that interoperate in accordance with conventional techniques.
[0024] It should be noted that the term "processor" or "device" as used herein is intended to include any processing device, such as one that includes a CPU (Central Processing Unit) and / or other processing circuitry. It should also be understood that the term "processor" or "device" may refer to multiple processing devices, and that various elements associated with a processing device may be shared by other processing devices.
[0025] The term "memory" as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, fixed memory devices (e.g., hard drives), removable memory devices (e.g., diskettes), flash memory, etc. Such memory may be considered a computer-readable storage medium.
[0026] Furthermore, the term "input / output device" or "I / O device" as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, scanner, etc.) that input data to a processing unit, and / or one or more output devices (e.g., speaker, display, printer, etc.) that present results associated with a processing unit.
[0027] Embodiments of the invention may include systems, methods, and / or computer program products, which may include a computer-readable storage medium (or media) having computer-readable program instructions for causing a processor to perform aspects of the invention.
[0028] A computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded devices such as punch cards or raised structures in slots on which instructions are recorded, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be construed as being inherently transitory signals, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., light pulses passing through fiber optic cable), or electrical signals transmitted over electrical wires.
[0029] The computer-readable program instructions described herein may be downloaded to each computing / processing device from a computer-readable storage medium or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium within the respective computing / processing device.
[0030] The computer-readable program instructions for carrying out the operations of the present invention may be either source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as the "C" programming language or similar. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic network, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.
[0031] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0032] These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions may also be stored on a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular way, such that the computer-readable storage medium on which the instructions are stored comprises an article of manufacture containing instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0033] The computer-readable program instructions may also be loaded into a computer, other programmable data processing apparatus, or other device, causing the computer, other programmable apparatus, or other device to perform a series of operational steps to produce a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus, or other device, implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0034] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of computer instructions, which comprises one or more executable computer instructions that implement the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the functionality involved. It should be noted that each block in the flowcharts and block diagrams, and combinations of such blocks, may be implemented by dedicated hardware-based and / or software-based systems that perform the specified functions or acts.
[0035] The description of various embodiments of the present invention has been presented for purposes of illustration and is not intended to be exhaustive or to be limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments.
Claims
1. 1. A computer network security method comprising: configuring a web browser with the capability to determine if a root certificate authority appears in a first list of trusted root certificate authorities stored by an operating system of a host computer hosting said web browser; configuring the web browser to have the capability to determine whether the root certificate authority was included in the first list at the time the operating system was installed on the host computer or is subsequently included in the first list by the operating system; configuring the web browser with the capability to determine if the root certification authority appears in a second list of trusted root certification authorities provided to the web browser by an administrator; configuring the web browser to determine if a certificate meets predefined revocation criteria; configuring the web browser to cease communicating with the party that provided the certificate to the web browser in response to the web browser determining that the certificate meets the defined revocation criteria; A computer network security method comprising:
2. 2. The computer network security method of claim 1, further comprising configuring the web browser to validate the certificate and thereafter determine whether the certificate meets the defined revocation criteria.
3. The defined invalidation criteria are as follows: the root certificate authority of the certificate does not appear in the first list; the root certificate authority of the certificate was not included in the first list at the time the operating system was installed on the host computer or was not included in the first list by the operating system after the operating system was installed on the host computer; and The root certificate authority of the certificate does not appear in the second list 10. The computer network security method of claim 1, comprising one or more of:
Citation Information
Patent Citations
Method for a Web site with a proxy domain name registration to receive a secure socket layer certificate
US20050289084A1
Verification system for creating a secure link
US20180262345A1
Using resource records for digital certificate validation
US9380053B1