《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于硬件加密卡技術的RSA加密引擎的局部封裝
基于硬件加密卡技術的RSA加密引擎的局部封裝
來源:微型機與應用2011年第20期
徐 敏
(國網電力科學研究院, 江蘇 南京 210003)
摘要: 目前主流的VPN是通過SSL協商進行認證的,其在調用Openssl的加密引擎過程中帶來一個問題,即進行數據加密所使用的公鑰不是自身的密鑰,于是加密引擎不僅要有對私鑰解密進行硬件實現,還要有對公鑰加密實現原有算法調用的技術。本文介紹了目前主流的Openssl實現硬件RSA加密引擎僅對私鑰解密數據進行調用,而對于公鑰加密數據不調用的局部封裝方法,有著重要的實用價值。
Abstract:
Key words :

摘  要: 目前主流的VPN是通過SSL協商進行認證的,其在調用Openssl的加密引擎過程中帶來一個問題,即進行數據加密所使用的公鑰不是自身的密鑰,于是加密引擎不僅要有對私鑰解密進行硬件實現,還要有對公鑰加密實現原有算法調用的技術。本文介紹了目前主流的Openssl實現硬件RSA加密引擎僅對私鑰解密數據進行調用,而對于公鑰加密數據不調用的局部封裝方法,有著重要的實用價值。
關鍵詞: VPN;SSL協商;Openssl引擎;RSA加密

    目前,國家電網公司信息內外網邊界的各類業務接入對象已經越來越多地采用多種接入方式。傳統的內網專線模式已經遠遠不能滿足日益增長的辦公需要。隨著智能電網的普及,電網內部專線資源也逐漸對外網的接入提出了迫切的需求。因此對滿足內外網數據安全交互的VPN技術提出了更高的要求。Openssl以其開源、高效、安全的加密方式在數據加密的過程中發揮了巨大作用。但是由于SSL協議的特性,公鑰將會在服務器和客戶端直接傳遞,即進行數據加密所使用的公鑰是由對方傳遞來的,而不是自身的密鑰。這樣也帶來一個問題,傳統openssl加密引擎必須實現對于RSA引擎的局部調用,即只對需要RSA私鑰解密的數據進行硬件引擎的調用,而對于RSA公鑰加密的數據采用原來的軟加密方式不經過硬件引擎調用。
1 硬件RSA加密引擎主要技術
1.1 Openssl硬件加密引擎封裝技術[1]

  Openssl硬件引擎(Engine)能夠使用戶比較容易地將自己的硬件加入到Openssl中去,替換其提供的軟件算法。一個Engine提供了密碼計算中各種計算方法的集合,它用于控制Openssl的各種密碼計算。引擎機制的目的是為了使Openssl能夠透明地使用第三方提供的軟件加密卡或者硬件設備進行加密。換句話說就是對Openssl進行了一種“欺騙”,對于指定的一種算法,Openssl會自動用引擎內的方法對其實現加解密,然后默認其是由該算法進行加密的,而對于引擎內的具體實現不去關心。因此可以對引擎進行自定義式的實現,比如用硬件加密卡接口對其進行數據的加解密等,從而實現硬件加密卡與軟件數據流之間的交互。
1.2 RSA加密技術[2]
    RSA算法是一種非對稱密碼算法。所謂非對稱,就是指該算法需要一對密鑰,使用其中一個加密,而需要用另一個才能解密。RSA的算法涉及三個參數:n、e1、e2。其中,n是兩個大質數p、q的積,n的二進制表示鑰所占用的位數,就是所謂的密鑰長度。e1和e2是一對相關的值,e1可以任意取,但要求e1與(p-1)×(q-1)互質;再選擇e2,要求(e2×e1)mod((p-1)*(q-1))=1。(n及e1),(n及e2)就是密鑰對。RSA加解密的算法完全相同,設A為明文,B為密文,則:A=B^e1 mod n;B=A^e2 mod n;e1和e2可以互換使用,即:A=B^e2 mod n;B=A^e1 mod n。
2 RSA硬件加密引擎局部封裝技術
2.1 RSA加密引擎[3]

    RSA加密引擎是在vpn進行身份認證SSL協議握手時對私鑰解密部分進行硬件加密卡的調用,從而提高設備數據處理的效率。由于證書只能存放于加密卡內無法取出,可以做到一人一卡從而大大增加設備的安全性和防黑客攻擊的能力。如圖1所示,vpn采用Openssl框架進行加解密運算,用戶通過硬件加密key專用接口或通用CSP接口,使用硬件加密key對數據進行加解密,而不是采用Openssl默認的軟加密方式進行加解密。從而可以對程序的安全性有更好的保障,黑客在沒有獲得加密key的情況下,無法對數據進行加解密運算,也就保證了程序在應對黑客攻擊的過程中更加具有安全性。

