使用USB令牌/智能卡保护启用Silverlight的WCF服务通信。必须通过输入PIN来确认第一次访问。经过身份验证后,恶意网站可以使用IMG-Tags和/或JavaScript启动对WCF服务的CSRF请求。根据{{3}},这里常用的技术是使用(会话)令牌或所谓的“nonce”,而检查HTTP Referrer头部已被证明是不安全的。
我理解这背后的想法,根据我的理解,如果您有一个表单(即联系表单)和单个服务,您可以确保用户在发送之前必须查看并填写表单,这样做效果很好。在Silverlight应用程序中,我无法预定义此类序列,许多请求(如请求产品的价格更新)可以按任意顺序启动。
您是否有一些建议我应该如何保护Silverlight到WCF通信以防止CSRF攻击,确保已经过身份验证的呼叫者从受信任的站点请求?
答案 0 :(得分:0)
一个选项可能是:
攻击者无法欺骗这一点,因为如果他调用上述服务,他将为自己的会话获得不同的令牌。只要此nonce不存储在cookie中,浏览器在向服务器发出请求时就不会自动提交。因此,只要攻击者无法猜测nonce(使用加密安全随机生成它),这应该可行。