我已经阅读了很多关于密码存储、散列、加盐、“peppering”、MAC 等的内容,因为我即将创建一个新网站,安全性对我来说非常重要,但是我正在考虑有一些原因不使用目前不相关的 Google 身份验证(或 Facebook、OpenID 或任何其他),但这让我想到了这一点。
我是 Google App Engine 的新手,这将是我的第一个项目,我对“实例小时数”以及它如何不再有“CPU 时间”但上述配额有点困惑。更糟糕的是,我无法理解什么是 Instance Hours Free Quota。
这就是为什么我担心配额以及这与我的安全问题有什么关系:我在各处阅读的一个建议是进行多次迭代并对密码进行多次散列,因为这会使攻击者花费很多更多时间(我没有数字,但它们在https://security.stackexchange.com/上随处可见)。
多次迭代对 CPU 时间有直接影响,如果 GAE 有 CPU 时间配额,我认为每次用户登录时进行 1000 次迭代可能是一个问题,但是如果他们计算的是从请求完成到 up 的实例小时数到十五分钟后,在GAE 配额文档中阅读的是:
通常,实例使用根据实例的正常运行时间按小时计费。计费在实例启动时开始,在实例关闭十五分钟后结束。您只需为空闲实例付费,最多为在管理控制台的性能设置选项卡中设置的最大空闲实例数。运行时开销计入实例内存。
那么这意味着如果我的用户登录(哈希 1000 次),然后他们继续使用该网站,Instance Hours 将继续求和,直到他们全部离开页面 + 15 分钟?如果这是真的,那么让它迭代 1000 次不会对我的配额产生重大影响,除了用户登录所需的“额外”时间,但我知道这一点,这是我的代价'愿意付钱。
我将进行的迭代次数将使得登录时间对用户来说可以接受且不易察觉,所以不要担心这一点。
我的问题是:
- 进行许多迭代是否会对实例小时数产生直接影响,或者我对如何对实例小时数求和的假设是否正确?
- 我以某种方式缺少的 Google App Engine 上是否有 CPU 时间配额?它有免费配额吗?
- 什么是实例小时免费配额?
答案:
- 看看 Moishe 接受了答案和他提出的另一个问题(尚未回答但有有用的评论) App Engine 调度程序何时使用新线程与新实例?
- 根据谷歌没有CPU时间配额:http: //googleappengine.blogspot.com.es/2009/02/skys-almost-limit-high-cpu-is-no-more.html
- 在此处找到问题 3 的答案:已达到 Google App Engine 前端实例小时数限制