インテルのみ表示可能 — GUID: mwn1570429554378
Ixiasoft
インテルのみ表示可能 — GUID: mwn1570429554378
Ixiasoft
4.2. HDMIを介したHDCPのデザイン例のアーキテクチャー
- ソース (TX)
- シンク (RX)
- リピーター
このデザイン例は、リピーターデバイス内のHDCPシステムを示しており、データを受け入れ複合化し、その後再度データを暗号化して、最後にデータを再送します。リピーターには、HDMIの入力と出力があります。FIFOバッファーをインスタンス化し、HDMIのシンクとソース間で直接HDMIビデオストリームのパススルーを行います。また、いくつかの信号処理を行うことができます。それには、FIFOバッファーをVideo and Image Processing (VIP) Suite IPコアに置き換えることで、ビデオをより解像度の高い形式に変換することなどが含まれます。
次のデザイン例のアーキテクチャーに関する説明は、HDMIを介したHDCPのデザイン例のブロック図に対応するものです。SUPPORT FRL = 1またはSUPPORT HDCP KEY MANAGEMENT = 1の場合、デザイン例の階層は 図 29 とはわずかに異なりますが、基礎となるHDCPの機能は同じです。
- HDCP1xおよびHDCP2xはIPであり、HDMI Intel® FPGA IPのパラメーター・エディターを介して利用することができます。HDMI IPをパラメーター・エディターでコンフィグレーションすると、HDCP1xまたはHDCP2xの一方、もしくは両方のIPをサブシステムの一部として有効にして含めることができます。両方のHDCP IPが有効になっている場合、HDMI IPはカスケードトポロジーでコンフィグレーションされ、HDCP2x IPとHDCP1x IPは連続して接続されます。
- HDMI TXのHDCP出力インターフェイスは、暗号化されていないオーディオ・ビデオ・データを送信します。
- 暗号化されていないデータはアクティブなHDCPブロックによって暗号化され、HDCP入力インターフェイスを介してHDMI TXに戻され、リンクを介して送信されます。
- 認証マスター・コントローラーとしてのCPUサブシステムは、いかなる場合でもHDCP TX IPの一方のみがアクティブであり、別のIPはパッシブであることを保証します。
- 同様に、HDCP RXもまた、外部HDCP TXからリンクを介して受信したデータを複合化します。
- Digital Content Protection (DCP) 発行のプロダクション・キーを使用して、HDCP IPをプログラミングする必要があります。次のキーをロードします。
表 52. DCP発行のプロダクション・キー HDCP TX/RX キー HDCP2x TX 16バイト: グローバル定数 (lc128) RX - 16バイト (TXと同じ): グローバル定数 (lc128)
- 320バイト: RSA秘密鍵 (kprivrx)
- 522バイト: RSA公開鍵証明書 (certrx)
HDCP1x TX - 5バイト: TX鍵選択ベクトル (Aksv)
- 280バイト: TX秘密デバイス鍵 (Akeys)
RX - 5バイト: RX鍵選択ベクトル (Bksv)
- 280バイト: RX秘密デバイス鍵 (Bkeys)
デザイン例では、シンプル・デュアルポート、デュアルクロック同期RAMとしてキーメモリーを実装します。HDCP2x TXなどの小さな鍵長の場合、IPは通常のロジックのレジスターを使用してキーメモリーを実装します。
注: インテルでは、いかなる場合においても、デザイン例でHDCPのプロダクション・キーまたはインテル FPGA IPを提供することはありません。HDCP IPまたはデザイン例を使用するには、HDCPの利用者となり、Digital Content Protection LLC (DCP) から直接プロダクション・キーを取得する必要があります。デザイン例を実行するには、キー・メモリー・ファイルをコンパイル時に編集してプロダクション・キーを含める、もしくはロジックブロックを実装してランタイムに外部ストレージデバイスからプロダクション・キーを安全に読み出し、それらをキーメモリーに書き込む必要があります。
- HDCP2x IPに実装されている暗号化機能では、最大200MHzの周波数のクロックを使用することができます。このクロックの周波数により、HDCP2xの認証動作の速度が決まります。Nios IIプロセッサーに使用される100MHzのクロックを共有することもできますが、認証のレイテンシーは200MHzのクロックを使用している場合に比べて2倍になります。
- HDCP TXとHDCP RX間でやり取りする必要がある値は、HDCPで保護されているインターフェイスのHDMI DDCインターフェイス (I2Cシリアル・インターフェイス) を介して通信されます。HDCP RXでは、サポートするリンクごとにI2Cバスのロジカルデバイスを提供する必要があります。I2Cスレーブは、デバイスアドレス0x74でHDCPポートに複製されます。これは、HDCP2x RX IPとHDCP1x RX IPのHDCPレジスターポート (Avalon-MM) を駆動します。
- HDMI TXは、I2Cマスターを使用してEDIDをRXから読み出し、HDMI 2.0の動作に必要なSCDCデータをRXに転送します。また、Nios IIプロセッサーによって駆動される同じI2Cマスターを使用し、HDCPメッセージをTXとRX間で転送します。I2Cマスターは、CPUサブシステムに組み込まれています。
- Nios IIプロセッサーは認証プロトコルでマスターとして機能し、HDCP2xおよびHDCP1xの両方のTX IPのコントロールおよびステータスレジスター (Avalon-MM) を駆動します。 ソフトウェア・ドライバーは、認証プロトコルのステートマシンを実装します。これには証明書の署名検証、マスター鍵の交換、位置の確認、セッション鍵の交換、ペアリング、リンクの整合性チェック (HDCP1x)、リピーターでの認証 (トポロジー情報の伝播、ストリーム管理情報の伝播など) が含まれます。ソフトウェア・ドライバーは、認証プロトコルで必要な暗号化機能を実装しません。代わりに、HDCP IPハードウェアですべての暗号化機能を実装し、機密値にアクセスできないようにします。
- 真のリピーターのデモンストレーションでは、トポロジー情報をアップストリームに伝播する必要があります。その際に、Nios IIプロセッサーは、HDCP2xおよびHDCP1xの両方のRX IPのリピーター・メッセージ・ポート (Avalon-MM) を駆動します。Nios IIプロセッサーは、接続しているダウンストリームがHDCP対応ではないことを検出した場合、またはダウンストリームの接続がない場合に、RXのREPEATERビットを0にクリアします。ダウンストリームの接続がない場合は、RXシステムはリピーターではなくエンドポイントのレシーバーになります。逆に、ダウンストリームがHDCPに対応していることを検出すると、Nios IIプロセッサーはRXのREPEATERビットを1に設定します。