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

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

Java2下Applet數字簽名(1)

2019-11-18 14:43:15
字體:
來源:轉載
供稿:網友

  自從java技術開始應用以來,人們對Java平臺的安全性以及由于部署Java技術所引發(fā)的安全問題給予了極大的關注。非凡是在1998年11月Java2發(fā)布后,Java的安全體系結構發(fā)生了根本的改進,對于終端用戶而言,它可以保護文件和私人數據不被惡意的程序或病毒感染和破壞,鑒別代碼提供者的身份。對于開發(fā)者而言,通過使用API方法,能夠將安全性功能集成到應用程序中,因為API的體系結構能夠定義和集成對特定的資源的使用權限、加密、安全性治理、策略治理,并提供了一些類來治理公鑰/密鑰對及信任用戶群的公鑰證書。

同時系統(tǒng)治理員、開發(fā)者和用戶可以使用它提供的工具治理鑰匙庫,在JAR文件中生成數字簽名、簽名的完整性檢測、創(chuàng)建和修改策略文件。按照Java設計者的觀點,Java安全包括2個方面的內容,首先將Java作為一種安全的平臺提供給用戶,在此平臺上,可安全地運行Java程序;其次提供用Java編程語言實現的安全工具和服務,它使得諸如企業(yè)界這樣一些對安全非常敏感的領域也可應用Java技術。本文將就這二個方面介紹Java2的安全性新特性以及該新特性下的Applet數字簽名的具體實現方法?!?

Java2采用了如圖1所示的新的安全體系結構,并基于這種安全體系結構提供了很多新特?

· 1.1 密紋訪問控制

   這種能力從一開始就在JDK中存在。但要使用它,應用程序的編寫者不得不做大量的編程工作?例如,創(chuàng)建SecurityManager和Classloader類的子類并使其用戶化。HotJava1.0就是一個這樣的應用程序,它答應瀏覽器用戶在幾個不同的安全等級上進行選擇。然而,這種編程涉及非常敏感的安全問題,它要求程序員對計算機安全有精深的理解和熟練的技巧。新的安全體系結構將使這些變得簡單而安全。

· 1.2 易于配置的安全策略

   與上述情況相似,這種能力在原來的JDK中也是存在的,但是不便于使用,而且編寫安全代碼也不是簡單明了的事情。于是,人們期望能夠答應應用程序的編寫者和用戶能夠不通過編程來設置安全策略。

· 1.3 便于擴展的訪問控制結構

   一直到JDK1.1為止,為了創(chuàng)建1個新的訪問許可,你必須在SecurityManager類中增加1個新的check方法。新的安全體系結構則答應設置各類訪問許可(每個都表示對1個系統(tǒng)資源的訪問),并能對所有正確訪問許可(包括未定義的許可)進行自動處理。

· 1.4 安全檢查擴展至所有Java程序

   那種所有本地代碼是可信的內置概念將不復存在,取而代之的將是本地代碼(例如非系統(tǒng)代碼,安裝在本地的應用程序包等)服從于與Applet相同的安全控制,但是可以聲明對本地代碼的政策是最寬容的,從而使這些代碼可被認為是完全可信而有效地運行。上述原則也可應用于已簽字的Applet和任何Java應用程序。

· 2 Java2安全體系的概念及運行機制

· 2.1 保護域
   Java2安全體系結構中的一個基本的概念是保護域(PRotected Domain)。1個域可通過對象集來劃分范圍,這些對象當前可由1個主體直接訪問。而主體是在計算機系統(tǒng)中被授予許可的實體。JDK1.0所利用的沙箱就是一個有著固定邊界的保護域實例。保護域的概念是一種在保護單元間起著分組和隔離作用的便利機制。例如,我們可以將保護域分開以避免它們之間的直接交互作用,于是,任何答應的交互作用必須通過可信系統(tǒng)代碼或被有關的域所明確答應。

   保護域通常分為明確的2個類別,系統(tǒng)域和應用程序域。所有被保護的外部資源如:文件系統(tǒng)、網絡設施以及屏幕和鍵盤等僅能通過系統(tǒng)域來訪問。圖2中顯示了1個Java應用環(huán)境的域的組成。從概念上講,1個域包括1組類,這些類的實例被授予相同的一組許可。保護域是由現行策略所確定的。Java應用程序環(huán)境保持了來自代碼(類和實例)到它們的保護域然后再到它們的許可的映射,如圖3所示。1個線程的執(zhí)行可能完全發(fā)生在1個單一的保護域中,也可能涉及1個應用程序域或是系統(tǒng)域。

例如:1個打印消息的應用程序將不得不與系統(tǒng)域發(fā)生交互作用,因為系統(tǒng)域是唯一對輸出流的訪問點。在此種情況下的任何時候,應用程序域都不能通過調用系統(tǒng)域獲得除打印消息外的任何額外許可,否則將是一個嚴重的安全性隱患。在相反的情形下,1個系統(tǒng)域從1個應用程序域中調用1個方法,如當1個AWT系統(tǒng)域調用1個Applet的繪畫方法來顯示這個Applet時,有效訪問權限與應用程序域所答應的當前權限在任何時候都相同,這一點也是同樣至關重要的。換句話說,一個具有較低權限的域不能通過調用一個更高權限的域,或被一個更高權限的域所調用來獲得額外的許可。上述有關1個線程涉及2個保護域的討論自然地歸納為1個遍歷多重保護域的線程,計算許可的一個簡單而謹慎的經驗做法是:

   (1)一個執(zhí)行線程的許可集可被認為是由該線程所遍歷的所有保護域的許可的交集。
   (2)當1條代碼調用doPrivileged方法時,執(zhí)行線程的許可集被認為是包括所有代碼的保護域以及由它直接或間接調用的保護域的權限。即通過doPrivileged方法可使1條可信代碼能臨時訪問更多的資源,這在某些情況下是必要的。例如,1個應用程序可能不被答應直接訪問包含字體的文件,但是,顯示文本的系統(tǒng)實用程序必須代表用戶獲得那些字體。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 景谷| 拉萨市| 广丰县| 阿克陶县| 武邑县| 南投市| 新邵县| 淅川县| 邮箱| 清河县| 光泽县| 清流县| 泌阳县| 农安县| 固阳县| 长乐市| 苗栗市| 青川县| 三穗县| 柳江县| 平凉市| 林周县| 武川县| 泰安市| 泊头市| 彭山县| 昭苏县| 广灵县| 体育| 马鞍山市| 邵阳市| 雷州市| 和平县| 尼玛县| 乌恰县| 通山县| 沽源县| 宜阳县| 武胜县| 盐池县| 曲水县|