Skip to content
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

[rv_core_ibex] Switch single to multi-bit encoding for Lockstep Enable #20779

Closed
nasahlpa opened this issue Jan 7, 2024 · 4 comments
Closed
Assignees
Labels
Priority:P1 Priority: high Security Report Issue tagged as potentially having security implications

Comments

@nasahlpa
Copy link
Member

nasahlpa commented Jan 7, 2024

Currently, a single bit controls whether the outputs of the main and shadow Ibex core are compared, i.e., a single bit is responsible for enabling / disabling the lockstep:

assign outputs_mismatch = enable_cmp_q & (shadow_outputs_q != core_outputs_q[0]);

Hence, a permanent stuck-at 0 fault could allow an adversary to reduce the FI resilience of Ibex.

I would suggest extending this signal to a multi-bit encoded signal.

FYI @vogelpi @msfschaffner @johannheyszl.

@nasahlpa nasahlpa added Priority:P1 Priority: high Security Report Issue tagged as potentially having security implications labels Jan 7, 2024
@nasahlpa nasahlpa added this to the Earlgrey-PROD.M2 milestone Jan 7, 2024
@msfschaffner
Copy link
Contributor

I agree, something like a MuBi4 or MuBi8 would be adequate for this enablement... I believe other places use MuBi8 for CSR-based enablement, so we could go with that.

@nasahlpa
Copy link
Member Author

nasahlpa commented Jan 8, 2024

Thanks for the comment @msfschaffner. Yes, I think this should be fairly easy to implement - I'll work on it.

@nasahlpa
Copy link
Member Author

I've provided a fix in PR#2129 in the Ibex repository.

@GregAC
Copy link
Contributor

GregAC commented Feb 7, 2024

Closing as the fix is merged into Ibex, bringing the fix into OT is covered by #21128

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority:P1 Priority: high Security Report Issue tagged as potentially having security implications
Projects
None yet
Development

No branches or pull requests

3 participants