国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CPN的OAuth協(xié)議建模與分析①

2018-03-02 06:16張新剛
計算機系統(tǒng)應用 2018年2期
關鍵詞:令牌客戶端服務器

張 婷,張 鑫,張新剛

1(南陽師范學院 計算機與信息技術學院,南陽 473061)

2(南陽理工學院 軟件學院,南陽 473000)

1 Web安全開放授權協(xié)議

在云計算時代,開放和共享數(shù)據(jù)的需求日益增加,為了便于用戶將資源授權給第三方應用,開放授權的思想應運而生.開放授權旨在對權限進行細粒度的控制,并且保護用戶的密碼以及認證憑據(jù).目前主要的Web2.0安全開放授權機制是:OAuth協(xié)議[1],OpenID協(xié)議[2]和IAM服務[3].

OAuth協(xié)議面向個人用戶,可對資源進行開放授權.在線授權是其特點:OAuth讓第三方無法觸及到用戶的敏感信息(如用戶名與密碼等),在認證用戶的資源所有者身份后,即可以申請獲得該用戶資源的授權[4],從而安全便捷地訪問用戶的網(wǎng)絡資源.

OpenID描述用戶分布式方式身份認證的URI框架[5],解決了傳統(tǒng)數(shù)字身份標識管理以及認證的問題.具有多種認證方式,例如用戶名/密碼的通用認證方式,或生物識別技術、智能卡等新型認證方式.服務提供商不用考慮認證機制,用戶只需要注冊獲取 OpenID 賬戶,即可在多個網(wǎng)站間登錄,而不需要重復注冊,便于用戶統(tǒng)一管理身份信息[6].

IAM服務涵蓋兩方面內(nèi)容:用戶信息管理和用戶訪問策略管理.IAM服務采用預先授權,用戶在預先知道第三方應用所需資源請求的情況下,授權客戶端使用REST API方式訪問資源.

2 OAuth協(xié)議工作原理

OAuth協(xié)議工作的基本流程[1]如圖1所示.

(1)用戶打開客戶端后,客戶端要求用戶給予授權.請求會包含以下信息:用戶的身份信息,要訪問的資源路徑和操作類型等.

(2)用戶同意給予客戶端授權,并傳輸授權證據(jù).

(3)客戶端向認證服務器申請訪問令牌.此時,客戶端需提供授權證據(jù)和客戶端的憑證.

(4)客戶端通過認證服務器的認證后,得到其發(fā)放的訪問令牌.

(5)客戶端攜帶訪問令牌,向資源服務器申請獲取資源.在令牌的有效期內(nèi),客戶端可多次攜帶令牌訪問資源.(6)資源服務器驗證令牌的有效性后同意讓客戶端訪問資源.令牌的有效性包括是否過期、是否偽造、是否越權等.

圖1 OAuth協(xié)議工作原理

在OAuth 2.0中定義了四種授權方式,如表1所示.

表1 授權方式

在OAuth 2.0協(xié)議在使用授權碼模式與認證服務器進行互動時,使用到的各個參數(shù)如表2至表6所示.

表2 申請認證URI的參數(shù)含義

表3 回應URI的參數(shù)含義

表4 請求令牌的參數(shù)含義

表5 返回令牌的參數(shù)含義

表6 更新令牌的參數(shù)含義

3 CPN簡介

Petri 網(wǎng)是一種基于狀態(tài)的建模方法,CPN(Colored Petri Net)是在 Petri 網(wǎng)基礎上擴展而來,具有概念簡單性以及圖形化表達的特點.Kumar和Spafford將 Petri 網(wǎng)應用于Web安全領域[7],建立了基于Petri網(wǎng)的入侵檢測模型,對入侵行為進行CPN建模,當相應模型匹配的事件序列被觸發(fā)時,表示入侵行為發(fā)生.

CPN在解決協(xié)議建模問題時具有以下的優(yōu)勢:

(1)層次化.引入了層次子網(wǎng)的結構,含有替代變遷和融合庫所,可利用多個彼此聯(lián)系的CPN網(wǎng)子模型構建復雜系統(tǒng)的整體模型.

(2)可實現(xiàn)推理.具有變遷機制,庫所被觸發(fā)后變遷到達新的庫所,因果關系明確.

(3)可處理并發(fā)或順序性問題.具有時間因子可以處理不同行為發(fā)生的時間.

(4)有較完善的仿真工具,可使用CPNTools工具進行可視化建模和仿真分析.

4 OAuth2.0協(xié)議建模

4.1 OAuth2.0協(xié)議的頂層模型

基于CPN的OAuth2.0協(xié)議頂層模型如圖2所示,定義模型的顏色集和變量如下:

colset DATA= String;

colset NO = INT;

colset NO*DATA =Product NO*DATA;

var success:BOOL;

圖2 OAuth2.0協(xié)議的頂層模型

庫所A表示申請認證URI,庫所B表示請求令牌,庫所C表示返回令牌,庫所D表示回應URI,庫所E表示更新令牌.庫所Type credential 表示授權證書,庫所Grant Access表示授權訪問.

申請認證URI的參數(shù)和請求令牌的參數(shù)(client_id,redirect_uri)用數(shù)據(jù)類型NO×DATA表示,回應URI的參數(shù)(code)用數(shù)據(jù)類型NO表示,返回令牌的參數(shù)(expires_in)用數(shù)據(jù)類型NO表示,更新令牌的參數(shù)(refresh_token,scope)用數(shù)據(jù)類型NO×DATA表示.

4.2 Resource Owner模型

Resource Owner的執(zhí)行過程如圖3所示.用戶訪問客戶端,給客戶端授權后,認證服務器將用戶導向重定向URI,并附授權碼.

