-
Notifications
You must be signed in to change notification settings - Fork 779
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[tlul] TL-UL data
zeroing inconsistencies
#17330
Comments
@andreaskurth As far as M2.5 is concerned, I guess here only the security sensitive data that is left on the bus could be a problem. For instance, in the first example we see the key that is being read at 32 bit granularity lives on the bus for a while. |
data
zeroing inconsistenciesdata
zeroing inconsistencies
I'll take a look at what's happening on the Ibex side, I can't remember off hand how the TL-UL wrapper is implemented but it may be we need to explicitly zero out the write data from Ibex. We could it in the TL-UL wrapper itself but it would be sensible feature for Ibex secure configuration anyway (i.e. for users outside of OpenTitan). |
I think setting TL-UL output explicitly to zero when not used is a good idea. From the first waveform (highlighted with light blue), it seems like even when Ibex TL-UL output moves to another value, the value seen by keymgr's TL-UL input remains same. I couldn't dig into it, but maybe there is also a generic TL-UL primitive that is feeding this value from xbar. |
As discussed in Security WG (16/03/2023), this is not a necessary fix for M2.5, therefore I will mark it as FutureRelease. I will just repeat some notes from this meeting: As pointed out by @zi-v and @moidx, if we force this behavior (i.e. always zero after transaction) at HW level, then this is not something we can revert at SW. On the other hand, in the case data is left on the bus, we can prevent this by dummy TL-UL transactions. The latter option is allows more flexibility in the face of risks posed by certification process. Reconciling this with the contradictory outcome of #16767, I think what really remains for the FutureRelease is to ensure consistency regardless of which of the two strategies we choose. |
We have discussed the security implications in the previous issue #16767 and concluded on no HW change for security, but needs to be considered for cryptolib SW dev. Removing Hostlist:Security hence. This issue here is meant to discuss TL-UL data zeroing from a design consistency stand-point. |
Thanks @johannheyszl, considering that we would like to minimize changes at this point, I advocate close as not planned for now if this is not required from a security standpoint. @GregAC @vogelpi @andreaskurth WDYT? |
I agree that this isn't needed for the current release. For a future release, however, we may want to consider an enhancement where SW can configure |
Agreed with @andreaskurth |
Leaving this as sounds good to me for Eearlgrey-PROD. There are two separate things to take care of, both wouldn't be hard but I agree to minimize changes at this point. For future releases, the following needs to be taken care of:
|
Description
This is a spin-off from #16767 concerning the inconsistencies observed at TL-UL
data
port. In the earlier issue, there was a consensus that, all things considered, we would like to clear the value ofdata
after a TL-UL transaction is completed (with an exception to entropy related data/randomness, @vogelpi).Using the same waveform examples, notice the following highlighted inconsistencies:
Expected behavior:
Unexpected observation:
The text was updated successfully, but these errors were encountered: