CN112689009A - 一种物联网的分布式认证的方法 - Google Patents
一种物联网的分布式认证的方法 Download PDFInfo
- Publication number
- CN112689009A CN112689009A CN202011545158.9A CN202011545158A CN112689009A CN 112689009 A CN112689009 A CN 112689009A CN 202011545158 A CN202011545158 A CN 202011545158A CN 112689009 A CN112689009 A CN 112689009A
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- virtual trusted
- blockchain
- transaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种物联网的分布式认证的方法,其特征在于,基于区块链所提供的安全优势和结合被称为虚拟可信区域的分布式***,在所述虚拟可信区域中,物联网设备可以相互识别和信任;所述方法,还包括:创建虚拟可信区域;关联虚拟可信区域;基于虚拟可信区域的物联网分布式认证。通过本发明,能够形成一个运营成本低、效率高的安全运维管理环境。
Description
技术领域
本发明涉及分布式架构、4A、区块链、物联网、网络安全的技术领域,尤其涉及到一种物联网的分布式认证的方法。
背景技术
目前,在世界范围内,物联网(IoT Internet-of-Things)几乎涉及到人们日常生活的所有领域。根据Gartner报导,随着5G的商用,到2020年,将有成百上千亿数量的物联网设备部署。事实上,人们正逐渐为他们的家庭配备物联网设备,例如,智能家居等。在工厂环境中,机器人和其它智能设备的协作提高了工厂自动化的效率和水平。物联网不仅仅限于此,而且还被广泛应用在许多其它领域,例如,智慧医疗、智慧交通等。
在物联网世界中,物联网设备在没有人为干预的情况下处理和交换数据。因此,由于这种完全的自治的特征,使得这些实体需要相互识别和认证,并确保其交换数据的完整性。否则,它们将成为黑客、恶意用户和恶意使用的目标。由于物联网的规模和其它特点,几乎不可能建立一个高效的集中式认证***。
已有的物联网安全认证及运维的解决方案,例如,公钥基础设施PKI(Public KeyInfrastructure),这是一种集中式的架构,在由成千上万个节点组成的环境中,这会导致巨大的可扩展性问题。其次,由于物联网设备计算资源和存储资源的局限性和异构性,现有的安全解决方案通常是计算密集性的,不能完全适应这样一个生态***。再者,已有的方法往往需要多种安全技术和解决方案的结合,这不仅会导致成本高,而且由于每个需求用例均应用不同的安全技术、体系结构和部署方式,还给新服务和需求用例的集成带来了重重困难。因此,有必要为整个物联网的认证及安全运维管理提出一个全新的安全解决方案,所述方案必须:(1)允许新设备和新服务的轻松集成;(2)完全适应物联网需求;(3)不依赖于设备类型,也不依赖于用例架构和设计;(4)满足认证及安全运维管理的需要。
发明内容
为了解决上述技术问题,本发明提供了一种物联网的分布式认证的方法,采用区块链技术和创建虚拟可信区域,以实现物联网设备的分布式认证。
一种物联网的分布式认证的方法,其特征在于,基于区块链所提供的安全优势和结合被称为虚拟可信区域的分布式***,在所述虚拟可信区域中,物联网设备可以相互识别和信任;
所述方法,还包括:
创建虚拟可信区域;
关联虚拟可信区域;
基于虚拟可信区域的物联网分布式认证。
进一步地,所述创建虚拟可信区域,包括:
主设备决定要创建的虚拟可信区域的标识符groupID和主设备自身的标识符objectID;
在区块链上创建虚拟可信区域,主设备向区块链发送一个事务,该事务包含要创建的虚拟可信区域的标识符groupID和主设备的标识符objectID;
区块链检查groupID和objectID的唯一性,如果事务有效,则成功创建虚拟可信区域;进一步地,所述关联虚拟可信区域,包括:
成员设备向已创建的虚拟可信区域发起关联请求,所发送的消息用成员设备的私钥签名,并包含成员设备的viot数据结构;
当区块链收到所述关联请求时,它通过使用成员设备的公钥验证签名来验证其完整性。然后,使用主设备的公钥验证成员设备的viot数据结构,因为它代表签署它的实体;
如果viot有效,说明成员设备关联成功,则区块链存储其grpID、objID和公钥的关联,以及存储(XX、YY和PubKey_F)。
进一步地,所述基于虚拟可信区域的物联网分布式认证,包括:
成员设备发送数据通信请求,所述通信请求包含:交换的数据、XX、YY和使用成员设备的私钥连接先前字段的ECDSA签名;
当区块链收到所述通信请求时,它通过使用成员设备的公钥验证签名来验证其完整性;
如果签名有效,则区块链验证用于请求验证的公钥是否已存储并与事务内发送的grpID和objID关联,也就是说,通信双方是否在同一个虚拟可信区域内;
如果关联已存储且有效,则设备验证和认证成功,允许通信。
进一步地,所述虚拟可信区域,可以包含海量的物联网设备或成员设备。
进一步地,所述主设备,可以是任意指定的一个物联网设备。
本发明的技术效果在于:
在本发明中,提供了一种物联网的分布式认证的方法,其特征在于,基于区块链所提供的安全优势和结合被称为虚拟可信区域的分布式***,在所述虚拟可信区域中,物联网设备可以相互识别和信任;所述方法,还包括:创建虚拟可信区域;关联虚拟可信区域;基于虚拟可信区域的物联网分布式认证。通过本发明,能够形成一个运营成本低、效率高的安全运维管理环境。
附图说明
图1是一种物联网的分布式认证的方法的物联网示意图;
图2(1)是一种物联网的分布式认证的方法的区块链示意图;
图2(2)是一种物联网的分布式认证的方法的区块链块结构示意图;
图3(1)是一种物联网的分布式认证的方法的物联网设备示意图;
图3(2)是一种物联网的分布式认证的方法的准备示意图;
图3(3)是一种物联网的分布式认证的方法的创建示意图;
图3(4)是一种物联网的分布式认证的方法的关联示意图;
图3(5)是一种物联网的分布式认证的方法的访问控制示意图;
图3(6)是一种物联网的分布式认证的方法的生态***全局示意图;
图4是一种物联网的分布式认证的方法的关联和认证过程示意图;
图5是一种物联网的分布式认证的方法的步骤的示意图。
具体实施方式
下面是根据附图和实例对本发明的进一步详细说明:
本申请所提供的方法,的主要目标是在物联网环境(如图1所示)中创建安全的虚拟可信区域。每个设备只能与其区域内的设备通信,并且认为其它设备都是恶意的。因此,在虚拟可信区域内,所有成员都可以相互信任。
对于非成员设备(即不属于所述虚拟可信区域的成员设备),它受保护且不可访问。为了实现这样一个***,本申请所提供的方法,依赖实现智能合约SC(SmartContracts)的公共区块链。为了让***对任何用户开放,本申请所提供的方法,使用公共区块链而不是私有区块链。换句话说,依赖于一个私有区块链,使得本申请所提供的方法,只适用于预先定义的用户,并且一旦***部署好,就很难添加新的用户,这大大限制了方法的可扩展性和灵活性。
***中的通信被视为事务,必须通过此区块链的验证才能考虑。例如,如果设备a向设备B发送消息,则:
(1)a向区块链发送消息;
(2)如果区块链验证通过了a,则验证通过了事务***中的通信被视为事务;
(3)B可以读取消息。
基于区块链的物联网分布式认证,能够确保物联网对等节点之间的分布式认证和信任,因此,意味着给物联网增加了一个安全层。区块链的分布式架构可以在很多方面帮助物联网,例如:
(1)利用区块链对其传感器数据进行正确跟踪:在大多数人的一致意见下,防止其传感器数据测量真值与假值的替代;
(2)使用区块链技术,物联网传感器可以在不涉及第三方建立信任的情况下交换数据,区块链为数据共享提供了分布式信任环境;
(3)物联网***的运营和部署成本可以降低,因为它支持P2P(Peer to Peer)通信,不需要中介/第三方;
(4)在数据不匹配的情况下,借助区块链技术的哈希机制,可以轻松检测出故障的物联网设备;
(5)通过将区块链技术融入物联网,可以形成一个运营成本低、效率高的安全运维管理环境。
另外,物联网的分布式认证的解决方案必须满足众多安全需求,以确保物联网生态***的可持续性和可扩展性,下面将加以描述:
完整性:保持完整性是每个物联网管理***自身必须确保的关键需求。在本申请的背景下,完整性分为两部分:
1、消息(事务/通信)完整性:交换的消息在网络传输期间不得更改或修改;
2、数据完整性:包括在数据的整个生命周期内保持数据的一致性和可靠性。因此,只有经过授权的用户才能修改存储的数据。
可用性:可用性意味着合法用户必须能够按需访问资源。因此,物联网管理***必须能够抵御拒绝服务攻击,特别是针对身份验证服务的攻击。
可扩展性:在本申请中,可扩展性表示确保物联网规模的大小对其性能没有影响的能力。例如,如果物联网设备的数量激增,则物联网管理***功能(如身份验证服务/或分布式认证服务)所需的时间决不能受到影响。
不可抵赖性:它指的是确保实体不能否认已执行操作的能力,例如设备不能否认已发送消息。
标识:标识在大多数物联网用例中代表一个主要需求。它与匿名性相反,匿名性确保任何实体都可以在确保对所有***实体匿名的范围内使用***。例如,在智慧停车场景中,当停车点的传感器发送通知时,管理***必须确切地知道哪个传感器正在通信,以便准确地更新停车点的状态。另一个例子是环境监测,其中一个传感器监测湖泊的水位。当这个传感器向监控平台发送信息时,监控平台必须知道哪个传感器正在通信,以便决定要提供的操作。
相互认证:认证是证明身份的机制。相互认证表示通信双方相互认证的要求。这一要求对于受保护***防止实体的角色欺骗是非常必要的。
身份验证方案的总体目的是允许多个节点通过不受信任的网络以可信的方式进行通信。在这项工作中,本申请考虑一个网络在分布式架构中提供和使用不同物联网服务的设备。每一件物联网设备都与许多其他物联网设备通信。交换的消息通过一个不可靠且可能遭受攻击的通信网络,如因特网Internet。本申请还假设所有参与者都不可信。事实上,网络中大量的智能设备,增加了包含遭受攻击的风险的设备。此外,现有设备属于异构类型,不属于同一用例。网络功能只包括转发数据包,不提供任何安全保证,如完整性或身份验证。因此,恶意用户可以读取、修改、删除或***网络消息。
本申请假设攻击者或恶意用户完全控制所使用的网络,即他可以选择性地嗅探、丢弃、重播、重新排序、注入、延迟和修改消息,而延迟可以忽略不计。但是,这些设备可以接收未经更改的消息。尽管如此,并没有对更改消息的速率做出任何假设。此外,攻击者可以从比实现的设备更大的计算能力和存储中获益。
但是,本申请不考虑对设备的物理攻击,攻击者可以在其中检索对象的某些/所有机密,如私钥。本申请假设对象受到物理攻击的保护,因为它存在许多方法,通过使这些信息仅由设备本身可读来保护它们不受此类攻击。
攻击者可以有多个目标,例如发送错误信息以误导***决策或拒绝***服务。因此,它可以进行多次攻击,例如:
1)Sybil攻击:在多个协作用例中,攻击者模拟多个实体(设备)的存在,这些实体(设备)向服务的服务器或管理应用程序发送错误信息,以便选择攻击者需要的决策。一个例子是智慧交通(Intelligent Transportation System)的用例。在智慧交通中,车辆连续向管理中心发送多个信息。这些信息涉及车辆的活动及其环境,由管理中心用于提供和增强多种服务。例如,如果管理中心接收到来自多辆车的信息,告知交通堵塞或事故,它将立即将这些信息传播到该区域的所有车辆,并帮助它们找到更好的路径。因此,攻击者可以代表多个现有或不存在的车辆发送错误信息,从而误导管理中心的决策。这种攻击可以在每一个需要从一定数量的设备中获取信息以选择或做出决定的用例中进行;
2)欺骗攻击:与sybil攻击相反,攻击者试图创建许多虚假或虚拟身份,在欺骗攻击中,攻击者试图模仿合法用户的身份以利用其权限;
3)消息替换攻击:在替换攻击中,攻击者在有效消息的传输过程中截获它们,并对其进行更改,使收件人接受伪造的消息,就好像它们是由原始发件人发送的一样;
4)拒绝服务:拒绝服务(DoS)或分布式DoS(Denial of Service)攻击的特征是攻击者明确试图阻止服务的合法使用。DoS/DDoS攻击有两种方法:(1)利用协议漏洞;(2)淹没目标。DDoS攻击是最危险的网络攻击之一,它们的流行是因为它们对任何类型的服务都具有很高的有效性,因为它们不需要识别和利用协议或服务的缺陷,而只需要网络流量洪水泛滥淹没目标。针对身份验证机制的DDoS攻击将造成严重损害,例如它能够使整个***瘫痪或允许非合法用户使用***;
5)消息回放攻击:攻击者可以选择性地记录一些消息,并在以后不做任何修改的情况下回放它们,因为成功验证消息并不能证明消息发送时间的正确性。这样,就可以故意向对象或服务器提供不准确的信息。消息回放攻击通常与消息删除攻击相结合。
在本申请中,列举了身份验证服务相关的攻击,其它攻击这里不一一地给出了。
关于区块链技术,将作如下的描述:
区块链被定义为一个分布式数据库(账本),它维护事务数据的永久性和防篡改记录。通过依赖P2P(Peer to Peer)对等网络,区块链完全分布式***。更准确地说,网络的每个节点都维护一个分类账副本,以防止出现单点故障。所有副本将同时更新和验证。
当前的区块链功能是为了解决加密货币的双重支出问题而创建的。然而,目前,许多工作都在多个用例中探索区块链应用程序,并将其用作创建和管理分布式数据库以及维护所有类型数字事务记录的安全方法。
区块链账本由多个区块组成,如图2(1)和图2(2)所示,每个区块由两部分组成。第一个表示事务或事实fact(数据库必须存储),可以是任何类型,如货币事务、健康数据、***日志、流量信息等。第二个称为报头header,包含有关块的信息,例如时间戳、事务的散列等,以及前一个块的散列。因此,现有块的集合形成一个链接的有序块链。链条越长,越难伪造。实际上,如果恶意用户想要修改或交换一个块上的事务,(1)它必须修改以下所有块,因为它们与散列相链接。(2)然后,它必须更改每个参与节点存储的区块链的版本。
参与节点有两种类型:(1)只能读取事实的节点(被动模式);和(2)可以读取和写入事实的节点(主动模式),通常称为矿工miner。为了向区块链添加新事务,执行以下步骤:
1、事务与其他事务一起分组到一个块中;
2、矿工验证块内的事务是否符合定义的规则;
3、矿工们执行共识Consensus机制来验证添加的区块;
4、对验证区块的矿工给予奖励;
5、验证的事务存储在区块链中。
为了验证块的真实有效性,它存在多种机制。最常用的是工作证明PoW(Proof ofWork)和利害关系证明PoS(Proof of Stake)机制。
PoW:在PoW中,矿工必须执行一些预定义的工作,这通常是一个数学难题或挑战,很难计算,但很容易验证。为每个块验证请求一个PoW。数学挑战的难度可以根据验证块所需的时间和矿工的计算能力进行调整。一方面,PoW具有保护事务和块不被更改的优势,因为攻击者需要验证其所有伪请求并更改一部分链块,为每个更改的块提供新的PoW,以及更新所有节点上链的版本,这需要巨大的计算能力和能量。另一方面,PoW也有一些缺点,会造成灾难性的后果。事实上,PoW在困惑的计算中需要很大的能量浪费。此外,PoW可能导致悲剧。事实上,随着时间的推移,矿工奖励将减少,这导致矿工数量的减少,因为获得的唯一费用将来自事务,随着时间的推移,随着用户选择支付较低的事务费用,事务费用也将减少。矿工数量的减少使得区块链生态***容易受到51%的攻击。后者发生在恶意矿工(或恶意矿工池)控制网络计算能力的51%或更多时。因此,他可以为自己或其他实体创建欺诈性事务块,同时使网络中其他实体的事务无效。最后,在一些机制中,如比特币中应用的最长链机制中,由于没有足够的能力来构建最长链,从而导致了巨大的损失,因此许多验证块并实现PoW的矿工将得不到回报。
PoW代表了区块链***中广泛采用的区块验证方法,如比特币(Bitcoin)、以太坊(Ethereum)、比特共享(BitShares)和莱特币(Litecoin)。
PoS:为了解决PoW的不足,提出了PoS。在PoS中,不存在矿工,在那里,能量和时间被花在解决数学难题上。验证器被称为伪造者。伪造者可以根据他拥有多少钱来验证块。这意味着他拥有的硬币越多,他的矿工能力就越强。以一种更简单的方式,本申请可以将PoS与***游戏进行比较,在***游戏中,每个伪造者都会在其块上下注。诚实的区块不包含欺诈事务,被附加到链和他们的伪造者得到奖励。每个伪造者都根据自己的赌注得到奖赏。例如,如果伪造者下注总下注金额的25%,他将获得奖励金额的25%。最后,被证明是不诚实的伪造者将受到惩罚,他所下的赌注金额将从他的余额中扣除。不像PoW,一般来说,在PoS中任何伪造者都会得到奖励。然而,有钱的造假者,总是最大的受益者。此外,在PoW,不诚实的矿工是可以原谅的,但在PoS,他们支付他们的赌注而被惩罚。有许多使用PoS的区块链***,还有许多正在从PoW转移到PoS中。使用PoS的区块链示例诸如Peercoin、ShadowCash、Nxt、BlackCoin等。
有许多其他机制可以验证块,如委托的利害关系证明dpo(Delegated Proof-of-Stake)、持有证明PoH(Proof of Hold)、使用证明PoU(Proof of Use)、利害关系证明/时间证明PoST(Proof of Stake/Time)、最小年限利害关系证明poma(Proof of Minimum AgedStake)和重要性证明PoI(Proof of Importance)。
区块链可以是许可(私有)或无许可(公共)。第一类类型(私有区块链),限制共识贡献者。只有被选中的可信参与者才有权验证事务;达成共识不需要大量的计算,因此既不费时又不费时;最后,它允许事务的隐私,因为只有授权的参与者才能访问它们。第二种类型(公共区块链)使用无限数量的匿名节点。基于密码学,每个参与者都可以安全地通信。每个节点都由一对私钥/公钥表示。任何参与者都可以读取、写入和验证区块链中的事务。区块链是安全的,达成了网络共识,51%的节点是诚实的。通常,无许可区块链是一种能耗和时间消耗,因为它包含了一个计算量来加强***的安全性。
比特币是一种基于公共区块链的加密货币和数字支付***。比特币区块链的每个区块都包含一个存储在报头中的名为merkle root的强哈希事务。后者还包含前一个块的头的散列。
参与比特币网络的每个节点都可以是矿工,也可以不是矿工,每个节点都存储当前区块链的副本。在矿工过程中,事务被排序并加上时间戳,然后保存到块中。之后,执行协商一致机制。事实上,为了验证事务,比特币使用其定义的共识规则。更准确地说,事务有一个版本号,该版本号通知比特币节点应使用的适当规则集,以确保其有效性。
为了共享同一个区块链并避免矿工之间的冲突,比特币使用了最长的链规则。当多个矿工(在竞争中)同时生成区块,并且每个矿工认为其区块是应添加到区块链中的合法区块时,就会发生冲突。例如,如果两个矿工A和B试图添加块号n,A生成块,B生成块。两个块都可以包含不同的事务集,并且都包含块奖励的生成器地址。然后,因为块不是在网络中立即添加和共享的,所以每个块都假设自己的块是合法的。因此,它将其添加到链中,并开始构建下一个链(块n+1)。如果B比A快,并且在+之前生成块+,那么,根据最长链规则,A必须以B的链(+)为有效链,放弃较短的链(),这将被称为孤立链/块。
比特币使用PoW机制使***抵抗修改攻击。因此,如上所述,对于每个新的区块,矿工必须提供代表数据处理挑战的PoW,这是一个难以(昂贵和耗时的)产生但易于其他矿工验证的数据处理挑战。更准确地说,比特币的矿工过程和PoW如下:(1) 每个矿工创建一个包含头(时间戳、块事务的merkle root、前一个块的散列等)和主体(事务)的块。那么(2)协议生成一个目标“t”,它表示一个值t∈[0,-1]。(3)每个矿工必须计算(a)选定一个数字n(n∈0,-1))的散列值,该数字与(b)其块的散列值相连,从而使结果值应≤t。换句话说,矿工改变n的值,直到满足方程sha 256(sha256(块)| | n)≤t。一旦这个等式得到满足,矿工就将这个值添加到块中作为PoW。
当一个节点通过网络发送一个构造块时,所有的接收者都会验证该块的事务以及它的PoW。如果网络节点的大部分均同意所述区块,则后者将被验证并添加到区块链中。因此,所有其他节点都会更新其区块链副本,区块创建者将收到其奖励。区块链更新的操作每10分钟发生一次。孤立区块的矿工即使提供了良好的PoW,也不会获得任何奖励。理论上,比特币块只有在超过51%的节点被破坏的情况下才能被伪造,而这一点目前几乎不可能实现。例如,如果谷歌现有的云计算能力被用于比特币矿工,它将占全球比特币矿工业务的0.0019%。
以太坊(Ethereum)是一个公共区块链,它提供一种名为以太(ETH)的加密货币(在2017年7月发生分叉之后,它存在一种名为经典以太坊的以太坊版本,其被命名为ETC的一种货币),用于支付金融事务以及应用程序处理。矿工在区块链网络中复制、验证和存储数据。此外,他们还处理称为智能合约的程序,使以太坊成为分布式应用的平台。智能合约由参与节点使用称为以太坊虚拟机EVM(Ethereum Virtual Machine)的操作***在区块链网络中存储数据来执行。此外,它们还处理称为智能合约的程序,使以太坊成为分散应用的平台。智能合约由参与节点使用称为以太坊虚拟机(EVM)的操作***执行。
与比特币一样,EVM的矿工操作包括块的创建和验证。块大小比比特币短,验证时间仅需14s,而比特币只需10min,奖励***也不同于比特币。事实上,以太坊使用以太坊贪婪最重的观测子树(GHOST)协议来达成共识和矿工奖励。验证已添加到主区块链的区块的矿工将收到5 ETH。此外,根据所执行的智能合约的复杂性,它会收到由每笔事务的发送者支付的额外金额。当一个矿工建造一个区块时,它会通过网络发送它和它的PoW。在协商一致的14秒内,每个节点将接收许多块。其中一些应该是同时生成的。因此,它在主链中保持第一个,并将其他块视为叔叔Uncles(相当于比特币中孤立块的定义)。正是这个链包含了较多的叔叔Uncles(被称为最重的链),这些叔叔Uncles将作为主链保留在共识的末尾。最后,矿工获得了叔叔们Uncles的部分奖励。GHOST也会奖励被接受的块的叔叔Uncles,以加强***。
对于块的验证,以太坊使用一种称为Ethash的PoW机制,参与节点基于从块头计算出的种子来计算16MB伪随机缓存。从这个缓存生成一个1 GB的数据集,而且每个数据集项只依赖于少数缓存项。缓存由轻型客户端存储,而数据集由完全客户端和矿工存储。通过散列随机数据集碎片在一起,矿工们试图解决一个数学挑战。验证只需要缓存来重新生成特定的数据集片段。
目前,以太坊有一个beta版本,它使用一个名为Casper的协议,该协议依赖于PoS。
以太坊也可以用作私有区块链,因此选择参与节点,不再需要PoW机制。
Hyperledger Fabric是一个由Linux基金会创建的开源许可区块链,更具体地说是由IBM创建的。与比特币和以太坊不同,Hyperledger Fabric不提供加密货币。事务可以是公开的,也可以是保密的,一切都取决于所存储信息的性质。Hyperledger使用实用的拜占庭容错PBFT(Practical Byzantine Fault Tolerant)作为共识机制。PBFT是分布式网络中使用的一种机制,它可以容忍一定程度的故障,以允许***操作的连续性。所有参与的节点都是可信的,相互了解的,并且验证节点是随机选择的,但总是占大多数,这可以保护***免受拜占庭冒名顶替者和Sybil攻击。
Hyperledger Fabric还允许开发智能合约,在这种上下文中称为链码。
下面,将描述本申请所提供的方法,物联网生态***中实现信任虚拟可信区域方法的设备的整个生命周期:
1、创建虚拟区域
本申请所提供的方法,可以应用于海量的物联网的情况,不需要特殊的硬件。不过,它需要一个初始化阶段。在初始化阶段中,某一个设备被设计为虚拟可信区域的主设备(它拥有一对私钥/公钥),这可以被视为类似于证书颁发机构。任何的设备都可以是主设备。此外,构成该组的每个对象都称为成员设备。每个成员设备生成一个椭圆曲线EC(Elliptic Curve)私钥/公钥对。然后,每个成员设备都由一个名为viot的数据结构所提供,该结构表示64字节的轻量级证书,其中包含:(1) 一个groupID(grpID),表示对象将成为虚拟可信区域中的一部分;(2)一个objectID(objID),表示虚拟可信区域中的成员设备的标识符;(3)pubAddr,表示成员设备的公有地址,它表示成员设备公钥的Keccak(SHA-3)散列的前20个字节。(4)一种签名结构,该结构使用虚拟可信区域主密钥表示的椭圆曲线数字签名算法ECDSA(Elliptic Curve Digital Signature Algorithm)签名,与传统的签名算法如RSA(Rivest-Shamir-Adleman)相比,ECDSA具有许多优点,特别是在密钥大小和签名时间方面,它更适合物联网环境。签名覆盖groupID、objcetID和pubAddr的连接的Keccack散列。Viot数据结构如下:
2、关联虚拟区域
图3描述了本申请所提供的方法。算法1描述了其不同的参数和函数;
首先,如图3(1)所示,物联网可以属于许多领域(医疗、工业、环境等)。
图3(2)表示为创建虚拟可信区域作准备,其中组标识符(groupID)由主设备选择。此外,每个对象都由一个由主设备签名的viot所提供。
一旦组(如标识符为groupID的组)准备就绪,则图3(3)表示可以在区块链上创建虚拟可信区域。主设备发送一个事务,该事务包含主设备的标识符objectID以及要创建的虚拟可信区域的标识符groupID。区块链检查groupID和主设备的objectID的唯一性。如果事务有效,则成功创建了虚拟可信区域(例如虚拟可信区域F9、虚拟可信区域0A)。由于区块链是公开的,任何用户都可以创建一个虚拟可信区域。
在图3(4)之后,成员设备依次发送事务以便与它们各自的虚拟可信区域相关联。在区块链上,智能合约验证成员设备标识符(objectID)的唯一性,然后使用虚拟可信区域的主设备的公钥检查成员设备viot的有效性。如果其中一个条件不满足,则对象不能与虚拟可信区域关联。算法2描述了关联阶段。
一旦成员设备的关联请求成功,后者就不再需要使用其viot来验证自己。关于更多细节,在图4中详细说明了示例。在这个例子中,本申请描述了一个名为F的成员设备,它被提供了一个由主设备M签名的viot。viot包含grpID=XX、objID=YY和公钥PubKey_F。具体过程如下:
1、成员设备发起关联请求,发送的消息用成员设备的私钥签名,并包含成员设备的viot数据结构;
2、当区块链收到事务时,它通过使用成员设备的公钥的验证签名来验证其完整性。然后,使用主设备的公钥来验证成员设备的viot,因为它代表签署它的实体;
3、如果viot有效,则区块链存储其grpID、objID和公钥的关联,因此,区块链存储(XX、YY和PubKey_F);
4、成员设备F发送另一个事务(如事务n)而不是关联请求的情况,此事务包含:(1)交换的数据,(2)XX,(3)YY和(4)使用跟随者的私钥连接先前字段的ECDSA签名;
5、当区块链收到事务时,它通过使用成员设备的公钥验证签名来验证其完整性;
6、如果签名有效,则区块链验证用于事务验证的公钥是否存储并与事务内发送的grpID和objID关联,即区块链验证是否属于同一个虚拟可信区域;
7、如果关联被存储并且有效,那么;
8、设备验证成功,且物联网设备认证成功,就允许通信了。
图3(5)强调了区块链如何对对象和事务进行访问控制。例如,(1)与可以创建组39的主设备 5E不同,主设备 BB不能创建组0A,因为它已经存在。(2)不同于从1B到DE(属于同一个组0A)交换的接受消息,从属于组F9的对象50到属于组0A的对象6F的交换消息被拒绝。算法3描述了不同的通信规则。
最后,图3(6)描述了生态***的全局视图。被认证的物联网设备(有viot)可以随时添加到他们的组中。理论上,每个组的物联网设备数量是无限的,因为它依赖于完全分布式的体系结构。没有viot或带有伪viot的对象不能与虚拟可信区域相关联,因此它们不能与虚拟可信区域的节点通信。由于事务的签名,对象的身份验证和交换数据的完整性得到了保证。最后虚拟可信区域被完全分离,不同虚拟可信区域的节点不能相互发送或接收信息。
一旦智能合约创建并通过事务发送到区块链,则必须由矿工验证(这里的矿工miner,为区块链专业术语,它具有读/写区块链的权限)。如果验证成功,则合约所有者收到一个地址(例如0x7A62E5DC89FF47A0675EA74E8E445724610AEEF),该地址引用区块链中的合约。此地址是开放的,任何用户都可以使用,无需任何限制。
综上所述,根据对象的类型,智能合约的规则应用如下:
1、主设备:只能使用区块链中不存在的唯一组标识符来创建一个虚拟可信区域。主设备的角色只是签署新的viot。如果主设备停止工作,则不会干扰虚拟可信区域的功能(除了添加新设备);
2、成员设备:(1)仅当其虚拟可信区域存在时才关联;(2)不能属于多个虚拟可信区域;(3)不能创建新的虚拟可信区域;(4)其第一个事务需要使用由该组的主设备私钥签名的viot进行身份验证;
3、两者:(1)对象标识符必须是唯一的;(2)对象的公有地址和密钥对必须是唯一的;(3)必须在属于同一虚拟可信区域的节点之间交换消息。(4) 所有的事务都必须经过签名和验证。
本申请所提供的方法,依赖于公共区块链,其具有以下优势:
1、区块链是非常有弹性的分布式***,这使得本申请所提供的方法继承了这些特性;
2、已知的公有区块链,如以太坊(Ethereum),对防伪造和防篡改的功能非常之强大,因此,存储在可信节点的信息是可靠的;
3、公有区块链在确保自身功能(区块验证、共识consensus等)方面是自主/自治的;
4、一旦部署了智能合约,用户就不能修改它,因为合约是通过事务发送和验证的;
5、使用公有区块链而不是私有区块链可以使***可扩展并对任何用户开放。相反,如果使用了私有区块链,则只能由特定的验证节点执行添加新的虚拟可信区域或发送消息(在物联网之间)。这种方法大大限制了本申请所提供的解决方案的灵活性和开放性。
一个实施例,本申请所提供的方法是以以太坊(Ethereum)为区块链实现的。以太坊背后的选择依赖于:(1)它拥有仅次于比特币的世界第二大账本;(2)基于椭圆曲线密码体制,提出了一种适用于受限设备的鲁棒轻量级签名方案,保证了安全的事务;(3)使用智能合约,这有助于本申请所提供的方法的实施;(4)简化分布式应用(被称为dapp)的创建;以及(5)紧随其后的是一个大型的开发社区。
图5为本申请所提供的方法的实现步骤示意图300,具体如下:
一种物联网的分布式认证的方法,其特征在于,基于区块链所提供的安全优势和结合被称为虚拟可信区域的分布式***,在所述虚拟可信区域中,物联网设备可以相互识别和信任;
所述实现步骤300,包括:
创建虚拟可信区域310;
关联虚拟可信区域320;
基于虚拟可信区域的物联网分布式认证330。
进一步地,所述创建虚拟可信区域310,包括:
主设备决定要创建的虚拟可信区域的标识符groupID和决定主设备自身的标识符objectID;
在区块链上创建虚拟可信区域,主设备向区块链发送一个事务,该事务包含要创建的虚拟可信区域的标识符groupID和主设备的objectID标识符;
区块链检查groupID和objectID的唯一性,如果事务有效,则创建虚拟可信区域成功。
进一步地,所述关联虚拟可信区域320,包括:
成员设备发起关联请求,所发送的消息用成员的私钥签名,并包含viot数据结构;
当区块链收到所述关联请求时,它通过使用成员设备的公钥验证签名来验证其完整性。然后,使用主设备的公钥验证成员设备的viot数据结构,因为它代表签署它的实体;
如果viot有效,说明成员设备关联成功,则区块链存储其grpID、objID和公钥的关联,以及存储(XX、YY和PubKey_F)。
进一步地,所述基于虚拟可信区域的物联网分布式认证330,包括:
成员设备发送数据通信请求,所述通信请求包含:交换的数据、XX、YY和使用成员设备的私钥连接先前字段的ECDSA签名;
当区块链收到所述通信请求时,它通过使用成员设备的公钥验证签名来验证其完整性;
如果签名有效,则区块链验证用于请求验证的公钥是否已存储并与事务内发送的grpID和objID关联,也就是说,通信双方是否在同一个虚拟可信区域内;
如果关联已存储且有效,则设备验证和认证成功,允许通信。
进一步地,所述虚拟可信区域,可以包含海量的物联网设备或成员设备。
进一步地,所述主设备,可以是任意指定的一个物联网设备。
此外,对于为多个企业提供安全运维管理服务的分布式认证***,也可以创建各个企业的虚拟可信区域,该企业的虚拟可信区域可以包含该企业的所有物联网设备,也可以包含该企业的部分物联网设备;当企业的虚拟可信区域不包含该企业的所有物联网设备时,所述企业的虚拟可信区域的创建数量可以两个或以上,具体要根据企业IT的实际情况来决定。
以上所述仅为本发明的较佳实施例,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,都被视为本发明的专利范围所涵盖。
Claims (6)
1.一种物联网的分布式认证的方法,其特征在于,基于区块链所提供的安全优势和结合被称为虚拟可信区域的分布式***,在所述虚拟可信区域中,物联网设备可以相互识别和信任;
所述方法,还包括:
创建虚拟可信区域;
关联虚拟可信区域;
基于虚拟可信区域的物联网分布式认证。
2.如权利要求1所述的一种物联网的分布式认证的方法,所述创建虚拟可信区域,包括:
主设备决定要创建的虚拟可信区域的标识符groupID和决定主设备自身的标识符objectID;
在区块链上创建虚拟可信区域,主设备向区块链发送一个事务,该事务包含要创建的虚拟可信区域的标识符groupID和主设备的objectID标识符;
区块链检查groupID和objectID的唯一性,如果事务有效,则创建虚拟可信区域成功。
3.如权利要求1所述的一种物联网的分布式认证的方法,所述关联虚拟可信区域,包括:
成员设备发起关联请求,所发送的消息用成员的私钥签名,并包含viot数据结构;当区块链收到所述关联请求时,它通过使用成员设备的公钥验证签名来验证其完整性;然后,使用主设备的公钥验证成员设备的viot数据结构,因为它代表签署它的实体;如果viot有效,说明成员设备关联成功,则区块链存储其grpID、objID和公钥的关联,以及存储(XX、YY和PubKey_F)。
4.如权利要求1所述的一种物联网的分布式认证的方法,所述基于虚拟可信区域的物联网分布式认证,包括:
成员设备发送数据通信请求,所述通信请求包含:交换的数据、XX、YY和使用成员设备的私钥连接先前字段的ECDSA签名;
当区块链收到所述通信请求时,它通过使用成员设备的公钥验证签名来验证其完整性;
如果签名有效,则区块链验证用于请求验证的公钥是否已存储并与事务内发送的grpID和objID关联,也就是说,通信双方是否在同一个虚拟可信区域内;
如果关联已存储且有效,则设备验证和认证成功,允许通信。
5.如权利要求1所述的一种物联网的分布式认证的方法,所述虚拟可信区域,可以包含海量的物联网设备或成员设备。
6.如权利要求2所述的一种物联网的分布式认证的方法,所述主设备,可以是任意指定的一个物联网设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011545158.9A CN112689009A (zh) | 2020-12-24 | 2020-12-24 | 一种物联网的分布式认证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011545158.9A CN112689009A (zh) | 2020-12-24 | 2020-12-24 | 一种物联网的分布式认证的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112689009A true CN112689009A (zh) | 2021-04-20 |
Family
ID=75451415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011545158.9A Pending CN112689009A (zh) | 2020-12-24 | 2020-12-24 | 一种物联网的分布式认证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112689009A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981637A (zh) * | 2019-03-21 | 2019-07-05 | 浙江工商大学 | 一种基于区块链的物联网多源交叉复合认证方法 |
US20200013027A1 (en) * | 2018-07-06 | 2020-01-09 | Decentralized Finance Labs, Inc. | Hybrid proof of work and proof of stake consensus to reduce circulating tokens in a blockchain system |
-
2020
- 2020-12-24 CN CN202011545158.9A patent/CN112689009A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200013027A1 (en) * | 2018-07-06 | 2020-01-09 | Decentralized Finance Labs, Inc. | Hybrid proof of work and proof of stake consensus to reduce circulating tokens in a blockchain system |
CN109981637A (zh) * | 2019-03-21 | 2019-07-05 | 浙江工商大学 | 一种基于区块链的物联网多源交叉复合认证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zaghloul et al. | Bitcoin and blockchain: Security and privacy | |
Iqbal et al. | Exploring sybil and double-spending risks in blockchain systems | |
Aitzhan et al. | Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams | |
EP3563553B1 (en) | Method for signing a new block in a decentralized blockchain consensus network | |
Zhang et al. | A group signature and authentication scheme for blockchain-based mobile-edge computing | |
Valenta et al. | Blindcoin: Blinded, accountable mixes for bitcoin | |
Alizadeh et al. | A survey of secure internet of things in relation to blockchain | |
US20170344983A1 (en) | BIXCoin: A Secure Peer-to-Peer Payment System Based on the Public Payments Ledger | |
Hellani et al. | On blockchain technology: Overview of bitcoin and future insights | |
Zhong et al. | Distributed blockchain‐based authentication and authorization protocol for smart grid | |
Feng et al. | A blockchain-based collocation storage architecture for data security process platform of WSN | |
CN111064734B (zh) | 一种区块链***用户身份匿名、可追踪方法及相应存储介质与电子装置 | |
Shalini et al. | A survey on various attacks in bitcoin and cryptocurrency | |
Islam et al. | A low-cost cross-border payment system based on auditable cryptocurrency with consortium blockchain: Joint digital currency | |
Li et al. | Tesia: a trusted efficient service evaluation model in Internet of things based on improved aggregation signature | |
Shari et al. | Blockchain-based decentralized data dissemination scheme in smart transportation | |
CN111260348A (zh) | 一种车联网中基于智能合约的公平支付***及其工作方法 | |
Kolekar et al. | Review paper on untwist blockchain: A data handling process of blockchain systems | |
Liu et al. | A blockchain-based cross-domain authentication management system for IoT devices | |
US20240022398A1 (en) | System and method for decentralized confirmation of entries in a directed acyclic graph for rapidly confirming as authentic ledger entries without requiring centralized arbitration of authenticity | |
Brandão | A blockchain-based protocol for message exchange in a ICS network: student research abstract | |
KR20200063034A (ko) | 블록체인 기반 IoT 인증 시스템 | |
Gencer | On scalability of blockchain technologies | |
Shah et al. | A Study on Security and Privacy related Issues in Blockchain Based Applications | |
CN112689009A (zh) | 一种物联网的分布式认证的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210420 |