继上次问了个小白问题 app 后台怎么做( 0 回复)之后我又有了一个入门级的问题。我打算用 spring mvc+spring security oauth2 做 app 后台,现在的做法(也是各种搜到)是 https+token 。首次请求使用 grant_type=client_credentials 创建用户,之后用户登陆提交用户名密码拿到 token 。然后用户每次请求带上 token 。
那么我还有个问题,如果对安全性要求较高的话这种方式能算比较安全的吗?比如涉及交易。
因为我看到网上有一些对称 /非对称加密的做法,我是不是还需要加上呢?
lz 小白没做过后台,如果有大神知道麻烦回答。感激不尽。
1
adoyle 2015-12-09 22:08:44 +08:00
每次登陆以后得到的 token 应该是不一样的。 token 的生成算法可以自己定制下。
https+token 是相对安全的,当然没有绝对的安全。 |
2
500miles 2015-12-09 22:10:56 +08:00
哪儿有绝对安全这回事儿
强制性 https+token 再加上一些行为特征检测... 注意 token 更换策略 够用了 |
3
jsthon 2015-12-09 22:11:40 +08:00
如果这样就能绝对安全了那支付宝也不会用各种安全组件了。
|
4
likuku 2015-12-09 22:39:24 +08:00
拔掉网线,粉碎掉硬盘,就绝对安全了。
|
5
kookxiang 2015-12-09 22:48:05 +08:00
token 必须随机生成,并且有过期时间
|
6
kaneg 2015-12-09 23:27:11 +08:00
看到绝对安全我就不敢回答了
|
7
broono 2015-12-09 23:31:24 +08:00
绝对安全啊 666 铜板给你 :(逃
|
8
warDoggie 2015-12-09 23:40:40 +08:00 via iPhone
不要相信不是自己敲的代码 那句话怎么说来着,求告知。 要绝对安全私以外要从硅提纯做起
|
9
honeycomb 2015-12-09 23:41:11 +08:00 via Android
银行 /支付程度的肯定还不够,这些业务还会下很多钉子(特征检测),还有多因素验证之类的
|
10
est 2015-12-09 23:44:15 +08:00
我说一个“绝对”安全的吧。
1. app 客户端代码用加壳+混淆编译成原生的 .so 2. 静态连接 openssl 实现 https 3. SSL Pin 锁定指纹 4. 静态编译一个基于 socket 的 http 库。绕开 android 所有的 http API 。 欢迎来破解。 |
11
est 2015-12-09 23:45:21 +08:00
忘记说最核心的了。 app 只是一个容器,所有业务逻辑通过 https 动态下发。
|
12
nvidiaAMD980X 2015-12-09 23:58:02 +08:00 via Android
@jsthon 国外的支付手段怎么不需要在用户的电脑上安装一大堆证书和安全控件?万一,利用这些莫名其妙的数字证书来一个中间人工具…………
Https+SSL EV(证书在线验证)+特征码检测⇒⇒应该可以使安全系数提高很多。 |
13
wind4 2015-12-10 09:37:12 +08:00
1 、 TLS 保证链路安全
2 、 OAuth 保证权限授权 ========= 在 OAuth 中, access_token 只是短期有效, refresh_token 则是代替用户名、密码长期有效的。 |
15
daysv 2015-12-10 09:58:35 +08:00
我觉得研究下量子通讯会比较好
|
16
yangyanggnu 2015-12-10 10:41:36 +08:00
不能单纯说“加上 token ”安不安全,解决的问题不一样。比如,你要防 XSS 、 SQL 注入、越权,加不加 token 没任何帮助;而,要防止 CSRF , token 有一定效果,具体而言,可以在用户登录时由服务端下发 token 至客户端的 cookie 中,用户每次 post 请求时,一方面, URL 中必须带 token ,一方面,上发的 cookie 中也必须带 token ,服务端比较两个 token ,若一致则响应,否则忽略,如果,要更完善,还得在 set-cookie 时增加 HttpOnly 属性。
|
17
zhengkai 2015-12-10 22:57:10 +08:00
先不用想那么多,做点能看得见摸得着的东西,技能树不能跳着点
|
18
liubey 2015-12-15 14:23:10 +08:00
长期关注,目前市面上绝大部分 app 应该都是 https+token
|