本發(fā)明屬于信息安全、密碼學(xué)和身份認(rèn)證,尤其涉及一種基于fido2協(xié)議的抗量子密碼遷移方法、電子設(shè)備、介質(zhì)。
背景技術(shù):
1、隨著量子計(jì)算技術(shù)的快速發(fā)展,傳統(tǒng)的基于復(fù)雜數(shù)學(xué)問(wèn)題的公鑰密碼算法,如rsa和橢圓曲線(xiàn)加密(ecc),面臨著前所未有的安全威脅。量子計(jì)算機(jī)能夠通過(guò)shor算法在多項(xiàng)式時(shí)間內(nèi)破解這些加密算法,從而使基于這些算法的安全協(xié)議失效。這一問(wèn)題尤其對(duì)現(xiàn)代互聯(lián)網(wǎng)安全和身份認(rèn)證機(jī)制提出了重大挑戰(zhàn)。當(dāng)前廣泛使用的fido2協(xié)議依賴(lài)ecc和rsa等算法來(lái)確保安全通信和身份驗(yàn)證,然而在量子計(jì)算威脅下,這些算法將不再安全。
2、為了應(yīng)對(duì)量子計(jì)算帶來(lái)的安全風(fēng)險(xiǎn),抗量子密碼學(xué)迅速成為密碼學(xué)研究的前沿領(lǐng)域??沽孔用艽a算法通過(guò)使用難以被量子計(jì)算機(jī)破解的數(shù)學(xué)問(wèn)題設(shè)計(jì)加密和簽名算法,確保未來(lái)量子計(jì)算機(jī)環(huán)境中的數(shù)據(jù)安全。例如,kyber是一種基于格的抗量子加密算法,dilithium和falcon則是基于格的抗量子數(shù)字簽名方案。然而,現(xiàn)有的fido2協(xié)議尚未原生支持這些抗量子算法的集成。
3、當(dāng)前的fido2協(xié)議依賴(lài)基于公鑰加密的挑戰(zhàn)-響應(yīng)機(jī)制來(lái)確保用戶(hù)與服務(wù)提供商之間的安全通信。在ctap(客戶(hù)端到認(rèn)證器協(xié)議)通信中,傳統(tǒng)公鑰加密用于傳輸加密密鑰和認(rèn)證數(shù)據(jù),確保數(shù)據(jù)在傳輸過(guò)程中不被竊取或篡改。同時(shí),數(shù)字簽名則用于驗(yàn)證用戶(hù)身份和確保數(shù)據(jù)的完整性。然而,隨著量子計(jì)算能力的提升,基于傳統(tǒng)公鑰加密的通信將不再安全,迫切需要引入抗量子密碼算法。
4、現(xiàn)有fido2協(xié)議在面對(duì)量子計(jì)算威脅時(shí)存在的安全性不足,以及傳統(tǒng)公鑰加密算法和數(shù)字簽名算法在量子計(jì)算環(huán)境下無(wú)法保證數(shù)據(jù)安全的問(wèn)題。具體而言,現(xiàn)有的fido2協(xié)議依賴(lài)于rsa、ecc等傳統(tǒng)公鑰加密算法和ecdsa、eddsa等簽名算法,這些算法在量子計(jì)算機(jī)的攻擊下將變得不安全。
5、此外,現(xiàn)有技術(shù)面臨的問(wèn)題還包括如何在平滑過(guò)渡的情況下從傳統(tǒng)密碼技術(shù)向抗量子密碼技術(shù)遷移,同時(shí)需要考慮到熱遷移、可回滾、不同需求下的靈活切換等問(wèn)題。在不破壞現(xiàn)有系統(tǒng)的基礎(chǔ)上升級(jí)算法,并保證兼容性和系統(tǒng)穩(wěn)定性,也是當(dāng)前技術(shù)的難點(diǎn)。傳統(tǒng)密碼算法和抗量子密碼算法通常在性能、計(jì)算復(fù)雜度和硬件要求上存在差異,這使得直接替換具有較高的成本和復(fù)雜性。特別是,在fido2協(xié)議中直接集成抗量子算法,需要解決如何在不大幅修改現(xiàn)有協(xié)議框架的前提下實(shí)現(xiàn)混合加密和靈活算法切換的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、鑒于此,本發(fā)明提供了一種基于fido2協(xié)議的抗量子密碼遷移方法、電子設(shè)備、介質(zhì)。
2、第一方面,本發(fā)明實(shí)施例提供了一種基于fido2協(xié)議的抗量子密碼遷移方法,應(yīng)用于客戶(hù)端,所述方法具體包括:
3、客戶(hù)端利用第一公鑰pk1對(duì)一隨機(jī)生成的序列進(jìn)行運(yùn)算,從而得到第一共享密鑰k1和密文ct,將密文ct并返回給認(rèn)證器;將第一共享密鑰k1以及第二共享密鑰k2作為共享會(huì)話(huà)密鑰k,從而完成密鑰封裝;
4、其中,第一公鑰pk1是認(rèn)證器利用kyber算法生成第一公私鑰對(duì)(pk1,sk1)得到的;第二共享密鑰k2是認(rèn)證器利用第一私鑰sk1解封裝密文ct得到的;
5、響應(yīng)于用戶(hù)發(fā)起的注冊(cè)請(qǐng)求,客戶(hù)端向服務(wù)器提交注冊(cè)請(qǐng)求;接收服務(wù)器下發(fā)的第一挑戰(zhàn)以及用戶(hù)元數(shù)據(jù),利用共享會(huì)話(huà)密鑰k對(duì)第一挑戰(zhàn)以及用戶(hù)元數(shù)據(jù)進(jìn)行加密后發(fā)送至認(rèn)證器;接收認(rèn)證器下發(fā)的注冊(cè)響應(yīng),利用共享會(huì)話(huà)密鑰k對(duì)注冊(cè)響應(yīng)解密后上傳至服務(wù)器;
6、其中,注冊(cè)響應(yīng)為認(rèn)證器通過(guò)利用共享會(huì)話(huà)密鑰k對(duì)第二公鑰pk2、第一簽名sig1以及用戶(hù)元數(shù)據(jù)加密得到的;第二公鑰pk2是認(rèn)證器通過(guò)抗量子簽名算法生成一對(duì)第二公私鑰(pk2,sk2)得到的;第一簽名sig1是認(rèn)證器利用第二私鑰sk2對(duì)第一挑戰(zhàn)、第二公鑰pk2以及用戶(hù)元數(shù)據(jù)進(jìn)行簽名得到的;
7、響應(yīng)于用戶(hù)發(fā)起的認(rèn)證請(qǐng)求,客戶(hù)端向服務(wù)器發(fā)送登錄請(qǐng)求;接收服務(wù)器下發(fā)的第二挑戰(zhàn)以及用戶(hù)元數(shù)據(jù),利用共享會(huì)話(huà)密鑰k對(duì)第二挑戰(zhàn)以及用戶(hù)元數(shù)據(jù)進(jìn)行加密后發(fā)送至認(rèn)證器;接收認(rèn)證器返回的經(jīng)共享會(huì)話(huà)密鑰k加密的第二簽名sig2、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù)利用共享會(huì)話(huà)密鑰k解密后打包發(fā)送給服務(wù)器;
8、其中,第二簽名sig2為認(rèn)證器利用第二私鑰sk2對(duì)第二挑戰(zhàn)、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù)進(jìn)行簽名得到的;第二私鑰sk2是認(rèn)證器在注冊(cè)階段通過(guò)抗量子簽名算法生成一對(duì)第二公私鑰(pk2,sk2)得到的;第二挑戰(zhàn)是服務(wù)器響應(yīng)客戶(hù)端發(fā)送的登錄請(qǐng)求所生成的。
9、第二方面,本發(fā)明實(shí)施例提供了一種基于fido2協(xié)議的抗量子密碼遷移方法,應(yīng)用于服務(wù)器,所述方法具體包括:
10、響應(yīng)于客戶(hù)端發(fā)送的注冊(cè)請(qǐng)求,生成第一挑戰(zhàn),并將第一挑戰(zhàn)以及用戶(hù)元數(shù)據(jù)返回給客戶(hù)端;接收客戶(hù)端發(fā)送的經(jīng)共享會(huì)話(huà)密鑰k解密后的注冊(cè)響應(yīng),使用第二公鑰pk2驗(yàn)證第一簽名sig1是否有效、第二公鑰pk2和第一簽名sig1驗(yàn)簽得到的第二公鑰pk2是否一致、認(rèn)證器數(shù)據(jù)是否有效;當(dāng)驗(yàn)證通過(guò)后,發(fā)送認(rèn)證成功信號(hào),并存儲(chǔ)公鑰pk2和認(rèn)證器數(shù)據(jù);
11、其中,注冊(cè)響應(yīng)為認(rèn)證器通過(guò)利用共享會(huì)話(huà)密鑰k對(duì)第二公鑰pk2、第一簽名sig1以及用戶(hù)元數(shù)據(jù)加密得到的;第二公鑰pk2是認(rèn)證器通過(guò)抗量子簽名算法生成一對(duì)第二公私鑰(pk2,sk2)得到的;第一簽名sig1是認(rèn)證器利用第二私鑰sk2對(duì)第一挑戰(zhàn)、第二公鑰pk2以及用戶(hù)元數(shù)據(jù)進(jìn)行簽名得到的;
12、其中,共享會(huì)話(huà)密鑰k與第一共享密鑰k1、第二共享密鑰k2相同;第一共享密鑰k1和密文ct是客戶(hù)端接收認(rèn)證器發(fā)送的第一公鑰pk1并利用第一公鑰pk1對(duì)一隨機(jī)生成的序列進(jìn)行運(yùn)算后生成的;第二共享密鑰k2是認(rèn)證器使用第一私鑰sk1解封裝密文ct得到的;第一公鑰pk1和第一私鑰sk1是認(rèn)證器利用kyber算法生成第一公私鑰對(duì)(pk1,sk1)得到的;
13、響應(yīng)于客戶(hù)端發(fā)送的登錄請(qǐng)求,生成第二挑戰(zhàn),將第二挑戰(zhàn)以及與用戶(hù)元數(shù)據(jù)返回至客戶(hù)端;接收客戶(hù)端發(fā)送的經(jīng)共享會(huì)話(huà)密鑰k解密后的第二簽名sig2、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù),使用注冊(cè)階段存儲(chǔ)的第二公鑰pk2對(duì)第二簽名sig2進(jìn)行驗(yàn)證;當(dāng)驗(yàn)證成功后,發(fā)送認(rèn)證成功信號(hào);
14、其中,第二簽名sig2為認(rèn)證器利用第二私鑰sk2對(duì)第二挑戰(zhàn)、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù)進(jìn)行簽名得到的;第二私鑰sk2是認(rèn)證器在注冊(cè)階段通過(guò)抗量子簽名算法生成一對(duì)第二公私鑰(pk2,sk2)得到的。
15、第三方面,本發(fā)明實(shí)施例提供了一種基于fido2協(xié)議的抗量子密碼遷移方法,應(yīng)用于服務(wù)器,所述方法具體包括:
16、應(yīng)用于認(rèn)證器,所述方法具體包括:
17、認(rèn)證器利用kyber算法生成第一公私鑰對(duì)(pk1,sk1),并將第一公鑰pk1發(fā)送給客戶(hù)端;利用第一私鑰sk1解封裝密文ct,獲得第二共享密鑰k2;將第一共享密鑰k1以及第二共享密鑰k2作為共享會(huì)話(huà)密鑰k,從而完成密鑰封裝;
18、其中,第一共享密鑰k1和密文ct均是客戶(hù)端利用認(rèn)證器發(fā)送的第一公鑰pk1對(duì)一隨機(jī)生成的序列進(jìn)行運(yùn)算得到的;
19、接收客戶(hù)端發(fā)送的經(jīng)共享會(huì)話(huà)密鑰k加密后的第一挑戰(zhàn)以及用戶(hù)元數(shù)據(jù),并利用共享會(huì)話(huà)密鑰k對(duì)加密的第一挑戰(zhàn)以及用戶(hù)元數(shù)據(jù)進(jìn)行解密;使用抗量子簽名算法生成一對(duì)第二公私鑰(pk2,sk2);利用第二私鑰sk2對(duì)第一挑戰(zhàn)、第二公鑰pk2、用戶(hù)元數(shù)據(jù)進(jìn)行簽名,生成第一簽名sig1;將第二公鑰pk2、第一簽名sig1以及憑證數(shù)據(jù)經(jīng)共享會(huì)話(huà)密鑰k加密后作為注冊(cè)響應(yīng)發(fā)送至客戶(hù)端;
20、利用共享會(huì)話(huà)密鑰k對(duì)加密后的第二挑戰(zhàn)、用戶(hù)元數(shù)據(jù)進(jìn)行解密,根據(jù)用戶(hù)元數(shù)據(jù)中的憑證id獲取在注冊(cè)階段生成的第二私鑰sk2;利用第二私鑰sk2對(duì)第二挑戰(zhàn)、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù)進(jìn)行簽名,生成第二簽名sig2;將第二簽名sig2、用戶(hù)元數(shù)據(jù)以及認(rèn)證器數(shù)據(jù)經(jīng)共享會(huì)話(huà)密鑰k加密后發(fā)送至客戶(hù)端。
21、第四方面,本發(fā)明實(shí)施例提供了一種電子設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器與所述處理器耦接;其中,所述存儲(chǔ)器用于存儲(chǔ)程序數(shù)據(jù),所述處理器用于執(zhí)行所述程序數(shù)據(jù)以實(shí)現(xiàn)上述的基于fido2協(xié)議的抗量子密碼遷移方法。
22、第五方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的基于fido2協(xié)議的抗量子密碼遷移方法。
23、第六方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的基于fido2協(xié)議的抗量子密碼遷移方法。
24、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
25、(1)本發(fā)明通過(guò)在fido2協(xié)議中引入kyber抗量子加密算法和dilithium/falcon抗量子數(shù)字簽名算法,有效解決了傳統(tǒng)基于rsa/ecc算法的公鑰加密和基于ecdsa/eddsa數(shù)字簽名在量子計(jì)算攻擊下不安全的問(wèn)題。新方案在量子計(jì)算環(huán)境中能夠繼續(xù)保障通信的機(jī)密性、完整性和認(rèn)證的可靠性,顯著提升了協(xié)議的抗量子安全性。
26、(2)本發(fā)明對(duì)dilithium抗量子簽名算法或falcon抗量子簽名算法進(jìn)行接口封裝,實(shí)現(xiàn)可插拔、模塊化,確?,F(xiàn)有系統(tǒng)能夠在不進(jìn)行大規(guī)模改造的前提下實(shí)現(xiàn)平滑過(guò)渡?;旌霞用茉试S逐步替換系統(tǒng)中的傳統(tǒng)算法,保證系統(tǒng)在量子計(jì)算時(shí)代來(lái)臨前仍能保持高效運(yùn)行,同時(shí)簡(jiǎn)化了算法遷移過(guò)程,避免了突然過(guò)渡可能帶來(lái)的兼容性和穩(wěn)定性問(wèn)題,提供了一種實(shí)用、經(jīng)濟(jì)且易于實(shí)施的抗量子解決方案。