CN102164037B - 一种数字签章系统和方法 - Google Patents

一种数字签章系统和方法 Download PDF

Info

Publication number
CN102164037B
CN102164037B CN201110079899.7A CN201110079899A CN102164037B CN 102164037 B CN102164037 B CN 102164037B CN 201110079899 A CN201110079899 A CN 201110079899A CN 102164037 B CN102164037 B CN 102164037B
Authority
CN
China
Prior art keywords
digital signature
information
signature
bitmap
module
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.)
Active
Application number
CN201110079899.7A
Other languages
English (en)
Other versions
CN102164037A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201110079899.7A priority Critical patent/CN102164037B/zh
Publication of CN102164037A publication Critical patent/CN102164037A/zh
Application granted granted Critical
Publication of CN102164037B publication Critical patent/CN102164037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种数字签章方法,包括:获取用户密钥信息;对明文信息进行签名操作生成数字签名;使用水印算法将数字签名进行变化形成带数字签名的水印信息;获取位图;对水印信息和位图进行操作并进行签名生成位图签名;将数字签章信息和用户公钥信息进行发送;将数字签章的图标显示出来;获取所述数字签章信息和用户公钥信息;验证所述位图签名和数字签名;报告所述位图签名和数字签名的验证结果;验证数字签章的有效性。本发明还提供一种数字签章系统。本发明通过分别对明文信息和位图进行签名,确保了文档的安全性;且分别对位图签名和数字签名进行验证,确保了文档的真实性,同时具有防篡改效力。

Description

