GB2238408A - Copy protection in storage system - Google Patents
Copy protection in storage system Download PDFInfo
- Publication number
- GB2238408A GB2238408A GB8925003A GB8925003A GB2238408A GB 2238408 A GB2238408 A GB 2238408A GB 8925003 A GB8925003 A GB 8925003A GB 8925003 A GB8925003 A GB 8925003A GB 2238408 A GB2238408 A GB 2238408A
- Authority
- GB
- United Kingdom
- Prior art keywords
- copying
- memory device
- control routine
- software
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000014509 gene expression Effects 0.000 claims abstract description 46
- 238000000034 method Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 230000002265 prevention Effects 0.000 claims description 3
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (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
A storage system is disclosed which includes a source memory device 1 for storage of protected software and an install circuit 10 for directing copying of the protected software to a target computer. The install circuit limits the number of copies which may be made by modifying a tag expression stored with the protected software whenever the protected software is copied. Further, the protected software includes a dummy routine 7 which is called when a user attempts to call the executable software. The dummy routine checks that the executable software has been copied to the target computer in a correct manner before allowing use of the executable software. <IMAGE>
Description
A storage system having copy protPrf ionprot[NR][NR]ti@n The present invention relates to a storage system incorporating copy protection to prevent unauthorised copying of stored software.
At present, there are many systems available for storage of software and for prevention of unauthorised copying of the software. Generally speaking, however, these systems involve interruption of normal operation of the software, resulting in lower processing speeds and a requirement for additional memory capacity. For example, European Patent Specification
No. 175,557 (Fifield) describes a system including a device for storage of portion of the software, which portion is essential for running of the software and which may not be copied. Accordingly, in use, instructions are transmitted between the processor handling the software and the storage device. As a result, it appears that operation of the processor would be slowed down and that there would be a greater chance of faults occurring due to increased handling of instructions and data.
The present invention is directed towards providing a storage system for storage of protected software and which prevents unauthorised copying of the software.
According to the invention, there is provided a storage system for storage of protected software and prevention of excessive copying of the protected software to a target computer having a hard disc and a random access memory device, the storage system comprising:
a source memory device for storage of the
protected software in compressed format and of a
control routine including a tag expression; and
an install circuit for directing copying of the
protected software from the source memory device to
the hard disc, the install circuit including:
means for checking if the control routine is stored
on the source memory device;
a comparator for comparing the tag expression
format with a pre-defined reference tag
expression format;
stop means for preventing copying of the
protected software if the control routine is
not stored on the source memory device, or if
the tag expression format differs in a pre defined disallowed manner from the reference format; means for amending the tag expression format if said format differs from the reference format in a pre-defined correct manner or is the same as the reference format; means for copying the control routine including the amended tag expression to the hard disc; means for de-compressing and changing the name of the protected seftware after copying of the control routine to the hard disc; means for copying the de-compressed protected software to the hard disc; means for comparing the control routine and the protected software stored in the hard disc with that stored in the source memory device for copying verification; and display means for displaying a verification message indicating copying success or failure.
Ideally, the tag expression is stored in a series of dummy expressions to create difficulty in unauthorised addressing of the tag expression.
In one embodiment, the protected software includes executable software and a dummy routine having a name understood by a user to be the name of the executable software, the dummy routine comprising:
means for checking for storage of the control
routine on the hard disc when a user calls the
executable software in order to ascertain if
the executable software has been copied in an
authorized manner;
means for copying the executable software to
the random access memory device to allow
running of the executable software on the
target computer if the control routine is
stored on the hard disc; and
display means for displaying a verification
message on the target computer as to whether
the executable software has been copied
successfully.
In another embodiment, the install circuit is a hardware circuit arranged to be connected to the target computer for interception of signals transmitted from a processor of the target computer to the source memory device. Alternatively, the source memory device is a memory disc and the install circuit is in the form of a routine stored on the source memory device.
According to another aspect of the invention, there is provided a method of controlling copying of protected software stored in compressed format on a source memory device to a hard disc of a target computer, the method comprising the steps of:
storing a control routine on the source memory
device, the control routine including a tag expression;
checking that the control routine is stored on the
source memory device when an attempt is made to copy the
protected software;
comparing the tag expression format with a pre
defined reference tag expression format;
preventing copying of the protected software if the
control routine is not stored on the source memory device
or if the tag expression format differs in a pre-defined
disallowed manner from the reference format;;
amending the tag expression format if said format
differs from the reference format in a pre-defined
correct manner or is the same as the reference format;
copying the control routine to the hard disc;
de-compressing and changing the name of the
protected software after copying of the control routine
to the hard disc;
copying the de-compressed protected software to the
hard disc;
comparing the control routine and the protected
software stored in the hard disc with that stored in the
source memory device; and
displaying a verification message indicating copying
success or failure.
The invention will be more clearly understood from the following description of some preferred embodiments thereof given by way of example only with reference to the accompanying drawings in which:
Fig. 1 is a block diagram illustrating a
storage system of the invention connected to a
target computer;
Fig. 2 is a flow diagram illustrating operation
of the storage system of the invention; and
Fig. 3 is a flow diagram illustrating the
manner of running software on the target
computer when copied from the storage system.
Referring to the drawings, and initially to Fig. 1, there is illustrated a storage system according to the invention indicated generally by the reference numeral 1. The storage system 1 is connected to a target computer 2 having a processor 3, a Random Access Memory device (RAM) 4 and a hard disc 5. The storage system 1 comprises a source memory device, namely, a floppy disc 6 for insertion in the target computer 2. The disc 6 stores protected software comprising a dummy routine 7 and executable software 8, the latter of which is the required software for the target computer 2. The disc 6 also stores a control routine 9. The storage system 1 further comprises an install circuit 10 for directing and controlling copying of the protected software from the disc 6 to the target computer 2.The install circuit 10 is inserted in the target computer 2 intercepting the connection of the processor 3 to discs inserted in the computer.
Referring now to Fig. 2, operation of the storage system 1 is illustrated. When the disc 6 is inserted in the target computer 2 and has been called by the target computer 2, the install circuit 10 in step 21 checks for the existence of the control routine 9 on the disc 6. The install circuit 10 in step 22 then further compares the format of a tag expression stored within the control routine with a pre-defined reference tag expression format. The tag expression is located amongst a series of dummy expressions and has a secret, pre-determined format. If the control routine 9 or the tag expression are missing or if the tag expression format is not the same as the reference format, the install circuit 10 in step 23 prevents copying of the protected software to the target computer hard disc 5 as, in this embodiment, the system 1 allows only one copy to be made.An error display message is then displayed on the target computer in step 24.
If, however, the control routine 9 and the tag expression exist and further, if the tag expression format is the same as the reference format, the install circuit 10 amends the tag expression format in step 25 and subsequently then directs the writing of the contents of the control routine 9 to the hard disc 5 in step 26. The install circuit 10 then addresses the executable software 8 (which is stored with a secret name and in compressed form) and de-compresses the executable software 8, renames it using a further secret code name and copies it, still in its hidden format to the hard disc 5 (steps 27 and 28). The install circuit 10 then addresses the dummy routine 7, which as it were "sits on top" of the executable software 8 in the disc 6. The dummy routine 7 is copied to the hard disc 5 in step 29.
The last function of the install circuit 10 is to verify that the control routine 9, the dummy routine 7 and the executable software 8 have been written correctly to the hard disc 5 step 30). If this is the case, the install circuit 10 displays an acknowledgement message confirming this on the target computer's screen in step 31. If, however, the verification step 30 shows any discrepancies, an error message is displayed on the target computer's screen. The various messages displayed by the install circuit are standard error messages and do not indicate how the system may have failed and are not indicative in any way of the procedure being carried out.
Referring now to Fig. 3, operation of the protected software when copied to the hard disc 5 is illustrated. The dummy routine 7 has a name which a user would consider would be the name of the executable software 8 and further, the dummy routine 7 has a dummy format similar to a format which the executable software should take. When a user invokes the executable software 8, it is in fact the dummy routine 7 which is loaded to the RAM 4 (steps 40 and 41). In step 42 the dummy routine 7 checks if the control routine 6 is stored on the hard disc 5. Further, the dummy routine 7 compares the tag expression format with the reference format to verify that it has been modified in a correct manner by the install circuit 10 on copying to the hard disc 5.If the control routine 9 is not stored on the hard disc or if the tag expression has not been amended in a valid manner, an error message is displayed in step 44. The dummy routine 7 will then direct the loading of the executable software 8 from the hard disc 5 to the RAM 4 in step 45. Finally, the dummy routine 7 is copied from the RAM 4 to the hard disc 5.
In this embodiment, once the tag expression has been modified it is not possible for the install circuit 10 to copy the control routine 9 again. The only way of circumventing this is to reset the tag expression to its original value. As the existence of the control routine 9 is concealed from the user and is written using standard encryption techniques, it would be almost impossible for a user to successfully tamper with it's operation even if he or she could manipulate the control routine. The fact that the tag expression is indistinguishable from dummy character strings written in the control routine 9, and that it has as many as fifty characters, means that there are millions of permutations which render it extremely difficult for the tag expression to be reset correctly.
As with the control routine 9, the executable software 8 is concealed from the user and is given an encrypted code name.
Further, the executable software 8 is compressed when stored on the disc 6. The advantages of compressing the executable software 8 are that is takes up less space on the disc 6 and that it is impossible to invoke the executable software 8 when it is compressed. Further, if a user gains unauthorised access to the executable software 8, it is very unlikely that it will be recognised for what it is.
It will be noted that at no stage is anything on the disc 6 erased, with the exception of the amendment of the tag expression in the control routine 9. It will be appreciated that no action taken by the storage system 1 has any effect on the normal working of the target computer, for example on processing speed and accordingly the procedure is not destructive or damaging in any way. The invention has the technical effect of controlling the target computer when copying from a source memory device without reducing processing speed or requiring additional random access memory capacity.
The invention may be provided in the form of a disc storing the control routine, the protected software, the control routine and also an install routine which carries out a function similar to that of the install circuit 10.
In the embodiments described, the system of the invention allows only one copy to be made. It will be appreciated, however, that the install circuit may be modified to allow copying a pre-set number of times by changing the manner in which the tag expression is checked and amended.
Claims (8)
1. A storage system for storage of protected software and
prevention of excessive copying of the protected software
to a target computer having a. hard disc and a random
access memory device, the software storage system comprising a source memory device for storage of the
protected software in compressed format and of a
control routine including a tag expression; and
an install circuit for directing copying of the
protected software from the source memory device to
the hard disc, the install circuit including:
means for checking if the control routine is stored
on the source memory device;
a comparator for comparing the tag expression
format with a pre-defined reference tag
expression format;
stop means for preventing copying of the
protected software if the control routine is
not stored on the source memory device, or if
the tag expression format differs in a pre defined disallowed manner from the reference format; means for amending the tag expression format if said format differs from the reference format in a pre-defined correct manner or is the same as the reference format; means for copying the control routine including the amended tag expression to the hard disc; means for de-compressing and changing the name of the protected software after copying of the control routine to the hard disc; means for copying the de-compressed protected software to the hard disc; means for comparing the control routine and the protected software stored in the hard disc with that stored in the source memory device for copying verification; and display means for displaying a verification message indicating copying success or failure.
2. A storage system as claimed in claim 1, wherein the tag
expression is stored in a series of dummy expressions to
create difficulty in unauthorised addressing of the tag
expression.
3. A storage system as claimed in claims 1 or 2, wherein the
protected software includes executable software and a
dummy routine having a name understood by a user to be
the name of the executable software, the dummy routine
comprising:
means for checking for storage of the control
routine on the hard disc when a user calls the
executable software in order to ascertain if
the executable software has been copied in an
authorized manner;
means for copying the executable software to
the random access memory device to allow
running of the executable software on the
target computer if the control routine is
stored on the hard disc; and
display means for displaying a verification
message on the target computer as to whether
the executable software has been copied
successfully.
4. A storage system as claimed in any preceding claims
wherein the install circuit is a hardware circuit
arranged to be connected to the target computer for
interception of signals transmitted from a processor of
the target computer to the source memory device.
5. A storage system as claimed in any of claims 1 to 4,
wherein the source memory device is a memory disc and the
install circuit is in the form of a routine stored on the
source memory device.
6. A method of controlling copying of protected software
stored in compressed formation a source memory device to
a hard disc of a target computer, the method comprising
the steps of:
storing a control routine on the source memory
device, the control routine including a tag
expression;
checking that the control routine is stored on
the source memory device when an attempt is made to
copy the protected software;
comparing the tag expression format with a predefined reference tag expression format;
preventing copying of the protected software if the control routine is not stored on the source memory device or if the tag expression format differs in a pre-defined disallowed manner from the reference format;
amending the tag expression format if said format differs from the reference format in a predefined correct manner or is the same as the reference format; ;
copying the control routine to the hard disc;
de-compressing and changing the name of the protected software after copying of the control routine to the hard disc;
copying the de-compressed protected software to the hard disc;
comparing the control routine and the protected software stored in the hard disc with that stored in the source memory device; and
displaying a verification message indicating
copying success or failure.
7. A storage system substantially as herein described with
reference to the accompanying drawings.
8. A method of controlling copying of protected software,
the method being substantially as herein described with
reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BE8901264A BE1001665A6 (en) | 1989-11-27 | 1989-11-27 | SYSTEM FOR STORING PROTECTED SOFTWARE AND METHOD FOR ORDERING A COPY THEREOF. |
Publications (2)
Publication Number | Publication Date |
---|---|
GB8925003D0 GB8925003D0 (en) | 1989-12-28 |
GB2238408A true GB2238408A (en) | 1991-05-29 |
Family
ID=3884407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB8925003A Withdrawn GB2238408A (en) | 1989-11-27 | 1989-11-06 | Copy protection in storage system |
Country Status (2)
Country | Link |
---|---|
BE (1) | BE1001665A6 (en) |
GB (1) | GB2238408A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4239865A1 (en) * | 1992-11-27 | 1994-06-01 | Heinz Johann | Unauthorised program use prevention method - inserting installation chip card data carrier into test appts. before starting, interrogating card to check program addresses, and interrupting program with incorrect answer |
WO1996024893A1 (en) * | 1995-02-06 | 1996-08-15 | Infosafe Systems, Inc. | Method for retrieving secure information from a database |
EP0881561A2 (en) * | 1992-11-13 | 1998-12-02 | Hewlett-Packard Company | Encrypting software programs |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0175557A1 (en) * | 1984-09-20 | 1986-03-26 | Kenneth John Fifield | Processing device and method |
-
1989
- 1989-11-06 GB GB8925003A patent/GB2238408A/en not_active Withdrawn
- 1989-11-27 BE BE8901264A patent/BE1001665A6/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0175557A1 (en) * | 1984-09-20 | 1986-03-26 | Kenneth John Fifield | Processing device and method |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0881561A2 (en) * | 1992-11-13 | 1998-12-02 | Hewlett-Packard Company | Encrypting software programs |
EP0881561A3 (en) * | 1992-11-13 | 1999-02-24 | Hewlett-Packard Company | Encrypting software programs |
EP0598587B1 (en) * | 1992-11-13 | 1999-08-25 | Hewlett-Packard Company | Verifying software programs |
DE4239865A1 (en) * | 1992-11-27 | 1994-06-01 | Heinz Johann | Unauthorised program use prevention method - inserting installation chip card data carrier into test appts. before starting, interrogating card to check program addresses, and interrupting program with incorrect answer |
WO1996024893A1 (en) * | 1995-02-06 | 1996-08-15 | Infosafe Systems, Inc. | Method for retrieving secure information from a database |
Also Published As
Publication number | Publication date |
---|---|
BE1001665A6 (en) | 1990-01-30 |
GB8925003D0 (en) | 1989-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6006328A (en) | Computer software authentication, protection, and security system | |
US6618735B1 (en) | System and method for protecting shared system files | |
US6874139B2 (en) | Method and system for seamless integration of preprocessing and postprocessing functions with an existing application program | |
US6922693B1 (en) | Method and system for copy protection of images displayed on a computer monitor | |
US5287407A (en) | Computer software protection | |
US6185686B1 (en) | Computer system and process for accessing an encrypted and self-decrypting digital information product while restricting access to decrypted digital information | |
KR100417443B1 (en) | System and method for protecting use of dynamically linked execution modules | |
US6253324B1 (en) | Server verification of requesting clients | |
USRE40702E1 (en) | Method for securing video images | |
EP0449242A2 (en) | Method and structure for providing computer security and virus prevention | |
WO1997024665A1 (en) | Method for protecting executable software programs against infection by software viruses | |
US20100077360A1 (en) | Method and system for maintaining secure data input and output | |
US7607122B2 (en) | Post build process to record stack and call tree information | |
WO1997004394A1 (en) | Computer software authentication, protection, and security system | |
US20020144141A1 (en) | Countering buffer overrun security vulnerabilities in a CPU | |
MX2007011026A (en) | System and method for foreign code detection. | |
JPH10312335A (en) | Data processing method and processor therefor | |
US7107388B2 (en) | Method for read once memory | |
US20070101131A1 (en) | Trusted store tamper detection | |
US20050149750A1 (en) | Method and system for diagnosing operation of tamper-resistant software | |
GB2238408A (en) | Copy protection in storage system | |
US20080275917A1 (en) | Itso Fvc2 Application Monitor | |
IE893523A1 (en) | A Storage System having copy protection | |
EP1402334B1 (en) | Method and system for maintaining secure data input and output | |
AU725098B2 (en) | Computer software authentication, protection, and security system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |