-
Notifications
You must be signed in to change notification settings - Fork 148
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
pRuntime: Manually encrypted worker privkey and gk master key #1370
base: master
Are you sure you want to change the base?
Conversation
目前有没有临时的办法去恢复正常使用? |
很遗憾没有。即便这个PR上线也只是让以后不发生这个故障,我们也无法恢复已经坏掉的worker。 |
重启就会坏掉的情况下,暂时未重启时,使用这个PR上线后的版本后,再重启可以不坏吗? |
目前我们观察到的坏掉的原因是CPU固件升级后cpu_svn变化,导致gramine的加密文件系统从CPU取得的密钥发生变化。 您说的重启就坏掉我们目前暂未清楚具体原因,当然大多数情况是cpu_svn变化引起的,也就是一般情况此PR能解决。 |
已全部恢复 |
是的,我通过降级到更新前的微码,全部恢复成功,那么后面还需要更新到最近的pruntime吗,有没有发布时间 |
降级只是临时方案,总还是得升 |
这个改动涉及基础的 key 操作,比较重要,review 和测试估计会多花一些时间。先 workaround 保证挖矿能正常运行吧,我们弄完了尽快 Update |
d027a6a
to
dc67cd0
Compare
dc67cd0
to
dbff650
Compare
After a system reboot, some workers are no longer able to load their private keys. Upon investigation, we discovered that the CPU_SVN may change due to kernel updates or CPU firmware upgrades, which consequently breaks the Gramine encrypted file system.
This PR resolves the issue by abandoning the Gramine file system. Instead, we manually encrypt the keys using the MRENCLAVE sealing key. The CPU_SVN and ISV_SVN values are saved in the front of the encrypted file, allowing for the retrieval of the sealing key even after a firmware upgrade, using the previously stored CPU_SVN.
Tested:
@h4x3rotab @shelvenzhou This PR touches the critical part. Please review carefully.