999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android App安全登錄認證解決方案

2016-02-13 07:03:16廖露陽郭兵
現代計算機 2016年35期
關鍵詞:機制優化用戶

廖露陽,郭兵

(四川大學計算機學院,成都 610065)

基于Android App安全登錄認證解決方案

廖露陽,郭兵

(四川大學計算機學院,成都 610065)

近幾年移動互聯網的高速發展,智能手機的使用用戶呈現爆炸性增長,手機終端上的App種類繁多,大多數App都需要與后臺系統進行交互,交互的第一步需要進行登錄認證,過于簡單的認證方式可能被破解從而造成用戶信息的泄露甚至威脅著用戶的財產安全。為此基于Android系統,對比現有幾種常見的App登錄認證方式,并提出一種采用RSA非對稱加密和加入Token時效機制的登錄認證解決方案。在登錄驗證階段采用RSA非對稱加密方式,App端對服務器端返回的Token信息加上時間戳,將處理后的Token信息保存到本地,后面的每次請求都攜帶該Token從而實現免登錄的登錄狀態的保持。

App;登錄認證;加密;登錄保持

0 引言

移動互聯網的飛速發展和手持智能終端的普及,特別是從Android系統問世以來,移動智能設備使用用戶呈現爆炸性增長。據《2015年中國移動互聯網研究報告》顯示,截止到2015年12月,國內在網活躍移動智能設備數量達到8.99億,其中,Android設備占據七成[1]。與此同時,各大應用商店中的App數量急劇增長,種類從辦公、娛樂、游戲到購物等應有盡有。

這些App中絕大多數都需要與后臺系統進行交互,交互之前需要進行身份的認證,即登錄認證過程。登錄認證的方式如果過于簡單,一旦被黑客破解將會對用戶信息安全、財產安全造成嚴重威脅,同時對服務器也有可能造成破壞。同時,對于客戶端應用來說,一般只會在第一次登錄時需要進行用戶名和密碼的輸入,只要不是用戶主動點擊退出登錄,以后每次進入該應用都應該進行自動登錄,從而給用戶良好的體驗[2]。為此,本文在對比現有幾種App登錄方式后提出一套改進的App登錄認證解決方案,并將從登錄認證方式、詳細設計、實驗驗證三個方面展開論證。

1 登錄認證方式

1.1 Web登錄認證方式

目前常見的Web認證的方式主要有三種:

(1)HTTP Basic Auth[3]。這種方式就是每次請求服務器時都攜帶用戶名和密碼,優點是使用非常簡單,缺點也非常明顯,因為每次都需要攜帶用戶名和密碼,很有可能造成密碼被截獲。

(2)OAuth[4-5]。一種開放的授權標準,允許第三方應用訪問用戶在某一個服務商服務器上存儲的私密數據,其處理流程先是第三方應用通過App Key和App Secret換取OAuth_Token,然后第三方應用將會引導用戶進入到服務商頁面對該OAuth_Token進行授權(此時有可能需要輸入用戶名和密碼),授權完成后服務商頁面會跳轉到第三方應用同時返回Access Token,此后第三方應用就可以通過這個Access Token去服務商服務器中訪問相應數據。

(3)Cookie Auth[6]。Cookie認證機制就是瀏覽器在發起一次登錄認證請求時,服務端驗證通過后將會在產生一段Cookie信息并返回給瀏覽器,瀏覽器會將其保存到本地,以后的每次請求都會使用該Cookie信息而不用再次進行登錄驗證。

1.2 App登錄認證方式

由于App客戶端無法處理Cookie信息,因此App登錄認證無法使用Web認證方式中的Cookie認證方式,為了登錄狀態的保持,一般會模擬Cookie認證方式,即在App端發起登錄認證請求后,得到服務器端驗證成功的確認之后,App端一般會保存一些狀態信息在本地,后面每次請求都是攜帶該狀態信息,根據狀態信息的不同,可以分為如下兩種:

(1)保存用戶信息表中的某個唯一標識。App端發起登錄請求,服務器端在驗證成功后一般會將該登錄用戶的信息返回給客戶端,客戶端此時可以將用戶信息中的某個唯一標識字段給保存下來,如使用Shared-Preferences進行保存[7],后面每次發起網絡請求時,先判斷本地是否存在該字段,如果不存在說明用戶沒有進行登錄認證,跳轉到登錄頁;如果存在,則直接將這個字段攜帶進請求信息中,從而實現登錄保持狀態。這種方式優點是比較簡單,缺點就是如果保存的字段容易被別人截獲,缺乏安全性。

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

