?? 目錄.txt
字號:
目目目錄
前言
第1章 計算機(jī)與網(wǎng)絡(luò)安全基礎(chǔ) 1
1.1 密碼學(xué)與計算機(jī)安全 1
1.2 危險和保護(hù) 2
1.3 外圍防護(hù) 3
1.3.1 防火墻 4
1.3.2 僅僅使用外圍防護(hù)的不足之處 4
1.4 訪問控制與安全模型 4
1.4.1 MAC和DAC模型 5
1.4.2 對數(shù)據(jù)和信息的訪問 5
1.4.3 靜態(tài)和動態(tài)模型 6
1.4.4 關(guān)于使用安全模型的幾點考慮 6
1.5 密碼系統(tǒng)的使用 7
1.5.1 單向散列函數(shù) 7
1.5.2 對稱密碼 8
1.5.3 非對稱密碼 9
1.6 鑒別 9
1.7 移動代碼 10
1.8 Java安全性的適用范圍 11
第2章 Java語言的基本安全特點 12
2.1 Java語言和平臺 12
2.2 基本安全結(jié)構(gòu) 13
2.3 字節(jié)代碼驗證和類型安全 14
2.4 簽名應(yīng)用小程序 15
2.5 關(guān)于安全錯誤及其修復(fù)的簡要歷史 16
第3章 JDK1.2安全結(jié)構(gòu) 19
3.1 起源 19
3.2 為什么需要一個新型的安全結(jié)構(gòu) 19
3.2.1 關(guān)于applet的沙盒模型的局限性 19
3.2.2 策略和實施分離的不徹底性 20
3.2.3 安全核查的不易擴(kuò)展性 20
3.2.4 對本地安裝的applet過于信任 20
3.2.5 內(nèi)部安全機(jī)制的脆弱性 21
3.2.6 總結(jié) 21
3.3 java.Security.General
SecurityException 21
3.4 安全策略 22
3.5 CodeSource 24
3.5.1 測試等同性和利用隱含 25
3.6 許可權(quán)層次 26
3.6.1 java.security.Permission 27
3.6.2 許可權(quán)集合 28
3.6.3 java.security.Unresolved
Permission 29
3.6.4 java.io.FilePermission 31
3.6.5 java.net.SocketPermission 33
3.6.6 java.security.BasicPermission 35
3.6.7 java.util.PropertyPermission 36
3.6.8 java.lang.RuntimePermission 37
3.6.9 java.awt.AWTPermission 38
3.6.10 java.net.NetPermission 38
3.6.11 java.lang.reflect Reflect
Permission 39
3.6.12 java.io .Serializable
Permission 39
3.6.13 java.security.Security
Permission 39
3.6.14 java.security.AllPermission 40
3.6.15 許可權(quán)隱含中的隱含 40
3.7 分配許可權(quán) 41
3.8 Protection Domain 42
3.9 安全地加載類 44
3.9.1 類加載器的層次 44
3.9.2 java.lang.ClassLoader和授權(quán) 46
3.9.3 java.security.SecureClassLoader 49
3.9.4 java.net.URLClassLoader 49
3.9.5 類的路徑 50
3.10 java.lang.SecurityManager 51
3.10.1 使用安全管理器的實例 51
3.10.2 JDK1.2中沒有改變的API 52
3.10.3 JDK1.2中禁用的方法 53
3.11 java.security.AccessController 56
3.11.1 AceessController的界面設(shè)計 57
3.11.2 基礎(chǔ)訪問控制算法 57
3.11.3 繼承方法 59
3.11.4 擴(kuò)展帶有特權(quán)操作的基本算法 59
3.11.5 特權(quán)操作的三種類型 61
3.11.6 訪問控制語境 63
3.11.7 完整的訪問控制算法 64
3.11.8 SecurityManager與
AccessController 65
3.11.9 特權(quán)操作發(fā)展史 66
3.12 小結(jié) 67
第4章 安全結(jié)構(gòu)的使用 70
4.1 安裝JDK1.2 70
4.2 策略配置 71
4.2.1 配置系統(tǒng)型和用戶專用型策略 71
4.2.2 配置應(yīng)用程序?qū)S眯筒呗?72
4.2.3 配置一個可選Policy類的實現(xiàn) 72
4.2.4 缺省的策略文件格式 72
4.2.5 策略文件舉例 75
4.2.6 策略文件中的屬性擴(kuò)展 76
4.3 數(shù)字證書 77
4.4 有用的安全工具 80
4.4.1 密鑰數(shù)據(jù)庫 80
4.4.2 keytool 82
4.4.3 策略工具 86
4.4.4 jarsigner 88
4.4.5 代碼簽名實例 91
4.5 非專業(yè)安全策略管理 92
第5章 結(jié)構(gòu)定制安全 94
5.1 創(chuàng)建新的許可權(quán)類型 94
5.2 復(fù)合許可權(quán) 95
5.3 定制安全策略 96
5.4 移植基于JDK1.1的安全管理器 97
5.4.1 JDK1.1安全管理器類 97
5.4.2 使JDK1.1安全管理器
適應(yīng)JDK1.2 98
5.4.3 為JDK1.2而改進(jìn)JDK1.1
安全管理器 100
第6章 對象的安全 106
6.1 安全異常 106
6.2 域和方法 107
6.3 靜態(tài)域 107
6.4 私有對象狀態(tài)和對象不變性 108
6.5 特權(quán)代碼 109
6.6 連續(xù)性 110
6.7 內(nèi)部類 111
6.8 本機(jī)方法 111
6.9 簽署對象 111
6.10 密封對象 113
6.11 監(jiān)護(hù)對象 114
第7章 編程密碼學(xué) 117
7.1 設(shè)計原則 117
7.2 密碼服務(wù)和服務(wù)提供器 118
7.3 密碼類 121
7.3.1 java.security.Security 121
7.3.2 java.security.Provider 122
7.3.3 java.security.MessageDigest 122
7.3.4 java.security.Signature 123
7.3.5 算法參數(shù) 124
7.3.6 java.security.Key和java.security.
spec.KeySpec 126
7.3.7 java.security.KeyFactory和java.
security.cert.CertificateFactory 128
7.3.8 KeyPair和KeyPairGenerator 129
7.3.9 java.security.KeyStore 130
7.4 隨機(jī)性和種子產(chǎn)生器 131
7.5 代碼實例 132
7.5.1 實例1:計算消息摘要 132
7.5.2 實例2:產(chǎn)生公鑰/私鑰對 133
7.5.3 實例3:產(chǎn)生并且驗證簽名 134
7.5.4 實例4:讀取包含證書的文件 135
7.6 標(biāo)準(zhǔn)名 136
7.6.1 消息摘要算法 136
7.6.2 密鑰和參數(shù)算法 136
7.6.3 數(shù)字簽名算法 137
7.6.4 隨機(jī)數(shù)產(chǎn)生算法 137
7.6.5 證書類型 137
7.6.6 密鑰庫類型 137
7.7 算法 137
7.7.1 SHA-1消息摘要算法 138
7.7.2 MD2消息摘要算法 138
7.7.3 MD5消息摘要算法 138
7.7.4 數(shù)字簽名算法 138
7.7.5 基于RSA的簽名算法 138
7.7.6 DSA密鑰對產(chǎn)生算法 138
7.7.7 RSA密鑰對產(chǎn)生算法 140
7.7.8 DSA參數(shù)產(chǎn)生算法 140
第8章 發(fā)展方向 141
8.1 安全管理 141
8.2 JDK 特性的改善 141
8.3 Java鑒別和許可服務(wù) 142
8.3.1 主題與主體 144
8.3.2 證件 144
8.3.3 可插入和可堆疊的鑒別 144
8.3.4 回調(diào) 147
8.3.5 訪問控制 147
8.3.6 JAAS工具 149
8.4 小結(jié) 149
參考文獻(xiàn) 151
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -