IP Library Granted Patent US 11,775,675
Granted Patent B2
US 11,775,675 · App. 17/230,310 · Granted Oct 3, 2023

Systems and methods of secure data input using a closed shadow document object model (DOM)

Inventor: Philippe Riand (Burlington, MA)
Assignee: Salesforce, Inc.
G06F21/6245G06F21/6218
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,775,675
App. No.
17/230,310
Granted
Oct 3, 2023
Kind
B2
Abstract

Systems and methods are provided for storing, at a storage device communicatively coupled to a computer, one or more operations to be executed for a web browser. A closed shadow document object model (DOM) may be generated by a component of a web page to be displayed in the web browser using the one or more of the stored operations. The closed shadow DOM may be configured to receive sensitive data or restricted data. The component of the web page that receives the sensitive data or restricted data may instantiate an inline frame (iFrame) with a same domain as the component. The web page to receive the sensitive data or restricted data via the instantiated iFrame may be displayed on a displayed device from an input device communicatively coupled to the computer for a component of the web page.

Claims (26)

1. A method comprising:

storing, at a storage device communicatively coupled to a computer, one or more operations to be executed for a web browser;

generating, at the computer, a closed shadow document object model (DOM) by a component of a web page to be displayed in the web browser using the one or more of the stored operations, wherein the closed shadow DOM is configured to receive sensitive data or restricted data;

instantiating, by the component of the web page that receives the sensitive data or restricted data at the computer, an inline frame (iFrame) with a same domain as the component;

displaying, on a display communicatively coupled to the computer, the web page to receive the sensitive data or restricted data via the instantiated iFrame from an input device communicatively coupled to the computer for a component of the web page;

preventing, using the instantiated iFrame, an application program interface (API) of a web browser that displays the web page from being changed by third-party operations; and

preventing the instantiated iFrame from being available to the rest of the web page based on the closed shadow DOM by configuring the closed shadow DOM to be kept within a function to prevent it from being publicly available or discoverable.

2. The method of claim 1 , wherein the one or more operations comprise at least one selected from the group consisting of: creating an element of the web page (createElement), setting a value for an attribute on a specified element of the web page (setAttribute), attaching a shadow DOM tree to an element (attachShadow), adding a node to an end of a list of child nodes of a parent node (appendChild), and adding an event handler to listen for an event and execute an operation when the event occurs (addEventListener).

3. The method of claim 2 , further comprising:

retrieving, at the computer from the storage device, at least one of the one or more operations based on an application.

4. The method of claim 1 , further comprising:

prohibiting other web components from accessing the instantiated iFrame using the closed shadow DOM.

5. The method of claim 1 , wherein the sensitive data or restricted data is at least one selected from the group consisting of: a password, bank account information, credit card information, financial account information, personal medical information, and personal identification information.

6. A system comprising:

a computer comprising a processor coupled to a memory to:

store, at a storage device communicatively coupled to the computer, one or more operations to be executed for a web browser;

generate a closed shadow document object model (DOM) by a component of a web page to be displayed in the web browser using the one or more of the stored operations, wherein the closed shadow DOM is configured to receive sensitive data or restricted data;

instantiate, by the component of the web page that receives the sensitive data or restricted data at the computer, an inline frame (iFrame) with a same domain as the component;

display, on a display communicatively coupled to the computer, the web page to receive the sensitive data or restricted data via the instantiated iFrame from an input device communicatively coupled to the computer for a component of the web page;

prevent, using the instantiated iFrame, an application program interface (API) of a web browser that displays the web page from being changed by third-party operations; and

prevent the instantiated iFrame from being available to the rest of the web page based on the closed shadow DOM by configuring the closed shadow DOM to be kept within a function to prevent it from being publicly available or discoverable.

7. The system of claim 6 , wherein the one or more operations stored at the storage device and used to generate the closed shadow DOM comprise at least one selected from the group consisting of: create an element of the web page (createElement), set a value for an attribute on a specified element of the web page (setAttribute), attach a shadow DOM tree to an element (attachShadow), add a node to an end of a list of child nodes of a parent node (appendChild), and add an event handler to listen for an event and execute an operation when the event occurs (addEventListener).

8. The system of claim 7 , further comprising:

retrieving, at the computer from the storage device, at least one of the one or more operations based on an application.

9. The system of claim 6 , wherein the computer prohibits other web components from accessing the instantiated iFrame using the closed shadow DOM.

10. The system of claim 6 , wherein the sensitive data or restricted data is at least one selected from the group consisting of: a password, bank account information, credit card information, financial account information, personal medical information, and personal identification information.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2021
From: RIAND, PHILIPPE
To: SALESFORCE.COM, INC.
Reel/Frame 055917/0146 →
Continuity (1)
Related Publication 20220335152A1 · Oct 20, 2022