国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

JAVA和.NET兩個平臺對于安全功能的比較

2019-11-17 05:54:27
字體:
來源:轉載
供稿:網(wǎng)友

第一部分 安全配置和代碼封裝

安全配置

兩個平臺的配置都是通過xml或純文本文件,兩個平臺最大的區(qū)別在于處理安全配置體系的方式不同。

在.NET平臺,有圖形接口和命令行二種方式來修改安全配置參數(shù)。Mscorcfg.msc是圖形接口方式,Caspol.exe提供了命令行方式,適用于批處理或配置文本。

java平臺只提供了圖形接口的工具policytool.exe。和.NET不同的是,它的目標對象(配置文件)的名字和位置不是固定的。

.NET定義了不同范圍的安全配置文件:系統(tǒng)范圍,本機范圍,本用戶范圍。在配置有沖突時,原則上小范圍的參數(shù)有優(yōu)先權。

JAVA和J2EE的核心配置文件都保存在固定位置,但擴展配置文件隨廠家不同而不同。

代碼封裝:檢驗

JAVA 和.NET 的Common Library Runtime (CLR) 都實行內(nèi)存安全或類型安全的保護機制,在這些平臺開發(fā)的應用的安全性也是可以檢驗的。他們的實現(xiàn)機制有很大的不同。

在.NET, CLR總是執(zhí)行編譯好的代碼,它不解釋代碼。但是在中間語言(IL)被編譯之前,編譯器會有驗證和檢驗的步驟。第一步是檢查文件的結構和代碼完整性;第二步包括一些擴展的檢查,內(nèi)存安全、堆棧跟蹤、數(shù)據(jù)流分析、類型檢查等。在運行階段,由VES (Virtual Execution System) 來負責安全性檢查和出錯意外情況處理。

在JAVA平臺,JAVA虛擬機(JVM)負責類的載入、鏈接、檢驗和執(zhí)行。對于已經(jīng)編譯和優(yōu)化的代碼,JVM也用二個無條件調(diào)用堆棧來保留最初的字節(jié)代碼信息。

小結:和.NET不同,JVM的默認設置是不檢驗本地代碼。另外,JVM保留最初的字節(jié)代碼供運行時檢查,而.NET把靜態(tài)分析和運行時插入檢驗代碼相結合。

代碼封裝:應用隔離

在.NET, 域隔離建立在內(nèi)存安全機制的基礎上,不同的域不能直接訪問彼此的地址空間,只能通過.NET遠程通信機制訪問。

在JAVA平臺,應用隔離是通過ClassLoaders 和 PRotectionDomains 相結合來實現(xiàn)的,安全類加載是JVM安全機制的基石。

小結:.NET的 AppDomains 就象操作系統(tǒng)的進程一樣,使用起來比JAVA的 ProtectionDomains 更直接、輕易一些。

代碼封裝: 語言特征

兩個平臺基本上差不多,.NET在靈活性上稍微好一點。

總結:

JAVA在安全配置上有較多的優(yōu)勢,.NET在代碼封裝的選擇性和易用性好一些。

第二部分 加密和通信

加密法:概論

.NET的加密法主要基于CryptoAPI 和相關擴展。大多數(shù)有關加密的類都在System.security.Cryptography, X509Centificates 和XML中。.NET利用基于流的模型來完成加密傳輸,所有的算法都被默認為最高的安全級別。.NET也答應用戶自己在 machine.config 中定義自己的算法。

JAVA平臺的加密算法分二個部分:Java Cryptography Architecture (JCA) 和 Java Cryptography Extension (JCE)。 JCE的出口受到有關法律的限制。假如要使用用戶自己的加密算法,必須得到認證機構(SUN 或 IBM)的認證。

加密法:算法

.NET主要提供了下面幾大類加密算法:非對稱算法、HASH算法、對稱算法、隨機數(shù)生成法。

JAVA提供的加密算法更多,但是較少第三方廠商可以在JAVA中提供自己的算法。

安全通信

SSL已經(jīng)是事實的傳輸安全的工業(yè)標準了。JAVA和.NET都支持最新版本 SSL 3.0。

安全通信:平臺

.NET只在基于IIS的應用中使用SSL來保護HTTP傳輸,對于非IIS應用,.NET不能保護傳輸中的數(shù)據(jù)。

在JAVA中,JSSE (Java Secure Socket Extensions) 提供了平臺級的服務,保證基于TCP/ip的通信安全。

除了IIS,.NET沒有提供任何其它平臺級的通信保護的標準方案,但是JAVA在這方面提供了全套的解決方案。

安全通信:應用

.NET通過WSA (Web Service Architecture)和 WSE (Web Service Extension) 包來提供最新的WEB服務安全保證,JAVA目前還沒有提供這方面的支持。

總結:

在加密方法上,JAVA和.NET基本沒有太大的差別;在通信保護方面,JAVA 比.NET提供了更多的選擇方案;但是在WEB服務安全性上,JAVA明顯比.NET落后一些。

>(出處:清風軟件下載學院)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 无棣县| 凤翔县| 博罗县| 遵义市| 宣化县| 东乌珠穆沁旗| 三原县| 金门县| 名山县| 拜泉县| 鄢陵县| 双鸭山市| 盐津县| 班玛县| 长岭县| 乐业县| 蒙阴县| 崇州市| 平凉市| 兴隆县| 双江| 邹城市| 兴国县| 前郭尔| 简阳市| 喀什市| 盘锦市| 新郑市| 秭归县| 忻城县| 鲁甸县| 陇川县| 武乡县| 吴桥县| 隆德县| 贵港市| 万全县| 营口市| 沂水县| 茌平县| 嘉禾县|