一种基于以太坊的用户中心系统安全的监管方法及装置制造方法及图纸

技术编号:20369460 阅读:21 留言:0更新日期:2019-02-16 19:47
本申请提供了一种基于以太坊的用户中心系统安全的监管方法及装置,其中,所述方法包括:发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;获取所述发布者的信息,并生成发布者签名;加密所述合约代码,获得加密信息;根据Merkle Tree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;广播当前以太坊节点所更新的信息,并同步更新的信息至以太坊的其余区块节点;根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;根据所述激活状态,确定所述合约账户的执行动作。本申请提供的监管方法及装置能够有效解决现有用户中心系统的数据信息易被篡改,且易被攻击的问题。

A Supervisory Method and Device of User Center System Security Based on ETF

This application provides a method and device for monitoring the security of the user center system based on ETF. The method includes: publisher uses external account to control contract account to publish contract code to the current ETF node; acquire the information of the publisher and generate the signature of the publisher; encrypt the contract code to obtain encrypted information; and store the encrypted information according to Merkle Tree data. The storage structure stores the publisher's signature and the encrypted information to the current Ethernet node; broadcasts the updated information of the current Ethernet node and synchronously updates the information to the other block nodes of the Ethernet workshop; determines the activation status of the contract code according to the instructions and transaction cost information of the external user; and determines the contract account according to the activation status. The execution action of the household. The supervisory method and device provided in this application can effectively solve the problem that the data information of the existing user center system is easy to be tampered with and attacked.

【技术实现步骤摘要】
一种基于以太坊的用户中心系统安全的监管方法及装置
本申请涉及用户中心系统安全监管
,尤其涉及一种基于以太坊的用户中心系统安全的监管方法及装置。
技术介绍
互联网应用通常会把授权和用户信息的逻辑放到一个服务中,而这个服务我们统一为用户中心。其主要功能有:用户登录与注册;基本信息查询与修改;权限控制。用户中心不关心具体的业务逻辑,只处理用户信息相关的管理及授权登录。当应用需要登录的时候,会把用户的登录请求转发到用户中心处理,处理完毕后,返回给应用,应用根据对应的凭证登录到系统内部。可见用户中心的安全是整个系统的健康运行的保障。互联网依赖TCP/IP协议,所有数据都是0或1。这种无差别的传输虽然创造了信息广泛传播的高速通道,但会引发一些严重的安全问题,如DDOS攻击(分布式拒绝服务),这种攻击利用受控的机器向一台机器发起攻击,由于来时迅猛,因此令人难以防备,也正是如此,这种攻击就具有很强的破坏性,对于用户中心是致命的。通常的解决方案是使用多台服务器,当用户拥有更多容量和足够资源时,比较适用该种方案,因为,黑客在攻击的过程中能量也在逐渐耗损,面对足够的资源和容量,攻击方也往往无法进行集中且持续地攻击。但是,该种方案会浪费大量的资金,而且在实际应用中,存在过多的设备处于空闲状态。
技术实现思路
本申请提供了一种基于以太坊的用户中心系统安全的监管方法及装置,以解决现有用户中心系统的数据信息易被篡改,且易被攻击的问题。本申请第一方面提供了一种基于以太坊的用户中心系统安全的监管方法,所述方法包括:发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;获取所述发布者的信息,并生成发布者签名;加密所述合约代码,获得加密信息;根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;广播所述当前以太坊节点所更新的信息,并同步所述更新的信息至以太坊的其余区块节点;根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;根据所述激活状态,确定所述合约账户的执行动作。结合第一方面,在第一方面的第一种可实现方式中,所述获取所述发布者的信息,并生成发布者签名的具体步骤为:提取所述信息中的全部有效数据;计算所述有效数据的哈希值;所述当前以太坊节点随机生成私钥;根据所述私钥,对所述有效数据的哈希值签名。结合第一方面,在第一方面的第二种可实现方式中,所述加密所述合约代码,获得加密信息的具体步骤为:根据所述私钥和椭圆曲线非对称加密算法,生成对应的公钥;计算所述合约代码的哈希值;根据所述公钥,加密所述合约代码的哈希值,获得加密信息。结合第一方面,在第一方面的第三种可实现方式中,所述根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点的具体步骤为:确定所述发布者签名和所述加密信息为MerkleTree的叶子节点;根据哈希变换,计算相邻两组所述叶子节点的父节点的哈希值;依次根据哈希变换计算各相邻两组父节点的下一父节点哈希值,直至得到有且仅有由两个父节点得到的哈希值,并确定所述哈希值为当前以太坊节点的MerkleTree根哈希值;获取前一以太坊节点的哈希值,并根据所述前一以太坊节点的哈希值与所述当前以太坊节点的MerkleTree根哈希值,计算当前以太坊节点的头哈希值。结合第一方面,在第一方面的第四种可实现方式中,所述方法还包括:与所述当前以太坊节点任一相邻的获信以太坊节点接收所述当前以太坊节点广播的信息,所述信息至少包括:所述发布者签名和所述加密信息;根据所述信息的MerkleTree存储结构,检测所获信息的有效性。结合第一方面,在第一方面的第五种可实现方式中,所述方法还包括:根据所述公钥,验证所述所获信息中所述发布者签名;如果验证通过,对比所述所获信息与所述信息的MerkleTree根哈希值是否一致;如果一致,则所述所获信息有效;如果不一致,则按照从上至下的顺序,遍历所述所获信息与所述信息的MerkleTree的节点哈希值,确定不一致的节点哈希值所对应的节点为问题节点。结合第一方面,在第一方面的第六种可实现方式中,所述方法包括:确定与所述当前以太坊节点相邻的全部以太坊节点为获信以太坊节点;根据预设协议,所述当前以太坊节点广播所述信息至全部所述获信以太坊节点;所述获信以太坊节点判断所获信息是否有效;如果有效,则确定各所述获信以太坊节点的全部下一相邻获信以太坊节点;根据所述预设协议,各所述获信以太坊节点广播所述所获信息至全部所述下一相邻获信以太坊节点;依照上述广播模式,直至广播覆盖全部以太坊网络。结合第一方面,在第一方面的第七种可实现方式中,所述根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态的具体步骤为:如果所述交易费用信息为缴费,则确定所述合约代码的激活状态为激活;如果所述交易费用信息为未缴费或者缴费不足,则确定所述合约代码的激活状态为不激活。结合第一方面,在第一方面的第八种可实现方式中,所述根据所述激活状态,确定所述合约账户的执行动作的具体步骤为:如果所述激活状态为激活,则所述合约账户根据所述指令执行相应的操作;如果所述激活状态为不激活,则所述合约账户不做任何相应的操作。本申请第二方面提供了一种基于以太坊的用户中心系统安全的监管装置,所述装置包括:发布单元,用于发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;签名生成单元,用于获取所述发布者的信息,并生成发布者签名;加密单元,用于加密所述合约代码,获得加密信息;数据存储单元,用于根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;信息广播单元,用于广播所述当前以太坊节点所更新的信息,并同步所述更新的信息至以太坊的其余区块节点;合约代码状态确定单元,用于根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;执行单元,用于根据所述激活状态,确定所述合约账户的执行动作。由以上技术可知,本申请提供了一种基于以太坊的用户中心系统安全的监管方法及装置,其中,所述方法包括:发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;获取所述发布者的信息,并生成发布者签名;加密所述合约代码,获得加密信息;根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;广播所述当前以太坊节点所更新的信息,并同步所述更新的信息至以太坊的其余区块节点;根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;根据所述激活状态,确定所述合约账户的执行动作。使用时,发布者或者管理员编写智能合约代码,并通过所在服务器,利用自己的外部账户控制合约账户将合约代码发布至当前以太坊节点中。当前服务器作为当前以太坊节点,获取发布者的信息,至少包括:身份信息,为了保证发布者身份的可靠性,对发布者的信息进行签名。同时,为了保证信息的安全性,对发布至以太坊节点中的合约代码加密,获得加密信息。为了以太坊节点内数据的防篡改性,采用MerkleTree数据存储结构,存储发布者签名及加密信息等相关数据,如果数据被篡改,将导致MerkleTree的相关推算不一致,因此,能够保证存储信息的有效性。广播当前以太坊节点更新的信息至整体以本文档来自技高网...

