A method of preventing unauthorized use of a computer program
The invention relates to a method of preventing unauthorized use of a computer program.
Existing methods are based on obtaining signatures from hardware and/or operating system(s). US Patent No. 4 688 169 discloses a method based on signatures incorporated in the operating system.
US Patent No. 4 748 561 discloses defining the signature structure from the configuration of a computer and pe- ripheral units on the basis of the individual signatures in the hardware .
US Patent No. 5 113 518 generalizes signatures in hardware, and column 3, lines 57 - 68 exclusively mention signatures from hardware characteristics and not from e.g. file catalogues.
Generally, the existing techniques depend on hardware and/or operating system, which means that resetting of hardware/system, exchange of parts of hardware or removal of a computer program on hardware and reinstallation on new hardware, involve considerable problems in practice which significantly restrict the use of the existing techniques .
The invention uses techniques in which the signature structure is based on creation time(s) for Cyberfile(s) identifier (s) . A Cyberfile is defined here as an element in the complement for ordinary files (i.e. for files placed under a file catalogue: text files, data files, executable files) on a storage medium, having an identi-
fier and an associated creation time, and, if the identi¬ fier is generated as a function of the creation time, this functional mapping must be unambiguous. A file catalogue is an example of a Cyberfile. This signature struc- ture is unique for each individual computer system and cannot . be copied by the commercially available copying programs. When programming e.g. in ANSI C: "structure" translated into 'structure' as an arranged set of components whose names in ANSI C: "identifier" translated into ' identifikator' are a user-defined data type which is to be declared so that it can observe the creation time.
The invention thus relates to a method of preventing unauthorized use of a computer program as defined in the introductory portion of claim 1, which is characterized by the features defined in the characterizing portion of claim 1.
Thus, the invention makes it possible to be independent of the hardware of the computer system by solely using the individual "historical temporal course" of the start and current operation, etc. of the computer system, which is unique to any computer system. The creation time for Cyberfiles, e.g. file catalogues, are available only with very special programming tools and not necessary for the skilled person's programming of software. Thus, the programmer as a skilled person need not consider and normally has no knowledge of how the creation times are processed according to the invention in connection with copying.
An embodiment of the method according to the invention will be described below.
A signature structure is associated with the software in which it is desired to use the invention. The signature
generator is executed in the computer system the first time the software is to be used. In this connection, the signature structure is handed over to the authorizer for reading of the authorization request, including the sig- nature structure. The signature structure is converted by the authorizer to a form readable by a signature detector associated with the software and is subsequently stored in the software or in a file in the computer system. Subsequently, the software detects by means of a signature detector whether it can identify the stored signature structure with the detected signature structure.
The signature generator can e.g. operate in the following manner. At least one identifier is created for a file catalogue for the software to be protected against copy¬ ing, followed by the determination of a desired signature structure (SR) consisting of creation times for selected file catalogues, including newly created ones. The small¬ est signature structure may consist of one creation time, and in that case it may be most expedient to select the creation time for the file catalogue, created in connec¬ tion with the installation of the software.
The signature detector reads the stored signature struc- ture (SR) and compares it with the signature structure (SA) of the computer system in question. If this comparison exceeds certain predetermined tolerances, the execution of the software is interrupted or changed. When comparing the authorized signature structure (SR) with the current signature structure (SA) , deviations may be allowed to control the access to the entire software or specific parts of the software, including to database (s).
In order to improve the operational reliability of the copy protection technique according to the invention, the signature structure, as stated in claim 8, may contain
one or more creation times for identifiers from widely different areas of the computer system than are actually subjected to recognition. This may be expedient e.g. if some identifiers are damaged, for which reason the recog- nition may be performed on a selected minimum amount of the undamaged identifiers.
With a view to being able to install new versions of the computer program or e.g. extending the access to a greater part of a computer program system, including as¬ sociated databases, one or more components may be added to the signature structure according to claim 9. Such components may be check/control data, e.g. version no., licence no., software code(s) for extended access. This may be useful in connection with e.g. the distribution of large computer program systems on CD ROM, where the user can e.g. merely receive a new installation disk from the supplier, which e.g. overwrites existing file(s) or writes new file(s) according to claims 4-6, and then the extended authorization may be applied for the use of the CD ROM. With reference to the latter, the invention also allows multiple installation of computer programs, as de¬ sired.
If the computer program has one or more databases attached to it, then, according to claim 9, during execution, the computer program can also compare the access code in the current signature structure with the one of the computer program, including e.g. the access code em- bedded in the database. This also makes it possible to prevent unauthorized use of database (s) which are attached to the computer program, also in encrypted form. This may be used to advantage e.g. on a single or specially selected user terminal (s) attached to a larger computer system.
Creation time here means the creation time in time or an unambiguous functional mapping of time in another data value, including in another data type.
Addition of one or more components in the signature structure according to claim 10, which describes future times, time intervals or accumulated execution time (real time, machine time, see the above definition of time in general) , may be useful in the control of the access to the computer program or to parts of the computer program over time. It is hereby possible to incorporate a temporal functionality in the comparison. Thus, it may e.g. be ensured that the use of the computer program or part(s) thereof is prevented after 6 months. The use of time in- tervals e.g. allows access to the computer program for specific periods of time. When using accumulated executed time as a component, the execution of the computer program may e.g. be stopped when the use of the computer program exceeds the value of accumulated executed time determined in the signature structure.
It should be noted that, according to claim 11, component (s) of the signature structure may also be (sub) -signature structure (s) which describes/describe specific part(s) of the computer system. This may also be a useful application in computer networks.
A computer system here means any combination of hardware, operating system(s) and storage medium (media) , which may also be coupled together in networks, as well as computer programs, including the installed computer program. This computer program or these computer programs are to be authorized for use by applying the principles of the invention.
The invention will now be explained more fully with ref¬ erence to the embodiment shown in the drawing, in which
fig. 1 shows a block diagram of an ordinary computer sys¬ tem illustrated with the files incorporated in the implementation of the invention, and
fig. 2 shows a flow chart to illustrate the principles of the invention.
In fig. 1, the reference numeral 1 designates a computer system with associated storage medium 2. The software 3 is installed on the storage medium, consisting of a signature generator 4, a signature detector 5 and a stored signature structure 6.
Fig. 2 shows an example of the invention when the user is to use the software the first time. Starting from start 1 the software is installed 2. Then data 3 on the user's desired application of the software may be entered, which may be expedient in case of voluminous software with several fields of application. Then the signature generator 4 is executed, generating a predetermined amount of file catalogues in the software, reading the associated crea- tion times and placing all data from 3 and 4 in a signature structure.
Then the signature structure is transferred 5, e.g. by facsimile, letter, file via E-mail or simple file trans- fer, to the authorizer. The authorizer reads 6 the signature structure to record and settle the allocated authorization, following which the signature structure is encrypted and stored in a file SR and is transferred 7, e.g. by facsimile, letter, file via E-mail or simple file transfer, to the authorizee (user) .
After the user's reception of the file SR, the file SR is placed 8 in the software, e.g. the file catalogue of the software. The authorization procedure is hereby completed