亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SM2 算法的硬件數(shù)據(jù)加密研究

        2021-11-03 08:37:50王勢權吳長水
        農(nóng)業(yè)裝備與車輛工程 2021年10期

        王勢權,吳長水

        (201620 上海市 上海工程技術大學 機械與汽車工程學院)

        0 引言

        隨著號稱史上最嚴的國Ⅵ排放法規(guī)的發(fā)布,符合國Ⅵ標準的重型柴油車車載監(jiān)控終端必須采用非對稱加密算法對傳輸、存儲的數(shù)據(jù)進行加密[1]。為實現(xiàn)數(shù)據(jù)傳輸及存儲過程的加密,以往的做法常常是在設備中增加加密算法程序,但考慮到車載監(jiān)控終端所處的復雜運行環(huán)境,本文基于SM2算法,采用硬件加密芯片對公鑰、私鑰進行保護,在實現(xiàn)車載終端數(shù)據(jù)加密功能的同時,進行了耗時測試,保證了終端數(shù)據(jù)傳輸?shù)陌踩?、實時性。

        SM2 算法由國家密碼管理局于2010 年12 月17 日發(fā)布[2],是我國自主設計的公鑰密碼算法,基于更加安全先進的橢圓曲線密碼機制,在國際標準的ECC 橢圓曲線密碼理論基礎上進行自主研發(fā)設計,具備ECC 算法的性能特點并實現(xiàn)優(yōu)化改進。ECC 算法的單位安全強度遠高于RSA 算法,可以用較少的計算能力提供比RSA 算法更高的安全強度,而所需的密鑰長度卻遠比RSA 算法低[3]。目前,基于ECC 的SM2 證書普遍采用256 位密鑰長度,加密強度等同于3072 位RSA 證書,遠高于業(yè)界普遍采用的2 048 位RSA 證書[4]。為了提高安全強度,當不斷增加密鑰長度時,ECC 算法密鑰長度增長速度較慢(224-256-384),而RSA 算法密鑰長度則需呈倍數(shù)增長(1024-2048-4096)。

        1 SM2 算法加密原理

        1.1 SM2 算法加密、解密流程

        SM2 算法基于ECC 橢圓曲線密碼理論設計,推薦了一條256 位曲線作為標準曲線[5],數(shù)字簽名算法、密鑰交換協(xié)議以及公鑰加密算法根據(jù)SM2 總則選取的有限域和橢圓曲線生成密鑰對[6]。在數(shù)字簽名和驗證、消息認證碼的生成與驗證以及隨機數(shù)的生成等方面[7],使用國家密碼管理局批準的SM3 密碼雜湊算法和隨機數(shù)生成器[8]。

        根據(jù)國密推薦的SM2 橢圓曲線公鑰密碼算法,首先產(chǎn)生隨機數(shù)計算出曲線點C1,即2 個32 byte 的BIGNUM 大數(shù),為SM2 加密結果的第1 部分(C1);第2 部分(C2)是真正的密文,是對明文的加密結果,長度和明文一樣;第3 部分是雜湊值(C3),用來校驗數(shù)據(jù)。按國密推薦的256 位橢圓曲線,明文加密結果比原文長度增加96 字節(jié)。SM2 算法加密、解密流程如圖1 所示。

        圖1 SM2 算法加密解密示意圖Fig.1 SM2 Algorithm encryption and decryption diagram

        1.2 SM2 算法加密、解密算法驗證

        若要成功解密出原文,公鑰PB和私鑰dB必須是匹配的,即滿足

        在加密過程及解密過程中分別有

        又,C1=[k]G,[dB]C1=[dB][k]G=[k][dB]G=[k]PB

        即 PB=[dB]G。

        在加密和解密算法中,當(x2,y2)的值相等,加密和解密過程中的t 必定相等。密文M'=C2t可以還原原文M 的原理為

        表1 SM2 算法互逆運算Tab.1 SM2 Algorithm inversion of operations

        原文經(jīng)過兩次與同一比特串的異或計算,結果還是原文。SM2 算法成功解密的前提是使用與加密公鑰對應的私鑰,這樣通過密鑰派生函數(shù)計算出的異或比特串才能和加密時計算的異或比特串完全一致。

        2 通訊時序搭建

        2.1 加密芯片

        LKT4305-GM 是北京凌科芯安科技有限公司開發(fā)的以32 位安全處理器為基礎,具有高性能高安全性的國密算法加密產(chǎn)品。芯片滿足商密安全檢測標準GM/T 0008-2012《安全芯片密碼檢測標準》安全等級第2 級,具有高速通訊接口IIC 和SPI、擁有32KRAM,64K 字節(jié)文件密鑰區(qū)。支持SM1/SM2/SM3/SM4/SM7,RSA,SHA,AES,3DES 超高安全等級加密算法,具有高性能低功耗的特點。

        2.2 通訊時序模擬

        由于加密芯片集成自定義指令,同時為節(jié)省監(jiān)控終端主控芯片片上資源,采用模擬IIC 協(xié)議實現(xiàn)與加密芯片的通訊。模擬IIC 通訊時序的建立流程如圖2 所示。

        圖2 模擬IIC 通訊時序流程圖Fig.2 Analog IIC communication timing flowchart

        端口初始化:使能I/O 端口時鐘,配置IIC 時鐘SCL 與數(shù)據(jù)線SDA 為開漏輸出,端口速率設置為10 MHz,拉高SCL 與SDA,將IIC總線設置為空閑狀態(tài)。

        起始信號模擬:設置時鐘線SCL 以及數(shù)據(jù)線SDA 所在GPIO 端口為輸出模式,依次將SDA 與SCL設置為高電平,并延時5μs 后,再將數(shù)據(jù)線SDA 設置為低電平。

        終止信號模擬:設置數(shù)據(jù)線SDA 為輸出模式,將SDA 與SCL設置為低電平,首先將SCL 拉高,延時5μs 后再將SDA 拉高,最后釋放SCL 與SDA。

        SDA數(shù)據(jù)讀?。涸O置SDA數(shù)據(jù)線為輸入模式,在每次讀取SDA 電平狀態(tài)時,首先將SCL 設置為高電平,讀取SDA 數(shù)據(jù)線電平狀態(tài),若為高電平,在接收緩存變量最低位寫入1,反之寫入0,并將接收緩存變量左移1 位,依次接收8 位數(shù)據(jù),最后返回接收緩存變量的值。

        SDA 數(shù)據(jù)寫入:設置數(shù)據(jù)線SDA 與時鐘線SCL 為輸出模式,在發(fā)送每位數(shù)據(jù)之前,首先將SCL 設置為低電平,判斷所發(fā)送數(shù)據(jù)的最高位,若為1,將SDA 置為高電平,反之置為低電平,待該位電平發(fā)送后,將時鐘線SCL 設置為高電平狀態(tài),依次發(fā)送8 位數(shù)據(jù),待該字節(jié)發(fā)送完成后,釋放時鐘線SCL。

        3 數(shù)據(jù)結構的建立

        在LKT4035 中,數(shù)據(jù)以各種文件的形式進行存儲,以目錄的方式進行管理。文件管理器負責對所有文件的操作和訪問,文件管理系統(tǒng)設計的好壞直接影響著卡片的使用效率和功能。文件系統(tǒng)分兩個層次級別,分別是專有文件DF 和基本文件EF,最上層的DF 又稱為MF,組成一個類DOS 的層次結構。若要對文件系統(tǒng)中的某文件進行讀、寫操作,應先使用選擇命令指定相應的MF、DF 和EF。

        主控文件,即MF 文件,是整個系統(tǒng)的根文件,每張加密芯片有且只有一個主控文件,可存儲公共數(shù)據(jù)信息并為各種應用服務。目錄文件是在MF 下針對不同應用建立的專有文件,它存儲了某個應用的全部數(shù)據(jù)以及與應用操作相關的安全數(shù)據(jù)?;疚募挥贛F 文件之下,存儲了各種應用的數(shù)據(jù)和管理信息,其中安全基本文件(KEY File),包含用于用戶識別和與加密有關的密鑰數(shù)據(jù)(個人識別碼、密鑰等)。在每個MF 文件下,必須包含一個KEY 文件,且KEY 文件必須先被建立。本文所設計的硬件加密系統(tǒng)采用公鑰加密、私鑰解密的數(shù)據(jù)結構,創(chuàng)建數(shù)據(jù)結構的指令如表2 所示。

        表2 創(chuàng)建數(shù)據(jù)結構指令列表Tab.2 Create data structure command list

        4 加密解密測試與驗證

        4.1 加密解密測試

        Xshell 是一款功能強大的終端模擬器,支持SSH1,SSH2,SFTP,TELNET,RLOGIN 和SERIAL。本文使用STM32-Xshell6 訪問終端設備網(wǎng)絡地址,接收終端加密、解密數(shù)據(jù)信息,對所設計的硬件加密方法進行測試。測試后的結果如圖3 所示。

        圖3 加密與解密功能測試Fig.3 Encryption and decryption function testing

        如圖3 所示,首先在加密芯片中建立數(shù)據(jù)結構,創(chuàng)建主文件后,創(chuàng)建KEY 文件用于存儲加密數(shù)據(jù)信息,通過芯片生成SM2 加密算法公私鑰對,分別寫入共、私鑰文件。其中,寫入的私鑰文件中,0x64 為私鑰標識符,0x20 標識私鑰長度為32 個字節(jié);寫入的公鑰文件中,0x51 為公鑰標識符,0x40 標識公鑰的長度為64 個字節(jié),其中Qx,Qy 各占32 個字節(jié)。

        以數(shù)據(jù)包Data source 的為例:在加密過程中,0x002A 表示將要發(fā)送42 個字節(jié)的數(shù)據(jù),0x8046 為公鑰加密指令字符,0xEF02 為存放公鑰的文件地址,0x25 表示將要加密的數(shù)據(jù)包長度為37 個字節(jié),將數(shù)據(jù)包依字節(jié)傳入LKT4035,返回加密后的密文,密文長度在原數(shù)據(jù)的基礎上增加96 個字節(jié);在解密過程中,0x008a 表示將要發(fā)送138 個字節(jié)的數(shù)據(jù),0x8044 為私鑰解密指令字符,0xEF01 為存放私鑰的文件地址,0x85表示加密后的密文長度為133 個字節(jié),將密文傳入LKT4035,返回明文數(shù)據(jù)包。

        4.2 加密耗時測試

        該硬件加密方式主要為滿足國Ⅵ標準的遠程排放監(jiān)控終端與監(jiān)管平臺間的數(shù)據(jù)傳輸提供加密支持。在考慮實際工作環(huán)境下,監(jiān)控終端以每10 s 發(fā)送4 個數(shù)據(jù)包,且每個數(shù)據(jù)包相隔1 s 進行發(fā)送,通過監(jiān)管平臺讀取每個數(shù)據(jù)包所帶的時間戳來統(tǒng)計該加密方法耗時時間。數(shù)據(jù)包按照國Ⅵ標準要求的上傳信息進行發(fā)送,分別為加密的37 字節(jié)車輛行駛數(shù)據(jù)和120 字節(jié)車輛故障診斷OBD 數(shù)據(jù),余下2 組為未加密數(shù)據(jù)包,進行對照實驗。按照以上測試方法,對該硬件加密方法進行2 h 耗時測試,測試結果如圖4 所示。

        圖4 加密耗時測試結果Fig.4 Encryption time-consuming test results

        經(jīng)計算得出如表3所示的加密耗時統(tǒng)計數(shù)據(jù)。

        表3 加密耗時統(tǒng)計數(shù)據(jù)Tab.3 Encryption time-consuming statistics

        5 結語

        本文所設計的硬件加密方法為遠程數(shù)據(jù)加密傳輸提供了一種解決方案,該硬件加密采用國密SM2 非對稱算法,適用于嵌入式設備環(huán)境,加密性能可靠,采用模擬IIC 通訊,在節(jié)省片上資源的同時,保證了該加密方法的最大可移植性。

        精品女同一区二区三区| 国产乱子伦露脸在线| 99JK无码免费| 中文字幕一区二区三区6| 日本a级黄片免费观看| 五月色丁香婷婷网蜜臀av| 亚洲av成人一区二区三区| 伊人久久大香线蕉在观看| 亚洲va精品va国产va| 日韩精品乱码中文字幕| 人妻少妇精品久久久久久| 亚洲第一se情网站| 无码熟妇人妻AV影音先锋| 亚洲一区丝袜美腿在线观看| 成人av资源在线播放| 久久精品国产久精国产爱| 日本不卡一区二区三区在线| 久久水蜜桃亚洲av无码精品麻豆| 久久免费精品视频老逼| 国产91精品高潮白浆喷水| 中文字幕人妻被公上司喝醉| 国产黑色丝袜在线观看下| 精精国产xxx在线视频app| 熟女免费观看一区二区| 日韩精品无码一区二区| 亚洲av永久无码精品秋霞电影影院| 亚洲一区二区三区久久蜜桃| 日韩一级137片内射视频播放 | 欧美在线专区| 日本一区二区在线看看| 日韩精品人妻久久久一二三| 日韩中文字幕免费视频| 一区二区三区日韩亚洲中文视频| 日韩极品视频在线观看免费 | 中国人在线观看免费的视频播放| 国产精品中文久久久久久久| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 亚洲黄色在线看| 国产精品一区二区三区女同| 中文字幕一区二区人妻秘书| 熟妇丰满多毛的大隂户|