风险提示:理性看待区块链,提高风险意识!
聊聊数字身份的认证与授权,三种主流身份认证协议入门指南
首页 > 币界资讯 > 区块链新闻 2018-09-19 10:30:00
币界网报道:

无论是PC客户端还是移动端,第三方应用账户登录已经成为了标配,特别是在网络账户相互打通的前提下,不同平台对身份已经做到了互认。第三方账户在登录时,既要限制用户身份,只让有效注册的用户才能登录,也要根据注册用户的不同身份来控制能浏览的内容,这就需要认证和授权。 如今,区块链的出现,为去中心化数字身份提供了又一种全新的技术路径。面对如此之多的身份认证技术,我们需要重新审视当前技术的优势与不足,从而为区块链数字身份的发展提供更多有价值的参考。 什么是认证、授权、单点登录? 认证(Authenticate)和授权(Authorize),是两个容易混淆的概念。认证过程是证实某个用户是他所声明的那个人;授权则要决定一个身份是否能够访问网站资源。由此可见,应用需要先认证用户身份,然后依据用户身份进行授权,二者需要联合使用。

图2

对于微信这样的应用,用户在登录后会得到该账户的身份凭证。如果其他第三方应用信任并接受微信的身份凭证,就可以直接使用该凭证通过第三方的认证而登录。至于登陆之后用户能有权限去做什么,则是要第三方应用根据自己的政策进行授权。有些网站在第一次使用微信账户登录时,需要绑定已用账户,就是因为虽然网站能够通过微信账户的身份认证,但是对于这样的账户没有对应的授权。

图3

对于一个面向体系内部的服务环境,可能有邮箱系统、网上办公系统、财务系统等。如果每个系统都是独立的,那么公司的员工就需要每一个系统都分配一个账户,这样显然是低效且麻烦的。 目前,通用解决方案是单点登录(Single Sign-On,简称SSO),用户在内网中只需登录一次,就可以访问所有相互信任的应用系统。单点登录和统一认证中主要的三个协议是OpenID、OAuth、SAML,被称为单点登录的“三驾马车”。   OpenID:去中心化认证的第三方登录经典模式 谈到单点登录和身份认证,就不得不谈OpenID。最典型的使用实例就是使用Google账户登录其他应用,这一经典的协议模式,为其他厂商的第三方登录起到了标杆的作用,被广泛参考和使用。

 图5

OpenID是一个去中心化的数字身份识别框架,属于认证(Authentication)协议。OpenID的创建基于这样一个概念:我们可以通过统一资源标识符(URI)来认证一个网站的唯一身份对于支持OpenID的网站。用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为OpenID身份提供者(Identity Provider, IdP)的网站上注册。 任何网站都可以使用OpenID来作为用户登录的一种方式,也都可以作为OpenID的身份提供者,它既解决了问题而又不需要依赖于中心化的网站来确认数字身份。 OpenID的第一部分是身份验证,即如何通过 URI来认证用户身份。目前的网站都是依靠用户名和密码来登录认证,这就意味着大家在每个网站都需要注册用户名和密码,即便你使用的是同样的密码。如果使用OpenID,你的网站地址(URI)就是你的用户名,而你的密码安全的存储在一个OpenID服务网站上。 由于良好的通用性,OpenID正在被越来越多的大型互联网平台采用,比如作为身份提供者的AOL和Orange。它既可以应用于单点登录系统,也可以用于共享敏感数据时的身份认证。由于URI是整个网络世界的核心,它为基于URI的用户身份认证提供了广泛的、坚实的基础。 OAuth:不触碰用户信息即可授权的“黑匣”协议 OAuth协议为用户资源的授权提供了一个安全、开放且简易的标准。比起OpenID,OAuth更像是一个授权(Authorization)协议,其独特之处在于,它可以让第三方应用程序在不获取用户账号密码的情况下,获得属于用户的资源或是进行符合用户权限的操作。在这个过程中,令牌(Token)成为核心节点。OAuth2.0通过IdP给第三方应用颁发令牌来实现以上功能,第三方应用则通过使用令牌向资源服务换取对应的资源。

图7

OAuth2.0是2006年提出来的新一代OAuth版本,比起OAuth1.X,它简化了认证交互过程,增加了认证机制,并对代码和可能出现的漏洞进行了优化与修改。OAuth2.0协议主要有四个角色:用户、资源服务器、授权服务器、客户端。                                                         那么这四个角色完成一个怎样的流程呢?举个例子,Alice要外出一段时间,让自己的朋友Bob代为照顾她的房子,所以Alice把自己房子的钥匙交给了Bob,而Bob也就可以任意进入房子。这里的钥匙就是一种授权的体现——Alice授权Bob进入房子。这其中,房子所有者Alice就是用户,Bob是客户端,而门锁就是授权服务器,房子是资源服务器。 SAML:兼顾认证与授权的身份信息共享通道 SAML协议(Security Assertion Markup Language,安全性断言标记语言)是三者中时间最长的协议,最初版本制定于2001年,并于2005年修改。作为一种安全性断言标记语言,SAML协议既可以用于认证也用于授权。 所谓的安全性断言,就是关于认证、授权以及用户属性(比如用户姓名、住址等信息)的声明集合,在SAML中,这些断言以XML格式进行传输。SAML的主要功能是在不同的安全域之间提供身份认证和授权信息交换,为用户跨平台进行身份认证和授权提供了方便,解决了多个系统共享认证、授权过程中的信息传递问题。 当要验证一个用户身份时,服务提供商(Service Provider,简称SP)会向IdP发出SAML认证请求,该请求中会以XML格式说明认证方式的设置,比如希望IdP以何种方式验证用户。IdP在认证通过用户身份之后,会返回SAML请求响应,同样以XML格式返回断言表明用户身份和相关属性,此外SAML安全性断言信息必须要使用数字签名以保证其完整性和不可抵赖性。SP接收到SAML断言之后,验证其消息来源是否费受信任的IdP,验证通过之后解析XML获得认证信息。   当前的身份认证技术在为用户提供便利服务的同时,其弊端也正在凸显,比如隐私泄露、身份欺诈窃取、身份无法跨境互认等。但我们相信,技术的进步总是出人意料,区块链的发展将为数字身份的发展注入更多活力,并有望推动其成为全球通用的可信基础设施。

上一篇: IMF总裁发文:加密监管方案须尽快制定 世界各国应携手应对
下一篇: 长虹科脉KM1-智能科技运动挖矿手表新品发布会在杭州正式启动
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
61487.27 USDT
¥446,557.45
+0.51%
Solana
144.93 USDT
¥1,052.57
+4.2%
Curve
0.2903 USDT
¥2.11
-0.99%
Filecoin
4.524 USDT
¥32.86
+2.67%
Beta Finance
0.083228 USDT
¥0.60
-14.4%
柚子
0.5938 USDT
¥4.31
+2.08%
狗狗币
0.1269 USDT
¥0.92
+4.02%
Conflux
0.1676 USDT
¥1.22
+2.95%
Shiba Inu
1.74E-5 USDT
¥0.00
+0.99%
Terra Classic
8.356E-5 USDT
¥0.00
+1.25%
dYdX
1.4265 USDT
¥10.36
+2.73%
Arweave
26.1804 USDT
¥190.14
-1.6%
最新快讯
更多
XPayments已在美国31个州获得货币转移许可
2024-06-28 20:49:54
币界网最新行情晚报:LINK价格达14.513美元/枚,日内涨幅2.00%
2024-06-28 20:48:47
币界网最新行情晚报:PEOPLE价格达0.08893美元/枚,日内跌幅-3.16%
2024-06-28 20:46:14
美国5月PCE数据公布后DXY短线下挫21点,交易员增加对美联储降息押注
2024-06-28 20:33:04
美国5月核心PCE年率降至3年多来新低
2024-06-28 20:32:54
美国5月核心PCE物价指数年率2.6%,预期2.60%,前值2.80%
2024-06-28 20:31:14
VanEckSolanaETF申请文件中列出一项特定风险:SOL所有权集中
2024-06-28 20:29:20
下载币界网APP