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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

安全的基礎(chǔ)----學(xué)習(xí)java安全之前的準(zhǔn)備

2019-11-18 15:12:48
字體:
供稿:網(wǎng)友

  安全的基礎(chǔ)知識
在高度保證企業(yè)應(yīng)用程序安全的過程中我們不免會考慮到如下的安全需求,然后我們針對這些安全需求提出各種安全技術(shù):
1、 完整性驗證(Integrity Verification)。也就是以防止我們需要的內(nèi)容不被篡改,仍然不吃其真實性。
2、 機密性保持(Confidentiality PReservation)。通俗的說就是防止內(nèi)容被別人讀懂。
3、 認(rèn)證和訪問授權(quán)(Authenticity Permission)。通俗的說就是對來訪者提供的信息進行分析和判定,從而確定來訪者身份。然后根據(jù)身份決定該來訪者具有什么權(quán)限。
4、 不可抵賴的證據(jù)(Nonrepudiation Evidence)。據(jù)個很簡單的例子,假如在網(wǎng)上進行相應(yīng)的支付操作。假如我已經(jīng)給他們錢了,但他們?nèi)匀徽f我沒給他們怎么辦?好了,這里你只要明白我們后面的介紹的技術(shù)會解決這個問題的。
5、 審計證據(jù)(Auditing Evidence)。對一些安全性十分重要的數(shù)據(jù)操作進行紀(jì)錄和觀察。

針對上面提到的需求列表對各個技術(shù)進行比較粗略地介紹。具體內(nèi)容請從luopc@edu-edu.com.cn 獲取。

加密技術(shù)

加密技術(shù)是其它安全服務(wù)技術(shù)的基礎(chǔ),他們的穿插使用相當(dāng)廣泛。所以在學(xué)習(xí)軟件安全技術(shù)之前了解各種加密技術(shù)是相當(dāng)重要的。
加密技術(shù)的分類

1、消息摘要

消息摘要主要用于保持?jǐn)?shù)據(jù)的完整性,我們經(jīng)常聽到的校驗和就是消息摘要的一個特例。它的算法是一個單項函數(shù)。也就是直接將輸入的數(shù)據(jù)進行消息摘要提取,但絕不能從消息摘要生成原數(shù)據(jù)。消息摘要的算法分為如下幾類(最常用的是md5和SHA-1):
u MD2:是一個速度很慢但相當(dāng)安全的算法,它產(chǎn)生128位的摘要值。
u MD4:速度很快,但安全性下降。同樣產(chǎn)生128位的摘要值。
u MD5:是MD4的一個更安全的版本,同時速度更快。也產(chǎn)生128位的摘要值。
u SHA:安全哈希算法,產(chǎn)生一個160位的摘要值。
u SHA-1:在克服SHA的一些缺陷基礎(chǔ)上形成的哈希算法。
u SHA-256、SHA-383 和 SHA-512 提供更長的指紋,大小分別是 256 位、383 位和 512 位。
u MAC:消息認(rèn)證碼,使用秘密密鑰和消息摘要算法來創(chuàng)建消息摘要。我們可能經(jīng)常會疑問,我們有了消息摘要為什么還要認(rèn)證碼呢?聽我給你舉個例子,前面的提到的消息摘要,只要有明文和算法,誰都可以生成同樣的消息摘要,但有時為了非凡的目的我們需要只有特定的人才能生成這個摘要。好了,那怎么辦?通過在生成消息摘要的過程中加入相應(yīng)的密鑰,從而使生成的消息摘要在沒有密鑰的情況下難以生成。

2、對稱密鑰(私鑰加密)

對稱密鑰應(yīng)該是相當(dāng)強壯的信息加密算法。這和我們生活中的鑰匙極為相像。例如你家的門鎖可以有好幾把鑰匙,并且這些鑰匙都相同。在現(xiàn)實生活中,你可以將做好的鑰匙收遞手交給你的親人,但在網(wǎng)絡(luò)中就變了,你要通過網(wǎng)絡(luò)來傳遞這把鑰匙。所以對鑰匙的保護又需要相應(yīng)的加密技術(shù)。好了,通過這個通俗的例子,你應(yīng)該知道對稱密鑰干什么?它的弱點在哪里?等問題的答案了吧。下面是一些最普通的對稱密鑰算法:
u DES:DES(數(shù)據(jù)加密標(biāo)準(zhǔn))是由 IBM 于上世紀(jì) 70 年代發(fā)明的,美國政府將其采納為標(biāo)準(zhǔn),使用56位的密鑰。
u 3-DES(TripleDES):該算法被用來解決使用 DES 技術(shù)的 56 位時密鑰日益減弱的強度,其方法是:使用兩個密鑰對明文運行 DES 算法三次,從而得到 112 位有效密鑰強度。TripleDES 有時稱為 DESede(表示加密、解密和加密這三個階段)。
u RC2和RC4:可以使用2048位的密鑰并且提供了一個十分安全的算法。他們都來自于領(lǐng)先的加密安全性公司 RSA Security。
u RC5:使用了一種可配置的密鑰大小。也來自領(lǐng)先的加密安全性公司 RSA Security。
u AES:AES(高級加密標(biāo)準(zhǔn))取代 DES 成為美國標(biāo)準(zhǔn)。它是由 Joan Daemen 和 Vincent Rijmen 發(fā)明的,也被稱為 Rinjdael 算法。它是 128 位分組密碼,密鑰長度為 128 位、192 位或 256 位。
u Blowfish:這種算法是由 BrUCe Schneier 開發(fā)的,它是一種具有從 32 位到 448 位(都是 8 的整數(shù)倍)可變密鑰長度的分組密碼,被設(shè)計用于在軟件中有效實現(xiàn)微處理器。
u PBE。PBE(基于密碼的加密)可以與多種消息摘要和私鑰算法結(jié)合使用。

