[comp.sys.amiga] Software Protection with dongles.

haitex@pnet01.cts.com (Wade Bickel) (01/11/88)

        Since it has been a while since I posted this and I've received no
comments from anyone specifically explaining why this won't work, I'm going
to post it again.  Since there was a recent influx of double postings (about 
200?) right after I posted it, I figure it may have slipped through.

        Please note that when I talk about the program acting kind of like
a virus, I do not mean that it would either propogate itself, or that it
would damage general data of files.  Rather it would subtly damage it's
own data, so that a broken program would still be a risk to use (since at
any time a missed section of the protection scheme could invalidate your
data).

        Also note that this would be an LSI chip which would lie on the
buss (a number of alternative configs are possible) and that it would
be a piggy-back arrangement, so only one (say 70 pin) port would be needed.


        ==========================================================

>In article <3072@cbmvax.UUCP> grr@cbmvax.UUCP (George Robbins) writes:
>>[part of one of my postings]
>>         Why has't some provision to protect software been included in
>>       the hardware?  Does C= think protectable software would hurt the
>>       Amiga in some way?
>
>Ok, you're on...
>
>What precisely is it that we should be doing in the hardware?
>

	  I was thinking of factory dongles.  A slot on the front of
	the machine into which dongles could be inserted, preferably
	stacked upon one another, up to some limit (say 8).  Then C=
	(or whoever) would provide "factory dongles" to the software
	publisher.  Because of the volume the manufacturer could do
	this at a lower price than anyone else.
	
>Remember:
>
>1) The software has to somehow interact with the hardware "protection"
>   and the crackers can bypass that check as easily as any other.

	  Rather than checking something, I was thinking it would use
	the hardware.  Perhaps the dongle would be required to decode
	instructions, or return needed functional results, or ???
	A number of games could be played with the read/write status
	of the pins, or sequencing of input/output, etc...

>2) The hardware serialization scheme has drawbacks in that either it's
>   too easy to change the serial, or too hard wherein you get scewed if
>   you change machines.

	  I'm not terribly in favor of serialization, but it would still
	be nice if it were there for the publisher to use if they wished.
	Not having it leaves no option but not to incorporate it.

>3) The consumer software licences are generally oriented towards a user
>   and his machine, not some specific machine.

	  With a dongle, you could switch machines.

>4) Most software vendors/distributors aren't willing to undergo the expense
>   of diskette serialization/encryption or any scheme whereby the consumer
>   must call in with the serial number and receive a key.

	  If serialization were provided, publisers/vendors/distrubutors
	would not be required to utilize it.  Likewise, if a factory
	dongle solution were used, it would constitute an option, not
	a requirment.

>5) No matter how detailed and devious the protection, the benefit lasts
>   only until a cracked, unprotected version starts doing the rounds.

	  Yes, but if it is expensive or extremely time consuming to 
	crack a program, it is less likely to be done.  With a dongle
	the number of people who would attempt cracking the protection
	would be limited to those with specialized equiptment.  Since
	there is not a lot of profit potential in this it would not
	be so likely to happen.
	
	  Furthermore, if done correctly, a program could notice if it
	were operating without it's dongle and subtly torpedo the pirate.
	Perhaps waiting until a choice moment to strike, kind of like a
	virus.  In this way, a pirated dongle-protected program would be
	a risk to use for anything serious.  Confidence in the cracker
	would be required, and since most people wouldn't know who did
	the cracking...

>Please, there are no simple solutions to the copy protection/piracy issues
>or you could be sure that IBM would have implemented them on the PS/2 series.
>There is an underlying social problem in that significant percentage of
>computer users do not respect the software provider's view of value and
>intellectual property.  Unless you can provide some adjustment of this
>situation you are stuck with various accommodations and stategems.


	  I did not mean to imply that it was a simple problem.  But
	I am sure that relying on peoples' "honesty" will not work.
	
	  I have a friend at C= (they call him "Mr. Commodore")
	who was talking of offering rewards for info leading to the
	conviction of "Pirate BBS's".  This also seems like a partial
	solution.  Have you heard anything about this?
	
	
						Thanks,
						
						
							  Wade.
							  
							  



UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex
ARPA: crash!pnet01!haitex@nosc.mil
INET: haitex@pnet01.CTS.COM

wtm@neoucom.UUCP (Bill Mayhew) (01/15/88)

The cable TV industry is currently learning that hardware
protection is not terribly effective.  MA/Com, now bought out by
General Instrments, designed the Videocipher II for HBO and a number
of other programmers to attempt to prevent useful interception of
their transmission by consumer satellite receiving equipment.

The videocipher uses some pretty neat ideas and at first appearance
would be relatively secure since the audio feed is digitized and
transmitted with DES coding.  The problem with the videocipher is
that the key management in the hardware was vulnerable.  MA/Com
crowed long and loud that the videocipher was virtually impossilbe
to defeat.  Within 3 months after the videocipher hit the street,
it was neutralized and pirates were again receiving programming
that they were not authorized for.  Ever since there has been an
escalating war twixt pirates and the satellite programmers with GI
fixing security holes and pirates finding a new method to
circumvent the security.

