• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      服務(wù)器密碼機對稱加解密及會話密鑰導入導出測試方法研究

      2019-07-10 12:24:02曹黎敏
      關(guān)鍵詞:句柄加解密正確性

      ◆曹黎敏

      ?

      服務(wù)器密碼機對稱加解密及會話密鑰導入導出測試方法研究

      ◆曹黎敏

      (無錫航天江南數(shù)據(jù)系統(tǒng)科技有限公司 江蘇 214122)

      網(wǎng)絡(luò)與信息安全是國家信息化戰(zhàn)略的重要組成部分,其中密碼工作直接關(guān)系國家政治安全、經(jīng)濟安全、國防安全和信息安全。隨著國家對網(wǎng)絡(luò)信息安全的重視,對密碼產(chǎn)品的功能要求也越來越嚴格,本文針對服務(wù)器密碼機對稱加解密,會話密鑰導入導出功能提出了測試思路

      服務(wù)器密碼機;對稱加解密;會話密鑰;句柄

      0 引言

      服務(wù)器密碼機是按照《GM/T 0030-2014 服務(wù)器密碼機技術(shù)規(guī)范》要求設(shè)計的密碼產(chǎn)品,能夠?qū)ν馓峁ΨQ加解密[1][2][3](SM1、SM4算法)功能,對稱加解密算法的密鑰為會話密鑰,該密鑰是在密碼機內(nèi)部臨時生成存儲的,使用完成后需要銷毀,根據(jù)《GM/T 0018-2012密碼設(shè)備應(yīng)用接口規(guī)范》說明,用戶不能獲取會話密鑰明文,而是通過句柄的形式來使用會話密鑰的,且在使用過程中會涉及會話密鑰的導入導出(密文)。導入導出應(yīng)用場景:通信雙方A、B使用會話密鑰進行加解密通訊前,A生成會話密鑰并將會話密鑰加密導出,B導入后解密使用。導出操作得到的是會話密鑰密文和本會話密鑰本地存儲的句柄,導入操作得到的是會話密鑰句柄。

      1 傳統(tǒng)測試說明

      傳統(tǒng)的功能測試過程中,將對稱加解密算法和會話密鑰導出導入操作作為兩個獨立的功能進行驗證,并不能驗證會話密鑰導出導入后是否保持不變,該功能一般只能在設(shè)備互聯(lián)互通測試過程中驗證,使得發(fā)現(xiàn)問題的時機滯后,導致代碼更動工作量增加。

      2 解決方法

      本測試方法能夠在密碼機軟件研制過程中,使用一臺密碼機快速有效地驗證會話密鑰導出導入過程的正確性和導出導入后會話密鑰的正確性,同時驗證對稱加解密算法的正確性。涉及的導入導出過程可以分為以下三類:

      2.1 密鑰加密密鑰加密導出導入會話密鑰正確性驗證。

      圖1 密鑰加密密鑰加密導出導入會話密鑰驗證流程

      步驟1:調(diào)用標準接口“生成會話密鑰并用密鑰加密密鑰加密輸出”SDF_GenerateKeyWithKEK(void *hSessionHandle, unsigned int uiKeyBits, unsigned int uiAlgID,unsigned int uiKEKIndex, unsigned char *pucKey, unsigned int *pucKeyLength, void **phKeyHandle),得到會話密鑰密文pucKey[],以及該會話密鑰在密碼機中的句柄hKeyHandle1=*phKeyHandle。

      步驟2:將步驟1中得到的密文pucKey[]作為輸入,調(diào)用標準接口“導入會話密鑰并用密鑰加密密鑰解密”SDF_ImportKeyWithKEK(void *hSessionHandle, unsigned int uiAlgID,unsigned int uiKEKIndex, unsigned char *pucKey, unsigned int uiKeyLength, void **phKeyHandle),得到導入會話密鑰在密碼機中的句柄hKeyHandle2=*phKeyHandle。

      步驟3:選定一組明文數(shù)據(jù),作為輸入pucData[],將步驟1得到的會話密鑰句柄hKeyHandle1作為輸入hKeyHandle,調(diào)用“對稱加密”SDF_Encrypt(void *hSessionHandle,void *hKeyHandle,unsigned int uiAlgID,unsigned char *pucIV,unsigned char *pucData,unsigned int uiDataLength,unsigned char *pucEncData,unsigned int *puiEncDataLength)得到對稱加密后的數(shù)據(jù)pucEncData[]。

      步驟4:將步驟2得到的會話密鑰句柄hKeyHandle1作為輸入hKeyHandle,將步驟3得到的對稱加密后的數(shù)據(jù)pucEncData[]作為輸入pucEncData,調(diào)用“對稱解密”SDF_Decrypt(void *hSessionHandle,void *hKeyHandle,unsigned int uiAlgID,unsigned char *pucIV,unsigned char *pucEncData,unsigned int uiEncDataLength, unsigned char *pucData,unsigned int *puiDataLength)得到解密數(shù)據(jù)pucData[]。

      步驟5:比較步驟3的輸入數(shù)據(jù)(對稱加密前的明文數(shù)據(jù))和步驟4的輸出數(shù)據(jù)(解密得到的解密數(shù)據(jù))pucData[]是否一致。一致說明對稱加解密功能正確,使用的會話密鑰相同,使用密鑰加密密鑰導出導入會話密鑰功能正確。

      步驟6:調(diào)用SDF_DestroyKey(void *hSessionHandle, void *hKeyHandle)銷毀上述會話密鑰。

      注意:

      ①步驟1、步驟2中使用的算法uiAlgID要保持一致,且測試時需要考慮多種算法情況;

      ②步驟3、步驟4中使用的算法uiAlgID要保持一致;

      ③所有的會話密鑰均需要銷毀。

      2.2 生成會話密鑰并用外部ECC公鑰加密[4]輸出、導入會話密鑰并用內(nèi)部ECC私鑰解密正確性驗證。

      測試步驟同樣是上述6個步驟,只是測試步驟1、2調(diào)用的標準接口分別為“生成會話密鑰并用外部ECC公鑰加密輸出”SDF_GenerateKeyWithEPK_ECC(void *hSessionHandle, unsigned int uiKeyBits, unsigned int uiAlgID, ECCrefPublicKey *pucPublicKey,ECCCipher *pucKey, void **phKeyHandle)和“導入會話密鑰并用內(nèi)部ECC私鑰解密”SDF_ImportKeyWithISK_ECC(void*hSessionHandle, unsigned int uiISKIndex, ECCCipher *pucKey,void** phKeyHandle)。

      注意:步驟1的外部公鑰pucPublicKey與步驟2用的ID號為uiISKIndex的私鑰必須為一對。

      2.3 生成會話密鑰并用內(nèi)部ECC公鑰加密[4]輸出、導入會話密鑰并用內(nèi)部ECC私鑰解密正確性驗證。

      測試步驟同樣是上述6個步驟,只是測試步驟1、2調(diào)用的標準接口分別為“生成會話密鑰并用內(nèi)部ECC公鑰加密輸出”SDF_GenerateKeyWithIPK_ECC(void *hSessionHandle, unsigned int uiIPKIndex, unsigned int uiKeyBits, ECCCipher *pucKey,void **phKeyHandle)和“導入會話密鑰并用內(nèi)部ECC私鑰解密”SDF_ImportKeyWithISK_ECC(void *hSessionHandle, unsigned int uiISKIndex, ECCCipher *pucKey, void** phKeyHandle)。

      注意:步驟1和步驟2用的密鑰ID號uiIPKIndex和uiISKIndex必須保持一致。

      3 結(jié)語

      對稱加解密功能屬于服務(wù)器密碼機的基本功能,也是數(shù)據(jù)加密通信的基礎(chǔ),文中從算法正確性和會話密鑰導出導入正確性兩個方面入手,總結(jié)了多種導出導入會話密鑰的正確性驗證方法,包括使用密鑰加密密鑰導出導入,外部公鑰導出、內(nèi)部私鑰導入,內(nèi)部公鑰導出、內(nèi)部私鑰導入會話密鑰的情況,供大家討論參考。

      [1]王曉霞.關(guān)于密碼學技術(shù)應(yīng)用于網(wǎng)絡(luò)信息安全的分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(02):17-18.

      [2]劉倍雄,肖巧玲,張毅,陳孟祥.基于優(yōu)化對稱加密算法的網(wǎng)絡(luò)密碼安全傳輸研究[J].信息與電腦(理論版),2018(22):55-59.

      [3]董永為.數(shù)據(jù)加密技術(shù)在計算機網(wǎng)絡(luò)通信安全中的應(yīng)用分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(04):39-40.

      [4]趙夢婷,李斌勇,李文皓,閻澤誠,高家奇,齊佳昕,廖懷凱.ECC加密算法分析及應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(12):35-36.

      猜你喜歡
      句柄加解密正確性
      一種基于系統(tǒng)穩(wěn)定性和正確性的定位導航方法研究
      高校圖書館持久標識符應(yīng)用研究
      PDF中隱私數(shù)據(jù)的保護方法
      軟件導刊(2017年4期)2017-06-20 20:35:24
      編譯程序語法分析句柄問題分析與探討
      淺談如何提高水質(zhì)檢測結(jié)果準確性
      電子取證中常見數(shù)據(jù)加解密理論與方法研究
      基于FPGA的LFSR異步加解密系統(tǒng)
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設(shè)計方法
      MFC應(yīng)用程序多線程混合顯示界面方法研究
      網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)募咏饷芟到y(tǒng)研究
      軟件工程(2014年11期)2014-11-15 20:02:46
      湄潭县| 巴彦淖尔市| 平江县| 广水市| 曲水县| 东辽县| 安义县| 集贤县| 庐江县| 繁昌县| 开封县| 安康市| 长春市| 满洲里市| 石楼县| 邯郸市| 宝鸡市| 玉龙| 南城县| 赤峰市| 玛纳斯县| 高阳县| 永川市| 平昌县| 岑巩县| 伊金霍洛旗| 吐鲁番市| 延庆县| 巴塘县| 宣汉县| 安陆市| 高碑店市| 县级市| 郯城县| 房产| 焦作市| 南投县| 河池市| 阿拉尔市| 古丈县| 元阳县|