所屬的技術(shù)人員能夠理解,本公開的各個方面可以實現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本公開的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。下面參照圖7來描述根據(jù)本公開的這種實施方式的電子設(shè)備700。圖7顯示的電子設(shè)備700僅僅是一個示例,不應(yīng)對本公開實施例的功能和使用范圍帶來任何限制。如圖7所示,電子設(shè)備700以通用計算設(shè)備的形式表現(xiàn)。電子設(shè)備700的組件可以包括但不限于:上述至少一個處理單元710、上述至少一個存儲單元720、連接不同系統(tǒng)組件(包括存儲單元720和處理單元710)的總線730以及顯示單元740。其中,所述存儲單元存儲有程序代碼,所述程序代碼可以被所述處理單元710執(zhí)行,使得所述處理單元710執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本公開各種示例性實施方式的步驟。例如,所述處理單元710可以執(zhí)行如圖2中所示的步驟。存儲單元720可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機存取存儲單元(ram)7201和/或高速緩存存儲單元7202,還可以進一步包括只讀存儲單元(rom)7203。存儲單元720還可以包括具有一組(至少一個)程序模塊7205的程序/實用工具7204,這樣的程序模塊7205包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)??偩€730可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設(shè)備700也可以與一個或多個外部設(shè)備700(例如鍵盤、指向設(shè)備、藍牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備700交互的設(shè)備通信,和/或與使得該電子設(shè)備700能與一個或多個其它計算設(shè)備進行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口750進行。并且,電子設(shè)備700還可以通過網(wǎng)絡(luò)適配器760與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器760通過總線730與電子設(shè)備700的其它模塊通信。應(yīng)當明白,盡管圖中未示出,可以結(jié)合電子設(shè)備700使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。需要說明的是,本公開一些實施例中還提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述方法。在一種實施方式中,計算機程序產(chǎn)品可以是包含計算機程序的有形產(chǎn)品,如存儲有計算機程序的計算機可讀存儲介質(zhì)。可讀存儲介質(zhì)可以是基于電、磁、光、電磁、紅外線等信號的存儲介質(zhì),包括但不限于:隨機存取存儲器(ram),只讀存儲器(rom),磁帶,軟盤,閃存(flash),機械硬盤(hdd),固態(tài)硬盤(ssd),等等。示例性的,計算機程序產(chǎn)品可以實現(xiàn)為存儲有計算機程序的非易失性存儲介質(zhì),如只讀存儲器,與非門閃存(nand?flash)等。在一種實施方式中,計算機程序產(chǎn)品可以是包含計算機程序的無形產(chǎn)品。示例性的,計算機程序產(chǎn)品可以實現(xiàn)為虛擬數(shù)字產(chǎn)品,如存儲有計算機程序的可執(zhí)行文件,安裝包等數(shù)字文件。計算機程序的代碼可以通過一種或多種程序設(shè)計語言來編寫。程序設(shè)計語言如c語言、java、c++等。程序代碼可以完全地在用戶計算設(shè)備上執(zhí)行,或者部分地在用戶計算設(shè)備上執(zhí)行,或者作為一個獨立的軟件包執(zhí)行,或者部分在用戶計算設(shè)備上部分在遠程計算設(shè)備上執(zhí)行,或者完全在遠程計算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠程計算設(shè)備的情形中,遠程計算設(shè)備可以通過任意種類的網(wǎng)絡(luò),如局域網(wǎng)(lan)、廣域網(wǎng)(wan)等,連接到用戶計算設(shè)備,或者,可以連接到外部計算設(shè)備(例如通過運營商提供的因特網(wǎng)連接)。計算機程序可以通過電、磁、光、電磁、紅外線等信號承載或傳輸。電子設(shè)備可以將承載計算機程序的信號轉(zhuǎn)換為數(shù)字信號,進而運行計算機程序。當計算機程序在電子設(shè)備上運行時,其代碼用于使電子設(shè)備執(zhí)行(更具體地,可以使電子設(shè)備的處理器執(zhí)行)本公開各種示例性實施方式的方法步驟。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本公開實施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計算設(shè)備(可以是個人計算機、服務(wù)器、終端裝置、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實施方式的方法。此外,上述附圖僅是根據(jù)本公開示例性實施例的方法所包括的處理的示意性說明,而不是限制目的。易于理解,上述附圖所示的處理并不表明或限制這些處理的時間順序。另外,也易于理解,這些處理可以是例如在多個模塊中同步或異步執(zhí)行的。應(yīng)當注意,盡管在上文詳細描述中提及了用于動作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本公開的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的內(nèi)容后,將容易想到本公開的其他實施例。本技術(shù)旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由權(quán)利要求指出。應(yīng)當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限。
背景技術(shù):
1、tls1.3協(xié)議不僅應(yīng)用于網(wǎng)站,還保護著大部分接口和移動應(yīng)用后臺的安全,應(yīng)用場景廣泛。
2、相關(guān)技術(shù)中,tls1.3提供2種密鑰交換模式,分別為橢圓曲線密鑰交換模式和預(yù)共享密鑰模式。橢圓曲線密鑰交換模式應(yīng)用廣泛,會受到量子計算的威脅,安全性較差,并且tls1.3協(xié)議的配置存在一定的局限性。
技術(shù)實現(xiàn)思路
1、本公開的目的在于提供一種密鑰生成方法、密鑰生成裝置、計算機程序產(chǎn)品以及電子設(shè)備,進而至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的傳輸層安全協(xié)議受到量子計算威脅導(dǎo)致的安全性較低的問題。
2、根據(jù)本公開的一個方面,提供一種密鑰生成方法,包括:在客戶端基于量子安全的傳輸層安全協(xié)議發(fā)送的加密通信請求中,增加量子安全密鑰交換密碼組,并配置量子安全密鑰交換密碼組中的算法信息;在所述加密通信請求中添加抗量子簽名算法,并在所述加密通信請求中選擇密鑰協(xié)商算法,以確定客戶端對應(yīng)的第一密鑰交換字段;在服務(wù)端響應(yīng)于所述加密通信請求發(fā)送的響應(yīng)消息中,選擇密鑰協(xié)商算法,以確定服務(wù)端對應(yīng)的第二密鑰交換字段;根據(jù)所述第一密鑰交換字段以及所述第二密鑰交換字段進行密鑰協(xié)商,生成會話密鑰。
3、在本公開的一種示例性實施例中,所述配置量子安全密鑰交換密碼組中的算法信息,包括:在加密通信請求中的第一擴展字段中增加量子安全密鑰交換密碼組,并配置算法的數(shù)量、算法的類型以及算法的排列方式;其中,所述算法的數(shù)量與系統(tǒng)的安全需求強度正相關(guān),所述算法的類型包括傳統(tǒng)算法以及抗量子化算法。
4、在本公開的一種示例性實施例中,所述在所述加密通信請求中添加抗量子簽名算法,包括:在所述加密通信請求的第二擴展字段中添加抗量子簽名算法,所述抗量子簽名算法采用單一模式。
5、在本公開的一種示例性實施例中,所述在所述加密通信請求中選擇密鑰協(xié)商算法,以確定客戶端對應(yīng)的第一密鑰交換字段,包括:在所述加密通信請求的第三擴展字段中,獲取所述密鑰協(xié)商算法中傳統(tǒng)算法的第一公鑰以及抗量子化算法的公鑰;將傳統(tǒng)算法的第一公鑰以及抗量子化算法的公鑰,按照密鑰協(xié)商算法中傳統(tǒng)算法以及抗量子化算法的排列方式進行串聯(lián),以生成所述第一密鑰交換字段。
6、在本公開的一種示例性實施例中,所述在服務(wù)端響應(yīng)于所述加密通信請求發(fā)送的響應(yīng)信息中,選擇密鑰協(xié)商算法,以確定服務(wù)端對應(yīng)的第二密鑰交換字段,包括:在所述響應(yīng)消息中選擇密鑰協(xié)商算法,并確定密鑰協(xié)商算法中傳統(tǒng)算法的第二公鑰以及抗量子化算法的密文;將所述傳統(tǒng)算法的第二公鑰以及抗量子化算法的密文,按照密鑰協(xié)商算法的排列順序進行串聯(lián),以生成所述第二密鑰交換字段。
7、在本公開的一種示例性實施例中,所述密文通過抗量子化算法的公鑰對服務(wù)端生成的隨機數(shù)進行加密得到。
8、在本公開的一種示例性實施例中,所述根據(jù)所述第一密鑰交換字段以及所述第二密鑰交換字段進行密鑰協(xié)商,生成會話密鑰,包括:根據(jù)所述第一密鑰交換字段中傳統(tǒng)算法的第一公鑰以及第二密鑰交換字段中傳統(tǒng)算法的第二公鑰,確定傳統(tǒng)算法的傳統(tǒng)密鑰;根據(jù)所述第一密鑰交換字段中抗量子化算法的公鑰以及第二密鑰交換字段中抗量子化算法的密文,確定抗量子化算法的抗量子化密鑰;將所述傳統(tǒng)密鑰以及所述抗量子化密鑰,按照傳統(tǒng)算法以及抗量子化算法的排列方式進行拼接,以生成所述會話密鑰。
9、根據(jù)本公開的一個方面,提供一種密鑰生成裝置,包括:交互密碼組配置模塊,用于在客戶端基于量子安全的傳輸層安全協(xié)議發(fā)送的加密通信請求中,增加量子安全密鑰交換密碼組,并配置量子安全密鑰交換密碼組中的算法信息;第一協(xié)商算法確定模塊,用于在所述加密通信請求中添加抗量子簽名算法,并在所述加密通信請求中選擇密鑰協(xié)商算法,以確定客戶端對應(yīng)的第一密鑰交換字段;第二協(xié)商算法確定模塊,用于在服務(wù)端響應(yīng)于所述加密通信請求發(fā)送的響應(yīng)消息中,選擇密鑰協(xié)商算法,以確定服務(wù)端對應(yīng)的第二密鑰交換字段;會話密鑰生成模塊,用于根據(jù)所述第一密鑰交換字段以及所述第二密鑰交換字段進行密鑰協(xié)商,生成會話密鑰。
10、根據(jù)本公開的一個方面,提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述任意一項所述的密鑰生成方法。
11、根據(jù)本公開的一個方面,提供一種電子設(shè)備,包括:處理器;以及存儲器,用于存儲所述處理器的可執(zhí)行指令;其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行上述任意一項所述的密鑰生成方法。
12、根據(jù)本公開的一個方面,提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)上述任意一項所述的密鑰生成方法。
13、根據(jù)本公開的一個方面,提供一種電子設(shè)備,包括:處理器;以及存儲器,用于存儲所述處理器的可執(zhí)行指令;其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行上述任意一項所述的密鑰生成方法。
14、本公開實施例中提供的技術(shù)方案中,一方面,由于在基于傳輸層安全協(xié)議發(fā)送的加密通信請求中增加了量子安全密鑰交換密碼組,配置了算法信息,添加了抗量子簽名算法,并且根據(jù)客戶端的第一密鑰交換字段以及服務(wù)端的第二密鑰交換字段共同協(xié)商出會話密鑰,避免了傳輸層安全協(xié)議使用的密鑰協(xié)商算法會受到量子計算的威脅的問題,提高了傳輸層安全協(xié)議的安全性和可靠性。另一方面,在基于傳輸層安全協(xié)議發(fā)送的加密通信請求中增加量子安全密鑰交換密碼組,并配置其中的算法信息,由于可以根據(jù)實際需求靈活配置算法信息,提高了協(xié)議的靈活性和可配置性,也提高了應(yīng)用范圍。再一方面,利用傳輸層安全協(xié)議的擴展功能,提高了協(xié)議的兼容性,降低了升級的復(fù)雜性。
15、應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。