Page 339 - 《软件学报》2021年第8期
P. 339

魏欣  等:基于联盟链的物联网跨域认证                                                             2621


                    网关与 CA 及联盟链之间的交互主要包括以下几项:设备的注册、更新、以及查询.
                    网关向 CA 发起的请求格式如下.
                    Request {
                      “gateway”:gatewayID,        //网关 ID
                      “CA”:CAid,                  //为该网关签发许可的 CA 公钥
                      “commandtype”:command,      //请求类型,包括写入、更新、查询.
                      “DeviceID”:Public key,      //对应的设备公钥
                      “Description”:[
                        “Attribute1”:value1,      //属性 1
                        “Attribute2”:value2,      //属性 2
                      ],                          //对于写入及更新的请求,需要更新的信息封装为 json 字段
                    }
                    查询请求的 description 字段为空,合约为其返回对应设备的信息.注册请求需提供设备描述及权限许可等
                 属性信息.更新请求的 description 字段只包括需要更新的信息.
                    网关向网关发出的跨域认证请求如下.
                    Authenticate{
                      “gateway”:gatewayID,        //网关 ID
                      “CA”:CAid,                  //为发起请求的网关签发许可的 CA 公钥
                      “message1”:Y,
                      “message1”:T,
                      “message1”:C,               //Y,T,C 为网关为设备跨域访问生成的加密字段
                      “time”:timestamp;
                    }
                    当收到请求的网关完成验证,交换会话密钥后,网关向网关发出的跨域访问请求如下.
                    Access{
                      “gateway”:gatewayID,        //网关 ID
                      “CA”:CAid,                  //为发起请求的网关签发许可的 CA 公钥
                      “DeviceID”:Public key,      //需控制的设备公钥
                      “Deviceswitch”:switch,      //设备开关
                      “commandtype”:[
                        “func1”:value 1,          //设备功能 1 的值
                        “func 2”:value 2,         //设备功能 2 的值
                        “func n”:value n,         //设备功能 n 的值
                      ]
                      “time”:timestamp;
                    }
                    此时收到请求的网关校验权限允许之后,执行 conmandtype 中的函数.

                 4    认证机制分析

                 4.1   正确性证明
                    在第 3.1 节的机制设计中,提出了认证时使用的数据,被请求的网关校验通过后证明该请求来自于合法的
                 网关或设备.其中,为证明校验的正确性,证明如下.
   334   335   336   337   338   339   340   341   342   343   344