一种数字签章系统和方法
技术领域
本发明涉及信息安全领域,特别涉及一种数字签章方法和系统。
背景技术
现有技术中纸质文档或者电子文档存在各种安全问题,如容易被篡改,纸质文档的签章容易被盗用,由于电子文档内容极易被更改,加上他人蓄意或无意的破坏行为,使纸质文档或者电子文档存在各种安全隐患。在现有的文档技术中,已经把容易被篡改的纸质文档做成电子文档,并广泛应用电子签章技术进行保护,大大地增加了纸质文档和电子文档的安全性。
电子签章,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身份,保证文件的完整性,并表示签署者同意电子文件所陈述事实的内容。一般来说,对电子签章的认定,都是从技术角度而言的,主要是指通过特定的技术方案来鉴别当事人的身份及确保交易资料内容不被篡改的安全保障措施。签章技术的要点如下:
1.数字签名:对电子文档进行签名的时候,可以对整体或者部分文档进行签名,在对文档进行部分签名的时候,要先选择被签名的内容,然后进行签名。签名时,需要选择签名的证书,选择事先添加的签章图标,然后对文档进行签名,形成密文信息。电子签名技术的实现一般需要使用到非对称加密算法(RSA算法)和报文摘要算法(HASH算法)。
2.文档签章:文档签章的基本原理是通过文档签章模块,使用数字证书对应的私钥,对选择进行签章的文档内容进行数字签名,数字签名信息以图像(签章图标)的方式显示出来,即显示的签章图标绑定了签名结果、被签名信息和签名证书。进行签章验证时,使用签名证书对签名结果进行验证,实现文档签章验证。
3.验证:文档签章的验证可以验证文档签章者的真实身份,如被更改的文档则不能通过验证。
电子签章技术的应用大大的提高了文档的受保护程度,现有的技术文档签章过程一般是在控件中加入位图和与签名相关联的文档属性。签名后,将签名作为水印加入到位图中,位图一般是之前设定的,并可被用户修改,如果签章位图的管理不当化,将不能够确定签章和签名主体的唯一。虽然也可以验证文字信息是否被篡改,但是不能验证位图是否被更改,这给真实用户带来了不必要的麻烦和损失,安全性不高。
发明内容
基于现有技术的不足,本发明提供了一种数字签章系统和方法,应用此技术,能够及时发现文档被非法篡改,并采取必要的保护措施,保证了签章和签名主体的唯一,提高了文档的安全性。
本发明提供一种数字签章系统,包括数字签章生成装置和数字签章验证装置,
所述数字签章生成装置用于完成数字签章操作过程,其包括:信息获取模块、第一生成模块、水印嵌入模块、管理模块、第二生成模块、信息发送模块和输出模块;
所述信息获取模块,用于获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
所述第一生成模块,用于获取明文信息并对其进行签名操作,生成数字签名;
所述水印嵌入模块,用于使用水印算法将所述数字签名进行变化形成带有数字签名的水印信息;
所述管理模块,用于管理和获取验证通过的位图;
所述第二生成模块,用于对所述带有数字签名的水印信息和所述位图进行操作,生成带有数字签名水印的位图信息,并对其进行签名操作,生成位图签名;
所述信息发送模块,用于将所述位图、所述明文信息、待验证数字签名信息、所述位图签名和所述信息获取模块中的用户公钥信息发送给所述数字签章验证装置,所述的待验证数字签名信息为第一生成模块中的数字签名或所述第二生成模块中的带有数字签名水印的位图信息;
所述输出模块,用于将所述第二生成模块生成的带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域;
所述数字签章验证装置用于对数字签章生成装置所生成的数字签名和位图签名分别进行验证,其包括:验证信息获取模块、用户信息提取模块、第一验证模块、第二验证模块、验证报告输出模块和第三验证模块;
所述验证信息获取模块,用于获取所述信息发送模块发送的部分信息,包括所述位图、所述明文信息、所述位图签名和所述待验证数字签名信息,该待验证数字签名信息为第一生成模块中的数字签名或所述第二生成模块中的带有数字签名水印的位图信息;
所述用户信息提取模块,用于获取所述信息发送模块发送的用户公钥信息;
所述第一验证模块,用于对位图签名进行验证;
所述第二验证模块,用于对数字签名进行验证;
所述验证报告输出模块,用于分别报告所述第一验证模块和所述第二验证模块的验证结果;
所述第三验证模块,用于验证所述数字签章是否合法有效。
其中,所述第一生成模块包括:第一信息获取单元和第一签名单元,
所述第一信息获取单元用于从文档中获取待签名的明文信息并从信息获取模块中获取用户私钥信息;
所述第一签名单元用于选中所述第一信息获取单元中的待进行签名的全部或者部分明文信息,用散列算法计算得到密文信息,然后使用所述第一信息获取模块中获得的用户私钥信息对该密文信息进行签名操作,生成数字签名。
其中,所述管理模块包括位图客户端管理单元和位图获取单元,位图客户端管理单元用于管理验证通过的位图,位图获取单元用于从所述位图客户端管理单元中获取所需位图。
其中,所述位图为存储于用户主机上的公章、个人签名、图片或具有生物特征的指纹、虹膜。
其中,所述第二生成模块包括:第二信息获取单元、水印添加单元和第二签名单元,
所述第二信息获取单元用于获取信息获取模块中的用户私钥信息;
所述水印添加单元用于将所述水印嵌入模块生成的带有数字签名的水印信息添加到所述位图获取单元获得的位图中,生成带有数字签名水印的位图信息;
所述第二签名单元,用于对所述水印添加单元中生成的带有数字签名水印的位图信息进行散列算法,生成位图信息散列值,然后再使用第二信息获取单元获取的用户私钥信息对该位图信息散列值进行签名操作,形成位图签名。
其中,所述待验证数字签名信息为所述第二生成模块中的带有数字签名水印的位图信息,所述数字签章验证装置还包括水印提取模块,其用于将所述验证信息获取模块中的带有数字签名的位图信息进行分离操作,得到位图和带有数字签名的水印信息,而后再提取所述带有数字签名的水印信息中的水印,得到数字签名。
其中,所述第一验证模块包括:第一验证信息获取单元、第一生成单元和第一验证单元,
所述第一验证信息获取单元,用于获取所述验证信息获取模块中的位图、位图签名、所述用户信息提取模块中的用户公钥信息和所述水印提取模块中的水印信息;
所述第一生成单元包括:第一子单元和第二子单元;
所述第一子单元,用于将第一验证信息获取单元中的水印信息添加到所述第一验证信息获取单元所获取的位图中,形成新的带数字签名水印的位图信息,并用散列算法对此新的带数字签名水印的位图信息进行计算,生成位图信息散列值;
所述第二子单元,用于使用所述第一验证信息获取单元中的用户公钥信息对其获取的位图签名进行验证,生成另一位图信息散列值;
所述第一验证单元:用于对所述第一子单元和所述第二子单元分别生成的位图信息散列值进行比较,通过比较得知所述位图签名是否有效从而得知位图是否被改动或者被替换。
其中,所述第二验证模块包括:第二验证信息获取单元、第二生成单元和第二验证单元;
所述第二验证信息获取单元,用于获取所述验证信息获取模块中的明文信息、用户信息提取模块中的用户公钥信息和所述水印提取模块中的数字签名;
所述第二生成单元包括:第三子单元和第四子单元,
所述第三子单元,用于用散列算法对所述第二验证信息获取单元获取的明文信息进行计算生成密文信息;
所述第四子单元,用于使用第二验证信息获取单元中的用户公钥信息对其获取的数字签名进行验证得到另一密文信息;
所述第二验证单元,用于对所述第三子单元和所述第四子单元分别生成的密文信息进行比较,通过比较得知所述数字签名是否有效,从而得知所述明文信息是否被篡改。
其中,所述待验证数字签名信息为第一生成模块中的数字签名,所述第一验证模块包括:第一验证信息获取单元、第一生成单元和第一验证单元,
所述第一验证信息获取单元,用于获取所述验证信息获取模块中的位图、数字签名、位图签名和所述用户信息提取模块中的用户公钥信息;
所述第一生成单元包括:第一子单元和第二子单元;
所述第一子单元,用于对所述第一验证信息获取单元获取的数字签名添加水印算法形成新的带有数字签名的水印信息,然后将此新的水印信息添加到由第一验证信息获取单元获取的位图中,形成新的带数字签名水印的位图信息,并用散列算法对此新的带数字签名水印的位图信息进行计算,生成位图信息散列值;
所述第二子单元,用于使用所述第一验证信息获取单元中的用户公钥信息对其获取的位图签名进行验证,生成位图信息散列值;
所述第一验证单元:用于对所述第一子单元和所述第二子单元分别生成的位图信息散列值进行比较,通过比较得知所述位图签名是否有效从而得知位图是否被改动或者被替换。
其中,所述第二验证模块包括:第二验证信息获取单元、第二生成单元和第二验证单元;
所述第二验证信息获取单元,用于获取所述验证信息获取模块中的明文信息和数字签名,还用于获取所述用户信息提取模块中的用户公钥信息;
所述第二生成单元包括:第三子单元和第四子单元;
所述第三子单元,用于用散列算法对所述第二验证信息获取单元获取的明文信息进行计算生成密文信息;
所述第四子单元,用于使用第二验证信息获取单元中的用户公钥信息对其获取的数字签名进行验证得到另一密文信息;
所述第二验证单元,用于对所述第三子单元和所述第四子单元分别生成的密文信息进行比较,通过比较得知所述数字签名是否有效,从而得知所述明文信息是否被篡改。
其中,所述散列算法是信息摘要5算法或哈希算法。
其中,所述验证报告输出模块包括:第一报告单元和第二报告单元;
所述第一报告单元,用于报告所述第一验证模块对所述位图签名验证的结果,如果位图签名验证结果通过则所述第一报告单元报告验证通过,如果所述位图签名验证不通过则由所述第一报告单元报告验证错误;
所述第二报告单元,用于报告所述第二验证模块对所述数字签名验证的结果,如果数字签名验证结果通过则所述第二报告单元报告验证通过,如果所述数字签名验证不通过则由所述第二报告单元报告验证错误。
其中,所述第三验证模块,用于验证数字签章的有效性,
当所述第一验证模块验证所述位图签名和所述第二验证模块验证所述数字签名都通过,所述第三验证模块验证所述数字签章有效,并报告签章有效;
当所述第一验证模块验证所述位图签名和所述第二验证模块验证所述数字签名一者不通过验证或者两者都不通过验证,所述第三验证模块验证所述签章无效,并报告签章无效。
其中,所述报告验证结果的方式为:以显示的方式输出结果,或以发声的方式输出结果,或以显示和发声结合的方式输出结果。
本发明又提供一种数字签章的方法,包括数字签章生成过程和数字签章验证过程,所述数字签章生成过程包括生成数字签名和生成位图签名两部分,包括下列步骤:
步骤A:信息获取模块获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
步骤B:第一生成模块对明文信息进行签名操作,生成数字签名;
步骤C:水印嵌入模块使用水印算法将步骤B中已经生成的数字签名进行变化形成带数字签名的水印信息;
步骤D:管理模块获取位图;
步骤E:第二生成模块对步骤C中的水印信息和步骤D中的位图进行操作形成位图信息,然后再对该位图信息进行签名,生成位图签名;
步骤F:信息发送模块将数字签章信息发送给验证信息获取模块进行验证,还将用户公钥信息发送给用户信息提取模块;
步骤G:输出模块显示数字签章图标;
所述数字签章验证过程包括对位图签名的验证和对数字签名的验证,包括下列步骤:
步骤A’:验证信息获取模块获取所述数字签章信息;
步骤B’:用户信息提取模块获取所述用户公钥信息;
步骤C’:第一验证模块验证所述位图签名;
步骤D’:第二验证模块验证所述数字签名;
步骤E’:验证报告输出模块报告所述第一验证模块和所述第二验证模块的验证结果;
步骤F’:第三验证模块验证数字签章的有效性。
其中,所述数字签章生成过程的步骤B具体为:所述第一生成模块用散列算法对所述明文信息进行计算生成密文信息,再使用所述步骤A中获取的用户私钥信息对所述密文信息进行签名操作,形成数字签名。
其中,所述数字签章生成过程的步骤D中的位图包括存储于用户主机上的公章、个人签名、图片或具有生物特征的指纹、虹膜。
其中,所述数字签章生成过程的步骤E具体为:所述第二生成模块将所述步骤C中的带数字签名的水印信息添加到所述步骤D中的位图中生成带数字签名水印的位图信息,再使用所述用户私钥信息对所述位图信息进行签名形成位图签名。
其中,所述数字签章生成过程的步骤G具体为:输出模块将所述第二生成模块生成的带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域。
其中,所述数字签章生成过程的步骤D和数字签章验证过程的步骤A’中的数字签章信息包括:所述明文信息、所述带有数字签名水印的位图信息和位图签名。
其中,所述数字签章验证过程的步骤C’具体为:
步骤C1’:所述第一验证模块将所述步骤A’中的带数字签名水印的位图信息进行计算生成位图信息散列值;
步骤C2’:所述第一验证模块获取步骤A’中的位图签名,并用所述步骤B’中获取的用户公钥信息对所述位图签名进行验证操作,得到另一位图信息散列值;
步骤C3’:所述第一验证模块对步骤C2’和步骤C3’分别得到的两个位图信息进行比较,如果比较结果一致则证明所述位图是信的,即所验证的所述位图签名是有效的,如果比较结果不一致则证明所述位图签名无效即所述位图签名有信息丢失或者被篡改。
其中,所述数字签章验证过程的步骤D’具体为:
步骤D1’:水印提取模块将所述步骤A’中的带有数字签名的位图信息进行分离操作,得到位图和带有数字签名的水印信息,而后再提取所述带有数字签名的水印信息中的水印,得到数字签名;
步骤D2’:所述第二验证模块获取所述步骤A’中的明文信息,再用散列算法对所述明文信息进行加密,得到密文信息;
步骤D3’:所述第二验证模块再使用步骤B’中获取的用户公钥信息对所述步骤D1’中的数字签名进行验证操作,得到另一密文信息;
步骤D4’:所述第二验证模块将得到的两个密文信息进行比较,如果比较结果一致则证明所述明文信息是完整的,即所述数字签名是有效的,如果比较结果不一致则证明所述数字签名无效即所述明文信息有遗漏或者被篡改。
其中,所述数字签章生成过程的步骤D和数字签章验证过程的步骤A’中的数字签章信息包括:所述明文信息、所述位图、所述数字签名和所述位图签名。
其中,所述数字签章验证过程的步骤C’具体为:
首先所述第一验证模块获取步骤A’中的所述数字签名和位图,将该数字签名做为载体嵌入到水印算法中,形成新的带数字签名的水印信息;然后将该新的带数字签名的水印信息添加到获得的位图中,生成新的带数字签名水印的位图信息,并用散列算法对新的位图信息进行计算生成位图信息散列值;
其次所述第一验证模块获取步骤A’中的位图签名,并用步骤B’中的所述用户公钥信息对该位图签名进行解密操作,生成另一位图信息散列值;
最后所述第一验证模块将对生成的两个位图信息散列值进行比较,如果比较结果一致则证明所述位图是信的,即所验证的所述位图签名是有效的,如果比较结果不一致则证明所述位图签名无效即所述位图有信息丢失或者被篡改。
其中,所述数字签章验证过程的步骤D’具体为:
首先所述第二验证模块获取所述步骤A’中的明文信息,再用散列算法对该明文信息进行加密,得到密文信息;
其次所述第二验证模块使用步骤B’中获取的用户公钥信息对所述步骤A’中获取的数字签名进行验证操作,得到另一密文信息;
最后所述第二验证模块将得到的两个密文信息进行比较,如果比较结果一致则证明所述明文信息是完整的,即所述数字签名是有效的,如果比较结果不一致则证明所述数字签名无效即所述明文信息有遗漏或者被篡改。
其中,所述散列算法是信息摘要5算法或哈希算法。
其中,所述数字签章验证过程的步骤E’具体为:
如果所述步骤C’中经验证的所述位图签名是有效的,所述输出模块将报告所述位图签名验证通过,如果所述步骤C’中经验证的所述位图签名是无效的,则所述输出模块报告所述位图签名错误;
如果所述步骤D’中经验证的所述数字签名是有效的,所述输出模块将报告所述数字签名验证通过,如果所述步骤E’中经验证的所述数字签名是无效的,则所述输出模块报告所述数字签名错误。
其中,所述数字签章验证过程的步骤F’具体为:
如果所述步骤C’中对所述位图签名的验证和所述步骤D’中对所述数字签名的验证均有效,则通过所述数字签章有效性的验证,并报告签章有效;
相应地,如果所述步骤C’中对所述位图签名的验证和所述步骤D’中对所述数字签名的验证,有一者不同过验证或两者均不通过,则不通过所述签章有效性的验证,并报告所述签章无效。
其中,所述报告的方式是以显示的方式输出结果,或以发声的方式输出结果,或以显示和发声结合的方式输出结果。
本发明通过在数字签章过程中分别对明文信息和位图进行签名的操作,确保了文档的安全性;又通过在数字签章验证过程中分别对位图签名和数字签名进行验证的操作,确保了文档的真实性,同时具有防篡改效力,本发明中数字签章过程和数字签章验证过程都为文档提供了双重保护,与原有技术相比,更能起到对文档保护的作用。
附图说明
图1是一种数字签章系统方框示意图;
图2是一种数字签章的生成方法流程图;
图2-1是图2中步骤302的细化流程图;
图2-2是图2中步骤305的细化流程图;
图3是与图2对应的数字签章的验证方法流程图;
图3-1是图3中步骤403的细化流程图;
图3-2是图3中步骤404的细化流程图;
图4是另一种数字签章系统方框示意图;
图5是另一种数字签章的生成方法流程图;
图5-1是图5中步骤702的细化流程图;
图5-2是图5中步骤705的细化流程图;
图6是与图5对应的数字签章的验证方法流程图;
图6-1是图6中步骤804的细化流程图;
图6-2是图6中步骤805的细化流程图;
图7是代替图6的另一种数字签章的验证方法流程图。
具体实施方式
本实施例提供了两种生成带数字签名水印的数字签章系统,数字签章系统A和数字签章系统B,两种数字签章系统的主要目的相同且有两个:第一目的是生成数字签章,第二目的是验证数字签章。为使发明内容更加清晰,下面结合实施例和附图来对本发明做进一步说明,但不作为对本发明的限定。
实施例1
图1,是本发明提供的一种数字签章系统A方框示意图,具体包括:数字签章生成装置1,数字签章验证装置2;
数字签章生成装置1,用于完成数字签章操作过程;
数字签章生成装置1具体包括:信息获取模块101,第一生成模块102,水印嵌入模块103,管理模块104,第二生成模块105,信息发送模块106,输出模块107。
信息获取模块101,用于获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
第一生成模块102,具体包括:第一信息获取单元201-1,第一签名单元101-2;
第一信息获取单元102-1,用于从信息获取模块101中获取签名所需要的用户私钥信息,还用于从文档中获取待签名的明文信息;
第一签名单元102-2,用于选中待签名的明文信息,用特定的加密算法对其进行计算得到密文信息,还用于使用用户私钥信息对密文信息进行签名操作,形成数字签名;所述特定的加密算法可以为散列算法。
水印嵌入模块103,用于使用水印算法将所述数字签名进行变化形成带有数字签名的水印信息;
管理模块104,具体包括:位图客户端管理单元104-1、位图获取单元104-2;
位图客户端管理单元104-1,用于管理验证通过的位图;
位图获取单元104-2,用于从位图客户端管理单元104-1中获取所需位图;
第二生成模块105,具体包括:第二信息获取单元105-1、水印添加单元105-2、第二签名单元105-3;
第二信息获取单元105-1,用于从信息获取模块101中获取用户私钥信息;
水印添加单元105-2,用于将水印嵌入模块103中的带有数字签名的水印信息添加到位图获取单元104-2获得的位图中,生成带有数字签名水印的位图信息;
第二签名单元105-3,用于对生成的带有数字签名水印的位图信息进行散列算法并进行签名操作,形成位图签名,完成数字签章过程;
信息发送模块106,用于将位图,明文信息,数字签名,位图签名和用户公钥信息发送到数字签章验证验证装置;
输出模块107,用于获取水印添加单元105-2中带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域。
数字签章验证装置2,用于对生成的数字签名和位图签名分别进行验证,方法是数字签章形成的逆过程;
数字签章验证装置2具体包括:验证信息获取模块201,用户信息提取模块202,第一验证模块203,第二验证模块204,验证报告输出模块205,第三验证模块206;
验证信息获取模块201,用于从信息发送模块106发送的数字签章信息中提取所要验证的所有信息,包括位图签名、数字签名、明文信息和位图;
用户信息提取模块202,用于获取从信息发送模块107发送的用户公钥信息;
第一验证模块203,具体包括:第一验证信息获取单元203-1,第一生成单元203-2,第一验证单元203-3;
第一验证信息获取单元203-1,用于获取验证信息获取模块201中的位图、位图签名和数字签名,还用于获取用户信息提取模块202中用户公钥信息;
第一生成单元203-2,具体包括:第一子单元203-2-1、第二子单元203-2-2;
第一子单元203-2-1,用于对第一验证信息获取单元203-1获取的数字签名添加水印算法形成新的带有数字签名的水印信息;还用于将此带有数字签名的水印信息添加到由第一验证信息获取单元203-1获取的位图中,形成带数字签名水印的位图信息,并用散列算法对此带数字签名的水印的位图信息进行计算,生成位图信息散列值1;
第二子单元203-2-2:用于使用获取用户信息提取模块202中的用户公钥信息对第一验证信息获取单元203-1获取的位图签名进行验证生成位图信息散列值2;
第一验证单元203-3:用于对第一子单元203-2-1和第二子单元203-2-2分别生成的位图信息散列值进行比较,通过比较得知位图签名是否有效从而得知位图是否被改动或者被替换;
第二验证模块204,具体包括:第二验证信息获取单元204-1,第二生成单元204-2、第二验证单元204-3;
第二验证信息获取单元204-1,用于获取验证信息获取模块201中的明文信息和数字签名,还用于获取用户信息提取模块202中的用户公钥信息;
第二生成单元204-2:具体包括:第三子单元204-2-1、第四子单元204-2-2;
第三子单元204-2-1:用于使用散列算法对第二验证信息获取单元204-1获取的明文信息进行计算生成密文信息1;
第四子单元204-2-2:用于使用第二验证信息获取单元204-1获取的用户公钥信息对第一验证信息获取单元204-1获取的数字签名进行验证得到密文信息2;
第二验证单元204-3:用于对第三子单元204-2-1和第四子单元204-2-2分别生成的密文信息进行比较,通过比较得知数字签名是否有效,从而得知明文信息是否被篡改;
验证报告输出模块205,具体包括:第一报告单元205-1,第二报告单元205-2;
第一报告单元205-1,用于显示位图签名验证的结果;
具体地,第一验证模块203对位图签名验证以后,如果验证结果通过则第一报单元块205-1显示验证通过,如果位图签名验证不通过则由第一报告模块205-1显示错误警告。
第二报告单元205-2,用于显示数字签名验证的结果;
具体地,第二验证模块205对数字签名进行验证以后,如果验证结果通过则第二报告单元205-2显示验证通过,如果数字签名验证不通过则由第二报告模块205-2显示错误警告。
第三验证模块206,用于验证数字签章结果的有效性;
具体地,当第一验证模块203验证位图签名和第二验证模块204验证数字签名都通过以后第三验证模块206验证签章有效,并显示签章有效性验证通过的报告;
相应的,当第一验证模块203验证位图签名和第二验证模块204验证数字签名一者不通过验证或者两者都不通过验证时第三验证模块206验证签章无效,并显示签章有效性验证错误的警告。
图2,是本实施例针对图1所示系统提供的一种生成带数字签名水印的数字签章生成方法的流程图,本实施例中,数字签章的过程分为两部分进行,第一部分是对明文信息进行数字签名,第二部分是利用数字签名结果和位图,完成对位图进行签名的操作,从而使得明文信息和位图都得到更好的保护,实现防伪、防篡改的效力,具体步骤如下:
步骤301:信息获取模块获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
步骤302:第一生成模块对明文信息进行签名操作,生成数字签名;
优选地,如图2-1所示步骤302具体包括:
步骤302-1:第一生成模块获取待签名的部分或者全部明文信息,并使用散列算法计算明文信息得到固定位数的密文信息;
其中,散列算法,即加密过程中无需使用密钥,输入明文信息后由直接经过加密算法处理成密文,加密后的数据是无法被解密,只有输入相同的明文信息经过相同的散列算法才能得到相同的密文信息;
步骤302-2:第一生成模块利用用户私钥信息对上述密文信息进行加密操作,生成密文信息的数字签名;
步骤303:水印嵌入模块为数字签名添加水印,具体为,
水印嵌入模块使用水印算法将步骤302中已经生成的数字签名进行变化形成带数字签名的水印信息;
其中,水印算法可以是多种算法,只要能保证信息的完整性即可。
步骤304:管理模块获取位图;
优选地,用户的位图可以从本地获取,经过合法性验证后方可以使用,对于从本地直接获取的位图分为两种:一种是存储于用户主机上的公章、个人签名或者图片,第二种是通过密钥设备传入用户主机的位图,例如,指纹,虹膜等带有生物特征的位图,其对该类位图的形成和验证均在智能密钥设备内完成无需在线验证,传入文档后可以直接使用;用户的位图可以通过网络途径获取,对于从网络上获取的位图要在线验证其合法性以后,存入到用户主机中才可以使用。
步骤305:第二生成模块生成位图签名;
优选地,如图2-2所示步骤305具体包括:
步骤305-1:第二生成模块添加步骤303中生成的水印信息到步骤304获取的位图中生成带有数字签名水印的位图信息;
步骤305-2:第二生成模块采用散列算法对上述的带有数字签名水印的位图信息进行计算,生成位图信息散列值;
在步骤305-2中,散列算法可以是信息摘要5算法、哈希算法、或者其他的散列算法,散列算法是单向的加密过程是不可逆的过程,只有输入相同的位图文件经过相同的散列算法才能得到相同的散列值。
步骤305-3:第二生成模块使用用户私钥信息对步骤305-2中生成的位图散列值进行加密操作,生成位图签名;
其中,带有数字签名水印的位图信息则作为数字签章的图标用于显示。
步骤306:信息发送模块将签章信息发送给数字签章验证装置,签章信息具体包括明文信息,数字签名,位图,位图签名和用户公钥信息;
步骤307:输出模块在指定区域内显示数字签章的图标;
优选地,输出模块将生成的带有数字签名水印的位图信息做为数字签章的图标添加到文档控件中,并在某一区域内显示数字签章的图标;
其中,数字签章的图标绑定了明文信息、用户信息、位图和数字签名的结果,提高了文档的安全性。
图3,是本实施例针对图2提供的一种数字签章的生成方法对应的验证方法流程图,通过分别对位图签名和数字签名分别进行验证的方法来实现的,更好的验证了数字签章的有效性和用户的真实性,具体步骤如下:
步骤401:验证信息获取模块获取验证信息;
具体地,信息获取模块从信息发送模块发送的数字签章信息中获取所有待验证的信息,具体包括位图签名、数字签名、明文信息和位图;
步骤402:用户信息提取模块获取用户公钥信息;
步骤403:第一验证模块验证位图签名;
优选地:如图3-1所示步骤403具体包括:
步骤403-1:第一验证模块获取验证信息获取模块中的数字签名后,使用水印算法将该数字签名进行变化,形成带数字签名的水印信息;
步骤403-2:第一验证模块获取验证信息获取模块中的位图,并将上述水印信息添加到该位图中,生成带数字签名水印的位图信息,并用散列算法对所述位图信息进行计算生成位图信息散列值1;
步骤403-3:第一验证模块获取验证信息获取模块中的位图签名,利用用户公钥信息对该位图签名进行验证,得到位图信息散列值2;
步骤403-4:第一验证模块将对位图信息散列值1和位图信息散列值2进行比较,并判断比较结果是否一致,如果比较结果一致则证明位图没被篡改,如果比较结果不一致则证明位图签名无效即该位图有信息丢失或者被篡改,验证完毕后执行步骤405;
步骤404:第二验证模块验证数字签名:
优选地,如图3-2所示步骤404具体包括:
步骤404-1:第二验证模块获取验证信息获取模块中的明文信息,用特定加密算法对该明文信息进行加密得到密文信息1,所述特定加密算法可以是散列算法;
步骤404-2:第二验证模块获取验证信息获取模块中的数字签名,利用用户公钥信息对该数字签名进行验证,得到密文信息2;
步骤404-3:第二验证模块对密文信息1与密文信息2进行比较,并判断比较结果是否一致,如果比较结果一致则证明明文信息是完整的,即所验证的数字签名是有效的,如果比较结果不一致则证明明文信息有遗漏或者被篡改,即所验证的数字签名是无效的,验证完毕后执行步骤405;所述步骤403和步骤404的顺序可以调换。
步骤405:验证报告输出模块显示验证结果;
优选地:如果步骤403中经验证的位图签名是有效的,则签章验证报告模块将显示位图签名验证通过的报告,如果步骤403中经验证的位图签名是无效的,则签章验证报告模块显示位图签名错误的警告;
相应地,如果步骤404中经验证的数字签名是有效的,签章验证报告模块将显示数字签名验证通过的报告,如果步骤404中经验证的数字签名是无效的,则签章验证报告模块显示数字签名错误的警告;
步骤406:第三验证模块验证数字签章的有效性;
优选地,如果步骤403中对位图签名的验证和步骤404中对数字签名的验证均有效则通过数字签章有效性的验证,并显示签章有效;
相应地,如果步骤403中对位图签名的验证和步骤404中对数字签名的验证,有一者不通过验证或两者均不通过,则不通过签章有效性的验证,并显示签章无效。
实施例2
图4,是本发明提供的第二种数字签章系统B的方框示意图,具体包括:数字签章生成装置5,数字签章验证装置6;
数字签章生成装置5,用于完成数字签章操作过程;
数字签章生成装置5,具体包括:信息获取模块501、第一生成模块502,水印嵌入模块503,管理模块504,第二生成模块505,信息发送模块506,输出模块507;
信息获取模块501:用于获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
第一生成模块502,具体包括:第一信息获取单元502-1,第一签名单元502-2;
第一信息获取单元502-1,用于获取从信息获取模块501中的签名所需要的用户私钥信息,还用于从文档中获取待签名的明文信息;
第一签名单元502-2,用于选中待签名的明文信息,用特定的加密算法对其进行计算得到密文信息,还用于使用用户私钥信息对密文信息进行签名操作,形成数字签名;所述特定的加密算法可以为散列算法。
水印嵌入模块503,用于使用水印算法将上述数字签名进行变化,形成带有数字签名的水印信息;
管理模块504,具体包括:位图客户端管理单元504-1、位图获取单元504-2;
位图客户端管理单元504-1,用于管理验证通过的位图;
位图获取单元504-2,用于从位图客户端管理单元504-1中获取所需位图;
第二生成模块505,具体包括:第二信息获取单元第一信息获取单元505-1、水印添加单元505-2、第二签名单元505-3;
第二信息获取单元505-1,用于从信息获取模块501中的获取所述用户私钥信息;
水印添加单元505-2,用于将水印嵌入模块503生成的带有数字签名的水印信息添加到位图获取单元504-2获取的位图中,生成带有数字签名水印的位图信息;
第二签名单元505-3,用于对生成的带有数字签名水印的位图信息进行散列算法并进行签名操作,形成位图签名,完成数字签章过程;
信息发送模块506,用于将明文信息,带有数字签名水印的位图信息、位图签名和用户公钥信息的数字签章信息发送给数字签章验证装置,或用于将位图、明文信息,带有数字签名水印的位图信息、位图签名和用户公钥信息发送给数字签章验证装置;
输出模块507,用于获取水印添加单元505-2中带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域。
数字签章验证装置6,用于对生成的数字签名和位图签名分别进行验证,方法是数字签章形成的逆过程;
数字签章验证装置6具体包括:验证信息获取模块601,信息获取模块602,水印提取模块603,第一验证模块604,第二验证模块605,验证报告输出模块606,第三验证模块607。
验证信息获取模块601,用于从信息发送模块506发送的数字签章信息中获取所有验证信息,包括位图签名、带有数字签名水印的位图信息、明文信息,或用于从信息发送模块506发送的数字签章信息中获取所有验证信息,包括位图签名、带有数字签名水印的位图信息、明文信息和位图;
用户信息提取模块602,用于获取信息发送模块506发送的用户公钥信息;
水印提取模块603,用于将验证信息获取模块601中的带有数字签名水印的位图信息进行分离操作得到位图和带有数字签名的水印信息,还用于提取该带有数字签名的水印信息中的水印,得到数字签名;
第一验证模块604,具体包括:第一验证信息获取单元604-1,第一生成单元604-2,第一验证单元604-3;
第一验证信息获取单元604-1,用于获取验证信息获取模块601中的位图签名、带有数字签名水印的位图信息和信息获取模块602中的用户公钥信息,或用于获取水印提取模块603中的带有数字签名的水印信息、验证信息获取模块601中的位图和位图签名,还用于获取信息获取模块602中用户公钥信息;
第一生成单元604-2,具体包括:第一子单元604-2-1、第二子单元604-2-2;
第一子单元604-2-1,用于使用散列算法对验证信息获取模块601中的带有数字签名水印的位图信息进行计算生成位图信息散列值1,或用于将第一验证信息获取单元604-1中带有数字签名的水印信息添加到由第一验证信息获取单元604-1获取的位图中形成新的带数字签名水印的位图信息,并用散列算法对此新的带数字签名的水印的位图信息进行计算,生成位图信息散列值1’;
第二子单元604-2-2:用于对第一验证信息获取单元604-1获取的位图签名进行验证生成位图信息散列值2;
第一验证单元603-4:用于对第一子单元604-2-1和第二子单元604-2-2分别生成的位图信息散列值(1和2或1’和2)进行比较,通过比较得知位图签名是否有效从而得知位图是否被改动或者被替换;
第二验证模块605,具体包括:第二验证信息获取单元605-1,第二生成单元605-2、第二验证单元605-3;
第一验证信息获取单元605-1,用于获取水印提取模块603中的数字签名,用于获取验证信息获取模块601中的明文信息,还用于获取信息获取模块602中的用户公钥信息;
第一生成单元605-2:具体包括:第三子单元605-2-1、第四子单元605-2-2;
第三子单元605-2-1:用于使用特定加密算法对第一验证信息获取单元605-1获取的明文信息进行计算生成密文信息1;
第四子单元605-2-2:用于使用用户公钥信息对第一验证信息获取单元605-1获取的数字签名进行验证得到密文信息2;
第二验证单元605-3:用于对第三子单元605-2-1和第四子单元605-2-2分别生成的密文信息进行比较,通过比较得知数字签名是否有效,从而得知明文信息是否被篡改;
验证报告输出模块606,具体包括:第一报告单元606-1,第二报告单元606-2;
第一报告单元606-1,用于显示位图签名验证的结果;
具体地,第一验证模块604对位图签名验证以后,如果验证结果通过则第一报告单元606-1显示验证通过,如果位图签名验证不通过则由第一报告单元606-1显示错误警告。
第二报告单元606-2,用于显示数字签名验证的结果;
具体地,第二验证模块605对数字签名进行验证以后,如果验证结果通过则第二报告单元606-2显示验证通过,如果数字签名验证不通过则由第二报告单元606-2显示错误警告。
第三验证模块607,用于验证数字签章结果的有效性;
具体地,当第一验证模块604验证位图签名和第二验证模块605验证数字签名都通过以后第三验证模块607验证签章有效,并显示签章有效性验证通过的报告;
相应的,当第一验证模块604验证位图签名和第二验证模块605验证数字签名一者不通过验证或者两者都不通过验证时第三验证模块607验证签章无效,并显示签章有效性验证错误的警告。
图5,是本实施例针对图4所示数字签章系统提供的数字签章生成方法流程图,本实施例中,数字签章的过程分为两部分进行,第一部分是对明文信息进行数字签名,第二部分是利用数字签名结果和位图,完成对位图进行签名的操作,从而使得明文信息和位图都得到更好的保护,实现防伪、防篡改的效力,具体步骤如下:
步骤701:信息获取模块获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
步骤702:第一生成模块对明文信息进行签名操作,生成数字签名;
优选地,如图5-1所示步骤702具体包括:
步骤702-1:第一生成模块获取待签名的部分或者全部明文信息,并使用散列算法计算明文得信息得到固定位数的密文信息;
其中,散列算法,即加密过程中无需使用密钥,输入明文信息后由直接经过加密算法处理成密文,加密后的数据是无法被解密,只有输入相同的明文信息经过相同的散列算法才能得到相同的密文信息;
步骤702-2:第一生成模块使用用户私钥信息对上述密文信息进行加密操作,生成密文信息的数字签名;
步骤703:水印嵌入模块为数字签名添加水印,具体为,
水印嵌入模块使用水印算法将步骤702中已经生成的数字签名进行变化,形成带数字签名的水印信息;
其中,水印算法可以是多种算法,但如果要对水印算法进行提取则水印算法必须是无损水印算法,以保证提取信息的时候不产生水印残余信息,保证提取出来的信息的完整性。
步骤704:管理模块获取位图;
优选地,用户的位图可以从本地获取,经过合法性验证后方可以使用,对于从本地直接获取的位图分为两种:一种是存储于用户主机上的公章、个人签名或者图片,第二种是通过密钥设备传入用户主机的位图,例如,指纹,虹膜等带有生物特征的位图,其对该类位图的形成和验证均在智能密钥设备内完成无需在线验证,传入文档后可以直接使用;用户的位图可以通过网络途径获取,对于从网络上获取的位图要在线验证其合法性以后,存入到用户主机中才可以使用。
步骤705:第二生成模块生成位图签名;
优选地,如图5-2所示步骤705具体包括:
步骤705-1:第二生成模块添加步骤703中生成的水印信息到该位图中生成带有数字签名水印的位图信息;
步骤705-2:第二生成模块采用散列算法对上述的带有数字签名水印的位图信息进行计算,生成位图信息散列值;
在步骤705-2中,散列算法可以是信息摘要5算法、哈希算法、或者其他的散列算法,散列算法是单向的加密过程是不可逆的过程,只有输入相同的位图文件经过相同的散列算法才能得到相同的散列值。
步骤705-3:第二生成模块使用用户私钥对步骤705-2中生成的位图散列值进行加密操作,生成位图签名;
其中,带有数字签名水印的位图信息则作为数字签章的图标用于显示。
步骤706:信息发送模块将明文信息,带有数字签名水印的位图信息,位图签名和用户公钥信息发送给数字签章验证装置;
为确保验证位图签名的安全性,步骤706也可以替换为步骤706’:信息发送模块将明文信息,带有数字签名水印的位图信息,位图,位图签名和用户公钥信息发送给数字签章验证装置。
步骤707:输出模块在指定区域内显示数字签章的图标;
优选地,输出模块将生成的带数字签名水印的位图信息做为数字签章的图标添加文档控件中,并在某一区域内显示数字签章的图标;
图6,是本实施例提供的与图5对应的数字签章的验证方法流程图,通过对位图签名和数字签名分别进行验证的方法来实现的,更好的验证了数字签章的有效性和用户的真实性,具体步骤如下:
步骤801:验证信息获取模块获取验证信息;
优选地,信息获取模块从发给数字签章验证装置的数字签章信息中获取所有信息,具体包括位图签名、带有数字签名水印的位图信息、明文信息;
步骤802:用户信息提取模块获取用户公钥信息;
步骤803:水印提取模块提取水印算法;
具体地:水印提取模块将验证信息获取模块中的带有数字签名水印的位图信息进行分离,得到带数字签名的水印信息和位图;并从带有数字签名的水印信息中提取水印算法,得到数字签名,由于水印算法是无损水印算法,故得到的数字签名是完整的;
步骤804:第一验证模块验证位图签名;
优选地:如图6-1所示步骤804具体包括:
步骤804-1:第一验证模块将验证信息获取模块中的带有数字签名水印的位图信息用散列算法进行计算生成位图信息散列值1;
步骤804-2:第一验证模块获取验证信息获取模块中的位图签名,利用用户公钥信息对该位图签名进行验证,得到位图信息散列值2;
步骤804-3:第一验证模块将对位图信息散列值1和位图信息散列值2进行比较,并判断比较结果是否一致,如果比较结果一致则证明位图未被篡改,如果比较结果不一致则证明位图签名无效即该位图有信息丢失或者被篡改,验证完毕后执行步骤806;
步骤805:第二验证模块验证数字签名:
优选地,如图6-2所示步骤805具体包括:
步骤805-1:第二验证模块获取验证信息获取模块中的明文信息,用特定加密算法对该明文信息进行加密得到密文信息1,该特定加密算法可采用散列算法;
步骤805-2:第二验证模块获取水印提取模块中的数字签名,利用用户公钥信息对该数字签名进行验证,得到密文信息2;
步骤805-3:第二验证模块将密文信息1与密文信息2进行比较,并判断比较结果是否一致,如果比较结果一致则证明明文信息是完整的,即所验证的数字签名是有效的,如果比较结果不一致则证明明文信息有遗漏或者被篡改,即所验证的数字签名是无效的,验证完毕后执行步骤806;其中步骤804和步骤805的顺序可调换。
步骤806:验证报告输出模块显示验证结果;
优选地:如果步骤804中经验证的位图签名是有效的,则签章验证报告模块将显示位图签名验证通过的报告,如果步骤804中经验证的位图签名是无效的,则签章验证报告模块显示位图签名错误的警告;
如果步骤805中经验证的数字签名是有效的,签章验证报告模块将显示数字签名验证通过的报告,如果步骤805中经验证的数字签名是无效的,则签章验证报告模块显示数字签名错误的警告;
步骤807:第三验证模块验证数字签章的有效性;
优选地,如果步骤804中对位图签名的验证和步骤805中对数字签名的验证均有效则通过数字签章有效性的验证,并显示签章有效;
如果步骤804中对位图签名的验证和步骤805中对数字签名的验证,有一者不通过验证或两者均不通过,则不通过签章有效性的验证,并显示签章无效。
为避免上述验证方法中获取的位图签名和位图信息在传送过程中被修改,增加位图签名验证的安全性,数字签章还可以用如图7所示的方法进行验证:
步骤801’:验证信息获取模块获取验证信息;
优选地,信息获取模块从发给数字签章验证装置的数字签章信息中获取所有待验证信息,具体包括位图签名、带有数字签名水印的位图信息、明文信息和位图。
步骤802’:信息获取模块获取用户公钥信息;
步骤803’:水印提取模块提取水印算法;
具体地:水印提取模块将验证信息获取模块中的带有数字签名水印的位图信息进行分离,得到带数字签名的水印信息和位图;并从带有数字签名的水印信息中提取水印算法,得到数字签名,由于水印算法是无损水印算法,故得到的数字签名是完整的;
步骤804’:第一验证模块验证位图签名;
优选地:步骤804具体包括:
步骤804’-1:第一验证模块获取水印提取模块中的带数字签名的水印信息和验证信息获取模块中的位图;
步骤804’-2:第一验证模块将上述带数字签名的水印信息和位图进行叠加,生成带数字签名水印的位图信息,并用散列算法对所述位图信息进行计算生成位图信息散列值1;
步骤804’-3:第一验证模块获取验证信息获取模块中的位图签名,利用用户公钥信息对该位图签名进行验证,得到位图信息散列值2;
步骤804’-4:第一验证模块将对位图信息散列值1和位图信息散列值2进行比较,如果比较结果一致则证明位图未被篡改,如果比较结果不一致则证明位图签名无效即该位图有信息丢失或者被篡改,验证完毕后执行步骤806;
步骤805’:第二验证模块验证数字签名:
优选地,步骤805’具体包括:
步骤805’-1:第二验证模块获取验证信息获取模块中的明文信息,用特定加密算法(如散列算法)对该明文信息进行加密得到密文信息1;
步骤805’-2:第二验证模块获取水印提取模块中的数字签名,利用用户公钥信息对该数字签名进行验证,得到密文信息2;
步骤805’-3:第二验证模块将密文信息1与-密文信息2进行比较,如果比较结果一致则证明明文信息是完整的,即所验证的数字签名是有效的,如果比较结果不一致则证明明文信息有遗漏或者被篡改,即所验证的数字签名是无效的,验证完毕后执行步骤806’;其中步骤804’和步骤805’的顺序可调换。
步骤806’:验证报告输出模块显示验证结果;
优选地:如果步骤804’中经验证的位图签名是有效的,则签章验证报告模块将显示位图签名验证通过的报告,如果步骤804’中经验证的位图签名是无效的,则签章验证报告模块显示位图签名错误的警告;
如果步骤805’中经验证的数字签名是有效的,签章验证报告模块将显示数字签名验证通过的报告,如果步骤805’中经验证的数字签名是无效的,则签章验证报告模块显示数字签名错误的警告;
步骤807’:第三验证模块验证数字签章的有效性;
优选地,如果步骤804’中对位图签名的验证和步骤805’中对数字签名的验证均有效则通过数字签章有效性的验证,并显示签章有效;
如果步骤804’中对位图签名的验证和步骤805’中对数字签名的验证,有一者不通过验证或两者均不通过,则不通过签章有效性的验证,并显示签章无效。
本发明通过在数字签章过程中分别对明文信息和位图进行签名的操作,确保了文档的安全性;又通过在数字签章验证过程中分别对位图签名和数字签名进行验证的操作,确保了文档的真实性,同时具有防篡改效力,本发明中数字签章过程和数字签章验证过程都为文档提供了双重保护,与原有技术相比,更能起到对文档保护的作用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (29)

