本發(fā)明涉及信息安全,具體是一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名系統(tǒng)及方法,該系統(tǒng)和方法能夠根據(jù)后臺(tái)管理系統(tǒng)中的參數(shù)配置,靈活選擇國(guó)密算法或國(guó)際算法進(jìn)行加密簽名,并支持多廠商加密機(jī)的動(dòng)態(tài)切換,以確保系統(tǒng)業(yè)務(wù)的連續(xù)性和安全性。
背景技術(shù):
1、銀行間不同系統(tǒng)對(duì)接的過(guò)程中,為保證傳輸報(bào)文的保密性、完整性、防抵賴性,每次都需要對(duì)傳輸?shù)膱?bào)文加簽、加密,對(duì)應(yīng)答報(bào)文驗(yàn)簽、解密。
2、經(jīng)過(guò)多年的發(fā)展,我國(guó)自主研發(fā)的國(guó)密算法已經(jīng)可以獨(dú)立掌控,減少了對(duì)外依賴,安全性較高。現(xiàn)有銀行系統(tǒng)在逐步推進(jìn)由國(guó)際算法改造為國(guó)密算法的進(jìn)程,在改造過(guò)程中,也有不同的加密機(jī)選擇。特別是在涉及國(guó)密算法(如sm2、sm3等,?由中國(guó)自主研發(fā)的密碼算法)與國(guó)際算法(如rsa、sha-256等)的切換,以及多廠商加密機(jī)(由各個(gè)加密機(jī)廠商提供的硬件加密)設(shè)備的兼容性問(wèn)題上,現(xiàn)有系統(tǒng)往往缺乏靈活性和可擴(kuò)展性。
3、出上述問(wèn)題外,傳統(tǒng)系統(tǒng)往往采用固定的國(guó)際算法(由美國(guó)安全局發(fā)布的開(kāi)源算法),然而,隨著技術(shù)的發(fā)展,國(guó)際算法雖然安全可靠,但不能保證國(guó)際算法本身源碼的安全,可能會(huì)被外部攻擊或者篡改。
4、大多數(shù)系統(tǒng)在國(guó)密改造過(guò)程中,會(huì)將原國(guó)際算法直接替換,改為國(guó)密算法,但是,采用該方式在改進(jìn)過(guò)程中容易出現(xiàn)“一刀切”引發(fā)的問(wèn)題。如圖1所示現(xiàn)有的加簽驗(yàn)簽系統(tǒng),調(diào)用加簽、驗(yàn)簽的類時(shí),需要獲取具體類的對(duì)象來(lái)實(shí)現(xiàn)具體的加簽、驗(yàn)簽方法。倘若接口調(diào)用加簽方法后,在調(diào)用post請(qǐng)求到行外系統(tǒng)后,更換為國(guó)密算法,驗(yàn)簽仍然使用國(guó)際算法驗(yàn)簽,則驗(yàn)簽失敗。同一筆業(yè)務(wù)需要同一種算法才能保證業(yè)務(wù)完整,加簽、驗(yàn)簽一致才能無(wú)問(wèn)題。這樣在系統(tǒng)上線前需要將現(xiàn)有業(yè)務(wù)停掉,保證無(wú)存量業(yè)務(wù)方可更換加密算法。若切回原國(guó)際算法,可能需要以回退版本的方式或更換參數(shù)的方式切換。若更換加密機(jī)廠商可能不能保障現(xiàn)有業(yè)務(wù)的連續(xù)性等問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名系統(tǒng)及方法,以解決上述技術(shù)問(wèn)題,通過(guò)后臺(tái)管理系統(tǒng)中的參數(shù)配置,實(shí)現(xiàn)加密簽名算法的靈活選擇和加密機(jī)設(shè)備的動(dòng)態(tài)切換,保障系統(tǒng)業(yè)務(wù)的連續(xù)性和安全性。本發(fā)明將加簽驗(yàn)簽及加密機(jī)選擇這兩項(xiàng)功能,拆分到加簽驗(yàn)簽接口、加密機(jī)方法接口實(shí)現(xiàn),進(jìn)一步通過(guò)后臺(tái)管理系統(tǒng)中的參數(shù)配置,實(shí)現(xiàn)加密簽名算法的靈活選擇和加密機(jī)設(shè)備的動(dòng)態(tài)切換,可以靈活切換證書或者更換加密機(jī),當(dāng)證書過(guò)期或者失效時(shí),可隨時(shí)更換證書,同時(shí),現(xiàn)有業(yè)務(wù)不中斷,系統(tǒng)不停機(jī),保障了系統(tǒng)業(yè)務(wù)的連續(xù)性和安全性,高效、平滑的完成國(guó)密算法的更換。
2、為實(shí)現(xiàn)上述目的,本發(fā)明所述的一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名系統(tǒng),包括后臺(tái)管理系統(tǒng)、加簽驗(yàn)簽接口、加密機(jī)方法接口,其中,
3、后臺(tái)管理系統(tǒng),用于配置系統(tǒng)參數(shù),所述系統(tǒng)參數(shù)包括簽名方式;
4、加簽驗(yàn)簽接口,根據(jù)所述后臺(tái)管理系統(tǒng)中配置的系統(tǒng)參數(shù),動(dòng)態(tài)選擇相應(yīng)的算法實(shí)現(xiàn)類進(jìn)行加密簽名操作及加密驗(yàn)簽操作;
5、所述加密機(jī)方法接口,封裝了采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類;
6、加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)中的簽名方式,調(diào)用所述加密機(jī)方法接口,當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加密機(jī)方法接口選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
7、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)接收的簽名方式,調(diào)用所述加密機(jī)方法接口,當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口根據(jù)所述加密機(jī)方法接口返回的簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
8、該系統(tǒng)將加簽驗(yàn)簽及加密機(jī)選擇這兩項(xiàng)功能,拆分到加簽驗(yàn)簽接口、加密機(jī)方法接口實(shí)現(xiàn),進(jìn)一步通過(guò)后臺(tái)管理系統(tǒng)中的參數(shù)配置,實(shí)現(xiàn)加密簽名算法的靈活選擇和加密機(jī)設(shè)備的動(dòng)態(tài)切換,保障了系統(tǒng)業(yè)務(wù)的連續(xù)性和安全性,高效、平滑的完成國(guó)密算法的更換。
9、于一實(shí)施例中,該系統(tǒng)還包括國(guó)際算法實(shí)現(xiàn)類,
10、加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)中的簽名方式,以如下方式選擇國(guó)際算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密簽名操作:
11、當(dāng)所述簽名方式為國(guó)際算法時(shí),調(diào)用所述國(guó)際算法實(shí)現(xiàn)類進(jìn)行加密簽名操作;
12、當(dāng)所述簽名方式為國(guó)密算法時(shí),調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
13、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)接收的簽名方式,以如下方式選擇國(guó)密算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密驗(yàn)簽操作:
14、當(dāng)所述簽名方式為國(guó)際算法時(shí),調(diào)用所述國(guó)際算法實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作;
15、當(dāng)所述簽名方式為國(guó)密算法時(shí),根據(jù)所述加密機(jī)方法接口返回的簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
16、該系統(tǒng)通過(guò)后臺(tái)管理系統(tǒng)中的參數(shù)配置,實(shí)現(xiàn)加密簽名算法的靈活選擇和加密機(jī)設(shè)備的動(dòng)態(tài)切換,保障系統(tǒng)業(yè)務(wù)的連續(xù)性和安全性,高效、平滑的完成現(xiàn)有系統(tǒng)的國(guó)密改造工作。通過(guò)采用國(guó)際算法與國(guó)密算法相隔離的方式,可以靈活切換證書或者更換加密機(jī),當(dāng)證書過(guò)期或者失效時(shí),可隨時(shí)更換證書,保障現(xiàn)有業(yè)務(wù)不中斷,系統(tǒng)不停機(jī)。
17、于一實(shí)施例中,所述系統(tǒng)參數(shù)還包括加密機(jī)類型,所述加密機(jī)方法接口,封裝了不同廠商的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類;
18、加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)中的簽名方式、加密機(jī)類型,以如下方式選擇國(guó)密算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密簽名操作:
19、當(dāng)所述簽名方式為國(guó)密算法時(shí),調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式、加密機(jī)類型,動(dòng)態(tài)選擇相應(yīng)的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
20、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)中的簽名方式、加密機(jī)類型,以如下方式選擇國(guó)密算法實(shí)現(xiàn)類:
21、當(dāng)所述簽名方式為國(guó)密算法時(shí),根據(jù)所述加密機(jī)方法接口返回的簽名方式、加密機(jī)類型,動(dòng)態(tài)選擇對(duì)應(yīng)的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
22、本發(fā)明所述系統(tǒng)在國(guó)密算法改造過(guò)程中,通過(guò)參數(shù)配置確保系統(tǒng)能夠平滑過(guò)渡到新算法,保障了業(yè)務(wù)連續(xù)性。在加密機(jī)故障或廠商不再支持的情況下,能夠迅速切換到其他加密機(jī)實(shí)現(xiàn)類,確保系統(tǒng)穩(wěn)定運(yùn)行。
23、于一實(shí)施例中,所述系統(tǒng)參數(shù)還包括證書id,所述證書id與采用國(guó)密算法的加密機(jī)的國(guó)密證書對(duì)應(yīng),當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加密機(jī)方法接口根據(jù)加密機(jī)類型、證書id,動(dòng)態(tài)選擇相應(yīng)的采用國(guó)密算法的加密機(jī)及國(guó)密證書,實(shí)現(xiàn)類進(jìn)行加密簽名操或加密驗(yàn)簽操作。
24、該系統(tǒng)使國(guó)密算法實(shí)現(xiàn)類支持多廠商的加密機(jī),提供了可擴(kuò)展的加密機(jī)實(shí)現(xiàn)類接口,各廠商通過(guò)實(shí)現(xiàn)該接口提供具體的加密機(jī)調(diào)用功能??梢愿鶕?jù)加密機(jī)狀態(tài)和證書有效期等信息,動(dòng)態(tài)選擇加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作。通過(guò)證書id與加密機(jī)的對(duì)應(yīng)關(guān)系,實(shí)現(xiàn)了對(duì)國(guó)密證書的管理,支持證書到期自動(dòng)更換,無(wú)需變更程序或重啟程序。
25、本發(fā)明還提供一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名方法,應(yīng)用于一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名系統(tǒng),該系統(tǒng)包括后臺(tái)管理系統(tǒng)、加簽驗(yàn)簽接口、加密機(jī)方法接口,其中,
26、加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)配置的系統(tǒng)參數(shù),選擇加密機(jī)方法接口進(jìn)行加密簽名操作,所述系統(tǒng)參數(shù)包括簽名方式;
27、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
28、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)配置的系統(tǒng)參數(shù),選擇加密機(jī)方法接口進(jìn)行加密驗(yàn)簽操作,所述系統(tǒng)參數(shù)包括簽名方式;
29、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口根據(jù)所述加密機(jī)方法接口返回的簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
30、本發(fā)明所述的方法,保障了系統(tǒng)業(yè)務(wù)的連續(xù)性,即使在加密算法發(fā)生變更時(shí),也無(wú)需變更程序或重啟程序。
31、本發(fā)明還提供一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名方法,應(yīng)用于一種基于動(dòng)態(tài)參數(shù)選擇的加密簽名系統(tǒng),該系統(tǒng)包括后臺(tái)管理系統(tǒng)、加簽驗(yàn)簽接口、加密機(jī)方法接口,其中,
32、加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)配置的系統(tǒng)參數(shù),選擇國(guó)際算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密簽名操作;
33、所述系統(tǒng)參數(shù)包括簽名方式,當(dāng)所述簽名方式為國(guó)際算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述國(guó)際算法實(shí)現(xiàn)類進(jìn)行加密簽名操作;
34、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
35、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)配置的系統(tǒng)參數(shù),選擇國(guó)際算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密驗(yàn)簽操作,所述系統(tǒng)參數(shù)包括簽名方式;
36、當(dāng)所述簽名方式為國(guó)際算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述國(guó)際算法實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作;
37、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口根據(jù)所述加密機(jī)方法接口返回的簽名方式,選擇國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
38、本發(fā)明所述的方法,保障了系統(tǒng)業(yè)務(wù)的連續(xù)性,即使在加密算法發(fā)生變更時(shí),也無(wú)需變更程序或重啟程序。
39、于一實(shí)施例中,所述基于動(dòng)態(tài)參數(shù)選擇的加密簽名方法,加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)的系統(tǒng)參數(shù)選擇國(guó)密算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密簽名操作時(shí),所述系統(tǒng)參數(shù)還包括加密機(jī)類型,所述加密機(jī)類型與所述加密機(jī)方法接口封裝的不同廠商的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類對(duì)應(yīng);
40、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式、加密機(jī)類型,動(dòng)態(tài)選擇相應(yīng)的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密簽名操作;
41、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述加密機(jī)方法接口返回的簽名方式、加密機(jī)類型,動(dòng)態(tài)選擇對(duì)應(yīng)的采用國(guó)密算法的加密機(jī)實(shí)現(xiàn)類進(jìn)行加密驗(yàn)簽操作。
42、本發(fā)明所述的方法,保障了系統(tǒng)業(yè)務(wù)的連續(xù)性,即使在加密機(jī)類型發(fā)生變更時(shí),也無(wú)需變更程序或重啟程序。在國(guó)密算法改造過(guò)程中,通過(guò)參數(shù)配置確保系統(tǒng)能夠平滑過(guò)渡到新算法,保障了業(yè)務(wù)連續(xù)性。在加密機(jī)故障或廠商不再支持的情況下,能夠迅速切換到其他加密機(jī)實(shí)現(xiàn)類,確保系統(tǒng)穩(wěn)定運(yùn)行。
43、于一實(shí)施例中,所述基于動(dòng)態(tài)參數(shù)選擇的加密簽名方法,加簽時(shí),所述加簽驗(yàn)簽接口根據(jù)所述后臺(tái)管理系統(tǒng)的系統(tǒng)參數(shù)選擇國(guó)密算法實(shí)現(xiàn)類或加密機(jī)方法接口進(jìn)行加密簽名操作時(shí),所述系統(tǒng)參數(shù)還包括證書id,所述證書id與采用國(guó)密算法的加密機(jī)的國(guó)密證書對(duì)應(yīng);
44、當(dāng)所述簽名方式為國(guó)密算法時(shí),所述加簽驗(yàn)簽接口調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述簽名方式、加密機(jī)類型、證書id,選擇證書id對(duì)應(yīng)的國(guó)密算法的加密機(jī)及國(guó)密證書,進(jìn)行加密加簽操作;
45、驗(yàn)簽時(shí),所述加簽驗(yàn)簽接口調(diào)用所述加密機(jī)方法接口,所述加密機(jī)方法接口根據(jù)所述加密機(jī)方法接口返回的簽名方式、加密機(jī)類型、證書id,選擇證書id對(duì)應(yīng)的國(guó)密算法的加密機(jī)及國(guó)密證書,進(jìn)行加密驗(yàn)簽操作。
46、本發(fā)明所述的方法,保障了系統(tǒng)業(yè)務(wù)的連續(xù)性,即使在加密算法或加密機(jī)發(fā)生變更時(shí),也無(wú)需變更程序或重啟程序。簡(jiǎn)化了證書管理流程,支持證書到期自動(dòng)更換,降低了運(yùn)維成本。增強(qiáng)了系統(tǒng)的安全性,通過(guò)多廠商加密機(jī)的支持,提高了系統(tǒng)的抗風(fēng)險(xiǎn)能力。