10.10 PKRS-1
10.10 PKRS-1
{DL,EC}PKRS-1-{CLIENT,SERVER}是{離散對數,橢圓曲線}口令鑒別密鑰檢索方案,包含參與方{CLIENT,SERVER}。密鑰建立操作計算客戶端與服務器短交互的值,并根據客戶端的口令值π與服務器的私鑰為客戶端檢索出長期密鑰。
10.10.1 方案選項
客戶和服務器應該建立或者協商如下選項:
- 基于口令的八位位組串π,可以包含“鹽”和單方或者雙方的身份信息;
- 一個隨機元素生成函數Redp,應為{離散對數,橢圓曲線}REDP-1或者{離散對數,橢圓曲線}REDP-2;
- 一個密鑰抽取函數,應為KDF1或者KDF2;
- 一個或多個密鑰抽取參數字符串{P1,P2,…},用于抽取協商的密鑰
- 對應于客戶端口令值π的服務器端長期密鑰u
- 盲化函數KRBP-1,解盲化函數KRUP-1,置換函數KRPP-1的原語以及相關的參數;
- 合法的{離散對數,橢圓曲線}定義域集合(包括q和r)以及相關的π,u,s,wc,ws
10.10.2 密鑰建立操作
客戶端通過服務器端的輔助,在執行如下或者等同的步驟后,生成密鑰序列K1,K2,…,Kt。10.10.2.1 客戶端密鑰建立
a) 計算生成元gπ=Redp(π);
b) 隨機選擇一個整數s ∈[1, r -1],作為私鑰;
c) 計算口令相關的公鑰wc= {DL,EC}KRBP-1(s, gπ);
d) 發送wc給服務器;
e) 從服務器接收被置換以及盲化的口令值ws;
1) 如果ws不是群的有效元素,則輸出“invalid”并停止;
2) (可選)如果ws不是有效的公鑰,則輸出“invalid”并停止;
f) 計算置換的口令值zg={DL,EC}KRUP-1(s,ws);
g) 計算八位位組串Z= GE2OSP(zg);
h) 對每一個密鑰產生參數Pt,根據共享秘密八位位組串Z,產生一個共享秘密私鑰Ki= Kdf(Z, Pi);
i) 出產生的密鑰K1,K2…Kt。10.10.2.2 服務器端密鑰建立
a) 從客戶接收盲化的口令值wc;
1) 如果wc不是群的有效元素,則輸出“invalid”并停止;
2) (可選)如果wc不是有效的公鑰,則輸出“invalid”并停止;
b) 計算置換以及盲化的口令值ws = {DL,EC}KRPP-1(u, wc);
GB/T 32213-2015 信息安全技術 公鑰基礎設施 遠程口令鑒別與密鑰建立規范