新四季網

snmp設置啟用還是禁用(技術乾貨使用)

2023-04-18 02:25:30

隨著移動智能終端的廣泛應用,敏感信息極易被監控或盜取,給國家、企事業及個人帶來極大政治、經濟損失。金融和重要領域的各個企業正在逐步落實並完成國產密碼改造工作。部分使用 mPaaS 框架的用戶,因早期大多數都是在網關配置的 RSA 加密或者 ECC 加密,在政策要求下,都需要更改網關加密算法為國密。

為解決客戶側因更換加密算法造成的種種不便,mPaaS 現已支持移動網關服務兼容多種加密方式。本文將就如何生成 SM2 密鑰以及完成 mPaaS 配置等問題展開詳細的說明。

生成 SM2 國密1.1. Mac OS下

Mac OSX 一般自帶的有 OpenSSL。但因為 OpenSSL「心臟病失血」事件,Mac OSX 自 10.11 El Capitan 起,將原有的 OpenSSL 替換為 LibreSSL。

在以上這些系統中應該除了實測必須要用 OpenSSL 軟體外,應該都可以用 LibreSSL 取代 OpenSSL。而對於其他大多數還沒有將系統自帶的 OpenSSL 替換為 LibreSSL 會麻煩一些,並且也可能做不到徹底替換。

只是對於編譯安裝的軟體,可以儘量用 LibreSSL 取代 OpenSSL。(其他用 LibreSSL 取代 OpenSSL的系統還有:OpenBSD 自 5.6 起,Alpine Linux 自 3.5.0 起)

所以 Mac 下 OpenSSL 生成 SM2 密鑰就需要自己安裝 OpenSSL,網上有方式直接更改替換 Mac OS 自帶的 LibreSSL,這裡為了不影響 Mac 使用者的日常正常使用,不使用這種方式,而是在 Mac 上 download 一個 OpenSSL 版本安裝、解壓後單獨使用,完全不會影響原有的 LibreSSL。

以 openssl 1.1.1d 實現為例:

STEP1 下載openssl源碼

curl -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz

STEP2 解壓源碼包

tar -xvf openssl-1.1.1d.tar.gz

STEP3 進入解壓的 openssl 目錄

cd openssl-1.1.1d

STEP4 配置生成 makefile

./config --prefix=/usr/local/openssl

STEP5 安裝

//這裡用了sudo 需要輸入電腦密碼,為了保證不會因為權限不足而安裝報錯sudo make install

STEP6 設置 openssl lib .so 加載配置

//此步驟可以忽略,so加載配置與否不影響使用生成SM2echo "/usr/local/openssl/lib" >> /etc/ld.so.confldconfig -v

STEP7 生成SM2密鑰

i. 進入生成密鑰文件的目錄,執行以下命令生成私鑰

/usr/local/openssl/bin/openssl ecparam -genkey -name SM2 -out SM2PrivateKey.pem

ii. 進入生成密鑰文件的目錄,生成公鑰

/usr/local/openssl/bin/openssl ec -in SM2PrivateKey.pem -pubout -out SM2PublicKey.pem

1.2. Windows下

同樣 Windows 也是需要一些途徑才能生成 SM2 國密密鑰。

OpenSSL 官網沒有提供 Windows 版本的安裝包,可以選擇其他開源平臺提供的工具。下載地址:http://slproweb.com/products/Win32OpenSSL.html

STEP1 下載工具

選擇 32 位或者 64 位合適的版本下載,例如 Win64OpenSSL_Light-1_0_2h.exe。

STEP2 安裝 Win64OpenSSL 軟體

設置環境變量,自行確定安裝位置。

STEP3 打開 Win64OpenSSL 軟體,運行以下命令:

ecparam -genkey -name SM2 -out priv.key

ec -in priv.key -pubout -out pub.key

配置 mPaaS 國密1. 初次配置加密

1.1. 開發平臺配置

STEP1 登錄 mPaaS 控制臺 -> 移動網關 -> 網關管理 -> 數據加密 -> 打開

