亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于A(yíng)ndroid App安全登錄認(rèn)證解決方案

        2016-02-13 07:03:16廖露陽(yáng)郭兵
        現(xiàn)代計(jì)算機(jī) 2016年35期
        關(guān)鍵詞:機(jī)制優(yōu)化用戶(hù)

        廖露陽(yáng),郭兵

        (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

        基于A(yíng)ndroid App安全登錄認(rèn)證解決方案

        廖露陽(yáng),郭兵

        (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

        近幾年移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,智能手機(jī)的使用用戶(hù)呈現(xiàn)爆炸性增長(zhǎng),手機(jī)終端上的App種類(lèi)繁多,大多數(shù)App都需要與后臺(tái)系統(tǒng)進(jìn)行交互,交互的第一步需要進(jìn)行登錄認(rèn)證,過(guò)于簡(jiǎn)單的認(rèn)證方式可能被破解從而造成用戶(hù)信息的泄露甚至威脅著用戶(hù)的財(cái)產(chǎn)安全。為此基于A(yíng)ndroid系統(tǒng),對(duì)比現(xiàn)有幾種常見(jiàn)的App登錄認(rèn)證方式,并提出一種采用RSA非對(duì)稱(chēng)加密和加入Token時(shí)效機(jī)制的登錄認(rèn)證解決方案。在登錄驗(yàn)證階段采用RSA非對(duì)稱(chēng)加密方式,App端對(duì)服務(wù)器端返回的Token信息加上時(shí)間戳,將處理后的Token信息保存到本地,后面的每次請(qǐng)求都攜帶該Token從而實(shí)現(xiàn)免登錄的登錄狀態(tài)的保持。

        App;登錄認(rèn)證;加密;登錄保持

        0 引言

        移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展和手持智能終端的普及,特別是從Android系統(tǒng)問(wèn)世以來(lái),移動(dòng)智能設(shè)備使用用戶(hù)呈現(xiàn)爆炸性增長(zhǎng)。據(jù)《2015年中國(guó)移動(dòng)互聯(lián)網(wǎng)研究報(bào)告》顯示,截止到2015年12月,國(guó)內(nèi)在網(wǎng)活躍移動(dòng)智能設(shè)備數(shù)量達(dá)到8.99億,其中,Android設(shè)備占據(jù)七成[1]。與此同時(shí),各大應(yīng)用商店中的App數(shù)量急劇增長(zhǎng),種類(lèi)從辦公、娛樂(lè)、游戲到購(gòu)物等應(yīng)有盡有。

        這些App中絕大多數(shù)都需要與后臺(tái)系統(tǒng)進(jìn)行交互,交互之前需要進(jìn)行身份的認(rèn)證,即登錄認(rèn)證過(guò)程。登錄認(rèn)證的方式如果過(guò)于簡(jiǎn)單,一旦被黑客破解將會(huì)對(duì)用戶(hù)信息安全、財(cái)產(chǎn)安全造成嚴(yán)重威脅,同時(shí)對(duì)服務(wù)器也有可能造成破壞。同時(shí),對(duì)于客戶(hù)端應(yīng)用來(lái)說(shuō),一般只會(huì)在第一次登錄時(shí)需要進(jìn)行用戶(hù)名和密碼的輸入,只要不是用戶(hù)主動(dòng)點(diǎn)擊退出登錄,以后每次進(jìn)入該應(yīng)用都應(yīng)該進(jìn)行自動(dòng)登錄,從而給用戶(hù)良好的體驗(yàn)[2]。為此,本文在對(duì)比現(xiàn)有幾種App登錄方式后提出一套改進(jìn)的App登錄認(rèn)證解決方案,并將從登錄認(rèn)證方式、詳細(xì)設(shè)計(jì)、實(shí)驗(yàn)驗(yàn)證三個(gè)方面展開(kāi)論證。

        1 登錄認(rèn)證方式

        1.1 Web登錄認(rèn)證方式

        目前常見(jiàn)的Web認(rèn)證的方式主要有三種:

        (1)HTTP Basic Auth[3]。這種方式就是每次請(qǐng)求服務(wù)器時(shí)都攜帶用戶(hù)名和密碼,優(yōu)點(diǎn)是使用非常簡(jiǎn)單,缺點(diǎn)也非常明顯,因?yàn)槊看味夹枰獢y帶用戶(hù)名和密碼,很有可能造成密碼被截獲。

        (2)OAuth[4-5]。一種開(kāi)放的授權(quán)標(biāo)準(zhǔn),允許第三方應(yīng)用訪(fǎng)問(wèn)用戶(hù)在某一個(gè)服務(wù)商服務(wù)器上存儲(chǔ)的私密數(shù)據(jù),其處理流程先是第三方應(yīng)用通過(guò)App Key和App Secret換取OAuth_Token,然后第三方應(yīng)用將會(huì)引導(dǎo)用戶(hù)進(jìn)入到服務(wù)商頁(yè)面對(duì)該OAuth_Token進(jìn)行授權(quán)(此時(shí)有可能需要輸入用戶(hù)名和密碼),授權(quán)完成后服務(wù)商頁(yè)面會(huì)跳轉(zhuǎn)到第三方應(yīng)用同時(shí)返回Access Token,此后第三方應(yīng)用就可以通過(guò)這個(gè)Access Token去服務(wù)商服務(wù)器中訪(fǎng)問(wèn)相應(yīng)數(shù)據(jù)。

        (3)Cookie Auth[6]。Cookie認(rèn)證機(jī)制就是瀏覽器在發(fā)起一次登錄認(rèn)證請(qǐng)求時(shí),服務(wù)端驗(yàn)證通過(guò)后將會(huì)在產(chǎn)生一段Cookie信息并返回給瀏覽器,瀏覽器會(huì)將其保存到本地,以后的每次請(qǐng)求都會(huì)使用該Cookie信息而不用再次進(jìn)行登錄驗(yàn)證。

        1.2 App登錄認(rèn)證方式

        由于A(yíng)pp客戶(hù)端無(wú)法處理Cookie信息,因此App登錄認(rèn)證無(wú)法使用Web認(rèn)證方式中的Cookie認(rèn)證方式,為了登錄狀態(tài)的保持,一般會(huì)模擬Cookie認(rèn)證方式,即在A(yíng)pp端發(fā)起登錄認(rèn)證請(qǐng)求后,得到服務(wù)器端驗(yàn)證成功的確認(rèn)之后,App端一般會(huì)保存一些狀態(tài)信息在本地,后面每次請(qǐng)求都是攜帶該狀態(tài)信息,根據(jù)狀態(tài)信息的不同,可以分為如下兩種:

        (1)保存用戶(hù)信息表中的某個(gè)唯一標(biāo)識(shí)。App端發(fā)起登錄請(qǐng)求,服務(wù)器端在驗(yàn)證成功后一般會(huì)將該登錄用戶(hù)的信息返回給客戶(hù)端,客戶(hù)端此時(shí)可以將用戶(hù)信息中的某個(gè)唯一標(biāo)識(shí)字段給保存下來(lái),如使用Shared-Preferences進(jìn)行保存[7],后面每次發(fā)起網(wǎng)絡(luò)請(qǐng)求時(shí),先判斷本地是否存在該字段,如果不存在說(shuō)明用戶(hù)沒(méi)有進(jìn)行登錄認(rèn)證,跳轉(zhuǎn)到登錄頁(yè);如果存在,則直接將這個(gè)字段攜帶進(jìn)請(qǐng)求信息中,從而實(shí)現(xiàn)登錄保持狀態(tài)。這種方式優(yōu)點(diǎn)是比較簡(jiǎn)單,缺點(diǎn)就是如果保存的字段容易被別人截獲,缺乏安全性。

        (2)保存Token信息。App中非常常用的一種登錄認(rèn)證方式,它的實(shí)現(xiàn)過(guò)程是,由App端發(fā)起登錄請(qǐng)求,服務(wù)器端在驗(yàn)證成功后生成一份Token信息保存到用戶(hù)表中并設(shè)置一定的時(shí)效,同時(shí)將此Token返回給App端,App端將此Token保存到本地,以后的每次發(fā)起請(qǐng)求都是用該Token。與前面一種方式相比,避免了用戶(hù)表中信息的泄露,相對(duì)更加安全。其流程圖如下:

        圖1 Token認(rèn)證機(jī)制

        這種方式相對(duì)于第一種來(lái)說(shuō)雖然更加安全,但還是存在著明顯的安全漏洞,需要進(jìn)行優(yōu)化。本文將以這種方案為基礎(chǔ),提出一種更加安全的基于A(yíng)ndroid平臺(tái)的App登錄解決方案。這里我們把現(xiàn)有的這種方案稱(chēng)為T(mén)oken認(rèn)證機(jī)制,本文提出的方案稱(chēng)為改進(jìn)的Token認(rèn)證機(jī)制。

        2 改進(jìn)的Token認(rèn)證機(jī)制詳細(xì)設(shè)計(jì)

        上述Token認(rèn)證機(jī)制也是存在著一些明顯的安全漏洞,本文提出的改進(jìn)的Token認(rèn)證機(jī)制就是基于對(duì)原來(lái)Token認(rèn)證機(jī)制中安全漏洞的優(yōu)化。對(duì)于登錄認(rèn)證機(jī)制,我們可以把它分為登錄驗(yàn)證、狀態(tài)保持和登出三個(gè)階段,改進(jìn)的Token認(rèn)證機(jī)制主要是在登錄驗(yàn)證和狀態(tài)保持階段進(jìn)行優(yōu)化。

        2.1 登錄驗(yàn)證優(yōu)化

        登錄驗(yàn)證階段是指App客戶(hù)端向服務(wù)器端發(fā)起登錄認(rèn)證請(qǐng)求,并攜帶用戶(hù)名和密碼,服務(wù)器端收到請(qǐng)求后獲取用戶(hù)名和密碼并向數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)驗(yàn)證的階段。由于這一階段需要密碼的傳輸,很多情況下可能都是明文或者簡(jiǎn)單的MD5加密后直接傳輸,一旦被黑客截獲可能造成密碼的泄露風(fēng)險(xiǎn)[8]。因此這一階段的優(yōu)化就是加強(qiáng)密碼加密功能,這里我們采用RSA非對(duì)稱(chēng)加密方式。

        RSA是一種非對(duì)稱(chēng)加密,它是對(duì)稱(chēng)加密的一種加強(qiáng)版,使用對(duì)稱(chēng)加密的服務(wù)器端和客戶(hù)端都使用同一種加密規(guī)則,因此在服務(wù)器端生成加密密鑰之后需要傳遞給客戶(hù)端,客戶(hù)端也需要保存這個(gè)密鑰,而傳遞密鑰的過(guò)程和保存密鑰在客戶(hù)端后都有可能發(fā)生密鑰的截獲造成安全漏洞。而非對(duì)稱(chēng)加密方式會(huì)在服務(wù)器端生成兩套密鑰,生成的公鑰是公開(kāi)的并傳給客戶(hù)端,私鑰保存在服務(wù)器端,客戶(hù)端用公鑰加密信息后傳遞到服務(wù)器端,服務(wù)器端再用私鑰進(jìn)行解密,因此只要私鑰不泄露通信就是安全的[9-10]。

        由上面分析可以知道,要使用RSA加密方式先要讓服務(wù)器生成公鑰和私鑰,并將公鑰返回給客戶(hù)端,因此,在圖1的登錄驗(yàn)證階段需要額外進(jìn)行一次請(qǐng)求獲取公鑰(這個(gè)過(guò)程只需要一次,只要獲得了公鑰以后登錄認(rèn)證就不再需要該過(guò)程),其流程如圖2所示。

        根據(jù)上面的分析,可以看到這一階段最核心的是服務(wù)器端公鑰和密鑰的生成過(guò)程以及利用公鑰加密和利用私鑰解密的過(guò)程。其核心代碼如下:

        圖2 使用RSA加密的登錄驗(yàn)證階段

        2.2 狀態(tài)保持優(yōu)化

        App客戶(hù)端在上一步登錄驗(yàn)證階段會(huì)得到服務(wù)器返回的Token信息,并將該Token保存到本地,以后的每次請(qǐng)求都直接攜帶該Token而不是再次使用用戶(hù)名和密碼進(jìn)行驗(yàn)證,這一階段稱(chēng)為狀態(tài)保持或登錄保持階段。前面介紹的Token認(rèn)證機(jī)制中的Token會(huì)一直保存在A(yíng)pp客戶(hù)端本地直至用戶(hù)主動(dòng)點(diǎn)擊退出按鈕,如果該Token被截獲,截獲者同樣可以使用該Token直接訪(fǎng)問(wèn)服務(wù)器中的敏感數(shù)據(jù)。針對(duì)Token這一長(zhǎng)時(shí)間保存的特點(diǎn),我們的優(yōu)化就是為這個(gè)Token設(shè)置一個(gè)生效時(shí)效,具體來(lái)說(shuō)就是在從服務(wù)器獲得該Token后,在保存的時(shí)候在Token后加上一個(gè)當(dāng)前的時(shí)間戳,后面每次發(fā)起網(wǎng)絡(luò)請(qǐng)求時(shí),先取出該Token后面的時(shí)間戳判斷有沒(méi)有超過(guò)生效時(shí)間,如果沒(méi)有則將處理后的Token放入到請(qǐng)求信息中,如果超時(shí)了,則重新進(jìn)行登錄認(rèn)證過(guò)程。這種優(yōu)化過(guò)程是以犧牲了一點(diǎn)用戶(hù)體驗(yàn)為代價(jià)。其流程圖如下:

        圖3 Token信息的處理過(guò)程

        3 實(shí)驗(yàn)驗(yàn)證

        3.1 服務(wù)器端環(huán)境

        服務(wù)器端項(xiàng)目框架采用的是Spring MVC+Mybatis技術(shù)架構(gòu),數(shù)據(jù)庫(kù)采用的是MySQL 5.6,服務(wù)器使用Tomcat 7.0,開(kāi)發(fā)工具使用MyEclipse+JDK1.7。

        3.2 App客戶(hù)端環(huán)境

        開(kāi)發(fā)的App客戶(hù)端應(yīng)用基于A(yíng)ndroid系統(tǒng),開(kāi)發(fā)工具是Eclipse+ADT+JDK1.7,Android最低SDK版本2.3,目標(biāo)版本3.0。Android App端項(xiàng)目框架同樣采用的是MVC三層架構(gòu)模式[11],具體為XML格式布局文件負(fù)責(zé)View層,Activity負(fù)責(zé)Control層,業(yè)務(wù)邏輯和Bean負(fù)責(zé)Model層。

        本文提出的解決方案已經(jīng)在實(shí)際的項(xiàng)目中實(shí)戰(zhàn)運(yùn)用,在測(cè)試階段和項(xiàng)目上線(xiàn)近一年來(lái)運(yùn)行良好,沒(méi)有報(bào)告有關(guān)方面的嚴(yán)重安全bug,證實(shí)該方案的切實(shí)可行性。

        4 結(jié)語(yǔ)

        本文詳細(xì)探討了常見(jiàn)的Web登錄認(rèn)證方式和App登錄認(rèn)證方式,對(duì)現(xiàn)在比較常用的App登錄認(rèn)證方式Token認(rèn)證機(jī)制的安全漏洞進(jìn)行了討論,在這個(gè)基礎(chǔ)上提出了改進(jìn)的Token認(rèn)證登錄機(jī)制,通過(guò)采用RSA非對(duì)稱(chēng)加密優(yōu)化登錄驗(yàn)證階段,使用Token時(shí)效機(jī)制優(yōu)化狀態(tài)保持階段,該優(yōu)化方案在實(shí)際生產(chǎn)中得到了檢驗(yàn)。同時(shí),該方案還有進(jìn)一步優(yōu)化的空間,例如在優(yōu)化狀態(tài)保持階段時(shí)采用的是Token時(shí)效機(jī)制,但這樣犧牲了App的使用體驗(yàn),因此在以后的研究中可以針對(duì)這一階段做進(jìn)一步的優(yōu)化過(guò)程。

        [1]QuestMobile-還原市場(chǎng)真相助力企業(yè)增長(zhǎng).http://www.questmobile.com.cn

        [2]范美英.Android用戶(hù)體驗(yàn)與UI設(shè)計(jì)[M].北京:知識(shí)產(chǎn)權(quán)出版社,2015.

        [3]Dodero J M,Ghiglione E.REST-Based Web Access Tolearning Design Services[J],2008.

        [4]D.Hardt.The OAuth 2.0 Authorization Framework[J].RFC6749.2012.

        [5]時(shí)子慶,劉金蘭,譚曉華.基于OAuth2.0的認(rèn)證授權(quán)技術(shù)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012(03).

        [6]D.Kristol,L.Montulli.HTTP State Management Mechanism[J],2000.

        [7]徐宜生.Android群英傳[M].北京:電子工業(yè)出版社,2015.

        [8]WangX,Yu H.How to Break MD5 and Other Hash Functions[J].Advancesin Cryptology,2005.

        [9]吳明航,劉春剛.DES和RSA混合加密算法的研究[D].哈爾濱工業(yè)大學(xué).2013.

        [10]Chenghuai Lu,,Andre LM dos Santos,Francisco R Pimentel.Implementation of Fast RSA Key Generation on Smart Cards.SAC 2002, 2002.

        [11]曾健平,邵艷潔.Android系統(tǒng)架構(gòu)及應(yīng)用程序開(kāi)發(fā)研究[J].微計(jì)算機(jī)信息,2011(27).

        郭兵(1970~),男,山東人,教授,博士生導(dǎo)師,研究方向?yàn)榍度胧綄?shí)時(shí)系統(tǒng)、綠色計(jì)算、個(gè)人大數(shù)據(jù)、軟件工程收稿日期:2016-10-20修稿日期:2016-11-30

        The Securely Login Authentication Solution Based on Android Application

        LIAO Lu-yang,GUO Bing

        (College of Computer Science,Sichuan University,Chengdu 610065)

        With the high development of mobile Internet in recent years,the users of smart phone shows explosive growth,and there are large variety of applications on the mobile device,most of these applications need to interact with the back-end systems,and the first step of interacting is to login authentication,it may be cracked if the authentication is too much simple which can lead to the leakage of users'data and even threaten the users'property security.Therefore,based on Android system,compares several common login authentications,and then proposes a secure login authentication solution which uses RSA asymmetric encryption and Token aging mechanism.In login verification period,this solution uses RSA asymmetric encryption and the client application adds time stamp end of the Token message which receives from server,and then saves the token message to local disk,later,all the request carries the Token message,so that realizes the function of login status maintain.

        Applications;Login Authentication;Encrypt;Login Maintain

        國(guó)家自然科學(xué)基金重點(diǎn)項(xiàng)目(No.61332001)、國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61272104)、國(guó)家自然科學(xué)基金資助項(xiàng)目(No.61073045)

        1007-1423(2016)35-0009-04

        10.3969/j.issn.1007-1423.2016.35.002

        廖露陽(yáng)(1990-),男,江西新余人,碩士,研究方向?yàn)榍度胧綄?shí)時(shí)系統(tǒng)、個(gè)人大數(shù)據(jù)、軟件工程

        猜你喜歡
        機(jī)制優(yōu)化用戶(hù)
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        自制力是一種很好的篩選機(jī)制
        文苑(2018年21期)2018-11-09 01:23:06
        關(guān)注用戶(hù)
        關(guān)注用戶(hù)
        關(guān)注用戶(hù)
        破除舊機(jī)制要分步推進(jìn)
        如何獲取一億海外用戶(hù)
        一区二区三区四区草逼福利视频 | 日本视频中文字幕一区在线| 亚洲亚洲亚洲亚洲亚洲天堂| 久草中文在线这里只有精品| 乱人伦中文视频在线| 亚洲精品国产成人无码区a片| 成人日韩av不卡在线观看| 91九色精品日韩内射无| 国产香蕉视频在线播放| 国内精品人妻无码久久久影院导航 | 国产欧美综合一区二区三区| 国内精品人妻无码久久久影院导航| AV无码中文字幕不卡一二三区| 一区二区免费中文字幕| 国产在线视频一区二区天美蜜桃| 99久久婷婷国产综合精品电影| 日韩高清无码中文字幕综合一二三区| 人妻熟女妇av北条麻记三级| 日本一区二区三级在线观看| 久久精品国产亚洲av四虎| 亚洲女同精品一区二区久久 | 中文字幕第一页亚洲观看| 成人黄色片久久久大全| 亚洲精品国产成人片| 大学生被内谢粉嫩无套| 国产激情一区二区三区在线蜜臀 | 日本在线精品一区二区三区| 天堂а√在线中文在线新版| 国内精品国产三级国产av另类| 久久精品国产黄片一区| 亚洲中文字幕无码不卡电影| 大地资源中文第三页| 日本看片一区二区三区| 中文字幕日韩人妻少妇毛片| 人妻暴雨中被强制侵犯在线| 亚洲精品成人国产av| 国产中文字幕亚洲精品| 48久久国产精品性色aⅴ人妻| 国产精品亚洲欧美天海翼| 国产午夜福利av在线麻豆| 久久婷婷五月综合97色直播|