專利名稱:一種對(duì)工業(yè)領(lǐng)域通訊過程加密的方法及數(shù)據(jù)采集設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,特別是涉及ー種對(duì)エ業(yè)領(lǐng)域通訊過程加密的方法及數(shù)據(jù)采集設(shè)備。
背景技術(shù):
隨著企業(yè)信息化的發(fā)展,エ業(yè)領(lǐng)域中底層控制系統(tǒng),如分布式控制系統(tǒng)(Distributed Control System, DCS)或者可編程邏輯控制器(Programmable LogicController,PLC)的數(shù)據(jù)越來越多地被集成到了上層應(yīng)用系統(tǒng)中。這雖然大大提高了企業(yè)的管理效率,但同時(shí)也帶來了嚴(yán)重的安全隱患。因?yàn)?,一旦有惡意的攻擊者通過網(wǎng)絡(luò)監(jiān)聽或者其他方式截獲了上層應(yīng)用系統(tǒng)和底層控制系統(tǒng)之間的通訊,井向控制系統(tǒng)發(fā)送偽造的控制信息,將會(huì)嚴(yán)重危及企業(yè)生產(chǎn)的安全性?,F(xiàn)有技術(shù)中,通過對(duì)エ業(yè)領(lǐng)域中的通訊過程加密的方法來確保通訊的安全性。一種常見的對(duì)エ業(yè)領(lǐng)域中的通訊過程加密的方法是使用通用的安全套接層(SecureSockets Layer, SSL)技術(shù),對(duì)通訊內(nèi)容進(jìn)行加密并且使用數(shù)字證書來驗(yàn)證服務(wù)器和客戶端的身份。SSL技術(shù)主要是在握手階段使用非対稱加密算法來交換ー個(gè)對(duì)稱密鑰,然后在后續(xù)通訊一直使用該對(duì)稱密鑰來加密通訊數(shù)據(jù)。但是,現(xiàn)有技術(shù)中對(duì)エ業(yè)領(lǐng)域中的通訊過程加密的方法存在如下缺點(diǎn)第一,非對(duì)稱加密算法中的私鑰和數(shù)字證書文件僅使用軟件保存在服務(wù)器或客戶端的磁盤上,攻擊者可以通過遠(yuǎn)程侵入服務(wù)器來獲取保存在磁盤上的私鑰和數(shù)字證書文件,一旦私鑰泄漏則整個(gè)安全體系都被破解。第二,由于SSL技術(shù)在握手階段使用非対稱加密算法來交換ー個(gè)對(duì)稱密鑰,然后在后續(xù)通訊一直使用該對(duì)稱密鑰來加密通訊數(shù)據(jù),所以攻擊者如果通過積累足夠多的通訊歷史數(shù)據(jù)是可能推斷出所用對(duì)稱加密密鑰的,一旦如此則攻擊者可能劫持本次通訊并發(fā)送偽造的命令。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種對(duì)エ業(yè)領(lǐng)域通訊過程加密的方法及數(shù)據(jù)采集設(shè)備,能夠保證在整個(gè)通訊過程中,非対稱加密算法中的密鑰不會(huì)對(duì)外泄露,并且使得攻擊者無法累計(jì)足夠的數(shù)據(jù)樣本分析出對(duì)稱密鑰,進(jìn)而保證通訊過程的絕對(duì)安全。為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案一種對(duì)エ業(yè)領(lǐng)域通訊過程加密的方法,應(yīng)用于客戶端與服務(wù)器之間的通訊過程,非対稱加密算法中的第一密鑰保存在第一密鑰盤中,第二密鑰保存在第二密鑰盤中,所述方法包括調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密;將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù);調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密;、
判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。可選的,所述客戶端加密數(shù)據(jù)的過程包括獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù);調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密;調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密;將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端??蛇x的,調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密之 前,還包括判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。可選的,所述方法還包括更新所述隨機(jī)數(shù)據(jù),所述更新所述隨機(jī)數(shù)據(jù)包括確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔;生成新的隨機(jī)數(shù)據(jù);調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密;將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)的解密成功確認(rèn)信息;在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。可選的,采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密,還包括在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接; 通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。ー種數(shù)據(jù)采集設(shè)備,用于客戶端與服務(wù)器之間的通訊,所述設(shè)備包括第一密鑰盤和第二密鑰盤,所述第一密鑰盤用于保存非対稱加密算法中的第一密鑰,所述第二密鑰盤用于保存非対稱加密算法中的第二密鑰,所述設(shè)備還包括第一加密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密;第一發(fā)送單元,用于將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;第一接收單元,用于接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù);第一解密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密;
第一判斷單元,用于判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果;對(duì)稱密鑰啟用單元,用于當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密??蛇x的,所述客戶端包括第二接收單元,用于獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù);第二解密單元,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密;第二加密單元,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密;第二發(fā)送單元,用于將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端??蛇x的,所述客戶端還包括第二判斷單元,用于判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果;通訊終止單元,用于當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。可選的,所述設(shè)備還包括隨機(jī)數(shù)據(jù)更新時(shí)刻確定單元,用于確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔;隨機(jī)數(shù)據(jù)生成單元,用于生成新的隨機(jī)數(shù)據(jù);
第三加密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密;第三發(fā)送單元,用于將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;第三接收單元,用于接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)的解密成功確認(rèn)信息;對(duì)稱密鑰更新單元,用于在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密??蛇x的,所述對(duì)稱密鑰啟用單元還包括數(shù)據(jù)連接建立單元,用于在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接;通訊數(shù)據(jù)傳輸單元,用于通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法及數(shù)據(jù)采集設(shè)備,通過將非對(duì)稱加密算法中的第一密鑰和第二密鑰分別保存到第一密鑰盤和第二密鑰盤中,可以使得攻擊者無法直接通過軟件入侵的方式獲取到非對(duì)稱加密算法中的密鑰。與此同時(shí),本方法及設(shè)備對(duì)隨機(jī)數(shù)據(jù),即對(duì)稱加密算法中的對(duì)稱密鑰進(jìn)行定期更新,可以使得攻擊者無法積累足夠數(shù)量的歷史通訊數(shù)據(jù)分析出對(duì)稱密鑰,因此進(jìn)一步提高了系統(tǒng)的安全性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法的流程圖;圖2為本發(fā)明中客戶端加密數(shù)據(jù)的流程圖; 圖3為本發(fā)明中更新所述隨機(jī)數(shù)據(jù)的流程圖;圖4為本發(fā)明的數(shù)據(jù)采集設(shè)備的結(jié)構(gòu)圖;圖5為本發(fā)明中所述客戶端的結(jié)構(gòu)圖;圖6為本發(fā)明中所述數(shù)據(jù)采集設(shè)備的隨機(jī)數(shù)據(jù)更新模塊的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法,應(yīng)用于客戶端與服務(wù)器之間的通訊過程。本發(fā)明的方法中,采用密鑰盤保存非對(duì)稱加密算法中的密鑰。非對(duì)稱加密算法通常需要兩個(gè)密鑰第一密鑰(不妨稱為密鑰S)和密鑰C (不妨稱為密鑰C)。密鑰S與密鑰C是一對(duì),如果用密鑰S對(duì)數(shù)據(jù)進(jìn)行加密,只有用對(duì)應(yīng)的密鑰C才能解密;如果用密鑰C對(duì)數(shù)據(jù)進(jìn)行加密,那么只有用對(duì)應(yīng)的密鑰S才能解密。因?yàn)榧用芎徒饷苁褂玫氖莾蓚€(gè)不同的密鑰,所以這種算法叫非對(duì)稱加密算法,常用的非對(duì)稱加密算法有RSA、ECC算法等。在傳統(tǒng)應(yīng)用中,一般將其中一個(gè)密鑰對(duì)外公開而另外一個(gè)密鑰不對(duì)外公開,對(duì)外公開的密鑰稱為公鑰,而不公開的密鑰稱為私鑰。而在本發(fā)明的方法中,將上述兩個(gè)密鑰分別保存在密鑰盤中。密鑰盤是一種小型便攜設(shè)備,其內(nèi)部包含CPU和存儲(chǔ)空間,使用USB接口和計(jì)算機(jī)進(jìn)行連接,外形類似U盤。密鑰盤中的內(nèi)容必須使用特殊設(shè)備并結(jié)合密碼才能讀寫,一般情況下是無法直接復(fù)制密鑰盤本身或者讀寫其中存儲(chǔ)的內(nèi)容,因此密鑰盤對(duì)外部而言是一個(gè)黑盒。本發(fā)明中所指的密鑰盤通過硬件驅(qū)動(dòng)形式提供API函數(shù),通過這些API函數(shù)可以進(jìn)行加密和解密處理。因此,將利用密鑰盤來保存密鑰,可以提高本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法的保密性。圖I為本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法的流程圖。本方法的執(zhí)行主體可以是服務(wù)器。如圖I所示,所述方法包括步驟101 :調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密;本步驟中的隨機(jī)數(shù)據(jù)是定期生成的。本方法中的隨機(jī)數(shù)據(jù),在后續(xù)的通訊過程中,可以作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。本步驟中的隨機(jī)數(shù)據(jù)可以在一定時(shí)間間隔之后進(jìn)行更新。具體的,可以周期性地更新所述隨機(jī)數(shù)據(jù),也可以根據(jù)所述隨機(jī)數(shù)據(jù)的使用次數(shù)是否達(dá)到預(yù)設(shè)次數(shù)來更新所述隨機(jī)數(shù)據(jù)。步驟102 :將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;所述客戶端接收到服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)后,會(huì)采用第二密鑰盤中的第二密鑰對(duì)服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密。如果解密失敗,則終止當(dāng)前通訊過程。如果解密成功,則再采用第二密鑰加密所述隨機(jī)數(shù)據(jù),并發(fā)送給服務(wù)器。步驟103 :接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù);步驟104 :調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密;
步驟105 :判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果;步驟106 :當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。如果解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)不同,則可以終止當(dāng)前的通訊過程。綜上所述,采用本發(fā)明的對(duì)工業(yè)領(lǐng)域通訊過程加密的方法,通過將非對(duì)稱加密算法中的第一密鑰和第二密鑰分別保存到第一密鑰盤和第二密鑰盤中,可以使得攻擊者無法直接通過軟件入侵的方式獲取到非對(duì)稱加密算法中的密鑰。與此同時(shí),本方法對(duì)隨機(jī)數(shù)據(jù),即對(duì)稱加密算法中的對(duì)稱密鑰進(jìn)行定期更新,可以使得攻擊者無法積累足夠數(shù)量的歷史通訊數(shù)據(jù)分析出對(duì)稱密鑰,因此進(jìn)一步提高了系統(tǒng)的安全性。圖2為本發(fā)明中客戶端加密數(shù)據(jù)的流程圖。如圖2所示,所述客戶端加密數(shù)據(jù)的過程可以包括步驟201 :獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù);步驟202 :調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密;實(shí)際應(yīng)用中,調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密之前,還可以包括以下步驟判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。步驟203 :調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密;步驟204 :將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端。圖3為本發(fā)明中更新所述隨機(jī)數(shù)據(jù)的流程圖。如圖3所示,所述更新所述隨機(jī)數(shù)據(jù)可以包括步驟301 :確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔;具體的,服務(wù)器可以定期生成新的隨機(jī)數(shù)據(jù)作為下一輪通訊的對(duì)稱密鑰。服務(wù)器可以再選取一個(gè)隨機(jī)的更新時(shí)刻,所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔(例如5分鐘),可以保證客戶端有充分的時(shí)間進(jìn)行非對(duì)稱解密以及相應(yīng)的準(zhǔn)備工作。
步驟302 :生成新的隨機(jī)數(shù)據(jù);步驟303 :調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密;步驟304 :將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;服務(wù)器可以同步保存所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù),并且在更新時(shí)刻到來后啟用新的隨機(jī)數(shù)據(jù)替換原有的隨機(jī)數(shù)據(jù),即實(shí)現(xiàn)對(duì)稱算法中對(duì)稱密鑰的替換。客戶端在接收到了服務(wù)器發(fā)送過來的加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)以后,調(diào)用第二密鑰盤的解密函數(shù),使用該密鑰盤中的第二密鑰對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行解密,得到解密后的新的隨機(jī)數(shù)據(jù)和更新時(shí)刻。客戶端解密成功以后發(fā)送確認(rèn)信息給服務(wù)器。步驟305 :接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù) 的解密成功確認(rèn)信息;步驟306 :在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。為了進(jìn)一步提高本方法的安全性,采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密,還可以包括下述步驟在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接;通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。具體的,本方法中對(duì)于隨機(jī)數(shù)據(jù)在客戶端與服務(wù)器之間的交互過程可以采用一個(gè)單獨(dú)的連接。當(dāng)客戶端與服務(wù)器確定了所述隨機(jī)數(shù)據(jù)(即對(duì)稱加密算法中的對(duì)稱密鑰)后,可以在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接,通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。這樣可以實(shí)現(xiàn)采用不同的連接去傳輸對(duì)稱密鑰和實(shí)際的通訊數(shù)據(jù),因此可以進(jìn)一步提高本方法的安全性。本發(fā)明還公開了一種數(shù)據(jù)采集設(shè)備。所述數(shù)據(jù)采集設(shè)備,用于客戶端與服務(wù)器之間的通訊,所述設(shè)備包括第一密鑰盤和第二密鑰盤,所述第一密鑰盤用于保存非對(duì)稱加密算法中的第一密鑰,所述第二密鑰盤用于保存非對(duì)稱加密算法中的第二密鑰。圖4為本發(fā)明的數(shù)據(jù)采集設(shè)備的結(jié)構(gòu)圖。如圖4所示,所述設(shè)備可以包括第一加密單元401,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密;第一發(fā)送單元402,用于將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;第一接收單元403,用于接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù);第一解密單元404,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密;第一判斷單元405,用于判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果;對(duì)稱密鑰啟用單元406,用于當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。圖5為本發(fā)明中所述客戶端的結(jié)構(gòu)圖。如圖5所示,所述客戶端可以包括
第二接收單元501,用于獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù);第二解密單元502,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密;第二加密單元503,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密;
第二發(fā)送單元504,用于將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端。所述客戶端還可以包括第二判斷單元,用于判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果;通訊終止單元,用于當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。圖6為本發(fā)明中所述數(shù)據(jù)采集設(shè)備的隨機(jī)數(shù)據(jù)更新模塊的結(jié)構(gòu)圖。如圖6所示,所述隨機(jī)數(shù)據(jù)更新模塊可以包括隨機(jī)數(shù)據(jù)更新時(shí)刻確定單元601,用于確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔;隨機(jī)數(shù)據(jù)生成單元602,用于生成新的隨機(jī)數(shù)據(jù);第三加密單元603,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密;第三發(fā)送單元604,用于將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;第三接收單元605,用于接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)的解密成功確認(rèn)信息;對(duì)稱密鑰更新單元606,用于在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。此外,實(shí)際應(yīng)用中,所述對(duì)稱密鑰啟用單元406還可以包括數(shù)據(jù)連接建立單元,用于在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接;通訊數(shù)據(jù)傳輸單元,用于通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以全部通過硬件來實(shí)施,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。 本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的設(shè)備而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種對(duì)エ業(yè)領(lǐng)域通訊過程加密的方法,應(yīng)用于客戶端與服務(wù)器之間的通訊過程,其特征在于,非対稱加密算法中的第一密鑰保存在第一密鑰盤中,第二密鑰保存在第二密鑰盤中,所述方法包括 調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密; 將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端; 接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù); 調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密; 判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果; 當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述客戶端加密數(shù)據(jù)的過程包括 獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù); 調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密; 調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密; 將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端。
3.根據(jù)權(quán)利要求2所述的方法,其特征在干,調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密之前,還包括 判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括更新所述隨機(jī)數(shù)據(jù),所述更新所述隨機(jī)數(shù)據(jù)包括 確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔; 生成新的隨機(jī)數(shù)據(jù); 調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密; 將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端; 接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)的解密成功確認(rèn)信息; 在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密,還包括 在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接; 通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。
6.ー種數(shù)據(jù)采集設(shè)備,用于客戶端與服務(wù)器之間的通訊,其特征在于,所述設(shè)備包括第一密鑰盤和第二密鑰盤,所述第一密鑰盤用于保存非対稱加密算法中的第一密鑰,所述第ニ密鑰盤用于保存非対稱加密算法中的第二密鑰,所述設(shè)備還包括第一加密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密; 第一發(fā)送單元,用于將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端; 第一接收單元,用于接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù); 第一解密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密; 第一判斷単元,用于判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果; 對(duì)稱密鑰啟用単元,用于當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述客戶端包括 第二接收單元,用于獲取所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù); 第二解密單元,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)進(jìn)行解密; 第二加密單元,用于調(diào)用所述第二密鑰盤中的第二密鑰對(duì)客戶端解密后的數(shù)據(jù)進(jìn)行加密; 第二發(fā)送單元,用于將客戶端加密后的數(shù)據(jù)發(fā)送至所述服務(wù)器端。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述客戶端還包括 第二判斷単元,用于判斷對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)是否解密成功,得到第二判斷結(jié)果; 通訊終止単元,用于當(dāng)所述第二判斷結(jié)果表示對(duì)于所述服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)解密失敗時(shí),終止所述客戶端與所述服務(wù)器之間的通訊。
9.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述設(shè)備還包括 隨機(jī)數(shù)據(jù)更新時(shí)刻確定單元,用于確定隨機(jī)數(shù)據(jù)的更新時(shí)刻;所述更新時(shí)刻與當(dāng)前時(shí)刻之間的時(shí)間間隔大于預(yù)設(shè)時(shí)間間隔; 隨機(jī)數(shù)據(jù)生成単元,用于生成新的隨機(jī)數(shù)據(jù); 第三加密單元,用于調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)進(jìn)行加密; 第三發(fā)送單元,用于將加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端; 第三接收單元,用于接收所述客戶端發(fā)送的對(duì)加密后的所述更新時(shí)刻和所述新的隨機(jī)數(shù)據(jù)的解密成功確認(rèn)信息; 對(duì)稱密鑰更新単元,用于在所述更新時(shí)刻,采用所述新的隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。
10.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述對(duì)稱密鑰啟用單元還包括 數(shù)據(jù)連接建立単元,用于在所述客戶端與所述服務(wù)器之間建立新的數(shù)據(jù)連接; 通訊數(shù)據(jù)傳輸單元,用于通過所述數(shù)據(jù)連接傳輸所述客戶端與所述服務(wù)器之間的通訊數(shù)據(jù)。
全文摘要
本發(fā)明公開一種對(duì)工業(yè)領(lǐng)域通訊過程加密的方法及數(shù)據(jù)采集設(shè)備。所述方法包括調(diào)用所述第一密鑰盤中的第一密鑰對(duì)定期生成的隨機(jī)數(shù)據(jù)進(jìn)行服務(wù)器端加密;將服務(wù)器端加密后的所述隨機(jī)數(shù)據(jù)發(fā)送至所述客戶端;接收所述客戶端發(fā)送的客戶端加密后的數(shù)據(jù);調(diào)用所述第一密鑰盤中的第一密鑰對(duì)所述客戶端加密后的數(shù)據(jù)進(jìn)行解密;判斷解密后的數(shù)據(jù)是否與所述隨機(jī)數(shù)據(jù)相同,得到第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果表示解密后的數(shù)據(jù)與所述隨機(jī)數(shù)據(jù)相同時(shí),采用所述隨機(jī)數(shù)據(jù)作為對(duì)稱密鑰對(duì)所述客戶端與所述服務(wù)器之間的通訊過程進(jìn)行加密。采用本發(fā)明的方法或設(shè)備,能夠提高整個(gè)通訊過程的安全性。
文檔編號(hào)H04L9/14GK102724205SQ20121021872
公開日2012年10月10日 申請(qǐng)日期2012年6月27日 優(yōu)先權(quán)日2012年6月27日
發(fā)明者葉建位, 蘇宏業(yè), 榮岡, 褚健 申請(qǐng)人:浙江中控軟件技術(shù)有限公司, 浙江大學(xué)