国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向變電站二次系統(tǒng)的安全加固終端設(shè)備實(shí)現(xiàn)

2022-05-30 21:09:07王曉明周柯巫聰云
湖南大學(xué)學(xué)報(bào)·自然科學(xué)版 2022年4期
關(guān)鍵詞:電網(wǎng)系統(tǒng)單片機(jī)

王曉明 周柯 巫聰云

摘要:隨著信息化與工業(yè)化的高度融合,變電站二次系統(tǒng)智能化、自動(dòng)化程度不斷增強(qiáng).人們?cè)谙硎鼙憷缘耐瑫r(shí),也需直面網(wǎng)絡(luò)帶來(lái)的挑戰(zhàn)與威脅.針對(duì)二次系統(tǒng)應(yīng)用程序或工具在計(jì)算、傳輸過(guò)程中可能面臨的機(jī)密性、完整性等安全威脅,基于USB接口的安全加固終端保護(hù)技術(shù)成為研究熱點(diǎn).傳統(tǒng)的安全加固終端設(shè)備雖然生產(chǎn)方便,但其中的算法已經(jīng)由廠商指定并下載到了相應(yīng)的設(shè)備中.考慮到不同場(chǎng)景安全需求的差異較大,并且不同的用戶存在多級(jí)的安全需求.通過(guò)Arduino IDE平臺(tái)對(duì)AVR單片機(jī)進(jìn)行編程,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)通用算法的安全加固終端設(shè)備,不僅實(shí)現(xiàn)了身份認(rèn)證、內(nèi)容加密等功能,同時(shí)滿足了用戶自主選擇的個(gè)性化需求,提升了整個(gè)二次系統(tǒng)的安全性和可控性.經(jīng)測(cè)試,初步證明了該終端的可用性和健壯性.

關(guān)鍵詞:電網(wǎng)系統(tǒng);安全加固終端;單片機(jī);變電站安全

中圖分類號(hào):TP309.1文獻(xiàn)標(biāo)志碼:A

Realization of Safety Reinforced Terminal Equipment for Secondary System of Substation

WANG Xiaoming ZHOU Ke WU Congyun2

(1. Electric Power Research Institute of Guangxi Power Grid Co Ltd,Nanning 53002 China;

2. Guangxi Power Grid Co.,Ltd,Nanning 53002 China)

Abstract:With the high integration of informatization and industrialization,the degree of intelligence and automation of the secondary system of substations has been continuously enhanced. While enjoying the convenience,we also need to face the challenges and threats brought by the Internet. In view of the confidentiality,integrity and other security threats that the secondary system applications or tools may face during the calculation and transmission process,the enhanced security terminal protection technology based on the USB interface has become a research hotspot. Although the traditional enhanced security terminal equipment is easy to produce,the algorithms in it have been specified by the manufacturer and downloaded to the corresponding equipment. Considering that the security requirements of different scenarios are quite different,and different users have multi-level security requirements,the AVR microcontroller is programmed through the Arduino IDE platform,and an enhanced security terminal equipment with general algorithms is designed and implemented,which not only realizes functions such as identity authentication and content encryption,but also meets the personalized needs of usersr independent choices and improves the security and controllability of the entire secondary system. After the test,the usability and robustness of the terminal are preliminarily proved.

Key words:grid system;safety reinforcement terminal;microcontrollers;substation safety

實(shí)現(xiàn)電力系統(tǒng)能量流與通信系統(tǒng)信息流的高度融合,打造安全可靠、智能高效的電網(wǎng)系統(tǒng)是“工業(yè)4.0”時(shí)代的又一戰(zhàn)略性規(guī)劃.作為變電站信息的承載基礎(chǔ),二次系統(tǒng)本身包括多種功能應(yīng)用.一方面,主站所下達(dá)的控制指令和參數(shù)設(shè)置指令都需要通過(guò)二次系統(tǒng)執(zhí)行,但是控制指令在被竊取和篡改的情況下無(wú)法進(jìn)行安全鑒別和數(shù)據(jù)完整性驗(yàn)證,主站在被劫持或人員誤操作情況下對(duì)變電站進(jìn)行的非法操作也無(wú)法辨識(shí)并隔離,存在引發(fā)電網(wǎng)安全事故的風(fēng)險(xiǎn).另一方面,由于設(shè)備廠家往往采用個(gè)人攜帶的電腦、U盤(pán)和配置工具進(jìn)行運(yùn)維操作工作,存在現(xiàn)場(chǎng)二次系統(tǒng)配置維護(hù)終端不安全,設(shè)備升級(jí)軟件版本和工程配置及備份不可控,管理配置正確性依賴于廠家等多種問(wèn)題,給變電站二次系統(tǒng)的安全、可靠和穩(wěn)定運(yùn)行帶來(lái)了很大的隱患.

為了增強(qiáng)終端設(shè)備的安全性能,國(guó)內(nèi)外眾多公司和學(xué)者針對(duì)加固技術(shù)進(jìn)行了廣泛的研究,設(shè)計(jì)并研發(fā)出以下三類主流的安全加固產(chǎn)品.加密狗是一種為軟件開(kāi)發(fā)商提供程序安全性擴(kuò)展的外界保護(hù)硬件,其提供了對(duì)軟件功能和數(shù)據(jù)的保護(hù).但由于使用通用芯片,破解者可以通過(guò)分析探測(cè)芯片電路獲取芯片里的程序內(nèi)容,反編譯獲悉程序邏輯,從而克隆出一個(gè)完全相同的加密狗.動(dòng)態(tài)口令作為一次一密技術(shù)(one time password)的代表,是一個(gè)用來(lái)生成動(dòng)態(tài)口令的實(shí)體終端設(shè)備.由于加密結(jié)果隨時(shí)間動(dòng)態(tài)變化,通常僅為簡(jiǎn)單的數(shù)字組合,安全性受到一定限制.USB Key作為一類獨(dú)立的安全加固終端,通過(guò)單片機(jī)或智能卡芯片內(nèi)置了用于身份認(rèn)證和數(shù)據(jù)加密的算法[1].但為了大規(guī)模生產(chǎn)需要,其中的算法已經(jīng)由廠商指定并提前下載到了相應(yīng)的設(shè)備中.如果開(kāi)發(fā)者有特殊需求,只能自己向生產(chǎn)廠商定制,不僅制作周期長(zhǎng),成本也更大,必然耗費(fèi)更多的人力物力資源.此外,由于二次系統(tǒng)不同場(chǎng)景的安全需求差異較大,致使不同的用戶存在多級(jí)的安全需求,傳統(tǒng)的安全加固設(shè)備雖然生產(chǎn)方便,但其功能局限性已經(jīng)不足以滿足用戶.本文通過(guò)Arduino IDE平臺(tái)對(duì)AVR單片機(jī)進(jìn)行編程,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)可自定義加密算法的安全加固終端設(shè)備,不僅實(shí)現(xiàn)了身份認(rèn)證、內(nèi)容加密等功能,同時(shí)滿足了用戶自主選擇的個(gè)性化需求,提升了整個(gè)二次系統(tǒng)的安全性和可控性.

1背景及理論

1.1變電站二次系統(tǒng)

目前,智能變電站系統(tǒng)普遍采用三層兩網(wǎng)的物理架構(gòu),三層即站控層、間隔層、過(guò)程層,兩網(wǎng)分別是站控層網(wǎng)絡(luò)和間隔層網(wǎng)絡(luò).按照內(nèi)部數(shù)據(jù)交互的過(guò)程,變電站二次系統(tǒng)的運(yùn)維管理架構(gòu)如圖1所示.

其中,網(wǎng)絡(luò)層作為終端中間層,負(fù)責(zé)接收智能感知層收集到的系統(tǒng)狀態(tài)和信息,上送至應(yīng)用層完成設(shè)備的在線監(jiān)測(cè)和數(shù)據(jù)的統(tǒng)計(jì)分析等功能.作為數(shù)據(jù)的存儲(chǔ)和中轉(zhuǎn)中心,主站和數(shù)據(jù)服務(wù)器需要定期的運(yùn)維管理和修護(hù),并通過(guò)一定的安全技術(shù)降低信息泄露的風(fēng)險(xiǎn).信息安全需要保障信息的機(jī)密性、完整性、可用性.對(duì)于把需要與外界進(jìn)行交互的信息存放于內(nèi)部的軟件來(lái)說(shuō),如果將加密保護(hù)技術(shù)也包含在自身代碼中,就很容易被調(diào)試、分析、反編譯,最后被破解.因此,如何對(duì)二次系統(tǒng)進(jìn)行安全加固,是整個(gè)電網(wǎng)系統(tǒng)穩(wěn)定運(yùn)行的重中之重.

1.2Arduino

Arduino[2]主要是為AVR單片機(jī)設(shè)計(jì)的一個(gè)更加簡(jiǎn)單易操作、人性化的硬件開(kāi)發(fā)平臺(tái).Arduino不同的型號(hào)采用了不同的單片機(jī)型號(hào)以及控制電路板,但通用了一個(gè)支持這些型號(hào)的專用編程開(kāi)發(fā)軟件.由于Arduino對(duì)各種功能進(jìn)行了再封裝,以及給出了較多在各個(gè)方面的操作示例,開(kāi)發(fā)者能更好地屏蔽底層的硬件開(kāi)發(fā)細(xì)節(jié),將更多的注意力轉(zhuǎn)移到功能實(shí)現(xiàn)上來(lái).本實(shí)驗(yàn)使用的Arduino UNO型號(hào)本質(zhì)上就是一塊單片機(jī)控制板[3],且AVR單片機(jī)為控制核心.

1.3IC和單片機(jī)

所謂IC即集成電路,是一種實(shí)現(xiàn)了某種電路功能(如計(jì)數(shù)器,加法器等)的微型電子器件.借助于IC,電路板才能在毫米甚至微米級(jí)實(shí)現(xiàn)不同的功能.單片機(jī)可以看作一臺(tái)微型的計(jì)算機(jī)系統(tǒng),與電腦PC 機(jī)不同的是,其所有零件都在出廠之前被塑料殼封裝在一個(gè)集成電路的內(nèi)部.PC中的主要組件單片機(jī)內(nèi)部都有,只是單片機(jī)的大多數(shù)部件集成在一起,共同構(gòu)成一塊IC芯片.單片機(jī)作為嵌入式設(shè)備的典型代表之一,其使用領(lǐng)域十分廣泛,在大多數(shù)物聯(lián)網(wǎng)設(shè)備中都有單片機(jī)的身影.市面上所稱的“智能”電器,內(nèi)部通常集成了單片機(jī)來(lái)進(jìn)行電子器件的控制.

