Clearing web browser data
Patent Information
- Application Number
- JP2024535211
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-14
- Filing Date
- 2022-12-14
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2042-12-14
Smart Images

Figure 2024546489000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a method and system for deleting web browser data. [Background technology]
[0002] Web browsers that store sensitive data, such as cookies, typically allow a user to manually delete such data or configure the web browser to delete all such data, for example, when the web browser terminates execution. Unfortunately, while such mechanisms provide some protection against malicious actors attempting to access such data, they require user awareness and vigilance, which is not always available. Summary of the Invention [Means for solving the problem]
[0003] In one aspect of the invention, a method for deleting web browser data is provided, the method including the steps of: saving a hostname set of uniform resource locators, where a hostname of the uniform resource locator is added to the hostname set in response to the uniform resource locator being accessed by the web browser, and where a hostname of the uniform resource locator is added to the hostname set in response to determining that each condition in a set of one or more predefined grouping conditions defining a logical group is satisfied by the uniform resource locator; deleting one or more types of data stored by the web browser in association with the uniform resource locator associated with a hostname in the hostname set, performed in accordance with a predefined deletion policy specifying the one or more types of data to be deleted and one or more predefined deletion conditions, in response to determining that each condition in the set of the one or more predefined deletion conditions is satisfied, and determining that the web browser is not currently accessing any of the uniform resource locators associated with a hostname in the hostname set.
[0004] In another aspect of the invention, the defined grouping conditions include conditions that logically group uniform resource locators that have a common defined uniform resource locator portion.
[0005] In another aspect of the invention, the predefined grouping conditions include conditions that logically group uniform resource locators that belong to a group of predefined uniform resource locators.
[0006] In another aspect of the invention, the predefined grouping conditions include conditions that logically group uniform resource locators associated with predefined website categories.
[0007] In another aspect of the invention, the predefined grouping conditions include conditions that logically group uniform resource locators associated with the predefined risk reputations.
[0008] In another aspect of the invention, the deleting step is performed a defined time after determining that the web browser is not currently accessing any uniform resource locator associated with a host name in the host name set.
[0009] In another aspect of the invention, a removal policy specifies one or more logical groups of host names to which the removal policy applies.
[0010] Another aspect of the invention further includes configuring a web browser to perform the saving and deleting steps.
[0011] In another aspect of the invention, a system for deleting web browser data is provided, the system including: a hostname management unit configured to store a hostname set of uniform resource locators, where a hostname of the uniform resource locator is added to the hostname set in response to the uniform resource locator being accessed by the web browser, and where a hostname of the uniform resource locator is added to the hostname set in response to determining that each condition in a set of one or more predefined grouping conditions defining a logical group is satisfied by the uniform resource locator; and a data deletion management unit configured to delete one or more types of data stored by the web browser in association with the uniform resource locator associated with the hostname in the hostname set, where the data deletion management unit is configured to delete the one or more types of data in accordance with a predefined deletion policy specifying the one or more types of data to be deleted and the one or more predefined deletion conditions, and configured to delete the one or more types of data in response to determining that each condition in the set of the one or more predefined deletion conditions is satisfied and determining that the web browser is not currently accessing any of the uniform resource locators associated with the hostname in the hostname set.
[0012] In another aspect of the invention, the data deletion manager is configured to delete one or more types of data after a defined time has elapsed after determining that the web browser is not currently accessing any uniform resource locator associated with a host name in the host name set.
[0013] In another aspect of the invention, the host name manager and the data deletion manager are integrated into a web browser. [Brief description of the drawings]
[0014] 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:
[0015] [Figure 1A]1 is a simplified conceptual diagram of a system for deleting web browser data, 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 of operation of the system of FIG. 1A, operating in accordance with an embodiment of the present invention. [Diagram 2] 1 is an example of source code for adding a hostname of a URL to a hostname set, operating in accordance with an embodiment of the present invention. [Diagram 3] 4 is an example of source code for detecting inactivity on a web page, operating in accordance with an embodiment of the present invention. [Figure 4] 1 is an example showing how a set of hostnames for a URL can be stored by a Google Chrome™ web browser using IndexedDB, operating in accordance with an embodiment of the present invention. [Diagram 5] 1 is a simplified method for storing URL-related data in a computer, operative in accordance with an embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Reference is now made to Figures 1A and 1B, where Figure 1A is a simplified conceptual diagram of a system for deleting web browser data, constructed and operative in accordance with an embodiment of the present invention, and Figure 1B is a simplified flow chart diagram of an exemplary method of operation of 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.
[0017] Web browser 100 includes a hostname manager 106 configured to store one or more hostname sets 108 of Uniform Resource Locators (URLs) accessed by web browser 100. When web browser 100 accesses a URL, hostname manager 106 determines whether the URL satisfies conditions specified in one or more predefined grouping condition sets 110, where each grouping condition set 110 defines a logical group of URLs. For example, set 110 may include one or more of the following grouping conditions: - URLs that share a common part, such as URLs that contain the same host name (e.g., "salesforce.com") A URL whose hostname exists in a predefined list of multiple related hostnames (e.g., shared by the same application) -URLs that belong to a predefined group of URLs URLs associated with the same website category, including URLs that may be provided by third-party website category providers URLs that share the same risk reputation, such as those that may be provided by a third-party website's risk reputation.
[0018] Host names of URLs accessed by the web browser 100 and satisfying the same conditions specified in a given grouping condition set 110 are added to the same host name set 108 by the host name management unit 106. Thus, for example, if the given grouping condition set 110 specifies that URLs associated with the same website category are to be logically grouped, then the host names of URLs associated with the website category of "banking websites" are all added to one host name set 108 by the host name management unit 106, and the host names of URLs associated with the website category of "entertainment websites" are all added to another host name set 108 by the host name management unit 106. The grouping condition set 110 may be pre-configured in the web browser 100. Additionally or alternatively, the grouping condition set 110 may be provided to the web browser 100 by a system administrator from a computer server 112, for example according to the techniques described in U.S. patent application Ser. No. 17 / 740,457.
[0019] The web browser 100 further includes a data deletion manager 114 configured to delete one or more types of data 116 stored by the web browser 100 in association with hostnames in any of the hostname sets 108. The web browser 100 deletes the data according to predefined deletion policies 118 that specify the types of data to be deleted and one or more deletion conditions. Additionally, each deletion policy 118 preferably specifies one or more logical groups of hostnames to which the deletion policy 118 applies.
[0020] Some examples of types of data that the deletion policy 118 may specify for deletion include cookies, cache data, HTML5 local storage, browsing history, etc. Some examples of deletion conditions include: A predefined period of time has elapsed during which no keyboard or mouse interaction has occurred on any web page associated with any hostname in the hostname set; and a web browser tab displaying a web page associated with any hostname in the hostname set is closed; and The computer is locked, - the computer hosting the web browser has been idle for a predefined period of time; - The condition that the web browser self-terminates its execution; If the web browser is terminated but not terminated by itself, the web browser is restarted; The current time must be the specified time, and The behavior of the designated computer has changed, for example, anti-virus software has stopped working on the computer hosting the web browser; and The characteristics of a particular computer network have changed, for example, the computer has switched its connection from an approved network to an unauthorized network; and The condition is that the web browser or the computer hosting the web browser receives instructions from a system administrator to, for example, log out all users from the salesforce.com URL. Includes.
[0021] For each predefined hostname set 108 and for each predefined deletion policy 118 applicable to the predefined hostname set 108, the web browser 100 determines whether each deletion condition in the predefined deletion policy 118 is satisfied and further determines whether the web browser 100 is currently accessing any URLs associated with the hostnames in the predefined hostname set 108. If each deletion condition in the predefined deletion policy 118 is satisfied and if the web browser 100 is not currently accessing any URLs associated with the hostnames in the predefined hostname set 108, the web browser 100 deletes the type of data specified by the predefined deletion policy 118 that was stored by the web browser 100 in association with the hostnames in the predefined hostname set 108. The web browser 100 is selectably configured to perform the deletion only after a predefined "grace" time has elapsed after determining that the web browser 100 is not currently accessing any URLs associated with the hostnames in the predefined hostname set 108, the grace time being indicated by the predefined deletion policy 118. The deletion policy 118 may be preconfigured in the web browser 100. Additionally or alternatively, the deletion policy 118 may be provided to the web browser 100 by a system administrator from the computer server 112, for example according to the techniques described in US patent application Ser. No. 17 / 740,457.
[0022] Below, with reference to Figures 2 and 3, examples of source code are provided that implement aspects of the system of Figure 1A and the method of Figure 1B. Below, with reference to Figure 4, an example is provided that illustrates how the hostname set 108 may be stored by the Google Chrome™ web browser.
[0023] An example of source code for adding a hostname to a hostname set is shown in Figure 2. In this example, a data structure is stored for storing hostnames of interest. When a URL is accessed by a web browser, such as web browser 100 of Figure 1A, if the hostname of the URL is not already stored in an existing record in the data structure as part of a logical group of hostnames, a new record is created for the logical group and the hostname is stored in the new record. If the URL meets the criteria of a logical group that has a record, the hostname of the URL is added to the record and a timestamp associated with the logical group is updated.
[0024] An example of source code for detecting web page inactivity is shown in FIG. 3. In this example, a data structure that tracks host names is queried when an event for data deletion is triggered, and the query is performed at the level of logical groups of host names, searching for groups whose timestamps indicate inactivity at a specified time, which is preferably configurable by a system administrator. The code then determines whether any URLs associated with the host names in the logical group are currently being accessed by a web browser tab. If any URLs associated with the host names in the logical group are not currently being accessed by a web browser tab, then data stored by the web browser related to any URLs associated with the host names in the logical group is subsequently deleted. Otherwise, the timestamp of the logical group is updated, and further checking of this group is delayed.
[0025] An example of how a hostname set may be stored by the Google Chrome™ web browser using IndexedDB is shown in Figure 4. This example shows a data structure used to track logical groups of hostnames, where each logical group has a unique logical group ID, a list of the hostnames in the group, and a timestamp indicating when the group was last checked for open tabs.
[0026] Reference is now made to FIG. 5, which is a simplified method of storing URL-related data in a computer, operating in accordance with an embodiment of the present invention. In the method of FIG. 5, which may be used in the web browser 100 of FIG. 1A, a user-related encryption key is provided to a web browser, such as the web browser 100, by a computer server, such as the computer server 112 of FIG. 1A. The user-related encryption key is provided to the web browser after a user of the web browser has been authenticated by the computer server, for example, in accordance with the techniques described in U.S. Patent Application No. 17 / 740,457. The user-related encryption key is preferably uniquely associated with the user in combination with the web browser or the computer hosting the web browser. All data stored by the web browser in association with URLs accessed by the user during use of the web browser is stored in the computer hosting the web browser after being encrypted by the web browser using an encryption key that is a combination of the computer-provided encryption key and the user-related encryption key provided by the computer hosting the web browser in accordance with conventional techniques. The computer-provided encryption key may be, for example, provided by the Microsoft Windows™ Data Protection Application Programming Interface (DPAPI) or may be a randomly generated key stored by the Keychain Access application of the Apple macOS™ operating system. The user-associated encryption key and the computer-provided encryption key may be combined according to conventional means, such as simple concatenation. The encrypted data may be stored on any data storage medium. The web browser then uses the combined key to decrypt the data when such encrypted data is required by the web browser.
[0027] The method of FIG. 5 can be implemented, for example, by a web browser based on the Google™ Chromium™ architecture by extending Chromium's CanonicalCookie implementation into an EncryptedCanonicalCookie class that stores the CanonicalCookie value, encrypted using a combination of a user-associated encryption key and a computer-provided encryption key, and decrypted when EncryptedCanonicalCookie::Value() is called by the process that stores the key, preferably just before the in-memory value is needed.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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 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.
[0035] 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.
[0036] 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.
[0037] 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 capable of directing 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.
[0038] The computer readable program instructions may also be loaded into a computer, other programmable data processing apparatus or other device, such that the instructions execute on the computer, other programmable apparatus or other device to 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.
[0039] 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.
[0040] 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. saving a hostname set of uniform resource locators, a hostname of a uniform resource locator being added to the hostname set in response to the uniform resource locator being accessed by a web browser, and a hostname of a uniform resource locator being added to the hostname set in response to determining that each condition in a set of one or more predefined grouping conditions defining a logical group is satisfied by the uniform resource locator; deleting one or more types of data stored by the web browser in association with uniform resource locators associated with hostnames in the hostname set, performed in accordance with a predefined deletion policy that specifies one or more types of data to be deleted and one or more predefined deletion conditions, performed in response to determining that each condition in the set of one or more predefined deletion conditions is satisfied and in response to determining that the web browser is not currently accessing any uniform resource locators associated with hostnames in the hostname set; How to delete your web browser data, including:
2. The method of claim 1 , wherein the predefined grouping conditions include conditions that logically group uniform resource locators that have a common predefined uniform resource locator portion.
3. The method of claim 1 , wherein the predefined grouping conditions include conditions for logically grouping uniform resource locators that belong to a group of predefined uniform resource locators.
4. The method of claim 1 , wherein the predefined grouping conditions include conditions that logically group uniform resource locators associated with predefined website categories.
5. The method of claim 1 , wherein the predefined grouping conditions include conditions that logically group uniform resource locators associated with predefined risk reputations.
6. 2. The method of claim 1, wherein the deleting step is performed a predefined time after the web browser determines that it is not currently accessing any uniform resource locator associated with a host name in the host name set.
7. The method of claim 1 , wherein the removal policy specifies one or more logical groups of host names to which the removal policy applies.
8. The method of claim 1 , further comprising the step of configuring the web browser to perform the steps of saving and deleting.
9. a hostname manager configured to store a hostname set of uniform resource locators, a hostname of a uniform resource locator being added to the hostname set in response to the uniform resource locator being accessed by a web browser, and a hostname of a uniform resource locator being added to the hostname set in response to determining that each condition in a set of one or more predefined grouping conditions defining a logical group is satisfied by the uniform resource locator; a data deletion manager configured to delete one or more types of data stored by the web browser in association with uniform resource locators associated with hostnames in the hostname set, the data deletion manager configured to delete the one or more types of data in accordance with a predefined deletion policy that specifies one or more types of data to be deleted and one or more predefined deletion conditions, the data deletion manager configured to delete the one or more types of data in response to determining that each condition in the set of one or more predefined deletion conditions is satisfied and determining that the web browser is not currently accessing any uniform resource locators associated with hostnames in the hostname set; A system for deleting web browser data, including
10. 10. The system of claim 9, wherein the defined grouping conditions include conditions that logically group uniform resource locators that have a common defined uniform resource locator portion.
11. The system of claim 9 , wherein the predefined grouping conditions include conditions for logically grouping uniform resource locators that belong to a group of predefined uniform resource locators.
12. The system of claim 9 , wherein the predefined grouping criteria include criteria that logically group uniform resource locators associated with predefined website categories.
13. The system of claim 9 , wherein the predefined grouping conditions include conditions that logically group uniform resource locators associated with predefined risk reputations.
14. 10. The system of claim 9, wherein the data deletion manager is configured to delete the one or more types of data after a defined time has elapsed after determining that the web browser is not currently accessing any uniform resource locator associated with a host name in the host name set.
15. The system of claim 9 , wherein the removal policy specifies one or more logical groups of host names to which the removal policy applies.
16. The system of claim 9 , wherein the host name manager and the data deletion manager are integrated into the web browser.
Citation Information
Patent Citations
Method and equipment for processing access website history record information
CN103020214A
Enterprise reputations for uniform resource locators
US20160380977A1
Managing and organizing web browser cache
US20170168959A1
