在对一些加密敏感函数进行恒定执行时间测试时、我们遇到了与指令缓存相关的问题。 函数的第一次执行总是比随后的迭代慢一点。 根据我可以找到的信息、仅缓存指令、这与正在处理的实际数据无关。 因此、对于我们的测试系统、我们只需禁用这种缓存行为即可获得一致的结果。
假设是否正确、或者是否存在一些与我不知道的执行时间可能会受到所处理的实际数据影响的边沿情况? 换句话说、CC1350上的缓存行为是否以加密方式安全?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在对一些加密敏感函数进行恒定执行时间测试时、我们遇到了与指令缓存相关的问题。 函数的第一次执行总是比随后的迭代慢一点。 根据我可以找到的信息、仅缓存指令、这与正在处理的实际数据无关。 因此、对于我们的测试系统、我们只需禁用这种缓存行为即可获得一致的结果。
假设是否正确、或者是否存在一些与我不知道的执行时间可能会受到所处理的实际数据影响的边沿情况? 换句话说、CC1350上的缓存行为是否以加密方式安全?
您好、Kim、
我只得到以下答案:
"
Kim、
感谢您提出您的观察和疑虑。 对于响应出现延迟、我们深表歉意。
我们对您的报告进行了调查、分配的 PSIRT 编号为 TI-PSIRT-2023-07187。
CC13x0和 CC26x0系列器件、包括 CC1350、包含 AES 硬件加速器、它能够以恒定时间方式相对于数据和键值实现 AES 算法。 此外、由于 AES 算法是在硬件中实现的、因此 SoC 的高速缓存不会影响 AES 实施的安全性。 当然、这假定软件正在使用 AES 硬件加速器而没有在软件中实现 AES。 因此、我们鼓励客户使用 TI 在其针对这些部件的 SDK 中提供的 AES 软件驱动程序、因为这些部件的驱动程序使用 AES 硬件。
我们相信您看到的时间差异是由于软件驱动程序代码的缓存造成的、这是正确的。 系统设计以及禁用缓存时的测试观察结果都支持这一结论。
因此、我们不认为观察到的时序差异会对 AES 密钥的机密性或 AES 引擎正在处理的数据造成任何风险。
将来、请就此漏洞或任何其他疑似漏洞直接与 PSIRT 团队联系。 如需更多信息、请参阅 https://www.ti.com/psirt。 这样、如果我们得出结论认为存在漏洞、我们就可以遵循行业标准披露敏感信息。 如果您询问已向 PSIRT 报告的问题、如果包含 PSIRT 编号、将会有所帮助。 同样、对于本报告、编号是 TI-PSIRT-2023-07187。 如果您有任何其他问题、请联系我们。 但是、目前我们计划不对 TI-PSIRT-2023-07187采取进一步的措施。
再次感谢大家、此致、
TI PSIRT。
"
此致、
亚瑟