首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

怎么添加时间戳(防止重放攻击)

2012-03-18 
如何添加时间戳(防止重放攻击)我已经对SOAP消息加密签名了,请问怎样添加时间戳,拜托了,我查了好久的资料~

如何添加时间戳(防止重放攻击)
我已经对SOAP消息加密签名了,请问怎样添加时间戳,拜托了,我查了好久的资料~拜托

[解决办法]
我做过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值    // ...}
[解决办法]
加密的时候吧当前时间放进去
也就是 加密一定和这个时间有关联

解密后发现时间过期就算失败

具体怎么加 SOAP下我不太清楚

不过soap的内容里面 在多带个时间字段 我想没什么问题吧

热点排行