3、非對稱密鑰(公共密鑰)

我們在介紹對稱密鑰的時候舉了一個例子,提到了密鑰傳輸?shù)陌踩珕栴}。并且在網(wǎng)絡(luò)中的傳輸雙方并不是我們現(xiàn)實中的“親人”關(guān)系。那么公鑰正好解決了這個問題。我這里舉個通俗的例子,例如你有個信箱(物理信箱),開著一個縫隙(公鑰),大家都能往里塞東西,但是一旦賽進取,那可不是大家都能取到的,只有擁有信箱鑰匙(私鑰)才能得到。哈哈!就這樣。公鑰就這樣,不要擔(dān)心它多難理解。當(dāng)然當(dāng)我們反過來理解的時候就有些和信箱不同的地方。也就是用私鑰加密的東西只有對應(yīng)的公鑰才能進行解密,這種算法經(jīng)常被應(yīng)用在數(shù)字簽名上。其實在現(xiàn)實中你可以將公鑰技術(shù)和私鑰技術(shù)結(jié)合起來完成信息保密,因為公鑰的計算速度相當(dāng)慢,比私鑰慢大約100-1000倍。下面是一些非對稱密鑰算法列表:
u RSA:這個算法是最流行的公鑰密碼算法,使用長度可以變化的密鑰。
u Diffie-Hellman:技術(shù)上將這種算法稱為密鑰協(xié)定算法。它不能用于加密,但可以用來答應(yīng)雙方通過在公用通道上共享信息來派生出秘鑰。然后這個密鑰可以用于私鑰加密。
需要注重的是私鑰和密鑰是成對的,并且不能用一個生成另外一個,非凡是不能用公鑰生成私鑰,否則就麻煩了。

認(rèn)證和不可抵賴

我們經(jīng)常在論壇中中見到治理員、斑竹等身份標(biāo)識,并且我們更明白擁有不同的身份它們的權(quán)限也同樣有差別。但我們很想擁有治理員的權(quán)限,我們的突破口應(yīng)該在哪里呢?當(dāng)然是獲得一個治理員的賬號,這樣就可以被系統(tǒng)的認(rèn)證系統(tǒng)識別。通俗的說就是要讓系統(tǒng)的認(rèn)證識別器確認(rèn)你是治理員身份就可以了。呵呵,沒那么輕易,因為各個系統(tǒng)都具有嚴(yán)密的認(rèn)證體系,不象一些小朋友做的認(rèn)證邏輯處在sql語句邏輯上那么簡單。
認(rèn)證的實現(xiàn)方法多種多樣,真的,我以前做網(wǎng)站的時候總是想當(dāng)然地進行用戶認(rèn)證。但其基礎(chǔ)技術(shù)有如下列表:
u 基于口令的身份認(rèn)證
u 基于令牌的物理標(biāo)識和認(rèn)證
u 基于生物測定學(xué)的認(rèn)證
u 基于證書的認(rèn)證
下面就分別將這些認(rèn)證做一介紹:

基于口令的身份認(rèn)證

太熟悉了,不是嗎?這里只很想告訴口令暴露的過程以及保護的過程。我們通常見到的口令認(rèn)證方式是在傳輸過程中口令完全暴露,并且在服務(wù)器端的口令存儲上也完全是明文的形式,造成的后果是口令完全被暴露,很輕易被監(jiān)聽。那么如何保護這些過程中的口令呢?暫時的思路是:建立在安全傳輸層的基礎(chǔ)上,內(nèi)部口令不以明文形式出現(xiàn)。好了,不多說了,需要了解更具體的內(nèi)容請發(fā)郵件到:luopc@edu-edu.com.cn。

基于令牌的物理標(biāo)識和認(rèn)證

功能我們不用說,當(dāng)然是非常強大,但代價昂貴。你見過這樣的認(rèn)證嗎?呵呵,很少的話,就了解一下就行了,要更多了解勸你先研究一下ATM機和ATM卡或者給我發(fā)郵件:luopc@edu-edu.com.cn。

基于生物測定學(xué)的認(rèn)證

想想就知道了,你的指紋、眼睛視網(wǎng)膜等可真是獨一無二啊。呵呵,其復(fù)雜性也是很大的。我都部知道^^,當(dāng)然你可以知道,別忘了告訴我luopc@edu-edu.com.cn。

基于證書的認(rèn)證

近年來相當(dāng)流行的認(rèn)證技術(shù)應(yīng)該是基于證書的認(rèn)證。證書的概念和我們現(xiàn)實中的畢業(yè)證書、學(xué)位證書等沒有多大差別。上面可以記載一些事實信息(非凡是某一實體),那當(dāng)然差別主要體現(xiàn)在數(shù)字技術(shù)的非凡需要上。其實證書就是一個數(shù)據(jù)塊,主要包括公開密鑰、主體相關(guān)的信息、證書有效的日期、證書發(fā)行者的信息和證書發(fā)行者生成的簽名。
不是“親人”那我們就得搞清楚對方是什么?不然的話,我們怎么能把“她”的東西拿來用呢?或者怎么能把咱們的東西給“她”呢?“她”得拿出個什么憑據(jù)吧?呵呵,那當(dāng)然。這無可非議,可能現(xiàn)在你更急切的就是想知道這個證書的簽發(fā)和應(yīng)用過程吧?好了。我們繼續(xù)。
我們前面已經(jīng)談過將公鑰技術(shù)反過來可以應(yīng)用于數(shù)字簽名。但這種前面誰都可以簽的,數(shù)字簽名僅僅能解決消息來源真是你擁有公鑰的主人,但并不能說明該主人就是一個多么“可愛”的家伙。哎!完了,沒法確定她是否“可愛”了。但我倒有個主意,我們?nèi)フ乙粋€非凡了解此人的人(當(dāng)然要權(quán)威了)問問看此人是否信得過。哈哈,就是這樣,我們經(jīng)常說的CA機構(gòu)就是干這事情的。爽!那么整個過程如何呢?
其實整個過程很簡單,我就認(rèn)為是二次數(shù)字簽名就是了。第一次首先需要證書的實體將自己的信息和公鑰提交給CA,CA確認(rèn)該組織的可信賴之后,就用自己的密鑰對該實體的信息和公鑰進行簽名。最后被簽名的信息會就叫證書。站在用戶的角度,用戶首先接到一個證書,當(dāng)然會根據(jù)CA(可信)提供的公鑰進行解密,假如能解密,當(dāng)然就可以獲得可信賴的信息和實體公鑰。然后由實體公鑰再進行前面我們介紹的數(shù)字簽名解密步驟。呵呵,就這樣,由介紹完了。

安全套接字層

安全套接字層(SSL)和取代它的傳輸層安全性(TLS)是用于在客戶機和服務(wù)器之間構(gòu)建安全的通信通道的協(xié)議。它也用來為客戶機認(rèn)證服務(wù)器,以及(不太常用的)為服務(wù)器認(rèn)證客戶機。該協(xié)議在瀏覽器應(yīng)用程序中比較常見,瀏覽器窗口底部的鎖表明 SSL/TLS 有效。
TLS 1.0 和 SSL 3.1 一樣。
SSL/TLS 使用本教程中已經(jīng)討論過的三種密碼術(shù)構(gòu)件的混合體,但這一切都是對用戶透明的。以下是該協(xié)議的簡化版本:
? 當(dāng)使用 SSL/TLS(通常使用 https:// URL)向站點進行請求時,從服務(wù)器向客戶機發(fā)送一個證書。客戶機使用已安裝的公共 CA 證書通過這個證書驗證服務(wù)器的身份,然后檢查 IP 名稱(機器名)與客戶機連接的機器是否匹配。
? 客戶機生成一些可以用來生成對話的私鑰(稱為會話密鑰)的隨機信息,然后用服務(wù)器的公鑰對它加密并將它發(fā)送到服務(wù)器。服務(wù)器用自己的私鑰解密消息,然后用該隨機信息派生出和客戶機一樣的私有會話密鑰。通常在這個階段使用 RSA 公鑰算法。
? 然后,客戶機和服務(wù)器使用私有會話密鑰和私鑰算法(通常是 RC4)進行通信。使用另一個密鑰的消息認(rèn)證碼來確保消息的完整性。

from-javaresearch.org

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 民乐县| 肃北| 包头市| 咸丰县| 蓬莱市| 齐齐哈尔市| 宜城市| 赣州市| 车险| 江油市| 呼玛县| 嵊泗县| 沂水县| 利津县| 慈利县| 金山区| 武隆县| 哈尔滨市| 裕民县| 武山县| 凤山县| 宿迁市| 保亭| 舟曲县| 兰西县| 南平市| 乌兰浩特市| 西乌珠穆沁旗| 崇阳县| 太白县| 临城县| 来凤县| 万全县| 海安县| 恩施市| 建宁县| 长宁区| 鄯善县| 姚安县| 南城县| 甘洛县|