1.4PIN碼

所謂PIN碼,一般是4位以上的便于記憶的“密碼”,但是它一般只包含純數(shù)字,并且只與設(shè)置該P(yáng)IN碼的硬件關(guān)聯(lián),任何知道該P(yáng)IN碼的人都可以使用該設(shè)備.對(duì)于有些設(shè)備而言,PIN碼與賬戶密碼功能相同,都可以訪問(wèn)該設(shè)備甚至進(jìn)入該設(shè)備上已登錄賬戶空間,但是PIN碼一般不能替代賬戶密碼修改賬戶信息[4].PIN碼作為一種密碼,保護(hù)的不是用戶的使用權(quán)限,而是該用戶所在設(shè)備的使用權(quán)限,而傳統(tǒng)密碼,一般是保護(hù)它所對(duì)應(yīng)的特定用戶數(shù)據(jù)的讀寫(xiě)權(quán)限.如果需要保護(hù)的設(shè)備都設(shè)置有相應(yīng)的PIN碼,那么知道PIN碼就可以使用它所對(duì)應(yīng)的固定設(shè)備,而只知道賬戶密碼卻不知道PIN碼時(shí),是無(wú)法使用設(shè)備的,也就無(wú)法訪問(wèn)賬戶數(shù)據(jù).如果不僅需要使用設(shè)備,也要對(duì)賬戶數(shù)據(jù)進(jìn)行修改,則必須結(jié)合賬戶密碼共同使用.此時(shí),PIN碼和賬戶密碼即實(shí)現(xiàn)了身份認(rèn)證中的雙因素認(rèn)證.

1.5網(wǎng)絡(luò)安全基礎(chǔ)

1.5.1身份認(rèn)證

身份認(rèn)證主要用來(lái)確定認(rèn)證者的物理真實(shí)身份同數(shù)據(jù)身份是否匹配⑸認(rèn)證的方法分為以下三種:

1)根據(jù)你所知道的信息(what you know ).

2)根據(jù)你所擁有的東西(what you have).

3)根據(jù)獨(dú)一無(wú)二的身體(who you are).

物理身份和數(shù)據(jù)身份匹配的情況下,三種方法都是成立的,所以為了更高的安全性,從三種中選擇其中兩種來(lái)完成認(rèn)證,即所謂的雙因素認(rèn)證[6].

1.5.2加密算法

1)非對(duì)稱加密.

公開(kāi)密鑰密碼學(xué)(Public-key cryptography)又稱非對(duì)稱加密算法.其非對(duì)稱性主要體現(xiàn)在它需要公鑰和私鑰兩種密鑰,且二者不相同[7].如果其中一個(gè)密鑰允許被公開(kāi),那么它可以叫作“公鑰”,另一個(gè)密鑰則必須嚴(yán)格秘密保管,不能透露給其他人,稱為“私鑰”.具體地對(duì)一個(gè)明文進(jìn)行加密時(shí),若是使用公鑰加密,則對(duì)方需要用與其配對(duì)的私鑰才能解密,公鑰自身不能解開(kāi)[8];若是使用私鑰進(jìn)行加密,則對(duì)方只能用與其配對(duì)的公鑰解密,私鑰自身不能解開(kāi).所以這種算法也叫作非對(duì)稱加密算法.按定義的話,公私鑰匙是不能互相推導(dǎo)的.但在實(shí)際實(shí)現(xiàn)過(guò)程中,保存私鑰的文件中往往包含了一些關(guān)于公鑰的信息,有的可能是直接包含了公鑰,也有的可能是一些可以使私鑰通過(guò)一定的方法得到公鑰的信息.常見(jiàn)的非對(duì)稱加密算法有:國(guó)外著名的、使用最為廣泛的RSA算法,橢圓曲線加密算法(簡(jiǎn)稱ECC)以及國(guó)內(nèi)的SM2算法[9].

2)對(duì)稱加密.

對(duì)稱密鑰算法(Symmetric-key algorithm)也屬于密碼學(xué)中加密算法的一種.之所以稱為對(duì)稱密鑰,是因?yàn)榧咏饷苓^(guò)程中使用的密鑰相同,且由通訊雙方共同享有,不允許泄露給他人.實(shí)際上,多人通訊中為了通訊和管理密鑰的方便,通常多個(gè)人之間只用單個(gè)密鑰.對(duì)稱密鑰的存在使得加密過(guò)程和解密過(guò)程非常相似,解密過(guò)程可以看作加密過(guò)程的逆運(yùn)算.常見(jiàn)的對(duì)稱加密算法有國(guó)際上知名的DES、3DES (Triple-DES)、AES算法以及國(guó)密算法SM1、SM4等[9].

3)散列算法.

散列函數(shù)(Hash function)英文直譯可以叫作哈希函數(shù),由于其功能也可叫作摘要算法.它是一種從任何大小、任何類型數(shù)據(jù)(只要能表示成二進(jìn)制串)中創(chuàng)建固定數(shù)據(jù)長(zhǎng)度[10],用固定字符集表示的數(shù)字“指紋”的方法.散列函數(shù)可以把大量數(shù)據(jù)壓縮成一個(gè)較短的固定字符串,也稱為摘要,但它不能還原之前的數(shù)據(jù).散列值的表示形式通常是阿拉伯?dāng)?shù)字和字母等可見(jiàn)字符組成的定長(zhǎng)字符串.因?yàn)閷?duì)輸入數(shù)據(jù)的微小變化也會(huì)造成對(duì)應(yīng)散列的劇烈變化,那么在散列碰撞概率微乎其微的情況下,散列函數(shù)是可以用來(lái)驗(yàn)證輸入數(shù)據(jù)是否被篡改的,也就是可以用來(lái)保證信息的完整性.

2安全加固終端設(shè)備的系統(tǒng)設(shè)計(jì)

2.1總體設(shè)計(jì)框架

總的來(lái)說(shuō),本文所設(shè)計(jì)實(shí)現(xiàn)的是一個(gè)運(yùn)行于AVR單片機(jī)上的、可自行配置算法的安全加固終端設(shè)備.這個(gè)系統(tǒng)主要通過(guò)單片機(jī)的串口與外界傳輸信息,在單片機(jī)內(nèi)部實(shí)現(xiàn)身份認(rèn)證和數(shù)據(jù)加密功能供處于外界的程序調(diào)用,并在功能的實(shí)現(xiàn)里加入多種可行算法.最后呈現(xiàn)的實(shí)物成果不僅需要實(shí)現(xiàn)USB Key等設(shè)備所能達(dá)到的基本功能,保證一定的安全性,同時(shí)也要保證外界程序的開(kāi)發(fā)者可以根據(jù)自身需求選擇調(diào)用需要的功能函數(shù).這里的安全效果主要體現(xiàn)在:與算法相關(guān)的、需要被保護(hù)的、不希望被截獲或竊聽(tīng)的核心信息(如密鑰等)不會(huì)存在于調(diào)用方計(jì)算機(jī)內(nèi)存里,也不會(huì)出現(xiàn)在通信信息交互的過(guò)程中.系統(tǒng)整體結(jié)構(gòu)如圖2所示,分為數(shù)據(jù)加密和身份認(rèn)證兩大部分.

2.2模塊設(shè)計(jì)

本文主要設(shè)計(jì)實(shí)現(xiàn)了數(shù)據(jù)加密和身份認(rèn)證兩個(gè)功能.

2.2.1數(shù)據(jù)加密

數(shù)據(jù)加密模塊的信息交互實(shí)體主要涉及Demo調(diào)用程序和單片機(jī).其中,調(diào)用程序傳輸指令和數(shù)據(jù)明文給單片機(jī),單片機(jī)內(nèi)部通過(guò)相關(guān)算法以及已經(jīng)內(nèi)置存儲(chǔ)的密鑰對(duì)明文進(jìn)行加密然后發(fā)送回調(diào)用程序.整個(gè)過(guò)程中密鑰不會(huì)在兩者之間傳遞,這就保證了在沒(méi)有密鑰的情況下返回的密文是無(wú)法被輕易解開(kāi)的,只能通過(guò)單片機(jī)的解密函數(shù)將密文再解密之后得到明文.詳細(xì)的模塊設(shè)計(jì)如圖3所示.

其中,Demo調(diào)用程序主要通過(guò)通訊模塊與單片機(jī)進(jìn)行交互,使用者必須選擇需要加密或者解密的數(shù)據(jù)以及算法之后,才能通過(guò)通訊模塊將請(qǐng)求發(fā)送給單片機(jī)獲得結(jié)果.單片機(jī)通過(guò)通訊模塊接收到使用者的請(qǐng)求后,通過(guò)命令解釋器模塊獲得用戶需要加解密的內(nèi)容以及要使用的算法,最后將結(jié)果通過(guò)通訊模塊發(fā)送回調(diào)用者.

2.2.2身份認(rèn)證

身份認(rèn)證功能的信息交互涉及Server端、Client 端和單片機(jī)處理程序三方.Server端生成隨機(jī)數(shù)發(fā)送給Client端,Client端再將隨機(jī)數(shù)轉(zhuǎn)發(fā)給單片機(jī),單片機(jī)內(nèi)部程序使用算法將隨機(jī)數(shù)加密之后發(fā)回Client 端,再由Client端發(fā)送給Server端,Server端使用相同算法驗(yàn)證隨機(jī)數(shù)加密后結(jié)果是否相同,最后將驗(yàn)證信息發(fā)送回Client端完成身份驗(yàn)證.

