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

?

用戶Cookie的自動安全保護(hù)方法

2014-09-06 08:34熊大元王慧澤劉程晟楊昌元
關(guān)鍵詞:U盤解密瀏覽器

熊大元,王慧澤,劉程晟,楊昌元

(華東師范大學(xué) 信息科學(xué)技術(shù)學(xué)院,上海 200241)

用戶Cookie的自動安全保護(hù)方法

熊大元,王慧澤,劉程晟,楊昌元

(華東師范大學(xué) 信息科學(xué)技術(shù)學(xué)院,上海 200241)

針對用戶Cookie的安全性問題,提出一種用戶Cookie的自動安全保護(hù)方法. 先將用戶Cookie信息加密存儲在移動存儲設(shè)備中,再利用指紋識別鑒定用戶的身份,實(shí)現(xiàn)程序全后臺操作,自動完成對Cookie移動、 轉(zhuǎn)存和刪除等管理,使用戶能在不同計(jì)算機(jī)上方便進(jìn)行網(wǎng)絡(luò)登錄,且具有相同的Cookie應(yīng)用環(huán)境. 實(shí)際應(yīng)用表明,該方法能有效保護(hù)用戶Cookie信息,并提高用戶登錄時(shí)的便捷程度.

Cookie; 安全保護(hù); 指紋識別; Java語言

隨著網(wǎng)站數(shù)量的增加,用戶需要注冊的賬號越來越多,從而產(chǎn)生大量的注冊信息. Cookie作為目前流行的存儲用戶登錄信息并幫助用戶自動登錄的技術(shù)而應(yīng)用廣泛,但用戶端Cookie的安全性一直被忽視. 本文基于Cookie的安全性問題,提出一種用戶Cookie的自動安全保護(hù)方法. 采用具有指紋識別功能的第三方移動硬盤或U盤存儲用戶的Cookie信息,并鑒別用戶身份. 用戶身份識別通過后,程序?qū)崿F(xiàn)全后臺操作,自動把用戶的Cookie信息解密、 復(fù)制到計(jì)算機(jī)中,用戶可利用已有Cookie信息進(jìn)行網(wǎng)絡(luò)活動,并具有與原來相同的Cookie應(yīng)用環(huán)境. 在應(yīng)用過程中,如果Cookie信息發(fā)生改變,程序會對Cookie信息進(jìn)行加密、 存儲或刪除,以保持Cookie信息的最新狀態(tài). 當(dāng)用戶退出系統(tǒng)后,會自動清理本地硬盤的Cookie,防止其他用戶對其非法使用. 通過身份認(rèn)證后,用戶對Cookie的使用是透明的,不會影響用戶的正常網(wǎng)絡(luò)應(yīng)用.

1 Cookie安全性分析

常見的Cookie類型有: 永久Cookie、 臨時(shí)Cookie、 不滿意Cookie、 第一方和第三方Cookie. 在客戶端,如果是臨時(shí)Cookie,存儲于瀏覽器的內(nèi)存中. 如果是永久Cookie,存儲于客戶端的Cookies文件夾內(nèi)[1-2],本文考慮用戶端的永久Cookie.

IE瀏覽器中Cookie的結(jié)構(gòu)體一般可定義為[3-5]:

typedef struct CookieEntry

{

PTCHAR pszName;

PTCHAR pszValue;

PTCHAR pszUrlPath;

DWORD dwFlags; //Security Flags

DWORD dwLowWordExpiration; //LowWord of FILETIME

DWORD dwHighWordExpiration; //HighWord of FILETIME

DWORD dwLowWordCreation; //LowWord of FILETIME

DWORD dwHighWordCreation; //HighWord of FILETIME

CHAR chEnd; //‘*’

} COOKIEENTRY,*LPCOOKIEENTRY;

每個(gè)Cookie有6個(gè)屬性,分別為: Cookies Name,Cookies Value,Domain,Path,Secure和Expire Date. 其中: Path表示Cookie在有效域中的有效路徑,在有效路徑外的網(wǎng)頁不可讀寫Cookie,默認(rèn)產(chǎn)生此Cookie信息的URL; 而該屬性也是Cookie的一個(gè)安全特征,限制對Web服務(wù)器上特定目錄的訪問,即控制哪些訪問能觸發(fā)發(fā)送; Secure可選擇true/false值,用于表示Cookie是否只能從安全網(wǎng)站中訪問; 即如果標(biāo)記一個(gè)Cookie為安全的(該值被設(shè)置為true),則僅當(dāng)客戶端與服務(wù)器的對話通道是安全的(如HTTP over SSL),Cookie才會被傳送. 因此,Cookie結(jié)構(gòu)對服務(wù)器端的訪問和傳輸有一定的安全防護(hù),但并未對用戶端的Cookie有相應(yīng)的安全措施. 通常永久Cookie以文本形式存儲于客戶端計(jì)算機(jī)中的Cookies文件夾內(nèi),對其訪問并沒有限制[6],存在安全隱患. 特別在公用計(jì)算機(jī)上,當(dāng)以相同的系統(tǒng)身份登錄后,可獲取硬盤上的Cookie信息,并非法使用,從而導(dǎo)致嚴(yán)重后果. 盡管部分網(wǎng)站對Cookie采用了加密等安全措施進(jìn)行Cookie保護(hù),但對于用戶,并沒有對所有Cookie信息保護(hù)的整體解決方法. 因此研究一種通用的用戶Cookie自動安全保護(hù)方法非常必要.

2 Cookie自動安全保護(hù)程序設(shè)計(jì)

本文設(shè)計(jì)的用戶Cookie自動安全保護(hù)方法,采用指紋識別鑒別用戶的身份,計(jì)算機(jī)硬盤中并不存儲Cookie,而存儲在移動硬盤或U盤中,對不同用戶,Cookie用不同的秘鑰進(jìn)行加密,程序?qū)崿F(xiàn)全后臺操作,完成對Cookie移動、 轉(zhuǎn)存和刪除,使瀏覽器在安全的條件下對Cookie進(jìn)行調(diào)用,從而實(shí)現(xiàn)網(wǎng)站的自動登錄和相同的使用環(huán)境,并自動保護(hù)用戶的Cookie信息. 程序的組成結(jié)構(gòu)如圖1所示.

圖1 程序結(jié)構(gòu)Fig.1 Structure of the program

由圖1可見,登錄模塊采用第三方指紋識別方法實(shí)現(xiàn)對用戶身份的識別. Cookie的存取部分包括存儲模塊、 加密模塊、 讀取模塊和解密模塊. Cookie存儲模塊和加密模塊實(shí)現(xiàn)對Cookie的加密存儲; Cookie讀取模塊和解密模塊讀取、 解密用戶對應(yīng)的Cookie,供網(wǎng)絡(luò)應(yīng)用使用. 監(jiān)控模塊檢測系統(tǒng)用戶及應(yīng)用中Cookie的變化,為對應(yīng)用戶提供和存儲最新的Cookie信息.

Cookie自動安全保護(hù)程序工作流程如下:

1) 第三方終端插入計(jì)算機(jī)后,首先進(jìn)行指紋驗(yàn)證;

2) 當(dāng)指紋驗(yàn)證未通過時(shí),儲存Cookie加密區(qū)無法打開,同時(shí)主程序?qū)⒉贿\(yùn)行;

3) 當(dāng)通過指紋驗(yàn)證時(shí),將儲存于終端中的對應(yīng)用戶Cookie解密復(fù)制至本地計(jì)算機(jī)中,供瀏覽器調(diào)用,實(shí)現(xiàn)自動登陸,并具有與原來相同的Cookie應(yīng)用環(huán)境;

4) 在瀏覽器使用Cookie過程中,主程序?qū)?shí)時(shí)監(jiān)控Cookie的變化,將Cookie復(fù)制、 加密存儲于終端內(nèi),保持瀏覽器中的Cookie與終端中的信息一致;

5) 當(dāng)拔出第三方終端時(shí)退出瀏覽器,并刪除計(jì)算機(jī)中保留的Cookie信息,防止泄密.

3 程序的實(shí)現(xiàn)

Cookie自動安全保護(hù)程序分為兩部分功能: 存取部分和監(jiān)控部分,由Java平臺實(shí)現(xiàn).

存取部分主要包括Cookie的加密、 存儲、 讀取和解密,保障Cookie的安全性. 使用java.io中的類FileInputStream和FileOutputStream,分別建立這兩個(gè)類的對象in和out,使用in.read( )和out.write( ),out.flush( )方法[6]讀取并寫入數(shù)據(jù),實(shí)現(xiàn)Cookie存、 取的功能. 針對不同用戶,采用用戶ID作為唯一標(biāo)識,形成唯一秘鑰,對其相應(yīng)的Cookie使用3DES進(jìn)行加密與解密[7-8].