Pirates are extremely resourceful, and remarkably persistent.  They
are also at least as smart as we are.  Probably any hardware method
will be relatively quickly circumvented, as GI has emberassedly
learned.  GI's lesson is probably equally applicable to computer
dongles.

The main hope for dongles is that they be convenient enough that
mom and pop users won't mind using them, and mom and pop won't
bother scrounging around in BBSs for cracked software.  The best
method for getting a dongle to be accepted is to make it do
something useful.


--Bill

yuan@uhccux.UUCP (Yuan Chang) (01/17/88)

[Purena Line-eater chow]


	Dongles are one of the most frustrating devices that I had to
contend with.  At work, we have several dongles hooked up to a machine (on
the serial port), and they often don't want to work with other dongles on
the same port.  It's more of a headache to change dongles when you want
to work with a program than the trouble of finding a key disk. 

	Also Logitech Mouse just refuses to work with some dongles...  
 
-- 
Yuan Chang 
UUCP:      {ihnp4,uunet,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!yuan
ARPA:	   uhccux!yuan@nosc.MIL               "Wouldn't you like to 
INTERNET:  yuan@uhccux.UHCC.HAWAII.EDU         be an _A_m_i_g_o_i_d too?!?"

stever@videovax.Tek.COM (Steven E. Rice, P.E.) (01/21/88)

In article <2333@crash.cts.com>, Wade Bickel (haitex@pnet01.cts.com)
(re-) proposed a dongle scheme that would incorporate an LSI chip to
perform the dongling functions:

[lots deleted, to keep this fairly short. . .]

> 	  Rather than checking something, I was thinking it would use
> 	the hardware.  Perhaps the dongle would be required to decode
> 	instructions, or return needed functional results, or ???
> 	A number of games could be played with the read/write status
> 	of the pins, or sequencing of input/output, etc...

Essentially, the dongle becomes an ancillary processor (or coprocessor).
At this point, you are caught upon the horns of a dilemma:

  1. You can make this part separate from the CPU.  This allows you to
     use (continue using) a standard microprocessor.  The disadvantage
     is that all communication with the chip is in the clear.  It
     becomes relatively easy to determine what the part does and emulate
     its function in software, or just eliminate all need for it (by
     patching the original program).

  2. You can wrap an encryption/decryption unit up with the CPU.  This
     allows you to perform a number of tricks in hardware, but at the
     expense of using non-standard (i.e., low usage and high cost)
     hardware.  Note, too, that random address line swapping is out on
     a multitasking machine -- the memory you might want to switch
     things to may very well be in use by another program.

     There is also the problem of keeping the development environment
     from becoming a copy-protection-cracking environment.  After all,
     if you expect to develop and debug a program on such a machine, you
     have to have the tools to allow you to do execution traces, stack
     dumps, memory content examination, and so forth.  What's to prevent
     a pirate from using these same tools to peel off the encoding?
     
Either way, you lose. . .

Responding to a comment about users wanting to move their software from
one machine to another, Wade wrote:

> 	  With a dongle, you could switch machines.

But only if all machines have the same dongle interface.  Right now,
dongles dangle from the RS-232C port because the RS-232C port is a
standard feature.  You would have to get a significant fraction of the
manufacturers to agree to implement the dongle bungle the same way
before it would do you any good.  No software house in its right mind
is going to release a product that won't run on the majority of the
installed base!

					Steve Rice

-----------------------------------------------------------------------------
* Every knee shall bow, and every tongue confess that Jesus Christ is Lord! *
new: stever@videovax.tv.Tek.com
old: {decvax | hplabs | ihnp4 | uw-beaver}!tektronix!videovax!stever

rjk107@pawl14.pawl.rpi.edu (Robert J. Kudla) (01/22/88)

In article <2333@crash.cts.com> haitex@pnet01.cts.com (Wade Bickel) writes:
>
>	  I was thinking of factory dongles.  A slot on the front of
>	the machine into which dongles could be inserted, preferably
>	stacked upon one another, up to some limit (say 8).  Then C=
>	(or whoever) would provide "factory dongles" to the software
>	publisher.  Because of the volume the manufacturer could do
>	this at a lower price than anyone else.
>	
>	  Rather than checking something, I was thinking it would use
>	the hardware.  Perhaps the dongle would be required to decode
>	instructions, or return needed functional results, or ???
>	A number of games could be played with the read/write status
>	of the pins, or sequencing of input/output, etc...
Wonderful. All that could be simulated by software. I've cracked enough
dongle schemes to know that....

Damn, lost whoever's signature this belongs to....
>>5) No matter how detailed and devious the protection, the benefit lasts
>>   only until a cracked, unprotected version starts doing the rounds.
>
>	  Yes, but if it is expensive or extremely time consuming to 
>	crack a program, it is less likely to be done.  With a dongle
>	the number of people who would attempt cracking the protection
>	would be limited to those with specialized equiptment.  Since
>	there is not a lot of profit potential in this it would not
>	be so likely to happen.
Wrong. Don't you realize that crackers don't do it for the money
(well, at least good ones don't.)? They (we) see the protection as
a direct dare on the part of the manufacturer. Further, dongles
would (out of necessity, to keep software overhead low) be fairly
simple to reproduce until you start getting into ROM chips (which
can also be duplicated via software, of course). So the pirate
writes a few patches and modifies a little code and whammo.
I used to have (well, I still do, but I don't buy/get software for
it anymore) a C64, so I know about protection schemes and how to get
around them.
>	
>	  Furthermore, if done correctly, a program could notice if it
>	were operating without it's dongle and subtly torpedo the pirate.
>	Perhaps waiting until a choice moment to strike, kind of like a
>	virus.  In this way, a pirated dongle-protected program would be
>	a risk to use for anything serious.  Confidence in the cracker
>	would be required, and since most people wouldn't know who did
>	the cracking...
But you'd also have to trust the software company to not have any bugs
in the routines. The first couple thousand legit users to get zapped
would be pretty angry. So which does the company care more about-
zapping pirates or protecting legit users?
>	
>	  I have a friend at C= (they call him "Mr. Commodore")
>	who was talking of offering rewards for info leading to the
>	conviction of "Pirate BBS's".  This also seems like a partial
>	solution.  Have you heard anything about this?
>	
Ha. Maybe a few stupid smalltimers might get busted, but to infiltrate
the bigger cracking syndicates you'll need serious connections and
you'll have to spend lots of cash on dirty deals. Bribing among
pirates isn't too uncommon (or at least it wasn't when I finally tired
of Commodore piracy) but it all depends on how badly Commodore wants
to see them shut down. And the old entrapment defence still works
well, too (to apply to an illegal-type BBS these days you have to
sign a document that says you're not affiliated with any software
company or law enforcement agency, blah blah blah, etc, etc....).

