2 ms·
I don't see it. I get what you're saying, but how does latency not swallow that difference? Or load balancing, or routing through the internal network behind
by mreiland 12y ago
I don't see it. I get what you're saying, but how does latency not swallow that difference? Or load balancing, or routing through the internal network behind the router.
It's really hard for me to buy that an attacker can determine the execution characteristics of your crypographic functions via ping over the internet.
- renfredxh 12y agoHe/she said "ignoring loads of complexity". It was a gross oversimplification, but over thousands of trials it is possible to extract the information using a similar method.
- mreiland 12y agoI'm interested in reality, not an oversimplification for academic reasoning. I thought that was clear.
- matthewmacleod 12y agoIt's not much of a stretch from the Lucky 13 attack (http://www.isg.rhul.ac.uk/tls/TLStiming.pdf http://www.isg.rhul.ac.uk/tls/TLStiming.pdf) to something like I described – it might be worth having a look at that paper if you're interested in seeing how much information can be extracted from delicate timing changes! I understand your scepticism, but there have been a fair few timing attacks showing the viability of this approach.
- mreiland 12y agoIt isn't the idea of a timing attack I take issue with. I can understand how that could be possible. I don't understand why purposefully having everything related to cryptography taking a predetermined time doesn't solve it. That's where my skepticism occurs. I've had people mention OS page faults, ping requests, and DDOS concerns and I don't buy any of it. if the timing is really so tight that a page fault can throw you off, there's no way an outside attacker could possibly glean anything useful from the timing. The timings by definition have to be varying more than that. I don't buy the DDOS because cryptographic functions are designed to be slow, we're not trying to make them slower, we're trying to make them even between requests. Choose a reasonable delta and anything that blows that delta starts over with another delta instead of just returning. I don't understand why that wouldn't solve the problem reasonably. At this point I feel like it's an academic exercise rather than a practical one. I'll openly admit a lot of these points become moot if the attacker has access to the machine itself where something like latency cannot dwarf the timings of the functions themselves (when they're specifically made to wait for a delta).