標籤:列表 電子 http 置換 bit 傳遞 它的 利用 blog
一、安全主要用於解決4類需求
1.保密(Security/Confidentiality)資訊不泄露給第三方
2.鑒別/認證(Authentication)能夠知道與你通訊的對方是誰
3.完整性(Integrity) 資訊傳輸儲存的過程中儲存完整性(不被修改、不被破壞、不被插入、不延遲、不亂序、不丟失)
4.不可否認性(non-repudiation) 輕鬆知道該訊息是有那個使用者產生、簽發和接受的。
二、密碼演算法的本質
演算法與密鑰的分離
三、對稱式加密
(一)基本概念
密鑰:分為加密金鑰和解密密鑰。
明文:沒有進行加密,能夠直接代表原文含義的資訊。
密文:經過加密處理處理之後,隱藏原文含義的資訊。
加密:將明文轉換成密文的實施過程。
解密:將密文轉換成明文的實施過程。
(二)對稱式加密模型
加密的過程Ek(M)=C 解密過程Ek(C)=M,其中M、C、k、E和D分別為明文、密文、密鑰、密碼編譯演算法和解密演算法。當加密金鑰和解密密鑰是同一密鑰時則稱為對稱式加密
(三)對稱式加密模型種類
對稱式加密的模型主要有三種: 置換加密 轉置加密 乘積加密(就是置換和轉置加密的結合)
代表密碼編譯演算法:DES(Data Encryption Standard)和AES(Advanced Encryption Standard)
1,置換加密
原始字元的順序沒有發生變化,只是把原始字元替換為另一字元。比如明文E:abc ,加密後的密文P為dfg:加密過程是:a--d,b--f,c--g,密鑰K:dfg。
2,轉置加密
原始字元沒有發生變化,只是原始字元的順序發生了改變。其實轉置加密是基於數學的轉置矩陣原理。
密鑰14253
asdfg aqz 其中 轉置矩陣:qaz 1-->1
qwert ---->dec swx 2-->4
zxcvb gtb dec 3-->2
swx frv 4-->5
frv gtb 5-->3
3,乘積加密
就是把轉換加密和轉置加密反覆利用對資料進行加密和解密
四、非對稱式加密
(一)基本概念
公開金鑰:顧名思義就是公開的密鑰,是非對稱式加密過程中用來 加密 的密鑰。
私密金鑰:自己私人的密鑰,是非對稱式加密過程中用來 解密 的密鑰。
非對稱式加密的通俗理解:公開金鑰和私密金鑰是一起產生的,然後公布公開金鑰,其他人就可以感覺公開金鑰就資料資訊進行加密和你通訊,這樣其他人就算截獲了這段資訊,沒有私密金鑰也是不能解密的,也就是只有自己可以對資料資訊進行解密。這樣密鑰的安全性就相對來說是比較高的,不用擔心金鑰交換的問題。
公開金鑰演算法的理論基石:數學,數學是科學之基。公開金鑰演算法的最重要兩大數學基礎是:
1.建立在分解大數的困難度,可以理解為我有兩個很大的大質數作為私密金鑰,公開兩個大質數的乘積作為公開金鑰,這樣就算我們知道了公開金鑰,也很難分解出兩個私密金鑰出來,也就沒法破解加密過後的資料了;
2.建立在以大素數為模來計算離散對數的困難度。
(二)非對稱式加密模型
非對稱式加密和對稱式加密的區別是非對稱式加密的加密金鑰和解密密鑰是不一樣的
(三)非對稱式加密演算法
RSA:就是建立在分解大數的困難度的一個非對稱式加密演算法,它的公開金鑰和私密金鑰長度至少1024bit
五 金鑰交換概述
(一)公開金鑰密碼演算法的優點和缺點
優點:高效
缺點:金鑰交換的問題。不如RSA的加密安全程度高,但是當選擇256bit的AES,仍然能勝任絕大多數的安全領域
(二)公開金鑰密碼演算法的優點和缺點
優點:安全性足夠高,沒有金鑰交換的問題
缺點:效率低,對於大資料加密很慢
(三)現階段 實際保密會話狀況 概述
(1)基於高效的對稱式加密演算法對會話進行加密
(2)工作階段金鑰即時產生且周期性變化
(3)基於其他足夠安全的方式進行工作階段金鑰的傳輸和交換
(四)金鑰交換種類
1,利用公開金鑰密碼來交換 會話密碼
使用對端的公開金鑰對產生的工作階段金鑰加密並傳遞給對端,對端使用私密金鑰解密擷取工作階段金鑰,雙方開始基於共用的工作階段金鑰進行對稱式加密的保密會話通訊
2.Diffie-Hellman金鑰交換協議
基於以大素數為模計算離散對數的困難度
雙方各自選定key,然後以一定演算法變換(使得key不以明文傳輸)後傳輸給對方
雙方利用對方交換來的資料和自己選定的key做變換,獲得一個一致的結果,作為工作階段金鑰
六 數位指紋/訊息摘要/散列/雜湊
(一)HASH(散列)函數(演算法)的定義
變長的輸入變換成定長的輸出
(二)常見HASH演算法
MD5(128bit),SHA1(160bit)
(三)HASH演算法的特點
1.易變性:即便原始資訊發生1bit的變化,HASH的輸出將會有不可預知的巨大變化。
2. 無法復原:通過HASH結果構造出滿足的輸入資訊是不可能的或者及其困難的。
(四)HASH演算法的應用情境
基於易變性特性
可保完整性
執行個體:
檔案下載時的MD5
訊息傳送時尾部額外傳MD
基於易變性特性
可保完整性
執行個體:
CRC校正的作用和不足
MD檢驗訊息惡劣環境傳輸的完整性和未受損壞
應用程式中對於核心檔案/資料庫讀寫的魯棒性保護,防止掉電和Crash
基於無法復原特性
可認證對端
執行個體:
HTTP的Basic和Digest認證
PPP的PAP和CHAP認證
手機登陸密碼和隱藏MMI的設計
七 電子簽名
(一)簽名要解決什麼問題
簽什麼
簽的內容的完整性保護
誰在簽
簽名人的不可否認性
(二)公開金鑰密碼術的兩面性
(三)電子簽名=HASH+公開金鑰密碼術
RSA的低效率特性,導致即便是簽名也不適合直接對原始資訊進行簽名
利用HASH先完成訊息摘要和完整性鑒別的作用
而後對簡單的訊息摘要進行基於公開金鑰密碼術的簽名
簽名一般附著於原始訊息結尾或者頭部一起發送
八 數位憑證
(一)認證的作用:公開金鑰的儲存和交換
公開金鑰作為一個欄位儲存於數位憑證中,認證的交換和傳輸即可傳輸/交換公開金鑰(demo)
(二)基於認證的認證
基於可信任認證的認證方式被廣泛的應用在現代安全領域,比如WIFI,HTTPS
在HTTPS中,典型的Client對Server的認證和鑒別基於可信任清單(demo)
Android平台安全概念篇