安全筆記 演算法 金鑰和認證

2021-10-08 15:07:11 字數 1981 閱讀 6749

安全不安全

hash演算法

單向演算法,涉及鹽值,不涉及金鑰。使用者可以通過hash演算法對目標資訊生成一段特定長度的唯一的hash值,卻不能通過這個hash值重新獲得目標資訊。hash演算法加密的資料是無法解密的,所以無法用來傳輸需要解密才能使用的內容,主要用於資訊完整性校驗。

非對稱加密

公鑰:n1=p*k;私鑰:n2=(p-1)(k-1);演算法特質:僅憑n1無法猜出p和k,特別當n1位數特別大的時候。n1和明文經過演算法運算得到密文;n2和密文經過演算法運算得到明文。

對稱加密

用同乙個金鑰加密和解密。

aesdes

base64

用來將非ascii字元的資料轉換成ascii字元的一種編碼方法,保證傳輸過程中不變形。不是一種加密演算法。

wsse認證

本質是使用者名稱密碼認證,basic認證的增強:1.伺服器給客戶乙個nonce隨機數.2.客戶帶使用者名稱、密碼、nonce計算hash值提交給伺服器

basic認證

本質是使用者名稱密碼認證:1.客戶帶使用者名稱、密碼採用base64編碼後提交給伺服器

digit認證

本質是使用者名稱密碼認證,basic認證的增強:1.伺服器給客戶乙個nonce隨機數。2.客戶帶使用者名稱、密碼、nonce加密提交給伺服器

oauth2認證

第三方授權認證

非對稱金鑰一句話總結:公鑰和私鑰是成對的,它們互相解密。

公鑰加密,私鑰解密。常用場景:https訊息加密

私鑰數字簽名,公鑰驗證。常用場景:https證書認證

https握手時用非對稱加密演算法,保證安全;通訊時用對稱演算法,保證效率。

數字證書:

數字證書簡稱ca.為什麼需要用數字證書呢,難道有了數字簽名還不夠安全嗎?有這樣一種情況,就是瀏覽器無法確定所有的真實伺服器是不是真的是真實的,舉乙個簡單的例子:a廠家給你們家安裝鎖,同時把鑰匙也交給你,只要鑰匙能開啟鎖,你就可以確定鑰匙和鎖是配對的,如果有人把鑰匙換了或者把鎖換了,你是打不開門的,你就知道肯定被竊取了,但是如果有人把鎖和鑰匙替換成另一套表面看起來差不多的,但質量差很多的,雖然鑰匙和鎖配套,但是你卻不能確定這是否真的是a廠家給你的,那麼這時候,你可以找質檢部門來檢驗一下,這套鎖是不是真的來自於a廠家,質檢部門是權威機構,他說的話是可以被公眾認可的(呵呵)。

同樣的, 因為如果有人(張三)用自己的公鑰把真實伺服器傳送給瀏覽器的公鑰替換了,於是張三用自己的私鑰執行相同的步驟對文字hash、數字簽名,最後得到的結果都沒什麼問題,但事實上瀏覽器看到的東西卻不是真實伺服器給的,而是被張三從裡到外(公鑰到私鑰)換了一通。那麼如何保證你現在使用的公鑰就是真實伺服器發給你的呢?我們就用數字證書來解決這個問題。數字證書一般由數字證書認證機構(certificate authority)頒發,證書裡面包含了真實伺服器的公鑰和**的一些其他資訊,數字證書機構用自己的私鑰加密後發給瀏覽器,瀏覽器使用數字證書機構的公鑰解密後得到真實伺服器的公鑰。這個過程是建立在被大家所認可的證書機構之上得到的公鑰,所以這是一種安全的方式。

證書:證書的發布機構(受信任或不受信任)+申請人的金鑰(公鑰,公鑰演算法,私鑰)+證書的簽名演算法(證書發布機構對指紋加密時使用的演算法)+證書的簽名/指紋(即加密後的證書hash值,證書發布機構使用發布機構自己的私鑰加密)+證書的指紋演算法(證書發布機構計算指紋時所使用的hash演算法)

1.證書格式(是一種標準):

x509 這種證書只有公鑰,不包含私鑰。

pcks#7 這種主要是用於簽名或者加密。

pcks#12 這種含有私鑰,同時也含有公鑰,但是有口令保護。

2.1)cer,crt證書:包含公鑰的證書

2)pfx證書:包含公鑰和私鑰的證書

3)jks:android studio 生成,包含公鑰和私鑰。

4)keystore: eclipse 打包生成,包含公鑰和私鑰。還包括乙個keystore密碼,用於獲取keystore的資訊。

5)key,pem:私鑰

3.單向認證:客戶端認證伺服器,需要truststore。雙向認證:客戶端和伺服器互相認證,需要truststore和keystore。

Linux伺服器安全 SSH 使用者金鑰認證登入

ssh 提供兩種安全驗證方式 1.基於口令 客戶端使用賬號和口令登入伺服器,所有傳輸資料都會被加密。但可能存在偽造伺服器冒充真正的伺服器與客戶端進行互動,不能避免中間人攻擊。2.基於金鑰 使用一對金鑰 私鑰 公鑰 將公鑰放置到伺服器註冊。當使用者從客戶端登入伺服器時,伺服器會接到使用金鑰 即註冊在伺...

SASL 簡單認證和安全層

sasl是一種用來擴充c s模式驗證能力的機制認證機制,全稱 authentication and security layer.當你設定sasl時,你必須決定兩件事 一是用於交換 標識信 息 或稱身份證書 的驗證機制 一是決定標識資訊儲存方法的驗證架構。sasl驗證機制規範client與serve...

SASL 簡單認證和安全層

sasl是一種用來擴充c s模式驗證能力的機制認證機制,全稱 authentication and security layer。當你設定sasl時,你必須決定兩件事 一是用於交換 標識信 息 或稱身份證書 的驗證機制 一是決定標識資訊儲存方法的驗證架構。sasl驗證機制規範client與serve...