2.2 傳統加密引擎封裝方法[4]
    傳統加密引擎封裝主要通過指定一個加密算法,對其進行替換處理,用來“欺騙”Openssl,例如圖2所示采用AES128算法進行替換,每當Openssl需要進行加解密并且判斷得知所采用的算法是AES128算法后,會自動放棄使用軟件加解密的方式。而通過接口調用硬件中的加解密函數,由于Openssl本身并不知道硬件中所采用的算法究竟是什么算法,因此相當于對Openssl進行了某種意義上的欺騙。Openssl默認該硬件加密卡采用了AES128算法進行了加解密,但是實際上采用的也許是用戶自定義的算法,從而實現了對AES128算法的替換。具體流程如圖2所示。

2.3 只封裝私鑰的RSA加密引擎
    在實際運用過程中,由于公私鑰不是同一臺電腦產生的,在vpn中客戶端使用的公鑰加密的公鑰是來自于服務端,因此在硬件key中不可能預先保存公鑰信息,對于公鑰加/解密不能一并用硬件引擎實現。由于Openssl是通過識別AES128算法來進行對硬件引擎的調用,其本身并不能識別出此次加/解密所用的密鑰是公鑰或是私鑰,因此公私鑰判斷并調用不同運算的過程只能在引擎封裝中實現。在引擎加密初始化時需要聲明如下:
     name_rsa.rsa_pub_enc = ossl_rsa_meth->rsa_pub_enc;
     name _rsa.rsa_pub_dec = ossl_rsa_meth->rsa_pub_dec;
其中ossl_rsa_meth->rsa_pub_enc表示openssl自身的公鑰加密算法,即不通過調用硬件引擎的軟加密算法,name_rsa.rsa_pub_enc表示該硬件引擎所要采用的公鑰加密算法,第一行代碼連起來的作用解釋為將Openssl自身的公鑰加密算法賦值給該硬件引擎所要采用的公鑰加密算法。通過此次賦值,硬件再次調用公鑰加密算法時,實際上又再次調用了軟加密方法,即相當于對硬件加密引擎也進行了一次“欺騙”,重新回到主程序調用硬件加密引擎前的狀態。第二行代碼與第一行代碼作用相似,只不過是將公鑰加密變為公鑰解密的算法。具體流程如圖3所示。

 

 

3 實驗結果
    本次實驗服務器性能如下:linux 64位操作系統、1 000 MB以太網卡、4 GB內存、E5300@2.60 GHz雙核CPU、高速PCI加密卡。
    本次實驗客戶機性能如下:Windows xp32位操作系統、1 000 MB以太網卡、4 GB內存、M520@2.4 GHz雙核CPU、高速加密USB key。
    實驗數據如表1所示,采用硬件RSA加密方式可以既安全又快速地完成SSL握手階段。如表2所示,在大規模海量客戶端接入時采用硬件RSA加密方式的優勢十分明顯。

    通過硬件實現vpn會話過程中的加解密具有快速、安全、抗攻擊等優點,但是傳統的硬件封裝技術只能對整體算法進行替換封裝,對于vpn中公私鑰不是同一套密鑰的情況,傳統的封裝方法顯然不能滿足要求,因此對硬件加密引擎進行局部封裝。本文提出的方法只封裝私鑰加解密部分,而對于公鑰加解密部分則重新調用原有軟加密算法進行加解密,實現了加密引擎封裝的靈活可靠性,并很好地解決了vpn中公私鑰分離的難點,對用硬件加密卡實現數據加密的VPN技術有著重要的實用價值。
