本發(fā)明涉及信息處理,尤其涉及一種基于證書信任透明化技術(shù)的證書驗證方法及裝置。
背景技術(shù):
1、公鑰基礎(chǔ)設(shè)施(web?pki)是互聯(lián)網(wǎng)安全通信的基石,傳輸層安全協(xié)議(ssl/tls)離不開公鑰基礎(chǔ)設(shè)施的支撐,利用公鑰數(shù)字證書、證書頒發(fā)機構(gòu)(certificate?authorities,cas)、證書驗證和公鑰加密等關(guān)鍵技術(shù),為互聯(lián)網(wǎng)提供了一條安全的加密通信信道,幫助通信終端建立信任和保護互聯(lián)網(wǎng)通信的機密性、完整性、真實性和可認(rèn)證性。其中ca負責(zé)簽發(fā)用于驗證網(wǎng)站和服務(wù)實體身份的數(shù)字證書,是web?pki體系的信任錨點,通常包括根ca和中間ca。數(shù)字證書是一種包含公鑰、主體信息和簽名的數(shù)據(jù)結(jié)構(gòu),用于建立信任鏈。
2、在現(xiàn)有技術(shù)中的證書驗證體系中,一般包括ca、web服務(wù)器以及終端瀏覽器,參見圖1。通常情況下,單向認(rèn)證一般包括:web服務(wù)器生成證書簽名申請csr,發(fā)送給ca,ca核實后生成網(wǎng)站證書頒發(fā)給web服務(wù)器,web服務(wù)器在ssl網(wǎng)關(guān)上配置證書,啟用http;終端瀏覽器訪問http網(wǎng)址,在tls握手過程中讀取到網(wǎng)站證書,并查詢可信根證書列表,以驗證網(wǎng)站證書的有效性。
3、但是現(xiàn)有技術(shù)中存在以下問題:證書驗證的過程缺乏靈活性和互操作性。作為域名所有者的web服務(wù)器無權(quán)決定自身的ca信任策略,且客戶端對網(wǎng)站證書的驗證依賴于可信根證書列表。一旦個別ca被錯誤或者誤操作地被從可信根證書列表中刪除,或者web服務(wù)器請求ca簽名的網(wǎng)站證書未在可信根證書列表中,都將會造成不可恢復(fù)的后果,例如會使得依賴于該ca簽發(fā)的數(shù)字證書的所有網(wǎng)絡(luò)服務(wù)加密通信服務(wù)不再可用。
4、如何克服現(xiàn)有技術(shù)中的證書驗證的過程缺乏靈活性和互操作性,是現(xiàn)有技術(shù)中需要解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種基于證書信任透明化技術(shù)的證書驗證方法及裝置,用以解決現(xiàn)有技術(shù)中證書驗證的過程缺乏靈活性和互操作性的缺陷。
2、本發(fā)明提供一種基于證書信任透明化技術(shù)的證書驗證方法,用于網(wǎng)站服務(wù)器,所述網(wǎng)站服務(wù)器與信任策略透明管理服務(wù)器連接,且所述網(wǎng)站服務(wù)器向證書簽發(fā)機構(gòu)ca請求簽名證書;
3、所述方法包括:
4、生成ca信任策略密鑰對,以及待申請證書密鑰對;其中,所述ca信任策略密鑰對包括ca信任策略公鑰和ca信任策略私鑰,所述待申請證書密鑰對包括待申請證書的證書公鑰和證書私鑰;
5、根據(jù)ca信任策略公鑰和證書公鑰生成證書簽發(fā)請求,并將所述證書簽發(fā)請求發(fā)送給所述ca,接收所述ca簽發(fā)的證書并保存;其中,所述證書包括ca信任策略公鑰;
6、根據(jù)簽發(fā)的所述證書生成ca信任策略記錄,將所述ca信任策略記錄通過ca信任策略私鑰進行簽名后,將簽名后的ca信任策略記錄和ca信任策略公鑰安全發(fā)送給信任策略透明管理服務(wù)器保存;
7、在接收到客戶端的訪問請求的情況下,將所述證書發(fā)送到客戶端,以使客戶端基于自身維護的可信根證書列表對所述證書進行驗證,若驗證結(jié)果為可信,則啟動安全信道建立,實現(xiàn)客戶端與服務(wù)器的安全通信;若驗證結(jié)果為不可信,則使客戶端向信任策略透明管理服務(wù)器查詢ca信任策略記錄,根據(jù)獲取的ca信任策略記錄對所述證書進行補充驗證。
8、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,所述網(wǎng)站服務(wù)器加載有信任錨點管理器,所述網(wǎng)站服務(wù)器保存有ca對應(yīng)的ca根證書;
9、將所述證書簽發(fā)請求發(fā)送給ca,接收所述ca簽發(fā)的證書,包括:
10、確定自定義的ca信任策略,確定待發(fā)送所述證書簽發(fā)請求的至少一個ca;
11、通過所述信任錨點管理器向所述至少一個ca發(fā)送所述證書簽發(fā)請求;其中,每個ca對應(yīng)的證書簽發(fā)請求中的證書公鑰互不相同;
12、通過所述信任錨點管理器接收至少一個ca簽發(fā)的證書;
13、根據(jù)簽發(fā)的所述證書生成ca信任策略記錄,包括:
14、確定簽發(fā)的所述證書對應(yīng)的ca根證書,根據(jù)簽發(fā)的所述證書及其對應(yīng)的ca根證書生成所述ca信任策略記錄,其中,所述ca信任策略記錄包括信任的ca根證書列表。
15、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,在將所述證書簽發(fā)請求發(fā)送給ca,接收所述ca簽發(fā)的證書之后,所述方法還包括:
16、若需要更新信任的ca根證書,根據(jù)已保存的ca信任策略記錄中的ca根證書和需要更新信任的ca根證書,確定目標(biāo)ca;
17、向所述目標(biāo)ca發(fā)送證書簽發(fā)請求,接收所述目標(biāo)ca簽發(fā)的證書并保存;
18、根據(jù)所述目標(biāo)ca簽發(fā)的證書,對已信任的證書進行更新,根據(jù)更新后的證書對應(yīng)的ca根證書,生成更新后的ca信任策略記錄,將所述更新后的ca信任策略記錄通過ca信任策略私鑰進行簽名后,將攜帶簽名的更新后的ca信任策略記錄和ca信任策略公鑰發(fā)送給信任策略透明管理服務(wù)器保存。
19、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,所述網(wǎng)站服務(wù)器還包括:權(quán)威域名服務(wù)器,用于保存信任策略透明管理服務(wù)器的節(jié)點地址;
20、在將簽名后的ca信任策略記錄和ca信任策略公鑰安全發(fā)送給信任策略透明管理服務(wù)器保存之后,所述方法還包括:
21、接收所述信任策略透明管理服務(wù)器返回的信任策略部署簽名時間戳,其中,所述信任策略部署簽名時間戳為所述信任策略透明管理服務(wù)器在所述簽名后的ca信任策略記錄中添加時間戳而生成,所述信任策略部署簽名時間戳中攜帶有節(jié)點地址;
22、將所述信任策略部署簽名時間戳對應(yīng)的節(jié)點地址存儲于權(quán)威域名服務(wù)器中。
23、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,在使客戶端向信任策略透明管理服務(wù)器查詢ca信任策略記錄之前,還包括:
24、接收客戶端的地址查詢請求;
25、根據(jù)所述地址查詢請求,在所述權(quán)威域名服務(wù)器中查詢與所述地址查詢請求對應(yīng)的節(jié)點地址,以使所述客戶端根據(jù)所述節(jié)點地址訪問所述信任策略透明管理服務(wù)器。
26、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,所述客戶端加載有終端信任增強驗證器;
27、將所述證書發(fā)送到客戶端,以使客戶端基于自身維護的可信根證書列表對所述證書進行驗證,包括:
28、將所述證書發(fā)送到客戶端的終端信任增強驗證器,以使所述客戶端的終端信任增強驗證器基于自身維護的可信根證書列表對所述證書進行驗證;
29、若驗證結(jié)果為不可信,則使客戶端向信任策略透明管理服務(wù)器查詢ca信任策略記錄,根據(jù)獲取的ca信任策略記錄對證書進行補充驗證,包括:
30、若驗證結(jié)果為不可信,則使客戶端的終端信任增強驗證器向信任策略透明管理服務(wù)器查詢ca信任策略記錄,根據(jù)獲取的ca信任策略記錄對所述證書進行補充驗證。
31、根據(jù)本發(fā)明提供的一種基于證書信任透明化技術(shù)的證書驗證方法,將簽名后的ca信任策略記錄和ca信任策略公鑰安全發(fā)送給信任策略透明管理服務(wù)器保存,包括:
32、將簽名后的ca信任策略記錄和ca信任策略公鑰安全發(fā)送給信任策略透明管理服務(wù)器,以使所述信任策略透明管理服務(wù)器對所述簽名后的ca信任策略記錄進行驗簽檢查,通過可信性和完整性檢查后,采用默克爾樹和稀疏默克爾樹存儲簽名后的ca信任策略記錄;
33、其中,所述默克爾樹用于存儲ca信任策略記錄,并由所述信任策略透明管理服務(wù)器對所述默克爾樹根進行簽名,保障數(shù)據(jù)完整性;所述稀疏默克爾樹用于提供所述ca信任策略記錄的不存在性證明,以快速確定所述ca信任策略記錄的存儲位置。
34、本發(fā)明還提供一種基于證書信任透明化技術(shù)的證書驗證裝置,設(shè)置于網(wǎng)站服務(wù)器,所述網(wǎng)站服務(wù)器與信任策略透明管理服務(wù)器連接,且所述網(wǎng)站服務(wù)器向證書簽發(fā)機構(gòu)ca請求簽名證書;
35、所述裝置包括:
36、密鑰對生成模塊,用于生成ca信任策略密鑰對,以及待申請證書密鑰對;其中,所述ca信任策略密鑰對包括ca信任策略公鑰和ca信任策略私鑰,所述待申請證書密鑰對包括待申請證書的證書公鑰和證書私鑰;
37、證書接收模塊,用于根據(jù)ca信任策略公鑰和證書公鑰生成證書簽發(fā)請求,并將所述證書簽發(fā)請求發(fā)送給所述ca,接收所述ca簽發(fā)的證書并保存;其中,所述證書包括ca信任策略公鑰;
38、信任策略上傳模塊,用于根據(jù)簽發(fā)的所述證書生成ca信任策略記錄,將所述ca信任策略記錄通過ca信任策略私鑰進行簽名后,將簽名后的ca信任策略記錄和ca信任策略公鑰安全發(fā)送給信任策略透明管理服務(wù)器保存;
39、請求處理模塊,用于在接收到客戶端的訪問請求的情況下,將所述證書發(fā)送到客戶端,以使客戶端基于自身維護的可信根證書列表對所述證書進行驗證,若驗證結(jié)果為可信,則啟動安全信道建立,實現(xiàn)客戶端與服務(wù)器的安全通信;若驗證結(jié)果為不可信,則使客戶端向信任策略透明管理服務(wù)器查詢ca信任策略記錄,根據(jù)獲取的ca信任策略記錄對所述證書進行補充驗證。
40、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述基于證書信任透明化技術(shù)的證書驗證方法的步驟。
41、本發(fā)明還提供一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述基于證書信任透明化技術(shù)的證書驗證方法的步驟。
42、本發(fā)明還提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述基于證書信任透明化技術(shù)的證書驗證方法的步驟。
43、本發(fā)明提供的基于證書信任透明化技術(shù)的證書驗證方法及裝置,通過新增的信任策略透明管理服務(wù)器對ca信任策略記錄進行存儲、查詢和監(jiān)管,保障ca信任策略記錄的完整性并提供存在性證明,網(wǎng)站服務(wù)器可以根據(jù)自己的安全需求聲明ca信任策略,實現(xiàn)對ca信任策略的靈活部署;并在網(wǎng)站服務(wù)器收到客戶端的訪問請求的情況下,先將證書發(fā)送到客戶端基于自身維護的可信根證書列表進行驗證,若驗證結(jié)果為可信,則建立客戶端與服務(wù)器的安全通信;若驗證結(jié)果為不可信,可以使客戶端向信任策略透明管理服務(wù)器查詢ca信任策略記錄,根據(jù)獲取的ca信任策略記錄對證書進行補充驗證,這樣即使可信根證書列表中不存在網(wǎng)站服務(wù)器請求的簽名證書,也不會影響證書驗證的過程,從而提升了證書驗證的靈活性和互操作性。