本发明涉及cad电子签章技术领域,具体涉及一种cad图纸多用户电子签章的方法。
背景技术:
cad计算机辅助设计(computeraideddesign)指利用计算机及其图形设备帮助设计人员进行设计、制图、工程计算;同时能对设计元素进行分析和比较,以决定最优方案。cad最早的应用是在汽车制造、航空航天以及电子工业的大公司中,后来应用建筑专业(建筑构造、室内装饰),结构专业(桩位图、地下室结构图),电气专业,给排水专业,暖通空调等。
目前市面上cad绘图软件主要是autodesk的autocad,它功能强大,扩展性强,应用广泛,成为绘图领域的主要工具,它的文件格式dwg已经成为各种绘图工具文件的主要格式,同时该格式也兼容各种矢量图绘图软件,成为行业标准。
随着autocad在中国的广泛应用,大家也发现有以下几个不便之处:
二、但autocad内置的电子签名只支持单个用户证书签名,如果多个用户签名,就只会保留最后一次签名,不支持多用户证书签名。
技术实现要素:
一种cad图纸多用户电子签章的方法,包括以下步骤:
3)当签名用户收到cad图纸后,先验签(判断当前图纸是否在流转过程中被篡改),然后用户电子签名。
步骤1)中,所述的签名发起包括:
a)发起者解析cad图纸的绘图元素、资源信息、输出信息等,建立签名原文;
所述的绘图元素包括:圆、线、方形等形状数据;
所述的资源信息包括:字体、绘图的图标等。
所述的输出信息包括:图纸空间信息(例如图纸大小)
b)对步骤a)的签名原文通过签名算法生成原文摘要信息,用发起者的私钥签名生成签名信息;
c)将签名原文、原文摘要信息、签名信息储存在cad图纸的自定义数据库中;
步骤3)中,所述的用户电子签名具体包括:
a)从签名用户收到的cad图纸中读取图纸文件的原始数据,生成缓存数据;
所述的图纸文件的原始数据包括绘图元素、资源信息、输出信息等;
所述的输出信息包括:图纸空间信息(例如图纸大小)。
c)将步骤b)带有自己签名笔迹的图纸与步骤a)生成的缓存数据进行比较,验证图纸文件的原始数据是否篡改,如果没有篡改,则进入下一步;
e)归档,等待下一个签名用户签名,重复步骤b)~e),直到签名结束。
步骤c)中,如果发现图纸文件的原始数据被篡改,提示用户,图纸被篡改不能签名,无法进入下一步。
与现有技术相比,本发明具有如下优点:
二、支持用户在签名前分析图纸元素数据功能,帮组用户判断判断是否被篡改,改了哪些元素,为是否签名做判断依据。
附图说明
图1为本发明cad图纸多用户电子签章的方法的流程示意图;
图2为本发明中图纸的签署单信息的示意图;
图3为本发明中用户签名详细信息的示意图;
图4为本发明中查看用户签名的证书信息的示意图;
图5为本发明中签名流程示意图;
图6为本发明中cadsign系统设计的示意图;
图7为本发明中网络拓扑的示意图;
图8为本发明中发起cad签名流程的示意图;
图9为本发明中用户电子签名的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,一种cad图纸多用户电子签章的方法,包括以下步骤:
当签名用户收到cad图纸后,先验签,然后用户电子签名。
1、多用户对同一cad图纸文件签名时,图纸文件需经过网络流转,最终到签名用户所在设备再由用户签名,必须保证流转过程中图纸不被篡改。
▼策略:在图纸签名流转前,对cad图纸先进行隐式电子签名,后再发起流转;用户收到被签名图纸后,使用验签技术对图纸签名验签,判断当前图纸是否在流转过程中被篡改,如果未被篡改,而后才决定是否签名。
▼策略:
c.解析当前图纸里的绘图元素信息.资源信息.输出信息等,比较“签名前图纸数据”,分析出图纸变化的信息,生成待签名原文,算出原文的摘要,用自己的私钥对摘要进行签名,产生数字签名值;
▼技巧:
b.通过autocad自带的active插件interop.autocad,interop.axdblib去读取图形对象(如直线、圆、圆弧、椭圆、椭圆弧、多段线、网格面、实心体、面域、单行文字、多行文字、尺寸标注、引线标注、点、图块与属性、二维面、二维实心面等)的属性;创建签名图形对象,并把它都保存在数据库中。
c.用户签名时创建电子签章,使用gm/t0031-2014的“电子签章”格式,保存签章数据。数据逻辑结构如表1所示。
表1
d.电子签章生成流程按用gm/t0031-2014的“电子签章生成流程”。步骤如下:
i.准备电子印章,并验证电子印章的正确性和有效性:
1)验证电子印章;
2)验证签章者证书的有效性,包括证书有效期、证书密钥等等;
3)根据电子印章中的签章者证书列表类型,提取电子印章中的签章者证书信息列表,并用来验证证书有效性。
ii.对原文进行电子签章,步骤如下:
1)准备待签名原文:根据策略生成代签名原文;
2)将待签名原文数据进行杂凑运算,形成原文杂凑值;
3)按照电子签章数据格式组成签章信息;
4)签章者对签章信息进行数字签名,生成签名值;
6)将步骤3、4、5以及签章者信息,签名算法标识组成电子签章数据。
3.用户的签名结果必须:可视,详细,智能。
b.由于每个用户的电子签章保存在数据库中,可以读取并解析用户的电子签章,并用可视化方式展现。例如:图3-用户签名详细信息;图4-查看用户签名的证书信息
预设完整的多用户对cad图纸签名流程如图5-签名流程图。
其中“cad签名服务”:处理签名流程的发起、流转、告知等功能由用户自己的驱动;签名用户的认证,签名行为的验证等,可以使用上上签的“cad签名服务”。
这里只描述签名发起,验证图纸串改,用户签名三个重要节点的中,本发明的具体实施方法:
1.签名发起
b.生成“图纸文件的原始数据”:解析cad图纸里的绘图元素信息,资源信息,输出信息等。
d.接着生成待签名原文的摘要,接着用自己的私钥对摘要进行签名,产生数字签名值;
e.把签名原文数据,原文摘要,数字签名等组合成电子签章信息,存在cad文件数据库中。
f.利用cad图纸自带的签名技术,用自己的证书信息密钥信息进行签名。常用函数object.saveasfilename,filetype[,securityparams]
g.保存cad图纸,使用签名流转系统或邮件驱动签名流转
2.验证cad图纸是否篡改
每个签名用户收到被签名图纸时,需验证图纸在流转过程中图纸数据(绘图元素信息,资源信息,输出信息等)是否被篡改,如果被篡改,自己签名就没意义了。具体如下:签名用户在签前,对cad文档带有的数字身份的有效性进行检查。利用autocad验签技术对图纸签名验签判断当前图纸是否在流转过程中被篡改。可以使用autocad自带工具,也可用autocad提供的开发函数verifysign(stringbstrpath,refobjectpvreserved,outintbresult).;
通过以上步骤,可保证图纸信息不会在流转过程中是否被篡改。
3.用户对cad图纸文件电子签名
a.从cad数据库中读取“图纸文件的原始数据”,生成缓存数据。
d.验证本次操作是否修改图纸原始数据
e.创建并保存用户签名体:
ii.接着生成待签名原文的摘要,接着用自己的私钥对摘要进行签名,产生数字签名值;
iii.把签名原文数据,原文摘要,数字签名等组合成电子签章信息,存在cad文件数据库中。
f.利用cad图纸自带的签名技术,用自己的证书信息密钥信息进行签名。
4.cad图纸文件验签
为保证cad图纸在签名过程中不被篡改,验签方案采取以下几步:
a.验证电子签章数据格式的合规性。从cad数据库中读取签名发起者,签名者的电子签章数据,根据电子签章格式规范解析电子签章数据。如果电子签章或电子印章数据格式不合规,则验证失败并退出验证流程;
b.验证电子签章签名值是否正确:
c.验证签章人数字证书有效性:从电子签章数据获得签章人数字证书,验证签章人证书有效性
e.验证电子印章的有效性:从电子签章数据获得签章人数字证书,验证签章人证书有效性,验证项至少包括:证书信任链验证、证书有效期验证、证书是否被吊销、密钥用法是否正确。
f.验证“图纸文件的原始数据”是否被篡改。
g.比较当前图纸和图纸的原始数据,验证图纸的原始数据是否被篡改。
h.验证各个签名用户的签名信息是否被篡改。
i.如果上述各步骤验证均有效,那么电子签章验证结果为有效,可正常退出验证流程。
如图6所示,为cadsign系统设计由三块组成:核心签名“cadsignsdk”,“cadsigntools”,“cadsig-server”。
1.签名工具(cadsigntools):与之配套的autocad电子签名工具。是以cadsignsdk基础上开发,方便用户使用,有以下几个功能
(2)用户签名:签名前:签名工具分析图纸信息,评估风险,判断图纸是否被篡改,反馈给用户;签名:用户用自己的印章信息和密钥信息对图纸签名。签名后:签名证据会经过加密存储在图纸文件同时备份到上上签。整个签名过程都是以可视化方式展现,非常方便。
(3)浏览签名:用户可打开图纸,查看其他用户签名信息,用可视化方式展现。
(3)查看证据链:如有法律纠纷,主体用户可通过该按钮请求上上签平台,生成证据链。
(4)同时本公司产品兼容多种autocad版本。
2.签名支撑平台(cadsig-server):与之配套的上上签cad图纸签名管理系统。是以saas方式为cad图纸签名提供服务,有以下几个功能
(1)用户管理:管理用户:实名认证.申请证书,管理电子印章.生成签名密钥等,用户分主体用户和一般用户,主体用户可以发起签名流程,修改签名流程,可申请证据链,一般用户只是签名。
(2)驱动图纸签名流程;告知用户签名信息;校验签名行为:
(3)提供“图纸签名证据链”服务
网络拓扑如图7所示。交互流程具体包括:
1.用户准备:
(1)注册账户:用户到上上签网站注册用户,用户分主体用户和签名用户。企业用户注册主体用户,主体用户可以发起签名流程,管理签名过程,查看签名证据链。签名用户可以对图纸签名。用户需实名认证,申请证书,上传电子印章,申请签名密钥才能参与电子签名。
(2)安装上上签电子签名工具:用户到上上签网站下载“cad签名工具”,在本机安装autocad和“cad签名工具”。本工具兼容autocad2000-autocad2020版本。
(3)准备签名干系人图纸共享空间:多人一起对图纸签名,需要共享签名空间共享图纸文件。可以用自己的ftp服务器.第三方oss空间,也可使用上上签文件服务器软件构建自己存储服务器.