本發(fā)明涉及數(shù)字簽章方法。
背景技術(shù):
在當(dāng)前網(wǎng)絡(luò)世界大發(fā)展的形勢下,網(wǎng)絡(luò)移動(dòng)化、物聯(lián)網(wǎng)化、終端多樣化、網(wǎng)絡(luò)應(yīng)用大眾化、云服務(wù)化等特征越來越凸顯,但是隨之而來的信息安全問題也越加明顯,一方面各種信息化服務(wù)、虛擬信息服務(wù)在不斷增加;另一方面,相對(duì)應(yīng)的信息安全技術(shù)卻不被大眾普遍使用。
在眾多安全技術(shù)的應(yīng)用中,電子文檔的加密和身份驗(yàn)證是一個(gè)重要的應(yīng)用,在互聯(lián)網(wǎng)時(shí)代,人們?cè)诰W(wǎng)絡(luò)中傳遞各種電子文檔,隨時(shí)都有泄密和被偽造的可能,特別是一些重要的電子文檔,比如合同、法律文書等。對(duì)這些重要的文檔進(jìn)行數(shù)字證書簽名和加密是非常重要的事情,雖然說目前的電子文檔簽章技術(shù)都比較成熟,但要依靠比如簽名驗(yàn)簽服務(wù)器,簽章服務(wù)器等專用設(shè)備,但這些專用的加密設(shè)備不好被大眾所理解,并且也很難被普通大眾所應(yīng)用,所以研發(fā)更容易被大眾理解及的操作應(yīng)用技術(shù)是非常重要的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種運(yùn)用usb-token(裝載數(shù)字證書),在客戶端對(duì)云端文件進(jìn)行數(shù)字簽章的方法,實(shí)現(xiàn)usb-token和簽署文件的分離。
基于usb-token的數(shù)字簽章方法,
實(shí)現(xiàn)上述目的的技術(shù)方案是:
一種基于usb-token的數(shù)字簽章方法,在客戶端插入usb-token,通過中間件與服務(wù)器進(jìn)行socket(網(wǎng)絡(luò)上的兩個(gè)程序通過一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接的一端稱為一個(gè)socket)的長連接實(shí)現(xiàn)對(duì)云端的文件進(jìn)行數(shù)字簽章。
在上述的基于usb-token的數(shù)字簽章方法中,包括:
用戶通過客戶端的瀏覽器控制中間件與服務(wù)器進(jìn)行socket的長連接;
用戶通過客戶端的瀏覽器上傳待簽章文檔至服務(wù)器或待簽章文檔本身在服務(wù)器上;
服務(wù)器返回待簽章文檔的hash(一般翻譯成”散列”,或者哈希,將一種任意長度的消息經(jīng)過散列壓縮成某一固定長度的消息摘要的函數(shù))值到中間件;
中間件調(diào)用usb-token中的私鑰對(duì)hash值進(jìn)行簽名加密,并返回簽名值給服務(wù)器;
服務(wù)器對(duì)待簽章文檔進(jìn)行數(shù)字簽章,并將簽章后的文檔返回至客戶端的瀏覽器或留在服務(wù)器上。
在上述的基于usb-token的數(shù)字簽章方法中,用戶在客戶端插入usb-token后,輸入相應(yīng)證書密碼;
中間件返回簽名值給服務(wù)器時(shí),對(duì)簽名值進(jìn)行二次加密;服務(wù)器對(duì)接收的簽名值進(jìn)行解密。
在上述的基于usb-token的數(shù)字簽章方法中,瀏覽器和服務(wù)器之間使用bs構(gòu)架(browser/server,瀏覽器/服務(wù)器模式)http協(xié)議進(jìn)行通信;
中間件和服務(wù)器之間使用cs(client/server,客戶機(jī)和服務(wù)器)的socket通信。
本發(fā)明的有益效果是:本發(fā)明通過在客戶端插入usb-token,通過中間件與服務(wù)器進(jìn)行socket的長連接并實(shí)現(xiàn)對(duì)云端的文件進(jìn)行數(shù)字簽章。在滿足正常的文件簽章的同時(shí),又實(shí)現(xiàn)usb-token和簽署文件的分離,極大的拓展了數(shù)字證書簽署文件的各種現(xiàn)實(shí)環(huán)境的需要。一方面,擺脫了傳統(tǒng)客戶端數(shù)字證書簽章的各種兼容性問題。另一方面,避免了傳統(tǒng)云端簽章數(shù)字證書不在使用者手中,而且不需要使用者輸入證書密碼,進(jìn)一步提高使用者數(shù)字證書的安全性。從另外一個(gè)角度來說,這提供給數(shù)字證書簽章的使用者一種非常好的用戶體驗(yàn)及安全感,幫助電子簽章這種先進(jìn)電子簽名技術(shù)得以普遍推廣,為加密行業(yè)進(jìn)一步被普通大眾理解與操作提供重要基礎(chǔ)。
附圖說明
圖1是本發(fā)明中客戶端與服務(wù)器間的連接示意圖;
圖2是本發(fā)明的數(shù)字簽章方法的簡易流程圖;
圖3是本發(fā)明的數(shù)字簽章方法的具體流程圖。
具體實(shí)施方式
下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
請(qǐng)參閱圖1至圖3,本發(fā)明的基于usb-token的數(shù)字簽章方法,綜合了usb-token硬件讀取、數(shù)字證書加密技術(shù)、電子簽章技術(shù)、http協(xié)議傳輸、socket通信等多種技術(shù),為安全簽署云端文件提供了一種高效而安全的簽章方案,并且擁有極好的客戶體驗(yàn)感,同時(shí)幫助客戶理解、快速、高效、方便應(yīng)用數(shù)字簽章。云端文件的典型應(yīng)用場景例如:實(shí)驗(yàn)室審批檢測報(bào)告,而檢測報(bào)告在服務(wù)端中生成。
本發(fā)明的數(shù)字簽章方法,主要通過在客戶端插入usb-token,通過中間件與服務(wù)器進(jìn)行socket的長連接實(shí)現(xiàn)對(duì)云端的文件進(jìn)行數(shù)字簽章。具體包括下列步驟:
步驟s1,用戶通過客戶端的瀏覽器點(diǎn)擊上傳文檔,瀏覽器通知中間件連接服務(wù),瀏覽器和服務(wù)器之間使用bs構(gòu)架http協(xié)議進(jìn)行通信。中間件與服務(wù)器進(jìn)行socket的長連接。用戶在客戶端插入usb-token后,輸入相應(yīng)證書密碼。中間件是c++中間件。
步驟s2,用戶通過客戶端的瀏覽器上傳待簽章文檔至服務(wù)器或待簽章文檔本身在服務(wù)器上。先使用bs構(gòu)架http協(xié)議進(jìn)行通信,然后按要求確定是否保持的socket連接,進(jìn)行重要數(shù)據(jù)傳輸,保證傳輸?shù)陌踩院头€(wěn)定性。
步驟s3,服務(wù)器返回待簽章文檔的hash值到中間件。尤其在簽署云端大文件的時(shí)候,只需要獲取文件的hash值,通過socket傳到中間件并進(jìn)行數(shù)字簽名,再返回云端進(jìn)行簽章,極大的加快了大文件簽章的速度。
步驟s4,中間件調(diào)用usb-token中的私鑰對(duì)hash值進(jìn)行簽名加密,并返回簽名值給服務(wù)器;此時(shí)對(duì)簽名值進(jìn)行二次加密。服務(wù)器對(duì)接收的簽名值進(jìn)行解密。
步驟s5,服務(wù)器對(duì)待簽章文檔進(jìn)行數(shù)字簽章,并將簽章后的文檔返回至客戶端的瀏覽器或保留在服務(wù)器上。
以上實(shí)施例僅供說明本發(fā)明之用,而非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的技術(shù)方案也應(yīng)該屬于本發(fā)明的范疇,應(yīng)由各權(quán)利要求所限定。