基本上,我想知道为什么所有额外的加密步骤,如果通信是通过HTTPS进行的?
即。身份:
用户进行身份验证,通过HTTPS为该用户提供身份令牌,他们可以使用这些令牌执行您允许的操作。如果他们表现得很糟糕,我可以撤销权利并禁止未来的代币到该帐户。
即。对于匿名:
好吧,如果我给匿名代币,我们真的不应该让他们做任何可能有害的事情......只要给他们代币,并希望他们不要滥用它。如果检测到滥用行为只是撤销权利并通过IP将其列入黑名单(我的意思是,那时我真的唯一可以做的就是吗?)。
除了我上面描述的所有其他复杂性之外,还有什么?即。 “使用高级加密标准通过https传递的密钥加密”,“使用从密码派生的安全密钥,从时间戳生成的HMAC哈希组成的加密签名”
这真的有必要吗?有什么好处?我是否仍然需要对令牌的使用情况进行主动监控,我是否为上面描述的行为不端的用户做了什么?
答案 0 :(得分:7)
我在AWS Mobile SDK上工作。匿名和身份TVM用作将AWS令牌传送到移动设备的示例参考应用程序。您应该修改TVM以满足您的特定需求。您应该至少更新应用于令牌的策略,以限制移动应用程序仅访问所需的AWS资源。如您所述,限制谁可以访问Identity TVM中的TVM也是正确操作TVM的关键方面。
我们添加了额外的加密层,以提供更好的整体安全性。 SSL的使用是这里使用的层之一 - 它用于保护令牌本身到设备的传递,以及用于加密令牌的密钥。
请注意,一旦发出令牌,就无法撤销令牌。令牌的可配置时间限制为1 - 36小时,因此设置适当的策略和持续时间是TVM及其所服务的应用程序的重要安全考虑因素。
如果有帮助,下面的文章提供了一个自定义Identity TVM的示例,其中特定的策略对象应用于令牌:
http://aws.amazon.com/code/4598681430241367
希望这有帮助,
格伦