?

基于區塊鏈的嵌入式數據抗攻擊采集系統

2022-11-28 09:28梁菲菲宋振繼梁騰飛
自動化技術與應用 2022年10期
關鍵詞:采集卡驅動程序嵌入式

梁菲菲,宋振繼,梁騰飛

(1.陜西工業職業技術學院 信息工程學院,陜西 咸陽 712000;2.秦川機床工具集團股份公司,陜西 寶雞 721009;3.西安航空制動科技有限公司,陜西 咸陽713100)

1 引言

嵌入式技術系統具有體積小、專業性強、可靠性高、功耗低等優點,被廣泛應用于我國工業領域。嵌入式數據采集卡的主要功能是完成采集卡與信號處理系統間的溝通,是一種典型的嵌入式系統應用形式,但在嵌入式數據采集的過程中,由于其硬件過多,移入的操作系統安全性不強,易受到暴力訪問或者惡意攻擊等,造成采集獲取的數據完整性較差。相關研究較多:吉淑嬌[1]利用USB-6009數據采集卡、LabVIEW編程工具和Mysql數據庫設計數據采集系統,通過TCP模塊完成信號傳遞,利用標識符確定雙通道信號,以此實現多信號的傳遞功能。唐新懿等人[2]設計多通道數據采集方案,通過機箱背板總線實現數據讀出能力,可以有效滿足高速高精度的數據采集需求。Bai Y等人[3]設計了一種基于PCIe(peripheral component interconnect express)的采集卡,并提出了一種新的采集傳輸框架,可以有效滿足系統回波信號的實時處理能力和準確傳輸的要求。

但是,以上系統都沒解決安全性問題,區塊鏈是一個共享數據庫,存儲于其中的數據或信息,具有“不可偽造”“全程留痕”“可以追溯”“公開透明”“集體維護”等特征。作為鏈式數據結構,區塊鏈各節點的數據塊依照時間順序排列,通過加密的方式可以有效保障數據結果的安全性,是一種具有高可靠性的分布式公開數據技術。將區塊鏈技術應用于嵌入式數據采集卡中可提升嵌入式數據采集的保密性和應用性能。

為了保障嵌入式數據采集卡有效運行,設計基于區塊鏈的嵌入式數據采集抗攻擊系統,以期提高數據完整性和一致性。

2 嵌入式數據采集系統結構設計

基于區塊鏈技術的嵌入式數據采集系統基礎架構可分為4 層(如圖1所示),即包含數字簽名等安全性能的保密層、包含驅動程序等基礎設定的程序層、包含數據產生和信息采集等的收集層、包含驅動模式的驅動層。其中,保密層和程序層是區塊鏈技術應用中具有基礎性特征的數據層,可以有效提高嵌入式采集的抗攻擊性能;收集層、驅動層則是嵌入式數據采集系統設計必不可少的環節,可以有效提高嵌入式數據采集系統的加載能力和使用性能,以此確保數據采集的完整性。

2.1 關鍵硬件設計

為了強化嵌入式數據采集的安全性與交互性,需要對區塊鏈的保密層和程序層進行優化處理。通過兩層的聯合工作可以優化嵌入式數據采集的存儲空間和實際操作能力,增強采集系統信息交互處理能力。

2.1.1 系統保密層模塊

區塊鏈數據層為嵌入式數據采集提供了虛擬數據存儲空間,將區塊鏈應用技術與數字簽名相結合,提高數據采集的安全性,數字簽名技術是只有信息的發送者才能產生的別人無法偽造的一段數字串,可以確保數據采集與傳輸過程中,沒有被惡意篡改,以保證數據的安全性能。嵌入式數據采集卡以PC104總線為基礎,兼容ISA總線,包含計數器與光電耦合器件,其在本質上可定義為是一種I/O卡。嵌入式數據采集卡內的計數器能夠達到32路數字量輸入輸出,并且其中一路輸入具有中斷功能,以此構成嵌入式數據采集模塊,具體如圖2所示。

在計算機發送運行命令后,采集卡接收到嵌入式數據采集系統發出的觸發信號后開始初始化運行[4]。該程序由區塊鏈數據網進行控制,將采集到的信息進行存儲,供計算機讀取。在數據采集任務完成的條件下,計算機發送終止運行的命令,嵌入式數據采集卡工作完成。

2.1.2 基于區塊鏈的保密存儲模塊

嵌入式數據采集系統采用區塊鏈技術進行數據存儲,提高采集過程的抗攻擊性能。區塊鏈網絡在本質上可理解為是由集合U={U1,U2,U3,…,Un}構成的區塊鏈網絡,包含DUP與DAP兩重身份[5],可實現上傳與訪問功能,保證了信息傳輸的安全性。

