移动 APP 端与服务器端用户身份认证的安全方案
2015-05-24 09:22
393 查看
公司的
搜集了一些资料,大部分的建议是在服务器端生成一个
这里有两个问题,首先这样直接生成
因为本身产品对安全性要求不是特别高,远没有达到网银之类的需求,所以在不考虑使用
再把问题写清楚点:
1.怎么生成安全性比较高的
2.
有人会在
3.
mobile
app
php
server
安全
链接
7 评论
更多
默认排序时间排序
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
采纳
peixinchen 111 2014年04月29日
回答
APP里预埋一个token,结合时间戳/每次请求的一个随机值randstr,生成一个最终signature,在Server进行验证即可,(安全级别不是很高,但防大部分恶意请求没问题了)。
如果还需要针对不同用户生成不同的sigature,可以结合手机的DeviceId,在首次请求是上报这个,以后的请求就把DeviceId也作为因子带入sigature的生成里。当然,这个过程也不是绝对安全的。
看你的意思是不需要绝对安全的,所以猜测你的目的是防恶意请求的,以上两种方式应该可以满足了。
链接
4 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
wenhx 131 2014年04月29日
回答
告诉你一个很好的学习方式,去各大网站,微博、腾讯、Facebook、Google,看他们的OpenApi是怎么实现的,需要提供什么样的参数,你就可以依葫芦画瓢做出来了。
链接
1 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
远方的落日 63 2014年04月29日
回答
token一般可以用用户名和密码处理后生成。
token过期可做可不做,如果移动端发现token过期则跳到登录界面让用户重新登录即可。
你是指客户端存token的地点还是服务器端?一般都可以存在数据库中,不过对移动设备来说存在XML中作为键值对更为普遍。
链接
3 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
_404_MrYes 103 2014年05月07日
回答 · 2014年05月08日 更新
首先回答第三个问题:存在rdb不妥,本来保存的就是
为何说是
不知道提主的应用是用什么做用户认证,假定是传统的用户名密码认证方式,其实可以参考http的session,认证通过后生成的
如何生成安全性高的token,常规的签名算法就可以了,毕竟是不可逆的,原串组合方式不泄露就行,md5的话记得加盐。
对于在app中内置token的做法不建议。首先,内置的token所有应用统一呢?这样获取到了token,基本就可以伪造了,不同的设备不同呢?其实也差不多。而且这样实现起来也比较负责,因为server端要进行验证,猜测应当是用对称加密算法,签名验证?其实最大的疑问是真能用来授权么?我看题主提到了多账户的问题,那么设备与用户就不是一一对应的关系。
链接
5 评论
更多
答案对人有帮助,有参考价值
0
答案没帮助,是错误的答案,答非所问
web_focus 86 2014年04月30日
回答
最简单用session,业务层上不用做太大的变动,呵呵。
链接
1 评论
更多
答案对人有帮助,有参考价值
0
答案没帮助,是错误的答案,答非所问
小熊油耗 30 4月3日
回答
应该采用 OAuth 2.0 Client Credentials Grant(最容易),或者 JSON Web Token模型(安全性更高)
转载:http://segmentfault.com/q/1010000000486648
mobile app是外包给其他公司做的,所以现在他们需要我们提供
API接口进行调试,由于没有
API开发的经验,所以现在一个比较难把握的问题就是如何实现服务器端与移动
APP端通信时的用户身份认证问题。
搜集了一些资料,大部分的建议是在服务器端生成一个
token然后在通信报文的
headers利用这个
token来进行验证。
这里有两个问题,首先这样直接生成
token进行认证的安全性。其次,生成的
token应该怎么保存呢?存在
DB里面还是哪个地方?(服务器端使用的是
php)
因为本身产品对安全性要求不是特别高,远没有达到网银之类的需求,所以在不考虑使用
oauth等授权协议基础上,我比较希望知道一些常用的身份验证机制,以保证基本的安全性即可。
再把问题写清楚点:
1.怎么生成安全性比较高的
token。
2.
token需不需要设置过期时间(考虑到是
mobile app,所以这个比较难设计,因为很少
有人会在
app上会
log out再重新登录)。
3.
token除了存在
db内,有没有一些更方便合适的方式。
mobile
app
php
server
安全
链接
7 评论
更多
默认排序时间排序
6 个回答
答案对人有帮助,有参考价值1
答案没帮助,是错误的答案,答非所问
采纳
peixinchen 111 2014年04月29日
回答
APP里预埋一个token,结合时间戳/每次请求的一个随机值randstr,生成一个最终signature,在Server进行验证即可,(安全级别不是很高,但防大部分恶意请求没问题了)。
如果还需要针对不同用户生成不同的sigature,可以结合手机的DeviceId,在首次请求是上报这个,以后的请求就把DeviceId也作为因子带入sigature的生成里。当然,这个过程也不是绝对安全的。
看你的意思是不需要绝对安全的,所以猜测你的目的是防恶意请求的,以上两种方式应该可以满足了。
链接
4 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
wenhx 131 2014年04月29日
回答
告诉你一个很好的学习方式,去各大网站,微博、腾讯、Facebook、Google,看他们的OpenApi是怎么实现的,需要提供什么样的参数,你就可以依葫芦画瓢做出来了。
链接
1 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
远方的落日 63 2014年04月29日
回答
token一般可以用用户名和密码处理后生成。
token过期可做可不做,如果移动端发现token过期则跳到登录界面让用户重新登录即可。
你是指客户端存token的地点还是服务器端?一般都可以存在数据库中,不过对移动设备来说存在XML中作为键值对更为普遍。
链接
3 评论
更多
答案对人有帮助,有参考价值
1
答案没帮助,是错误的答案,答非所问
_404_MrYes 103 2014年05月07日
回答 · 2014年05月08日 更新
首先回答第三个问题:存在rdb不妥,本来保存的就是
临时数据,没有持久化的必要,用缓存即可,memcached/redis均可。
为何说是
临时数据,
token本来是用来做授权的,应当只能允许可信用户使用,假如是长久数据,那么一旦token泄露,就难免会造成伪造访问的风险。
不知道提主的应用是用什么做用户认证,假定是传统的用户名密码认证方式,其实可以参考http的session,认证通过后生成的
sessionid信息其实就可以作为后续访问的token。用户每次请求是携带uid+sid信息来即可,通过sid反查uid或者uid查询sid,然后匹配即可。在token超时时让用户重新来申请即可。对于移动端,建议走https通道。
如何生成安全性高的token,常规的签名算法就可以了,毕竟是不可逆的,原串组合方式不泄露就行,md5的话记得加盐。
对于在app中内置token的做法不建议。首先,内置的token所有应用统一呢?这样获取到了token,基本就可以伪造了,不同的设备不同呢?其实也差不多。而且这样实现起来也比较负责,因为server端要进行验证,猜测应当是用对称加密算法,签名验证?其实最大的疑问是真能用来授权么?我看题主提到了多账户的问题,那么设备与用户就不是一一对应的关系。
链接
5 评论
更多
答案对人有帮助,有参考价值
0
答案没帮助,是错误的答案,答非所问
web_focus 86 2014年04月30日
回答
最简单用session,业务层上不用做太大的变动,呵呵。
链接
1 评论
更多
答案对人有帮助,有参考价值
0
答案没帮助,是错误的答案,答非所问
小熊油耗 30 4月3日
回答
应该采用 OAuth 2.0 Client Credentials Grant(最容易),或者 JSON Web Token模型(安全性更高)
转载:http://segmentfault.com/q/1010000000486648
相关文章推荐
- 移动 APP 端与服务器端用户身份认证的安全方案 \token
- 确保web安全的https、确认访问用户身份的认证(第七章、第八章)
- 记一个社交APP的开发过程——用户身份认证与在线标记
- 一种移动APP统计平台的架构方案(适用于千万级用户的应用)
- 多服务器的用户身份认证方案
- 移动客户端与服务器端安全通信方案
- OpenID与传统Email用户身份认证模式整合时的安全问题和解决方法
- 多服务器的用户身份认证方案
- "用户增长"--快速身份认证实现用户增长的技术和产品方案
- 【云栖大会】ifaa在移动安全领域为身份认证保驾护航
- 安全芯片Z8IDA芯片介绍-身份认证加密芯片方案
- **15.app后端怎么设计用户登录方案(API权限安全)
- 多服务器的用户身份认证方案
- 移动客户端与服务器端安全通信方案
- APP开发实战9-API接口安全方案
- 移动安全之修改加密带sig签名的APP数据包
- 用户,认证和对象安全
- iPhone App里保存用户密码的安全方法
- 移动APP 秀场、直播动画效果实现方案
- 谈谈移动互联网应用的用户注册登录安全考虑之不可逆加密的应用原则