ブログ | Granite River Labs

インテルのデジタルコンテンツ保護機構の技術仕様 HDCP1.xの概要 | GraniteRiverLabs

作成者: GRL Team|May 20, 2021 4:51:00 PM

Granite River Labs, GRL
Ray Yang 楊昕叡

HDCP(High-Bandwidth Digital Content Protection)は、2003年にインテルが策定したデジタルコンテンツ保護機構の技術仕様です。 主にDVI、HDMI®DisplayPort™などのデジタルインターフェースで伝送される高精細映画コンテンツの違法録画を防止するために使用されます。 この技術により、音声や映像のコンテンツが暗号化され、違法な録画機によるHD音声や映像の海賊版を防止することができます。

送信機、受信機、中継機のいずれかがHDCPを利用できない場合、高精細映像コンテンツの再生ができず、画質が480pに低下し、最悪の場合、再生を行うことができなくなります。 ハイビジョンコンテンツの普及に伴い、デジタルコンテンツの暗号化技術が広く採用されています。 現在、TVセット、プレーヤー、ゲーム機など、市場に出回っている消費者向けマルチメディアAV・エンターテイメント製品のほとんどは、基本的にHDCPをサポート機能として採用しています。

 

メーカーがこの保護技術を使用する場合、まずDCP(Digital Content Protection)協会に加盟し、年会費15,000米ドルを支払った後、DCP協会からコンテンツの暗号化に使用するKeyを購入する必要があります。Keyの価格は、購入数量によって異なります。表1をご参照ください。

表1 HDCP Key価格

 

購入した "KEY "には、HDCP暗号化で最も重要なリンクである特殊なKey Selection Vector(KSV)が含まれています。 これは20個の "0 "と20個の "1 "からなる2進数値です。 送信側と受信側は、互いのKSVを確認し、正規の接続であることを確認します。 各機器は固有のKEYを持ち、このKEYはDCP Associationのリストに保存されています。

トランスミッター、レシーバー、リピーターの3つは、HDCPシステムのキーデバイスです。HDCP1.xの仕様では、最大で7層のリピーターと128台のデバイスをシステムに接続することができます。各製品の接続形態を図1に示します。

図1 HDCP システムツリー (source: HDCP Specification Rev1_4)

 

認証プロトコルに基づき、トランスミッターとレシーバーのKeyを交換することで、トランスミッターはレシーバーがHDCPで暗号化されたデジタルビデオやオーディオコンテンツを受信することができる認可機器であるかどうかを確認することができます。 このKey交換方式による認証プロトコルでは、両機器はDCPアソシエーションから認可されたDevice Private Keysを使用して暗号化計算を行い、共有秘密値を取得し、両機器が認可機器であるかどうかを確認します。

認証には第1か第3の3つの重要な認証プロトコルがあります。

 

第1認証プロトコル

このステップでは、トランスミッター、レシーバー、リピーターの間で鍵の交換を行い、両者間の接続が正当であることを確認するための計算が行われます。

図2 第1認証プロトコル

 

ステップ:
トランスミッターはいつでも HDCP 認証を開始することができる。
トランスミッターはレシーバーにAksvとAnを送信する。(AKsv:送信機のKSV、An:64ビットのランダムな値)。
レシーバーはBksvとREPEATERビットを送信して応答する(Bksv:レシーバーのKSV、REPEATERビット:レシーバーがリピーターであるかどうかを示す)。
Km(共有秘密値)は、トランスミッターに接続された機器の返送されたKSVに対応する機器秘密鍵をパラメータとして、56ビットの2進数加算により算出される。接続された機器のKm'(共有秘密値)も同様の方法で算出する。

HDCPの暗号単位は、Km、repeater||AnなどのパラメータでKs、M0、R0が算出されることになる。

Ks:セッションキー、HDCPの暗号単位で56ビットの秘密鍵である。

M0:64ビットの秘密値であり、認証プロトコルの第2部で使用される。

R0:16ビットの戻り値で、受信機から送信機へ、認証交換が成功したことを示すために返送される。

R0= R0'の場合、認証が完了した時点でHDCP復号化を開始する。
トランスミッターはAksv100msを書き込んだ後、R0'を読み出すことができる。

 

