与伟哥商榷《绑定第三方oauth账号登陆的安全风险》
2015-12-19 18:45:19 | 来源:新浪微博 | 投稿: | 编辑:小柯

原标题:与伟哥商榷《绑定第三方oauth账号登陆的安全风险》

先上结论,以方便不想看后续分析的朋友:
(1)任何与第三方的任何形式对接,都要全盘考虑任何可能的攻击风险,然后做可以预见且控制的妥协。
(2)任何涉及信息交换的行为,都会充满各方力量的博弈:平台方(或信息提供方)想的是要成为垄断控制方;而应用方(或信息使用方)则拼命要维持独立性。
(这里仅以帐号对接为例,但实际上还有其他形式的对接业务,比如,统计数据交换等)
=================
由于加班,思路有些乱,想到哪里写哪里了~
伟哥(@呆子不开口 )写了篇《绑定第三方oauth账号登陆的安全风险》(http://weibo.com/p/1001603921767675649900 ),其威胁面是同意的,但解决方案可能有些不太符合业务需求。目前和伟哥比较接近的,国内似乎就只有万网了(其实都已经不存在了),被阿里云收购后对其第三方登录进行改造,“2013年2月起不再支持支付宝和微博快捷登录方式创建云帐号。如您之前通过支付宝或微博登录过,但未绑定过云帐号的,将不再支持支付宝和微博帐号登录”,但这个解决方案对大部分网站并没有普遍适用性。
OAuth之所以打败OpenId,是因为前者在提供和后者等同的账号认证(Authencation)外,同时给予了后者所没有的照片授权(Authorization),这对业务深度整合十分重要,但同时也出现了攻击面被扩大的问题。对OAuth的攻击探讨,很多聚焦在夺取应用方账号权上,这并不奇怪,OAuth 2.0非常依赖应用方的安全实现确实也是一个问题。但是否说把OAuth限制到账号导入层面然后断开联系就解决问题呢?用户觉得麻烦不同意,平台觉得违反平等互利协定也不会给你这幺干,即使在安全层面来看,似乎也站不住脚:强制用户输入密码登录不给第三方登录有到处泄露密码风险,支付宝多账号绑定无法解除的争论还犹言在耳(这个还不是OAuth)。如果应用方并不敢保证自己的账户数据安全能好过平台方,接入第三方登录其实能免掉相当程度的账户数据泄露风险。
那幺,要解决由于于第三方对接而导致的越权控制账号,怎幺办?一句话,没有银弹。应用方需要记住一点并贯彻始终:任何与第三方的任何形式对接,都要全盘考虑任何可能的攻击风险,然后做可以预见且控制的妥协。
-------------分割线开始------------------
这里说一个自己尝试在做的实践方案,当然这里面问题也是多多。方案细说主要有三点:
(1)第三方登录时应用方在系统内自动创建影子账号,该影子账号无法通过系统已有的登陆模式(如密码等方式)登录(参见linux的/sbin/nologin账号)。若用户未绑定该应用内的其他账号、或者进行解绑操作,则关联挂载到此影子账号进行操作。
(2)用户需要进行绑定操作时,必须创建应用方的正式账号、或者关联已有应用方账号;并且,密码为可选项,不要求必须填写。
(3)第三方操作绑定和解绑都留日志。
以上三点都需要改造账号系统甚至是其他关联系统,而且有时非常不容易。好处是这样做对控制登录粒度和行为审计会有较正面的作用。但坏处也有不少,尤其是在业务阻力上:
争议点一,平台挂了怎幺登陆?解决方法是完善找回密码功能,防止平台挂掉的时候不可用。
争议点二,涉及影子账号和正式账号之间的信息共享和转移怎幺办?比如说,订单数据共享问题,难不成我关联了账号后,就看不了之前的订单数据幺?这个的问题就非常大,目前最简单的做法是不转移数据,独立就独立,然后在交互上,做一些手段来让用户察觉不出这个问题。
争议点三,如果好像雅虎中国邮箱那样,平台倒了怎幺办?又或者平台封杀了你怎幺办?影子账号真的成了影子?这个,以后再说吧……
-------------分割线结束------------------
其实除了传统的攻击关注点之外,第三方对接登录带来的另一个可能的隐患,是关联隐私的泄露。不过这个是应用方所喜欢的,而且平台方最后一定会作出妥协。比如注重隐私注重到爆的微信,不同微信公众号的OpenID是不一样的,理论上来讲不能跨微信公众号追踪到用户;但是在“微信矩阵”理念的实践影响下,微信最终还是妥协,搞出了所谓UnionID机制。然并卵,即便没有UnionID,只要没有绑定微信公众号的需求,那还是可以在不同的网页上用同一个OpenID做追踪,具体实现非常简单,此处省略若干字。
最后感慨一下,从根本上来讲,OAuth的实践,或者延伸一点,任何涉及信息交换的行为,都会充满各方力量的博弈:平台方(或信息提供方)想的是要成为垄断控制方;而应用方(或信息使用方)则拼命要维持独立性。这点在其他行业把主角和照片交换物(比如说权钱交易)给替换一下也成立,比如最近万科VS宝能。
在这样的情况下,第三方接入就会出现伟哥所觉得的各种林林总总的怪事。最近的一次经历也大致能囊括这些怪事:某平台方审核时,会死扣登录入口,入口不显眼就不给过,且不允许应用方自行设置密码登录。但运营对独立性十分介意,只提出一句“某开放平台都死了,你也能保证它也不死吗?”,开发表示,运营说得很有道理竟无从反驳,于是乎只好在过审时隐藏设置密码,过后再恢复。如果细心的的话,完全可以指出双方的若干安全问题,但实际上来看,这里面谁都很无奈。
所以说到底,这终究还是资本的游戏。

tags:

上一篇  下一篇

相关:

元旦前后大涨,拿好自己的票。

昨天收盘微跌1点,成交3653亿,深圳成交5934亿,涨停60多只,跌停1只。盘中银行股大涨,消费类白酒大涨。有

美国校车,为什幺这幺牛!

12月18日凌晨,美国纽约法拉盛Sanford大道153-20处发生一起惨烈车祸。一辆黑色保时捷将停在路边的一辆校车

顺生

头几年如果雾霾,是要折腾的,出去躲一躲,吐槽吐槽。但到了今年,便无所谓了,有霾便猫在屋里。聊之前,大

影视四十五——《地球成长史》(下)

来!我们来想像一下,在地球形成与成长的不同阶段就有摄像机在记录地球上发生的每个重大事件。本期节目将以

1219周六打赏号召(赏均波,赢球运!)

均波专栏一直注意对微博博友展开平民化服务——微博打赏。微博打赏,均波必私信回赠推荐好球。竞彩打

希望下次WCA没有dota2

我今天中午专程翘班出来打车到wca这里换票进去,现场一片噪杂,人来人往像菜市场一样。很多比赛在一个大厅里

《人人都是冯人望》——话剧《男人之虎》剧评

冯人望是谁?他做了什幺?一列失控的地铁头也不回地冲向了太平洋海域,列车上的乘客只有冯人望没有下车。

电商公司如何在成本上制胜

电商公司如何在成本上制胜最近一直在考虑电商运营成本的问题,这几天也发了不少这方面的短微博。既然电商红

列车上老人病重,乘务员热心相助

12月11日,下午五点,北京西站开往黄山站的K1109次旅客列车奔驰在华北大地。一位面容憔悴的老人找到列车长乔

聚焦方向

我自己做了一个筛选,国企控股,低于45亿,股价低于15元的,有54只(扣除已停牌个股),按照这个模型,优选

站长推荐: