freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計之網(wǎng)絡(luò)編程java安全、web編程、j2ee概述ppt(已修改)

2025-02-02 21:15 本頁面
 

【正文】 《 Java程序設(shè)計之網(wǎng)絡(luò)編程 》 重慶大學(xué)計算機學(xué)院 教學(xué)課件 第 16章 Java安全技術(shù) 主要內(nèi)容 ? 安全基本知識 ? Java的安全模型 ? Java的密碼學(xué)結(jié)構(gòu) 安全基本知識 ? 攻擊,保護(hù) ? 密碼學(xué) , 機密性 , 認(rèn)證 ,證書 ? 完整性 , 認(rèn)可性 ? 審計和日志 , 安全策略和訪問控制 主要內(nèi)容 ? 安全基本知識 ? Java的安全模型 ? Java的密碼學(xué)結(jié)構(gòu) Java的安全模型 ? 安全模型的演化 ? Java2 安全模型 ? Java2的安全劃分 ? 應(yīng)用程序安全性 ? 小程序安全性 ? J2SDK安全工具 ? Java小程序的安全部署 最初安全模型為 沙箱模型 JVM Valuable Resources (files,etc) SandBox Remote Code Local code 為從開放的網(wǎng)絡(luò)中獲取的非信任代碼的提供了一個 受限制的運行環(huán)境 。沙箱模型的實質(zhì)是本地代碼對重要的系統(tǒng)資源(如文件系統(tǒng))有全部的訪問權(quán)限,而下載的遠(yuǎn)程代碼(例如 Applet)則不被信任并且僅能訪問沙箱里提供的有限資源 JDK JVM Valuable Resources (files,etc) SandBox Remote Code Local code 使用數(shù)字簽名服務(wù),可以用與 Java 編寫的本地程序類似的方式對待 可信的 Applet JVM Valuable resources(files,etc) PD PD Sandbox Security policy Class loader Local or remote code ProtectionDomain是在策略數(shù)據(jù)庫中指定的,授予 CodeSource 的 Permission 的聚合體。通過 ClassLoader 裝入到 JVM 的每個類文件被分配給一個 ProtectionDomain。 Java2 安全模型 Bootstrap Class files System Class files User Class files Bytecode Verifier Bootstrap ClassLoader System ClassLoader ClassLoader SecurityManager Protection Domains AccessController Operating System , Hardware CodeSource (URL,Certificates) Permissions keystore Java2 安全模型 ? Java 安全主要建立在 Java 運行時環(huán)境的三個方面: ByteCode Verifier(字節(jié)碼驗證器)、 Security Manager(安全管理器)以及 ClassLoader(類裝入器)。 ? 代碼驗證( Bytecode Verifier) ? 確保所下載的代碼被恰當(dāng)?shù)馗袷交?,字?jié)碼( “ Java 虛擬機 ” 指令)沒有違反語言或虛擬機的安全限制(如,無非法數(shù)據(jù)轉(zhuǎn)換),沒有執(zhí)行指針尋址,內(nèi)部堆棧不能溢出或下溢,以及字節(jié)碼指令將擁有正確的類型參數(shù)。 安全管理器( SecurityManager) ? SecurityManager 在嘗試執(zhí)行文件 I/O 和網(wǎng)絡(luò) I/O、創(chuàng)建新的 ClassLoader、操作線程或線程組、啟動底層平臺(操作系統(tǒng))上的進(jìn)程、終止 “ Java 虛擬機 ” 、將非 Java 庫(本機代碼)裝入到 JVM、完成某種類型的系統(tǒng)操作以及將某種類型的類裝入到 JVM 中時 激發(fā)運行時訪問控制機制 。 ? 例如, Java Applet 沙箱嚴(yán)格地將所下載的 Applet 約束到被認(rèn)為是比較安全的有限的運行環(huán)境中。 權(quán)限( Permission) ? 一個權(quán)限允許代碼執(zhí)行的一個特定的操作,權(quán)限可以是特別具體的,也可以是一般化的。 ? 一個權(quán)限由三個部分組成:類型,名稱和操作。類型是必須的,它是實現(xiàn)了 Permission接口的特定的類 ? permission 。 ? permission stopThread。 ? permission /tmp/foo, read。 代碼源( Code Sources) ? 代碼源包含類的從哪里裝載的位置信息和對類簽名信息。一般情況下,這個位置被表示成一個 URL。如果代碼被簽名,那么代碼源里面包含了關(guān)于簽名者的信息。類可以基于代碼源被賦予一定的權(quán)限。 ? 保護(hù)域( Protection Domains) ? 是賦予代碼源的權(quán)限的集合??梢酝ㄟ^策略文件定義。 策略文件( Policy files) ? 策略文件是一個控制沙箱的管理元素。 ? 一個策略文件可以包含一個或者多個條目來定義一個保護(hù)域。 ? 每個條目是賦予代碼源的權(quán)限聲明。 ? 一般有兩個策略文件,一個全局策略文件,一個用戶相關(guān)策略文件。 ? 全局策略文件影響 Java虛擬機種的所有的實例。 ? 策略文件是一個文本文件,可以直接進(jìn)行編輯。也可以用 Java提供的編輯工具 policyTool進(jìn)行編輯。 密鑰庫( Keystores) ? 通過代碼簽名可以賦予代碼更多的執(zhí)行自由度。 ? 如果你確信正在執(zhí)行的代碼來自一個可信的組織,你可以允許它訪問本地磁盤文件,或者使用打印機等。 ? 被簽名的代碼依賴于公鑰證書,證書被保存在密鑰庫中。開發(fā)者可以使用密鑰庫中的證書對代碼進(jìn)行簽名; ? 一般用戶或者系統(tǒng)管理員可以在執(zhí)行已簽名的代碼時參考密鑰庫發(fā)現(xiàn)是誰的簽名。 訪問控制器( AccessController) ? 訪問關(guān)鍵系統(tǒng)資源時,是否允許或者拒絕,具體結(jié)果決定于策略文件的配置。 ? 把一段代碼標(biāo)記為具有一定的特權(quán),影響后續(xù)的訪問判斷。 ? 獲取當(dāng)前調(diào)用上下文的一個快照,來自不同上下文的訪問控制判斷可以參照被保存的上下文。 ? 做特殊安全檢查 Java2的策略配置文件 SecurityManager security = ()。 if (security != null) { security. checkPermission (Permission perm )。 } 如果這個請求被允許, checkPermission不返回任何值;如果被拒絕,拋出異常 SecurityException。 grant signedBy signer_names, codeBase URL { permission permission_class_name target_name, action, signedBy signer_names。 }。 應(yīng)用程序安全性 ? 在不使用 SecurityManager的情況下 ? 使用 SecurityManager的情況 ? 修改策略配置文件 小應(yīng)用程序安全性 通過程序說明 在命令行中用 AppletViewer執(zhí)行 Appletviewer J2SDK安全工具 ? keytool – 管理密鑰庫和證書 ? jarsigner – 產(chǎn)生和驗證 Java簽名 ? policytool – 圖形化的方式管理策略文件。 Keytool ? 1)創(chuàng)建公 /私鑰對; ? 2)發(fā)出證書請求到認(rèn)證權(quán)威( CA) ? 3)從認(rèn)證權(quán)威導(dǎo)入證書回復(fù) ? 4)指明屬于其他組織的公鑰是受信任的。 ? Keytool目前能夠處理符合 。JSSE( Java Secure Socket Extension, JSSE ) pkcs12。 Keytool參數(shù) 參數(shù) 描述 genkey 產(chǎn)生一個密鑰對 (一個公鑰關(guān)聯(lián)一個私鑰 ) import 讀取一個證書或者證書鏈,并存儲到密鑰庫中,同時用一個 別名進(jìn)行標(biāo)識。 certreq 用 pkcs10產(chǎn)生一個證書簽發(fā)請求。 export 導(dǎo)出一個和某個別名相關(guān)聯(lián)的證書 list 打印整個密鑰庫中的內(nèi)容,或者打印與某個別名相關(guān)聯(lián)的證 書。 storepasswd 修改或指定密鑰庫的密碼 keypasswd 修改或者指定某一個密鑰對的訪問密碼 delete 刪除密鑰庫中的條目。 KeyTool應(yīng)用 ? D:\keytool genkey alias javafan keyalg rsa validity 750 ? 輸入 keystore密碼: keystore ? 您的名字與姓氏是什么? ? [Unknown]: JavaFan ? 您的組織單位名稱是什么? ? [Unknown]: Computer Science ? 您的組織名稱是什么? ? [Unknown]: Chongqing University ? 您所在的城市或區(qū)域名稱是什么? ? [Unknown]: Chongqing ? 您所在的州或省份名稱是什么? ? [Unknown]: Chongqing ? 該單位的兩字母國家代碼是什么 ? [Unknown]: CN ? CN=JavaFan, OU=Computer Science, O=Chongqing University, L=Chongqing , ST=Chon ? gqing, C=CN 正確嗎? ? [否 ]: 是 ? 輸入 javafan的主密碼 ? (如果和 keystore 密碼相同,按回車): 用 keytool顯示證書的內(nèi)容 ? D:\ keytool v printcert file ? Owner: CN=JavaFan, OU=Computer Science, O=Chongqing University, L=Chongqing ,ST=Chongqing, C=CN ? 發(fā)照者: CN=JavaFan, OU=Computer Science, O=Chongqing University, L=Chongqing , ST=Chongqing, C=CN ? 序號: 43030437 ? 有效期間: Wed Aug 17 17:32:39 CST 2022 至: Thu Sep 06 17:32:39 CST 2022 ? 認(rèn)證指紋: ? MD5: CB:AE:97:24:A9:93:4B:34:E2:3B:95:95:70:E7:70:D5 ? SHA1: E3:32:0C:68:24:34:CB:6E:02:BF:ED:E6:D8:C0:29:AE:66:5C:20:DD jarsigner ? Jarsigner用于給打包后的 Java程序簽名,或者驗證簽名。 Jarsigner可以在簽名或者驗證簽名時,訪問由 keytool創(chuàng)建的密鑰庫。 選項 描述 storepass 訪問密鑰庫時,指定口令 keypass 指定私鑰的保護(hù)口令 signedjar 指定需要被簽名的 jar文件 verify jar文件的簽名驗證 verbose 控制是否輸出簽名或者驗證過程的詳細(xì)信息 certs 與 verify、 verbose一起使用,輸出包括每個簽名證書的信息 policytool Java運行時環(huán)境的安全配置文件{}/lib/security/( Java運行時環(huán)境的目錄)中包括兩個策略文件:{}/lib/security/ 和 {}/.( {}指用戶主目錄)。PolicyTool缺省修改第二個文件。 Java小程序的安全部署 ? SimpleScannerApplet程序檢查某個主機上的 TCP端口是否開放,比如用于 WWW服務(wù)的80端口,用于 SMTP服務(wù)的 25端口等。 程序運行界面 制作和部署安全小程序步驟 ? 編制小程序 SimpleScannerApplet ? 編寫 Html文件 ? 把程序打包成 Jar文件 ? 獲取并安裝一個支持 RSA的簽名證書。 ? 用該證書對 Jar文件進(jìn)行簽名 ? 用 sun的 Html Convert轉(zhuǎn)換 ? 部署轉(zhuǎn)換后的 html文件和已經(jīng)簽名的 jar文件 ? 見程序 主要內(nèi)容 ? 安全基本知識 ? Java的安全模型 ? Java的密碼學(xué)結(jié)構(gòu)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1