1.一种数字签章系统,包括数字签章生成装置和数字签章验证装置,其特征在于:
所述数字签章生成装置用于完成数字签章操作过程,其包括:信息获取模块、第一生成模块、水印嵌入模块、管理模块、第二生成模块、信息发送模块和输出模块;
所述信息获取模块,用于获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
所述第一生成模块,用于获取明文信息并对其进行签名操作,生成数字签名;
所述水印嵌入模块,用于使用水印算法将所述数字签名进行变化形成带有数字签名的水印信息;
所述管理模块,用于管理和获取验证通过的位图;
所述第二生成模块,用于对所述带有数字签名的水印信息和所述位图进行操作,生成带有数字签名水印的位图信息,并对其进行签名操作,生成位图签名;
所述信息发送模块,用于将所述位图、所述明文信息、待验证数字签名信息、所述位图签名和所述信息获取模块中的用户公钥信息发送给所述数字签章验证装置,所述的待验证数字签名信息为第一生成模块中的数字签名或所述第二生成模块中的带有数字签名水印的位图信息;
所述输出模块,用于将所述第二生成模块生成的带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域;
所述数字签章验证装置用于对数字签章生成装置所生成的数字签名和位图签名分别进行验证,其包括:验证信息获取模块、用户信息提取模块、第一验证模块、第二验证模块、验证报告输出模块和第三验证模块;
所述验证信息获取模块,用于获取所述信息发送模块发送的部分信息,包括所述位图、所述明文信息、所述位图签名和所述待验证数字签名信息,该待验证数字签名信息为第一生成模块中的数字签名或所述第二生成模块中的带有数字签名水印的位图信息;
所述用户信息提取模块,用于获取所述信息发送模块发送的用户公钥信息;
所述第一验证模块,用于对位图签名进行验证;
所述第二验证模块,用于对数字签名进行验证;
所述验证报告输出模块,用于分别报告所述第一验证模块和所述第二验证模块的验证结果;
所述第三验证模块,用于验证所述数字签章是否合法有效。
2.根据权利要求1所述的数字签章系统,其特征在于,所述第一生成模块包括:第一信息获取单元和第一签名单元,
所述第一信息获取单元用于从文档中获取待签名的明文信息并从信息获取模块中获取用户私钥信息;
所述第一签名单元用于选中所述第一信息获取单元中的待进行签名的全部或者部分明文信息,用散列算法计算得到密文信息,然后使用所述第一信息获取单元中获得的用户私钥信息对该密文信息进行签名操作,生成数字签名。
3.根据权利要求2所述的数字签章系统,其特征在于,所述管理模块包括位图客户端管理单元和位图获取单元,位图客户端管理单元用于管理验证通过的位图,位图获取单元用于从所述位图客户端管理单元中获取所需位图。
4.根据权利要求3所述的数字签章系统,其特征在于,所述位图为存储于用户主机上的公章、个人签名、图片或具有生物特征的指纹、虹膜。
5.根据权利要求3所述的数字签章系统,其特征在于,所述第二生成模块包括:第二信息获取单元、水印添加单元和第二签名单元,
所述第二信息获取单元用于获取信息获取模块中的用户私钥信息;
所述水印添加单元用于将所述水印嵌入模块生成的带有数字签名的水印信息添加到所述位图获取单元获得的位图中,生成带有数字签名水印的位图信息;
所述第二签名单元,用于对所述水印添加单元中生成的带有数字签名水印的位图信息进行散列算法,生成位图信息散列值,然后再使用第二信息获取单元获取的用户私钥信息对该位图信息散列值进行签名操作,形成位图签名。
6.根据权利要求5所述的数字签章系统,其特征在于,所述待验证数字签名信息为所述第二生成模块中的带有数字签名水印的位图信息,所述数字签章验证装置还包括水印提取模块,其用于将所述验证信息获取模块中的带有数字签名的位图信息进行分离操作,得到位图和带有数字签名的水印信息,而后再提取所述带有数字签名的水印信息中的水印,得到数字签名。
7.根据权利要求6所述的数字签章系统,其特征在于,所述第一验证模块包括:第一验证信息获取单元、第一生成单元和第一验证单元,
所述第一验证信息获取单元,用于获取所述验证信息获取模块中的位图、位图签名、所述用户信息提取模块中的用户公钥信息和所述水印提取模块中的水印信息;
所述第一生成单元包括:第一子单元和第二子单元;
所述第一子单元,用于将第一验证信息获取单元中的水印信息添加到所述第一验证信息获取单元所获取的位图中,形成新的带数字签名水印的位图信息,并用散列算法对此新的带数字签名水印的位图信息进行计算,生成位图信息散列值;
所述第二子单元,用于使用所述第一验证信息获取单元中的用户公钥信息对其获取的位图签名进行验证,生成另一位图信息散列值;
所述第一验证单元:用于对所述第一子单元和所述第二子单元分别生成的位图信息散列值进行比较,通过比较得知所述位图签名是否有效从而得知位图是否被改动或者被替换。
8.根据权利要求7所述的数字签章系统,其特征在于,所述第二验证模块包括:第二验证信息获取单元、第二生成单元和第二验证单元;
所述第二验证信息获取单元,用于获取所述验证信息获取模块中的明文信息、用户信息提取模块中的用户公钥信息和所述水印提取模块中的数字签名;
所述第二生成单元包括:第三子单元和第四子单元,
所述第三子单元,用于用散列算法对所述第二验证信息获取单元获取的明文信息进行计算生成密文信息;
所述第四子单元,用于使用第二验证信息获取单元中的用户公钥信息对其获取的数字签名进行验证得到另一密文信息;
所述第二验证单元,用于对所述第三子单元和所述第四子单元分别生成的密文信息进行比较,通过比较得知所述数字签名是否有效,从而得知所述明文信息是否被篡改。
9.根据权利要求5所述的数字签章系统,其特征在于,所述待验证数字签名信息为第一生成模块中的数字签名,所述第一验证模块包括:第一验证信息获取单元、第一生成单元和第一验证单元,
所述第一验证信息获取单元,用于获取所述验证信息获取模块中的位图、数字签名、位图签名和所述用户信息提取模块中的用户公钥信息;
所述第一生成单元包括:第一子单元和第二子单元;
所述第一子单元,用于对所述第一验证信息获取单元获取的数字签名添加水印算法形成新的带有数字签名的水印信息,然后将此新的水印信息添加到由第一验证信息获取单元获取的位图中,形成新的带数字签名水印的位图信息,并用散列算法对此新的带数字签名水印的位图信息进行计算,生成位图信息散列值;
所述第二子单元,用于使用所述第一验证信息获取单元中的用户公钥信息对其获取的位图签名进行验证,生成位图信息散列值;
所述第一验证单元:用于对所述第一子单元和所述第二子单元分别生成的位图信息散列值进行比较,通过比较得知所述位图签名是否有效从而得知位图是否被改动或者被替换。
10.根据权利要求9所述的数字签章系统,其特征在于,所述第二验证模块包括:第二验证信息获取单元、第二生成单元和第二验证单元;
所述第二验证信息获取单元,用于获取所述验证信息获取模块中的明文信息和数字签名,还用于获取所述用户信息提取模块中的用户公钥信息;
所述第二生成单元包括:第三子单元和第四子单元;
所述第三子单元,用于用散列算法对所述第二验证信息获取单元获取的明文信息进行计算生成密文信息;
所述第四子单元,用于使用第二验证信息获取单元中的用户公钥信息对其获取的数字签名进行验证得到另一密文信息;
所述第二验证单元,用于对所述第三子单元和所述第四子单元分别生成的密文信息进行比较,通过比较得知所述数字签名是否有效,从而得知所述明文信息是否被篡改。
11.根据权利要求2-10任意一项所述的数字签章系统,其特征在于,所述散列算法是信息摘要5算法或哈希算法。
12.根据权利要求8或10所述的数字签章系统,其特征在于,所述验证报告输出模块包括:第一报告单元和第二报告单元;
所述第一报告单元,用于报告所述第一验证模块对所述位图签名验证的结果,如果位图签名验证结果通过则所述第一报告单元报告验证通过,如果所述位图签名验证不通过则由所述第一报告单元报告验证错误;
所述第二报告单元,用于报告所述第二验证模块对所述数字签名验证的结果,如果数字签名验证结果通过则所述第二报告单元报告验证通过,如果所述数字签名验证不通过则由所述第二报告单元报告验证错误。
13.根据权利要求12所述的数字签章系统,其特征在于,所述第三验证模块,用于验证数字签章的有效性,
当所述第一验证模块验证所述位图签名和所述第二验证模块验证所述数字签名都通过,所述第三验证模块验证所述数字签章有效,并报告签章有效;
当所述第一验证模块验证所述位图签名和所述第二验证模块验证所述数字签名一者不通过验证或者两者都不通过验证,所述第三验证模块验证所述签章无效,并报告签章无效。
14.根据权利要求13所述的数字签章系统,其特征在于,所述报告签章有效,具体包括,显示签章有效性验证通过的报告;
所述报告签章无效,具体包括,显示签章有效性验证错误的警告。
15.一种数字签章的方法,包括数字签章生成过程和数字签章验证过程,其特征在于,所述数字签章生成过程包括生成数字签名和生成位图签名两部分,包括下列步骤:
步骤A:信息获取模块获取用户密钥信息,所述用户密钥信息包括用户公钥信息和用户私钥信息;
步骤B:第一生成模块对明文信息进行签名操作,生成数字签名;
步骤C:水印嵌入模块使用水印算法将步骤B中已经生成的数字签名进行变化形成带数字签名的水印信息;
步骤D:管理模块获取位图;
步骤E:第二生成模块对步骤C中的水印信息和步骤D中的位图进行操作形成位图信息,然后再对该位图信息进行签名,生成位图签名;
步骤F:信息发送模块将数字签章信息发送给验证信息获取模块进行验证,还将用户公钥信息发送给用户信息提取模块;
步骤G:输出模块显示数字签章的图标;
所述数字签章验证过程包括对位图签名的验证和对数字签名的验证,包括下列步骤:
步骤A’:验证信息获取模块获取所述数字签章信息;
步骤B’:用户信息提取模块获取所述用户公钥信息;
步骤C’:第一验证模块验证所述位图签名;
步骤D’:第二验证模块验证所述数字签名;
步骤E’:验证报告输出模块报告所述第一验证模块和所述第二验证模块的验证结果;
步骤F’:第三验证模块验证数字签章的有效性。
16.根据权利要求15所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤B具体为:所述第一生成模块用散列算法对所述明文信息进行计算生成密文信息,再使用所述步骤A中获取的用户私钥信息对所述密文信息进行签名操作,形成数字签名。
17.根据权利要求16所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤D中的位图包括存储于用户主机上的公章、个人签名、图片或具有生物特征的指纹、虹膜。
18.根据权利要求16所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤E具体为:所述第二生成模块将所述步骤C中的带数字签名的水印信息添加到所述步骤D中的位图中生成带数字签名水印的位图信息,再使用所述用户私钥信息对所述位图信息进行签名形成位图签名。
19.根据权利要求18所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤G具体为:输出模块将所述第二生成模块生成的带有数字签名水印的位图信息添加到文档控件中作为数字签章的图标显示在指定区域。
20.根据权利要求19所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤D和数字签章验证过程的步骤A’中的数字签章信息包括:所述明文信息、所述带有数字签名水印的位图信息和位图签名。
21.根据权利要求20所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤C’具体为:
步骤C1’:所述第一验证模块将所述步骤A’中的带数字签名水印的位图信息进行计算生成位图信息散列值;
步骤C2’:所述第一验证模块获取步骤A’中的位图签名,并用所述步骤B’中获取的用户公钥信息对所述位图签名进行验证操作,得到另一位图信息散列值;
步骤C3’:所述第一验证模块对步骤C2’和步骤C3’分别得到的两个位图信息进行比较,如果比较结果一致则证明所述位图是可信的,即所验证的所述位图签名是有效的,如果比较结果不一致则证明所述位图签名无效即所述位图签名有信息丢失或者被篡改。
22.根据权利要求21所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤D’具体为:
步骤D1’:水印提取模块将所述步骤A’中的带有数字签名的位图信息进行分离操作,得到位图和带有数字签名的水印信息,而后再提取所述带有数字签名的水印信息中的水印,得到数字签名;
步骤D2’:所述第二验证模块获取所述步骤A’中的明文信息,再用散列算法对所述明文信息进行加密,得到密文信息;
步骤D3’:所述第二验证模块再使用步骤B’中获取的用户公钥信息对所述步骤D1’中的数字签名进行验证操作,得到另一密文信息;
步骤D4’:所述第二验证模块将得到的两个密文信息进行比较,如果比较结果一致则证明所述明文信息是完整的,即所述数字签名是有效的,如果比较结果不一致则证明所述数字签名无效即所述明文信息有遗漏或者被篡改。
23.根据权利要求19所述的数字签章的方法,其特征在于,所述数字签章生成过程的步骤D和数字签章验证过程的步骤A’中的数字签章信息包括:所述明文信息、所述位图、所述数字签名和所述位图签名。
24.根据权利要求23所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤C’具体为:
首先所述第一验证模块获取步骤A’中的所述数字签名和位图,将该数字签名做为载体嵌入到水印算法中,形成新的带数字签名的水印信息;然后将该新的带数字签名的水印信息添加到获得的位图中,生成新的带数字签名水印的位图信息,并用散列算法对新的位图信息进行计算生成位图信息散列值;
其次所述第一验证模块获取步骤A’中的位图签名,并用步骤B’中的所述用户公钥信息对该位图签名进行解密操作,生成另一位图信息散列值;
最后所述第一验证模块将对生成的两个位图信息散列值进行比较,如果比较结果一致则证明所述位图是可信的,即所验证的所述位图签名是有效的,如果比较结果不一致则证明所述位图签名无效即所述位图有信息丢失或者被篡改。
25.根据权利要求24所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤D’具体为:
首先所述第二验证模块获取所述步骤A’中的明文信息,再用散列算法对该明文信息进行加密,得到密文信息;
其次所述第二验证模块使用步骤B’中获取的用户公钥信息对所述步骤A’中获取的数字签名进行验证操作,得到另一密文信息;
最后所述第二验证模块将得到的两个密文信息进行比较,如果比较结果一致则证明所述明文信息是完整的,即所述数字签名是有效的,如果比较结果不一致则证明所述数字签名无效即所述明文信息有遗漏或者被篡改。
26.根据权利要求16-25任意一项所述的数字签章的方法,其特征在于,所述散列算法是信息摘要5算法或哈希算法。
27.根据权利要求22或25所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤E’具体为:
如果所述步骤C’中经验证的所述位图签名是有效的,所述输出模块将报告所述位图签名验证通过,如果所述步骤C’中经验证的所述位图签名是无效的,则所述输出模块报告所述位图签名错误;
如果所述步骤D’中经验证的所述数字签名是有效的,所述输出模块将报告所述数字签名验证通过,如果所述步骤E’中经验证的所述数字签名是无效的,则所述输出模块报告所述数字签名错误。
28.根据权利要求27所述的数字签章的方法,其特征在于,所述数字签章验证过程的步骤F’具体为:
如果所述步骤C’中所述位图签名和所述步骤D’中所述数字签名均有效,则所述数字签章有效,并报告签章有效;
相应地,如果所述步骤C’中所述位图签名和/或所述步骤D’中所述数字签名无效,则所述数字签章无效,并报告签章无效。
29.根据权利要求28所述的数字签章的方法,其特征在于,
所述报告签章有效,具体包括,显示签章有效;
所述报告签章无效,具体包括,显示签章无效。
CN201110079899.7A 2011-03-31 2011-03-31 一种数字签章系统和方法 Active CN102164037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110079899.7A CN102164037B (zh) 2011-03-31 2011-03-31 一种数字签章系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110079899.7A CN102164037B (zh) 2011-03-31 2011-03-31 一种数字签章系统和方法

