WO1985004032A1 - Computer software protection - Google Patents

Computer software protection Download PDF

Info

Publication number
WO1985004032A1
WO1985004032A1 PCT/GB1985/000077 GB8500077W WO8504032A1 WO 1985004032 A1 WO1985004032 A1 WO 1985004032A1 GB 8500077 W GB8500077 W GB 8500077W WO 8504032 A1 WO8504032 A1 WO 8504032A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
program
identifying element
code
computer program
Prior art date
Application number
PCT/GB1985/000077
Other languages
French (fr)
Inventor
Michael John Shaw
Original Assignee
Gandlake Software Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gandlake Software Ltd. filed Critical Gandlake Software Ltd.
Publication of WO1985004032A1 publication Critical patent/WO1985004032A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Definitions

  • This invention relates to arrangements for pre ⁇ venting the use in computers of programs which have been made by unauthorised copying.
  • a computer system which comprises a com ⁇ puter together with a program input device and a code reader coupled to separate inputs of the computer, the combina ⁇ tion of a computer program receivable by the input device and an identifying element receivable by the reader, the computer program including a code unique only to that particular program, the identifying element having a read- only memory which holds a corresponding code, the computer program being arranged to cause the computer to read the code from the identifying element (via the code reader), to compare the code as read from the identifying element with the code included in the program, and to prevent use of that program in the computer unless the two codes agree, and the computer program being further arranged to cause the computer only to carry out the comparison step prior to the program running in the computer.
  • the computer program will be pro ⁇ vided on a record medium such as a tape cassette or a floppy disc or a ROM chip.
  • a record medium such as a tape cassette or a floppy disc or a ROM chip.
  • the read-only-memory of the identifying element may conveniently comprise a short length or stripe of magnetic material: this may be pro ⁇ vided on a plastics card, or an the casing of the record medium (e.g. on the cassette body or its library case, the floppy disc, the micro drive cartridge, or the ROM cartridge) or on some packaging within which the program is contained when purchased.
  • the arrangements may be such that the compari ⁇ son step or security check is carried out after the entire program has been loaded into the computer, the program being prevented from running unless the code read from the identifying element agrees with the program-identi ⁇ fying code read from program.
  • the arrange ⁇ ments may be such that the computer loads an initial rou ⁇ tine of the program, which then causes the computer to carry out the comparison step and to prevent the remai ⁇ - der of the program being loaded unless the compared codes agree.
  • Figures 3 and 4 are respectively plan and side views of a second enbodiment of reader for the identifying element;
  • Figure 5 is a plan view of a circuit board used - with the hand-held reader of Figures 3 and 4;
  • Figures 6 and 7 are respectively side and plan * views of a third embodiment of reader;
  • Figure 8 is a plan view of a tape cassette on which the identifying element is provided;
  • Figure 9 is a plan view of a plastics card for ⁇ ming an alternative identifying element
  • FIG. 10 is a circuit diagram of the alternative readers
  • Figure 11 is a flow diagram of the security rou ⁇ tine included in the computer program.
  • Figure 12 is a diagram showing one possible arrangement of magnetic pulses on a stripe of magnetic material used for the identifying element.
  • the computer will have a cassette player or disc drive coupled to it as usual for loading the program into the computer from cassette or disc, and a data reader coupled to a separate input of the computer for reading the program-identifying code from the identifying element: in the examples shown, the reader is coupled to the Expansion Port of the computer and the identifying code is recorded on a stripe of magnetic mater- ial, forming a read-only-memory.
  • the magnetic stripe 1 may be embedded in the self-adhesive label on the tape cassette, as shown in
  • FIG 8 or formed on a plastics card of the same type as a banker's card, as shown in Figure 9.
  • a printed circuit board 3 plugs via an edge connec ⁇ tor 6 into the Expansion Port of the computer.
  • a standard tape recorder replay head 2 On the PCB 3 is mounted a standard tape recorder replay head 2 together with an electronic circuit serving to amplify and shape the signal picked up by the tape head, as a card 10 with its magnetic stripe 1 is drawn past the head. The signal is then fed via the edge connector Item 6 onto a Data Line into the computer.
  • the PCB 3 is further pro ⁇ vided, at the opposite end to the edge connector, with a replica of the computer port so as to allow for connec ⁇ tion of other add-on units.
  • a pressure pad 8 is provided to ensure good contact be- wee ⁇ the magnetic stripe and the tape head 2.
  • a plastics case 4 provides protection for the PCB, and location for the plastics card 10 as it is pulled past the tape head.
  • the reader shown in Figures 3 to 5 may be used.
  • the tape head together with the same elec ⁇ tronic components as in the other two examples, are built into a tubular case 4.
  • This signal is then fed via a cable 5, to a second PCB 7, which is plugged into the com ⁇ puter's expansion port.
  • further add-on units can be connected to the computer via the repeat of the expan ⁇ sion port at the opposite end of the PCB 7.
  • the expansion port is a 'socket' rather than a 'plug' as assumed in the above descriptions. This only means a reversal of the connectors on PCB 3 in Figure 2 and PCB 7 in Figure 5 and 7.
  • Figure 10 is a circuit diagram of the magnetic stripe readers. There are five connections from this reader circuit into the computer. They are the terminal marked +12 volts, +5 volts and 0 volts; and the two ter ⁇ minals 17 and 18.
  • the tape head 2 picks up variations in magnetic flux density from the tape.
  • This low level signal is amplified by the two transistors 12, 13.
  • the signal is then processed by two diodes 14, 15 to remove the negative half of the wave form and limit the maximum positive component to plus five volts.
  • the signal which is now TT1 compatible, is passed to a tri- state IC buffer item 16. This buffer is controlled by the signal on terminal 17 from the computer.
  • any signals produced by the tape head are passed via terminal 18 direct onto a data line and into the computer.
  • the magnetic stripe reader is to be left per ⁇ manently plugged into the computer (or alternatively it may form a. permanent part of the computer).
  • the security routine of the program causes the computer to wait for the reader to read the magnetic stripe (i.e. for the stripe to be pulled past the tape head): only after the security code has thus been read, and approved, will the computer run the program.
  • Figure 11 is a flow chart of an example of security routine and Figure 12 is a diagram of the mag- netic pulses on the magnetic stripe, the flow chart of
  • Figure 11 being for this arrangement of magnetic pulses.
  • the code reader is not addressed again.
  • a hole is formed through the card on the middle line of the stripe so that a light path is completed through this hole when the card is in its fully-inserted position. If the card is removed and the light path thus temporarily interrupted, this causes a signal to be passed to the computer to stop the program running further.
  • the initial interruption of the light path serves to pass a signal to the computer to indicate that the card is being inserted, so that the computer can prepare for the code reading.
  • an initial routine o f the program may carry out the security check be fore the remainder o f the program is loaded , and prevent the remainder o f the program being loaded un less the compared codes agree .
  • the p rogram may instead be supplied to the user by a telephone link or data line .
  • the user needs also to be supp ⁇ lied with the identi fying element , encoded with its identi ⁇ fication unique to the particular p rogram concerned .

