• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Cookie和Session的身份認(rèn)證機(jī)制的研究與實(shí)現(xiàn)

      2014-04-15 01:31:32姜晗任翠池王磊
      中國(guó)教育技術(shù)裝備 2014年4期

      姜晗 任翠池 王磊

      摘 要 Cookie是解決HTTP協(xié)議無(wú)狀態(tài)性的主要方法,是實(shí)現(xiàn)Web認(rèn)證的主要手段。通過(guò)系統(tǒng)分析Cookie的工作原理和應(yīng)用特點(diǎn),指出該認(rèn)證機(jī)制容易遭受安全的威脅,提出并實(shí)現(xiàn)一種安全性較高的基于Cookie和Session相結(jié)合的身份認(rèn)證的機(jī)制。

      關(guān)鍵詞 Cookie安全;Session;時(shí)間隨機(jī)碼;RSA公鑰加密算法

      中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:B

      文章編號(hào):1671-489X(2014)04-0036-02

      以Web技術(shù)為代表的Internet網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,促使人類社會(huì)正逐漸進(jìn)入一個(gè)以Internet為中心的信息時(shí)代。應(yīng)用層協(xié)議HTTP是Web應(yīng)用的實(shí)現(xiàn)基礎(chǔ),而HTTP協(xié)議本身是一種無(wú)狀態(tài)的協(xié)議,不能記錄客戶端的狀態(tài)信息。然而Web應(yīng)用系統(tǒng)中很多情況下都需要維持這種狀態(tài)信息,HTTP協(xié)議的這種無(wú)狀態(tài)、面向非連接的缺陷很不利于Web應(yīng)用的發(fā)展。為了解決這個(gè)問(wèn)題,由Netscape公司推出了一項(xiàng)HTTP的狀態(tài)管理機(jī)制——Cookie。Cookie的出現(xiàn)彌補(bǔ)了HTTP協(xié)議無(wú)狀態(tài)、面向無(wú)連接的缺陷,為應(yīng)用系統(tǒng)記錄客戶端的狀態(tài)信息以及對(duì)訪問(wèn)者進(jìn)行身份認(rèn)證等操作程序的開(kāi)發(fā)帶來(lái)很大方便。然而,由于Cookie信息在存儲(chǔ)和傳送過(guò)程中都是以明文形式進(jìn)行的,當(dāng)Cookie被作為一項(xiàng)便利的工具在Web中大量使用時(shí),其安全性不得不引起用戶的注意。

      本文主要分析Cookie的工作原理及應(yīng)用特點(diǎn),找出運(yùn)用Cookie存在的安全隱患。針對(duì)這些安全隱患,提出并實(shí)現(xiàn)基于Cookie和Session相結(jié)合的身份認(rèn)證機(jī)制,并且利用RSA公鑰加密算法對(duì)Cookie信息進(jìn)行加密,提高身份認(rèn)證機(jī)制的安全性。

      1 Cookie的工作原理及應(yīng)用分析

      根據(jù)Netscape公司的官方文檔中的定義,Cookie是指在HTTP協(xié)議下,服務(wù)器或腳本可以維護(hù)客戶端計(jì)算機(jī)上信息的一種方式[1]。Cookie是借助于HTTP報(bào)文頭Set-Cookie來(lái)傳送和交換信息的。Cookie定義了兩種HTTP的報(bào)文頭:Set-Cookie報(bào)文頭和Cookie報(bào)文頭。Set-Cookie報(bào)文頭包含于Web服務(wù)器的響應(yīng)頭(Response Header)中,Cookie報(bào)文頭包含在瀏覽器客戶端請(qǐng)求頭(Request Header)中。當(dāng)用戶通過(guò)Web瀏覽器首次打開(kāi)某一站點(diǎn)時(shí),Web服務(wù)器將客戶端的信息寫進(jìn)HTTP響應(yīng)報(bào)文的Set-Cookie中,與HTTP響應(yīng)一起發(fā)往Web瀏覽器。當(dāng)用戶通過(guò)Web瀏覽器發(fā)送后續(xù)的請(qǐng)求時(shí),Web瀏覽器要根據(jù)Web站點(diǎn)的URL從客戶端取出Cookie,并添加到HTTP請(qǐng)求報(bào)文中發(fā)送給Web服務(wù)器。

      2 Session機(jī)制的應(yīng)用分析

      Session在RFC2109中的定義是:允許客戶端和服務(wù)器端通過(guò)使用HTTP的請(qǐng)求與響應(yīng)頭中的數(shù)據(jù)來(lái)交換狀態(tài)信息的技術(shù)。實(shí)際上Session就是客戶端和服務(wù)器通過(guò)Cookie建立的一種對(duì)應(yīng)關(guān)系,這種對(duì)應(yīng)關(guān)系在RFC2109(HTTP State Management Mechanism)中被定義為術(shù)語(yǔ)“Session”。 每一個(gè)Session都是有始有終的,在用戶登錄時(shí)建立,在用戶退出時(shí)刪除。

      通過(guò)Cookie來(lái)建立Session是RFC2109中規(guī)定的標(biāo)準(zhǔn)方法。服務(wù)器在HTTP響應(yīng)頭的Set-cookie中設(shè)置Cookie值,與HTTP響應(yīng)報(bào)文一起發(fā)往客戶端;客戶端在后續(xù)的訪問(wèn)中必須將Cookie值附加在HTTP請(qǐng)求報(bào)文的頭部一起發(fā)往服務(wù)器。在服務(wù)器設(shè)置Set-cookie的同時(shí)也將Cookie的內(nèi)容寫入Session。為了讓客戶端的每一個(gè)Session都有唯一的一個(gè)Cookie與它對(duì)應(yīng),在Cookie中選擇一個(gè)能夠區(qū)分每一個(gè)Cookie的值作為Session的標(biāo)識(shí)。

      這樣,Cookie和Session之間通過(guò)這個(gè)值就建立了對(duì)應(yīng)關(guān)系,根據(jù)Cookie就可以找到相應(yīng)的Session了。在用戶退出系統(tǒng)時(shí),服務(wù)器會(huì)將與該用戶相對(duì)應(yīng)的Session刪除。

      3 基于Cookie和Session的身份認(rèn)證機(jī)制的實(shí)現(xiàn)

      根據(jù)上面介紹的基本原理,本文通過(guò)編寫cgi程序在Linux平臺(tái)上實(shí)現(xiàn)了基于Cookie和Session相結(jié)合的身份認(rèn)證機(jī)制。本實(shí)現(xiàn)來(lái)源于網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)項(xiàng)目中的一個(gè)模塊,為了保證系統(tǒng)的安全性,用戶登錄系統(tǒng)后的所有操作都需要再次進(jìn)行身份認(rèn)證。為了方便用戶的使用,后續(xù)的身份認(rèn)證不再需要用戶輸入用戶名和密碼,而是通過(guò)Cookie和Session自動(dòng)進(jìn)行身份認(rèn)證。

      基于Cookie和Session的身份認(rèn)證的原理及過(guò)程分析 基于Cookie和Session的身份認(rèn)證機(jī)制的實(shí)現(xiàn)原理是:比較Cookie中綁定的IP地址和系統(tǒng)自動(dòng)生成的隨機(jī)碼與保存在Session中的IP地址和隨機(jī)碼是否一致,若一致則能夠通過(guò)身份認(rèn)證,否則不能夠通過(guò)身份認(rèn)證。該認(rèn)證機(jī)制涉及兩類應(yīng)用界面:一個(gè)是用于輸入用戶名、密碼的登錄界面index.html,它是基于用戶名、密碼的初始身份認(rèn)證,是合法用戶進(jìn)入系統(tǒng)的唯一通道;另一類是用戶成功進(jìn)入系統(tǒng)后的操作界面,統(tǒng)記為operating.cgi,它是用戶完成各種操作的平臺(tái)。用戶憑借合法的用戶名、密碼進(jìn)入系統(tǒng)后,看到的只是他理論上能夠操作的菜單,是否能夠操作取決于再次進(jìn)行身份認(rèn)證的成功與否。此次身份認(rèn)證就是基于Cookie和Session的認(rèn)證。

      通過(guò)用戶名、密碼初始認(rèn)證與后續(xù)的請(qǐng)求認(rèn)證過(guò)程如圖1、圖2所示。

      該身份認(rèn)證過(guò)程描述及主要實(shí)現(xiàn)代碼如下。

      1)用戶在登錄界面index.html上提交用戶名、密碼,發(fā)出HTTP請(qǐng)求。

      2)服務(wù)器接收到HTTP請(qǐng)求,驗(yàn)證用戶提交的信息是否合法。若合法,則服務(wù)器將用戶的用戶名、IP地址以及系統(tǒng)自動(dòng)生成的隨機(jī)碼等信息經(jīng)過(guò)RSA算法加密后寫進(jìn)HTTP的響應(yīng)頭的Set-Cookie,同時(shí)將這些信息也存入服務(wù)器端的Session,然后返回HTTP響應(yīng);若不合法,則返回驗(yàn)證失敗的信息。

      3)客戶端收到服務(wù)器端的HTTP響應(yīng)后,提取HTTP響應(yīng)頭Set-Cookie中的信息并存儲(chǔ)在客戶端的Cookie中,等再次向該服務(wù)器發(fā)出后續(xù)請(qǐng)求時(shí)連同存儲(chǔ)在客戶端中的Cookie一起發(fā)往服務(wù)器。

      4)服務(wù)器接收到客戶端的HTTP請(qǐng)求后,提取并使用RSA算法解密Cookie中的信息,然后將解密后的Cookie信息中的用戶IP地址和系統(tǒng)自動(dòng)生成隨機(jī)碼與服務(wù)器端Session中的IP地址和隨機(jī)碼相比較,若一致則返回客戶端請(qǐng)求的HTTP響應(yīng),否則返回出錯(cuò)信息。

      基于Cookie和Session的身份認(rèn)證機(jī)制的安全性分析 通過(guò)上述的實(shí)現(xiàn)過(guò)程可知,用戶只有通過(guò)合法的用戶名、密碼的初始認(rèn)證后,服務(wù)器才能為該用戶生成相應(yīng)的Cookie和Session信息。因此,即使攻擊者通過(guò)惡意程序等手段截獲了Cookie信息,假冒合法用戶的身份進(jìn)行攻擊也是困難重重。首先,在服務(wù)器端與客戶端之間傳送的Cookie信息是經(jīng)過(guò)RSA加密處理之后的,根據(jù)RSA加密算法的特點(diǎn),攻擊者想要破解密文是相當(dāng)困難的;其次,即使攻擊者破解了Cookie密文,由于Cookie中含有系統(tǒng)自動(dòng)生成的隨機(jī)碼,只要Cookie中的隨機(jī)碼和Session中的隨機(jī)碼不一致,攻擊者依舊不能訪問(wèn)系統(tǒng)資源。

      因此,在應(yīng)用系統(tǒng)中使用基于Cookie和Session相結(jié)合的身份認(rèn)證機(jī)制,增加了攻擊者利用Cookie的捕獲/重放、Session定置以及跨站請(qǐng)求偽造等手段進(jìn)行攻擊的難度,在一定程度上提高了系統(tǒng)的安全性。

      4 結(jié)束語(yǔ)

      Cookie是實(shí)現(xiàn)身份認(rèn)證的主要手段。鑒于Cookie機(jī)制的不安全性,本文提出并實(shí)現(xiàn)了使用Cookie和Session相結(jié)合的方法,并使用RSA加密算法對(duì)Cookie進(jìn)行加密的身份認(rèn)證機(jī)制,該機(jī)制提高了利用Cookie進(jìn)行身份認(rèn)證的安全性,具有一定實(shí)用性。

      參考文獻(xiàn)

      [1]李馥娟.基于Cookies的Web應(yīng)用分析及其安全研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(8):88-91.

      [2]胡忠望,劉衛(wèi)東.Cookie應(yīng)用與個(gè)人信息安全研究[J].計(jì)算機(jī)應(yīng)用于軟件,2007,24(3):50-53.

      [3]劉嘯.基于Cookie欺騙的Session滲透入侵分析及其安全模型研究[D].杭州:浙江大學(xué):10-12.

      南城县| 土默特左旗| 镇远县| 土默特右旗| 六枝特区| 德清县| 湟源县| 和顺县| 鹤岗市| 蒙阴县| 库尔勒市| 永丰县| 南汇区| 和龙市| 阿克陶县| 竹北市| 澳门| 汪清县| 黄骅市| 壤塘县| 彭州市| 万荣县| 迁安市| 民乐县| 固镇县| 靖江市| 呼玛县| 灵璧县| 桂林市| 红原县| 额济纳旗| 肥乡县| 安福县| 海宁市| 精河县| 闸北区| 岚皋县| 百色市| 武义县| 永康市| 唐山市|