變遷Resource Owner表示客戶端將用戶導向認證服務器,變遷Receive Token表示用戶是否將授權給予客戶端.庫所NextToken表示用戶批準授權后發(fā)送的授權證據(jù).庫所Type credential 表示授權證書.庫所A表示申請認證URI,庫所D表示回應URI,庫所E表示更新令牌.

圖3 Resource Owner模型

4.3 Authorization Server模型

Authorization Server的執(zhí)行過程如圖4所示.在認證服務器確認授權碼以及重定向URI無誤后之,將訪問令牌發(fā)送給客戶端.

圖4 Authorization Server模型

變遷Generate token表示客戶端向認證服務器請求訪問令牌,變遷Validate token表示驗證通過后,向客戶端返回訪問令牌.庫所A表示申請認證URI,庫所B表示請求令牌,庫所C表示返回令牌,庫所D表示回應URI.

4.4 Resource Server模型

Resource Server的執(zhí)行過程如圖5所示.客戶端攜帶訪問令牌訪問資源服務器上的資源.如果令牌在有效期內(nèi),客戶端可以多次訪問相關資源.資源服務器驗證令牌的有效性,通過驗證后,提供所需服務.

圖5 Resource Server模型

變遷Resource server表示驗證令牌的有效性.庫所NextReq表示客戶端多次攜帶令牌訪問資源.庫所Grant access表示授權訪問相應資源.庫所B表示請求令牌,庫所C表示返回令牌,庫所E表示更新令牌.

5 OAuth2.0協(xié)議分析

跨站請求偽造縮寫為CSRF,通過在授權用戶訪問的頁面中包含鏈接,CSRF攻擊可偽裝用戶請求,訪問受信任網(wǎng)站.CSRF攻擊者的目標站點常具有持久化授權cookie或者具有當前受信任用戶的會話cookie.為了防范CSRF攻擊,需要將類似cookie的持久化授權方法,轉換為瞬時授權方法.例如在form中包含用戶授權證據(jù)作為cookie之外的驗證.

申請認證URI的參數(shù)(client_id,redirect_uri)如果在redirect_uri中注入攻擊者提供的authorization_code,模型仿真會終止在Authorization Server的變遷validate token執(zhí)行過程中,不會訪問資源服務器上的資源.這說明從瀏覽器安全角度考慮,OAuth協(xié)議在redirect_uri中引入state參數(shù)可以防范CSRF攻擊.如果沒有state參數(shù),攻擊者可能導致客戶端訪問錯誤的資源.

6 小結

本文列舉了主要的幾種Web安全開放協(xié)議,繪制了OAuth協(xié)議時序圖,使用CPN對OAuth2.0協(xié)議的授權碼模式進行層次化建模.OAuth2.0協(xié)議的模型包括頂層模型、Resource Owner模型、Authorization Server模型和Resource Server模型.并使用Petri網(wǎng)仿真工具CPNTools對OAuth2.0協(xié)議進行了仿真分析,直觀地展現(xiàn)協(xié)議運行過程和防范CSRF攻擊的特點.

1The OAuth 2.0 authorization protocol (draft-ietf-oauth-v2-16).http://tools.ietf.org/html/draft-ietf-oauth-v2-16.[2011-05-19].

2Recordon D,Reed D.OpenID 2.0:A platform for user-centric identity management.Proceedings of the 2nd ACM Workshop on Digital Identity Management.Alexandria,VA,USA.2006.11-16.

3胡剛,郭文奇,戚前方.IAM安全技術在開放平臺系統(tǒng)管理的應用.計算機工程,2005,31(S1):192-194.

4李馥娟.基于OAuth的開放授權技術及在云計算中的應用.計算機系統(tǒng)應用,2015,24(4):228-232.

5夏曄,錢松榮.OpenID身份認證系統(tǒng)的認證等級模型研究.微型電腦應用,2011,27(4):7-9.

6劉潤達,王卷樂,杜佳.OpenID:一種開放的數(shù)字身份標識管理及其認證框架.計算機應用與軟件,2008,25(12):127-129.[doi:10.3969/j.issn.1000-386X.2008.12.043]

7Kumar S,Spafford E H.A software architecture to support misuse intrusion detection [Technical Report].CSD-TR-95-009.West Lafayette,USA:Purdue University,Department of Computer Sciences,1995.

猜你喜歡
令牌客戶端服務器
你的手機安裝了多少個客戶端
“人民網(wǎng)+客戶端”推出數(shù)據(jù)新聞
——穩(wěn)就業(yè)、惠民生,“數(shù)”讀十年成績單
稱金塊
基于路由和QoS令牌桶的集中式限速網(wǎng)關
一種高精度均勻取樣算法及其網(wǎng)絡應用
PowerTCP Server Tool
BlackJumboDog
2018年全球服務器市場將保持溫和增長
新華社推出新版客戶端 打造移動互聯(lián)新聞旗艦
用獨立服務器的站長注意了
天峻县| 长宁区| 双桥区| 泸州市| 武穴市| 密山市| 庆城县| 揭东县| 迁西县| 衡阳市| 台中县| 扬州市| 资源县| 弥勒县| 昌江| 石家庄市| 政和县| 乐业县| 昆明市| 巴南区| 郎溪县| 滁州市| 内丘县| 石嘴山市| 聂荣县| 株洲县| 阿拉善盟| 六盘水市| 增城市| 山东| 宁德市| 甘谷县| 海口市| 稷山县| 光山县| 正宁县| 房产| 崇文区| 西乌珠穆沁旗| 井冈山市| 栾川县|