説明

暗号化された素材の動的な変換の方法とシステム

【課題】一時保存媒体への転送を行うことなく即時に暗号化された素材の動的な復号化を可能にする。
【解決手段】ソフトウエア製品の使用を絶えず管理し計測し課金するために変換フィルタ(104)を採用してソフトウエアオンデマンド及びソフトウエア購読サービスを可能にする。変換フィルタはオペレーティングシステムの仮想的組込部分として構築され、入出力デバイス(106)に出入りする全ての読み込む、書き込む、開く/実行するアクセスを監視し濾過する。保護素材がアクセスされていると、変換フィルタはそれ自体を、ファイルシステム及びアプリケーション層を通して素材を読み込むのに必要な経路中に位置する。素材は暗号化状態で変換フィルタに入りそこを通過すると即時に復号化される。素材はその後使用者アクセスの要求を実行するために、オペレーティングシステムの構成要素(107/108)に引き渡される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子的デジタル形式で存在しているコンピュータ・ソフトウエアおよび他の知的所有物件の、計測されての使用に関する。本発明の最終結果は、ソフトウエア・オン・デマンドやソフトウエア購読などのサービスを可能にする。
本発明はまた、コンピュータ・ソフトウエアおよび他の知的所有物件の海賊行為防止に対しても適用することができる。
【背景技術】
【0002】
現行の消費者市場にあっては、デジタル形式で存在するコンピュータ・ソフトウエアおよび他の知的所有物件は、その他の消費用ハード物品と同様の販売が主としてなされている。しかしビデオ・テープおよび他のハード物品が日常的に賃貸される反面、ソフトウエア製品は、一般的にはまだなお購入を基準にしてしか入手することができない。その結果、少なくとも2つの有用なサービス、即ち、ソフトウエア・オン・デマンドとソフトウエア購読が概して用いられていない。
ソフトウエア・オン・デマンドは、使用者が使用回数を基準にしてソフトウエア製品の支払いを行えばよいというサービスである。ソフトウエア購読は、月に1度といったような定期的予約購読を基準にして、1以上のソフトウエア製品を使用者が入手可能であるというサービスである。
【0003】
これらのサービスが明らかに有用であるにもかかわらず、ソフトウエア製品に内在する性質の故に、技術提供業を可能にすることへの効果的な技術的挑戦が躊躇されてきた。これらのサービスを首尾よく支援するには、その可能にする技術は以下の範疇に合致しなければならない。
I.機密保護。
ソフトウエア・オン・デマンドおよび購読形式で入手できるソフトウエア製品は、完全に機密保護対策がとられた方法で保護され、また管理されなければならない。可能にする技術は、もっとも熟練し、また果敢なるハッカ連中からソフトウエアを防衛しなければならない。とりわけ、熟練したシステムレベルでのハッカ連中は簡単にドアを開けてしまうので、ソフトウエアがそのオリジナルの状態で中間保存媒体にそのまま長くは存在し得ない。また可能性としてだが、誰にとってもアクセスが可能であるようなそんな中間保存媒体を利用できるようになるユーティリティがあるかも知れない。
II.非被侵入性。
可能にする技術は、保護および計測された使用のためにソース・コードの変更を必要としてはならない。対照的に、侵入技術はそれ自身をソフトウエア製品のソース・コード中に埋設し、そのソフトウエアの再編集を必要とさせる。これに取り組むことは、余分なコーディング実施とリソースの試験実施との点で、保護プロセスにおける大変な費用負担を発生し、また、非常にエラーを発生しやすい。
III.最小限のシステム費用負担。
可能にする技術は、ソフトウエア製品の使用を保護し、起動し、および計測する間に、著しい費用負担を賦課してはならない。可能にする技術によって生じる一般的な費用負担は、追加のRAMとハードディスクの記憶スペースが必要であること、保護されたソフトウエアを復号化する前に保護を行うプロセスを起動すること、および使用を監視する間でのCPUなどの別のシステム・リソースにとっての競合が含まれる。
IV.システム・クロック再設定に対する耐性。
コンピュータ・システムのクロック設定を変更することによって、ソフトウエア製品の使用者は、許諾されている使用期間を著しく延長することができ、その結果、ソフトウエア・オン・デマンドおよびソフトウエア購読のサービスの有効性を損なってしまう。可能にする技術は、システム・クロック再設定に対する防衛を可能にし、対策行為をとることが可能であるものでなくてはならない。
V.絶えず保護を行い計測を行うこと。
ソフトウエア発行者が、一旦、ソフトウエアを可能にする技術の保護と管理との下においたならば、それは絶えず保護されまた管理されなければならない。その後、複製をしたり再導入をしたりしても、その保護と管理とを駄目なものにしてはならない。
VI.使用者が使いやすいものであること。
可能にする技術は、使用者にとって著しい、システム設定上の変化をもたらすやり方でコンピュータ使用者の環境を変化させてはならない。使用者インターフェイスは完全に直感的なものであり、容易に使用できるものでなくてはならない。
【0004】
入手することのできる、従来技術での保護技術は、「ラッパー」および「リディレクション」技術とに基づいている。「ラッパー」は、しばしばオペレーティング・システム・シェル・プログラムまたは保護されたソフトウエアの変更された起動コード部の形式をとる。その機能は、保護されたソフトウエアに対する直接のアクセスを遮蔽するものである。保護されたソフトウエアが使用者によってアクセスされた場合、「ラッパー」が最初に実行される。暗号化された状態にある保護されたソフトウエアはその後復号化され、オリジナルの状態で一時保存媒体上に再保存される。「ラッパー」はその後、アクセスを一時保存媒体上の再保存されたソフトウエアに転送する。
【0005】
カリフォルニャ州サンタ・クララのテストドライブ・コーポレーションによって開発されたシステムは、購入前試行ソフトウエア評価サービスを提供する。このシステムは、ソフトウエアのオリジナル版を、限定された期間もしくは評価期間だけしか使用することができない無効版に変換する。もしソフトウエアの購入を希望するならば、そのソフトウエアをオリジナルの状態に変換する解錠コードを購入することができる。好ましい実施態様にあっては、この従来技術でのシステムは、例えばコンピュータ・プログラムのような、選択された素材に適用され、また、その素材の一部分はオリジナルの素材からは分離される。この方法にあっては、素材の分離された部分と素材の残りの部分とを含むオリジナル素材の変質された版がつくられる。試用期間中、その素材の変質された版は一時保存媒体中におかれるが、分離された部分のみはシステム使用者によってたやすくアクセスされる。さらに、素材の分離された部分は、変形された部分に置き換えられ得る、例えば、素材のアクセスされる回数である数字を限定する目的でカウンタが含まれ得るし、オリジナルの素材に対して、例えば、音声信号における警告音や映像信号における遮蔽物のような妨害素材が加えられ得る。
【0006】
これら「ラッパー」および「リディレクション」技術を基準にしたシステムにおける幾らかの欠点は明白である。
I.機密保護の欠陥。
「ラッパー」および「リディレクション」技術は、再保存されたソフトウエアの全てもしくはオリジナルの状態におけるそのソフトウエアの残りの部分を物理的に受け入れるのに、一時保存媒体を必要とするので、まさしくその、システム使用者によるアクセスが可能である、オリジナル状態での素材の存在が、システムをハッカの攻撃に対して弱いものにしている。オペレーティング・システムの専門家にとって、オリジナルの状態にある素材へのアクセスを入手し、素材の海賊版を再販売することは可能である。ユーティリティ・ソフトウエア・プログラムもまた、この海賊行為を繰り返して成し遂げるために、ことによると開発され得たかも知れないし、可能なサービスの有効性を損なうためにパブリック・ドメインで入手できるようにされているかも知れない。「ラッパー」と「リディレクション」技術は、初心者からの攻撃に対してソフトウエアを保護することができるものの、専門家に対しては、高度に機密保護をするものではない。
II.システムの負担。
「ラッパー」プログラムを起動すること、そのオリジナルの状態で再保存されたソフトウエアを物理的に保存すること、および、一時保存媒体を創出し管理すること、これら全ては、使用者が必要とするソフトウエアを起動するに先立っての遅れを負わせる。これらの行為はまた、オペレーティングシステムが走らせる別のプロセスを有する別のシステム・リソースと競合する。
III.スペースの負担。
オリジナルの状態でランダム・アクセス・メモリ(RAM)中に再保存されたソフトウエアの保存領域は、保護されたソフトウエアが通常必要とするRAMスペースの100%以上を余分に必要とする。多重の保護されたソフトウエアを同時に実行することのできる多重処理オペレーティングシステムにおいては、この負担は倍化され、またシステムの動作性能に顕著に影響を与える。
IV.好まれざる邪魔物。
コンピュータ・システム中に一時保存媒体、例えば仮想的デバイスのような、を創出することは、コンピュータ・システム使用者にとって通常好まれることのない、異質の人工遺物である。したがって、使用者は、ラッパーやリディレクション技術で発生させられた邪魔物や人工遺物を除去するため、結局はオリジナルの素材を完全な姿で購入しようと望むことであろう。従って、これらの技術は、絶え間なく使用を計測し保護を行うサービス提供には向いていない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
現在のところ、復号化された素材を一時媒体上に転送をしたり保存したりすることなく、暗号化されたソフトウエアおよび他の電子的素材のリアルタイムの復号化を提供できる高度に機密保護を行う方法は知られていない。
【課題を解決するための手段】
【0008】
本発明は、ソフトウエア・オン・デマンドおよびソフトウエア購読のサービスを可能にする、ダイナミック変換フィルタ技術に基づいた方法とシステムを提供する。本発明はまた、その他の電子的素材の販売においても有用である。本発明において利用される装置は、本技術の保護下にある復号化された素材にとって如何なる中間保存領域をもつくらない。そのかわりに、本装置は、オペレーティング・システムの仮想的組込部分として構築され、例えばハード・ドライブのような入出力デバイスに出入りする「読み出し」、「書き込み」、および「開く」/「実行する」全てのアクセスを監視し「濾過」する。保護された素材が「読み込み」、「書き出し」、もしくは「開く」/「実行する」アクセスを受けたならば、変換フィルタはそれ自身を、素材を低レベルのファイル・システム層を通って高レベルのアプリケーション層に読み込みをするのに必要とされるクリティカルパスに位置づける。素材は暗号化された状態で、その変換フィルタに入る。変換フィルタは素材が通過するときにそれを復号化し、オリジナルの状態にあるその素材を、アクセス要求を実行するために高位のレベルにあるオペレーティング・システム構成要素に引き渡す。中間保存領域の必要性が除去されたので、そのオリジナルの状態で復号化された素材は、オペレーティング・システム構成要素の組込部分にとってのみ見えるものであり他のシステム使用者は見えない。結果として、従来技術でのシステムを上回って機密保護が格段に改善される。
【0009】
変換フィルタは、完全に異なった目的用にオペレーティング・システムが提供するプログラム可能なサービスを、「濾過する」機密保護および管理システムへと変換することによって形成される。このプログラム可能なサービスは、ウインドウズ95TMソフトウエアの場合には、仮想的デバイス・ドライバであり、また、ウインドウズNTTMの場合には、カーネル・モードのドライバであることが好ましい。
【0010】
本発明は、保護された素材の内部に邪魔をしないように埋設された素材と一緒に作動することができる。そのことは、幾ばくかの簡単に追従できるステップを踏むだけで如何なる素材をも復号化するユーティリティを提供する。本発明は、アメリカ合衆国政府および民間企業から入手可能な標準データ暗号化の仕組みを採用する。しかし、本発明にある装置は、復号化された素材の機密保護をさらに保障する目的で、拡張されたキー管理機能を提供する。消費者のパソコン上に導入された全ての素材は、2つの暗号化プロセスを通過する。第2の暗号化プロセスは、そのコンピュータ使用者のユニークIDから生成される動的にユニークなキーを必要とする。そのキーの動的生成は、如何なる解読用のキーもハード・ディスク上に保存されたファイルから直接的に得ることができないことを保証する。
【0011】
本発明は、変換フィルタが、デジタル形式で存在しているソフトウエア製品および他の知的所有物件の使用を絶えず管理し、計測し、課金することを可能にする。そのような素材はオン・デマンドで何回も注文することができるし、また同様に購読を基準にして入手することもできる。導入された素材を別のコンピュータに複製することは、単にその素材の暗号化された版をつくり出すに過ぎない。
しかし、復号化された素材の永久的複製は、その発行者の権限でおこなわれる。
【発明の効果】
【0012】
本発明は、そのような素材の使用者にとって、モデム経由もしくは現存の民営ネットワークやインターネット接続を介して、交換所のサーバに接続することができるようにするシステムの構成要素を提供する。その交換所のサーバは、注文と課金用のカード番号との受領に基づき、引き換えに、素材の計測されての使用を可能にする許認可コードを生成する。現行の受入可能な課金用カードは通常のクレジット・カードとデビット・カードとを含んでいる。将来の支払方法は、実例的にはスマート・カードとデジタル・キャッシュとを含むことであろう。システムのこれら構成要素はまた、利用者の返還および交換の処理を可能にすることであろう。
【0013】
本発明は、例えばインターネット上での電子的素材販売や、実際の店先で販売されるCD−ROMや、DVD,VCD,ケーブル・モデムおよびその他の放送チャネルのような、あらゆる可能なチャネル経由で販売される素材に適用することが可能である。
【0014】
本発明はまた、ネットワーク・ファイル・システムにわたって、素材に対するアクセスがシステムによって等しく管理され計測されるネットワーク環境において作動する。
本発明のこれらおよび他の目的、特徴および利点は、以下の本発明の詳述からきわめて容易に理解されるであろう。
【発明を実施するための最良の形態】
【0015】
本発明は、マイクロソフトのウインドウズ95もしくはウインドウNTのようなオペレーティング・システムの内部に組込まれた方法と装置である。この方法と装置は一時保存媒体への転送を行うことなく即時に暗号化された素材の動的な復号化を可能にする。その結果、本発明は電子的形態にあるソフトウエア製品および他の素材が暗号化を通して保護され、また、管理され計測されての使用をするために利用できるようにする。
【0016】
本発明の好ましい実施態様にあっては、変換フィルタは、多重処理オペレーティング・システム環境で動作しているカーネル・レベルのプログラムとして構築されており、また、暗号化された素材はアプリケーション・ソフトウエアである。しかし、本発明は同様に、べつの状況、例えば暗号化された形式にある音声や映像素材の販売にも適用することができる。
【0017】
図1は、高レベルの基本設計概念図であり、オペレーティング・システム内部における変換フィルタの位置と機能とを示している。
【0018】
高レベルのアプリケーション・プログラムは、ローカル・アプリケーションおよびネットワーク・アプリケーション101,102,103を含むが、「読み込み」、「書き込み」および「開く」/「実行する」行為を成就するため、システムの入出力デバイス106上に常駐しているソフトウエア素材へのアクセスを要求する。これらの要求は、OSのファイル・システム・マネージャ107もしくはネットワーク・サービス・プロバイダ108のようなオペレーティング・システム構成要素に対して提出されなければならず、また、ファイル・システム・ドライバ層もしくは同様にカーネル・レベル上にあるネットワーク・ファイル・システム・ドライバ層105に中継されなければならない。本発明によると、変換フィルタ104は、アプリケーション101,102,103とファイル・システム・ドライバ層105との間に位置される。実例として、ウインドウズ95TMソフトウエアの状況にあっては、変換フィルタは仮想的デバイス・ドライバとして構築され、またウインドウズNTTMの場合には、カーネル・モードのドライバとして構築される。
【0019】
もし、ローカルおよび/またはネットワークのアプリケーションから来ている、ファイル・システムに対するアクセス要求が「下流」に進んでいるものであると判断された場合、その後、オペレーティング・システムの上位層に対して入出力デバイスから読み出されている全てのデータは「上流」に進んでいるものであると判断される。下流(アプリケーションからファイル・システムに下る)および上流(ファイル・システムらアプリケーションへ)の両データは、以降本書類ではクリティカルパスと称する特定の経路を通過しなければならない。変換フィルタ104は、クリティカルパス中にある。
【0020】
データが変換フィルタを上流方向に向けて通過するときは常に、変換フィルタは暗号化されたソフトウエアをそのオリジナルの状態に変換するという必要な変換を遂行する。そのオリジナルの状態に転位されてしまっているソフトウエアはその後、オペレーティング・システムの上位層に引き渡される。もしも要求がアプリケーション、例えば画像閲覧ソフトからのものでディスプレイ用にファイルを開くというものであった場合、変換されたソフトウエア素材が、最終的にはそのアプリケーションに引き渡される。要求を出しているアプリケーションの見地からすれば、この暗号化されたソフトウエア素材を開くことは、別のオリジナルのソフトウエア素材を開くことと何も変わることはない。変換プロセスは、要求を出しているソフトウエアに対して完全に透明なものである。もしも要求がファイルを実行することで(例えば、ファイル上でマウスのダブル・クリックがなされる)、オリジナルのソフトウエア素材が実行可能なプログラムである場合、変換されたソフトウエアは、メモリ内部で実行をするようにオペレーティング・システムの読み込み機能に引き渡される。このプロセスは、「濾過をすること」と考えられる。というのは、上流に移動している暗号化されたソフトウエアは、装置に入り、そして、あたかも濾過をするデバイスを通過したかのように、復号化された状態で出てくるからである。全ての「濾過をする」プロセスの間、復号化されたソフトウエアの如何なる中間保存領域もシステム使用者に対して露呈されることがない。すべての引渡と復号化のプロセスとは、高度に機密保護がとられている方法にある内部活動としてオペレーティング・システムの内部で行われる。
【0021】
変換フィルタ104は、あたかもそれがオペレーティング・システムの組込部分であったかのように構築される。追加の機密保護策が変換フィルタ104内部に組込まれる。それで上流および下流のデータを「濾過をする」ことが可能であるのみならず、またオペレーティング・システムの中のハッキング行為を監視し、いかなるのであれ機密保護を破壊するものが生じてくるのを防止するための対策をとる。
【0022】
図2は、ブロック図で、事前導入の暗号化されたステップへとオリジナルのソフトウエア素材を暗号化しているプロセスを示すものである。図2に示されるように、オリジナルのソフトウエア素材MO201は、暗号化プロセスPE203において変換関数fE202のアプリケーションによって暗号化される。暗号化のプロセスは、DESもしくはRSAのような標準の暗号化プロセスであることが好ましい。この暗号化プロセスの結果が、暗号化されたソフトウエアME204であり、CD−ROM、インターネットなどのような種々の販売チャネルを通じて機密保護状態で転送され得るものである。
【0023】
第2のプロセスPB209の間、ソフトウエア使用の管理と計測とを首尾よく行うことの支援をする4つの別の構成要素がME204に追加される。これらの構成要素とは、使用許諾マネージャ205、利用者アプリケーション206、変換フィルタ207、および製品独自の署名データ208である。使用許諾マネージャ205は、ソフトウエア・プログラムであり、暗号化されたソフトウエアの使用に関するデータを含む使用許諾のデータベースを整備すること、暗号化されたソフトウエア素材MEの使用者との仲立ちをすること、および許認可された使用期間の終了に伴い暗号化されたソフトウエア素材の使用打ち切りを行うことに役割を果たす。利用者アプリケーション206は、ソフトウエア・プログラムであり、交換所のサーバから、暗号化されたソフトウエア素材MEを使用するための許認可を要求するのに、および交換所のサーバからの適切な許認可コードを受領するのに用いられる。この活動はまた電子的支払いの何らかの形式、例えばクレジットもしくはデビット・カードの番号提供のような、を伴うことができる。加えて、利用者アプリケーションはまた、料金徴収、販売促進とアップグレード情報、および追加ソフトウエアのダウンロードを行う能力を含むことができる。変換フィルタ207は、当のソフトウエアであり、暗号化されたソフトウエア素材MEへのアクセスを管理する。このソフトウエアの更なる詳細が、図1および4との関連で記述される。製品独自の署名データ208は、特定の暗号化されたソフトウエア・素材MEに対してユニークなコードである。
【0024】
プロセス209の出力は、単一出力ファイルMI210であり、事前導入の暗号化されたソフトウエア素材であって、全ての入力構成要素204、205、206、207、208から構成される。プロセス209は、構成要素204、205、206、207、208を単一のソフトウエア製品へと単に結合させることが好ましい。他に、プロセス209はまた、追加の暗号化プロセスを伴うことができたはずである。
【0025】
本発明の好ましい実施態様にあっては、出力ファイルMIは、オリジナルのソフトウエア素材の名称、アイコンおよびその他のプロパティを見かけ上そのまま引き継ぐ。従って、外部から見た限りでは、このファイルはオリジナルのソフトウエアと全く同じに見える。本実施態様は主として、ソフトウエア製品のパッケージを行うに際しての、ソフトウエア発行者にとっての余分なステップを削除するためのものである。
【0026】
次に、ソフトウエア発行者は、あたかも図2の暗号化プロセスが決して起きたことがないかのように、自分たちのソフトウエアを正常な導入パッケージに入れ込むのに自分たちが気に入っている導入パッケージング・ユーティリティ、例えばインストール・シールドTMのような、を用いることができる。
【0027】
図3はブロック図であり、使用者のパソコン上に暗号化されたソフトウエア素材を導入しているプロセスを示している。好ましい実施態様にあっては、出力ファイルMIはそれ自身の導入プロセス302を、使用者がソフトウエアの導入の通常手順を行った後に、正にあたかもそのソフトウエアは暗号化されたことなどなかったかのように起動する。導入プロセスPI302は、事前導入されたソフトウエア素材MI210/301のキーとなる構成要素を生み出す。最初、使用許諾マネージャ303、利用者アプリケーション304および変換フィルタ305が抽出されてシステム中の適当な隠れた場所に導入される。製品独自の署名データ306および暗号化されたソフトウエアMEが同様に持ってこられる。
【0028】
同時に、DP307として表されている使用者特性データおよびオペレーティング・システム独自の情報がプロセスPU312中で変換関数f1308によって変換され、利用者にとってのユニークID313を生成する。ユニークIDを生成することでは、従来技術のどんな数であってもプロセス312で使用することができる。便利なように、ユニークID313の生成にあっては、我々はミリ秒で測定された精度、というのは2人の使用者が同じミリ秒において彼らのソフトウエアを導入する確率は事実上ゼロだから、の時刻印を使用するように設定する。ユニークID313は引き続き、システムのあらゆる局面および構成要素中で使用される。
【0029】
製品独自の署名データ306、ユニークID313および暗号化されたソフトウエアMEは、プロセスPES309に供給される。プロセスPESは、変換関数fEの逆関数を用い、ソフトウエア素材を復号化し、それによってオリジナルの素材MOを再保存する。ここまでの復号化プロセスは周知である。その後、ユニークID313と製品独自の署名データ306とに基づいたユニーク暗号化キーで即座にMOを再度暗号化する。再び、例えばDESもしくはRSAのような標準暗号化プロセスが使用され得る。その結果が、ユニークに暗号化されたソフトウエア・素材MU310である。ソフトウエア・素材MUはその後、ドライバ層105の上方に導入される(図1を参照のこと)。
【0030】
好ましい実施態様にあっては、本発明は、MUを生成するのに使用されたユニークな暗号化キーを絶対に保存しない。必要な場合には常に、このユニーク・キーは同じ入力(ユニークIDおよび製品独自の署名データ)とキー生成プロセスとを用いて動的に再生成することができる。このキー管理方策があるため、暗号化されたソフトウエア素材を損なおうとしても極めて困難なものにしている。キーのユニークさはまた、一旦ソフトウエアが導入されたならば、どんな2人をもってきても、それらの使用者のコンピュータ上に同一である暗号化されたソフトウエア素材は存在することがないということを保証する。
【0031】
導入の最後に、図4との関連で以下に記述される使用管理や計測のプロセスを首尾よく実行するための、あらゆる使用許諾情報、使用のカウンタおよびその他の重要な情報を保持する使用許諾データベースDL311が生成される。使用許諾データベースは暗号化されたソフトウエアを「登録された」状態にあるもの、即ち、本発明のシステムの影響下にあるものとして識別する。このデータベースはまた、コンピュータ・システムに保存される。
【0032】
図1を参照する。変換フィルタ104は、コンピュータ・システムに導入され、入出力デバイス106上に常駐しているソフトウエア・ファイルへのあらゆるアクセス要求を途中で捕捉する。ウインドウズ95TMオペレーティング・システムにあっては、このことは当の変換フィルタを仮想的デバイス・ドライバとして導入することで成し遂げられる。ウインドウズNTTMオペレーティング・システムにあっては、このことは当の変換フィルタをカーネル・モード・ドライバとして導入することで成し遂げられる。
【0033】
ソフトウエア素材を読み出したり、書き込んだり、実行したりする、もしくは見るためにソフトウエア素材を開いたりする使用者行為は、オペレーティング・システムによって処理される。より高いレベルのオペレーティング・システム処理(例えば図1のローカルもしくはネットワーク・アプリケーション101、102、103)は、それら行為の要求を下流のドライバ層105に向かって変換フィルタ104を通過させていく役割を有する。
【0034】
図4は変換フィルタの内部プロセスのフローが記述されたものを示している。ボックス416に示されるように、変換フィルタはあらゆる入出力要求にそなえて、オペレーティング・システムを絶えず監視している。そんな要求が変換フィルタに到着すると、それはソフトウエアと使用許諾情報を得るプロセス403を起動する。このプロセスは要求されたソフトウエアにとっての、そのソフトウエアの使用の最新の状態、使用許諾、許認可・コード、失効日、製品独自の署名データ208/306、を含む使用許諾情報(もしあるならば)をその他の関連する情報と併せて取得する。引き続き、2つの確認テストが適用される。即ち、ソフトウエアが登録されているかどうかのテスト(ステップ406)および使用許諾が有効であるかどうかのテスト(ステップ407)である。もし、要求されたソフトウエアが登録されていなかった場合、変換フィルタは、それ以上何のアクションもとらずに、単純に管理をオペレーティング・システムのステップ413における要求プロセスに移転して戻す。もし、ソフトウエアが登録されている場合、変換フィルタはステップ407において、有効である使用許諾が存在するかどうかをチェックする。有効な使用許諾がない場合、利用者アプリケーションがステップ414で導入され、使用者に更なる使用を注文するかまたはソフトウエアを購入するように促す。
【0035】
注文入力プロセスは、システムの利用者アプリケーション構成要素によって取扱われる。利用者アプリケーションは使用者のコンピュータを交換所のサーバにモデム経由もしくは現行のインターネット接続を介して接続する。交換所のサーバは、有効であるクレジット・カードまたはデビット・カードの番号の受領に基づいて、引き換えに許認可コードを生成し、登録されていたソフトウエアの正当な使用ができるようにする。
【0036】
もし、ソフトウエアにとっての有効な使用許諾が見られ、それを実行することが許認可された使用期間内である場合、変換フィルタは機密保護監視プロセス408を起動し、復号化された後変換フィルタを出て行くデータの乗っ取りをしようと試みているものと思われるあらゆる第3者のプロセスの走査を遂行する。オペレーティング・システム中に疑わしい行為が存在する場合、変換フィルタは潜在的脅威を除去するための対策をとる。
【0037】
次いで、暗号化されたソフトウエアを復号化するのに使用されるべきユニーク・キーは、キー生成プロセス409において生成される。このキーは、ユニークID313と製品独自の署名データ306とから生成される。生成された復号化キーと暗号化プロセス309の逆関数とを用いて、変換フィルタはその後、即時に、復号化を行う変換プロセス410においてソフトウエアのあらゆる暗号化された部分を復号化する。オリジナルの状態に復号化されたソフトウエアはその後、ステップ413で要求プロセスに引き渡される。オペレーティング・システムはいまや、アクセスを要求したアプリケーションに対して復号化されたソフトウエア素材の実行即ち送り込みを首尾よく処理することができる。
【0038】
復号化されたソフトウエアが要求しているプロセスに一旦引き渡されたならば、変換フィルタは、ステップ411で使用計測カウンタを起動する。使用カウンタが走っている間変換フィルタは、ステップ412で使用許諾期間違反がないかどうか、即ち使用許諾の満了がないかどうか、絶えず使用の量をテストする。ソフトウエアにとっての使用許諾期間の違反がある、即ち使用許諾が満了してしまっている場合、変換フィルタは、使用許諾マネージャを起動するプロセスをステップ415で起動する。使用許諾マネージャは使用許諾データベースを適切に整備し、最新日のものにし、種々の伝言で使用者を案内し、使用者から戻る要望を取り込むことで使用者と対話を行う役割を担う。必要なときは常に、使用許諾マネージャは、使用者に対して警告と応答に必要な妥当な時間を与えた後、登録されたソフトウエア素材の使用打ち切りを行う役割を担う。使用許諾マネージャは、使用許諾が満了したとき、使用者に更なる使用の注文を行うよう案内をするために管理を利用者アプリケーションに移転することができる。
【0039】
本発明は、ソフトウエア素材の暗号化をすること、登録をすること、注文をすること、使用ができるようにすること、復号化をすること、使用を管理し計測をすること、の全てを可能にする。消費者に益をもたらすことになる業としてのサービスは、それらのみに限定するものではないものの、ソフトウエア・オン・デマンド、ソフトウエア賃貸、ソフトウエア購読、購入前試用を含んで、本発明の方法とシステムによって適切に支援され得る。
【0040】
ソフトウエア提供における本発明の2つの適用例は、ソフトウエア・オン・デマンドおよびソフトウエア購読サービスである。
【0041】
ソフトウエア・オン・デマンド・サービスの真髄は、消費者がソフトウエアを使いたいと思ったときにはいつでも自由にそのソフトウエアを入手できるようにすることである。このサービスを通して入手可能となったソフトウエア素材は、例えば会計用ソフトウエア、ゲーム、教育および娯楽用ソフトウエア、CAD用ソフトウエアなどのような、アプリケーション・ソフトウエアであってよい。ソフトウエア素材はまた、例えばオーディオ、ビデオ、類の形式のもしくは、単に平易なバイナリもしくはテキスト・ファイルを呈するマルチメディア・コンテントのような、どんな電子的に保存された素材であってもよい。このサービスは、本発明によって以下のように支援される。
1.発行者は、図1のステップに沿ってソフトウエア素材を暗号化するのに本発明を使用する。暗号化されたソフトウエア素材は、交換所のサーバが知るところの登録されたソフトウエアとなる。
2.ソフトウエア素材は、どれでもよいが、市販で入手可能な導入パッケージング・ソフトウエア、例えばインストールシールド、を用いてパッケージされる。
1人もしくは数人の発行者からの多重プログラムもしくは他のソフトウエア素材が1つのソフトウエア・パッケージに結合され得る。
3.ソフトウエア素材は、例えばインターネット/WWW、CD−ROM、DVDもしくはVCDのような、種々のチャネルを通じて使用者に販売される。
4.使用者は、ソフトウエア・パッケージ内にある入手可能な素材全てをリストしているオンラインに基づいた電子カタログから選択する。彼もしくは彼女は、1つもしくは幾つかのソフトウエア・プログラムもしくは他の素材を、彼もしくは彼女のコンピュータ上に図2のステップに沿って導入しようと判断する。
5.使用者はその後、ソフトウエア・プログラムもしくは他の素材の1つの使用を決心する。
6.使用者は、ソフトウエア・プログラムもしくは他の素材にアクセスするため、実行コマンドを発する即ちアプリケーションを呼び出す。
7.使用者は、利用者アプリケーション経由でそのような使用に対してクレジット・カードもしくはその他の形式のデビット・カード番号で支払いを行うように案内される。
8.使用者は、交換所のサーバ設備に、モデム経由もしくはインターネット接続を介して接続される。もしファイヤ・ウォール(企業使用者用に)がある場合、本発明は、ファイヤ・ウォールの許認可プロセスを通過するための手順を作動する。
9.使用者は、利用者アプリケーションによって交換所のサーバから取り出された料金情報を点検する。
10.使用者は注文を確認する。
11.交換所のサーバは、許認可コードを発行する。
12.許認可コードは、要求されたソフトウエア素材を使用できる状態にする。
使用カウンタが、この注文のやりとりを記録するために最新日のものにされる。
13.使用者は、実行即ちアクセスのコマンドを再度発する。
14.変換フィルタは、動的に必要な変換を遂行し、ソフトウエア素材の正当な使用を可能にする。
15.使用は、使用許諾マネージャ・アプリケーションによって計測および管理される。
【0042】
ソフトウエア購読サービスは、ソフトウエア・オン・デマンド・サービスに類似のステップに従うが、サービスへの支払いが月ベースであるところが異なる。
使用者はまた通常多数の製品の使用を毎月自由に選択することができる。
【0043】
本発明の適用のその他の例は、音声/映像もしくはテキストの素材販売におけるものである。そのような素材は、基本的にアプリケーション・ソフトウエアと同じやり方で暗号化され、準備され、そして販売され得る。使用者は、そこで、見たり聞いたりしたい素材を選択し、ソフトウエアを入手するのと同様のやり方でそれを入手する。但しこの場合、映像素材はディスプレイされるし音声素材はスピーカ・システムを駆動するのに使用される。
【図面の簡単な説明】
【0044】
【図1】システムの構成要素、それらの相対的位置と相互依存関係およびデータの流れの方向を示している高レベルの基本設計概念図である。
【図2】オリジナルの素材を、保護された状態に暗号化しパッケージングするプロセスを示す。
【図3】ユニークIDの生成や使用者ユニーク・キーを用いた第2の暗号化を含んだ、使用者のコンピュータ上に保護された製品を導入するプロセスを示す。
【図4】変換フィルタの内部プロセスの流れを示すフローチャートである。
【符号の説明】
【0045】
101、102 ローカル・アプリケーション
103 ネットワーク・アプリケーション
104 変換フィルタ
105 ファイル・システム・ドライバ層
106 入出力デバイス
107 OSファイル・システム・マネージャ
108 ネットワーク・サービス・プロバイダ