Abstract

A computer program is supplied together with an identifying element encoded so as to identify the particular program. The identifying element is read by a code reader coupled to the computer and the program causes the computer to read this code and compare it with a corresponding code included in the program, before the program can be run. These arrangements prevent the use in computers of programs which have been made by unauthorised copying.

Description

COMPUTER SOFTWARE PROTECTION
This invention relates to arrangements for pre¬ venting the use in computers of programs which have been made by unauthorised copying.
Unauthorised copying of software has hitherto been difficult or impossible to stop and represents a con¬ siderable loss of revenue to the industry, whether the original programs are provided on tape cassettes, floppy discs or otherwise.
We have.now devised arrangements which are not intended to prevent copying, but which instead prevent use of a program by anyone not possessing an identifying element which is unique to the particular program being protected.
In accordance with this invention, there is prα- vided, in or for a computer system which comprises a com¬ puter together with a program input device and a code reader coupled to separate inputs of the computer, the combina¬ tion of a computer program receivable by the input device and an identifying element receivable by the reader, the computer program including a code unique only to that particular program, the identifying element having a read- only memory which holds a corresponding code, the computer program being arranged to cause the computer to read the code from the identifying element (via the code reader), to compare the code as read from the identifying element with the code included in the program, and to prevent use of that program in the computer unless the two codes agree, and the computer program being further arranged to cause the computer only to carry out the comparison step prior to the program running in the computer.
Most usually the computer program will be pro¬ vided on a record medium such as a tape cassette or a floppy disc or a ROM chip. The read-only-memory of the identifying element may conveniently comprise a short length or stripe of magnetic material: this may be pro¬ vided on a plastics card, or an the casing of the record medium (e.g. on the cassette body or its library case, the floppy disc, the micro drive cartridge, or the ROM cartridge) or on some packaging within which the program is contained when purchased.
* The arrangements may be such that the compari¬ son step or security check is carried out after the entire program has been loaded into the computer, the program being prevented from running unless the code read from the identifying element agrees with the program-identi¬ fying code read from program. Alternatively, the arrange¬ ments may be such that the computer loads an initial rou¬ tine of the program, which then causes the computer to carry out the comparison step and to prevent the remaiπ- der of the program being loaded unless the compared codes agree.
Embodiments of this invention will now be descri¬ bed, by way of examples only, with reference to the accom¬ panying drawings, in whichs Figures 1 and 2 are respectively side and plan views of a first embodiment of reader for the identifying element;
Figures 3 and 4 are respectively plan and side views of a second enbodiment of reader for the identifying element; Figure 5 is a plan view of a circuit board used - with the hand-held reader of Figures 3 and 4;
Figures 6 and 7 are respectively side and plan * views of a third embodiment of reader; Figure 8 is a plan view of a tape cassette on which the identifying element is provided;
Figure 9 is a plan view of a plastics card for¬ ming an alternative identifying element;
Figure 10 is a circuit diagram of the alternative readers;
Figure 11 is a flow diagram of the security rou¬ tine included in the computer program; and
Figure 12 is a diagram showing one possible arrangement of magnetic pulses on a stripe of magnetic material used for the identifying element.
In the arrangements which are shown in the draw¬ ings by way of examples only, the computer will have a cassette player or disc drive coupled to it as usual for loading the program into the computer from cassette or disc, and a data reader coupled to a separate input of the computer for reading the program-identifying code from the identifying element: in the examples shown, the reader is coupled to the Expansion Port of the computer and the identifying code is recorded on a stripe of magnetic mater- ial, forming a read-only-memory.
The magnetic stripe 1 may be embedded in the self-adhesive label on the tape cassette, as shown in
Figure 8, or formed on a plastics card of the same type as a banker's card, as shown in Figure 9. In the embodiment of reader shown in Figures 1 and 2, a printed circuit board 3 plugs via an edge connec¬ tor 6 into the Expansion Port of the computer. On the PCB 3 is mounted a standard tape recorder replay head 2 together with an electronic circuit serving to amplify and shape the signal picked up by the tape head, as a card 10 with its magnetic stripe 1 is drawn past the head. The signal is then fed via the edge connector Item 6 onto a Data Line into the computer. The PCB 3 is further pro¬ vided, at the opposite end to the edge connector, with a replica of the computer port so as to allow for connec¬ tion of other add-on units. To ensure good contact be- weeπ the magnetic stripe and the tape head 2, a pressure pad 8 is provided. A plastics case 4 provides protection for the PCB, and location for the plastics card 10 as it is pulled past the tape head.
Due to differences in the positioning of expan¬ sion ports in computers e.g. at the rear, on the lε-ft or the right sides, different designs of reader may be need- -ed. For example, the reader of Figures 6 and 7 is arranged for the card 10 to be pulled parallel to the Expansion
Port instead of at 90 degrees as in Figure 2. To facili¬ tate the connection of other add-ons to this device via the card edge connector 7, the tape head and electronic components are mounted on a separate PCB 3. Otherwise all other components are as described for Figures 1 and 2.
To allow for further flexibility as regards the placing of the magnetic stripe e.g. on a part of the pro¬ duct or part of the packaging too awkward to be drawn past the tape head, the reader shown in Figures 3 to 5 may be used. Here, the tape head, together with the same elec¬ tronic components as in the other two examples, are built into a tubular case 4. This now becomes a hand-held unit, capable of drawing the tape head across the magnetic stripe and picking up its code. This signal is then fed via a cable 5, to a second PCB 7, which is plugged into the com¬ puter's expansion port. Again further add-on units can be connected to the computer via the repeat of the expan¬ sion port at the opposite end of the PCB 7.
On some computers the expansion port is a 'socket' rather than a 'plug' as assumed in the above descriptions. This only means a reversal of the connectors on PCB 3 in Figure 2 and PCB 7 in Figure 5 and 7.
Figure 10 is a circuit diagram of the magnetic stripe readers. There are five connections from this reader circuit into the computer. They are the terminal marked +12 volts, +5 volts and 0 volts; and the two ter¬ minals 17 and 18. In operation, the tape head 2 picks up variations in magnetic flux density from the tape. This low level signal is amplified by the two transistors 12, 13. The signal is then processed by two diodes 14, 15 to remove the negative half of the wave form and limit the maximum positive component to plus five volts. The signal, which is now TT1 compatible, is passed to a tri- state IC buffer item 16. This buffer is controlled by the signal on terminal 17 from the computer. When the buffer is enabled by the computer, any signals produced by the tape head are passed via terminal 18 direct onto a data line and into the computer. The magnetic stripe reader is to be left per¬ manently plugged into the computer (or alternatively it may form a. permanent part of the computer). Then after loading and auto-running a program as usual, the security routine of the program causes the computer to wait for the reader to read the magnetic stripe (i.e. for the stripe to be pulled past the tape head): only after the security code has thus been read, and approved, will the computer run the program. Figure 11 is a flow chart of an example of security routine and Figure 12 is a diagram of the mag- netic pulses on the magnetic stripe, the flow chart of
Figure 11 being for this arrangement of magnetic pulses.
Once the program has been allowed to run, the code reader is not addressed again. However, in another embodiment of reader, where a plastics card carrying the magnetic stripe is read as the card is inserted into the reader, a hole is formed through the card on the middle line of the stripe so that a light path is completed through this hole when the card is in its fully-inserted position. If the card is removed and the light path thus temporarily interrupted, this causes a signal to be passed to the computer to stop the program running further. During insertion of the card, the initial interruption of the light path serves to pass a signal to the computer to indicate that the card is being inserted, so that the computer can prepare for the code reading.
As mentioned prev iously , instead o f the program being allowed to load but prevented from running unless the compared codes agree , an initial routine o f the program may carry out the security check be fore the remainder o f the program is loaded , and prevent the remainder o f the program being loaded un less the compared codes agree .
Whilst mention has been made o f the supply o f a record medium ( e . g . a tape or disc or a ROM chip ) on which the computer program is rec orded , the p rogram may instead be supplied to the user by a telephone link or data line . In any event , the user needs also to be supp¬ lied with the identi fying element , encoded with its identi¬ fication unique to the particular p rogram concerned .

Claims

1. In or for a computer system which comprises a computer together with a program input device and a code reader coupled to separate inputs of the computer, the combination of a computer program receivable by the input device and an identifying element receivable by the reader, the computer program including a code unique only to that particular program, the identifying element having a read¬ only memory which holds corresponding code, the computer program being arranged to cause the computer to read the code from the identifying element (via the code reader), to compare the code as read from the identifying element with the code included in the program, and to prevent use of that program in the computer unless the tw-o codes agree, and the computer program being further arranged to cause the computer only to carry out the comparison step prior to the program running in the computer.
2. A combination of identifying element and computer program as claimed in claim 1, in which the computer program is arranged to cause the computer to carry out the compari- son step after the entire program has been loaded into the computer, and to prevent the program from running un¬ less the compared codes agree.
3. A combination of identifying element and computer program as claimed in claim 1, in which the computer program includes an initial routine arranged to cause the computer to carry out the comparison step prior to the remainder of the program being loaded into the computer, and to pre¬ vent that remainder of the program being loaded unless the compared codes agree.
4. A combination of identifying element and computer program as claimed in any preceding claim, in which the computer program is recorded on a record medium e.g. a tape, disc or ROM chip.
5. A combination of identifying element and computer program as claimed in any preceding claim, in which the identifying element comprises a stripe of magnetic mater¬ ial encoded with the identifying code.
6. A combination of identifying element and computer program as claimed in claim 5, in which the identifying element comprises a plastics card provided with the enco¬ ded magnetic stripe.
7. A combination of identifying element and computer program as claimed in claim 5, in which the encoded mag¬ netic stripe is provided on a casing of a record medium on which the program is recorded.
8. A combination of identifying element and computer program substantially as herein described with reference to the accompanying drawings.
9. A computer system which comprises a computer, a program input device and a code reader coupled to sep¬ arate inputs of the computer, a computer program received or receivable by the input device and an identifying ele- meπt received or receivable by the reader, the computer program including a code unique to that particular program, the identifying element having a read-only-memory which holds a corresponding code, the computer program being arranged to cause the computer to read the code from the identifying element (via the code reader), to compare the code as read from the identifying element with the code included in the program, and to prevent use of that pro¬ gram in the computer unless the two codes agree, the com¬ puter program being further arranged to cause the computer only to carry out the comparison step prior to the program running in the computer, and the code reader being arranged to read upon insertion of the identifying element into the reader and to respond to any subsequent physical re¬ moval of the identifying element to pass a signal to the computer to stop the program running.
PCT/GB1985/000077 1984-02-28 1985-02-28 Computer software protection WO1985004032A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8405097 1984-02-28
GB8405097 1984-02-28

Publications (1)

Publication Number Publication Date
WO1985004032A1 true WO1985004032A1 (en) 1985-09-12

Family

ID=10557243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1985/000077 WO1985004032A1 (en) 1984-02-28 1985-02-28 Computer software protection

Country Status (3)

Country Link
EP (1) EP0172867A1 (en)
AU (1) AU3993785A (en)
WO (1) WO1985004032A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0370791A1 (en) * 1988-11-25 1990-05-30 Picker International, Inc. Medical diagnostic scanner systems
FR2643475A1 (en) * 1989-02-21 1990-08-24 Livowsky Jean Michel METHOD FOR CONTROLLING THE USE OF AN INFORMATION MEDIUM, IN PARTICULAR MAGNETIC OR MAGNETO-OPTICAL, AND SYSTEMS FOR ITS IMPLEMENTATION
AU758671B2 (en) * 1998-04-24 2003-03-27 Dell Usa L.P. Method and system for supplying a custom software image to a computer system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3023427A1 (en) * 1979-06-28 1981-01-08 Gretag Ag MOBILE DATA KEEPER
EP0084441A2 (en) * 1982-01-19 1983-07-27 Tabs Limited Method and apparatus for the protection of proprietary computer software
EP0089876A1 (en) * 1982-03-18 1983-09-28 Bull S.A. Method and device for the protection of software delivered by a supplyer to a user

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3023427A1 (en) * 1979-06-28 1981-01-08 Gretag Ag MOBILE DATA KEEPER
EP0084441A2 (en) * 1982-01-19 1983-07-27 Tabs Limited Method and apparatus for the protection of proprietary computer software
EP0089876A1 (en) * 1982-03-18 1983-09-28 Bull S.A. Method and device for the protection of software delivered by a supplyer to a user

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0370791A1 (en) * 1988-11-25 1990-05-30 Picker International, Inc. Medical diagnostic scanner systems
US4991193A (en) * 1988-11-25 1991-02-05 Picker International, Inc. System safety monitor for CT scanners
FR2643475A1 (en) * 1989-02-21 1990-08-24 Livowsky Jean Michel METHOD FOR CONTROLLING THE USE OF AN INFORMATION MEDIUM, IN PARTICULAR MAGNETIC OR MAGNETO-OPTICAL, AND SYSTEMS FOR ITS IMPLEMENTATION
WO1990010292A1 (en) * 1989-02-21 1990-09-07 Livowsky Jean Michel Process for controlling the use of an information storage medium, in particular of a magnetic or magneto-optic type, and system for its implementation
GR900100111A (en) * 1989-02-21 1991-06-28 Livowski Jean Michel Process and control for the use of an information basis especially mgnetic or magnetic-optical
AU758671B2 (en) * 1998-04-24 2003-03-27 Dell Usa L.P. Method and system for supplying a custom software image to a computer system

