一种基于区块链及SE芯片的数据上链方法与流程

文档序号:23989399发布日期:2021-02-20 12:57阅读:63来源:国知局
一种基于区块链及SE芯片的数据上链方法与流程
一种基于区块链及se芯片的数据上链方法
技术领域
[0001]
本申请涉及区块链领域,特别是涉及一种基于区块链及se芯片的数据上链方法。


背景技术:

[0002]
区块是一个一个的存储单元,记录了一定时间内各个区块节点全部的交流信息,各个区块之间通过随机散列(也称哈希算法)实现链接,后一个区块包含前一个区块的哈希值,随着信息交流的扩大,一个区块与一个区块相继接续,形成的结果就叫区块链,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。
[0003]
区块链最初是在比特币中引用的,它是比特币的核心支持技术,具有去中心化,不可否认和可追踪性的特征。这确保了比特币等货币可以在不受信任的网络中进行价值转移。同时通过设计基于区块链的各种智能合约,人们可以使区块链适用于医疗,金融技术等各个领域。随着应用场景数量的增加,作为一种开发技术的区块链涉及多个交易的操作。这使得区块链的应用结构复杂且规模巨大。不仅如此,这使区块链面临更多问题。例如智能合约漏洞和密钥安全问题。用户密钥(包括公私钥和文件加密密钥等)是区块链的核心,其安全性问题是公众最关注的问题。人们愿意将其数据存储在区块链中,以使数据难以篡改并易于与他人共享。由于区块链上的区块是公开的,并由所有参与者共享。当这些块涉及私人数据时,当区块链的许多应用都涉及隐私数据时,有必要使用用户的密钥对数据进行加密,以保护用户的隐私和数据完整性。
[0004]
公开号为cn111639361a的文献公开了一种区块链密钥管理方法、多人共同签名方法及电子装置,由链上和链下两部分组成,链上完成合约的执行和货币结算,链下完成密钥生成、数据加密和解密操作;对用户密钥和文件进行链上链下协同存储;对链上用户密钥和文件的检索和存储;对用户私钥进行存储和恢复;针对区块链中多方签名场景,利用多方安全计算完成协同私钥存储和签名,对用户的文件和密钥进行验证,对用户的密钥进行撤销和更新,但是仍然会存在密钥被篡改的可能性,当用户将自己的私钥记录下来,还是会存在泄密的风险,或者当用户忘记私钥时,则用户存储在区块链上的数据将不能被读取,直接丢失全部数据。


技术实现要素:

