[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Executing Encrypted Code



At 9:18 PM 12/19/1996, Ben Byer wrote:
>> At the last meeting references were made to processors which only
>> execute encrypted code.  Decryption occurs on chip.
>>
>> If each chip has a unique public/secret key pair, and executes
>> authenticated code only, there are some interesting implications.

> Let's see... What about this scenario:

> Alice gets a contraband copy of PGP 4.0 off the Internet.  Since the
> public-key algorithm is publicized so that people can encrypt software
> to a chip, PGP 4.0 has the ability to encode/decode/generate keys for
> the chip.  Alice generates a public key/private key pair 0x12345678,
> in software.  Alice goes to www.microsoft.com and orders Office '99
> online, and tells Microsoft "Hi, my name is Alice, my credit card
> number is 31426436136778 and my PGPentium's public key is 0x12345678."

> Microsoft unwittingly sends Alice a copy encrypted to 0x12345678, for
> which she has the private key to.  Alice decrypts Office '99, and
> reencrypts it with public key of her PGPentium, as well as the keys f
> all her friends.

The software vendor would be wise to check that the public key was
legal.  It would be a simple matter for the manufacturer to publicize
all public keys that had been installed on chips.

> Does the authentication defeat this?

I'm sort of waving my hands around when I say "authentication".

One approach is for the manufacturer to authenticate software submitted
by approved vendors.  The vendors are then tasked with encrypting it
for the correct processor.

> Our computers would only run software from Microsoft?  Scary.

There are all sorts of nifty deals that could be made.  Microsoft
could commission a special run of the processors which only run
Microsoft approved software.  Machines using these processors could
be given away or sold at a steep discount.

You could also timestamp the software so that it only runs for a given
length of time.  This will encourage people to upgrade regularly.  ;-)

The processors could also support metering.  The processor could support
some sort of API for the software to tell it how many computrons had
been used and stop it from running after they run out.  This means
that light users or evaluators of software pay relatively low prices
while heavy users pay high prices.  This is a great deal for all
concerned.  Right now software vendors try to do this with clever deals,
but it's crude at best.

Peter Hendrickson
[email protected]