この製品は、同じレジスタ・ロック制御ビットによって変更から保護される大きなアドレス領域を定義している。このため、一部のアドレスが動作中にソフトウェアによって書き込み可能である必要があるという機能要件と、システム・コンフィギュレーション・ロック・ビットがブート・プロセス中に設定されていなければならないというセキュリティ要件の間で矛盾が生じる。
集積回路やハードウェア IP は、信頼できるファームウェアやソフトウェア・モジュール(一般的に BIOS/ブートローダによって設定される)により、デバイスのパワー・リセット後にプログラムされる必要のあるデバイ ス・コンフィギュレーション・コントロールを公開することができ、その後、いかなる変更からもロックされる。ハードウェア設計では、これは一般的に、保護されたレジスタ・セットやアドレス領域への書き込みを有効/無効にするプログラマブル・ロック・ビットを使用して実装されます。プログラマブル・ロック・ビットが設定されると、関連するアドレス領域はハードウェア・ロジックにハードコードされた値として実装され、後で変更することはできません。
保護領域の定義が十分な粒度でない場合、問題が発生する可能性があります。プログラマブル・ロック・ビットが設定された後は、ハードウェア設計を変更することなく新しい機能を実装することはできません。
The product defines a large address region protected from modification by the same register lock control bit. This results in a conflict between the functional requirement that some addresses need to be writable by software during operation and the security requirement that the system configuration lock bit must be set during the boot process.
Integrated circuits and hardware IPs can expose the device configuration controls that need to be programmed after device power reset by a trusted firmware or software module (commonly set by BIOS/bootloader) and then locked from any further modification. In hardware design, this is commonly implemented using a programmable lock bit which enables/disables writing to a protected set of registers or address regions. When the programmable lock bit is set, the relevant address region can be implemented as a hardcoded value in hardware logic that cannot be changed later.
A problem can arise wherein the protected region definition is not granular enough. After the programmable lock bit has been set, then this new functionality cannot be implemented without change to the hardware design.