此部分的模塊設(shè)計(jì)如圖4所示,首先是Client端通過(guò)登錄模塊發(fā)送登錄請(qǐng)求給Server端,Server端通過(guò)通訊模塊收到登錄請(qǐng)求后通過(guò)隨機(jī)數(shù)生成模塊生成隨機(jī)數(shù),然后使用通訊模塊將驗(yàn)證碼發(fā)送給Client端,Client端再將收到的隨機(jī)數(shù)發(fā)送給單片機(jī),單片機(jī)通過(guò)通訊模塊接收到隨機(jī)數(shù)后,通過(guò)解釋器模塊解釋后,使用指定的算法對(duì)隨機(jī)數(shù)進(jìn)行處理,并將處理后的結(jié)果發(fā)送回Client端,Client端將該結(jié)果發(fā)送回Server端,Server端也通過(guò)相同算法對(duì)隨機(jī)數(shù)進(jìn)行計(jì)算,其結(jié)果與收到的單片機(jī)處理結(jié)果進(jìn)行比較,最后將驗(yàn)證信息發(fā)送回Client端的登錄模塊.

2.3程序流程

Demo調(diào)用程序可以根據(jù)自身需要選擇不同的語(yǔ)言開(kāi)發(fā),只要通過(guò)串口與單片機(jī)通訊即可.所以這里只展示了單片機(jī)內(nèi)部程序?qū)崿F(xiàn)的程序流程.

2.3.1數(shù)據(jù)加密

圖5是本系統(tǒng)數(shù)據(jù)加密功能的程序流程圖.從上到下,先進(jìn)行PIN碼檢測(cè),PIN碼和存儲(chǔ)在設(shè)備中的密鑰(各個(gè)算法所需要的)組成了雙因素認(rèn)證.PIN 碼驗(yàn)證通過(guò)后會(huì)等待用戶繼續(xù)輸入指令,當(dāng)接收到命令后,會(huì)對(duì)命令進(jìn)行解釋,其中包括了算法的選擇,加密或者解密的選擇[11-12].最后再選取相應(yīng)的算法對(duì)已經(jīng)傳入進(jìn)來(lái)的數(shù)據(jù)塊進(jìn)行加解密,然后把結(jié)果發(fā)送回調(diào)用者.

2.3.2身份認(rèn)證單片機(jī)部分的程序流程圖

圖6是本系統(tǒng)身份認(rèn)證功能的程序流程圖.從上到下,先進(jìn)行PIN碼檢測(cè),PIN碼和存儲(chǔ)在單片機(jī)中的算法所使用的密鑰組成了雙因素認(rèn)證.身份認(rèn)證過(guò)程相對(duì)簡(jiǎn)單,只是對(duì)得到的隨機(jī)數(shù)進(jìn)行加密處理,這里可以使用HMAC系列摘要算法..通過(guò)將密鑰和隨機(jī)數(shù)混合后進(jìn)行摘要,可以防止當(dāng)隨機(jī)數(shù)被截獲、摘要算法被獲悉時(shí),攻擊者輕易進(jìn)行身份認(rèn)證欺騙.使用隨機(jī)數(shù)是為了防止重放攻擊,使每次認(rèn)證所需要的信息隨著隨機(jī)數(shù)改變而改變,截獲的某一次的身份認(rèn)證傳輸信息,在隨機(jī)數(shù)改變后就無(wú)法生效.

3安全加固終端設(shè)備的實(shí)現(xiàn)

3.1通訊模塊

Serial.print()函數(shù)為Arduino串口輸出函數(shù).由于單片機(jī)串口的read并不是阻塞的,所以需要循環(huán)判斷Serial.available()>0來(lái)達(dá)到阻止程序前后運(yùn)行的目的.又因?yàn)榇谝晃灰晃粋鬏斒切枰獣r(shí)間的,所以需要有一個(gè)延遲來(lái)保證讀取的時(shí)候所有字符都已經(jīng)讀入了緩沖區(qū).

3.2PIN碼校驗(yàn)?zāi)K

用戶可在單片機(jī)代碼中自定義全局變量PIN數(shù)值,然后通過(guò)verifyPIN函數(shù)逐個(gè)字符驗(yàn)證輸入值in 和全局變量PIN是否相等.

3.3加解密模塊

本系統(tǒng)共實(shí)現(xiàn)整合了DES、AES128、AES256、SM4四種加密算法.以SM4算法為例,給出實(shí)現(xiàn)過(guò)程:首先初始化key作為內(nèi)置于單片機(jī)代碼中密鑰,input是單片機(jī)得到的來(lái)自調(diào)用程序的輸出,output 是單片機(jī)準(zhǔn)備輸出給外界的算法計(jì)算結(jié)果.設(shè)置好key和input后調(diào)用庫(kù)函數(shù)sm4_crypt_ecb得到SM4結(jié)果的輸出output,最后輸出output即可.

3.4摘要模塊

本文包括MD5摘要、SHA1摘要和SHA256摘要三大模塊.以SHA256摘要模塊為例,首先設(shè)置電腦與Arduino進(jìn)行串口通訊時(shí)的數(shù)據(jù)傳輸速率,進(jìn)行SHA256對(duì)象初始化,然后把需要摘要的字符串傳入SHA256對(duì)象進(jìn)行哈希映射,最后用輸出函數(shù)print- Hash輸出結(jié)果.

4系統(tǒng)測(cè)試

系統(tǒng)測(cè)試目的是驗(yàn)證整個(gè)設(shè)計(jì)總體所實(shí)現(xiàn)的功能是否滿足需求,需要設(shè)計(jì)開(kāi)發(fā)一系列Demo調(diào)用程序來(lái)調(diào)用單片機(jī)實(shí)現(xiàn)的功能.這里的Demo程序模擬了正常程序?qū)纹瑱C(jī)的調(diào)用.Demo調(diào)用程序使用的是Python語(yǔ)言開(kāi)發(fā).在功能測(cè)試完畢的情況下,再對(duì)整個(gè)系統(tǒng)的性能如算法的執(zhí)行時(shí)間進(jìn)行一些測(cè)試.最終完成的實(shí)物圖如圖7所示,目前已經(jīng)使用USB 接口與主機(jī)相連,為系統(tǒng)測(cè)試做好準(zhǔn)備.

4.1數(shù)據(jù)加密模塊集成測(cè)試

數(shù)據(jù)加密模塊功能驗(yàn)證的方法是通過(guò)對(duì)同一字符串加密之后得到的密文再解密,判斷結(jié)果是否能夠得到原字符串,同時(shí)也可以與網(wǎng)絡(luò)上在線加解密網(wǎng)站得到的結(jié)果進(jìn)行比較.原始用于測(cè)試的文本數(shù)據(jù)為12345678abcdefghaaaaaaaahhhhhhhh,測(cè)試數(shù)據(jù)加密結(jié)果如圖8所示.

收到的字節(jié)數(shù)組具體為:

b′85,8B,17,6D,A8,B 25,0 78,7 ED,A8,76,CA,0F,EA,\r\n′

b′EB,6 5B,1A,E 9B,9 65,4E,2C,1E,9C,26,7F,D6,39,\r\n′

b′38,F(xiàn)D,D7,98,D0,05,66,35,40,8 6A,58,00,60,8C,87,\r\n′

第一部分是PIN的驗(yàn)證部分.功能正常!

剩下的三部分分別是:

b′12345678abcdefgh′,b′aaaaaaaahhhhhhhh′,b′aaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00′三個(gè)字符串的加密結(jié)果.

與網(wǎng)站在線加密進(jìn)行對(duì)比,見(jiàn)圖9,證明結(jié)果正確.

4.2身份認(rèn)證模塊集成測(cè)試

Server端服務(wù)程序結(jié)果如圖10所示,成功接收到Client端的登錄請(qǐng)求,并且接收到從客戶端收到的來(lái)自單片機(jī)的隨機(jī)數(shù)的哈希值.最后經(jīng)過(guò)運(yùn)算發(fā)現(xiàn)服務(wù)端自己計(jì)算的hash函數(shù)值和傳遞過(guò)來(lái)的相等,最終給客戶端發(fā)送登錄成功字符串.

圖11所示為Client端運(yùn)行結(jié)果,客戶端收到來(lái)自服務(wù)端的驗(yàn)證碼1970,將其發(fā)送給單片機(jī),經(jīng)過(guò)單片機(jī)計(jì)算之后將結(jié)果發(fā)送回客戶端,客戶端收到了經(jīng)過(guò)單片機(jī)哈希運(yùn)算之后的散列值,然后將該散列值發(fā)送給服務(wù)端,服務(wù)端比較自己計(jì)算的散列值和收到的散列值是否相等,發(fā)現(xiàn)散列計(jì)算是相等的,最后客戶端收到了服務(wù)端發(fā)送過(guò)來(lái)的login success字符串,證明身份認(rèn)證通過(guò).

4.3算法性能測(cè)試

由于傳統(tǒng)的安全加固終端中的算法已經(jīng)由廠商指定并下載到了相應(yīng)的設(shè)備中,無(wú)法單獨(dú)測(cè)試單個(gè)功能的時(shí)間,因此我們只對(duì)本文所實(shí)現(xiàn)的加固終端算法進(jìn)行測(cè)試統(tǒng)計(jì).此外,與其他同功能設(shè)備相比,我們最大的優(yōu)勢(shì)在于整合多種該領(lǐng)域常用的算法,能夠滿足不同用戶的安全需求,自身的對(duì)比分析更加全面有效,而且能為用戶的個(gè)性化選擇提供一定的參考標(biāo)準(zhǔn).

4.3.1摘要算法

如圖12所示,單次SHA256耗時(shí)32 116μs,單次SHA1耗時(shí)30 052 μs,MD5的耗時(shí)只有1 600 μs.可以發(fā)現(xiàn)SHA1和SHA256兩者之間的耗時(shí)相差不明顯,但是都明顯比MD5長(zhǎng).也就是說(shuō),在對(duì)短字符串如“abc”摘要時(shí),MD5效率較高.

4.3.2數(shù)據(jù)加密算法

對(duì)于同一數(shù)據(jù),分別采用DES. Triple DES、AES128、AES256、SM4五種算法進(jìn)行加解密實(shí)驗(yàn),對(duì)于耗時(shí)進(jìn)行統(tǒng)計(jì)分析,如表1所示.

總的來(lái)說(shuō),三重DES的耗時(shí)最長(zhǎng),單次DES的耗時(shí)正好是AES和SM4的一半左右.將單次DES與SM4算法進(jìn)行比對(duì),常規(guī)的DES加密算法是64 位[14],而SM4算法作為一個(gè)分組算法,數(shù)據(jù)分組長(zhǎng)度為128比特,密鑰長(zhǎng)度也為128比特,因此單次DES 耗時(shí)比SM4算法耗時(shí)降低一半是合理的.對(duì)于AES 算法,作為一種對(duì)稱密鑰算法[15],可以使用128、192 或256位密鑰,并且用128位數(shù)據(jù)塊分組對(duì)數(shù)據(jù)進(jìn)行加密和解密.在本文進(jìn)行的實(shí)驗(yàn)中,AES128和AES256的加密與解密耗時(shí)是一樣的,可能是由于待加密數(shù)據(jù)的長(zhǎng)度是相同的,使得AES128和AES256 有類似的加密處理過(guò)程,AES256沒(méi)有進(jìn)行額外的4 輪round key生成以及對(duì)應(yīng)的SPN操作.

如圖13所示,對(duì)單次DES算法和三重DES算法進(jìn)行進(jìn)一步對(duì)比分析,發(fā)現(xiàn)加密一次DES算法耗時(shí)17 872μs,三重DES耗時(shí)53 620μs,有很明顯的三倍關(guān)系.此外,我們重復(fù)進(jìn)行10次實(shí)驗(yàn),對(duì)兩種算法的平均耗時(shí)進(jìn)行統(tǒng)計(jì),發(fā)現(xiàn)仍然滿足三倍時(shí)間比例,如圖14所示.

在圖15中,通過(guò)將輸入數(shù)據(jù)更改為16字節(jié)進(jìn)行實(shí)驗(yàn),我們發(fā)現(xiàn)SM4、AES256、AES128以及DES對(duì)于16字節(jié)的明文輸入各個(gè)算法耗時(shí)是差不多的.而Triple DES仍滿足三倍耗時(shí)的特點(diǎn).

5結(jié)論

隨著變電站建設(shè)的不斷擴(kuò)張,智能終端設(shè)備、應(yīng)用程序和工具大量投入變電站現(xiàn)場(chǎng)應(yīng)用.然而,這些裝置的本體安全可信技術(shù)仍然受限,在使用過(guò)程中很可能被監(jiān)聽(tīng)甚至篡改,為惡意的入侵提供了更多的可能[16].本文實(shí)現(xiàn)了一種基于USB接口的安全加固終端設(shè)備,避免了將安全技術(shù)封裝在程序內(nèi)部可能面臨的反編譯和被破解的風(fēng)險(xiǎn),通過(guò)外接的方式保障二次系統(tǒng)主站及數(shù)據(jù)服務(wù)器在計(jì)算、傳輸過(guò)程中的機(jī)密性和完整性.此外,考慮到不同場(chǎng)景安全需求的差異較大,并且不同的用戶存在多級(jí)的安全需求,改進(jìn)了傳統(tǒng)安全加固終端只能提前封裝單個(gè)算法的固有缺點(diǎn),將多種算法集成在一個(gè)單片機(jī)芯片上,不僅實(shí)現(xiàn)了身份認(rèn)證、內(nèi)容加密等功能,同時(shí)滿足用戶的個(gè)性化需求,能夠根據(jù)實(shí)際應(yīng)用場(chǎng)景自主選擇內(nèi)置算法,成本低、通用性好,對(duì)于二次系統(tǒng)應(yīng)用功能級(jí)安全檢測(cè)體系,實(shí)現(xiàn)AVC操作指令、智能告警等功能的安全加固具有一定的意義.

參考文獻(xiàn)

[1] AN Y,ZHAO B,LI Y M. Research on software protection method based on USB Key [C]//19th IEEE International Symposium on Asynchronous Circuits and Systems. Wuhan,China,2013 :210-213.

[2]郎慶陽(yáng),吳明超,張楠,等.Arduino在壓力監(jiān)測(cè)項(xiàng)目開(kāi)發(fā)中的應(yīng)用研究[J].科技風(fēng),2019 (12):181.

LANG Q Y,WU M C,ZHANG N,et al. Application research of Arduino in the development of pressure monitoring project [J]. Technology Wind,2019 (12):181.(In Chinese)

[3]孫玲姣,龍洋,黃欣,等.基于Arduino的電子技術(shù)實(shí)驗(yàn)教學(xué)改革探討[J].電子世界,2019 (3):34-35.

SUN L J,LONG Y,HUANG X,et al. Discussion on the reform of electronic technology experiment teaching based on Arduino [J]. Electronics World,2019(3):34-35.(In Chinese)

