【发布时间】:2012-07-16 08:15:01
【问题描述】:
我已经阅读了很多关于密码存储、散列、加盐、“peppering”、MAC 等的内容,因为我即将创建一个新网站,安全性对我来说真的很重要,但是我有一些原因'正在考虑不使用目前不相关的 Google 身份验证(或 Facebook、OpenID 或任何其他),但这让我想到了这一点。
我是 Google App Engine 的新手,这将是我的第一个项目,我对“实例小时数”以及它如何不再有“CPU 时间”但上述配额有点困惑.更糟糕的是,我一直无法理解什么是 Instance Hours Free Quota。
这就是我担心配额的原因,以及这与我的安全问题有什么关系:我在各处阅读的一个建议是进行多次迭代并对密码进行多次散列,因为这会使攻击者花更多的时间(我没有数字,但它们在https://security.stackexchange.com/ 上随处可见)。
多次迭代对 CPU 时间有直接影响,如果 GAE 有 CPU 时间配额,我认为每次用户登录时进行 1000 次迭代可能是一个问题,但是如果他们计算的是从请求的那一刻起的实例小时数最多十五分钟后完成,在GAE quota docs 上阅读的是:
一般情况下,实例使用量按小时计费,具体取决于 实例的正常运行时间。计费在实例启动和结束时开始 实例关闭十五分钟后。您只需支付费用 对于空闲实例,最多为设置的最大空闲实例数 管理控制台的性能设置选项卡。运行时开销是 计入实例内存。
那么这意味着如果我的用户登录(哈希 1000 次),然后他们继续使用该网站,Instance Hours 将继续求和,直到他们全部离开页面 + 15 分钟?如果这是真的,那么让它迭代 1000 次不会对我的配额产生重大影响,除了用户登录所需的“额外”时间,但我知道这一点,这是我的代价我愿意付钱。
我将进行的迭代次数将使登录时间能够被用户接受且不易察觉,因此不必担心。
我的问题是:
- 进行多次迭代是否会对实例小时数产生直接影响,或者我对如何对实例小时数求和的假设是否正确?
- Google App Engine 上是否有 CPU 时间配额我以某种方式丢失了?它有免费配额吗?
- 什么是实例小时免费配额?
答案:
- 看 Moishe 接受了答案和他提出的另一个问题(尚未回答但有有用的 cmets)When does the App Engine scheduler use a new thread vs. a new instance?
- 根据谷歌没有 CPU 时间配额:http://googleappengine.blogspot.com.es/2009/02/skys-almost-limit-high-cpu-is-no-more.html
- 在这里找到第 3 个问题的答案:Google App Engine Frontend Instance Hours Limit Reached
【问题讨论】:
-
您能否提供一个可靠文章的链接,该文章建议调用哈希 1000 次以获得更好的安全性?
-
这不是关于密码的安全性,而是关于破解经过多次哈希的密码所需的时间。我会提供链接,请给我几分钟时间
-
但是这个问题也有更多投票的答案(目前31)。为什么不是这个答案?
-
@IgorArtamonov 因为我的问题是关于 Google App Engine 和 Instance Hours 免费配额,我只是想为我的问题提供背景信息。我不是在问是否要对其进行 1000 次或 1 次散列,而是 GAE 在 Instance Hours 上的免费配额是多少,什么是“Instance Hours”。 Marcus Adams 已经回答了我什么是实例时间,我正在等待免费配额的答案
-
@IgorArtamonov 我编辑了我的问题以更清楚地说明我在问什么
标签: java security google-app-engine passwords hash