CN111723405A - 一种去中心化的多重数字签名/电子签章方法 - Google Patents
一种去中心化的多重数字签名/电子签章方法 Download PDFInfo
- Publication number
- CN111723405A CN111723405A CN202010392293.8A CN202010392293A CN111723405A CN 111723405 A CN111723405 A CN 111723405A CN 202010392293 A CN202010392293 A CN 202010392293A CN 111723405 A CN111723405 A CN 111723405A
- Authority
- CN
- China
- Prior art keywords
- signature
- data
- signed
- digital
- algorithm
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000008859 change Effects 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及网络安全技术领域,具体涉及一种去中心化的多重数字签名/电子签章方法,本发明先由客户端获取任意版本的待签名PDF文件和签名图片及数字证书和对应的证书密码;得出新的签名信息的摘要数据模板;计算出对应的字节范围并进行摘要计算,得出新的签名所在的对象号;对证书计算得到数字证书;根据交叉表里的对象号来计算组合新的签名数据;将最新的签名数据封装后写入PDF签名字段的结果中,完成数字签名,本发明能够实现多重签名的跨版本、跨平台的兼容性外,确保待签名数据在本地终端完成离线签名,规避代签名数据在传输中被泄露的风险以及数字身份被冒用盗用的风险。使得开发过程更加方便,使得电子签章不可篡改,数据隐私得到充分保障。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种去中心化的多重数字签名/电子签章方法。
背景技术
信息产业是当今国际经济发展的主导产业,信息安全作为信息产业发展的基础,已经成为高科技领域所探讨的重要内容。随着计算机技术、信息通讯技术和制造技术的迅猛发展,社会经济生活发生了显著的变化。软件在开发、发布、传输和运行过程中,都有可能遭到病毒、木马和非法行为(内部人员黑客)的恶意篡改,从而在客户的系统上运行后造成恶性后果。数字签名是通过密码技术实现网上交易活动安全的一种形象化说法,其本质就是信息的发送者利用公开密明技术,在所要传输的信息中附加上无法伪造的一段数字串。
数字签名是手写签名和印章的电子替代物,它是一个由签名人的私钥和被签消息计算出来的比特串,可用于消息的完整性认证和消息的源认证,在电子商务和电子政务系统可用于保证消息的不可否认性和完整性。数字签名其实是伴随着数字化编码的消息一起发送并与发送的信息有一定逻辑关联的数据项。
数字签名既能满足企业发布软件防篡改和防抵赖的要求,又能解决各产品目前数字签名存在的若干问题。鉴于数字签名强大的实用性,国内外许多专家和学者都加入到了数字签名这个研宄领域。目前,世界的知名大学和研究机构如麻省理工学院、剑桥大学、研究中心等对数字签名都有深入的研究。国内也设立了相关的国家重点实验室,如中国科学院软件研宄所信息安全国家重点实验室、西安电子科技大学综合业务国家重点实验室等。
而本申请则根据现在社会的需求提出一种去中心化的多重数字签名/电子签章方法,通过在非中心化平台而在客户终端设备上执行加密解密与离线签名,实现多重签名的跨版本、跨平台的兼容性外,确保了待签名数据在本地终端完成离线签名,规避代签名数据在传输中或在中心化平台处理与存储过程中被泄露的风险以及数字身份被冒用盗用的风险。使得开发过程更加方便,使得电子签章不可篡改,数据隐私得到充分保障,达到文档最高安全性保障的数字签名/电子签章方案。
发明内容
针对现有技术的不足,本发明公开了一种去中心化的多重数字签名/电子签章方法,旨在提供一种通过在非中心化平台而在客户终端设备上执行加密解密与离线签名,实现多重签名的跨版本、跨平台的兼容性外,确保了待签名数据在本地终端完成离线签名,规避代签名数据在传输中或在中心化平台处理与存储过程中被泄露的风险以及数字身份被冒用盗用的风险。使得开发过程更加方便,使得电子签章不可篡改,数据隐私得到充分保障,达到文档最高安全性保障的数字签名/电子签章方案。
本发明通过以下技术方案予以实现:
本发明公开一种去中心化的多重数字签名/电子签章方法,所述方法包括以下步骤:
S1由客户端获取任意版本的待签名PDF文件和签名图片及数字证书和对应的证书密码;
S2根据待签名PDF文件得出已经包含的签名信息;
S3根据S2中包含的签名信息来得出新的签名信息的摘要数据模板;
S4根据待签名PDF文件对的字节范围,计算出对应的字节范围;
S5对S4中字节范围数据进行摘要计算,并获取计算结果;
S6根据待签名PDF文件的交叉表来计算出新的签名所在的对象号;
S7使用证书密码对证书进行计算,得到数字证书;
S8根据交叉表里的对象号来计算组合新的签名数据;
S9将最新的签名数据封装后写入PDF签名字段的结果中,完成数字签名。
更进一步的,所述摘要计算使用摘要算法,所述摘要算法为adbe.pcks7.detached算法。
更进一步的,所述方法使用RSA_SHA256签名算法,所述RSA_SHA256签名算法通过Hash函数实现,文件如果发生改变,数字签名的值也将随着发生变化,对不同的文件将会得到不同的数字签名。
更进一步的,所述RSA_SHA256签名算法的实现包括密钥的生成、加密算法和解密算法,同时在计算机运行之前提前定义大数的数据结构。
更进一步的,所述RSA_SHA256签名算法定义的大数的基本运算库包括加法运算、减法运算、乘法运算、除法运算和取模运算。
更进一步的,所述Hash函数对任意长度的二进制串散列出一个随机的结果,用于缩短比特流的长度,生成消息的摘要,保护与检验数据的完整性。
更进一步的,对于待签名PDF文件产生文件的单向Hash值,用RSA_SHA256签名算法对hash值运算,同时用公钥对签名的Hash解密。
更进一步的,如果签名的Hash值与自己产生的Hash值匹配,签名有效,如果签名的Hash值与自己产生的Hash值不匹配,签名无效。
更进一步的,所述待签名PDF文件的交叉表包含对文档中所有对象的引用,并允许随机访问文件中的对象,其每个对象由交叉表中的一个条目表示,保存了所有间接对象在PDF文件中物理偏移地址。
本发明的有益效果为:
本发明通过在非中心化平台而在客户终端设备上执行加密解密与离线签名,实现多重签名的跨版本、跨平台的兼容性外,确保了待签名数据在本地终端完成离线签名,规避代签名数据在传输中或在中心化平台处理与存储过程中被泄露的风险以及数字身份被冒用盗用的风险。使得开发过程更加方便,使得电子签章不可篡改,数据隐私得到充分保障,达到文档最高安全性保障的数字签名/电子签章方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一种去中心化的多重数字签名/电子签章方法原理步骤图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开如图1所示的一种去中心化的多重数字签名/电子签章方法,包括以下步骤:
S1由客户端获取任意版本的待签名PDF文件和签名图片及数字证书和对应的证书密码;
S2根据待签名PDF文件得出已经包含的签名信息;
S3根据S2中包含的签名信息来得出新的签名信息的摘要数据模板;
S4根据待签名PDF文件对的字节范围,计算出对应的字节范围;
S5对S4中字节范围数据进行摘要计算,并获取计算结果;
S6根据待签名PDF文件的交叉表来计算出新的签名所在的对象号;
S7使用证书密码对证书进行计算,得到数字证书;
S8根据交叉表里的对象号来计算组合新的签名数据;
S9将最新的签名数据封装后写入PDF签名字段的结果中,完成数字签名。
本实施例去中心化的多重数字签名/电子签章方法使用RSA_SHA256签名算法,所述RSA_SHA256签名算法通过Hash函数实现,文件如果发生改变,数字签名的值也将随着发生变化,对不同的文件将会得到不同的数字签名。
RSA_SHA256签名算法的实现包括密钥的生成、加密算法和解密算法,同时在计算机运行之前提前定义大数的数据结构,RSA_SHA256签名算法定义的大数的基本运算库包括加法运算、减法运算、乘法运算、除法运算和取模运算。
Hash函数对任意长度的二进制串散列出一个随机的结果,用于缩短比特流的长度,生成消息的摘要,保护与检验数据的完整性。摘要计算使用摘要算法,所述摘要算法为adbe.pcks7.detached算法。
对于待签名PDF文件产生文件的单向Hash值,用RSA_SHA256签名算法对hash值运算,同时用公钥对签名的Hash解密。如果签名的Hash值与自己产生的Hash值匹配,签名有效,如果签名的Hash值与自己产生的Hash值不匹配,签名无效。
待签名PDF文件的交叉表包含对文档中所有对象的引用,并允许随机访问文件中的对象,其每个对象由交叉表中的一个条目表示,其保存了所有间接对象在PDF文件中物理偏移地址。
本实施例通过在非中心化平台而在客户终端设备上执行加密解密与离线签名,实现多重签名的跨版本、跨平台的兼容性外,确保了待签名数据在本地终端完成离线签名,规避代签名数据在传输中或在中心化平台处理与存储过程中被泄露的风险以及数字身份被冒用盗用的风险。使得开发过程更加方便,使得电子签章不可篡改,数据隐私得到充分保障,达到文档最高安全性保障的数字签名/电子签章方案。
实施例2
本实施例公开一种RSA算法,其数字签名技术实际上是通过一个Hash函数来实现的。文件如果发生改变,数字签名的值也将随着发生变化。不同的文件将会得到不同的数字签名。一个最简单的Hash函数就是把文件的二进制码相累加,取最后的若干位。Hash函数对发送数据的双方都是公开的。
RSA算法的实现包括:密钥的生成、加密算法和解密算法。RSA体制的安全性主要是依赖于大素数分解的困难性,为了保证RSA体制的安全,必须要认真地选择各参数,选择p和q必须为素数,且两个数要有足够的打,因为n=pq,使得n分解在计算上是不可行的。所以在计算机中实现RSA算法时须要定义大数的数据结构。
RSA算法的实现涉及到一些大数的基本运算,我们定义一个大数的基本运算库包括加法运算、减法运算、乘法运算、除法运算和取模运算等等,其中模乘运算和模幂运算是最重要的运算。
解密模数和解密指数用到了RSA私钥。但是为了加快RSA解密计算的速度,采用了数论中的中国剩余定理又称为孙子定理对RSA算法进行计算。
RSA是较早开始使用的并应用比较广泛的公钥密码体制,已经受了多种攻击的检验,但是还没有一种对其产生致命的影响,因此RSA的安全性是较高的。RSA可用在SET安全电子协议的CA证书当中,也可用于手机签名中。
实施例3
本实施例公开一种基于消息摘要的签名,在实际的实现过程中,采用公钥密码算法对长文件签名效率太低。为了节约时间,数字签名协议经常和单向Hash函数一起使用。Alice并不对整个文件签名,只对文件的Hash值签名。在这个协议中,单向Hash函数和数字签名算法是事先就协商好了的。
Step1:Alice产生文件的单向Hash值;
Step2:Alice用她的私钥对Hash加密,凭此表示对文件签名;
Step3:Alice将文件和Hash签名送给Bob;
Step4:Bob用Alice发送的文件产生文件的单向Hash值,然后用数字签名算法对hash值运算,同时用Alice的公钥对签名的Hash解密。如果签名的Hash值与自己产生的Hash值匹配,签名就是有效的。
本实施例公开的消息摘要的签名计算速度大大地提高了,并且两个不同的文件有相同的160比特Hash值的概率为1 /2160。因此,使用Hash函数的签名和文件签名一样安全。如果使用非单向Hash函数,可能很容易产生多个文件使它们的Hash值相同,这样对一特定的文件签名就可复制用于对大量的文件签名。
其签名和文件可以分开保存。接收者对文件和签名的存贮量要求大大降低了。档案系统可用这类协议来验证文件的存在而不需保存它们的内容。中央数据库只存贮各个文件的Hash值,根本不需要看文件。用户将文件的Hash值传给数据库,然后数据库对提交的文件加上时间标记并保存。如果以后有人对某文件的存在发生争执,数据库可通过找到文件的Hash值来解决争端。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种去中心化的多重数字签名/电子签章方法,其特征在于,所述方法包括以下步骤:
S1由客户端获取任意版本的待签名PDF文件和签名图片及数字证书和对应的证书密码;
S2根据待签名PDF文件得出已经包含的签名信息;
S3根据S2中包含的签名信息来得出新的签名信息的摘要数据模板;
S4根据待签名PDF文件对的字节范围,计算出对应的字节范围;
S5对S4中字节范围数据进行摘要计算,并获取计算结果;
S6根据待签名PDF文件的交叉表来计算出新的签名所在的对象号;
S7使用证书密码对证书进行计算,得到数字证书;
S8根据交叉表里的对象号来计算组合新的签名数据;
S9将最新的签名数据封装后写入PDF签名字段的结果中,完成数字签名。
2.根据权利要求1所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述摘要计算使用摘要算法,所述摘要算法为adbe.pcks7.detached算法。
3.根据权利要求1所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述方法使用RSA_SHA256签名算法,所述RSA_SHA256签名算法通过Hash函数实现,文件如果发生改变,数字签名的值也将随着发生变化,对不同的文件得到不同的数字签名。
4.根据权利要求3所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述RSA_SHA256签名算法的实现包括密钥的生成、加密算法和解密算法,同时在计算机运行之前提前定义大数的数据结构。
5.根据权利要求3所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述RSA_SHA256签名算法定义的大数的基本运算库包括加法运算、减法运算、乘法运算、除法运算和取模运算。
6.根据权利要求3所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述Hash函数对任意长度的二进制串散列出一个随机的结果,用于缩短比特流的长度,生成消息的摘要,保护与检验数据的完整性。
7.根据权利要求3-5任一项所述的去中心化的多重数字签名/电子签章方法,其特征在于,对于待签名PDF文件产生文件的单向Hash值,用RSA_SHA256签名算法对hash值运算,同时用公钥对签名的Hash解密。
8.根据权利要求7所述的去中心化的多重数字签名/电子签章方法,其特征在于,如果签名的Hash值与自己产生的Hash值匹配,签名有效,如果签名的Hash值与自己产生的Hash值不匹配,签名无效。
9.根据权利要求1所述的去中心化的多重数字签名/电子签章方法,其特征在于,所述待签名PDF文件的交叉表包含对文档中所有对象的引用,并允许随机访问文件中的对象,其每个对象由交叉表中的一个条目表示,保存了所有间接对象在PDF文件中物理偏移地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392293.8A CN111723405A (zh) | 2020-05-11 | 2020-05-11 | 一种去中心化的多重数字签名/电子签章方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392293.8A CN111723405A (zh) | 2020-05-11 | 2020-05-11 | 一种去中心化的多重数字签名/电子签章方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111723405A true CN111723405A (zh) | 2020-09-29 |
Family
ID=72564395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010392293.8A Pending CN111723405A (zh) | 2020-05-11 | 2020-05-11 | 一种去中心化的多重数字签名/电子签章方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723405A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI766608B (zh) * | 2021-03-10 | 2022-06-01 | 新加坡商捷普電子(新加坡)公司 | 程式簽章方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046743A1 (en) * | 2006-08-16 | 2008-02-21 | Hon Hai Precision Industry Co., Ltd. | System and method for automatically signing electronic documents |
CN102622562A (zh) * | 2012-02-27 | 2012-08-01 | 中山大学 | 基于pdf交叉引用表的pdf文件信息嵌入和提取方法 |
CN103699852A (zh) * | 2014-01-08 | 2014-04-02 | 安投融(北京)网络科技有限公司 | 网络交易电子合同的多数字签名方法 |
-
2020
- 2020-05-11 CN CN202010392293.8A patent/CN111723405A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080046743A1 (en) * | 2006-08-16 | 2008-02-21 | Hon Hai Precision Industry Co., Ltd. | System and method for automatically signing electronic documents |
CN102622562A (zh) * | 2012-02-27 | 2012-08-01 | 中山大学 | 基于pdf交叉引用表的pdf文件信息嵌入和提取方法 |
CN103699852A (zh) * | 2014-01-08 | 2014-04-02 | 安投融(北京)网络科技有限公司 | 网络交易电子合同的多数字签名方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI766608B (zh) * | 2021-03-10 | 2022-06-01 | 新加坡商捷普電子(新加坡)公司 | 程式簽章方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11652644B1 (en) | Quantum-resistant double signature system | |
WO2021238527A1 (zh) | 数字签名生成方法、装置、计算机设备和存储介质 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
US10142107B2 (en) | Token binding using trust module protected keys | |
CN113364576B (zh) | 一种基于区块链的数据加密存证与共享方法 | |
CN111314089B (zh) | 一种基于sm2的两方协同签名方法及解密方法 | |
CN109274503A (zh) | 分布式协同签名方法及分布式协同签名装置、软盾系统 | |
CN109510708A (zh) | 一种基于Intel SGX机制的公钥密码计算方法和系统 | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
US8422670B2 (en) | Password authentication method | |
TWI807125B (zh) | 用以分配數位簽署資料之份額的電腦實施系統及方法 | |
WO2022022009A1 (zh) | 消息处理方法、装置、设备及存储介质 | |
EP3841702A1 (en) | Method, user device, management device, storage medium and computer program product for key management | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
Yadav | Significance of elliptic curve cryptography in blockchain IoT with comparative analysis of RSA algorithm | |
US20150006900A1 (en) | Signature protocol | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
Saepulrohman et al. | Data integrity and security of digital signatures on electronic systems using the digital signature algorithm (DSA) | |
Kumar et al. | An efficient implementation of digital signature algorithm with SRNN public key cryptography | |
CN111490876B (zh) | 一种基于usb key的通信方法和usb key | |
CN111723405A (zh) | 一种去中心化的多重数字签名/电子签章方法 | |
CN114760072A (zh) | 签名及验签方法、装置及存储介质 | |
CN116318636A (zh) | 一种基于sm2的门限签名方法 | |
Syed et al. | On the Pivotal Role of Digital Signatures: A Review of Conception, Mensuration, and Applications | |
Adeniyi et al. | Secure Sensitive Data Sharing Using RSA and ElGamal Cryptographic Algorithms with Hash Functions. Information 2022, 13, 442 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200929 |
|
RJ01 | Rejection of invention patent application after publication |