證書主要用來進行終端和網路的相互認證。
radius
伺服器首先向
ca證書頒發機構申請伺服器證書,用來代表
radius
伺服器的合法性。
客戶端向
caca
根證書,用來驗證
radius
客戶端通過開放系統接入的方法(
open system
)和ap
之間建立好物理連線。
1)client向ap
裝置傳送乙個
eapol-start
報文,開始
802.1x
接入的開始。(不一定有)
2)ap
向客戶端傳送
eap-request/identity
報文,要求客戶端將使用者資訊送上來。
3)client
回應乙個
eap-response/identity給ap
的請求,其中包括使用者的網路標識。使用者
id,對於
eap-mschchap
v2認證方式的使用者
id是由使用者在客戶端手動輸入或者配置的。使用者
id通常的格式是
username@domain
,其中username
是運營商提供給使用者的身份id,
domain
是運營商的網域名稱(如「
cmcc.com
」)。4)ap
以eap over radius
的報文格式將
eap-response/identity
傳送給認證伺服器
radius,
並且帶上相關的
radius
的屬性。
5)radius
收到客戶端發來的
eap-response/identity
,根據配置確定使用
eap-peap
認證,並向
ap傳送
radius-access-challenge
報文,裡面含有
radius
傳送給客戶端的
eap-request/peap/start
的報文,表示希望開始進行
eap-peap
的認證。
6)ap
裝置將eap-request/peap/start
傳送給認證客戶端。
7)client
收到eap-request/peap/start
報文後,產生乙個隨機數、客戶端支援的加密演算法列表、
tls協議版本、會話
id、以及壓縮方法(目前均為
null
),封裝在
eap-response/client
hello
報文中傳送給
ap裝置。
8):ap
以eap over radius
的報文格式將
eap-response/client
hello
傳送給認證伺服器
radius server,
並且帶上相關的
radius
的屬性。
9):radius
收到client
發來的client
hello
報文後,會從
client
的hello
報文的加密演算法列表中選擇自己支援的一組加密演算法+
server
產生的隨機數+
server
證書(包含伺服器的名稱和公鑰)+證書請求+
server_hello_done
屬性形成乙個
server hello
報文封裝在
access
-challenge
報文中,傳送給
client.
10) ap
把radius
報文中的
eap域提取,封裝成
eap-request
報文傳送給
client.
注:由於證書比較大,乙個報文是無法承載的,所以在實際流程中第10,
11完成後,後面還有
3個續傳的
ip分片報文,目的是把
server
證書傳送到客戶端
.11) client
收到報文後,進行驗證
server
的證書是否合法(使用從
ca證書頒發機構獲取的根證書進行驗證,主要驗證證書時間是否合法,名稱是否合法),即對網路進行認證,從而可以保證
server
的合法。如果合法則提取
server
證書中的公鑰,同時產生乙個隨機密碼串
pre-master-secret
,並使用伺服器的公鑰對其進行加密,最後將加密的資訊
clientkeyexchange+
客戶端的證書(如果沒有證書,可以把屬性置為0)+
tls finished
屬性封裝成
eap-rsponse/tls ok
報文傳送給認證點
ap.如果
client
沒有安裝證書,則不會對
server
證書的合法性進行認證,即不能對網路進行認證。(一些手機終端,如lumia920有是否驗證伺服器勾選項)
12) ap
以eap over radius
的報文格式將
eap-response/tls
ok傳送給認證伺服器
radius server,
並且帶上相關的
radius
的屬性13) radius
收到客戶端發了的報文後,用自己的證書對應的私鑰對
clientkeyexchange
進行解密,從而獲取到
pre-master-secret
,然後將
pre-master-secret
進行運算處理,加上
client
和server
產生的隨機數,生成加密金鑰、加密初始化向量和
hmac
的金鑰,這時雙方已經安全的協商出一套加密辦法了,至此tls
通道已經建立成功,以後的認證過程將使用協商出的金鑰進行加密和校驗。
radius
server
借助hmac
的金鑰,對要在
tls通道內進行認證的訊息做安全的摘要處理,然後和認證訊息放到一起。借助加密金鑰,加密初始化向量加密上面的訊息,封裝在
access
-challenge
報文中,傳送給
client.
14)ap
把radius
報文中的
eap域提取,封裝成
eap-request
報文傳送給
client.
15)客戶端收到
radius server
發來報文後,用伺服器相同的方法生成加密金鑰,加密初始化向量和
hmac
的金鑰,並用相應的金鑰及其方法對報文進行解密和校驗,然後產生認證回應報文,用金鑰進行加密和校驗,最後封裝成
eap-
response
報文傳送給ap,
ap以eap over radius
的報文格式將
eap-response
傳送給認證伺服器
radius server,
並且帶上相關的
radius
的屬性,這樣反覆進行互動,直到認證完成(注:對於不同的認證方法互動流程不一致,通常的認證方法為:
peap-mschapv2
或者gtc(ibm
ldap支援的,有關於peap-gtc的過程就是在認證的時候按照gtc/otp的過程在peap新增的乙個過程罷了,再注:在傳送完密碼後要傳乙個長度為1的資料為0的包過去後才會得到sucess連通網路)
,下面由單獨認證流程
,如果是
sim認證,還需要跟
hlr/auc
裝置進行資料互動,並且使用
as作為認證伺服器)
,在認證過程中,
radius
server
會下發認證後用於生成空口資料加密金鑰(包括單播、組播金鑰)的
pmk給
client.
16)伺服器認證客戶端成功,會傳送
access
-accept
報文給ap
,報文中包含了認證伺服器所提供的
mppe
屬性。17) ap
收到radius-access-accept
報文,會提取
mppe
屬性中的金鑰做為
wpa加密用的
pmk,
並且會傳送
eap-
success
報文給客戶端
Wifi裝置接入流程
這是硬體平台下文件結構圖,詳細了解戳這裡具體了解這裡。wifi裝置告訴咱們自己 咱們自己的伺服器,咱們自己的伺服器告訴裝置。wifi裝置和咱們自己的伺服器之間的通訊是需要咱們自己定義的,就和普通的網路通訊差不多。裝置連線也是這個道理,首先wifi裝置的狀態是告訴咱們自己的伺服器,只有咱們自己的伺服器...
python 支付寶支付接入流程
需要生成自己的服務端的私鑰和公鑰,現在支付寶支援的加密方式為sha256,sha1,推薦使用sha256.支付寶提供了生成秘鑰的方法和步驟 開啟括號中的鏈結,即可看到詳細的生成秘鑰的方法和步驟。公鑰私鑰生成完之後,要將公鑰上傳到支付寶金鑰設定中。將支付寶的公鑰copy到本地,將自己的公鑰私鑰和支付寶...
銀行卡資訊驗證API介面呼叫接入流程
銀行卡資訊驗證介面廣泛的用於擔保 法律 航空 物流 婚戀 旅遊 租賃等行業,通過介面能夠快速的對個人銀行卡相關資訊的真偽進行核驗,推進完善可靠的網際網路信用基礎的建立。下面,來具體的了解下銀行卡資訊驗證api介面包含的產品類別及接入流程。一 銀行卡資訊驗證api介面產品型別 1.銀行卡二要素驗證 核...