【技术保护点】
1.一种基于以太坊的用户中心系统安全的监管方法,其特征在于,所述方法包括:发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;获取所述发布者的信息,并生成发布者签名;加密所述合约代码,获得加密信息;根据Merkle Tree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;广播所述当前以太坊节点所更新的信息,并同步所述更新的信息至以太坊的其余区块节点;根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;根据所述激活状态,确定所述合约账户的执行动作。

【技术特征摘要】
1.一种基于以太坊的用户中心系统安全的监管方法,其特征在于,所述方法包括:发布者利用外部账户控制合约账户发布合约代码至当前以太坊节点;获取所述发布者的信息,并生成发布者签名;加密所述合约代码,获得加密信息;根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点;广播所述当前以太坊节点所更新的信息,并同步所述更新的信息至以太坊的其余区块节点;根据所述外部用户的指令和交易费用信息,确定所述合约代码的激活状态;根据所述激活状态,确定所述合约账户的执行动作。2.根据权利要求1所述的基于以太坊的用户中心系统安全的监管方法,其特征在于,所述获取所述发布者的信息,并生成发布者签名的具体步骤为:提取所述信息中的全部有效数据;计算所述有效数据的哈希值;所述当前以太坊节点随机生成私钥;根据所述私钥,对所述有效数据的哈希值签名。3.根据权利要求2所述的基于以太坊的用户中心系统安全的监管方法,其特征在于,所述加密所述合约代码,获得加密信息的具体步骤为:根据所述私钥和椭圆曲线非对称加密算法,生成对应的公钥;计算所述合约代码的哈希值;根据所述公钥,加密所述合约代码的哈希值,获得加密信息。4.根据权利要求3所述的基于以太坊的用户中心系统安全的监管方法,其特征在于,所述根据MerkleTree数据存储结构,存储所述发布者签名和所述加密信息至所述当前以太坊节点的具体步骤为:确定所述发布者签名和所述加密信息为MerkleTree的叶子节点;根据哈希变换,计算相邻两组所述叶子节点的父节点的哈希值;依次根据哈希变换计算各相邻两组父节点的下一父节点哈希值,直至得到有且仅有由两个父节点得到的哈希值,并确定所述哈希值为当前以太坊节点的MerkleTree根哈希值;获取前一以太坊节点的哈希值,并根据所述前一以太坊节点的哈希值与所述当前以太坊节点的MerkleTree根哈希值,计算当前以太坊节点的头哈希值。5.根据权利要求3所述的基于以太坊的用户中心系统安全的监管方法,其特征在于,所述方法还包括:与所述当前以太坊节点任一相邻的获信以太坊节点接收所述当前以太坊节点广播的信息,所述信息至少包括:所述发布者签名和所述加密信息;根据所述信息的MerkleTree存储结构,检测所获信息的有效性。6.根据权利要求5所述的基于以太坊的用户中心系统安全的监管方法,...

【专利技术属性】
技术研发人员:王冰
申请(专利权)人:海南新软软件有限公司
类型:发明
国别省市:海南,46

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

1