本發(fā)明涉及互聯網安全認證領域,更具體地說,涉及一種數字簽名方法和系統(tǒng)。
背景技術:
數字簽名是一種解決數據完整性和來源可追溯的解決方案,通過用戶預先生成的密鑰向可信第三方機構申請數字證書來確保用戶的可信身份。發(fā)送方使用私鑰加密經過散列算法生成的散列值形成數字簽名,接收方使用發(fā)送方公鑰解密散列值,并通過同樣散列算法對原文進行散列計算,對比兩個散列值確認數字簽名的有效性。
目前在個人電腦上互聯網應用以web訪問頁面方式為主,互聯網應用的數字簽名需要通過瀏覽器操作。瀏覽器作為個人電腦與互聯網應用的交互入口,為了保持安全性,需要對通過互聯網訪問個人電腦本地資源的權限進行嚴格控制,一般需要通過第三方簽名的控件支持本地文件操作。數字證書密鑰本地生成、保管、應用的需求,需要數字證書解決方案提供商提供對應的第三方控件對數字證書進行操作,包括對數字簽名的支持。
從數字證書的存儲介質來劃分,可分為軟證書和硬證書兩類。軟證書是指以文件的方式存儲在用戶終端(pc或移動設備)的數字證書,硬證書是指存儲在專用密碼設備(如usbkey、sdkey、ic卡等)中的數字證書。軟證書的密鑰的讀取和運算均由計算機操作系統(tǒng)完成,密鑰泄露的風險高,安全級別低;硬證書密鑰的存儲和運算均由專用加密芯片完成,安全等級高。數字簽名是通過瀏覽器數字證書控件操作數字證書、密鑰和數字簽名的過程,密鑰的存儲方式可以通過軟件密鑰容器或包含加密芯片的加密硬件存儲。
但是,現有的數字簽名技術主要存在如下缺陷:
1、瀏覽器控件兼容性差,用戶體驗不好
現有技術方案需要用戶在瀏覽器上下載安裝第三方控件和智能密碼設備驅動,目前個人電腦操作系統(tǒng)涉及微軟windows、蘋果macos以及不同廠牌的linux等,瀏覽器包括微軟ie6、7、8、9、10、蘋果safari、火狐firefox、谷歌chrome以及基于上述瀏覽器的定制化版本,例如騰訊、奇虎、百度等廠商。不同操作系統(tǒng)、不同瀏覽器的安全設置不同,瀏覽器的安全控制,控件的接受程度、方式,默認處理方式不同,帶來大量的兼容性問題,導致數字證書在數字簽名應用中的大量用戶體驗問題,降低了數字證書數字簽名應用的普及性,數字簽名在用戶身份認證、交易完整性保護等方面的優(yōu)越性不能及時有效的得到應用。
2、軟證書密鑰易泄露,安全級別低
軟證書以文件的方式存儲在用戶終端(pc或移動設備),密鑰的讀取和運算也在用戶終端的操作系統(tǒng)中進行,密鑰容易被竊取和仿冒,泄露風險高,導致系統(tǒng)安全級別低。
3、硬證書成本高
硬證書的存儲和運算依賴于內置安全芯片的專用密碼設備,成本較高,不利于數字證書應用的大面積推廣和普及。
技術實現要素:
本發(fā)明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種不需要在用戶終端安裝控件和驅動、也不需要專用密碼設備、操作簡單、用戶安全體驗度高的數字簽名方法和系統(tǒng)。
本發(fā)明為解決其技術問題在第一方面提出一種數字簽名方法,包括如下步驟:
s1、基于業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求生成用戶的公私鑰對;
s2、攜帶用戶公鑰向第三方安全認證中心申請用戶的數字證書,并接收第三方安全認證中心返回的數字證書;
s3、使用所述數字證書和用戶私鑰進行數字簽名操作;
s4、完成數字簽名操作后,銷毀用戶私鑰;
s5、向業(yè)務系統(tǒng)返回數字簽名操作結果。
根據本發(fā)明的一個實施例中,所述步驟s1進一步包括:
s11、解析業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求,所述數字簽名操作請求包含簽名事件標識、用戶身份信息、身份鑒證信息;
s12、生成用戶的公私鑰對。
根據本發(fā)明的一個實施例中,所述步驟s2中向第三方安全認證中心申請用戶的數字證書還攜帶所述簽名事件標識、用戶身份信息和身份鑒證信息,所述接收第三方安全認證中心返回的數字證書包括接收第三方安全認證中心基于所述用戶身份信息和身份鑒證信息進行用戶身份鑒證后簽發(fā)的數字證書。
本發(fā)明為解決其技術問題在第二方面提出一種數字簽名系統(tǒng),包括:
密鑰生成模塊,用于基于業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求生成用戶的公私鑰對;
證書申請模塊,用于攜帶用戶公鑰向第三方安全認證中心申請用戶的數字證書,并接收第三方安全認證中心返回的數字證書;
簽名模塊,用于使用所述數字證書和用戶私鑰進行數字簽名操作;
密鑰銷毀模塊,用于在所述簽名模塊完成數字簽名操作后,銷毀用戶私鑰;
結果發(fā)送模塊,用于向業(yè)務系統(tǒng)返回數字簽名操作結果。
根據本發(fā)明的一個實施例中,所述密鑰生成模塊進一步包括:
解析單元,用于解析業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求,所述數字簽名操作請求包含簽名事件標識、用戶身份信息、身份鑒證信息;
密鑰生成單元,用于生成用戶的公私鑰對。
根據本發(fā)明的一個實施例中,所述證書申請模塊向第三方安全認證中心申請用戶的數字證書還攜帶所述簽名事件標識、用戶身份信息和身份鑒證信息,所述證書申請模塊接收第三方安全認證中心返回的數字證書包括接收第三方安全認證中心基于所述用戶身份信息和身份鑒證信息進行用戶身份鑒證后簽發(fā)的數字證書。
本發(fā)明的數字簽名方法和系統(tǒng)以“事件證書”為基礎,通過給某個特定的 事件(如合同簽署事件)實時簽發(fā)可信的數字證書,并使用此數字證書對事件信息進行數字簽名操作,確保事件信息的完整性、合法性和可追溯。簽名操作完成后,事件證書的私鑰也隨之銷毀,能夠有效的防止私鑰泄露,提升了系統(tǒng)的安全性。另外,事件證書的申請、簽名等操作均在服務端完成,不需要在用戶終端安裝控件和驅動,也不需要專用密碼設備,操作簡單,降低了用戶數字證書使用的復雜度和成本,提升了用戶安全體驗,是一種業(yè)務系統(tǒng)快速部署數字簽名技術實現數據完整性、真實性的安全新型創(chuàng)新數字證書應用。
附圖說明
下面將結合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是本發(fā)明一個實施例的數字簽名技術應用系統(tǒng)的邏輯結構圖;
圖2是圖1所示的應用系統(tǒng)的交互過程示意圖;
圖3是本發(fā)明一個實施例的數字簽名方法的流程圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了根據本發(fā)明一個實施例的數字簽名技術應用系統(tǒng)100的邏輯框圖。如圖1所示,該應用系統(tǒng)100主要由用戶110、業(yè)務系統(tǒng)120、數字簽名系統(tǒng)130、和第三方安全認證中心140構成。用戶110是在業(yè)務系統(tǒng)120中請求使用數字證書進行簽名認證操作的用戶。業(yè)務系統(tǒng)120是采用本發(fā)明的數字簽名技術的業(yè)務系統(tǒng),例如電子簽章系統(tǒng)、支付系統(tǒng)等。數字簽名系統(tǒng)130實現本發(fā)明的數字簽名技術,為業(yè)務系統(tǒng)提供簽名認證服務。第三方安全認證中心140可以是例如移動的ca中心,用于簽發(fā)可信的用戶數字證書。
具體如圖1所示,根據本發(fā)明一個實施例的數字簽名系統(tǒng)130包括密鑰生成模塊131、證書申請模塊132、簽名模塊133、密鑰銷毀模塊134和結果發(fā)送模塊135。密鑰生成模塊131基于業(yè)務系統(tǒng)120發(fā)送的數字簽名操作請求生 成用戶的公私鑰對。具體實施例中,密鑰生成模塊可進一步包括解析單元和密鑰生成單元。解析單元用于解析業(yè)務系統(tǒng)120發(fā)送的數字簽名操作請求,獲得該數字簽名操作請求中包含的簽名事件標識、用戶身份信息、身份鑒證信息等信息。密鑰生成單元用于生成用戶的公私鑰對。證書申請模塊132攜帶密鑰生成模塊131生成的用戶公鑰向第三方安全認證中心140申請用戶的數字證書。證書申請模塊132在向第三方安全認證中心申請用戶的數字證書時還可攜帶前述解析單元解析出的簽名事件標識、用戶身份信息、身份鑒證信息等信息。第三方安全認證中心140基于這些信息鑒證用戶身份,并簽發(fā)可信的數字證書。證書申請模塊132接收第三方安全認證中心140返回的數字證書。簽名模塊133使用第三方安全認證中心140簽發(fā)的數字證書和密鑰生成模塊131生成的用戶私鑰進行數字簽名操作。在簽名模塊133完成數字簽名操作后,密鑰銷毀模塊134即銷毀該用戶私鑰,以防泄露。結果發(fā)送模塊135用于向業(yè)務系統(tǒng)120返回簽名模塊133的數字簽名操作結果。
圖2示出了圖1所示的應用系統(tǒng)100的交互過程的示意圖。如圖2所示,該數字簽名的交互過程如下:
步驟s201,用戶110向業(yè)務系統(tǒng)120請求業(yè)務操作,例如電子簽章操作;
步驟s202,業(yè)務系統(tǒng)120組織電子簽名操作請求,向數字簽名系統(tǒng)130請求數字簽名操作,該電子簽名操作請求可包含簽名事件標識、用戶身份信息、身份鑒證信息等信息;
步驟s203,數字簽名系統(tǒng)130解析該電子簽名操作請求,并生成用戶的公私鑰對;
步驟s204,數字簽名系統(tǒng)130攜帶用戶公鑰向第三方安全認證中心140申請用戶的數字證書;
步驟s205,第三方安全認證中心140基于例如用戶身份信息和用戶鑒證信息鑒證用戶身份,并簽發(fā)可信的數字證書;
步驟s206,第三方安全認證中心140將簽發(fā)的數字證書返回給數字簽名系統(tǒng)130;
步驟s207,數字簽名系統(tǒng)130使用該數字證書和用戶私鑰進行數字簽名 操作;
步驟s208,數字簽名系統(tǒng)130在完成數字簽名操作后,銷毀用戶私鑰;
步驟s209,數字簽名系統(tǒng)130向業(yè)務系統(tǒng)120返回數字簽名操作結果;
步驟s210,業(yè)務系統(tǒng)120基于該數字簽名操作結果完成業(yè)務操作,返回業(yè)務操作結果給用戶110。
基于本發(fā)明以上所介紹的數字簽名系統(tǒng)130,本發(fā)明還提出一種數字簽名方法。圖3示出了根據本發(fā)明一個實施例的數字簽名方法300的流程圖。如圖3所示,該數字簽名方法300包括如下步驟:
步驟s310中,基于業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求生成用戶的公私鑰對。具體實施例中,該步驟先解析業(yè)務系統(tǒng)發(fā)送的數字簽名操作請求,獲取所述數字簽名操作請求中包含簽名事件標識、用戶身份信息、身份鑒證信息等信息,然后生成用戶的公私鑰對。
隨后步驟s320中,攜帶用戶公鑰向第三方安全認證中心申請用戶的數字證書,并接收第三方安全認證中心返回的數字證書。具體實施例中,該步驟向第三方安全認證中心申請用戶的數字證書還可攜帶前述簽名事件標識、用戶身份信息和身份鑒證信息,以便第三方安全認證中心基于這些信息進行用戶身份鑒證后簽發(fā)數字證書。
隨后步驟s330中,使用第三方安全認證中心簽發(fā)的數字證書和用戶私鑰進行數字簽名操作。
隨后步驟s340中,在完成數字簽名操作后,銷毀用戶私鑰。
隨后步驟s350中,向業(yè)務系統(tǒng)返回數字簽名操作結果。
本發(fā)明以上所介紹的數字簽名方法和系統(tǒng),實現基于“事件證書”的數字簽名認證機制。數字證書單獨為某個事件(例如合同簽署事件)而簽發(fā),有效期依賴于事件的持續(xù)時間,隨著事件的完成而失效?!笆录C書”的密鑰托管在數字簽名系統(tǒng),當事件完成后,事件證書的密鑰也隨之銷毀。因而,使用此數字證書對事件信息進行數字簽名操作,能確保事件信息的完整性、合法性和可追溯。簽名操作完成后,數字證書的私鑰也隨之銷毀,能夠有效的防止私鑰泄露,提升了系統(tǒng)的安全性。另外,數字證書的申請、簽名等操作均在服務端 完成,不需要在用戶終端安裝控件和驅動,也不需要專用密碼設備,操作簡單,降低了用戶數字證書使用的復雜度和成本,提升了用戶安全體驗。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。