【特許請求の範囲】
【請求項1】
暗号化された素材に対する全てのアクセス要求を監視するステップと、
上記暗号化された素材に対するアクセス要求を受領すると、上記素材を取り出すステップと、
上記素材の使用に使用許諾が存在するかどうかを調べるステップと、
使用許諾が存在する場合には、上記暗号化された素材を即時に復号化するステップと
上記復号化された素材が何度使用されたかを監視するステップと
上記素材の使用が上記使用許諾に適合しているかどうかを判断するステップとからなり、
上記暗号化された素材が、使用者にとってユニークな第1のキーと暗号化された上記素材にとってユニークな第2キーとを用いて暗号化されたものであることを特徴とする暗号化された素材が導入されたコンピュータを作動させる方法。
【請求項2】
上記第1キーが時刻印を含むものであることを特徴とする請求項1記載の方法。
【請求項3】
上記時刻印がミリ秒で計測された精度を有するものであることを特徴とする請求項2記載の方法。
【請求項4】
上記暗号化された素材を復号化するのに使用する第3キーを、第1キーおよび第2キーから生成させるステップをさらに含むものであることを特徴とする請求項1記載の方法。
【請求項5】
上記コンピュータ上に導入された上記暗号化された素材は、上記素材の最初の版を復号化して暗号化されていない版をつくり出すし、その後、使用者にとってユニークである第1キーと暗号化されている上記素材にとってユニークである第2キーとを用いて上記素材を再度暗号化したものであることを特徴とする請求項1記載の方法。
【請求項6】
使用許諾が存在していないと判明した場合、上記素材を使用するために使用許諾を取得するステップをさらに有するものであることを特徴とする請求項1記載の方法。
【請求項7】
上記暗号化された素材の復号化前に、上記コンピュータの機密保護点検を実施するステップをさらに有するものであることを特徴とする請求項1記載の方法。
【請求項8】
上記暗号化された素材がコンピュータ・プログラムであることを特徴とする請求項1記載の方法。
【請求項9】
請求項1記載の方法において、ソフトウエア・パッケージが上記コンピュータ上に導入され、上記ソフトウエア・パッケージが暗号化された部分と、ユニーク・コードと、上記暗号化された部分を復号化するための復号化プログラムとからなり、上記方法が、
上記ソフトウエア・パッケージから、上記暗号化された部分と、上記ユニーク・コードと復号化を行うソフトウエアとを分離するステップと、
暗号化された部分にアクセスする試みがなされた場合はいつでも呼び出されるように、復号化を行うソフトウエアを保存するステップと、
特性データと暗号化演算規則とからユニークIDを生成させるステップと、
暗号化されていない部分をつくり出すために、上記ソフトウエアの暗号化された部分の復号化を行うステップと、
第2の暗号化された部分をつくり出すために、上記ユニークIDと上記ユニーク・コードとを用いて上記暗号化されていない部分を暗号化するステップと、
上記コンピュータに上記第2の暗号化された部分を保存するステップ
とからなるものであることを特徴とする請求項1記載の方法。
【請求項10】
ユニークIDが時刻印を含むものであることを特徴とする請求項9記載の方法。
【請求項11】
上記時刻印がミリ秒で計測された精度を有するものであることを特徴とする請求項10記載の方法と。
【請求項12】
コンピュータ上にソフトウエアを導入する方法であって、上記ソフトウエアが、暗号化された部分と、ユニーク・コードと、上記暗号化された部分の復号化を行うための復号化ソフトウエアとからなり、上記方法が、
上記ソフトウエアから、上記暗号化された部分と、上記ユニーク・コードと復号化ソフトウエアとを分離するステップと、
暗号化された部分にアクセスする試みがなされた場合はいつでも呼び出されるように、復号化ソフトウエアを保存するステップと、
特性データと暗号化演算規則とからユニークIDを生成させるステップと、
暗号化されていない部分をつくり出すために、上記ソフトウエアの上記暗号化された部分の復号化を行うステップと、
第2の暗号化された部分をつくり出すために、上記ユニークIDと上記ユニーク・コードとを用いて上記暗号化されていない部分を暗号化するステップと、
上記コンピュータに上記第2の暗号化された部分を保存するステップ
とからなるものであることを特徴とするもの。
【請求項13】
上記暗号化された素材に対するアクセス要求をすべて監視するための手段と、
上記素材へのアクセス要求を受領したら上記暗号化された素材を取り出す手段と、
上記素材を使用するための使用許諾が存在するかどうかを判断する手段と、
使用許諾が存在する場合には、上記暗号化された素材を即時に復号化する手段と、
上記暗号化された素材がどれだけ使用されたかを監視する手段と、
および、
上記素材の上記使用が上記使用許諾に適合するのかどうかを決定する手段と
からなるものであることを特徴とする暗号化された素材が保存されてしまっているコンピュータを作動させる装置。
【請求項14】
上記暗号化された素材がコンピュータ・プログラムであることを特徴とする請求項13記載の装置。
【請求項15】
ウインドウズ95TMオペレーティング・システムにおける仮想デバイス・ドライバとして構築されるものであることを特徴とする請求項13記載の装置。
【請求項16】
ウインドウズNTTMオペレーティング・システムにおけるカーネル・モードのドライバとして構築されるものであることを特徴とする請求項13記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2008−193724(P2008−193724A)
【公開日】平成20年8月21日(2008.8.21)
【国際特許分類】
【出願番号】特願2008−70026(P2008−70026)
【出願日】平成20年3月18日(2008.3.18)
【分割の表示】特願2000−513380(P2000−513380)の分割
【原出願日】平成10年9月21日(1998.9.21)
【出願人】(500129524)イージソフト コーポレイション (1)
【Fターム(参考)】