Publications (2)

Publication Number Publication Date
CN102164037A CN102164037A (zh) 2011-08-24
CN102164037B true CN102164037B (zh) 2014-04-30

Family

ID=44465028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110079899.7A Active CN102164037B (zh) 2011-03-31 2011-03-31 一种数字签章系统和方法

Country Status (1)

Country Link
CN (1) CN102164037B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9935775B2 (en) 2011-10-13 2018-04-03 International Business Machines Corporation Deterring information copying including deterrence of currency counterfeiting
US9838870B2 (en) * 2015-03-25 2017-12-05 Juniper Networks, Inc. Apparatus and method for authenticating network devices
CN105740609A (zh) * 2016-01-26 2016-07-06 深圳市科曼医疗设备有限公司 医疗诊断电子报告生成方法和系统
CN105827692A (zh) * 2016-03-10 2016-08-03 阿里巴巴集团控股有限公司 一种消息推送方法和装置
CN107292149A (zh) * 2016-04-11 2017-10-24 上海建朗信息科技有限公司 平板电脑虹膜签章系统
CN106375092A (zh) * 2016-08-25 2017-02-01 杭州天谷信息科技有限公司 一种面向隐私保护的数字证书签名方法
CN106549766A (zh) * 2016-10-25 2017-03-29 中国建设银行股份有限公司 一种评估报告的处理方法及相关设备
CN106503527A (zh) * 2016-10-28 2017-03-15 上海创功通讯技术有限公司 一种电子文档指纹签名的方法和装置
CN108416569B (zh) * 2018-02-27 2022-03-22 珠海市测绘院 一种测绘成果的验证方法及系统
CN108681587B (zh) * 2018-05-14 2023-01-13 五八有限公司 bitmap生成方法、装置、设备及存储介质
CN109274644B (zh) * 2018-08-21 2020-12-25 华为技术有限公司 一种数据处理方法、终端和水印服务器
CN109150516A (zh) * 2018-08-31 2019-01-04 密信技术(深圳)有限公司 浏览器文件的签名及/或加密方法、装置、浏览器及介质
CN111833004A (zh) * 2019-04-23 2020-10-27 天地融科技股份有限公司 一种电子签章的签章方法、验证方法及系统
CN111950034B (zh) * 2019-05-15 2024-02-06 天地融科技股份有限公司 一种电子签章的联合签章方法、联合验证方法及系统
CN110727961B (zh) * 2019-08-08 2024-02-27 上海浩霖汇信息科技有限公司 一种基于数字签名技术的数字水印防伪方法
CN112597851A (zh) * 2020-12-15 2021-04-02 泰康保险集团股份有限公司 签名的获取方法、装置、电子设备及存储介质
CN112702169B (zh) * 2020-12-21 2022-10-14 北京信安世纪科技股份有限公司 一种可视化数字证书申请方法
CN117272396B (zh) * 2023-11-22 2024-02-02 人力资源和社会保障部人事考试中心 一种考生成绩防篡改方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1960363A (zh) * 2006-09-12 2007-05-09 北京飞天诚信科技有限公司 一种利用网络实现信息安全设备远程更新的方法及装置
CN1968091A (zh) * 2006-07-19 2007-05-23 王李琰 一种基于标识的密码技术的邮件认证及可靠分类传递方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI114425B (fi) * 2002-08-12 2004-10-15 Plusdial Ab Oy Menetelmä ja järjestely digitaalisena viestinä jaettavan rahanarvoisen hyödykkeen aitouden todentamiseksi

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968091A (zh) * 2006-07-19 2007-05-23 王李琰 一种基于标识的密码技术的邮件认证及可靠分类传递方法
CN1960363A (zh) * 2006-09-12 2007-05-09 北京飞天诚信科技有限公司 一种利用网络实现信息安全设备远程更新的方法及装置

Also Published As

Publication number Publication date
CN102164037A (zh) 2011-08-24

Similar Documents

Publication Publication Date Title
CN102164037B (zh) 一种数字签章系统和方法
CN104816685B (zh) 基于程控可变二维码的防伪车牌及其应用方法
WO2019052286A1 (zh) 基于区块链的用户身份验证方法、装置及系统
CN103414690B (zh) 一种可公开验证云端数据持有性校验方法
CN109614802B (zh) 抗量子计算的签章方法和签章系统
CN102289697B (zh) 二维码印章的制作方法、应用方法以及制作、验证装置
CN105229965A (zh) 设备真伪判定系统以及设备真伪判定方法
CN105245341A (zh) 远程身份认证方法和系统以及远程开户方法和系统
CN109600228B (zh) 基于公共密钥池的抗量子计算的签章方法和签章系统
CN105790938A (zh) 基于可信执行环境的安全单元密钥生成系统及方法
CN107743132A (zh) 基于标识密码的物联网可信身份识别与控制方法
CN103095456A (zh) 交易报文的处理方法和系统
CN110414193A (zh) 一种国密pdf文档电子印章的安全加密方法和系统
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN103117857A (zh) 基于硬件加密算法的atm机信息安全检测方法及系统
CN107944526B (zh) 一种防篡改防复制的二维码防伪方法
CN103902925A (zh) 用于数字文件签名的方法及设备
CN103634788A (zh) 前向安全的无证书多代理签密方法
CN111539496A (zh) 车辆信息二维码生成方法、二维码车牌、认证方法及系统
CN109586918B (zh) 基于对称密钥池的抗量子计算的签章方法和签章系统
CN105763322B (zh) 一种可混淆的加密密钥隔离数字签名方法及系统
CN104065483B (zh) 一种电子通信标识的ibc分级使用方法
CN104883260B (zh) 证件信息处理和验证方法、处理终端及验证服务器
WO2023041212A1 (en) Method of verification for machine learning models
CN202049507U (zh) 二维码印章的制作装置及验证装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 17th floor, building B, Huizhi building, No.9, Xueqing Road, Haidian District, Beijing 100085

Patentee after: Feitian Technologies Co.,Ltd.

Country or region after: China

Address before: 100085 17th floor, block B, Huizhi building, No.9 Xueqing Road, Haidian District, Beijing

Patentee before: Feitian Technologies Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address