インテルのみ表示可能 — GUID: ssk1559224156826
Ixiasoft
インテルのみ表示可能 — GUID: ssk1559224156826
Ixiasoft
5.1.10. HDCP 2.3 TXのアーキテクチャー
- コントロールおよびステータスレジスター・レイヤー
- 認証と暗号化レイヤー
- ビデオストリームおよび補助レイヤー
通常、Nios IIプロセッサーによりHDCP 2.3 TXコアを駆動します。プロセッサーは認証プロトコルを実装します。プロセッサーは、Avalon Memory Mapped (Avalon-MM) インターフェイスを使用して、コントロールおよびステータスポートを介してIPにアクセスします。
HDCP仕様の要件により、HDCP 2.3 TXコアはDCP発行のプロダクション・キー、つまりグローバル定数 (lc128) でプログラムする必要があります。IPは、HDCP Keyポートを介してコアの外部にあるオンチップメモリーからキーを取得します。オンチップメモリーでは、次の表に示す配置でキーデータを格納する必要があります。
アドレス | コンテンツ |
---|---|
2'h3 | lc128[127:96] |
2'h2 | lc128[95:64] |
2'h1 | lc128[63:32] |
2'h0 | lc128[31:0] |
ビデオストリームおよび補助レイヤーでは、ビデオおよび補助データ入力ポートを介してオーディオおよびビデオコンテンツを受信し、暗号化操作を実行します。ビデオストリームおよび補助レイヤーでは、HDMI TXコアによって提供される暗号化ステータス信号 (ESS) を検出し、フレームを暗号化するタイミングを決定します。
HDCP 2.3のレジスターを使用して、認証を実行することができます。HDCP 2.3 TXコアは、認証に向けて完全なハンドシェイク・メカニズムをサポートしています。発行されるすべてのコマンドでは、対応するステータスビットのアサートがポーリングされ、その後次のコマンドの発行が開始します。CRYPTO_CMD の値は、一度に1ビットしか設定できないワンホット形式にする必要があります。
アドレス | レジスター | R/W | リセット | ビット | ビット名 | 詳細 |
---|---|---|---|---|---|---|
0x00 | CRPYTO_CMD (ワンホット) | WO | 0x00000000 | 31:11 | Reserved | 予約済み |
10 | GO_HMAC_M | 1に設定すると、Mを計算してM’と照合します。動作がビジー状態になるとセルフクリアされます。 | ||||
9 | GO_HMAC_V | 1に設定すると、Vを計算してV’と照合します。動作がビジー状態になるとセルフクリアされます。 | ||||
8 | GEN_RIV | 1に設定すると、新しいランダムrivを生成して受信します。動作がビジー状態になるとセルフクリアされます。 | ||||
7 | GEN_EDKEYKS | 1に設定すると、新しいランダムEdkey (ks) を生成して受信します。動作がビジー状態になるとセルフクリアされます。 | ||||
6 | GO_HMAC_L | 1に設定すると、Lを計算してL’と照合します。動作がビジー状態になるとセルフクリアされます。 | ||||
5 | GEN_RN | 1に設定すると、新しいランダムrnを生成して受信します。動作がビジー状態になるとセルフクリアされます。 | ||||
4 | GO_HMAC_H | 1に設定すると、Hを計算してH’と照合します。動作がビジー状態になるとセルフクリアされます。 | ||||
3 | GO_KD | 1に設定すると、kd (dkey0、dkey1) を計算します。動作がビジー状態になるとセルフクリアされます。 | ||||
2 | GEN_EKPUBKM | 1に設定すると、新しいランダムEkpub (km) を生成して受信します。動作がビジー状態になるとセルフクリアされます。 | ||||
1 | GO_SIG | 1に設定すると、署名が検証されます (certrxまたはSRM)。動作がビジー状態になるとセルフクリアされます。 | ||||
0 | GEN_RTX | 1に設定すると、新しいランダムrtxを生成して受信します。動作がビジー状態になるとセルフクリアされます。 | ||||
0x01 | CRYPTO_MSGDATAIN | WO | 0x00000000 | 31:8 | Reserved | 予約済み |
7:0 | MSGDATAIN | バーストモードでレシーバーからメッセージを書き込みます (バイト単位)。
|
||||
0x02 | CRYPTO_STATUS | RO | 0x00000000 | 31 | SIG_OK | コアによってアサートされ、署名検証が合格したことを示します。SIG_OK を読み出す前に、SIG_DONE が設定されるまでポーリングします。 |
30 | H_OK | コアによってアサートされ、HとH’の比較が合格したことを示します。H_OK を読み出す前に、H_DONE が設定されるまでポーリングします。 | ||||
29 | L_OK | コアによってアサートされ、LとL’の比較が合格したことを示します。L_OK を読み出す前に、L_DONE が設定されるまでポーリングします。 | ||||
28 | V_OK | コアによってアサートされ、VとV’の比較が合格したことを示します。V_OK を読み出す前に、V_DONE が設定されるまでポーリングします。 | ||||
27 | M_OK | コアによってアサートされ、MとM’の比較が合格したことを示します。M_OK を読み出す前に、M_DONE が設定されるまでポーリングします。 | ||||
26:11 | Reserved | 予約済み | ||||
10 | M_DONE | MとM’の比較が完了するとコアによってアサートされます。次の GO_HMAC_M が設定されるとセルフクリアされます。 | ||||
9 | V_DONE | VとV’の比較が完了するとコアによってアサートされます。次の GO_HMAC_V が設定されるとセルフクリアされます。 | ||||
8 | RIV_DONE | rivが生成され、MSGDATAOUT から読み出す準備ができるとコアによってアサートされます。次の GEN_RIV が設定されるとセルフクリアされます。 | ||||
7 | EDKEYKS_DONE | Edkey(ks) が生成され、MSGDATAOUT から読み出す準備ができるとコアによってアサートされます。次の GEN_EDKEYKS が設定されるとセルフクリアされます。 | ||||
6 | L_DONE | LとL’の比較が完了するとコアによってアサートされます。次の GO_HMAC_L が設定されるとセルフクリアされます。 | ||||
5 | RN_DONE | rnが生成され、MSGDATAOUT から読み出す準備ができるとコアによってアサートされます。次の GEN_RN が設定されるとセルフクリアされます。 | ||||
4 | H_DONE | HとH’の比較が完了するとコアによってアサートされます。次の GO_HMAC_H が設定されるとセルフクリアされます。 | ||||
3 | KD_DONE | kdが生成されるとコアによってアサートされます。次の GO_KD が設定されるとセルフクリアされます。 | ||||
2 | EKPUBKM_DONE | Ekpub (km) が生成され、MSGDATAOUT から読み出す準備ができるとコアによってアサートされます。次の GEN_EKPUBKM が設定されるとセルフクリアされます。 | ||||
1 | SIG_DONE | 署名検証が完了するとコアによってアサートされます。次の GO_SIG が設定されるとセルフクリアされます。 | ||||
0 | RTX_DONE | rtxが生成され、MSGDATAOUT から読み出す準備ができるとコアによってアサートされます。次の GEN_RTX が設定されるとセルフクリアされます。 | ||||
0x03 | CRYPTO_MSGDATAOUT | RO | 0x00000000 | 31:8 | Reserved | 予約済み |
7:0 | MSGDATAOUT | バーストモードでIPコアからメッセージを読み出します (バイト単位)。
|
||||
0x04 | VID_CTL | RW | 0x00000000 | 31:1 | Reserved | 予約済み |
0 | HDCP_ENABLE | 1に設定すると、HDCP 2.3暗号化が有効になります。HDCP 2.3暗号化が必要ない場合、特に認証されていない状態の場合は0に設定します。 |