WO2000067095A1 - Methods and apparatus for secure distribution of software - Google Patents
Methods and apparatus for secure distribution of software Download PDFInfo
- Publication number
- WO2000067095A1 WO2000067095A1 PCT/US2000/011545 US0011545W WO0067095A1 WO 2000067095 A1 WO2000067095 A1 WO 2000067095A1 US 0011545 W US0011545 W US 0011545W WO 0067095 A1 WO0067095 A1 WO 0067095A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- software
- executable
- operative
- access
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1011—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
Definitions
- the present invention relates to secure methods for distributing software
- a widely used security device injects new code into an existing executable in
- a dedicated user program is required to decrypt, decompress and format the
- Software includes both data and programming instructions.
- Package any software to be stored, accessed, loaded, assembled, prepared
- Object any software to be run, utilized or displayed as a unit.
- Feature a "feature" of an object is any function, instruction, capability, or
- Computer System includes a single computer or multiple cooperating
- computers and includes one or more PC's, mainframes, digital processors,
- Watermark includes information in software which either enables
- the watermark is imperceptible
- Padding Area a space within a software object or package which does not
- the method comprises:
- the software including an access control
- a first code portion comprising first predetermined
- the second code portion being operative to control the computer system to
- a software package is
- a first executable object comprising: a first executable object, and a wrapper for the first executable
- the wrapper being operative to erase predetermined software from the first
- system comprising: a processor; a memory; an instruction input device;
- portion comprising first predetermined instructions for execution by the processor
- the processor being
- the memory and operative under the control of the second code portion to erase the
- a first object providing a first set of a plurality of features
- second object providing a second set of a plurality of features including some, but
- a package comprising: a first executable object, and a wrapper for the first
- the first executable object being operative, while running, to
- the wrapper being operative to supply the feature to
- a software package is
- a first executable object comprising: a first executable object, and a wrapper for the first executable
- the first executable object being operative, while running, to access a feature
- the wrapper being operative to supply the feature to the first
- a software package is
- a first executable object comprising: a first executable object, and a wrapper for the first executable
- the first executable object being operative to call a predetermined feature
- wrapper being operative upon a call of the predetermined
- a processor comp ⁇ sing: a processor; a memory; an instruction input device;
- a first object providing a first set of a plurality of features
- a second object providing
- a second set of a plurality of features including some, but less than all, of the
- the processor being further
- control portion being operative to selectively control access to the selected object.
- a first object providing a first set of a plurality of
- the first object being encrypted; and a second object providing a second set
- the first set the second object being unencrypted.
- executable comprising: first code for accessing a requested file from a
- decryption code for decrypting at least a portion of the
- a software package is
- a software object having a first set of features and a second
- the computer system comprises: a processor; a processor
- the instruction input device being operative to input a first request for
- the operating system serving to control the processor to direct a
- driver executable being operative in response to the second request to
- driver executable the driver executable being operative upon return of control
- Figure 1 is a block diagram of a computer system having a single CPU
- Figure 2 is a flow diagram illustrating a method of producing software in the
- Figures 3A through 3C illustrate image objects to be included in a package
- FIGS 3D through 3F illustrate multiple versions of the same image object of
- FIGS 3G through 31 illustrate multiple versions of the image object of Figure
- FIGS 3J through 3L illustrate multiple versions of the image object of
- Figure 4A is a spectral diagram of a segment of an audio signal to be included
- Figure 4B is a spectral diagram of another
- Figure 5A illustrates a data format for use in storing usage authorization
- Figures 5B and 5C are tables providing examples of the types of data included in such usage
- Figure 6 is a diagram illustrating a package produced according to the method
- Figure 7 is a flow diagram of another method for producing software in the
- FIGS 8A through 8D are used to describe methods for watermarking
- Figures 8C and 8D schematically illustrate methods for watermarking
- FIGS 9A through 91 are used to describe methods for compressing
- Figure 10 is a diagram of software in the form of a package produced by the
- Figure 11 A is a diagram of software in the form of a package including first
- Figure 11 B is a diagram of an
- Figure 12 is a flow diagram of a method for secure distribution of software by
- Figure 13 is a flow diagram of a method for secure distribution of software
- Figure 14 is a schematic diagram illustrating the use of a driver executable for
- Figure 15 is a flow diagram of a method of printing a data object to which
- Figure 16 illustrates the software package of Figures 1 1 A through 1 1C when it
- FIG. 17 illustrates portions of the software package of Figure 16 after the
- executable notifier has loaded a selected one of the program objects in running
- Figure 18 illustrates a method for controlling the usage of a given program by
- a computer system 100 is illustrated schematically
- CPU central processing units
- processors 110 having one or more central processing units (CPU) or processors 110, a display 120,
- I/O apparatus 130 such as a network or internet connection and
- the computer system 100 also includes a non-volatile mass storage apparatus, such as a hard disk
- Computer system 100 functions to produce software and to distribute the
- Figure 2 illustrates an exemplary method for producing a software package for
- the product thus generated includes
- multiple objects which either are data objects, such as media or multi-media objects,
- Figure 2 is especially useful for generating try-and-buy packages.
- a first object is used to produce one or more
- one or more second objects are produced by removing features from the first object.
- one or more first objects instead are produced from a
- step 210 Various embodiments of step 210 are illustrated in Figures 3A through 3L in
- a first picture object 310 shown in Figure 3A is used to
- object 310 or the addition of further noise to object 315.
- a second embodiment of step 210 is illustrated in Figures 3D through 3F.
- the first picture object 310 is shown again in Figure 3D and is used to produce the
- step 210 is illustrated in Figures 3G through 31 in
- Figure 3H is produced by low-pass filtering of object 310 with a relatively high
- Additional portions are encrypted to produce the still further degraded version 350 as shown in Figure 3L, the additional portions being encrypted with a second
- the first picture object from other sources.
- the further versions are produced by substituting pixels
- Figure 4A provides an exemplary spectral energy
- subbands of the audio signal in MP3 format are otherwise.
- step 210 is carried out in any of a number
- the overall coding of a first executable object is
- modified to produce a modified executable object lacking one or more features of the first This may be done by removing the routines necessary to perform the
- section of the first executable object is modified.
- executable objects For example, executable objects
- the first object is encrypted to provide one means of controlling
- the user is permitted free access to the second object having fewer than all of the
- Encryption is a relatively strong protection.
- the encryption step 220 is carried out so that a unique key or decryption executable
- the key or decryption executable is produced
- This key or decryption executable is
- system 100 transmits the key or executable to the user's system which stores the
- Step 230 of the Figure 2 method data specifying permitted uses for each
- a record 510 such as that
- FIG. 5A is produced or accessed from storage in the system 100.
- a first field 520 of the record 510 data is provided identifying the object to
- a third field 540 of the record 510 specifies the extent of the permitted usage
- the price specified in the fourth field 550 corresponds to the authorized extent of
- the price may represent a specified amount of money
- step 240 of Figure 2 the first and second objects, and the usage
- authorization information are assembled in a package with a notifier section and, in
- the notifier 610 can take the form of one or more data objects or an
- data objects in the form of media objects such as digital images, video data or audio
- the notifier includes at least one unencrypted
- the notifier can
- the driver executable has been downloaded and installed, it presents a dialog box to
- the driver executable is able to detect the type of accessed package as one
- driver executable detects that the accessed package has
- Packages including executable objects have notifiers including executables
- Figure 7 illustrates another method for producing a software package
- step 710 a watermark is
- Data objects may be watermarked by any of a number of known methods
- a further requirement is resistance to collusion attacks in which two or more
- watermarks are embedded in
- the watermark is encoded.
- a particularly advantageous form is
- Example of padding areas are provided with reference to Figures 8A and 8B.
- Figure 8A schematically illustrates a portion of an executable object in a storage
- the object including a header 810, an executable code section 820 and a
- COFF Common Object File Format
- section at a predetermined boundary is convenient for programming purposes.
- padding areas 812, 822 and 832 are formed between the ends of
- the padding areas either contain code or data which is unimportant or are
- padding areas are located after instruction 10 as well as after
- Such padding areas may be produced, for example, by a compiler
- Codes designed to run on IntelTM processors include sequences of
- the watermark data is
- the watermark is generated as a random
- the watermark is encoded in software which mimics software present
- method is to copy portions of the preexisting software (code or data) to represent the
- the copied code is modified to encode the watermark.
- the copied portions are unmodified, but rather are
- Figure 8C illustrates a technique for inserting watermarks in the padding areas 822
- the watermark preferably a random-generated or pseudorandom number.
- Figure 8D provides an example of a method for encoding a watermark in the
- Routines 0, 1 and 2 are separated by padding areas 852, 862 and 872.
- the watermark is inserted in the
- routine 0 is inserted in a first portion of padding area 852 and a
- the watermark is encoded in the selection of the portions of the routines
- opcodes are replaced by opcodes having the same effect, just in case the NOP's are
- opcodes such as [mov al, a1], [mov d , d] [mov
- ah, ah] and [fnop] have the same effect as an NOP opcode and may be substituted
- the lengths of the blocks and/or fake routines are
- each is encrypted using a respective, unique key.
- the keys are not
- objects 910 comprise data. In other embodiments the software objects 910
- Figure 9A shows multiple objects l-n, the
- macrocompression method 920 also serves to compress a single object in certain
- the macrocompression method 920 is illustrated in greater detail in Figure
- the string matching step is facilitated by producing a hash head table grouping possible string matches together
- a hashing function of a given string calculates a hashing value based on the
- each string having an offset j is determined, its offset j is added to a hash head table,
- FIG. 9C An exemplary hash head table is illustrated in Figure 9C and stores data
- hashing value h equal to zero are identified by offset and object numbers in an initial
- hashing values in this case will be (L n) + (L 2 -n) + (L 3 -n) which will occur in the event
- a particularly advantageous hashing function calculates the hashing value of
- h(j) represents the hashing value of the jth string in the object and p, is the
- the hashing value for the next string is determined
- clumping is reduced by increasing the
- the hashing function is modified so that it takes the form:
- a) represents the following (n-a) bytes within the same string; a selected one of K ⁇
- K 2 is equal to 1 and the other of K, and K 2 is an integer greater than 1 ;
- memory space is
- function h can take the form:
- H(j+1 ) h(j) (inv_op) p, (op) P )+n , where (op) represents a selected commutative operation (such as addition,
- the hash head table produces records containing possible
- strings from the same file must be separated by a predetermined minimum distance
- the matching strings must be separated at least by a minimum distance if
- strings (a) and (b), while matching, will not qualify if the
- minimum distance exceeds 11 bytes. Typically, the minimum distance will be
- strings (a) and (d) form a qualifying match.
- strings A and B having two types of exemplary strings of length n bytes, strings A and B.
- strings 1 , 2 and 3 is expanded to the right by one byte and then the various
- the matching strings of each group instead are
- step 939 the assembly information is produced as information
- strings 2 and 3 are strings 2 and 3.
- string 2 is the largest expanded, matching strings.
- string 1 is identified by its offset in the original package or object and its contents are
- step 920
- Segment B is flanked by a segment A
- package P' is achieved by specifying the source for each of the three segments, as
- offsets 1 and 3 and the uncompressed segment at offset 2 may be compressed by
- microcompression identifies a software compression technique which compares strings having a
- executable is the PK ZipTM utility.
- the result of microcompression is further
- the window used in the microcompression process is smaller than
- step 920 In this manner, different strings are compared in the two
- more packages comprises: producing first compressed software by matching strings
- the minimum predetermined distance is greater than the maximum
- object 1 through n is encrypted using a respectively different encryption key.
- each of the blocks BLKS * is also encrypted with a respectively different encryption key.
- each encryption key is
- the software representing a plurality of compressed objects is provided.
- the software is provided.
- the method comprises: encrypting each of the
- each object using a respectively different encryption key.
- a respectively different encryption key Preferably, a respectively different encryption key.
- the first portion of the package may simply be a header indicating the entry point for an executable notifier located anywhere in the package.
- Packages including data objects have a signature 1020 appended thereto. Placing
- the signature at the end of the package enables the executable driver to readily
- the end of the package in the alternative, it may be located elsewhere, such as at
- the driver executable or the executable notifier accessed by the driver executable or the executable notifier, as the case may be.
- FIGS 11 A through 1 1 C illustrate the structure of a software package
- Figure 11 A provides an overall view of the
- control information 1130 arranged between the executable notifier 1 110 and the
- the executable notifier 1110 is illustrated in greater detail in Figure 1 1 B. As
- the executable notifier 1110 includes a header section 1135 at the
- the data section 1145 is followed sequentially by a
- the resource section 1150 and an import table 1155.
- the resource section 1150 is
- the import table 1 155 includes links
- FIG. 11 C illustrates the encrypted portions of the software package
- executable notifier 11 in general, exercises control over access to the program
- executable code section 1140 runs a setup routine utilizing displays and dialog
- the setup routine performs normal
- setup functions such as a display of the relevant user license and securing the
- the executable code section 1140 refers to
- the executable code section 1140 solicits and evaluates the user's
- the dialog box when the software package is accessed by the user.
- the dialog box explains
- the executable code section references both the access control information section 1160
- the user purchases rights to use one or more objects.
- executable code section 1140 decrypts and decompresses the relevant program or
- the section 1140 prevents access to unavailable uses by hooking the
- the executable code section 1 140 serves to deter dump attacks by
- executable code section 1140 functions as a
- Fig 12 is a flow diagram of a method for secure distribution of software by
- the server According to an initial step 1210 in Fig. 12, the server
- a software product which is either an executable object or a data object, to the user's computer, in response to a request sent to the server from the user's
- the software product is a data object
- the user's computer will require a
- driver executable in order to make use of the data. If the user's computer lacks the
- server computer When the server computer receives such a request, it responds as
- step 1220 by sending the driver executable to the user's computer
- executable (if the software product is a data object) causes the user's computer to
- Step 1240 follows, at which the server sends
- generate the system identification information may include serial numbers of such
- components of the user's computer as the hard disk, the network interface card, the
- the user's computer then sends to the server the
- step 1250 received at the server, as indicated at step 1250.
- step 1260 at which the server validates the credit card
- the user's computer According to one method of implementing the invention, the
- required decryption key is split into two parts, of which one part is calculated in the
- decryption executable program are then transmitted to the user's computer from the
- a watermark is
- the software product sent is sent
- step 1210 includes three objects, of which a first object has all of the features of a
- a third of the three objects has all
- the server computer provides different access control codes, such as different
- decryption keys for the first and third objects, respectively.
- codes are based on different respective information characteristic of the user's
- Fig. 13 is a flow diagram of a method for secure distribution of software stored
- This step 1310 may have taken place a substantial period of time prior to
- a server computer receives a request
- the information received by the server at step 1320 includes an
- identification code (such as a CD serial number) which identifies the particular CD serial number
- steps 1330, 1340, 1350 and 1360 are steps 1330, 1340, 1350 and 1360. These steps may be performed.
- Fig. 14 is a schematic diagram illustrating the use of a driver executable
- FIG. 14 includes a media player application 1405 which is
- a conventional driver program 1420 which is
- a storage device provided for managing a storage device, and a storage device 1425 on which one or
- Fig. 14 also illustrates a process by which a data object stored on the storage
- system 1410 passes a second request (represented by reference numeral 1432) to
- the driver executable 1415 In response to the request 1432, the driver executable
- the storage device driver 1420 retrieves the
- condition for access to the data object e.g., by paying the purchase price for
- driver executable decrypts the encrypted data object and passes
- decrypted data object is then passed from the operating system to the media player
- Fig. 15 is a flow diagram which shows additional details of a method of
- the media player transmits the print request (reference
- the driver executable then examines the object to determine whether
- identifier data such as a signature is present in the object to indicate that printing of
- step 1520 the object is subject to some restriction (step 1520). If at step 1520 no such identifier
- the driver executable provides the data
- step 1520 the driver executable finds the signature which identifies the
- step 1540 follows. At step 1540 the
- driver executable saves or modifies the target address in the media player
- step 1540 has already been carried
- this step need not
- the driver executable determines whether the customer has
- driver executable causes the computer system to display a suitable notice to indicate to the user that printing is denied, and to invite the user to purchase the right to print
- step 1570 the data object (step 1570), as described hereinabove.
- step 1560 the driver executable determines that printing is authorized
- driver executable calls the print routine provided by the operating system
- Fig. 16 illustrates the software package of Figs. 1 1A-1 1 C when the software
- the executable notifier 1110 is made up of a header section 1 135, followed in
- decompressed program object includes a header section 1710, followed in turn by
- the executable notifier modifies the program object in a manner to
- defeat dump attacks This is achieved by erasing or modifying certain portions of the program object after it is written in memory.
- the executable notifier erases portions of the
- the executable notifier inserts virtual addresses in the
- the code section 1140 is programmed to interpret each jump to determine the
- executable notifier stores in an address record portion of the import table 1750
- substitutions for, the import table 1750 of the program object, the executable notifier may erase and substitute for other portions of the program object, such as relocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
Claims
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP00926475A EP1185915A1 (en) | 1999-04-30 | 2000-04-26 | Methods and apparatus for secure distribution of software |
| JP2000615870A JP2002543511A (en) | 1999-04-30 | 2000-04-26 | Safe and secure software distribution method, software package, and computer system |
| AU44999/00A AU4499900A (en) | 1999-04-30 | 2000-04-26 | Methods and apparatus for secure distribution of software |
| IL14593700A IL145937A0 (en) | 1999-04-30 | 2000-04-26 | Methods and apparatus for secure distribution of software |
| CA002369834A CA2369834A1 (en) | 1999-04-30 | 2000-04-26 | Methods and apparatus for secure distribution of software |
| IL145937A IL145937A (en) | 1999-04-30 | 2001-10-15 | Methods and apparatus for secure distribution of software |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13176999P | 1999-04-30 | 1999-04-30 | |
| US60/131,769 | 1999-04-30 | ||
| US09/328,737 US6966002B1 (en) | 1999-04-30 | 1999-06-09 | Methods and apparatus for secure distribution of software |
| US09/328,737 | 1999-06-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2000067095A1 true WO2000067095A1 (en) | 2000-11-09 |
Family
ID=26829777
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/011545 Ceased WO2000067095A1 (en) | 1999-04-30 | 2000-04-26 | Methods and apparatus for secure distribution of software |
Country Status (7)
| Country | Link |
|---|---|
| US (3) | US6966002B1 (en) |
| EP (1) | EP1185915A1 (en) |
| JP (1) | JP2002543511A (en) |
| AU (1) | AU4499900A (en) |
| CA (1) | CA2369834A1 (en) |
| IL (2) | IL145937A0 (en) |
| WO (1) | WO2000067095A1 (en) |
Cited By (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001078074A1 (en) * | 2000-04-07 | 2001-10-18 | Sony Dadc Austria Ag | Optical disc copy prevention system |
| WO2003034424A3 (en) * | 2001-10-15 | 2003-08-14 | Macrovision Corp | Improvements in or relating to the copy protection of optical discs |
| WO2004061621A1 (en) * | 2003-01-07 | 2004-07-22 | Securewrap Pty Ltd | Method of and software for monitoring digital information |
| EP1528454A3 (en) * | 2003-10-31 | 2006-05-31 | Caterpillar Inc. | Remote software activation |
| US7287166B1 (en) | 1999-09-03 | 2007-10-23 | Purdue Research Foundation | Guards for application in software tamperproofing |
| EP1850260A1 (en) | 2006-04-26 | 2007-10-31 | Macrovision Corporation | A computer-implemented method and system for binding digital rights management executable code to a software application |
| WO2008157639A1 (en) * | 2007-06-21 | 2008-12-24 | Uniloc Corporation | System and method for auditing software usage |
| EP1470713A4 (en) * | 2002-01-09 | 2009-03-11 | Ibm | A system and method for secure distribution and evaluation of compressed digital information |
| US7707433B2 (en) | 1998-05-14 | 2010-04-27 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
| US7757097B2 (en) | 1999-09-03 | 2010-07-13 | Purdue Research Foundation | Method and system for tamperproofing software |
| EP1735943A4 (en) * | 2004-04-14 | 2010-10-06 | Digital River Inc | Geographic location based licensing system |
| WO2010145886A1 (en) * | 2009-06-16 | 2010-12-23 | Antix Labs Ltd | Rights managed distributable software |
| WO2011137927A1 (en) * | 2010-05-04 | 2011-11-10 | C.K.D. Cryptography Key Databank Sagl | Method to control and limit readability of electronic documents |
| US8087092B2 (en) | 2005-09-02 | 2011-12-27 | Uniloc Usa, Inc. | Method and apparatus for detection of tampering attacks |
| US8160962B2 (en) | 2007-09-20 | 2012-04-17 | Uniloc Luxembourg S.A. | Installing protected software product using unprotected installation image |
| US8239852B2 (en) | 2009-06-24 | 2012-08-07 | Uniloc Luxembourg S.A. | Remote update of computers based on physical device recognition |
| US8284929B2 (en) | 2006-09-14 | 2012-10-09 | Uniloc Luxembourg S.A. | System of dependant keys across multiple pieces of related scrambled information |
| US8374968B2 (en) | 2008-02-22 | 2013-02-12 | Uniloc Luxembourg S.A. | License auditing for distributed applications |
| US8458673B2 (en) | 2006-04-26 | 2013-06-04 | Flexera Software Llc | Computer-implemented method and system for binding digital rights management executable code to a software application |
| US8510571B1 (en) | 2003-03-24 | 2013-08-13 | Hoi Chang | System and method for inserting security mechanisms into a software program |
| US8510475B2 (en) | 2009-12-10 | 2013-08-13 | Fujitsu Limited | Application software protection method and stream edit processing system |
| US8838976B2 (en) | 2009-02-10 | 2014-09-16 | Uniloc Luxembourg S.A. | Web content access using a client device identifier |
| US8903653B2 (en) | 2009-06-23 | 2014-12-02 | Uniloc Luxembourg S.A. | System and method for locating network nodes |
| US9047450B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Identification of embedded system devices |
| US9047458B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Network access protection |
| US9075958B2 (en) | 2009-06-24 | 2015-07-07 | Uniloc Luxembourg S.A. | Use of fingerprint with an on-line or networked auction |
| US9082128B2 (en) | 2009-10-19 | 2015-07-14 | Uniloc Luxembourg S.A. | System and method for tracking and scoring user activities |
| US9129097B2 (en) | 2009-06-24 | 2015-09-08 | Uniloc Luxembourg S.A. | Systems and methods for auditing software usage using a covert key |
| US9141489B2 (en) | 2009-07-09 | 2015-09-22 | Uniloc Luxembourg S.A. | Failover procedure for server system |
| WO2016148728A1 (en) * | 2015-03-13 | 2016-09-22 | Citrix Systems, Inc. | Enforcing licensing policies using an application wrapper |
| US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
| US10068282B2 (en) | 2009-06-24 | 2018-09-04 | Uniloc 2017 Llc | System and method for preventing multiple online purchases |
| US10432609B2 (en) | 2011-01-14 | 2019-10-01 | Device Authority Ltd. | Device-bound certificate authentication |
Families Citing this family (114)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7089212B2 (en) | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
| US7209901B2 (en) * | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
| US7831516B2 (en) | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
| US6266654B1 (en) * | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
| US7362775B1 (en) | 1996-07-02 | 2008-04-22 | Wistaria Trading, Inc. | Exchange mechanisms for digital information packages with bandwidth securitization, multichannel digital watermarks, and key management |
| US5613004A (en) | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
| US6205249B1 (en) | 1998-04-02 | 2001-03-20 | Scott A. Moskowitz | Multiple transform utilization and applications for secure digital watermarking |
| US7664263B2 (en) | 1998-03-24 | 2010-02-16 | Moskowitz Scott A | Method for combining transfer functions with predetermined key creation |
| US7159116B2 (en) | 1999-12-07 | 2007-01-02 | Blue Spike, Inc. | Systems, methods and devices for trusted transactions |
| US7457962B2 (en) * | 1996-07-02 | 2008-11-25 | Wistaria Trading, Inc | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
| US5889868A (en) | 1996-07-02 | 1999-03-30 | The Dice Company | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
| US7177429B2 (en) | 2000-12-07 | 2007-02-13 | Blue Spike, Inc. | System and methods for permitting open access to data objects and for securing data within the data objects |
| US7095874B2 (en) | 1996-07-02 | 2006-08-22 | Wistaria Trading, Inc. | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
| US7346472B1 (en) | 2000-09-07 | 2008-03-18 | Blue Spike, Inc. | Method and device for monitoring and analyzing signals |
| US7730317B2 (en) | 1996-12-20 | 2010-06-01 | Wistaria Trading, Inc. | Linear predictive coding implementation of digital watermarks |
| US7664264B2 (en) | 1999-03-24 | 2010-02-16 | Blue Spike, Inc. | Utilizing data reduction in steganographic and cryptographic systems |
| US7421586B2 (en) * | 1999-05-12 | 2008-09-02 | Fraunhofer Gesselschaft | Protecting mobile code against malicious hosts |
| US7770016B2 (en) | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
| US7475246B1 (en) * | 1999-08-04 | 2009-01-06 | Blue Spike, Inc. | Secure personal content server |
| US20070043675A1 (en) * | 2000-05-15 | 2007-02-22 | Siemens Aktiengesellschaft | Software license manager |
| DE10023820B4 (en) * | 2000-05-15 | 2006-10-19 | Siemens Ag | Software protection mechanism |
| DE10023827A1 (en) * | 2000-05-15 | 2001-12-06 | Siemens Ag | Licensing and access authorization |
| FR2810759A1 (en) * | 2000-06-26 | 2001-12-28 | Radoslaw Galka | Method for purchasing and distributing digital goods, comprises secure encoded communication over a communication system between a users smartcard and terminal and a furnisher's server |
| GB0017478D0 (en) * | 2000-07-18 | 2000-08-30 | Bit Arts Ltd | Computer software installation |
| MXPA03000851A (en) * | 2000-07-28 | 2004-12-13 | Macrovision Europ Ltd | Copy protection for optical discs. |
| US7127615B2 (en) | 2000-09-20 | 2006-10-24 | Blue Spike, Inc. | Security based on subliminal and supraliminal channels for data objects |
| JP2002158654A (en) * | 2000-11-17 | 2002-05-31 | Hitachi Ltd | Information processing device, display device, digital content distribution system, and digital content distribution / output method |
| TW584801B (en) * | 2000-12-11 | 2004-04-21 | Ntt Docomo Inc | Terminal and repeater |
| CA2328644C (en) * | 2000-12-15 | 2005-05-10 | Ibm Canada Limited-Ibm Canada Limitee | Methods, systems, signals and media for encouraging users of computer readable content to register |
| US7707571B1 (en) * | 2001-01-05 | 2010-04-27 | New Boundary Technologies Inc. | Software distribution systems and methods using one or more channels |
| US7165088B2 (en) * | 2001-01-24 | 2007-01-16 | Microsoft Corporation | System and method for incremental and reversible data migration and feature deployment |
| US20020112158A1 (en) * | 2001-02-14 | 2002-08-15 | Golchikov Andrey Vladimirovich | Executable file protection |
| US7308717B2 (en) * | 2001-02-23 | 2007-12-11 | International Business Machines Corporation | System and method for supporting digital rights management in an enhanced Java™ 2 runtime environment |
| US20020152392A1 (en) * | 2001-04-12 | 2002-10-17 | Motorola, Inc. | Method for securely providing encryption keys |
| US20030056115A1 (en) * | 2001-09-20 | 2003-03-20 | Andreas Falkenberg | System for and method of protecting data in firmware modules of embedded systems |
| US7506053B1 (en) * | 2001-10-17 | 2009-03-17 | Cisco Technology, Inc. | Software distribution system and method |
| US7543117B1 (en) * | 2001-10-31 | 2009-06-02 | Western Digital Ventures, Inc. | Method for installing a mailbox file associated with a disk storage medium |
| US7415571B1 (en) | 2001-10-31 | 2008-08-19 | Western Digital Ventures, Inc. | Disk drive and method for using a mailbox file associated with a disk storage medium for performing a function characterized by contents of the mailbox file |
| US20030149878A1 (en) * | 2002-02-01 | 2003-08-07 | Perkins Gregory Michael | Method of marking a program for identification/authentication |
| US7287275B2 (en) | 2002-04-17 | 2007-10-23 | Moskowitz Scott A | Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth |
| US7487365B2 (en) * | 2002-04-17 | 2009-02-03 | Microsoft Corporation | Saving and retrieving data based on symmetric key encryption |
| US20030217280A1 (en) * | 2002-05-17 | 2003-11-20 | Keaton Thomas S. | Software watermarking for anti-tamper protection |
| US7617396B2 (en) * | 2002-08-16 | 2009-11-10 | Nvidia Corporation | Method and apparatus for watermarking binary computer code with modified compiler optimizations |
| WO2004023313A1 (en) * | 2002-09-04 | 2004-03-18 | Fraunhofer Crcg, Inc. | Protecting mobile code against malicious hosts cross references to related applications |
| US7165076B2 (en) * | 2002-11-15 | 2007-01-16 | Check Point Software Technologies, Inc. | Security system with methodology for computing unique security signature for executable file employed across different machines |
| US20060053079A1 (en) * | 2003-02-03 | 2006-03-09 | Brad Edmonson | User-defined electronic stores for marketing digital rights licenses |
| GB0304016D0 (en) * | 2003-02-21 | 2003-03-26 | Macrovision Europ Ltd | The transmission of information |
| ATE362133T1 (en) * | 2003-03-03 | 2007-06-15 | Snap On Tech Inc | METHOD FOR PROVIDING A SOFTWARE MODULE FOR A MOTOR VEHICLE CONTROL UNIT AND COMPUTER PROGRAM FOR EXECUTING THE METHOD |
| TWI225597B (en) * | 2003-03-27 | 2004-12-21 | Inventec Corp | Protection method of embedded software |
| US7716474B2 (en) * | 2003-05-12 | 2010-05-11 | Byteblaze, Inc. | Anti-piracy software protection system and method |
| US20050055312A1 (en) * | 2003-08-18 | 2005-03-10 | Wilson Kelce Steven | Software control flow watermarking |
| US7343600B2 (en) * | 2003-08-18 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Providing an image of installed software utilizing uninstall code |
| US8661559B2 (en) * | 2003-08-18 | 2014-02-25 | Riverside Research Institute | Software control flow watermarking |
| US7353499B2 (en) * | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
| US7363620B2 (en) * | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
| US7415618B2 (en) * | 2003-09-25 | 2008-08-19 | Sun Microsystems, Inc. | Permutation of opcode values for application program obfuscation |
| US20050069138A1 (en) * | 2003-09-25 | 2005-03-31 | Sun Microsystems, Inc., A Delaware Corporation | Application program obfuscation |
| US7424620B2 (en) * | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
| US8220058B2 (en) * | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
| US7979911B2 (en) * | 2003-10-08 | 2011-07-12 | Microsoft Corporation | First computer process and second computer process proxy-executing code from third computer process on behalf of first process |
| US7788496B2 (en) * | 2003-10-08 | 2010-08-31 | Microsoft Corporation | First computer process and second computer process proxy-executing code on behalf thereof |
| US8103592B2 (en) * | 2003-10-08 | 2012-01-24 | Microsoft Corporation | First computer process and second computer process proxy-executing code on behalf of first process |
| US7937557B2 (en) | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
| GB2414337B (en) | 2004-05-19 | 2008-10-29 | Macrovision Europ Ltd | The copy protection of optical discs |
| US20090249085A1 (en) * | 2004-06-29 | 2009-10-01 | Nagracard S.A. | Security module and personalization method for such a security module |
| JP4490192B2 (en) * | 2004-07-02 | 2010-06-23 | 株式会社エヌ・ティ・ティ・ドコモ | Multitask execution system |
| KR100636162B1 (en) * | 2004-08-25 | 2006-10-18 | 삼성전자주식회사 | Software protection method and device |
| US7644416B2 (en) * | 2005-02-10 | 2010-01-05 | Google Inc. | Access to a target object with desired functionality |
| WO2006089932A1 (en) * | 2005-02-25 | 2006-08-31 | Rok Productions Limited | Media player |
| US8332355B2 (en) * | 2005-03-28 | 2012-12-11 | Symantec Corporation | Method and apparatus for generating readable, unique identifiers |
| US7904695B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous power saving computer |
| US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
| US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
| JP2007272895A (en) * | 2006-03-31 | 2007-10-18 | Technology Properties Ltd | Method and apparatus for operating computer processor array |
| US7870544B2 (en) * | 2006-04-05 | 2011-01-11 | International Business Machines Corporation | Insuring maximum code motion of accesses to DMA buffers |
| FR2903508B1 (en) * | 2006-07-10 | 2008-10-17 | Sagem Defense Securite | PROTECTION OF A PROGRAM INTERPRETED BY A VIRTUAL MACHINE |
| US8321666B2 (en) | 2006-08-15 | 2012-11-27 | Sap Ag | Implementations of secure computation protocols |
| US8689193B2 (en) * | 2006-11-01 | 2014-04-01 | At&T Intellectual Property Ii, L.P. | Method and apparatus for protecting a software application against a virus |
| US20080282062A1 (en) * | 2007-05-07 | 2008-11-13 | Montvelishsky Michael B | Method and apparatus for loading data and instructions into a computer |
| US20090049425A1 (en) * | 2007-08-14 | 2009-02-19 | Aladdin Knowledge Systems Ltd. | Code Obfuscation By Reference Linking |
| EP2562956B1 (en) * | 2007-12-13 | 2017-09-27 | Certicom Corp. | System and method for controlling features on a device |
| US8607226B2 (en) * | 2008-01-22 | 2013-12-10 | International Business Machines Corporation | Solution for locally staged electronic software distribution using secure removable media |
| EP2350910B1 (en) * | 2008-11-24 | 2018-07-25 | Certicom Corp. | System and method for hardware based security |
| US8769689B2 (en) * | 2009-04-24 | 2014-07-01 | Hb Gary, Inc. | Digital DNA sequence |
| US8484152B2 (en) * | 2009-06-26 | 2013-07-09 | Hbgary, Inc. | Fuzzy hash algorithm |
| US20110010770A1 (en) * | 2009-07-10 | 2011-01-13 | Certicom Corp. | System and method for performing key injection to devices |
| JP5572705B2 (en) | 2009-07-10 | 2014-08-13 | サーティコム コーポレーション | System and method for managing electronic assets |
| MY155814A (en) * | 2009-07-10 | 2015-11-30 | Certicom Corp | System and method for performing serialization of devices |
| US8307020B2 (en) | 2009-07-24 | 2012-11-06 | Ensequence, Inc. | Method for distributing a certified application employing a pre-certified master application template |
| US8229984B2 (en) * | 2009-07-24 | 2012-07-24 | Ensequence, Inc. | Method for application authoring employing a pre-certified multi-platform master application template |
| US20110022603A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method and system for authoring and distributing multiple application versions based on audience qualifiers |
| US8682945B2 (en) * | 2009-07-24 | 2014-03-25 | Ensequence, Inc. | Method and system for authoring multiple application versions based on audience qualifiers |
| US20110023022A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method for application authoring employing an application template stored in a database |
| US8667460B2 (en) * | 2009-07-24 | 2014-03-04 | Ensequence, Inc. | Method for application authoring employing a child application template derived from a master application template |
| US8671124B2 (en) * | 2009-07-24 | 2014-03-11 | Ensequence, Inc. | Method for application authoring employing a pre-certified master application template |
| US9116607B2 (en) | 2011-05-11 | 2015-08-25 | Microsoft Technology Licensing, Llc | Interface including selectable items corresponding to single or multiple data items |
| US8949857B2 (en) | 2011-07-15 | 2015-02-03 | Microsoft Corporation | Value provider subscriptions for sparsely populated data objects |
| JP5942485B2 (en) * | 2012-03-05 | 2016-06-29 | 株式会社リコー | Data processing apparatus, program, and data processing system |
| US8869133B2 (en) * | 2012-11-06 | 2014-10-21 | General Electric Company | Method and system for use in facilitating patch change management of industrial control systems |
| US8725645B1 (en) | 2013-01-04 | 2014-05-13 | Cetrus LLC | Non-invasive metering system for software licenses |
| US9134962B1 (en) * | 2013-03-15 | 2015-09-15 | Sanctum Solutions, Inc. | Interactive content development |
| FR3011354A1 (en) * | 2013-10-01 | 2015-04-03 | Commissariat Energie Atomique | METHOD FOR EXECUTING A MICROPROCESSOR OF A POLYMORPHIC BINARY CODE OF A PREDETERMINED FUNCTION |
| EP2913773A1 (en) * | 2014-02-27 | 2015-09-02 | Thomson Licensing | Run-time Continuous Address Space Layout Randomization of flattened Control Flow Graph |
| US8997256B1 (en) | 2014-03-31 | 2015-03-31 | Terbium Labs LLC | Systems and methods for detecting copied computer code using fingerprints |
| US9459861B1 (en) | 2014-03-31 | 2016-10-04 | Terbium Labs, Inc. | Systems and methods for detecting copied computer code using fingerprints |
| US9940444B1 (en) * | 2014-04-21 | 2018-04-10 | Virtual Marketing Incorporated | Software wrapper and installer using timestamp validation and system identification validation |
| US20160132317A1 (en) | 2014-11-06 | 2016-05-12 | Intertrust Technologies Corporation | Secure Application Distribution Systems and Methods |
| TWI539276B (en) * | 2015-06-18 | 2016-06-21 | 致伸科技股份有限公司 | Operating time supervisory system |
| WO2017115612A1 (en) * | 2015-12-29 | 2017-07-06 | 優太 竹田 | Processing system, processing method, and program |
| US9851959B2 (en) * | 2016-02-17 | 2017-12-26 | Qualcomm Innovation Center, Inc. | Semantically sensitive code region fingerprint calculation for programming languages |
| US11218291B2 (en) * | 2018-02-26 | 2022-01-04 | Stmicroelectronics (Rousset) Sas | Method and circuit for performing a substitution operation |
| FR3078463A1 (en) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | METHOD AND DEVICE FOR REALIZING SUBSTITUTED TABLE OPERATIONS |
| FR3078464A1 (en) | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | METHOD AND CIRCUIT FOR IMPLEMENTING A SUBSTITUTION TABLE |
| US10733303B1 (en) * | 2020-04-23 | 2020-08-04 | Polyverse Corporation | Polymorphic code translation systems and methods |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758068A (en) * | 1995-09-19 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for software license management |
Family Cites Families (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4464650A (en) | 1981-08-10 | 1984-08-07 | Sperry Corporation | Apparatus and method for compressing data signals and restoring the compressed data signals |
| US4558302A (en) | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
| US4658093A (en) | 1983-07-11 | 1987-04-14 | Hellman Martin E | Software distribution system |
| US4796220A (en) | 1986-12-15 | 1989-01-03 | Pride Software Development Corp. | Method of controlling the copying of software |
| US4999806A (en) * | 1987-09-04 | 1991-03-12 | Fred Chernow | Software distribution system |
| US4937863A (en) | 1988-03-07 | 1990-06-26 | Digital Equipment Corporation | Software licensing management system |
| US5008814A (en) * | 1988-08-15 | 1991-04-16 | Network Equipment Technologies, Inc. | Method and apparatus for updating system software for a plurality of data processing units in a communication network |
| US4953209A (en) | 1988-10-31 | 1990-08-28 | International Business Machines Corp. | Self-verifying receipt and acceptance system for electronically delivered data objects |
| US5199066A (en) * | 1989-04-18 | 1993-03-30 | Special Effects Software, Inc. | Method and apparatus for protecting software |
| US5166886A (en) * | 1989-07-31 | 1992-11-24 | Molnar Charles E | System to demonstrate and sell computer programs |
| EP0459046A1 (en) | 1990-05-31 | 1991-12-04 | International Business Machines Corporation | Computer software protection |
| US5049881A (en) * | 1990-06-18 | 1991-09-17 | Intersecting Concepts, Inc. | Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique |
| US5051745A (en) | 1990-08-21 | 1991-09-24 | Pkware, Inc. | String searcher, and compressor using same |
| US5440401A (en) | 1990-09-14 | 1995-08-08 | Eastman Kodak Company | Image database incorporating low resolution index image data |
| US5222134A (en) | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
| JPH0799497B2 (en) | 1990-12-14 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Device and method for controlling the use of software |
| US5224166A (en) * | 1992-08-11 | 1993-06-29 | International Business Machines Corporation | System for seamless processing of encrypted and non-encrypted data and instructions |
| US5287408A (en) | 1992-08-31 | 1994-02-15 | Autodesk, Inc. | Apparatus and method for serializing and validating copies of computer software |
| US5509070A (en) | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
| US5337357A (en) * | 1993-06-17 | 1994-08-09 | Software Security, Inc. | Method of software distribution protection |
| US5553139A (en) | 1994-04-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic license distribution |
| CA2143874C (en) | 1994-04-25 | 2000-06-20 | Thomas Edward Cooper | Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub |
| US5689560A (en) | 1994-04-25 | 1997-11-18 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for allowing a try-and-buy user interaction |
| US5598470A (en) | 1994-04-25 | 1997-01-28 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block |
| US5757907A (en) | 1994-04-25 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification |
| US5563946A (en) | 1994-04-25 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems |
| US5564038A (en) | 1994-05-20 | 1996-10-08 | International Business Machines Corporation | Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period |
| US5559884A (en) | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
| JP3647907B2 (en) | 1994-09-09 | 2005-05-18 | 富士通株式会社 | Encryption software decompression system |
| US5819091A (en) | 1994-12-22 | 1998-10-06 | Arendt; James Wendell | User level control of degree of client-side processing |
| US5745569A (en) | 1996-01-17 | 1998-04-28 | The Dice Company | Method for stega-cipher protection of computer code |
| SE504085C2 (en) | 1995-02-01 | 1996-11-04 | Greg Benson | Methods and systems for managing data objects in accordance with predetermined conditions for users |
| US5903647A (en) | 1995-06-07 | 1999-05-11 | Digital River, Inc. | Self-launching encrypted digital information distribution system |
| US5883955A (en) | 1995-06-07 | 1999-03-16 | Digital River, Inc. | On-line try before you buy software distribution system |
| US5883954A (en) | 1995-06-07 | 1999-03-16 | Digital River, Inc. | Self-launching encrypted try before you buy software distribution system |
| US5870543A (en) | 1995-06-07 | 1999-02-09 | Digital River, Inc. | System for preventing unauthorized copying of active software |
| AU6269796A (en) | 1995-06-07 | 1996-12-30 | Digital River, Inc. | Try-before-you-buy software distribution and marketing syste m |
| JPH08335182A (en) | 1995-06-07 | 1996-12-17 | Fujitsu Ltd | File protection system, software usage system using the file protection system, and recording medium used in the software usage system |
| US6006328A (en) * | 1995-07-14 | 1999-12-21 | Christopher N. Drake | Computer software authentication, protection, and security system |
| US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
| US5687191A (en) | 1995-12-06 | 1997-11-11 | Solana Technology Development Corporation | Post-compression hidden data transport |
| US5708709A (en) | 1995-12-08 | 1998-01-13 | Sun Microsystems, Inc. | System and method for managing try-and-buy usage of application programs |
| JP3627384B2 (en) | 1996-01-17 | 2005-03-09 | 富士ゼロックス株式会社 | Information processing apparatus with software protection function and information processing method with software protection function |
| US5905860A (en) | 1996-03-15 | 1999-05-18 | Novell, Inc. | Fault tolerant electronic licensing system |
| US5729223A (en) * | 1996-03-20 | 1998-03-17 | Motorola Inc. | Method and apparatus for data compression and restoration |
| US5864620A (en) | 1996-04-24 | 1999-01-26 | Cybersource Corporation | Method and system for controlling distribution of software in a multitiered distribution chain |
| US6141698A (en) | 1997-01-29 | 2000-10-31 | Network Commerce Inc. | Method and system for injecting new code into existing application code |
| US5995625A (en) * | 1997-03-24 | 1999-11-30 | Certco, Llc | Electronic cryptographic packing |
| US5984508A (en) * | 1997-06-18 | 1999-11-16 | Aveo, Inc. | System, method and article of manufacture for product return of software and other information |
-
1999
- 1999-06-09 US US09/328,737 patent/US6966002B1/en not_active Expired - Lifetime
-
2000
- 2000-04-25 US US09/558,096 patent/US6591415B1/en not_active Expired - Fee Related
- 2000-04-25 US US09/558,086 patent/US6683546B1/en not_active Expired - Lifetime
- 2000-04-26 WO PCT/US2000/011545 patent/WO2000067095A1/en not_active Ceased
- 2000-04-26 IL IL14593700A patent/IL145937A0/en active IP Right Grant
- 2000-04-26 AU AU44999/00A patent/AU4499900A/en not_active Abandoned
- 2000-04-26 EP EP00926475A patent/EP1185915A1/en not_active Ceased
- 2000-04-26 CA CA002369834A patent/CA2369834A1/en not_active Abandoned
- 2000-04-26 JP JP2000615870A patent/JP2002543511A/en not_active Abandoned
-
2001
- 2001-10-15 IL IL145937A patent/IL145937A/en not_active IP Right Cessation
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758068A (en) * | 1995-09-19 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for software license management |
Non-Patent Citations (1)
| Title |
|---|
| MARY TORK ROTH, PETER SCHWARTZ: "A Wrapper architecture for legacy data sources", IBM ALMADEN RESEARCH CENTER, 1997, pages 1 - 21, XP002145099, Retrieved from the Internet <URL:http://www.almaden.ibm.com/cs/garlic/vldb97wraprj.ps> [retrieved on 20000816] * |
Cited By (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7707433B2 (en) | 1998-05-14 | 2010-04-27 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
| US7757097B2 (en) | 1999-09-03 | 2010-07-13 | Purdue Research Foundation | Method and system for tamperproofing software |
| US7287166B1 (en) | 1999-09-03 | 2007-10-23 | Purdue Research Foundation | Guards for application in software tamperproofing |
| US6987718B2 (en) | 2000-04-07 | 2006-01-17 | Sony Dadc Austria Ag | Optical disc copy prevention system |
| WO2001078074A1 (en) * | 2000-04-07 | 2001-10-18 | Sony Dadc Austria Ag | Optical disc copy prevention system |
| WO2003034424A3 (en) * | 2001-10-15 | 2003-08-14 | Macrovision Corp | Improvements in or relating to the copy protection of optical discs |
| EP1470713A4 (en) * | 2002-01-09 | 2009-03-11 | Ibm | A system and method for secure distribution and evaluation of compressed digital information |
| WO2004061621A1 (en) * | 2003-01-07 | 2004-07-22 | Securewrap Pty Ltd | Method of and software for monitoring digital information |
| US8510571B1 (en) | 2003-03-24 | 2013-08-13 | Hoi Chang | System and method for inserting security mechanisms into a software program |
| US7761921B2 (en) | 2003-10-31 | 2010-07-20 | Caterpillar Inc | Method and system of enabling a software option on a remote machine |
| EP1528454A3 (en) * | 2003-10-31 | 2006-05-31 | Caterpillar Inc. | Remote software activation |
| EP1735943A4 (en) * | 2004-04-14 | 2010-10-06 | Digital River Inc | Geographic location based licensing system |
| US8087092B2 (en) | 2005-09-02 | 2011-12-27 | Uniloc Usa, Inc. | Method and apparatus for detection of tampering attacks |
| EP1850260A1 (en) | 2006-04-26 | 2007-10-31 | Macrovision Corporation | A computer-implemented method and system for binding digital rights management executable code to a software application |
| US8516447B2 (en) | 2006-04-26 | 2013-08-20 | Flexera Software Llc | Computer-implemented method and system for binding digital rights management executable code to a software application |
| US8458673B2 (en) | 2006-04-26 | 2013-06-04 | Flexera Software Llc | Computer-implemented method and system for binding digital rights management executable code to a software application |
| US8284929B2 (en) | 2006-09-14 | 2012-10-09 | Uniloc Luxembourg S.A. | System of dependant keys across multiple pieces of related scrambled information |
| US7908662B2 (en) | 2007-06-21 | 2011-03-15 | Uniloc U.S.A., Inc. | System and method for auditing software usage |
| WO2008157639A1 (en) * | 2007-06-21 | 2008-12-24 | Uniloc Corporation | System and method for auditing software usage |
| US8160962B2 (en) | 2007-09-20 | 2012-04-17 | Uniloc Luxembourg S.A. | Installing protected software product using unprotected installation image |
| US8374968B2 (en) | 2008-02-22 | 2013-02-12 | Uniloc Luxembourg S.A. | License auditing for distributed applications |
| US8838976B2 (en) | 2009-02-10 | 2014-09-16 | Uniloc Luxembourg S.A. | Web content access using a client device identifier |
| WO2010145886A1 (en) * | 2009-06-16 | 2010-12-23 | Antix Labs Ltd | Rights managed distributable software |
| US9047458B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Network access protection |
| US10489562B2 (en) | 2009-06-19 | 2019-11-26 | Uniloc 2017 Llc | Modular software protection |
| US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
| US9047450B2 (en) | 2009-06-19 | 2015-06-02 | Deviceauthority, Inc. | Identification of embedded system devices |
| US8903653B2 (en) | 2009-06-23 | 2014-12-02 | Uniloc Luxembourg S.A. | System and method for locating network nodes |
| US9075958B2 (en) | 2009-06-24 | 2015-07-07 | Uniloc Luxembourg S.A. | Use of fingerprint with an on-line or networked auction |
| US8239852B2 (en) | 2009-06-24 | 2012-08-07 | Uniloc Luxembourg S.A. | Remote update of computers based on physical device recognition |
| US9129097B2 (en) | 2009-06-24 | 2015-09-08 | Uniloc Luxembourg S.A. | Systems and methods for auditing software usage using a covert key |
| US10068282B2 (en) | 2009-06-24 | 2018-09-04 | Uniloc 2017 Llc | System and method for preventing multiple online purchases |
| US10402893B2 (en) | 2009-06-24 | 2019-09-03 | Uniloc 2017 Llc | System and method for preventing multiple online purchases |
| US9141489B2 (en) | 2009-07-09 | 2015-09-22 | Uniloc Luxembourg S.A. | Failover procedure for server system |
| US9082128B2 (en) | 2009-10-19 | 2015-07-14 | Uniloc Luxembourg S.A. | System and method for tracking and scoring user activities |
| US8510475B2 (en) | 2009-12-10 | 2013-08-13 | Fujitsu Limited | Application software protection method and stream edit processing system |
| WO2011137927A1 (en) * | 2010-05-04 | 2011-11-10 | C.K.D. Cryptography Key Databank Sagl | Method to control and limit readability of electronic documents |
| US10432609B2 (en) | 2011-01-14 | 2019-10-01 | Device Authority Ltd. | Device-bound certificate authentication |
| WO2016148728A1 (en) * | 2015-03-13 | 2016-09-22 | Citrix Systems, Inc. | Enforcing licensing policies using an application wrapper |
| US10198560B2 (en) | 2015-03-13 | 2019-02-05 | Citrix Systems, Inc. | Enforcing licensing policies using an application wrapper |
Also Published As
| Publication number | Publication date |
|---|---|
| IL145937A0 (en) | 2002-07-25 |
| US6591415B1 (en) | 2003-07-08 |
| US6966002B1 (en) | 2005-11-15 |
| JP2002543511A (en) | 2002-12-17 |
| EP1185915A1 (en) | 2002-03-13 |
| US6683546B1 (en) | 2004-01-27 |
| IL145937A (en) | 2006-07-05 |
| AU4499900A (en) | 2000-11-17 |
| CA2369834A1 (en) | 2000-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6966002B1 (en) | Methods and apparatus for secure distribution of software | |
| US20050251686A1 (en) | Methods and apparatus for secure distribution of software | |
| US7360252B1 (en) | Method and apparatus for secure distribution of software | |
| US20070271191A1 (en) | Method and apparatus for secure distribution of software | |
| EP2474933B1 (en) | Digital rights management provision server and method | |
| KR100467929B1 (en) | System for protecting and managing digital contents | |
| US7581255B2 (en) | Systems and methods for licensing one or more data streams from an encoded digital media file | |
| US7845014B2 (en) | Method and apparatus for implementing digital rights management | |
| KR100798199B1 (en) | Data processing apparatus, data processing system, and data processing method | |
| JP4235691B2 (en) | Self-protection document system | |
| JPH10301904A (en) | Cryptographic system provided with decoding key made into transaction code | |
| JP2008539525A (en) | Method and apparatus for detecting falsification of metadata | |
| JP2002077137A (en) | System and method for protection of digital works | |
| JP2009201163A (en) | Method for generating encrypted electronic contents from electronic contents | |
| JP2002077136A (en) | System and method for protection of digital works | |
| Schneck | Persistent access control to prevent piracy of digital information | |
| US20070078775A1 (en) | System and method for preventing unauthorized use of digital works | |
| JP2006511854A (en) | How to distribute information content | |
| KR100718702B1 (en) | Multimedia contents integrated e-book, e-book distribution system and method | |
| EP2044567A1 (en) | Method and system for providing a content subscription service |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| ENP | Entry into the national phase |
Ref document number: 2369834 Country of ref document: CA Ref country code: CA Ref document number: 2369834 Kind code of ref document: A Format of ref document f/p: F |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2000926475 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 615870 Kind code of ref document: A Format of ref document f/p: F |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2000926475 Country of ref document: EP |
|
| WWR | Wipo information: refused in national office |
Ref document number: 2000926475 Country of ref document: EP |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2000926475 Country of ref document: EP |