STEP2 打開後會彈出選擇加密方式和密鑰的彈出,選擇 SM2 並填寫對應的私鑰密鑰。

1.2. 客戶端配置

1.2.1. iOS端

iOS客戶端的加密方式和公鑰是配置在info.plist下的,詳情見圖

其中:

mPaaSCrypt:加密配置的主 key,value 是 Dictionary 類型,裡面包含了客戶端加密所需設置的相關信息。Crypt:是否進行加密,value 是 Boolean 類型,YES 代表加密,NO 代表不加密。GWWhiteList: 需要進行加密的網關,即當前環境的網關地址。如果沒有該 key ,則所有的請求 都不會加密。RSA/ECC/SM2:非對稱加密算法選擇,value 是 String 類型,只能填 RSA 或 ECC 或 SM2。PubKey:非對稱加密公鑰。value 是 String 類型,與選擇的非對稱加密算法保持一致。

註:iOS端PubKey 的格式必須攜帶 -----BEGIN PUBLIC KEY----- 及 -----END PUBLIC KEY-----。不允許有空格、自行換行等,格式不可錯誤。

1.2.2. Android端

Android 端的加密方式和公鑰是配置在mpaas_netconfig.properties 文件下,如圖:

其中:

Crypt:表示是否使用自加密,true 表示使用,false 表示關閉自加密功能。RSA/ECC/SM2:表示要使用的非對稱加密算法,其值只能填充 RSA 或 ECC 或 SM2。PubKey:表示選擇的非對稱加密算法的公鑰。GWWhiteList: 需要進行加密的網關,即當前環境的網關地址。如果沒有該 key ,則所有的請求都不會加密。

註:由於 Android 中 properties 文件的 value 值需要在同一行,因此填充公鑰時需注意。

2.更換配置加密

2.1. 開發平臺配置(註:MGS 版本需 >=1.34.10)

STEP1 打開移動開發平臺->移動網關->網關管理:當前網關已經開啟了數據加密(這裡示例是RSA)

STEP2 這時更換國密,需要提前準備一對已生成的 SM2 公、私鑰。參考:http://help.aliyun.com/document_detail/64281.htm

STEP3 在控制臺-網關管理下,先關閉數據加密,再立刻開啟數據加密,這裡會出現重新選擇加密算法和填寫對應密鑰的彈窗,如下圖:

註:必須要先關閉再開啟,所以請務必先提前生成好對應的 SM2 公、私鑰,且保證正確性和正確格式。

STEP4 將 SM2 的私鑰按正確格式填寫到輸入框內,點擊提交。之後就能在這裡看到已經配置好的兩種加密方式:

介此,網關更換密鑰操作已完成。

2.2. 客戶端配置

2.2.1. iOS端

STEP1 iOS 客戶端的加密方式和公鑰是配置在 info.plist 下的,詳情見圖:

STEP2 此時將已生成好的 SM2 公鑰按正確格式替換上述 info.plist 裡 PubKey 的 value,加密算法更改為 SM2。

介此,iOS 端加密方式和公鑰也已更換完畢。

2.2.2. Android端

STEP1 Android 端的加密方式和公鑰是配置在 mpaas_netconfig.properties 文件下的,如圖:

STEP2 此時將已生成好的 SM2 公鑰按正確格式替換上述 mpaas_netconfig.properties 裡的對應 value,更換後如下圖:

介此,Android 端加密方式和公鑰已更換完畢。

2.3. 小結

此時服務端和客戶端均已更換加密方式完畢,舊版 App 依然可以正常訪問網關,新版 App 也是可以正常訪問網關的,後續需要等待舊版App用戶完全升級後,修改掉網關舊的加密方式即可,當然一直保留也可以的。

結語

從生成自己的國密 SM2,到完整配置加密方式。客戶端到 mPaaS 網關已滿足各項政策對 App 數據加密方式的要求。

同時 mPaaS 團隊也將在更完備支持全鏈路國密的道路上,而努力前進。後續會發布更全面、更方便、更深層次的國密支持方案。

本文作者:阿里雲 mPaaS TAM 團隊(御雪 榮陽)

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了