密碼是保障網(wǎng)絡與信息安全的核心技術。《商用密碼與安全性評估》將Java開發(fā)與信息系統(tǒng)的密碼應用建設、密評相結合,對典型密碼應用場景的軟件編碼實現(xiàn)、涉及的主流密碼產(chǎn)品以及安全性評估方法進行了介紹和實踐。全書共9章,包括密碼技術發(fā)展與架構、密碼技術實現(xiàn)基礎、數(shù)據(jù)完整性保護與雜湊算法、數(shù)據(jù)加密保護與對稱密碼算法、用戶身份認證與公鑰密碼算法、通信安全與密碼協(xié)議、口令加密和密鑰交換、密碼應用方案設計和商用密碼應用安全性評估等內(nèi)容。
《商用密碼與安全性評估》適用于信息系統(tǒng)安全建設的從業(yè)人員閱讀,可為其在信息系統(tǒng)合規(guī),正確、有效使用密碼等方面提供指導;也可作為軟件開發(fā)程序員、密碼產(chǎn)品的研發(fā)人員和密碼測評人員的參考書。
《商用密碼與安全性評估》融合了信息安全行業(yè)資深技術專家多年經(jīng)驗,將Java開發(fā)與信息系統(tǒng)的密碼應用建設、密評相結合,對典型密碼應用場景的軟件編碼實現(xiàn)、涉及的主流密碼產(chǎn)品以及安全性評估方法進行了介紹和實踐。理論講解由淺入深、注重編程實踐,語言簡練、內(nèi)容實用。書中操作部分配有二維碼視頻,使讀者身臨其境,迅速、深入地掌握各種經(jīng)驗和技巧。
《中華人民共和國電子簽名法》于2005年4月1日開始施行,這是中國首部真正的有關電子商務環(huán)節(jié)的立法,自此電子簽名和手寫簽名具有同等的法律效力。電子簽名作為典型的密碼技術應用之一,有力推進了電子商務和電子交易的發(fā)展。
密碼技術隨著等級保護2.0 和移動互聯(lián)網(wǎng)的推進和深入,已經(jīng)越來越受到重視!吨腥A人民共和國密碼法》的頒布與實施,使得建設密碼安全的應用系統(tǒng)有了新的標準和依據(jù)!吨腥A人民共和國數(shù)據(jù)安全法》和《中華人民共和國個人信息保護法》等相關的法律法規(guī)的出臺,也對數(shù)據(jù)的安全性提出了具體的要求,而要完成這些安全要求,也必須借助密碼技術。
本書從密碼應用的選擇算法問題、有效使用密碼技術問題和正確使用密碼技術出發(fā),以商用密碼技術為基礎,通過一個個鮮活的案例對密碼基礎、密鑰管理、常用的密碼算法以及密鑰交換協(xié)議等進行了分析,并對加/解密、完整性、身份鑒別和不可否認等典型密碼技術應用場景、主流產(chǎn)品、軟件編碼進行了介紹或?qū)崿F(xiàn),為促進各企事業(yè)單位信息化建設工作合規(guī)、正確、有效地使用商用密碼技術,促進商用密碼推廣提供借鑒和指導。
全書共三個部分。第一部分為密碼技術基礎,即第1章,主要介紹密碼技術發(fā)展與架構,包括密碼技術的發(fā)展、密碼定義、密碼術語、密碼分類等,還介紹了密碼應用的目標和相關政策與標準,然后介紹了密碼通用架構,通過技術框架展開密碼技術、密碼產(chǎn)品和密碼服務的定位和適用場景。第二部分為密碼技術實踐,涉及第2章~第7章,第2章介紹密碼技術實現(xiàn)基礎,主要包括實踐環(huán)境的準備、Java實踐環(huán)境的驗證、算法信息和參數(shù)的獲取和表示方法;第3章介紹數(shù)據(jù)完整性保護與雜湊算法,既有算法原理的講解也有算法的編碼實現(xiàn);第4章是數(shù)據(jù)加密保護與對稱密碼算法,介紹了序列算法和分組算法的原理和編碼實現(xiàn);第5章介紹了用戶身份認證與公鑰密碼算法;第6章介紹了通信安全與密碼協(xié)議,主要包括SSL和IPSec兩個主流的密碼協(xié)議;第7章介紹的是口令加密和密鑰交換,除了介紹算法編碼實現(xiàn),還介紹了它們的應用場景。第三部分為密碼應用安全與合規(guī),包括第8章和第9章,介紹用密碼技術建設合規(guī)應用以及密碼安全性評估,主要包括密碼應用的設計、安全需求分析方法和密碼應用的評估。評估主要介紹了密評的發(fā)展、政策依據(jù)與測評流程方法。附錄為主要密碼技術的常用信息匯總和標準規(guī)范的算法屬性等,方便讀者查詢。
編者為了推廣商用密碼技術,促進商用密碼技術合規(guī)、正確和有效應用,特編寫本書,希望能給各類企業(yè)或政府機關的信息化建設人員提供一個使用密碼技術的指導建議,也給從事密評工作的安全評估人員提供一本技術和政策的參考用書。密碼使用者能通過本書真正明白各種密碼技術和算法是如何正確使用的,做到安全、有效、正確地使用密碼技術、產(chǎn)品和服務,這是本書的目標。
由于密碼技術涉及的方面較多,知識面廣,再加上編者個人認知能力的局限性,錯漏之處在所難免。如果書中有不足之處,還望讀者能批評指正,給出寶貴意見。
感謝中電信數(shù)智科技有限公司安全評測業(yè)務部的支持,使編者能夠?qū)⒚茉u工作的點滴匯聚成本書;感謝在本書編寫過程中提供了寶貴建議的安全評測業(yè)務部的領導和同事,以下姓名排名不分先后: 黃鵬、邱杰、李景清、徐趙虎、烏明軒、徐曉燕;感謝家人的支持,因為平時工作任務較重,寫作只能在業(yè)余時間完成,幸有家人的理解。
編 者
徐巖柏,現(xiàn)擔任中電信數(shù)智科技有限公司(安全測評中心)技術專家,主要專注于密碼工具研發(fā)、密碼測評、等級保護、數(shù)據(jù)安全等領域的研究。
王建峰,現(xiàn)擔任中電信數(shù)智科技有限公司(安全測評中心)技術專家,主要專注于密碼測評、等級保護、網(wǎng)信安全審計、數(shù)據(jù)安全等領域的研究。
出版說明
前言
第1章密碼技術發(fā)展與架構
1.1 密碼發(fā)展歷程
1.1.1 密碼的發(fā)展與應用
1.1.2 密碼定義、術語和分類
1.2 密碼應用目標與政策
1.2.1 密碼應用的目標
1.2.2 密碼應用與網(wǎng)絡空間
1.2.3 密碼應用與社會經(jīng)濟
1.2.4 密碼應用與國防安全
1.2.5 我國密碼政策與標準
1.3 密碼通用架構
1.3.1 密碼應用技術框架
1.3.2 基礎密碼架構
1.3.3 密碼產(chǎn)品架構
1.3.4 密碼服務架構
第2章密碼技術實現(xiàn)基礎
2.1 密碼技術實踐環(huán)境
2.1.1 直接將BC庫添加到JRE環(huán)境
2.1.2 在項目工程中引用添加BC庫
2.2 Java密碼實踐環(huán)境驗證
2.3 算法信息獲取
2.4 安全隨機數(shù)
2.4.1 偽隨機數(shù)與真隨機數(shù)
2.4.2 安全隨機數(shù)產(chǎn)生
2.4.3 客戶端安全隨機數(shù)產(chǎn)生實踐
2.4.4 服務器端安全隨機數(shù)產(chǎn)生實踐
2.5 密碼關鍵數(shù)據(jù)的表示方法
2.6 密鑰和參數(shù)生成
2.6.1 對稱密鑰生成
2.6.2 非對稱密鑰生成
2.6.3 密碼算法參數(shù)生成
2.6.4 密鑰工廠與密鑰封裝
2.7 安全時間戳
2.8 編碼轉換
2.8.1 Base64編碼
2.8.2 URLBASE64編碼
第3章數(shù)據(jù)完整性保護與雜湊算法
3.1 雜湊算法
3.1.1 雜湊算法原理
3.1.2 雜湊算法實踐
3.2 消息驗證碼
3.2.1 消息驗證碼原理
3.2.2 帶密鑰的雜湊函數(shù)53
3.2.3 基于對稱算法的消息驗證碼
3.3 典型完整性應用場景
3.3.1 完整性實現(xiàn)機制
3.3.2 完整性實現(xiàn)場景
3.3.3 完整性實現(xiàn)案例
第4章數(shù)據(jù)加密保護與對稱密碼算法
4.1 對稱加密簡述
4.2 序列算法
4.2.1 序列算法原理
4.2.2 祖沖之序列密碼算法實踐
4.3 分組算法
4.3.1 分組加密模式
4.3.2 分組算法原理
4.3.3 分組加密實踐
4.4 典型機密性應用場景
4.4.1 機密性應用機制
4.4.2 對稱密碼機密性應用場景
4.4.3 機密性實現(xiàn)案例
第5章用戶身份認證與公鑰密碼算法
5.1 公鑰密碼算法原理
5.1.1 公鑰密碼算法簡介
5.1.2 公鑰密碼算法原理
5.2公鑰密碼算法實踐
5.2.1 DSA公鑰密碼算法實踐
5.2.2 RSA公鑰密碼算法實踐
5.2.3 SM2公鑰密碼算法實踐
5.2.4 ELGAMAL公鑰密碼算法實踐
5.3 公鑰密碼算法應用場景
5.3.1 數(shù)字證書
5.3.2 數(shù)字證書的功能和現(xiàn)狀
5.3.3 數(shù)字證書管理
5.3.4 數(shù)字證書應用
第6章通信安全與密碼協(xié)議
6.1 密碼協(xié)議闡述
6.2 SSL安全協(xié)議
6.2.1 SSL VPN協(xié)議規(guī)范
6.2.2 SSL VPN合規(guī)要求
6.2.3 通過代碼獲取SSL服務器證書鏈實踐
6.3 IPSEC安全協(xié)議
6.3.1 IKE協(xié)議
6.3.2 AH協(xié)議
6.3.3 ESP協(xié)議
6.3.4 IPSEC VPN合規(guī)要求
6.4 密碼協(xié)議的應用場景
第7章口令加密和密鑰交換
7.1 基于口令加密PBE的簡介
7.2 基于口令加密PBE算法實踐
7.2.1 PBE算法實現(xiàn)口令加密
7.2.2 PBE算法實現(xiàn)口令解密
7.2.3 PBE算法實現(xiàn)MAC功能
7.3秘密可以安全傳遞
7.4 密鑰交換算法
7.4.1 DH算法實現(xiàn)密鑰協(xié)商
7.4.2 SM2算法實現(xiàn)密鑰協(xié)商
7.5 密鑰交換的應用場景
第8章密碼應用方案設計
8.1 密碼應用設計原則
8.2 密碼應用設計目標和需求分析方法
8.3 密碼應用設計
8.3.1 物理和環(huán)境層面的密碼設計
8.3.2 網(wǎng)絡和通信層面的密碼設計
8.3.3 設備和計算層面的密碼設計
8.3.4 應用和數(shù)據(jù)層面的密碼設計
8.3.5 密鑰管理
8.3.6 安全管理
第9章商用密碼應用安全性評估
9.1 商用密碼應用安全性評估發(fā)展和現(xiàn)狀
9.2 商用密碼應用安全性評估工作依據(jù)
9.2.1 法律法規(guī)
9.2.2 密評標準
9.3 商用密碼應用安全性評估流程與相關方法
9.3.1 密評相關單位
9.3.2 密評工作流程
9.4 商用密碼應用安全性評估方法與要點
9.4.1 密評基本方法
9.4.2 密評實施要點
附錄
附錄A 商用密碼算法常用的相關OID查詢表
附錄B PKCS(PUBLIC-KEY CRYPTOGRAPHY STANDARDS)
附錄C IPSEC VPN密碼算法的屬性值定義
附錄D SSL VPN密碼套件列表定義
附錄E 不安全的密碼算法