[net.micro] Software Piarcy & Protection schemes

KSPROUL@RUTGERS.ARPA (04/08/84)

I sent this msg once before, but never saw it on the bboard, so here it
is again...
                ---------------

Date: 3 Apr 84 11:18:32 EST
From: KSPROUL@RUTGERS.ARPA
Subject: Software Piarcy & Protection schemes
To: infor-micro@BRL-VGR.ARPA

Hal Chamberlina, vp of Micro Technology Unlimited in North Carolina
wrote an article someplace about a good soloution to software protection.
His company (MTU) implements this scheme on their line of micros.

Each computer has a 'serial number' burned into a TTL prom int the
machine.  All programs that need to be protected check serial number
and if they dont match, the program prints an error message, and stops.

There serial numbering scheme also has a 'company ID code' to take
care of 'multiple CPU licenceing'.  So if you want a program to run
on all of your machines, you pay a higher price than for 1 copy
but less then for several copies, and the one copy that you get,
will run on any machine that has that 'company ID'.
This last thing only works for a computer manufacture that does
only direct mail order, they can do this because they are a small 
company.

But the concept of a serial number in every machine would be extremely
easy for even someone as big as Apple or IBM to implement..  I am
prety sure that some of the big IBM mainframes have 'serial numbers'
imbeded in them somewhere.

MTUs method even goes further and 'encrypts' the serial number
both in the machine, and in the programs so that is is not very
easy to get around (in fact fairly difficult).  they also
check for the serial numbers several different and obscure places
througout a program, so it is not just an easy task of 'NOPing' out
the code that does these checks.

This could be done on an APPLE via a 'serial number card' but
would only be practicle for a BIG software house that sold several
different programs (i.e. microsoft).  this has been done on a Comodore
PET,  Some company gave you a 'key' that pluged into the back of your
pet, and their programs would not run without this KEY.

I would love to see APPLE come out with this type of 'serial number'
on the MACINTOSH, and also have other very useful information in the
TTL prom.  i.e.  Date manufactured, revision number, amount of memory,
etc (this last one is not always practicle on all types of machines
due to add-on boards).  But even with the mack, when you upgrade to more
memory, the could give you a new ttl prom.

This scheme DOES cause a VERY BIG PROBLEM,  all of the software houses
now have to either do direct mail-order sales, or have there delears
have a program that would create the disk for the purchaser on the spot
when he walks in the door and lays down his money.  This would
put a sever burden on the retail software salesman.  oh well
all solutions have their problems...


Different subject:

As far as a company not wanting to pay for multiple copies, look
at what happened to RIXON.  Because of this, the company I work for
has told people to make sure that they do NOT have 'illegal copies' of
anything and that is far cheaper to pay the $300-$400 for a program
than $500,000 in damages later.

Keith Sproul
Ksproul@Rutgers.arpa
-------
-------

rjh@ihuxj.UUCP (Randolph J. Herber) (04/20/84)

In an article by keith Sproul at Rutgers:
	"But the concept of a serial number in every machine would be
	extremely easy for even someone as big as Apple or IBM to
	implement..  I am prety sure that some of the big IBM mainframes
	have 'serial numbers' imbeded in them somewhere."
In "IBM System/370 Principles of Operation", GA22-7000-8, page 10-49
((c) Copyright International Business Machines Corporation 1970, 1972,
1973, 1974, 1980, 1981):
	I paraphase as follows:
	STORE CPU ID - STIDP - X'B202bddd' - STIDP D2(B2)
	"Information identifying the CPU is stored at the doubleword
	location designated by the second-operand address."
	The information contains the following data (from most to least
	signifance): 8-bit version code, 24-bit CPU identification number
	(a.k.a. 'serial number'), 16-bit model number, and a 16-bit
	integer size of a machine log area used by the hardware when a
	machine error is detected by the hardware.
	The CPU identification number combined with the model number
	provides a unique CPU identification.

Randolph J. Herber, Amdahl Senior Systems Engineer, ..ihnp4!ihuxj!rjh