IP Library Granted Patent US 7,424,680
Granted Patent B2
US 7,424,680 · App. 11/100,306 · Granted Sep 9, 2008

Set top box object security system

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 7,424,680
App. No.
11/100,306
Granted
Sep 9, 2008
Kind
B2
Abstract

Systems and methods for controlling the ability of scripts to access objects defined at the client. The client stores an access control data structure having multiple entries. Each entry is associated with one or more objects for which access is to be controlled. The entries include a source identifier field containing one or more URLs and a permission identifier field containing data defining a permission. When the client receives a script from a script source, such as a web site, the client begins execution of the script until the script requests access to an object. The client identifies a relevant entry of the access control data structure, which is an entry that is associated with the requested object and lists the URL of the script source in the source identifier field. The client applies the permission defined by the permission identifier of the relevant entry to the request, thereby granting or denying access to the script. Thus, the client permits selected remote entities to exercise control over objects and, in turn, over components of the client, while preventing unauthorized scripts from accessing the objects.

Claims (21)

1. A computer program product for use in a client system that includes various client system components, and that is configured to receive one or more scripts from one or more script sources, the client system also including one or more objects that are configured to control properties and features of the client system components, the computer program product comprising one or more computer readable storage media storing computer-executable instructions for implementing a method of selectively granting or denying a script access to the one or more objects, wherein said method comprises:

storing at the client system an access control data structure having one or more entries, each entry being associated with an object for which access is to be controlled and including a source identifier representing one or more script sources and a permission identifier defining a permission;

receiving a script from a particular script source, wherein the script, if fully executed by the browser, would request access to a particular object;

identifying an entry of the access control data structure that is independent of the script and that is associated with the particular object and has a source identifier representing the particular script source; and

applying the permission defined by the permission identifier included in the identified entry to the script such that access by the script to the particular object is based upon one or more permissions that are associated with the script source and the particular system object and that are independent of the script.

2. A computer program product as defined in claim 1 , wherein the identified entry is associated with and controls access to only one system object.

3. A computer program product as defined in claim 1 , wherein the applied permission is a write permission, the method further comprising:

an act of executing the script such that the script accesses the particular object; and

an act of modifying the particular object by the script.

4. A computer program product as defined in claim 1 , wherein the applied permission specifies that access to the particular object by the script is denied, the method further comprising an act of denying the script access to the particular object.

5. A computer program product as defined in claim 1 , wherein the source identifier corresponds to a universal resource locator of the one or more script sources that the source identifier represents.

6. A computer program product as defined in claim 5 , wherein the act of identifying an entry of the access control data structure comprises an act of comparing the source identifiers of the entries with the universal resource locator of the script source.

7. A computer program product as defined in claim 1 , wherein the script, if fully executed, would request access to at least two system objects, including the particular object and a second object, the method further comprising acts of:

identifying a second entry of the access control data structure, wherein the second entry is associated with the second object the source identifier of the second entry represents the particular script source; and

applying the permission defined by the permission identifier included in the second entry to the script such that access by the script to the second object is controlled.

8. A computer program product as defined in claim 7 , wherein the permission defined by the permission identifier included in the identified entry is different than the permission defined by the permission identifier included in the second entry.

9. A computer program product as defined in claim 1 , wherein the method further comprises acts of:

receiving a second script from the particular script source, wherein the second script, if fully executed by the browser, would request access to a second object;

identifying a second entry of the access control data structure, wherein the second entry is associated with the second object and the source identifier of the second entry represents the particular script source; and

applying the permission defined by the permission identifier included in the second entry to the second script such that access by the second script to the second object is controlled.

10. A computer program product as defined in claim 9 , wherein the permission defined by the permission identifier included in the identified entry is different than the permission defined by the permission identifier included in the second entry.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2014
From: CARPENTER, WILTSE J.
To: WEBTV NETWORKS, INC.
Reel/Frame 033025/0177 →
MERGER Recorded May 23, 2014
From: WEBTV NETWORKS, INC.
To: MICROSOFT CORPORATION
Reel/Frame 032956/0577 →