Also Published As

Publication number Publication date
EP0172867A1 (en) 1986-03-05
AU3993785A (en) 1985-09-24

Similar Documents

Publication Publication Date Title
KR100712868B1 (en) Semiconductor memory card
US6175517B1 (en) Insertble and removable digital memory apparatus
EP0134110A3 (en) Reading and writing apparatus for id cards
JPH06139414A (en) Ic card detecting device
US6786417B1 (en) Memory card with write protection switch
WO1991015816A1 (en) Method and apparatus for protection of software in an electronic system
US20050227520A1 (en) Memory card connector
US6761320B1 (en) Connector structure for multi-storage media
WO1985004032A1 (en) Computer software protection
KR19980702902A (en) System providing a personal memory device capable of reading and writing
EP0874367A3 (en) Recording medium cassette
GB2154769A (en) Computer software protection
JP4564321B2 (en) Card type electronic equipment
US6938104B2 (en) Removable hard drive assembly, computer with a removable hard disk drive, method of initializing and operating a removable hard drive
EP0855672B1 (en) Ic card reader/writer and its control method
JPS60207987A (en) Card reader/writer
JPH0338396A (en) Next generation ic card
JPS5991590A (en) Integrated circuit card
JPH02141915A (en) Card reader
JPH0734210B2 (en) Electronic device to which memory cartridge can be connected
JPH09212615A (en) Memory card and information terminal equipment
GB2379077A (en) Device to protect low coercivity magnetic head in card reader from high current
Reader Hardware Specifications of V4KU-*** Series Hybrid Manual Insertion Card Reader
JPH10326332A (en) Ic card and ic card reader writer
JPH0737656A (en) Ic memory card connector mounting method and ic memory card connector

Legal Events

Date Code Title Description
AK Designated states

Designated state(s): AU JP US

AL Designated countries for regional patents

Designated state(s): AT BE CH DE FR GB LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1985901035

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1985901035

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1985901035

Country of ref document: EP