有人把國密演算法集成到 OpenSSL 里的么?


當然有
GitHub - guanzhi/GmSSL: 支持國密SM2/SM3/SM4演算法的OpenSSL分支

README.md 摘抄:

GmSSL (http://gmssl.org) 是支持國密演算法和標準的OpenSSL分支,是一個提供了豐富密碼學功能和安全功能的開源軟體包。在保持OpenSSL原有功能並實現和OpenSSL API兼容的基礎上,GmSSL新增多種密碼演算法、標準和協議,其中包括:

  • 橢圓曲線公鑰加密國際標準ECIES
  • 國密SM2橢圓曲線公鑰密碼標準,包含數字簽名演算法、公鑰加密演算法、密鑰交換協議及推薦橢圓曲線參數
  • 國密SM3密碼雜湊演算法、HMAC-SM3消息認證碼演算法、PBKDF2口令加密演算法
  • 國密SM4/SMS4分組密碼、ECB/CBC/CFB/OFB/CTR/GCM/FFX加密模式和CBC-MAC/CMAC消息認證碼演算法
  • 組合公鑰(CPK)身份密碼,可同時支持橢圓曲線國際標準演算法和國密標準演算法
  • 國密動態口令密碼規範
  • 祖沖之(ZUC)序列密碼

GmSSL還可以以安全中間件的方式訪問PCI-E密碼加速卡、USB Key等硬體密碼設備,為上層應用提供密鑰安全存儲、密碼計算硬體加速以及國密SM1分組密碼、國密SSF33分組密碼等硬體實現的保密演算法。GmSSL通過ENGINE機制支持符合不同介面規範的密碼設備:

  • 提供國密演算法和國密SKF介面規範實現的硬體密碼設備
  • 提供Windows Crypto API Provider的密碼硬體設備
  • 提供PKCS #11 (Cryptoki)介面實現的密碼硬體設備

GmSSL主要包含通用密碼庫libcrypto、SSL/TLS協議庫libssl和命令行工具gmssl。

除gmssl的命令行介面之外,GmSSL還通過libcrypto密碼庫提供原生的EVP API抽象密碼介面以及國密智能IC卡及智能密碼鑰匙密碼應用介面SKF API,以及通過JNI (Java Native Interface)本地介面實現的Java語言綁定。


為了便於商業軟體安全地採用GmSSL,GmSSL保持了和OpenSSL相似的BSD/Apache風格的許可證,因此閉源軟體或者商業軟體可以安全地在產品中採用GmSSL的代碼。自發布以來GmSSL榮獲開源中國(http://oschina.net)密碼類推薦開源項目、2015年度「一銘杯」中國Linux軟體大賽二等獎(該年度最高獎項)等獎勵和榮譽。


GmSSL項目目前由北京大學信息安全實驗室開發和維護,項目的長期目標是推動國產密碼演算法在國內互聯網和開源領域的廣泛應用,提高國內商用非涉密領域的自主密碼應用水平。


當然可以,把原有的RSA換成SM2,會話密鑰用SM1或SM4,密鑰保護用密碼卡,也就是VPN設備要加硬體加密設備。


肯定的,應該很多廠家都做到了。360還發布了一個國密專版瀏覽器,就是在https中用國密演算法!


可以,南京圖恩信息科技有限公司就做這塊的業務


有一個海泰瀏覽器也支持,而且也提供客戶演算法國密改造部分。vpn中添加一個國密卡也可以實現。在github上也有關於gmopenssl的代碼,可以在ubuntu虛擬機中使用,這部分樓上已經回答了,就不詳細說明了。


借題主地盤問下,怎麼考慮客戶端的支持呢?


推薦閱讀:

tls過程中,為何不用證書提供的公鑰加密數據或者加密私鑰,而要設計密鑰交換流程呢?
信息安全有哪些著名的期刊?
如何用人腦產生一個某範圍內隨機整數?
課堂上傳紙條如何防範中間人攻擊?

TAG:信息安全 | SSL | 密碼學 | 信息安全和密碼學 |