CN115619947B - 一种基于区块链的三维建模协作方法及系统 - Google Patents

一种基于区块链的三维建模协作方法及系统 Download PDF

Info

Publication number
CN115619947B
CN115619947B CN202211631766.0A CN202211631766A CN115619947B CN 115619947 B CN115619947 B CN 115619947B CN 202211631766 A CN202211631766 A CN 202211631766A CN 115619947 B CN115619947 B CN 115619947B
Authority
CN
China
Prior art keywords
model
data
designer
sub
file
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
CN202211631766.0A
Other languages
English (en)
Other versions
CN115619947A (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.)
Jiangxi Agricultural University
Original Assignee
Jiangxi Agricultural University
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 Jiangxi Agricultural University filed Critical Jiangxi Agricultural University
Priority to CN202211631766.0A priority Critical patent/CN115619947B/zh
Publication of CN115619947A publication Critical patent/CN115619947A/zh
Application granted granted Critical
Publication of CN115619947B publication Critical patent/CN115619947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明提供一种基于区块链的三维建模协作方法及系统,方法包括:获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密;获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希。本申请将CAD模型转化为obj文件格式,便于文件加密及不同版本、不同类型CAD开发工具间数据的兼容;采用通道技术和公共密钥设计,实现在保障数据安全前提下的数据共享;引入环签名方案,实现了CAD模型的版权认证;提供历史查询功能,实现了CAD模型的开发全过程记录和查询。

Description