參考文獻
[1] 陳宏標. 超長距離光傳輸系統設計[D]. 武漢:華中科技大學,2006.
[2] 朱柯嘉,楊青松,徐科,等.一種RSA算法的新型ASIC實現[J].復旦大學學報:自然科學版,2004,43(1):16-20.
[3] RIVEST R L.A method for obtaining digital signatures and public-key cryptosystems[D]. Communications of the ACM,1978,12.
[4] 宋磊,羅其亮,羅毅,等.電力系統實時數據通信加密方案[J].電力系統自動化,2004(14):76-81.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产老肥熟一区二区三区| 亚洲视频在线一区观看| 国产精品毛片在线看| 欧美裸体一区二区三区| 欧美成人精品1314www| 久久综合免费视频影院| 久久亚洲二区| 久久一区欧美| 美女视频黄 久久| 免费观看成人鲁鲁鲁鲁鲁视频| 久久这里有精品15一区二区三区| 久久久久国内| 久久嫩草精品久久久久| 久热爱精品视频线路一| 蜜桃av噜噜一区| 欧美顶级少妇做爰| 欧美日韩国产一级| 欧美色视频在线| 国产精品久久久久久久久久三级| 国产精品美女久久久浪潮软件| 国产精品男gay被猛男狂揉视频| 国产精品久久久久久久久果冻传媒| 国产精品免费视频xxxx| 国产九九精品| 一区二区三区在线视频观看 | 亚洲国产成人porn| 亚洲日本电影| 国产精品99久久久久久白浆小说| 亚洲一区二区三区中文字幕| 亚洲欧美一区二区视频| 久久精品二区| 99视频精品全国免费| 亚洲视频网站在线观看| 亚洲欧美日产图| 久久久国产一区二区三区| 老**午夜毛片一区二区三区| 欧美成人一区二区三区| 欧美小视频在线| 国产欧美日韩在线观看| 伊人久久婷婷| 一本色道久久综合亚洲精品按摩| 午夜精品久久久久久久蜜桃app | 91久久夜色精品国产九色| 一本久久综合| 欧美在线看片| 日韩午夜在线| 欧美影院视频| 欧美高潮视频| 国产精品网曝门| …久久精品99久久香蕉国产| 亚洲精品无人区| 香蕉成人伊视频在线观看| 91久久精品国产91久久性色tv | 国产精品二区三区四区| 黄色精品在线看| 一区二区三区四区五区在线| 新狼窝色av性久久久久久| 亚洲激情视频| 性欧美大战久久久久久久久| 欧美88av| 国产精一区二区三区| 亚洲国产三级| 欧美一级视频免费在线观看| 99精品福利视频| 久久精品九九| 欧美天天视频| 亚洲激情在线视频| 欧美一区二视频| 亚洲欧美激情在线视频| 女女同性女同一区二区三区91| 国产精品v一区二区三区| 亚洲国产精彩中文乱码av在线播放| 亚洲一区在线免费观看| 亚洲精品资源| 久久人人爽爽爽人久久久| 欧美午夜欧美| 最新国产の精品合集bt伙计| 欧美一级理论性理论a| 亚洲色图自拍| 美女视频黄免费的久久| 国产欧美日韩免费| 一区二区三区四区五区精品视频| 亚洲精品一区二区三区在线观看 | 亚洲精品一区二区三区不| 欧美在线啊v| 国产精品国产三级国产aⅴ无密码| 亚洲二区视频在线| 欧美自拍偷拍午夜视频| 午夜精品免费| 欧美午夜精品久久久久久久| 亚洲精品国产精品国自产在线 | 国产一区二区三区免费观看| 国产精品99久久久久久宅男| 99re国产精品| 欧美激情第3页| 在线看日韩av| 亚洲大胆人体在线| 久久精品视频免费| 国产精品一国产精品k频道56| 一区二区三区高清视频在线观看| 日韩视频在线观看国产| 欧美成人a∨高清免费观看| 黄色日韩精品| 亚洲国产91精品在线观看| 欧美亚洲综合在线| 国产精品视频福利| 亚洲一区二区在线播放| 亚洲综合999| 国产精品久久久久久久一区探花| 99热精品在线| 亚洲一区二区视频| 国产精品观看| 亚洲一区二区三区四区在线观看| 亚洲午夜在线观看| 国产精品高潮粉嫩av| 一区二区三区精品| 亚洲一区影院| 国产精品欧美激情| 午夜国产一区| 久久精品亚洲一区| 韩国女主播一区| 亚洲盗摄视频| 男女激情视频一区| 亚洲电影免费观看高清完整版在线 | 久久男人资源视频| 在线看欧美日韩| 亚洲三级影片| 欧美日韩四区| 亚洲一线二线三线久久久| 午夜欧美不卡精品aaaaa| 国产精品美女久久久久aⅴ国产馆| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 极品尤物一区二区三区| 亚洲第一区在线观看| 免播放器亚洲一区| 亚洲国产精品黑人久久久| 99精品视频免费观看视频| 欧美三级网址| 午夜久久电影网| 美国十次成人| 亚洲美女中出| 亚洲欧美在线aaa| 国产视频在线一区二区| 亚洲电影观看| 欧美日韩国产黄| 亚洲一区二区毛片| 久久久久久久久久久久久9999| 狠狠色综合色区| 亚洲精品一区久久久久久| 欧美日韩精品高清| 亚洲一品av免费观看| 久久久蜜臀国产一区二区| 亚洲国产精品黑人久久久| 一区二区三区视频在线看| 国产精品久久久久久妇女6080| 欧美一级专区| 欧美精品高清视频| 亚洲一区二区免费视频| 久久综合狠狠综合久久综合88| 亚洲人成免费| 欧美在线视频一区| 亚洲国产一区二区视频| 亚洲免费影视| 伊人久久成人| 亚洲伊人观看| 在线国产亚洲欧美| 亚洲一品av免费观看| 国产日韩欧美| 亚洲最新视频在线播放| 国产精品日日摸夜夜添夜夜av| 久久精品国产免费看久久精品| 欧美日韩国产欧美日美国产精品| 午夜精品久久久久久久99黑人| 欧美 日韩 国产精品免费观看| 亚洲香蕉伊综合在人在线视看| 久久综合网色—综合色88| 99国产精品国产精品毛片| 久久人人97超碰国产公开结果| 亚洲美女啪啪| 美女视频网站黄色亚洲| 一区二区三区 在线观看视频| 噜噜噜噜噜久久久久久91| 一区二区三区日韩欧美精品| 久久婷婷综合激情| 亚洲午夜精品国产| 欧美黑人一区二区三区| 亚洲欧美欧美一区二区三区| 欧美国产日韩在线| 欧美一区二区三区视频免费播放 | 在线电影一区| 欧美在线观看www| 99视频精品全部免费在线| 久久亚洲综合色| 亚洲自拍另类| 国产精品h在线观看| 最新日韩中文字幕| 国产精品自拍在线| 中文亚洲欧美| 91久久一区二区| 你懂的视频一区二区|