一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持主体和内容认证的印章生成和校验方法与流程

2022-02-20 13:48:01 来源:中国专利 TAG:


1.本发明属于电子印章技术领域,具体涉及一种支持主体和内容认证的印章生成和校验方法。


背景技术:

2.现阶段来说,电子印章是传统印章的印迹和数字证书相结合的产物,也是电子数据表现形式的公章和具有法律效力的个人名章,可在电子证照、电子合同、电子发票等各类电子文件上加盖(签章),基于国产密码技术保障所签章电子文件的正确性、完整性、不可否认性。
3.但目前已发表的专利中,绝大部分电子印章专利都是以印章本身为主体或者仅与文件内容为主体生成。如申请号为200610038420的专利申请《二维加密印章》和申请号为200610056931的专利申请《二维加密印章》只是单纯利用二维码图形来存储印章的制作者、防伪特征等信息,核实印章时还是通过人工或者高级设备去比对,且只是保证了印章章面信息的真伪性,无法保证文件内容是否被篡改;如申请号为200310103202的中国专利《一种新的盖章文件防伪方法》公开了一种利用hash函数将文件特征值放置在印章印文内外来进行防伪,其缺点是由于hash函数是公开的,其运行结果仅与文件内容相关,撇开了文件提供者的信息,所以人人都可以借用这种公开hash函数去仿照一份文件,不具备保护文件内容和防伪的功能。
4.而本发明是借助于近些年来日渐被广大群众所认可的区块链技术以及成熟的数字签名方案,将印章的生成和验证与文件内容和文件提供者联系起来,让印章不再是单调的。


技术实现要素:

