4 ms·
It could use the x87 floating point register stack to store the encryption secret. These registers are not used unless there would be some assembly in the SSH l
by Klasiaster 7y ago
It could use the x87 floating point register stack to store the encryption secret. These registers are not used unless there would be some assembly in the SSH libs that accesses them.
- Liquid_Fire 7y agoWouldn't they be saved to memory anyway on a context switch?
- Klasiaster 7y agoYes, but I thought this is done in kernel space and a userspace attack has no access to that while the syscall is served.
- Liquid_Fire 7y agoThat is true - it's probably more secure than storing them in the process, but several of these side-channel attacks can apply to kernel space (depending on hardware and security patches applied). It's also not portable - OpenSSH runs on non-x86 architectures, and they might not have spare basically unused registers lying around. Finally, I'm not sure the x87 registers have enough space to fit these keys. You have 8 80-bit registers, for a total of 640 bits. Your typical SSH private key might be 2048 bits or more. So it's a fun and creative line of thinking, but probably not practical in this case.