皆様の中には、DRM配信をされる際に、「Key ID(以下、単にKID)」という言葉を聞かれたことがあるかもしれません。しかし、いろいろ調べてみても結局、KIDとは何なのか、何に使うものなのかが良く分からないという方も多いかと思います。この記事では、そんな皆様の疑問について、解説していきます。

KIDとは何か

動画をDRMでパッケージングする際に「コンテンツキー(Content Key:暗号鍵)」が必要となりますが、そのコンテンツキー生成にあたって使用されるのがKIDと呼ばれているものです。値はUUID(またはGUID)と呼ばれる一意な識別子を使用することが推奨されており[1]、一般的には動画ごとに異なるKIDを当てます。

動画ごとに当てるKIDは自身で指定することも可能ですが、自動でKIDを生成してくれるパッケージャーもあります。パッケージャーによって使用は異なりますので、使用されるパッケージャーの仕様を確認してみてください。

KIDの使い道について

では、このKIDはどのように使えるかについて説明していきます。先述したように、KIDは動画ごとに振っていくものとなります。つまり、このKIDを取得することができれば、動画を識別することに使えるということになります。

例えば、ユーザーごとに視聴できる動画を制限したい場合、再生ページへのアクセス制御などでは限界があるかもしれません。その点、KIDを使った制御を行えば、仮にユーザーがKIDをうまく偽装できたとしても、正しいコンテンツキーが取得できないため、再生ができないことになります。

ユーザーが視聴しようとしている動画のKIDを取得する方法

では、ユーザーが視聴しようとしている動画のKIDを取得するにはどうすればよいか?について説明していきます。DRM動画をユーザーが再生する際、DRM暗号化された動画を復号するためのライセンスが、ライセンスサーバーに対して要求されます。

ライセンス要求のフロー

このライセンス要求のペイロードにKIDの情報が含まれているため、ライセンスサーバーはKIDを要求の中から取得できます。[2]その際、取得したKIDを皆様が運用されているWebサーバーに対して渡すことが可能なため、そこでKIDを取得することができます。

ライセンスサーバーからKIDを受け取ったWebサーバーで、その動画を再生する権利があるかどうかを判断し、ライセンスを返すか返さないかを決めることができます。

さいごに

本記事では、DRM動画におけるKIDについて簡単に説明してきましたがいかがでしたでしょうか。DRMは、暗号化配信(AES-HLS)や、単純なアクセス制御などと比べて、より安全で確実な権利保護手段を提供していますので、ご興味のある方は是非とも弊社までお問い合わせください。



  1. ISO/IEC 23001-7:2016[]
  2. ライセンス要求のペイロードに含まれるKIDを偽装することはできません。[]