摘 要:隨著各行業(yè)大公司業(yè)務(wù)系統(tǒng)迅速發(fā)展、各種支撐系統(tǒng)和用戶(hù)數(shù)量的不斷增加,網(wǎng)絡(luò)規(guī)模迅速擴(kuò)大,信息安全問(wèn)題愈見(jiàn)突出。在用戶(hù)登錄和身份驗(yàn)證的安全性保障環(huán)節(jié)各行各業(yè)都有自己的妙招。文章則是從驗(yàn)證用戶(hù)登錄地點(diǎn)的角度上提出一種新的提高登陸系統(tǒng)安全的驗(yàn)證方式。結(jié)合移動(dòng)定位技術(shù)以及掃描二維碼登陸的方式,來(lái)提高系統(tǒng)登錄口令的安全,以及加固口令防盜的措施。
關(guān)鍵詞:身份驗(yàn)證;移動(dòng)端定位;地理位置驗(yàn)證;掃描二維碼
1 背景,目的及意義
1.1 背景及現(xiàn)狀
對(duì)比原有的登錄方式,在驗(yàn)證登陸時(shí)很少會(huì)驗(yàn)證登陸地點(diǎn),這使得暗藏在任何地理位置的黑客都可以通過(guò)某種方式盜取登陸口令,從而獲取登陸權(quán)限。而在現(xiàn)實(shí)生活中,大多數(shù)企業(yè)級(jí)登陸系統(tǒng)以及某些重要數(shù)據(jù)的登錄系統(tǒng),登陸的地理位置經(jīng)常只是局限在某個(gè)固定的物理位置上,在用戶(hù)沒(méi)有更換登錄地點(diǎn)的特殊要求時(shí),一旦用戶(hù)的登錄地點(diǎn)不在原有固定的地理位置范圍,我們可以認(rèn)為該用戶(hù)的賬號(hào)密碼被竊取了,而文章對(duì)于驗(yàn)證登陸地點(diǎn)的研究正是由這個(gè)細(xì)節(jié)得到的啟發(fā)而開(kāi)展的。同時(shí)對(duì)于移動(dòng)辦公,我們也給出相應(yīng)的解決方案。
智能手機(jī)目前普遍存在以下四種定位方法:[1](1)GPS全球定位。在露天環(huán)境下效果較好,獲取位置信息非常精確。適合移動(dòng)設(shè)備。(2)IP地址定位。適用于接入互聯(lián)網(wǎng)的設(shè)備,比如臺(tái)式機(jī)。但是因?yàn)闉g覽器是將位置信息發(fā)送給ISP服務(wù)商來(lái)解析,其IP地址與服務(wù)商所在位置有關(guān),可能與用戶(hù)所在位置不同,所以這種方式的解析容易出現(xiàn)偏差。(3)WiFi定位。這種方式與GPS效果同樣精確,它通過(guò)多個(gè)WiFi接入點(diǎn)三角距離獲取位置信息數(shù)據(jù)。適用于室內(nèi)環(huán)境的移動(dòng)設(shè)備。(4)GMS網(wǎng)絡(luò)定位。與TCP/IP協(xié)議不同,它基于GMS數(shù)據(jù)交換協(xié)議。通常用于移動(dòng)服務(wù)商的GPRS數(shù)據(jù)服務(wù)。解析方式精確。而在項(xiàng)目的數(shù)據(jù)測(cè)試環(huán)節(jié)中,我們發(fā)現(xiàn)WiFi定位的精確度遠(yuǎn)高于GMS的定位精度。后面章節(jié)會(huì)有WiFi定位的數(shù)據(jù)與GMS網(wǎng)絡(luò)定位的數(shù)據(jù)比較。
HTML5調(diào)用地理信息的接口。由于HTML5提供了獲取地理信息的接口,所以這使得在調(diào)用智能手機(jī)的的定位系統(tǒng)的實(shí)施時(shí)可以依托于移動(dòng)端的瀏覽器來(lái)實(shí)現(xiàn),而不必根據(jù)操作系統(tǒng)的不同去設(shè)計(jì)相應(yīng)的c/s的客戶(hù)端程序來(lái)獲取移動(dòng)端的地理位置了,這樣極大降低了系統(tǒng)開(kāi)發(fā)的投入成本。而對(duì)于定位的應(yīng)用來(lái)說(shuō),它的精確性顯得尤為重要。而現(xiàn)實(shí)生活中人們經(jīng)常詬病的定位誤差問(wèn)題的一個(gè)主要原因在于對(duì)定位的參考物中心的界定較為模糊,而對(duì)pc端的用戶(hù)登錄系統(tǒng)來(lái)說(shuō),登錄的地理位置就是pc所在的地理位置,也就是定位的參考物中心。因此我們采用了掃描二維碼的方式強(qiáng)制的讓智能手機(jī)端以pc端的屏幕輸出設(shè)備為參考物獲取地理位置信息,從而提高GPS定位的精確性。
1.2 目的及意義
本項(xiàng)目的目的在于通過(guò)驗(yàn)證用戶(hù)登錄時(shí)的地理信息來(lái)提高登陸系統(tǒng)的安全性,即使在登陸口令被竊取后依然可以確保系統(tǒng)的安全防護(hù)級(jí)別,同時(shí)對(duì)于保密性較高的數(shù)據(jù)訪問(wèn)操作,同樣可以通過(guò)這種方式保證系統(tǒng)的安全。
本項(xiàng)目的意義在于通過(guò)驗(yàn)證指定登陸地點(diǎn)的方式提高登陸系統(tǒng)的安全性,雖然不能避免被黑客攻破的可能,但這樣的設(shè)計(jì)降低了用戶(hù)名和密碼被竊取的幾率,并且即使用戶(hù)名和密碼被竊取,非法人員也要在指定的地理范圍內(nèi)登錄才能通過(guò)密碼口令登陸系統(tǒng)。極大的提高了對(duì)系統(tǒng)登錄口令的安全保障。同時(shí)與驗(yàn)證局域網(wǎng)地理登陸方式不同,通過(guò)地理位置定位的后臺(tái)設(shè)置可以讓真正登陸地點(diǎn)設(shè)定在任何地方,而不是僅局限在某個(gè)區(qū)域。
2 系統(tǒng)建模
本項(xiàng)目基于SSH的JavaEE框架,對(duì)基于掃描二維碼驗(yàn)證登陸所在地進(jìn)行了功能實(shí)現(xiàn),以及錄入登陸地點(diǎn)物理位置信息的實(shí)現(xiàn)。業(yè)務(wù)邏輯的設(shè)計(jì)上,通過(guò)先后連續(xù)的驗(yàn)證登陸用戶(hù)名、密碼、登陸地點(diǎn),最后給出驗(yàn)證的結(jié)果,這樣進(jìn)一步增加了暴力破解的復(fù)雜程度。整體流程如圖1所示??紤]到實(shí)際工作環(huán)境中對(duì)移動(dòng)辦公的需求,我們也設(shè)計(jì)了一套移動(dòng)辦公的解決方案(如圖2)。
3 系統(tǒng)實(shí)現(xiàn)
3.1 服務(wù)器端錄入地理信息數(shù)據(jù)及驗(yàn)證方案
登陸用戶(hù)在錄入登陸地點(diǎn)錄入地理信息時(shí),先進(jìn)入錄入用戶(hù)地理信息的頁(yè)面4次掃描二維碼,服務(wù)器端保存這四次掃描的數(shù)據(jù)結(jié)果,通過(guò)這四點(diǎn)圈定掃描的有效范圍。本項(xiàng)目要求錄入的4點(diǎn)大概呈現(xiàn)一個(gè)菱形,即垂直于屏幕方向的兩個(gè)有效點(diǎn)和平行于屏幕方向的兩個(gè)有效點(diǎn),驗(yàn)證登陸的有效范圍則是采用四點(diǎn)圈定出的矩形經(jīng)緯范圍(注意并不是菱形的經(jīng)緯范圍)。(如圖3)這樣實(shí)現(xiàn)的主要原因不僅在于業(yè)務(wù)邏輯的方便,更重要得原因是在實(shí)際操作過(guò)程中我們發(fā)現(xiàn)掃描二維碼的角度在大約低于45°以后,幾乎很難掃描成功,所以在業(yè)務(wù)邏輯上刻意的圈定成菱形的有效掃描區(qū)就顯得多此一舉了。
3.2 基于HTML5的Geolocation API實(shí)現(xiàn)移動(dòng)端地理位置信息的獲取
基于瀏覽器的HTML5的位置定位原理實(shí)際上是HTML5的 Geolocation API 接口調(diào)用移動(dòng)設(shè)備的定位功能來(lái)實(shí)現(xiàn)在網(wǎng)頁(yè)中定位。用戶(hù)首先要打開(kāi)需要獲取地理位置的Web應(yīng)用,然后應(yīng)用向?yàn)g覽器請(qǐng)求地理位置,瀏覽器彈出詢(xún)問(wèn),詢(xún)問(wèn)用戶(hù)是否共享地理位置,假若用戶(hù)允許共享地理位置,則瀏覽器從設(shè)備查詢(xún)相關(guān)地理信息,瀏覽器將相關(guān)信息發(fā)送到一個(gè)信任的位置服務(wù)器,然后位置服務(wù)器再將具體的地理位置信息返回給瀏覽器。[2]由于在掃描二維碼時(shí),人手持移動(dòng)端設(shè)備會(huì)造成輕微的抖動(dòng)現(xiàn)象,會(huì)對(duì)測(cè)量數(shù)據(jù)造成一定的誤差。以下是對(duì)小組成員在同一地理位置多次掃描二維碼得到的信息的分析(見(jiàn)表1),分別為精確度在150米和30米條件時(shí)得到的數(shù)據(jù)。經(jīng)過(guò)對(duì)測(cè)試數(shù)據(jù)的分析:我們發(fā)現(xiàn)地理信息的精確度不僅受手持抖動(dòng)的影響,更重要的影響因素在于WiFi信號(hào)的強(qiáng)度,WiFi信號(hào)強(qiáng)度越強(qiáng),測(cè)量地理位置的數(shù)據(jù)波動(dòng)范圍越小;而當(dāng)WiFi信號(hào)強(qiáng)度較弱的時(shí)候,測(cè)量的數(shù)據(jù)波動(dòng)范圍較大。同時(shí)不同地點(diǎn)經(jīng)緯度的波動(dòng)范圍是不同的,所以本數(shù)據(jù)僅供參考,具體實(shí)現(xiàn)時(shí)還是要以實(shí)際測(cè)量結(jié)果為基準(zhǔn)取舍數(shù)據(jù)的有效位數(shù)。
3.3 二維碼的生成策略
二維碼的生成信息中綁定了此刻生成二維碼的事務(wù)編號(hào)、調(diào)用移動(dòng)端地理位置信息的url。當(dāng)用戶(hù)掃描二維碼之后,直接跳轉(zhuǎn)到獲取用戶(hù)地理位置信息的網(wǎng)頁(yè)中。本項(xiàng)目是基于Google ZXing的二維碼實(shí)現(xiàn)的。ZXing(Zebra Crossing)是Google提供一個(gè)開(kāi)源的、支持多種格式的條形碼圖像處理庫(kù),提供了二維碼的生成與解析的方法。[3]
4 結(jié)束語(yǔ)
文章主要研究了通過(guò)驗(yàn)證在原有登陸方式基礎(chǔ)上增加驗(yàn)證地理位置合法性的解決方案,此方案目的在于提高登陸系統(tǒng)的安全等級(jí),并提出了固定地點(diǎn)辦公和移動(dòng)辦公的解決方案。隨著各行業(yè)對(duì)網(wǎng)絡(luò)安全的重視,我們相信在登陸系統(tǒng)的身份驗(yàn)證,以及重要系統(tǒng)的登陸權(quán)限控制中,驗(yàn)證登陸地點(diǎn)的地理信息是否合法的解決方案會(huì)占有一席之地。
參考文獻(xiàn)
[1]易曉飛.HTML5 Geolocation API研究與應(yīng)用[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2012,6:153-154.
[2]梁莉菁.基于Geolocation API的Html5地理位置追蹤定位的實(shí)現(xiàn)[J].萍鄉(xiāng)高等專(zhuān)科學(xué)校學(xué)報(bào),2014,6:97-101.
[3]程裕強(qiáng),劉愛(ài)民,周?chē)?guó)軍.二維碼生成算法研究[J].玉林師范學(xué)院學(xué)報(bào),2014,5:118-122+139.