一种基于标识密码和联盟链的双代理跨域认证方法技术

技术编号:21898906 阅读:29 留言:0更新日期:2019-08-17 18:24
本发明专利技术涉及一种基于标识密码和联盟链的双代理跨域认证方法,属于物联网信息安全技术领域。包括1)管理域系统初始化:KGC服务器初始化系统参数组,生成系统主密钥,发送信息上链请求并附上管理域标识符、系统参数组和系统主密钥;BCAS服务器将上述信息存储在文件中,并计算文件哈希;调用信息上链智能合约,将文件的URI和哈希信息写入区块链;2)管理域B内实体EB认证管理域A内实体EA的过程。所述方法使用标识签名技术实现实体身份认证,认证过程不依赖于公钥基础设施且不需要数字证书,使系统的部署、维护简便,易于扩展,灵活性高;管理域间的互信构建过程并不依赖于第三方机构;能有效解决标识密码技术公钥的撤销和更新问题。

A Double Agent Cross-Domain Authentication Method Based on Identity Password and Alliance Chain

【技术实现步骤摘要】
一种基于标识密码和联盟链的双代理跨域认证方法
本专利技术涉及一种基于标识密码和联盟链的双代理跨域认证方法,用于在实体请求跨域实体服务或者访问跨域实体资源前的身份确认,属于物联网信息安全

技术介绍
身份认证在物联网场景中是一种非常基础性的技术,通常作为隐私、安全、信任、授权、访问控制等的底层技术,或作为大多数应用的子模块而存在。实体在请求服务、访问网络资源之前,通常需要由相关的身份认证模块进行身份认证,身份确认通过之后才能进入下一步的网络行为。从身份认证过程中所使用的密钥类型来看,身份认证技术分为两大类:基于对称密钥的身份认证技术和基于公钥的身份认证技术。基于对称密钥的身份认证技术所涉及的计算简单,通常具有较好的性能,但是通常有一个预密钥分配的环节,这使得系统的可扩展性和灵活性收到很大的限制。目前主要被使用的基于公钥的身份认证技术,又进一步分为基于数字证书的身份认证技术和基于身份标识密码技术的身份认证技术。基于公钥的身份认证技术可解决对称密钥所面临的的扩展性和灵活性问题,但是基于数字证书的身份认证技术存在对公钥基础设施的依赖以及数字证书的维护问题,这使得其在物联网领域的应用受到限制。本专利技术使用基于标识密码的身份认证技术,标识密码不需要使用数字证书将实体的标识和公钥进行绑定,实体标识本身就是公钥或者根据标识计算导出,具有管理简单,扩展性好、灵活性高的特点。联盟链是一种需要注册许可的区块链,区块链账本仅限于联盟链成员参与维护,区块链上的读写权限、参与记账权限按联盟规则来制定。联盟链平台应提供成员管理、认证、授权、监控、审计等安全管理功能。联盟链虽然去中心化程度不如公有链,但其在交易的确认时间、每秒交易数方面都有很大提升,安全性和性能比公有链高。
技术实现思路
本专利技术考虑物联网场景下不同管理域间实体的认证需求,针对所述不同管理域间缺乏互信以及公钥基础设施面临证书维护的问题,结合标识密码技术无数字证书、易于部署和管理的优势,联盟链构建互信以及去中心化特性,提出了一种基于标识密码和联盟链的双代理跨域认证方法。所述基于标识密码和联盟链的双代理跨域认证方法涉及的名词有:1)管理域,是指某些设备同属于一个机构或组织,逻辑上被所述机构或组织内的管理服务器所管理,所述设备及设备的管理服务器共同构成了一个独立的逻辑域;2)实体,即Entity,简称E,对应着物联网场景下的一个物理设备,EA表示属于管理域A内的实体;3)密钥生成中心服务器,即KeyGenerationCenter,简称KGC,是管理域内的密钥管理服务器,KGCA表示管理域A中的密钥生成中心服务器;4)认证代理服务器,即AuthenticationAgentServer,简称AAS,是管理域内实体的认证代理,AASA表示属于管理域A中的认证代理服务器;5)区块链代理服务器,即BlockchainAgentServer,简称BCAS,是管理域内KGC服务器的区块链代理,BCASA表示属于管理域A中的区块链代理服务器;6)实体标识,用于唯一标识一个实体,且用来作为实体的公钥或者由标识计算出其公钥;其中,实体标识由不可变字段和可变字段两个字段构成;不可变字段由实体名称、管理域标识两个字段,可变字段由共同参考时间构成,例如UTC参考时间;可变字段的时间根据标识策略决定,标识策略决定实体标识的有效时长,以此来实现实体密钥的撤销和更新;所述基于标识密码和联盟链的双代理跨域认证方法,包含如下步骤:步骤1,管理域系统初始化,依次包含以下步骤:步骤1.1,KGC服务器初始化系统参数组;步骤1.2,KGC服务器生成系统主密钥;其中,系统主密钥以成对形式出现,包含系统主公钥和系统主私钥;步骤1.3,KGC服务器给BCAS服务器发送信息上链请求,并附上管理域标识符、系统参数组和系统主公钥;步骤1.4,BCAS服务器将管理域标识符、系统参数组和系统主公钥存入文件,并计算文件哈希;通过调用信息上链智能合约,将文件的URI和哈希信息写入区块链;其中,URI表示UniformResourceIdentifier,即统一资源标识符,用于唯一标识网络上的资源,并能通过URI在网络中找到该资源。步骤2,管理域B内实体EB认证管理域A内实体EA的过程,依次包含以下步骤:步骤2.1,管理域A内,实体EA验证签名私钥是否存在且仍旧有效,若存在且有效,则进入步骤2.8;若实体EA目前尚无签名私钥或者签名私钥已经失效,则进入步骤2.2;步骤2.2,管理域A内,实体EA向KGCA服务器请求生成自己的签名私钥,并附上自己的标识;步骤2.3,管理域A内,KGCA服务器根据实体EA传来的标识和系统的系统主私钥,计算出实体EA的签名私钥;步骤2.4,管理域A内,KGCA服务器向BCASA服务器请求更新管理域A的系统信息,并附上实体EA的标识;步骤2.5,管理域A内,BCASA服务器更新管理域A的系统信息对应的文件内容,即更换或者增加实体标识EA,并重新计算文件哈希值,调用信息上链智能合约,往联盟链中写入新的URI和文件哈希值信息;步骤2.6,管理域A内,BCASA服务器更新管理域A的系统信息后,给KGCA服务器返回系统信息更新成功消息;步骤2.7,管理域A内,KGCA服务器将EA的签名私钥以安全的方式发送给实体EA;步骤2.8,管理域A内,实体EA生成消息M;步骤2.9,管理域A内,实体EA向AASA服务器发送签名请求和认证请求,并附上消息M;步骤2.10,管理域A内,AASA服务器首先查询自己数据库内是否含有实体EA的签名私钥,并验证其有效性;若实体EA的签名私钥有效,则进入步骤2.14;若无或实体EA的签名私钥已经失效,则进入步骤2.11;步骤2.11,管理域A内,AASA服务器向KGCA服务器请求实体EA的签名私钥;步骤2.12,管理域A内,KGCA服务器根据AASA服务器的签名私钥请求,从数据库查找实体EA的签名私钥;步骤2.13,管理域A内,KGCA服务器给AASA服务器回传实体EA的签名私钥;步骤2.14,管理域A内,AASA服务器使用实体EA的签名私钥对其发来的消息M进行签名,产生数字签名S;步骤2.15,管理域A内,AASA服务器将从实体EA发来的认证请求转发给管理域B内的AASB服务器,并附上消息M和签名S;步骤2.16,管理域B内,AASB服务器接收到认证请求、消息M和签名S之后,先在自己的数据库内的查询管理域A中是否包含实体EA的标识;若存在且仍有效,进入步骤2.21;若不存在或者无效,则进入步骤2.17;步骤2.17,管理域B内,AASB服务器向BCASB服务器请求关于管理域A的最新系统信息;步骤2.18,管理域B内,BCASB服务器收到AASB服务器的请求之后,调用信息查询智能合约,查询管理域A的最新系统信息纪录;根据返回纪录中的URI字段获取管理域A的最新系统信息;步骤2.19,管理域B内,BCASB服务器将管理域A的最新系统信息回传给AASB服务器;步骤2.20,管理域B内,AASB服务器再次查询管理域A中是否包含实体EA;若无实体EA,认证失败,则进入步骤2.22;若存在实体EA,则进入步骤2.21;步骤2.21,管理域B内,AASB服务器根据消息M、签名S和管理域A的系本文档来自技高网
...

【技术保护点】
1.一种基于标识密码和联盟链的双代理跨域认证方法,其特征在于:涉及的名词有:1)管理域,是指某些设备同属于一个机构或组织,逻辑上被所述机构或组织内的管理服务器所管理,所述设备及设备的管理服务器共同构成了一个独立的逻辑域;2)实体,即Entity,简称E,对应着物联网场景下的一个物理设备,EA表示属于管理域A内的实体;3)密钥生成中心服务器,即Key Generation Center,简称KGC,是管理域内的密钥管理服务器,KGCA表示管理域A中的密钥生成中心服务器;4)认证代理服务器,即Authentication Agent Server,简称AAS,是管理域内实体的认证代理,AASA表示属于管理域A中的认证代理服务器;5)区块链代理服务器,即Blockchain Agent Server,简称BCAS,是管理域内KGC服务器的区块链代理,BCASA表示属于管理域A中的区块链代理服务器;6)实体标识,用于唯一标识一个实体,且用来作为实体的公钥或者由标识计算出其公钥;所述基于标识密码和联盟链的双代理跨域认证方法,包含如下步骤:步骤1,管理域系统初始化,依次包含以下步骤:步骤1.1,KGC服务器初始化系统参数组;步骤1.2,KGC服务器生成系统主密钥;其中,系统主密钥包含系统主公钥和系统主私钥;步骤1.3,KGC服务器给BCAS服务器发送信息上链请求,并附上管理域标识符、系统参数组和系统主公钥;步骤1.4,BCAS服务器将管理域标识符、系统参数组和系统主公钥存入文件,并计算文件哈希;通过调用信息上链智能合约,将文件的URI和哈希信息写入区块链;步骤2,管理域B内实体EB认证管理域A内实体EA的过程,依次包含以下步骤:步骤2.1,管理域A内,实体EA验证签名私钥是否存在且仍旧有效,若存在且有效,则进入步骤2.8;若实体EA目前尚无签名私钥或者签名私钥已经失效,则进入步骤2.2;步骤2.2,管理域A内,实体EA向KGCA服务器请求生成自己的签名私钥,并附上自己的标识;步骤2.3,管理域A内,KGCA服务器根据实体EA传来的标识和系统的系统主私钥,计算出实体EA的签名私钥;步骤2.4,管理域A内,KGCA服务器向BCASA服务器请求更新管理域A的系统信息,并附上实体EA的标识;步骤2.5,管理域A内,BCASA服务器更新管理域A的系统信息对应的文件内容,即更换或者增加实体标识EA,并重新计算文件哈希值,调用信息上链智能合约,往联盟链中写入新的URI和文件哈希值信息;步骤2.6,管理域A内,BCASA服务器更新管理域A的系统信息后,给KGCA服务器返回系统信息更新成功消息;步骤2.7,管理域A内,KGCA服务器将EA的签名私钥以安全的方式发送给实体EA;步骤2.8,管理域A内,实体EA生成消息M;步骤2.9,管理域A内,实体EA向AASA服务器发送签名请求和认证请求,并附上消息M;步骤2.10,管理域A内,AASA服务器首先查询自己数据库内是否含有实体EA的签名私钥,并验证其有效性;若实体EA的签名私钥有效,则进入步骤2.14;若无或实体EA的签名私钥已经失效,则进入步骤2.11;步骤2.11,管理域A内,AASA服务器向KGCA服务器请求实体EA的签名私钥;步骤2.12,管理域A内,KGCA服务器根据AASA服务器的签名私钥请求,从数据库查找实体EA的签名私钥;步骤2.13,管理域A内,KGCA服务器给AASA服务器回传实体EA的签名私钥;步骤2.14,管理域A内,AASA服务器使用实体EA的签名私钥对其发来的消息M进行签名,产生数字签名S;步骤2.15,管理域A内,AASA服务器将从实体EA发来的认证请求转发给管理域B内的AASB服务器,并附上消息M和签名S;步骤2.16,管理域B内,AASB服务器接收到认证请求、消息M和签名S之后,先在自己的数据库内的查询管理域A中是否包含实体EA的标识;若存在且仍有效,进入步骤2.20;若不存在或者无效,则进入步骤2.17;步骤2.17,管理域B内,AASB服务器向BCASB服务器请求关于管理域A的最新系统信息;步骤2.18,管理域B内,BCASB服务器收到AASB服务器的请求之后,调用信息查询智能合约,查询管理域A的最新系统信息纪录;根据返回纪录中的URI字段获取管理域A的最新系统信息;步骤2.19,管理域B内,BCASB服务器将管理域A的最新系统信息回传给AASB服务器;步骤2.20,管理域B内,AASB服务器再次查询管理域A中是否包含实体EA;若无实体EA,认证失败,则进入步骤2.22;若存在实体EA,则进入步骤2.21;步骤2.21,管理域B内,AASB服务器根据消息M、签名S和管理域A的系统信息,开展签名验证;若签名验证成功,则认证成功;若签名验证失败,则认证失败;步骤2.22,管理...

【技术特征摘要】
1.一种基于标识密码和联盟链的双代理跨域认证方法,其特征在于:涉及的名词有:1)管理域,是指某些设备同属于一个机构或组织,逻辑上被所述机构或组织内的管理服务器所管理,所述设备及设备的管理服务器共同构成了一个独立的逻辑域;2)实体,即Entity,简称E,对应着物联网场景下的一个物理设备,EA表示属于管理域A内的实体;3)密钥生成中心服务器,即KeyGenerationCenter,简称KGC,是管理域内的密钥管理服务器,KGCA表示管理域A中的密钥生成中心服务器;4)认证代理服务器,即AuthenticationAgentServer,简称AAS,是管理域内实体的认证代理,AASA表示属于管理域A中的认证代理服务器;5)区块链代理服务器,即BlockchainAgentServer,简称BCAS,是管理域内KGC服务器的区块链代理,BCASA表示属于管理域A中的区块链代理服务器;6)实体标识,用于唯一标识一个实体,且用来作为实体的公钥或者由标识计算出其公钥;所述基于标识密码和联盟链的双代理跨域认证方法,包含如下步骤:步骤1,管理域系统初始化,依次包含以下步骤:步骤1.1,KGC服务器初始化系统参数组;步骤1.2,KGC服务器生成系统主密钥;其中,系统主密钥包含系统主公钥和系统主私钥;步骤1.3,KGC服务器给BCAS服务器发送信息上链请求,并附上管理域标识符、系统参数组和系统主公钥;步骤1.4,BCAS服务器将管理域标识符、系统参数组和系统主公钥存入文件,并计算文件哈希;通过调用信息上链智能合约,将文件的URI和哈希信息写入区块链;步骤2,管理域B内实体EB认证管理域A内实体EA的过程,依次包含以下步骤:步骤2.1,管理域A内,实体EA验证签名私钥是否存在且仍旧有效,若存在且有效,则进入步骤2.8;若实体EA目前尚无签名私钥或者签名私钥已经失效,则进入步骤2.2;步骤2.2,管理域A内,实体EA向KGCA服务器请求生成自己的签名私钥,并附上自己的标识;步骤2.3,管理域A内,KGCA服务器根据实体EA传来的标识和系统的系统主私钥,计算出实体EA的签名私钥;步骤2.4,管理域A内,KGCA服务器向BCASA服务器请求更新管理域A的系统信息,并附上实体EA的标识;步骤2.5,管理域A内,BCASA服务器更新管理域A的系统信息对应的文件内容,即更换或者增加实体标识EA,并重新计算文件哈希值,调用信息上链智能合约,往联盟链中写入新的URI和文件哈希值信息;步骤2.6,管理域A内,BCASA服务器更新管理域A的系统信息后,给KGCA服务器返回系统信息更新成功消息;步骤2.7,管理域A内,KGCA服务器将EA的签名私钥以安全的方式发送给实体EA;步骤2.8,管理域A内,实体EA生成消息M;步骤2.9,管理域A内,实体EA向AASA服务器发送签名请求和认证请求,并附上消息M;步骤2.10,管理域A内,AASA服务器首先查询自己数据库内是否含有实体EA的签名私钥,并验证其有效性;若实体EA的签名私钥有效,则进入步骤2.14;若无或实体EA的签名私钥已经失效,则进入步骤2.11;步骤2.11,管理域A内,AASA服务器向KGC...

【专利技术属性】
技术研发人员:沈蒙刘惠森于红波徐恪巩毅琛
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

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

1