孔明大衛(wèi)
【摘要】 隨著互聯(lián)網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)的安全問(wèn)題引起了人們的廣泛關(guān)注。而Java技術(shù)一直伴隨著互聯(lián)網(wǎng)的發(fā)展而發(fā)展,進(jìn)而在一定的范圍內(nèi)取得了廣泛的應(yīng)用。所以,Java技術(shù)的安全問(wèn)題也同樣引起了人們的關(guān)注。因此,基于這種情況,本文對(duì)Java技術(shù)的概念及相關(guān)問(wèn)題進(jìn)行了闡述,并在此基礎(chǔ)之上從Java技術(shù)的安全體系結(jié)構(gòu)、安全特性這兩方面對(duì)Java技術(shù)的安全問(wèn)題進(jìn)行了研究,進(jìn)而為關(guān)注這一話(huà)題的人們提供參考。
【關(guān)鍵詞】 Java技術(shù) 安全問(wèn)題 研究
引言:自進(jìn)入20世紀(jì)以來(lái),互聯(lián)網(wǎng)技術(shù)在國(guó)內(nèi)取得了迅速的發(fā)展。而隨著互聯(lián)網(wǎng)絡(luò)的規(guī)模的增大,互聯(lián)網(wǎng)的網(wǎng)絡(luò)安全管理也變的更加困難,進(jìn)而為互聯(lián)網(wǎng)絡(luò)的穩(wěn)定性和可用性帶來(lái)了一定的影響。而Java技術(shù)不僅在互聯(lián)網(wǎng)絡(luò)的發(fā)展過(guò)程中得到了廣泛的應(yīng)用,其在安全管理方面也具有獨(dú)特的優(yōu)勢(shì)。所以,做好Java技術(shù)的安全問(wèn)題的研究,從而使該技術(shù)成為加強(qiáng)網(wǎng)絡(luò)安全管理的技術(shù),才能夠進(jìn)一步促進(jìn)互聯(lián)網(wǎng)絡(luò)技術(shù)的發(fā)展,進(jìn)而為人們的日常生活提供更多便利。
一、Java技術(shù)概述
早于上世紀(jì)90年代,Java技術(shù)就由Sun公司所推出。作為一種可以實(shí)現(xiàn)不同平臺(tái)程序設(shè)計(jì)的計(jì)算機(jī)語(yǔ)言,Java技術(shù)具有通用性強(qiáng)和可移植的特性,所以一經(jīng)推出就受到了很多互聯(lián)網(wǎng)絡(luò)用戶(hù)的喜愛(ài)。就現(xiàn)階段而言,Java技術(shù)包括了Java虛擬機(jī)、編程語(yǔ)言、程序接口語(yǔ)言和類(lèi)文件四個(gè)部分。而在安全性方面,Java技術(shù)也有著一定的設(shè)計(jì)考量,進(jìn)而使Java技術(shù)一度成為了推動(dòng)互聯(lián)網(wǎng)絡(luò)發(fā)展的重要力量。不同于其他計(jì)算機(jī)語(yǔ)言形式,Java語(yǔ)言具有獨(dú)特的可移植特性,因此具有較好的面向?qū)ο笮?、可移植性、支持多線程、程序設(shè)計(jì)簡(jiǎn)潔的特點(diǎn),可以同時(shí)進(jìn)行多個(gè)系統(tǒng)平臺(tái)的兼容[1]。另外,Java技術(shù)具有規(guī)避惡意代碼的安全策略,所以可以進(jìn)行互聯(lián)網(wǎng)的安全性的維護(hù)。
二、Java技術(shù)的安全問(wèn)題
2.1 Java的安全體系結(jié)構(gòu)
就目前而言,Java技術(shù)的安全體系結(jié)構(gòu)較為分散,并不具有集中的安全系統(tǒng)。所以,Java技術(shù)對(duì)其安全特性的實(shí)現(xiàn)是依靠動(dòng)態(tài)類(lèi)型檢查、字節(jié)碼校驗(yàn)和運(yùn)行時(shí)間的檢查來(lái)完成的。而從Java技術(shù)的安全體系結(jié)構(gòu)的發(fā)展情況來(lái)看,Java技術(shù)的發(fā)展經(jīng)歷的三個(gè)階段,既JDK1.0、JDK1.1和JDK1.2。在這三個(gè)階段,Java的安全實(shí)現(xiàn)機(jī)制都得到了完善和提升。但是,無(wú)論是哪一個(gè)階段,Java的安全實(shí)現(xiàn)機(jī)制內(nèi)容都是一致的。首先,Java語(yǔ)言具有類(lèi)型安全和容易使用的特點(diǎn)。其次,無(wú)論是編譯器還是字節(jié)碼校驗(yàn)器,都對(duì)Java字節(jié)碼的安全性有所要求。具體來(lái)說(shuō),就是只有合法的字節(jié)碼才能正常的運(yùn)行。再者,Java的類(lèi)裝載器進(jìn)行本地命名空間的定義,從而保證了不被信任的Applet無(wú)法進(jìn)行其他程序運(yùn)行的干擾[2]。另外,只有通過(guò)安全管理器的檢查,JVM才能進(jìn)行系統(tǒng)對(duì)重要系統(tǒng)資源的訪問(wèn)的調(diào)停。
2.2 Java的安全特性
Java的安全特性有兩個(gè),既類(lèi)型安全和語(yǔ)義分析。其中,類(lèi)型安全是實(shí)現(xiàn)Java安全的重要因素。而在類(lèi)型安全中,需要考慮的問(wèn)題則有類(lèi)型檢查和類(lèi)型安全。具體來(lái)說(shuō),就是計(jì)算機(jī)中的每個(gè)區(qū)域都存有Java對(duì)象,而且每個(gè)對(duì)象有與之相應(yīng)的標(biāo)簽,進(jìn)而使對(duì)象與其允許的操作聯(lián)系起來(lái),而這種方法就是動(dòng)態(tài)類(lèi)型檢查。而靜態(tài)類(lèi)型檢查則主要是進(jìn)行相應(yīng)程序的考查的操作,常常應(yīng)用在程序的載入的過(guò)程中。另外,類(lèi)型混亂是比較常見(jiàn)的Java系統(tǒng)的安全問(wèn)題。具體來(lái)說(shuō),就是Java系統(tǒng)往往將對(duì)象當(dāng)做是內(nèi)存中的模塊,所以,所有對(duì)象的數(shù)據(jù)域就是被分配的內(nèi)存的排列組合。而一旦要進(jìn)行某個(gè)對(duì)象的調(diào)用時(shí),則需要根據(jù)對(duì)象的類(lèi)型標(biāo)簽,既目標(biāo)地址的指向指針來(lái)進(jìn)行對(duì)象的調(diào)用。所以,為了避免類(lèi)型的混亂,從而確保Java系統(tǒng)的安全性,首先就要做好指針的標(biāo)記。而語(yǔ)義分析作為Java技術(shù)的另一個(gè)安全特性,其分析可以從公共變量、被保護(hù)成員變量和Java包三個(gè)方面來(lái)進(jìn)行。首先,由于Java的公共變量值能夠被任意的Java方法所改寫(xiě),所以公共變量中的任何存儲(chǔ)數(shù)據(jù)都有安全上的風(fēng)險(xiǎn)。其次,由于被保護(hù)成員變量能夠進(jìn)行這一變量的類(lèi)的創(chuàng)造,所以就可以進(jìn)行這個(gè)類(lèi)的所有子成員的訪問(wèn)。所以,程序代碼可以通過(guò)聲明自己是包的成員而獲得被保護(hù)變量的訪問(wèn)權(quán),進(jìn)而使Java系統(tǒng)承擔(dān)一定的風(fēng)險(xiǎn)[3]。再者,Java包的模板不能嵌套,所以程序員并不能限制其對(duì)安全敏感組件的可見(jiàn)性。所以,就目前來(lái)看,Java系統(tǒng)只能進(jìn)行變量的訪問(wèn)權(quán)的控制,卻不能進(jìn)行變量可見(jiàn)性的控制。
三、結(jié)論
總而言之,隨著我國(guó)互聯(lián)網(wǎng)絡(luò)技術(shù)的發(fā)展,Java技術(shù)的應(yīng)用將引起更多的人的關(guān)注。所以,對(duì)Java技術(shù)的安全問(wèn)題進(jìn)行研究,從而掌握J(rèn)ava技術(shù)的安全特性,并做好Java技術(shù)的系統(tǒng)的開(kāi)發(fā),才能進(jìn)一步使Java技術(shù)得到廣泛的應(yīng)用,進(jìn)而解決我國(guó)互聯(lián)網(wǎng)絡(luò)的安全問(wèn)題,促進(jìn)互聯(lián)網(wǎng)技術(shù)取得進(jìn)一步的發(fā)展。因此,本文對(duì)Java技術(shù)的安全問(wèn)題進(jìn)行的研究,對(duì)于促進(jìn)互聯(lián)網(wǎng)絡(luò)的發(fā)展有著重要的意義。
參 考 文 獻(xiàn)
[1]陸鐘石.Java安全體系結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2010.
[2]韓雅潔.基于JAVA的安全訪問(wèn)控制技術(shù)的研究[J].城市地理,2014,20(01):194-195.
[3]劉帥.Java技術(shù)在網(wǎng)絡(luò)安全管理中的應(yīng)用研究[J].電子世界,2014,03(01):170.