国产成人精品a视频一区www_国产区视频在线观看_99色视频_欲色av_亚洲一区电影_亚洲综合视频一区

數控總線的消息安全通信方法

來源:互聯網

點擊:1122

A+ A-

所屬頻道:新聞中心

關鍵詞:數控總線 消息安全

    前言

      工業通信網絡在提高生產速度、管理生產過程、合理高效加工以及保證安全生產等方面起到關鍵性作用。然而,由于通信過程中一些難以避免的系統故障、電磁干擾等問題,導致消息在傳輸過程中可能出現重復、插入、延時及偽裝等,消息破壞及丟包現象也時有發生,進一步導致通信系統錯誤,這給工業控制帶來了巨大危險。因此,消息安全通信已成為工業通信安全研究的關鍵問題之一。如何保證消息安全通信,傳統方法一般在通信協議的數據鏈路層進行循環冗余校驗(Cyclical redundancy check,CRC),同時為提高校驗能力,對CRC生成的多項式進行改進研究,但這些方法難以降低通信過程中所產生的剩余錯誤率。剩余錯誤率是指接收端在對所收到消息進行校驗之后,沒有被檢測到的錯誤位的數量與所有傳輸位總數的比值。目前數控系統正朝著開放式、網絡化及智能化等方向發展,數控總線作為工業通信網絡的一種,用于連接數控系統裝置間數字式、雙向、多點的通信,其采用了同步和異步兩種通信機制,在這兩種機制下如何保證消息的安全通信是本文研究重點。

      基于此,本文提出一種用于數控總線的消息安全通信方法,消息發送前在應用層之上利用動態CRC進行校驗,同時采用對消息進行連續編號等機制封裝安全報文。通過該方法有效降低了剩余錯誤率,保障了消息的安全性。

    1 研究背景

      如何采取有效措施以保障消息安全是總線通信安全研究的關鍵。DZUNG針對消息傳輸、訪問控制等問題,提出了一種基于網絡分層的安全保護機制。RANMANI針對剩余錯誤率問題,提出了一種對數據包的包頭編號和包尾CRC校驗的機制進行消息保護。與總線通信安全研究相關的標準主要有歐洲EN 50159-2標準、IEC 61508.2標準以及最近的IEC 61784.3標準。在安全性設計上,用戶希望新設計的安全總線具有現存總線向上兼容的能力,目的是方便使用現有總線的設備和相關知識。從這些需求出發,IEC 61784-3標準在現有總線協議上提出了安全通信層,用以處理通信過程中的消息錯誤。

      1.1現有安全總線

      基于上述標準,目前安全總線主流研究方向是將安全保護措施封裝在安全通信層,現有安全總線協議主要有Profisafe、Interbus Safety、CANopenSafety、EtherCat Safety等。

      Profisafe安全協議是在Profibus總線協議基礎上增加了安全通信層。安全通信層封裝的安全報文由安全數據、狀態/控制位、報文編號以及傳統CRC.16/32校驗方式等構成。

      但Profisafe安全機制存在以下問題。

      (1)Profisafe安全報文采用了傳統CRC校驗方式對安全數據進行校驗,所以通信過程中如果存在連續多個相同的安全數據,則會產生連續多個相同的CRC校驗值,這可能使接收端無法判斷新接收到的數據包是有效數據包還是錯誤數據包。

      (2)Profisafe采用了報文編號在一定程度上可避免問題1的產生,但由于其為保證短幀傳輸,只使用了8位報文編號,所以如果通信過程中存在連續多個相同的安全數據,每255個循環重復一次,則也會產生連續多個完全相同的數據包。如果存在緩沖延遲,則也會導致接收端可能無法正確判斷。

      Interbus Safety安全協議是在Interbus總線協議基礎上增加一個SafeControl控制模塊,該模塊專門用于檢測安全報文,安全報文的傳輸正確與否通過傳輸檢測位CRC-LoopbackWord的測試來確定,其CRC校驗采用傳統的CRC-16檢測機制。CANop%Safety安全協議是在CANopen總線協議CANopen Safety安全協議是在CANopen總線協議基礎上定義了安全相關數據對象(Safety-relateddata object, SRDO)用于安全報文傳輸,但SRDO的CRC校驗仍然采用了傳統CRC檢測機制。CC-Link Safety安全協議是在CC-Link總線協議基礎上增加了安全功能層,用于安全報文的傳輸和傳輸錯誤的檢測。在CC-Link Safety安全協議中,主站與一般從站傳輸的報文與CC-Link總線協議相同,而與安全從站傳輸的安全報文是在原有的數據域中儲存安全功能層使用的信息,該信息包括確定信息順序的序列號和檢測信息位錯亂的CRC-32校驗碼,采用雙重CRC校驗方。分析可知,以上三種總線安全機制生成的CRC校驗碼只同安全報文內容和生成多項式有關,因此仍然存在接收端可能無法正確判斷連續多個相同數據包的問題。

      為此,EtherCat Safety安全協議提出了一種解決方法,也在安全通信層中為待發送的數據包提供CRC校驗,不同之處在于:CRC校驗值根據安全數據本身和一新加起始值一起計算產生,該起始值是接收到的上一個數據包的CRC校驗值。這種機制能保證持續動態的生成CRC校驗值,可解決傳統CRC校驗中由于連續多個相同數據包產生相同CRC校驗值的問題。但是EtherCat Safety這種消息安全通信機制也存在一個問題,即發送端和接收端的CRC起始值存在依賴關系。每次發送端要發送新數據包時,必須等待上一個接收到的數據包的CRC值,經計算產生新的CRC值后方能發送該新數據包。這意味著需要等待接收到上一個數據包后方可發送下一個數據包,這會降低通信的實時性,特別是像基于總線的數控系統這種強實時通信的系統。

      1.2數控總線安全需求

      數控總線作為一種面向特殊領域應用的工業通信網絡,要求總線滿足周期性、實時性、同步性、可靠性及安全性等要求。總線通信協議由物理層、數據鏈路層、應用層與用戶層行規組成。用戶層行規里定義了兩種命令,異步命令和同步命令。異步命令用于數控系統的定位及快移等操作,同步命令則用于數控系統的多軸聯動插補操作。因此,兩種不同的需求要求數控總線要同時支持異步及同步消息通信。異步通信是當發送端有控制需求時向接收端發送新消息,在發送新消息時發送端需確認所發送的上一條消息的反饋己經回來。同步通信則要求發送端在每個通信周期到來時,都要向接收端發送下一條新消息,不用考慮發送端所發送的上一條消息的反饋是否己經回來,不能等待,每個周期到來時都須發送新消息。

    2 數控總線消息安全方法

      針對數控總線通信的特殊需求,安全性需考慮如何保證數控總線在進行異步及同步通信時消息安全問題,主要是同步通信機制下消息的安全性。本文解決的思路主要基于兩點:一是要求能夠持續動態的生成CRC校驗值以保證每條消息能使用新的CRC校驗值:二是要求能使發送端和接收端校驗方式互不相關以保證同步通信。

      基于上述考慮,針對消息通信過程中可能出現的重復、刪除、插入、破壞及偽裝等錯誤,在盡量降低算法復雜度的前提下,本文提出在應用層之上采取狀態位控制、會話號、序列編號以及新的動態CRC安全校驗等措施構建安全通信層,以保證消息的安全通信。

      (1)安全數據。來自用戶行規的異步及同步命令,是接收端所需要的有用數據,發送端用其與CRC起始值一起動態計算產生新的CRC校驗值用于安全校驗。

      (2)狀態位。用于標識數據包狀態。

      (3)會話號。在每次建立連接進行數據發送期間保持使用同一個會話號,以保證即使在通信鏈路中斷和重啟后也不會出現重復的數據包。

      (4)序列號。用于發送端和接收端在產生新消息的同時產生序列順序號。

      (5)動態CRC。由安全數據和CRC起始值共同計算動態產生,發送端和接收端所需要的動態CRC校驗不相依賴。

      2.1消息安全通信機制

      圖4所示為本文所設計的消息安全通信機制,其中:①CRC_ST_ADDR:每個站點地址編號:②安全數據Mi:發送端發送的第i條有用數據:③安全數據Si:接收端發送的第i條有用數據;④CRC M,:發送端發送第i條有用數據時所動態生成的CRC校驗值,也是產生CRC_Mi+1所需要的起始值,同時也是接收端用于校驗第i條數據所需要的起始值;⑤CRC_Si:接收端所產生的第i條消息的校驗值,發送端通過計算S;與CRC_Mi一起產生的校驗值與CRC_Si進行比較,判斷是否有錯。

      通信開始時,發送端采用與其通信的接收端站點的地址編號CRC_ST_ADDR值作為發送端和接收端進行動態CRC計算的起始值,因為每個站點的CRC_ST_ADDR值在整個通信系統中都是唯一的。通信過程中,發送端負責動態生成CRC_Mi校驗值,接收端只需利用發送端所產生的CRC從值即可進行校驗,同時發送端也只利用CRC_Mi值進行校驗。 

      2.2算法描述

      消息安全通信算法分發送端算法與接收端算法兩部分,發送端算法描述如下。

      (1)設置本次建立連接后通信的會話號,轉步驟(2)。

      (2)如果在一段時間內未收到消息,則進行新消息的發送,轉步驟(3)。否則,對接收到的消息進行處理,轉步驟(7)。

      (3)判斷發送端所要發送的安全數據Mi的類型,如果無法識別則報錯,轉步驟(2)。否則為可識別的類型,轉步驟(4)。

      (4)對發送端所要發送的安全數據Mi進行封裝操作。封裝過程分為以下幾步:①加載本次即將發送的安全數據Mi;②加載1字節的狀態位,該狀態位初始值為1,表示正常通信:③加載1字節的會話號;④加載1字節的序列號;⑤根據發送端上一個CRC校驗值與當前安全數據城一起計算出新的CRC校驗值,加載該新的CRC校驗值,大小為2字節。封裝完畢,發送封裝后的消息給接收端,轉步驟(5)。同時記錄新的CRC校驗值用于下一次發送校驗。

      (5)如果發送端所發送的安全數據從的類型是同步消息,轉步驟(2)。否則為異步消息,轉步驟(6)。

      (6)中斷發送端消息的發送,等待接收到安全數據Si后,轉步驟(2)。

      (7)讀取所接收消息的序列號,根據序列號提取相關CRC:校驗值,進行校驗,如果校驗成功,轉步驟(8)。否則校驗不成功,轉步驟(9)。

      (8)提取所接收消息中的狀態位,如果是0,即為重發請求,則重發消息,然后轉步驟(2).否則,不是重發請求,直接轉步驟(2)。

      (9)要求從站重發,將狀態位置為0,將重發消息發送給接收端,然后轉步驟(2)。

      接收端算法描述如下。

      (1)等待發送端所發送的消息,根據其會話號和序列號提取相關CRC校驗值,轉步驟(2)。

      (2)使用提取的CRC校驗值對所接收的消息進行校驗,如果校驗通過,則轉步驟((3)。否則校驗未通過,轉步驟(5)。

      (3)提取所接收消息中的狀態位,對其值進行判斷,如果為1,是正常消息,轉步驟(4)。否則為0,是重發消息,則進行重發,轉步驟(1)。

      (4)提取所接收消息中的CRC校驗值并儲存,然后用儲存的CRC校驗值對欲發送給發送端的安全數據S;進行處理,得到的新的CRC校驗值并不存儲,但卻跟安全數據Si、狀態位、會話號以及序列號封裝到一起,共同發送給發送端,然后轉步驟(1)。

      (5)判斷該消息發生錯誤的次數,如果大于某個設定界限,則向發送端發送上一消息的重發請求消息,然后轉步驟(1)。否則,向發送端發送該消息的重發請求消息,然后轉步驟(1)。

    3 性能分析

      剩余錯誤率為檢驗消息安全傳輸方法性能好壞的主要標準之一。首先定義性能分析中需要用到的各種函數及變量。

      (1)Sd:安全數據,即需要安全傳輸的原始數據,用Sa (x)表示其多項式。

      (2) Sc:校驗值,由上一個CRC校驗值與安全數據Sa共同求得,用Sc(x)表示其多項式。

      (3) G:生成多項式,用g(x)表示其多項式。

      (4) m:安全數據Sd所包含的位數。

      (5) r:生成多項式g(x)的度數,亦即Sc中所包含的位數。

      (6) n:在通信中傳輸的幀的位數。

      (7) Be:在通信中發生錯誤的位的總數。

      (8) Bude:在通信中沒有被檢測到的錯誤位的總數。

      (9) Ball:在通信中所有傳輸位的總數。

      3.1 CRC方法 

      3.3剩余錯誤率

      剩余錯誤率P1是指在解碼校驗之后仍然沒有被檢測到的已經被破壞的傳輸數據所占的比例,即沒有被檢測出的錯誤位的數量與所有傳輸位的總數的比值。

      通常來講,剩余錯誤率尸1與消息長度n、生成多項式加)以及位錯誤率P有關。位錯誤率P表示通信過程中發生錯誤的位的數量與所有傳輸的位的數量比值。

      最壞情況下p=0.5,意味著每兩位中有一位出現錯誤,實際應用中P的取值范圍在。0

      剩余錯誤率P1的計算方法主要有直接代碼分析法、Monte-Carlo模擬法以及代碼轉化分析法等幾種,本文從降低算法復雜度的角度出發采用了直接代碼分析法。

      對于傳統的CRC校驗,無法檢測的錯誤主要分為兩種情況,一種是只有安全數據發生錯誤,而CRC校驗值卻沒有發生錯誤;第二種是安全數據和CRC校驗值都發生了錯誤。因此,對于本文提出的方法,由于即將用于傳輸的校驗值是由上一個校驗值與即將用于傳輸的安全數據Sd,i共同產生的,而CRC的校驗也是由上一個CRC和安全數據凡,共同完成的,所以當上一個CRC校驗值發生傳輸錯誤時,一般都會造成當前CRC校驗無法通過。根據本文所述方法,這種情況下是需要重傳安全數據Sd,i-1與上一個CRC校驗值,因此在很大程度上降低了剩余錯誤率。

    4 試驗測試與評價

      4.1實時性

      本方法使用查表法計算CRC校驗碼,以字節為單位進行循環計算,循環次數為被校驗字符串的字節長度n。每一次循環計算過程只涉及一次左移運算、一次查表運算和兩次異或運算,時間復雜度為O(1),因此本方法時間復雜度為O(n)。由此可知,從理論上分析,本方法的時間復雜度不高。在此基礎上,本文對增加安全通信層后該層對總線通信所增加的時延進行了測試。

      測試用工控機硬件環境為1.6 GHz x86 CPU、512 MB RAM, 40 GB硬盤,所用數控總線是基于之RS485、傳輸速率為16 MB/s的同步串行總線。試}驗包括1個主站點和1個從站點。試驗過程中,主站點發送10 000幀給從站點,每幀大小16 B。通過總線分析儀累加記錄通信總時延和安全通信層所耗時間,取每幀平均耗時得:td=48.26μstms=1.23μs。

      測試結果表明,安全通信層時延開銷占整個總線時延的3%左右,在可接受范圍之內。因此,本方法在實時性方面可滿足數控總線要求。

      4.2剩余錯誤率

      本方法和傳統方法以剩余錯誤率Pre為評價標準,對比測試兩種方法之間的消息安全通信性能。同時,對消息完整性等級IC級別也進行了測試。

      本文通過Matlab自帶的Simulink建模與仿真工具構建試驗環境,獲取P1與P之間的關系。傳統方法與本方法的建模與仿真結構圖大體相似,在此以本方法為例,介紹試驗過程。本方法試驗過程如圖6所示,二進制貝努利序列產生器周期性產生一個長度為128位的隨機二進制序列Sd(x),該序列經通用CRC編碼器模塊進行CRC校驗,產生校驗碼Sc(x),然后封裝成報文t(x)。t(x)分兩路進行處理,第一路經數據鏈路層(Data link layer, DLL)通用CRC編碼器模塊模擬數據鏈路層的CRC校驗,產生相應校驗碼并進行封裝,封裝后的報文mt(x)通過誤比特率統計模塊統計總通信位數Ball,同時經二進制對稱信道模塊模擬位錯誤率為P的信道傳輸:第二路t(x)進入使能子系統1進行未被檢測到的錯誤位數Bude的相關統計。

      其中,mt(x)所封裝的t(x)經第一路模擬信道傳輸后變為t'(x),由Sd'(x)和Sc'(x)構成。DLL層通用CRC檢測器模塊對mt'(x)進行CRC校驗,在校驗結果顯示為通過的情況下,啟動使能子系統1,進行t'(x)與第二路t(x)的相關比較。圖7為使能子系統的內部結構圖,該子系統在t'(x)通過CRC校驗且Sc(x)和Sc'(x)相同的前提下,累加統計Sd(x)和Sd'(x)中的不同位數,從而得到本方法中未被檢測到的錯誤位數Bude。

      為保證試驗具有可比性,傳統方法和本方法均使用相同生成多項式g(x)=xt16+xt12+x5+x0。傳統方法得出的總通信位數Ball、位錯誤率P、沒有被檢測到的錯誤位數Bude以及剩余錯誤率P1結果。 

      同時,試驗對本方法的消息完整性等級IC進行了測試,本方法的完整性等級比IC3更高,這意味著本方法的消息完整性等級完全能滿足數控總線的遠程控制需要。

      為進一步獲取實際對比試驗結果,本文對兩種方法的通信性能進行了實際應用測試。使用兩種總線進行測試,一種為傳統同步串行總線,其上沒有安全通信層,另一種在傳統總線基礎上結合本方法,實現了安全通信層。

      測試過程中,由于位錯誤率P很小會導致試驗時間過長,故為盡快得到有效數據,實際測試中,在站點供電電源端口接入電快速瞬變脈沖群發生器,其開路輸出電壓設置為4 kV,脈沖重復頻率設置為2.5 kHz,同時特意不對傳輸線路進行任何抗干擾保護,以提高P值。主站對一個由同步和異步命令構成的工件程序進行反復循環空跑約200 h,統計總通信位數Ball。從站將已通過自身校驗的接收報文同預先存儲的應接收報文進行比較,統計錯誤位數,累加得到沒有被檢測到的錯誤位數Bude。

    5 結論

      (1)提出了一種適合數控總線同步及異步通信的消息安全通信方法。

      (2)通過建立基于動態CRC校驗的安全通信機制,解決了現有總線安全機制中連續傳輸多個相同數據包所帶來的問題,同時也克服了發送端與接收端之間消息安全校驗的依賴性。

      (3)在滿足數控總線實時性要求的情況下,安全通信方法明顯降低了通信過程中所產生的剩余錯誤率,同時也滿足了消息安全完整性等級要求。

    </p<0.5,一般認為p=10-4較合理。因此,本方法中也采用0

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 日韩免费网站 | 亚洲色图p| 在线a视频 | 91精品国产综合久久久久久漫画 | 国产成人激情 | 色呦呦在线看 | 九九热在线观看 | 国产精品久久久久久久久久99 | 成年免费视频黄网站在线观看 | 狠狠做深爱婷婷久久综合一区 | 色呦呦在线播放 | 国产美女在线播放 | 久久精品网 | 成人免费视频网站 | 国产精品中文字母 | 天天干狠狠 | 午夜精品久久久久久久久 | 久久久久中精品中文字幕19 | 自拍偷拍视频网站 | 日韩成年视频 | 亚洲精品久久久久久一区二区 | 欧美亚洲日本国产 | 黄色片在线免费观看 | 欧美成人一级片 | 免费国产黄网站在线观看视频 | 可以免费看av的网址 | 国产精品久久久久无码av | 免费观看日韩av | 久久se精品一区精品二区 | 欧美日韩一区二区三区在线观看 | 精品国产乱码久久久久久牛牛 | 在线免费色视频 | 成人午夜精品久久久久久久蜜臀 | 三区av | 久久久久久一区 | 91亚洲精品乱码久久久久久蜜桃 | 国产精品一区二区三区在线免费观看 | 久在线视频 | 91久久综合亚洲鲁鲁五月天 | 国产成人高清视频 | 久久久精彩视频 |