Sto*_*oop 49 security iphone authentication token asp.net-web-api
我正在设计一个拥有移动伴侣的网站(仅限初始iPhone).该网站将是ASP.Net MVC 3应用程序.我还将有一个ASP.Net Web API站点(MVC 4)来向iPhone应用程序公开服务.iPhone应用程序将拥有自己的表单来捕获用户的用户名和密码,并将其发送到JSON标头中的Web API.
我想从一开始就考虑安全性,而不是经过深思熟虑.我无论如何都不是安全专家.我做了很多研究,看看其他人是如何处理来自Web服务的移动应用程序客户端的身份验证.我想我已经提出了一个不错的解决方案,不涉及到第三方oAuths.
我非常感谢任何人提供的任何和所有意见,建议,批评和一般WTF.:)
我最担心的是:
iPhone应用程序将如下开发:
两个字符串被硬编码到iPhone应用程序中(每个用户的值相同):
两个字符串存储在iPhone应用程序的本地数据库中(每个用户唯一的值):
iPhone将以下列方式调用Web API:
API方法:创建帐户
客户端发送:
API返回:
API方法:获取帐户
(用于获取用户的哈希盐,用于在网站上创建但尚未在iPhone上同步的帐户.当用户尝试登录iPhone并且iPhone检测到它有没有该用户名的记录.)
客户发送:
API返回:
API方法:登录(验证)
客户端发送:
API返回:
API方法:任何命令(即创建帖子,更新配置文件,获取消息等...)
客户端发送:
我的建议
我认为这是使用 Web API 的移动安全所需的最重要的一步。
封装一切。
对所有安全信息使用 SSL。就我而言,我将它用于所有事情。
对于您的时间戳,请选择您可以获得授权的合适时间。不要让它太短,因为您的应用程序会变得很慢,或者太长,因为网络嗅探器可以访问数据包。
如果您想要 3 服务器架构 对于您的请求,您还需要一个应用程序密钥,您可以使用它来生成访问密钥(从服务器 1)。此访问密钥将验证您的请求,在成功验证(来自服务器 2)后,您可以使用该密钥授权来自另一台服务器(服务器 3)的请求
你提到的要求是标准规范。真的不认为这有什么问题。
归档时间: |
|
查看次数: |
15128 次 |
最近记录: |