シェアウェアを例としたアクティベーションの基本的な原理

※ 時系列による行動の推移 ※

  • アクティベーションを実現するために、Webサーバーのデータベースに必要なシェアウェア利用者情報は、最少で4つです。

    1. ユーザーID

    2. ユーザーPassword

    3. ユーザー有効期限

    4. PCのプロダクトID など(世界で唯一のユニークな番号 = 重複しないPC固有の番号)のアクティベーションキー

  • シェアウェア・アプリケーションを使用しようとするユーザーの4つの情報の 1. と 2. と 3. は、使用料の入金を確認した作者の手によって予めサーバーに登録され、登録が完了した時点で、作者はユーザーにその 1. と 2. と 3. を通知します。
     
  • メールで 1. と 2. と 3. を受け取ったユーザーは、シェアウェアを起動してアクティベーションを実施します。この時サーバーは、1. と 2. によって、シェアウェアを使用する権利を持つユーザーであると判断し、一緒に送信された 「4. PCのプロダクトID」を、1. と 2. を持つユーザーが使用するPCとして記録します。この 4. を記録すること自体がアクティベーションの実施(設定)です。
     
  • アクティベーションを実施すると、実施したPC以外はそのアクティベーションを解除できないので、実質的にシェアウェアを起動する度に再認証(照合)を行う必要性はまったくありません。ユーザーの利便性に配慮し、なるべく実施と解除だけを行うようにすると、その時以外はインターネットに接続している必要もありません。
     
  • なお、これらのシェアウェア利用者情報を登録するため、作者専用サイト内にはユーザー情報登録フォーム(画面の見本)があります。
 

ソースコード付き認証プログラムの見本

  • 認証プログラムの見本として Visual Studio の各バージョンでコンパイル可能なプログラムを収録した「CS_Activation.zip」をダウンロードしてお試しください。以下の「DLL不要版」と「DLL利用版」が含まれています。

1. Visual Studio 2002 C#版、VB版

2. Visual Studio 2003 C#版、VB版

3. Visual Studio 2005 C#版、VB版

4. Visual Studio 2008 C#版、VB版
5. Visual Studio 2010 C#版、VB版
 

  • これらの見本では、アクティベーションの実施と解除を行うことができ、その状況をレジストリに保存します。その際、状況は一意の文字列を暗号化して保存するため、それを他の PC にコピーしても、認証を偽装することはできません。
     
  • ソースコードには、アプリケーションに書き足すべき内容がすべて含まれているので、コメントによる解説を参考にご利用ください。
アプリケーション認証画面の見本

見本のプログラムで実際にアクティベーションの実施をお試しいただくには、
アプリケーション見本専用の利用者登録ページ」でご登録ください。

  • クラスライブラリ(CS_Activation.DLL)を利用しない場合、アプリケーションの作者がプログラムに追加する必要があるのは、主に以下の4つの機能です。

1. アクティベーションの実施 : SetActivationKey() を使います。

2. アクティベーションの解除 : ResetActivationKey() を使います。

3. アクティベーションの照合 : IsActivationKey() を使います。(※上記の見本のように未使用も可)

4. 有効期限の取得 : GetTimelimitDate() を使います。

 

  • これら1.~3.の関数には、すべて同じ並び順の文字列形式で以下の4つのパラメータを渡し、4.には3つのパラメータを渡します。

1. アプリケーション略名

2. ユーザーID

3. ユーザーPassword

4. PCのプロダクトID

 

  • クラスライブラリ(CS_Activation.DLL)を利用した場合は、サンプルでご理解いただけるよう、実に簡単に、しかも短時間で導入できます。

 

  • アプリケーションの利用者が1台のPCで「アクティベーションの実施」に成功すると、
    同じIDとPasswordを使って、他のPCでアクティベーションを実施することはできません。
     
  • 同じIDとPasswordを使って他のPCでアクティベーションを行うには、
    最初の1台目のPCで「アクティベーションの解除」をしなければなりません。
     
  • たったこれだけの非常に単純な仕組みですが、IDとPasswordだけの認証に比べ、その堅牢性は比較になりません。
 

認証プログラムの見本をご利用いただくために

  • サンプルプログラムをダウンロードして実行していただきますと、どうしても自分専用のユーザーIDとPasswordが必要です。そのため、作者専用サイトに設置されたユーザー登録フォームとほぼ同等の、見本利用者登録ページをご用意しました。
     
  • 以下のページで、ご自身をアプリケーションの利用者としてご登録いただきますと、サンプルプログラムによる動作を確かめられると共に、自作プログラムに組み込んだ上での動作確認にもご利用いただけます。なお、ご登録いただいた内容は定期的に削除させていただきますので、その後に必要があれば再登録してご利用ください。
     
  • アプリケーション見本専用の利用者登録ページ
シェアウェア見本用利用者の登録画面