Binding by hash

A hashing and assembly technology, applied in the field of component integrity systems and tools, can solve problems such as damage to application software and hardware environments, failure to protect application version upgrades, etc.

Inactive Publication Date: 2004-10-06
MICROSOFT TECH LICENSING LLC
View PDF0 Cites 7 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

However, there is no way to protect an application from a version upgrade by a component publisher if the publisher makes a mistake in making the new version backward compatible with the previous version
And, if the component is replaced by an untrustworthy third party, the execution of these codes has the potential to damage the software and hardware environment on which the application runs

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Binding by hash
  • Binding by hash
  • Binding by hash

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0024] The invention will now be described with reference to the drawings in which like reference characters correspond to like elements throughout the specification. The present invention is by reference to a system and method that facilitates the integrity of components used by applications during runtime. These components are usually dynamic-link libraries (DLLs), but can also include definition files, description files, and executable files that are linked to the application at runtime. An assembly in accordance with at least one aspect of the subject invention is defined herein as components that include metadata defining the assembly, metadata describing the components that make up the assembly, and metadata describing the assemblies on which the assembly depends . The present invention uses cryptographic techniques, such as hashing, to ensure the integrity of assemblies used by applications. In addition, the present invention allows a large DLL file to be divided into...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A system and method is provided for providing security to components or assemblies employed by application programs during runtime. Assemblies carry version information that can be used to enforce the versioning rules described by the application program. At runtime, version numbers requested by the application programs are compared with those version numbers of the assemblies that are actually found. In addition to comparing version numbers, the present invention offers a stricter form of version checking based on cryptographic hashes. An assembly is provided with module information that contains a list of the files that make up the assembly. Part of the information recorded about each module is a hash of the module's contents at the time the manifest was built. An assembly referencing another assembly computes the hash of the manifest of the referenced assembly. An assembly manifest may include dependency information, which is information about other assemblies that the assembly depends on or references. Part of the information stored as part of an assembly reference or manifest is a hash of the dependent assembly's manifest.

Description

technical field [0001] The present invention relates to computer systems, and more particularly to a system and tool for ensuring the integrity of components used by an application program while it is running. Background technique [0002] In the past, applications consisted of a single monolithic binary. Once the compiler produces the application, the application does not change until the next version is recompiled and shipped. Changes in operating systems, hardware, and market requirements all depend on waiting for the next version to be completed and recompiled to be reflected. Today, applications are composed of several components—in addition, many of these components are also linked to each other at runtime. These components include dynamic link libraries (DLLs) and other files that can be shared by different applications. These DLLs are listed in the table of application components linked at runtime. The operating system will search for the name of the dynamic link...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/44G06F9/445G06F21/00
CPCG06F2221/2145G06F21/51G06F9/4436G06F9/44521G06F9/445G06F21/64G06F9/4494
Inventor S·帕塔撒拉蒂S·J·普拉斯齐纳C·T·辛克莱
Owner MICROSOFT TECH LICENSING LLC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products