身份驗證(公開金鑰加密原理簡介)

2021-06-22 23:12:16 字數 3099 閱讀 7030

第一種:關於產品使用者驗證(c/s,b/s),用的較多;

第二種:vpn,ssh,https及web api等都有廣泛的應用。

下面就是關於身份驗證的基本概念了:

身份驗證又稱「驗證」、「鑑權」,是指通過一定的手段,完成對使用者身份的確認。身份驗證的方法有很多,基本上可分為:基於共享金鑰的身份驗證、基於生物學特徵的身份驗證和基於公開金鑰加密演算法的身份驗證。

身份驗證又稱「驗證」、「鑑權」,是指通過一定的手段,完成對使用者身份的確認。

身份驗證的目的是確認當前所聲稱為某種身份的使用者,確實是所聲稱的使用者。在日常生活中,身份驗證並不罕見;比如,通過檢查對方的證件,我們一般可以確信對方的身份。雖然日常生活中的這種確認對方身份的做法也屬於廣義的「身份驗證」,但「身份驗證」一詞更多地被用在計算機、通訊等領域。

身份驗證的方法有很多,基本上可分為:基於共享金鑰的身份驗證、基於生物學特徵的身份驗證和基於公開金鑰加密

演算法的身份驗證。

不同的身份驗證方法,安全性也各有高低。

基於共享金鑰

基於共享金鑰的身份驗證是指伺服器端和使用者共同擁有乙個或一組密碼。當使用者需要進行身份驗證時,使用者通過輸入或通過保管有密碼的裝置提交由使用者和伺服器共同擁有的密碼。伺服器在收到使用者提交的密碼後,檢查使用者所提交的密碼是否與伺服器端儲存的密碼一致,如果一致,就判斷使用者為合法使用者。如果使用者提交的密碼與伺服器端所儲存的密碼不一致時,則判定身份驗證失敗。

使用基於共享金鑰的身份驗證的服務有很多,如:絕大多數的網路接入服務、絕大多數的bbs以及維基百科等等。

基於生物學特徵

基於生物學特徵的身份驗證是指基於每個人身體上獨一無二的特徵,如指紋、虹膜等等。

基於公開金鑰加密演算法

基於公開金鑰加密

演算法的身份驗證是指通訊中的雙方分別持有公開金鑰和私有金鑰,由其中的一方採用私有金鑰對特定資料進行加密,而對方採用公開金鑰對資料進行解密,如果解密成功,就認為使用者是合法使用者,否則就認為是身份驗證失敗。

使用基於公開金鑰加密

演算法的身份驗證的服務有:ssl、數字簽名

等等。

公開金鑰加密公開

金鑰加密

也稱為非對稱

金鑰加密,該加密

演算法使用兩個不同的金鑰

:加密金鑰

和解密金鑰。

公開金鑰

加密也稱為非對稱金鑰

加密,該加密

演算法使用兩個不同的金鑰

:加密金鑰

和解密金鑰。前者公開

,又稱公開金鑰,簡稱公鑰

。後者保密,又稱私有金鑰,簡稱私鑰

。這兩個金鑰是數

學相關的,用某使用者加密

金鑰加密後所得的資訊只能用該使用者的解密

金鑰才能解密

。rsa算

法(由發明者rivest,shmir和adleman姓氏首字母縮寫而來)是著名的公開

金鑰加密演算法。公鑰

加密的另一用途是身份驗證

:用私鑰

加密的資訊,可以用公鑰拷貝對其解密

,接收者由此可知這條資訊確實來自於擁有私鑰的某人。

公鑰的形式就是數字證書

。在對稱金鑰

加密中,對乙個資訊的加密

密碼和解密

密碼都是相同的,所以傳送者需要傳送一條資訊之前,必須先傳送金鑰

給接收者,這樣接收者才能解密這條資訊。

對稱金鑰加密

的過程是:

假設兩個使用者a,b進行通訊,a先傳送資訊給b,然後b傳送資訊給a

1. a先用金鑰

k1加密一條資訊,使之變成密文c1;

2. a把金鑰

k1傳送給b;(此時如果金鑰被截獲,截獲方就可以解密

並讀取密文)

3. a把密文c1傳送給b;

4. b用金鑰

k1解密

,並讀取解密

後的資訊

5. b用金鑰

k2加密

一條資訊,使之變成密文c2;

6. b把金鑰

k2傳送給a;

7. b把密文c2傳送給a;

8. a用金鑰

k2解密

,並讀取解密後的資訊

公開金鑰

加密的過程是:

假設兩個使用者a,b進行通訊,a先傳送資訊給b,然後b傳送資訊給a

1. b先產生一對金鑰

k1a和k1b,前者用來加密

,後者用來解密

2. b把金鑰

k1a傳送給a;(因為k1a只能用來加密

,截獲方無法通過它來解密

並讀取密文)

3. a用金鑰

k1a加密

一條資訊,使之變成密文c1;

4. a把密文c1傳送給b;

5. b用金鑰

k1b解密

,並讀取解密後的資訊;

6. a產生一對金鑰

k2a和k2b,前者用來加密,後者用來解密

7. a把金鑰

k2a傳送給b;

8. b用金鑰

k2a加密

一條資訊,使之變成密文c2;

9. b把密文c2傳送給a;

10. a用金鑰

k2b解密

,並讀取解密後的資訊;

優點

與對稱金鑰

加密相比,優點在於無需共享的通用金鑰,解密

的私鑰不發往任何使用者。即使公鑰

在網上被截獲,如果沒有與其匹配的私鑰

,也無法解密

,所截獲的公鑰是沒有任何用處的。

asymmetric encryption system

假設兩個使用者a,b進行通訊,公鑰

為c,私鑰

為d,明文為x.

1:a用公鑰

對明文進行加密

形成密文c(x),然後傳輸密文;

2:b收到密文,用私鑰

對密文進行解密

d(c(x)),得到要通訊的明文x。

HTTPS中的對稱金鑰加密,公開金鑰加密,數字證書

我們將未加密的內容稱為明文,加密之後的內容稱為密文。簡單來說,要加密一段明文,可以將這段內容輸入到乙個加密函式中,輸出密文。但這種簡單的加密方式存在被人盜取到加密函式從而破解明文的危險,且加密函式一般構成複雜,一旦被盜取更換成本較高。於是人們想出了乙個辦法,在加密函式中再新增乙個引數,這個引數只有通...

根據值 加密後的值 算出key 公開金鑰加密

當代密碼學的核心是 公開金鑰加密 public key cryptography 我們先來聊聊公開金鑰加密的定義,然後介紹一下它的兩大應用,最後簡要介紹一下兩個公開金鑰加密的演算法。本文的目的是梳理清楚學習密碼學的大思路,以便在後續文章中,遇到橢圓曲線,rsa 加密通訊,數字簽名這些術語的時候,起碼...

公開金鑰對檔案進行加密傳輸的過程

color red 在微軟的window nt的安全性體系結構中,公開金鑰系統主要用於對私有金鑰的加密過程。每個使用者如果想要對資料進行加密,都需要生成一對自己的金鑰對 keypair 金鑰對中的公開金鑰和非對稱加密解密演算法是公開的,但私有金鑰則應該由金鑰的主人妥善保管。使用公開金鑰對檔案進行加密...