
UM2262 Rev 6
61/94
UM2262
Secure Engine protected environment
93
A.1 Firewall-based
Secure Engine Isolation
A.1.1
SE core call gate mechanism
The firewall is opened or closed using a specific "call gate" mechanism: a single entry point
(placed at the 2nd word of the Code segment base address) must be used to open the gate
and to execute the code protected by the firewall. If the protected code is accessed without
passing through the call gate mechanism then a system reset is generated.
As the only way to respect the call gate sequence is to pass through the single call gate
entry point, therefore, if the application requires to have multiple functions protected by the
firewall and called from unprotected code outside it (e.g. encrypt and decrypt functions), a
way to select which of the internal functions to execute is needed. A solution is to use a
parameter to specify which function to execute, for instance CallGate(F1_ID),
CallGate(F2_ID), and so on. According to the parameter, the right function is internally
called.
Figure 31. Firewall call gate mechanism
Caution:
The code section must include all the code executed when the firewall is open. For instance,
if the call sequence is callgate->f1()->f1a()->f1b(), all the three functions f1(), f1a() and f1b()
must be included in the code section.
shows the steps to perform cryptographic operations (that require access to the
key) in order to respect the call gate mechanism.
For the cryptographic functions: