ハードウェアDRM

ハードウェアDRMは、ハードウェアによるハードウェア・ソフトウェア・コンテンツに対するDRMおよびコピーガードを指す技術の総称である。

ハードウェアDRMは電子部品にソフトウェアおよびコンテンツの利用を管理する機構を設けて、その管理部でハードウェア上で動作するソフトウェアの動作を制御することで実現されている。広義の表現で物理的な電子部品による制御の他、OSより下位層のファームウェア、OS起動前のブートローダーによる制御も含む。

1. 手法
-----

ハードウェアによるDRMは、物理的な電子部品の接合・分離を伴うドングルやハードウェア更新、ファームウェアやブートローダーによるハードウェアDRM・セキュアブートなど、様々な手法が確立されている。一般的なDRMとの違いは、オペレーティングシステムを含むソフトウェア層より下層のファームウェア・ハードウェアでDRMを実現する点である。

1.1. ドングル
---------

ドングルは、ソフトウェアおよびコンテンツのコピープロテクトのためにコンピュータの入出力ポートに接続する小さなデバイスである。ドングルが接続し、ドングルの検証処理が正常に動作している場合はソフトウェアは正しく起動・動作するが、ドングルが切断・処理中断した場合はソフトウェアは動作を停止する。ドングルを用いたコピープロテクトでは、ソフトウェアやコンテンツのデータ自体はコピーフリーな状態にあるが、ソフトウェアやコンテンツを利用にはドングルが必要であり、実質的にコピープロテクトな状態にある。ドングルの検証処理は基本的にはユーザーが書き換えることは想定されていないが、ドングルの検証処理部をカスタマイズすること前提にしたドングル製品も存在する。

1.2. ハードウェア更新
-------------

ハードウェア更新は、更新可能なプロセッサを機能が制限した状態で販売し、後から機能制限を解除する。

インテルの一部のプロセッサは機能が抑制された状態で販売され、追加料金を支払ってアンロックコードを入力することでフルスペックの機能が利用できるようになる。

IBMのメインフレームであるSystem/370は拡張ハードウェアを持ち、顧客が追加料金を支払うとカスタマーエンジニアを派遣してマシンのレジスタを切り離すことでハードウェア機能を有効にする。

1.3. ハードウェアDRM
--------------

ハードウェアDRMは、ハードウェア層でソフトウェア・コンテンツの著作権を管理し、適切な権利の基に利用を許諾する。

インテル・インサイダーは、インテルのチップセット層でデジタルコンテンツの保護機能を提供し、許諾のない高画素動画のストリーミング再生ができないように動作する。

AppleデバイスのファームウェアはAppleが承認してApp Storeから配信されたアプリケーションのみの実行を許諾する。アプリケーションはApple署名・開発者署名・デバイスUUIDにより保護され、アプリケーションデータを複製してもファームウェアの検証により他デバイスではインストール・実行は抑制される。Androidデバイスでもアプリケーション署名はあるが、こちらはソフトウェア層のDRMである。

1.4. セキュアブート
------------

セキュアブートは、ブートローダーがオペレーティングシステムもしくは二次ブートローダーを起動する際に、ブートローダーが起動対象のソフトウェアの電子署名やチェックサムを評価することでソフトウェアの正当性を確認するアーキテクチャである。

UEFI Secure Bootは代表的なセキュアブートの仕組みの1つである。OSベンダーの秘密鍵で電子署名がなされ、署名検証が成功した場合に限りブート処理を継続する。署名検証が失敗した場合にはブート処理を停止してエラー画面等を利用者に表示する。WindowsマークのついたMicrosoft公認マシンのブートローダーはMicrosoftのセキュアブート電子署名に対応しており、ブートローダーから起動するオペレーティングシステムであるWindows 8・RHEL・openSUSE・Ubuntuなどはセキュアブート電子署名が付与されている。

Android Verified BootはAndroidデバイスにおけるセキュアブートの仕組みである。AndroidブートローダーはVerified Bootのブート処理シーケンスで電子署名鍵を用いてbootおよびrecoveryパーティションの正当性を評価する。Verified Bootは、デバイスはロック状態にあるか、電子署名鍵に対してパーティションは正当か、電子署名鍵は正当なOEM Keyであるか、の3点を評価する。評価結果が不正である場合、ブート処理を停止し電源を落とす、警告画面を表示するなどのエラー処理を実行する。

Solaris Verified BootはSolarisマシンにおけるセキュアブートの仕組みである。Verified BootはSolarisの起動の前、SPARC OpenBootによってSolarisのカーネルモジュールをロードする前にモジュールの障害・改ざんを検知する。モジュールの正当性が疑われる場合、モジュールのロードを取り止める、警告ログを出力するなどのエラー処理を実行する。

TPM Trusted BootはTrusted Platform Moduleの機能を用いた物理・仮想プラットフォームでのセキュアブートの仕組みである。Trusted Platform Moduleはその在り方から演算処理そのものがThompson hackなどのクラッキングを受ける可能性が低く、ブートローダーが起動対象のソフトウェアを検証するツールとして有効である。

2. ハッキング
--------

2.1. アンロック
----------

正規・非正規の手法を用いてハードウェアDRMの管理機能をアンロックするハッキング手法がある。

インテルやIBMのプロセッサによるハードウェアDRMはコンシューマーが追加料金を支払うことで機能がアンロックされる正規のハッキング手法である。

Androidデバイスはブートローダーのアンロックを無償で許可しているもの、有償で許可しているもの、公式には許可していないものがある。公式には許可されていないデバイスのアンロックは非正規のアンロック手法である。いずれの場合でもアンロックした時点でデバイスはカスタマーサポートの契約の範囲外となり、自己責任においてデバイスを利用することになる。

2.2. Jailbreak
--------------

Jailbreakは、非合法のファームウェアを書き換えてハードウェアDRMをハッキングする手法である。主にAppleデバイスのファームウェアのハッキングに対して用いられており、App Storeでは配信されていないアプリケーションのインストールや、Appleがサポートを停止している古いオペレーティングシステムバージョンへのダウングレードなどを実現する。Jailbreakしたデバイスで利用するツールとしてCydiaなどがある。

3. 批評
-----

3.1. Defective by Design
------------------------

ハードウェアDRMはハードウェア制約・制限として批判される立場にある。これはフリーソフトウェア運動の一貫において、デジタル著作権管理がデジタル制約管理としてDefective by Designと批判されるのと同様の立場である。

TiVo社がTiVoブランドのハードディスクレコーダー  にGNU GPLのソフトウェアを利用していたにもかかわらず、ハードウェアDRMによりハードディスクレコーダー上で動作するソフトウェアを制限していたことに対して、フリーソフトウェア財団のリチャード・ストールマンはTiVo化という用語をもって強く批判した。

WindowsマークのマシンにおけるセキュアブートはMicrosoft公認のオペレーティングシステム以外をインストールすることを抑制するベンダーロックインを促進しており、LinuxなどのサードパーティーOSのインストールができなくなると、レッドハットの開発者マシュー・ギャレットおよびフリーソフトウェア財団のジョシュア・ゲイにより懸念が表明されている。

4. 脚注
-----