一種基于環(huán)境相似的零交互雙因素認(rèn)證系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于移動通信技術(shù)領(lǐng)域,具體涉及一種基于環(huán)境相似的零交互雙因素認(rèn)證系統(tǒng)及方法。
【背景技術(shù)】
[0002]用戶在使用瀏覽器登錄想要訪問的網(wǎng)站時,網(wǎng)站會要求用戶輸入帳戶名和口令,其目的是為了保證只有合法的用戶才能訪問該網(wǎng)站的特定資源。這種基于口令的認(rèn)證方式雖然簡單,易用,但卻有著諸多問題:首先由于用戶注冊的網(wǎng)站過多,為了方便記憶,他們通常會選擇相同的口令,這樣一旦某個安全級別較低的系統(tǒng)受到攻擊,存在其它安全性級別較高的網(wǎng)站中的口令也會泄露;其次,互聯(lián)網(wǎng)中存在著各種釣魚網(wǎng)站,如果用戶不小心訪問了其中某一個,也會導(dǎo)致用戶的口令泄露。
[0003]為了解決該問題,人們提出了雙因數(shù)的認(rèn)證方法,即用戶登錄已注冊的網(wǎng)站時,不僅要輸入他所知道的信息,如口令,而且還要提供他擁有的物件證明,如令牌。這樣即使攻擊者能夠竊取到用戶的口令,由于沒有用戶的令牌,他也無法進行正常登錄。目前常見的雙因素證方法有兩類:一類基于硬件令牌,如:動態(tài)口令牌,USB KEY,OCL。另一類是基于軟件令牌,如短消息驗證碼,Google身份驗證器。其中基于硬件令牌的雙因素認(rèn)證方式在技術(shù)上比較成熟,具有很高的安全性,但是這種方式生產(chǎn)成本較高,用戶攜帶不便,容易丟失;基于軟件令牌的雙因素認(rèn)證方法是隨著手機的普及而逐步發(fā)展起來,相比硬件令牌,它的成本低廉,便于攜帶,而且同一軟件令牌能夠應(yīng)用多個網(wǎng)站使用。但是不論是哪類雙因素認(rèn)證方法,都需要用戶在登錄網(wǎng)站時輸入額外的信息進行認(rèn)證,這無疑增加了用戶負擔(dān),同時也改變了用戶的習(xí)慣。
[0004]通過以上分析發(fā)現(xiàn),雙因素認(rèn)證技術(shù)是防止因用戶口令泄露導(dǎo)致攻擊者異地登陸的有效途經(jīng),易用性則是妨礙這種技術(shù)普及的重要原因??紤]到智能手機已成為人們隨身攜帶的物品之一,我們可以將其作為雙因數(shù)認(rèn)證中的用戶擁有某物的憑證。因此,如何設(shè)計出基于智能手機,不需要用戶輸入額外信息的零交互雙因素認(rèn)證系統(tǒng)有著重要的價值。
【發(fā)明內(nèi)容】
[0005]本發(fā)明針對現(xiàn)有的雙因素認(rèn)證系統(tǒng)存在的弊端以及智能手機自身的特點,提出了一種新的基于環(huán)境相似的零交互雙因素認(rèn)證系統(tǒng)。
[0006]本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種基于環(huán)境相似的零交互雙因素認(rèn)證系統(tǒng),包括個人計算機、智能手機和服務(wù)器;
[0007]所述個人計算機用于同服務(wù)建立TLS鏈接,提交帳戶名和口令,與所述服務(wù)器保持時間同步,采集并提交用戶周圍的環(huán)境信息;其中環(huán)境信息包括聲音、光照、Wifi信號的一種或幾種;
[0008]所述智能手機用于同服務(wù)建立TLS鏈接,提交手機產(chǎn)生的公鑰,與所述服務(wù)器保持時間同步,采集用戶周圍的環(huán)境信息,對環(huán)境信息進行簽名以及提交環(huán)境信息與簽名信息;其中環(huán)境信息包括聲音、光照、Wifi信號的一種或幾種;
[0009]所述服務(wù)器用于保存用戶的用戶名,口令以及公鑰,驗證用戶的帳戶名和口令的合法性,向智能手機和個人計算機發(fā)起時間同步和環(huán)境信息采集請求,驗證智能手機簽名信息的合法性,比較智能手機和個人計算機所提交環(huán)境信息的相似程度,給出用戶合是否合法的判斷結(jié)果,返回給個人計算機。
[0010]本發(fā)明的方法所采用的技術(shù)方案是:一種基于環(huán)境相似的零交互雙因素認(rèn)證方法,包括注冊過程、認(rèn)證過程和重認(rèn)證過程;
[0011]所述注冊過程是用戶在登錄系統(tǒng)前進行帳戶注冊,具體包括以下步驟:
[0012]步驟Al:用戶通過個人計算機中的瀏覽器登錄要訪問的網(wǎng)站,并在網(wǎng)站中的注冊頁面填寫個人的注冊信息,并提交,其中個人注冊信息包括用戶的帳戶名、口令及其他信息;
[0013]步驟A2:服務(wù)器端在收到用戶傳來的注冊信息后對其進行驗證,如果用戶信息填寫正確,則保存并返回注冊成功信息,否則返回注冊失敗信息;
[0014]步驟A3:用戶通過智能手機應(yīng)用程序中的進入添加帳戶頁面,輸入帳戶名和口令,并提交;
[0015]步驟A4:服務(wù)器驗證通過后,返回用戶確認(rèn)信息,否則返回登錄失敗信息;
[0016]步驟A5:智能手機應(yīng)用程序如果收到服務(wù)器發(fā)來的確認(rèn)信息,則會生成公、私鑰對PKa和SKa,其中公鑰PKa會提交給服務(wù)器,私鑰SKa會連同用戶的帳戶名一起保存在手機中;如果收到登錄失敗信息,則進行重新登錄;
[0017]步驟A6:服務(wù)器在收到智能手機傳來的公鑰PKa后,會將其添加到保存用戶的個人信息的文件中;
[0018]所述認(rèn)證過程用于用戶登錄已注冊的網(wǎng)站,具體過程包括以下步驟:
[0019]步驟B1:用戶將智能手機和網(wǎng)絡(luò)進行鏈接,并開啟智能手機應(yīng)用程序與服務(wù)器建立鏈接;
[0020]步驟B2:用戶通過個人計算機中的瀏覽器中登錄要訪問的網(wǎng)站,并在登錄頁面中輸入帳戶名、口令以及驗證碼后提交;
[0021]步驟B3:服務(wù)器驗證通過用戶提交的帳戶名和口令后,分別向個人計算機瀏覽器和智能手機發(fā)起時間同步請求;否則要求用戶進行重新登錄;
[0022]步驟B4:個人計算機中的瀏覽器和智能手機應(yīng)用程序在收到消息后,采用NTP協(xié)議與服務(wù)器保持時間同步,并通知服務(wù)器;
[0023]步驟B5:服務(wù)器在確認(rèn)個人計算機和智能手機與完成時間同步后,會將采集環(huán)境信息的請求發(fā)送給個人計算機中的瀏覽器和智能手機應(yīng)用程序;
[0024]步驟B6:個人計算機中的瀏覽器在收到消息后,在規(guī)定的時間段對環(huán)境信息進行采集,并將采集到的環(huán)境信息提交給服務(wù)器;
[0025]步驟B7:智能手機應(yīng)用程序在收到消息后,同樣按照規(guī)定的時間段采集環(huán)境信息;但在采集結(jié)束后,會用智能手機中保存的私鑰對環(huán)境信息進行簽名,最終將簽名信息和環(huán)境信息一起提交給服務(wù)器;
[0026]步驟B8:服務(wù)器在收到個人計算機中的瀏覽器和智能手機應(yīng)用程序發(fā)來的消息后,對用戶的身份進行判斷,并向個人計算機中的瀏覽器返回判斷結(jié)果;
[0027]所述重認(rèn)證過程在用戶成功登錄系統(tǒng)以后,每隔固定時間執(zhí)行一次;具體包括以下步驟:
[0028]Cl:服務(wù)器將采集環(huán)境信息的請求發(fā)送給個人計算機中的瀏覽器和智能手機應(yīng)用程序;
[0029]C2:個人計算機中的瀏覽器在收到消息后,在規(guī)定的時間段對環(huán)境信息進行采集,并將采集到的環(huán)境信息提交給服務(wù)器;
[0030]C3:智能手機應(yīng)用程序在收到消息后,同樣按照規(guī)定的時間段采集環(huán)境信息;但在采集結(jié)束后,用手機中保存的私鑰對環(huán)境信息進行簽名,最終將簽名信息和環(huán)境信息同時提交給服務(wù)器;
[0031]C4:服務(wù)器在收到個人計算機中的瀏覽器和智能手機應(yīng)用程序發(fā)來的消息后,對用戶的身份進行判斷,并向個人計算機中的瀏覽器返回判斷結(jié)果。
[0032]作為優(yōu)選,所述智能手機在向服務(wù)器注冊時,會自動生成公、私鑰對,其中公鑰提交給服務(wù)器,并與注冊時提交的帳戶名和口令一起保存;私鑰會同用戶的帳戶名保存在智能手機中。
[0033]作為優(yōu)選,步驟B8的具體實現(xiàn)過程包括以下子步驟:
[0034]步驟B8.1:利用用戶的公鑰解密智能手機提交的簽名信息,并驗證該簽名信息的真實性;如果簽名信息為真,則執(zhí)行步驟B8.2,否則通知用戶重新登錄,并采用基于短消息驗證碼的雙因素認(rèn)證方式對用戶進行認(rèn)證;
[0035]步驟B8.2:比較個人計算機中的瀏覽器提交的環(huán)境信息和智能手機提交環(huán)境信息的相似度,如果在規(guī)定的閾值之內(nèi),允許用戶進行登錄,否則通知用戶重新登錄,并采用基于短消息驗證碼的雙因素認(rèn)證方式對用戶進行認(rèn)證。
[0036]作為優(yōu)選,步驟C4的具體實現(xiàn)過程包括以下子步驟:
[0037]C4.1:利用用戶公鑰解密智能手機提交的簽名信息,并驗證該簽名信息的真實性,如果簽名為真則執(zhí)行下一步,否則通知用戶重新登錄,并采用基于短消息驗證碼的雙因素認(rèn)證方式對用戶進行認(rèn)證;
[0038]C4.2:比較個人計算機中的瀏覽器