Clearing web browser data
The method and system automatically group and delete web browser data based on predefined conditions, addressing the need for user awareness in existing deletion mechanisms by enhancing security through automated data removal.
Patent Information
- Application Number
- JP2024535211
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-14
- Filing Date
- 2022-12-14
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2042-12-14
AI Technical Summary
Existing web browser data deletion mechanisms require user awareness and vigilance, failing to protect against malicious access due to lack of automated and proactive data removal.
A method and system that automatically groups URLs based on predefined conditions, such as hostname, category, or risk reputation, and deletes associated browser data when predefined deletion conditions are met, ensuring data security without user intervention.
Automated deletion of web browser data enhances security by proactively removing sensitive information, protecting against unauthorized access and reducing user dependency for manual deletion.
Smart Images

Figure 0007763957000001 
Figure 0007763957000002 
Figure 0007763957000003
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 require a user to manually delete such data or can be configured to delete all such data, for example, when the web browser is terminated. Unfortunately, while such mechanisms offer 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 present invention, a method for deleting web browser data is provided, the method including the steps of: saving a hostname set of uniform resource locators, wherein a hostname of the uniform resource locator is added to the hostname set in response to the uniform resource locator being accessed by a web browser, and wherein 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 deleting one or more types of data stored by the web browser in association with the uniform resource locators associated with hostnames in the hostname set, the steps being 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, the steps being performed 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 hostnames 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 present 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 defined grouping conditions include conditions that logically group uniform resource locators associated with the defined risk reputations.
[0008] In another aspect of the invention, the deleting step is performed after a defined time has elapsed since 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 present invention, a system for deleting web browser data is provided, the system including: a hostname manager configured to store a hostname set of uniform resource locators, wherein a hostname of the uniform resource locator is added to the hostname set in response to the uniform resource locator being accessed by a web browser, and wherein 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 manager configured to delete one or more types of data stored by the web browser in association with the uniform resource locators associated with the hostnames in the hostname set, wherein the data deletion manager is configured to delete the one or more types of data in accordance with a predefined deletion policy that specifies the one or more types of data to be deleted and the one or more predefined deletion conditions, and wherein the data deletion manager is 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 hostnames 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 present invention, the host name manager and the data deletion manager are integrated into a web browser. [Brief explanation of the drawings]
[0014] 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:
[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 flowchart diagram of an exemplary method of operation of the system of FIG. 1A, operating in accordance with an embodiment of the present invention. [Figure 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. [Figure 3] 1 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 illustrating 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. [Figure 5] 1 is a simplified method for storing URL-related data on a computer, operative in accordance with an embodiment of the present invention; DETAILED DESCRIPTION OF THE INVENTION
[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 flowchart 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. 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 defined 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, such as 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] Hostnames of URLs accessed by web browser 100 that satisfy the same conditions specified in a predetermined grouping condition set 110 are added to the same hostname set 108 by hostname management unit 106. Thus, for example, if predetermined grouping condition set 110 specifies that URLs associated with the same website category are to be logically grouped, hostnames of URLs associated with the website category of "banking websites" are all added to one hostname set 108 by hostname management unit 106, and hostnames of URLs associated with the website category of "entertainment websites" are all added to another hostname set 108 by hostname management unit 106. Grouping condition sets 110 may be pre-configured in web browser 100. Additionally or alternatively, grouping condition sets 110 may be provided to web browser 100 by a system administrator from 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. Each deletion policy 118 also 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, cached data, HTML5 local storage, browsing history, etc. Some examples of deletion conditions include: A defined period of time has elapsed without any keyboard or mouse interaction 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, and - the computer hosting the web browser has been idle for a defined period of time; - The condition that the web browser self-terminates its execution; If the web browser has been 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 is altered, for example, antivirus software stops 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 authorized network to an unauthorized network; and The condition is that the web browser or the computer hosting the web browser receives a command from a system administrator to, for example, log out all users from the salesforce.com URL. Includes:
[0021] For each predetermined host name set 108 and for each predetermined deletion policy 118 applicable to the predetermined host name set 108, the web browser 100 determines whether each deletion condition in the predetermined deletion policy 118 is satisfied and further determines whether the web browser 100 is currently accessing any URLs associated with the host names in the predetermined host name set 108. If each deletion condition in the predetermined deletion policy 118 is satisfied and if the web browser 100 is not currently accessing any URLs associated with the host names in the predetermined host name set 108, the web browser 100 deletes the type of data specified by the predetermined deletion policy 118 that was stored by the web browser 100 in association with the host names in the predetermined host name set 108. The web browser 100 may be selectably configured to perform the deletion only after a defined "grace" time has elapsed since determining that the web browser 100 is not currently accessing any URLs associated with the host names in the predetermined host name set 108, where the grace time may be indicated by the predetermined deletion policy 118. The deletion policy 118 may be pre-configured in the web browser 100. Additionally or alternatively, deletion policy 118 may be provided to web browser 100 by a system administrator from computer server 112, for example, according to the techniques described in US patent application Ser. No. 17 / 740,457.
[0022]
[0023] Referring now 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.
[0024] Referring now to Figure 4, an example is provided that illustrates how hostname set 108 may be stored by a 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 maintained to store 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 the timestamp associated with the logical group is updated.
[0024] An example of source code for detecting web page inactivity is shown in Figure 3. In this example, a data structure tracking hostnames is queried when an event for data deletion is triggered. The query is performed at the level of logical groups of hostnames, 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 hostnames in the logical group are currently being accessed by a web browser tab. If any URLs associated with the hostnames in the logical group are not currently being accessed by a web browser tab, the code subsequently deletes data stored by the web browser related to any URLs associated with the hostnames in the logical group. Otherwise, the code updates the timestamp for the logical group and delays further checks of this group.
[0025] An example of how a hostname set might 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, each with 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 illustrates a simplified method for storing URL-related data on a computer, operating in accordance with an embodiment of the present invention. In the method of FIG. 5, which may be used with web browser 100 of FIG. 1A, a user-associated encryption key is provided to a web browser, such as web browser 100, by a computer server, such as computer server 112 of FIG. 1A. The user-associated encryption key is provided to the web browser after the user of the web browser is authenticated by the computer server, for example, according to the techniques described in U.S. Patent Application No. 17 / 740,457. The user-associated 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 encrypted by the web browser using an encryption key that is a combination of the computer-provided encryption key and the user-associated encryption key provided to the web browser by the computer hosting the web browser, according to conventional techniques, and then stored on the computer hosting the web browser. The computer-provided encryption key may be provided, for example, by the Microsoft Windows™ Data Protection Application Programming Interface (DPAPI) or may be a randomly generated key stored by the Keychain Access application in 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 the data is needed by the web browser.
[0027] The method of Figure 5 can be implemented, for example, by a web browser based on the Google™ Chromium™ architecture by extending Chromium's CanonicalCookie implementation with an EncryptedCanonicalCookie class that stores the value of the CanonicalCookie, 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 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., 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.
[0032] 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.
[0033] 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.
[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 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.
[0035] 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.
[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 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.
[0038] 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.
[0039] 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.
[0040] 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. A step of saving a hostname set of uniform resource locator specifiers by a computer-hosted web browser, wherein a hostname of a uniform resource locator is added to the hostname set by the computer-hosted web browser in response to: a) the uniform resource locator being accessed by the computer-hosted web browser; and b) 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; determining, by the computer-hosted web browser, whether the computer-hosted web browser is currently accessing any uniform resource locator associated with a host name in the host name set; deleting, by the computer-hosted web browser, one or more types of data stored by the computer-hosted web browser in association with uniform resource locators associated with hostnames in the hostname set, according to a predefined deletion policy specifying the one or more types of data to be deleted and one or more predefined deletion conditions, and in response to the computer-hosted web browser determining that each condition in the set of one or more predefined deletion conditions is satisfied and determining that the computer-hosted 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 defined grouping conditions include conditions that logically group uniform resource locators that have a common defined 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 after a defined time has elapsed since the computer-hosted web browser determined 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. a hostname manager configured to store a set of hostnames for uniform resource locators, wherein a hostname for a uniform resource locator is added to the set of hostnames in response to determining: a) that the uniform resource locator is being accessed by a computer-hosted web browser; and b) 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 computer-hosted web browser in association with uniform resource locators associated with hostnames in the hostname set, the data deletion manager being configured to determine whether the computer-hosted web browser is currently accessing any uniform resource locators associated with hostnames in the hostname set, and to delete the one or more types of data in accordance with a predefined deletion policy specifying one or more types of data to be deleted and one or more predefined deletion conditions, the data deletion manager being 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 computer-hosted web browser is not currently accessing any uniform resource locators associated with hostnames in the hostname set; Including, The host name management unit and the data deletion management unit are incorporated into the computer-hosted web browser.
9. The system of claim 8 , wherein the defined grouping conditions include conditions that logically group uniform resource locators that have a common defined uniform resource locator portion.
10. The system of claim 8 , wherein the predefined grouping conditions include conditions for logically grouping uniform resource locators that belong to a group of predefined uniform resource locators.
11. The system of claim 8 , wherein the predefined grouping conditions include conditions that logically group uniform resource locators associated with predefined website categories.
12. The system of claim 8 , wherein the defined grouping conditions include conditions that logically group uniform resource locators associated with defined risk reputations.
13. 9. The system of claim 8, wherein the data deletion manager is configured to delete the one or more types of data after a defined time has elapsed since determining that the computer-hosted web browser is not currently accessing any uniform resource locator associated with a host name in the host name set.
14. The system of claim 8 , wherein the removal policy specifies one or more logical groups of host names to which the removal policy applies.
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