10.8 APKAS-6
10.8 APKAS-6
{DL,EC}APKAS-6 -{CLIENT,SERVER}是{離散對數,橢圓曲線}口令鑒別密鑰協商方案,該方案是擴展口令鑒別密鑰協商方案,包含參與方{CLIENT,SERVER}。在該方案中,客戶擁有口令相關的八位位組串π,而服務器擁有與π的口令驗證數據。
10.8.1 方案選項
客戶和服務器應該建立或者協商確定以下選項:
a) 口令相關數據
1) 適用于客戶: 根據輸入獲取口令相關的八位位組串π;
2) 適用于服務器:使用{DL,EC}PVDGP-5根據輸入π生成收口令限制的公開密鑰vπ;
b) 公開密鑰產生原語和秘密值產生原語和相關的參數。可選原語:PVDGP-5, PKGP-DH,PEPKGP-6-SERVER, SVDP-8-CLIENT,SVDP-8-SERVER;
c) 和π相關的有效的{DL,EC}域參數,包括q, r;
d) 密鑰產生函數Kdf,可選項為:KDF1,KDF2;
e) 一個或者多個密鑰產生參數八位位組串{P1,P2…};
10.8.2 密鑰協商操作
10.8.2.1 客戶密鑰協商
a) 隨機選擇一個整數s ∈[1, r -1],作為私鑰;
b) 計算口令相關的公鑰wc={DL,EC}PEPKGP-DH(s);
c) 發送wc給服務器;
d) 從服務器接收口令相關的公開密鑰ws;
1) 如果ws不是群的有效元素,則輸出“invalid”并停止;
2) 如果ws的階過小不能接受,則輸出“invalid”并停止;
3) (可選)如果ws不是有效的公鑰,則輸出“invalid”并停止;
e) 使用{DL,EC}PVDGP-5(π)計算受限于口令的私鑰uπ;
f) 計算域元素z={DL,EC}SVDP-8-CLIENT(s,uπ, wc, ws);
g) 計算八位位組串Z= FE2OSP(z);
h) 對每一個密鑰產生參數Pi,根據共享秘密八位位組串Z,產生一個共享秘密私鑰Ki = Kdf(Z, Pi);
10.8.2.2 服務器密鑰協商
a) 隨機選擇一個整數s ∈[1, r -1],作為私鑰;
b) 從客戶接收口令相關的公開密鑰wc;
1) 如果wc不是群的有效元素,則輸出“invalid”并停止;
2) (可選)如果wc不是有效的公鑰,則輸出“invalid”并停止。
c) 計算口令相關的公鑰ws= {DL,EC}PEPKGP-6-SERVER(s, vπ,wc);
d) 發送ws給客戶;
e) 計算域元素z={DL,EC}SVDP-8-SERVER(s,wc);
f) 計算八位位組串Z= FE2OSP(z);
g) 對每一個密鑰產生參數Pi,根據共享秘密八位位組串Z,產生一個共享秘密私鑰Ki = Kdf(Z, Pi);
10.8.3 密鑰證實操作
APKAS-6方案中客戶可以選擇是否在使用Z或者K1,K2…Kt之前確認服務器正確獲得了Z。對于服務器而言該步驟同樣是可選的。
10.8.3.1 服務器密鑰證實
a) 必選項
1) 從客戶接收八位位組串oc;
2) 計算o4 = KCF1(hex(04), wc, ws, Z, “”) ;
3) 如果o4≠oc,輸出“invalid”并停止。
b) 可選項
1) 計算os = KCF1(hex(03), wc, ws, Z, “”) ;
10.8.3.2 客戶密鑰證實
a) 必選項
1) 計算oc = KCF1(hex(04), wc, ws, Z, “”) ;
2) 發送oc給服務器。
b) 可選項
1) 從服務器接收八位位組串os;
2) o4 = KCF1(hex(03), wc, ws, Z, “”) ;
GB/T 32213-2015 信息安全技術 公鑰基礎設施 遠程口令鑒別與密鑰建立規范