[0005]
本申请主要解决的技术问题是提供一种基于区块链及se芯片的数据上链方法。
[0006]
为解决上述技术问题,本申请采用的一个技术方案是:提供一种基于区块链及se安全芯片的数据上链方法,包括:
[0007]
根据区块链网络框架构建区块链平台,
[0008]
s1:将集成有se芯片的区块链模组植入到物联网应用内部,所述se芯片的内部自带有公钥和私钥,所述区块链模组用于采集设备数据,系统自动设定将所述数据通过数据上链指令发起上链请求;
[0009]
s2:物链云平台接收到上链请求后,将数据签名指令发送到se芯片的内部,芯片通过加密算法进行签名生成签名数据;
[0010]
s3:所述签名数据重新返回物链云平台;
[0011]
s4:所述物链云平台通过将返回到的签名数据格式化,得到格式化签名数据,生成交易;
[0012]
s5:所述生成的交易数据上传至区块链平台,完成数据上链。
[0013]
其中,系统自动设定将所述数据通过数据上链指令发起上链请求之前,系统自动设定,间隔第一预设时间之后,将所述数据通过数据上链指令发送上链请求,所述数据上链指令通过socket或者aidl的方式发送。
[0014]
其中,物链云平台可以通过蓝牙或者nfc的方式将数据签名指令发送到se芯片的内部。
[0015]
其中,芯片通过非对称加密算法进行签名生成签名数据,所述加密算法的形式可以是rsa算法、sm2算法或者ecdsa算法。
[0016]
其中,通过asn+字节拼接的方式将返回到物链云平台的签名数据格式化。
[0017]
其中,所述交易数据通过智能合约的方式上传至区块链平台。
[0018]
有益效果:
[0019]
本申请提供的基于区块链及se安全芯片的数据上链方法,不需要在区块链上生成公私钥,直接将se安全芯片植入区块链模组中,使得对应的区块链模组在出厂时就配有唯一的公钥和私钥,且私钥存储于se安全芯片的内部,用户自己也无法知道,设备的公钥和区块链模组的id相对应,也通过se安全芯片植入区块链模组中,使得从设备采集的所有数据,先通过se安全芯片内部的公钥直接进行加密,从而保证数据的安全、真实、可信。
附图说明
[0020]
图1是本申请所述的基于区块链及se芯片的数据上链方法的框图;
[0021]
图2是本申请所述的基于区块链及se芯片的数据上链方法的流程图。
具体实施方式
[0022]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]
为了更加清楚的理解本方案下面进行举例对一些术语进行解释:
[0024]
se:全称为secure element,安全单元,包括安全硬件和安全软件。
[0025]
安全硬件:具有安全的运行环境,包括安全存储,安全算法,安全接口的硬件。
[0026]
安全软件:确保se与上位机之间命令和数据的交互安全;数据安全处理、安全计算、安全存储。
[0027]
公钥:是对全节点公开且无任何风险的公开密钥,公钥用于交易中的收款确认,类似于银行交易中的“收款方”。其也常常用于加密会话密钥、验证数字签名或加密可以用相应的私钥解密的数据。
[0028]
私钥:是指与一个地址相关联的一把密钥,是只有私钥拥有者才知道的一串256bit的数字,用于数字签名,确认交易的所有权,类似于银行交易中的“签名”。
[0029]
假设a为客户端,b为服务端
[0030]
公钥加密
[0031]
加密是指对一段数据进行非对称算法加密、对称性算法加密等其他算法形式的加密;假设a为客户端,b为服务端,那么加密过程就是a和b进行通信加密,b要先生成一对密钥,b自己持有私钥,给a公钥,a使用b的公钥加密要发送的内容,然后b接收到密文后通过自己的私钥解密内容。
[0032]
私钥解密
[0033]
解密就是通过相关的逻辑运算,把加密数据进行解析,变成加密之前的数据。
[0034]
私钥签名
[0035]
签名是指通过对数据加上相关字符,比如生成数据摘要等,然后进行验签,签名是为了防止信息被篡改;a给b发送消息,a先计算出消息的消息摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名(a用自己的私钥给消息摘要加密成为签名)。
[0036]
例如:
[0037]
公钥验签
[0038]
b收到消息后,也会使用和a相同的方法提取消息摘要,然后用a的公钥解密签名,并与自己计算出来的消息摘要进行比较,如果相同则说明消息是a发送给b的,同时,a也无法否认自己发送消息给b的事实(b使用a的公钥解密签名文件的过程,叫做"验签")。.
[0039]
签名过程:
[0040]
1.a计算消息m的消息摘要,记为h(m)
[0041]
2.a使用私钥(n,d)对h(m)加密,生成签名s,s满足:s=(h(m))^d mod n;
[0042]
由于a是用自己的私钥对消息摘要加密,所以只用使用s的公钥才能解密该消息摘要,这样a就不可否认自己发送了该消息给b
[0043]
3.a发送消息和签名(m,s)给b
[0044]
验签过程:
[0045]
1.b计算消息m的消息摘要(计算方式和a相同),记为h(m)
[0046]
2.b使用a的公钥(n,e)解密s,得到h(m),h(m)=s^e mod n
[0047]
3.b比较h(m)与h(m),相同才能证明验签成功
[0048]
参阅图1至图2,图1为本申请一实施例的图1是本申请所述的基于区块链及se芯片的数据上链方法的框图,图2为本申请一实施例的图2是本申请所述的基于区块链及se芯片的数据上链方法的流程图。本申请一实施例提供一种基于基于区块链及se芯片的数据上链方法,该方法包括:
[0049]
根据区块链网络框架构建区块链平台,
[0050]
s1:将集成有se芯片的区块链模组植入到物联网应用内部,所述se芯片的内部自带有公钥和私钥,所述区块链模组用于采集设备数据,系统自动设定将所述加密数据通过数据上链指令发起上链请求;
[0051]
s2:物链云平台接收到上链请求后,将数据签名指令发送到se芯片的内部,se芯片通过加密算法进行签名生成签名数据,具体的区块链模组提取到所采集数据的摘要,并通
过se芯片内部的私钥将对摘要进行加密,生成签名数据;
[0052]
s3:所述签名数据重新返回物链云平台,具体的为区块链模组将采集到的数据和签名数据一起通过se芯片内部自带的公钥进行加密得到加密数据,;
[0053]
s4:所述物链云平台通过将返回到的签名数据格式化,得到格式化签名数据,生成交易,格式化后的数据形成统一的格式便于后期对数据的溯源、验证、哈希值计算;
[0054]
s5:所述生成的交易数据上传至区块链平台,完成数据上链。
[0055]
具体的下面举例对加密、解密和签名、验证签名完整过程详细理解:
[0056]
a
[0057]
1.a提取消息m的消息摘要h(m),并使用自己的私钥对摘要h(m)进行加密,生成签名s
[0058]
2.a将签名s和消息m一起,使用b的公钥进行加密,生成密文c,发送给b
[0059]
b:
[0060]
1.b接收到密文c,使用自己的私钥解密c得到明文m和数字签名s;
[0061]
2.b使用a的公钥解密数字签名s解密得到h(m);
[0062]
3.b使用相同的方法提取消息m的消息摘要h(m);
[0063]
4.b比较两个消息摘要,相同则验证成功,不同则验证失败。
[0064]
在一些实施例中,系统自动设定将所述数据通过数据上链指令发起上链请求之前,系统自动设定,间隔第一预设时间之后,将所述数据通过数据上链指令发送上链请求,所述数据上链指令通过socket或者aidl的方式发送。
[0065]
在一些实施例中,物链云平台可以通过蓝牙或者nfc的方式将数据签名指令发送到se芯片的内部。
[0066]
在一些实施例中,芯片通过非对称加密算法进行签名生成签名数据,所述加密算法的形式可以是rsa算法、sm2算法或者ecdsa算法。
[0067]
在一些实施例中,通过asn+字节拼接的方式将返回到物链云平台的签名数据格式化。
[0068]
在一些实施例中,所述交易数据通过智能合约的方式上传至区块链平台,所述智能合约是一种旨在信息化方式传播,验证或执行合同的计算机协议。
[0069]
有益效果:
[0070]
本申请提供的基于区块链及se安全芯片的数据上链方法,不需要在区块链上生成公私钥,直接将se安全芯片植入区块链模组中,使得对应的区块链模组在出厂时就配有唯一的公钥和私钥,且公、私钥存储于se安全芯片的内部,用户自己也无法知道,设备的公钥和区块链模组的id相对应,也通过se安全芯片植入区块链模组中,使得从设备采集的所有数据,先通过se安全芯片内部的公钥直接进行加密,从而保证数据的安全、真实、可信。
[0071]
需要说明的是,本申请实施例中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它组件或单元。
[0072]
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本申请的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1