安全令牌URL - 它的安全性如何?代理验证作为替代?

The*_*can 8 security hash http token

我知道它是安全令牌URL,maby还有另一个名字.但我想你们都知道.

如果您想限制向某个客户传送内容,那么它主要应用于teqniuque,您已提前提交了特定网址.

您获取一个秘密令牌,将其与您要保护的资源连接,拥有它,当客户端在您的某个服务器上请求此URL时,从请求收集的信息重新构造哈希并比较哈希.如果相同,则传递内容,否则用户将被重定向到您的网站或其他内容.

您还可以在时间戳中添加时间戳,以便在网址上留出时间,或者包含用户IP地址以限制提供给他的连接.

此teqnique由亚马逊(S3和Cloudfront),3级CDN,Rapidshare和许多其他人使用.它也是http摘要身份验证的基本部分,尽管它还有更进一步的链接失效和其他东西.

如果您想了解更多信息,请参阅亚马逊文档的链接.

现在我对这种方法的担忧是,如果一个人破解了你的链接的一个标记,攻击者就会获得你的标记纯文本,并且可以自己在你的名字中签署任何URL.

或者更糟糕的是,对于amazon,请在管理范围内访问您的服务.

当然,这里散列的字符串通常很长.并且您可以包含大量内容,甚至可以通过向请求添加一些不必要的数据来强制数据具有最小长度.Maby在URL中使用了一些未使用的伪变量,并用随机数据填充它.

因此蛮力攻击破解sha1/md5或者你使用哈希的任何东西都很难.但是协议是开放的,所以你只需填写秘密令牌所在的间隙,并用requst中已知的数据填补其余部分.今天硬件非常棒,可以以每秒几十兆字节的速度计算md5.这种攻击可以分发到计算云中,并且您不限于"登录服务器每分钟10次尝试"等,这使得散列方法通常非常安全.现在使用亚马逊EC2,您甚至可以在短时间内租用硬件(用自己的武器击败它们哈哈!)

所以你怎么看?我的担忧有基础还是我偏执?

然而,

我目前正在设计一个满足特殊需求的对象存储云(集成媒体转码和流媒体等特殊传送方法).

现在,level3引入了另一种安全令牌网址的方法.它目前是测试版,仅向特别要求的客户开放.他们称之为"代理身份验证".

会发生什么是内容传递服务器向您(客户端)设置中指定的服务器发出HEAD请求并模仿用户请求.因此传递相同的GET路径和IP地址(作为x_forwarder).您使用HTTP状态代码进行响应,该代码告诉服务器是否与内容传递有关.

您还可以在其中引入一些安全令牌进程,您也可以对其进行更多限制.就像让URL仅被请求10次左右一样.

它显然带来了很多开销,因为发生了额外的请求和计算,但我认为它是合理的,我没有看到它的任何警告.你呢?

mar*_*ema 6

您基本上可以将您的问题重新表述为:需要多长时间才能保密.

要回答这个问题,请考虑可能的字符数(字母数字+大写字母已经是每个字符62个选项).其次,确保秘密令牌是随机的,而不是字典或其他东西.然后,例如,如果您将采用长度为10个字符的秘密令牌,则需要62 ^ 10(= 839.299.365.868.340.224)尝试暴力(最坏情况;平均情况将是当然的一半).我真的不会害怕这一点,但如果你是,你可以随时确保秘密令牌至少100个字符长,在这种情况下需要62 ^ 100次尝试暴力(这是三个行中的数字我的终端).

总而言之:只需要一个足够大的标记,它就足够了.

当然,代理身份验证确实为您的客户提供了额外的控制,因为他们可以更直接地控制谁可以看,而不是,这也可以打败电子邮件.但是我不认为在给定足够长的令牌的情况下,强拆需要成为一个问题.