クリアキー暗号化によるEMEを理解しようとしています。 MP4Boxを使用しています。ここのドキュメントから、mp4ファイルの暗号化/復号化に使用されるXMLファイルで復号化キーを指定します。 https://gpac.wp.mines-telecom.fr/mp4box/encryption/common-encryption/
基本的に、クリアキー暗号化を使用してEMEに何かポイントがありますか?これを使用してコンテンツを保護することは可能ですか?
私の理解では、このXMLで指定する暗号化キーは、クライアントがHTML5オーディオ/ビデオストリームを復号化するためにフロントエンドで使用する必要があるキーです。つまり、ユーザーはいつでもブラウザの開発ツールを使用してキーを取得できます。
どういうわけかキーを難読化できると思いますが、決心のある人ならだれでもキーを取得できます。
私ができるもう1つのことは、これを期限切れのストリームリンクと組み合わせることですが、これもキーを投影しません。
メディアを定期的に再暗号化したり、ファイルを異なるキーで複数回暗号化したりすることもできると思いますが、それで十分に拡張できるとは思えません。再生ごとに1回限りのキーを使用するのはいいことですが、やはり恐ろしく非効率的です。
特定の暗号化キーのXML構成の例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<GPACDRM type="CENC AES-CTR">
<!-- example for GPAC 'clear' DRM System - keys are listed after the content and UL follows -->
<DRMInfo type="pssh" version="1" cypherOffset="9" cypherKey="0x6770616363656E6364726D746F6F6C31" cypherIV="0x00000000000000000000000000000001">
<BS ID128="6770616363656E6364726D746F6F6C31"/>
<BS value="2" bits="32"/>
<BS ID128="0x279926496a7f5d25da69f2b3b2799a7f"/>
<BS ID128="0x676cb88f302d10227992649885984045"/>
<BS bits="8" string="CID=Toto"/>
<BS ID128="0xccc0f2b3b279926496a7f5d25da692f6"/>
<BS ID128="0xccc0f2b3b279926496a7f5d25da692d6"/>
</DRMInfo>
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x0a610676cb88f302d10ac8bc66e039ed" saiSavedBox="senc">
<key KID="0x279926496a7f5d25da69f2b3b2799a7f" value="0xccc0f2b3b279926496a7f5d25da692f6"/>
<key KID="0x676cb88f302d10227992649885984045" value="0xccc0f2b3b279926496a7f5d25da692d6"/>
</CrypTrack>
</GPACDRM>
明確なキー暗号化を備えたEMEのポイントは、盗みや共有が少し難しいコンテンツの暗号化を実装しやすくすることです。コンテンツを本当に保護する必要がある場合、DRMは現在最も強力なソリューションであり、コンテンツを最初から共有しないというシナリオを無視しています。
実装が簡単でバイパスが簡単なのは、マスターマニフェストに単一の非回転キーを配置し、マニフェストへのアクセスを制御することです。ユーザーがマスターマニフェストにアクセスできるようになると、すべてが明白になり、他のユーザーとオープンに共有できます。
実装が難しく、エンドをバイパスするのが難しいのは、各セグメントで短い期間のキーローテーションを使用し、有効期間が短い署名付きURLを利用することです。これは、ユーザーが異なるセグメントの異なるキーを処理し、有効なキーを持つ異なるセグメントをタイムリーにダウンロードする必要があることを意味します。ユーザーはすべての部分を一緒に引き出してコンテンツを盗み、共有することができますが、それはもはや単なるコピーアンドペーストではありません。
THEOplayerは、私がここで言及したことについて、もう少し詳細な投稿があります。それがまだ稼働していて、興味がある場合は https://www.theoplayer.com/blog/content-protection-for-hls-with-aes -128-暗号化