圖1 Token認證機制

這種方式相對于第一種來說雖然更加安全,但還是存在著明顯的安全漏洞,需要進行優化。本文將以這種方案為基礎,提出一種更加安全的基于Android平臺的App登錄解決方案。這里我們把現有的這種方案稱為Token認證機制,本文提出的方案稱為改進的Token認證機制。

2 改進的Token認證機制詳細設計

上述Token認證機制也是存在著一些明顯的安全漏洞,本文提出的改進的Token認證機制就是基于對原來Token認證機制中安全漏洞的優化。對于登錄認證機制,我們可以把它分為登錄驗證、狀態保持和登出三個階段,改進的Token認證機制主要是在登錄驗證和狀態保持階段進行優化。

2.1 登錄驗證優化

登錄驗證階段是指App客戶端向服務器端發起登錄認證請求,并攜帶用戶名和密碼,服務器端收到請求后獲取用戶名和密碼并向數據庫進行查詢驗證的階段。由于這一階段需要密碼的傳輸,很多情況下可能都是明文或者簡單的MD5加密后直接傳輸,一旦被黑客截獲可能造成密碼的泄露風險[8]。因此這一階段的優化就是加強密碼加密功能,這里我們采用RSA非對稱加密方式。

RSA是一種非對稱加密,它是對稱加密的一種加強版,使用對稱加密的服務器端和客戶端都使用同一種加密規則,因此在服務器端生成加密密鑰之后需要傳遞給客戶端,客戶端也需要保存這個密鑰,而傳遞密鑰的過程和保存密鑰在客戶端后都有可能發生密鑰的截獲造成安全漏洞。而非對稱加密方式會在服務器端生成兩套密鑰,生成的公鑰是公開的并傳給客戶端,私鑰保存在服務器端,客戶端用公鑰加密信息后傳遞到服務器端,服務器端再用私鑰進行解密,因此只要私鑰不泄露通信就是安全的[9-10]。

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

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

圖2 使用RSA加密的登錄驗證階段

2.2 狀態保持優化

App客戶端在上一步登錄驗證階段會得到服務器返回的Token信息,并將該Token保存到本地,以后的每次請求都直接攜帶該Token而不是再次使用用戶名和密碼進行驗證,這一階段稱為狀態保持或登錄保持階段。前面介紹的Token認證機制中的Token會一直保存在App客戶端本地直至用戶主動點擊退出按鈕,如果該Token被截獲,截獲者同樣可以使用該Token直接訪問服務器中的敏感數據。針對Token這一長時間保存的特點,我們的優化就是為這個Token設置一個生效時效,具體來說就是在從服務器獲得該Token后,在保存的時候在Token后加上一個當前的時間戳,后面每次發起網絡請求時,先取出該Token后面的時間戳判斷有沒有超過生效時間,如果沒有則將處理后的Token放入到請求信息中,如果超時了,則重新進行登錄認證過程。這種優化過程是以犧牲了一點用戶體驗為代價。其流程圖如下:

圖3 Token信息的處理過程

3 實驗驗證

3.1 服務器端環境

服務器端項目框架采用的是Spring MVC+Mybatis技術架構,數據庫采用的是MySQL 5.6,服務器使用Tomcat 7.0,開發工具使用MyEclipse+JDK1.7。

3.2 App客戶端環境

開發的App客戶端應用基于Android系統,開發工具是Eclipse+ADT+JDK1.7,Android最低SDK版本2.3,目標版本3.0。Android App端項目框架同樣采用的是MVC三層架構模式[11],具體為XML格式布局文件負責View層,Activity負責Control層,業務邏輯和Bean負責Model層。

本文提出的解決方案已經在實際的項目中實戰運用,在測試階段和項目上線近一年來運行良好,沒有報告有關方面的嚴重安全bug,證實該方案的切實可行性。

4 結語

