本文作者:文蔺
本文地址:http://www.wemlion.com/2017/timing-atack/
本文由 @文蔺 创作,转载请保留此声明。
所有权利保留,请勿用于商业目的。

前些日子,奇舞周刊公众号推送了一篇文章,《Node.js 面试问题及答案(2017 版)》。其中有一个问题很有意思,请看下面这段代码,有什么问题吗?

function checkApiKey (apiKeyFromDb, apiKeyReceived) {  
if (apiKeyFromDb === apiKeyReceived) {
return true
}
return false
}

可能很多人和我一样,一脸茫然。嗯哼?哪里错了?这不是挺好的嘛。

来看人家怎么说的,好像很有道理的样子:

嗯,这就是时序攻击(Timing Atack),旁路攻击(Side-channel attack)的一种。

恰巧今天刚刚看到一个 slide,讲的也是这方面的内容。看来性能优化有时候也有负面作用。

文中给出的几个链接,基本上已经能说明所有问题了。

Reference

本文作者:文蔺
本文地址:http://www.wemlion.com/2017/timing-atack/
转载请注明来源