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