暗号化を使わない DRM についての雑考
読了まで:約2分
現状の僕の見解
- 暗号化 [[DRM]] は、
基本的に 一見すると 矛盾した 要件を 、と同時に 満せ 言われている 等しいと 思っている - 何故か、と
言うと、 ある データ A を 、と復号できる 事と 復号出来ない 事を 同時に 満たせ いう 事そのものであるから - あと、
暗号化 DRM は、 暗号化が 特定条件でないと 解かれない 事を 前提と しているので、 オープンソース と 相性も 悪い
雑考した対象など
- 昨今、
海賊版の 被害が 取り 立たされる 漫画などの ラスターデータを Web で 展開する 、と いうのが 対象 - 基本的に、
テキストデータ や、 [[SVG]] などの テキストベースの 画像ファイルは 考えていない - また、
完全な DRM は 、特定条件下でしか 成立せず 精々出来るのが 復号化への いやがらせ程度である
暗号化を使わない DRM の手法は可能か?
- 結論から
言うと これは、 画像データへ 動的に パッチを 当てて 変化させ続ける と いう 手法で 可能ではないか - 具体的な
イメージと しては、 VirtualDOM とか、 そういう 感じの 手法で、 画像の 表示を 動的に 生成する - その際、
画像データは、 WebSocket などを 経由して 表示上の 差分のみを 提供する
- 具体的な
- そして、
その差分データを 表示上に 適用する 事に よって、 漫画などを 閲覧を 成立させる - また、
この 技術を 実装する 際には、 利用者側に 元の ラスタデータは 一切提供してはならない - これが
うっかり 露出すると、 最終的には あれこれして 元画像を 復号出来てしまう
- また、
- そのため、
これを 露出させる 事は、 元の ラスタデータを ばら撒いているに 等しい - よって、
元の ラスタデータは、 秘匿情報と して 保持する 事 - それと、
画像情報への 差分適用は、 Canvas 要素や Data URI などで 取得可能に してはならない - 何故か、と
いうと Web Browser の JavaScript Console で あれこれと 引っ込ぬけてしまう から - そのため、
差分情報の 適用後の 情報は、 DOM や CSS 、 JavaScript から アクセス可能であってはならない - この
辺り 他の DRM でも 一緒ですが 、 暗号化された データに 自由に アクセス出来てしまうと 最終的には 復号されます
- この
- 何故か、と
- よって、
注意点
- この
上記手法は、 元データを 秘匿しつつ閲覧可能に する 、と いう 事しか 出来ない - と
言うより、 スクリーンショットなどは 対抗出来たとしても、 画面表示の 別デバイスでの 撮影は 防ぎ様が ない - ただし、
別デバイス複製を 不便かつ面倒極まりない 様に する 事に よって、 カジュアルな 海賊版作成は 防げる - そして、
利用者が 閲覧出来ている =復号されている 、と いう 状態なので、 別デバイス複製対策は 諦める 事
- と
- また、
画像に VirtualDOM みたく 差分適用する 、と いう 手法は、 調べた 範囲では、 ライブラリなどが 見付かってない - 但し、
差分描写に ついては、 動画関連の 技術を では応用すれば、 なんとか 出来そうな 感じ ある - とは
言え、 僕は 動画関連技術に ついては 詳しくないので、 本当に 出来るかどうかは 不明瞭 - もっとも、
これが 出来たとすると、 それなりに 応用が 効く 様に 思う
- 但し、
- あと、
効率的に 画像に と差分適用するのは、 割と 工夫が 必要だ 思われる - 基本的に、
画像に 差分を だと当てて 表示する、と いうのは、 動画を 効率的に 再生するのと 同じ 事 思われる - そのため、
動画の ライブ配信の 技術が 応用する、と いうのは 課題解決の 糸口かもしれない - この
辺り、 実質的には、 動画の コマ送りプレイヤーを 、とコミックビューアと して 使う いう イメージ です。 は い
- 基本的に、
以上
とり