System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種智能鎖密鑰生成,具體涉及一種用于物聯鎖的臨時密碼生成與驗證方法。
技術介紹
1、智能鎖由于其操作簡單,不需攜帶鑰匙,安全性高等優點,應用日益廣泛,與此同時,對智能鎖的功能也提出了更多的需求。例如,當智能鎖主人不在家,而臨時有人員需要進入時,智能鎖的主人只能把密碼告知訪客,為了安全起見,事后智能鎖主人需要修改密碼,這樣給使用者帶來諸多不便。
2、針對臨時需要開鎖的應用需求,市面上已經出現具有臨時密碼功能的智能鎖,主要包括:1)在本地智能鎖體設置并存儲固定的臨時密碼,但需要事先設置臨時密碼,為避免密碼泄露的安全隱患,使用之后還要更改或刪除臨時密碼,給用戶帶來不便;2)針對具有聯網功能的智能鎖,用戶通過app設置臨時密碼并傳送給服務器,服務器接收到后發送給智能鎖體,智能鎖體接收并存儲臨時密碼,但該方式智能鎖必須具備聯網功能,否則不能開鎖,降低了臨時密碼開鎖的可靠性,而且硬件成本高,耗電量大,通信過程中易受網絡攻擊;3)智能鎖包括智能鎖體和手機app兩部分,它們在出廠時內置相同的密鑰庫或有相同的臨時密碼算法,例如中國專利“智能門鎖非時間管理的臨時密碼管理方法及系統”(專利號111260827?a)?在智能終端采用sha-1加密算法生成多個臨時密碼,用戶采用相同算法生成多個門鎖端臨時密碼,然后將它們逐一比對實現離線臨時密碼開鎖功能,但是在出廠前需將密鑰庫固定寫在智能鎖里,一旦密鑰庫被破解將失去安全性,且能通過獲取幾組臨時密碼后反推出原始密鑰,另外獲取加密算法或源碼后,也容易反推出原始密碼。因此,如何保證臨時密
技術實現思路
1、為解決
技術介紹
中現有智能鎖中臨時密碼不可靠和不安全的問題,本專利技術提供一種用于物聯鎖的臨時密碼生成與驗證方法。
2、本專利技術的技術方案是:一種用于物聯鎖的臨時密碼生成與驗證方法,包括智能鎖和智能終端,在智能鎖上設置開啟臨時密碼功能,具體操作步驟為:
3、s1、休眠狀態,智能鎖無任何操作時都處于休眠狀態,降低功耗;
4、s2、觸摸智能鎖面板喚醒智能鎖;
5、s3、連續按*#鍵,輸入管理員密碼;
6、s4、密碼匹配成功,進入菜單界面;
7、s5、在菜單界面設置開啟臨時密碼功能;
8、s6、激活內部加密算法;
9、s7、智能鎖獲得臨時密碼;
10、在智能鎖端開啟臨時密碼功能的前提下,智能終端操作步驟為:
11、a1、登錄智能終端,設置加密因子m,此加密因子與智能鎖端的加密因子必須相同;
12、a2、在智能終端中開啟臨時密碼功能;
13、a3、智能終端中激活內置與智能鎖端相同的加密算法;
14、a4、產生臨時密碼,傳遞給訪客;
15、s8、訪客在智能鎖端鍵入臨時密碼;
16、s9、智能鎖對比鍵入的信息與智能鎖產生的臨時密碼是否相同;相同則開鎖,否則提示開鎖失敗。
17、作為本專利技術的進一步改進,上述步驟s6中,算法的輸入參數為基于哈希的消息認證碼,采用如下的公式進行處理:
18、hmac(t,m)?=?h(t⊕opad)‖h(t⊕ipad)‖m
19、其中,t是用于生成hmac的密鑰,m是需要認證的數據,h為哈希函數;opad和ipad是兩個固定的填充值;其中,opad的每個字節值都是0x5c,ipad的每個字節值都是0x36;符號⊕表示按位異或運算,‖表示連接操作。
20、作為本專利技術的進一步改進,智能鎖安全離線開鎖密碼生成算法,步驟s6中,采用sha算法進行加密處理,加密算法的具體操作步驟為:
21、s601、獲取智能鎖本地的時間戳,提取長度為l的數字串作為時間因子t;
22、s602、對時間因子t,進行hash填充;
23、s603、將hash填充后的t數字串與opad做異或運算;
24、s604、將hash填充后的t數字串與ipad做異或運算;
25、s605、加密因子m是由用戶自主設置的數字串;
26、s606、將s603、s604的異或結果與s605進行拼接,整體作為加密算法的輸入y;
27、s607、根據輸入y,進行內層hash運算;
28、s608、得到最終的臨時密碼。
29、作為本專利技術的進一步改進,進行hash填充,使得信息摘要的長度為b字節。
30、作為本專利技術的進一步改進,所述opad為0x5c,每個字節都與opad進行異或操作。
31、作為本專利技術的進一步改進,所述ipad為0x36,每個字節都與ipad進行異或操作。
32、作為本專利技術的進一步改進,內層hash運算,有預設的160bit消息摘要緩沖區,與輸入y進行n次運算得到最終結果。
33、作為本專利技術的進一步改進,所述的智能終端包括小程序和/或app。
34、作為本專利技術的進一步改進,設定加密算法有效時間5分鐘,允許時間誤差為2分鐘,激活加密算法后,把時間因子向前推進7分鐘,再向后退2分鐘,產生9組臨時密碼,外部鍵入的臨時密碼與其中一個相同即可開鎖。
35、作為本專利技術的進一步改進,智能鎖正常開鎖的密碼是6位數字,臨時密碼是8位數字;鍵入臨時密碼時就會觸發智能鎖開啟內部加密算法,產生9組臨時密碼,與鍵入的臨時密碼匹配,有相同的就可開鎖;進行密碼匹配,如果3次輸入匹配均不成功,則會系統鎖定3分鐘,同時提示開鎖失敗。
36、本專利技術的有益效果是,是否開啟離線臨時密碼,由用戶控制;在智能鎖端可根據需求隨時開啟或關閉臨時密碼,功能靈活,滿足用戶的多樣化需求;采用時間因子與加密因子的雙重信息輸入的方式,不需要其他額外機制,保證數據完整性與操作的便捷性;智能鎖與智能終端之間無通信連接,防止通信傳輸過程中的網絡攻擊;所采用的算法本身具有不可逆性,另外每個用戶會自己設置不同的加密因子,實現雙重保險,即使知道算法的構造也無法破解;對于臨時密碼有有效時間設置,對智能鎖與智能終端的時間一致性要求不嚴格,允許一定的時間誤差,降低了對智能鎖內部系統的要求。
本文檔來自技高網...【技術保護點】
1.一種用于物聯鎖的臨時密碼生成與驗證方法,包括智能鎖和智能終端,其特征在于:在智能鎖上設置開啟臨時密碼功能,具體操作步驟為:
2.根據權利要求1所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于上述步驟S6中,算法的輸入參數為基于哈希的消息認證碼,采用如下的公式進行處理:
3.根據權利要求2所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于智能鎖安全離線開鎖密碼生成算法,步驟S6中,采用SHA算法進行加密處理,加密算法的具體操作步驟為:
4.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于進行hash填充,使得信息摘要的長度為B字節。
5.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于所述opad為0x5c,每個字節都與opad進行異或操作。
6.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于所述ipad為0x36,每個字節都與ipad進行異或操作。
7.根據權利要求4所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于內
8.根據權利要求4所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于所述的智能終端包括小程序和/或APP。
9.根據權利要求1所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于設定加密算法有效時間5分鐘,允許時間誤差為2分鐘,激活加密算法后,把時間因子向前推進7分鐘,再向后退2分鐘,產生9組臨時密碼,外部鍵入的臨時密碼與其中一個相同即可開鎖。
10.根據權利要求1所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于智能鎖正常開鎖的密碼是6位數字,臨時密碼是8位數字;鍵入臨時密碼時就會觸發智能鎖開啟內部加密算法,產生9組臨時密碼,與鍵入的臨時密碼匹配,有相同的就可開鎖;進行密碼匹配,如果3次輸入匹配均不成功,則會系統鎖定3分鐘,同時提示開鎖失敗。
...【技術特征摘要】
1.一種用于物聯鎖的臨時密碼生成與驗證方法,包括智能鎖和智能終端,其特征在于:在智能鎖上設置開啟臨時密碼功能,具體操作步驟為:
2.根據權利要求1所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于上述步驟s6中,算法的輸入參數為基于哈希的消息認證碼,采用如下的公式進行處理:
3.根據權利要求2所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于智能鎖安全離線開鎖密碼生成算法,步驟s6中,采用sha算法進行加密處理,加密算法的具體操作步驟為:
4.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于進行hash填充,使得信息摘要的長度為b字節。
5.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于所述opad為0x5c,每個字節都與opad進行異或操作。
6.根據權利要求3所述的一種用于物聯鎖的臨時密碼生成與驗證方法,其特征在于所述ipad為0x36,每個字節都與ipad進行...
【專利技術屬性】
技術研發人員:阮秀凱,項文廣,紀東亞,周志立,楊衛波,張瑤,陳秋影,詹志翔,
申請(專利權)人:溫州大學智能鎖具研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。