可以为电阻压力式、电磁压感式或电容触控式等,通过手写板可以获得电子签字数据的轨迹;这些装置还可以为陀螺仪,陀螺仪包括陀螺仪传感器和数据处理电路,数据处理电路如滤波电路和放大电路等,陀螺仪传感器可以对转动和偏转的动作做很好的测量,输入签字数据时,移动陀螺仪形成签字数据的轨迹,陀螺仪测量出其移动的轨迹,进一步通过数据处理电路的处理,如滤波和放大电路等,便可以获得电子签字数据。此处的电子签字数据为签字的轨迹,以上提供电子签字数据的方式仅为示例,还可以通过其他合适的方式来提供。在另一些实施例中,这些电子签字数据通过专有的输入装置直接进行输入来获得,例如可以为具有通信接口的手写板或者陀螺仪芯片等。
[0059]对于电子签字数据中的签名轨迹,要从签名轨迹中获得其特征参数,通过签名轨迹的特征参数来判断是否符合预设的签名轨迹,从而,进一步确定是否进行后续的步骤。签名轨迹的特征参数为体现签名轨迹唯一性的特征,可以包括签名轨迹中关键点的坐标、关键段的轨迹或关键段的曲率等,在进行判断时,通过签名轨迹的特征参数,获得与预设的签名轨迹的拟合程度,根据拟合程度,确定输入的签名轨迹是否与预设的签名轨迹一致。具体的,若获得签名轨迹中关键点的相对坐标,则通过关键点的坐标获得关键点相应部位的线条,通过这些线条与预设的签名轨迹拟合,若拟合度大于预定数值,则认为输入的签名轨迹是否与预设的签名轨迹一致。若获得签名轨迹中关键段的轨迹,通过这些关键段的轨迹与预设的签名轨迹拟合,若拟合度大于预定数值,则认为输入的签名轨迹是否与预设的签名轨迹一致。若获得签名轨迹关键段的曲率,则直接与预定的签名轨迹相应段的曲率进行比较,获得与预设的签名轨迹的拟合度,若拟合度大于预定数值,则认为输入的签名轨迹是否与预设的签名轨迹一致。此处仅为示例,还可以通过其他的签名轨迹的特征参数,来判断输入的签名轨迹是否符合预设的签名轨迹。
[0060]进一步地,对于通过手写板输入的签名轨迹,特征参数还可以进一步包括签名时对手写板的压力等参数,在判断签名轨迹是否符合预设的签名轨迹时,可以判断该压力参数是否与预设的压力参数一致,以辅助判断签名轨迹是否与预设的签名轨迹一致。
[0061]对于获得的电子签字数据,根据需要,可以对这些电子签字数据进行识别。识别是指将输入的轨迹转化为标准的、机器可以识别的文字和数字,具体的,可以识别一部分,如仅识别签名轨迹,也可以进一步识别签字日期或签字内容,这些识别后的数据可以供签名者自行鉴定签字数据的正确性,也可以进一步将这些识别后的数据用于签名操作,供请求签名的请求方进一步使用。
[0062]在判断签名轨迹符合预设的签名轨迹之后,进行以下步骤,实现对电子文件进行电子签名。
[0063]在步骤S02,获取签名用压缩数据,签名用压缩数据中至少包括需要签名的电子文件。
[0064]签名用压缩数据为具有特定数据格式和特定大小的数据包,是将原始数据使用预定算法进行压缩,得到压缩数据,预定算法为用于签名的算法,例如可以为MD5消息摘要算法、SHA安全哈希算法或SM3密码杂凑算法等,SHA安全哈希算法有多种,例如SHAl、SHA256、SHA384、SHA512等。根据寄存器的不同情况,要将压缩数据进行填充,得到固定长度的数据包,如128字节的数据包,该数据包为签名用压缩数据。在原始数据中至少包括需要签名的电子文件,电子文件可以为协议、合同或单据等任意需要进行签字的文件,根据不同的设计和需要,电子文件的文件格式可以为不同的格式,例如为Pdf格式或其他特殊格式等。根据需要,原始数据中还可以进一步包括签名轨迹和/或签字内容。另外地,可以在原始数据中进一步包括已识别的电子签名数据,如已识别的签名轨迹或签字日期或签字内容中的一种或多种,使这些数据与要签名的电子文件一同进行签名操作,这样,可以供提出签名请求的请求方获取更多的可用信息。可以通过轨迹识别来获得已识别的电子签字数据,也可以通过轨迹识别装置来提供该已识别的电子签字数据。
[0065]在一些实施例中,获取签名用压缩数据的步骤包括:接收压缩数据,压缩数据的原始数据中至少包括需要签名的电子文件;将压缩数据按指定格式填充,以生成签名用压缩数据。具体的,在该实施例中,直接接收压缩数据,也就是说,在其他的终端上使用预定算法已将原始数据进行压缩,压缩数据的原始数据中至少包括了需要签名的电子文件,还可以进一步包括签名轨迹和/或签字内容等其它电子签字数据,该压缩数据为具有指定大小的压缩包,而后,将压缩数据按照指定格式填充后,生成签名用压缩数据,即生成可以用于签名的压缩数据。该方法中,直接获得压缩数据,适用于需要签名的数据量较大的情况,这样,可以避免压缩大量数据,缩短了签名的时间,提高了签名效率。
[0066]当需要签名的数据来源为多种时,例如电子文件、电子签字数据及已识别轨迹都要进行签名操作,这些原始数据的数据来源有可能是多种,为了便于进行签名操作,提供更为多样化的数据内容的压缩数据。在另一些实施例中,获取签名用压缩数据的步骤包括:获得原始数据,原始数据中至少包括需要签名的电子文件;将原始数据进行压缩,以获得压缩数据;将压缩数据按指定格式填充,以生成签名用压缩数据。
[0067]具体的,在该实施例中,直接接收原始数据,原始数据中至少包括了需要签名的电子文件,还可以进一步包括签名轨迹和/或签字内容等其它电子签字数据,当需要签名的数据为多种时,例如需要将电子文件连同签名轨迹以及签字内容都进行签名操作,这些原始数据的数据来源有可能是多种,因此,需要分别获得多种原始数据,进而将原始数据使用预定算法进行压缩,压缩后获得的压缩数据为具有指定大小的压缩包,而后,将压缩数据按照指定的格式填充后,生成签名用压缩数据,即生成可以用于签名的压缩数据。该方法中,适用于需要签名的数据内容为多种的情况,这样,可以提供具有更为多样化的数据内容的压缩数据,便于进行更多的应用,且方法简单可行。
[0068]在步骤S03,将签名用压缩数据使用指定私钥进行签名操作,以获得已签名文档。
[0069]在该步骤中,将获得的适用于签名操作的签名用压缩数据使用指定私钥进行签名操作,即将签名用压缩数据使用指定私钥进行私钥加密,这样,就完成了需要签字的电子文件的签名操作。指定的私钥通常对应特定的公钥,只有通过该指定的公钥,才能完成该已签名文档的解密,这样,通过使用指定私钥确保了签名行为由签名者发起,确保了签名的安全性。
[0070]在步骤S04,发送已签名文档。
[0071]在进行签名操作之后,将已签名文档发送给请求签名的请求方,进而完成了整个电子签名。
[0072]对于发起电子签名的请求方,在接收到该已签名文档后,通过与私钥对应的公钥进行解密,若使用公钥将该已签名文档的签名数据进行解密,且解密后的压缩数据和请求方对原始数据按照相同的算法进行压缩后获得的数据一致,则可以认为该份电子文件签名成功。
[0073]以上对本发明实施例的电子签名的方法进行了详细的描述,此外,本发明还提供了利用上述方法实现的电子签名装置100,参考图2所示,包括:
[0074]轨迹验证单元110,用于获取输入的电子签字数据中的签名轨迹的特征参数,并通过签名轨迹的特征参数判断签名轨迹是否符合预设的签名轨迹;
[0075]签名用压缩数据获取单元120,用于获取签名用压缩数据,签名用压缩数据的原始数据中至少包括需要签名的电子文件;
[0076]签名单元130,用于将签名用压缩数据使用指定私钥进行签名操作,以获得已签名文档;
[0077]发送单元140,用于发送已签名文档。
[0078]进一步地,还可以包括身份认证单元,用于进行身份认证。
[0079]其中,输入的电子签名数据由轨迹输入装置提供。
[0080]所述轨迹输入装置可以为具有手写板的输入终端或陀螺仪。
[0081 ]进一步地,还包括:轨迹识别模块,用于识别输入的电子签字数据。
[0082]进一步地,签名用压缩数据获取单元120中,签名用压缩数据的原始数据中还包括已识别的电子签字数据。
[0083]进一步地,签名轨迹的特征参数包括签名轨迹中关键点的坐标、关键段的轨迹或关键段的曲率,在轨迹验证单元110中,通过签名轨迹的特征参数,获得与预设的签名轨迹的拟合程度,根据拟合程度,确定输入的签名轨迹是否与预设的签名轨迹一致。
[0084]可选的,签名用压缩数据获取单元120包括:
[0085]压缩数据接收单元,用于接收压缩数据,压缩数据的原始数据中至少包括需要签名的电子文件;
[0086]签名用数据生成单元,用于将压缩数据按指定格式填充,以生成签名用压缩数据。