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

首頁 > 學院 > 開發設計 > 正文

安全的基礎--學習java安全之前的準備

2019-11-18 11:49:41
字體:
來源:轉載
供稿:網友

  安全的基礎知識
  在高度保證企業應用程序安全的過程中我們不免會考慮到如下的安全需求,然后我們針對這些安全需求提出各種安全技術:
  1、 完整性驗證(Integrity Verification)。也就是以防止我們需要的內容不被篡改,仍然不吃其真實性。
  2、 機密性保持(Confidentiality PReservation)。通俗的說就是防止內容被別人讀懂。
  3、 認證和訪問授權(Authenticity Permission)。通俗的說就是對來訪者提供的信息進行分析和判定,從而確定來訪者身份。然后根據身份決定該來訪者具有什么權限。
  4、 不可抵賴的證據(Nonrepudiation Evidence)。據個很簡單的例子,假如在網上進行相應的支付操作。假如我已經給他們錢了,但他們仍然說我沒給他們怎么辦?好了,這里你只要明白我們后面的介紹的技術會解決這個問題的。
  5、 審計證據(Auditing Evidence)。對一些安全性十分重要的數據操作進行紀錄和觀察。
  
  針對上面提到的需求列表對各個技術進行比較粗略地介紹。具體內容請從luopc@edu-edu.com.cn 獲取。
  
  加密技術
  加密技術是其它安全服務技術的基礎,他們的穿插使用相當廣泛。所以在學習軟件安全技術之前了解各種加密技術是相當重要的。
  加密技術的分類
  
  1、消息摘要
  消息摘要主要用于保持數據的完整性,我們經常聽到的校驗和就是消息摘要的一個特例。它的算法是一個單項函數。也就是直接將輸入的數據進行消息摘要提取,但絕不能從消息摘要生成原數據。消息摘要的算法分為如下幾類(最常用的是md5和SHA-1):
  MD2:是一個速度很慢但相當安全的算法,它產生128位的摘要值。
  MD4:速度很快,但安全性下降。同樣產生128位的摘要值。
  MD5:是MD4的一個更安全的版本,同時速度更快。也產生128位的摘要值。
  SHA:安全哈希算法,產生一個160位的摘要值。
  SHA-1:在克服SHA的一些缺陷基礎上形成的哈希算法。
  SHA-256、SHA-383 和 SHA-512 提供更長的指紋,大小分別是 256 位、383 位和 512 位。
  MAC:消息認證碼,使用秘密密鑰和消息摘要算法來創建消息摘要。我們可能經常會疑問,我們有了消息摘要為什么還要認證碼呢?聽我給你舉個例子,前面的提到的消息摘要,只要有明文和算法,誰都可以生成同樣的消息摘要,但有時為了非凡的目的我們需要只有特定的人才能生成這個摘要。好了,那怎么辦?通過在生成消息摘要的過程中加入相應的密鑰,從而使生成的消息摘要在沒有密鑰的情況下難以生成。
  
  2、對稱密鑰(私鑰加密)
  對稱密鑰應該是相當強壯的信息加密算法。這和我們生活中的鑰匙極為相像。例如你家的門鎖可以有好幾把鑰匙,并且這些鑰匙都相同。在現實生活中,你可以將做好的鑰匙收遞手交給你的親人,但在網絡中就變了,你要通過網絡來傳遞這把鑰匙。所以對鑰匙的保護又需要相應的加密技術。好了,通過這個通俗的例子,你應該知道對稱密鑰干什么?它的弱點在哪里?等問題的答案了吧。下面是一些最普通的對稱密鑰算法:
  DES:DES(數據加密標準)是由 IBM 于上世紀 70 年代發明的,美國政府將其采納為標準,使用56位的密鑰。
  3-DES(TripleDES):該算法被用來解決使用 DES 技術的 56 位時密鑰日益減弱的強度,其方法是:使用兩個密鑰對明文運行 DES 算法三次,從而得到 112 位有效密鑰強度。TripleDES 有時稱為 DESede(表示加密、解密和加密這三個階段)。
  RC2和RC4:可以使用2048位的密鑰并且提供了一個十分安全的算法。他們都來自于領先的加密安全性公司 RSA Security。
  RC5:使用了一種可配置的密鑰大小。也來自領先的加密安全性公司 RSA Security。
  AES:AES(高級加密標準)取代 DES 成為美國標準。它是由 Joan Daemen 和 Vincent Rijmen 發明的,也被稱為 Rinjdael 算法。它是 128 位分組密碼,密鑰長度為 128 位、192 位或 256 位。
  Blowfish:這種算法是由 BrUCe Schneier 開發的,它是一種具有從 32 位到 448 位(都是 8 的整數倍)可變密鑰長度的分組密碼,被設計用于在軟件中有效實現微處理器。
  PBE。PBE(基于密碼的加密)可以與多種消息摘要和私鑰算法結合使用。
  
  3、非對稱密鑰(公共密鑰)
  我們在介紹對稱密鑰的時候舉了一個例子,提到了密鑰傳輸的安全問題。并且在網絡中的傳輸雙方并不是我們現實中的“親人”關系。那么公鑰正好解決了這個問題。我這里舉個通俗的例子,例如你有個信箱(物理信箱),開著一個縫隙(公鑰),大家都能往里塞東西,但是一旦賽進取,那可不是大家都能取到的,只有擁有信箱鑰匙(私鑰)才能得到。哈哈!就這樣。公鑰就這樣,不要擔心它多難理解。當然當我們反過來理解的時候就有些和信箱不同的地方。也就是用私鑰加密的東西只有對應的公鑰才能進行解密,這種算法經常被應用在數字簽名上。其實在現實中你可以將公鑰技術和私鑰技術結合起來完成信息保密,因為公鑰的計算速度相當慢,比私鑰慢大約100-1000倍。下面是一些非對稱密鑰算法列表:
  u RSA:這個算法是最流行的公鑰密碼算法,使用長度可以變化的密鑰。
  u Diffie-Hellman:技術上將這種算法稱為密鑰協定算法。它不能用于加密,但可以用來答應雙方通過在公用通道上共享信息來派生出秘鑰。然后這個密鑰可以用于私鑰加密。
  需要注重的是私鑰和密鑰是成對的,并且不能用一個生成另外一個,非凡是不能用公鑰生成私鑰,否則就麻煩了。
  
  認證和不可抵賴
  我們經常在論壇中中見到治理員、斑竹等身份標識,并且我們更明白擁有不同的身份它們的權限也同樣有差別。但我們很想擁有治理員的權限,我們的突破口應該在哪里呢?當然是獲得一個治理員的賬號,這樣就可以被系統的認證系統識別。通俗的說就是要讓系統的認證識別器確認你是治理員身份就可以了。呵呵,沒那么輕易,因為各個系統都具有嚴密的認證體系,不象一些小朋友做的認證邏輯處在sql語句邏輯上那么簡單。
  認證的實現方法多種多樣,真的,我以前做網站的時候總是想當然地進行用戶認證。但其基礎技術有如下列表:
  u 基于口令的身份認證
  u 基于令牌的物理標識和認證
  u 基于生物測定學的認證
  u 基于證書的認證
  下面就分別將這些認證做一介紹:
  
  基于口令的身份認證
  
  太熟悉了,不是嗎?這里只很想告訴口令暴露的過程以及保護的過程。我們通常見到的口令認證方式是在傳輸過程中口令完全暴露,并且在服務器端的口令存儲上也完全是明文的形式,造成的后果是口令完全被暴露,很輕易被監聽。那么如何保護這些過程中的口令呢?暫時的思路是:建立在安全傳輸層的基礎上,內部口令不以明文形式出現。好了,不多說了,需要了解更具體的內容請發郵件到:luopc@edu-edu.com.cn。
  
  基于令牌的物理標識和認證
  
  功能我們不用說,當然是非常強大,但代價昂貴。你見過這樣的認證嗎?呵呵,很少的話,就了解一下就行了,要更多了解勸你先研究一下ATM機和ATM卡或者給我發郵件:luopc@edu-edu.com.cn。
  
  基于生物測定學的認證
  
  想想就知道了,你的指紋、眼睛視網膜等可真是獨一無二啊。呵呵,其復雜性也是很大的。我都部知道^^,當然你可以知道,別忘了告訴我luopc@edu-edu.com.cn。
  
  基于證書的認證
  
  近年來相當流行的認證技術應該是基于證書的認證。證書的概念和我們現實中的畢業證書、學位證書等沒有多大差別。上面可以記載一些事實信息(非凡是某一實體),那當然差別主要體現在數字技術的非凡需要上。其實證書就是一個數據塊,主要包括公開密鑰、主體相關的信息、證書有效的日期、證書發行者的信息和證書發行者生成的簽名。
  不是“親人”那我們就得搞清楚對方是什么?不然的話,我們怎么能把“她”的東西拿來用呢?或者怎么能把咱們的東西給“她”呢?“她”得拿出個什么憑據吧?呵呵,那當然。這無可非議,可能現在你更急切的就是想知道這個證書的簽發和應用過程吧?好了。我們繼續。
  我們前面已經談過將公鑰技術反過來可以應用于數字簽名。但這種前面誰都可以簽的,數字簽名僅僅能解決消息來源真是你擁有公鑰的主人,但并不能說明該主人就是一個多么“可愛”的家伙。哎!完了,沒法確定她是否“可愛”了。但我倒有個主意,我們去找一個非凡了解此人的人(當然要權威了)問問看此人是否信得過。哈哈,就是這樣,我們經常說的CA機構就是干這事情的。爽!那么整個過程如何呢?
  其實整個過程很簡單,我就認為是二次數字簽名就是了。第一次首先需要證書的實體將自己的信息和公鑰提交給CA,CA確認該組織的可信賴之后,就用自己的密鑰對該實體的信息和公鑰進行簽名。最后被簽名的信息會就叫證書。站在用戶的角度,用戶首先接到一個證書,當然會根據CA(可信)提供的公鑰進行解密,假如能解密,當然就可以獲得可信賴的信息和實體公鑰。然后由實體公鑰再進行前面我們介紹的數字簽名解密步驟。呵呵,就這樣,由介紹完了。
  
  安全套接字層
  安全套接字層(SSL)和取代它的傳輸層安全性(TLS)是用于在客戶機和服務器之間構建安全的通信通道的協議。它也用來為客戶機認證服務器,以及(不太常用的)為服務器認證客戶機。該協議在瀏覽器應用程序中比較常見,瀏覽器窗口底部的鎖表明 SSL/TLS 有效。
  TLS 1.0 和 SSL 3.1 一樣。
  SSL/TLS 使用本教程中已經討論過的三種密碼術構件的混合體,但這一切都是對用戶透明的。以下是該協議的簡化版本:
  · 當使用 SSL/TLS(通常使用 https:// URL)向站點進行請求時,從服務器向客戶機發送一個證書。客戶機使用已安裝的公共 CA 證書通過這個證書驗證服務器的身

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信阳市| 梅州市| 奎屯市| 忻州市| 台北县| 吴江市| 喀喇| 汤原县| 龙川县| 肇东市| 江都市| 海伦市| 曲阳县| 辉南县| 绥棱县| 彰化县| 旬邑县| 石景山区| 苏州市| 厦门市| 赤峰市| 博乐市| 瑞金市| 汽车| 封丘县| 故城县| 淮滨县| 自贡市| 北辰区| 岢岚县| 福建省| 三门峡市| 黄陵县| 南陵县| 铅山县| 新宁县| 宝丰县| 额济纳旗| 革吉县| 峨眉山市| 郓城县|