CN115906780A - 可修改格式的电子文档签名方法、装置、设备及存储介质 - Google Patents
可修改格式的电子文档签名方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115906780A CN115906780A CN202310243084.0A CN202310243084A CN115906780A CN 115906780 A CN115906780 A CN 115906780A CN 202310243084 A CN202310243084 A CN 202310243084A CN 115906780 A CN115906780 A CN 115906780A
- Authority
- CN
- China
- Prior art keywords
- chameleon
- terminal
- message
- document
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种可修改格式的电子文档签名方法、装置、设备及存储介质,涉及电子签名技术领域,该方法包括:接收并验证第一终端发送的第一签名文件;验证通过后将第一签名文件发送给第二终端,并接收第二终端返回的第二变色龙消息;若第二变色龙消息包含的修改文档的纯文本和校验信息与原始文档的纯文本和原始校验信息相同,求解第二变色龙随机数;制作第二签名文件,并将第二签名文件发送给第二终端。本发明中,第二终端在确保文本内容不变的前提下,可修改原始文档的格式并请求服务器计算得到新的变色龙哈希所需的随机数,而无需请求发送方进行重新签名,极大降低了发送方的签名工作量,同时,校验信息能够确保原始文档的文本内容不被篡改。
Description
技术领域
本发明涉及电子签名技术领域,尤其涉及一种可修改格式的电子文档签名方法、装置、设备及存储介质。
背景技术
电子合同签署中,存在需要对合同文档进行反复修改的情况;尤其是当已经有合同签署成员已经对文档进行了签名后,如有其他合同签署成员仍需修改文档,则将导致之前的签名失效,从而导致需要重复签名。
然而,现有合同签署后修改的情况中,有很多不是对文档的文本内容进行修改,而往往是对文档的格式或者文档类型进行修改,这种修改由于不涉及实质性内容的改动,因此理论上是可以无需签署方再次确认的。采用现有的方式则需要已签署方重新签名确认,这样加大了签名工作量,也降低了用户体验。
发明内容
本发明提供了一种可修改格式的电子文档签名方法、装置、设备及存储介质,旨在解决接收方仅修改文档格式的前提下,发送方需要重新签名,签名工作量大的问题。
第一方面,本发明提供了一种可修改格式的电子文档签名方法,应用于服务器,所述方法包括:
接收第一终端发送的第一签名文件,所述第一签名文件包括第一变色龙消息、第一变色龙随机数、签名信息以及第一终端的证书,所述第一变色龙消息包括原始文档以及校验信息,所述签名信息由第一终端的私钥对第一变色龙消息的第一变色龙哈希值进行签名后得到,所述第一变色龙哈希值由第一变色龙随机数、所述第一变色龙消息的第一哈希值以及服务器的公钥计算得到;
将所述第一签名文件发送给第二终端,并接收第二终端返回的第二变色龙消息,所述第二变色龙消息包括修改文档以及所述校验信息,所述修改文档由所述原始文档进行格式修改后得到;
若所述第二变色龙消息中修改文档的纯文本和校验消息与所述第一变色龙消息中原始文档的纯文本和校验消息相同,则根据服务器的私钥、所述第一变色龙消息的第一哈希值、所述第一变色龙随机数以及所述第二变色龙消息的第二哈希值,求解所述第二哈希值对应的第二变色龙随机数;
将所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书打包为第二签名文件,并将所述第二签名文件发送给第二终端。
第二方面,本发明提供了一种可修改格式的电子文档签名方法,应用于第一终端,所述方法包括:
提取原始文档中的纯文本得到第一纯文本文档,并根据所述第一纯文本文档生成校验信息;
将所述原始文档以及所述校验信息组合后作为第一变色龙消息;
根据预设的第一变色龙随机数、所述第一变色龙消息的第一哈希值以及服务器的公钥计算所述第一变色龙消息的第一变色龙哈希值;
利用第一终端的私钥对所述第一变色龙哈希值进行签名得到签名信息;
将所述第一变色龙消息、所述第一变色龙随机数、所述签名信息以及第一终端的证书打包为第一签名文件,并将所述第一签名文件发送给服务器,其中,所述第一签名文件用于供所述服务器执行如上述的可修改格式的电子文档签名方法。
第三方面,本发明提供了一种可修改格式的电子文档签名方法,应用于第二终端,所述方法包括:
接收服务器发送的第二签名文件,所述第二签名文件由所述服务器根据上述的可修改格式的电子文档签名方法制作,所述第二签名文件包括第二变色龙消息、第二变色龙随机数、签名信息以及第一终端的证书;
根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证;
若对所述签名信息验证通过,解析所述第二变色龙消息得到修改文档和校验信息,根据所述修改文档和校验信息判断所述服务器是否修改了所述修改文档的纯文本;
若服务器未修改所述修改文档的纯文本,则判定所述第二变色龙消息可信,流程结束。
第四方面,本发明还提供了一种可修改格式的电子文档签名装置,其包括用于执行上述方法的单元。
第五方面,本发明还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第六方面,本发明还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明的技术效果包括:
发送方(即第一终端)只需要计算一次签名,后续接收方(即第二终端)可以进行任意次数的文档格式修改并请求服务器计算得到新的变色龙哈希所需的随机数,而无需请求发送方进行重新签名,因此本方法极大降低了发送方的签名工作量;电子文档中的纯文本文档被消息认证码所保护,任何对纯文本文档的修改会造成消息认证码验证不通过,因此,使得服务器无法对原始文档进行伪造,从而提升了变色龙签名的不可伪造性,具体表现在接收方无需跟发送方确认,也可以通过消息认证码判断陷门私钥持有者是否进行了伪造,从而大大提升了对变色龙签名是否伪造的判断效率。
附图说明
为了更清楚地说明本发明技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种可修改格式的电子文档签名方法的应用场景示意图;
图2为本发明提供的一种可修改格式的电子文档签名方法中第一终端执行部分的流程示意图;
图3为本发明提供的一种可修改格式的电子文档签名方法中服务器与第二终端交互的流程示意图;
图4为本发明提供的一种可修改格式的电子文档签名装置的示意性框图一;
图5为本发明提供的一种可修改格式的电子文档签名装置的示意性框图二;
图6为本发明提供的一种可修改格式的电子文档签名装置的示意性框图三;
图7为本发明提供的一种计算机设备的示意性框图。
实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当... 时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,本发明提出的可修改格式的电子文档签名方法应用于签名系统中,签名系统包括第一终端100、服务器200以及第二终端300;第一终端100作为发送方(即发送签名文件的一方)、第二终端300作为接收方(即接收签名文件的一方);可以理解地,发送方与接收方可相互转换。
请参阅图2-图3,本发明提出的可修改格式的电子文档签名方法中,第一终端用于执行以下步骤S101-S107;服务器用于执行以下步骤S201-S208;第二终端用于执行以下步骤S301-S307。
S101,第一终端提取原始文档中的纯文本得到第一纯文本文档;
具体实施中,原始文档是指待签署的文档,例如,合同文档等。第一终端去掉原始文档的格式以及数据结构,只保留纯文本得到第一纯文本文档FT,特殊情况下,原始文档可以与第一纯文本文档相同。
S102,第一终端根据所述第一纯文本文档生成校验信息;
具体实施中,第一终端根据所述第一纯文本文档生成校验信息,其中,校验信息用于验证所述第一纯文本文档是否被修改,即原始文档的文本内容是否被修改。
在一实施例中,以上步骤S102具体包括:
S1021,第一终端获取第一终端与第二终端之间的对称密钥,并通过所述对称密钥对所述第一纯文本文档进行消息认证计算得到消息认证码;
具体实施中,第一终端与第二终端均为ECC密码系统,第一终端可计算得到对称密钥KAB=SKA*PKB,而第二终端可以计算对称密钥KBA=SKB*PKA,根据ECC密码系统的性质,KAB=KBA,其中,SKA为第一终端的私钥,PKA为第一终端的公钥;SKB为第二终端的私钥,PKB为第二终端的公钥。另一种具体实施中,第一终端与第二终端之间共享的对称密钥也可以通过通信传输得到,例如第一终端用第二终端的公钥加密对称密钥,第二终端用其私钥解密得到对称密钥。
计算消息认证码MFT=MAC(FT,KAB),即通过所述对称密钥对所述第一纯文本文档进行计算后得到消息认证码,MAC()是某种带密钥的哈希函数,如HMAC。
S1022,第一终端对所述消息认证码进行二进制转文本的编码得到校验信息。
具体实施中,第一终端对所述消息认证码进行二进制转文本的编码(例如BASE64编码)后得到校验信息TMFT,通过编码能够将校验信息转换为字母和/或数字,便于合并入原始文档中,以便用户观看。
S103,第一终端将所述原始文档以及所述校验信息组合后作为第一变色龙消息;
具体实施中,第一终端将校验信息添加到原始文档中作为第一变色龙消息FA。
S104,第一终端对所述第一变色龙消息进行哈希运算得到第一哈希值;
具体实施中,第一终端通过MA=H(FA)计算所述第一变色龙消息的第一哈希值MA,其中,H为某种哈希函数如SHA256、SM3。
S105,第一终端根据预设的第一变色龙随机数、所述第一哈希值以及服务器的公钥计算所述第一变色龙消息的第一变色龙哈希值;
具体实施中,第一终端选取第一变色龙随机数为RA,通过CHA=CH(MA,RA,PKS)计算所述第一变色龙消息的第一变色龙哈希值CHA,其中MA为第一哈希值、RA为第一变色龙随机数,PKS为服务器的公钥,CH指变色龙哈希算法。由于变色龙哈希使用服务器的公钥作为计算时所采用的公钥,由此,即使得服务器的私钥作为变色龙哈希的陷门密钥。
S106,第一终端利用第一终端的私钥对所述第一变色龙哈希值进行签名得到签名信息;
具体实施中,当第一终端与第二终端均为ECC密码系统时,签名算法可以为ECDSA、SM2等,用第一终端的私钥SKA对第一变色龙哈希值CHA进行变色龙签名即可得到签名信息SIGA。
S107,第一终端将所述第一变色龙消息、所述第一变色龙随机数、所述签名信息以及第一终端的证书打包为第一签名文件,并将所述第一签名文件发送给服务器。
由此,第一终端完成第一签名文件的制作,其中,第一签名文件MSGA=FA||RA||SIGA||CERTA,CERTA为第一终端的证书,第一签名文件用于供服务器和第二终端执行如下步骤:
S201,服务器接收第一终端发送的第一签名文件,其中,所述第一签名文件包括第一变色龙消息、第一变色龙随机数、签名信息以及第一终端的证书,所述第一变色龙消息包括原始文档以及校验信息,所述签名信息由第一终端的私钥对第一变色龙消息的第一变色龙哈希值进行签名后得到,所述第一变色龙哈希值由第一变色龙随机数、所述第一变色龙消息的第一哈希值以及服务器的公钥计算得到;
S202,服务器解析所述第一签名文件,获取所述第一变色龙消息、所述第一变色龙随机数、所述签名信息以及第一终端的证书;
服务器解析MSGA得到FA、RA、SIGA、CERTA,并验证CERTA的合法性。
S203,服务器根据所述第一终端的证书对所述签名信息进行验证;
具体实施中,服务器从合法的第一终端的证书CERTA中提取出第一终端的公钥PKA,通过第一终端的公钥验证所述签名信息是否是由第一终端签名的可信文件。
在一实施例中,以上步骤S203具体包括:
S2031,服务器对所述第一变色龙消息进行哈希运算得到第一哈希值;
具体实施中,服务器通过MA=H(FA)计算得到所述第一变色龙消息的第一哈希值MA,其中,FA为第一变色龙消息。
S2032,服务器根据预设的第一变色龙随机数、所述第一哈希值以及服务器的公钥计算所述第一变色龙消息的第一变色龙哈希值;
具体实施中,服务器通过CHA=CH(MA,RA,PKS)计算所述第一变色龙消息的第一变色龙哈希值CHA,其中MA为第一哈希值、RA为第一变色龙随机数,PKS为服务器的公钥,CH指变色龙哈希算法。
S2033,服务器从第一终端的证书中获取所述第一终端的公钥,并根据所述第一终端的公钥以及所述第一变色龙哈希值对所述签名信息进行验证。
在一实施例中,服务器从第一终端的证书中提取第一终端的公钥PKA,通过第一终端的公钥解密所述签名信息得到第一变色龙哈希值,然后判断自己计算的第一变色龙哈希值是否与解密得到的第一变色龙哈希值相同,若相同,则验证通过;否则,验证不通过。需要说明的是,以上验证方式仅仅是一种示例,本领域技术人员还可以采用其它验证方式,本发明对此不做具体限定。
S204,若对所述签名信息验证通过,服务器将所述第一签名文件发送给第二终端;
在将第一签名文件发送给第二终端前,服务器先存储该第一签名文件。
S301,第二终端提取出所述第一签名文件中的第一变色龙消息,在对所述第一变色龙消息中的原始文档进行格式修改后,得到修改文档,并将所述修改文档与所述校验信息组合为第二变色龙消息,所述格式修改包括排版修改、字体格式修改以及文档类型修改中的至少一种;
具体实施中,第二终端根据用户设定的需求,对所述第一变色龙消息中的原始文档进行格式修改,从而得到修改文档,格式修改可为排版修改、字体格式修改以及文档类型修改,格式修改不改变原始文档的纯文本内容,同时也不修改校验信息TMFT的内容。
修改结束后,第二终端将所述修改文档与所述校验信息组合为第二变色龙消息FB。
S302,第二终端将所述第二变色龙消息发送给服务器;
S205,服务器接收第二终端返回的第二变色龙消息,并根据所述第二变色龙消息判断所述修改文档的纯文本是否与所述原始文档的纯文本相同,其中,所述第二变色龙消息包括修改文档以及所述校验信息,所述修改文档由所述原始文档进行格式修改后得到;
具体实施中,服务器从所述第二变色龙消息中提取出待验证纯文本和待验证校验信息,并从第一变色龙消息中提取出第一纯文本文档和原始校验信息,然后判断第一纯文本与所述待验证文本是否相同且原始校验信息是否与待验证校验信息相同,若有不同,则流程结束。
S206,若所述第二变色龙消息中修改文档的纯文本和校验消息与所述第一变色龙消息中原始文档的纯文本和校验消息相同,服务器对所述第二变色龙消息进行哈希运算得到第二哈希值;
具体实施中,服务器通过MA=H(FB)计算所述第二变色龙消息的第二哈希值MB,其中,FB为第二变色龙消息。
S207,服务器根据服务器的私钥、所述第一哈希值、所述第一变色龙随机数以及所述第二哈希值,求解所述第二哈希值对应的第二变色龙随机数;
具体实施中,服务器基于变色龙哈希算法,根据服务器的私钥、所述第一哈希值、所述第一变色龙随机数以及所述第二哈希值,计算所述第二哈希值对应的第二变色龙随机数。
S208,服务器将所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书打包为第二签名文件,并将所述第二签名文件发送给第二终端。
具体实施中,第二签名文件MSGB=FB||RB||SIGA||CERTA。
S303,第二终端接收服务器发送的第二签名文件;
S304,第二终端解析所述第二签名文件,获取所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书;
具体实施中,第二终端从MSGB中解析得到FB、RB、SIGA、CERTA,并验证CERTA的合法性。
S305,第二终端根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证;
第二终端根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证,以确认所述第二变色龙消息为未经过篡改的可信消息。
在一实施例中,以上步骤S305具体包括:
S3051,第二终端对所述第二变色龙消息进行哈希运算得到第二哈希值;
S3052,第二终端根据所述第二哈希值、服务器的公钥以及所述第二变色龙随机数计算所述第二变色龙消息的第二变色龙哈希值;
S3053,第二终端从所述第一终端的证书中提取出所述第一终端的公钥,根据所述第一终端的公钥以及所述第二变色龙哈希值对所述签名信息进行验证。
在一实施例中,第二终端从所述第一终端的证书中提取所述第一终端的公钥,根据所述第一终端的公钥对所述签名信息进行签名验证算法的计算,若签名验证通过,确认所述第二变色龙消息为未经过篡改的可信消息。
S306,若对所述签名信息验证通过,第二终端解析所述第二变色龙消息得到修改文档和校验信息,并根据所述修改文档和校验信息判断所述服务器是否修改了所述修改文档的纯文本;
在一实施例中,以上步骤S306具体包括:
S3061,对所述校验信息进行文本转二进制的解码得到消息认证码;
S3062,提取所述修改文档中的纯文本得到第二纯文本文档;
S3063,获取第二终端与第一终端之间的对称密钥,并通过所述对称密钥对所述第二纯文本文档进行消息认证计算得到待验证消息认证码;
具体实施中,第一终端与第二终端均为ECC密码系统,第一终端可计算得到对称密钥KAB=SKA*PKB,而第二终端可以计算对称密钥KBA=SKB*PKA,根据ECC密码系统的性质,KAB=KBA。其中,SKA为第一终端的私钥,PKA为第一终端的公钥;SKB为第二终端的私钥,PKB为第二终端的公钥。
通过所述对称密钥对所述第二纯文本文档进行计算后得到待验证消息认证码。
S3064,判断所述待验证消息认证码与所述消息认证码是否相同;
S3065,若所述待验证消息认证码与所述消息认证码相同,第二终端判定所述服务器未修改所述修改文档的文本,否则,第二终端判定服务器修改了所述修改文档的文本,进入对服务器进行审计的程序,查出本次伪造的来源,结束流程。
S307,若服务器未修改所述修改文档的文本,第二终端判定所述第二变色龙消息可信,流程结束。
具体实施中,若服务器未修改所述修改文档的文本,第二终端判定所述第二变色龙消息可信,由此第二终端认为所述第二变色龙消息为真实可信的文档,文档接收结束。
通过应用本发明的技术方案,发送方(即第一终端)只需要计算一次签名,后续接收方(即第二终端)可以进行任意次数的文档格式修改并请求服务器计算得到新的变色龙哈希所需的随机数,而无需请求发送方进行重新签名,因此本方法极大降低了发送方的签名工作量;同时电子文档中的纯文本文档被消息认证码所保护,任何对纯文本文档的修改会造成消息认证码验证不通过,因此使得服务器无法对原始文档进行伪造,从而提升了变色龙签名的不可伪造性,具体表现在接收方无需跟发送方确认,也可以通过消息认证码判断陷门私钥持有者是否进行了伪造,从而大大提升了对变色龙签名是否伪造的判断效率。
参见图4,对应于以上可修改格式的电子文档签名方法,本发明还提供一种可修改格式的电子文档签名装置,该可修改格式的电子文档签名装置应用于第一终端中,该可修改格式的电子文档签名装置包括:
第一提取单元11,用于原始文档中的纯文本得到第一纯文本文档;
第一生成单元12,用于根据所述第一纯文本文档生成校验信息;
第一组合单元13,用于将所述原始文档以及所述校验信息组合后作为第一变色龙消息;
第一计算单元14,用于对所述第一变色龙消息进行哈希运算得到第一哈希值;
第二计算单元15,用于根据预设的第一变色龙随机数、所述第一哈希值以及服务器的公钥计算所述第一变色龙消息的第一变色龙哈希值;
签名单元16,用于利用第一终端的私钥对所述第一变色龙哈希值进行签名得到签名信息;
第一发送单元17,用于将所述第一变色龙消息、所述第一变色龙随机数、所述签名信息以及第一终端的证书打包为第一签名文件,并将所述第一签名文件发送给服务器。
参见图5,本发明还提供一种可修改格式的电子文档签名装置,该可修改格式的电子文档签名装置应用于服务器中,该可修改格式的电子文档签名装置包括:
第一接收单元21,用于接收第一终端发送的第一签名文件,所述第一签名文件由第一终端根据上述方法实施例生成;
第一解析单元22,用于解析所述第一签名文件,获取第一变色龙消息、第一变色龙随机数、签名信息以及第一终端的证书;
第一验证单元23,用于根据所述第一终端的证书对所述签名信息进行验证;
第二发送单元24,用于若对所述签名信息验证通过,将所述第一签名文件发送给第二终端,其中,第二终端对所述第一变色龙消息中的原始文档进行格式修改后,得到修改文档,将所述修改文档与所述校验信息组合作为第二变色龙消息,并将所述第二变色龙消息发送给服务器;所述格式修改包括排版修改、字体格式修改以及文档类型修改中的至少一种;
第一判断单元25,用于接收第二终端返回的第二变色龙消息,并根据所述第二变色龙消息判断所述修改文档的纯文本是否与所述原始文档的纯文本相同;
第三计算单元26,用于若所述第二变色龙消息中修改文档的纯文本和校验消息与所述第一变色龙消息中原始文档的纯文本和校验消息相同,对所述第二变色龙消息进行哈希运算得到第二哈希值;
第四计算单元27,用于根据服务器的私钥、所述第一哈希值、所述第一变色龙随机数以及所述第二哈希值,求解所述第二哈希值对应的第二变色龙随机数;
第三发送单元28,用于将所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书打包为第二签名文件,并将所述第二签名文件发送给第二终端。
参见图6,本发明还提供一种可修改格式的电子文档签名装置20,该可修改格式的电子文档签名装置应用于第二终端中,该可修改格式的电子文档签名装置包括:
第二接收单元31,用于接收服务器接收到的来自第一终端的第一签名文件,所述第一签名文件由第一终端根据上述方法实施例生成;服务器解析所述第一签名文件,获取第一变色龙消息、第一变色龙随机数、签名信息以及第一终端的证书;服务器根据所述第一终端的证书对所述签名信息进行验证;若对所述签名信息验证通过,服务器将所述第一变色龙消息发送给第二终端;
修改单元32,用于对所述第一变色龙消息中的原始文档进行格式修改后,得到修改文档,并将所述修改文档与所述校验信息组合作为第二变色龙消息,所述格式修改包括排版修改、字体格式修改以及文档类型修改中的至少一种;
第四发送单元33,用于将所述第二变色龙消息发送给服务器;其中,服务器根据所述第二变色龙消息判断所述修改文档的纯文本是否与所述原始文档的纯文本相同;若所述第二变色龙消息中修改文档的纯文本和校验消息与所述第一变色龙消息中原始文档的纯文本和校验消息相同,服务器对所述第二变色龙消息进行哈希运算得到第二哈希值;服务器根据服务器的私钥、所述第一哈希值、所述第一变色龙随机数以及所述第二哈希值,求解所述第二哈希值对应的第二变色龙随机数;服务器将所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书打包为第二签名文件,并将所述第二签名文件发送给第二终端;
第二解析单元34,用于解析所述第二签名文件,获取所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书;
第二验证单元35,用于根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证;
第二判断单元36,用于若对所述签名信息验证通过,解析所述第二变色龙消息得到修改文档和校验信息,并根据所述修改文档和校验信息判断所述服务器是否修改了所述修改文档的纯文本;
判定单元37,用于服务器未修改所述修改文档的纯文本,第二终端判定所述第二变色龙消息可信,流程结束。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述可修改格式的电子文档签名装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
如图7所示,本申请实施例提供提供了一种计算机设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例中第一终端、或者服务器,或者第二终端执行的步骤。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时实现前述任意一个方法实施例中第一终端、或者服务器,或者第二终端执行的步骤。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。所述计算机可读存储介质可以是非易失性,也可以是易失性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种可修改格式的电子文档签名方法,其特征在于,应用于服务器,所述方法包括:
接收第一终端发送的第一签名文件,所述第一签名文件包括第一变色龙消息、第一变色龙随机数、签名信息以及第一终端的证书,所述第一变色龙消息包括原始文档以及校验信息,所述签名信息由第一终端的私钥对第一变色龙消息的第一变色龙哈希值进行签名后得到,所述第一变色龙哈希值由第一变色龙随机数、所述第一变色龙消息的第一哈希值以及服务器的公钥计算得到;
将所述第一签名文件发送给第二终端,并接收第二终端返回的第二变色龙消息,所述第二变色龙消息包括修改文档以及所述校验信息,所述修改文档由所述原始文档进行格式修改后得到;
若所述第二变色龙消息中修改文档的纯文本和校验消息与所述第一变色龙消息中原始文档的纯文本和校验消息相同,则根据服务器的私钥、所述第一变色龙消息的第一哈希值、所述第一变色龙随机数以及所述第二变色龙消息的第二哈希值,求解所述第二哈希值对应的第二变色龙随机数;
将所述第二变色龙消息、所述第二变色龙随机数、所述签名信息以及第一终端的证书打包为第二签名文件,并将所述第二签名文件发送给第二终端。
2.根据权利要求1所述的方法,所述接收第一终端发送的第一签名文件之后,所述方法还包括:
根据所述第一终端的证书对所述签名信息进行验证;
若对所述签名信息验证通过,执行所述将所述第一签名文件发送给第二终端的步骤。
3.一种可修改格式的电子文档签名方法,其特征在于,应用于第一终端,所述方法包括:
提取原始文档中的纯文本得到第一纯文本文档,并根据所述第一纯文本文档生成校验信息;
将所述原始文档以及所述校验信息组合后作为第一变色龙消息;
根据预设的第一变色龙随机数、所述第一变色龙消息的第一哈希值以及服务器的公钥计算所述第一变色龙消息的第一变色龙哈希值;
利用第一终端的私钥对所述第一变色龙哈希值进行签名得到签名信息;
将所述第一变色龙消息、所述第一变色龙随机数、所述签名信息以及第一终端的证书打包为第一签名文件,并将所述第一签名文件发送给服务器,其中,所述第一签名文件用于供所述服务器执行如权利要求1-2任一项所述的方法。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一纯文本文档生成校验信息,包括:
获取第一终端与第二终端之间的对称密钥,并通过所述对称密钥对所述第一纯文本文档进行消息认证计算得到消息认证码;
对所述消息认证码进行二进制转文本的编码得到校验信息。
5.一种可修改格式的电子文档签名方法,其特征在于,应用于第二终端,所述方法包括:
接收服务器发送的第二签名文件,所述第二签名文件由所述服务器根据权利要求1-2任一项所述的方法制作,所述第二签名文件包括第二变色龙消息、第二变色龙随机数、签名信息以及第一终端的证书;
根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证;
若对所述签名信息验证通过,解析所述第二变色龙消息得到修改文档和校验信息,根据所述修改文档和校验信息判断所述服务器是否修改了所述修改文档的纯文本;
若服务器未修改所述修改文档的纯文本,则判定所述第二变色龙消息可信,流程结束。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一终端的证书以及所述第二变色龙随机数对所述签名信息进行验证,包括:
对所述第二变色龙消息进行哈希运算得到第二哈希值;
根据所述第二哈希值、服务器的公钥以及所述第二变色龙随机数计算所述第二变色龙消息的第二变色龙哈希值;
从所述第一终端的证书中提取出所述第一终端的公钥,根据所述第一终端的公钥以及所述第二变色龙哈希值对所述签名信息进行验证。
7.根据权利要求5所述的方法,其特征在于,所述根据所述修改文档和校验信息判断所述服务器是否修改了所述修改文档的纯文本,包括:
对所述校验信息进行文本转二进制的解码得到消息认证码;
提取所述修改文档中的纯文本得到第二纯文本文档;
获取第二终端与第一终端之间的对称密钥,并通过所述对称密钥对所述第二纯文本文档进行消息认证计算得到待验证消息认证码;
判断所述待验证消息认证码与所述消息认证码是否相同;
若所述待验证消息认证码与所述消息认证码相同,判定所述服务器未修改所述修改文档的文本。
8.一种可修改格式的电子文档签名装置,其特征在于,包括用于执行如权利要求1-7任一项所述方法的单元。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243084.0A CN115906780B (zh) | 2023-03-14 | 2023-03-14 | 可修改格式的电子文档签名方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310243084.0A CN115906780B (zh) | 2023-03-14 | 2023-03-14 | 可修改格式的电子文档签名方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115906780A true CN115906780A (zh) | 2023-04-04 |
CN115906780B CN115906780B (zh) | 2023-06-23 |
Family
ID=86486806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310243084.0A Active CN115906780B (zh) | 2023-03-14 | 2023-03-14 | 可修改格式的电子文档签名方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906780B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
CN112989430A (zh) * | 2019-12-13 | 2021-06-18 | 华为技术有限公司 | 完整性校验方法、装置、终端设备及验证服务器 |
CN114710298A (zh) * | 2022-06-02 | 2022-07-05 | 深圳天谷信息科技有限公司 | 基于变色龙哈希的文档批量签署方法、装置、设备及介质 |
CN114866260A (zh) * | 2022-07-05 | 2022-08-05 | 杭州天谷信息科技有限公司 | 一种变色龙哈希分布式身份使用方法和系统 |
CN115174056A (zh) * | 2022-06-23 | 2022-10-11 | 武汉大学 | 一种基于sm9签名的变色龙签名生成方法及装置 |
CN115174037A (zh) * | 2022-06-23 | 2022-10-11 | 武汉大学 | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 |
-
2023
- 2023-03-14 CN CN202310243084.0A patent/CN115906780B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292897B1 (en) * | 1997-11-03 | 2001-09-18 | International Business Machines Corporation | Undeniable certificates for digital signature verification |
CN112989430A (zh) * | 2019-12-13 | 2021-06-18 | 华为技术有限公司 | 完整性校验方法、装置、终端设备及验证服务器 |
CN114710298A (zh) * | 2022-06-02 | 2022-07-05 | 深圳天谷信息科技有限公司 | 基于变色龙哈希的文档批量签署方法、装置、设备及介质 |
CN115174056A (zh) * | 2022-06-23 | 2022-10-11 | 武汉大学 | 一种基于sm9签名的变色龙签名生成方法及装置 |
CN115174037A (zh) * | 2022-06-23 | 2022-10-11 | 武汉大学 | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 |
CN114866260A (zh) * | 2022-07-05 | 2022-08-05 | 杭州天谷信息科技有限公司 | 一种变色龙哈希分布式身份使用方法和系统 |
Non-Patent Citations (3)
Title |
---|
SHUANG HU等: "\"A sanitizable signcryption scheme with public verifiability via chameleon hash function\"", 《JOURNAL OF INFORMATION SECURITY AND APPLICATIONS》 * |
王红伟;徐剑;倪盼;周福才;: "基于动态变色龙认证树的一次签名方案", 密码学报 * |
陈曦源: ""可修订电子签名的可控性的研究与应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115906780B (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110691087B (zh) | 一种访问控制方法、装置、服务器及存储介质 | |
US9166957B2 (en) | Digital file authentication using biometrics | |
CN103067402B (zh) | 数字证书的生成方法和系统 | |
CN105007279A (zh) | 认证方法和认证系统 | |
CN109818730B (zh) | 盲签名的获取方法、装置和服务器 | |
CN109831311B (zh) | 一种服务器验证方法、系统、用户终端及可读存储介质 | |
CN112219371A (zh) | 双向区块链 | |
US20040143556A1 (en) | Voice signature with strong binding | |
CN114710298B (zh) | 基于变色龙哈希的文档批量签署方法、装置、设备及介质 | |
CN115460019B (zh) | 基于数字身份的目标应用提供方法和装置、设备和介质 | |
CN111130798A (zh) | 一种请求鉴权方法及相关设备 | |
CN113836506A (zh) | 身份认证方法、装置、系统、电子设备、存储介质 | |
US7849308B2 (en) | Data generating device and control method thereof, data analyzing device and control method thereof, data processing system, program and machine-readable storage medium | |
CN111182497A (zh) | V2x匿名认证方法、设备及存储介质 | |
CN107517194B (zh) | 一种内容分发网络的回源认证方法和装置 | |
CN113128999A (zh) | 一种区块链隐私保护方法及装置 | |
CN114244530A (zh) | 资源访问方法及装置、电子设备、计算机可读存储介质 | |
CN109670289B (zh) | 一种识别后台服务器合法性的方法及系统 | |
CN107947939A (zh) | 支持sm3密码杂凑算法和sm2数字签名算法的pdf签名方法和系统 | |
CN111984959B (zh) | 一种匿名信息发布及验证方法、装置 | |
CN116566626B (zh) | 环签名方法和设备 | |
CN110175471B (zh) | 一种档案的存储方法及系统 | |
CN115906780B (zh) | 可修改格式的电子文档签名方法、装置、设备及存储介质 | |
WO2003049358A1 (en) | A method and system for authenticating digital certificates | |
CN107623679B (zh) | 一种数据标记化处理方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |