ページの先頭です
DRMとは、Digital Rights Managementのことで、デジタルコンテンツの利用制限、複製などの著作権を制御する技術です。日本語ではデジタル著作権管理と言います。本来は、文章や画像といった静的コンテンツの他、音楽、ゲームなど、デジタルコンテンツ全般に応用できる技術ですが、本稿では筆者が携わっている動画配信プラットフォームである「IIJ Media Sphereサービス」の観点から、動画配信におけるDRMについて解説します。
音楽や映像を含めコンテンツのデジタル化が90年代に急速に進み、90年代後半にはインターネットの普及も伴って、その流通が一変しました。街のレンタルビデオショップがレンタルDVDショップになり、今ではオンラインの配信サービスで、好きな場所で好きなときに、好きな作品を手軽に視聴できます。
このように、コンテンツのデジタル化は、私たちの生活に多大な恩恵をもたらしましたが、一方で、劣化なく簡単にコピーできるため、海賊版の流通が容易に想像されました。違法コンテンツの流通は、コンテンツの権利者だけでなく、制作現場や販売、配信など様々な立場の企業の利益を損ないます。こうした状況が蔓延した場合、業界自体が衰退し、最終的には魅力あるコンテンツも生まれなくなるでしょう。結果的に、消費者である私たちが楽しめなくなってしまいます。
このような背景で、コンテンツ自体だけでなく業界全体の発展を守るためにも考えられた技術がDRMです。DRMを使うことで、コンテンツの適切な利用や、複製などの制御が期待されます。
1つ注意しなければならないのは、DRMは完璧な技術ではなく、本質的に視聴環境を制限するという点です。悪意がないエンドユーザでも、環境によって視聴できないケースがどうしても出てきます。また、不正利用に関しても過去にいくつかの事例が報告されています。
しかしながら、現在のインターネットを利用したコンテンツ配信では、広く普及している安定した技術でもあり、今後もその必要性は高まると考えられています。
読者の方々が意識しているかどうかはともかく、コンテンツ保護を目的として利用されているDRMは、そこまで新しい技術ではありません。この記事を執筆するにあたって、IIJの古参の社員にも尋ねたところ、既に90年代後半には、DRMの必要性を感じ、オンライン動画配信に関するニュースメディア「Streaming Media(注1)」が主催する展示会などで情報収集を行っていたとのことでした。
IIJが具体的なサービスとしてリリースしたのは、2008年のFlash VideoにおけるDRM(注2)です。その後、PlayReadyに対応し、2015年にはオープンスタンダードであるMarlin DRMを採用したサービスもリリース(注3)しています。
現在のIIJ Media Sphereサービスでは、DRMシステムとして、AppleのFairPlay Streaming、GoogleのWidevine、MicrosoftのPlayReadyに対応しています。現在、この3種類のDRMに対応することで、かなり網羅的に動画の再生環境をカバーできると考えています。
今回IIJでDRM機能を開発し、IIJ Media Sphereの機能としてサービス提供することで、動画プレイヤー環境を含め、コンテンツのパッケージングも意識することなくDRMによるコンテンツ保護機能を容易に利用できるようになっています。またIIJとしても外部のDRMプロバイダを利用しないことでコストが見積もりやすくなりました。加えて、自社開発及び自社設備での運用は、サービスの持続可能性においても一層の信頼を提供できるとも考えています。動作環境の長期間の保証は、ソースコードも含めたプログラムもそうですが、基盤となるプラットフォームの保守も大事だからです。そして、今後もサポートを含め、デバイスについての情報提供、レポーティング、分析などの機能を実装し、様々な付加価値を創造していければとも思います。
なお、IIJでは、Widevineに関して、私を含め複数人の社員が認定プログラムに合格しており、Certified Widevine Implementation Partnerとしての資格を取得しています。
現在のDRMは、コンテンツを暗号化することによってコンテンツを保護し、適切な環境でのみ利用させるというのが基本的なコンセプトです。前述のとおり、DRMは日本語ではデジタル著作権管理と訳されますが、利用させる際において、具体的に様々な管理をすることができます。これらの機能は、コンテンツ事業者や、配信事業者が自身のビジネスを考慮して、ポリシーとして利用する機能です。
最も想像しやすい機能は、動画の再生許可です。期待する条件でのみコンテンツの再生を管理することができます。また、同時再生デバイスの制限といった制御も馴染みがあるかもしれません。
加えて、コンテンツのクオリティに関しても制御できます。例えば、オーディオのみの再生だけ許可することや、SD画質(480p)、HD画質(1080p)、UHD画質(4k〜)、それぞれの再生環境を管理することもできます。
HDCPについても同様です。近年、テレビやスマートフォンをはじめとする各種デバイスを購入する際、または様々な配信サービスの案内などで、HDCPという単語を見かけたことがあるかもしれません。HDCPも、DRMを構成する技術の1つです。HDCPは、High-Bandwidth Digital Content Protectionを表し、2000年にインテルによって開発された暗号化技術で、不正コピーを防ぐことを目的とした著作権保護技術です。HDCPはHDMIなどのデジタルインタフェースの暗号化に用いられており、映像伝送するときに用いられます。映像の出力側と共に、ディスプレイなどの入力側もHDCPに対応していないと、コンテンツの再生ができなかったり、画質が制限されたりする可能性があります。分かりやすい例だと、アナログデバイスへの出力を制限したいケースなどがあります。現在普及しているHDCP 2.2は、そのリリースから10年以上経過しているため、あまり心配する必要はないと思いますが、HDMIなどを使って映像伝送したいケースで、コンテンツの再生に問題がある場合、各種デバイスがHDCPに対応しているか確認することをお勧めします。
最後にデバイスのセキュリティレベルについて紹介します。例えば、Widevineでは、デバイスごとにL1、L2、L3といった3つのセキュリティレベルを規定しています。Widevineが最もセキュアなデバイスと認定しているレベルがL1で、TEE (Trusted Execution Environment)と呼ばれるハードウェアでの復号、動画再生ができるデバイスを対象としています。L3はTEEの搭載がなく、ソフトウェアでの復号、動画再生を行うデバイスです。これらを元に、高画質コンテンツは、L1デバイスのみで再生を許可し、L3デバイスでは、低画質のみ再生できるといった制御ができます。
Androidスマートフォンであれば、「DRM Info」といったアプリで、自身のスマートフォンのセキュリティレベルなどを確認できますので、興味がある方は試してみてください。
以下では、DRMの仕組みについて、暗号化の過程と、復号の過程に分けて説明します。
前述のとおり、DRMは、コンテンツを暗号化することが基本的なコンセプトとなります。そのため、一般的に動画のパッケージングの過程で、DRMプロバイダの提供するKeyサーバとやり取りを行い、暗号化が行われます。しかし、世の中には様々なDRMシステムが存在し、またその方式に関しても様々なやり方があります。DRMシステムごとにパッケージャーが個別の対応をしなくても良いように、業界ではDASH Industry Forum(DASH-IF)により開発されたCPIX(Content Protection Information Exchange)という規格が普及しています。もともとはMPEG-DASH用に開発されたものですが、現在ではHLSにも対応しています。CPIXを利用する利点は以下のとおりです。
一例を挙げます。
CPIXはXMLで表現されます。上記の例で、いくつかのポイントを解説します。
ContentKeyエレメントは、コンテンツの暗号化に必要な情報を表現しています。これはRFC 6030 Portable Symmetric Key Container(PSKC)を元に拡張されている項目です(注5)。
DRMSystemエレメントは、各DRMシステムに特有の情報を表現しています。systemIdがそれぞれのDRMシステムを識別しているidで、DASH-IFにより決められています(注6)。
上記の例では、edef8ba9-79d6-4ace-a3c8-27dcd51d21edがWidevineを表し、9a04f079-9840-4286-ab92-e65be0885f95 がMicrosoft PlayReadyを表し、94ce86fb-07ff-4f43-adb8- 93d2fa968ca2がApple FairPlayを表しています。
PSSHエレメントは、動画コンテナの1つである、mp4のPSSH(Protection System Specific Header)Boxに利用されるデータを表現しています。このBoxは、デジタルコンテンツの暗号化とデジタル著作権管理(DRM)システムに関連する情報を格納するために使用されるMP4ボックスの一種です。PSSHボックスには、暗号化キー、使用されている暗号化方式、及びその他のDRMシステムに関する情報が含まれます。
URIExtXKeyエレメントは、DRMシステムがApple FairPlayで利用されていることから想像できるように、HLS playlistの中で利用される、EXT-X-KEYに影響する項目になっています。
コンテンツのパッケージングの過程で、これらの情報を使い、晴れてコンテンツが暗号化されます。
なお、AWSで利用できるCPIXを元に拡張された、SPEKE(Secure Packager and Encoder Key Exchange)といった規格も非常に普及しています。こちらもオープンな仕様ですので、誰でも仕組みを理解できます(注7)。
さて、ここまででコンテンツの暗号化がなされました。私たちが普段ブラウザなどで何気なく動画を視聴する場合、DRMの存在に気付かないケースがほとんどだと思います。しかし実際には、暗号化されたコンテンツを再生するために複雑な処理が発生しています。それらについて簡単に説明します。
コンテンツの復号において重要なのは、EME(Encrypted Media Extensions)と呼ばれる、Webブラウザとデジタル著作権管理(DRM)ソフトウェアの間のコミュニケーションチャンネルを提供するW3C仕様と、その中のCDM(Content Decryption Module)と呼ばれるDRMベンダーが提供している復号モジュールです。
CDMはクローズドソースで、例えばWidevineは、Google Chromeの他、Firefoxにも、プラグインという形でCDMを提供しています(図-2、図-3)。しかし、Apple FairPlayのCDMはSafariをはじめとしたAppleプロダクトにのみ提供されているため、Google Chromeなどでは利用できません。
CDMは、EMEの仕様策定の過程でオープンなWebを支持する方面から強い反対がありましたが、結果として、CDM自体はあくまで復号のためのConfidentialityとIntegrityに責任を持ち、動画プレイヤーをはじめとするアプリケーションが通信を司るという形で、仕様が策定されました。EMEとCDMがこのような形で策定されなければ、DRMプロバイダも統一的な対応が取れなかったと思いますし、配信サービスごとに独自のアプリケーションを使わなければいけなかったかもしれません。
Google Chromeではアドレスバーに、「chrome://media-internals/」と入力することで、CDMの詳細情報を見ることができます。興味がある方は覗いてみてください。
図-4は、EME及びCDMによる復号までの手順を表しています。動画プレイヤーはEMEを使ってCDMとやりとりを行って初めてコンテンツの再生ができます。手順は以下のとおりです。
DRMのポリシーによって、返されたLicenseを判断してCDMが復号を行い、動画の再生が行われます。
今回はIIJ Media Sphereサービスでの開発を通して、動画配信におけるDRMについて解説しました。近年では配信サービスを介して動画コンテンツを楽しんでいる方も少なくないと思います。その裏で実はDRMという技術が使われていること、またその仕組みがおぼろげながらイメージできるように説明してみました。限られた誌面ではありますが、お読みいただきありがとうございました。
執筆者プロフィール
黒石 光雄(くろいし みつお)
IIJ ネットワーク本部コンテンツ配信サービス部配信開発課 課長代理。
2002年IIJ入社以来、様々なサービス開発に従事。好きな言葉は「論よりコード」でEmacsのアップデートが楽しみ。
ページの終わりです