本發(fā)明涉及一種基于智能門鎖系統(tǒng)的離線驗(yàn)證碼的生成方法及其系統(tǒng),屬于智能控制領(lǐng)域,也屬于安防技術(shù)領(lǐng)域和智能家居領(lǐng)域。
背景技術(shù):
目前智能門鎖的開啟方式,通常有以下種類:密碼,藍(lán)牙或NFC,語(yǔ)音。其中,依靠密碼方式開啟智能門鎖的方式,通常是遠(yuǎn)程下發(fā)期限密碼或者永久密碼。正常情況下,網(wǎng)關(guān)連接到互聯(lián)網(wǎng),智能門鎖通過(guò)無(wú)線技術(shù)與網(wǎng)關(guān)通訊。用戶通過(guò)手機(jī)或者網(wǎng)頁(yè),向后臺(tái)云服務(wù)器發(fā)送添加密碼的指令,指令經(jīng)過(guò)互聯(lián)網(wǎng)到達(dá)網(wǎng)關(guān),再發(fā)送給智能門鎖,智能門鎖成功生成密碼。因?yàn)楝F(xiàn)實(shí)環(huán)境問(wèn)題,比如網(wǎng)關(guān)停電、家里網(wǎng)絡(luò)故障,或者用戶就沒(méi)有安裝網(wǎng)關(guān),這時(shí)就無(wú)法通過(guò)遠(yuǎn)程下發(fā)密碼。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是克服上述缺點(diǎn),提出一種基于智能門鎖系統(tǒng)的離線驗(yàn)證碼的生成方法。
所采用的技術(shù)方案如下:
一種基于智能門鎖系統(tǒng)的離線驗(yàn)證碼的生成方法,包括:
移動(dòng)終端觸發(fā)開鎖事件并記錄觸發(fā)時(shí)間;
基于所述開鎖事件所述移動(dòng)終端向云服務(wù)器發(fā)送帶有開鎖驗(yàn)證信息的請(qǐng)求,所述帶有開鎖驗(yàn)證信息的請(qǐng)求用于請(qǐng)求云服務(wù)器返回智能門鎖的驗(yàn)證碼;所述開鎖驗(yàn)證信息包括私鑰種子和所述觸發(fā)時(shí)間;
所述云服務(wù)器對(duì)所述請(qǐng)求中攜帶的開鎖驗(yàn)證信息進(jìn)行匹配驗(yàn)證;
若匹配驗(yàn)證成功;所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼,并將生成的所述智能門鎖驗(yàn)證碼返回移動(dòng)終端用于開啟所述智能門鎖。
其中,所述移動(dòng)終端觸發(fā)開鎖事件并記錄觸發(fā)時(shí)間,包括:
響應(yīng)于用戶的操作;所述移動(dòng)終端觸發(fā)開鎖事件,并在后臺(tái)記錄觸發(fā)時(shí)間;所述用戶的操作至少包括:點(diǎn)擊確認(rèn)操作,滑動(dòng)操作或錄入密碼或認(rèn)證信息進(jìn)行登錄的操作。
其中,所述云服務(wù)器中設(shè)有預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù),所述私鑰種子存儲(chǔ)在預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中;所述私鑰種子為多個(gè)唯一不重復(fù)的密鑰;每個(gè)所述智能門鎖具有唯一的私鑰種子并與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的私鑰種子唯一對(duì)應(yīng);所述智能門鎖具有唯一的私鑰種子與所述智能門鎖綁定的至少一個(gè)移動(dòng)終端以一對(duì)一或一對(duì)多的方式綁定。
其中,所述云服務(wù)器對(duì)所述請(qǐng)求中攜帶的開鎖驗(yàn)證信息進(jìn)行匹配驗(yàn)證,包括:
云服務(wù)器獲取所述開鎖驗(yàn)證信息中的私鑰種子;
將所述密鑰種子與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的的私鑰種子進(jìn)行一一匹配驗(yàn)證;
若匹配得到相同的私鑰種子則匹配成功;
若匹配未得到相同的私鑰種子則匹配失敗。
其中,所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼包括:
所述云服務(wù)器根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間通過(guò)預(yù)設(shè)驗(yàn)證碼生成算法生成預(yù)設(shè)時(shí)間周期內(nèi)的動(dòng)態(tài)密碼;
返回所述預(yù)設(shè)時(shí)間周期內(nèi)的動(dòng)態(tài)密碼,所述動(dòng)態(tài)密碼即為驗(yàn)證碼。
其中,所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼包括:
所述云服務(wù)器生成密碼生成指令;
所述云服務(wù)器根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間通過(guò)所述密碼生成指令生成在預(yù)設(shè)時(shí)間周期內(nèi)有效的授權(quán)碼;
返回所述預(yù)設(shè)時(shí)間周期內(nèi)有效的授權(quán)碼,所述授權(quán)碼即為驗(yàn)證碼。
其中,所述密碼生成指令輸入包括:起始碼,命令碼,類型碼,有效期碼,密碼,密碼ID,時(shí)間因子和私鑰種子;輸出為若干位授權(quán)碼。
本申請(qǐng)還包括用于實(shí)施以上方法的系統(tǒng),一種智能門鎖系統(tǒng),包括:云服務(wù)器,移動(dòng)設(shè)備和智能門鎖,其中,
所述云服務(wù)器用于存儲(chǔ)密鑰種子,并對(duì)所述帶有開鎖驗(yàn)證信息的請(qǐng)求中攜帶的開鎖驗(yàn)證信息進(jìn)行匹配驗(yàn)證;若匹配驗(yàn)證成功;所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼,并將生成的所述智能門鎖驗(yàn)證碼返回移動(dòng)終端用于開啟所述智能門鎖;所述云服務(wù)器中設(shè)有預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù),所述私鑰種子存儲(chǔ)在預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中;所述私鑰種子為多個(gè)唯一不重復(fù)的密鑰;
每個(gè)所述智能門鎖具有唯一的私鑰種子并與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的私鑰種子唯一對(duì)應(yīng);所述智能門鎖具有唯一的私鑰種子與所述智能門鎖綁定的至少一個(gè)移動(dòng)終端以一對(duì)一或一對(duì)多的方式綁定;
所述移動(dòng)終端,用于觸發(fā)開鎖事件并記錄觸發(fā)時(shí)間;基于所述開鎖事件所述移動(dòng)終端向云服務(wù)器發(fā)送帶有開鎖驗(yàn)證信息的請(qǐng)求,請(qǐng)求云服務(wù)器返回智能門鎖的驗(yàn)證碼;所述開鎖驗(yàn)證信息包括私鑰種子和所述觸發(fā)時(shí)間;接收所述云服務(wù)器返回的所述智能門鎖驗(yàn)證碼。
本申請(qǐng)的基于智能門鎖系統(tǒng)的離線驗(yàn)證碼的生成方法及其系統(tǒng)的有益效果在于:
基于本申請(qǐng)的離線驗(yàn)證碼的生成方法,可在智能門鎖不具備通信功能的情況下,遠(yuǎn)程獲取有效的臨時(shí)開門密碼,或者獲取生成密碼的指令——授權(quán)碼,例如可在門鎖面板中輸入授權(quán)碼來(lái)啟用密碼。該方法解決了智能鎖在網(wǎng)關(guān)斷電、斷網(wǎng)、無(wú)線故障或者不安裝網(wǎng)關(guān)情況下,無(wú)法下發(fā)密碼開門的問(wèn)題。本申請(qǐng)的智能門鎖系統(tǒng)只需要在每個(gè)時(shí)間周期安裝預(yù)先設(shè)置的驗(yàn)證碼生成方法,生成驗(yàn)證碼并存儲(chǔ)在所內(nèi)部,無(wú)需在鎖內(nèi)部設(shè)置和網(wǎng)關(guān)以及云服務(wù)器進(jìn)行交互的通信模塊,大大減少了自身耗能和縮小了自身體積,因此,可以使智能門鎖系統(tǒng)不受到外界網(wǎng)絡(luò)環(huán)境的制約,可以以離線驗(yàn)證碼的方式,實(shí)現(xiàn)其開啟操作,實(shí)現(xiàn)了一種安全,可靠,不受外界網(wǎng)絡(luò)環(huán)境影響的,自身不包括通信模塊的智能門鎖系統(tǒng)。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1為現(xiàn)有技術(shù)的系統(tǒng)結(jié)構(gòu)框圖;
圖2為本申請(qǐng)的方法流程示意圖;
圖3為本申請(qǐng)的系統(tǒng)結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
如圖1所示的是現(xiàn)有技術(shù)中基于動(dòng)態(tài)密碼的智能門鎖系統(tǒng),其實(shí)現(xiàn)過(guò)程需要依靠智能門鎖中的無(wú)線通信模塊通過(guò)網(wǎng)關(guān)和云服務(wù)器進(jìn)行密碼的請(qǐng)求和密碼的發(fā)送,其所造成的技術(shù)問(wèn)題或者缺陷,一是智能門鎖耗能的增加,無(wú)線通信模塊需要長(zhǎng)時(shí)間的,大量的電量供應(yīng);二是一旦其斷電或者網(wǎng)關(guān)停電、家里網(wǎng)絡(luò)故障,就無(wú)法遠(yuǎn)程下達(dá)密碼到交互終端。
圖2是本申請(qǐng)實(shí)施例提供的一種基于智能門鎖系統(tǒng)的離線驗(yàn)證碼的生成方法,包括:
步驟S101:移動(dòng)終端觸發(fā)開鎖事件并記錄觸發(fā)時(shí)間;
響應(yīng)于用戶的操作;例如點(diǎn)擊確認(rèn)操作、滑動(dòng)操作、錄入密碼或認(rèn)證信息進(jìn)行登錄的操作;所述移動(dòng)終端觸發(fā)開鎖事件,并在后臺(tái)記錄觸發(fā)時(shí)間。
其中一個(gè)實(shí)施例為:在移動(dòng)終端觸發(fā)開鎖事件的方式有很多種,所述移動(dòng)終端可以是手機(jī),IPAD,筆記本電腦,智能手表或智能手環(huán)等智能移動(dòng)設(shè)備。例如當(dāng)用戶通過(guò)智能手機(jī)或IPAD或移動(dòng)型筆記本電腦等,點(diǎn)擊開鎖確認(rèn)鍵時(shí),或者滑動(dòng)開鎖開關(guān);或通過(guò)上述移動(dòng)終端或web頁(yè)面錄入密碼或認(rèn)證信息進(jìn)行登錄的操作時(shí),即可觸發(fā)開鎖事件。也可通過(guò)智能手表,智能手環(huán)等觸發(fā)開鎖事件,并在上述移動(dòng)終端的后臺(tái)記錄觸發(fā)時(shí)間。
步驟S102:基于所述開鎖事件所述移動(dòng)終端向云服務(wù)器發(fā)送帶有開鎖驗(yàn)證信息的請(qǐng)求,所述帶有開鎖驗(yàn)證信息的請(qǐng)求用于請(qǐng)求云服務(wù)器返回智能門鎖的驗(yàn)證碼;所述開鎖驗(yàn)證信息包括私鑰種子和所述觸發(fā)時(shí)間。
其中,所述云服務(wù)器中設(shè)有預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù),所述私鑰種子存儲(chǔ)在預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中;所述私鑰種子為多個(gè)唯一不重復(fù)的密鑰;每個(gè)所述智能門鎖具有唯一的私鑰種子并與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的私鑰種子唯一對(duì)應(yīng);所述智能門鎖具有唯一的私鑰種子與所述智能門鎖綁定的至少一個(gè)移動(dòng)終端以一對(duì)一或一對(duì)多的方式綁定。
基于所述開鎖事件所述移動(dòng)終端向云服務(wù)器發(fā)送帶有開鎖驗(yàn)證信息的請(qǐng)求,所述開鎖驗(yàn)證信息包括私鑰種子和所述觸發(fā)時(shí)間。其中的私鑰種子即為與智能門鎖的唯一私鑰種子綁定的私鑰種子。例如私鑰種子可以為在智能門鎖出廠時(shí)生成并同時(shí)寫入設(shè)備和存入云服務(wù)器,每一個(gè)門鎖的私鑰都是不同的,確保每把門鎖的動(dòng)態(tài)密碼安全——即使加密算法泄露,以及黑客獲取到某把門鎖的私鑰,也不會(huì)威脅到其他用戶的門鎖。
所述帶有開鎖驗(yàn)證信息的請(qǐng)求用于請(qǐng)求云服務(wù)器返回智能門鎖的驗(yàn)證碼。
步驟S103:所述云服務(wù)器對(duì)所述請(qǐng)求中攜帶的開鎖驗(yàn)證信息進(jìn)行匹配驗(yàn)證;包括步驟:
云服務(wù)器獲取所述開鎖驗(yàn)證信息中的私鑰種子;
將所述私鑰種子與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的的私鑰種子進(jìn)行一一匹配驗(yàn)證;
若匹配得到相同的私鑰種子則匹配成功;若匹配未得到相同的私鑰種子則匹配失敗。
步驟S104:若匹配驗(yàn)證成功;所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼,并將生成的所述智能門鎖驗(yàn)證碼返回移動(dòng)終端用于開啟所述智能門鎖。
本步驟通過(guò)以下2中離線驗(yàn)證碼生成方法進(jìn)行說(shuō)明。
其中一個(gè)實(shí)施例為:
步驟S1041a:所述云服務(wù)器根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間生成預(yù)設(shè)時(shí)間周期內(nèi)的動(dòng)態(tài)密碼;
所述云服務(wù)根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間經(jīng)過(guò)計(jì)算返回與門鎖私鑰種子匹配的預(yù)設(shè)時(shí)間周期內(nèi)的動(dòng)態(tài)密碼。例如,所述云服務(wù)根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間通過(guò)預(yù)設(shè)的驗(yàn)證碼生成算法返回與門鎖私鑰種子匹配的當(dāng)前時(shí)間點(diǎn)的動(dòng)態(tài)密碼。具體的,所述云服務(wù)器根據(jù)觸發(fā)時(shí)間進(jìn)一步確定當(dāng)前時(shí)間,并將當(dāng)前時(shí)間與私鑰種子通過(guò)預(yù)設(shè)驗(yàn)證碼生成算法轉(zhuǎn)換為數(shù)位密碼,例如六位密碼。所述預(yù)設(shè)驗(yàn)證碼生成算法輸入至少包括私鑰種子,輸出是若干位開門驗(yàn)證碼,具體的是所述算法根據(jù)觸發(fā)時(shí)間進(jìn)一步確定當(dāng)前時(shí)間,將當(dāng)前時(shí)間與私鑰種子結(jié)合輸出若干為開門驗(yàn)證碼。
對(duì)應(yīng)的,所述智能門鎖通過(guò)相同的所述預(yù)設(shè)的驗(yàn)證碼生成算法,在每個(gè)時(shí)間周期開始時(shí),計(jì)算出當(dāng)前動(dòng)態(tài)密碼并存儲(chǔ)。該當(dāng)前動(dòng)態(tài)碼為根據(jù)將每個(gè)時(shí)間周期與私鑰種子結(jié)合輸出若干為開門驗(yàn)證碼。所述時(shí)間周期開始為每個(gè)整點(diǎn)或者每個(gè)半點(diǎn)時(shí)刻。具體的,智能門鎖與云服務(wù)器采用相同算法,在每個(gè)預(yù)設(shè)時(shí)間周期開始時(shí),計(jì)算出當(dāng)前動(dòng)態(tài)密碼(動(dòng)態(tài)密碼為時(shí)間+私鑰種子)并存儲(chǔ)。其中,為了排除門鎖本地時(shí)間與服務(wù)器時(shí)間的偏差,時(shí)間(Time)精確到小時(shí)級(jí)別,即所述預(yù)設(shè)的時(shí)間周期可以為每個(gè)小時(shí)整點(diǎn)。
例如,為了增加動(dòng)態(tài)密碼在時(shí)間跨度的可用性,比如,在2點(diǎn)59分生成的密碼,在1分鐘后就會(huì)過(guò)期,這個(gè)密碼的可用性大大降低。該方法增加了緩沖的機(jī)制:每個(gè)整點(diǎn)計(jì)算出當(dāng)前整點(diǎn)動(dòng)態(tài)密碼的同時(shí),會(huì)保留前一個(gè)整點(diǎn)的動(dòng)態(tài)密碼依然有效,也就是任意時(shí)刻保證當(dāng)前與前一整點(diǎn)的動(dòng)態(tài)密碼有效。結(jié)果就是:從云服務(wù)獲取的動(dòng)態(tài)密碼,能保證他的有效期是——下一個(gè)整點(diǎn)結(jié)束之前,也就是最少一個(gè)小時(shí),最長(zhǎng)2小時(shí)的有效期。
步驟S1402a:返回所述預(yù)設(shè)時(shí)間周期內(nèi)的動(dòng)態(tài)密碼,所述動(dòng)態(tài)密碼即為驗(yàn)證碼。
云服務(wù)器將門鎖驗(yàn)證碼返回移動(dòng)終端用于開啟所述智能門鎖
本申請(qǐng)另一個(gè)實(shí)施例為:
步驟S1041b:所述云服務(wù)器生成密碼生成指令;
所述云服務(wù)生成一套密碼生成指令,該指令由數(shù)字和#*構(gòu)成,指令輸入包括:起始碼、命令碼、類型碼、有效期碼、密碼、密碼ID、校驗(yàn)碼。
所述校驗(yàn)碼用于驗(yàn)證指令的合法性和完整性。校驗(yàn)碼可以根據(jù)對(duì)安全的需要,采用不同位數(shù),位數(shù)越長(zhǎng)越安全,同時(shí),生成的授權(quán)碼會(huì)加長(zhǎng),用戶輸入難度會(huì)增加。針對(duì)不同的使用場(chǎng)景,面對(duì)不同的用戶人群,可以采用不同的校驗(yàn)碼位數(shù)。
所述私鑰種子和動(dòng)態(tài)密碼的私鑰種子(secret_seed)類似,是在門鎖出廠時(shí)生成并同時(shí)寫入設(shè)備和存入云服務(wù),每一個(gè)門鎖的私鑰都是不同的,確保每把門鎖的授權(quán)碼生成安全。
所述密碼ID用于密碼的后續(xù)管理,在云服務(wù)器中,密碼ID可以和用戶命名的特定名稱做對(duì)應(yīng),這樣后續(xù)對(duì)門鎖的密碼列表進(jìn)行管理時(shí),操作對(duì)象將是密碼ID。密碼ID在生成授權(quán)碼時(shí)是可選的。
通過(guò)所述命令碼可以實(shí)現(xiàn)密碼的增、刪、改、查等操作,當(dāng)然,不同的命令碼后面的指令碼段組合可以不同。
步驟S1402b:所述云服務(wù)器根據(jù)匹配驗(yàn)證成功的私鑰種子及觸發(fā)時(shí)間通過(guò)所述密碼生成指令生成在預(yù)設(shè)時(shí)間周期內(nèi)有效的授權(quán)碼;
所述授權(quán)碼的生成算法的輸入必須包含:指令碼除校驗(yàn)碼本身的完整內(nèi)容,私鑰種子,以及時(shí)間。例如:授權(quán)碼=私有算法((起始碼+命令碼+類型碼+有效期碼+密碼+密碼ID), 私鑰種子, Time)。
其中,時(shí)間(Time)精確到天級(jí)別,都用當(dāng)天整0點(diǎn)時(shí)間,所以,授權(quán)碼的有效期是當(dāng)天輸入有效。根據(jù)需求,可以通過(guò)對(duì)時(shí)間向前兼容的方式,來(lái)延長(zhǎng)授權(quán)碼的有效期,比如,同時(shí)用當(dāng)前0點(diǎn)與昨天0點(diǎn)驗(yàn)證校驗(yàn)碼,則將授權(quán)碼的有效期延長(zhǎng)到最長(zhǎng)2天。
校驗(yàn)碼可以根據(jù)對(duì)安全的需要,采用不同位數(shù),位數(shù)越長(zhǎng)越安全,同時(shí),授權(quán)碼會(huì)加長(zhǎng),用戶輸入難度會(huì)增加。針對(duì)不同的使用場(chǎng)景,面對(duì)不同的用戶人群,可以采用不同的校驗(yàn)碼位數(shù)。
若結(jié)合動(dòng)態(tài)密碼機(jī)制,可以實(shí)現(xiàn)改進(jìn)型的授權(quán)碼機(jī)制:指令中去除密碼段,而用2位數(shù)字來(lái)指定使用哪個(gè)小時(shí)整點(diǎn)的動(dòng)態(tài)密碼。按照常規(guī),2位數(shù)可以指定100個(gè)小時(shí),也就是可以指定某個(gè)小時(shí)整點(diǎn)為起始,往后的100個(gè)小時(shí)的動(dòng)態(tài)密碼的一個(gè),作為這次授權(quán)碼的生效密碼。
這個(gè)方法可以把密碼段縮減到2位,減少整個(gè)授權(quán)碼的位數(shù)。
為了避免與動(dòng)態(tài)密碼重復(fù),這里的動(dòng)態(tài)密碼生成機(jī)制保留,但是,算法里增加變量因子,可以保證與方法一的動(dòng)態(tài)密碼不重復(fù)。
步驟S1403b:返回所述預(yù)設(shè)時(shí)間周期內(nèi)有效的授權(quán)碼,所述授權(quán)碼即為驗(yàn)證碼。
云服務(wù)器返回所述預(yù)設(shè)時(shí)間周期內(nèi)有效的授權(quán)碼,用戶獲取后,在門鎖密碼面板上輸入,門鎖程序解析授權(quán)碼,校驗(yàn)成功后生成開鎖密碼。
圖3是本申請(qǐng)的智能門鎖系統(tǒng)的系統(tǒng)框圖,在智能門鎖,網(wǎng)關(guān)和云服務(wù)器之間的陰影箭頭表示它們之間無(wú)需進(jìn)行無(wú)線通信,因此,其中的網(wǎng)關(guān)模塊無(wú)需設(shè)置,智能門鎖也無(wú)需設(shè)置通信模塊。
一種智能門鎖系統(tǒng),所述智能門鎖系統(tǒng)包括:云服務(wù)器,移動(dòng)設(shè)備和智能門鎖,其中,
所述云服務(wù)器用于存儲(chǔ)密鑰種子,并對(duì)所述帶有開鎖驗(yàn)證信息的請(qǐng)求中攜帶的開鎖驗(yàn)證信息進(jìn)行匹配驗(yàn)證;若匹配驗(yàn)證成功;所述云服務(wù)器生成所述智能門鎖的驗(yàn)證碼,并將生成的所述智能門鎖驗(yàn)證碼返回移動(dòng)終端用于開啟所述智能門鎖;所述云服務(wù)器中設(shè)有預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù),所述私鑰種子存儲(chǔ)在預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中;所述私鑰種子為多個(gè)唯一不重復(fù)的密鑰;
每個(gè)所述智能門鎖具有唯一的私鑰種子并與所述預(yù)設(shè)的私鑰種子數(shù)據(jù)庫(kù)中的私鑰種子唯一對(duì)應(yīng);所述智能門鎖具有唯一的私鑰種子與所述智能門鎖綁定的至少一個(gè)移動(dòng)終端以一對(duì)一或一對(duì)多的方式綁定;
所述移動(dòng)終端,用于觸發(fā)開鎖事件并記錄觸發(fā)時(shí)間;基于所述開鎖事件所述移動(dòng)終端向云服務(wù)器發(fā)送帶有開鎖驗(yàn)證信息的請(qǐng)求,請(qǐng)求云服務(wù)器返回智能門鎖的驗(yàn)證碼;所述開鎖驗(yàn)證信息包括私鑰種子和所述觸發(fā)時(shí)間;接收所述云服務(wù)器返回的所述智能門鎖驗(yàn)證碼。所述移動(dòng)終端為手機(jī),IPAD,筆記本電腦,智能手表或智能手環(huán)。
所述云服務(wù)器生成驗(yàn)證碼可用以下兩種機(jī)制之一:
方法一:動(dòng)態(tài)密碼機(jī)制
1)云服務(wù)與智能鎖實(shí)現(xiàn)同一個(gè)密碼生成算法,該算法輸入必須包含:時(shí)間因子和私鑰種子,輸出是若干位開門密碼(比如6位的數(shù)字密碼)。算法的大致描述如下:
密碼=私有加密算法(Time,secret_seed)
為了排除門鎖本地時(shí)間與服務(wù)器時(shí)間的偏差,時(shí)間(Time)精確到小時(shí)級(jí)別。私鑰種子(secret_seed)則是在門鎖出廠時(shí)生成并同時(shí)寫入設(shè)備和存入云服務(wù),每一個(gè)門鎖的私鑰都是不同的,確保每把門鎖的動(dòng)態(tài)密碼安全——即使加密算法泄露,以及黑客獲取到某把門鎖的私鑰,也不會(huì)威脅到其他用戶的門鎖。
2)門鎖程序在每個(gè)時(shí)間周期(比如每個(gè)小時(shí)整點(diǎn))開始時(shí),計(jì)算出當(dāng)前動(dòng)態(tài)密碼并存儲(chǔ)。
3)使用時(shí),用戶通過(guò)手機(jī)或者web頁(yè)面認(rèn)證登陸后,向云服務(wù)后臺(tái)發(fā)起某個(gè)門鎖ID的動(dòng)態(tài)密碼請(qǐng)求,云服務(wù)經(jīng)過(guò)計(jì)算,返回該門鎖當(dāng)前時(shí)間點(diǎn)的動(dòng)態(tài)密碼。該密碼即可用于開門。
4)為了增加動(dòng)態(tài)密碼在時(shí)間跨度的可用性,比如,在2點(diǎn)59分生成的密碼,在1分鐘后就會(huì)過(guò)期,這個(gè)密碼的可用性大大降低。該方法增加了緩沖的機(jī)制:每個(gè)整點(diǎn)計(jì)算出當(dāng)前整點(diǎn)動(dòng)態(tài)密碼的同時(shí),會(huì)保留前一個(gè)整點(diǎn)的動(dòng)態(tài)密碼依然有效,也就是任意時(shí)刻保證當(dāng)前與前一整點(diǎn)的動(dòng)態(tài)密碼有效。結(jié)果就是:從云服務(wù)獲取的動(dòng)態(tài)密碼,能保證他的有效期是——下一個(gè)整點(diǎn)結(jié)束之前,也就是最少一個(gè)小時(shí),最長(zhǎng)2小時(shí)的有效期。
方法二:授權(quán)碼機(jī)制
1)定義一套密碼生成指令,該指令由數(shù)字和#*構(gòu)成,指令碼包含:起始碼、命令碼、類型碼、有效期碼、密碼、密碼ID、校驗(yàn)碼。該指令由云服務(wù)生成,用戶獲取后,在門鎖密碼面板上輸入,門鎖程序解析指令,校驗(yàn)成功后生成密碼。
2)校驗(yàn)碼用于驗(yàn)證指令的合法性和完整性。其生成算法的輸入必須包含:指令碼除校驗(yàn)碼本身的完整內(nèi)容,私鑰種子,以及時(shí)間。例如:校驗(yàn)碼=私有算法((起始碼+命令碼+類型碼+有效期碼+密碼+密碼ID), 私鑰種子, Time)。
時(shí)間(Time)精確到天級(jí)別,都用當(dāng)天整0點(diǎn)時(shí)間,所以,授權(quán)碼的有效期是當(dāng)天輸入有效。根據(jù)需求,可以通過(guò)對(duì)時(shí)間向前兼容的方式,來(lái)延長(zhǎng)授權(quán)碼的有效期,比如,同時(shí)用當(dāng)前0點(diǎn)與昨天0點(diǎn)驗(yàn)證校驗(yàn)碼,則將授權(quán)碼的有效期延長(zhǎng)到最長(zhǎng)2天。
私鑰種子和動(dòng)態(tài)密碼的私鑰種子(secret_seed)類似,是在門鎖出廠時(shí)生成并同時(shí)寫入設(shè)備和存入云服務(wù),每一個(gè)門鎖的私鑰都是不同的,確保每把門鎖的授權(quán)碼生成安全。
校驗(yàn)碼可以根據(jù)對(duì)安全的需要,采用不同位數(shù),位數(shù)越長(zhǎng)越安全,同時(shí),授權(quán)碼會(huì)加長(zhǎng),用戶輸入難度會(huì)增加。針對(duì)不同的使用場(chǎng)景,面對(duì)不同的用戶人群,可以采用不同的校驗(yàn)碼位數(shù)。
密碼ID用于密碼的后續(xù)管理,在云服務(wù),密碼ID可以和用戶命名的特定名稱做對(duì)應(yīng),這樣后續(xù)對(duì)門鎖的密碼列表進(jìn)行管理時(shí),操作對(duì)象將是密碼ID。密碼ID是可選的。
3)通過(guò)命令碼可以實(shí)現(xiàn)密碼的增、刪、改、查等操作,當(dāng)然,不同的命令碼后面的指令碼段組合可以不同。
4)如果結(jié)合動(dòng)態(tài)密碼機(jī)制,可以實(shí)現(xiàn)改進(jìn)型的授權(quán)碼機(jī)制:指令中去除密碼段,而用2位數(shù)字來(lái)指定使用哪個(gè)小時(shí)整點(diǎn)的動(dòng)態(tài)密碼。按照常規(guī),2位數(shù)可以指定100個(gè)小時(shí),也就是可以指定某個(gè)小時(shí)整點(diǎn)為起始,往后的100個(gè)小時(shí)的動(dòng)態(tài)密碼的一個(gè),作為這次授權(quán)碼的生效密碼。
這個(gè)方法可以把密碼段縮減到2位,減少整個(gè)授權(quán)碼的位數(shù)。
為了避免與動(dòng)態(tài)密碼重復(fù),這里的動(dòng)態(tài)密碼生成機(jī)制保留,但是,算法里增加變量因子,可以保證與方法一的動(dòng)態(tài)密碼不重復(fù)。
所述智能門鎖只需要在每個(gè)時(shí)間周期利用預(yù)先設(shè)置的驗(yàn)證碼生成算法,生成驗(yàn)證碼并存儲(chǔ)在所內(nèi)部,無(wú)需在鎖內(nèi)部設(shè)置和網(wǎng)關(guān)以及云服務(wù)器進(jìn)行交互的通信模塊,大大減少了自身耗能和縮小了自身體積,因此,不受到外界網(wǎng)絡(luò)環(huán)境的制約,可以以離線驗(yàn)證碼的方式,實(shí)現(xiàn)其開啟操作,實(shí)現(xiàn)了一種安全,可靠,不受外界網(wǎng)絡(luò)環(huán)境影響的,自身不包括通信模塊的智能門鎖系統(tǒng)。
上述本申請(qǐng)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本申請(qǐng)的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
以上所述僅是本申請(qǐng)的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍。