写真●簡単DRMで暗号化したVBscriptをメモ帳で開いた画面
[画像のクリックで拡大表示]

 電机本舗は2012年1月10日、配布するアプリケーションのコードを暗号化によって解析されないようにするツール「簡単DRM」を出荷した。OSのドライバー層で動作するため、アプリケーションに復号機能を組み込む必要がない。これにより、Javaプログラムなど、これまで難読化によって保護するしかなかったプログラムを暗号化によって保護できる(写真)。

 簡単DRMは、アプリケーションを暗号化して配布するためのツール。同ツールで作成した配布パッケージをエンドユーザー環境にインストールすると、配布アプリケーションのほかに、OSのドライバー層に復号モジュールが組み込まれる。これにより、あらかじめ指定したプログラム(Java VMなど)が暗号化ファイル(プログラムコード)を読み込む際、ドライバーがデータを復号する。

 配布パッケージを作成する際には、暗号化データの復号を許可するプログラムと、暗号化するデータ(任意のフォルダ/ファイル)を指定する。これにより、復号を許可されたプログラムからは、暗号化/復号の存在を意識することなく、あたかも暗号化されていないファイルであるかのようにアクセスできる。一方で、ほかのプログラムからは復号されたデータを利用することができない。

 背景には、中間コードからのリバースエンジニアリングが容易なJava VMやDalvik(Android)などの仮想マシンがよく使われている、という状況がある。これらの環境では暗号化データを復号できないため、これまでは暗号化ツールの代わりにコードを読みにくく書き換える難読化ツールが用いられてきた。今回、アプリケーションに依存せずに暗号化データを復号できるようにした。

Linux向け、Android OS向けの配布パッケージも予定

 稼働OSは、配布パッケージの作成環境と配布先の環境ともにWindows(Windows XP/Vista/7、Windows Server 2003/2008)。今後のバージョンでは、作成環境はWindowsに限るが、配布先の環境としてLinuxを追加する。スイッチによってWindows向けとLinux向けの異なる配布パッケージを作成できるようにする。さらに、Mac OS X向けとAndroid向けの配布パッケージも作成できるようにする予定である。

 ライセンス体系は、配布パッケージの製品数に依存する大規模法人向けのライセンスと、配布パッケージの配布ユーザー数(インストール数)に依存するライセンス(2012年2月10日に販売開始)の2種類を用意した。製品数ベースの大規模法人向けでは、配布パッケージのインストール時にアクティベートする際のライセンス管理サーバーを企業が自前で運営できる(購入時にライセンス管理サーバーのURLを伝える)。一方、配布ユーザー数ベースのライセンスでは、ライセンス管理サーバーを電机本舗が運営する。

 ライセンス価格(税込み)は、以下の通り。製品数ベースのライセンスは、最小構成の10製品で80万円。一方、配布ユーザー数ベースのライセンス(予定価格)は、最小構成の25ユーザーで1万円(ユーザー数が増えれば1ユーザー当たりの単価が下がる)。