News for hackers. Stuff that matters.
Re:TLS/SSL implementation in Haskell by stcredzero on Wednesday April 09, 2014 @12:51PM (#7560514)
How hard would it be to develop a fast memory safe language that eliminates timing attacks?
Re:TLS/SSL implementation in Haskell by arh68 on Thursday April 10, 2014 @11:16AM (#7566868)
That seems like a great idea.

Timing attacks work when code tries to be fast, taking shortcuts where possible. There's a reason we talk big-O instead of big-Theta: we gladly accept when an algorithm finishes early. This is, in this case, highly undesirable. Shortcuts are great, everywhere but crypto; not unlike recursion being great, unless it's embedded.

A language where every expression takes constant-time to compute seems like a solution. No short-circuiting, no variable runtimes. Don't use sorting algorithms like insertion/quicksort where best-case & worst-case are very different; use selection/merge where best-case = worst-case = average-case. Use constant-time hash functions. Caching is a very prevalent (and somewhat invisible) shortcut that needs to be solved (how can a language disable caching?).

Obviously this isn't fast but you can't have both.

Re:TLS/SSL implementation in Haskell by stcredzero on Thursday April 10, 2014 @02:06PM (#7568447)
Obviously this isn't fast but you can't have both.

Merge sort is still pretty fast. It isn't the fastest. But safe > fast when it comes to reliability and security.

Re:TLS/SSL implementation in Haskell by runeks on Wednesday April 09, 2014 @03:11PM (#7561602)
That's a very good question. I think it's possible that the recent revelations will at least spur some interest in researching this. It seems like we need it badly.