一种基于区块链的三维建模协作方法及系统
技术领域
本发明涉及区块链技术领域,特别涉及一种基于区块链的三维建模协作方法及系统。
背景技术
计算机辅助设计(Computer Aided Design,以下简称CAD)是一种利用计算机及其图形设备帮助设计人员进行设计工作的方法。目前,CAD技术已经广泛地应用在机械、电子、航天、化工、建筑等行业,随着现代产品工程的日益复杂化,CAD的三维模型设计正由单机工作模式逐步转移至团队协作模式,从而实现跨越地理空间的分布式协作新范式。与传统的单机模式相比,CAD团队协作方式由于涉及多人开发,主要存在两大挑战:一是协同建模难确权,在CAD模型开发过程中,不同开发人员之间并行或串行的工作,开发的子模型存在依赖的关系,这将导致模型间的版权关系难以认定;二是数据共享的安全问题,CAD团队协作需要进行子模型间的数据交换,在此过程中需保障信息安全,由于模型设计是一种具有价值的创造性劳动,一旦发生安全问题,将极大的损害设计者乃至团队的利益。因此, CAD模型在数据共享时也应满足基本的信息安全特征,即保密性、完整性以及可用性。它们的具体表现为:
(1) 保密性,它需要保障合法用户存储介质中共享的CAD模型,能够阻止非法用户对模型信息的窃取。
(2) 完整性,它需要保障CAD模型数据存储在一个安全的环境中,其存储信息满足可信依赖,未经授权的用户不得取存和更改其模型数据;
(3) 可用性,它能够让授权用户使用模型数据。
鉴于此,如何提升CAD三维模型在团队设计过程的版权认定以及可信数据共享是本发明所要解决的问题。
在现有的基于区块链的CAD协同工作的方案中,CAD模型数据常存储在区块链、云端或者本地数据库中,存储在区块链中会面临数据读取低效、数据冗余造成存储空间浪费等问题,存储在云端会面临数据存在安全隐患等问题,存储在本地数据库将不利于数据共享。除此之外,现有方案缺乏对CAD模型版权的认证以及模型数据难可信共享等问题。
发明内容
基于此,本发明的目的是提供一种基于区块链的三维建模协作方法及系统,用于解决现有技术中缺乏对CAD模型版权的认证以及模型数据难可信共享的问题。
本申请一方面提供一种基于区块链的三维建模协作方法,应用于数据加密端,方法包括:
获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,所述初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据;
获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一所述路径哈希对应每一文件存储位置的位置索引。
另外,根据本发明上述的基于区块链的三维建模协作方法,还可以具有如下附加的技术特征:
进一步地,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据的步骤包括:
采用AES密钥生成算法,自动在区块链中生成随机密钥并设置一个key值,密钥作为value值,以k-v键值对的形式保存在账本中;
每个通道内的团队成员可以通过查询key值获取到AES密钥,对于需要加入团队的成员,团队会为其在区块链中添加证书,新用户以此作为身份凭证,通道会对申请加入的用户进行审核以判断是否为合法用户;
若为合法用户,则允许通过,新加入的成员可以查询到账本中的AES密钥并进行后续工作;
若为非法用户,则验证失败将拒绝加入。
进一步地,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据的步骤之前包括:
区块链平台为每个成员分配一组ECC公私钥,每个成员都单独控制一个节点并加入一个通道内,其中,只有负责人控制的节点具备交易上传权限,普通成员控制的节点只具备交易查询权限;
同一个团队成员都加入一个通道内,每个通道对应一个区块链账本,对通道外的账户进行数据隔离。
进一步地,获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希的步骤包括:
将每一文件分割成若干加密数据小块,并将若干加密数据小块进行分散存储,每一存储后的加密数据小块对应一哈希,且对每一加密数据小块都进行备份,不同加密数据小块的哈希构成存储文件的路径哈希;
其中,相同加密数据小块生成固定哈希以实现防篡改和去冗余。
本申请一方面还提供一种基于区块链的三维建模协作方法,应用于数据解密端,方法包括:
获取每一子模型的模型信息,所述模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密;
获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查;
根据审查结果判断转换得到的子模型是否合格;
若合格,则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链;
若不合格,则反馈给设计者以使设计者重新设计子模型。
另外,根据本发明上述的基于区块链的三维建模协作方法,还可以具有如下附加的技术特征:
进一步地,在将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链的步骤中,环签名的具体步骤为:
负责人从模型设计者提交的模型信息中获取设计者名单,再从系统公钥集中获取设计者对应的公钥,该公钥来自于区块链平台为每个团队成员分配的ECC公私钥对;
将负责人的私钥以及设计者的公钥进行环签名,并将环签名信息以及设计者提交的模型信息一起组成交易,作为待上链的交易。
本申请另一方面提供一种数据加密端,用以实现上述的基于区块链的三维建模协作方法,所述数据加密端包括:
加密模块,用于获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,所述初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据;
存储模块,用于获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一所述路径哈希对应每一文件存储位置的位置索引。
本申请另一方面还提供一种数据解密端,用以实现上述的基于区块链的三维建模协作方法,所述数据解密端包括:
解密模块,用于获取每一子模型的模型信息,所述模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密;
转换模块,用于获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查;
判断模块,用于根据审查结果判断转换得到的子模型是否合格;
第一执行模块,用于当转换得到的子模型合格时,则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链;
第二执行模块,用于当转换得到的子模型不合格时,则反馈给设计者以使设计者重新设计子模型。
本申请另一方面还提供一种基于区块链的三维建模协作系统,所述系统包括数据加密端以及数据解密端,所述数据加密端采用上述的数据加密端,所述数据解密端采用上述的数据解密端。
上述基于区块链的三维建模协作方法、数据加密端、数据解密端及系统,通过引入星际文件系统(InterPlanetary File System,以下简称IPFS)作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护,解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
附图说明
图1为本发明实施例中CAD-IPFS-区块链整体框架示意图;
图2为本发明实施例中三维建模协同工作流程示意图;
图3为本发明第一实施例中基于区块链的三维建模协作方法的流程图;
图4为本发明第一实施例中公共密钥设计示意图;
图5为本发明第二实施例中基于区块链的三维建模协作方法的流程图;
图6为本发明第二实施例中环签名流程示意图;
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
为了解决现有技术中缺乏对CAD模型版权的认证以及模型数据难可信共享等问题,本申请通过引入IPFS作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护。解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
在确定对CAD三维建模进行团队协作设计时,设计团队由一个负责人和多个普通成员组成,负责人负责对成员设计模型的审查以及模型的合并;普通成员进行子模型的设计。本专利采用Hyperledger Fabric作为区块链平台,在开始工作前,区块链平台为每个成员分配一组ECC公私钥,在联盟链网络中,每个成员都单独控制一个节点并加入一个通道内。其中,只有负责人控制的节点具备交易上传权限,普通成员控制的节点只具备交易查询权限。
IPFS:即星际文件系统,是一种以分布式哈希表作为索引结构,以Merkle有向无环图作为数据结构的分布式文件系统。IPFS以独有的方式将一个文件分割成若干个加密数据小块,分散存储在互联网各处,且每一个小块都进行了备份。正是基于IPFS的内容寻址方式和分布式储存机制保证了文件的隐私性和容错性,相同文件生成全球固定哈希实现防篡改和去冗余,另外,相比于HTTP模式,IPFS的文件下载速度更快,理论上只要获取了文件的哈希值,就能实现跨地区共享文件。面对区块链储存文件方式单一、存储容量限制等制约,IPFS作为一种新型内容分发存储技术,它的引入能够弥补上述局限性,能够与区块链技术达到协同增效作用。
图1为整体框架设计图。团队成员将设计好的CAD三维子模型导出为obj格式,导出的文件包括obj后缀模型文件和mtl后缀材质库文件,两者均以文本格式保存。之后,使用公共密钥对文件依次进行AES加密,将加密后的文件依次上传到IPFS中,上传成功后,设计者将依次得到对应的路径哈希,该路径哈希是对应文件存储在IPFS中的位置索引,且具有唯一性。然后,设计者将包含设计子模型相关的信息提交给负责人,该信息包括模型编号、模型名称、模型说明、存储路径以及设计者,模型编号是整个团队进行CAD三维建模设计对象的编号,在后续作为上链交易的k值,模型名称为子模型名称,模型说明为子模型的描述,存储路径为子模型文件在IPFS存储的路径哈希,设计者为子模型的设计者。负责人根据设计者提交的子模型信息,从IPFS中获取子模型文件并在解密后,在开发工具上将模型文件转换为模型,对该模型进行审查,若审查为合格,则将设计者提交的信息以及使用负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,若审查为不合格,则回复设计者需重新设计子模型。通过将模型的开发记录保存在区块链中,可以完整地追踪模型开发的流程并通过附带的环签名可提供清晰的版权认证。
如图2为三维建模协同工作流程。这一过程贯穿CAD三维建模团队协作的始终,每个成员都是按照这个过程进行提交模型文档。具体过程为:
模型设计者通过在区块链中进行历史查询获取当前模型开发的所有记录,其中,本专利采用CouchDB作为区块链数据库,可对交易进行富查询操作,利用HyperledgerFabric提供的GetHistoryForKey()接口将CAD模型编号作为输入进行历史交易查询,可以追溯该模型所有提交记录。
设计者根据自己设计的模型判断是否需要依赖其它模型。
若不需要,则直接进行模型设计;
若需要,则检测依赖模型是否完成。
若依赖模型未完成,则等待一段时间后重新查看模型开发记录,直到相关依赖模型完成。
若依赖模型完成,则开始模型设计。
当设计者完成模型的设计后,将其导出为obj后缀的模型文件和mtl后缀的材质文件。
从区块链中查询得到公共密钥,并对导出的文件进行AES加密。
模型设计者将加密的文件上传到IPFS中,并将模型的相关信息提交给负责人。
负责人根据模型信息还原出模型并对其审查,判断其是否合格。
若合格,则对文件进行环签名。
若不合格,则要求模型设计者重新设计模型。
当负责人对文件完成环签名后,将签名信息添加到模型信息中,并将其作为交易上链。
为了便于理解本发明,下面将给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
实施例一
请参阅图3,所示为本发明第一实施例中的基于区块链的三维建模协作方法,方法应用于数据加密端,方法包括步骤S101至S102:
S101、获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据。
作为一个具体示例,区块链平台为每个成员分配一组ECC公私钥,每个成员都单独控制一个节点并加入一个通道内,其中,只有负责人控制的节点具备交易上传权限,普通成员控制的节点只具备交易查询权限;同一个团队成员都加入一个通道内,每个通道对应一个区块链账本,对通道外的账户进行数据隔离。
具体的,如图4为公共密钥设计示意图。在Hyperledger Fabric中,同一个团队成员都加入一个通道内,每个通道对应一个区块链账本,对通道外的账户进行数据隔离。采用AES密钥生成算法,自动在区块链中生成随机密钥并设置一个key值,密钥作为value值,以k-v键值对的形式保存在账本中;每个通道内的团队成员可以通过查询key值获取到AES密钥,对于需要加入团队的成员,团队会为其在区块链中添加证书,新用户以此作为身份凭证,通道会对申请加入的用户进行审核以判断是否为合法用户;若为合法用户,则允许通过,新加入的成员可以查询到账本中的AES密钥并进行后续工作;若为非法用户,则验证失败将拒绝加入。在密钥生成到密钥获取的过程中,成员之间避免了密钥的协商,最大程度的保证了密钥的安全性,而Hyperledger Fabric作为验证准入的联盟链也可以确保密钥不被窃取,因此,密钥仅限于团队成员之间的公开,对于其他人员是机密的,这也保障了CAD文件在存储时的安全。
以协同开发一个卧室的CAD模型为例对本专利的技术进行讲解。该模型需要完成卧室的主体结构、电线排布、书桌以及床的设计。根据模型的组成部分,将安排一个5人团队进行完成,其中,1人为团队负责人,进行模型的审查和合并;4人为普通成员,每人负责一个模块设计。预备阶段,联盟链为每个团队成员分配一组ECC公私钥对,并且成员控制的终端都加入一个新的通道中,只有负责人控制的终端具有交易上链权限,其它普通成员控制的终端只有交易查询的权限,在通道内会随机生成一个公共密钥,存储在区块链账本中,所有成员均可访问。
设计阶段,对于负责主体结构、书桌以及床的设计者,由于不存在依赖模型可直接开始设计,当负责相关模块的成员完成设计后,将设计的模型导出为obj文件和mtl文件,并使用公共密钥对文件进行AES加密,之后,将加密文件存储到IPFS中,IPFS会返回存储文件的路径哈希给相关设计者。
S102、获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一路径哈希对应每一文件存储位置的位置索引。
将每一文件分割成若干加密数据小块,并将若干加密数据小块进行分散存储,每一存储后的加密数据小块对应一哈希,且对每一加密数据小块都进行备份,不同加密数据小块的哈希构成存储文件的路径哈希;其中,相同加密数据小块生成固定哈希以实现防篡改和去冗余。
综上,本发明上述实施例当中的基于区块链的三维建模协作方法,通过引入IPFS作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护,解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
实施例二
请参阅图5,所示为本发明第二实施例中的基于区块链的三维建模协作方法,方法应用于数据解密端,包括步骤S201至S205:
S201、获取每一子模型的模型信息,模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密。
S202、获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查。
S203、根据审查结果判断转换得到的子模型是否合格。
若不合格,则执行步骤S204;
若合格,则执行步骤S205;
S204、反馈给设计者以使设计者重新设计子模型。
S205、将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链。
作为一个具体示例,如图6为环签名流程示意图。在本专利中,环签名用于对模型版权的认证,可同时对2人及以上人群进行签名。在CAD三维建模团队协作中,负责人负责对整体模型设计进程的统筹,对所有团队设计模型都拥有版权,因此,环签名由负责人和模型设计者组成,并且,负责人使用私钥签名,设计者(可多位)使用公钥签名,在签名完成后,可使用所有签名者的公钥验证签名的有效性。环签名的具体方法为:
负责人从模型设计者提交的模型信息中获取设计者名单,再从系统公钥集中获取设计者对应的公钥,该公钥来自于区块链平台为每个团队成员分配的ECC公私钥对;将负责人的私钥以及设计者的公钥进行环签名,并将环签名信息以及设计者提交的模型信息一起组成交易,作为待上链的交易。
还是以协同开发一个卧室的CAD模型为例对本专利的技术进行讲解。设计者将包含模型编号、模型名称、模型说明、存储路径以及设计者的模型信息提交给负责人,负责人根据模型的存储路径从IPFS中下载模型加密文件,并使用公共密钥进行解密,获取模型文件,之后,将模型的obj文件和mtl文件导入建模工具中还原模型,对模型进行审查,若审查结果为合格,则使用自己的私钥和设计者的公钥进行环签名,并将环签名加入模型信息中,作为交易进行上链,若审查结果为不合格,则要求设计者重新设计模型。对于负责线路排布的设计者,需要等待卧室主体结构完成后才能开始设计,设计完成之后的流程,与其他设计者一样,但需要说明的,电线排布设计是在卧室主体结构设计的基础上进行的,因此,设计人包括卧室主体结构设计者和电线排布设计者,当进行环签名时,会使用负责人私钥、卧室主体结构设计者公钥和电线排布设计者公钥进行签名。
合并阶段,当卧室的所有部分都设计完成后,负责人需要将所有子模型合并为完整的模型,并使用所有设计成员的公钥进行环签名,这代表着完整CAD模型由团队成员共同完成。
在本申请中,将CAD模型转化为obj文件格式,便于文件的加密以及不同版本、不同类型CAD开发工具间数据的兼容;使用IPFS存储数据量大的CAD模型,区块链记录模型的开发过程,两者的去中心化网络有效保障了CAD模型数据的安全;采用通道技术和公共密钥设计,实现了在保障数据安全前提下的数据共享;采集权限分离的策略,实现了CAD模型开发中的规范性;引入环签名方案,实现了CAD模型的版权认证;提供历史查询功能,实现了CAD模型的开发全过程记录和查询。
综上,本发明上述实施例当中的基于区块链的三维建模协作方法,通过引入IPFS作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护,解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
实施例三
本发明第三实施例提供一种数据加密端,包括:
加密模块,用于获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据;
存储模块,用于获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一路径哈希对应每一文件存储位置的位置索引。
综上,本发明上述实施例当中的数据加密端,通过引入IPFS作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护,解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
实施例四
本发明第四实施例提供一种数据解密端,包括:
解密模块,用于获取每一子模型的模型信息,模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密;
转换模块,用于获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查;
判断模块,用于根据审查结果判断转换得到的子模型是否合格;
第一执行模块,用于当转换得到的子模型合格时,则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链;
第二执行模块,用于当转换得到的子模型不合格时,则反馈给设计者以使设计者重新设计子模型。
综上,本发明上述实施例当中的数据解密端,通过引入IPFS作为云存储介质,兼顾了模型数据的安全和扩展性能,将三维模型划分为多个子模型,并通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据并存储于IPFS中,采用公共密钥方法,实现了在保证数据隐私的前提下更快捷的数据共享;在对设计者设计的子模型的审核环节,通过路径哈希获得每一设计者上传存储于IPFS中的子模型的模型数据,并进行数据解密获得解密后的模型文件,从而得到设计者设计的子模型并进行审查,根据审查结果判断子模型是否合格,如果合格则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链,采用环签名作为签名算法,可支持多人同时签名,提供对存在交叉关系的模型更灵活、更简便的版权保护,解决了现有技术中缺乏对三维模型版权的认证以及模型数据难可信共享等问题。
本申请还提供一种基于区块链的三维建模协作系统,所述系统包括数据加密端以及数据解密端,所述数据加密端采用上述实施例所述的数据加密端,所述数据解密端采用上述实施例所述的数据解密端。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (6)

