1.一种基于区块链的工业互联网身份认证方法,其特征在于,该方法包括:
1)构建工业互联网的轻量级身份认证架构,具体构建两条区块链,即主链由认证管理机构CMF各节点和用户节点构成;侧链由各个工业互联网服务提供商IISP构成;
2)区块共识方法,具体包括以下步骤:
S1:用户节点登录上链后,在全网广播注册、认证消息;
S2:区块链CMF节点出块时间间隔内,CMF根据各个节点的信用值从大到小生成出块节点名单,由每轮的记账节点将各节点选举结果作为交易发布记录到区块链网络中;
S3:CMF记账节点监听网络,完成用户节点的注册、认证工作;用户节点注册完成后,记账节点向其他CMF普通节点广播用户信息,各普通节点收到消息后存入本地授权用户表单;
用户节点认证完成后,由CMF记账节点生成Token同时发送给用户节点和相应的IISP;
S4:用户凭借从CMF获取的Token与相应的IISP建立连接,获取服务。
2.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S1中,注册消息包括消息的类型、用户的id和用户的权限标识;用户的注册信息在全网广播时用CMF的公钥进行加密。
3.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S1中,认证消息包括消息的类型、用户的id和请求获得服务的编号,其中请求获得服务的编号对应侧链中IISP的id。
4.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S2中,CMF各节点处保存有三种表单,分别是获取IISP服务身份凭证表单、身份授权表单和IISP地址与编号映射表单。
5.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S2中,定义工业互联网CMF节点信誉值为v,节点上次出故障的时间为LT,当前时刻时间为T,近期节点故障次数为n,则工业物联网节点信誉值为:其中,κ、 μ分别表示节点上次信誉值、最近一次节点故障、近期节点故障所占的权值比重。
6.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S3中,用户节点注册过程中,若CMF记账节点收到了用户注册消息,记账节点的共识算法具体包括以下步骤:(1)本轮记账节点将收集的数据打包按时间戳排序放入区块,将区块发布给相邻CMF节点,CMF节点之间相互传递区块,CMF节点验证区块的合法性,若合法则向记账节点回复“确认||区块ID||确认节点ID”报文;
(2)若本轮记账节点收到超过CMF节点总数2/3的回复报文,则记账节点单独验证该区块的合法性,若区块通过记账节点的验证,则记账节点向全网广播“接收区块+区块ID”报文;
(3)各个节点将记账节点向全网广播的报文记录到本地日志中,将从中获得用户消息写入本地授权用户表单中,记账节点集合中的节点将该区块连接到区块链中。
7.根据权利要求6所述的工业互联网身份认证方法,其特征在于,步骤(2)中,对区块的验证具体包括以下步骤:a)检查区块的ID是否合法,即区块ID从前往后按顺序排列;
b)检查本区块头中前一区块哈希摘要是否与前一区块哈希值相同;
c)检查时间戳是否合法,即当前区块链UNIX时间戳必须严格大于前n个区块时间戳中值。
8.根据权利要求1所述的工业互联网身份认证方法,其特征在于,所述步骤S3中,用户节点认证工作过程中,若CMF记账节点收到了用户请求认证消息,记账节点的共识算法具体包括以下步骤:(1)本轮记账节点将收集的数据打包排序放入区块,将区块发布给相邻CMF节点,CMF节点之间相互传递区块,CMF节点比对本地授权表单验证区块的合法性,若合法则向记账节点回复“确认||区块ID||确认节点ID”报文;
(2)若本轮记账节点收到超过CMF节点总数2/3的回复报文,则记账节点单独验证该区块的合法性,除基本的区块验证外,优先选择确认节点信誉值最高以及区块备选区时间戳靠前的区块,若区块通过记账节点的验证,则记账节点向用户和其对应的IISP颁发Token,分别用各自的公钥加密;其中对IISP借助主链与侧链的接口向侧链广播,使相应IISP接受消息。