區塊鏈保密層中,不同節點通過無可信中心的數字簽名模式生成密鑰與簽名。以H和(P,P')分別表示單向哈希函數和兩個安全素數;x和Q分別表示GF(P)階上的生成元和素因子;α表示GF(P)階上Q的生成元?;赨內不同用戶節點能夠得到:

式(1)中,a 數據存儲于U內。以SKi、PKi和y分別表示私鑰、公鑰和群公鑰。U將訪問請求發送至其他用戶節點。

其他用戶節點接收訪問請求后生成子簽名,其他用戶成員Uj將訪問請求O發送至區塊鏈數據網,區塊鏈網絡用戶節點Ui查看O后生成隨機數di,并將同意O的命令發送至區塊鏈數據網。同意O的節點通過自身密鑰實現非對稱式加密,與不同節點接收的構建子簽名si,其可通過下式描述:

Ui生成子簽名后,確定符合gcd(ki,P)=1要求的任意數,同時利用式(3)和式(4)確定H(o)和Qi:

在此條件下,Ui可將信息{si,ki,ri,zi}傳輸至Uj處。Uj在獲取不同節點傳送的子簽名后,利用式(5)與式(6)確定(R,G):

在此條件下,Uj生成自身對O的數字簽名。區塊鏈保密層可以驗證不同節點群簽名的準確性[6],若通過驗證即可在區塊鏈數據網存儲訪問請求,極大程度提高了數據信息安全性,提升了嵌入式數據采集系統的抗攻擊能力。

2.1.2 程序層設計

Linux是一款普遍使用的嵌入式操作系統,該操作系統在區塊鏈程序層運行,具有占用資源少、可裁剪與移植性強等優點[7]。區塊鏈程序層的內部網絡節點,在信息采集過程中保持著持續傳輸的共享狀態,對信息數據進行全方位的采集,大幅度提高了系統采集數據的完整性。采集卡作為數據采集的主要工具,將采集的數據通過外圍接口進行轉換,利用控制器的Linux 內核對數據加工處理,使采集到的數據可以被嵌入式數據采集系統搜索整理。Linux系統要獲取采集卡傳輸的數據,需要通過區塊鏈程序層完成采集卡初始化行為。計算機系統驅動程序模塊設計,如圖3所示。

Linux操作系統內,運行在內核中的驅動程序是嵌入式采集系統設計的重要組成部分,若驅動程序產生錯誤,則系統無法有效運行。根據圖3可得,區塊鏈程序層從左至右可歸納為四個部分,分別是:驅動程序、內核、庫和應用程序。驅動程序主要分為字符設備驅動模塊、塊設備驅動模塊和網絡設備驅動模塊,以此強化嵌入式數據采集系統的數據存儲與備份能力,同時保證數據的完整性和一致性。

2.2 軟件設計

為了提高嵌入式數據采集系統對抗惡意攻擊及暴力訪問等攻擊行為的能力,選用EVC開發采集系統的驅動程序設計。區塊鏈下的嵌入式數據采集系統驅動程序,是由動態區塊鏈完成軟件與硬件之間的接口協議,以此擴大惡意行為的搜索范圍,提高數據處理能力,保證數據完整性。

2.2.1 收集層設計

嵌入式數據采集系統的核心工作是滿足區塊鏈收集層的信息采集和處理,因此其應用程序接口驅動需要設計其對應的接口函數,用以保證采集數據一致性。對于嵌入式數據采集系統,在設計其驅動程序過程中需要著重強化設備初始化、數據讀取與程序關閉等環節。因此,采集系統微軟例程需要包含xxx_Open(應用程序打開驅動)、xxx_Close(應用程序關閉驅動)、xxx_Read(應用程序讀取設備相關的數據)等代碼模塊,對其進行針對性優化后可以直接使用。

全部設計代碼模塊內,xxx_Init(裝載驅動)最為重要,且具有較高復雜度[8]。在調用嵌入式數據采集系統驅動程序的條件下,采集卡管理器可以利用函數對板卡實施初始化運行。函數在區塊鏈下實現程序驅動,采用以下數據結構:

Struct D_DEVICE_NFO

{

DWORD DeviceName[16];

DWORD IOB ase;

DWORD IOL en;

DWORD IRQ;

DWORD D ev Index;

HANDLE h IstEvent;

}TIO_DEVICE_INFO.*PTD_DEVICE_INFO;

上述數據結構中{}內的內容分別為:第一行:嵌入式數據采集卡名稱;第二行:嵌入式數據采集卡基地址;第三行:嵌入式數據采集卡地址長度;第四行:嵌入式數據采集卡終端號;第五行:嵌入式數據采集卡設備序號。

針對上述數據結構設計一個調用函數:

DWORD IO_Init(DWORD dwContext)

{

IO_DEVICE_INFO pDex.

GetRegParams(dwContext,PDex).

pDex->IOB ase=oX230.

pDex->SysIntr=SYSINTR_FIRMWARE+pDex->IrqNo;

Retum(DWORD)pDex

}

在內核獲取宏IOTL_IOINLT 消息后即可調用此函數,以此強化嵌入式數據采集系統的數據信息收集能力,提高數據采集完整性。

2.2.2 驅動層設計

區塊鏈驅動層應用程序可分為兩種加載模式,一種是設備管理器運行時加載,另一種是應用程序自行加載。兩種模式都可以加強驅動程序同采集系統內其他組件間的相互影響作用,可以有效提高嵌入式采集系統的抗攻擊能力。

在嵌入式操作系統運行后,設備管理器依次讀取注冊表內HKEY_LOCAL_MACHNEDriversBuiltin 的鍵值,同時將全部列表內的流接口驅動程序裝入系統內。

在設備管理器無法自動確定與平臺連接的嵌入式數據采集卡條件下,可以通過自行加載的形式加載程序,對采集數據進行過濾處理。流接口驅動程序對全部核心信息實施搜索處理,剔除惡意攻擊及暴力訪問行為,以此實現命令信息與響應動作間的轉換,保證采集數據完整性。在區塊鏈驅動層引入以下內容:

HKEY_LOCAL_MACHINEDriversIO

“Prefix”=“PIO”

“Dll”=“Pc104_IO.dll”

“Index”=sword:1

“Order”=sword:1

“IoBase”=sword:230

“IoLen”=dword:10

“Irq”=dword:7

將寫好的驅動程序dll文件存儲至windows目錄內,再通過ActivateDevice()函數在區塊鏈驅動層加載HKEY_LOCAL_MACHNEDriversIO 的信息,由此實現嵌入式數據采集系統的驅動程序加載,提高系統抗攻擊能力。

3 實驗測試結果

實驗為驗證本文所設計的基于區塊鏈的嵌入式數據抗攻擊采集系統在實際應用測試中的性能,針對本文方法設計的基于區塊鏈技術的嵌入式數據采集系統作為應用對象,測試本文設計系統的應用性能。

3.1 驅動傳輸速率分析

本文所設計的系統在完成設計投入應用前需進行調試。由于區塊鏈驅動技術不具備運行界面,因此為有效獲取驅動程序的運行情況,需編寫用于檢驗的調試程序,用于驗證嵌入式數據采集系統實際應用性能。

測試本文所設計系統的數據傳輸速率結果如圖4所示。

由于應用對象具有32 路輸入輸出,因此調試過程中分析32 路輸入輸出的驅動傳輸速率。分析圖4得到,驅動調試過程中,應用對象各路輸入輸出的數據流均高于45MBbs,與相關文獻中的20MBbs—40MBbs 相比,本文方法所設計的驅動程序驅動下應用對象的驅動傳輸速率顯著提升,由此說明本文所設計系統具有顯著的應用性優勢。

3.2 數據采集完整性分析

測試本文所設計系統采集數據的完整性,多個區塊鏈網絡節點對若干條采集數據的完整性測試結果以及統計結果如圖5所示。

分析圖5得到,本文所設計系統的不同數據完整性測試結果完全相同。由此說明本文所設計系統能夠保障嵌入式數據采集的完整性。

3.3 數據一致性分析

區塊鏈技術中Leader節點的主要功能是確保在區塊鏈網絡內不同用戶節點區塊鏈的一致性。進行驗證能夠保障區塊鏈網絡內Leader節點不能偽造訪問請求。不同節點區塊鏈長度相等是驗證的前提條件,嵌入式數據在確定Leader 節點后,不同數據節點區塊鏈長度在不同時間條件下的波動情況如圖6所示。

分析圖6得到,采用本文系統下,應用對象確定Leader 節點30ms 后區塊鏈網絡內不同節點區塊鏈長度即可達到一致,由此說明本文設計的采集系統能夠保障嵌入式數據節點長度一致,同時還能夠說明在本文系統區塊鏈內不同節點均有效參與了訪問控制。上述實驗結果說明本文所設計系統可有效確保所采集數據的安全性以及訪問請求的合理性。

3.4 抗攻擊性能分析

測試本文所設計系統的抗攻擊性,令攻擊者對系統進行暴力破解和物理攻擊,成功攻擊區塊的概率與區塊差距間相關性波動結果如圖7所示。

分析圖7得到,在安全大素數生成元小于0.5的條件下,攻擊者成功攻擊區塊的概率同區塊差距之間呈反比例相關,即區塊差距越大,攻擊者成功攻擊區塊的概率越??;相反,在安全大素數生成元大于等于0.5的條件下,攻擊者即可成功攻擊下一個區塊。在應用對象中,安全大素數生成元基本控制在0.4以下,由此說明在本文所設計的系統在嵌入式數據采集過程中具有較高的抗攻擊能力。

4 結束語

本文設計了一種以區塊鏈技術為基礎的嵌入式數據采集系統。相比于傳統的數據采集方式,應用區塊鏈技術在數據采集過程中具有較好的抗攻擊能力,在確保采集數據的完整性和一致性的同時也保證了數據傳輸速率。

猜你喜歡
采集卡驅動程序嵌入式
基于IMX6ULL的嵌入式根文件系統構建
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
避免Windows系統更新反復安裝顯示驅動
育嬰監控系統的設計與實現
阻止Windows Update更新驅動程序
基于ARM嵌入式的關于圖像處理的交通信號燈識別
TS系列紅外傳感器在嵌入式控制系統中的應用
智能變電站電子式電流互感器故障分析
大型視頻多幀圖像信息處理系統設計
脈沖采集卡的開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合