5.本发明的目的在于提供一种支持主体和内容认证的印章生成和校验方法,解决了印章生成和验证与文件内容和文件提供者不关联的问题。
6.本发明技术方案如下:
7.一种支持主体和内容认证的印章生成和校验方法,包括印章生成和印章校验两个阶段:
8.印章生成阶段:
9.数据拥有者上传文件至印章签发系统,并在印章签发系统前端确定需要分享的文件和对应的数据使用方,获取分享记录;印章签发系统后端根据需要分享的文件生成分享文件,对分享文件进行单向hash函数运算获取数字摘要,然后印章签发系统根据上传文件来源获取数据提供方或数据拥有者的私钥使用授权并用该私钥对分享文件进行签名;
10.数据提供方具有权威ca机构颁发的ca证书,ca证书包含私钥、公钥。数据拥有者具有区块链账户,区块链账户包含私钥、公钥、地址。
11.之后,印章签发系统通过数据拥有者的区块链账户调用合约将数字摘要和分享记
录以交易形式发送至区块链,获取该笔交易所在交易号;印章签发系统前端生成印章,将该笔交易所在交易号与数字签名一同构成印章外环,将数据提供方官方印章图徽作为印章内环,最后将生成的印章嵌入到分享文件中,印章签发系统将嵌入印章后的分享文件对称加密保存到系统服务器中,同时获取数据使用方的公钥对对称加密算法使用到的密钥k进行非对称加密,最后将加密后的分享文件以及加密后的密钥采用压缩算法保存到系统数据库,同时以站内信的方式发送给数据使用方;
12.印章校验阶段:
13.数据使用方登录后授权印章签发系统使用数据使用方的私钥,印章签发系统使用该私钥解密分享文件供数据使用方查看,同时数据使用方可请求获取文件验证结果以及溯源结果。
14.数据使用方请求获取文件验证结果以及溯源结果后,印章签发系统通过数据拥有者的区块链账户调用智能合约访问区块链节点获取该账户包含该笔交易的数字摘要;然后对文件内容的数字签名进行验签。
15.进一步的,印章采用canvas标签和其提供的方法并结合javascript显示隐藏元素渲染而成,数据使用方可通过印章获取文件验证结果以及溯源结果。
16.进一步的,数据拥有者上传的文件包括数据拥有者本地文件和数据提供方为数据拥有者提供数据,数据拥有者确定数据无误后通过印章签发系统会返回给数据拥有者确定的文件。
17.进一步的,所述的验证结果由两部分组成:第一部分从服务器中获取分享文件的数字签名,核验分享文件数字签名是否和印章上的数字签名是否一致;第二部分利用数据提供方公钥验签印章上的数字签名,核验验签后的数字摘要、分享文件数字摘要、链上的分享文件数字摘要三者是否一致。
18.所述的溯源结果包含分享人即数据拥有者、数据使用方、以及分享时间和分享内容的数字摘要。
19.进一步的,印章生成阶段,包括以下步骤:
20.步骤一,数据拥有者上传文件f至印章签发系统;
21.文件内容由数据提供方提供并经数据拥有者确定后通过印章签发系统下载至数据拥有者本地储存或数据拥有者自身提供。
22.步骤二,印章签发系统前端展示文件内容并提示数据拥有者勾选需分享的信息以及被分享的数据使用方,数据拥有者勾选想分享的数据以及数据使用方。
23.步骤三,印章签发系统前端返回给印章签发系统后端数据拥有者的勾选信息。
24.步骤四,印章签发系统后端根据数据拥有者的勾选信息生成分享文件fs并使用杂凑摘要算法hash()对分享文件fs进行处理,通过数据拥有者的区块链账户调用合约将分享文件数字摘要hash和分享记录sr以交易形式发送至区块链。分享记录sr格式:数据拥有者 数据使用方 分享时间t 分享文件数字摘要hash。
25.hash=hash(fs)
ꢀꢀꢀ
(1)
26.步骤五,印章签发系统后端根据上传文件来源获取数据提供方的ca证书中的私钥b
private-key
使用授权或数据拥有者的私钥a
private-key
使用授权,利用b
private-key
或a
private-key
对分享文件fs进行数字签名dse处理获取数据签名ds。
27.ds=dse(b
private-key
(a
private-key
),fs)
ꢀꢀꢀ
(2)
28.步骤六,印章签发系统后端返回给前端分享文件fs、分享文件的数字签名ds以及链上包含有分享文件数字摘要hash的交易号tn。
29.步骤七,印章签发系统前端根据数据提供方的官方电子印章(若无数据提供方则留空)、交易号tn、数字签名ds生成印章s并嵌入到分享文件fs中记为文件fss。文件fss=分享文件fs 印章s。印章采用canvas标签和其提供的方法并结合javascript显示隐藏元素渲染而成,数据使用方可通过印章获取文件验证结果以及溯源结果。
30.步骤八,文件fss对称加密保存到系统服务器中,对称加密算法记为es,对称加密算法使用到的密钥k由系统随机生成,得到的加密文件记为fs
s-e
,同时将该密钥k用数据使用方的公钥c
public-key
采用非对称加密算法ea处理后得到ke,加密后的分享文件fs
s-e
采用压缩算法ac压缩并和加密后的密钥ke以及分享文件的数字签名ds直接保存到服务器中记为fd。fd的格式为:fd=ac(fs
s-e
) ke ds。
31.fs
s-e
=es(k,fss)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
32.ke=ea(c
public-key
,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
33.当文件fs
s-e
以站内信的形式发送成功后,分享文件指定的数据使用方登录印章签发系统即可在系统站内信中查看到解密后的文件fss,同时数据使用方可通过验证章的真伪来判断分享文件fs是否经过篡改以及溯源查看该分享文件的分享记录sr。
34.进一步的,印章校验阶段,包括以下步骤:
35.步骤一,数据使用方登录印章签发系统,并请求查看嵌入印章的文件fss。
36.步骤二,印章签发系统请求获取数据使用方的私钥c
private-key
使用的授权,数据使用方授权允许后,系统通过c
private-key
私钥解密ke获得密钥k,再利用密钥k解密加密文件fs
s-e
获得文件fss。
37.k=ea(c
private-key
,ke)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
38.fss=es(k,fs
s-e
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
39.步骤三,数据使用方查看文件fss,并请求获取验证信息以及溯源结果。
40.数据使用方请求获取文件验证结果以及溯源结果后,印章签发系统通过数据拥有者的区块链账户调用智能合约访问区块链节点获取该账户包含该笔交易的数字摘要;然后对文件内容的数字签名进行验签。
41.验证信息由两部分组成:第一部分为:从印章签发系统服务器中获取分享文件的数字签名ds,核验分享文件的ds是否和印章上的ds是否一致;
42.第二部分为:印章签发系统后端利用数据提供方的公钥b
public-key
或者数据拥有者的公钥a
public-key
运用对应的验签算法验签印章上的ds,核验验签后的hashd、分享文件的hash、链上的分享文件hash三者是否一致。
43.hashd=dse(b
public-key
(a
public-key
),ds)
ꢀꢀꢀ
(7)
44.溯源结果包含分享人即数据拥有者、被分享方即数据使用方、分享时间t和分享内容的数字摘要hash。
45.本发明的有益效果为:
46.运用数字签名技术以及区块链技术实现了签章文件内容的不可篡改、印章印文不可仿制等高强度安全指标,使签章文件具有唯一性,最大限度杜绝了伪造文件等违法行为。
47.1.本发明将数据拥有者的分享文件通过单向hash算法得到基于该文件的数字摘要,将基于数据拥有者和文件数字摘要通过映射的关系发布至区块链上,通过智能合约对待验证的数字摘要进行比对,实现了基于区块链的印章防伪。
48.2.本发明一个文件对应一个章以及一笔记录在区块链上的交易,解决现实生活中印章真伪识别困难的问题以及溯源问题。
49.3.本发明通过程序自动生成印章镶嵌于文件内,免去了人力成本、打印成本。
附图说明
50.图1为本发明实施例系统架构图;
51.图2为本发明实施例印章生成流程图;
52.图3为本发明实施例生成的印章示意图;
53.图4为本发明实施例的校验流程图。
具体实施方式
54.为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图对本发明作进一步的说明。
55.本发明架构内容如图1所示,本发明的总体架构有数据提供方、数据拥有者、数据使用方、服务器和区块链,以下为各部分具体功能:
56.(1)数据提供方:数据提供方作为权威机构并为数据拥有者提供数据。数据拥有者首先确认来自数据提供方的数据是否正确,确认为正确后即可通过印章签发系统将经数据提供方验证的数据下载到本地以便分享使用。
57.(2)数据拥有者:数据拥有者可上传文件并选择数据分享给数据使用方。
58.(3)数据使用方:数据使用方可查看数据拥有者分享的数据并有权核验分享数据是否真实可靠。
59.(4)服务器:负责承载区块链节点的运行、托管系统和系统数据。
60.(5)区块链:区块链上可储存分享记录以及分享数据的数字摘要、核验分享数据是否真实可靠。
61.对分享文件的处理有:数据拥有者在分享文件前需上传数据拥有者确定过的文件,印章签发系统会展示文件内容并提示数据拥有者勾选需分享的信息以及被分享的数据使用方,系统获取分享数据后,采用单向hash函数算法处理数据,获取数字摘要,若数据拥有者上传非本系统返回的文件,则系统获取数据拥有者的私钥使用授权并用该私钥对分享文件进行签名,若数据拥有者上传经本系统返回的文件,则系统获取数据提供方的私钥使用授权并用该私钥对分享文件进行签名,文件对称加密保存到系统数服务器,同时获取数据使用方的公钥对分享文件的对称加密密钥进行非对称加密,最后将加密后的分享文件以及加密后的密钥采用压缩算法保存到系统数据库。
62.数字摘要和分享记录在处理和传输过程中无篡改,以数据拥有者的区块链账户调用智能合约形成一笔交易,该账户对这笔交易进行数字签名,通过映射关系将数字摘要和分享记录发布至区块链上。
63.下面将结合具体实施事例和附图对本发明作进一步描述,以数据拥有者从数据提
供方获取数据,并选择部分数据作为分享文件分享给数据使用方的场景为例,一共分为印章生成以及印章验证两个流程。
64.印章生成流程如图2所示,印章生成阶段,包括以下步骤:
65.步骤一,数据拥有者上传文件f至印章签发系统;
66.文件内容由数据提供方提供并经数据拥有者确定后通过印章签发系统下载至数据拥有者本地储存或数据拥有者自身提供。
67.步骤二,印章签发系统前端展示文件内容并提示数据拥有者勾选需分享的信息以及被分享的数据使用方,数据拥有者勾选想分享的数据以及数据使用方。
68.步骤三,印章签发系统前端返回给印章签发系统后端数据拥有者的勾选信息。
69.步骤四,印章签发系统后端根据数据拥有者的勾选信息生成分享文件fs并使用杂凑摘要算法hash()(包括但不限于md4、md5、sha-1)对分享文件fs进行处理,通过数据拥有者的区块链账户调用合约将分享文件数字摘要hash(公式1)和分享记录sr以交易形式发送至区块链。分享记录sr格式:数据拥有者 数据使用方 分享时间t 分享文件数字摘要hash。
70.hash=hash(fs)
ꢀꢀꢀ
(1)
71.步骤五,印章签发系统后端根据上传文件来源获取数据提供方的ca证书中的私钥b
private-key
使用授权或数据拥有者的私钥a
private-key
使用授权,利用b
private-key
或a
private-key
对分享文件fs进行数字签名dse(算法包括但不限于dsa、rsa签名算法)处理获取数据签名ds(公式2)。
72.ds=dse(b
private-key
(a
private-key
),fs)
ꢀꢀꢀ
(2)
73.步骤六,印章签发系统后端返回给前端分享文件fs、分享文件的数字签名ds以及链上包含有分享文件数字摘要hash的交易号tn。
74.步骤七,印章签发系统前端根据数据提供方的官方电子印章(若无数据提供方则留空)、交易号tn、数字签名ds生成印章s并嵌入到分享文件fs中记为文件fss。文件fss=分享文件fs 印章s。印章采用canvas标签和其提供的方法并结合javascript显示隐藏元素渲染而成,数据使用方可通过印章获取文件验证结果以及溯源结果。
75.该实例中生成的印章s如图3所示,最下方的交易号tn可以标识包含数据拥有者的分享文件hash和分享记录sr在区块链中所储存的位置,中间的电子印章来自于杭州电子科技大学,外圈的为分享文件的数字签名ds。
76.步骤八,文件fss对称加密保存到系统服务器中,对称加密算法记为es(包括但不限于des、3des、desx、idea、rc4),对称加密算法使用到的密钥k由系统随机生成,得到的加密文件记为fs
s-e
(公式3),同时将该密钥k用数据使用方的公钥c
public-key
采用非对称加密算法ea(包括但不限于rsa、diffie-hellman、el gamal)处理后得到ke(公式4),加密后的分享文件fs
s-e
采用压缩算法ac(包括但不限于xz、lz、huffman)压缩并和加密后的密钥ke以及分享文件的数字签名ds直接保存到服务器中记为fd。fd的格式为:fd=ac(fs
s-e
) ke ds。
77.fs
s-e
=es(k,fss)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
78.ke=ea(c
public-key
,k)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
79.当文件fs
s-e
以站内信的形式发送成功后,分享文件指定的数据使用方登录印章签发系统即可在系统站内信中查看到解密后的文件fss,同时数据使用方可通过验证章的真伪来判断分享文件fs是否经过篡改以及溯源查看该分享文件的分享记录sr。
80.印章验证如图4所示,印章校验阶段,包括以下步骤:
81.步骤一,数据使用方登录印章签发系统,并请求查看嵌入印章的文件fss。
82.步骤二,印章签发系统请求获取数据使用方的私钥c
private-key
使用的授权,数据使用方授权允许后,系统通过c
private-key
私钥解密ke获得密钥k(公式5),再利用密钥k解密加密文件fs
s-e
获得文件fss(公式6)。
83.k=ea(c
private-key
,ke)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
84.fss=es(k,fs
s-e
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
85.步骤三,数据使用方查看文件fss,并请求获取验证信息以及溯源结果。
86.数据使用方请求获取文件验证结果以及溯源结果后,印章签发系统通过数据拥有者的区块链账户调用智能合约访问区块链节点获取该账户包含该笔交易的数字摘要;然后对文件内容的数字签名进行验签。
87.验证信息由两部分组成:第一部分为:从印章签发系统服务器中获取分享文件的数字签名ds,核验分享文件的ds是否和印章上的ds是否一致;
88.第二部分为:印章签发系统后端利用数据提供方的公钥b
public-key
或者数据拥有者的公钥a
public-key
运用对应的验签算法验签印章上的ds(公式7),核验验签后的hashd、分享文件的hash、链上的分享文件hash三者是否一致。
89.hashd=dse(b
public-key
(a
public-key
),ds)
ꢀꢀ
(7)
90.溯源结果包含分享人(数据拥有者)、被分享方(数据使用方)、分享时间t和分享内容的数字摘要hash。
91.本发明未尽事宜为公知技术。
92.上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献