零碎技术知识点——OAuth协议

定义:

  • OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。
  • QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。

普及原因:

  • 用户角度:方便、快捷、安全,很多资料信息可以公用;
  • 中小第三方网站和应用角度:OAuth 可以使它们能够得到用户基本信息外的其他信息资料和账户部分使用权限;
  • 大网站平台角度:OAuth 可以完美的解决用户的账户安全和开发者授权的平衡问题。

  因此 OAuth 协议确定后就获得了包括国外 Twitter、Facebook 和 Google 等认可,之后在国内也得到了有效跟进。

优点:

  OAuth 不会使第三方网站或应用接触到用户的帐号信息(如用户名与密码),授权后的 http 通信中也不再传输用户信息而是以数字签名和访问令牌(Access Token)取代,即使截到数据包,也无法还原出用户的登录信息。这是OAuth 最大的优点,也是它得以逐渐成为现在通用的授权标准的原因。

缺点:

1. 被滥用了的 OAuth 授权

  • OAuth 是一个授权(authorization)协议而不是认证(authentication)协议,授权本身的实质相当于系统为第三方网站/应用开了一个后门,而你的授权就是允许它们可以走后门进来获取你的隐私资料和使用权限。
  • 在国内大多数网站的一键登陆根本没有去区分认证和授权 ,全部混淆为授权。本身用类似 OpenID 的简单认证即可完成的事情却非要走授权。
  • 你授权的网站/应用越多,意味着越多的网站和应用能够接触到你的账户资料并拥有部分使用权限,也意味着隐患越多。虽然它们并没有获取到的你的账户密码,虽然你之后从未登陆过或使用过它们,但是,除非你去隐藏很深的后台设置里面取消它们的权限,否则它们是一直能够接触到你的账户资料并拥有你账户的部分使用权限的。
  • 某种程度上说,OAuth 对我们个人信息安全来说是一扇隐形的窗户,而且这个窗户还是默认永久开放的。

2. OAuth 使用的不规范

(1)平台 OAuth 部署不规范

  • 各开放平台之间的技术差异很大,因此每个平台使用并不是相同版本的协议,有 OAuth 1.0、OAuth 2.0 或混合的技术体系(甚至还有继续使用不安全的 Basic Auth)。
  • 如果你去翻看一下国内各个开放平台的开发文档就会发现,虽然 OAuth 整体流程大致类似,但是对于授权的定义各家有各家的标准,对待开发者的态度各不相同,对授权的限制也是各家有各家的标准 ,对用户的账号保护也是各有各的说法。

(2)平台审核是否仔细

   第三方网站或应用要接入平台需要通过平台的审核,审核是一层对开发者的把关。因为平台竞争的原因,各家审核标准并不一致,实际操作更是谁也不清楚。总体来看,强势的平台限制严格,弱势的平台因为要吸引开发者所以很多事情睁一只眼闭一只眼。

(3)应用开发者不自律

  • OAuth 的安全性相当一部分需要依靠应用开发者的高度自律,不该有的权限不去申请,但是事实并非如此。
  • 正常情况下,平时我们所用的 90% 的应用只需用只读权限即可,但是相反的是,只有 5% 的应用只拥有只读权限。对于开发者开说,尽量获取到用户账户的使用权限似乎是一种”追求“,而不管用不用得到。

(4)用户对 OAuth 的不设防

   OAuth 协议的实施很类似微软平台下软件的安装,用户经常在一步步的点击中默认”被授权“,因为国内大多数用户暂时还没有注意防护自己账户信息和权限的习惯。

3. 注意点:

(1)防止 OAuth 钓鱼登陆界面

  注意观察弹出窗口是否为官方登陆域名,要谨防假冒钓鱼。

(2)授权之前的三思

  在你将自己的账号权限授权给一个应用之前,先查清楚应用开发者的具体信息和他们的隐私保护条款,知道自己到底授权给了谁,到底给谁授予了哪些权限。

(3)定时清理你的第三方应用授权

  要注意清理你的第三方应用授权,将那些无关紧要的或已经不再使用的第三方网站或应用取消授权,关上那扇隐形的窗户。

(4)授权后注意其来源

  授权第三方网站或应用后要注意查看其有没有通过官方平台的审核,如果来源显示来自”未审核应用“或类似字样后尽量先取消其授权,待审核通过后再进行授权。

参考:

http://www.geekpark.net/topics/173252

http://www.geekpark.net/topics/156033

时间: 2024-12-16 18:32:51

零碎技术知识点——OAuth协议的相关文章

oauth协议

微博 : 新浪 腾讯 OAuth 新浪微博   APP开发 步骤:1.注册新浪开发者账号 获取以下信息 client_id  123456  标示应用身份的  唯一的  有的也叫App Key secret  秘钥 xxxxyyyy     加密用的 --------------------------------------------以新浪微博为例 解析OAuth协议 1.构建用户登录URL程序要引导用户登录(新浪微博账号登录),在新浪微博提供的URLURL上要加几个参数 client_id

集成基于OAuth协议的单点登陆

在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例如Google就使用OAuth协议来管理它的帐户. 相较于CAS协议,OAuth协议不仅仅可以完成对用户凭证的验证,更可以提供权限管理的功能.在这些权限管理功能的支持下,一个应用甚至可以访问其它使用相同OAuth服务的应用的数据,从而完成应用间的交互. OAuth集成示例 现在我们就来看一个通过OA

OAUTH 协议介绍

OAUTH 产生背景 随着互联网的深入发展,一些互联网巨头积累了海量的用户和数据.对于平台级软件厂商来说,用户的需求多种多样,变化万千 以一己之力予以充分满足,难免疲于本命.因此将数据以接口的形式开放的众多的第三方开发者,便成了必然的趋势.第三方 开发者经过二次开发,满足一小部分用户的独特需求,即能够是自己获取利益,也能够让数据流动起来,在大平台周围形成一个 良性的生态环境能够,最终达到用户,平台商,第三方开发者共赢,在这样的背景下就诞生了OAUTH协议. OAUTH介绍 OAUTH 协议旨在为

结合YS业务分析使用oauth协议的风险

结合YS业务分析oauth协议风险 问题描述:          YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_token将被发送到这个回调地址,而目前出于域名变动等各种因素考虑,目前使用的是通配符域名进行注册,这可能存在用户的access_token被盗取的风险.一旦获取用户QQ的access_token就可以通过openAPI获取此QQ的相关信息.关于oauth协议和开发细节请参考: h

一些零碎小知识点积累随笔

工作学习期间的一些零碎小知识点积累 1.蜂鸣器 1)有源蜂鸣器,这里的有源不是指电源的"源",而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路,一通电就会发声: 2)无源蜂鸣器则没有自带震荡电路,必须外部提供 2~5Khz 左右的方波驱动,才能发声. 2.Altium Designer Winter 9 1)加载库 a.加载库,在Libraries面板上点击Libraries按钮或者选择菜单Design-->Add/Remove Library,这样可使用的库就显示在对话框中.

OAUTH协议简介

http://blog.csdn.net/hereweare2009/article/details/3968582 摘要:OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的.同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的.业界

OAUTH协议介绍

OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的.oAuth是Open Authorization的简写. 特点(1). 简单:不管是OAUTH服务提供者还是应用开发者,都很易于理解与使用:(2). 安全:没有涉及到用户密钥等信息,更安全更灵活:(3). 开放:任何服务提供商都可以实现OAUTH,

oauth协议原理

oauth协议关系图(如获取微信用户信息): oauth一般授权步骤: 原文地址:https://www.cnblogs.com/afei1759/p/11154678.html

Citrix发布支持Framehawk技术的HDX协议,用户体验优势进一步扩大

Framehawk技术是什么?关心Citrix的朋友们可能还记得在这是一家在去年一月份被Citrix收购的公司.Framehawk曾经是一家在虚拟化业内很知名的厂商,它的Lightweight FramebufferProtocol (LFP:轻型帧缓冲协议)是自家研发的专利技术(LFP作用和Teradici公司的PC-over-IP(PCoIP)协议类似,只是后者效率较低,VMware View正是租用Teradici公司PCoIP协议作为其传输协议,所以体验效果不好,另外最近Amazon推出