Timing攻击是一种常见的软件攻击方式。基本的思路就是分析输入数据值的变化引发的软件处理时间变化,从而反推有效数据。
BCTC目前推出的安全测试也包含了对PIN码的Timing攻击。虽然PIN因为重试次数的限制,不具有样本效应,但从安全视角上来看,确实是有隐患。
PIN的处理就是数据和标准值比对的过程,通常的比对方法如下:
BOOL ArrayCompare(U08* src, U08* dst, U16 length)
{
U16 i;
for(i=0;i<length;i++)
{
if (src[i]!=dst[i])
{
return FALSE;
}
}
return TRUE;
} BOOL ArrayCompare(U08* src, U08* dst, U16 length)
{
U16 i;
BOOL res;
res = TRUE;
for(i=0;i<length;i++)
{
res &= (src[i]==dst[i]);
}
return res;
} 原文:http://blog.csdn.net/stormspeaker/article/details/21624385