WO2000075760A1 - Procede et systeme destines a empecher l'utilisation non autorisee d'un logiciel - Google Patents
Procede et systeme destines a empecher l'utilisation non autorisee d'un logiciel Download PDFInfo
- Publication number
- WO2000075760A1 WO2000075760A1 PCT/US2000/040137 US0040137W WO0075760A1 WO 2000075760 A1 WO2000075760 A1 WO 2000075760A1 US 0040137 W US0040137 W US 0040137W WO 0075760 A1 WO0075760 A1 WO 0075760A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- registrant
- target
- user
- identifier
- software
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 abstract description 19
- 238000013500 data storage Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 3
- 230000004224 protection Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Definitions
- the present invention relates generally to preventing the unauthorized use of a software program. More particularly, the present invention relates to the generation and distribution of an unlock key designed to reduce the unauthorized use of a software program.
- One method of preventing the unauthorized use of a software program is to distribute a locked version of the software program along with an unlock key to be entered into the software program, or into a software installation program.
- the software program, or the installation program will not operate fully without the unlock key.
- This method has weaknesses. For example, this method can be easily circumvented because, once an individual legitimately obtains a copy of the software and an unlock key, that individual can distribute copies of the software and unlock key to others. Further, this method does not allow a software producer to track the use of a particular copy of the software program. Thus, a software producer will have a difficult time, if not impossible time, discerning when unauthorized use of its software programs is occurring. Other copy protection schemes suffer in that they require the end users to attach an electronic security device to the computer. Because of these and other weaknesses in existing copy protection methods, an improved form of prevention is needed.
- the present invention provides a system and method in which a key for unlocking a target software program is generated (and validated) using information about the end user of the program and/or about a target computing device of the user.
- the keys are generated by a registrar system, which may be implemented, for example, as an Internet server of a software seller or distributor.
- the invention may be used to register and unlock software programs for PCs, PDAs (personal digital assistants), and other types of target computing devices.
- registrant data is initially collected from the user, and/or from a computing device of the user, and is transmitted the registrar system.
- the registrant data preferably includes the following components: (1 ) a registrant identifier, which may be derived from or contain a username associated with the target device, a unique serial number of the target device, and/or another appropriate identifier of the user or the target device; (2) information about the user, such as the user's name and email address, and (3) a public serial number provided to the user with or in connection with the target software.
- the registrant data may be obtained, for example, by registration software which prompts the end user to enter the appropriate information and/or reads the information from memory.
- the registration software runs on a PC or other Internet-connected computing device of the user, and is used to unlock a target program for use on a PDA. In other embodiments, the registration software runs on the target device (e.g., as a component of the target software).
- the registrar system includes a database or other data repository which stores information for generating the keys and tracking registration events. This information preferably includes lists of valid public serial numbers (or of private serial numbers associated therewith), and registrant data obtained from end users of the system as the result of registration events.
- the registrar system also maintains, for each public serial number, a count of the number of times the serial number has been used to register a target program. The count values are used to limit the number of times any given public serial number is used to obtain a key.
- the limit number may be set by the software seller/distributor to a value (e.g., 2-5) which allows the end user to re-register the target software one or more times (such as when the user purchases a new target device), yet limits the effectiveness of stolen keys to pirates.
- a value e.g., 2-5 which allows the end user to re-register the target software one or more times (such as when the user purchases a new target device), yet limits the effectiveness of stolen keys to pirates.
- the system When the registrar system receives a new registration request, the system initially determines whether some or all of the registrant data is valid. As part of this process, the registration system preferably determines whether the public serial number is valid, and determines whether the public serial number has been used the maximum number of times. If the registration information is valid, the registrar system generates and returns a key that is specific to the registrant data (and particularly the registrant identifier), and the key is installed on the target device. The key preferably includes an encrypted representation of the registrant identifier. The target software determines whether the key is valid by determining whether the key corresponds to the registrant identifier (and possibly other registrant data). If the key is not valid, the target software is maintained in a locked state.
- Figure 1 illustrates a registration process at a general level.
- Figure 2 illustrates a set of components for implementing the registration process.
- Figure 3 illustrates the registration process according to one embodiment of the invention. Detailed Description of the Preferred Embodiments I. Terminology
- target software program refers to software that an individual or entity seeks to protect from unauthorized use.
- the target software program may include multiple code modules, including modules that run remotely from one another.
- Examples of target software applications include word processing programs, 3D animation programs, spreadsheet programs, online banking programs, operating systems, and controlling systems.
- target device is a device that uses the target program.
- the target device may be a device used primarily for computing (e.g., a personal computer, a mainframe computer, a handheld computer, and a calculator).
- the target device may be a device not primarily used for computing (e.g., a household appliance, an automobile, a television set, and a satellite dish) but having components capable of using the target software program.
- the target program may or may not reside in the target device.
- the term "registrant” refers to an individual or entity that seeks to obtain authorized use of the target software program.
- the term "register,” and its variants refer to the process of obtaining authorized use of the target software program.
- the registration process may also be used to obtain authorized use of the target device.
- a target device may be inoperable without the target software program, in which case controlling the use of the target software program has the effect of controlling the use of the target device.
- the term "licensor entity” refers to the individual or entity that seeks to protect the target software from unauthorized use.
- locked refers to the state of having a reduced level of functionality. If a software program is locked, the software program may have full functionality for a limited period, limited functionality for an indefinite period, or no functionality whatsoever. A locked software program may be unlocked at which time the software program becomes fully functional. Examples include a word processing program that permits the user to edit documents but not save the documents and a spreadsheet program that does not execute after thirty days of use.
- serial number refers to a value used to identify a license of a software program, a copy of a software program, a license of a device, or a specific device.
- end-use refers to the use of a software program.
- the term "reseller” refers to an individual or entity that seeks to distribute the target software program for a price.
- unlock key refers to a value used to unlock locked software.
- An entity that controls the distribution of the unlock keys controls the use of corresponding locked software. Typically, the entity wishes to sell the rights to use locked software for a price. Once the price is paid, the entity will distribute the unlock key.
- the invention provides a method and apparatus for registering a target software program.
- the licensor entity distributes the target software program as locked software ("locked target software"). By distributing the software as locked software, the licensor entity may control the end use of the target software.
- the licensor entity establishes a system ("registrar") through which a registrant registers the target software program to unlock the target software program.
- a registrar system is a web server connected to the Internet. In this example, a registrant would be required to visit a web site hosted by the web server in order to obtain an unlock key to unlock the locked target software.
- An entity or individual that establishes a registrar is a registration entity ("registration entity").
- Figure 1 illustrates a registration process at a general level.
- the registrar 101 receives the registrant data 102.
- a registrant may enter his name, email address, credit card number, and a serial number into a web page hosted by a web server, functioning as a registrar.
- the registrar 101 uses the registrant data 102, determines whether there is a risk that the registrant 103 is a software pirate.
- a registrar may comprise a software program capable of recording the number of times a serial number has been used to register the target software program. If the number of times reaches an unacceptable level, the registrar does not send the registrant an unlock key.
- the registrar 101 determines that the risk that the registrant 103 is a pirate is sufficiently low, the registrar 101 sends to the registrant 103 an unlock key 104 that will unlock the locked target software.
- a registrar may comprise a software program capable of recording the number of times a serial number has been used to register the target software program. If serial number had never been used, the registrar emails an unlock key to the registrant.
- the unlock key 104 is derived from the registrant data 102 in such a way as to hinder the unauthorized use of the target software program.
- the unlock key could be derived from the serial number of the target device such that the unlock key would not work with other devices with a different serial number. With the unlock key 104, the registrant 103 is able to use the target software program.
- Figure 2 illustrates a set of components for implementing the registration process.
- a transferor 201 receives and then transfers the registrant data 102 to the registrar 101.
- a transferor may be a web page into which a registrant may enter the registrant data, a software program that prompts the registrant for the registrant data and then communicates via the Internet to the registrar, or an email program that the registrant may use to email the registrant data to the registrar.
- the transferor 201 obtains certain items, including, but not limited to, a registrant identifier 202, a public serial number 203, and registrant information 204.
- the registrant identifier 202 and registrant information 204 are, among other things, useful for identifying the registrant and tracking the end-use of the target software program. Examples of a registrant identifier include, but are not limited to, a user-defined username or password, and a unique serial number embedded in a target device and accessible to the transferor. Examples of registrant information include, but are not limited to, the registrant's first name, the registrant's last name, and the registrant's email address.
- the public serial number 203 is a serial number relating to the target software program.
- the public serial number 203 is, among other things, useful for tracking the use of a particular license or copy of the target software program. Examples of a public serial number include, but are not limited to, a serial number printed on a card packaged with a copy of the target software program.
- the registrar 101 receives the registrant data over the Internet, a dial-in connection, or other communications channel.
- the registrar 101 consists of a registrant data validator 205, an unlock key generator 206, and data storage 207.
- the data validator 205 and the unlock key generator 206 are implemented in software, but could alternatively be implemented in-whole or in-part within special hardware.
- the registrant data validator 205 accesses the risk that the particular registrant is a software pirate. If the risk that a registrant is a pirate is sufficiently low according to a predetermined algorithm, the registrant data 102 is deemed valid. If the risk that a registrant is a pirate is not sufficiently low according to the predetermined algorithm, the registrant data 102 is deemed not valid.
- the registrant data validator 205 may evaluate this risk by analyzing the registrant data in context with previously recorded registrant data stored in the data storage, as described below.
- the unlock key generator 206 creates an unlock key 104.
- the unlock key 104 is derived from the registrant data 102 in such a way as to hinder the unauthorized use of the target software program.
- Examples of the unlock key generator include, but are not limited to, a software program that derives the unlock key from the registrant identifier.
- the data storage 207 records information regarding previous registrations and information regarding which public serial numbers are valid.
- Examples of the data storage include, but are not limited to, a database that contains a record of every valid public serial number, and a database that contains a record of every public serial number that has been registered through the registrar.
- the registrant data validator 205 As depicted in Figure 2, the registrant data validator 205, an unlock key generator 206, and data storage
- the registrant data validator 205, an unlock key generator 206, and data storage 207 may be implemented by a single individual or entity or multiple individuals or entities. For example, these components could run on a publicly accessible Internet server of a software reseller, or a third party registration entity.
- the registrar 101 sends and the receiver 208 receives the unlock key 104.
- the receiver include, but are not limited to, a software program residing on a computing device that receives the unlock key via the Internet from the registrar.
- the receiver prepares the unlock key 104 for use with the target software program.
- Examples of the receiver preparing the unlock key for use with the target software program include the locked target program prompting the registrant for an unlock key and then installing the unlock key, as described below.
- the Registrant Identifier may be an identifier that is unique for every target device (many devices have a unique serial number).
- the registrant identifier may also be user-defined (e.g., the HotSync username for a Palm, Inc. Palm(TM) handheld).
- the registrant identifier may be derived from any unique or non-unique identifier that is defined in software, hardware, or any other means of identification. Regardless of its source, the registrant identifier is used throughout the various embodiments to generate the unlock key, and the unlock key remains useful as long as registrant identifier does not change.
- the transferor may obtain the registrant identifier or the user identification number (discussed below) in different ways. For example, a locked version of the target software may display or transfer the registrant identifier or the user identification number to the registrant, who subsequently passes it to the transferor. Alternatively, software other than the locked version of the target software may display or transfer the registrant identifier or the user identification number to the registrant, who subsequently passes it to the transferor. Further, the transferor may obtain the registrant identifier and then create the user identification number. The transferor may obtain the registrant identifier, or the user identification number, through other means not listed.
- the registrant identifier is an identifier that is unique for every target device and the unlock key is derived from the registrant identifier.
- the unlock key is only valid for the target device and prevents sharing of the unlock key for pirating purposes.
- a new unlock key is obtained from the registrar when the target device is changed (e.g., a customer replaces the target device).
- the registrant identifier is user-defined and the unlock key is derived from the registrant identifier.
- the unlock key is valid so long as the user-defined registrant identifier remains the same (e.g., a customer upgrades a Palm handheld, but keeps the same HotSync username).
- the registrant obtains a different unlock key when the registrant identifier is changed.
- the unlock key may be used on multiple target devices where the registrant identifier is the same.
- a checksum may be generated and transferred as part of the registrant data along with the registrant identifier or the user identification number (discussed below). The checksum is derived from the registrant identifier and/or the user identification number and is used to verify error-free transmission of such data from the transferor to the registrar.
- the registrar can verify the transmission by deriving the checksum ("derived checksum") in same manner that the original checksum (“original checksum”) was derived. If the derived checksum and the original checksum do not match, there was an error in the transmission.
- This verification process may or may not be performed by the registrant data validator.
- the checksum helps to detect errors related to human data entry. For example, a web server, functioning as the registrar, may prompt the registrant for the user identification number that incorporates a checksum. Using the checksum, the registrar may determine if the registrant correctly types the user identification number. The checksum helps to detect other transmission errors related to the data transfer process.
- a checksum is derived by adding the value of each character in the registrant identifier or the user identification number (discussed below), truncating the total to sixteen bits, translating the truncated total into a four-digit hexadecimal value, translating the hexadecimal value into four ASCII characters, and appending the four ASCII characters to the end of the registrant identifier or the user identification number.
- the registrant information may include, but is not limited to, the registrant's first name, the registrant's last name, the registrant's email address, the user identification number, the registrant identifier, the credit card number used in the purchase of the target software, an order identification number ("order identification number"), and/or any other information relating to registrant, the registration performed, or the purchase of the target software.
- the registration information may or may not be included in the registrant data.
- the transferor may obtain the registrant information in many ways, including but not limited to, an electronic data transmission, email, web page input, telephone, mail, fax, or shipping.
- the public serial numbers are created by encrypting a set of valid private serial numbers.
- the encryption algorithms referred to herein can be accomplished using any appropriate encryption method, such as methods using private key encryption, public key encryption, symmetric key encryption, or asymmetric key encryption, or a combination thereof. If the public serial numbers are sequential, a pirate could easily derive other valid public serial numbers by obtaining a single public serial number. A pirate could easily obtain a public serial number with a legitimate purchase of the software. Encrypting the private serial numbers to generate the public serial numbers ensures that the public serial numbers are not sequential and are difficult for a pirate to derive without the key. The transferor may obtain the public serial number in many ways.
- the registrant may obtain the public serial number through a purchase and subsequently pass the public serial number to the transferor.
- the public serial number may be provided on a paper certificate or label in a package with or separate from the target software.
- the public serial number may be provided by, for example, displaying a customized web page in the registrant's web browser, sending through an electronic data transmission, calling on the telephone, emailing, faxing, mailing, or shipping.
- the public serial number may be provided by, for example, sending through an electronic data transmission, calling on the telephone, emailing, faxing, mailing, or shipping.
- the public serial number could be embedded in a software program that is provided to the registrant, such as the target software program or the transferor; this option reduces or eliminates errors related to human entry of the public serial number.
- an encryption algorithm is applied to the registrant identifier to create a user identification number ("user identification number"). While this encryption algorithm can be accomplished using any appropriate encryption method, it may be a simple transformation. For example, the user identification number may be a hexadecimal representation of the ASCII values of the first six characters of a registrant identifier.
- the user identification number can be of any length.
- the user identification number is included in the registrant data in the place of the registrant identifier.
- the encryption algorithm preserves the privacy of the registrant by preventing third parties from viewing the registrant identifier.
- the encryption algorithm deters piracy because the user identification number bears no obvious resemblance to the registrant identifier. Thus, where the unlock key is derived using the registrant identifier, a pirate would not know to alter the registrant identifier to circumvent the protections of the registration process.
- the encryption algorithm may be used to transform the registrant identifier into a format supported by most software programs, including, but not limited to, web browsers and email programs. For example, in the embodiment where a registrant enters the registrant data into a web page, it is desirable to have the registrant data to come from character sets supported by the registrant's web browser. However, the registrant identifier may consist of localized character sets (e.g., Kanji and accented Roman characters) that are not supported by the registrant's web browser. The encryption algorithm may be used to transform the registrant identifier from the localized character set into a character set supported by the registrant's web browser.
- localized character sets e.g., Kanji and accented Roman characters
- the user identification number may be a hexadecimal string of ASCII characters.
- the hexadecimal string of ASCII characters consists of the characters 0 through 9 and a through f which are likely to be supported by most software programs.
- the transferor is a component that a registrant uses to send the registrant data to the registrar.
- the registrant may send the registrant data to the registrar using any appropriate communications method.
- Data transfers referred to herein can be accomplished using any appropriate communications methods, such as fax, email, web page input, web page redirect, web page output, telephone, mail, shipping, electronic data transmission, or telephone keypad.
- the transferor is a component that a reseller uses to send the registrant data to the registrar.
- the reseller obtains the registrant data, excluding the public serial number, using any appropriate communications methods. If the reseller has a set of valid public serial numbers, the reseller transfers to the registrar the registrant data, including a public serial number. Where the reseller has a set of valid public serial numbers, it is preferred that each reseller have a mutually exclusive set of public serial numbers. In this case, either the registrar or the reseller may send the registrant the public serial number for the registrant's records. If the reseller does not have a set of valid public serial numbers, the reseller transfers to the registrar the registrant data, excluding a public serial number. In this case, the registrar would send the registrant the public serial number, or, alternatively, the registrar would send the reseller the public serial number and the reseller would send the registrant the public serial number.
- the locked target software is the transferor.
- the locked target software may obtain the public serial number in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the locked target software may obtain the registrant identifier, or the user identification number (where appropriate), in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the locked target software may obtain the registrant information, in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the locked target software may transfer the registrant data to the registrar using any appropriate communications method.
- the transferor may reside on the target device or on a device other than the target device.
- the transferor may be integrated with a software program that acts as the receiver.
- software other than the locked target software is the transferor.
- the software other than locked target software may obtain the public serial number in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the software other than locked target software may obtain the registrant identifier, or the user identification number (where appropriate), in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the software other than locked target software may obtain the registrant information, in many ways, including, but not limited to, registrant input or any appropriate communications method.
- the software other than locked target software may transfer the registrant data to the registrar using any appropriate communications method.
- the transferor may reside on the target device or on a device other than the target device.
- the transferor may be integrated with a software program that acts as the receiver.
- the Registrar may send the unlock key to the receiver using any appropriate communications method.
- a registrant may register the target software through a web site, functioning as a registrar.
- the web site could display a web page that had the unlock key on it.
- the registrant then could pass the unlock key to the receiver.
- the registrar sends a order identification number to the registrant for the registrant's record keeping.
- the registrar is a component that a reseller operates.
- the registrar could be the sole registrar or one of many registrars.
- the reseller could be the sole reseller or one of many resellers.
- the registrar, a component that a registrant operates, a component that a reseller operates, a component that another reseller operates, the locked target software, or software other than the locked target software may be the transferor.
- the transferor functionality and the registrar functionality may be integrated into one software code module or separated into multiple modules.
- the transferor functionality and the registrar functionality may operate on one piece of hardware or location, or multiple pieces of hardware or locations
- the registrar is not a component that a reseller operates.
- the registrar could be the sole registrar or one of many registrars. In this embodiment, there could be one reseller, or multiple resellers.
- the registrar, a component that a registrant operates, a component that a reseller operates, the locked target software, or software other than the locked target software may be the transferor.
- the transferor functionality and the registrar functionality may be integrated into one software code module or separated into multiple modules.
- the transferor functionality and the registrar functionality may operate on one piece of hardware or location, or multiple pieces of hardware or locations.
- the registrant data validator determines if the registrant data is valid by comparing the public serial number to a set of valid private serial numbers. If public serial number matches one of the valid private serial numbers, registrant data is valid. In one embodiment, the public serial numbers are created by encrypting a set of valid private serial numbers.
- the registrant data validator determines if the public serial number is valid by decrypting the public serial number and comparing the result ("derived serial number") to the set of valid private serial numbers. If the derived serial number matches one of the valid private serial numbers, the registrant data is deemed valid.
- the registrant data validator first compares the public serial number or the derived serial number to a set of valid private serial numbers. If the public serial number or the derived serial number does not match one of the valid private serial numbers, the registrant data is deemed not valid. If the public serial number or the derived serial number matches one of the valid private serial numbers, the registrant data validator determines the number of times that the public serial number has been registered, including the current registration ("total number of registrations"). If the total number of registrations is greater than a predetermined maximum number of registrations allowed (“maximum number of registrations"), the registrant data is deemed not valid. If the total number of registrations is not greater than the maximum number of registrations, the registrant data is deemed valid.
- the process limits the number of times that a pirate could use a specific public serial number.
- the total number of times that pirates could use any given public serial number is the maximum number of registrations. Where the maximum number of registrations is one, the public serial number cannot be registered a second time. Where the maximum number of registrations is greater than one, the process provides flexibility for situations when it is desirable to have multiple registrations. It is desirable to have multiple registrations, for instance, when a first registrant purchases the target software out of the box, registers the target software, and then returns the target software for a refund. In that situation, the public serial number is preferably valid for subsequent purchasers.
- the maximum number of registrations is three; however, the maximum number of registrations could be any number, including a number which is dependent upon the price or some other attribute of the target software program.
- the total number of registrations will likely rise to the maximum number of registrations. This will prevent any pirates from using the public serial number in the future, but this will deprive a legitimate registrant of the benefits of having a maximum number of registrations greater than one. In the case where the registrant had not yet registered the target software, this will deprive a legitimate registrant of initial registration.
- the registrant data validator determines if the registrant information is valid according to conventional methods. If the registrant information is not valid, the registrant data is deemed not valid.
- the Unlock Key Generator is derived from the registrant data in such a way as to hinder the unauthorized use of the target software program.
- the unlock key may be derived from any items or combination of items included in the registrant data.
- the unlock key generator applies an encryption algorithm to the registrant identifier to create the unlock key.
- the unlock key generator applies a decryption algorithm to the user identification number to obtain the registrant identifier.
- the unlock key generator applies an encryption algorithm to the concatenation of a registrant identifier and a product identifier ("product identifier") to create the unlock key.
- product identifier uniquely identifies the target software program (e.g., a specific version of a particular product).
- the unlock key generator applies a decryption algorithm to the user identification number to obtain the registrant identifier.
- the Data Storage may be accomplished in many ways, including but not limited to, a database.
- the data storage a database that associates a set of valid private serial numbers, or public serial numbers, with a corresponding total number of registrations.
- the data storage is a database that associates a set of registrants with a valid private serial number.
- the database may also associate certain information with a particular registrant. This information may include any of the registrant data.
- the data storage is a database that contains a set of order identification numbers.
- the database associates certain information with a particular order identification number. The information may include any of the registrant data.
- the Receiver In one embodiment, the receiver is the locked target software. Examples include, but are not limited to, the locked target software communicating through the Internet with a server, functioning as a registrar.
- the receiver is software other than the locked target software. Examples include, but are not limited to, a software installation program communicating through the Internet with a server, functioning as a registrar.
- the receiver is component that the reseller uses. Examples include, but are not limited to, a reseller web site, functioning as both the receiver and the transferor, which packages the locked target software together with the unlock key for the registrant to download.
- the locked target software may be unlocked to create a fully functional, unlocked version of the target software ("unlocked target software").
- the locked target software may function with limited functionality that lasts for a limited duration or an unlimited duration.
- the locked target software may function with full functionality that lasts for a limited duration. After the limited duration of full functionality expires, the locked target software may function with limited functionality that lasts for a limited duration or an unlimited duration.
- the unlock key To unlock the locked target software, the unlock key must be valid. To determine if the unlock key is valid, data (“derived registrant data”) is derived the from the unlock key by applying the reverse of the process that the unlock key generator used to create the unlock key. If the derived registrant data matches the registrant data used to create the unlock key, the unlock key is valid.
- the derived registrant data may include a product identifier, where appropriate.
- the target software program determines if the unlock key is valid only once, at which time the target software program permanently unlocks itself.
- the target software program determines if the unlock key is valid multiple times (e.g., every time the target software program is operated, or once every day that the target software program is operated). In this embodiment, the target software program will function as the unlocked target software if the target software program finds a valid unlock key, and will otherwise function as the locked target software.
- the target software program determines if the unlock key is valid, the target software will look for the unlock key in a predetermined location, such as a location embedded within the target software program, a data file, an expansion file, or an operating system registry.
- the receiver installs the unlock key.
- the receiver may determine if the unlock key is valid. If the unlock key is valid, the receiver installs the unlock key; otherwise, the receiver does not install the unlock key. Alternatively, the receiver may simply install the unlock key without verifying the unlock key's validity.
- the locked target software installs the unlock key. For example, the locked target software receives the unlock key after it prompts the registrant for the unlock key.
- the target software program then places the unlock key in a data file in a predetermined location.
- the target software subsequently checks for that unlock key in that predetermined location.
- software other than the locked target software and other than the receiver installs the unlock key.
- a software installation program may be the receiver.
- the software installation program places the unlock key in a synchronization directory.
- the software that operates the synchronization is the software other than the locked software and other than the receiver.
- the software that operates the synchronization then places the unlock key in a data file in a predetermined location.
- the target software subsequently checks for that data file in that predetermined location.
- the target software program may be distributed in many ways. Additionally, directions to implement the registration process may be given to the registrant by the locked software program, displayed on a web site, or provided to the registrant in a document packaged with the locked target software. The directions will vary with the specific embodiment of the process.
- the registrant may purchase a copy of the locked target software packaged with a public serial number printed on a card.
- the registrant may purchase a copy of the locked target software in an online purchase and download a copy of the locked target software from a web server.
- the unlocked target software may be distributed for use additional to the initially registered use.
- copied target software of the unlocked target software will need an unlock key to be unlocked.
- the initial unlock key may not unlock the copied target software.
- the copied target software will function as locked target software.
- the individual or entity that obtained the copied target software may seek to register the copied target software and obtain an unlock key. Examples of uses additional to the initially registered use include, but are not limited to, a potential registrant obtains the copied target software from a friend, and an unsuccessful pirate obtaining a copy of the target software program and the first unlock key.
- a potential registrant may obtain the locked target software without a public serial number.
- the locked target software may be offered for download at a reduced price or for free.
- a copy of the locked target software may be packaged for sale at a reduced price or for free.
- the locked target software may function as a demo version of the software that allows the potential registrant to preview the target software program without paying full price.
- the potential registrant may seek to register the copied target software and obtain an unlock key.
- Integrated Software Package Embodiment As depicted in Figure 3, in one embodiment, a software package 301 integrates the transferor 201, and the receiver 208. The software package 301 is operated on the computing device 302.
- the software package functioning as the transferor 201, obtains the registrant data and transfers the registrant data to the registrar 101 through a data connection 303. If the registrant data is valid, the unlock key is generated.
- the registrar 101 sends the unlock key to the software package 301, functioning as the receiver 208, through the data connection 303.
- the software package, functioning as the receiver 208, prepares the unlock key for use with the target software program 304.
- the target device may be the computing device 305.
- the computing device 302 may be a PC
- the computing device 305 may be a Palm handheld or other PDA coupled to the PC by a cradle.
- the target device may be the computing device 302.
- the computing device 305 may be a Palm handheld or other PDA that uses the data connection 303, which may be a wireless data connection or a PC connected to the Internet.
- the software package may be downloaded from a reseller's web site, or packaged for retail sale.
- the public serial number could be, but need not be, embedded in the software package 301, which reduces errors relating to human input.
- a copy of the target software program 304 may be included in the software package 301 initially or may be downloaded through the data connection 303 to the software package 301.
- the software package 301 may install the copy of the target software program 304 using any appropriate means.
- the software package places the unlock key and the target software program in a synchronization directory.
- the software package 301 is provided as a Java applet which runs on a PC 302 in order to register target software for a Palm or other handheld computing device 305.
- An important benefit to using a Java applet for this purpose is that the software package does not persist on the hard drive or other storage of the PC following installation of the target software. Thus, the registration software does not clutter the user's hard drive, and is not available to pirates or hackers for inspection.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU53345/00A AU5334500A (en) | 1999-06-07 | 2000-06-07 | Method and system for preventing the unauthorized use of software |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13788599P | 1999-06-07 | 1999-06-07 | |
US60/137,885 | 1999-06-07 | ||
US17004799P | 1999-12-10 | 1999-12-10 | |
US60/170,047 | 1999-12-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000075760A1 true WO2000075760A1 (fr) | 2000-12-14 |
Family
ID=26835679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/040137 WO2000075760A1 (fr) | 1999-06-07 | 2000-06-07 | Procede et systeme destines a empecher l'utilisation non autorisee d'un logiciel |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU5334500A (fr) |
WO (1) | WO2000075760A1 (fr) |
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010079030A (ko) * | 2001-06-07 | 2001-08-22 | 전용옥 | Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법 |
WO2002001329A2 (fr) * | 2000-06-27 | 2002-01-03 | Microsoft Corporation | Procede et systeme visant a limiter l'utilisation de caracteristiques logicielles specifiques a l'utilisateur |
GB2370136A (en) * | 2001-05-17 | 2002-06-19 | Uzee Ltd | Server based document distribution |
GB2385757A (en) * | 2002-02-25 | 2003-08-27 | Sony Corp | Authentication to a service provider |
GB2386210A (en) * | 2002-03-07 | 2003-09-10 | Hewlett Packard Co | Method of controlling content consumption |
FR2841349A1 (fr) * | 2002-06-20 | 2003-12-26 | Kniazeff Nicolas Michel Alexis | Procede de protection d'un logiciel contre la copie frauduleuse |
EP1413942A2 (fr) | 2002-10-26 | 2004-04-28 | Ncr International Inc. | Accès contrôlé à des applications logicielles et/ou à des données |
GB2395644A (en) * | 2002-02-25 | 2004-05-26 | Sony Corp | Authentication to an update service provider |
EP1443381A2 (fr) | 2003-01-31 | 2004-08-04 | Microsoft Corporation | Système et procédé de prévention de la piraterie de licences en volume |
GB2398892A (en) * | 2003-02-26 | 2004-09-01 | Lenticular Designs Ltd | Software licensing and registration |
KR100458281B1 (ko) * | 2001-06-21 | 2004-11-20 | 주식회사 로토토 | 원천보안기술을 이용한 소프트웨어나 컨텐츠 또는 정보의 불법이용 방지 방법 |
WO2005003935A1 (fr) * | 2003-07-03 | 2005-01-13 | Siemens Aktiengesellschaft | Systeme et procede d'octroi de permis d'exploitation pour des programmes logiciels necessitant un permis d'exploitation |
EP1512080A1 (fr) * | 2002-05-25 | 2005-03-09 | Fasoo.Com Co., Ltd. | Procede d'authentification d'utilisateur et systeme faisant appel a l'adresse e-mail de l'utilisateur et a des informations concernant son materiel informatique |
KR100475569B1 (ko) * | 2002-12-05 | 2005-03-10 | 삼성전자주식회사 | 가상시디이미지파일의 불법사용 방지방법 |
GB2406664A (en) * | 2003-10-03 | 2005-04-06 | Sendo Int Ltd | Registering an application program of a mobile information device |
GB2407410A (en) * | 2003-09-25 | 2005-04-27 | Sun Microsystems Inc | Enrolling for access to obfuscated application programs |
US6970849B1 (en) | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
EP1636662A2 (fr) * | 2003-06-24 | 2006-03-22 | Nokia Corporation | Procede et dispositif correspondant permettant de facturer l'utilisation d'applications hebergees par un terminal sans fil |
US7047411B1 (en) | 1999-12-17 | 2006-05-16 | Microsoft Corporation | Server for an electronic distribution system and method of operating same |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
EP1486854A3 (fr) * | 2003-06-11 | 2006-05-24 | Canon Kabushiki Kaisha | Méthode et appareil empêchant une utilisation non-autorisée de logiciel |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US7188342B2 (en) | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
EP1796000A1 (fr) * | 2005-12-06 | 2007-06-13 | International Business Machines Corporation | Procédé, système et programme informatique pour la distribution de produits logiciels en mode de démonstration |
EP1810207A1 (fr) * | 2004-09-10 | 2007-07-25 | Canon Kabushiki Kaisha | Systeme de transfert de certificat de licence, terminal d'utilisateur, et serveur d'emission d'information de certificat de licence |
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 |
US7424620B2 (en) | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US7644442B2 (en) | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
DE102008051214A1 (de) * | 2008-10-14 | 2010-04-15 | T-Mobile International Ag | Überweisungscodierung |
US7823208B2 (en) | 2000-06-27 | 2010-10-26 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
EP1387237A3 (fr) * | 2002-07-30 | 2010-12-29 | Texas Instruments Incorporated | Sécurité pour dispositifs informatiques |
EP2267626A3 (fr) * | 2001-03-28 | 2011-01-05 | NDS Limited | Système et procédé de gestion de droits numériques |
US8181265B2 (en) | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
US8220058B2 (en) | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
US8935769B2 (en) | 2012-09-28 | 2015-01-13 | Liveensure, Inc. | Method for mobile security via multi-factor context authentication |
US9754097B2 (en) | 2014-02-21 | 2017-09-05 | Liveensure, Inc. | Method for peer to peer mobile context authentication |
US11308477B2 (en) | 2005-04-26 | 2022-04-19 | Spriv Llc | Method of reducing fraud in on-line transactions |
US11354667B2 (en) | 2007-05-29 | 2022-06-07 | Spriv Llc | Method for internet user authentication |
US11792314B2 (en) | 2010-03-28 | 2023-10-17 | Spriv Llc | Methods for acquiring an internet user's consent to be located and for authenticating the location information |
US11818287B2 (en) | 2017-10-19 | 2023-11-14 | Spriv Llc | Method and system for monitoring and validating electronic transactions |
US11978052B2 (en) | 2011-03-28 | 2024-05-07 | Spriv Llc | Method for validating electronic transactions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0679980A1 (fr) * | 1994-04-25 | 1995-11-02 | International Business Machines Corporation | Méthode et appareil permettant de prendre des logiciels à l'essai avec identification, dépendant de l'ordinateur |
EP0689120A1 (fr) * | 1994-06-22 | 1995-12-27 | AT&T Corp. | Isolation des logiciels non-protégés et protégés pour limiter des infections à virus |
EP0766165A2 (fr) * | 1995-08-31 | 1997-04-02 | Fujitsu Limited | Système de notification de licenses |
WO1998011478A2 (fr) * | 1996-09-11 | 1998-03-19 | Subramanian Subbiah | Procede biometrique pour copie vendue de logiciel |
WO1998042098A1 (fr) * | 1997-03-14 | 1998-09-24 | Cryptoworks, Inc. | Technique de gestion des droits sur des produits numeriques |
-
2000
- 2000-06-07 WO PCT/US2000/040137 patent/WO2000075760A1/fr active Application Filing
- 2000-06-07 AU AU53345/00A patent/AU5334500A/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0679980A1 (fr) * | 1994-04-25 | 1995-11-02 | International Business Machines Corporation | Méthode et appareil permettant de prendre des logiciels à l'essai avec identification, dépendant de l'ordinateur |
EP0689120A1 (fr) * | 1994-06-22 | 1995-12-27 | AT&T Corp. | Isolation des logiciels non-protégés et protégés pour limiter des infections à virus |
EP0766165A2 (fr) * | 1995-08-31 | 1997-04-02 | Fujitsu Limited | Système de notification de licenses |
WO1998011478A2 (fr) * | 1996-09-11 | 1998-03-19 | Subramanian Subbiah | Procede biometrique pour copie vendue de logiciel |
WO1998042098A1 (fr) * | 1997-03-14 | 1998-09-24 | Cryptoworks, Inc. | Technique de gestion des droits sur des produits numeriques |
Cited By (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707643B2 (en) | 1999-12-17 | 2010-04-27 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US6970849B1 (en) | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US8032943B2 (en) | 1999-12-17 | 2011-10-04 | Microsoft Corporation | Accessing protected content in a rights-management architecture |
US7047411B1 (en) | 1999-12-17 | 2006-05-16 | Microsoft Corporation | Server for an electronic distribution system and method of operating same |
US7562395B2 (en) | 1999-12-17 | 2009-07-14 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US7958373B2 (en) | 2000-06-27 | 2011-06-07 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
US7823208B2 (en) | 2000-06-27 | 2010-10-26 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
US7861306B2 (en) | 2000-06-27 | 2010-12-28 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US7430542B2 (en) | 2000-06-27 | 2008-09-30 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
WO2002001329A2 (fr) * | 2000-06-27 | 2002-01-03 | Microsoft Corporation | Procede et systeme visant a limiter l'utilisation de caracteristiques logicielles specifiques a l'utilisateur |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US7158953B1 (en) | 2000-06-27 | 2007-01-02 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
US8417968B2 (en) | 2000-06-27 | 2013-04-09 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
WO2002001329A3 (fr) * | 2000-06-27 | 2003-08-07 | Microsoft Corp | Procede et systeme visant a limiter l'utilisation de caracteristiques logicielles specifiques a l'utilisateur |
EP2267626A3 (fr) * | 2001-03-28 | 2011-01-05 | NDS Limited | Système et procédé de gestion de droits numériques |
US7920702B2 (en) | 2001-03-28 | 2011-04-05 | Nds Limited | Digital rights management system and method |
US7188342B2 (en) | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
GB2370136B (en) * | 2001-05-17 | 2002-11-06 | Uzee Ltd | Server based document distribution |
GB2370136A (en) * | 2001-05-17 | 2002-06-19 | Uzee Ltd | Server based document distribution |
KR20010079030A (ko) * | 2001-06-07 | 2001-08-22 | 전용옥 | Mac 주소와 사용자 인증번호(cd-key)를 이용한 소프트웨어무단복제 단속법 |
KR100458281B1 (ko) * | 2001-06-21 | 2004-11-20 | 주식회사 로토토 | 원천보안기술을 이용한 소프트웨어나 컨텐츠 또는 정보의 불법이용 방지 방법 |
GB2385757A (en) * | 2002-02-25 | 2003-08-27 | Sony Corp | Authentication to a service provider |
US8300819B2 (en) | 2002-02-25 | 2012-10-30 | Sony Corporation | Service providing apparatus and server providing method |
GB2395644A (en) * | 2002-02-25 | 2004-05-26 | Sony Corp | Authentication to an update service provider |
GB2385757B (en) * | 2002-02-25 | 2004-06-23 | Sony Corp | Service providing apparatus and server providing method |
GB2395644B (en) * | 2002-02-25 | 2004-09-01 | Sony Corp | Service providing apparatus and server providing method |
GB2386210A (en) * | 2002-03-07 | 2003-09-10 | Hewlett Packard Co | Method of controlling content consumption |
US7349541B2 (en) | 2002-03-07 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling content consumption |
EP1512080A1 (fr) * | 2002-05-25 | 2005-03-09 | Fasoo.Com Co., Ltd. | Procede d'authentification d'utilisateur et systeme faisant appel a l'adresse e-mail de l'utilisateur et a des informations concernant son materiel informatique |
EP1512080A4 (fr) * | 2002-05-25 | 2009-11-18 | Fasoo Com Co Ltd | Procede d'authentification d'utilisateur et systeme faisant appel a l'adresse e-mail de l'utilisateur et a des informations concernant son materiel informatique |
US8056122B2 (en) | 2002-05-25 | 2011-11-08 | Fasoo.Com Co., Ltd. | User authentication method and system using user's e-mail address and hardware information |
FR2841349A1 (fr) * | 2002-06-20 | 2003-12-26 | Kniazeff Nicolas Michel Alexis | Procede de protection d'un logiciel contre la copie frauduleuse |
EP1387237A3 (fr) * | 2002-07-30 | 2010-12-29 | Texas Instruments Incorporated | Sécurité pour dispositifs informatiques |
EP1413942A3 (fr) * | 2002-10-26 | 2004-11-10 | Ncr International Inc. | Accès contrôlé à des applications logicielles et/ou à des données |
EP1413942A2 (fr) | 2002-10-26 | 2004-04-28 | Ncr International Inc. | Accès contrôlé à des applications logicielles et/ou à des données |
KR100475569B1 (ko) * | 2002-12-05 | 2005-03-10 | 삼성전자주식회사 | 가상시디이미지파일의 불법사용 방지방법 |
EP1443381A2 (fr) | 2003-01-31 | 2004-08-04 | Microsoft Corporation | Système et procédé de prévention de la piraterie de licences en volume |
US7356709B2 (en) | 2003-01-31 | 2008-04-08 | Microsoft Corporation | Systems and methods for deterring software piracy in a volume license environment |
EP1443381A3 (fr) * | 2003-01-31 | 2006-05-17 | Microsoft Corporation | Système et procédé de prévention de la piraterie de licences en volume |
CN100407087C (zh) * | 2003-01-31 | 2008-07-30 | 微软公司 | 在多用户许可环境中制止软件盗版的系统与方法 |
US7644442B2 (en) | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
KR101008448B1 (ko) * | 2003-01-31 | 2011-01-14 | 마이크로소프트 코포레이션 | 소프트웨어 무단 복제 방지를 위한 시스템, 컴퓨터-구현형 방법, 및 컴퓨터 판독 가능 기록 매체 |
US8181265B2 (en) | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
GB2398892B (en) * | 2003-02-26 | 2005-11-09 | Lenticular Designs Ltd | A software licensing system |
GB2398892A (en) * | 2003-02-26 | 2004-09-01 | Lenticular Designs Ltd | Software licensing and registration |
US7530117B2 (en) | 2003-06-11 | 2009-05-05 | Canon Kabushiki Kaisha | Method and apparatus for preventing unauthorized use of software |
EP1486854A3 (fr) * | 2003-06-11 | 2006-05-24 | Canon Kabushiki Kaisha | Méthode et appareil empêchant une utilisation non-autorisée de logiciel |
EP1636662A4 (fr) * | 2003-06-24 | 2007-10-31 | Nokia Corp | Procede et dispositif correspondant permettant de facturer l'utilisation d'applications hebergees par un terminal sans fil |
EP1636662A2 (fr) * | 2003-06-24 | 2006-03-22 | Nokia Corporation | Procede et dispositif correspondant permettant de facturer l'utilisation d'applications hebergees par un terminal sans fil |
WO2005003935A1 (fr) * | 2003-07-03 | 2005-01-13 | Siemens Aktiengesellschaft | Systeme et procede d'octroi de permis d'exploitation pour des programmes logiciels necessitant un permis d'exploitation |
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 |
US7353499B2 (en) | 2003-09-25 | 2008-04-01 | Sun Microsystems, Inc. | Multiple instruction dispatch tables for application program obfuscation |
US7424620B2 (en) | 2003-09-25 | 2008-09-09 | Sun Microsystems, Inc. | Interleaved data and instruction streams for application program obfuscation |
GB2407410B (en) * | 2003-09-25 | 2006-02-08 | Sun Microsystems Inc | Application program obfuscation |
GB2407410A (en) * | 2003-09-25 | 2005-04-27 | Sun Microsystems Inc | Enrolling for access to obfuscated application programs |
US8220058B2 (en) | 2003-09-25 | 2012-07-10 | Oracle America, Inc. | Rendering and encryption engine for application program obfuscation |
GB2406664B (en) * | 2003-10-03 | 2006-12-13 | Sendo Int Ltd | Registering an application program of an information device |
WO2005034466A1 (fr) * | 2003-10-03 | 2005-04-14 | Sendo International Limited | Enregistrement d'un programme d'application de dispositif d'information |
GB2406664A (en) * | 2003-10-03 | 2005-04-06 | Sendo Int Ltd | Registering an application program of a mobile information device |
EP1810207A1 (fr) * | 2004-09-10 | 2007-07-25 | Canon Kabushiki Kaisha | Systeme de transfert de certificat de licence, terminal d'utilisateur, et serveur d'emission d'information de certificat de licence |
EP1810207A4 (fr) * | 2004-09-10 | 2011-05-11 | Canon Kk | Systeme de transfert de certificat de licence, terminal d'utilisateur, et serveur d'emission d'information de certificat de licence |
US11308477B2 (en) | 2005-04-26 | 2022-04-19 | Spriv Llc | Method of reducing fraud in on-line transactions |
EP1796000A1 (fr) * | 2005-12-06 | 2007-06-13 | International Business Machines Corporation | Procédé, système et programme informatique pour la distribution de produits logiciels en mode de démonstration |
US11354667B2 (en) | 2007-05-29 | 2022-06-07 | Spriv Llc | Method for internet user authentication |
US11556932B2 (en) | 2007-05-29 | 2023-01-17 | Spriv Llc | System for user authentication |
RU2500068C2 (ru) * | 2008-10-14 | 2013-11-27 | Дойче Телеком Аг | Кодирование банковского перевода |
DE102008051214A1 (de) * | 2008-10-14 | 2010-04-15 | T-Mobile International Ag | Überweisungscodierung |
US11792314B2 (en) | 2010-03-28 | 2023-10-17 | Spriv Llc | Methods for acquiring an internet user's consent to be located and for authenticating the location information |
US11978052B2 (en) | 2011-03-28 | 2024-05-07 | Spriv Llc | Method for validating electronic transactions |
US8935769B2 (en) | 2012-09-28 | 2015-01-13 | Liveensure, Inc. | Method for mobile security via multi-factor context authentication |
US9754097B2 (en) | 2014-02-21 | 2017-09-05 | Liveensure, Inc. | Method for peer to peer mobile context authentication |
US9990489B2 (en) | 2014-02-21 | 2018-06-05 | Liveensure, Inc. | System and method for peer to peer mobile contextual authentication |
US11818287B2 (en) | 2017-10-19 | 2023-11-14 | Spriv Llc | Method and system for monitoring and validating electronic transactions |
US11936803B2 (en) | 2019-12-22 | 2024-03-19 | Spriv Llc | Authenticating the location of an internet user |
Also Published As
Publication number | Publication date |
---|---|
AU5334500A (en) | 2000-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000075760A1 (fr) | Procede et systeme destines a empecher l'utilisation non autorisee d'un logiciel | |
US6334118B1 (en) | Software rental system and method for renting software | |
US5673316A (en) | Creation and distribution of cryptographic envelope | |
US6195432B1 (en) | Software distribution system and software utilization scheme for improving security and user convenience | |
US6009401A (en) | Relicensing of electronically purchased software | |
US6513117B2 (en) | Certificate handling for digital rights management system | |
EP0895149B1 (fr) | Système ordinateur pour protéger un fichier et méthode de protection d'un fichier | |
US6233567B1 (en) | Method and apparatus for software licensing electronically distributed programs | |
US6499105B1 (en) | Digital data authentication method | |
JP3914430B2 (ja) | ソフトウェア・オブジェクトの配布を可能にするための方法および装置 | |
AU716912B2 (en) | Electronic copy protection mechanism | |
US20010051928A1 (en) | Protection of software by personalization, and an arrangement, method, and system therefor | |
JP3503774B2 (ja) | ファイルへのアクセスを保護するための方法および装置 | |
US7134016B1 (en) | Software system with a biometric dongle function | |
US20060106729A1 (en) | Method and apparatus for restricting use of a computer program | |
JPH07295803A (ja) | ソフトウェア・オブジェクトを配布するための方法および装置 | |
WO2002037245A2 (fr) | Procede et appareil destines a proteger les informations et les renseignements personnels | |
US8266710B2 (en) | Methods for preventing software piracy | |
WO2000021239A9 (fr) | Manipulation de certificats pour systeme de gestion de droits numeriques | |
JPH1131130A (ja) | サービス提供装置 | |
US6651169B1 (en) | Protection of software using a challenge-response protocol embedded in the software | |
US20050246285A1 (en) | Software licensing using mobile agents | |
US20040123126A1 (en) | Method and apparatus for deterring piracy | |
WO2002093922A1 (fr) | Procede et agencement dans un reseau de communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI 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 MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ 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 MZ 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 | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |