本發(fā)明涉及門禁管理技術(shù)領(lǐng)域,具體涉及一種用于物聯(lián)鎖的開鎖方法、主裝置、從裝置及系統(tǒng)。
背景技術(shù):
物聯(lián)網(wǎng)通過智能感知、識別技術(shù)與普適計算等通信感知技術(shù),廣泛應(yīng)用于網(wǎng)絡(luò)的融合中。物聯(lián)網(wǎng)中,物體與互聯(lián)網(wǎng)相連接,進(jìn)行信息交換和通信。物聯(lián)鎖是指區(qū)別于傳統(tǒng)機(jī)械鎖,在用戶識別、安全性、管理性方面更加智能化的鎖具。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在如下的問題:單密碼管理系統(tǒng)存在密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,本發(fā)明實(shí)施例提供一種解決上述問題的用于物聯(lián)鎖的開鎖方法、主裝置、從裝置及系統(tǒng)。
依據(jù)本發(fā)明實(shí)施例的一個方面,提供了一種用于物聯(lián)鎖的開鎖方法,其由主裝置執(zhí)行,該方法包括:向從裝置發(fā)送獲取從裝置安全信息的命令;接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證;當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求,其中,開鎖請求中包括:主裝置主用密碼和主裝置備用密碼;接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
可選的,在向從裝置發(fā)送開鎖請求的步驟之前進(jìn)一步包括:根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置主用密碼和主裝置備用密碼。
可選的,根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置主用密碼和主裝置備用密碼的步驟具體包括:用原主裝置主用密碼替換原主裝置備用密碼,得到更換后的主裝置備用密碼;根據(jù)預(yù)設(shè)的密碼生成規(guī)則生成新密碼,用以替換原主裝置主用密碼,得到更換后的主裝置主用密碼。
可選的,在向從裝置發(fā)送開鎖請求的步驟之前進(jìn)一步包括:當(dāng)安全驗(yàn)證通過后,將初始化信息發(fā)送給從裝置,其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼;并接收從裝置返回的初始化結(jié)果。
依據(jù)本發(fā)明實(shí)施例的另一個方面,提供了一種用于物聯(lián)鎖的開鎖方法,其由從裝置執(zhí)行,該方法包括:接收主裝置發(fā)送的獲取從裝置安全信息的命令;向主裝置發(fā)送安全信息;接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
可選的,在接收主裝置發(fā)送的開鎖請求的步驟之前進(jìn)一步包括:接收主裝置發(fā)送的初始化信息,其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼;將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。
可選的,將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較的步驟具體包括:將主裝置主用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;將主裝置備用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;當(dāng)主裝置主用密碼與從裝置主用密碼相同且主裝置備用密碼與從裝置備用密碼相同時,或者,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,比較結(jié)果為通過。
可選的,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,在將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較的步驟之后進(jìn)一步包括:根據(jù)主裝置主用密碼和主裝置備用密碼,更換從裝置主用密碼和從裝置備用密碼。
可選的,更換從裝置主用密碼和從裝置備用密碼的步驟具體包括:用主裝置主用密碼替換原從裝置主用密碼,得到更換后的從裝置主用密碼;用主裝置備用密碼替換原從裝置備用密碼,得到更換后的從裝置備用密碼。
依據(jù)本發(fā)明的另一個方面,提供了一種用于執(zhí)行物聯(lián)鎖開鎖方法的主裝置,該主裝置包括:安全信息命令單元,用于向從裝置發(fā)送獲取從裝置安全信息的命令;安全信息驗(yàn)證單元,用于接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證;開鎖請求發(fā)送單元,用于當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求,其中,開鎖請求中包括:主裝置主用密碼和主裝置備用密碼;開鎖結(jié)果接收單元,用于接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
可選的,在開鎖請求發(fā)送單元之前進(jìn)一步包括:主裝置密碼更換單元,用于根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置主用密碼和主裝置備用密碼。
可選的,主裝置密碼更換單元具體用于:用原主裝置主用密碼替換原主裝置備用密碼,得到更換后的主裝置備用密碼;根據(jù)預(yù)設(shè)的密碼生成規(guī)則生成新密碼,用以替換原主裝置主用密碼,得到更換后的主裝置主用密碼。
可選的,在開鎖請求發(fā)送單元之前進(jìn)一步包括:初始化信息單元,用于當(dāng)安全驗(yàn)證通過后,將初始化信息發(fā)送給從裝置,其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼;并接收從裝置返回的初始化結(jié)果。
依據(jù)本發(fā)明的另一方面,提供了一種用于執(zhí)行物聯(lián)鎖開鎖方法的從裝置,該叢裝置包括:安全信息命令接收單元,用于接收主裝置發(fā)送的獲取從裝置安全信息的命令;安全信息返回單元,用于向主裝置發(fā)送安全信息;開鎖請求處理單元,用于接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;開鎖操作單元,用于當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
可選的,在開鎖請求處理單元之前進(jìn)一步包括:初始化操作單元,用于接收主裝置發(fā)送的初始化信息,其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼;將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。
可選的,開鎖請求處理單元具體用于:將主裝置主用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;將主裝置備用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;當(dāng)主裝置主用密碼與從裝置主用密碼相同且主裝置備用密碼與從裝置備用密碼相同時,或者,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,比較結(jié)果為通過。
可選的,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,在開鎖請求處理單元之后進(jìn)一步包括:從裝置密碼更換單元,用于根據(jù)主裝置主用密碼和主裝置備用密碼,更換從裝置主用密碼和從裝置備用密碼。
可選的,從裝置密碼更換單元具體用于:用主裝置主用密碼替換原從裝置主用密碼,得到更換后的從裝置主用密碼;用主裝置備用密碼替換原從裝置備用密碼,得到更換后的從裝置備用密碼。
依據(jù)本發(fā)明的另一方面,提供了一種用于執(zhí)行物聯(lián)鎖開鎖方法的系統(tǒng),包括上述的主裝置和上述的從裝置。
根據(jù)本發(fā)明的一種用于物聯(lián)鎖的開鎖方法、主裝置、從裝置及系統(tǒng),可以用雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果,另外還低成本地實(shí)現(xiàn)了鎖芯側(cè)密碼更新管理,大幅降低整個系統(tǒng)的中間人攻擊風(fēng)險。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例一提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖;
圖2示出了本發(fā)明實(shí)施例二提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖;
圖3示出了本發(fā)明實(shí)施例三提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖;
圖4示出了本發(fā)明實(shí)施例四提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖;
圖5示出了本發(fā)明實(shí)施例五提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的主裝置的結(jié)構(gòu)示意圖;
圖6示出了本發(fā)明實(shí)施例六提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的主裝置的結(jié)構(gòu)示意圖;
圖7示出了本發(fā)明實(shí)施例七提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的從裝置的結(jié)構(gòu)示意圖;
圖8示出了本發(fā)明實(shí)施例八提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的從裝置的結(jié)構(gòu)示意圖;
圖9示出了本發(fā)明實(shí)施例中一種用于物聯(lián)鎖的開鎖方法的初始化步驟的具體流程圖;
圖10示出了本發(fā)明實(shí)施例中一種用于物聯(lián)鎖的開鎖方法的開鎖與密碼更換步驟的具體流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
圖1示出了本發(fā)明實(shí)施例一提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖,如圖所示,該方法由主裝置執(zhí)行,具體包括:
步驟s110:向從裝置發(fā)送獲取從裝置安全信息的命令。
其中,安全信息一般包括從裝置的身份信息和/或狀態(tài)信息等。主裝置為了在后續(xù)步驟中,能夠根據(jù)從裝置的身份信息查詢與之對應(yīng)的開鎖密碼等,和/或,能夠根據(jù)從裝置的狀態(tài)信息查詢與之對應(yīng)的操作命令等,并發(fā)出適當(dāng)?shù)牟僮髅睿孕枰驈难b置發(fā)送獲取從裝置安全信息的命令。上述主裝置一般包括物聯(lián)鎖的鑰匙和/或與之配套的軟件,用于發(fā)出操作命令等。上述從裝置一般包括物聯(lián)鎖的鎖具,用于驗(yàn)證主裝置發(fā)送的信息,并執(zhí)行預(yù)設(shè)的操作,例如開鎖或更換密碼等。
步驟s120:接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證。
為了提高物聯(lián)鎖的安全性,可以對主裝置和從裝置設(shè)置對應(yīng)的授權(quán)信息,將所有授權(quán)信息與從裝置的身份信息和/或主裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。為了進(jìn)一步提高安全性,還可以對每一條授權(quán)信息都設(shè)置一個有效時間,在該有效時間內(nèi),從裝置可以響應(yīng)主裝置發(fā)送的相關(guān)命令,而超出該有效時間后,則從裝置不再響應(yīng)主裝置發(fā)送的相關(guān)命令。
當(dāng)接收到從裝置根據(jù)上述獲取安全信息的命令返回的安全信息時,主裝置需要根據(jù)安全信息中包含的從裝置的身份信息以及主裝置的身份信息查詢對應(yīng)的授權(quán)信息,并且驗(yàn)證該授權(quán)信息的時效性。只有當(dāng)安全驗(yàn)證通過時,才執(zhí)行后續(xù)步驟。
步驟s130:當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求。
其中,開鎖請求中包括:主裝置主用密碼和主裝置備用密碼。上述密碼用于發(fā)送給從裝置進(jìn)行后續(xù)的開鎖操作,且上述密碼與從裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。
具體的,當(dāng)安全驗(yàn)證通過后,主裝置從預(yù)設(shè)的數(shù)據(jù)庫中查找與從裝置對應(yīng)的主裝置主用秘密和主裝置備用密碼,然后將包含有上述密碼的開鎖請求發(fā)送給從裝置。
步驟s140:接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
當(dāng)步驟s130中的開鎖請求發(fā)送給從裝置后,從裝置會根據(jù)開鎖請求做出相應(yīng)的處理,并將開鎖結(jié)果返回給主裝置。該開鎖結(jié)果一般有兩種情況,一種是開鎖成功結(jié)果,另外一種是開鎖失敗結(jié)果。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。
實(shí)施例二
圖2示出了本發(fā)明實(shí)施例二提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖,如圖所述,該方法由主裝置執(zhí)行,該主裝置包括軟件平臺(例如手機(jī)app)和具備通信功能的電子鑰匙,該方法具體包括:
步驟s210:向從裝置發(fā)送獲取從裝置安全信息的命令。
在本發(fā)明實(shí)施例中,從裝置為物聯(lián)鎖的鎖芯,該鎖芯與電子鑰匙通過物理接口建立通信,并在此基礎(chǔ)上通過td/t1363協(xié)議實(shí)現(xiàn)數(shù)據(jù)的讀取及鑒權(quán)管理。
具體地,當(dāng)電子鑰匙捅上鎖芯時,電子鑰匙會向軟件平臺發(fā)送啟動信號。當(dāng)軟件平臺接收到電子鑰匙發(fā)送的啟動信號后,軟件平臺會通過與鎖芯相連的電子鑰匙發(fā)送獲取鎖芯安全信息的命令。
步驟s220:接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證。
為了提高物聯(lián)鎖的安全性,可以對主裝置和從裝置設(shè)置對應(yīng)的授權(quán)信息,將所有授權(quán)信息與從裝置的身份信息和/或主裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。為了進(jìn)一步提高安全性,還可以對每一條授權(quán)信息都設(shè)置一個有效時間,在該有效時間內(nèi),從裝置可以響應(yīng)主裝置發(fā)送的相關(guān)命令,而超出該有效時間后,則從裝置不再響應(yīng)主裝置發(fā)送的相關(guān)命令。
具體地,當(dāng)電子鑰匙接收到鎖芯返回的安全信息后,會將該安全信息以及電子鑰匙的身份信息(即電子鑰匙的唯一識別碼)都發(fā)送給軟件平臺。其中,安全信息中至少包含了鎖芯的身份信息(即鎖芯的唯一識別碼)。此時,軟件平臺會從預(yù)設(shè)的數(shù)據(jù)庫中分別查詢電子鑰匙和鎖芯對應(yīng)的授權(quán)信息,并對授權(quán)信息進(jìn)行安全驗(yàn)證,即驗(yàn)證其授權(quán)信息的時效性。當(dāng)電子鑰匙和鎖芯對應(yīng)的授權(quán)信息均為有效時,安全驗(yàn)證的結(jié)果為通過。
步驟s230:根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置主用密碼和主裝置備用密碼。
該步驟為可選步驟,為了進(jìn)一步提高系統(tǒng)的安全性,可以根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置中的主裝置主用密碼和主裝置備用密碼。具體地,用原主裝置主用密碼替換原主裝置備用密碼,得到更換后的主裝置備用密碼;并根據(jù)預(yù)設(shè)的密碼生成規(guī)則生成新密碼,用以替換原主裝置主用密碼,得到更換后的主裝置主用密碼。該更換步驟可以定時觸發(fā),也可以由用戶主動觸發(fā),本發(fā)明實(shí)施例對此不作具體限定,本領(lǐng)域技術(shù)人員可以靈活設(shè)置。因?yàn)樾旅艽a是根據(jù)預(yù)設(shè)的密碼生成規(guī)則自動生成的,因此該密碼對于用戶而言是不透明的,因此,可以相對較好地解決內(nèi)部人員泄密問題。
步驟s240:當(dāng)安全驗(yàn)證通過后,將初始化信息發(fā)送給從裝置,并接收從裝置返回的初始化結(jié)果。
該步驟也為可選步驟,主要用于鎖芯第一次啟用時設(shè)置密碼或者用于鎖芯重置密碼。其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼。
具體地,當(dāng)步驟s220中的安全驗(yàn)證通過后,軟件平臺將包含主裝置主用密碼和主裝置備用密碼的初始化信息通過與鎖芯連接的電子鑰匙發(fā)送給鎖芯,鎖芯則根據(jù)初始化信息進(jìn)行初始化操作。當(dāng)完成初始化操作后,鎖芯會通過電子鑰匙向軟件平臺返回初始化結(jié)果。在初始化操作后,軟件平臺還可以進(jìn)一步獲取鎖芯的詳細(xì)信息。
出于安全性考慮,可以對初始化信息進(jìn)行加密處理后再進(jìn)行傳輸,常用的加密算法可以是rc4加密算法。
步驟s250:當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求。
當(dāng)安全驗(yàn)證通過后,主裝置從預(yù)設(shè)的數(shù)據(jù)庫中查找與從裝置對應(yīng)的主裝置主用秘密和主裝置備用密碼,然后將包含有上述密碼的開鎖請求發(fā)送給從裝置。
具體地,當(dāng)步驟s220中的安全驗(yàn)證通過后,軟件平臺從數(shù)據(jù)庫中查找與該鎖芯對應(yīng)的主裝置主用密碼和主裝置備用密碼,并將上述密碼包含在開鎖請求中,通過與鎖芯相連的電子鑰匙發(fā)送給鎖芯,以請求鎖芯執(zhí)行開鎖操作。
出于安全考慮,可以對開鎖請求進(jìn)行加密處理后再進(jìn)行傳輸,常用的加密算法可以是rc4加密算法。
步驟s260:接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
具體地,當(dāng)鎖芯接收到上述開鎖請求后,該鎖芯會驗(yàn)證開鎖請求中包含的密碼等信息,并作出相應(yīng)的反饋,最后將開鎖結(jié)果通過電子鑰匙反饋給軟件平臺。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。同時,通過定時或人為觸發(fā)密碼更新操作,將原主用密碼作為備用密碼,將原備用密碼刪除,以此達(dá)到動態(tài)更新密碼的目的,并通過用戶的日常開鎖操作對鎖芯密碼進(jìn)行離線動態(tài)更新和有效管理,從而實(shí)現(xiàn)了低成本、廣覆蓋的動態(tài)管理體系。另外,通過rc4等加密算法進(jìn)行通信加密,從而較好地解決了中間人攻擊的問題。
實(shí)施例三
圖3示出了本發(fā)明實(shí)施例三提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖,如圖所示,該方法由從裝置執(zhí)行,具體包括:
步驟s310:接收主裝置發(fā)送的獲取從裝置安全信息的命令。
其中,安全信息一般包括從裝置的身份信息和/或狀態(tài)信息等。上述主裝置一般包括物聯(lián)鎖的鑰匙和/或與之配套的軟件,用于發(fā)出操作命令等。上述從裝置一般包括物聯(lián)鎖的鎖具,用于驗(yàn)證主裝置發(fā)送的信息,并執(zhí)行預(yù)設(shè)的操作,例如開鎖或更換密碼等。
從裝置在接收到安全信息命令后,會解析該命令,并根據(jù)命令內(nèi)容查找相關(guān)數(shù)據(jù)。
步驟s320:向主裝置發(fā)送安全信息。
因?yàn)橹餮b置在進(jìn)行其他操作前,需要驗(yàn)證從裝置的安全性,因此,從裝置需要在接收到安全信息命令后,解析命令內(nèi)容,并根據(jù)安全信息命令反饋主裝置所需的安全信息。
步驟s330:接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
當(dāng)從裝置接收到主裝置發(fā)送的開鎖請求后,從裝置會解析該開鎖請求,并從中提取出主裝置主用密碼和主裝置備用密碼,并按照一定的比較規(guī)則將上述密碼與從裝置中預(yù)設(shè)的從裝置主用密碼和從裝置備用密碼進(jìn)行比較。本發(fā)明實(shí)施例對比較規(guī)則不作具體限定,本領(lǐng)域技術(shù)人員可以靈活設(shè)定。
步驟s340:當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
當(dāng)步驟s330中的比較結(jié)果為通過時,說明主裝置為有權(quán)開鎖的裝置,因此,從裝置執(zhí)行開鎖操作,并將開鎖成功結(jié)果返回給主裝置。
當(dāng)步驟s330中的比較結(jié)果為未通過時,說明主裝置為無權(quán)開鎖裝置或主裝置發(fā)送的密碼有誤,從裝置不執(zhí)行開鎖操作,直接向主裝置返回開鎖失敗結(jié)果。
由此可見,在本發(fā)明實(shí)施例中,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。
實(shí)施例四
圖4示出了本發(fā)明實(shí)施例四提供的一種用于物聯(lián)鎖的開鎖方法的流程示意圖,如圖所示,該方法由從裝置執(zhí)行,該從裝置包括具備通信功能的鎖芯,該方法具體包括:
步驟s410:接收主裝置發(fā)送的獲取從裝置安全信息的命令。
在本發(fā)明實(shí)施例中,主裝置包括軟件平臺(例如手機(jī)app)和具備通信功能的電子鑰匙。從裝置(即鎖芯)與電子鑰匙通過物理接口建立通信,并在此基礎(chǔ)上通過td/t1363協(xié)議實(shí)現(xiàn)數(shù)據(jù)的讀取及鑒權(quán)管理。出于安全性考慮,可以將該鎖芯設(shè)置為僅能通過與之匹配的電子鑰匙進(jìn)行通信,由此可以避免非用戶人員在沒有電子鑰匙的情況下對鎖芯進(jìn)行破解。
具體地,當(dāng)鎖芯通過電子鑰匙接收到軟件平臺發(fā)送的獲取鎖芯安全信息的命令后,鎖芯會解析該命令,并查找該命令所需的相關(guān)安全信息。
步驟s420:向主裝置發(fā)送安全信息。
因?yàn)橹餮b置在進(jìn)行其他操作前,需要驗(yàn)證從裝置的安全性,因此,從裝置需要在接收到安全信息命令后,解析命令內(nèi)容,并根據(jù)安全信息命令反饋主裝置所需的安全信息。
具體地,當(dāng)鎖芯解析接收到的安全信息命令,并查找到該命令所需的相關(guān)安全信息后,該鎖芯會通過與之相連的電子鑰匙,將上述安全信息返回給軟件平臺。其中,該安全信息中包括鎖芯的身份信息(即鎖芯的唯一識別碼)。
為了進(jìn)一步提高安全性,在從裝置返回的安全信息中還可以包括用于加密通信的會話碼,該會話碼類似于加密信息的身份信息。在通信過程中,從裝置每一次都向主裝置返回不同的會話碼,主裝置在接收到會話碼后,在每次發(fā)送信息時需要附帶該次通信對應(yīng)的會話碼,由此可以保證每一次加密通信的唯一性,防止其他用戶冒充主裝置與從裝置通信。
步驟s430:接收主裝置發(fā)送的初始化信息;將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。
該步驟為可選步驟,主要用于鎖芯第一次啟用時設(shè)置密碼或者用于鎖芯重置密碼。其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼。
具體地,當(dāng)鎖芯接收到軟件平臺發(fā)送的初始化信息時,鎖芯從該初始化信息中提取出主裝置主用密碼和主裝置備用密碼,并將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。在完成該初始化操作后,鎖芯還可以向軟件平臺返回初始化結(jié)果信息。
當(dāng)初始化信息為加密后的密文時,鎖芯還需要根據(jù)對應(yīng)的加密算法對該密文進(jìn)行解密,在解密后才能提取出相應(yīng)的初始化信息。
步驟s440:接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
當(dāng)從裝置接收到主裝置發(fā)送的開鎖請求后,從裝置會解析該開鎖請求,并從中提取出主裝置主用密碼和主裝置備用密碼,并按照一定的比較規(guī)則將上述密碼與從裝置中預(yù)設(shè)的從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
在本發(fā)明實(shí)施例中,上述比較規(guī)則為:將主裝置主用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;將主裝置備用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;當(dāng)主裝置主用密碼與從裝置主用密碼相同且主裝置備用密碼與從裝置備用密碼相同時,或者,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,比較結(jié)果為通過。
當(dāng)開鎖請求為加密后的密文時,從裝置還需要根據(jù)對應(yīng)的加密算法對該密文進(jìn)行解密,在解密后才能提取出相應(yīng)的開鎖請求。
步驟s450:當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,根據(jù)主裝置主用密碼和主裝置備用密碼,更換從裝置主用密碼和從裝置備用密碼。
該步驟為可選步驟,僅僅在當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時才執(zhí)行。當(dāng)出現(xiàn)上述比較情況時,說明主裝置的密碼已經(jīng)進(jìn)行了更換,所以,從裝置也需要進(jìn)行對應(yīng)的更換。本發(fā)明實(shí)施例提供的具體更換方法為:用主裝置主用密碼替換原從裝置主用密碼,得到更換后的從裝置主用密碼;用主裝置備用密碼替換原從裝置備用密碼,得到更換后的從裝置備用密碼。在其他實(shí)施例中,本領(lǐng)域技術(shù)人員也可以靈活設(shè)置其他更換方法。
因?yàn)樵趯?shí)際應(yīng)用中存在多個主裝置對應(yīng)一個從裝置的情況,在這種情況下,可能出現(xiàn)部分主裝置密碼已經(jīng)更換了而部分其他主裝置密碼更換不及時的問題。此時,可以在從裝置一側(cè)設(shè)置計時器,該計時器用于記錄在一定時間期限內(nèi)更換前舊密碼的可使用次數(shù),以作為緩沖器使用。例如,當(dāng)計時器初始數(shù)為3時,在預(yù)設(shè)有效期內(nèi),當(dāng)有一個主裝置用更換前舊密碼開鎖時,從裝置照常進(jìn)行反饋操作;當(dāng)有一個主裝置用更換后的新密碼進(jìn)行開鎖時,從裝置進(jìn)行反饋操作后將計數(shù)器的數(shù)值減1,即此時計數(shù)器的數(shù)值減為2;以此類推,當(dāng)計數(shù)器的數(shù)值減為0或者預(yù)設(shè)有效期到期時,從裝置將不再接受使用舊密碼的主裝置的開鎖請求。此時,當(dāng)再一次出現(xiàn)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,從裝置執(zhí)行密碼更換操作。
步驟s460:當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
當(dāng)步驟s440中的比較結(jié)果為通過時,說明主裝置為有權(quán)開鎖的裝置,因此,從裝置執(zhí)行開鎖操作,并將開鎖成功結(jié)果返回給主裝置。
當(dāng)步驟s440中的比較結(jié)果為未通過時,說明主裝置為無權(quán)開鎖裝置或主裝置發(fā)送的密碼有誤,從裝置不執(zhí)行開鎖操作,直接向主裝置返回開鎖失敗結(jié)果。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。同時,通過定時或人為觸發(fā)密碼更新操作,將原主用密碼作為備用密碼,將原備用密碼刪除,以此達(dá)到動態(tài)更新密碼的目的,并通過用戶的日常開鎖操作對鎖芯密碼進(jìn)行離線動態(tài)更新和有效管理,從而實(shí)現(xiàn)了低成本、廣覆蓋的動態(tài)管理體系。另外,通過rc4等加密算法進(jìn)行通信加密,從而較好地解決了中間人攻擊的問題。
為了進(jìn)一步方便理解上述方法中的初始化步驟,圖9示出了一次完整的初始化步驟的流程,具體包括:1、電子鑰匙捅上鎖,電子鑰匙發(fā)送啟動信號;2、軟件平臺發(fā)送獲取鎖芯安全信息的命令,并通過電子鑰匙將命令透傳給鎖芯;3、鎖芯返回鎖芯安全信息和會話碼,并通過電子鑰匙將信息透傳給軟件平臺;4、軟件平臺根據(jù)接收到的安全信息進(jìn)行安全驗(yàn)證;5、利用rc4加密算法對初始化信息進(jìn)行加密得到密文,并通過電子鑰匙將密文和步驟3接收到的會話碼一并透傳給鎖芯;6、鎖芯根據(jù)對應(yīng)加密算法解密接收到的密文得到初始化信息,并根據(jù)該初始化信息進(jìn)行初始化操作;7、鎖芯通過電子鑰匙將初始化操作結(jié)果透傳給軟件平臺;8、軟件平臺接收到初始化操作結(jié)果后,可以發(fā)送獲取鎖芯詳細(xì)信息的命令;9、鎖芯根據(jù)軟件平臺發(fā)送的命令,返回鎖芯詳細(xì)信息。
為了進(jìn)一步方便理解上述方法中的開鎖與密碼更換步驟,圖10示出了一次完整的開鎖與密碼更換步驟的流程,具體包括:1、電子鑰匙捅上鎖,電子鑰匙發(fā)送啟動信號;2、軟件平臺發(fā)送獲取鎖芯安全信息的命令,并通過電子鑰匙將命令透傳給鎖芯;3、鎖芯返回鎖芯安全信息和會話碼,并通過電子鑰匙將信息透傳給軟件平臺;4、軟件平臺根據(jù)接收到的安全信息進(jìn)行安全驗(yàn)證;5、利用rc4加密算法對包含更換后的密碼的開鎖請求進(jìn)行加密后得到密文,并通過電子鑰匙將密文和步驟3接收到的會話碼一并透傳給鎖芯;6、鎖芯根據(jù)對應(yīng)加密算法解密接收到的密文得到開鎖請求,當(dāng)軟件平臺備用密碼與鎖芯主用密碼匹配,且計數(shù)器的數(shù)值小于1時,執(zhí)行開鎖操作并更新鎖芯主備密碼;7、鎖芯通過電子鑰匙向軟件平臺返回操作結(jié)果。
實(shí)施例五
圖5示出了本發(fā)明實(shí)施例五提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的主裝置的結(jié)構(gòu)示意圖,該主裝置包括:安全信息命令單元510、安全信息驗(yàn)證單元520、開鎖請求發(fā)送單元530和開鎖結(jié)果接收單元540。
安全信息命令單元510,用于向從裝置發(fā)送獲取從裝置安全信息的命令。
其中,安全信息一般包括從裝置的身份信息和/或狀態(tài)信息等。主裝置為了能夠根據(jù)從裝置的身份信息查詢與之對應(yīng)的開鎖密碼等,和/或,能夠根據(jù)從裝置的狀態(tài)信息查詢與之對應(yīng)的操作命令等,并發(fā)出適當(dāng)?shù)牟僮髅?,所以安全信息命令單?10需要向從裝置發(fā)送獲取從裝置安全信息的命令。上述主裝置一般包括物聯(lián)鎖的鑰匙和/或與之配套的軟件,用于發(fā)出操作命令等。上述從裝置一般包括物聯(lián)鎖的鎖具,用于驗(yàn)證主裝置發(fā)送的信息,并執(zhí)行預(yù)設(shè)的操作,例如開鎖或更換密碼等。
安全信息驗(yàn)證單元520,用于接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證。
為了提高物聯(lián)鎖的安全性,可以對主裝置和從裝置設(shè)置對應(yīng)的授權(quán)信息,將所有授權(quán)信息與從裝置的身份信息和/或主裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。為了進(jìn)一步提高安全性,還可以對每一條授權(quán)信息都設(shè)置一個有效時間,在該有效時間內(nèi),從裝置可以響應(yīng)主裝置發(fā)送的相關(guān)命令,而超出該有效時間后,則從裝置不再響應(yīng)主裝置發(fā)送的相關(guān)命令。
當(dāng)接收到從裝置根據(jù)上述獲取安全信息的命令返回的安全信息時,安全信息驗(yàn)證單元520需要根據(jù)安全信息中包含的從裝置的身份信息以及主裝置的身份信息查詢對應(yīng)的授權(quán)信息,并且驗(yàn)證該授權(quán)信息的時效性。只有當(dāng)安全驗(yàn)證通過時,后續(xù)單元才能繼續(xù)工作。
開鎖請求發(fā)送單元530,用于當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求。
其中,開鎖請求中包括:主裝置主用密碼和主裝置備用密碼。上述密碼用于發(fā)送給從裝置進(jìn)行后續(xù)的開鎖操作,且上述密碼與從裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。
具體的,當(dāng)安全驗(yàn)證通過后,開鎖請求發(fā)送單元530從預(yù)設(shè)的數(shù)據(jù)庫中查找與從裝置對應(yīng)的主裝置主用秘密和主裝置備用密碼,然后將包含有上述密碼的開鎖請求發(fā)送給從裝置。
開鎖結(jié)果接收單元540,用于接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
當(dāng)開鎖請求發(fā)送單元530將開鎖請求發(fā)送給從裝置后,從裝置會根據(jù)開鎖請求做出相應(yīng)的處理,并將開鎖結(jié)果返回給主裝置。該開鎖結(jié)果一般有兩種情況,一種是開鎖成功結(jié)果,另外一種是開鎖失敗結(jié)果。
上述各個單元的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。
實(shí)施例六
圖6示出了本發(fā)明實(shí)施例六提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的主裝置的結(jié)構(gòu)示意圖,該主裝置包括軟件平臺(例如手機(jī)app)和具備通信功能的電子鑰匙,該主裝置包括:安全信息命令單元610、安全信息驗(yàn)證單元620、主裝置密碼更換單元630、初始化信息單元640、開鎖請求發(fā)送單元650和開鎖結(jié)果接收單元660。
安全信息命令單元610,用于向從裝置發(fā)送獲取從裝置安全信息的命令。
在本發(fā)明實(shí)施例中,從裝置為物聯(lián)鎖的鎖芯,該鎖芯與電子鑰匙通過物理接口建立通信,并在此基礎(chǔ)上通過td/t1363協(xié)議實(shí)現(xiàn)數(shù)據(jù)的讀取及鑒權(quán)管理。
具體地,當(dāng)電子鑰匙捅上鎖芯時,電子鑰匙會向軟件平臺上的安全信息命令單元610發(fā)送啟動信號。當(dāng)安全信息命令單元610接收到電子鑰匙發(fā)送的啟動信號后,安全信息命令單元610會通過與鎖芯相連的電子鑰匙發(fā)送獲取鎖芯安全信息的命令。
安全信息驗(yàn)證單元620,用于接收從裝置返回的安全信息,進(jìn)行安全驗(yàn)證。
為了提高物聯(lián)鎖的安全性,可以對主裝置和從裝置設(shè)置對應(yīng)的授權(quán)信息,將所有授權(quán)信息與從裝置的身份信息和/或主裝置的身份信息對應(yīng)地保存到預(yù)設(shè)的數(shù)據(jù)庫中。為了進(jìn)一步提高安全性,還可以對每一條授權(quán)信息都設(shè)置一個有效時間,在該有效時間內(nèi),從裝置可以響應(yīng)主裝置發(fā)送的相關(guān)命令,而超出該有效時間后,則從裝置不再響應(yīng)主裝置發(fā)送的相關(guān)命令。
具體地,當(dāng)電子鑰匙接收到鎖芯返回的安全信息后,會將該安全信息以及電子鑰匙的身份信息(即電子鑰匙的唯一識別碼)都發(fā)送給軟件平臺上的安全信息驗(yàn)證單元620。其中,安全信息中至少包含了鎖芯的身份信息(即鎖芯的唯一識別碼)。此時,安全信息驗(yàn)證單元620會從預(yù)設(shè)的數(shù)據(jù)庫中分別查詢電子鑰匙和鎖芯對應(yīng)的授權(quán)信息,并對授權(quán)信息進(jìn)行安全驗(yàn)證,即驗(yàn)證其授權(quán)信息的時效性。當(dāng)電子鑰匙和鎖芯對應(yīng)的授權(quán)信息均為有效時,安全驗(yàn)證的結(jié)果為通過。
主裝置密碼更換單元630,用于根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置主用密碼和主裝置備用密碼。
該單元為可選單元,為了進(jìn)一步提高系統(tǒng)的安全性,可以根據(jù)預(yù)設(shè)的更換規(guī)則,更換主裝置中的主裝置主用密碼和主裝置備用密碼。具體地,用原主裝置主用密碼替換原主裝置備用密碼,得到更換后的主裝置備用密碼;并根據(jù)預(yù)設(shè)的密碼生成規(guī)則生成新密碼,用以替換原主裝置主用密碼,得到更換后的主裝置主用密碼。該單元可以定時觸發(fā),也可以由用戶主動觸發(fā),本發(fā)明實(shí)施例對此不作具體限定,本領(lǐng)域技術(shù)人員可以靈活設(shè)置。因?yàn)樾旅艽a是根據(jù)預(yù)設(shè)的密碼生成規(guī)則自動生成的,因此該密碼對于用戶而言是不透明的,因此,可以相對較好地解決內(nèi)部人員泄密問題。
初始化信息單元640,用于當(dāng)安全驗(yàn)證通過后,將初始化信息發(fā)送給從裝置,并接收從裝置返回的初始化結(jié)果。
該單元也為可選單元,主要用于鎖芯第一次啟用時設(shè)置密碼或者用于鎖芯重置密碼。其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼。
具體地,當(dāng)安全信息驗(yàn)證單元620中的安全驗(yàn)證通過后,軟件平臺上的初始化信息單元640將包含主裝置主用密碼和主裝置備用密碼的初始化信息通過與鎖芯連接的電子鑰匙發(fā)送給鎖芯,鎖芯則根據(jù)初始化信息進(jìn)行初始化操作。當(dāng)完成初始化操作后,鎖芯會通過電子鑰匙向初始化信息單元640返回初始化結(jié)果。在初始化操作后,初始化信息單元640還可以進(jìn)一步獲取鎖芯的詳細(xì)信息。
出于安全性考慮,初始化信息單元640可以對初始化信息進(jìn)行加密處理后再進(jìn)行傳輸,常用的加密算法可以是rc4加密算法。
開鎖請求發(fā)送單元650,用于當(dāng)安全驗(yàn)證通過后,向從裝置發(fā)送開鎖請求。
當(dāng)安全驗(yàn)證通過后,主裝置從預(yù)設(shè)的數(shù)據(jù)庫中查找與從裝置對應(yīng)的主裝置主用秘密和主裝置備用密碼,然后將包含有上述密碼的開鎖請求發(fā)送給從裝置。
具體地,當(dāng)安全信息驗(yàn)證單元620中的安全驗(yàn)證通過后,軟件平臺上的開鎖請求發(fā)送單元650從數(shù)據(jù)庫中查找與該鎖芯對應(yīng)的主裝置主用密碼和主裝置備用密碼,并將上述密碼包含在開鎖請求中,通過與鎖芯相連的電子鑰匙發(fā)送給鎖芯,以請求鎖芯執(zhí)行開鎖操作。
出于安全考慮,開鎖請求發(fā)送單元650可以對開鎖請求進(jìn)行加密處理后再進(jìn)行傳輸,常用的加密算法可以是rc4加密算法。
開鎖結(jié)果接收單元660,用于接收從裝置根據(jù)開鎖請求返回的開鎖結(jié)果。
具體地,當(dāng)鎖芯接收到上述開鎖請求后,該鎖芯會驗(yàn)證開鎖請求中包含的密碼等信息,并作出相應(yīng)的反饋,最后將開鎖結(jié)果通過電子鑰匙反饋給軟件平臺上的開鎖結(jié)果接收單元660。
上述各個單元的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。同時,通過定時或人為觸發(fā)密碼更新操作,將原主用密碼作為備用密碼,將原備用密碼刪除,以此達(dá)到動態(tài)更新密碼的目的,并通過用戶的日常開鎖操作對鎖芯密碼進(jìn)行離線動態(tài)更新和有效管理,從而實(shí)現(xiàn)了低成本、廣覆蓋的動態(tài)管理體系。另外,通過rc4等加密算法進(jìn)行通信加密,從而較好地解決了中間人攻擊的問題。
實(shí)施例七
圖7示出了本發(fā)明實(shí)施例七提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的從裝置的結(jié)構(gòu)示意圖,該裝置具體包括:安全信息命令接收單元710、安全信息返回單元720、開鎖請求處理單元730和開鎖操作單元740。
安全信息命令接收單元710,用于接收主裝置發(fā)送的獲取從裝置安全信息的命令。
其中,安全信息一般包括從裝置的身份信息和/或狀態(tài)信息等。上述主裝置一般包括物聯(lián)鎖的鑰匙和/或與之配套的軟件,用于發(fā)出操作命令等。上述從裝置一般包括物聯(lián)鎖的鎖具,用于驗(yàn)證主裝置發(fā)送的信息,并執(zhí)行預(yù)設(shè)的操作,例如開鎖或更換密碼等。
安全信息命令接收單元710在接收到安全信息命令后,將命令發(fā)送給后續(xù)單元,用于解析該命令,并根據(jù)命令內(nèi)容查找相關(guān)數(shù)據(jù)。
安全信息返回單元720,用于向主裝置發(fā)送安全信息。
因?yàn)橹餮b置在進(jìn)行其他操作前,需要驗(yàn)證從裝置的安全性,因此,當(dāng)安全信息命令接收單元710接收到安全信息命令后,安全信息返回單元720需要解析命令內(nèi)容,并根據(jù)安全信息命令反饋主裝置所需的安全信息。
開鎖請求處理單元730,用于接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
當(dāng)接收到主裝置發(fā)送的開鎖請求后,開鎖請求處理單元730會解析該開鎖請求,并從中提取出主裝置主用密碼和主裝置備用密碼,并按照一定的比較規(guī)則將上述密碼與從裝置中預(yù)設(shè)的從裝置主用密碼和從裝置備用密碼進(jìn)行比較。本發(fā)明實(shí)施例對比較規(guī)則不作具體限定,本領(lǐng)域技術(shù)人員可以靈活設(shè)定。
開鎖操作單元740,用于當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
當(dāng)開鎖請求處理單元730中的比較結(jié)果為通過時,說明主裝置為有權(quán)開鎖的裝置,因此,開鎖操作單元740執(zhí)行開鎖操作,并將開鎖成功結(jié)果返回給主裝置。
當(dāng)開鎖請求處理單元730中的比較結(jié)果為未通過時,說明主裝置為無權(quán)開鎖裝置或主裝置發(fā)送的密碼有誤,開鎖操作單元740不執(zhí)行開鎖操作,直接向主裝置返回開鎖失敗結(jié)果。
上述各個單元的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
由此可見,在本發(fā)明實(shí)施例中,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。
實(shí)施例八
圖8示出了本發(fā)明實(shí)施例八提供的一種用于執(zhí)行物聯(lián)鎖開鎖方法的從裝置的結(jié)構(gòu)示意圖,該從裝置包括具備通信功能的鎖芯,該從裝置具體包括:安全信息命令接收單元810、安全信息返回單元820、初始化操作單元830、開鎖請求處理單元840、從裝置密碼更換單元850和開鎖操作單元860
安全信息命令接收單元810,用于接收主裝置發(fā)送的獲取從裝置安全信息的命令。
在本發(fā)明實(shí)施例中,主裝置包括軟件平臺(例如手機(jī)app)和具備通信功能的電子鑰匙。從裝置(即鎖芯)與電子鑰匙通過物理接口建立通信,并在此基礎(chǔ)上通過td/t1363協(xié)議實(shí)現(xiàn)數(shù)據(jù)的讀取及鑒權(quán)管理。出于安全性考慮,可以將該鎖芯設(shè)置為僅能通過與之匹配的電子鑰匙進(jìn)行通信,由此可以避免非用戶人員在沒有電子鑰匙的情況下對鎖芯進(jìn)行破解。
具體地,當(dāng)鎖芯上的安全信息命令接收單元810通過電子鑰匙接收到軟件平臺發(fā)送的獲取鎖芯安全信息的命令后,安全信息命令接收單元810會將命令發(fā)送給后續(xù)單元,用于解析該命令,并根據(jù)命令內(nèi)容查找相關(guān)數(shù)據(jù)。
安全信息返回單元820,用于向主裝置發(fā)送安全信息。
因?yàn)橹餮b置在進(jìn)行其他操作前,需要驗(yàn)證從裝置的安全性,因此,當(dāng)安全信息命令接收單元810接收到安全信息命令后,安全信息返回單元820需要解析命令內(nèi)容,并根據(jù)安全信息命令反饋主裝置所需的安全信息。
具體地,當(dāng)鎖芯上的安全信息返回單元820解析接收到的安全信息命令,并查找到該命令所需的相關(guān)安全信息后,安全信息返回單元820會通過與之相連的電子鑰匙,將上述安全信息返回給軟件平臺。其中,該安全信息中包括鎖芯的身份信息(即鎖芯的唯一識別碼)。
為了進(jìn)一步提高安全性,在安全信息返回單元820返回的安全信息中還可以包括用于加密通信的會話碼,該會話碼類似于加密信息的身份信息。在通信過程中,安全信息返回單元820每一次都向主裝置返回不同的會話碼,主裝置在接收到會話碼后,在每次發(fā)送信息時需要附帶該次通信對應(yīng)的會話碼,由此可以保證每一次加密通信的唯一性,防止其他用戶冒充主裝置與從裝置通信。
初始化操作單元830,用于接收主裝置發(fā)送的初始化信息;將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。
該單元為可選單元,主要用于鎖芯第一次啟用時設(shè)置密碼或者用于鎖芯重置密碼。其中,初始化信息包括:主裝置主用密碼和主裝置備用密碼。
具體地,當(dāng)鎖芯上的初始化操作單元830接收到軟件平臺發(fā)送的初始化信息時,初始化操作單元830從該初始化信息中提取出主裝置主用密碼和主裝置備用密碼,并將主裝置主用密碼設(shè)置為初始的從裝置主用密碼,將主裝置備用密碼設(shè)置為初始的從裝置備用密碼。在完成該初始化操作后,初始化操作單元830還可以向軟件平臺返回初始化結(jié)果信息。
當(dāng)初始化信息為加密后的密文時,初始化操作單元830還需要根據(jù)對應(yīng)的加密算法對該密文進(jìn)行解密,在解密后才能提取出相應(yīng)的初始化信息。
開鎖請求處理單元840,用于接收主裝置發(fā)送的開鎖請求,并將開鎖請求中包含的主裝置主用密碼和主裝置備用密碼與從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
當(dāng)開鎖請求處理單元840接收到主裝置發(fā)送的開鎖請求后,開鎖請求處理單元840會解析該開鎖請求,并從中提取出主裝置主用密碼和主裝置備用密碼,并按照一定的比較規(guī)則將上述密碼與從裝置中預(yù)設(shè)的從裝置主用密碼和從裝置備用密碼進(jìn)行比較。
在本發(fā)明實(shí)施例中,上述比較規(guī)則為:將主裝置主用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;將主裝置備用密碼分別與從裝置主用密碼和從裝置備用密碼進(jìn)行比較;當(dāng)主裝置主用密碼與從裝置主用密碼相同且主裝置備用密碼與從裝置備用密碼相同時,或者,當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,比較結(jié)果為通過。
當(dāng)開鎖請求為加密后的密文時,開鎖請求處理單元840還需要根據(jù)對應(yīng)的加密算法對該密文進(jìn)行解密,在解密后才能提取出相應(yīng)的開鎖請求。
從裝置密碼更換單元850,用于當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,根據(jù)主裝置主用密碼和主裝置備用密碼,更換從裝置主用密碼和從裝置備用密碼。
該單元為可選單元,僅僅在當(dāng)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時才執(zhí)行。當(dāng)出現(xiàn)上述比較情況時,說明主裝置的密碼已經(jīng)進(jìn)行了更換,所以,從裝置也需要進(jìn)行對應(yīng)的更換。本發(fā)明實(shí)施例提供的具體更換方法為:用主裝置主用密碼替換原從裝置主用密碼,得到更換后的從裝置主用密碼;用主裝置備用密碼替換原從裝置備用密碼,得到更換后的從裝置備用密碼。在其他實(shí)施例中,本領(lǐng)域技術(shù)人員也可以靈活設(shè)置其他更換方法。
因?yàn)樵趯?shí)際應(yīng)用中存在多個主裝置對應(yīng)一個從裝置的情況,在這種情況下,可能出現(xiàn)部分主裝置密碼已經(jīng)更換了而部分其他主裝置密碼更換不及時的問題。此時,可以在從裝置一側(cè)設(shè)置計時器,該計時器用于記錄在一定時間期限內(nèi)更換前舊密碼的可使用次數(shù),以作為緩沖器使用。例如,當(dāng)計時器初始數(shù)為3時,在預(yù)設(shè)有效期內(nèi),當(dāng)有一個主裝置用更換前舊密碼開鎖時,從裝置照常進(jìn)行反饋操作;當(dāng)有一個主裝置用更換后的新密碼進(jìn)行開鎖時,從裝置進(jìn)行反饋操作后將計數(shù)器的數(shù)值減1,即此時計數(shù)器的數(shù)值減為2;以此類推,當(dāng)計數(shù)器的數(shù)值減為0或者預(yù)設(shè)有效期到期時,從裝置將不再接受使用舊密碼的主裝置的開鎖請求。此時,當(dāng)再一次出現(xiàn)主裝置主用密碼與從裝置主用密碼不同但主裝置備用密碼與從裝置主用密碼相同時,從裝置執(zhí)行密碼更換操作。
開鎖操作單元860,用于當(dāng)比較結(jié)果為通過時,執(zhí)行開鎖操作,并向主裝置返回成功類型的開鎖結(jié)果。
當(dāng)開鎖請求處理單元840中的比較結(jié)果為通過時,說明主裝置為有權(quán)開鎖的裝置,因此,開鎖操作單元860執(zhí)行開鎖操作,并將開鎖成功結(jié)果返回給主裝置。
當(dāng)開鎖請求處理單元840中的比較結(jié)果為未通過時,說明主裝置為無權(quán)開鎖裝置或主裝置發(fā)送的密碼有誤,開鎖操作單元860不執(zhí)行開鎖操作,直接向主裝置返回開鎖失敗結(jié)果。
上述各個單元的具體工作原理可參照方法實(shí)施例中相應(yīng)步驟的描述,此處不再贅述。
由此可見,在本發(fā)明實(shí)施例中,通過雙密碼管理體系替代傳統(tǒng)的單密碼管理體系,由此解決了現(xiàn)有技術(shù)存在的密碼泄密后管理難度大、鎖芯密碼更新管理成本高、中間人攻擊防護(hù)能力差等問題,取得了大幅提高物聯(lián)鎖系統(tǒng)的安全性、健壯性、兼容性的有益效果。同時,通過定時或人為觸發(fā)密碼更新操作,將原主用密碼作為備用密碼,將原備用密碼刪除,以此達(dá)到動態(tài)更新密碼的目的,并通過用戶的日常開鎖操作對鎖芯密碼進(jìn)行離線動態(tài)更新和有效管理,從而實(shí)現(xiàn)了低成本、廣覆蓋的動態(tài)管理體系。另外,通過rc4等加密算法進(jìn)行通信加密,從而較好地解決了中間人攻擊的問題。
實(shí)施例九
本發(fā)明實(shí)施例九提供了一種用于執(zhí)行物聯(lián)鎖開鎖方法的系統(tǒng),該系統(tǒng)包括了上述裝置實(shí)施例中的主裝置和從裝置。上述各個裝置的具體結(jié)構(gòu)和工作原理可參照裝置實(shí)施例中相應(yīng)單元的描述,此處不再贅述。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(dsp)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機(jī)程序和計算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。