本發(fā)明涉及一種,具體為一種PLC認(rèn)證和安全通信的方法,屬于通信安全應(yīng)用技術(shù)領(lǐng)域。
背景技術(shù):
PLC(可編程邏輯控制器),是一種采用一類(lèi)可編程的存儲(chǔ)器,用于其內(nèi)部存儲(chǔ)程序,執(zhí)行邏輯運(yùn)算、順序控制、定時(shí)、計(jì)數(shù)與算術(shù)操作等面向用戶(hù)的指令,并通過(guò)數(shù)字或模擬式輸入/輸出控制各種類(lèi)型的機(jī)械或生產(chǎn)過(guò)程,目前在工業(yè)控制安全領(lǐng)域,針對(duì)PLC主從機(jī)之間通信安全認(rèn)證的研究較少,但是在物聯(lián)網(wǎng)領(lǐng)域,具有很多服務(wù)器與傳感設(shè)備之間進(jìn)行實(shí)時(shí)通信的認(rèn)證方法。
目前存在的實(shí)時(shí)通信的認(rèn)證方法有:1)、物聯(lián)網(wǎng)認(rèn)證方法與系統(tǒng)中提供的物聯(lián)網(wǎng)認(rèn)證方法是:a.物聯(lián)網(wǎng)設(shè)備通過(guò)所屬設(shè)備中的至少一個(gè)配件的編號(hào)生成第一認(rèn)證信息;b.物聯(lián)網(wǎng)設(shè)備箱管理平臺(tái)注冊(cè)第一認(rèn)證信息;c.物聯(lián)網(wǎng)設(shè)備生成第二認(rèn)證信息發(fā)送給管理平臺(tái);d.所述管理平臺(tái)通過(guò)比較所述第一認(rèn)證信息和第二認(rèn)證信息是否一致,判斷第二認(rèn)證信息是否通過(guò)認(rèn)證;2)、一種物聯(lián)網(wǎng)的設(shè)備認(rèn)證、數(shù)據(jù)完整和保密傳輸實(shí)現(xiàn)方法中所提供的實(shí)現(xiàn)方法是:一種物聯(lián)網(wǎng)的設(shè)備認(rèn)證、數(shù)據(jù)完整和保密傳輸實(shí)現(xiàn)方法,是傳感器將采集到的信息通過(guò)智能芯片,進(jìn)行數(shù)字簽名和加密后發(fā)送給網(wǎng)絡(luò)數(shù)據(jù)中心,網(wǎng)絡(luò)數(shù)據(jù)中心再通過(guò)認(rèn)證中心進(jìn)行數(shù)據(jù)解密和簽名驗(yàn)證,獲得完整、可信的傳感器采集的信息,網(wǎng)絡(luò)數(shù)據(jù)中心將發(fā)送給傳感器端的操作指令,通過(guò)認(rèn)證中心進(jìn)行數(shù)字簽名和加密后發(fā)送給傳感器,傳感器將收到的操作指令數(shù)據(jù),通過(guò)智能芯片進(jìn)行數(shù)據(jù)解密和簽名驗(yàn)證,獲得正確、完整的操作指令,另外,通過(guò)建立認(rèn)證中心對(duì)傳感器的設(shè)備認(rèn)證協(xié)議,從而建立物聯(lián)網(wǎng)基礎(chǔ)設(shè)施的認(rèn)證、數(shù)據(jù)完整和保密傳輸?shù)男畔踩到y(tǒng)。
目前工業(yè)控制領(lǐng)域,PLC系統(tǒng)主從機(jī)之間進(jìn)行通信的過(guò)程,主站向從站發(fā)送命令幀是明文傳輸?shù)?,傳輸方式為廣播方式,這種情況下,導(dǎo)致主站發(fā)送的命令幀容易被截獲、分析,這就很容易導(dǎo)致惡意站對(duì)命令幀進(jìn)行了截獲和解析,同時(shí)偽裝成主站對(duì)從站進(jìn)行操控,存在很大的安全隱患,因此,針對(duì)上述問(wèn)題提出一種PLC認(rèn)證和安全通信的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就在于為了解決上述問(wèn)題而提供一種PLC認(rèn)證和安全通信的方法,保證PLC主站和從站通信的安全性。
本發(fā)明通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)上述目的,一種PLC認(rèn)證和安全通信的方法,其方法包括如下步驟:
步驟一、注冊(cè):
a.PLC從站將一個(gè)隨機(jī)數(shù)R、從站PLC特征信息M和公鑰P發(fā)送給主站;
b.判斷a中從站PLC特征信息M和主站PLC特征信息M’是否相同,如果相同則注冊(cè)成功;如果不相同則注冊(cè)失?。?/p>
步驟二、傳輸:
a.當(dāng)步驟一中注冊(cè)成功后,主站根據(jù)自身設(shè)備的特征Q以及從a中PLC從站獲得的隨機(jī)數(shù)R生成第一認(rèn)證信息,并將第一認(rèn)證信息進(jìn)行AES加密,發(fā)送給從站;
b.主站根據(jù)自身設(shè)備的特征Q’以及從從站獲得的隨機(jī)數(shù)R1’生成第二認(rèn)證信息;
c.主站向從站發(fā)送命令幀;
d.所述從站對(duì)c中主站發(fā)送的命令幀進(jìn)行解密,通過(guò)比較a中的第一認(rèn)證信息與b中的第二認(rèn)證信息是否一致,判斷所述命令幀是否有效,當(dāng)?shù)谝徽J(rèn)證信息與第而認(rèn)證信息相同時(shí),校驗(yàn)成功,輸出所述命令幀有效;當(dāng)?shù)谝徽J(rèn)證信息與第二認(rèn)證信息不相同時(shí),則輸出所述命令幀無(wú)效。
優(yōu)選的,所述步驟二中c發(fā)送的命令幀包含命令字段、第二認(rèn)證信息和下一次的隨機(jī)數(shù)R2,與此同時(shí),對(duì)命令幀進(jìn)行AES加密,將命令幀發(fā)送給從站。
優(yōu)選的,PLC主站與從站通信方式具體為:主站內(nèi)部的PLC將命令信息通過(guò)主站內(nèi)部的AES加密認(rèn)證模塊進(jìn)行加密形成命令幀,主站與從站內(nèi)部的檢驗(yàn)?zāi)K通過(guò)廣播連接,從站內(nèi)部的檢驗(yàn)?zāi)K對(duì)命令幀進(jìn)行檢驗(yàn),當(dāng)檢驗(yàn)通過(guò)后,將命令幀輸送給從站內(nèi)部的PLC,從站內(nèi)部的PLC主站內(nèi)部的PLC進(jìn)行應(yīng)答。
優(yōu)選的,主站通過(guò)廣播連接若干個(gè)從站。
優(yōu)選的,從站內(nèi)部的PLC通過(guò)外接方式接入主站。
本發(fā)明的有益效果是:本發(fā)明在注冊(cè)成功的情況下,主站根據(jù)自身設(shè)備的特征Q以及從從站獲得的隨機(jī)數(shù)R生成第一認(rèn)證信息,并將第一認(rèn)證信息進(jìn)行AES加密,發(fā)送給從站;然后主站根據(jù)自身設(shè)備的特征Q’以及從從站獲得的隨機(jī)數(shù)R1’生成第二認(rèn)證信息;主站向從站發(fā)送命令幀,再對(duì)命令幀進(jìn)行AES加密,發(fā)送給從站,判斷所述命令幀是否有效,從而實(shí)現(xiàn)主站發(fā)送的命令幀采用兩次加密的方式,使其命令幀不會(huì)被截獲,主站通過(guò)廣播連接若干個(gè)從站,通過(guò)一個(gè)主站實(shí)現(xiàn)對(duì)多個(gè)從站的控制,本發(fā)明通過(guò)對(duì)主站發(fā)送的命令幀進(jìn)行輕量級(jí)加密和認(rèn)證,保證了信息傳輸?shù)陌踩浴?/p>
附圖說(shuō)明
圖1為本發(fā)明的流程圖;
圖2為具有檢驗(yàn)?zāi)K的主站和從站通信方式。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例:
一種PLC認(rèn)證和安全通信的方法,其方法包括如下步驟:
步驟一、注冊(cè):
a.PLC從站將一個(gè)隨機(jī)數(shù)R、從站PLC特征信息M和公鑰P發(fā)送給主站;
b.判斷a中從站PLC特征信息M和主站PLC特征信息M’是否相同,如果相同則注冊(cè)成功;如果不相同則注冊(cè)失??;
步驟二、傳輸:
a.當(dāng)步驟一中注冊(cè)成功后,主站根據(jù)自身設(shè)備的特征Q以及從a中PLC從站獲得的隨機(jī)數(shù)R生成第一認(rèn)證信息,并將第一認(rèn)證信息進(jìn)行AES加密,發(fā)送給從站;
b.主站根據(jù)自身設(shè)備的特征Q’以及從從站獲得的隨機(jī)數(shù)R1’生成第二認(rèn)證信息;
c.主站向從站發(fā)送命令幀;
其中,命令幀包含命令字段、第二認(rèn)證信息和下一次的隨機(jī)數(shù)R2,與此同時(shí),對(duì)命令幀進(jìn)行AES加密,將命令幀發(fā)送給從站;
d.所述從站對(duì)c中主站發(fā)送的命令幀進(jìn)行解密,通過(guò)比較a中的第一認(rèn)證信息與b中的第二認(rèn)證信息是否一致,判斷所述命令幀是否有效,當(dāng)?shù)谝徽J(rèn)證信息與第而認(rèn)證信息相同時(shí),校驗(yàn)成功,輸出所述命令幀有效;當(dāng)?shù)谝徽J(rèn)證信息與第二認(rèn)證信息不相同時(shí),則輸出所述命令幀無(wú)效。
PLC主站與從站通信方式具體為:主站內(nèi)部的PLC將命令信息通過(guò)主站內(nèi)部的AES加密認(rèn)證模塊進(jìn)行加密形成命令幀,主站與從站內(nèi)部的檢驗(yàn)?zāi)K通過(guò)廣播連接,從站內(nèi)部的檢驗(yàn)?zāi)K對(duì)命令幀進(jìn)行檢驗(yàn),當(dāng)檢驗(yàn)通過(guò)后,將命令幀輸送給從站內(nèi)部的PLC,從站內(nèi)部的PLC主站內(nèi)部的PLC進(jìn)行應(yīng)答。
其中,主站通過(guò)廣播連接若干個(gè)從站;從站內(nèi)部的PLC通過(guò)外接方式接入主站。
本發(fā)明在注冊(cè)成功的情況下,主站根據(jù)自身設(shè)備的特征Q以及從從站獲得的隨機(jī)數(shù)R生成第一認(rèn)證信息,并將第一認(rèn)證信息進(jìn)行AES加密,發(fā)送給從站;然后主站根據(jù)自身設(shè)備的特征Q’以及從從站獲得的隨機(jī)數(shù)R1’生成第二認(rèn)證信息;主站向從站發(fā)送命令幀,再對(duì)命令幀進(jìn)行AES加密,發(fā)送給從站,判斷所述命令幀是否有效,從而實(shí)現(xiàn)主站發(fā)送的命令幀采用兩次加密的方式,使其命令幀不會(huì)被截獲,主站通過(guò)廣播連接若干個(gè)從站,通過(guò)一個(gè)主站實(shí)現(xiàn)對(duì)多個(gè)從站的控制,本發(fā)明通過(guò)對(duì)主站發(fā)送的命令幀進(jìn)行輕量級(jí)加密和認(rèn)證,保證了信息傳輸?shù)陌踩浴?/p>
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。
此外,應(yīng)當(dāng)理解,雖然本說(shuō)明書(shū)按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書(shū)的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書(shū)作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。