+ -
当前位置:首页 → 问答吧 → 如何添加时间戳(防止重放攻击)

如何添加时间戳(防止重放攻击)

时间:2011-07-09

来源:互联网

我已经对SOAP消息加密签名了,请问怎样添加时间戳,拜托了,我查了好久的资料~拜托

作者: zhangxiuhoujian   发布时间: 2011-07-09

我做过HTTP认证的相关东西,为了防止重放攻击,采用HTTP摘要访问认证。就是每隔一段时间,在server端重新生成一个nonce值,然后client拿着这个值重新认证一次。你的问题有点笼统,但我想应该和HTTP摘要访问认证是一样的。
我只说我是怎么做的,不知道对于你的情况是否合适。

假设有个类专门用来做HTTP摘要认证。在这个类中,
首先,肯定需要定义一个时间戳大小,比如说一个小时,如果时间过期了,那就需要server端重新生成一个值。
public static TimeSpan RefreshTime = TimeSpan.FromMinutes(60);
其次,需要有一个DateTime _dt; 来保存client访问的时间。(比如说,在第一次client请求时,记录_dt,然后再一个小时内,不需要更新它,当一个小时过期了,需要更新这个时间。)
在client每次访问的时候,需要查看这个时间是否过期了,如果过期了,需要重新记录下当前的访问的时间。
C/C++ code

DateTime current = DateTime.Now;     // 每次访问的时间
if (current >= _dt.Add(RefreshTime)) // 如果访问的时间大于一个特定的时间戳,则需要更新保存的时间
{
    _dt = current;
    // 生成新的nonce值
    // ...
}



可能我都不知道我在说啥。。。汗。。。

作者: woyaowenzi   发布时间: 2011-07-10

楼主要正常结贴啊(结帖率:22.22%)。信誉不好的话,那些大拿都不过来看你的帖子。

作者: woyaowenzi   发布时间: 2011-07-10