シェアウェアと試用制限 (2)ライセンスキーの種類
対象 | これからシェアウェアを作ろうとしている人 |
公開/改記日 | 2000 01/03 |
今回はライセンスキー(以下、単にキー)の大まかな種類とキーの流出経路について見ていきます。早速、キーの種類についてみてみましょう。
主なライセンスキーの種類
- 固定小型テキストキー
まず、最も簡単なキーの形が、固定小型テキストキーです。第1回で見たような伝達方法の全てでキーを伝達することが可能です。ちょっと前までは主流でした(まだ主流かも)。例えば、"16840973"といったライセンスキーを入力したときだけ制限を解除する、といったものです。これは、作者の負担も軽く、ユーザーへの伝達も簡単なのですが、それゆえ不正利用にも適していることになってしまいます。また、不正利用されているところを見つけたとしてもそのキーの出所を知ることはほとんど不可能です。この方式では、キーはソフトのダイアログなどで入力をするのが主流です。
- 固定大型テキストキー
それなら可搬性を落としてしまおう、というのがこの方式です。例えば半角1,000文字(=約1KB)くらいのキーにしておけばある程度の防御力はあるといえます。ちなみに、シェアレジでは、2000byteまでのキーが登録できるようになっています。このようにキーが長い場合は指定された名前の別ファイルに保存する形が多いと思います。(実はこのタイプは私自身は見たことはありません)
- 固定バイナリキー
しかし、それでもテキストキーは、その気になればちょっとくらい大きくてもネット上の掲示板などに貼り付けることは十分可能です。そこで、あえてその可搬性を悪くすることによって不正利用を防ぐのがこの方法です。登録後に試用版とは別の実行ファイルが送られてくるソフトがありますが、これの変形型ともみることができます。(要は、送られてきたものを外部データファイルとしてみるか、それとも実行ファイルとしてみるか、の違いです)この方法では、少なくとも文字データのみの掲示板では伝達は不可能です。しかも、ある程度の大きさがあれば流出の可能性も低くなるでしょう。しかし、この方法では、作者が登録ユーザに対して送るときにも障害になります。メールで送る場合はバイナリデータに対応したメーラを相手が使っている必要がありますし、ユーザに対して面倒な作業を強制させることになってしまいます。(登録対象のシェアウェア自身がメーラだったりすれば楽でしょうけど(^^;;)なお、シェアレジでは20KBまでのキーが登録できるようです。
- 選択テキストキー/選択バイナリキー
テキストとバイナリの違いによるところは上と同様なので、まとめてみていきます。ここまでの方法ではキーが一つしかないのでキーの流出経路などの特定は不可能です。キーをいくつか作っておいてその中のどれかをユーザに伝達する、という方法なら経路を絞ることができるかもしれません。しかし、この方法ではユーザが増えるにつれて一つのキーを使うユーザの数が増え、最終的には固定キーの場合と同じ状態になってしまいます。はっきり言って、この方法を使う利点はありません。
- 個別生成テキストキー/個別生成バイナリキー
そこで、ユーザを特定できるようにするために、ユーザと1対1で対応するキーを使うのがこの方式です。最近はこの方法が増えてきました。なお、今後紹介するつもりですが、厳密には1対1対応ではなくキーから個人を特定できないものも一応この分類に入れておきます。この方法の利点は、もちろんキー流出の原因を作った個人を特定できることです。短所はそれだけキーの数が増えるので、管理が面倒になることです。また、方式にもよりますが、登録ナンバーとユーザの対応などを記録しなければならないこともあります。
分類するとこのようになりますが、上の方が管理が簡単、下に行くほど管理は面倒になるものの強固なキーであるといえます。
次はキーの流出原因と経路についてみてみましょう。今はキーの流出の対策を練るのが目的なので、そのために流出の原因は知っておく必要があります。
考えられる流出原因
- 登録ユーザ(以下、正規ユーザ)の故意によるもの
登録するだけしておいて、他の人に教えてしまうものです。その見返りに金銭をもらったり、他のソフトとのキーの交換をしているかもしれません。さすがに自分のWebページで公開するような人はいないと思いますが..
- 正規ユーザの意識が弱い
例えば会社のパソコンの前にキーを書いた紙を置いておくとか、コンピュータ上の他の人が見られる領域にキーの入ったファイルを置いておくとかいったことがあげられます。実際は、個人で使うマシン上であれば後者はあまり関係ないかもしれませんが、それでもネットワークに接続するマシン内にキーの入ったファイルを置いておくことは好ましくありません。作者がユーザにキーを渡す際にキーの取り扱いに気をつけるように伝えることによって多少は防ぐことができると思います。
- 作者の過失
普通は無いと思いますが、作者が誤ってキーを公開してしまったり、キージェネレータ(キーを生成するソフト)を公開してしまったりすることもあるかもしれません。また、安易に想像できそうなキーを作った場合も作者に過失があるといえます。管理が面倒だからといって対象のシェアウェアの中に特殊な入力によって動作するキージェネレータを含めるようなものも問題があります。
- 悪意のあるユーザ(以下、不正ユーザ)が登録ユーザのキーを盗む
「正規ユーザの意識が弱い」と対応していますが、簡単に見られるところにキーがあれば、それを見た人がシェアウェアの制限を解除することもできてしまいます。
- 不正ユーザが既存のキーや実行ファイルを解析して新しいキーを生成する(抜き取る)
キーの生成方法が簡単な場合、ある程度の技術がある人なら既存のキーから規則性を見つけて新しいキーを作成したり、実行ファイルの解析によりキー作成のアルゴリズムを調べてキージェネレータを作ってしまう人もいます。
- 不正ユーザが実行ファイルを解析してキーを不要にする
上とかなり近いのですが、実行ファイルを調べてユーザ認証の部分をスキップするように実行ファイルを書き換えたりする人もいます。
原因を見たら、次は経路を確認してみます。
主な流出経路
- 目で見て紙に写す
紙に書いておいているような状態では、このようにしてキーが流出します。
- 同じコンピュータ内
上でもちょっと書きましたが、同じコンピュータを複数の人で使う場合、他の人が作ったファイルを見ることが簡単にできる場合があります。(OSや管理の方法によります。)
- LAN経由
LAN内では結構セキュリティが甘いことが多いので、同じコンピュータ内ほどではありませんが流出の経路となる可能性があります。また、故意に流通させる経路としては適しているといえます。
- インターネット経由
これはほとんど故意でしか経路としては使われないでしょう。掲示板などにキーを書いてくる(置いてくる)のはインターネット経由ということになります。もしかしたらサーバにネットワーク経由で侵入してとってくる人もいるかもしれませんが、どこにあるかも分からないようなもののためにサーバに侵入する人は普通はいませんし、サーバにキーがおいてあるということ自体ほとんどないでしょう。
- リムーバブルメディア
これもほとんど故意でしか使われないですが、キーをフロッピーやMOなどに保存して移動することもあります。
このあたりのことはキーの形態や強度によっても変わってきます。作者側の立場としては、キーを流出しにくくするか、または流出しても簡単に再利用できないような仕組みを考える必要があります。そこで、このような流出への対抗策をいくつか考えてみます。続きは次回。
みにこんてんつ一覧に戻る