(57)【要約】【課題】  ソフトウェアの不正コピーを防止する。【解決手段】  設定されたライセンスキーのダイジェストを計算により求め、設定されたライセンスキーを無効ライセンスキーとして隠して記憶する（Ｓ１０１）。通知された購入ソフトウェア製造番号から記憶装置に記憶されているコンピュータ識別子を求め、求めたコンピュータ識別子を暗号化してライセンスキーを求め、さらに、このライセンスキーのダイジェストを計算により求める。この求めたダイジェストと通知されたダイジェストとを比較して両者が等しい場合にライセンスキーの再発行を行う（Ｓ１０４）。隠して記憶した無効ライセンスキーを求め、無効ライセンスキーが存在し、且つ、設定されたライセンスキーと求めた無効ライセンスキーとを比較して両者が等しい場合にはソフトウェアの動作を終了する。【選択図】        図２
2005122310.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの不正コピーを防止する不正コピー防止方法において、
設定されたライセンスキー又は前記ソフトウェアの利用を止めようとするコンピュータを一意に識別するコンピュータ識別子を利用してライセンスキーを無効にしたことを証明する無効証明情報を求め、
求めた無効証明情報を報知し、
設定されたライセンスキーを無効ライセンスキーとして隠して記憶する、
ことを特徴とする不正コピー防止方法。
【請求項２】
ソフトウェアの不正コピーを防止する不正コピー防止方法において、
ソフトウェア購入者から通知された購入ソフトウェアの購入ソフトウェア製造番号から、記憶装置に記憶されている当該購入ソフトウェア製造番号に関連付けられたコンピュータ識別子またはライセンスキーを求め、
求めたライセンスキー又はコンピュータ識別子を利用して無効証明情報を求め、
ソフトウェア購入者から通知された無効証明情報と求めた無効証明情報とを比較して両者が等しい場合にライセンスキーの再発行を行う、
ことを特徴とする不正コピー防止方法。
【請求項３】
ソフトウェアの不正コピーを防止する不正コピー防止方法において、
コンピュータに設定されたライセンスキーを求め、
隠して記憶した無効ライセンスキーを求め、
無効ライセンスキーが存在し、且つ、求めた設定されたライセンスキーと求めた無効ライセンスキーとを比較して両者が等しい場合にはソフトウェアの動作を終了する、
ことを特徴とする不正コピー防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの不正コピーを防止する不正コピー防止方法に関する。
【背景技術】
【０００２】
近年、ソフトウェアの不正コピーによるソフトウェア業界の被害が甚大であることから、様々な不正コピーを防止する方法（コピープロテクション方式）が提案され、開発されている（例えば、特許文献１、特許文献２、特許文献３参照）。
【０００３】
このコピープロテクション方式には大きく分けて２種類存在する。その一つはセントラルライセンスサーバ（Central License Sever）を利用したネットワークライセンシング（Network Liceｎsing）方式である。もう一つは、ネットワークを利用しないスタンドアロンライセンシング（Standalone Licensing）方式である。尚、本発明は、スタンドアロンライセンシング方式に関するものであるため、スタンドアロンライセンシング方式のみ説明する。
【０００４】
従来のスタンドアロンライセンシング方式について図面を参照しつつ説明する。まず、スタンドアロンライセンシング方式におけるライセンスキー（License Key）の発行について図６を参照しつつ説明する。図６は従来のライセンスキーの発行手順を説明するための図である。
【０００５】
ソフトウェア製造元はソフトウェアを販売し（ステップＳ５０１）、ソフトウェア購入者がこれを購入する（ステップＳ５０２）。そして、ソフトウェア購入者はソフトウェア製造元から指定されたコンピュータＣを一意に識別するコンピュータ識別子Ｃ１を、ソフトウェアを実行しようとするコンピュータＣから取得する（取得専用ソフトウェアが提供されることもある）。尚、コンピュータ識別子は、ＩＰ（Internet Protocol）アドレスやＭＡＣ（Media Access Control）アドレス、ハードディスクの製造番号などの装置固有情報である。そして、ソフトウェア購入者は、ソフトウェア製造元に対して、例えばソフトウェア購入者の所有する携帯電話機の電子メール機能などを利用して、取得したコンピュータ識別子Ｃ１と購入ソフトウェアの製造番号（以下、購入ソフトウェア製造番号という。）を通知し、ライセンスキーの発行を依頼する（ステップＳ５０３）。
【０００６】
ソフトウェア製造元は、自身の所有するシステムを利用して、ソフトウェア購入者から通知されたコンピュータ識別情報Ｃ１を暗号化してライセンスキーＣ２を生成する。そして、ソフトウェア製造元は、ソフトウェア購入者に対して、例えば電子メール機能などを利用して、生成したライセンスキーＣ２を通知する（ステップＳ５０４）。そして、ソフトウェア製造元のシステムは、ステップＳ５０５でソフトウェア購入者から通知された購入ソフトウェア製造番号を、ステップＳ５０４で生成した（発行した）ライセンスキーＣ２及びステップＳ５０３でソフトウェア購入者から通知されたコンピュータ識別子Ｃ１の一方、又は、その双方に関連付けて記憶装置に記録管理する（ステップＳ５０５）。
【０００７】
ソフトウェア購入者の操作により、コンピュータＣは自装置にインストールされた購入ソフトウェアにステップＳ５０４で通知された（発行された）ライセンスキーＣ２を設定する。これにより、コンピュータＣで購入ソフトウェアが動作するようになる（ステップＳ５０６）。
【０００８】
次に、コンピュータＣにおいて行われるソフトウェア起動時実行処理について図７を参照しつつ説明する。図７は、従来のソフトウェア起動時に実行されるソフトウェア起動時実行処理の動作手順を示すフローチャートである。
【０００９】
コンピュータＣの処理部は設定されたライセンスキーＣ２を求める（ステップＳ６０１）。続いて、処理部はコンピュータＣのコンピュータ識別子Ｃ１を求める（ステップＳ６０２）。さらに続いて、処理部はステップＳ６０１で求めたライセンスキーＣ２を復号化する（ステップＳ６０３）。続いて、処理部はステップＳ６０２で求めたコンピュータ識別子Ｃ１とステップＳ６０３で復号化して得た値とを比較して両者が等しいかを確認する（ステップＳ６０４）。両者が等しいことが確認された場合には（Ｓ６０４：ＹＥＳ）、ソフトウェアを実行する。一方、両者が等しくないと確認された場合には（Ｓ６０４：ＮＯ）、ソフトウェアを終了する。このようにして、ソフトウェア自らが不正コピーにより他のコンピュータで使用されるのを防止する。
【００１０】
尚、ステップＳ６０３及びステップＳ６０４の代わりに、次のようなやり方もある。ステップＳ６０２で求めたコンピュータ識別子Ｃ１を暗号化する。そして、暗号化して得た値とステップＳ６０１で求めたライセンスキーＣ２とを比較して両者が等しいかを確認する。両者が等しい場合にはソフトウェアを実行し、両者が等しくない場合にはソフトウェアを終了する。
【特許文献１】特開平０７−３２５７１２号公報
【特許文献２】特開２０００−２３１４８６号公報
【特許文献３】特開２０００−３２５０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
スタンドアロンライセンシング方式には次のような欠点がある。例えば、ソフトウェア購入者が新しいコンピュータを購入して、新しいコンピュータで購入ソフトウェアを実行したい場合、古いコンピュータ用のライセンスキーでは新しく購入したコンピュータで購入ソフトウェアを実行することはできない。そこで、ソフトウェア購入者はソフトウェア製造元に新しいコンピュータ用のライセンスキーの発行を依頼し、ソフトウェア製造元から発行されたライセンスキー（新しいコンピュータ用のライセンスキー）を受け取る。ところが、古いコンピュータでも購入ソフトウェアを継続して利用できてしまい、悪意を持つソフトウェア購入者が何回もライセンスキーの発行要求を行うことにより、ソフトウェアを不正にコピーして使用が可能になってしまう。
【００１２】
そこで、本発明は、新たにライセンスキーが発行されると古いライセンスキーで購入ソフトウェアを実行することができないようにしてソフトウェアの不正コピーを防止する不正コピー防止方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の発明は、ソフトウェアの不正コピーを防止する不正コピー防止方法において、設定されたライセンスキー又は前記ソフトウェアの利用を止めようとするコンピュータを一意に識別するコンピュータ識別子を利用してライセンスキーを無効にしたことを証明する無効証明情報を求め、求めた無効証明情報を報知し、設定されたライセンスキーを無効ライセンスキーとして隠して記憶する、ことを特徴とする。
【００１４】
請求項２に記載の発明は、ソフトウェアの不正コピーを防止する不正コピー防止方法において、ソフトウェア購入者から通知された購入ソフトウェアの購入ソフトウェア製造番号から、記憶装置に記憶されている当該購入ソフトウェア製造番号に関連付けられたコンピュータ識別子またはライセンスキーを求め、求めたライセンスキー又はコンピュータ識別子を利用して無効証明情報を求め、ソフトウェア購入者から通知された無効証明情報と求めた無効証明情報とを比較して両者が等しい場合にライセンスキーの再発行を行う、ことを特徴とする。
【００１５】
請求項３に記載の発明は、ソフトウェアの不正コピーを防止する不正コピー防止方法において、コンピュータに設定されたライセンスキーを求め、隠して記憶した無効ライセンスキーを求め、無効ライセンスキーが存在し、且つ、求めた設定されたライセンスキーと求めた無効ライセンスキーとを比較して両者が等しい場合にはソフトウェアの動作を終了する、ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、何回もライセンスキーの発行要求を行うことによるソフトウェアの不正コピーによる使用を防止することが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１８】
図１は、本発明の実施の形態における不正コピー防止方法が行われる装置の関係を説明するための図である。ソフトウェア購入者はコンピュータＡで購入ソフトウェアを利用しているが、コンピュータＡで購入ソフトウェアの利用をやめて、コンピュータＢで購入ソフトウェアを利用しようとしている。また、ソフトウェア製造元は、システムＳを利用してライセンスキーの発行／再発行などを行う。
【００１９】
コンピュータＡ，Ｂは、ソフトウェア起動時実行処理（図５）やライセンスキー再発行要求処理（図３）を行う処理部１Ａ，１Ｂと、各種情報を表示する表示部２Ａ，２Ｂと、を有している。システムＳは、ライセンスキー発行処理（図４）を行う処理部１Ｓと記憶装置Ｍとを有しており、記憶装置Ｍは、購入ソフトウェア製造番号とこの購入ソフトウェア製造番号の購入ソフトウェアが利用されているコンピュータのコンピュータ識別子とを関連付けて記録保管している。この記憶装置Ｍに購入ソフトウェア製造番号とコンピュータ識別子との関連付けた記録保管は、ライセンスキーの発行／再発行時に随時行われる。
【００２０】
以下、ライセンスキーの再発行手順について図２を参照しつつ説明する。図２は、ライセンスキーの再発行手順を示す図である。
【００２１】
まず、ソフトウェア購入者の操作により、コンピュータＡ（購入ソフトウェアの利用をやめようとするコンピュータ）においてライセンスキー再発行要求処理（図３）が実行され、処理部１ＡはライセンスキーＡ２のダイジェストＡ３（本実施の形態における無効証明情報）を予め定められた法則に従って計算により求め、求めたダイジェストＡ３を表示部２Ａに表示する。このダイジェストＡ３の表示部２Ａへの表示により、ソフトウェア購入者はダイジェストＡ３を知ることができる。その後、処理部１ＡはライセンスキーＡ２をレジストリやハードディスクのブートセクタなどを利用することにより隠して記憶する。これにより、購入ソフトウェアはコンピュータＡで動作しなくなる（ステップＳ１０１）。尚、ダイジェストＡ３は、ソフトウェアがコンピュータＡで使用できないようにしなければ（ライセンスキーＡ２を無効にしなければ）、ソフトウェア購入者が知ることができない値である。
【００２２】
次いで、コンピュータＢ（新たに購入ソフトウェアを利用しようとするコンピュータ）の処理部１ＢはコンピュータＢを識別するコンピュータ識別子Ｂ１を求め、これによりソフトウェア購入者はコンピュータ識別子Ｂ１を知る（ステップＳ１０２）。尚、コンピュータ識別子は、背景分野の欄で記載したように、ＩＰアドレスやＭＡＣアドレス、ハードディスクの製造番号などの装置固有情報である。
【００２３】
そして、ソフトウェア購入者は、ライセンスキー再発行要求として、例えばソフトウェア購入者が所有する携帯電話機の電子メール機能などを利用して、ソフトウェア製造元に対して、購入ソフトウェア製造番号と、ステップＳ１０１で得たダイジェストＡ３と、ステップＳ１０２で得たコンピュータ識別子Ｂ１とを通知する（ステップＳ１０３）。
【００２４】
ライセンスキー再発行要求の通知を受けた購入ソフトウェア製造元の操作により、システムＳにおいてライセンスキー再発行処理（図４）が実行され、処理部１ＳはステップＳ１０３で通知された購入ソフトウェア製造番号から記憶装置Ｍに記録保管されている当該ソフトウェア製造番号に関連付けられたコンピュータＡのコンピュータ識別子Ａ１を求める。そして、処理部１Ｓは求めたコンピュータ識別子Ａ１を暗号化してライセンスキーＡ２を求め、この求めたライセンスキーＡ２のダイジェストＡ３’を計算により求める。続いて、処理部１Ｓは計算により求めたダイジェストＡ３’とステップＳ１０３において通知されたダイジェストＡ３とを比較し、両者が等しいことを確認する（ステップＳ１０４）。
【００２５】
処理部１ＳはステップＳ１０３で通知されたコンピュータ識別子Ｂ１を暗号化したライセンスキーＢ２を生成する。ソフトウェア製造元の業者は、例えば電子メール機能などを利用して、ライセンスキー再発行要求を行ったソフトウェア購入者に対して、生成したライセンスキーＢ２を通知する（ステップＳ１０５）。
【００２６】
処理部１ＳはステップＳ１０３で通知された購入ソフトウェア製造番号と、ステップＳ１０３で通知されたコンピュータ識別子Ｂ１とを関連付けて記憶装置Ｍに記録保管する（ステップＳ１０６）。
【００２７】
再発行されたライセンスキーＢ２の通知を受けたソフトウェア購入者の操作により、処理部１ＢはコンピュータＢにインストールされた購入ソフトウェアにステップＳ１０５で通知された（再発行された）ライセンスキーＢ２を設定する。これにより、コンピュータＢで購入ソフトウェアが動作するようになる（ステップＳ１０７）。
【００２８】
以下、ライセンスキーを無効にするコンピュータＡにおいて行われるライセンスキー再発行要求処理について図３を参照しつつ説明する。図３は、ライセンスキーを無効にするコンピュータにおいて行われるライセンスキー再発行要求処理の動作手順を示すフローチャートである。
【００２９】
コンピュータＡにおいて、処理部１Ａは購入ソフトウェアに設定された（現在の）ライセンスキーＡ２を求める（ステップＳ２０１）。そして、処理部１Ａは現在のライセンスキーＡ２のダイジェストＡ３を計算により求め、求めたダイジェストＡ３を表示部２Ａに表示する（ステップＳ２０２）。続いて、処理部１Ａは現在のライセンスキーＡ２を無効ライセンスキーとして隠して記憶する（ステップＳ２０３）。さらに続いて、処理部１Ａはソフトウェアの終了動作を実行する（ステップＳ２０４）。
【００３０】
尚、無効ライセンスキーとして記憶された値は購入ソフトウェアをアンインストールしても消せないように隠して記憶する。このようにすることで、ソフトウェア購入者が一度無効にしたライセンスキーＡ２を利用してコンピュータＡで不正に購入ソフトウェアを簡単に実行することを阻むことができる。
【００３１】
以下、ライセンスキーを再発行するシステムＳにおいて行われるライセンスキー再発行処理について図４を参照しつつ説明する。図４は、ライセンスキーを再発行するシステムＳにおいて行われるライセンスキー再発行処理の動作手順を示すフローチャートである。尚、購入ソフトウェア製造番号と、ダイジェストＡ３（図２のステップＳ１０１；図３のステップＳ２０２で表示部２Ａに表示されてソフトウェア購入者が知ったダイジェストＡ３）と、新たに購入ソフトウェアを利用しようとするコンピュータＢのコンピュータ識別子Ｂ１（図２のステップＳ１０２で求められソフトウェア購入者が知ったコンピュータ識別子Ｂ１）とが、ソフトウェア購入者によりソフトウェア製造元に通知される。
【００３２】
システムＳにおいて、処理部１Ｓはソフトウェア購入者から通知された購入ソフトウェア製造番号から記憶装置Ｍに記録保管されている当該購入ソフトウェア製造番号に関連付けられたコンピュータＡのコンピュータ識別子Ａ１を求める（ステップＳ３０１）。続いて、処理部１ＳはステップＳ３０１で求めたコンピュータ識別子Ａ１を暗号化してライセンスキーＡ２を生成し、生成したライセンスキーＡ２のダイジェストＡ３’を計算により求める（ステップＳ３０２）。
【００３３】
続いて、処理部１Ｓは計算により求めたダイジェストＡ３’とソフトウェア購入者から通知されたダイジェストＡ３とを比較し、両者が等しいかを確認する（ステップＳ３０３）。両者が等しくないと確認された場合には（Ｓ３０３：ＮＯ）、ライセンスキーを再発行することなくライセンスキー再発行処理を終了する。一方、両者が等しいと確認された場合には（Ｓ３０３：ＹＥＳ）、ステップＳ３０４の処理へ移行する。
【００３４】
処理部１Ｓはソフトウェア購入者から通知されたコンピュータ識別子Ｂ１を暗号化したライセンスキーＢ２を生成する。ソフトウェア製造元は、ライセンスキー再発行要求を行ったソフトウェア購入者に対して、生成したライセンスキーＢ２を通知する（ステップＳ３０４）。
【００３５】
処理部１Ｓはソフトウェア購入者から通知された購入ソフトウェア製造番号とソフトウェア購入者から通知されたコンピュータＢのコンピュータ識別子Ｂ１とを関連付けて記憶装置Ｍに記録保管し（ステップＳ３０５）、ライセンスキー再発行処理を終了する。
【００３６】
尚、ソフトウェア購入者は、コンピュータＢにインストールされた購入ソフトウェアに、ソフトウェア製造元から通知された（再発行された）ライセンスキーＢ２を設定する。これにより、コンピュータＢで購入ソフトウェアが動作するようになる。
【００３７】
尚、ソフトウェア購入者がライセンスキーを最初にソフトウェア製造元に要求する場合（以下においてライセンスキー発行要求という。）があるので、図４のステップＳ３０１の前にライセンスキー発行要求（これには、購入ソフトウェア製造番号と、コンピュータのコンピュータ識別子が含まれている。）か、ライセンスキー再発行要求かを判断し、ライセンス発行要求であればステップＳ３０４の処理へ移行し、一方ライセンスキー再発行要求であればステップＳ３０１の処理へ移行する。ここで、ライセンスキー発行要求かライセンスキー再発行要求かの判断は、例えば、ソフトウェア購入者から通知された購入ソフトウェア製造番号が記憶装置Ｍに記録されている（この場合、ライセンスキー再発行要求）か、記録されていないか（この場合、ライセンスキー発行要求）により行うことができる。
【００３８】
以下、コンピュータＢにおいて行われるソフトウェア起動時実行処理について図５を参照しつつ説明する。図５は、ソフトウェア起動時に実行されるソフトウェア起動時実行処理の動作手順を示すフローチャートである。
【００３９】
コンピュータＢにおいて、処理部１Ｂは購入ソフトウェアに設定された（現在の）ライセンスキーＢ２を求める（ステップＳ４０１）。続いて、処理部１Ｂは隠して記録した無効ライセンスキーＸを求める（ステップＳ４０２）。さらに続いて、処理部１Ｂは、無効ライセンスキーＸが存在し、且つ、ステップＳ４０１で求めたライセンスキーＢ２とステップＳ４０２で求めた無効ライセンスキーＸとを比較して両者が等しいかを確認する（ステップＳ４０３）。無効ライセンスキーＸが存在し、且つ、両者が等しいことが確認された場合には（Ｓ４０３：ＹＥＳ）、無効ライセンスキーＸを利用して購入ソフトウェアを実行しようとしていると判断して、ソフトウェアを終了する。一方、無効ライセンスキーＸが存在しないことが確認された場合、或いは、両者が一致していないことが確認された場合には（Ｓ４０３：ＮＯ）、ステップＳ４０４の処理へ移行する。
【００４０】
処理部１ＢはコンピュータＢのコンピュータ識別子Ｂ１を求める（ステップＳ４０４）。続いて、処理部１ＢはステップＳ４０１で求めたライセンスキーＢ２を復号化する（ステップＳ４０５）。さらに続いて、処理部１ＢはステップＳ４０４で求めたコンピュータ識別子Ｂ１とステップＳ４０５で復号化して得た値とを比較して両者が等しいかを確認する（ステップＳ４０６）。両者が等しいことが確認された場合には（Ｓ４０６：ＹＥＳ）、ソフトウェアを実行する。一方、両者が等しくないと確認された場合には（Ｓ４０６：ＮＯ）、ソフトウェアを終了する。
【００４１】
以上説明した実施の形態によれば、ライセンスキーを無効にした後でなければライセンスキーの再発行がされないため、購入ソフトウェアを２つ以上のコンピュータでの利用を防ぐことが可能になる。つまり、ソフトウェアの不正コピーを防止することが可能になる。また、本発明の内容を既存のスタンドアロンライセンシング方式に後付するようにすれば、導入が容易になるというメリットがある。
【００４２】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
【００４３】
例えば、上記の実施の形態では、システムＳの記憶装置Ｍに購入ソフトウェア製造番号とコンピュータ識別子とを関連付けて記憶し、ソフトウェア購入者から通知された購入ソフトウェア製造番号から記憶装置Ｍに記憶されているコンピュータ識別子Ａ１を求める。そして、求めたコンピュータ識別子Ａ１を暗号化してライセンスキーＡ２を生成し、生成したライセンスキーＡ２のダイジェストＡ３’を計算により求めるようにしている場合である（ステップＳ１０４；ステップＳ３０１，Ｓ３０２）。が、これに限らず、例えば次のようにしてもよい。システムＳの記憶装置Ｍに、購入ソフトウェア製造番号とこの購入ソフトウェア製造番号の購入ソフトウェアが現在利用されているコンピュータに設定されているライセンスキーとを関連付けて記録保管する。そして、ステップＳ１０４；ステップＳ３０１及びステップＳ３０２の代わりに、ソフトウェア購入者から通知された購入ソフトウェア製造番号から記憶装置Ｍに記憶されている当該購入ソフトウェア製造番号に関連付けられたライセンスキーＡ２を求める。そして、計算により求めたライセンスキーＡ２のダイジェストＡ３’を求めるようにしてもよい。
【００４４】
また、上記の実施の形態では、コンピュータＢにおいて、設定されたライセンスキーＢ２を復号化し、復号化した値とコンピュータＢのコンピュータ識別子Ｂ１とを比較して、両者が等しいかを確認している場合である（ステップＳ４０５，Ｓ４０６）。が、これに限らず、例えば次のようにしてもよい。ステップＳ４０５及びステップＳ４０６の代わりに、コンピュータ識別子Ｂ１を暗号化し、暗号化して得た値とライセンスキーＢ２とを比較して、両者が等しいかを確認する。等しければソフトウェアを実行し、等しくなければソフトウェアを終了するようにしてもよい。
【００４５】
また、記憶装置Ｍに購入ソフトウェア製造番号とコンピュータ識別子とを関連付けて記録保管している場合であるが、これに限らず、購入ソフトウェア製造番号とコンピュータ識別子及びライセンスキーの双方とを関連付けて記録保管するようにしてもよい。
【００４６】
さらに、上記の実施の形態では、ライセンスキーのダイジェストを利用して無効証明情報を求めている場合であるが、これに限らず、他の情報を利用して無効証明情報を求めるようにしてもよい。例えば、次のようにしてもよい。
【００４７】
ライセンスキーを暗号化して無効証明情報を求めるようにしてもよい。この場合、ダイジェストＡ３を求めて表示する（ステップＳ１０１；ステップＳ２０２）代わりに、ライセンスキーＡ３を暗号化して表示し、ソフトウェア購入者はソフトウェア製造元に対して暗号化して得られた値（以下、暗号化ライセンスキーという。）を通知する。ソフトウェア製造元のシステムＳでは、ダイジェストＡ３’を求めてこれとダイジェストＡ３とを比較して両者が等しいかを確認する（ステップＳ１０４；ステップＳ３０４）代わりに、ライセンスキーを暗号化してこれとソフトウェア購入者から通知された暗号化ライセンスキーとを比較して両者が等しいかを確認するようにしてもよい。
【００４８】
また、コンピュータ識別子を利用して無効証明情報を求めるようにしてもよい。この場合、ダイジェストＡ３を求めて表示する（ステップＳ１０１；ステップＳ２０２）代わりに、コンピュータ識別子Ａ１を求め、さらに、これを例えば暗号化して無効証明情報を求めて表示し、ソフトウェア購入者はソフトウェア製造元に対して求めた無効証明情報を通知する。ソフトウェア製造元のシステムＳでは、ダイジェストＡ３’を求めてこれとダイジェストＡ３とを比較して両者が等しいかを確認する（ステップＳ１０４；ステップＳ３０４）代わりに、コンピュータ識別子を利用して無効証明情報を求めてこれとソフトウェア購入者から通知された無効証明情報とを比較して両者が等しいかを確認するようにしてもよい。
【００４９】
さらに、上述した各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上記各種処理を行ってもよい。尚、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態における不正コピー防止方法が行われる装置の関係を説明するための図。
【図２】ライセンスキーの再発行手順を示す図。
【図３】ライセンスキー再発行要求処理の動作手順を示すフローチャート。
【図４】ライセンスキー再発行処理の動作手順を示すフローチャート。
【図５】ソフトウェア起動時実行処理の動作手順を示すフローチャート。
【図６】従来のライセンスキーの発行手順を説明するための図である。
【図７】従来のソフトウェア起動時実行処理の動作手順を示すフローチャート。
【符号の説明】
【００５２】
Ａ，Ｂ  コンピュータ
Ｓ  システム
１Ａ，１Ｂ，１Ｓ  処理部
２Ａ，２Ｂ  表示部
Ｍ  記憶装置
【図１】
2005122310.tif 000003
【図２】
2005122310.tif 000004
【図３】
2005122310.tif 000005
【図４】
2005122310.tif 000006
【図５】
2005122310.tif 000007
【図６】
2005122310.tif 000008
【図７】
2005122310.tif 000009