[4]劉益和,沈昌祥.一個(gè)信息安全函數(shù)及應(yīng)用模型[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005,17(12):2734-2738.

LIU Y? H,SHEN C X. An Information security function and application model [J]. Journal of Computer-Aided Design & Computer Graphics,2005,17(12):2734-2738.(In Chinese)

[5]楊京,周俊.身份認(rèn)證威脅與對(duì)抗措施分析[J].信息網(wǎng)絡(luò)安全,2010(11):83-84.

YANG J,ZHOU J. Analysis on the security threats of ID authentication and threat defense measure [J] .Netinfo Security,2010(11):83-84 .(In Chinese)

[6] ZHAO D D,LUO W J. One-time password password authentication scheme based on the negative database [J] .Engineering Applications of Artificial Intelligence :The International Journal of Intelligent Real-Time Automation,2017,62:396-404.

[7]高明.淺談對(duì)稱加密算法與非對(duì)稱加密算法的應(yīng)用[J].電子世界,2015 (15):59-60.

GAO M. Talking about the application of symmetric encryption algorithm and asymmetric encryption algorithm [J]. Electronics World,2015 (15):59-60.(InChinese)

[8]蔡萌.數(shù)據(jù)加密技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)通信安全中的應(yīng)用探析[J].通訊世界,2019,26(5):92-93.

CAI M. Analysis on the application of data encryption technology in computer network communication security[J] . Telecom World,2019,26(5):92-93.(In Chinese)

[9]吳志紅,趙建寧,朱元,等.國(guó)密算法和國(guó)際密碼算法在車(chē)載單片機(jī)上應(yīng)用的對(duì)比研究[J].信息網(wǎng)絡(luò)安全,2019(8):68-75.

WU Z H,ZHAO J N ,ZHU Y,et al. Comparative study on application of Chinese cryptographic algorithms and international cryptographic algorithms in vehicle microcotrollers [ J].Netinfo Security,2019(8):68-75 .(In Chinese)

[10] LIU JD,TIAN Y,WANG S H,et al. A fast new one-way cryptographic hash function [C]//2010 IEEE International Conference on Wireless Communications,Networking and Information Security.Beijing:IEEE ,2010:302-306.

[11]胡衛(wèi),吳邱涵,劉勝利,等.基于國(guó)密算法和區(qū)塊鏈的移動(dòng)端安全eID及認(rèn)證協(xié)議設(shè)計(jì)[J].信息網(wǎng)絡(luò)安全,2018(7):7-15.

HU W,WU Q H,LIU S L,et al. Design of secure eID and identity authentication agreement in mobile terminal based on Chinesecryptographic algorithm and blockchain[J].Netinfo Security,2018 (7):7-15 .(In Chinese)

[12]張平,陳長(zhǎng)松,胡紅鋼.基于分組密碼的認(rèn)證加密工作模式[J].信息網(wǎng)絡(luò)安全,2014(11):8-17.

ZHANG P,CHEN C S,HU H G. Authenticated encryption modes based on block ciphers[J] .Netinfo Security,2014(11):8-17.(In Chinese)

[13]李明,史國(guó)振,婁嘉鵬.基于密碼服務(wù)平臺(tái)的USB Key身份認(rèn)證方案[J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(9):288-291.

LI M,SHI G Z,LOU J P. USB Key identity authentication scheme based on encryption service platform[J] . Computer Applications and Software,2018,35(9):288-291 .(In Chinese)

[14]徐洪波,李穎華.DES加密算法在保護(hù)文件傳輸中數(shù)據(jù)安全的應(yīng)用[J].信息網(wǎng)絡(luò)安全,2009(6):24-26.

XU H B,LI Y H. The application of DES encryption algorithm to protect data security in the file transfer[J].Netinfo Security,2009 (6):24-26.(In Chinese)

[15]張金輝,郭曉彪,符鑫.AES加密算法分析及其在信息安全中的應(yīng)用[J].信息網(wǎng)絡(luò)安全,2011(5):31-33.

ZHANG J H,GUO X B,F(xiàn)U X. AES encryption algorithm analysis and the application in information security[J].Netinfo Security,2011(5):31-33.(In Chinese)

[16]崔光耀.打造國(guó)際市場(chǎng)安全中國(guó)造:解碼飛天誠(chéng)信國(guó)際化探索與實(shí)踐[J].中國(guó)信息安全,2018(10):74-76.

CUI G Y. To build international market security made in China—decoding the international exploration and practice of flying integrity[J]. China Information Security,2018(10):74-76.(In Chinese)

猜你喜歡
電網(wǎng)系統(tǒng)單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
智能電網(wǎng)要求下的20kV配網(wǎng)建設(shè)需求分析
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
電網(wǎng)系統(tǒng)中電氣自動(dòng)化應(yīng)用技術(shù)的研究
對(duì)預(yù)付費(fèi)客戶的抄核收管理
配電網(wǎng)運(yùn)維管理與建設(shè)改造原則
變壓器故障分析及預(yù)防對(duì)策
富蕴县| 凌云县| 肃北| 吴旗县| 阳朔县| 永济市| 林州市| 南溪县| 襄汾县| 宁国市| 邵东县| 乐业县| 巴马| 保定市| 满洲里市| 光山县| 枝江市| 马尔康县| 文昌市| 夏邑县| 镇赉县| 哈巴河县| 华坪县| 乐陵市| 曲沃县| 靖边县| 诸城市| 旬阳县| 秭归县| 依兰县| 汉阴县| 阳信县| 江川县| 防城港市| 平山县| 三门峡市| 乌兰县| 财经| 金塔县| 青海省| 安溪县|