But in any case, piracy will always exist, as long as people want
to make money selling software and as long as other people want
the software without paying for it. It's as simple as that, so any
wonderful protection schemes that you might wish existed would be
in the long run fruitless.

jbn@glacier.STANFORD.EDU (John B. Nagle) (01/23/88)

     There are ways to make a dongle that will resist serious attempts to
crack it.  One possibility, for example, would be to embed some useful
functionality in the dongle itself.  A good candidate for suitable hardware
would be a MC6811 microcontroller, a cheap 8-bit CMOS machine with
onboard RAM, EAROM, and customizable mask-programmed ROM.  One unusual
feature of this chip is that it can be configured to erase its on-chip
EAROM if an attempt is made to download it with a new program or to
exercise any of the chip's test modes.

     Off-loading some critical and obscure processing to a coprocessor in
the dongle would be reasonably effective.   The more powerful the dongle,
the more difficult it becomes to emulate it externally.  A plug-in board
is an even more powerful approach to protection.  Cubicomp, for example,
protects their $10,000 PC animation software in this way.  (Their software
only supports their graphics board, which is nonstandard but not particularly
interesting otherwise.)

     Incidentally, the "safe havens" for software piracy are slowly being
closed off.  Several major firms in the software industry have pulled out
of Brazil because of nonexistent copyright protection for software in that
country.  (There are Macintosh clones in Brazil.  Apple is not happy about
this.)  It now appears, according to the Wall Street Journal, that the
Brazilian government is moving toward ratifying the standard international
conventions on copyrights.  So is Hong Kong.  These changes haven't really
started to take effect, but the trend is clear.  This will shut down the
major commercial piracy operations, although there will be minor ones for
some time.

     Commercial piracy, copying and reselling software, is not really all
that common.  The problem is that to get any volume, pirates have to advertise,
and this tends to make them rather visible.  Most of the big names, such
as Ashton-Tate and Lotus, devote some effort to finding and prosecuting
commercial pirates.  About two years ago, these vendors staged a raid of
several major New York companies suspected of having more copies in use
internally than they had purchased.  This got the message across that
software piracy may be hazardous to your career.

     So in the market segment that sells to commercial users at prices
above $100, piracy is not a crippling problem, even without copy
protection.  Games are another matter.  But the game market is not
a major area of interest for the big players, and CD-ROMs are probably
the future medium of game distribution anyway, which will tend to put
a crimp in game piracy.  What do you copy the 400MB to?  A WORM drive?
WORM drives cost much more than read-only drives, the blank media
are expensive, and copying rates are slow.  You probably can't make a
copy of a CD-ROM for less than $20-40 with a WORM drive.  It costs
about $3 to manufacture a CD-ROM, box, pamphlet, and all.  Now you're
fighting a mass production process with a do-it-yourself approach,
historically a losing battle.  It's like trying to make money by
Xeroxing books and selling the copies.

     Enough for now.

					John Nagle