1.本发明涉及区块链技术领域,具体涉及一种基于区块链信任机制的标识解析系统实现方法。
背景技术:
2.ecode体系是由中国物品编码中心提出的,于2015年确定的具有完全自主知识产权的首个工业物联网标识体系编码标准,其标准号为gb t 31866
‑
2015,该标准规定了物联网对象的统一编码规则。在2018年又发布了物联网标识体系ecode解析规范gb/t 36605
‑
2018,新规范规定了ecode解析体系架构的功能和要求。所以ecode体系不仅是一个编码标准,而且是由ecode编码、数据标识、中间件、解析系统、信息查询、安全机制等组成的完整体系结构。
3.ecode体系在兼顾各种标识方法特点的情况下,针对当前物联网中的通用集成电路卡、芯片、终端类的主动标识数据载体和以一维码、二维码、射频标签、nfc标签等为代表的被动标识数据载体等,提出了兼容各种编码的方案,实现物联网环境下的一物一码,赋予物品的唯一身份证,在产品追溯查询、防伪验证、产品营销的数据采集跟踪等环节完成标识物品的全生命周期管理。
4.ecode编码采用三段式层次编码结构,具体由版本(v,version)、编码体系标识(nsi,numbering system identifier)和主码(md,master data code)三部分构成,即e=v nsi md。其中v负责标识不同结构的编码;nsi为标识体系代码,指明该标识的所属体系;nsi长度和v,由我国物联网统一编码管理机构分配;主码md由某一编码体系的管理机构自行管理和维护。
5.工业互联网标识解析体系是工业互联网网络体系的关键基础设施,是支撑工业互联网互联互通的神经枢纽,其作用就类似于互联网领域的dns(domain name system,域名解析系统),为跨领域、跨行业、跨企业提供基础资源和信息的互联互通服务。工业互联网标识解析体系主要通过给每一个设备、产品、终体系端、网络节点等赋予一个唯一的身份标识,在兼容多种编码体系并借助工业互联网标识解析系统加持下实现信息查询和共享。鉴于标识解析体系在工业互联网建设中的重要性,国内外现已存在多种标识解析体系,如:美国提出的产品电子代码(electronic product code,epc)技术;由iso/iec、itu共同提出的对象标识符(object identifier,oid)技术;由国际dona基金会组织运行和管理的全球分布式管理系统handle系统以及由我国自主研发的物联网统一标识(entity code for iot,ecode)技术等。ecode体系是我国具有完全自主知识产权,拥有完整的编码方案和统一的数据结构,适用于任何物联网对象的工业物联网解析标准,目前ecode体系已广泛应用于我国工业生产的各个领域,在工业生产、溯源查询、防伪验证、生产营销等方面提供强有力的支撑。
6.作为我国工业互联网神经枢纽的ecode标识解析体系一旦遭受到攻击,将对整个工业互联网的信息互通和产业流通造成严重的破坏。根据研究者的分析,目前ecode标识解
析体系在实用过程中面临着诸多安全风险,如余果、王冲华等人在文献《认证视角下的工业互联网标识解析安全》中从标识注册、接入、管理与解析等多个方面列举了标识生命周期过程中的风险以及相应危害。池程、马宝罗等人在文献《工业互联网标识解析安全风险模型研究》中出一种标识解析体系的风险模型,该模型分为体系架构风险、身份管理风险、数据服务风险和系统运营风险4类,并对4类风险依次进行了分析,例如标识解析体系中某些关键节点出现问题将会导致影响其他节点功能;当在数据采集、传输、交换、存储环节等被非法用户所获得时将会对个人、企业甚至国家都带来损失。
7.当前,大量研究者对ecode解析体系结构的研究集中在解析体系改进和不同编码的融合问题上,很少涉及解析的安全问题,都忽略了解析网络中的安全漏洞,尤其在解析过程的安全攻击、解析数据传输的可靠性问题等。如:黄永霞在《cx公司的食品冷链物流追溯系统优化研究》一文中提出了一种冷链物流追溯系统,虽然系统实现了全流程的冷链物品追溯和高效的信息共享,但并未给出安全问题的解决方案;姚丽霞在《rfid技术在食品冷链物流追溯中的应用》一文中针对冷链食品需求的低温快速的特点,提出了一种基于rfid技术的冷链物流食品追溯系统,实现了物品数据的管理和溯源,虽明确提出rfid标签存储数据面临安全风险,但也未给出有效解决方案;张东旭在《基于区块链的物联网异构标识对等解析技术研究》一文中提出了一种基于区块链的异构标识解析系统,在解析服务器地址映射表方面实现只有私钥拥有者才可以对其修改,但是未考虑到标识数据映射和解析过程中的安全问题。
技术实现要素:
8.为了解决上述问题,本发明提供一种基于区块链信任机制的标识解析系统实现方法,将区块链信任机制与工业互联网ecode标识解析技术相结合,解决了标识解析过程中的安全漏洞,实现标识解析过程中企业信息服务器和客户端身份的安全认证和解析数据的传输安全,提高了标识解析系统的安全性。
9.为了实现以上目的,本发明采取的一种技术方案是:
10.本发明提供了一种基于区块链信任机制的标识解析系统实现方法,包括如下步骤:s10、系统初始化,可信机构为接入的企业信息服务器入网注册、生成公私钥、颁发证书,并完成企业信息服务器的id和标识数据的区块链写入;s20、标识安全解析,利用区块链技术实现标识相应的企业信息服务器身份和解析数据的可靠性验证;s30、数据安全传输,设计客户端和企业信息服务器会话密钥协商算法,生成安全传输通道,并利用签名技术实现解析数据安全、完整性传输。
11.进一步地,标识解析系统包括标识平台lp以及通过工业互联网与lp相连的客户端client、可信中心tc、企业信息服务器is、ecode标头结构解析系统rs,client、tc、is、rs以及lp通过区块链存储和共享数据。
12.进一步地,步骤s10包括:s11、企业向lp提出注册申请,递交相关辅助材料至lp并对辅助材料使用s
co
签名,辅助材料包括is指纹、相关证书;s12、lp核实辅助材料后,执行is入网操作,触发智能合约算法:根据企业提供的is指纹id
is
检索该主机,若无该主机对应记录,则调用registed(id
is
,ip),完成is注册功能,实现is身份入标识平台维护的block a任务,其中,block a用于以key
‑
value的形式记录存储is的身份id和ip地址的映射关系,key
定义为企业信息服务器的身份id,value定义为该企业信息服务器的ip地址;s13、tc颁发证书,tc为is生成公私钥,并将ca证书发给is,具体为:选择两个大素数n、q,满足n
‑
1≡0(modq),选择整数α使得α
q
=1modn,选择随机数s作为用户私钥s
is
,其中0<s<q,计算用户公钥p=α
‑
s
modn,定义为p
is
,公开参数{α,n,q,p},加解密算法采用离散对数难题:m
key
modn,key为p
is
或者s
is
,生成证书cert
is
,证书cert
is
中包含:is的公钥p
is
、证书有效期、tc的签名信息,is下载存储tc公共参数、签名证书和公、私钥;s14、lp返回给企业编码的v nsi并对其签名:{v nsi,sign(s
lp
,v nsi)};s15、企业生成完整编码ecode和数据data,并上传至is;s16、is将完整的编码发送到lp,由平台完成在ecode标头结构解析系统中的进一步注册;s17、is将编码和产品信息数据的摘要:ecode,h(data),共识至block b,其中,block b由各个is共同维护,用来记录ecode编码和该编码数据的摘要,存储为key
’‑
value’结构,其中key’为完整的ecode编码,value’为该编码所对应的完整的数据的摘要。
13.进一步地,所述s11中is指纹由is指纹算法生成,is指纹算法如下:由is计算其主机的时钟偏移率off,同时为了更好的提高主机识别的精确度,使用off结合ip地址和mac物理地址一起计算哈希值,以获得该主机的唯一身份id。
14.进一步地,步骤s20包括:s21、请求解析,client的识读器向lp发出解析请求{apply,ecode},lp转发该请求至ecode标头结构解析系统;s22、标识数据所在企业信息服务器ip地址的定位,具体为ecode标头结构解析系统接收到编码解析请求后,先由编码体系解析服务器将接收到的ecode编码分离出版本v、编码体系标识nsi、主码md,并转化成标识识别域名,由编码数据结构解析服务器完成下一步解析,编码数据结构解析服务器上记录了标识识别域名和主码域名的映射关系,可将标识识别域名按规则转换成主码域名,最后由主码解析服务器查询得到该编码对应的解析结果,即企业信息服务器ip地址,并将企业信息服务器ip地址返回给lp;s23、实现企业信息服务器id的获取,lp根据所获得的ip地址向is发出请求{apply,id
is
},is响应该请求,计算自己的身份id=h(off,ip,mac)返回给lp;s24、企业信息服务器id的验证,lp调用智能合约search(id),在block a上验证此身份id和ip地址映射,若验证不正确,则解析失败,此is不可信任,向client发出解析失败消息,否则转步骤s25;s25、返回解析结果lp将验证可信的企业信息服务器ip地址返回给client。
15.进一步地,步骤s30包括:s31、申请解析,client向is方发出解析申请request;s32、获取证书,is发送证书cert
is
给client,client在认证后获取is的公钥p
is
;s33、client生成随机数n1,使用公钥p
is
加密随机数n1和身份id,将密文e(p
is
,n1,id)发给is;s34、is解密,is使用私钥s
is
解密密文,生成新的随机数n2,使用s
is
加密n1和n2发送给client:e(s
is
,(n1,n2));s35、is判断client身份,client使用is公钥p
is
解密密文获得n1和n2,判断n1的正确性,若正确,可确认消息来源于该is,client使用is公钥p
is
加密n2,产生密文返回给is:e(p
is
,n2),is即可判断client身份的正确性;s36、随机生成会话密钥k,产生密文m1=e(p
is
,(n1,n2,k))发送给is,随机数n1、n2用于身份的验证;s37、is获取会话密钥,is使用其私钥s
co
解密m1,过程为d(s
is
,m1),在判断n1和n2正确的基础上获得client相同的会话密钥k,至此完成会话密钥的协商,其中m1为加密的会话密钥;s38、is对数据签名后用选择aes算法的cbc模式,利用会话密钥k加密e(k,(m2,(e,y)))发送给client,其中e、y为过程参数;s39、client解密数据并验签,client接收到数据,选择aes算法的cbc模式执行d(k,e(k,(m2,(e,y))))获得(m2,(e,y)),并对解析数据明文m2进行完整性、防篡改认证。
16.进一步地,步骤s38包括:s381、is选择随机整数r,0<r<q,计算x=α
r
modn,该过程与待签名的消息m2无关,x为过程参数;s382、将x附在消息后面一起计算hash值e=h(m2||x);s383、计算y=(r s
is
e)modq,签名包括(e,y),将生成加密信息e(k,(m2,(e,y)))发送至client。
17.进一步地,步骤s39包括:s391、计算x'=α
y
p
ise
modn;s392、验证e=h(m2||x)和e=h(m2||x')的一致性,过程为:若一致,则获得可靠解析数据m2,递交终端显示,否则表明该数据被篡改,丢弃该数据。
18.本发明的上述技术方案相比现有技术具有以下优点:
19.(1)本发明的一种基于区块链信任机制的标识解析系统实现方法,将区块链信任机制与工业互联网ecode标识解析技术相结合,解决了标识解析过程中的安全漏洞,实现标识解析过程中企业信息服务器和客户端身份的安全认证和解析数据的传输安全,提高了标识解析系统的安全性。
20.(2)本发明的一种基于区块链信任机制的标识解析系统实现方法,设计了一种唯一标识网络中主机的is指纹算法,利用硬件原因造成的主机的时钟偏移率,结合企业信息服务器的ip地址和mac地址共同计算哈希值作为企业信息服务器的身份id,此id值被用作唯一标识该企业信息服务器。
21.(3)本发明的一种基于区块链信任机制的标识解析系统实现方法,通过在标识平台部署区块链,每台入网的企业信息服务器都需要递交其唯一身份id和ip地址,并由标识平台入区块链,解析时根据解析结果去相应的企业信息服务器请求其id值,并在区块链中验证该id和ip的映射,实现企业信息服务器的可信验证。
22.(4)本发明的一种基于区块链信任机制的标识解析系统实现方法,将各企业信息服务器组成区块链网络,将标识和标识数据的哈希值共识入区块链,通过计算解析到数据的hash值并在区块链上比对验证,实现解析数据的可信。
23.(5)本发明的一种基于区块链信任机制的标识解析系统实现方法,设计了一种会话密钥生成的算法,客户端向企业信息服务器方申请证书获取其公钥,通过交换随机数的方式确定双方身份,并完成会话密钥的协商,建立安全通道实现数据的传输。
24.(6)本发明的一种基于区块链信任机制的标识解析系统实现方法,利用数字签名技术及公钥密码体制,有效防止中间人攻击,可对解析数据进行完整性和防篡改认证。
附图说明
25.下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其有益效果显而易见。
26.图1所示为本发明一实施例的基于区块链信任机制的标识解析系统实现方法的流程图;
27.图2所示为本发明一实施例的ecode解析体系环境下的方案物理结构图;
28.图3所示为本发明一实施例的ecode解析体系环境下的方案逻辑结构图;
29.图4所示为本发明一实施例的区块结构图;
30.图5所示为本发明一实施例的系统初始化流程图;
31.图6所示为本发明一实施例的企业信息服务器的查询和注册算法图;
32.图7所示为本发明一实施例的编码查询、注册、数据验证图;
33.图8所示为本发明一实施例的标识安全解析流程图;
34.图9所示为本发明一实施例的ecode标识解析安全业务流程图;
35.图10所示为本发明一实施例的安全通道建立流程图;
36.图11所示为本发明一实施例的解析时延变化图。
具体实施方式
37.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.本实施例提供了一种基于区块链信任机制的标识解析系统实现方法,如图1所示,包括如下步骤:s10、系统初始化,可信机构为接入的企业信息服务器入网注册、生成公私钥、颁发证书,并完成企业信息服务器的id和标识数据的区块链写入。s20、标识安全解析,利用区块链技术实现标识相应的企业信息服务器身份和解析数据的可靠性验证。s30、数据安全传输,设计客户端和企业信息服务器会话密钥协商算法,生成安全传输通道,并利用签名技术实现解析数据安全、完整性传输。
39.如图2所示,标识解析系统包括标识平台lp以及通过工业互联网与lp相连的客户端client、可信中心tc、企业信息服务器is、ecode标头结构解析系统rs,client、tc、is、rs以及lp通过区块链存储和共享数据。
40.本发明中lp、tc、rs是可信的,公开参数均有效可信。识读器等标签读取设备与终端相连,组成client,并经过wifi或基站入网。lp和各is分别为各自区块链下的全节点,维护两条区块链,实现去中心化、不可篡改、可追溯性,保证整个系统的健壮性和安全性。本发明中使用了公钥密码体制和数字签名技术,保证数据在传输过程中的安全性和可靠性。区块链中智能合约具有权威性,其代码可由可信第三方编写,算法公开且不可篡改。
41.如图3所示,各个is组成信息服务层,位于方案的最底层,并与上层标识平台lp完成企业标识的注册和管理。中间接入层实现不同终端的接入,获取解析服务,并在企业信息服务器is入网时由可信中心tc颁发证书。顶层为解析层,此层被认定为可信任层,方法完全兼容了ecode标识解析系统中的三大解析服务器的解析过程,在接收到下层平台发送的解析请求之后依次完成体系解析、数据结构解析和主码解析以获得该标识的企业信息服务器is地址的定位。由于标识平台lp和众多企业信息服务器is均有强大算力,各自组成的区块链网络以提供系统的去中心化、不可篡改、可追溯性等特性。保证系统的健壮性和安全性。同时使用公钥密码体制和数字签名技术,保证数据在传输过程中的安全性和可靠性。区块链中的智能合约具有权威性,其代码可由第三方编写并发布,算法公开且不可篡改。
42.其中区块链的结构如图4所示,系统建立两个区块链系统:block a用于以key
‑
value的形式记录存储is的身份id和ip地址的映射关系,key定义为企业信息服务器的身份id,value定义为该企业信息服务器的ip地址;block b由各个is共同维护,用来记录ecode编码和该编码数据的摘要,存储为key
’‑
value’结构,其中key’为完整的ecode编码,value’为该编码所对应的完整的数据的摘要
43.如图4~5所示,步骤s10包括:s11、企业向lp提出注册申请,递交相关辅助材料至lp并对辅助材料使用s
co
签名,辅助材料包括is指纹、相关证书。所述s11中is指纹由is指纹算法生成,is指纹算法如下:由is计算其主机的时钟偏移率off,同时为了更好的提高主机识别的精确度,使用off结合ip地址和mac地址一起计算哈希值,以获得该主机的唯一身份id。s12、lp核实辅助材料后,执行is入网操作,触发智能合约算法:如图6~7所示,根据企业提供的is指纹id
is
检索该主机,若无该主机对应记录,则调用registed(id
is
,ip),完成is注册功能,实现is身份入标识平台维护的block a任务。s13、tc颁发证书,tc为is生成公私钥,并将ca证书发给is,具体为:选择两个大素数n、q,满足n
‑
1≡0(modq),选择整数α使得α
q
=1modn,选择随机数s作为用户私钥s
is
,其中0<s<q,计算用户公钥p=α
‑
s
modn,定义为p
is
,公开参数{α,n,q,p},加解密算法采用离散对数难题:m
key
modn,key为p
is
或者s
is
,生成证书cert
is
,证书cert
is
中包含:is的公钥p
is
、证书有效期、tc的签名信息,is下载存储tc公共参数、签名证书和公、私钥。s14、lp返回给企业编码的v nsi并对其签名:{v nsi,sign(s
lp
,v nsi)}。s15、企业生成完整编码ecode和数据data,并上传至is。s16、is将完整的编码发送到lp,由平台完成在ecode标头结构解析系统中的进一步注册。s17、is将编码和产品信息数据的摘要:ecode,h(data),共识至block b。
44.使用block a实现企业信息服务器的身份可信认证,利用block b保证解析数据的真实可靠。企业信息服务器在接入解析系统前,需向标识平台提出注册申请,标识平台验证其合法性后将该企业提供的企业信息服务器相关信息保存至block a,之后企业可以将自己生成的产品的完整编码及相关数据存入企业信息服务器,并将对应的标识编码和数据摘要保存至block b。
45.区块链普遍采用的工作量证明(proof of work,pow)共识机制达成共识,不符合标识解析系统实时快速认证的需求。本方案中,各企业信息服务器节点和标识平台节点分别组成两条联盟链网络,采用实用拜占庭容错算法(practical byzantine fault tolerance,pbft)共识机制,缩短出块时间以满足标识解析系统快速达成共识的需求,同时可容忍小于1/3个无效或者恶意节点。
46.pbft的算法流程如下:设共有3n 1个记账节点。对于区块链a,标识平台节点接收企业注册请求并认证其身份,其次标识平台节点通过广播将请求发送至全网节点。大部分节点确认后由获胜节点打包上链。对于block b,企业信息服务器节点接受企业的注册数据,并广播至全网的企业信息服务器节点,并由获胜节点将编码与数据摘要打包上链。pbft共识机制下的交易吞吐量可以达到200~2000tps(transactions per second),实现毫秒级的确认时间,适合工业互联网中的瞬时的高并发和快速确认的场景。
47.如图8~9所示,客户端向标识平台发起标识解析请求,获得企业信息服务器地址,在block a上验证。若正确,解将该地址返回给客户端,客户端向该企业信息服务器地址进行产品具体解析,并在block b上完成解析数据验证。步骤s20包括:s21、请求解析,client的识读器向lp发出解析请求{apply,ecode},lp转发该请求至ecode标头结构解析系统。s22、标识数据所在企业信息服务器ip地址的定位,具体为ecode标头结构解析系统接收到编码解析请求后,先由编码体系解析服务器将接收到的ecode编码分离出版本v、编码体系标识nsi、主码md,并转化成标识识别域名,由编码数据结构解析服务器完成下一步解析,编码数据结构解析服务器上记录了标识识别域名和主码域名的映射关系,可将标识识别域名
按规则转换成主码域名,最后由主码解析服务器查询得到该编码对应的解析结果,即企业信息服务器ip地址,并将企业信息服务器ip地址返回给lp。s23、实现企业信息服务器id的获取,lp根据所获得的ip地址向is发出请求{apply,id
is
},is响应该请求,计算自己的身份id=h(off,ip,mac)返回给lp。s24、企业信息服务器id的验证,lp调用智能合约search(id),在block a上验证此身份id和ip地址映射,若验证不正确,则解析失败,此is不可信任,向client发出解析失败消息,否则转s25、。s25、返回解析结果lp将验证可信的企业信息服务器ip地址返回给client。
48.如图10所示,终端解析获取企业信息服务器的ip地址后,向其请求解析具体的产品标识信息。为了保证is身份的真实性和解析数据的安全性,终端需要对is身份进行认证以及协商会话密钥,建立安全的数据传输通道,基本过程为:客户端向is申请证书获取其公钥p
is
,双方协商后生成会话密钥k,利用该会话密钥建立安全通道实现数据传输。步骤s30包括:s31、申请解析,client向is方发出解析申请request。s32、获取证书,is发送证书cert
is
给client,client在认证后获取is的公钥p
is
。s33、client生成随机数n1,使用公钥p
is
加密随机数n1和身份id,将密文e(p
is
,n1,id)发给is。s34、is解密,is使用私钥s
is
解密密文,生成新的随机数n2,使用s
is
加密n1和n2发送给client:e(s
is
,(n1,n2))。s35、is判断client身份,client使用is公钥p
is
解密密文获得n1和n2,判断n1的正确性,若正确,可确认消息来源于该is,client使用is公钥p
is
加密n2,产生密文返回给is:e(p
is
,n2),is即可判断client身份的正确性。s36、随机生成会话密钥k,产生密文m1=e(p
is
,(n1,n2,k))发送给is,随机数n1、n2用于身份的验证。s37、is获取会话密钥,is使用其私钥s
co
解密m1,过程为d(s
is
,m1),在判断n1和n2正确的基础上获得client相同的会话密钥k,至此完成会话密钥的协商,其中m1为加密的会话密钥。
49.s38、is对数据签名后用选择aes算法的cbc模式,利用会话密钥k加密e(k,(m2,(e,y)))发送给client,其中e、y为过程参数。步骤s38包:s381、is选择随机整数r,0<r<q,计算x=α
r
modn,该过程与待签名的消息m2无关,x为过程参数。s382、将x附在消息后面一起计算hash值e=h(m2||x)。s383、计算y=(r s
is
e)modq,签名包括(e,y),将生成加密信息e(k,(m2,(e,y)))发送至client。
50.s39、client解密数据并验签,client接收到数据,选择aes算法的cbc模式执行d(k,e(k,(m2,(e,y))))获得(m2,(e,y)),并对解析数据明文m2进行完整性、防篡改认证。s391、计算x'=α
y
p
ise
modn。s392、验证e=h(m2||x)和e=h(m2||x')的一致性,过程为:
[0051][0052]
若一致,则获得可靠解析数据m2,递交终端显示,否则表明该数据被篡改,丢弃该数据。
[0053]
系统安全性分析
[0054]
本方案结合区块链技术存储企业信息服务器的身份id的和产品编码数据的摘要,利用了哈希函数的抗原像性、抗第二原像性、强抗碰撞性等特征,保证数据的不可篡改、不可否认、可追溯性,实现了对企业信息服务器身份的有效认证和产品编码数据不可篡改保护。方案基于私有链,所有节点身份可知,无需考虑女巫攻击。此外,方案所用的共识机制中没有选举领导角色(如paxos共识算法的提议者、raft共识算法的领导人等),避免了领导节点遭受拒绝服务(denial of service,dos)攻击。
[0055]
消息传输安全分析
[0056]
会话密钥产生的安全性分析:
[0057]
(1)保证了会话密钥的一次性:客户端产生的临时随机数n1用于唯一标识该次消息传递;
[0058]
(2)传输双方身份的确定性:is端产生的临时随机数n2,并将n1一起加密发送给客户端,可以对客户端证明本次消息来自于该is。客户端用is公钥加密n2返回可以使is确认消息来自客户端。
[0059]
(3)会话密钥分发的安全性:客户端生成会话密钥后,利用is端的公钥加密传输,确保只有is可以获得会话密钥。
[0060]
会话过程的安全性分析:
[0061]
(1)数据传输的隐蔽性:数据传输采用一次一密的aes算法。
[0062]
(2)数据传输的防篡改性:数据传输设计了基于离散对数求解难题x=α
r
modn的数字签名方式,hash函数采用sha
‑
1算法。方案基于素数模n,且n
‑
1包含大素数因子q,即n
‑
1≡0(modq),,n一般大约取n=2
1024
,q一般大约取q=2
160
,,n是1024位整数,q是160位整数,正好等于sha
‑
1中hash值的长度。
[0063]
会话过程的具体实施和安全证明如下:
[0064]
在开始之前,客户端和企业信息服务器端要先确定一些公共参数
[0065]
n=任何的素数;
[0066]
q=n
‑
1的因数,即q整除n
‑
1;
[0067]
生成元α;
[0068]
公钥p=α
‑
s
modn,其中s是服务器拥有的私钥,0<s<q;
[0069]
{n,q,α,p}四个参数是全局变量,客户端和企业信息服务器端都知道,s是is端的私钥,只有is端知道。
[0070]
a.首先is端使用它的私钥s加密一条消息"m",并发送给终端,过程如下:
[0071]
is端选择一个随机数r,其中0<r<q,计算得到x值:x=α
r mod n,接着is端将x值与它要发送的消息"m"连接起来,得到(m||x),然后对(m||x)进行哈希运算,得到相应哈希值e=hash(m||x),其中hash()是哈希函数,本方案选用sha
‑
1算法,is端还要计算一个值y=r se,最后is端将下列信息发送给客户端:消息m、数字签名e和y。
[0072]
b.客户端对接收到消息进行验证,过程如下:
[0073]
客户端从is端那儿拿到了消息m和数字签名(e和y),除此之外,is端同样知道公共参数,分别是:公钥"p";素数"n";素数"q";生成元"α"。
[0074]
现在客户端计算x'=α
y
p
e
modn,如果x'=x,则客户端确认is端消息为真,否则为假;
[0075]
验证过程如下:
[0076]
因为p=α
‑
s
modn,代入x'的等式的互换:x'=α
y
α
‑
se
modn=α
y
‑
se
modn
[0077]
又因为y=r se,得r=y
‑
s*e,代入该值得到x'=α
r
modn,因此x=x'。得到了x'后,客户端可以进一步计算消息e'=hash(m||x')并和e'=hash(m||x')端发送过来的e比较是否相等。
[0078]
如果is端没有私钥,它很难构造私钥以便通过客户端的验证,因为离散对数的困
难性,而客户端也很难反推出is端的私钥,因为is端并没有发送随机数r给客户端,同样因为离散对数的困难性,客户端不能从x=α
r
modn反推出r从而想通过y=r s*e反推出is端的私钥s。
[0079]
可行性分析
[0080]
方案采用hyperledger fabric开源代码进行仿真实验,在linux操作系统中利用docker搭建私有链模型,模拟5个企业信息服务器作为节点进行共识,采用go语言编写智能合约,完成证据的存取操作。实验设计了标识存取证系统,分别模拟合法入网企业信息服务器进行标识信息的上传,及客户端进行标识的获取。实验结合吞吐量与取证响应时间对系统的可行性进行分析。
[0081]
方案在虚拟机中部署5个区块链节点,代表5个企业信息服务器,其负责企业认证入网及产品标识信息更新操作。表1显示在一小时内的测试情况,结果表明5个共识节点均保持在线状态,且进行的产品标识信息更新操作。
[0082]
表1可行性分析
[0083][0084]
方案为测试解析时延,分别模拟200、400、600次查询方调用智能合约进行产品数据的获取,计算取证平均响应时间。结果如图11所示,随着请求次数的增加,时延呈上升趋势,但响应时间均维持在4秒内,可满足系统解析的需求。
[0085]
以上仅为本发明的示例性实施例,并非因此限制本发明专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种基于区块链信任机制的标识解析系统实现方法,其特征在于,包括如下步骤:s10、系统初始化,可信机构为接入的企业信息服务器入网注册、生成公私钥、颁发证书,并完成企业信息服务器的id和标识数据的区块链写入;s20、标识安全解析,利用区块链技术实现标识相应的企业信息服务器身份和解析数据的可靠性验证;s30、数据安全传输,设计客户端和企业信息服务器会话密钥协商算法,生成安全传输通道,并利用签名技术实现解析数据安全、完整性传输。2.根据权利要求1的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,标识解析系统包括标识平台lp以及通过工业互联网与lp相连的客户端client、可信中心tc、企业信息服务器is、ecode标头结构解析系统rs,client、tc、is、rs以及lp通过区块链存储和共享数据。3.根据权利要求2的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,步骤s10包括:s11、企业向lp提出注册申请,递交相关辅助材料至lp并对辅助材料使用s
co
签名,辅助材料包括is指纹、相关证书;s12、lp核实辅助材料后,执行is入网操作,触发智能合约算法:根据企业提供的is指纹id
is
检索该主机,若无该主机对应记录,则调用registed(id
is
,ip),完成is注册功能,实现is身份入标识平台维护的block a任务,其中,block a用于以key
‑
value的形式记录存储is的身份id和ip地址的映射关系,key定义为企业信息服务器的身份id,value定义为该企业信息服务器的ip地址;s13、tc颁发证书,tc为is生成公私钥,并将ca证书发给is,具体为:选择两个大素数n、q,满足n
‑
1≡0(mod q),选择整数α使得α
q
=1 mod n,选择随机数s作为用户私钥s
is
,其中,0<s<q,计算用户公钥p=α
‑
s
mod n,定义为p
is
,公开参数{α,n,q,p},加解密算法采用离散对数难题:m
key
mod n,key为p
is
或者s
is
,生成证书cert
is
,证书cert
is
中包含:is的公钥p
is
、证书有效期、tc的签名信息,is下载存储tc公共参数、签名证书和公、私钥;s14、lp返回给企业编码的v nsi并对其签名:{v nsi,sign(s
lp
,v nsi)};s15、企业生成完整编码ecode和数据data,并上传至is;s16、is将完整的编码发送到lp,由平台完成在ecode标头结构解析系统中的进一步注册;s17、is将编码和产品信息数据的摘要:ecode,h(data),共识至block b,其中,block b由各个is共同维护,用来记录ecode编码和该编码数据的摘要,存储为key
’‑
value’结构,其中key’为完整的ecode编码,value’为该编码所对应的完整的数据的摘要。4.根据权利要求3的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,所述s11中is指纹由is指纹算法生成,is指纹算法如下:由is计算其主机的时钟偏移率off,同时为了更好的提高主机识别的精确度,使用off结合ip地址和mac物理地址一起计算哈希值,以获得该主机的唯一身份id。5.根据权利要求4的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,步骤s20包括:s21、请求解析,client的识读器向lp发出解析请求{apply,ecode},lp转发该请求至
ecode标头结构解析系统;s22、标识数据所在企业信息服务器ip地址的定位,具体为ecode标头结构解析系统接收到编码解析请求后,先由编码体系解析服务器将接收到的ecode编码分离出版本v、编码体系标识nsi、主码md,并转化成标识识别域名,由编码数据结构解析服务器完成下一步解析,编码数据结构解析服务器上记录了标识识别域名和主码域名的映射关系,可将标识识别域名按规则转换成主码域名,最后由主码解析服务器查询得到该编码对应的解析结果,即企业信息服务器ip地址,并将企业信息服务器ip地址返回给lp;s23、实现企业信息服务器id的获取,lp根据所获得的ip地址向is发出请求{apply,id
is
},is响应该请求,计算自己的身份id=h(off,ip,mac)返回给lp;s24、企业信息服务器id的验证,lp调用智能合约search(id),在block a上验证此身份id和ip地址映射,若验证不正确,则解析失败,此is不可信任,向client发出解析失败消息,否则转步骤s25;s25、返回解析结果lp将验证可信的企业信息服务器ip地址返回给client。6.根据权利要求5的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,步骤s30包括:s31、申请解析,client向is方发出解析申请request;s32、获取证书,is发送证书cert
is
给client,client在认证后获取is的公钥p
is
;s33、client生成随机数n1,使用公钥p
is
加密随机数n1和身份id,将密文e(p
is
,n1,id)发给is;s34、is解密,is使用私钥s
is
解密密文,生成新的随机数n2,使用s
is
加密n1和n2发送给client:e(s
is
,(n1,n2));s35、is判断client身份,client使用is公钥p
is
解密密文获得n1和n2,判断n1的正确性,若正确,可确认消息来源于该is,client使用is公钥p
is
加密n2,产生密文返回给is:e(p
is
,n2),is即可判断client身份的正确性;s36、随机生成会话密钥k,产生密文m1=e(p
is
,(n1,n2,k))发送给is,随机数n1、n2用于身份的验证;s37、is获取会话密钥,is使用其私钥s
co
解密m1,过程为d(s
is
,m1),在判断n1和n2正确的基础上获得client相同的会话密钥k,至此完成会话密钥的协商,其中m1为加密的会话密钥;s38、is对数据签名后用选择aes算法的cbc模式,利用会话密钥k加密e(k,(m2,(e,y)))发送给client,其中e、y为过程参数;s39、client解密数据并验签,client接收到数据,选择aes算法的cbc模式执行d(k,e(k,(m2,(e,y))))获得(m2,(e,y)),并对解析数据明文m2进行完整性、防篡改认证。7.根据权利要求6的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,步骤s38包括:s381、is选择随机整数r,0<r<q,计算x=α
r
mod n,该过程与待签名的消息m2无关,x为过程参数;s382、将x附在消息后面一起计算hash值e=h(m2||x);s383、计算y=(r s
is
e)modq,签名包括(e,y),将生成加密信息e(k,(m2,(e,y)))发送至
client。8.根据权利要求7的所述的基于区块链信任机制的标识解析系统实现方法,其特征在于,步骤s39包括:s391、计算x'=α
y
p
ise
modn;s392、验证e=h(m2||x)和e=h(m2||x')的一致性,过程为:若一致,则获得可靠解析数据m2,递交终端显示,否则表明该数据被篡改,丢弃该数据。
技术总结
本发明提供了一种基于区块链信任机制的标识解析系统实现方法,包括如下步骤:S10、可信机构为接入的IS入网注册、生成公私钥、颁发证书,并完成企业信息服务器的ID和标识数据的区块链写入;S20、利用区块链技术实现标识相应的企业信息服务器身份和解析数据的可靠性验证;S30、设计客户端和企业信息服务器会话密钥协商算法,生成安全传输通道,并利用签名技术实现解析数据安全、完整性传输。本发明的一种基于区块链信任机制的标识解析系统实现方法,将区块链信任机制与工业互联网Ecode标识解析技术相结合,解决了标识解析过程中的安全漏洞,实现标识解析过程中企业信息服务器和客户端身份的安全认证和解析数据的传输安全,提高了标识解析系统的安全性。了标识解析系统的安全性。了标识解析系统的安全性。
技术研发人员:秦骏杰 曹利 张澳澳 徐浩毅 陈葳葳 周斌
受保护的技术使用者:南京新优界智能科技有限公司
技术研发日:2021.03.02
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-4674.html