本發(fā)明涉及一種基于聲波通信的低成本,高可靠的身份認(rèn)證信息方法和系統(tǒng)。
背景技術(shù):
目前常用的認(rèn)證技術(shù)包括傳統(tǒng)的密碼輸入,IC/ID卡刷卡或者生物特征(如指紋、人臉識別)等。然而這些技術(shù)均存在密碼更換成本大,發(fā)卡流程冗長或者認(rèn)證設(shè)備昂貴等問題。與此同時,隨著智能手機(jī)的進(jìn)一步普及,手機(jī)通信認(rèn)證正越來越多地被應(yīng)用在現(xiàn)有的認(rèn)證系統(tǒng)中,主要的方式包含了二維碼、藍(lán)牙、NFC和WIFI等方式。但這些方式也存在操作繁瑣,響應(yīng)時間長等問題。在此背景下,本專利提出一種利用高頻聲波通信實現(xiàn)手機(jī)與設(shè)備間的認(rèn)證。區(qū)別于現(xiàn)有音頻編碼控制方法采用對固定ID或者固定密鑰進(jìn)行音頻編碼的低安全性策略,本方案采用動態(tài)一次性密鑰方案,音頻內(nèi)容即使被復(fù)制也不能通過認(rèn)證,從而保證了認(rèn)證的安全性。此外,由于該方案無需額外硬件設(shè)備,手機(jī)僅使用麥克風(fēng)和話筒便可進(jìn)行通信。因此,有潛力能夠快速部署并推廣。
技術(shù)實現(xiàn)要素:
本發(fā)明提出一種聲波認(rèn)證方法以彌補(bǔ)現(xiàn)有技術(shù)的不足,該技術(shù)采用高頻聲波的編碼,充分利用高頻聲波的傳輸能力,在設(shè)備端實時編碼/解碼包含一次性密鑰編碼信息的音頻流,在無需安裝額外通信設(shè)備的情況下,在認(rèn)證設(shè)備之間實現(xiàn)數(shù)據(jù)的直接傳遞,快速準(zhǔn)確安全地完成認(rèn)證端和被認(rèn)證端的雙向認(rèn)證。
為了滿足傳輸要求,本發(fā)明通過以下技術(shù)方案解決其技術(shù)問題。該技術(shù)方案主要包含兩個部分:一、基于聲波通信的身份認(rèn)證方法;二、實現(xiàn)基于聲波通信的身份認(rèn)證的系統(tǒng)設(shè)計。參考圖1,一種利用聲波通信身份認(rèn)證的方法,其特征在于,所述方法基于聲波通信驗證設(shè)備的身份認(rèn)證方法,包括如下步驟:
步驟10、系統(tǒng)初始化,認(rèn)證雙方約定認(rèn)證算法初始參數(shù);
步驟20、被認(rèn)證方發(fā)送探針信息激活認(rèn)證設(shè)備;
步驟30、認(rèn)證設(shè)備播放包含其設(shè)備唯一標(biāo)識號的音頻信號;
步驟40、被認(rèn)證方通過認(rèn)證算法生成一次性密鑰;
步驟50、被認(rèn)證方將一次性密鑰通過實時音頻流進(jìn)行編碼;
步驟60、認(rèn)證端接收實時音頻信息,進(jìn)行解碼認(rèn)證;
步驟70、認(rèn)證端對認(rèn)證結(jié)果進(jìn)行處理。將實時音頻編碼,傳遞給被認(rèn)證端;
步驟80、被認(rèn)證方接受步驟7播放的認(rèn)證結(jié)果音頻流,進(jìn)行解碼并展示認(rèn)證結(jié)果。
進(jìn)一步的,所述步驟10包含如下步驟:
步驟11.認(rèn)證方初始化認(rèn)證算法參數(shù),所述認(rèn)證算法參數(shù)信息至少包含以下信息:認(rèn)證方唯一標(biāo)識號、以及對應(yīng)認(rèn)證方唯一標(biāo)識號的共享密鑰以及準(zhǔn)確的國際標(biāo)準(zhǔn)時間。
步驟12.被認(rèn)證方初始化認(rèn)證算法參數(shù),所述認(rèn)證算法參數(shù)信息至少包含一下信息:被認(rèn)證方有權(quán)限認(rèn)證成功的認(rèn)證方唯一標(biāo)識號列表、唯一標(biāo)識號對應(yīng)的共享密鑰列表以及準(zhǔn)確的國際標(biāo)準(zhǔn)時間。
進(jìn)一步的,所述步驟20包含如下步驟:
步驟21、被認(rèn)證方到達(dá)認(rèn)證方設(shè)備附近,直徑為0.1m~2m的球形的范圍內(nèi),觸發(fā)認(rèn)證操作;
步驟22、被認(rèn)證方設(shè)備發(fā)送音頻探針信號激活認(rèn)證方設(shè)備。
進(jìn)一步的,步驟21所述被認(rèn)證方持有移動終端設(shè)備、智能手機(jī)或平板電腦進(jìn)行認(rèn)證操作;步驟21所述認(rèn)證方設(shè)備為移動終端設(shè)備、智能手機(jī)、平板電腦或嵌入式設(shè)備。
進(jìn)一步的,步驟21所述認(rèn)證方設(shè)備一直處于音頻監(jiān)聽狀態(tài)。
進(jìn)一步的,所述步驟30包含如下步驟:
步驟31.認(rèn)證設(shè)備接收到探針信號后,廣播播放自己的設(shè)備唯一標(biāo)識編碼音頻;
進(jìn)一步的,所述步驟31廣播播放自己的設(shè)備唯一標(biāo)識編碼音頻一段固定時間后停止播放,可以達(dá)到節(jié)能以及減少干擾的目的。
進(jìn)一步的,所述步驟40包含如下步驟:
步驟41.被認(rèn)證方設(shè)備正確接收到認(rèn)證設(shè)備的唯一標(biāo)示號,檢索本設(shè)備是否有該認(rèn)證設(shè)備的共享密鑰。若查詢存在,則進(jìn)入步驟42,否則認(rèn)證失敗。
步驟42.使用TOTP算法(Time-Based One-Time Password Algorithm)以及步驟10初始化的參數(shù)以及共享密鑰,生成一次性認(rèn)證密鑰。TOTP算法為現(xiàn)有成熟認(rèn)證算法,可參見RFC(Request For Comments)文檔RFC 6238。
所述聲波通信驗證設(shè)備包括:聲波輸入模塊;聲波輸出模塊;時間同步模塊;聲波編解碼;認(rèn)證算法處理器模塊。
進(jìn)一步的,所述聲波輸入模塊,用于通過設(shè)備上的麥克風(fēng)或其他聲音采集設(shè)備,采集設(shè)備附近有限范圍內(nèi)的聲音;
進(jìn)一步的,所述聲波輸出模塊,用于通過設(shè)備上的揚(yáng)聲器或者其他聲音播放設(shè)備,播放編碼或未編碼的音頻流信息;
進(jìn)一步的,所述時間同步模塊,實現(xiàn)多個設(shè)備之間的時間同步,確保認(rèn)證算法能夠正常準(zhǔn)確工作。時間同步模塊分為網(wǎng)絡(luò)同步和離線同步兩種模式;
進(jìn)一步的,所述時間網(wǎng)絡(luò)同步和離線同步模式為:
網(wǎng)絡(luò)時間同步模塊可以通過互聯(lián)網(wǎng),通過時間同步服務(wù)器實時同步UTC(Universal Time Coordinated)來協(xié)調(diào)世界時。
離線時間同步模塊使用實時時鐘模塊進(jìn)行離線的時間計時,確保與UTC保持一致。
進(jìn)一步的,所述聲波編解碼模塊即包括了聲波編碼模塊和聲波解碼模塊,聲波編碼模塊可以將文本信息編碼進(jìn)音頻流中;聲波解碼模塊可以將帶有編碼信息的音頻流中攜帶的信息解碼成文本信息;
進(jìn)一步的,所述認(rèn)證算法處理器模塊即使用OTP算法進(jìn)行生成OTP密鑰以及校驗密鑰的處理模塊。
本發(fā)明的優(yōu)點在于:
(1)通過高頻聲波進(jìn)行信息傳遞,用戶端的現(xiàn)有設(shè)備無需改造或新加模塊即可支持該類通訊方式。
(2)定義高頻聲波雙向通信協(xié)議,實現(xiàn)認(rèn)證方與被認(rèn)證方的雙工通信。
(3)音頻流認(rèn)證信息為實時編碼的一次性密鑰,即使音頻流信息被復(fù)制,也無法進(jìn)行多次認(rèn)證,確保了認(rèn)證的安全性。
(4)使用聲波通信承載TOTP驗證方式,安全性高,應(yīng)用場景廣。
(5)通信距離可通過調(diào)節(jié)音頻播放分貝實現(xiàn)0.1m~2m的可調(diào)節(jié)通信距離。
附圖說明
圖1是本發(fā)明的詳細(xì)流程框圖
圖2是本發(fā)明的功能模塊設(shè)計圖
圖3是本發(fā)明的認(rèn)證機(jī)制設(shè)計圖
具體實施方式
如圖1所示,本發(fā)明提供了一種基于聲波雙向通信的身份認(rèn)證方法,由三個部分組成:認(rèn)證雙方(包括單不僅限于,手機(jī)端和聲波門禁設(shè)備),以及權(quán)限管理后臺。
參考圖1,整個認(rèn)證流程涉及認(rèn)證方和被認(rèn)證方,被認(rèn)證方可以是智能手機(jī)上預(yù)裝的應(yīng)用程序;認(rèn)證方可以既是智能手機(jī)的認(rèn)證應(yīng)用程序,也可以是包含各類模塊的訂制認(rèn)證設(shè)備(參見圖2)。
以下具體實施場景,設(shè)定被認(rèn)證方為手持智能手機(jī)的業(yè)主;認(rèn)證方為支持聲波通信認(rèn)證的門禁控制器。具體實施方法詳述如下:
首先認(rèn)證雙方完整系統(tǒng)初始化,完成認(rèn)證算法初始參數(shù)的設(shè)置。
所述系統(tǒng)初始化為智能手機(jī)中預(yù)裝的應(yīng)用程序和認(rèn)證設(shè)備處理器中燒錄的編解碼程序和認(rèn)證程序均保持一致。
初始參數(shù)中的時間參數(shù):手機(jī)通過互聯(lián)網(wǎng)采用實時時間同步模塊進(jìn)行時間同步;門禁控制器采取離線時間同步模塊方式,保證與手機(jī)的時間同步。
初始化權(quán)限信息所包含的算法密鑰,手機(jī)APP通過網(wǎng)絡(luò)從認(rèn)證后臺獲取該用戶被授權(quán)的設(shè)備的權(quán)限列表以及每個權(quán)限對應(yīng)的種子密鑰。
當(dāng)用戶手持手機(jī)設(shè)備到達(dá)門禁控制器設(shè)備附近0.1m~2m范圍內(nèi)時可以手動觸發(fā)認(rèn)證操作。手動觸發(fā)的動作可以是點擊程序中的特定按鈕,也可以是搖動手機(jī)觸發(fā)。
手機(jī)程序在收到觸發(fā)指令后,通過手機(jī)揚(yáng)聲器播放經(jīng)過編碼的探針信號音頻流以激活門禁控制設(shè)備。
進(jìn)一步的,編碼的音頻流的頻段為17kHz~22kHz。
門禁端一直處于監(jiān)聽狀態(tài),當(dāng)其接收到探針信號后,立即播放包含其設(shè)備唯一標(biāo)識編碼的音頻信號。
如圖3所示,手機(jī)正確接收到認(rèn)證設(shè)備的唯一標(biāo)識號后,檢索本地數(shù)據(jù)權(quán)限列表中是否包含該門禁設(shè)備的權(quán)限授權(quán)以及對應(yīng)的TOPT共享密鑰。
進(jìn)一步的,其中本地的權(quán)限列表是通過網(wǎng)絡(luò)下載的方式從遠(yuǎn)程權(quán)限管理系統(tǒng)服務(wù)器獲取。用戶與設(shè)備之間的權(quán)限關(guān)系可以通過權(quán)限管理服務(wù)器進(jìn)行管理和修改。
如果權(quán)限列表中包含該門禁設(shè)備的權(quán)限,則可根據(jù)TOTP算法結(jié)合共享密鑰和當(dāng)前時間生成一次性認(rèn)證密鑰。
手機(jī)端將一次性密鑰通過實時音頻流進(jìn)行編碼。
手機(jī)APP將生成的一次性密鑰進(jìn)行音頻實時流編碼并進(jìn)行音頻循環(huán)播放。
門禁設(shè)備一直處于監(jiān)聽狀態(tài),接收并校驗手機(jī)端播放的包含一次性密鑰的編碼音頻流,然后對正確接收到的音頻進(jìn)行解碼,解碼后得到的手機(jī)APP傳輸給門禁設(shè)備的一次性密鑰。
門禁設(shè)備通過門禁設(shè)備本地存儲的TOTP共享密鑰參數(shù),結(jié)合時間同步模塊輸出的時間,使用TOTP算法,生成TOTP一次性密鑰,并將該密鑰與解碼后手機(jī)端發(fā)送的密鑰進(jìn)行比對,如果比對結(jié)果一致,則控制門鎖打開,認(rèn)證成功。若比對結(jié)果不一致,則無門鎖動作,認(rèn)證失敗。
門禁設(shè)備將認(rèn)證結(jié)果進(jìn)行實時音頻流編碼并播放。
手機(jī)端接受門禁設(shè)備播放的認(rèn)證結(jié)果音頻流,進(jìn)行解碼并展示認(rèn)證結(jié)果。
手機(jī)APP正確接受步驟72播放的認(rèn)證結(jié)果音頻流后,進(jìn)行解碼,并且在顯示設(shè)備上展示認(rèn)證結(jié)果。
手機(jī)APP對認(rèn)證結(jié)果進(jìn)行日志記錄,并且在有網(wǎng)絡(luò)的情況下上傳系統(tǒng)中央服務(wù)器備案。
認(rèn)證場景在現(xiàn)實生活中有多處應(yīng)用場景,如考勤、簽到等等,不僅限于本發(fā)明中的門禁場景較佳實施例。
以上所述僅為本發(fā)明的較佳實施例,并不用于限制本發(fā)明,凡依本發(fā)明申請專利范圍所做的均等變化、修飾與改進(jìn)等,均應(yīng)在本發(fā)明的保護(hù)范圍之內(nèi)。