web加密、解密學習筆記本

來源:互聯網
上載者:User

標籤:加密 解密 ssl https

還記得第一次註冊taobao帳號後在網上購買付款的情景。在選購好商品後,點擊付款,瀏覽器會跳轉到以“https”開頭的網頁連結,然後輸入銀行卡的付款密碼完成商品的付款。那時只知道以https開頭的連結是一個經過加密後的安全連結,自己在此網頁中輸入的密碼是經過加密後以密文的方式進行傳輸的,所以密碼是無法被窺視的。

如今,對https這種安全連結所涉及到的計算知識和工作原理也有了一定的瞭解,但從未進行過系統的整理,現通過學習與記錄的的方式,好好梳理一下這方面的知識。


一、安全網路的目標

    1.1 資料的機密性

        機密性就是為了防止資料被未授權的讀取。所以資料的發送方和接收方要以某種加密的機制來對資料進行加密處理,雙方傳輸的資料是被處理後的密文。

    1.2 資料的完整性

完整性是為了防止資料被未授權的修改,或至少要有機制能檢測出資料被修改過。

    1.3  資料的可用性

可用性主要針對提供服務的一方,當伺服器受到拒絕服務(dos)攻擊時,使用得資源的可獲得性降低或者根本無法獲得資訊。


二、安全性通訊協定

    2.1 SSL

        SSL(Secure SocketLayer)安全通訊端層協議是web瀏覽器與伺服器間安全交換資料的協議。有V1、V2、V3三個版本,V3版目前常用。

    2.2 TLS

        TLS(Transport LayerSecurity)傳輸層安全性通訊協定。有V1版本,功能與SSL V3相似。

    在互連網模型中SSL/TLS協議工作於應用程式層和TCP層間,應用程式層的資料不再直接發往傳輸層,而是發送給SSL層,通過SSL加密後再進行下一步的處理。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/57/56/wKioL1SYMfCCAJCoAALgVxgN9dQ145.jpg" title="捕獲.PNG" alt="wKioL1SYMfCCAJCoAALgVxgN9dQ145.jpg" />

三、加密方法

    3.1 對稱式加密(保證資料的機密性,也就是把明文轉換成不易讀取的密文)

        加密解密使用同一個密碼,也就是加密金鑰與解密的密鑰相同,得到了加密金鑰也就得到解密

        密鑰。主要用於保證資料的機密性。密鑰的安全性成為此種加密的關鍵。

        3.1.1 DES(Data Encryption Standard)資料加密標準,也稱為資料加密演算法,此種密碼編譯演算法

        的材質原理是由迴圈移位思想而來。

        3.1.2 3DES 三重DES是DES的變體,這是DES的一種加強版,它增長了加密金鑰的長度,由DES的

        56位增加到了168位。

        3.1.3 AES(Advanced Encryption Standard)進階加密標準,也是一種進階密碼編譯演算法

    3.2 非對稱式加密(非對稱式加密演算法用公開金鑰加密對稱金鑰,保證進行金鑰交換時密鑰的安全)

        非對稱式加密系統中會涉及到一組金鑰組,一個公開的密鑰,叫公開金鑰(publickey);一個私人的,叫私密金鑰(privatekey)。公開金鑰是一個可公開的,私密金鑰則是隱密性,不可被未授權使用者的訪問。公開金鑰是從私密金鑰中提取出來的,用私密金鑰加密的資料只能用與之配對的公開金鑰來解密,這實現了驗證身份的目的;用公開金鑰加密的資料只能用與之配對的私密金鑰來解密,這實現了資料的機密性。因非對稱式加密基於數字函數實現,演算法複雜,較於對稱式加密,非對稱式加密速度慢,不適合用於加密交換的大量資料,它主要的目的是用於交換對稱式加密演算法的密鑰,金鑰交換後雙方就可用祕密金鑰加密交換的資料,而此密鑰在傳輸到對方時是經過非對稱式加密演算法進行加密的,安全性得到保障。

         3.2.1 非對稱式加密演算法

                   RSA

                   DSA

                   DSS

                   ECC

    3.3 單向加密(保證資料的完整性)

         單向加密只能是從明文加密成密文,並不能從密文解密成明文。

         3.3.1 密碼編譯演算法

                   MD5

                   SHA1、SHA256、SHA512、SHA3

                   HMAC

         3.3.2 單向加密特性

                   定長輸出:無論加密的資料有多大,加密後輸出都是一個定長的資料。

                   雪崩效應:即使原來源資料發生細微的變化,加密後的輸出會發生巨大的變化。

    在實際的運用中,這三種加密方法往往不會單獨使用,一般都是結合起來實現資料的安全傳輸。資料在網路中一次完整的資料通訊過程是怎樣的呢?簡單的描述如下:

發送方:

1、  發送方使用選定的單向密碼編譯演算法計算來源資料的特徵碼;

2、  發送方使用自己的私密金鑰加密此特徵碼,並把加密後的密文資料附加在來源資料後面;

3、  發送方產生一次性對稱金鑰,並使用此祕密金鑰加密資料(來源資料+加密特徵碼後的密文資料)

4、  發送方使用接收方的公開金鑰加密一次性對稱金鑰,並附加於已加密的資料後面;

5、  資料已準備妥當,開始發送資料。

接收方:

1、  接收方使用與公開金鑰配對的私密金鑰解密資料,可得到一次性對稱金鑰;

2、  用一次性對稱金鑰解密資料,可得到來源資料和加密特徵碼後的密文資料;

3、  用發送方的公開金鑰解密資料,得到來源資料和來源資料的特徵碼;

4、  使用與發送方相同的單向密碼編譯演算法重新計算來源資料的特徵碼,並與解密出的特徵碼進行比較,如果特徵碼相同,那得到的來源資料可信,否則,來源資料不可信。


PS:文字性的東西總是讓人不好記憶,現上傳用xmind做的筆記。


本文出自 “SNAIL” 部落格,請務必保留此出處http://357742954.blog.51cto.com/368705/1592871

web加密、解密學習筆記本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.