可以為電阻壓力式、電磁壓感式或電容觸控式等,通過手寫板可以獲得電子簽字數據的軌跡;這些裝置還可以為陀螺儀,陀螺儀包括陀螺儀傳感器和數據處理電路,數據處理電路如濾波電路和放大電路等,陀螺儀傳感器可以對轉動和偏轉的動作做很好的測量,輸入簽字數據時,移動陀螺儀形成簽字數據的軌跡,陀螺儀測量出其移動的軌跡,進一步通過數據處理電路的處理,如濾波和放大電路等,便可以獲得電子簽字數據。此處的電子簽字數據為簽字的軌跡,以上提供電子簽字數據的方式僅為示例,還可以通過其他合適的方式來提供。在另一些實施例中,這些電子簽字數據通過專有的輸入裝置直接進行輸入來獲得,例如可以為具有通信接口的手寫板或者陀螺儀芯片等。
[0059]對于電子簽字數據中的簽名軌跡,要從簽名軌跡中獲得其特征參數,通過簽名軌跡的特征參數來判斷是否符合預設的簽名軌跡,從而,進一步確定是否進行后續(xù)的步驟。簽名軌跡的特征參數為體現簽名軌跡唯一性的特征,可以包括簽名軌跡中關鍵點的坐標、關鍵段的軌跡或關鍵段的曲率等,在進行判斷時,通過簽名軌跡的特征參數,獲得與預設的簽名軌跡的擬合程度,根據擬合程度,確定輸入的簽名軌跡是否與預設的簽名軌跡一致。具體的,若獲得簽名軌跡中關鍵點的相對坐標,則通過關鍵點的坐標獲得關鍵點相應部位的線條,通過這些線條與預設的簽名軌跡擬合,若擬合度大于預定數值,則認為輸入的簽名軌跡是否與預設的簽名軌跡一致。若獲得簽名軌跡中關鍵段的軌跡,通過這些關鍵段的軌跡與預設的簽名軌跡擬合,若擬合度大于預定數值,則認為輸入的簽名軌跡是否與預設的簽名軌跡一致。若獲得簽名軌跡關鍵段的曲率,則直接與預定的簽名軌跡相應段的曲率進行比較,獲得與預設的簽名軌跡的擬合度,若擬合度大于預定數值,則認為輸入的簽名軌跡是否與預設的簽名軌跡一致。此處僅為示例,還可以通過其他的簽名軌跡的特征參數,來判斷輸入的簽名軌跡是否符合預設的簽名軌跡。
[0060]進一步地,對于通過手寫板輸入的簽名軌跡,特征參數還可以進一步包括簽名時對手寫板的壓力等參數,在判斷簽名軌跡是否符合預設的簽名軌跡時,可以判斷該壓力參數是否與預設的壓力參數一致,以輔助判斷簽名軌跡是否與預設的簽名軌跡一致。
[0061]對于獲得的電子簽字數據,根據需要,可以對這些電子簽字數據進行識別。識別是指將輸入的軌跡轉化為標準的、機器可以識別的文字和數字,具體的,可以識別一部分,如僅識別簽名軌跡,也可以進一步識別簽字日期或簽字內容,這些識別后的數據可以供簽名者自行鑒定簽字數據的正確性,也可以進一步將這些識別后的數據用于簽名操作,供請求簽名的請求方進一步使用。
[0062]在判斷簽名軌跡符合預設的簽名軌跡之后,進行以下步驟,實現對電子文件進行電子簽名。
[0063]在步驟S02,獲取簽名用壓縮數據,簽名用壓縮數據中至少包括需要簽名的電子文件。
[0064]簽名用壓縮數據為具有特定數據格式和特定大小的數據包,是將原始數據使用預定算法進行壓縮,得到壓縮數據,預定算法為用于簽名的算法,例如可以為MD5消息摘要算法、SHA安全哈希算法或SM3密碼雜湊算法等,SHA安全哈希算法有多種,例如SHAl、SHA256、SHA384、SHA512等。根據寄存器的不同情況,要將壓縮數據進行填充,得到固定長度的數據包,如128字節(jié)的數據包,該數據包為簽名用壓縮數據。在原始數據中至少包括需要簽名的電子文件,電子文件可以為協議、合同或單據等任意需要進行簽字的文件,根據不同的設計和需要,電子文件的文件格式可以為不同的格式,例如為Pdf格式或其他特殊格式等。根據需要,原始數據中還可以進一步包括簽名軌跡和/或簽字內容。另外地,可以在原始數據中進一步包括已識別的電子簽名數據,如已識別的簽名軌跡或簽字日期或簽字內容中的一種或多種,使這些數據與要簽名的電子文件一同進行簽名操作,這樣,可以供提出簽名請求的請求方獲取更多的可用信息??梢酝ㄟ^軌跡識別來獲得已識別的電子簽字數據,也可以通過軌跡識別裝置來提供該已識別的電子簽字數據。
[0065]在一些實施例中,獲取簽名用壓縮數據的步驟包括:接收壓縮數據,壓縮數據的原始數據中至少包括需要簽名的電子文件;將壓縮數據按指定格式填充,以生成簽名用壓縮數據。具體的,在該實施例中,直接接收壓縮數據,也就是說,在其他的終端上使用預定算法已將原始數據進行壓縮,壓縮數據的原始數據中至少包括了需要簽名的電子文件,還可以進一步包括簽名軌跡和/或簽字內容等其它電子簽字數據,該壓縮數據為具有指定大小的壓縮包,而后,將壓縮數據按照指定格式填充后,生成簽名用壓縮數據,即生成可以用于簽名的壓縮數據。該方法中,直接獲得壓縮數據,適用于需要簽名的數據量較大的情況,這樣,可以避免壓縮大量數據,縮短了簽名的時間,提高了簽名效率。
[0066]當需要簽名的數據來源為多種時,例如電子文件、電子簽字數據及已識別軌跡都要進行簽名操作,這些原始數據的數據來源有可能是多種,為了便于進行簽名操作,提供更為多樣化的數據內容的壓縮數據。在另一些實施例中,獲取簽名用壓縮數據的步驟包括:獲得原始數據,原始數據中至少包括需要簽名的電子文件;將原始數據進行壓縮,以獲得壓縮數據;將壓縮數據按指定格式填充,以生成簽名用壓縮數據。
[0067]具體的,在該實施例中,直接接收原始數據,原始數據中至少包括了需要簽名的電子文件,還可以進一步包括簽名軌跡和/或簽字內容等其它電子簽字數據,當需要簽名的數據為多種時,例如需要將電子文件連同簽名軌跡以及簽字內容都進行簽名操作,這些原始數據的數據來源有可能是多種,因此,需要分別獲得多種原始數據,進而將原始數據使用預定算法進行壓縮,壓縮后獲得的壓縮數據為具有指定大小的壓縮包,而后,將壓縮數據按照指定的格式填充后,生成簽名用壓縮數據,即生成可以用于簽名的壓縮數據。該方法中,適用于需要簽名的數據內容為多種的情況,這樣,可以提供具有更為多樣化的數據內容的壓縮數據,便于進行更多的應用,且方法簡單可行。
[0068]在步驟S03,將簽名用壓縮數據使用指定私鑰進行簽名操作,以獲得已簽名文檔。
[0069]在該步驟中,將獲得的適用于簽名操作的簽名用壓縮數據使用指定私鑰進行簽名操作,即將簽名用壓縮數據使用指定私鑰進行私鑰加密,這樣,就完成了需要簽字的電子文件的簽名操作。指定的私鑰通常對應特定的公鑰,只有通過該指定的公鑰,才能完成該已簽名文檔的解密,這樣,通過使用指定私鑰確保了簽名行為由簽名者發(fā)起,確保了簽名的安全性。
[0070]在步驟S04,發(fā)送已簽名文檔。
[0071]在進行簽名操作之后,將已簽名文檔發(fā)送給請求簽名的請求方,進而完成了整個電子簽名。
[0072]對于發(fā)起電子簽名的請求方,在接收到該已簽名文檔后,通過與私鑰對應的公鑰進行解密,若使用公鑰將該已簽名文檔的簽名數據進行解密,且解密后的壓縮數據和請求方對原始數據按照相同的算法進行壓縮后獲得的數據一致,則可以認為該份電子文件簽名成功。
[0073]以上對本發(fā)明實施例的電子簽名的方法進行了詳細的描述,此外,本發(fā)明還提供了利用上述方法實現的電子簽名裝置100,參考圖2所示,包括:
[0074]軌跡驗證單元110,用于獲取輸入的電子簽字數據中的簽名軌跡的特征參數,并通過簽名軌跡的特征參數判斷簽名軌跡是否符合預設的簽名軌跡;
[0075]簽名用壓縮數據獲取單元120,用于獲取簽名用壓縮數據,簽名用壓縮數據的原始數據中至少包括需要簽名的電子文件;
[0076]簽名單元130,用于將簽名用壓縮數據使用指定私鑰進行簽名操作,以獲得已簽名文檔;
[0077]發(fā)送單元140,用于發(fā)送已簽名文檔。
[0078]進一步地,還可以包括身份認證單元,用于進行身份認證。
[0079]其中,輸入的電子簽名數據由軌跡輸入裝置提供。
[0080]所述軌跡輸入裝置可以為具有手寫板的輸入終端或陀螺儀。
[0081 ]進一步地,還包括:軌跡識別模塊,用于識別輸入的電子簽字數據。
[0082]進一步地,簽名用壓縮數據獲取單元120中,簽名用壓縮數據的原始數據中還包括已識別的電子簽字數據。
[0083]進一步地,簽名軌跡的特征參數包括簽名軌跡中關鍵點的坐標、關鍵段的軌跡或關鍵段的曲率,在軌跡驗證單元110中,通過簽名軌跡的特征參數,獲得與預設的簽名軌跡的擬合程度,根據擬合程度,確定輸入的簽名軌跡是否與預設的簽名軌跡一致。
[0084]可選的,簽名用壓縮數據獲取單元120包括:
[0085]壓縮數據接收單元,用于接收壓縮數據,壓縮數據的原始數據中至少包括需要簽名的電子文件;
[0086]簽名用數據生成單元,用于將壓縮數據按指定格式填充,以生成簽名用壓縮數據。