(57)【特許請求の範囲】
【請求項１】
コンピュータ・ソフトウェアおよび／またはコンピュータで読取り可能なデータを無資格の利用から保護する方法であって、
ライセンサーに割り当てられた会社コード（ＦＣ）と、ソフトウェアないしデータのライセンサーから供与されるユーザーコード（ＵＣ）とを含むライセンスパラメータに依存して、ライセンサー端末がソフトウェアないしデータの暗号化を前記会社コード（ＦＣ）及び前記ユーザーコード（ＵＣ）で共同して行い、
ライセンシー端末のデータ媒体が暗号化されたソフトウェアないしデータを記憶し、
ライセンサー端末がライセンシー端末にライセンスパラメータを暗号化して伝送し、
ライセンシー端末の不揮発性メモリがライセンスパラメータを記憶し、
ライセンシー端末がソフトウェアないしデータを利用する度に、入力されたライセンスパラメータに依存して、復号化器でソフトウェアないしデータを自動的に復号化する方法において、
会社鍵（ＦＫ）は、ライセンサーのライセンスパラメータを作成および変更するための秘密の鍵として用いられ、ならびに、暗号化シーケンスを生成するための秘密の鍵として用いられ、
ライセンスパラメータの伝送の暗号化を秘密のプライベートシリアル鍵（ＳＫ）より作成したパブリックシリアル鍵（ＳＫｐ）により行い、
ソフトウェアないしデータの復号化を、ライセンサーが選択した会社鍵（ＦＫ）に依存して初期化することを特徴とする方法。
【請求項２】
秘密のプライベートシリアル鍵（ＳＫ）が１人のライセンシー端末においてランダムに生成されて、別のライセンシー端末、ライセンサー端末がこれに影響を及ぼすことができない、請求項１記載の方法。
【請求項３】
ライセンシー端末はさらに、独自のシリアルナンバー（ＳＮ）と秘密の共通鍵（ＣＫ）とを利用することができ、この共通鍵から、会社コード（ＦＣ）に依存した暗号化によって会社共通鍵（ＦＣＫ）を算出する、請求項１または２記載の方法。
【請求項４】
ライセンサーの会社コード（ＦＣ）に依存して暗号化することによって共通鍵（ＣＫ）から生成される秘密の会社共通鍵（ＦＣＫ）がライセンサーに割り当てられており、
ライセンスパラメータの作成、変更、または消去を秘密のプライベートボックス鍵（ＢＫ）より導かれたパブリックボックス鍵（ＢＫｐ）により行う、請求項１から３までのいずれか１項記載の方法。
【請求項５】
ライセンスパラメータの記憶が、ハードウェア補助装置として構成された保護装置（３）の内部で行われる、請求項１から４までのいずれか１項記載の方法。
【請求項６】
保護されているソフトウェアないしデータの自動的な復号化が、前記保護装置（３）の内部に配置された暗号化・復号化器（７）によって行われる、請求項５記載の方法。
【請求項７】
前記保護装置（３）が、保護されているソフトウェアないしデータの復号化の期間および／または回数を制限する、不正操作プロテクトされたリミッタ（９）を含んでいる、請求項５または６記載の方法。
【請求項８】
前記保護装置（３）に、製造者によって設定される秘密のプライベートボックス鍵（ＢＫ）を入力し、
ライセンサー端末とライセンシー端末の間のライセンスパラメータの伝送の暗号化を、プライベートボックス鍵（ＢＫ）より導かれたパブリックボックス鍵（ＢＫｐ）により行う、請求項５から７までのいずれか１項記載の方法。
【請求項９】
請求項１記載の方法で使用される保護装置であって、
ライセンシーのコンピュータ（２）に接続するためのインターフェース（４）と、
マイクロプロセッサ（５）と、
ライセンスパラメータが記憶される不揮発性メモリ（６）と、
記憶されたライセンスパラメータに依存してソフトウェアないしデータを自動的に復号化するための暗号化・復号化器（７）とを備えている保護装置において、
ライセンサー端末とライセンシー端末との間のライセンスパラメータの伝送を暗号化するために用いられるパブリックシリアル鍵（ＳＫｐ）を提供するための、ランダムな秘密のプライベートシリアル鍵（ＳＫ）を生成する装置（８）を備えていることを特徴とする保護装置。
【請求項１０】
前記不揮発性メモリ（６）が、異なるライセンサーのライセンスパラメータを記憶するための複数の記憶領域（６ａ，６ｂ，６ｃ）を含んでいる、請求項９記載の保護装置。
【請求項１１】
前記マイクロプロセッサ（５）、前記不揮発性メモリ（６）、前記暗号化・復号化器（７）、およびプライベートシリアル鍵（ＳＫ）を生成する前記装置（８）が、ただ１つの半導体集積回路（ＡＳＩＣ）の上に構成されている、請求項９または１０記載の保護装置。
【請求項１２】
保護されているソフトウェアないしデータの復号化の期間および／または回数を制限する、不正操作プロテクトされたリミッタ（９）を備えている、請求項９から１１までのいずれか１項記載の保護装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・ソフトウェアおよび／またはコンピュータで読取り可能なデータを無資格の利用から保護する方法、ならびにこのような方法で使用するための保護装置に関する。
【０００２】
【従来の技術】
不正に流布されないよう保護したい内容をもつコンピュータ・ソフトウェア、ドキュメント、データなどは、主として個別にパッケージとして販売されている。無資格の使用、特にその一つである無断コピーに対しては、技術的な対策も一部で開始されており、これは純粋なソフトウェア解決法か、いわゆるドングル（Ｄｏｎｇｌｅ）と呼ばれるハードウェア保護かのいずれかである。
【０００３】
無資格の使用に対するあらゆる種類の安全対策で問題となるのは、それぞれの製品について、これに個別に適合させた専用の安全対策が必要になるという点である。そのために、たとえばインターネットを媒介とするＥＳＤ（Ｅｌｅｃｔｒｏｎｉｃ  Ｓｏｆｔｗａｒｅ  Ｄｉｓｔｒｉｂｕｔｉｏｎ）のような新しい流通経路は著しく困難になる。なぜなら、保護されたコンピュータプログラムとともに、ないしは保護されたデータとともに、必ず個別的なハードウェアかソフトウェアを作成して、一緒に供給しなければならないからである。そのためライセンサーには、安全対策だけのために追加的な費用が生じてしまう。ライセンシーは一回払いの調達価格を支払って、不良投資を行うリスクを冒すことになる。使用頻度に応じた支払は、技術的に測定が不可能であるために、一般的ではない。
【０００４】
ドキュメントの暗号化、プログラムコード、あるいはリソースなどを基礎とする、ソフトウェアを保護するために現在利用可能な高価値な方法は、特に広く普及していて相応に低価格になっているソフトウェアの場合、将来の安全性要求にとって十分ではなく、また、使用に依存した確実な清算を行うためにも十分ではない。
【０００５】
認証をするために利用され、認定内容を記憶しておくことができる、たとえばＩＴＵ規格Ｘ．５０９ｖ３に基づく現在利用可能なプライベート鍵トークンは、高い安全性要求を満たしてはいるものの、独自の少数の認定内容を記憶することしか可能でない。この場合、個別的な暗号化や清算を伴う、別々に保護されている多数のプログラムやデータを同時に使用することも意図されていない。
【０００６】
それぞれ個別のソフトウェア製品が、いずれの場合にも著しい追加費用と結びつく独自の保護方法を必要とするために、コンピュータソフトウェアおよび／またはコンピュータで読取り可能なデータの大半は、相変わらず効果的なコピー防御なしに流布されている。そのために著作者ないしライセンサーは、多額の未払いのライセンス料で損失をうけている。
【０００７】
したがって、特に新しいオンライン販売経路を活用して、異なるライセンサーの、多くの異なるコンピュータプログラムないしコンピュータで読取り可能なデータを将来的に利用するためには、ライセンサーの収入を確保し、より高い安全性要求に応える新たな保護方法が必要である。
【０００８】
米国特許出願明細書５８２６０１１は、インストールの際にコンピュータソフトウェアを保護するための、ユーザーのコンピュータに接続される、ハードウェアとして構成された電子安全装置を記載している。この電子安全装置は、保護されたプログラムをインストールするときに必要となる、種々の秘密のインストールデータを含んでいる。
【０００９】
米国特許出願明細書５８０５８０２は、ソフトウェアへの管理されたアクセスを実行するためのマイクロプロセッサと、ネットワークサーバと接続するためのインターフェースと、利用制限コードが記憶されるプログラマブルメモリと、この利用制限コードと最新のユーザー番号を処理する装置とを含む、コンピュータネットワークの中でソフトウェアを保護するためのモジュールを記載している。
【００１０】
ＷＯ００／２０９４８は、可変な鍵を使用するコーディング法ないし暗号化法と、署名法とを組み合わせたコピープロテクトシステムを記載している。
【００１１】
最後に、本出願人自身が発行している企業印刷物「ＷＩＢＵ−ＫＥＹ−コピープロテクトのテーマに関する説得力のあるコンセプト」（ＷＩＢＵ−ＳＹＳＴＥＭＳ  ＡＧ社発行、１９９９年）は、コピープロテクトされたソフトウェアのライセンシーのコンピュータに接続するための、ハードウェア補助装置として構成された保護装置を記載している。ここでは、保護されるべきソフトウェアがライセンサーによって暗号化され、ライセンシーによって再び復号化される方法が採用されている。この暗号化は次の３つのパラメータに依存している。すなわち、製造者によって設定され、それぞれのライセンサーに対して個別に一度だけ付与される会社コードと、ライセンサーが自由に決めることのできるユーザーコードと、最後に、それぞれのライセンス登録について、４０億以上の暗号化バリエーションのうちから１つを選択する役目をするセレクションコードである。会社コードとユーザーコードは、ライセンサーによって保護装置にプログラミングされる。セレクションコードは、暗号化を初期化するときに、ライセンシーの処分権の範囲内にある保護装置に送信されて、記憶はされない。ライセンサーによって準備されるセレクションコードは、保護されるデータまたは保護されるソフトウェアに含まれている。
【００１２】
【発明が解決しようとする課題】
上に挙げた保護方法の欠点は、ライセンサーが、方法ないし保護装置（ボックス）の製造者によって不変に設定された会社キー（会社コード）に頼らざるを得ないという点である。そのために、方法ないしボックスの製造者に対するライセンサーのある程度の依存性が生じ、このことは一方ではライセンサーを制約するとともに、他方では、ライセンサーの立場からするとまだ最善ではない安全性につながってしまう。さらに重要な欠点は、それぞれのライセンサーが、不変に設定された特定の会社コードを必要とすることであり、このことはライセンシーにおいて、すなわちソフトウェアの末端顧客において、異なるライセンサーのソフトウェアを使用する場合に、それと同数だけの保護装置を使わなければならないという結果につながりかねない。
【００１３】
したがって本発明の技術的な目的は、多数のライセンサーについて同時に、それぞれ多数の製品のために互いに独立して利用することを可能にする、コンピュータソフトウェアおよび／またはコンピュータで読取り可能なデータを無資格の使用から保護するための改良されたシステムを提供することである。
【００１４】
【課題を解決するための手段】
この目的を達成するにあたっては、ライセンサーのソフトウェアないしデータを、個別的な暗号化によってライセンスパラメータに依存して保護する、請求項１のプレアンブルに基づく方法が前提となる。
【００１５】
前述の目的は、ソフトウェアないしデータの暗号化を、ライセンサーが自由に選択する秘密の会社鍵に依存してライセンサーにおいて初期化し、ライセンサーからライセンシーへのライセンスパラメータの伝送の暗号化を秘密のプライベートシリアル鍵によって行い、保護されているソフトウェアないしデータの復号化を、ライセンサーが選択した会社鍵に依存してライセンシーにおいて初期化することによって、請求項１の特徴部に基づいて達成される。
【００１６】
本発明による方法の利点は、特に、それぞれ異なるソフトウェアないしデータの異なるライセンサーに由来する、互いに独立した多数のライセンスパラメータを利用することができるという点にあり、この場合、ライセンスパラメータを暗号化して伝送するために秘密のプライベートシリアル鍵を使用することによって、ライセンスパラメータの作成、訂正、消去を１人のライセンシーのところでしか行うことができず、他のライセンシーのところには同一の秘密のプライベートシリアル鍵ＳＫが存在しないので、これを行えないことが保証される。この理由からライセンスパラメータを復号化することができないので、ライセンスパラメータを不正操作することも不可能である。それにより、ライセンサーにとっての安全性の犠牲と結びつくことなく、ライセンスパラメータを不確実な伝送経路で、たとえばインターネットを経由して、実施することが可能になる。
【００１７】
本発明による方法のさらに別の大きな利点は、コピープロテクトされたソフトウェアのライセンシー、すなわち末端顧客が、異なる複数のライセンサーの異なる多数のソフトウェアを利用しようとする場合でさえ、ただ１つの方法しか採用しなくてよいことである。このことは、ライセンサーにとってもライセンシーにとってもコピープロテクトのコストを著しく下げるばかりでなく、特にライセンシーにおける受け入れやすさを向上させる。
【００１８】
秘密のプライベートシリアル鍵がライセンシーのところでランダムに生成され、しかもライセンサー、ライセンシー、またはその他の何らかの者がそれに影響を及ぼすことができないようにすると、ライセンシーにとって本方法の安全性がいっそう向上する。
【００１９】
有利には、ライセンシーには独自のシリアルナンバーが不変に割り当てられ、ライセンサーからライセンシーへのライセンスパラメータの伝送への署名は、このシリアルナンバーに依存して行われる。
【００２０】
本発明による方法の有利な発展例では、それぞれのライセンサーに、本方法の製造者によって秘密の会社共通鍵が割り当てられる。この会社共通鍵は、それぞれのライセンサーの会社コードに依存した暗号化によって、ライセンサーにも公開されない秘密の共通鍵から算出される。各ライセンサーは、自分の会社コードに適合する会社共通鍵だけを受領する。会社共通鍵は、ライセンスパラメータの作成、変更、または消去を証明するのに必要である。
【００２１】
有利には、ライセンスパラメータの記憶は、ライセンシーのコンピュータのインターフェースに接続される、ハードウェア補助装置として構成された保護装置（ボックス）の内部で行われる。この保護装置は、保護されているソフトウェアないしデータを自動的に復号化するために必要な復号化器を含んでいる。
【００２２】
コンピュータソフトウェアまたはコンピュータで読取り可能なデータを無資格の利用から防御するだけでなく、利用頻度に依存して利用を清算できるようにするため、保護されているソフトウェアないしデータを復号化する期間および／または回数を制限するリミッタを、ライセンシーのところに設けることができる。そのためにオプションとして、不正操作プロテクトされながら、参照源から日付情報および／または時間情報をライセンシーに伝送することができる。有利には、このリミッタは同じく保護装置の構成要素である。
【００２３】
本発明による方法のさらに別の有利な実施態様では、パブリックボックス鍵を提供する、製造者が決めた秘密のプライベートボックス鍵が保護装置に入力される。さらに製造者は、有効なパブリックボックス鍵のリストを提供する。プライベートボックス鍵は、ライセンサーやライセンシーに依存しておらず、したがって異なるライセンサーのソフトウェアないしデータについて使用することができる。プライベートボックス鍵から算出されるパブリックボックス鍵は、ライセンサーとライセンシーの間でのライセンスパラメータの伝送を暗号化するのに用いられる。プライベートボックス鍵が有効かどうかを検査することによって、介入者が、ライセンサーから伝送されたデータを復号化できるようにするために自分が選んだ無効なプライベートボックス鍵から求めた任意のパブリックボックス鍵を供給することが防止される。
【００２４】
装置に関する前述の目的においては、請求項９のプレアンブルに基づく保護装置が前提とされる。この目的は、保護装置が、ライセンサーとライセンシーの間のライセンスパラメータの伝送を暗号化するための、ランダムな秘密のプライベートシリアル鍵を含んでいる装置を含んでいることによって達成される。
【００２５】
保護装置のメモリが、異なるライセンサーのライセンスパラメータを入力するための複数の記憶領域を含んでいると、異なる多数のライセンサーのソフトウェアないしデータとの関連で、ライセンシーが同一の保護装置を利用することができる。
【００２６】
ライセンサーにとって特に程度の高い安全性は、マイクロプロセッサ、ライセンスパラメータのメモリ、復号化器、およびプライベートシリアル鍵を生成する装置が、ただ１つの半導体集積回路上に構成され、特にＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）上に構成されることによって達成される。それによって特に、入力されたライセンスパラメータを含むメモリが直接不正操作されることが防止される。
【００２７】
保護されているソフトウェアないしデータの復号化の期間および／または回数を制限する、不正操作プロテクトされたリミッタを保護装置が追加的に含んでいると、ライセンサーとの間で、利用に依存した清算が可能である。
【００２８】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００２９】
図１に概略を示す方法は、多数のライセンサー１，２からｎのコンピュータソフトウェアおよび／またはコンピュータで読取り可能なデータの保護と、利用に依存した清算とをいずれも可能にする。ソフトウェアないしデータは、まずライセンサーのサーバーに格納され、インターネットを経由してライセンシーのコンピュータに伝送することができる（ダウンロード）。
【００３０】
ライセンシーのコンピュータには、インターフェース（Ｉｎｔｅｒｆａｃｅ）４を介してライセンシーのコンピュータ２に接続された、ハードウェア補助装置として構成された保護装置（ボックス）３がある。
【００３１】
保護装置３は、マイクロプロセッサ５と、ライセンサー１，２からｎの数に数が対応している複数の記憶領域６ａ，６ｂ，６ｃをもつ不揮発性メモリ（ＥＥＰＲＯＭ）とを含んでいる。
【００３２】
保護装置３は、さらに、暗号化・復号化器７と、ランダムな秘密のプライベートシリアル鍵ＳＫを生成する装置８とを含んでいる。さらに、保護されるソフトウェアないしデータの復号化の期間および／または回数を制限するためのリミッタ９が設けられている。
【００３３】
保護装置のすべての主要な部分、すなわち特にマイクロプロセッサ５と、メモリ６と、暗号化・復号化器７と、プライベートシリアル鍵ＳＫを生成する装置８とは、たとえばプラスチックでできた安定したケーシング１０に包囲された、ただ１つの集積半導体回路、いわゆるＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）の上に構成されている。
【００３４】
次に、製造者、ライセンサー、ないしライセンシーにおいてどのような鍵とデータが生成および記憶されるか、そしてこれらの鍵やデータが秘密なのか公開なのかについて説明する。
【００３５】
図２（ａ）のリストは、本方法および保護装置の製造者における鍵とデータを含んでいる。このリストは、特定のライセンサーに対する秘密の会社共通鍵（ＦＣＫ）を生成するのに用いられる秘密の共通鍵（ＣＫ）を含んでいる。製造者はさらに、秘密であるプライベートボックス鍵（ＢＫ）を選択し、これから導き出されたパブリックボックス鍵を提供する。プライベートボックス鍵（ＢＫ）は、ライセンシーに依存しておらず、本方法を実施するためには各ライセンサーと同一であってよい。パブリックボックス鍵は、ライセンサーからライセンシーに伝送されるライセンスパラメータを作成または消去するためのシーケンスを暗号化するのに用いられる。製造者によって選択される秘密のプライベート確認鍵（ＶＫ）は、必ずしも必要ではない。これに付属するパブリック確認鍵は、製造者のところで保存される。ライセンサーは、確認鍵（ＶＫ）付きの機能を利用したいかどうかを判断する。確認鍵（ＶＫ）は、たとえば最新の日付や時間といった参照情報を、たとえばトラストセンターなどの参照源が、不正操作プロテクトされながら暗号化してライセンシーに伝送するために用いられる。
【００３６】
図２（ｂ）のリストによれば、ライセンサーは、製造者から自分に提供された公開の会社コード（ＦＣ）を利用することができる。秘密の会社共通鍵（ＦＣＫ）は、ライセンサーの会社コード（ＦＣ）に対して、製造者からライセンサーに提供される。ライセンサーは、自分独自の秘密の会社鍵（ＦＫ）を、製造者とは無関係に自由に決めることができる。会社鍵（ＦＫ）は、ライセンサーのライセンスパラメータを作成および変更するための秘密の鍵として用いられ、ならびに、暗号化シーケンスを生成するための秘密の鍵として用いられる。ライセンサーはさらに、製造者から提供されるパブリックボックス鍵（ＢＫｐ）を利用することができる。
【００３７】
図３のリストは、ライセンシーにおける保護装置（３、図１参照）に含まれている鍵とデータとを含んでいる。これにはまず、保護装置３の製造者によって選択された秘密の独自のプライベート確認鍵（ＶＫ）が属している。
【００３８】
日付情報と時間情報（Ｔｉｍｅ  Ｄａｔｅ  Ｓｔａｍｐ，ＴＤＳ）は、オプションとして、不正操作プロテクトされながら、参照源からライセンシーに伝送することができる。そのためには確認鍵（ＶＫ）が必要である。ライセンシーのところには秘密のプライベートボックス鍵（ＢＫ）もあり、そのパブリックボックス鍵（ＢＫｐ）は保護装置の製造者から公開で提供されたものである。
【００３９】
安全性にとって特に重要なのは、製造者ともライセンサーともまったく無関係な、ライセンシーのところでランダムに生成されるプライベートシリアル鍵（ＳＫ）である。このプライベートシリアル鍵（ＳＫ）は、ライセンサーとライセンシーの間のデータ伝送を暗号化するのに用いられるパブリックシリアル鍵（ＳＫｐ）を提供するものである。
【００４０】
ライセンシーはさらに、独自のシリアルナンバー（ＳＮ）と秘密の共通鍵（ＣＫ）とを利用することができ、この共通鍵から、会社コード（ＦＣ）に依存した暗号化によって会社共通鍵（ＦＣＫ）が算出される。
【００４１】
ライセンシーのところにある保護装置３のメモリ６（図１参照）は、ここでは一例として図示している３つの記憶領域６ａ，６ｂおよび６ｃに、保護されたソフトウェアないしデータを利用するために必要なライセンスパラメータを含んでいる。ライセンスパラメータは、各ライセンサーについてそれぞれ１つの会社アイテム（ＦＩ）と、それぞれ１つの会社アイテムに割り当てられた１つまたは複数のユーザーアイテムとで構成されている。
【００４２】
会社アイテム１，２および３は、各ライセンサーの会社コード（ＦＣ）と、会社プログラミングカウンタ（ＦＰＣ）と、当該ライセンサーの秘密の会社鍵（ＦＫ）と、公開の暫定的なセッションＩＤ（ＳＩＤ）とでそれぞれ構成されている。
【００４３】
それぞれ１つの会社アイテムに割り当てられた複数のユーザーアイテムは、ユーザーコード（ＵＣ）と、種々のプログラムモジュールやプログラム機能などのための可変な利用性のためのマスターマスク（ＭＭ）と、さらにユーザーデータ（ＵＤ）と、満了日（Ｅｘｐｉｒａｔｉｏｎ  Ｄａｔｅ，ＥＤ）と、制限カウンタ（Ｌｉｍｉｔ  Ｃｏｕｎｔｅｒ，ＬＣ）と、ネットワーク・ユーザーカウンタ（ＮＵＣ）とをそれぞれ含んでいる。
【００４４】
次に、本方法を適用するにあたっての安全性関連の各ステップについて、ならびに、インターネット等の公共の伝送経路を通じての、ライセンサーとライセンシーの間の鍵とデータの伝送について説明する。
【００４５】
ライセンシーは、保護されているソフトウェアないしデータを利用するためには、会社アイテムとユーザーアイテムとを含むライセンスパラメータを必要とする。図４のフローチャートは、ライセンシーにおける新しい会社アイテムの作成を図示している。
【００４６】
まず最初に、ライセンサーの保護装置で暫定的な会社アイテムが作成されて、ランダムなセッションＩＤ（ＳＩＤ）が生成される。次いで、このセッションＩＤ（ＳＩＤ）と、該当するパブリックボックス鍵（ＢＫｐ）と、シリアル鍵（ＳＫ）から導き出されたパブリックシリアル鍵（ＳＫｐ）とが、インターネットを経由してライセンサーに送られて、会社作成シーケンスを取得する。ランダムなセッションＩＤ（ＳＩＤ）を使用することは、同一のライセンシーのところで以前に実行されたライセンスパラメータの作成プロセスを、後の時点で繰り返せるようになるのを防止する。
【００４７】
ライセンサーは、ライセンシーから受信したパブリックボックス鍵（ＢＫｐ）が許容されるかどうかを審査する。この比較は、保護装置の製造者からライセンサーが取得した有効なパブリックボックス鍵（ＢＫｐ）のリストとの間で行われる。こうした認証を行わないと、介入者が、対応するプライベート鍵を自分が持っている任意のパブリック鍵をライセンサーに伝送して、会社アイテム作成シーケンスに含まれているライセンサーの秘密の会社鍵（ＦＫ）を知ることが可能になってしまう。
【００４８】
次いでライセンサーは、会社コード（ＦＣ）と、会社共通鍵（ＦＣＫ）と、自分で選択した会社鍵（ＦＫ）と、先に取得したセッションＩＤ（ＳＩＤ）とで構成されるシーケンスを算出する。このシーケンスは、第1のステップでは、先にライセンシーから伝送されてきたパブリックシリアル鍵（ＳＫｐ）で暗号化される。このことは、他の誰も帰属のプライベートシリアル鍵（ＳＫ）を利用できないので、当該ライセンサーによってしかシーケンスを復号化できないことを保証する。
【００４９】
こうして暗号化されたシーケンスを、次のステップでパブリックボックス鍵（ＢＫｐ）によって暗号化する。ライセンシーだけが、シーケンスを再び復号化するために、プライベートボックス鍵を利用することができる。このことは、無資格者は復号化に必要なプライベートボックス鍵（ＢＫ）を知らないので、無資格者がシーケンスを復号化できないことを保証する。次に、こうして暗号化された会社アイテム作成シーケンスを、インターネットを経由してライセンシーに伝送する。
【００５０】
ライセンシーの保護装置では、受信した会社アイテム作成シーケンスを、プライベートボックス鍵（ＢＫ）で復号化する。プライベートボックス鍵（ＢＫ）は秘密であり、保護装置の製造者だけが知っている。したがって潜在的な介入者は、ライセンサーの秘密の会社鍵（ＦＫ）を含んでいる会社アイテム作成シーケンスを復号化できないことが保証される。
【００５１】
ここまでで半分だけ復号化された会社アイテム作成シーケンスは、プライベートシリアル鍵（ＳＫ）によって完全に復号化される。プライベートシリアル鍵（ＳＫ）は、ライセンシーにおいて保護装置でランダムに生成されたものであり、したがって誰も知ることはできない。したがって、シーケンスの復号化がきわめて効果的に保護される。別のライセンシーないしその保護装置はシーケンスを復号化することができない。復号化は、保護装置の製造者にとっても絶対に不可能である。
【００５２】
その次に、すでに暫定的な会社アイテムが、会社アイテム作成シーケンスに含まれるセッションＩＤ（ＳＩＤ）で作成されているかどうかを調べ、会社コード（ＦＣ）が会社共通鍵（ＦＣＫ）に適合しているかどうかを調べる。これが該当しなければ、会社アイテムは作成されない。もしも該当していれば、次に、暫定的な会社アイテムから、恒久的かつ利用可能な会社アイテムがつくられる。会社コード（ＦＣ）と秘密の会社鍵（ＦＫ）は、ライセンサーの保護装置に保存される。それと同時に、会社プログラミングカウンタがゼロにセットされる。
【００５３】
図５のフローチャートは、会社アイテムをどうやって再びライセンシーの保護装置のメモリから消去するかを示している。会社アイテムの消去は、安全性にとって重要ではない。しかしながらライセンシーにとって会社アイテムの消去は、意図しないのに行われたり、無資格者によって行われたりしないことが重要である。
【００５４】
特定のソフトウェアに属するライセンスパラメータを完全なものにするには、会社アイテムにユーザーアイテムを付け加えなくてはならない。このユーザーアイテムは、作成時には少なくともユーザーコード（ＵＣ）を含んでいる。オプションとして、ユーザーアイテムはマスターマスク（ＭＭ）と、制限カウンタと、満了日と、ネットワークユーザーカウンタ（ＮＵＣ）またはその他の追加データを含んでいてよい。ユーザーアイテムの変更は、既存の部分の修正によって、または新しい要素の付加によって行われる。
【００５５】
図６は、ユーザーアイテム変更シーケンス（ＵＩＣＳ）を使ってユーザーアイテムの作成、変更、または消去するための主要なステップを示している。
【００５６】
ライセンシーが、ライセンサーによって自分に許諾された資格を行使して、保護されているコンピュータソフトウェア、および／または保護されているコンピュータで読取り可能なデータを使用するためには、ライセンシーにおいて復号化を初期化しなければならない。その進行を図７に示している。
【００５７】
復号化シーケンスを生成するには、次のような鍵ないしデータが必要である。すなわち会社コード（ＦＣ）、ユーザーコード（ＵＣ）、会社鍵（ＦＫ）、ならびに保護されているソフトウェアからパラメータとして供給されるセレクションコードである。
【００５８】
選択されたセレクションコードに応じて、満了日がチェックされ、かつ／または制限カウンタが一定の値だけ減らされる。対応する会社コード（ＦＣ）とユーザーコード（ＵＣ）を含み、制限カウンタまたは満了日が経過していない有効なライセンスパラメータが存在していれば、復号化は、初期化するだけで正確に実行することができる。
【００５９】
図８のフローチャートは、妥当性が確認されている時間／日付情報のセットを説明するものである（Ｔｉｍｅ  Ｄａｔａ  Ｓｔａｍｐ，ＴＤＳ）。これらの情報は不正操作することができない。リミッタ（９）はこれらの情報を利用して、ライセンシーが、保護されているソフトウェアないしデータを利用する期間を制限する。
【００６０】
満了日をチェックするための有効な参照時間をセットするために、シリアルナンバー（ＳＮ）とパブリック確認鍵（ＶＫｐ）を利用することができる、資格のある確実な機関から、ライセンシーのところでパブリック確認鍵（ＶＫｐ）によって暗号化された日付と時刻に基づく参照時間がセットされる。ライセンシーだけがプライベート確認鍵（ＶＫ）を利用することができ、この時間参照を復号化することができる。それにより、参照時間が無資格者によって変えられることがないことが保証される。さらに、それによって資格のある機関は、オプションとしてライセンサーによってこうした処置が採用されている場合には、たとえばライセンシーによる濫用があったときに、ライセンシーにおける手続全体をロックすることができる。
【図面の簡単な説明】
【図１】ハードウェア補助装置として構成された保護装置を用いての利用清算も含めて、コンピュータソフトウェアおよび／またはコンピュータで読取り可能なデータを保護する方法を示す原理図である。
【図２】図１の方法および保護装置の製造者及びライセンサーにおけるキーとデータである。
（ａ）製造者及びライセンサーにおけるキーとデータである。
（ｂ）ライセンサーにおけるキーとデータである。
【図３】ライセンシーにおけるキーとデータである。
【図４】新たなライセンサーによるライセンスパラメータの作成を示すフローチャートである。
【図５】ライセンスパラメータの消去を示すフローチャートである。
【図６】ライセンスパラメータの作成、変更、または消去を示すフローチャートである。
【図７】  ライセンシーにおける復号化の初期化を示すフローチャートである。
【図８】  認可された参照源によるセットを示すフローチャートである。
【符号の説明】
１ａ，１ｂ，１ｃ    ライセンサー
２    コンピュータ
３    保護装置
４    インターフェース
５    マイクロプロセッサ
６    不揮発性メモリ
６ａ，６ｂ，６ｃ    記憶領域
７    暗号化・復号化器
８    プライベートシリアル鍵を生成する装置
９    リミッタ
１０    ケーシング
【図１】
0003830365.tif 000002
【図２】
0003830365.tif 000003
【図３】
0003830365.tif 000004
【図４】
0003830365.tif 000005
【図５】
0003830365.tif 000006
【図６】
0003830365.tif 000007
【図７】
0003830365.tif 000008
【図８】
0003830365.tif 000009