本發(fā)明屬于身份認(rèn)證技術(shù)領(lǐng)域,涉及一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法。
背景技術(shù):
隨著科技的發(fā)展,智能手機(jī)越來越普及,只要有了智能手機(jī),購物、付款、轉(zhuǎn)賬都可以解決了,但是關(guān)于安全問題一直是人們沒法完美解決的。為了保證安全,很多APP要求用戶設(shè)置復(fù)雜的密碼,而且建議為不同的APP設(shè)置不同的密碼,給用戶帶來了諸多不便。
現(xiàn)已有的密碼解決方案有:
1.傳統(tǒng)的輸入字母加數(shù)字組合;
2.基于口令、手勢的密碼;
3.基于硬件配置的,例如指紋識別、虹膜識別、人臉識別;
4.采集用戶行為和基于智能手機(jī)內(nèi)置加速度傳感器來實(shí)現(xiàn)身份認(rèn)證。
但是,這些方案均存在各種各樣的問題和局限性:
1.傳統(tǒng)密碼:
傳統(tǒng)的輸入字母加數(shù)字組合方法,是最原始的,也是我們現(xiàn)在依然常用的,因為組合的多樣性,所以比較安全,但是因為現(xiàn)在越來越多的軟件,銀行卡等等都需要密碼,完全設(shè)置相同密碼又會極不安全,而且人的記憶力有限,很多時候會忘記,所以這種方法雖然可靠,但卻跟不上社會信息化快速發(fā)展的步伐。
2.口令和手勢密碼:
基于口令和手勢的密碼,在公共場所使用會被很容易竊取。而且口令、手勢密碼一旦泄露,任何人都可以登錄,所以也存在很大的安全隱患。
3.依靠硬件的生物特征密碼,例如指紋識別,虹膜識別,人臉識別方法:
由于人體有很多生物特征是獨(dú)一無二的,所以已經(jīng)有科技公司開始考慮密碼以外的用戶識別方式,比較流行的是依靠硬件----比如指紋識別、虹膜識別、人臉識別等。但是很多時候硬件成本較高。而且科技越來越發(fā)達(dá),這些生物特征也存在被盜取的可能。同時這些方法需要手機(jī)進(jìn)行大量運(yùn)算,影響手機(jī)運(yùn)算效率。指紋是非常容易竊取的,現(xiàn)在智能手機(jī)還沒有普及虹膜識別。人臉識別在進(jìn)行身份認(rèn)證時,如果人臉發(fā)生變化、被遮擋,特別是被包含有用戶的照片及視頻替換,人臉認(rèn)證就會容易出現(xiàn)錯誤的認(rèn)證結(jié)果,因此人臉認(rèn)證時需要涉及到活體檢測,而手機(jī)端的硬件資源配置有限,因此會降低認(rèn)證的流暢性。
4.采集用戶行為和基于智能手機(jī)內(nèi)置加速度傳感器來實(shí)現(xiàn)身份認(rèn)證:
有的分析用戶行為,譬如提取用戶打字頻率、姿勢、分析用戶的習(xí)慣性操作等。這類技術(shù)一旦成熟,便無需絞盡腦汁證明“我就是我”,也提升了安全性,但是這些方法都有很大的錯誤率,因為用戶不可能保證每次的行為都可以保持一致?,F(xiàn)在已有研究針對一種基于內(nèi)嵌三維加速計的手持設(shè)備的身份認(rèn)證方法。這個方法有一定的局限性,比如在成功率方面,用戶不可能做到每次動作完全相同。在安全性上,在公共場合密碼更容易被盜取。同時需要采取大量的樣本來分析。
技術(shù)實(shí)現(xiàn)要素:
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法,解決了現(xiàn)有技術(shù)中存在密碼解決方案不安全或太過復(fù)雜、用戶不易掌握的問題。
本發(fā)明所采用的技術(shù)方案是,一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法,包含如下步驟:
步驟一:注冊子模塊;
步驟二:登錄子模塊。
所述步驟一包含如下步驟:
步驟1.1:設(shè)置姿態(tài)密鑰;
步驟1.2:將姿態(tài)密鑰串存入數(shù)據(jù)庫。
所述步驟1.1包含如下步驟:
步驟1.1.1:檢測手機(jī)姿態(tài),所述檢測手機(jī)姿態(tài)是利用手機(jī)內(nèi)置的重力傳感器進(jìn)行檢測;
步驟1.1.2:記錄手機(jī)姿態(tài)保持時長,設(shè)置姿態(tài)密鑰的時候,需要對注冊者保持手機(jī)不動的時長進(jìn)行記錄,把大于時長t的姿態(tài)認(rèn)為是用戶刻意輸入的姿態(tài)密鑰,此時獲取到姿態(tài),進(jìn)行后續(xù)的判斷;否則,從更新至新姿態(tài)的時間開始重新計時。
步驟1.1.3:判斷姿態(tài)密鑰是否合法,所述合法姿態(tài)提前確定并輸入數(shù)據(jù)庫,并對這些合法姿態(tài)進(jìn)行編號,若用戶設(shè)置的姿態(tài)密鑰為這些合法姿態(tài)中的任意一個,則合法;否則,提示用戶非法,并提示用戶重新設(shè)置。
步驟1.1.4:姿態(tài)密鑰串一致性驗證:驗證注冊者兩次設(shè)置的姿態(tài)密鑰串是否一致。
所述步驟二包含如下步驟:
步驟2.1:獲取用戶輸入的姿態(tài)密鑰,所述獲取用戶輸入的姿態(tài)密鑰獲取的是手機(jī)的姿態(tài)序列,其中復(fù)用了注冊時檢測手機(jī)姿態(tài)和記錄手機(jī)姿態(tài)保持時間的實(shí)現(xiàn)方法。
步驟2.2:密碼匹配檢測,所述密碼匹配檢測是將步驟2.1中獲取的用戶輸入的姿態(tài)密鑰與數(shù)據(jù)庫中存放的注冊成功的密鑰串進(jìn)行比對,二者一致則登陸成功,否則登陸失敗。
本發(fā)明的有益效果是:
1.隨著智能手機(jī)的快速發(fā)展,重力傳感器已經(jīng)成為了標(biāo)配。本方法只需要利用重力傳感器就可以實(shí)現(xiàn)用戶身份認(rèn)證,不需要使用其他任何傳感器或硬件設(shè)備;
2.本方法身份認(rèn)證的方式安全性高,攻擊者通過猜測的方式模仿用戶身份認(rèn)證特征在計算時間上不可行;
3.成功率極高,驗證方式簡單,用戶容易很快掌握。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法的流程框圖;
圖2是本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法的注冊流程框圖;
圖3是本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法的登錄流程框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法,如圖1、圖2和圖3所示,包含如下步驟:
步驟一:注冊子模塊;
步驟二:登錄子模塊。
所述步驟一包含如下步驟:
步驟1.1:設(shè)置姿態(tài)密鑰;
步驟1.2:將姿態(tài)密鑰串存入數(shù)據(jù)庫。
所述步驟1.1包含如下步驟:
步驟1.1.1:檢測手機(jī)姿態(tài),所述檢測手機(jī)姿態(tài)是利用手機(jī)內(nèi)置的重力傳感器進(jìn)行檢測;
步驟1.1.2:記錄手機(jī)姿態(tài)保持時長,所述記錄手機(jī)姿態(tài)保持時長是利用軟件方法設(shè)置定時器來記錄手機(jī)姿態(tài)保持時長,設(shè)置姿態(tài)密鑰的時候,需要對注冊者保持手機(jī)不動的時長進(jìn)行記錄,把大于時長t的姿態(tài)認(rèn)為是用戶刻意輸入的姿態(tài)密鑰,此時獲取到姿態(tài),進(jìn)行后續(xù)的判斷;否則,從更新至新姿態(tài)的時間開始重新計時。
記錄手機(jī)姿態(tài)保持時長的方法是,每當(dāng)手機(jī)姿態(tài)發(fā)生改變時,系統(tǒng)會觸發(fā)sensorChanged事件,并提供了編程接口處理該事件。通過軟件代碼處理該事件并進(jìn)行如下操作:檢查當(dāng)前手機(jī)姿態(tài)與上次觸發(fā)sensorChanged事件時手機(jī)姿態(tài)的變化情況,如果變化幅度小于本方案設(shè)定的閾值,則認(rèn)為當(dāng)前手機(jī)仍然大致穩(wěn)定在上一次的姿態(tài),進(jìn)而讀取當(dāng)前系統(tǒng)時間,與最初進(jìn)入該姿態(tài)時的系統(tǒng)時間的差值,即認(rèn)定為該姿態(tài)的保持時間;如果前手機(jī)姿態(tài)與上次觸發(fā)sensorChanged事件時手機(jī)姿態(tài)相比,幅度超出本方案設(shè)定的閾值,則認(rèn)為當(dāng)前手機(jī)進(jìn)入了新的姿態(tài),記錄進(jìn)入新姿態(tài)的系統(tǒng)時間以便進(jìn)行后續(xù)判斷。其中,讀取當(dāng)前系統(tǒng)時間可以通過調(diào)用系統(tǒng)函數(shù)CurrentTimeMill來實(shí)現(xiàn)的。
步驟1.1.3:判斷姿態(tài)密鑰是否合法,所述合法姿態(tài)提前確定并輸入數(shù)據(jù)庫,并對這些合法姿態(tài)進(jìn)行編號,若用戶設(shè)置的姿態(tài)密鑰為這些合法姿態(tài)中的任意一個,則合法;否則,提示用戶非法,并提示用戶重新設(shè)置。
步驟1.1.4:姿態(tài)密鑰串一致性驗證:驗證注冊者兩次設(shè)置的姿態(tài)密鑰串是否一致。
所述步驟二包含如下步驟:
步驟2.1:獲取用戶輸入的姿態(tài)密鑰,所述獲取用戶輸入的姿態(tài)密鑰獲取的是手機(jī)的姿態(tài)序列,其中復(fù)用了注冊時檢測手機(jī)姿態(tài)和記錄手機(jī)姿態(tài)保持時間的實(shí)現(xiàn)方法。
步驟2.2:密碼匹配檢測,所述密碼匹配檢測是將步驟2.1中獲取的用戶輸入的姿態(tài)密鑰與數(shù)據(jù)庫中存放的注冊成功的密鑰串進(jìn)行比對,二者一致則登陸成功,否則登陸失敗。
本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法的步驟一:注冊子模塊基本路徑如下:
1.用戶設(shè)置姿態(tài)密碼,固定密碼長度為L(姿態(tài)密碼長度是姿態(tài)序列中包含的姿態(tài)個數(shù))
如果當(dāng)前長度小于3或者是輸入遍數(shù)小于等于2
a.將手機(jī)保持一個姿態(tài)2秒,檢測每一個手機(jī)姿態(tài)是否合法
●若合法,則震動提示該姿態(tài)合法
●若不合法,則震動提示不合法,提示重新輸入
循環(huán)結(jié)束
b.兩遍輸入完成后,檢查是否一致
●若果一致,則提示設(shè)置密碼成功
●否則,重新設(shè)置密碼
2.將姿態(tài)秘鑰串存儲入數(shù)據(jù)庫
可選路徑:
在第2步之前的任何一個環(huán)節(jié),用戶可以選擇返回,退出程序。
具體的實(shí)現(xiàn)方法是:利用手機(jī)內(nèi)置的重力傳感器,檢測手機(jī)的姿態(tài),重力傳感器返回XYZ三個方向上的重力加速度值,根據(jù)三個方向上的值計算出手機(jī)屏幕朝向,頂端朝向,從而得到當(dāng)前的姿態(tài)。
基于上述方法,定義一組方便用戶使用并且使手勢誤判率最低的手機(jī)姿態(tài),若用戶設(shè)置的姿態(tài)密鑰為這一組的任意一個,則為合法姿態(tài)。其他任何姿態(tài)都被定義為非法。利用軟件方法設(shè)置定時器記錄手機(jī)姿態(tài)保持時長。當(dāng)手機(jī)姿態(tài)變化為任一姿態(tài)時,若計時器計時超過閾值時長t,并且手機(jī)姿態(tài)未發(fā)生顯著變化,則認(rèn)定是用戶刻意輸入的姿態(tài);若計時器計時未超過閾值時長t,手機(jī)姿態(tài)發(fā)生變化,則從手機(jī)進(jìn)入新姿態(tài)的時間開始,重新啟動計時器計時。
本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法的步驟二:登錄子模塊基本路徑如下:
1.當(dāng)用戶選擇登錄時,登錄用況開始;
2.輸入姿態(tài)秘鑰:
當(dāng)秘鑰長度小于固定長度3
a.將手機(jī)保持一個姿態(tài)2秒,檢測每一個手機(jī)姿態(tài)是否合法
●若合法,則震動提示輸入下一個姿態(tài)
●若不合法,則提示不合法,并繼續(xù)輸入
循環(huán)結(jié)束
3.檢測密碼是否匹配,若匹配則登陸成功,否則登陸失敗。
可選路徑:在第3步之前的任何一個環(huán)節(jié),用戶可以選擇返回并退出。
本發(fā)明一種使用智能手機(jī)重力傳感器實(shí)現(xiàn)無密碼身份認(rèn)證方法,可以編寫成為手機(jī)應(yīng)用程序在android 4.0及其以上內(nèi)置重力傳感器的安卓智能手機(jī)上運(yùn)行,讓使用者參考相應(yīng)的提示進(jìn)行操作。
正常的注冊流程為:注冊-->設(shè)置姿態(tài)秘鑰-->注冊完成。
注冊的具體操作步驟為:
1.注冊;
2.設(shè)定姿態(tài)密碼;
進(jìn)行設(shè)置姿態(tài)密鑰過程中,規(guī)定用戶連續(xù)設(shè)置三個合法手機(jī)姿態(tài)作為密鑰,每個姿態(tài)密鑰需要將手機(jī)保持至少兩秒鐘,捕捉到用戶設(shè)置的手機(jī)姿態(tài),然后進(jìn)行判斷,如果是合法姿態(tài),則引導(dǎo)用戶輸入下一個姿態(tài)密鑰;如果不合法,提示用戶再次輸入該姿態(tài)密鑰,如此進(jìn)行重復(fù),直至完成第三個姿態(tài)。
接下來是三個姿態(tài)的依次設(shè)定,如果合法,則設(shè)置成功。
3.再次輸入確認(rèn)一遍(不一致則重輸);
三個姿態(tài)密鑰設(shè)定后,引導(dǎo)用戶再次輸入,以便用戶確認(rèn)密碼。若兩次輸入的密鑰不一致,提示用戶不一致并引導(dǎo)用戶重新設(shè)置密鑰;若一致,則注冊完成。
4.注冊成功。
需要注意的是,設(shè)置的密鑰串是有順序的,必須按照注冊時的順序用來解鎖。
登錄的具體操作步驟為:
1.開始判定姿態(tài);
驗證時,手機(jī)姿態(tài)如果是合法姿態(tài)中的任何一個,不管正確與否,都進(jìn)行震動提醒;否則提示不合法,不震動提醒,提示用戶調(diào)整姿態(tài),繼續(xù)驗證。
三個姿態(tài)密鑰完全錄入后,進(jìn)行驗證,檢測密碼是否與注冊一致,若一致則登陸成功,否則登陸失敗。
2、提示用戶登錄成功。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。