1.一种基于区块链的三维建模协作方法,其特征在于,包括数据加密和数据解密两个步骤,数据加密步骤包括:
获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,所述初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据;
获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一所述路径哈希对应每一文件存储位置的位置索引;
其中,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据的步骤之前包括:
区块链平台为每个团队成员分配一组ECC公私钥,每个团队成员都单独控制一个节点并加入一个通道内,其中,只有负责人控制的节点具备交易上传权限,普通成员控制的节点只具备交易查询权限;
在Hyperledger Fabric中,同一个团队成员都加入一个通道内,每个通道对应一个区块链账本,对通道外的账户进行数据隔离;
通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据的步骤包括:
采用AES密钥生成算法,自动在区块链中生成随机密钥并设置一个key值,密钥作为value值,以k-v键值对的形式保存在账本中;
每个通道内的团队成员可以通过查询key值获取到AES密钥,对于需要加入团队的成员,团队为其在区块链中添加证书,新用户以此作为身份凭证,通道对申请加入的用户进行审核以判断是否为合法用户;
若为合法用户,则允许通过,新加入的成员可以查询到账本中的AES密钥并进行后续工作;
若为非法用户,则验证失败将拒绝加入;
数据解密步骤包括:
获取每一子模型的模型信息,所述模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密;
获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查;
根据审查结果判断转换得到的子模型是否合格;
若合格,则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链;在CAD三维建模团队协作中,负责人负责对整体模型设计进程的统筹,对所有团队设计模型都拥有版权,环签名由负责人和设计者组成,并且,负责人使用私钥签名模型,设计者使用公钥签名,在签名完成后,使用所有签名者的公钥验证签名的有效性;负责人从设计者提交的模型信息中获取设计者名单,再从系统公钥集中获取设计者对应的公钥,该公钥来自于区块链平台为每个团队成员分配的ECC公私钥对;将负责人的私钥以及设计者的公钥进行环签名,并将环签名信息以及设计者提交的模型信息一起组成交易,作为待上链的交易;
若不合格,则反馈给设计者以使设计者重新设计子模型。
2.根据权利要求1所述的基于区块链的三维建模协作方法,其特征在于,获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希的步骤包括:
将每一文件分割成若干加密数据小块,并将若干加密数据小块进行分散存储,每一存储后的加密数据小块对应一哈希,且对每一加密数据小块都进行备份,不同加密数据小块的哈希构成存储文件的路径哈希;
其中,相同加密数据小块生成固定哈希以实现防篡改和去冗余。
3.根据权利要求1所述的基于区块链的三维建模协作方法,其特征在于,用于协同开发一个卧室的CAD模型,需要完成卧室的主体结构、电线排布、书桌以及床的设计;根据CAD模型的组成部分,将安排一个多人团队进行完成,其中,1人为负责人,进行模型的审查和合并;其他人为普通成员,每人负责一个模块设计;预备阶段,联盟链为每个团队成员分配一组ECC公私钥对,并且团队成员控制的终端都加入一个新的通道中,只有负责人控制的终端具有交易上链权限,其它普通成员控制的终端只有交易查询的权限,在通道内会随机生成一个公共密钥,存储在区块链账本中,所有团队成员均可访问;
设计阶段,当负责相关模块的团队成员完成设计后,将设计的模型导出为obj文件和mtl文件,并使用公共密钥对文件进行AES加密,之后,将加密文件存储到IPFS中,IPFS会返回存储文件的路径哈希给相关设计者;
设计者将包含模型编号、模型名称、模型说明、存储路径以及设计者的模型信息提交给负责人,负责人根据模型的存储路径从IPFS中下载模型加密文件,并使用公共密钥进行解密,获取模型文件,之后,将模型的obj文件和mtl文件导入建模工具中还原模型,对模型进行审查,若审查结果为合格,则使用自己的私钥和设计者的公钥进行环签名,并将环签名加入模型信息中,作为交易进行上链,若审查结果为不合格,则要求设计者重新设计模型;对于负责线路排布的设计者,需要等待卧室主体结构完成后才能开始设计,设计完成之后的流程,与其他设计者一样,但需要说明的,电线排布设计是在卧室主体结构设计的基础上进行的,因此,电线排布设计者包括卧室主体结构设计者和电线排布设计者,当进行环签名时,会使用负责人私钥、卧室主体结构设计者公钥和电线排布设计者公钥进行签名;
合并阶段,当卧室的所有部分都设计完成后,负责人需要将所有子模型合并为完整的模型,并使用所有团队成员的公钥进行环签名,这代表着完整CAD模型由团队成员共同完成。
4.一种数据加密端,其特征在于,用以实现上述权利要求1中所述的数据加密步骤,所述数据加密端包括:
加密模块,用于获取每一子模型的初始模型数据,每一子模型对应一设计者,负责人与多个设计者构成一设计团队,所述初始模型数据包括obj后缀模型文件和mtl后缀材质库文件,通过公共密钥对每一子模型的初始模型数据依次进行AES加密以得到加密后的模型数据;
存储模块,用于获取加密后的模型数据并进行存储,每一存储后的加密数据对应一路径哈希,每一所述路径哈希对应每一文件存储位置的位置索引。
5.一种数据解密端,其特征在于,用以实现上述权利要求1中所述的数据解密步骤,所述数据解密端包括:
解密模块,用于获取每一子模型的模型信息,所述模型信息包括模型编号、模型名称、模型说明、存储路径以及设计者,根据模型信息获取模型文件并对得到的模型文件进行解密;
转换模块,用于获取解密后的模型文件并进行转换以得到每一子模型,对转换得到的子模型进行审查;
判断模块,用于根据审查结果判断转换得到的子模型是否合格;
第一执行模块,用于当转换得到的子模型合格时,则将模型信息以及负责人私钥和设计者公钥形成的环签名一起作为交易进行上链;
第二执行模块,用于当转换得到的子模型不合格时,则反馈给设计者以使设计者重新设计子模型。
6.一种基于区块链的三维建模协作系统,其特征在于,包括权利要求4所述的数据加密端和权利要求5所述的数据解密端。
CN202211631766.0A 2022-12-19 2022-12-19 一种基于区块链的三维建模协作方法及系统 Active CN115619947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211631766.0A CN115619947B (zh) 2022-12-19 2022-12-19 一种基于区块链的三维建模协作方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211631766.0A CN115619947B (zh) 2022-12-19 2022-12-19 一种基于区块链的三维建模协作方法及系统

