I have been reading and thinking about timing attacks on cryptographic systems. The answer to this question mentions the following:
"The way to defend against timing attacks is to make sure the time taken to execute cryptographic operations does not depend on any secret information."
My question is, assuming a model where an adversary is connected to an oracle via networking, would write buffering socket.send at the application level to only occur every x milliseconds protect against crypto operations that would otherwise leak data?
My idea is to use the select system call say, every .01 seconds, to handle any reads and writes. Since data would only leave the server at constant intervals, does it matter if short circuit comparisons or the like were used?
The most obvious downside I can think of is that it would add some latency to all application network requests, even non crypto related ones.
Is this a valid defense against side channel attacks in situations where networking delivers the queries/responses?