华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java基礎(chǔ) >> 文章內(nèi)容

Java安全性綜述:安全性的基本要點(diǎn)

來源:中華考試網(wǎng)  [2020年11月28日]  【

  最近的幾十年內(nèi),計(jì)算模型發(fā)生了巨大的變化,由于這些變化,出現(xiàn)了對(duì)大規(guī)模電子商務(wù)與電子交易系統(tǒng)應(yīng)用程序安全的更大需求,這正如最近對(duì)幾個(gè)受歡迎站點(diǎn)的大量拒絕服務(wù) (DoS) 攻擊所表明的那樣。尤 其是對(duì)于Java 團(tuán)體,隨著 Java 作為因特網(wǎng)編程的事實(shí)上的標(biāo)準(zhǔn)平臺(tái)出現(xiàn),安全移動(dòng) Java 代碼的能力已成為基本要求。

  本文是系列文章中的第 一篇,討論計(jì)算機(jī)安全和密碼學(xué)的一般概念。雖然可移動(dòng)代碼并不是一個(gè)革命性的概念,但是 Java 和因特網(wǎng)給計(jì)算機(jī)安全帶來了一些不同尋常的挑戰(zhàn)。Java 體系結(jié)構(gòu)的演化及其對(duì)安全的影響、不同的安全 API 和工具軟件以及 applet 安全,等等,將在隨后的文章中討論。

  此安全性論文系列并不打算提供計(jì)算機(jī)安全問題的綜合指南。計(jì)算機(jī)安全是一個(gè)多層面的問題,它涉及若干學(xué)科、部門和文化。技術(shù)投資后,接著就應(yīng)該著手培訓(xùn)、嚴(yán)格的策略強(qiáng)制執(zhí)行和總體安全策略的定期審查。

  什么是計(jì)算機(jī)安全?

  要從總體上理解什么是計(jì)算機(jī)安全,有必要考慮一下安全在日常生活中意味著什么。我們將看到,日常生活中的一般安全規(guī)則同樣適用于計(jì)算機(jī)安全。

  計(jì)算機(jī)安全的局限性

  有沒有絕 對(duì)計(jì)算機(jī)安全這樣的事情?一句話,沒有這樣的事情。術(shù)語 安全系統(tǒng)是一個(gè)不恰當(dāng)?shù)拿Q,因?yàn)樗凳玖讼到y(tǒng)要么是安全的,要么是不安全的。安全實(shí)際上是一種平衡。如果提供的資源是無限的,則任何形式的安全都能遭到 破壞。盡管攻擊者可用來實(shí)施攻擊的資源越來越多,但在現(xiàn)實(shí)世界中,這些資源仍然是有限的?紤]到這一點(diǎn),我們應(yīng)該這樣來設(shè)計(jì)所有系統(tǒng):讓攻擊者為破壞這些 系統(tǒng)所付出的,遠(yuǎn)遠(yuǎn)大于破壞之后他們所能得到的。

  端到端的安全

  什么是端到端的安全?在一個(gè)多層系統(tǒng)中,每一層都應(yīng)該有其自身的安全,并且與其他層協(xié)調(diào)一致。為匯集在一起的不同系統(tǒng)和中間件設(shè)計(jì)安全,是一個(gè) 相當(dāng)大的挑戰(zhàn)。簡(jiǎn)單地說,系統(tǒng)安全的程度僅相當(dāng)于最弱的一環(huán)的安全 程度;除非您按端到端的觀點(diǎn)考慮安全,否則安全隨時(shí)可以遭到破壞。

  簡(jiǎn)單性

  一個(gè)復(fù)雜的安全設(shè)計(jì)會(huì)起作用嗎?乍看起來,制止未授權(quán)用戶訪問系統(tǒng)的最 佳方法也許是,設(shè)計(jì)一個(gè)非常復(fù)雜的安全方案,但事實(shí)并非如此。不僅設(shè)計(jì)復(fù) 雜的安全系統(tǒng)的高成本使人不敢問津,而且,要是這種安全系統(tǒng)太復(fù)雜了,恐怕連合法用戶也難以進(jìn)入。另一方面,簡(jiǎn)單系統(tǒng)更容易理解,也更容易分析。

  好的系統(tǒng)設(shè)計(jì)需要安全

  有可能對(duì)安全進(jìn)行翻新嗎?答案是,這幾乎是不可能的。在很多情況下,翻新安全而不必重新設(shè)計(jì)系統(tǒng)的實(shí)質(zhì)性部分,可能是不現(xiàn)實(shí)的。在幾乎所有的情況下,翻新的成本非常昂貴。因此,安全從來不應(yīng)是事后考慮的事情 -- 從一開始它就必須是系統(tǒng)設(shè)計(jì)的不可分割的一部分。

  計(jì)算機(jī)安全的基礎(chǔ)知識(shí)

  了解這樣一些內(nèi)容是有用的:計(jì)算機(jī)安全的防御對(duì)象、相應(yīng)的防御機(jī)制,以及與計(jì)算機(jī)安全有關(guān)的不同術(shù)語。

  威脅

  威脅 -- 對(duì)計(jì)算機(jī)安全的攻擊 -- 大致可以分為以下幾類:

  機(jī)密性攻擊:利用加密算法中的弱點(diǎn)或以其他方式,試圖竊取機(jī)密信息。

  完整性攻擊:出于自私或惡意而試圖修改信息。應(yīng)該注意的是,完整性攻擊也可以是偶然的。

  可用性攻擊:試圖中斷系統(tǒng)的正常運(yùn)行?捎眯怨粲址Q為 拒絕服務(wù) (DoS) 攻擊,后者是最近流行的術(shù)語。

  幾種攻擊歸屬于上面提到的一個(gè)或幾個(gè)類別。示例包括:

  暴力 攻擊通常指搜索每一把鑰匙,直到用正確的那一把打開門為止。盡管這似乎是一項(xiàng)代價(jià)昂貴的操作,但實(shí)際上,通過使用專門的工具對(duì)搜索進(jìn)行仔細(xì)安排,是可能的。

  特洛伊木馬 攻擊以敵方不易察覺的方式插入一個(gè)內(nèi)線。計(jì)算機(jī)病毒就是常見的特洛伊木馬攻擊的例子。

  轉(zhuǎn)接攻擊 (person-in-the-middle attack) 在雙方不知道的情況下,中途截取他們的通訊信息,而雙方以為他們?cè)谡Mㄓ崱?/P>

  其他的攻擊包括: 生日攻擊、 字典攻擊、 會(huì)合 攻擊 (meet-in-the-middle attack) 等。(更全 面的討論,請(qǐng)參閱 參考資料中 Bruce Schneier 的 Applied Cryptography。)

  防護(hù)物

  為抵御對(duì)安全的威脅,有各種各樣的保護(hù)機(jī)制。在歷史上,防御機(jī)制曾經(jīng)包括設(shè)置某種“圍墻”或“邊界”,通常稱為 周邊防御 (perimeter defense)。

  防火墻, 周邊防御的一個(gè)相當(dāng)成功的示例,將內(nèi)部(專用)網(wǎng)絡(luò)與外部(公用)網(wǎng)絡(luò)分隔開,并為公司策略提供中央控制點(diǎn)。然而,防火墻日益允許各種精選形式的通訊 -- 例如 HTTP -- 穿過它。

  虛擬專用網(wǎng)絡(luò) (VPN),盡管仍然使用共享網(wǎng)絡(luò),但它提供的安全級(jí)別與專用網(wǎng)絡(luò)相同,是另一個(gè)防護(hù)物示例。

  密碼學(xué)

  密碼學(xué)及其相關(guān)領(lǐng)域 密碼分析學(xué),自身與加密和解密信息的算法設(shè)計(jì)及分析有關(guān)。在下面的幾節(jié)中,我們將討論密碼學(xué)與安全之間極其重要的關(guān)系。

  機(jī)密性

  填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽java課程!害怕學(xué)不會(huì)?助教陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  機(jī)密性是保護(hù)數(shù)據(jù)免受未授權(quán)的一個(gè)或多個(gè)用戶訪問的方法。簡(jiǎn)單地說,就是只有預(yù)定的消息接收人才能夠弄懂這一消息。

  如果您正在與他人交換敏感信息,您希望絕 對(duì)確保只有預(yù)定的消息接收人才可以弄懂此消息,如果落入非預(yù)定的人手中,此消息實(shí)際上將變成無用的東西。機(jī)密性是用某種形式的加密技術(shù)來實(shí)現(xiàn)的。

  認(rèn)證

  認(rèn)證過程確認(rèn)用戶的身份。用戶可以是一個(gè)軟件實(shí)體,也可以是一個(gè)人。 委托人是其身份已被驗(yàn)證的一方,與委托人相關(guān)聯(lián)的是一組 憑證 。通常,認(rèn)證根據(jù)一些僅用戶和認(rèn)證人知道的機(jī)密信息 -- 例如口令 -- 來確認(rèn)身份。除了口令以外,更復(fù)雜的安全方案還將諸如智能卡或生物統(tǒng)計(jì)法(指紋、視網(wǎng)膜掃描,等等)之類的高級(jí)技術(shù)用于認(rèn)證。

  一旦建立了認(rèn)證,在實(shí)施中對(duì)用戶(或者更一般的說,委托人)的訪問是 訪問控制機(jī)制控制的。

  Kerberos -- 基于密鑰和加密 -- 展示了一種早期認(rèn)證技術(shù)。這種技術(shù)使用時(shí)間戳 -- 在一個(gè)規(guī)定的時(shí)段內(nèi)會(huì)話保持有效 -- 來實(shí)現(xiàn)這一點(diǎn)。為了正常工作,Kerberos 最根本的一點(diǎn)是,假定分布式系統(tǒng)中的時(shí)鐘是同步的。

  公用密鑰基礎(chǔ)結(jié)構(gòu) (PKI),代表一種更為普遍的認(rèn)證解決方案,將在下面的幾節(jié)中討論。

  Java Authentication and Authorization Service (JAAS) 框架,以基于用戶的認(rèn)證和訪問控制功能補(bǔ)充 Java2 平臺(tái)。JAAS 是 Java 2 Software Development Kit,v 1.3 的標(biāo)準(zhǔn)擴(kuò)展。

  完整性

  比如說您發(fā)送一張電子支票。當(dāng)銀行最終收到該支票時(shí),它需要弄清楚付款金額有沒有被篡改,這就是稱為 完整性的安全概念。

  不可否認(rèn)

  在上述的電子支票示例中,如果您確實(shí)發(fā)送了該支票,就應(yīng)該沒有辦法再否認(rèn)它。 不可否認(rèn)提供不可否認(rèn)的行為證據(jù),如給接收人的數(shù)據(jù)的原始證明或給發(fā)送人的數(shù)據(jù)收據(jù)。

  審計(jì)和日志

  保存已授予或已拒絕的資源訪問的記錄,可能有助于日后的審計(jì)工作。就此目的而言, 審計(jì)和 日志對(duì)于防止非法入侵或事后對(duì)非法入侵進(jìn)行分析,是大有用處的。

  策略和訪問控制

  安全策略著重控制對(duì)保護(hù)數(shù)據(jù)的訪問,安全執(zhí)行機(jī)制應(yīng)該足夠靈活以執(zhí)行策略,這一點(diǎn)至關(guān)重要。這稱為保持策略與機(jī)制相分離。盡管作出該決策的依據(jù) 可能是,按照委托人身份來授權(quán)訪問某一資源,但是,根據(jù) 角色來管理訪問控制通常更為容易。每個(gè) 委托人被映射到唯一的一個(gè)角色,以達(dá)到控制訪問的目的。通常這樣來實(shí)現(xiàn):用一個(gè)列表或矩陣,列舉不同的用戶/角色所擁有的對(duì)不同保護(hù)資源的訪問權(quán)。

  Java 2 Platform,Enterprise Edition (J2EE) 使用 基于角色的認(rèn)證 來執(zhí)行其策略?紤]到這一點(diǎn),在 J2EE 中,業(yè)務(wù)邏輯的開發(fā)人員根據(jù)角色來限制對(duì)特定功能的訪問。

責(zé)編:fushihao

上一篇:Java虛擬機(jī)的深入研究

下一篇: 沒有了

  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
桦川县| 津南区| 遂宁市| 安国市| 和硕县| 万源市| 珠海市| 南陵县| 肥乡县| 宜都市| 河北省| 漯河市| 剑川县| 邯郸市| 黄山市| 砚山县| 沧州市| 静海县| 安吉县| 盐城市| 泰和县| 西林县| 义马市| 金乡县| 石首市| 肥城市| 永清县| 斗六市| 万州区| 仙桃市| 凤城市| 宽城| 宜黄县| 福安市| 桑日县| 都昌县| 库尔勒市| 广德县| 平江县| 拉萨市| 临汾市|