web-dev-qa-db-ja.com

Widevine、FairPlay、およびその他のDRMは内部でどのように機能しますか?

DRMが内部でどのように機能するかを理解しようとしています。それについてはウェブ上であまり情報がないようですので、ここで尋ねると思いました。

調査を試みたところ、WidevineまたはFairPlay DRMが実際にどのように機能するかに関する情報を見つけるのは非常に困難であることがわかりました。 Content Decryption Module(CDMs)などに関する一般的な情報はいくつかありますが、実際にどのように機能するかは謎のようです。 DRMの多くはおそらくあいまいさによるセキュリティであるため、これが意図的なものかどうか疑問に思っています。

DRMに関する私の基本的/抽象的な理解は、ファイルは通常AESを使用して暗号化されるということです。 DRMソリューションがファイルにアクセスしようとすると、キーがサーバーからCDMに転送され、独自の方法で解読されます(これは私がよりよく理解しようとしている部分です)。次に、復号化されたコンテンツがアプリケーション(多くの場合はブラウザー)に戻され、再生されます。これは正しいです?

上記が当てはまる場合、攻撃者はCDMのバイナリを編集するだけで、暗号化が解除された後にキーまたはファイルにアクセスできると思います。

12
JBis

上記が当てはまる場合、攻撃者はCDMのバイナリを編集するだけで、暗号化が解除された後にキーまたはファイルにアクセスできると思います。

そのため、多くのDRMシステムがLinuxシステムに実装されていません...

DRMを実行できるようにするには、プレーヤーはDRMプロバイダーによって「認定」されている必要があり、このセットキー/復号化プロセスに安全な方法を提供する必要があります。

モバイルデバイスでは、多くの場合、TEE(Trusted Execution Environment)、SecureZone、またはシステムで暗号Oracleとして機能できるものを使用して行われます。 Windowsの場合、他のメカニズムが使用されます。おそらく、バイナリレベルのアンチデバッグ、TPMなどです。

暗号化キーを取得できないという意味ではなく、非常に困難になるだけです。

4
binarym

(免責事項:私のPOVは、クラックを試みた保護機能によってわずかにバイアスされる可能性があります。わからないことについて話すことがあります。同様に機能する同様のDRMツールを知っているので、この方法で機能すると思います)

Conorは正解です。一般的にDRMについて話すのは広すぎます。質問の中でサーバーについて話しますが、最も使用されている著作権コンテンツの1つはサーバー(DVD)さえ必要としません。

DRMツールの目的:

DRMにはたくさんのさまざまな目標がありますが(地理的な制限、ユーザーの制限など)、ほとんどの場合、プライベートコピーは避けます専有作品の。

DRMツールの仕組み:

原則はほぼ同じ常に同じです:アクセスXが必要です。1)Xの暗号化されたコピーH [X]を取得します。(ダウンロードまたは物理コピーによる)2 )H [X]をXに変換するためのキーを取得します。(ライセンスをアクティブ化し、場合によっては自動で行います)3)Xを取得するためにH [X]を解読します。

完全に暗号化されている場合もあれば、部分的に暗号化されている場合もあります。時々それは物理的なキーであり、時々仮想的なものです...また、他の誰かのキーを使用して各コピーを一意に、読み取り不可能にする、REが難しい、一時的に利用できるなど、さまざまなモジュールを見つけることもできます。

DRMセキュリティはあいまいさを介してですか?

99%:はい。

なぜ100%ではないのですか? (もう一度ほとんどの場合)最初にコンテンツを購入する人にDRMを分析して回避策を提供するように要求するためです。特定の方法で、誰かがコピーにアクセスするまで、DRMは完全に安全です。したがって、すべてのDRMは破壊可能です

DRMの理解とクラッキング

すべてのDRMについて話すことは不可能であるため、攻撃がCDMのバイナリ復号化であるとは言えません。いくつかの簡単な例を使用して、DRMがほとんどどのように攻撃されるかについて話しましょう。

  • 音楽およびビデオコンテンツ(Deezer):Deezerで曲をダウンロードすると、読み取り不可能なファイルが取得され、Deezerアプリがそれらを開くためのキーを持っています。シンプルに保つ:Audacityなどのソフトウェアは、オーディオ出力を取得できます。すべての非インタラクティブコンテンツで動作するこの脆弱性は アナログホール と呼ばれます

  • TV:TVコンテンツは電波です。コンテンツが保護されている場合、暗号化されます。デコーダーを購入する必要があり、テレビにアクセスできます。これを解読するには、ハードウェアレベルでデコーダーを逆にする必要があります。論理回路がどのように機能するかを理解し、それを再現します。 (ここにはアナログホールもありますが、ライブ状態を維持するのが難しいため、関連性は低くなります)

  • ソフトウェア:ここは興味深いですが、可能性はたくさんあります。まず、ファイルが特別に暗号化され、アクティベーションキー(ほとんどの場合は自動)を使用してコンピューターをサーバーに接続し、キーを使用してログに記録すると、ファイルの検証と暗号解読を行うライセンスが提供されます。ここでは、それを解読する選択肢はほとんどありません。バイナリをREする必要があります。次に何をすべきか?まあ、それは異なります。ソフトウェアの使用中、ファイルはクライアント側で暗号化されないため、いつでも*誰にでもファイルを提供できます(クラックを作成)。別の可能性は、ライセンスの動作を再現するソフトウェアを作成することです**。

