次に、PLM でセキュア ロックダウンがトリガーされるさまざまなシナリオを示します。
不正操作イベント
不正操作イベントが発生した場合、応答は TAMPER_RESP_X レジスタで SYS_INTERRUPT
として設定され、実際のセキュア ロックダウン応答は予約済みの RTCA の位置で設定されます。このシーケンスについては、PLM ロックダウン フロー で説明しています。
ブート エラー
ブート エラーが発生し、Halt-on-Boot eFuse がプログラムされている場合、PLM 内でセキュア ロックダウンがトリガーされます。ブート モードが JTAG ではなく、PLM_DEBUG_MODE
が有効になっていない場合、PLM は Halt-on-Boot eFuse がプログラムされているかどうかをチェックします。
- eFuse がブローされていない場合、マルチブートを実行します。
- eFuse がプログラムされている場合、BootROM インプリメンテーションと同じ
SEC_LOCKDOWN_0
応答でセキュア ロックダウンを実行し、次に PMC のセキュア ロックダウンを実行するために RCU に対してTAMPER_RESP_0
をトリガーします。
IPI によるセキュア ロックダウン
ホストが TamperTrigger
IPI コマンドを PLM に送信すると、セキュア ロックダウンがトリガーされます。
この API は、タンパー応答に言及する単一のペイロードを持つ IPI によってサポートされます。有効なタンパー応答は、SEC_LOCKDOWN_0
、SEC_LOCKDOWN_1
、および SRST
です。この関数は、受信したタンパー応答ペイロードの引数を検証します。コマンド内で受信したタンパー応答が有効な場合、受信したタンパー応答を実行します。それ以外の場合、一意のエラー コードを返します。
コマンド フォーマット | ||||
---|---|---|---|---|
予約 [31:25]=0x0 | セキュリティ フラグ [24] | 長さ [23:16]=1 | PLM=1 | CMD_TAMPER_TRIGGER=35 |
予約 [31:8] | タンパー応答 [7:0] |
このコマンドは、タンパー応答をトリガーします。成功した場合、PLM は応答を送信せず、RCU 上で動作する BootROM にハンドオフします。有効なタンパー応答は次のとおりです。
フィールド名 | ビット | 説明 |
---|---|---|
BBRAM_ERASE | 4 | 指定されたタンパー応答に加えて不揮発性 BBRAM キーをゼロ化します。 |
SYS_LOCKDOWN_1 | 3 | I/O がトライステートになるセキュア ロックダウン。複数のビットがセットされた場合、MSB ビットのみが有効になります。 |
SYS_LOCKDOWN_0 | 2 | I/O がトライステートにならないセキュア ロックダウン。複数のビットがセットされた場合、MSB ビットのみが有効になります。 |
SRST | 1 | システム リセット。 |
予約 | 0 | 有効ではありません。 |