一种基于IPK的区块链上链数据安全认证方法与系统技术方案

技术编号:25230372 阅读:38 留言:0更新日期:2020-08-11 23:17
本发明专利技术公开了一种基于IPK的区块链上链数据安全认证方法与系统,属于区块链上链数据信息安全技术领域。现有方案以中心化的认证基础去实现去中心的区块链,会削弱区块链去中心化的优势,同时影响上链数据的安全。本发明专利技术一种基于IPK的区块链上链数据安全认证方法,根据区块链应用的具体场景,对上链数据进行安全认证,其包括对采集终端的认证、上链数据的签名验证与加密解密。本发明专利技术通过物联网标识作为公钥来完成安全认证,上链数据加密认证不依赖第三方,实现了一种无须依赖中心,直接在本地完成对上链数据安全认证方式,安全性高。本发明专利技术能够与区块链去中心化特性完美结合,使得区块链系统架构更简洁,实现性能更高。

【技术实现步骤摘要】
一种基于IPK的区块链上链数据安全认证方法与系统
本专利技术涉及一种基于IPK的区块链上链数据安全认证方法与系统,属于区块链上链数据信息安全

技术介绍
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。通过区块链的应用,可解决应用信息不对称问题,实现多个主体之间的协作信任与一致行动。在区块链架构中,各个节点都拥有独立的应用系统,这些应用系统将形成的数据上链实现在区块链节点的安全储存,各节点通过共识算法与数据同步实现一致性。区块链的安全主要在联盟链和私有链中,随着安全事件的频频发生,区块链的安全风险问题被视为当前制约行业健康发展的一大短板,拥抱区块链,需要加快探索建立适应区块链技术机制的安全保障体系。中国专利(公开号CN110457942A)公开了一种对上链数据区块的签名验证方法、业务节点和介质。所述方法包括:接收由记账节点发送的上链数据区块的区块头,所述区块头中含有对该数据区块中的交易信息生成的摘要和签名,所述签名由该记账节点利用特定于该记账节点的私钥对所述摘要进行加密而生成;获取记账节点的公钥证书,所述公钥证书响应于记账节点对公钥证书的请求而生成,含有特定于该记账节点的公钥;从该记账节点的公钥证书中,获取特定于该记账节点的公钥;利用该特定于该记账节点的公钥,对所述签名进行解密,将解密结果与区块头中的摘要比对,从而实现签名验证。本公开实施例在业务节点没有实际参与数据区块的上链的情况下,提高区块链记账的安全性。上述方案采用中心化的证书体系对上链数据进行认证处理,但是区块链的目标是去中心化,以中心化的认证基础去实现去中心的区块链,会削弱区块链去中心化的优势,同时影响上链数据的安全。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种通过物联网标识作为公钥来完成安全认证,实现了一种无须依赖中心,直接在本地完成对上链数据安全认证的安全性高的基于IPK的区块链上链数据安全认证方法与系统。为实现上述目的,本专利技术的技术方案为:一种基于IPK的区块链上链数据安全认证方法,根据区块链应用的具体场景,对上链数据进行安全认证,其包括对采集终端的认证、上链数据的签名验证与加密解密;具体流程如下:第一,数据采集终端B对上链数据data的处理流程如下:S1,数据采集终端将上链数据data计算数字摘要,生成数据的数字摘要h,h=Hash(data);S2,数据采集终端使用自己的标识私钥iskB对数字摘要h签名,得到数据采集终端对数据的数字签名sig=Sigisk(h);S3,将数字签名sig按照ASN.1编码规范进行打包,形成基于IPK的数字签名协议数据包;S4,数据采集终端生成随机数r,通过椭圆曲线算法计算生成会话密钥skey;S5,数据采集终端使用会话密钥skey加密待上链数据data,得到数据密文C;S6,数据采集终端根据区块链节点A的标识IDA和IPK体制的公钥矩阵M通过IPK密钥生成算法计算产生区块链节点A所对应的标识公钥IPKA,区块链节点A在事先向IPK密钥中心申请自己的标识私钥iskA,且满足IPKA=iskA·G;其中:G为椭圆曲线的一个基点数;S7,数据采集终端用区块链节点A的标识公钥IPKA和前面生成会话密钥skey的随机数r计算生成数字信封D,D=r·IPKA;S8,数据采集终端将数据密文C、数字信封D及辅助信息矩阵标识、收方标识、加密算法标识、椭圆曲线标识等数据按照ASN.1编码规范打包为IPK的加密数据包;S9,数据采集终端将加密数据包cipherPackage和签名数据包signaturePackage发送给区块链节点A;第二,区块链节点A对上链数据的处理流程如下:步骤1:区块链节点A接收到数据采集终端发送的加密数据包cipherPackage和签名数据包signaturePackage;步骤2:区块链节点A使用自己的标识私钥iskA和加密数据包中的数字信封D计算得到会话密钥skey;步骤3:区块链节点A使用会话密钥skey,解密密文数据C,得到明文数据data,data=Dskey(C),D为对称解密算法(如SM4),与E相对应;步骤4:区块链节点从签名数据包signaturePackage中得到签名标识,即数据采集端标识IDB,和存储在区块链节点的公钥矩阵计算得到数据采集端的标识公钥IPKB,再使用标识公钥验证签名的真实性;步骤5:验证通过表示数据来源真实可靠,传输过程未被篡改,允许数据上链;否则数据可能为假冒或已被篡改,拒绝数据上链。本专利技术通过物联网标识作为公钥来完成安全认证,上链数据加密认证不依赖第三方,实现了一种无须依赖中心,直接在本地完成对上链数据安全认证方式,安全性高。本专利技术能够与区块链去中心化特性完美结合,使得区块链系统架构更简洁,实现性能更高。本专利技术通过标识计算获得公钥,同时,计算过程也是公钥真实性证明的过程,实现了一种安全自证体系。作为优选技术措施:所述S3:基于IPK的数字签名协议数据包,记为signaturePackage,其结构定义为:Signatureinformation::=SEQUENCE{versionASN1_INTEGER,//版本号matrixIdASN1_UTF8STRING,//矩阵标识signerIdASN1_UTF8STRING,//签名者标识signTimeASN1_UCTIME,//签名时间戳mdOidASN1_OBJECT,//数字摘要算法对象标识sigrSASN1_OCTET_STRING//签名值(r,s)RASN1_OCTET_STRING//自定义公钥}。作为优选技术措施:所述S4:所述椭圆曲线算法:R=r·G=(x,y),取椭圆曲线点R的x坐标并对椭圆曲线参数n求模得到skey=R.xmodn,注:G为椭圆曲线的一个基点,其阶为素数;n为基点G的阶;所述S5:C=Eskey(data),E为对称加密算法(如SM4)。作为优选技术措施:所述S8:IPK的加密数据包,记为cipherPackage,其数据结构定义为:Ciphertextinformation::=SEQUENCE{versionASN1_INTEGER,//版本号matrixIdASN1_UTF8STRING,//矩阵标识addresseeIdASN1_UTF8STRING,//收方标识ecOidASN1_OBJECT,//椭圆曲线对象标识envASN1_OCTET_STRING//数字信封cipherDataASN本文档来自技高网
...

【技术保护点】
1.一种基于IPK的区块链上链数据安全认证方法,其特征在于,/n根据区块链应用的具体场景,对上链数据进行安全认证,/n其包括对采集终端的认证、上链数据的签名验证与加密解密;/n具体流程如下:/n第一,数据采集终端B对上链数据data的处理流程如下:/nS1,数据采集终端将上链数据data计算数字摘要,生成数据的数字摘要h,h=Hash(data);/nS2,数据采集终端使用自己的标识私钥isk

【技术特征摘要】
1.一种基于IPK的区块链上链数据安全认证方法,其特征在于,
根据区块链应用的具体场景,对上链数据进行安全认证,
其包括对采集终端的认证、上链数据的签名验证与加密解密;
具体流程如下:
第一,数据采集终端B对上链数据data的处理流程如下:
S1,数据采集终端将上链数据data计算数字摘要,生成数据的数字摘要h,h=Hash(data);
S2,数据采集终端使用自己的标识私钥iskB对数字摘要h签名,得到数据采集终端对数据的数字签名sig=Sigisk(h);
S3,将数字签名sig按照ASN.1编码规范进行打包,形成基于IPK的数字签名协议数据包;
S4,数据采集终端生成随机数r,通过椭圆曲线算法计算生成会话密钥skey;
S5,数据采集终端使用会话密钥skey加密待上链数据data,得到数据密文C;
S6,数据采集终端根据区块链节点A的标识IDA和IPK体制的公钥矩阵M通过IPK密钥生成算法计算产生区块链节点A所对应的标识公钥IPKA,区块链节点A在事先向IPK密钥中心申请自己的标识私钥iskA,且满足IPKA=iskA·G;
其中:G为椭圆曲线的一个基点数;
S7,数据采集终端用区块链节点A的标识公钥IPKA和前面生成会话密钥skey的随机数r计算生成数字信封D,D=r·IPKA;
S8,数据采集终端将数据密文C、数字信封D及辅助信息矩阵标识、收方标识、加密算法标识、椭圆曲线标识等数据按照ASN.1编码规范打包为IPK的加密数据包;
S9,数据采集终端将加密数据包cipherPackage和签名数据包signaturePackage发送给区块链节点A;
第二,区块链节点A对上链数据的处理流程如下:
步骤1:区块链节点A接收到数据采集终端发送的加密数据包cipherPackage和签名数据包signaturePackage;
步骤2:区块链节点A使用自己的标识私钥iskA和加密数据包中的数字信封D计算得到会话密钥skey;
步骤3:区块链节点A使用会话密钥skey,解密密文数据C,得到明文数据data,data=Dskey(C),D为对称解密算法;
步骤4:区块链节点从签名数据包signaturePackage中得到签名标识,即数据采集端标识IDB,和存储在区块链节点的公钥矩阵计算得到数据采集端的标识公钥IPKB,再使用标识公钥验证签名的真实性;
步骤5:验证通过表示数据来源真实可靠,传输过程未被篡改,允许数据上链;否则数据可能为假冒或已被篡改,拒绝数据上链。


2.如权利要求1所述的一种基于IPK的区块链上链数据安全认证方法,其特征在于,
所述S3:
基于IPK的数字签名协议数据包,记为signaturePackage,其结构定义为:
Signatureinformation::=SEQUENCE{
versionASN1_INTEGER,//版本号
matrixIdASN1_UTF8STRING,//矩阵标识
signerIdASN1_UTF8STRING,//签名者标识
signTimeASN1_UCTIME,//签名时间戳
mdOidASN1_OBJECT,//数字摘要算法对象标识
sigrSASN1_OCTET_STRING//签名值(r,s)
RASN1_OCTET_STRING//自定义公钥
}。


3.如权利要求2所述的一种基于IPK的区块链上链数据安全认证方法,其特征在于,
所述S4:
所述椭圆曲线算法:R=r·G=(x,y),取椭圆曲线点R的x坐标并对椭圆曲线参数n求模得到skey=R.xmodn,注:G为椭圆曲线的一个基点,其阶为素数;n为基点G的阶;
所述S5:
C=Eskey(data),E为对称加密算法。


4.如权利要求3所述的一种...

【专利技术属性】
技术研发人员:牛毅卢学强李维刚韩雁文
申请(专利权)人:南京讯石数据科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1