Web browser defenses against man-in-the-middle attacks
The web browser security method verifies and validates root certificate authorities, preventing unauthorized communication to thwart man-in-the-middle attacks by ensuring only trusted authorities are used.
Patent Information
- Application Number
- JP2024534698
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-14
- Filing Date
- 2022-12-14
- Publication Date
- 2025-01-23
- Estimated Expiration
- 2042-12-14
AI Technical Summary
Existing computer network security systems are vulnerable to man-in-the-middle attacks due to manipulation of trusted root certificate authority lists by malicious actors, compromising the security of web browsers.
A web browser security method that verifies the inclusion of root certificate authorities in trusted lists and checks for predefined revocation criteria, including whether the authority was installed with the operating system or added later, and whether it is in a secondary list of trusted authorities, and ceases communication if criteria are met.
Thwarts man-in-the-middle attacks by ensuring the web browser only communicates with trusted certificate authorities, enhancing security by preventing unauthorized communication.
Smart Images

Figure 2025501699000001_ABST
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) using 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. The web browser is 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 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 the web browser, configuring the web browser with the capability 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 capability 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 a 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 predefined invalidation criteria are the following criteria: The root authority of the certificate does not appear in the first list, the root 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 certificate root authority does not appear in the second list Contains one or more of the following: [Brief description of the drawings]
[0006] Aspects of the present invention will be more fully understood and appreciated from the following detailed description taken in conjunction with the accompanying drawings, in which:
[0007] [Figure 1A] 1 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. [Figure 1B] 1B is a simplified flow chart 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 PREFERRED EMBODIMENTS
[0008] Reference is now made to Figures 1A and 1B, which are 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 a simplified flow chart diagram of an exemplary method for use with the system of Figure 1A, which operates 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, such as 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 in accordance with 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 digital signatures provided by each certificate authority along the chain are authenticated. In one example, certificate 110 is received by web browser 100 from computer server 112 in response to an attempt by web browser 100 to access a website of computer server 112 via computer network 104.
[0011] According to an embodiment of the present invention, the web browser 100 is further configured to receive a list 116 of trusted root certificate authorities and predefined revocation criteria 118 from the administrator 114. In one embodiment of the present invention, the list 116 and predefined revocation criteria 118 are provided to the web browser 100 by the administrator 114 if the 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 the administrator 114. Additionally or alternatively, the list 116 and predefined revocation criteria 118 are provided to the web browser 100 by the administrator 114 according to the techniques described in U.S. patent application Ser. No. 17 / 740,457, such as when the list 116 and predefined revocation criteria 118 are received from the computer server 120 in the form of a policy defined by the administrator 114 and configured to be enforced by the web browser 100.
[0012] According to an embodiment of the 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 has been subsequently included in list 108 by operating system 106. Web browser 100 is further configured with the ability to determine whether the root certificate authority of a certificate appears in a 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 authority does not appear in the list of trusted root authorities stored by the host computer's operating system, The certificate's root 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 authorities provided to the web browser by the administrator. Contains one or more of the following:
[0014] The web browser 100 is preferably configured to determine whether a certificate meets predefined revocation criteria 118 after the web browser 100 initially receives a certificate from a party and before the web browser 100 subsequently communicates with that party. The web browser 100 is preferably configured to cease communicating with the party that provided the certificate if the 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 the web browser 100 by a malicious actor, and the web browser 100 determines that the certificate meets the 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 performed, for example, by omitting APIs from web browser 100 that provide such keys upon request.
[0016] According to an embodiment of the present invention, web browser 100 is further configured to determine 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 accordance with conventional techniques. 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, e.g., by a party other than administrator 114 or in a manner other than 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] With further reference now to Figure 1C, Figure 1C is a simplified reporting system for use with the system of Figure 1A, constructed and operative in accordance with an embodiment of the present invention. In the system of Figure 1C, the web browser 100 reports information related to any of the decisions made by the web browser 100 as described above to a recipient, such as an administrator 114 or a computer server 120. This related information may include: determining that predefined 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 the computer network address for 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 in accordance with 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, for example, 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., a keyboard, mouse, scanner, etc.) that input data to a processing unit, and / or one or more output devices (e.g., a speaker, a display, a printer, etc.) that present results associated with a processing unit.
[0027] Embodiments of the invention may include systems, methods, and / or computer program products. The computer program product 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 capable of storing and storing 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 memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or raised structures in grooves on which instructions are recorded, and any suitable combination of the foregoing. As used herein, computer-readable storage media should not be interpreted 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 a 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 over 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 transmission fiber, wireless transmission, 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 transfers the computer-readable program instructions for storage on a computer-readable storage medium internal to the respective computing / processing device.
[0030] The computer readable program instructions for carrying out the operations of the present invention may be either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object oriented programming languages such as Java, Smalltalk, C++, and traditional procedural programming languages such as the "C" programming language or similar programming languages. The computer readable program instructions may be executed 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 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 further be stored on a computer readable storage medium capable of instructing a computer, programmable data processing apparatus, and / or other device to function in a particular manner, such that the computer readable storage medium on which the instructions are stored comprises an article of manufacture including 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 such that the instructions, which execute on a computer, other programmable apparatus or other device, implement the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams, causing the computer, other programmable apparatus or other device to perform a series of operational steps to produce a computer-implemented process.
[0034] The flowchart diagrams and block diagrams in the drawings 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 flowchart diagrams or block diagrams may represent a module, segment, or portion of computer instructions, including one or more executable computer instructions for implementing the specified logical function. In some alternative implementations, the functions described in the blocks may be performed in a different order than that described in the drawings. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or the blocks may be executed in the reverse order depending on the functionality involved. It should be noted that each block in the flowchart diagrams and block diagrams, as well as combinations of such blocks, may be implemented by dedicated hardware-based and / or software-based systems for performing the specified functions or acts.
[0035] The description of various embodiments of the present invention has been presented for purposes of illustration, but 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 whether a root certificate authority appears in a first list of trusted root certificate authorities stored by an operating system of a host computer that hosts the web browser; configuring the web browser with 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 has been subsequently included in the first list by the operating system; configuring the web browser with the capability to determine whether 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 whether 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 the step of configuring said web browser to validate said certificate and thereafter determine whether said certificate meets said predefined 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 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.
2. The computer network security method of claim 1, further comprising one or more of the following:
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