監(jiān)控模塊檢測系統(tǒng)用戶和應(yīng)用中Cookie的變化,為對應(yīng)用戶提供和存儲最新的Cookie.

1) 監(jiān)控可移動U盤的變化. 當(dāng)指紋讀取通過時(shí),U盤由不能讀取變?yōu)榭刹僮?此時(shí)將放置在U盤中的Cookie文件復(fù)制粘貼到瀏覽器保存Cookie的地址處,使瀏覽器能自動調(diào)用Cookie實(shí)現(xiàn)網(wǎng)站的自動登錄.

2) 監(jiān)控Cookie文件的變化. 當(dāng)某個(gè)文件變化時(shí),調(diào)用存取功能,將Cookie復(fù)制粘貼到可移動U盤內(nèi).

監(jiān)控模塊主要包含F(xiàn)ileMonitor和ClassFileChangeListener兩類.

類FileMonitor[6-7]是監(jiān)控部分重要的一環(huán),其中包含內(nèi)部類FileMonitorTask繼承TimerTask-java.util中的類,由Timer安排為一次執(zhí)行或重復(fù)執(zhí)行的任務(wù). 其中run( )函數(shù)根據(jù)被監(jiān)控文件最后一次被修改的時(shí)間是否發(fā)生變化,確定是否執(zhí)行l(wèi)astModified( ). public long lastModified( )函數(shù)返回此抽象路徑名表示的文件最后一次被修改的時(shí)間,如果發(fā)生變化,則執(zhí)行計(jì)時(shí)器任務(wù)的操作,調(diào)用FileChanged( )函數(shù).

部分代碼如下:

public FileMonitorTask(FileChangeListener listener,String filename) {

this.listener = listener;

this.filename = filename;

this.monitoredFile = new File(filename);

if (!this.monitoredFile.exists( )) {

return;

}

this.lastModified = this.monitoredFile.lastModified( );

}

public void run( ) {

long latestChange = this.monitoredFile.lastModified( );

if (this.lastModified != latestChange) {

this.lastModified = latestChange;

this.listener.fileChanged(this.filename);

}

}

在類FileMonitor中,創(chuàng)建Map的對象timerEntries,將filename和task作為鍵值對相互聯(lián)系. 通過addFileChangeListener中的put( )建立Map聯(lián)系,并使用timer.schedule(task,period,period)函數(shù). public void schedule(TimerTask task,long delay,long period)函數(shù)安排指定的任務(wù)從指定的延遲后(delay)開始進(jìn)行重復(fù)的固定延遲執(zhí)行,以近似固定的時(shí)間間隔(period)進(jìn)行后續(xù)執(zhí)行task.run( )函數(shù)隨同task在每隔固定的時(shí)間間隔執(zhí)行,比較前后兩次修改時(shí)間是否有變化,從而執(zhí)行相應(yīng)的操作.

類ClassFileChangeListener中的FileChanged( )與類FileMonitor中的run( )相連,實(shí)現(xiàn)了復(fù)制粘貼的功能[6],將二者分開寫便于代碼的閱讀與維護(hù).

類ClassFileChangeListener的代碼如下:

public class ClassFileChangeListener implements FileChangeListener {

public void fileChanged (String filename) {

try {

copy(“SourceObject”,“RequiredPath”);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace( );

}

}

}

綜上可見,本文實(shí)現(xiàn)了依托于硬件形式存儲用戶Cookie信息和身份認(rèn)證的用戶Cookie自動安全保護(hù)方法.

[1]余永武. Web應(yīng)用程序的自動登錄 [J]. 電腦知識與技術(shù),2010,6(35): 10051-10054. (YU Yongwu. Automatic Sign-on for Web Application Program [J]. Computer Knowledge and Technology,2010,6(35): 10051-10054.)

[2]文德民,門愛東,文愛平. 基于Cookie的跨域單點(diǎn)登錄系統(tǒng)的設(shè)計(jì) [J]. 電腦知識與技術(shù),2009,5(33): 9146-9148. (WEN Demin,MEN Aidong,WEN Aiping. Design of Cross-Domain Single Sign-on System Based on Cookie [J]. Computer Knowledge and Technology,2009,5(33): 9146-9148.)