Publications (2)

Publication Number Publication Date
CN115619947A CN115619947A (zh) 2023-01-17
CN115619947B true CN115619947B (zh) 2023-12-26

Family

ID=84881076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211631766.0A Active CN115619947B (zh) 2022-12-19 2022-12-19 一种基于区块链的三维建模协作方法及系统

Country Status (1)

Country Link
CN (1) CN115619947B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343286A (zh) * 2021-08-05 2021-09-03 江西农业大学 一种数据加解密方法、数据上传端、数据接收端及系统
CN114362970A (zh) * 2022-03-17 2022-04-15 江西农业大学 一种基于智能合约的环签名方法、系统、存储介质及设备
CN115238288A (zh) * 2022-07-25 2022-10-25 重庆邮电大学 一种工业互联网数据的安全处理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180096175A1 (en) * 2016-10-01 2018-04-05 James L. Schmeling Blockchain Enabled Packaging
US20200412525A1 (en) * 2019-06-26 2020-12-31 Grid7 Llc D/B/A Taekion Blockchain filesystem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343286A (zh) * 2021-08-05 2021-09-03 江西农业大学 一种数据加解密方法、数据上传端、数据接收端及系统
CN114362970A (zh) * 2022-03-17 2022-04-15 江西农业大学 一种基于智能合约的环签名方法、系统、存储介质及设备
CN115238288A (zh) * 2022-07-25 2022-10-25 重庆邮电大学 一种工业互联网数据的安全处理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张森等.面向冷链物流的区块链技术方案研究与实现.计算机工程与应用.2019,第19-27页. *
拉杰尼什·古普塔(Rajneesh Gupta).区块链安全实战.机械工业出版社,2020,第62-66页. *
能源区块链的关键技术及信息安全问题研究;丁伟;王国成;许爱东;陈华军;洪超;;中国电机工程学报(04);全文 *