本文詳細探討了常見的Web登錄認證方式和App登錄認證方式,對現在比較常用的App登錄認證方式Token認證機制的安全漏洞進行了討論,在這個基礎上提出了改進的Token認證登錄機制,通過采用RSA非對稱加密優化登錄驗證階段,使用Token時效機制優化狀態保持階段,該優化方案在實際生產中得到了檢驗。同時,該方案還有進一步優化的空間,例如在優化狀態保持階段時采用的是Token時效機制,但這樣犧牲了App的使用體驗,因此在以后的研究中可以針對這一階段做進一步的優化過程。

[1]QuestMobile-還原市場真相助力企業增長.http://www.questmobile.com.cn

[2]范美英.Android用戶體驗與UI設計[M].北京:知識產權出版社,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]時子慶,劉金蘭,譚曉華.基于OAuth2.0的認證授權技術[J].計算機系統應用,2012(03).

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

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

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

[9]吳明航,劉春剛.DES和RSA混合加密算法的研究[D].哈爾濱工業大學.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系統架構及應用程序開發研究[J].微計算機信息,2011(27).

郭兵(1970~),男,山東人,教授,博士生導師,研究方向為嵌入式實時系統、綠色計算、個人大數據、軟件工程收稿日期: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

國家自然科學基金重點項目(No.61332001)、國家自然科學基金資助項目(No.61272104)、國家自然科學基金資助項目(No.61073045)

1007-1423(2016)35-0009-04

10.3969/j.issn.1007-1423.2016.35.002

廖露陽(1990-),男,江西新余人,碩士,研究方向為嵌入式實時系統、個人大數據、軟件工程

猜你喜歡
機制優化用戶
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 成人免费午夜视频| 国产a v无码专区亚洲av| 日韩欧美在线观看| 激情五月婷婷综合网| 免费一级毛片不卡在线播放| 亚洲天堂精品在线| 亚洲欧洲一区二区三区| 日韩午夜片| 手机在线免费不卡一区二| 久久黄色一级片| 亚洲AV色香蕉一区二区| 999精品视频在线| 波多野结衣的av一区二区三区| 色欲色欲久久综合网| 亚洲欧洲日韩综合色天使| 四虎在线观看视频高清无码| 人妖无码第一页| 亚洲最大综合网| 国产精品亚洲片在线va| 午夜日本永久乱码免费播放片| 国产精品刺激对白在线| 99re这里只有国产中文精品国产精品 | 亚洲国产日韩视频观看| 国产无吗一区二区三区在线欢| 少妇极品熟妇人妻专区视频| 亚洲欧美日韩久久精品| 性色一区| 无码福利视频| 青青青草国产| 成人a免费α片在线视频网站| 又大又硬又爽免费视频| 精品福利一区二区免费视频| 国产精品亚欧美一区二区| a天堂视频| 亚洲人成人无码www| 黄色网页在线观看| 成人一级黄色毛片| 久久99国产乱子伦精品免| 久久美女精品| 日韩国产一区二区三区无码| 亚洲高清国产拍精品26u| 欧洲亚洲一区| 亚洲第一香蕉视频| 日本一区高清| 秋霞午夜国产精品成人片| 亚洲制服丝袜第一页| 国产真实乱人视频| 中文字幕乱妇无码AV在线| 国产一区二区三区在线精品专区| 欧美成人免费一区在线播放| 久久 午夜福利 张柏芝| 性视频一区| 久久一本日韩精品中文字幕屁孩| 亚洲一区免费看| 视频二区国产精品职场同事| 亚洲日韩国产精品无码专区| 国产免费网址| 国产主播一区二区三区| 久草视频中文| 亚洲综合婷婷激情| 人妻精品久久久无码区色视| 日韩精品亚洲人旧成在线| 三上悠亚一区二区| 日韩大片免费观看视频播放| 国产在线拍偷自揄拍精品| 精品视频在线一区| 亚洲综合18p| 波多野结衣在线se| 99久久国产精品无码| 狠狠久久综合伊人不卡| 国产亚洲精久久久久久无码AV| 亚洲视频一区| 成人午夜精品一级毛片| 欧美区日韩区| 992tv国产人成在线观看| 亚洲最黄视频| 久久精品人人做人人爽电影蜜月| 亚洲精品欧美重口| 成年人福利视频| 91丝袜乱伦| 国产精品无码一区二区桃花视频| 91精品人妻一区二区|