Patent ID: 7552092

Claim:
A program distribution method for distributing a program that includes a main-body module, said distribution being from the creator of the program to a user via a distributor, the method comprising: inserting, at a device of the creator of the program, a distributor watermark into the main-body module of the program, wherein the distributor watermark specifies the distributor of the program, adding, at the device of the creator of the program, a dummy module to the program, the dummy module having no effect on the operation of the program; adding, at the device of the creator of the program, a main-body digital signature to the main-body module of the program, wherein the main-body digital signature prevents unauthorized tampering with the main-body module; and distributing the program, including the digitally-signed main-body module and the dummy module, to the distributor; inserting, at a device of the distributor, a user watermark into the dummy module of the program, wherein the user watermark specifies the user; adding, at a device of the distributor, a dummy module digital signature to the dummy module after the user watermark is inserted, wherein the dummy module digital signature is added to the dummy module using a secret key transmitted from the creator of the program; transmitting the program, including the dummy module digital signature and the user watermark, to the user; receiving, at a device of the user, the program transmitted from the device of the distributor; and checking, at the device of the user, the user watermark in the program.