[3]廖禮萍,鮑有文. 基于跨域Cookie的單點(diǎn)登錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J]. 北京聯(lián)合大學(xué)學(xué)報(bào): 自然科學(xué)版,2008,22(4): 31-33. (LIAO Liping,BAO Youwen. Design and Implementation of Single Sign on System Based on Cross Domain Cookie Sharing [J]. Journal of Beijing Union University: Natural Sciences,2008,22(4): 31-33.)

[4]鄭壯賢,李振坤,陳榮征,等. 基于Cookie的門戶網(wǎng)站單點(diǎn)登錄系統(tǒng)設(shè)計(jì)實(shí)現(xiàn) [J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2008,18(6): 199-201. (ZHENG Zhuangxian,LI Zhenkun,CHEN Rongzheng,et al. Design and Implementation of Single Sign on System in Portal Website Based on Cookie [J]. Computer Technology and Development,2008,18(6): 199-201.)

[5]馬亞娜,錢煥延,孫亞民. Cookie在Web認(rèn)證中的應(yīng)用研究 [J]. 小型微型計(jì)算機(jī)系統(tǒng),2004,25(2): 207-210. (MA Yana,QIAN Huanyan,SUN Yamin. Research on Cookie’s Application in Web Authentication [J]. Mini-Micro Systems,2004,25(2): 207-210.)

[6]Eckel B. Java編程思想 [M]. 陳昊鵬,譯. 5版. 北京: 機(jī)械工業(yè)出版社,2012. (Eckel B. Thinking in Java [M]. Translated by CHEN Haopeng. 5th ed. Beijing: China Machine Press,2012.)

[7]李馥娟. 基于Cookie的Web應(yīng)用分析及其安全研究 [J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(8): 63-67. (LI Fujuan. Web Application Analysis and Security Research Based on Cookie [J]. Network Security Technology & Application,2009(8): 63-67.)

[8]Richter J. Windows高級編程指南 [M]. 王書洪,劉光明,譯. 3版. 北京: 清華大學(xué)出版社,1999. (Richter J. Windows Advanced [M]. Translated by WANG Shuhong,LIU Guangming. 3rd ed. Beijing: Tsinghua University Press,1999.)

(責(zé)任編輯: 韓 嘯)

AutomaticandSafeProtectionMethodofUserCookie

XIONG Dayuan,WANG Huize,LIU Chengsheng,YANG Changyuan
(SchoolofInformationSciencesandTechnology,EastChinaNormalUniversity,Shanghai200241,China)

To solve the safety issues,we proposed a new way of automatic safety protection for user cookies. The cookie was stored in encrypted removable storage devices,and then the fingerprint identification recognition was carried out. This enables the program full background operation: cookie automatic move,transfer,storage and deletion. In this process,users were allowed to conveniently perform network login on different computers in the same cookie application environment. This new method can effectively protect the privacy,and create more convenience for users.

Cookie; safety protection; fingerprint identification; Java language

2014-07-07.

熊大元(1978—),男,漢族,博士,副教授,從事微電子學(xué)、 半導(dǎo)體器件和計(jì)算機(jī)應(yīng)用的研究,E-mail: dyxiongee@hotmail.com.

上海市大學(xué)生創(chuàng)新項(xiàng)目(批準(zhǔn)號: KY2012-117S).

TP393.8

A

1671-5489(2014)05-1018-04

猜你喜歡
U盤解密瀏覽器
炫詞解密
解密“一包三改”
炫詞解密
采用U盤文件冗余方案實(shí)現(xiàn)TSP系統(tǒng)的可靠裝載
自動辨認(rèn)插口方向的U盤
反瀏覽器指紋追蹤
環(huán)球?yàn)g覽器
U盤“鬧肚子”
解密“大調(diào)解”
瀏覽器
陕西省| 湄潭县| 临城县| 红河县| 石泉县| 宁化县| 独山县| 临西县| 鄄城县| 万州区| 华阴市| 黄浦区| 沙雅县| 吉木乃县| 克山县| 浙江省| 翼城县| 浮山县| 微博| 志丹县| 甘洛县| 呼和浩特市| 通辽市| 离岛区| 丹寨县| 惠安县| 常山县| 泾阳县| 黄梅县| 高阳县| 成武县| 峨眉山市| 阳谷县| 潼南县| 云梦县| 鹤山市| 常宁市| 遂川县| 进贤县| 鄂州市| 翁牛特旗|