Also Published As

Publication number Publication date
CN115619947A (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US11366882B2 (en) Method and system for verifying integrity of a digital asset using a distributed hash table and a peer-to-peer distributed ledger
CN108846776B (zh) 一种基于区块链技术的数字版权保护方法
Fill et al. Knowledge blockchains: Applying blockchain technologies to enterprise modeling
CN109377198A (zh) 一种基于联盟链多方共识的签约系统
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
JP2022507796A (ja) ブロックチェーン上にデータを格納するコンピュータにより実施されるシステム及び方法
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
CN111475836A (zh) 一种基于联盟区块链的档案管理方法及装置
CN112307513B (zh) 基于时域共识的上链文档安全管理方法、装置和电子设备
CN105049420A (zh) 基于扩展uml的轻量级安全协议形式化验证方法
CN111651794A (zh) 基于联盟链的电子数据管理方法、装置和存储介质
CN112435026B (zh) 用零知识证明保护文件交易信息的方法、装置和电子设备
CN113032827B (zh) 一种基于区块链技术的论文同行评审方法
Sun et al. Research on logistics information blockchain data query algorithm based on searchable encryption
CN114357475A (zh) 一种基于区块链的数据确权方法、系统、设备及介质
CN115619947B (zh) 一种基于区块链的三维建模协作方法及系统
Chen et al. DCDChain: A credible architecture of digital copyright detection based on blockchain
JP7443558B2 (ja) ブロックチェーンの設定可能なオフチェーンストレージに関するコンピューティングシステム
KR102294569B1 (ko) 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템
Huang et al. Privacy Protection Scheme of Medical Electronic Health Records Based on Blockchain and Asymmetric Encryption
CN109491981B (zh) 基于区块链的文件管理方法和装置
Sangeetha et al. Development of novel blockchain technology for certificate management system using cognitive image steganography techniques
Salehi Integration of blockchain technologie in case of systems engineering and software engineering in an industrial context
Satheesh et al. AB-DAM: attribute-based data access model in blockchain for healthcare applications
Gorog A Synergistic Approach to Digital Privacy

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