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

正文內(nèi)容

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

2025-02-02 21:15 本頁(yè)面
 

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