CN113242230B - 一种基于智能合约的多级认证与访问控制***及方法 - Google Patents
一种基于智能合约的多级认证与访问控制***及方法 Download PDFInfo
- Publication number
- CN113242230B CN113242230B CN202110493565.8A CN202110493565A CN113242230B CN 113242230 B CN113242230 B CN 113242230B CN 202110493565 A CN202110493565 A CN 202110493565A CN 113242230 B CN113242230 B CN 113242230B
- Authority
- CN
- China
- Prior art keywords
- user
- authentication
- time
- request
- access
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于智能合约的多级认证与访问控制***及方法,包括:主体设备,作为资源请求方或用户,是一个物联网设备,或是一个实体,主体设备在第一次发送访问请求时需要通过智能合约完成相应等级的认证以获得该安全等级;客体集群,客体集群是一个或多个物联网设备,即资源所有者,所述的物联网设备拥有相同的功能或为了完成同一个子任务而划分在一个集群中;所述智能合约由域管理者编写与部署,定义了访问策略及认证方法,其他实体通过发送交易的形式与其交互,完成注册资源、多级认证和请求访问等操作;各主体设备都连接到区块链上,所述区块链是底层的分布式账本,由矿工维护并延长,每个参与区块链***的主体设备实体都有唯一的地址与之对应。
Description
技术领域
本发明涉及面向物联网的访问控制领域,特别涉及一种基于智能合约的多级认证与访问控制***及方法。
背景技术
在物联网环境下,无处不在的设备互连极大的加速了数据收集、聚合与共享。但是这种互连可能给物联网***带来严重的安全问题,因为攻击者可以入侵***,部署自己的设备来非法访问资源。因此关于适用于物联网的访问控制的研究日益重要。传统的物联网中的访问控制大都基于已知的访问控制模型,例如基于角色的访问控制模型(RBAC),基于属性的访问控制模型(ABAC),基于能力的访问控制模型(CapBAC)。但是在这些方案中,验证请求者的访问权利通常是由一个中心化实体完成,这便存在单点故障的风险。为解决此风险,基于能力的分布式访问控制被提出,访问权限的验证过程由被请求的设备执行。但这也增加了被请求方的负担,对于资源受限的物联网设备更是一种挑战,同时访问记录也没有办法做到不可篡改,公开可查。
区块链作为一个分布式,不可篡改的账本于2016年便被研究人员使用到访问控制中,但是,其中一种对于区块链的使用也仅仅是作为一个分布式不可变数据库来存储设置好的访问策略,对于区块链***中的计算能力并未使用。另一种便是利用区块链作为分布式访问控制管理者。
于2016年提出的FairAccess便是使用区块链中的tokens作为访问权限,同时tokens的传递也就代表了访问权限的转移。在发送tokens时,可以通过锁定交易输出脚本在原有权限上增加限制。但这种通过锁定脚本的方式,其计算能力有很大的限制,不适合在场景复杂的物联网中使用。
基于智能合约的访问控制便充分利用了区块链中的计算能力以及其自身的自动执行的特性。2018年提出的RBAC-SC便是基于智能合约实现的RBAC模型,可以动态的实现角色的添加与删除,以及角色拥有者对其他节点进行背书。但由于被请求方自行验证角色的合法性而在物联网环境中不适用。同年还有不基于传统访问控制模型的方案,由请求方以及被请求方预先指定资源的访问策略,之后智能合约根据制定的策略判定请求的合法性,在低交互性的物联网环境中显然不适用。同时其请求的时延在30秒以下,对于时延敏感的工业互联网上不可行。
物联网环境中,设备较多,同时也较为分散,为降低传统访问控制***中存在的单点故障的风险,分布式访问控制被提出。区块链技术由于其本身的分布式的特点,也是一种潜在的解决办法。将基于区块链的访问控制框架与物联网结合会遇到一些挑战:物联网设备一般都是资源受限制的,例如计算资源或存储资源,所以大部分计算,例如基于公钥密码的计算,不能在物联网设备端直接进行。其次,由于网络的复杂性以及带宽限制,用户以及资源所有者交互的频度将大大受限,类似用户和资源所有者提前对访问策略进行共识以及制定的操作将受到很大影响。于是,不能直接将现有的基于区块链的访问控制框架直接应用在物联网领域中。
发明内容
为解决该问题,本发明提出了一种基于智能合约的多级认证与访问控制***及方法,减少了用户与资源所有者的交互,增加了只需少许信息便可完成的认证过程,在有多次访问请求的情形下提高了效率。方法涵盖了分层访问策略、认证方法、抵御DoS攻击的策略的设计。
本发明的技术方案为:一种基于智能合约的多级认证与访问控制***,包括:
主体设备,作为资源请求方或用户,是一个物联网设备,或是一个实体,主体设备在第一次发送访问请求时需要通过智能合约完成相应等级的认证以获得该安全等级;
客体集群,客体集群是一个或多个物联网设备,即资源所有者,所述的物联网设备拥有相同的功能或为了完成同一个子任务而划分在一个集群中;同一个集群中的设备收集或计算的数据在同一个安全等级之下;客体集群依据安全等级对应的认证方法的难度将数据“注册”到智能合约上;
所述智能合约由域管理者编写与部署,定义了访问策略及认证方法,其他实体通过发送交易的形式与其交互,完成注册资源、多级认证和请求访问等操作;
各主体设备都连接到区块链上,所述区块链是底层的分布式账本,由矿工维护并延长,每个参与区块链***的主体设备实体都有唯一的地址与之对应。
进一步的,本发明还提出一种基于智能合约的多级认证与访问控制方法,
在网络部署阶段,由域管理者完成网络部署,将写有访问策略的智能合约部署到区块链上,并广播合约地址;
在注册阶段,资源所有者依据安全等级的认证难度注册自己的资源、域管理者设置角色授予者以及域管理者授予可信用户对应的角色;其中设置角色授予者将用于完成基于角色的认证;
在认证阶段,主体设备根据已有的信息,通过智能合约进行相应安全等级的多级认证,多级认证包括基于密码的认证以及基于角色的认证;若用户通过认证,区块链将记录用户地址以及其成功认证的最高安全等级,并返回认证结果及其他信息;除非域管理者修改某安全等级的认证方法,用户便可以一直依赖成功认证的安全等级访问该等级下的资源。
进一步的,当成功完成多级认证之后,用户便能够通过发送交易的形式请求访问目标资源,其中交易信息包括目标资源,对资源的操作,以及资源所有者的地址;当智能合约收到访问请求,它首先检查发来访问请求的用户是否已被锁定;如果未被锁定,将继续检查用户记录的最高安全等级是否大于或等于被访问资源的等级,如果是,则访问被允许,请求结果将返回用户,并通知被访问资源的所有者。
进一步的,所述基于密码的认证,包括:
(1)域管理者使用私钥对用户的唯一地址进行签名,形成该用户的密码:
其中Sign()为签名函数,SKDO表示域管理者的私钥;addressuser表示用户的唯一地址;
(2)当智能合约收到来自用户的密码认证请求以及密码passwd,计算用户地址的哈希值:
hashData=keccak(msg.sender)
其中keccak()是哈希函数;所述msg.sender为发送请求的用户的地址;
(3)利用计算的hashData以及passwd提取签名者地址:
extractedAdress=ecrecover(hashData,passwd)
其中ecrecover()是恢复地址的函数;
(4)若提取出的extractedAdress和域管理者地址addressDO相等,则基于密码的认证通过,在区块链上记录用户地址以及认证等级为1,向用户返回认证结果。
进一步的,所述基于角色的认证,包括:在多级认证中设置基于属性的认证,同时选择角色作为其中的属性,具体步骤如下:
(1)当智能合约收到用户的角色认证请求,该请求中包含准备认证的等级level,首先查询该用户是否已完成安全等级为1的密码认证以及level是否大于1,若不满足,返回认证失败;
(2)若已完成密码认证,则检查是否有角色授予者授予过该用户角色,同时此授予者是否被域管理者记录,若不满足,返回认证失败;
(3)读取该用户被授予的角色,判断该角色的安全等级是否大于level,若是,在区块链上记录用户地址以及认证等级为2,向用户返回认证结果;否则返回认证失败。
进一步的,访问控制策略设置如下:
(1)当智能合约第一次收到某用户的访问请求时,设置ToLR为当前时间;
(2)若不是第一次收到该用户的访问请求,判断该请求是否为频繁请求,即now-ToLR<DoSInterval,若不等式成立,则该用户对应的NoFR自增1,并把ToLR更新至此次请求的时间;
(3)判断NoFR是否达到阈值,即NoFR≥DoSThreshold,若不等式成立,则判定该用户为DoS攻击者,记录该用户此次恶意行为misbehavior,并添加锁定时间BlockTime,与此时的请求时间time,返回请求不通过及锁定信息;
(4)若以上检查均通过,则读取记录的用户与该资源的安全等级,如果目标资源已注册,并且用户的安全等级不小于资源的安全等级,查看是否有被记录的恶意行为,若无,则请求通过;若存在,则读取最近一条的记录,判断锁定时间是否已过,即当前时间now>misbehavior.time+misbehavior.blockTime,若不等式成立,则认证通过;misbehavior.time为恶意行为发生时间,misbehavior.blockTime为因恶意行为而被锁定的时长;
(5)如果目标资源已注册,并且用户的安全等级小于资源的安全等级,通过punishmentJudge函数来设定锁定时间,其中punishmentJudge函数以资源和用户的安全等级差做参数。记录此次恶意行为,并返回请求未通过以及锁定信息。
其中:ToLR记录最近一次的访问时间;NoFR记录频繁访问次数,DoSInterval是同一个用户两次连续请求的之间允许的最小时间间隔,低于此间隔,则该访问请求判定为频繁访问;DoSThreshold是频繁访问允许的最大次数,达到此阈值,则该用户将被判定为DoS攻击者,并进行一定时间的锁定,blockTime是用户因为恶意行为而被锁定的时长。
有益效果:
本发明提出了一种基于智能合约的多级认证与访问控制***和方法,基于智能合约实现多级认证策略,并设计合适的认证方法以及抵抗DoS攻击的策略,并以此构建有状态轻量级访问控制***,有效避免单点故障、访问策略不透明、访问请求被篡改或无法追溯的问题,在大批量设备成簇分布的情形下可有效减少响应时间以及带宽消耗。
附图说明
图1为本发明基于智能合约的多级访问示例;
图2为基于智能合约的多级认证与访问控制方法流程;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明采用的技术方案是:利用区块链的无中心化特性以及智能合约的自动执行特性设计多级认证策略以及抵抗DoS攻击的策略,并实例化认证方法,有效解决单点故障、访问策略不透明、访问请求被篡改或无法追溯的问题,同时减少带宽消耗,降低响应时延,实现了基于多级认证的有状态轻量级访问控制***。具体设计如下:
一种基于智能合约的多级认证与访问控制***,包括:
主体设备,作为资源请求方或用户,是一个物联网设备,或是一个实体,主体设备在第一次发送访问请求时需要通过智能合约完成相应等级的认证以获得该安全等级;
客体集群,客体集群是一个或多个物联网设备,即资源所有者,所述的物联网设备拥有相同的功能或为了完成同一个子任务而划分在一个集群中;同一个集群中的设备收集或计算的数据大概率在同一个安全等级之下;客体集群依据安全等级对应的认证方法的难度将数据“注册”到智能合约上;
所述智能合约由域管理者编写与部署,定义了访问策略及认证方法,其他实体通过发送交易的形式与其交互,完成注册资源、多级认证和请求访问等操作;
各主体设备都连接到区块链上,所述区块链是底层的分布式账本,由矿工维护并延长,每个参与区块链***的主体设备实体都有唯一的地址与之对应。本方法可用以太坊本地私链作为底层区块链。
根据本发明的一个实施例,所述域管理者是一个项目的负责人,他负责定义不同的安全等级,并为各等级设置认证方法,可能为多级认证。同时将这些方法以及访问的策略写入智能合约,并完成智能合约的部署。
本发明的分层访问策略如图1所示,中间部分是由域管理者创建的不同安全等级,等级越高,对应的认证方法越多,认证难度也越大。左边是用户发起请求,右边是资源所有者依据域管理者制定的不同安全级别的认证方法的难度,将资源注册到相应等级。
表1已注册资源示例
根据本发明的一个实施例,如表1所示,为已注册资源示例,依据相似功能或执行同一个子任务而分布在同一个集群中的资源所有者,它们以很大概率在同一个安全等级下注册其资源,例如SensorA和SensorB,SensorC和SensorD。例如监测同一栋大楼不同楼层的温度的传感器,它们大都将数据注册到等级1,而请求某一个传感器的数据的用户,很大概率需要请求集群中其他资源所有者的资源。当第一次完成认证获得该安全等级后,后续的请求都可以基于此等级访问该等级下的资源,省去了冗余的操作,减少时间开销与带宽开销。
根据本发明的实施例,一种基于智能合约的多级认证与访问控制方法,分为四个阶段:网络部署,注册,多级认证,请求访问,具体如下:
网络部署阶段:网络部署由域管理者完成,将写有访问策略的智能合约部署到区块链上,并广播合约地址。
注册阶段:注册阶段包括资源所有者依据安全等级的认证难度注册自己的资源、域管理者设置角色授予者以及域管理者授予可信用户对应的角色。其中设置角色授予者将用于完成基于角色的认证。域管理者可以设置自己成角色授予者,只有如此,其才可授予可信用户相应的角色。
多级认证阶段:用户根据已有的信息,通过智能合约进行相应安全等级的多级认证,多级认证包括基于密码的认证以及基于角色的认证。若用户通过认证,区块链将记录用户地址以及其成功认证的最高安全等级,并返回认证结果及其他信息。除非域管理者修改某安全等级的认证方法,用户便可以一直依赖成功认证的安全等级访问该等级下的资源。
请求访问阶段:当成功完成多级认证之后,用户便可以通过发送交易的形式请求访问目标资源,其中交易信息包括目标资源,对资源的操作,以及资源所有者的地址。当智能合约收到访问请求,它首先检查发来访问请求的用户是否已被锁定。如果未被锁定,将继续检查用户记录的最高安全等级是否大于或等于被访问资源的等级,如果是,则访问被允许,请求结果将返回用户,并通知被访问资源的所有者。在实际请求访问时,多级认证和请求方式可以划分为一个阶段,用户首次发送的访问请求中带有认证信息。在完成认证后,后续的访问请求中均不需要再次包含认证信息,因为区块链中以保存了认证的最高等级,以此做到有状态访问控制。
根据本发明的实施例,改进了基于密码的认证:在区块链***中,部署的智能合约的代码是可以公开查看的,每笔交易包含的数据也都可查看,传统的密码认证在区块链***中便不适用。本方案中使用签名及验签的方式完成基于密码的认证。具体步骤如下:
(1)域管理者使用私钥对用户的唯一地址进行签名,形成该用户的密码:
其中Sign()为以太坊中使用的签名函数,SKDO表示域管理者(Domain Owner)的私钥。
(2)当智能合约收到来自用户的密码认证请求以及密码passwd,计算用户地址的哈希值:
hashData=keccak(msg.sender)
其中keccak()是以太坊中使用的哈希函数,msg.sender为发送请求的用户的地址。
(3)利用计算的hashData以及passwd提取签名者地址:
extractedAdress=ecrecover(hashData,passwd)
其中ecrecover()是以太坊中使用的恢复地址的函数。
(4)若提取出的extractedAdress和域管理者地址addressDO相等,则基于密码的认证通过,在区块链上记录用户地址以及认证等级为1,向用户返回认证结果。
根据本发明的实施例,进一步采用了基于角色的认证。为增强本方法的可用性,例如跨域访问,在多级认证中设置基于属性的认证,同时选择角色作为其中的属性,这与传统的RBAC有很大不同。具体步骤如下:
(1)当智能合约收到用户的角色认证请求,该请求中包含准备认证的等级level,首先查询该用户是否已完成安全等级为1的密码认证以及level是否大于1,若不满足,返回认证失败。
(2)若已完成密码认证,则检查是否有角色授予者授予过该用户角色,同时此授予者是否被域管理者记录,若不满足,返回认证失败。
(3)读取该用户被授予的角色,判断该角色的安全等级是否大于level,若是,在区块链上记录用户地址以及认证等级为2,向用户返回认证结果。否则返回认证失败。
访问控制策略:在完成多级认证的基础上,便可以实施此策略,策略中包含了对于DoS攻击的检测与抵御、恶意访问的检测与惩罚以及最终请求结果的判定。
符号说明:
ToLR:Time of Last Request,记录最近一次的访问时间
NoFR:Number of Frequent Request,记录频繁访问次数
DoSInterval:同一个用户两次连续请求的之间允许的最小时间间隔,低于此间隔,则该访问请求判定为频繁访问。
DoSThreshold:频繁访问允许的最大次数,达到此阈值,则该用户将被判定为DoS攻击者,并进行一定时间的锁定。
blockTime:用户因为恶意行为而被锁定的时长。
具体步骤如下:
(1)当智能合约第一次收到某用户的访问请求时,设置ToLR为当前时间;
(2)若不是第一次收到该用户的访问请求,判断该请求是否为频繁请求,即now-ToLR<DoSInterval,若不等式成立,则该用户对应的NoFR自增1,并把ToLR更新至此次请求的时间;
(3)判断NoFR是否达到阈值,即NoFR≥DoSThreshold,若不等式成立,则判定该用户为DoS攻击者,记录该用户此次恶意行为misbehavior,并添加锁定时间BlockTime,与此时的请求时间time,返回请求不通过及锁定信息;
(4)若以上检查均通过,则读取记录的用户与该资源的安全等级,如果目标资源已注册,并且用户的安全等级不小于资源的安全等级,查看是否有被记录的恶意行为,若无,则请求通过;若存在,则读取最近一条的记录,判断锁定时间是否已过,即当前时间now>misbehavior.time+misbehavior.blockTime,若不等式成立,则认证通过;misbehavior.time为恶意行为发生时间,misbehavior.blockTime为因恶意行为而被锁定的时长;
(5)如果目标资源已注册,并且用户的安全等级小于资源的安全等级,通过punishmentJudge函数来设定锁定时间,其中punishmentJudge函数以资源和用户的安全等级差做参数。记录此次恶意行为,并返回请求未通过以及锁定信息。
参数设置的一个示例如表2所示,
表2参数设置
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (5)
1.一种基于智能合约的多级认证与访问控制***,其特征在于,包括:
主体设备,作为资源请求方或用户,是一个物联网设备,主体设备在第一次发送访问请求时需要通过智能合约完成相应等级的认证以获得安全等级;
客体集群,客体集群是一个或多个物联网设备,即资源所有者,所述的物联网设备拥有相同的功能或为了完成同一个子任务而划分在一个集群中;同一个集群中的设备收集或计算的数据在同一个安全等级之下;客体集群依据安全等级对应的认证方法的难度将数据“注册”到智能合约上;
所述智能合约由域管理者编写与部署,定义了访问控制策略及认证方法,其他物联网设备通过发送交易的形式与其交互,完成注册资源、多级认证和请求访问操作;
各主体设备都连接到区块链上,所述区块链是底层的分布式账本,由矿工维护并延长,每个参与区块链***的主体设备都有唯一的地址与之对应;
访问控制策略设置如下:
(1)当智能合约第一次收到某用户的访问请求时,设置ToLR为当前时间;
(2)若不是第一次收到该用户的访问请求,判断该请求是否为频繁请求,即now-ToLR<DoSInterval,若不等式成立,则该用户对应的NoFR自增1,并把ToLR更新至此次请求的时间;
(3)判断NoFR是否达到阈值,即NoFR≥DoSThreshold ,若不等式成立,则判定该用户为DoS攻击者,记录该用户此次恶意行为misbehavior,并添加锁定时间BlockTime,与此时的请求时间time,返回请求不通过及锁定信息;
(4)若以上检查均通过,则读取记录的用户与该资源的安全等级,如果目标资源已注册,并且用户的安全等级不小于资源的安全等级,查看是否有被记录的恶意行为,若无,则请求通过;若存在,则读取最近一条的记录,判断锁定时间是否已过,即当前时间now>misbehavior.time+misbehavior.blockTime ,若不等式成立,则认证通过;misbehavior.time为恶意行为发生时间,misbehavior.blockTime为因恶意行为而被锁定的时长;
(5)如果目标资源已注册,并且用户的安全等级小于资源的安全等级,通过punishmentJudge函数来设定锁定时间,其中punishmentJudge函数以资源和用户的安全等级差做参数;记录此次恶意行为,并返回请求未通过以及锁定信息;
其中:ToLR记录最近一次的访问时间;NoFR记录频繁访问次数,DoSInterval是同一个用户两次连续请求的之间允许的最小时间间隔,低于此间隔,则该访问请求判定为频繁访问;DoSThreshold是频繁访问允许的最大次数,达到此阈值,则该用户将被判定为DoS攻击者,并进行一定时间的锁定,blockTime是用户因为恶意行为而被锁定的时长。
2.一种基于智能合约的多级认证与访问控制方法,应用于权利要求1的***,其特征在于,包括:
在网络部署阶段,由域管理者完成网络部署,将写有访问策略的智能合约部署到区块链上,并广播合约地址;
在注册阶段,资源所有者依据安全等级的认证难度注册自己的资源、域管理者设置角色授予者以及域管理者授予可信用户对应的角色;其中设置角色授予者将用于完成基于角色的认证;
在认证阶段,主体设备根据已有的信息,通过智能合约进行相应安全等级的多级认证,多级认证包括基于密码的认证以及基于角色的认证;若用户通过认证,区块链将记录用户地址以及其成功认证的最高安全等级,并返回认证结果及其他信息;除非域管理者修改某安全等级的认证方法,用户便可以一直依赖成功认证的安全等级访问该等级下的资源;
访问控制策略设置如下:
(1)当智能合约第一次收到某用户的访问请求时,设置ToLR为当前时间;
(2)若不是第一次收到该用户的访问请求,判断该请求是否为频繁请求,即now-ToLR<DoSInterval ,若不等式成立,则该用户对应的NoFR自增1,并把ToLR更新至此次请求的时间;
(3)判断NoFR是否达到阈值,即NoFR≥DoSThreshold,若不等式成立,则判定该用户为DoS攻击者,记录该用户此次恶意行为misbehavior,并添加锁定时间BlockTime,与此时的请求时间time,返回请求不通过及锁定信息;
(4)若以上检查均通过,则读取记录的用户与该资源的安全等级,如果目标资源已注册,并且用户的安全等级不小于资源的安全等级,查看是否有被记录的恶意行为,若无,则请求通过;若存在,则读取最近一条的记录,判断锁定时间是否已过,即当前时间now>misbehavior.time+misbehavior.blockTime ,若不等式成立,则认证通过;misbehavior.time为恶意行为发生时间,misbehavior.blockTime为因恶意行为而被锁定的时长;
(5)如果目标资源已注册,并且用户的安全等级小于资源的安全等级,通过punishmentJudge函数来设定锁定时间,其中punishmentJudge函数以资源和用户的安全等级差做参数;记录此次恶意行为,并返回请求未通过以及锁定信息;
其中:ToLR记录最近一次的访问时间;NoFR记录频繁访问次数,DoSInterval是同一个用户两次连续请求的之间允许的最小时间间隔,低于此间隔,则该访问请求判定为频繁访问;DoSThreshold是频繁访问允许的最大次数,达到此阈值,则该用户将被判定为DoS攻击者,并进行一定时间的锁定,blockTime是用户因为恶意行为而被锁定的时长。
3.根据权利要求2所述的一种基于智能合约的多级认证与访问控制方法,其特征在于,包括:
当成功完成多级认证之后,用户便能够通过发送交易的形式请求访问目标资源,其中交易信息包括目标资源,对资源的操作,以及资源所有者的地址;当智能合约收到访问请求,它首先检查发来访问请求的用户是否已被锁定;如果未被锁定,将继续检查用户记录的最高安全等级是否大于或等于被访问资源的等级,如果是,则访问被允许,请求结果将返回用户,并通知被访问资源的所有者。
4.根据权利要求2所述的一种基于智能合约的多级认证与访问控制方法,其特征在于,所述基于密码的认证,包括:
(1)域管理者使用私钥对用户的唯一地址进行签名,形成该用户的密码:
(2)当智能合约收到来自用户的密码认证请求以及密码passwd,计算用户地址的哈希值:
(4)若提取出的extractedAdress和域管理者地址address DO 相等,则基于密码的认证通过,在区块链上记录用户地址以及认证等级为1,向用户返回认证结果。
5.根据权利要求2所述的一种基于智能合约的多级认证与访问控制方法,其特征在于,所述基于角色的认证,包括:在多级认证中设置基于属性的认证,同时选择角色作为其中的属性,具体步骤如下:
(1)当智能合约收到用户的角色认证请求,该请求中包含准备认证的等级level,首先查询该用户是否已完成安全等级为1的密码认证以及level是否大于1,若不满足,返回认证失败;
(2)若已完成密码认证,则检查是否有角色授予者授予过角色给该用户,同时此授予者是否被域管理者记录,若不满足,返回认证失败;
(3)读取该用户被授予的角色,判断该角色的安全等级是否大于level,若是,在区块链上记录用户地址以及认证等级为2,向用户返回认证结果;否则返回认证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110493565.8A CN113242230B (zh) | 2021-05-07 | 2021-05-07 | 一种基于智能合约的多级认证与访问控制***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110493565.8A CN113242230B (zh) | 2021-05-07 | 2021-05-07 | 一种基于智能合约的多级认证与访问控制***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113242230A CN113242230A (zh) | 2021-08-10 |
CN113242230B true CN113242230B (zh) | 2022-09-06 |
Family
ID=77132205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110493565.8A Active CN113242230B (zh) | 2021-05-07 | 2021-05-07 | 一种基于智能合约的多级认证与访问控制***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113242230B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726747B (zh) * | 2021-08-11 | 2022-07-12 | 东南大学 | 一种基于区块链的工业互联网数据访问控制*** |
CN113609509A (zh) * | 2021-08-26 | 2021-11-05 | 中国人民解放军国防科技大学 | 基于区块链的uav集群访问控制方法、装置、设备和介质 |
CN114154193A (zh) * | 2021-11-26 | 2022-03-08 | 哈尔滨工程大学 | 一种基于区块链的跨域访问控制方法 |
CN114422535B (zh) * | 2022-01-18 | 2024-04-09 | 网易(杭州)网络有限公司 | 区块链中部署合约的方法、装置、计算机设备及存储介质 |
CN115051851B (zh) * | 2022-06-09 | 2023-04-07 | 北京交通大学 | 物联网场景下的用户访问行为管控***和方法 |
CN117176477B (zh) * | 2023-11-02 | 2024-01-26 | 中国兵器工业信息中心 | 基于区块链的装备研制数据细粒度访问控制***及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629057A (zh) * | 2020-05-27 | 2020-09-04 | 广西师范大学 | 基于区块链具有隐私保护的物联网访问控制方法 |
CN112231721A (zh) * | 2020-09-23 | 2021-01-15 | 南京邮电大学 | 一种上下文感知的WoT资源可信安全共享方法及*** |
CN112565453A (zh) * | 2020-12-22 | 2021-03-26 | 内蒙古大学 | 一种物联网下的区块链访问控制策略模型及策略保护方案 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108737348A (zh) * | 2017-04-21 | 2018-11-02 | 中国科学院信息工程研究所 | 一种基于区块链的智能合约的物联网设备访问控制方法 |
US10924363B2 (en) * | 2018-04-13 | 2021-02-16 | The Curators Of The University Of Missouri | Method and system for secure resource management utilizing blockchain and smart contracts |
CN108881474B (zh) * | 2018-07-10 | 2021-06-25 | 南京邮电大学 | 一种基于区块链的物联网数据分级保护架构 |
CN110543784B (zh) * | 2019-09-09 | 2022-06-07 | 江苏方天电力技术有限公司 | 一种基于区块链的大数据资源开放多方访问控制方法 |
CN110855637A (zh) * | 2019-10-28 | 2020-02-28 | 西北工业大学 | 一种基于属性的区块链物联网分布式访问控制方法 |
CN112422532B (zh) * | 2020-11-05 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 业务通信方法、***、装置及电子设备 |
CN112543105B (zh) * | 2020-11-26 | 2022-11-29 | 齐鲁工业大学 | 一种智能合约下基于角色的完全访问控制方法 |
-
2021
- 2021-05-07 CN CN202110493565.8A patent/CN113242230B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629057A (zh) * | 2020-05-27 | 2020-09-04 | 广西师范大学 | 基于区块链具有隐私保护的物联网访问控制方法 |
CN112231721A (zh) * | 2020-09-23 | 2021-01-15 | 南京邮电大学 | 一种上下文感知的WoT资源可信安全共享方法及*** |
CN112565453A (zh) * | 2020-12-22 | 2021-03-26 | 内蒙古大学 | 一种物联网下的区块链访问控制策略模型及策略保护方案 |
Also Published As
Publication number | Publication date |
---|---|
CN113242230A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113242230B (zh) | 一种基于智能合约的多级认证与访问控制***及方法 | |
US11496310B2 (en) | Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication | |
CN107682331B (zh) | 基于区块链的物联网身份认证方法 | |
US10469496B2 (en) | Fabric assisted identity and authentication | |
Ni et al. | Toward privacy-preserving valet parking in autonomous driving era | |
CN112368690A (zh) | 受保护实体的基于区块链的准入过程 | |
KR102152360B1 (ko) | IoT 서비스를 위한 블록체인 기반 데이터 신뢰성 제공 시스템 및 방법 | |
CN109688119B (zh) | 一种云计算中的可匿名追踪性身份认证方法 | |
CN109919771B (zh) | 一种应用分层区块链技术的工业互联网交易装置 | |
CN108337219B (zh) | 一种物联网防入侵的方法和存储介质 | |
US20190141048A1 (en) | Blockchain identification system | |
CN106899561B (zh) | 一种基于acl的tnc权限控制方法和*** | |
Yu et al. | BC-BLPM: a multi-level security access control model based on blockchain technology | |
Wang et al. | Dynamic access control and trust management for blockchain-empowered IoT | |
CN113111359A (zh) | 基于信息安防的大数据资源共享方法及资源共享*** | |
CN110601844A (zh) | 使用区块链技术保障物联网设备安全与认证的***和方法 | |
CN113114632A (zh) | 一种可插配式智能财务审核平台 | |
CN116405187A (zh) | 基于区块链的分布式节点入侵态势感知方法 | |
CN110290110B (zh) | 一种基于冗余检测架构的加密恶意流量识别方法及*** | |
CN114781006A (zh) | 基于区块链和sgx的外包数据完整性审计方法及*** | |
Song et al. | A novel access control for internet of things based on blockchain smart contract | |
Noor et al. | Decentralized Access Control using Blockchain Technology for Application in Smart Farming | |
Jena et al. | A Pragmatic Analysis of Security Concerns in Cloud, Fog, and Edge Environment | |
Raji et al. | Secure forensic data transmission system in cloud database using fuzzy based butterfly optimization and modified ECC | |
CN113518124B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |