摘? 要:平臺化是互聯(lián)網發(fā)展的大趨勢,為了解決當中的身份驗證問題,2010年OAuth協(xié)議被提了出來。OAuth2.0協(xié)議因為安全、便捷等特性很快被眾多互聯(lián)網平臺采納,與API(Application Programming Interface,開放應用程序編程接口)配合為用戶提供豐富多彩的網絡服務。為了研究OAuth2.0協(xié)議應用現狀,本文對使用該協(xié)議的平臺和接入平臺的第三方進行了研究,并根據研究結果對協(xié)議的優(yōu)勢和潛在的安全特性進行了分析,最后提了出相關使用建議。
關鍵詞:開放平臺;OAuth2.0;授權登錄
中圖分類號:TP393.08? ? ? 文獻標識碼:A 文章編號:2096-4706(2019)20-0151-04
Absrtact:Platform is the main trend of internet development. In order to solve the identity authentication problem,OAuth protocol was proposed in 2010. Because of its security and convenience,OAuth 2.0 protocol is quickly adopted by many internet platforms,and cooperates with application programming interface(API) to provide users with rich and colorful network services. In order to study the application status of OAuth 2.0 protocol,this paper studies the platform using the protocol and the third party accessing the platform. According to the research results,the advantages and potential security characteristics of the protocol are analyzed. Finally,some suggestions are put forward.
Keywords:open platform;OAuth 2.0;authorized login
1? 背景
隨著Web2.0技術的發(fā)展,網絡應用迎來了“井噴”,這些應用充斥著人們的生活,在滿足了互聯(lián)網用戶各種需求的同時,也讓互聯(lián)網信息變得雜亂無章,使得用戶信息的搜尋和管理變得愈發(fā)困難。Web3.0是新一代網絡應用的統(tǒng)稱,它繼承了Web2.0的所有特點并在此基礎上提供了更加高效、精確、個性化的服務,協(xié)助用戶從網絡紛繁復雜的海量信息中找到自己所需要的那一部分(面向Web3.0的分眾分類研究)。盡管國內外學者對于Web3.0有不同的定義和理解,但可以肯定的是個性化的信息聚合和平臺化的信息交互是Web3.0的一個發(fā)展方向。
2007年5月份,Facebook宣布改版,最早提出了開放平臺的概念,正式從一個社交網站向一個社交應用平臺轉型[1]。開放平臺為第三方開發(fā)者提供了一整套“開放API”,通過幫助第三方調取開放平臺上用戶儲存的個人信息,來達到數據互聯(lián)共享的目的,第三方平臺讓網絡公司的服務從單一的社交升級為圍繞社交賬戶而展開的包括學習、娛樂、網上購物、出行等一系列網絡服務,一站式滿足用戶個性化需求。國內網絡公司也效仿Facebook推出了自己的開放平臺,隨著接入平臺的開發(fā)者逐漸增多,平臺的功能也越來越豐富,并逐漸形成一個完整的生態(tài)。
開放平臺和接入平臺的開發(fā)者并不屬于同一家公司,用戶想要使用平臺內的應用就需要授權開發(fā)者調度用戶儲存在平臺內的個人信息,一般情況下,將用戶的用戶名和密碼直接提供給開發(fā)者是一種不安全的行為。OAuth2.0協(xié)議正好規(guī)避了這一不安全行為,在用戶不向開發(fā)者提供賬號密碼的前提下,授權其訪問用戶儲存在平臺內的數據。
1.1? OAuth2.0協(xié)議介紹
OAuth(Open Authorization)又稱開放認證,2010年OAuth1.0被IETF認定為互聯(lián)網標準協(xié)議,OAuth2.0是OAuth1.0的升級版且不兼容OAuth1.0,主要支持Web應用、桌面應用、移動終端、家庭設備等應用環(huán)境。它的主要特點有:開發(fā)簡單,支持PHP、Java Script等多種語言開發(fā)包;運行機制安全,通過令牌授權訪問,不會泄露用戶的賬號和密碼;運行環(huán)境開放,支持PC端、移動端等多種設備和運行環(huán)境[2]。
OAuth2.0協(xié)議通常以“授權登錄”“合作賬戶登錄”或者“第三方登錄”等形式出現在各種網站和應用的登錄頁面上(接入平臺的網站或應用一般被稱為“第三方”,但當用戶使用開發(fā)者服務時,開放平臺有時也會被稱為“第三方”),與API配合使用。用戶在登錄之后,開發(fā)者可獲得用戶的昵稱、頭像等信息,并且根據平臺的實際情況,開發(fā)者甚至能獲得用戶的關系鏈等更為重要的個人信息。
授權登錄操作簡單,用戶點擊進入登錄頁面,在“授權登錄”分類中有多家平臺圖標,用戶一般會選擇已注冊過且常用的的開放平臺,隨后進入平臺授權頁面,在這個網頁中用戶須確認網站調用個人信息的種類并閱讀相關協(xié)議,用戶輸入平臺的賬號密碼或者手機掃描二維碼后,就可以憑借開放平臺用戶的身份使用該網站的服務。在這一簡單操作的背后,是三個角色之間的數據交互,這三個角色包括用戶、開放平臺(以下簡稱“平臺”)和第三方網站或應用(以下簡稱“第三方”)。
OAuth2.0協(xié)議授權方式流程大致如下:
(1)第三方通過授權服務器或者授權登錄頁面向用戶請求權限。
(2)用戶同意授權,第三方從用戶端接收到一個訪問第三方資源服務器的許可。
(3)第三方使用自己的私有證書在平臺的鑒權服務器進行鑒權,請求訪問令牌。
(4)鑒權服務器驗證通過,為第三方頒發(fā)訪問令牌。
(5)第三方利用令牌向平臺的資源服務器請求訪問受保護的用戶信息。
(6)資源服務器驗證令牌的有效性,為第三方提供相應的用戶信息。
1.2? OAuth2.0應用現狀研究
OAuth2.0協(xié)議在國內應用已經較為普及,隨之出現的新特征在信息組織和信息安全領域有著一定的研究意義,但是目前尚無學者對OAuth協(xié)議的使用情況進行研究。本文利用互聯(lián)網對OAuth協(xié)議的使用情況進行了收集、整理和分析。站長之家(http://www.chinaz.com)是國內知名網絡基礎服務提供方,提供的數據有較強的權威性,其網站排名服務共收錄了57545個網站,綜合Alexa、百度權重、Google的PR值、反鏈數等多個參考標準,對這些網站進行了綜合排序和種類劃分,后文提及網站分類皆以此網站為依據。
2? 數據選取和規(guī)則
本文選取了站長之家7月21日綜合排名前200的網站,根據這些網站的域名情況進行篩選,例如新浪網和新浪汽車頻道同時存在的情況下,去除新浪汽車頻道保留新浪網。共得到157個網站,對這些網站登錄頁面的“授權登錄”選項逐一進行統(tǒng)計,表格中第一豎列為網站名稱,第一橫排為授權登錄的開放平臺,如果一個網站可以通過QQ進行授權登錄,那么在該網站和QQ的相交位置填入“1”,沒有則不填。根據以上操作得到的結果如表1所示。
3? 基于OAuth認證框架的開放平臺研究
提供OAuth2.0協(xié)議的網絡公司首先需要具備較強的技術實力和經濟實力,開放平臺的建設和維護需要耗費一定的人力、物力和財力,普通的小公司無法做到這一點;其次,開放平臺需要有較多的用戶基數,第一個轉型開放平臺的Facebook擁有23.2億月活用戶,使用授權登錄的前提,就是用戶擁有平臺賬號。
在這157個網站的登錄頁面中,有27家公司提供基于OAuth協(xié)議的授權登錄,網站如表2所示。
3.1? 平臺數量研究
這27個網站中,除了GitHub、Facebookhe、MSN和Twitter以外,都是國內網站,其中有微信、QQ、微博、淘寶、支付寶、百度等民最常用的平臺,也有盛大、友盟等冷門平臺。
從圖1接入網站的數量來看,在這157個網站中,接入QQ平臺的網站數量最多,達到了91個,其次是微信和微博,分別有87和82個。它們是國內用戶數量和活躍度最高的社交平臺,接入這三個平臺的網站可以增加潛在的用戶數量,在激烈的行業(yè)競爭中搶占先機。除了微信、QQ、微博,百度、支付寶和淘寶也是接入網站較多的平臺,分別達到了14個、13個和8個,其中淘寶和支付寶是國內用戶最多的電子商務平臺,但是由于平臺功能較為單一,因此難以吸引更多的網站接入。
3.2? 提供方分類研究
提供授權登錄的平臺主要分為4個大類包括:(1)社交平臺:微信、QQ、微博、人人、豆瓣、開心網、YY、脈脈、領英、Facebook、Twitter、MSN。(2)電子商務平臺:淘寶、支付寶、我買網、1688。(3)綜合平臺:百度、網易。(4)專用平臺:360、盛大、釘釘、友盟、小米、115、GitHub、中國移動、中國電信。
社交類平臺在各類平臺中占有絕對領先的地位,特別是微信、QQ、微博平臺,除了因為用戶數量多,還因為向第三方提供了更多功能,例如內容分享和關系鏈API接口,讓平臺的功能更加豐富,并加強了用戶之間的交互。電子商務平臺的功能主要涉及網購和支付,這類信息與用戶的經濟安全直接相關,并不適合開展社交,同時電子商務網站之間是強烈的競爭關系,無法像社交網站那樣相互促進、合作共贏,因此接入網站數量較少。綜合類網站平臺,業(yè)務廣而不精,用戶粘性較差。專用平臺只針對某個特殊群體,例如釘釘主要針對上班簽到人群,用戶數量較少,作為開放平臺效果也難以收到成效。
4? 第三方接入研究
網站想要接入開放平臺,需要首先在微信平臺注冊開發(fā)者賬號并擁有一個已經審核過的網站應用并獲得相應的AppID和AppSecret,申請微信登錄且通過審核后,可開始接入流程[3]。
接入平臺后,用戶可以憑借平臺用戶身份使用該網站上的應用,網站可通過平臺提供的API調取用戶信息,完善用戶資料。
4.1? 接入數量研究
如圖2所示,157個網站中接入開放平臺的多達103個,剩余的54個網站沒有接入開放平臺,其中包含了網頁版微信和騰訊網這些提供平臺服務的網絡公司,以及7個不支持賬戶登錄功能的網站,可以看出授權登錄在網絡中有著較高的普及程度。就單個網站的接入平臺的數量來看,接入平臺數量大于等于3的網站有78個,大于等于5的網站有13個,接入平臺數量越多,潛在的用戶數量就越大,對于用戶來說有助于他們選擇更適合自己的平臺。
4.2? 接入網站類型研究
本次研究的157個網站總共分為11個大類,每種網站數量和接入情況如圖3所示。
從網站分類來看,平臺接入率較高的網站都與用戶生活較為密切,生活服務類網站包括了房產、汽車、金融、分類、餐飲、求職等分類;休閑娛樂類網站包括了視頻、小說、游戲、音樂、漫畫等分類;交通旅游類網站主要以機票、住宿、旅游攻略為主。這些網站的生存比較依賴用戶流量,因此除部分不支持登錄的網站外,絕大部分需要接入平臺來吸引用戶。教育文化、網絡科技、行業(yè)企業(yè)等網站用戶覆蓋面較小,專業(yè)性較強,因此其中有些網站不需要借助平臺來吸引用戶。
4.2.1? OAuth2.0優(yōu)勢分析
通過分析可以看出,以OAuth2.0協(xié)議為主的授權登錄在網絡中普及程度較高。這對于平臺,接入方還有用戶都有明顯的好處。首先,騰訊、微信、微博等平臺通過吸引第三方的接入來擴大影響力,覆蓋互聯(lián)網,進而實現利益最大化;其次,接入平臺的第三方可以利用開放平臺宣傳自己,利用授權登錄的便利性將平臺用戶納為自己的潛在用戶;再次,授權登錄相對安全且高效,盡管現有的互聯(lián)網規(guī)定要求用戶需使用手機號碼進行實名制注冊,但是授權登錄仍然可以幫助用戶簡化注冊流程和登錄流程,避免用戶因為在中毒的電腦上輸入賬號和密碼而導致賬戶被盜;最后,在互聯(lián)網各類應用泛濫的今天,授權登錄可以幫助用戶有效管理網站賬戶,免除記憶賬戶的麻煩。
4.2.2? OAuth2.0應用安全
伴隨著OAuth2.0協(xié)議的普及,它的安全問題也逐漸暴露出來:授權登錄有多種授權方式,從技術的角度看,Resource Owner Password Credentials授權流程容易導致賬號和密碼被暴力破解導致賬號密碼的泄露;Implicit Grant客戶端授權流程中,攻擊者偽造回調地址誘騙用戶訪問釣魚網站劫持并解析用戶的access_token;Authorization Code授權登錄也有可能受到CSRF(Cross Site Request Forgery,跨站請求偽造)攻擊,將應用賬戶綁定至他人的平臺賬號上,造成個人信息的泄露[4]。OAuth2.0協(xié)議的廣泛使用雖然帶來了新的安全問題,但是其大大降低了賬戶在輸入階段被盜的概率,抬高了攻擊者盜取賬戶的技術門檻,因此授權登錄從總體上提升了賬戶安全,隨著協(xié)議不斷升級和完善還有開發(fā)者技術的提高,授權登錄會更加安全。
比起技術安全,授權登錄的使用安全更需要人們關注。授權登錄因為其便利性受到了用戶的青睞,但是簡化的登錄流程容易讓用戶過于依賴同一個平臺賬號,一旦平臺賬號被盜,那么使用其授權的所有網站和應用內的信息都會泄露。盡管目前微信、QQ等平臺賬戶安全策略較為完善,但是被盜的情況仍然時有發(fā)生。使用授權登錄的第三方配合平臺提供的API接口,同樣會對用戶隱私構成威脅,例如某些接入微信的小程序表面上利用算命、心理測驗等形式吸引用戶點擊和分享,根據用戶點擊情況收集用戶頭像、昵稱和關系鏈。平臺作為授權登錄的提供方,在與其他網絡公司的競爭中動用授權登錄來限制競爭對手的情況也時有發(fā)生,例如2019年1月微信為了限制抖音的發(fā)展,取消了抖音的授權登錄,之前微信授權登錄的用戶只能重新注冊。
5? 結? 論
基于OAuth2.0協(xié)議的授權登錄最初是為了解決用戶認證問題而被設計出來的,在廣泛使用的過程中被賦予了越來越重要的功能和地位,圍繞授權登錄的三方都需要對這項功能有一個重新的認識。對于廣大用戶來說,應當完善賬戶信息,配合平臺賬戶安全策略,同時謹慎使用授權登錄,適時取消授權;平臺方需完善安全策略,嚴格把控平臺開發(fā)質量避免系統(tǒng)漏洞,加強對第三方的審查,確保用戶信息安全;第三方開發(fā)者應當約束自身行為,避免越權侵犯用戶利益。
參考文獻:
[1] 時子慶,劉金蘭,譚曉華.基于OAuth2.0的認證授權技術 [J].計算機系統(tǒng)應用,2012,21(3):260-264.
[2] 劉大紅,劉明.第三方應用與開放平臺OAuth認證互連技術研究 [J].電腦知識與技術,2012,8(22):5367-5369.
[3] 網站應用微信登錄開發(fā)指南 [EB/OL].(2018-10-01).https://open.weixin.qq.com/cgi-bin/showdocument?action= dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN.
[4] 張?zhí)扃?OAuth協(xié)議安全性研究 [J].信息網絡安全,2013(3):68-70.
作者簡介:朱博昌(1989-),男,漢族,山西太原人,就職于圖書館,助理館員,畢業(yè)于廣西民族大學情報學專業(yè),碩士研究生,研究方向:信息組織。