WO1988005941A1 - Appareil et procede de controle de l'utilisation de logiciels informatiques propres a un constructeur - Google Patents
Appareil et procede de controle de l'utilisation de logiciels informatiques propres a un constructeur Download PDFInfo
- Publication number
- WO1988005941A1 WO1988005941A1 PCT/US1988/000271 US8800271W WO8805941A1 WO 1988005941 A1 WO1988005941 A1 WO 1988005941A1 US 8800271 W US8800271 W US 8800271W WO 8805941 A1 WO8805941 A1 WO 8805941A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- checkpoint
- message
- software
- regulation device
- routine
- Prior art date
Links
- 230000001105 regulatory effect Effects 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 title description 5
- 230000033228 biological regulation Effects 0.000 claims abstract description 90
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000001276 controlling effect Effects 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003313 weakening effect Effects 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
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
Definitions
- the invention relates generally to the field of digital data processing (that is, computer) systems, and more specifically to systems for regulating the use of computer programs which run in digital data processing systems.
- the invention provides a system that regulates use of a computer program by means of a new regulation device, the regulated program communicating with the regulation device to determine that the program is authorized for use on the specific digital data processing system including the regulation device.
- the cost of making a copy of a software program is very small in comparison to the cost of creating the original program, testing it and bringing it to market.
- a large and complex program which was developed and tested at great cost, can be copied onto an inexpensive floppy disk in a few minutes using relatively inexpensive equipment such as a personal computer.
- software is different from most other products, which require significant expenditures for the reverse engineering and fabrication equipment required to copy them.
- software programs can be transported rapidly and inexpensively.
- a program can be transmitted over a telephone line or distributed across the nation by a single satellite broadcast.
- Copy protection is based on technical tricks that prevent the customer from copying a software program from the disk on which it was delivered. Generally, copying was accomplished by means of various utilities in the operating system of the computer, and copy protection relied on the use of information in disk sectors that could not be obtained by the operating system but could be obtained by the program. If a copy was made using the operating system copy utilities, those disk sectors would not be copied and, when the software program looked for information in those sectors but did find it, the program terminated. Copy protection was successful for a time, but it imposed serious inconvenience on the customer and can now be defeated easily by special copying utilities and other programs.
- Usage regulation depends on the use of a physically and logically secure electronic device that must be connected to a computer before that computer runs the protected software.
- the software program performs instructions that test for the presence of the regulation device, and stops running if the device is not present.
- Regulation devices currently in use have significant disadvantages.
- the typical regulation device depends on trade secrets that can be discerned relatively easily. Once those trade secrets are known, the device can be replaced by an inexpensive counterfeit device. Using a copy of the software and a counterfeit regulation device, any person can have the full benefit of the "protected" software program without purchasing the software.
- the invention described here is a new and improved system for regulating use of a proprietary software program including a software regulation device that is connected to a host computer running the software program to be regulated, in which the software program and software regulation device communicate so that the software program can verify that it is running on a computer that is authorized to run the software program.
- the software program includes "checkpoint routines" that generate and transmit brief messages for transmission to the software regulation device over the connection between the host computer and the device, and which "receives and interprets responses from the device. This exchange is a "checkpoint protocol" and has two forms, direct and indirect.
- the checkpoint protocols effectively oppose attempts by an opponent, that is, one attempting to manufacture counterfeit copies of the software regulation device and distribute them with unauthorized copies of the software program, to create a counterfeit software regulation device.
- an opponent that is, one attempting to manufacture counterfeit copies of the software regulation device and distribute them with unauthorized copies of the software program, to create a counterfeit software regulation device.
- more than four billion different messages are possible, and they are used in an unpredictable order.
- both the challenge and the response are enciphered using fully secure cryptographic methods.
- the software regulation system uses a different cryptographic key for each protected software program. This key must be kept secret, but all other aspects of the design and operation of the software regulation device can be disclosed without weakening the protection given to the software program.
- FIG. 1 is general block diagram of a software regulation system constructed in accordance with the invention.
- FIGS. 2A, 2B, 2C, and 2D are diagrams of the messages used in the software regulation system depicted in Fig. 1.
- FIGS. 3 and 4 are flow charts depicting the two checkpoint routines, termed “direct” and “indirect” respectively, which are in a protected software program.
- FIG. 5 is a flow chart depicting the operations in the software regulation device.
- FIG. 1 depicts one embodiment of a digital data processing system that includes the inventive software regulation system.
- the software regulation system includes a software regulation device 1 that is connected to a host computer 3 that is running a software program 2 whose use is regulated as described below.
- connection between the host computer 3 and the software regulation device 1 is effected by means of a cable 4 over which pass serial signals conforming to the RS232 standard.
- the cable 4 is connected to a conventional serial port on the host computer 3 and a serial port on the software regulation device 1. It will be appreciated, however, that the mechanism for communication between the software regulation device 1 and the host computer 3 is not limited to the serial connection depicted in FIG. 1. Any communications mechanism suitable for transmitting at least short messages, each composed of several bytes of information, is suitable for use with the invention.
- the software regulation device 1 includes a microcomputer integrated circuit 6 which exchanges messages with the software program 2 through cable 4 and serial interface circuitry 5.
- the microcomputer 6 is an Intel 8751 microcomputer, a member of the Intel MCS-51 family of microcontrollers manufactured by Intel Corporation.
- the Intel 8751 microcomputer is a single chip device, which has an on-chip read-only program memory, a read/write data memory, a CPU, and a serial port, and can execute a program contained within its program memory without requiring any references to an external memory, all of which assist in maintaining the security of the program run by the microcomputer.
- the microcomputer integrated circuit 6 contains a product registration that is associated with the program 2 running in the host computer 3.
- the product registration consists of at least a product number, a product key, and may also include other information about the use and status of the protected software program. In the illustrative embodiment, only one registration is present.
- the product number comprises four bytes of data and the product key comprises eight bytes of data.
- both the product number and the product key are stored in the read-only program memory of the microcomputer 6.
- the product number and product key may be of diverse lengths, and may be stored in the read/write data memory of the microcomputer integrated circuit or in a combination of data memory and program memory.
- a plurality of software programs may be accommodated by a single software regulation device 1 by storing a plurality of product registrations in its memory.
- microcomputer 6 An important feature of the microcomputer 6 is its integrity; specifically, it must effectively resist attempts by an opponent to examine or modify the product key.
- the Intel 8751 microcomputer is particularly suitable for use in the software regulation device because it permits the program memory to be "locked” so that it cannot be examined or modified by users outside the chip without first erasing its contents.
- regulation is effected by means of an exchange of messages over cable 4 between the software regulation device 1 and the software program 2 running on the host computer 3.
- the structure of various messages is shown in FlGs. 2A through 2D.
- FIG. 2A shows the structure of the message, termed herein a "challenge" message, which is first generated by a checkpoint routine in the software program 2.
- the challenge message consists of a four-byte padding field 11 and a four- byte random number field 12.
- the padding field 11 need not change from one execution of the checkpoint routine to the next, and its value is not significant; for example, the padding field could contain the ASCII codes for the four letters "ABCD" .
- the random number field 12 is a random number or a pseudo-random number that is almost always different from one execution of a checkpoint routine to the next. Following generation of the challenge message, and prior to transmission by the checkpoint routine, the challenge message is enciphered.
- FIG. 2B shows the structure of the enciphered challenge message, which is an eight-byte message that is sent by the software prog ' ram through the serial port of the host computer to the software regulation device.
- the challenge message is enciphered using a key that is specific to the software program. This is described below as a direct checkpoint (see FIG. 3).
- the challenge message may be enciphered using a key that is specific to a specific checkpoint. This is described below as an indirect checkpoint routine (see FIG. 4).
- a software program may have several checkpoint routines, each having a different key.
- the enciphered challenge message is transmitted to the software regulation device 1.
- the software regulation device receives the enciphered challenge message, deciphers it to form the challenge message (FIG. 2A) and proceeds to shuffle it.
- FIG. 2C shows the structure of the shuffled challenge message. In one specific embodiment, it is obtained by exchanging the first and second halves of the challenge. In other embodiments, other shuffling operations can be used; any shuffling operation that rearranges the contents in the challenge is sufficient.
- the shuffled challenge message is also enciphered, as shown in FIG. 2D into an eight-byte message.
- the shuffled challenge message is the message which is sent by the software regulation device 1 over cable 4 to the host computer 3. This message is the response message, and is enciphered under the same key that was used to encipher the challenge.
- the challenge and response messages are enciphered using the " well-known Data Encryption Standard (DES) as described in Federal Information Processing Standards Publication 46, National Bureau of Standards, U. S. Department of Commerce, January 15, 1977.
- DES Data Encryption Standard
- This enciphering method applies an eight-byte key to an eight-byte source message to produce an eight-byte enciphered message.
- FIGs. 2A through 2D are described as being eight bytes long. If other encryption standards or mechanisms are used, the lengths of the messages may be adjusted accordingly.
- FIGS. 3, 4, and 5 describe the specific operations that are performed by a checkpoint routine in the software program 2 and by the software regulation device 1. With reference to FIG. 3, that FIG.
- This routine makes a predetermined number of attempts to perform a checkpoint protocol, that is, to generate a challenge message for transmission to the software program 2 and receive an appropriate response. If one or more attempts fail, execution of the software program may continue, but if a predetermined number of attempts fail, the routine assumes that unauthorized use is in progress and takes appropriate action, which may include termination of the software program 2 .
- the checkpoint routine begins by setting a trial counter to an appropriate value (step 21). This value determines how many attempts will be made to perform a successful checkpoint protocol. The choice of this value depends on circumstances which need not be directly related to software regulation, such as the possibility that the serial port may also be connected to some other peripheral device, which may result in message errors.
- the routine sends an unenciphered message to the software regulation device 1 (step 24) that includes an operation code field and a product number field.
- the contents of the operation code identify the direct checkpoint operation.
- the operation code for the direct checkpoint operation is the same for every direct checkpoint protocol.
- the product number identifies a particular software program, which will be different for different protected software programs but the same for every copy of a particular software program.
- the operation code is one byte and the product number is four bytes.
- the direct checkpoint routine then waits for the software regulation device 11 to send a ready message (step 27), which is an unenciphered message comprising a code that indicates that the software regulation device 1 is ready to continue and that it recognizes the product number.
- a ready message is one byte long. If the ready message does not arrive within a specified time, or if some other message is received, the checkpoint protocol fails and the routine goes to step 26.
- the routine When the ready message is received, the routine generates a challenge message (see FIG. 2A) and enciphers it to produce the enciphered challenge message 13 (see FIG. 2B) (step 28).
- the challenge is enciphered under a product key that is different for different protected software programs but is the same for every copy of a given program.
- the routine then sends the enciphered challenge message 13 to the software regulation device 11 through the serial port of the host computer 3 (step 29).
- the routine then shuffles the challenge (as described above in the discussion of FIG. 2C) and uses the product key to produce the enciphered shuffled challenge (as described above in the- discussion of FIG. 2D) (step 30).
- the result is the expected response to the challenge, and the routine saves the result for use (as described below in connection with step 32).
- the routine then waits for a response from the software regulation device 11 (step 31). If the response does not arrive within a specified amount of time after the enciphered challenge message was transmitted to the software regulation device, the checkpoint protocol fails and the routine goes to step 26.
- the routine compares it to the enciphered shuffled challenge which was computed in step 30 with the response (step 32). If they are the same, the checkpoint succeeds; otherwise, the checkpoint protocol fails, and the routine goes to step 26. . If the checkpoint succeeds, the routine is complete and execution of the software program continues (step 33).
- step 26 the routine delays for a time that lets the software regulation device 1 reach its initial state (step 26). Then the routine decreases the trial count by one (step 23) and compares it to zero (step 22). If the trial count is zero, the checkpoint has failed, and the routine assumes that use of the software program is unauthorized and takes appropriate action (step 25). If the trial count is not zero, the routine sequences to step 24, where it starts a new checkpoint protocol.
- FIG. 4 depicts the operations performed by an indirect checkpoint routine. This checkpoint is similar to that for a direct checkpoint (FIG.
- step 3 differs in three respects, all relating to the fact that the indirect checkpoint routine transmits a deciphering key which is used by the "' software regulation device 1 to decipher the enciphered challenge message.
- the software regulation device 1 uses a deciphering key identified by the product number initially transmitted by the indirect checkpoint routine (in step 44) to decipher the deciphering key.
- a software program 2 may have several checkpoint routines, and each indirect checkpoint routine has its own key.
- the operation code transmitted in step 24 (FIG. 3) of the direct checkpoint routine (and step 44 of the indirect checkpoint routine) identifies whether the routine is a direct checkpoint routine or an indirect checkpoint routine.
- step 48 the first difference between the direct checkpoint routine and the indirect checkpoint routine is in step 48, which follows step 47.
- Step 47 is equivalent to step 27 in the direct checkpoint routine depicted in FIG. 3.
- the indirect checkpoint routine sends an enciphered checkpoint key to the software regulation device 1 (step 48). That checkpoint key is enciphered under the product key.
- each protected software program has just one product key, a product that uses indirect checkpoints has a checkpoint key for each checkpoint.
- step 50 which corresponds to step 28, in which the enciphered challenge message is generated.
- the routine uses the checkpoint key which was transmitted (in enciphered form) in step 48 to encipher the challenge message, rather than the product key which is used to encipher the challenge message in step 28 of the direct checkpoint routine.
- step 52 corresponds to step 30 in the direct checkpoint routine.
- the checkpoint key is used rather than the product key to encipher the shuffled challenge.
- the indirect checkpoint routine sends a copy of the checkpoint key enciphered under the product key, it does not have to perform that enciphering. Instead, the enciphered checkpoint key is stored as part of the routine. Therefore the product key is not present in the protected software program. This is an important advantage of the indirect checkpoint (FIG. 4) over the direct checkpoint (FIG. 3).
- a software program 2 may include any combination of direct and indirect checkpoint routines.
- FIG. 5 depicts a flow chart detailing the operations performed by the software regulation device 1.
- This routine responds to enciphered messages from both a direct checkpoint routine and an indirect checkpoint routine.
- the software regulation device 1 In its initial state, the software regulation device 1 is waiting for a message from a checkpoint routine comprising an operation code and a product number (step 60).
- the routine compares the product registration number in the message with product registrations that it maintains (step 61). If the software regulation device 1 contains a product registration whose product number is identical to the received product number, the device selects that registration and proceeds to step 62; otherwise, it sequences back to step 60.
- step 62 the routine examines the operation code sent by the host (step 62) to determine whether the checkpoint routine run by the software program 2 (FIG. 1) is a direct checkpoint routine (FIG. 3), an indirect checkpoint routine (FIG. 4), or another operation. If the operation code specifies a direct checkpoint, the software regulation device 1 sequences to 64. In step 64, the software regulation device 1 selects as its encryption key the product key associated with the product registration from the message, after which it sequences to step 67. On the other hand, if the operation code specifies an indirect checkpoint, the software regulation device 1 sequences to 65. If the software regulation device 1 does not receive the message containing the enciphered checkpoint key within a predetermined amount of time, it returns to step 60.
- the operation code specifies a direct checkpoint
- the software regulation device 1 sequences to 64.
- the software regulation device 1 selects as its encryption key the product key associated with the product registration from the message, after which it sequences to step 67.
- the operation code specifies
- the software regulation device 1 uses the product key corresponding to the product identification sent with the operation code to decipher the checkpoint key (step 66).
- the deciphered checkpoint key is the key that is used to decipher the enciphered challenge message.
- step 67 the software regulation device 1 sequences to step 67, in which it waits for the enciphered challenge message. If that message is not received within a predetermined time, the software regulation device 1 returns to step 60. If the message is properly received, the software regulation device 1 deciphers the enciphered challenge message using the key selected in step 64 or step 66, shuffles it and enciphers the result (step 68). The resulting message is then sent back to the host computer 3 over cable 4 (step 68).
- the operation code received in step 62 may also specify other operations not specified herein. If it does, the software regulation device 1 sequences to step 63 to perform the operation, after which it returns to step 60.
- the challenge messages include random or pseudo-random numbers. It will be appreciated that the numbers need not be truly random. It is desirable, however, that they comprise a sequence which is not repeated in patterns which could be detected by analysis of the sequence within a reasonable amount of time. In the illustrative embodiment, more than four billion different numbers are possible in the four-byte random number field, and so it is preferable that the numbers that are generated for the random number field be a significant portion of the set of numbers that are available. Indeed, a sequence of integers from zero up to four billion is a suitable sequence for use with the invention.
- the software program 2 instead of generating an enciphered shuffled challenge message, after sending the enciphered challenge message, for comparison with the message received from the software regulation device 1 (see steps 30, FIG. 3, and 52, FIG. 4), may, after receiving the enciphered shuffled challenge message from the software regulation device, decipher that message and un-shuf-fle it and compare the result to the original challenge message. That would, however, delay verification of the success of the checkpoint, since that must be done after receipt of the enciphered shuffled challenge message from the software regulation device 1.
- the software regulation system has been described as including a software regulation device 1 separate and distinct from the host computer, it will be appreciated that the software regulation device may be part of the host computer, as long as the checkpoint routines depicted in FIGs. 3 and 4 can properly communicate with the software regulation device 1.
- the use of an external software regulation device facilitates portability of the authority to operate the regulated software program from one host computer to another, since the external device 1 can be easily removed from one host computer and attached to another.
- an opponent who wishes to make unauthorized use of a protected software program can undermine the system in two ways. First, he can attempt to remove all checkpoint routines from the protected software program, in which case the software regulation device 1 cannot prevent unauthorized use of the resulting program. Second, he can attempt to manufacture a counterfeit software regulation device. This invention complicates these efforts for the following reasons.
- a direct checkpoint protocol uses a very large number of challenge and response message pairs (more than four billion in the illustrative embodiment). By using a large random number in forming the challenge message, the messages are not repeated in short, readily discernible sequences. Thus an opponent cannot construct a counterfeit software regulation device 1 that contains a complete table of challenge-response pairs.
- a direct checkpoint protocol enciphers both the challenge message from the software program 2 and the response message from the software regulation device 1.
- the messages are enciphered under a key, the product key, that is unique to each protected software program.
- an opponent cannot build device that generates the enciphered response from the enciphered challenge, even though the relationship between the challenge messages and the response messages may be known.
- the invention does not depend on trade secrets.
- the only thing that must be kept secret is the product key, which can be different for each protected software program. Attempts to obtain the product key are discouraged by keeping the key in a memory that is "locked" by the physical and logical integrity of the microcomputer 6 in the software regulation device 1. Thus an opponent cannot obtain the product key by examining the software regulation device.
- indirect checkpoints rather than direct checkpoints provides further security. If indirect checkpoints are used, the product key is not present anywhere in the software program. In order to make a counterfeit software regulation device, an opponent would have to find and remove every indirect checkpoint routine in a protected software program.
Abstract
Un système de contrôle de logiciel permet de contrôler l'utilisation d'un programme de logiciel dans un système de traitement de données numériques d'un ordinateur central. Le système de contrôle de logiciel comprend un ou plusieurs sous-programmes de constitution de points de reprise, lesquels sous-programmes sont traités par le programme faisant partie du logiciel et par un dispositif de contrôle du logiciel, qui peut faire partie du système informatique ou être connecté à l'extérieur de celui-ci. Les sous-programmes de constitution de points de reprise produisent des messages de points de reprise aléatoires qui sont chiffrés et transmis au dispositif de contrôle du logiciel. Le dispositif de contrôle du logiciel déchiffre le message des points de reprise, effectue une opération de traitement pour produire un message de réponse, chiffre la réponse et envoie la réponse chiffrée au sous-programme de constitution de points de reprise. Le sous-programme de constitution de points de reprise détermine ensuite si la réponse chiffrée est correcte et soit il permet au programme faisant partie du logiciel de continuer, soit il l'arrête.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US885587A | 1987-01-30 | 1987-01-30 | |
US008,855 | 1987-01-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1988005941A1 true WO1988005941A1 (fr) | 1988-08-11 |
Family
ID=21734090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1988/000271 WO1988005941A1 (fr) | 1987-01-30 | 1988-01-29 | Appareil et procede de controle de l'utilisation de logiciels informatiques propres a un constructeur |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU1397088A (fr) |
WO (1) | WO1988005941A1 (fr) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2654851A1 (fr) * | 1989-11-23 | 1991-05-24 | Schlumberger Ind Sa | Procede et systeme d'exploitation securisee d'un logiciel. |
EP0485634A1 (fr) * | 1990-06-08 | 1992-05-20 | Omron Corporation | Dispositif de traitement informatique avec fonction empechant l'usage abusif des programmes |
FR2739703A1 (fr) * | 1995-10-05 | 1997-04-11 | Bosch Gmbh Robert | Appareil de controle notamment pour les appareils de commande electroniques equipant des vehicules automobiles |
EP0791877A1 (fr) * | 1996-02-26 | 1997-08-27 | France Telecom | Dispositif électronique délivrant une référence temporelle sûre pour la protection d'un logiciel |
EP0803789A2 (fr) * | 1996-04-26 | 1997-10-29 | EUROPEAN COMPUTER-INDUSTRY RESEARCH CENTRE GmbH | Mécanisme de protection de logiciel contre copie |
WO1998013741A1 (fr) * | 1996-09-24 | 1998-04-02 | Ericsson Austria Aktiengesellschaft | Dispositif pour proteger un appareil electronique |
EP0881558A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protégér des logiciels |
EP0881559A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protéger des logiciels |
EP0881557A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protéger des logiciels |
FR2765363A1 (fr) * | 1997-06-30 | 1998-12-31 | Actikey | Procede et systeme de controle de l'utilisation d'un logiciel |
EP0895149A1 (fr) * | 1997-07-31 | 1999-02-03 | Siemens Aktiengesellschaft | Système ordinateur pour protéger un fichier et méthode de protection d'un fichier |
EP0895148A1 (fr) * | 1997-07-31 | 1999-02-03 | Siemens Aktiengesellschaft | Système de location de logiciels et méthode pour louer des logiciels |
WO2000036536A2 (fr) * | 1998-12-17 | 2000-06-22 | Tribeka Limited | Procede et dispositif de distribution a la demande d'informations numerisees |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3149279A1 (de) * | 1981-12-12 | 1983-06-23 | Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen | Programmverschluesselung |
EP0084441A2 (fr) * | 1982-01-19 | 1983-07-27 | Tabs Limited | Méthode et appareil pour la protection de la propriété de programmes d'ordinateur |
EP0135422A1 (fr) * | 1983-08-11 | 1985-03-27 | Societe Civile "A.B.C.D." | Dispositif de protection de logiciels utilisés par un ordinateur connecté à au moins un terminal périphérique |
EP0183608A2 (fr) * | 1984-11-19 | 1986-06-04 | Schlumberger Technology Corporation | Système de sûreté de logiciel |
FR2577332A1 (fr) * | 1985-02-12 | 1986-08-14 | C D Ab | Systeme de mesure de l'utilisation de logiciel d'application sur un ordinateur ou un micro-ordinateur |
-
1988
- 1988-01-29 WO PCT/US1988/000271 patent/WO1988005941A1/fr unknown
- 1988-01-29 AU AU13970/88A patent/AU1397088A/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3149279A1 (de) * | 1981-12-12 | 1983-06-23 | Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen | Programmverschluesselung |
EP0084441A2 (fr) * | 1982-01-19 | 1983-07-27 | Tabs Limited | Méthode et appareil pour la protection de la propriété de programmes d'ordinateur |
EP0135422A1 (fr) * | 1983-08-11 | 1985-03-27 | Societe Civile "A.B.C.D." | Dispositif de protection de logiciels utilisés par un ordinateur connecté à au moins un terminal périphérique |
EP0183608A2 (fr) * | 1984-11-19 | 1986-06-04 | Schlumberger Technology Corporation | Système de sûreté de logiciel |
FR2577332A1 (fr) * | 1985-02-12 | 1986-08-14 | C D Ab | Systeme de mesure de l'utilisation de logiciel d'application sur un ordinateur ou un micro-ordinateur |
Non-Patent Citations (1)
Title |
---|
Communications of the Association of Computing Machinery, vol. 27, no. 9, September 1984 (New York, US), T. Maude et al.: "Hardware protection against software piracy", pages 950-959 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2654851A1 (fr) * | 1989-11-23 | 1991-05-24 | Schlumberger Ind Sa | Procede et systeme d'exploitation securisee d'un logiciel. |
EP0430734A1 (fr) * | 1989-11-23 | 1991-06-05 | Schlumberger Industries | Procédé et système d'exploitation sécurisée d'un logiciel |
US5083309A (en) * | 1989-11-23 | 1992-01-21 | Schlumberger Industries | Method and a system enabling software to be run securely |
EP0485634A1 (fr) * | 1990-06-08 | 1992-05-20 | Omron Corporation | Dispositif de traitement informatique avec fonction empechant l'usage abusif des programmes |
EP0485634A4 (en) * | 1990-06-08 | 1992-11-19 | Omron Corporation | Information processing device having function of preventing program from being unjustly used |
FR2739703A1 (fr) * | 1995-10-05 | 1997-04-11 | Bosch Gmbh Robert | Appareil de controle notamment pour les appareils de commande electroniques equipant des vehicules automobiles |
EP0791877A1 (fr) * | 1996-02-26 | 1997-08-27 | France Telecom | Dispositif électronique délivrant une référence temporelle sûre pour la protection d'un logiciel |
FR2745399A1 (fr) * | 1996-02-26 | 1997-08-29 | Arditti David | Dispositif electronique delivrant une reference temporelle sure pour la protection d'un logiciel |
EP0803789A2 (fr) * | 1996-04-26 | 1997-10-29 | EUROPEAN COMPUTER-INDUSTRY RESEARCH CENTRE GmbH | Mécanisme de protection de logiciel contre copie |
EP0803789A3 (fr) * | 1996-04-26 | 1998-05-13 | EUROPEAN COMPUTER-INDUSTRY RESEARCH CENTRE GmbH | Mécanisme de protection de logiciel contre copie |
US5935246A (en) * | 1996-04-26 | 1999-08-10 | International Computers Limited | Electronic copy protection mechanism using challenge and response to prevent unauthorized execution of software |
AU716912B2 (en) * | 1996-04-26 | 2000-03-09 | European Computer-Industry Research Centre Gmbh | Electronic copy protection mechanism |
WO1998013741A1 (fr) * | 1996-09-24 | 1998-04-02 | Ericsson Austria Aktiengesellschaft | Dispositif pour proteger un appareil electronique |
US6721889B1 (en) | 1996-09-24 | 2004-04-13 | Ericsson Enterprise Gmbh | Device for protecting an electronic apparatus |
EP0881558A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protégér des logiciels |
EP0881559A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protéger des logiciels |
EP0881557A1 (fr) * | 1997-05-28 | 1998-12-02 | Siemens Aktiengesellschaft | Système d'ordinateur et méthode pour protéger des logiciels |
US6651169B1 (en) | 1997-05-28 | 2003-11-18 | Fujitsu Siemens Computers | Protection of software using a challenge-response protocol embedded in the software |
FR2765363A1 (fr) * | 1997-06-30 | 1998-12-31 | Actikey | Procede et systeme de controle de l'utilisation d'un logiciel |
US6421703B1 (en) | 1997-06-30 | 2002-07-16 | Actikey | Process and system for controlling the use of software |
EP0889385A1 (fr) * | 1997-06-30 | 1999-01-07 | Actikey | Procédé et système de contrÔle de l'utilisation d'un logiciel |
EP0895148A1 (fr) * | 1997-07-31 | 1999-02-03 | Siemens Aktiengesellschaft | Système de location de logiciels et méthode pour louer des logiciels |
US6301660B1 (en) | 1997-07-31 | 2001-10-09 | Siemens Aktiengesellschaft | Computer system for protecting a file and a method for protecting a file |
US6334118B1 (en) | 1997-07-31 | 2001-12-25 | Siemens Aktiengesellschaft | Software rental system and method for renting software |
EP0895149A1 (fr) * | 1997-07-31 | 1999-02-03 | Siemens Aktiengesellschaft | Système ordinateur pour protéger un fichier et méthode de protection d'un fichier |
WO2000036536A2 (fr) * | 1998-12-17 | 2000-06-22 | Tribeka Limited | Procede et dispositif de distribution a la demande d'informations numerisees |
WO2000036536A3 (fr) * | 1998-12-17 | 2001-10-04 | Tribeka Ltd | Procede et dispositif de distribution a la demande d'informations numerisees |
US7487129B2 (en) | 1998-12-17 | 2009-02-03 | Daniel Doll-Steinberg | Method and apparatus for the distribution of digitised information on demand |
Also Published As
Publication number | Publication date |
---|---|
AU1397088A (en) | 1988-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4652990A (en) | Protected software access control apparatus and method | |
US4864494A (en) | Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software | |
US9305173B2 (en) | Portable authorization device for authorizing use of protected information and associated method | |
US4747139A (en) | Software security method and systems | |
CN100452075C (zh) | 软件保护装置数据传输过程的安全控制方法及其设备 | |
US7270193B2 (en) | Method and system for distributing programs using tamper resistant processor | |
US5568552A (en) | Method for providing a roving software license from one node to another node | |
EP0268141A2 (fr) | Sécurité de station d'accès à distance | |
US6871192B2 (en) | System and method for preventing unauthorized use of protected software utilizing a portable security device | |
EP0472939B1 (fr) | Arrangement pour controler la version de la clé de cryptage | |
US8799654B2 (en) | Methods and apparatus for authenticating data as originating from a storage and processing device and for securing software and data stored on the storage and processing device | |
CN101142599A (zh) | 基于硬件识别的数字权利管理系统 | |
WO1988005941A1 (fr) | Appareil et procede de controle de l'utilisation de logiciels informatiques propres a un constructeur | |
KR100332690B1 (ko) | 유.에스.비 포트 방식의 비밀키 보안장치 | |
CA2393543C (fr) | Procede et dispositif d'autorisation portatif permettant d'autoriser l'utilisation d'informations protegees | |
KR20010048160A (ko) | Pc 기반의 유.에스.비. 보안 모듈과 암호칩을 사용한정보 보호 장치 | |
CN110740036A (zh) | 基于云计算的防攻击数据保密方法 | |
US7334256B2 (en) | Security device, key device, and program protection system and method | |
EP3731127B1 (fr) | Système de commande et son procédé de fabrication sécurisée | |
KR100310445B1 (ko) | Pc 기반의 암호칩을 사용한 유.에스.비 보안모듈 제어방법 | |
WO1987005175A1 (fr) | Procede et appareil pour repartir et proteger des codes a cles de chiffrement | |
KR200389085Y1 (ko) | 암호화와 복호화 알고리즘을 이용한 복제 방지 장치 | |
JPH10274928A (ja) | ユーザ認証装置および方法 | |
MXPA00005081A (en) | An apparatus for providing a secure processing environment | |
JPS6370336A (ja) | プログラムの実行阻止判定方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU JP KR NO SU |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE FR GB IT LU NL SE |