AESの他、無制乱数式暗号(ワンタイムパッド方式)にも対応。
※無限乱数式暗号は有限会社電机本舗のSRG-SDK(特許番号:4351731)を利用しております。
保護対象のデータには、条件分岐は存在しないため、攻撃対象になりえない点が大きな特徴です。
ライセンスコード内に定義されている共通鍵は、固有のハードウェア情報を基に暗号化されており、その都度、ハードウェア情報を取得し算出した鍵情報で保護したデータを透過的に復号化します。
ハードウェア構成が一致して初めて正しい鍵を生成します。従ってハードウェア構成が一致しない環境では鍵の生成は失敗します。
加えて、これらの処理はドライバレベルで行っているため、一般的なデバッガでは解析できません。
ドライバ間の処理を解析する環境を起こした上でSecure Access Driverをマウントする必要があり、クラッキングに対するハードルが高くなります。
メモリ上に展開した認証済みのプロセスはAPIフックによって2次ブロックを行い各モジュール間での改ざんチェック、難読化などあらゆる対策が施されています。
既存のDRM製品でもメモリ上に展開された後も暗号化状態を維持し、ロードされたタイミングで都度復号化する機能はありますが、ソースコード内にマーキングする必要がありモジュール全てを暗号化する事ができないなど制約も多いのが現状です。
Secure Access Driverは保護領域全体をオリジナルの状態を崩すことなく復元した上でプロセスをブロックしておりますので、暗号化前と暗号化後で挙動の違いはありません。
オンラインアクティベーションシステム
Secure Access DriverのSDK(開発キット)にはオンラインライセンス認証を行うサーバーモジュール、クライアント、サーバー側
の各種ツール類が収録されており、ライセンスの管理はもとより、販売・開発・サポートなど様々なビジネスシーンで活用できる情報の蓄積、分析が可能です。
-
認証サーバーへ自動的に利用ログを送信。クライアントの利用状況、環境、バージョン、ホットフィックス適用状況などを把握する事でサポート面の負荷軽減。
-
利用環境のパフォーマンス、利用頻度の高い機能や時間帯などを把握してライセンス数、システム構成など、マーケティング販売促進に活用。
-
利用時間による従量課金やサブスクリプションサービスの提供。
フィルタードライバ概要
フィルタードライバは、オペレーティングシステムのコアに部品として実装され、オペレーティングシステムの一部として直接機能の拡張追加を実現します。
高度な技術を必要とするアンチ ウイルス製品などの中核を構成するコアテクノロジーで、主にターゲットに対する要求を、目的のターゲットに達する前に受信することにより、要求元が提供する機能の拡張や別の処理に置き換えるといった用途に利用されます。
従来こうした処理は、多くの製品がアプリケーションレベルで実装できるシステムフックと呼ぶ機能拡張を行っていましたが、システムフックは制約が多く肌理の細かい拡張追加に不向きという短所がありました。
-
従来のシステムフックの問題点
-
・アプリの依存性が高く、ソフトにより機能しない。
-
・OSの深い機能を利用できない。
フィルタードライバはこれらの制約を受けません。
このコアテクノロジーに認証ロジックと透過的に復号化を行う暗号エンジンを
実装し、ファイル形式やアプリケーションに依存しないDRM(Digital Rights Managementデジタル著作権管理)ソリューションがSecure Access Driverです。
既存のDRM製品の課題
既存のDRM製品は保護対象ファイルに直接プロテクトルーチンコードを追加する方式です。
プロテクトルーチンを最初に実行し、ライセンスチェックを行います。
オリジナルファイルをラッピングするため、以下の問題点があります。
-
脆弱性
-
復号化するための共通鍵は、プロテクトルーチン内部で保持・管理します。
ここにライセンスチェック、製品情報、マシン情報の照合、正規ユーザへの復号処理が集約しています。
クラッカーは、プロテクトルーチンの判定処理部分を解析し書き換えるだけでプロテクト解除を試みます。
ドングルなどの物理的なハードウェアキーの接続チェックも同様で、攻撃対象は接続チェックの判定部分になります。
-
豊富なクラックツール
-
作成の簡単なアプリケーションレベルで制御しているため、OllyDbgなどフリーで流通しているデバッガで容易に解析できます。
-
急速に普及しているJavaに代表されるインタプリタに使えない問題
-
近年普及しているJava/.NETアプリケーションに代表されるインタプリタ系プログラムでは、暗号化を行うと正常に動作しないケースが大半です。
インタプリタ系プログラムはアプリケーション動作において、利用されるコンポーネントが多岐にわたるため動作に必要な中間コードが未コンパイル状態で存在する等のケースが存在します。
通常の実行形式アプリケーションと異なり、単一のプログラムのみを暗号化対象とする形式がとれない為、通常のラッピングでは全ての資産を保護する事が難しくなります。
フィルタドライバを利用したDRMシステム(応用)USBメモリ
-
汎用USBメモリ内部に秘匿領域を設定
-
・NTFS/FAT経由でアクセスできない先頭1セクタ(512Byte)に鍵情報を保持、ICチップ内部に記録されているVendor ID / Product ID / Serialの情報と組み合わせる事で、正規のUSBメモリが接続されているか判定。
-
・メモリ領域の後方に未使用領域を設定し、NTFS/FAT経由でアクセスできない領域に対して、物理アドレスを指定してデータをRead/Writeする事で、よりセキュリティレベルを強化。
-
・使用領域についてはフィルタードライバ経由でアクセスした場合のみ透過的に復号化が可能。
保護領域内(USBメモリ内部)から読み込まれた場合のみアクセス可能に設定する事で、メモリ拡張版のドングルと同様の運用が可能です。
-
・USBメモリに限らずSDカード、メモリースティックなどの記憶媒体に対しても同様の設定が可能。
フィルタドライバを利用したDRMシステム(応用)外部リンク機能
マシン固有の情報を取得するロジックを、独自のH/W取得ロジックとリンクさせる事が可能です。
-
オフライン認証 ケース① 機器との連携
-
製品をインストールする際、デジタルカメラなどの機器を接続し、
正しい情報が取得できればフィルタードライバ側でPC固有の情報で再暗号化を行い、アクティベーション完了とするオフライン認証のひとつとして応用できます。
-
オフライン認証 ケース② パッケージ
-
プレス加工したオリジナルのインストールディスクに保持されている
メディア情報をチェックし、正しい情報が取得できればフィルタードライバ側でPC固有の情報によって再暗号化を行いアクティベーション完了とするケース。
フィルタドライバを利用したDRMシステム(応用)コンテンツ保護
実行形式以外にも、ドキュメントファイル、画像、映像、音声データなどのリッチコンテンツなどあらゆるファイル形式を保護できます。
-
専用プレーヤー(ビューア)に依存しない制御
-
暗号化する際に再生を許可するプレーヤー、ビューアを事前登録する事で、ソフトウェア
ベンダー、コンテンツホルダー側で再生を許可するアプリケーションを選択できます。暗号化されたコンテンツ専用のプレーヤー、ビューアのインストールは不要です。
-
保護領域外への持ち出し禁止
-
プロセスブロックの設定次第で、特定のデバイス、サーバー上でのみデータにアクセス
許可をきめ細かく制御できます。保護領域外への持ち出し禁止による情報漏えいを防止し、認証済みのクライアント(ライセンスを取得したPC)でのみデータへのアクセス、コンテンツの再生を許可します。
ロードマップ
Mac OS向け、組込み機器向け(スマートフォン、カーナビ、ゲーム機など)フィルタードライバを予定。プラットフォーム、データ形式やアプリケーションに依存しないコンテンツ保護が可能になります。