龍蜥作業系統上玩轉銅鎖密碼庫

OpenAnolis小助手發表於2024-01-05

編者按:龍蜥作業系統 Anolis OS 支援多計算架構,也面向雲端場景最佳化,相容 CentOS 軟體生態,旨在為廣大開發者和運維人員提供穩定、高效能、安全、可靠、開源的作業系統服務。本文為龍蜥社群理事單位螞蟻集團技術專家張成龍,以阿里雲 ECS 為例,在 Anolis OS 8.8 系統上,安裝銅鎖並演示國密功能。

在  2023  年上半年銅鎖專案已經正式捐贈給了開放原子開源基金會,目前正處於孵化期。銅鎖專案作為開源的基礎密碼庫,希望能夠助力開源作業系統,為使用者提供密碼學基礎能力,解決密碼合規等問題。為方便在龍蜥作業系統上的使用者使用銅鎖密碼庫,目前已經基於  Tongsuo-8.3.3 原始碼構建 RPM 包,釋出到龍蜥軟體包倉庫,支援的架構包括 x86_64 和  Arm64。Tongsuo-8.3.3 主要包括以下更新:

  • 支援 SM4-NI 最佳化

  • 修復未檢查 OPENSSL_memdup 返回值問題

  • 修復多個 CVE 安全漏洞

  • SSL_connection_is_ntls 改成使用預讀方式判斷是否為 NTLS

下面以阿里雲 ECS 為例,在 Anolis OS 8.8 系統上,安裝銅鎖並演示國密功能。

實戰阿里雲 ECS + Anolis OS + 銅鎖

配置 ECS 作業系統時,選擇 Anoils OS 8.8,示例如下。

龍蜥作業系統上玩轉銅鎖密碼庫

登入 ECS 後,安裝銅鎖,步驟如下。

yum -y --enablerepo Plus install tongsuo

銅鎖安裝目錄為/opt/tongsuo/,安裝成功後,可以檢視銅鎖版本號:

/opt/tongsuo/bin/openssl version

國密協議初探

銅鎖支援國密安全傳輸協議 TLCP,使用銅鎖提供的客戶端程式,可以訪問支援 TLCP 協議的網站,如下所示:

/opt/tongsuo/bin/openssl s_client -connect ebssec.boc.cn:443 -ntls -enable_ntls

透過日誌可以看到握手成功,對應協議版本為 NTLSv1.1(即 TLCP 1.1),密碼套件為 ECC-SM2-SM4-CBC-SM3,截圖如下所示。

龍蜥作業系統上玩轉銅鎖密碼庫

生成隨機數

銅鎖支援基於 SM3 演算法的軟體隨機數發生器,符合密碼行業標準《GM/T 0105—2021 軟體隨機數發生器設計指南》,透過銅鎖命令列生成隨機數,如下所示。

/opt/tongsuo/bin/openssl rand -drbg_type sm3 -hex 128

相關連結:

銅鎖幫助文件:

銅鎖官網:

銅鎖程式碼倉庫

  • atomgit:

  • GitHub:

銅鎖(Tongsuo)是一個提供現代密碼學演算法和安全通訊協議的開源基礎密碼庫,為儲存、網路、金鑰管理、隱私計算、區塊鏈等諸多業務場景提供底層的密碼學基礎能力,實現資料在傳輸、使用、儲存等過程中的私密性、完整性和可認證性,為資料生命週期中的隱私和安全提供保護能力。

——完——


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70004278/viewspace-3002892/,如需轉載,請註明出處,否則將追究法律責任。

相關文章