農(nóng)資物聯(lián)網(wǎng)中基于二維碼及非對(duì)稱(chēng)加密的訪問(wèn)認(rèn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種訪問(wèn)認(rèn)證方法,尤其是一種農(nóng)資物聯(lián)網(wǎng)中基于二維碼及非對(duì)稱(chēng)加密的訪問(wèn)認(rèn)證方法,屬于農(nóng)資物聯(lián)網(wǎng)的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]農(nóng)業(yè)是人類(lèi)衣食之源、生存之本,是一切生產(chǎn)的首要條件。農(nóng)資產(chǎn)品的安全對(duì)保障農(nóng)業(yè)生產(chǎn)的安全有著特別重要的作用。在當(dāng)下物聯(lián)網(wǎng)發(fā)展的大背景下,農(nóng)資物聯(lián)網(wǎng)的出現(xiàn)是非常有必要的。
[0003]雖然,互聯(lián)網(wǎng)已經(jīng)滲入到人們生活和工作的方方面面,但同時(shí)也給人們帶來(lái)越來(lái)越大的安全問(wèn)題。人們擁有不同網(wǎng)站的賬號(hào),而保護(hù)這些賬號(hào)的典型方式卻是口令??诹罹哂性介L(zhǎng)越復(fù)雜的固有特點(diǎn),一直讓我們?cè)诎踩头奖闵喜坏貌蛔鰞呻y選擇。
[0004]一個(gè)典型網(wǎng)站的口令,可能在以下幾個(gè)方面出現(xiàn)問(wèn)題導(dǎo)致泄漏:
1)、弱口令直接被窮舉;
2)、用戶(hù)口令被計(jì)算機(jī)內(nèi)的木馬竊取,如網(wǎng)吧或者筆記本本身被安裝了木馬;
3 )、中間人攻擊竊聽(tīng)用戶(hù)口令;
4)、釣魚(yú)網(wǎng)站誘騙用戶(hù)登錄從而獲得用戶(hù)名和口令;
5 )、黑客破解服務(wù)器獲取后臺(tái)存儲(chǔ)的明文密碼或者工作人員監(jiān)守自盜。
[0005]就拿農(nóng)資物聯(lián)網(wǎng)來(lái)說(shuō),一旦口令被上述任何一種方式破解,而用戶(hù)往往在多個(gè)賬戶(hù)間使用相同的口令,所以很多時(shí)候一次破解會(huì)導(dǎo)致連鎖反映,用戶(hù)很可能損失慘重。雖然業(yè)界為口令的安全做出不懈的努力,如動(dòng)態(tài)密碼卡、雙因素認(rèn)證、Open ID以及OAUTH認(rèn)證等技術(shù),但安全與方便的兩難選擇依然存在:密碼簡(jiǎn)單又容易被盜,密碼復(fù)雜則不容易記住不方便實(shí)用。隨著云計(jì)算、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、社交網(wǎng)絡(luò)與開(kāi)放平臺(tái)的全面發(fā)展,口令問(wèn)題表現(xiàn)得越來(lái)越嚴(yán)重。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是克服現(xiàn)有技術(shù)中存在的不足,提供一種農(nóng)資物聯(lián)網(wǎng)中基于二維碼及非對(duì)稱(chēng)加密的訪問(wèn)認(rèn)證方法,其操作方便,提高農(nóng)資物聯(lián)網(wǎng)的訪問(wèn)認(rèn)證的安全性。
[0007]按照本發(fā)明提供的技術(shù)方案,一種農(nóng)資物聯(lián)網(wǎng)中基于二維碼及非對(duì)稱(chēng)加密的訪問(wèn)認(rèn)證方法,包括服務(wù)器以及能與所述服務(wù)器進(jìn)行通訊的移動(dòng)客戶(hù)端與訪問(wèn)客戶(hù)端;所述訪問(wèn)認(rèn)證方法包括如下步驟:
a、利用訪問(wèn)客戶(hù)端打開(kāi)登錄服務(wù)器的登錄界面,以對(duì)服務(wù)器進(jìn)行連接,服務(wù)器根據(jù)訪問(wèn)客戶(hù)端的登錄連接信息生成登錄會(huì)話序列;
b、服務(wù)器根據(jù)生成會(huì)話序列向訪問(wèn)客戶(hù)端返回登錄二維碼,所述登錄二維碼包含的信息包括登錄會(huì)話序列、服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符、登錄確認(rèn)信息將要提交的URL地址;訪問(wèn)客戶(hù)端顯示輸出服務(wù)器返回的登錄二維碼,并不斷輪訓(xùn)訪問(wèn)服務(wù)器,以檢測(cè)是否完成登錄; C、使用移動(dòng)客戶(hù)端掃描訪問(wèn)客戶(hù)端上的登錄二維碼,并對(duì)所述登錄二維碼進(jìn)行解析,以得到所在登錄會(huì)話序列對(duì)應(yīng)的服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符;對(duì)上述得到的服務(wù)器名稱(chēng)、月艮務(wù)器標(biāo)識(shí)符與移動(dòng)客戶(hù)端內(nèi)的服務(wù)器信息進(jìn)行匹配,且當(dāng)利用服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符與移動(dòng)客戶(hù)端內(nèi)的服務(wù)器信息匹配時(shí),移動(dòng)客戶(hù)端選擇帳號(hào),以利用所述選擇帳號(hào)登錄到匹配的服務(wù)器;
d、在選定帳號(hào)后,利用移動(dòng)客戶(hù)端進(jìn)行登錄,移動(dòng)客戶(hù)端將與選定帳號(hào)相關(guān)的登錄確認(rèn)信息傳輸至服務(wù)器內(nèi);所述登錄確認(rèn)信息包括賬戶(hù)名以及使用用戶(hù)RSA私鑰加密的登錄會(huì)話序列;
e、服務(wù)器收到移動(dòng)客戶(hù)端提交的登錄確認(rèn)信息并對(duì)傳輸?shù)呐c帳號(hào)相關(guān)的身份信息進(jìn)行解析;服務(wù)器根據(jù)解析得到的賬戶(hù)名查找與所述賬戶(hù)名對(duì)應(yīng)的用戶(hù)RSA公鑰,并利用用戶(hù)RSA公鑰對(duì)利用用戶(hù)RSA私鑰加密的登錄會(huì)話序列進(jìn)行解密;當(dāng)解密后的登錄會(huì)話序列與服務(wù)器內(nèi)的會(huì)話序列匹配時(shí),服務(wù)器向訪問(wèn)客戶(hù)端傳輸?shù)卿洺晒π畔ⅰ?br>[0008]所述步驟d中,登錄確認(rèn)信息中使用用戶(hù)RSA私鑰對(duì)登錄會(huì)話序列進(jìn)行RSA加密。
[0009]所述移動(dòng)客戶(hù)端包括智能手機(jī)。
[0010]所述步驟e中,服務(wù)器中用戶(hù)RSA公鑰為注冊(cè)時(shí)保存的公鑰。
[0011]在服務(wù)器中注冊(cè)得到用戶(hù)RSA公鑰包括如下步驟:
51、利用訪問(wèn)客戶(hù)端打開(kāi)連接服務(wù)器的注冊(cè)界面,服務(wù)器根據(jù)訪問(wèn)客戶(hù)端的連接注冊(cè)信息生成注冊(cè)會(huì)話序列;
52、利用訪問(wèn)客戶(hù)端在注冊(cè)界面上向服務(wù)器提交包含賬戶(hù)名的注冊(cè)信息;
53、服務(wù)器根據(jù)接收的注冊(cè)信息向訪問(wèn)客戶(hù)端返回注冊(cè)二維碼,所述注冊(cè)二維碼的信息包括注冊(cè)會(huì)話序列、服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符、賬戶(hù)名以及注冊(cè)確認(rèn)信息將要提交的URL地址;訪問(wèn)客戶(hù)端顯示輸出服務(wù)器返回的注冊(cè)二維碼,并不斷輪訓(xùn)訪問(wèn)服務(wù)器,以檢測(cè)是否完成注冊(cè);
54、使用移動(dòng)客戶(hù)端掃描訪問(wèn)客戶(hù)端上的注冊(cè)二維碼,并對(duì)注冊(cè)二維碼進(jìn)行解析,以得到所在登錄會(huì)話序列對(duì)應(yīng)的服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符;在移動(dòng)客戶(hù)端內(nèi)利用RSA加密方法隨機(jī)生成用戶(hù)RSA公鑰私鑰對(duì),所述用戶(hù)RSA公鑰私鑰對(duì)包括用戶(hù)RSA公鑰以及用戶(hù)RSA私鑰;在移動(dòng)客戶(hù)端內(nèi)將賬戶(hù)名、服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符以及用戶(hù)RSA公鑰私鑰對(duì)進(jìn)行關(guān)聯(lián)存儲(chǔ);
55、移動(dòng)客戶(hù)端在進(jìn)行上述關(guān)聯(lián)存儲(chǔ)后,向服務(wù)器提交注冊(cè)確認(rèn)信息,所述注冊(cè)確認(rèn)信息包括賬戶(hù)名、用戶(hù)RSA公鑰以及注冊(cè)會(huì)話序列;
56、服務(wù)器接收移動(dòng)客戶(hù)端提交的注冊(cè)確認(rèn)信息并對(duì)所述注冊(cè)確認(rèn)信息進(jìn)行解析,以得到注冊(cè)的賬戶(hù)名、用戶(hù)RSA公鑰以及注冊(cè)會(huì)話序列;服務(wù)器將解析的賬戶(hù)名與待注冊(cè)的賬戶(hù)名進(jìn)行比對(duì),當(dāng)解析的賬戶(hù)名與待注冊(cè)的賬戶(hù)名匹配后,服務(wù)器將賬戶(hù)名以及用戶(hù)RSA公鑰進(jìn)行關(guān)聯(lián)存儲(chǔ),并向訪問(wèn)客戶(hù)端傳輸注冊(cè)成功信息。
[0012]所述移動(dòng)客戶(hù)端向服務(wù)器提交注冊(cè)確認(rèn)信息的方式包括GPRS、3G網(wǎng)絡(luò)。
[0013]本發(fā)明的優(yōu)點(diǎn):在整個(gè)登錄過(guò)程中,由于不存在口令,而RSA密鑰又擁有高強(qiáng)度安全性,所以窮舉法無(wú)法獲取用戶(hù)信息;用戶(hù)RSA公鑰與用戶(hù)RSA私鑰對(duì)不能互相推導(dǎo),黑客或者服務(wù)器內(nèi)部員工即使獲取服務(wù)器端用戶(hù)數(shù)據(jù)庫(kù)也無(wú)法加以利用;認(rèn)證是只在移動(dòng)客戶(hù)端和服務(wù)器上完成,訪問(wèn)客戶(hù)端即使被掛馬,用戶(hù)賬戶(hù)的安全也無(wú)法被攻破;雙方的私鑰都不在網(wǎng)絡(luò)上進(jìn)行傳輸,所以中間人攻擊無(wú)效;用戶(hù)身份在登錄時(shí)不進(jìn)行傳遞,所以釣魚(yú)攻擊甚至連用戶(hù)的賬戶(hù)名都無(wú)法獲取,操作方便,提高農(nóng)資物聯(lián)網(wǎng)的訪問(wèn)認(rèn)證的安全性。
【附圖說(shuō)明】
[0014]圖1為本發(fā)明進(jìn)行登錄的示意圖。
[0015]圖2為本發(fā)明進(jìn)行注冊(cè)的示意圖。
[0016]附圖標(biāo)記說(shuō)明:100-服務(wù)器、110-移動(dòng)客戶(hù)端及120-訪問(wèn)客戶(hù)端。
【具體實(shí)施方式】
[0017]下面結(jié)合具體附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0018]如圖1所示:為了提高物聯(lián)網(wǎng)中信息訪問(wèn)認(rèn)證的可靠性,本發(fā)明包括服務(wù)器100以及能與所述服務(wù)器100進(jìn)行通訊的移動(dòng)客戶(hù)端110與訪問(wèn)客戶(hù)端120 ;所述訪問(wèn)認(rèn)證方法包括如下步驟:
a、利用訪問(wèn)客戶(hù)端120打開(kāi)登錄服務(wù)器100的登錄界面,以對(duì)服務(wù)器100進(jìn)行連接,月艮務(wù)器100根據(jù)訪問(wèn)客戶(hù)端120的登錄連接信息生成登錄會(huì)話序列;
本發(fā)明實(shí)施例中,訪問(wèn)客戶(hù)端120 —般可以為能對(duì)服務(wù)器100進(jìn)行網(wǎng)絡(luò)連接的計(jì)算機(jī),移動(dòng)客戶(hù)端110可以包括智能手機(jī),也可以為其他的手持智能設(shè)備。服務(wù)器100生成的登錄會(huì)話序列為針對(duì)當(dāng)前的登錄連接信息生成的標(biāo)識(shí)序列。
[0019]b、服務(wù)器100根據(jù)生成會(huì)話序列向訪問(wèn)客戶(hù)端120返回登錄二維碼,所述登錄二維碼包含的信息包括登錄會(huì)話序列、服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符、登錄確認(rèn)信息將要提交的URL地址;訪問(wèn)客戶(hù)端120顯示輸出服務(wù)器100返回的登錄二維碼,并不斷輪訓(xùn)訪問(wèn)服務(wù)器100,以檢測(cè)是否完成登錄;
二維碼是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向)上分布的黑白相間的圖形記錄數(shù)據(jù)符號(hào)信息,它除了具有信息容量大、可靠性高特點(diǎn)以外,還有超高速識(shí)讀全方位識(shí)讀可表示漢字圖像聲音等一切可以數(shù)字化的信息,并且有很強(qiáng)的保密防偽等優(yōu)點(diǎn)。作為一種新的信息載體,二維碼現(xiàn)已廣泛地應(yīng)用于國(guó)防、公共安全、交通運(yùn)輸、醫(yī)療保健、工業(yè)、商業(yè)、金融、海關(guān)及政府等領(lǐng)域。本發(fā)明實(shí)施例中,登錄二維碼可以采用QR碼,所述QR碼是二維條碼的一種。與其他二維碼相比,QR碼具有識(shí)讀速度快、數(shù)據(jù)密度大、占用空間小的優(yōu)勢(shì)。服務(wù)器標(biāo)識(shí)符為標(biāo)識(shí)服務(wù)器的唯一標(biāo)識(shí)符,通過(guò)登錄確認(rèn)信息將要提交的URL(Uniform Resoure Locator)地址能方便移動(dòng)客戶(hù)端110將登錄確認(rèn)信息的提交。上述不斷輪訓(xùn)訪問(wèn)服務(wù)器100是指訪問(wèn)客戶(hù)端120不斷與服務(wù)器100進(jìn)行通訊,以確定是否完成登錄。
[0020]C、使用移動(dòng)客戶(hù)端110掃描訪問(wèn)客戶(hù)端120上的登錄二維碼,并對(duì)所述登錄二維碼進(jìn)行解析,以得到所在登錄會(huì)話序列對(duì)應(yīng)的服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符;對(duì)上述得到的服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符與移動(dòng)客戶(hù)端110內(nèi)的服務(wù)器信息進(jìn)行匹配,且當(dāng)利用服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符與移動(dòng)客戶(hù)端110內(nèi)的服務(wù)器信息匹配時(shí),移動(dòng)客戶(hù)端110選擇帳號(hào),以利用所述選擇帳號(hào)登錄到匹配的服務(wù)器;
在具體實(shí)施時(shí),通過(guò)移動(dòng)客戶(hù)端110提交登錄確認(rèn)信息,移動(dòng)客戶(hù)端110內(nèi)包含服務(wù)器100需要登錄的信息。在進(jìn)行登錄時(shí),移動(dòng)客戶(hù)端110內(nèi)存儲(chǔ)有服務(wù)器數(shù)據(jù)庫(kù),所述服務(wù)器數(shù)據(jù)庫(kù)內(nèi)包含大量需要登錄訪問(wèn)的服務(wù)器100信息,通過(guò)服務(wù)器100的服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符能在服務(wù)器數(shù)據(jù)庫(kù)內(nèi)進(jìn)行查找匹配所需的服務(wù)器信息。當(dāng)利用服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符與移動(dòng)客戶(hù)端110內(nèi)的服務(wù)器信息匹配時(shí),說(shuō)明需要登錄的服務(wù)器110與移動(dòng)客戶(hù)端110之間經(jīng)過(guò)了認(rèn)證,能夠?qū)崿F(xiàn)后續(xù)的登錄確認(rèn)操作。當(dāng)利用服務(wù)器名稱(chēng)、服務(wù)器標(biāo)識(shí)符不能與移動(dòng)客戶(hù)端110內(nèi)的服務(wù)器信息匹配時(shí),則移動(dòng)客戶(hù)端110會(huì)終止此次的登錄操作。
[0021]d、在選定帳號(hào)后,利用移動(dòng)客戶(hù)端110進(jìn)行登錄,移動(dòng)客戶(hù)端110將與選定帳號(hào)相關(guān)的登錄確認(rèn)信息傳輸至服務(wù)器100內(nèi);所述登錄確認(rèn)信息包括賬戶(hù)名以及使用用戶(hù)RSA私鑰加密的登錄會(huì)話序列;
非對(duì)稱(chēng)加密算法需要兩個(gè)密鑰:公開(kāi)密鑰(publickey)和私有密鑰(privatekey)。公開(kāi)密鑰與私有密鑰是一對(duì),如果用公開(kāi)密鑰對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的私有密鑰才能解密;如果用私有密鑰對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的公開(kāi)密鑰才能解密。
[0022]非對(duì)稱(chēng)密碼體制的特點(diǎn)是算法強(qiáng)度復(fù)雜、安全性依賴(lài)于算法與密鑰。所以保證其安全性就是保證密鑰的安全,而非對(duì)稱(chēng)密鑰體制有兩種密鑰,其中一個(gè)是公開(kāi)的,這樣就可以不需要像對(duì)稱(chēng)密碼那樣傳輸對(duì)方的密鑰,故安全性就大了很多。RSA算法是目前最有影響力的非對(duì)稱(chēng)加密算法之一。
[0023]RSA的算法涉及三個(gè)參數(shù):n、el、