10.6 [EC]APKAS-4
10.6 [EC]APKAS-4
[EC]APKAS-4-{CLIENT,SERVER}是橢圓曲線口令鑒別密鑰協商方案,包含參與方{CLIENT,SERVER}。
[EC]APKAS-4使用優化的Diffie-Hellman交換在兩個參與方直接建立共享密鑰。客戶擁有基于口令的八進制值π,服務器擁有使用PVDGP函數根據客戶的口令生成的口令驗證數據。
10.6.1 方案選項
客戶和服務器應該建立或者協商確定協商口令驗證數據生成原語,公開密鑰生成原語,秘密值生成原語和相關參數。可選項包括:ECPVDGP-4,ECPKGP-1,ECPEPKGP-5-SERVER,ECSVDP-6-CLIENT,ECSVDP-6-SERVER。客戶和服務器必須使用相同的Redp參數。
a) 口令相關秘密和驗證數據;
1) 適用于客戶:基于口令的八位位組串π,可以包含“鹽”和單方或者雙方的身份信息;
2) 適用于服務器:使用DLPVDGP-4根據輸入π生成收口令限制的公開密鑰vπ;
b) 和π,vπ相關的有效的EC域參數;以及密鑰s,wc,ws;
c) 密鑰產生函數Kdf,可選項為:KDF1,KDF2;
d) 一個或者多個密鑰產生參數八位位組串{P1,P2…};
10.6.2 密鑰協商操作
協議的兩個參與方應該執行如下(或者等同的)步驟產生共享的密鑰,K1,K2…Kt。
10.6.2.1 客戶密鑰協商
a) 隨機選擇一個整數s∈[1,r-1],作為私鑰;
b) 計算DL公鑰wc=ECPKGP-1 (s);
c) 發送wc給服務器;
d) 從服務器接收口令相關的公開密鑰ws;
1) 如果ws不是群的有效元素,則輸出“invalid”并停止;
e) 使用原語ECPVDGP-4(π)計算受限于口令的私鑰uπ和口令驗證數據vπ;
f) 計算協商域元素z =DLSVDP-6-CLIENT(s, uπ, vπ,wc, ws);
g) 計算八位位組串Z=FE2OSP(z);
h) 對每一個密鑰產生參數Pi,根據共享秘密八位位組串Z,產生一個共享秘密私鑰Ki=Kdf(Z, Pi);
10.6.2.2 服務器密鑰協商
a) 隨機選擇一個整數s∈[1,r-1],作為私鑰;
b) 計算口令相關的公鑰ws=ECPEPKGP-SRP-CLIENT (s,vπ);
c) 發送ws給客戶;
d) 從客戶接收公開密鑰wc;
1) 如果ws不是群的有效元素,則輸出“invalid”并停止;
e) 計算協商域元素z =DLSVDP-4-CLIENT(s, vπ, wc,ws);
f) 計算八位位組串Z=FE2OSP(z);
g) 對每一個密鑰產生參數Pi,根據共享秘密八位位組串Z,產生一個共享秘密私鑰Ki=Kdf(Z, Pi);
10.6.3 密鑰證實操作
APKAS-4方案中服務器必須在使用Z或者K1,K2…Kt之前確認客戶正確獲得了Z。對于客戶而言該步驟同樣是可選的。
1.1.1.1 客戶密鑰證實
a) 必選項
1) 計算oπ=FE2OSP(vπ);
2) 計算oc=KCF1(hex(03), wc,ws,Z,oπ);
3) 發送oc給服務器。
b) 可選項
1) 從服務器接收八位位組串os;
2) 計算o4=KCF1(hex(04), wc,ws,Z, oπ);
10.6.3.1 服務器密鑰證實
a) 必選項
1) 計算oπ=FE2OSP(vπ)
2) 從客戶接收八位位組串oc;
3) 計算o3=KCF1(hex(04), wc, ws,Z, oπ);
4) 如果o3≠oc,輸出“invalid”并停止。
b) 可選項
5) 計算os=KCF1(hex(03), wc,ws,Z, oπ);
GB/T 32213-2015 信息安全技術 公鑰基礎設施 遠程口令鑒別與密鑰建立規范