第2認証プロトコル

本ステップでは、下位装置がリピーターの場合、下位装置のKSVを全て収集し、上位装置に報告します。 本ステップは、下位装置がリピーターの場合のみ実行されます。

図3 第2認証プロトコル

 

ステップ:

  1. トランスミッターは、5秒以内にステップが完了するように5秒間の待ち時間を設定し、下位のKSVリストとReadyビットの状態を問い合わせる。
  2. 下位のリピーターはReady bit=1と収集したKSVリストをトランスミッターに送信する。
  3. 下位リピーターは、収集したKSVリスト、Bstatus、認証プロトコル第1部で算出したM0'を用いて、SHA-1計算方式でV'を算出する。
  4. 上位リピーターは、同様にVを算出し、下位リピーターから返されたV'と比較する。V≠V'の場合、過去5秒以内にREADYステータスビット=1をトランスミッターに送ることは不可能であり、KSVリストの整合性に問題があることを示す。
  5.  V=V'の場合、トランスミッターはKSVリスト、VおよびV'を再度チェックする。

ケース:

  1. KSVリストのサイズがトランスミッタの容量を超える。
  2. V≠V'である。
  3. トランスミッターが5秒以内にReady bit =1を受信していない。

 

接続を終了し、再度第1認証プロトコルを試みる。

リピーターはKSVの完全なリストを収集するだけでなく、BstatusのDEVICE_COUNTとDEPTHをトランスミッターに報告し、トランスミッターはHDCPシステム全体のレイヤー数と接続されたデバイスの数がHDCPシステムの上限を超えていないかどうかをチェックできるようにします。

 

第3認証プロトコル

このステップでは、2つのHDCP機器の暗号化周波数や暗号化シーケンスが一致・同期しているかどうかを確認し、同時に追加の認証メカニズムを生成します。

図4 第3認証プロトコル

 

ステップ:

  1. 両デバイスでKi、Mi、Riを計算する
    Ki: 56ビットの値で、HDCP暗号ユニットの復号化、暗号化を初期化する。
    Mi: HDCP暗号ユニットを初期化する64ビットの値
    Ri: トランスミッターとレシーバーが正規のものであることを確認するための16bitの値
  2. i はフレーム番号。認証プロトコルの1部が終了し、最初の暗号化フレームが開始された時点で算出される。各フレームまたは各暗号化フレームは、上方にインクリメントされる
  3. RiとRi'は128フレームごとに再計算される。
  4. トランスミッターは、2秒ごとにRiとRi'を比較する。
  5. トランスミッターは1ms以内にRi'を読み取る必要がある。
  6. デバイスが 1.1_FEATURES をサポートしている場合、Pj は 16 フレームに一度だけチェックされます。チェック中に3回連続してPjエラーが発生した場合、画素送信エラーと判定する。

 

消費者がBlu-ray DiscなどのHDCPで保護されたデジタルマルチメディア音声・映像コンテンツを視聴する場合、DVDプレーヤーとレシーバー(テレビ、モニター)の双方がキーを内蔵し、上記の検証手順が可能でなければ、高解像度デジタル映像コンテンツが利用できない可能性があります。 HDCP1.4に加え、HDMI2.0(現時点ではHDMI2.1)の更新に伴い、DPC協会でも2013年に高解像度のコンテンツを保護するHDCP2.2を公開し、2018年にHDCP2.3に更新しています

 

参考文献

  • High-bandwidth Digital Content Protection System, Revision 1.4. 8 July, 2009
  • High-bandwidth Digital Content Protection Specification Compliance Test Specification, Revision 1.2. November 18, 2009

 

著者
Ray Yang, test engineer of GRL (Taiwan Province)
国立台湾科学技術大学化学工学部卒業。
HDMI、MIPI、V by Oneなどのテスト仕様に精通し、GRLでのHDMIテストに関して3年以上の経験を持つ。現在、主にGRL(台湾)のHDMI試験を担当し、顧客がHDMIの問題を解決し、認証取得を成功させるためのサポートを行っています。

 

このブログに関してご質問やご相談は以下よりどうぞ。