*一般的に本当に難しいですが、 不可能ではない

**常に可能であるとは限りません。他にも多くの保護があります。

コンテンツを保護するには?

クラックを回避する方法は2つあります

  • 可能な限り最高のセキュリティを使用する

言ったように、ソフトウェアを解読することは困難ですが不可能ではありません。非常に効率的なDRMツールを作成する場合、それは数か月、数年、または10年間存続することができます。コンテンツが安全に保持される期間と方法長い間、コンテンツがクラックされても問題ありません。コンテンツのほとんどは昔はあまり販売されていないため、現時点ではクラックされたバージョンは問題になりません。

優れた保護を行うには?

(私の意見ですが)ハードウェアは本当に理解することが難しく、物理的な保護と多くの異なる実装の可能性があるため、ハードウェアで保護されたコンテンツはおそらく復帰が最も難しいものの1つです。

  • 不十分な保護の使用

はい。奇妙に聞こえますが、「work」です。コンテンツを100%保護できませんか?非常によく、それを保護し、それの無料の変更コピーを与えてください!人々はひび割れを作成することを気にせず、コンテンツを購入しなかった人々はそれの快適でないバージョンを得ました。一部のゲームはこれを行いましたが、ゲームプレイに影響を与えなかったアランウェイクへの名誉ある言及です。明らかに不利な点はいくつかありますが、それほど悪くはありません。-DRMでお金を節約できます-クラックを使用する人々は、クラックがなくてもコンテンツを購入しないでしょう。 (あなたは多くのお金を失うことはありません)

TL; DR DRMは難読化についてです。 100%安全ではありません。したがって、頻繁に使用されるモデルスキーマがあっても、DRM実装の詳細は明らかにされません。

3
MrHeliose

あなたの基本的な理解は基本的に正しいです:

  • メディアファイルまたはメディアストリームがあり、対称キーで暗号化されている(ほとんどの場合、AES-128バリアント)。
  • そのストリームを再生したいユーザーはそのキーのコピーを取得する必要がありますが、それと同じくらい重要なのはが必要です信頼できるソフトウェアと信頼できるハードウェアを用意する。その例は、すべての最新のブラウザー内で実行されているCDMです。
    • 問題は、誰に信頼されているかです。もちろん、コンテンツプロバイダーによるものです。言い換えると、コンテンツ発行者は、ユーザーが実行しているソフトウェア/ハードウェアがコンテンツ利用ポリシーを適用していることを十分に確信している必要があります(たとえば、「48時間レンタルして、もう」)。
    • これが鍵です:ソフトウェア/ハードウェアは、復号化プロセスを処理するために信頼されている必要があり、特に復号化鍵は、攻撃者がいずれかにアクセスすることを非常に困難にする方法で。実際には、これははい、難読化を意味します。しかし、それは(binarymの回答で述べたように)ハードウェア支援のTrusted Execution Environmentなどを意味することもあります。また、多数の(ほとんどの場合は独自仕様の)ソフトウェア改ざん防止技術。
  • 次に、コンテンツキーがユーザーのデバイスに配信される方法に戻りましょう。これは通常、ある種の暗号化チャレンジ/レスポンスメカニズムを介して行われます。つまり、PKIが関与することを意味します。言い換えると、キー要求は(デバイスのIDを証明するために)署名され、キー応答はデバイスの公開キーで暗号化されます。
    • これの目的は、ユーザーがキーが最終的に格納されるファイルを手に入れても、それらをotherに配布できないようにすることです devices、これらは異なるPKI固有のマテリアルを持つことになっています。

異なる商用DRMシステムは上記のバリエーションを採用しますが、一般的なスキーマは多かれ少なかれ上記のものです。 (テーマのわずかなバリエーションについては、 StackOverflowでこの回答も参照 )。

2
Guido Domenici