Method and apparatus for securing software distributed over...

Electrical computers and digital processing systems: support – Multiple computer communication using cryptography – Protection at a particular protocol layer

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S223000, C705S059000, C713S176000

Reexamination Certificate

active

06499109

ABSTRACT:

FIELD OF THE INVENTION
This invention relates in general to computer networks. In particular, the invention relates to secure ways of distributing software by server computers to client computers over a computer network.
BACKGROUND OF THE INVENTION
The public data networks, collectively called the Internet and colloquially referred to as the Web, are becoming increasingly popular. Among other things, the Internet provides a communication medium to distribute software products to computers that are located at distant places. The numerous methods by which sellers of computer software programs deliver executable programs automatically to client computers owned or operated by users are described in the parent application, the disclosure of which is hereby incorporated by reference.
To understand the invention, it is helpful to understand the distinctions among the terms content, browser, type-setting program, embedded object and script. These five types of entities are described below in the context of Internet-related software.
Content is the subject matter contained in a web page. Content is distinguished from the other entities described herein in that content is not a program; it is the data that is presented to a user.
A web browser, or simply, a browser, is a computer program that provides access to the vast resources of the Internet. Typically, this is done by providing a “window” to the data located on other computers connected to the Internet. A frame is a part or section of a browser window that contains a distinct display area. If a web page is defined to contain multiple frames, each frame can act as an independent display area, and can download web pages located at different web sites, while displaying them together in one window on a browser. Alternatively, a web page may cause multiple browser windows to be created on the user's computer. A browser can also be described as a “container” of the various components it displays. Thus, while the components are embedded in a browser, the browser envelops the components.
In general, in a window-based computer system, such as the Windows™ 98™ program marketed by the Microsoft Corporation, windows are arranged hierarchically. A browser program that executes on a window-based computer system is also arranged hierarchically. When a browser application is launched on a windows-based computer system, the first window that appears is called “parent window” or “main window” or “top-level” window. This top-level window can later “spawn” or “fork” other windows, which are called “sub-windows” that run other applications. A sub-window may be created by executing a script within a browser window, and may be programmed to run another instance of a browser program. In such cases, the sub-window is called an “opener” window. Thus, it may be the case that a first window running a browser program—a top-level window—is programmed to point to a web site, and a sub-window created from the same browser program is programmed to point to a different web site.
A type-setting program is a presentation program, typically written in the Hyper Text Markup Language (HTML). In an HTML-encoded program, content is surrounded by codes that indicate the manner in which the browser presents the content to a user. Additionally, HTML encodes certain devices called “links” that allow a user to “navigate” the web by simply clicking on a sensitive area of the web page.
A document that contains “objects” or “components” like graphics, audio or video files, or charts in addition to text is called an embedded document object. Several competing standards exist in the marketplace for documents that can be transmitted over the Internet and displayed in a browser. For example, two such standards are OpenDoc, promoted by the International Business Machines Corporation and Object Linking and Embedding (OLE), promoted by the Microsoft Corporation. Typically, these standards provide for an application programming interface (API) that allows an independent software vendor (ISV) to develop applications that deliver components via the Internet. An API generally allows a programmer to interact with an enveloping browser. For example, a programmer may seek to determine the precise configuration of the browser by reading the values of its internal parameters. Alternatively, a programmer may wish to adapt the browser to a desired configuration by appropriately setting the browser's parameters.
Finally, a script is a list of computer-executable instructions, typically written in a human-readable language. Some browsers are configured to execute instructions written in script languages. In such browsers, an analog of a Central Processor Unit (CPU)which is an essential component of all modern computers-is defined within the software contained in the browser. This software-defined CPU executes the scripts within the browser environment. For example, JavaScript™ is a language in which a programmer can code in a human-readable set of instructions that can be executed within the browser environment. In this case, the browser is said to be a “container” object to execute the script within its bounds.
Referring now to the parent application, to achieve the objective stated therein, a web browser program running on a client computer must be able to access the inner workings of the client computer. This can be achieved with the help of the OLE document object technology. The OLE technology is a “system-level object architecture that includes services for all-inclusive data access, remote distribution of software components across heterogeneous platforms, robust transaction processing, and large group development.” & “OLE is?”, undated, (visited Dec. 12, 1998),
<www.microsoft.com/oledev/olemkt/oleent/oleent.btm
>. Active X™ technology, developed by the Microsoft Corporation, of Redmond, Wash., uses the OLE architecture and provides the building blocks that enable a provider to distribute over a network software executables that can be executed on a client machine. In general, such distribution of software executables is done via a web browser as described in the parent application. Typically, this execution on a client machine is done when a page source is input to it by invoking certain scripts embedded in the web browser. The downloaded software components are called ActiveX™ controls, which are computer executable pieces of program code. One feature of ActiveX™ controls is hat they have no restrictions placed on them once they reach a user's machine. For example, a programmer may write an ActiveX™ control tat, upon downloading to a user's computer, can shut down the computer or reformat its hard drive thereby destroying all data stored on the computer. This creates an easy way for malicious programs such as viruses to reach the client computer and be executed without the user's notice.
To overcome these security problems, the Microsoft Corporation requires all ActiveX™ controls to be verified by a signature initiative called Authenticode. This verification works in the following way. Each ActiveX™ control is given a secure and encrypted digital signature by a trusted corporation. All browsers that allow download and execution of ActiveX controls are pre-programmed to verify the digital signature. Every time an ActiveX™ control is about to be downloaded, the browser examines the digital signature associated with the control. If the signature is verified as authentic by the browser, it is downloaded without any problems. Otherwise, the browser issues a warning message to the user.
As explained in the parent application, the invention described therein uses some of the features of a programming methodology exemplified by ActiveX™ to effect easy and “hands-free” automatic downloading of software executables to a user's computer without any action taken on the part of the user. While the invented method and system help achieve the stated ends, a security threat may be created because of the above-mentioned feature of the ActiveX-like technologies tha

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for securing software distributed over... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for securing software distributed over..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for securing software distributed over... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2923485

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.