崗位職責(zé):
1. 模塊設(shè)計(jì)與開(kāi)發(fā):
? 負(fù)責(zé)設(shè)計(jì)并實(shí)現(xiàn)跨平臺(tái)(Linux/Windows)的端到端安全數(shù)據(jù)傳輸模塊。
? 核心功能包括但不限于:基于國(guó)密標(biāo)準(zhǔn)的密鑰協(xié)商(如SM2)、數(shù)據(jù)加密解密(如SM4)、散列運(yùn)算(SM3)、數(shù)字簽名與驗(yàn)證。
? 實(shí)現(xiàn)雙向身份認(rèn)證、前向保密等高級(jí)安全特性。
2. 國(guó)密算法集成與優(yōu)化:
? 集成并封裝國(guó)密算法庫(kù)(如GmSSL, TongSuo等),提供簡(jiǎn)潔高效的C++ API接口。
? 針對(duì)特定平臺(tái)(如x86/ARM)對(duì)國(guó)密算法進(jìn)行性能優(yōu)化,確保高并發(fā)場(chǎng)景下的吞吐量和低延遲。
3. 密鑰生命周期管理:
? 設(shè)計(jì)和實(shí)現(xiàn)完整的密鑰管理方案,包括密鑰的生成、存儲(chǔ)、協(xié)商、分發(fā)、更新和銷毀。
? 實(shí)現(xiàn)安全的密鑰協(xié)商協(xié)議(如基于SM2的密鑰交換協(xié)議),確保會(huì)話密鑰的安全下發(fā)與同步。
4. 協(xié)議與網(wǎng)絡(luò)集成:
? 可能涉及基于國(guó)密算法改造或自定義安全通信協(xié)議,并集成到現(xiàn)有的TCP/UDP長(zhǎng)連接/短連接框架中。
? 處理網(wǎng)絡(luò)通信中的粘包、斷線重連、心跳保活等機(jī)制,并確保其安全性。
5. 安全與代碼質(zhì)量:
? 編寫高質(zhì)量、可維護(hù)、可測(cè)試的代碼,并進(jìn)行嚴(yán)格的單元測(cè)試和集成測(cè)試。
? 具備強(qiáng)烈的安全意識(shí),代碼實(shí)現(xiàn)需能抵御常見(jiàn)的安全威脅(如中間人攻擊、重放攻擊等)。
? 編寫詳細(xì)的技術(shù)設(shè)計(jì)文檔和API接口文檔
崗位要求:
教育背景: 計(jì)算機(jī)科學(xué)、密碼學(xué)、信息安全或相關(guān)專業(yè)本科及以上學(xué)歷。
? 編程經(jīng)驗(yàn): 5年以上C++開(kāi)發(fā)經(jīng)驗(yàn),精通C++11/14/17標(biāo)準(zhǔn),具備扎實(shí)的編程功底和良好的面向?qū)ο笤O(shè)計(jì)思想。
? 密碼學(xué)基礎(chǔ):
? 深入了解密碼學(xué)基礎(chǔ)理論(對(duì)稱/非對(duì)稱加密、散列函數(shù)、數(shù)字簽名、數(shù)字證書等)。
? 具備國(guó)密算法(SM2, SM3, SM4, SM9) 的實(shí)戰(zhàn)開(kāi)發(fā)經(jīng)驗(yàn),熟悉其算法原理和應(yīng)用場(chǎng)景。
? 熟悉TLS/SSL協(xié)議原理,有使用或改造OpenSSL/GmSSL等密碼庫(kù)的經(jīng)驗(yàn)者優(yōu)先。
? 網(wǎng)絡(luò)編程: 精通Linux/Windows下的Socket網(wǎng)絡(luò)編程,對(duì)高性能網(wǎng)絡(luò)編程(I/O多路復(fù)用、線程池等)有深入理解和實(shí)踐經(jīng)驗(yàn)。
? 平臺(tái)經(jīng)驗(yàn): 豐富的跨平臺(tái)(Linux/Windows)開(kāi)發(fā)和調(diào)試經(jīng)驗(yàn),熟悉GCC/MSVC等編譯工具鏈。
? 工程能力: 熟練使用Git等版本控制工具,有良好的代碼規(guī)范和文檔習(xí)慣。
優(yōu)先考慮條件:
? 有大規(guī)模分布式系統(tǒng)安全通信模塊的開(kāi)發(fā)經(jīng)驗(yàn)。
? 對(duì)PKI/CA體系有深入了解,有X.509證書處理經(jīng)驗(yàn)。
? 熟悉側(cè)信道攻擊防護(hù)、白盒密碼等安全增強(qiáng)技術(shù)。
? 有過(guò)通過(guò)國(guó)家密碼檢測(cè)的商用密碼產(chǎn)品開(kāi)發(fā)經(jīng)驗(yàn)。