CN111669386A - 一种基于令牌且支持客体属性的访问控制方法及装置 - Google Patents
一种基于令牌且支持客体属性的访问控制方法及装置 Download PDFInfo
- Publication number
- CN111669386A CN111669386A CN202010474459.0A CN202010474459A CN111669386A CN 111669386 A CN111669386 A CN 111669386A CN 202010474459 A CN202010474459 A CN 202010474459A CN 111669386 A CN111669386 A CN 111669386A
- Authority
- CN
- China
- Prior art keywords
- token
- attribute
- access
- applicant
- party
- 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.)
- Granted
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
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于令牌且支持客体属性的访问控制方法及装置,管理方预先定义属性条件的类别和访问权限的类别,并对所管理的设备进行属性标注,管理方接收申请方发送的第一令牌请求,并取出请求中的属性条件集合CS、访问权限集合AR以及申请方的公钥PK,管理方利用PK对申请方进行身份认证,并对属性条件集合CS、访问权限集合AR进行评估,评估通过后生成令牌的序列号,并基于该序列号和第一令牌请求生成申请方的令牌,发送至申请方,申请方作为访问控制的主体,将对应的令牌发送至客体;客体对主体进行身份认证,并对接收到的令牌进行验证,包括客体依据自身属性对属性条件集合CS的验证,验证通过则允许访问。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于令牌且支持客体属性的访问 控制方法及装置。
背景技术
基于权能令牌的访问控制技术使用令牌来记录主体对客体的访问权限,令牌 可以被理解为凭证、票据,是访问权限的具化。令牌应当记录对应的主体S、客 体O以及能够访问的资源或可以执行的操作,同时令牌应该具有防篡改和防伪 造的特性。令牌的主体S指的是访问方,可以是用户或设备,客体O指的是被 访问方,通常是设备。主体持有管理方签署的令牌,可以对令牌中规定的资源进 行访问。
现有技术中,主流的令牌数据结构有使用Hash算法保证完整性的令牌结构、 使用数字签名保证完整性的令牌结构和基于区块链的令牌结构等。已存在的令牌 有一个共同的特点,即以身份标识来指定令牌的客体,这样做是为了保证针对客 体的细粒度访问控制功能,确保管理方有能力对同类型设备中的不同个体设置不 同的访问控制策略。现有的以数字签名保证令牌完整性的访问控制方案,主要包 括授权、委托授权、撤销、验证等几个环节。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下 技术问题:
主体需要对同类型的设备重复申请令牌,影响访问控制效率。令牌代表的客 体数量为1或以列表的形式给出,令牌往往只能代表单个主体与单个客体之间的 访问关系,对同类型中不同的设备往往需要重复申请令牌。
由此可知,现有技术中的方法存在访问控制效率较低的技术问题。
发明内容
本发明提出一种基于令牌且支持客体属性的访问控制方法及装置,用于解决 或者至少部分解决现有技术中的方法存在的访问控制效率较低的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于令牌且支持客体属 性的访问控制方法,包括:
管理方预先定义属性条件的类别和访问权限的类别,并对所管理的设备进行 属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性条件类别通 过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成属性条件集 合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范围,选取部 分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的主体可以对 客体执行的操作;
管理方接收申请方发送的第一令牌请求,并从第一令牌请求中取出属性条件 集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以下方式生 成,申请方选取部分管理方所定义的属性条件类别并为所选取的每个类别设置具 体的属性参数以生成属性条件,生成的所有属性条件构成CS,AR由申请方选 取部分管理方所定义的访问权限类别而生成,第一令牌请求包括申请方制作的属 性条件集合CS、访问权限集合AR以及申请方的公钥PK;
管理方利用取出的申请方的公钥PK对申请方进行身份认证,并对取出的属 性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方生成发布 令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合AR以及 申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权,申请方作 为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声明访问动 作;
客体接收到令牌后,根据自身所具有的属性、令牌记录的访问权限集合AR 以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身 份进行验证,若验证通过则允许访问。
基于同样的发明构思,本发明第二方面提供了一种基于令牌且支持客体属性 的访问控制装置,包括:
预处理模块,用于预先定义属性条件的类别和访问权限的类别,并对所管理 的设备进行属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性 条件类别通过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成 属性条件集合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范 围,选取部分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的 主体可以对客体执行的操作;
令牌请求接收模块,用于接收申请方发送的第一令牌请求,并取出申请方的 属性条件集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以 下方式生成,申请方选取部分管理方所定义的属性条件类别(单个类别可以重复 选取)并为所选取的每个类别设置具体的属性参数以生成属性条件,生成的所有 属性条件构成CS,AR由申请方选取部分管理方所定义的访问权限类别而生成, 令牌请求包括申请方制作的属性条件集合CS、访问权限集合AR以及申请方的 公钥PK;
授权模块,用于利用取出的申请方的公钥PK对申请方进行身份认证,并对 取出的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方 生成发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合 AR以及申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权, 申请方作为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声 明访问动作;
验证模块,用于客体根据自身所具有的属性、令牌记录的访问权限集合AR 以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身 份进行验证,若验证通过则允许访问。
基于同样的发明构思,本发明第三方面提供了一种计算机设备,包括存储器、 处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所 述程序时实现第一方面所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术 效果:
相比于现有技术中主体需要对同类型的设备重复申请令牌,影响访问控制效 率而言,本发明提供一种基于令牌且支持客体属性的访问控制方法,该方法中, 管理方预先定义属性条件的类别和访问权限的类别,能够支持客体属性,单个令 牌能够代表对同一类型设备的访问权限,由于令牌能够代表对同一类型设备的访 问权限,因此对同类型设备只需要一次令牌申请,减少令牌的申请、审核和发布 的次数,能够提高访问控制效率,降低主体所需管理和存储的令牌数量,提高基 于令牌的访问控制方案在存储资源受限设备中的适用性。
进一步地,在验证阶段,客体首先对令牌的属性条件集合和主体声明的访问 动作进行判断;然后对主体进行身份认证,客体设备验证令牌时验签的次数恒为 1,不随令牌的授权路径长度变化而变化,提高访问控制在计算资源受限设备中 的适用性。
进一步地,撤销与查询环节中,查询方需提供所查询令牌授权路径中的所有 令牌,资源受限设备期待更为高效的撤销查询方式,以降低查询方所需要发送的 数据量。所要达到的效果:撤销与查询环节中,查询方只需要提供令牌的标识, 无需完整提供所查询的令牌,也不需要提供令牌授权路径中的任何令牌,以减少 查询方发送的数据量,提高访问控制在资源受限设备中的适用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例 或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供方法中令牌客体指定方式示意图;
图2为本发明提供方法中授权树与多级标识结构示意图;
图3为具体实施例中撤销与查询实现过程图;
图4为具体实施例中撤销请求的验证流程图;
图5为具体实施例中令牌验证的实现流程图;
图6为具体实施例中授权、委托授权、重构之间的工作过程示意图;
图7为具体实施例中两种令牌的模拟测试与对比示意图;
图8为具体实施例中两种令牌验证环节对比示意图;
图9为具体实施例中撤销查询时节点信息发送情况对比示意图。
具体实施方式
本发明针对现有的访问控制方法由于主体需要对同类型的设备重复申请令 牌,导致访问控制效率较低的问题,提供了一种基于令牌且支持客体属性的访问 控制方法,避免了主体对同类型设备多次申请令牌的过程,访问控制的效率得到 了提升。
实施例一
本实施例提供了一种基于令牌且支持客体属性的访问控制方法,包括如下步 骤:
S1:管理方预先定义属性条件的类别和访问权限的类别,并对所管理的设备 进行属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性条件类 别通过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成属性条 件集合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范围,选 取部分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的主体可 以对客体执行的操作;
S2:管理方接收申请方发送的第一令牌请求,并从第一令牌请求中取出属性 条件集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以下方 式生成,申请方选取部分管理方所定义的属性条件类别并为所选取的每个类别设 置具体的属性参数以生成属性条件,生成的所有属性条件构成CS,AR由申请 方选取部分管理方所定义的访问权限类别而生成,第一令牌请求包括申请方制作 的属性条件集合CS、访问权限集合AR以及申请方的公钥PK;
S3:管理方利用取出的申请方的公钥PK对申请方进行身份认证,并对取出 的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方生成 发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合AR 以及申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权,申请 方作为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声明访 问动作;
S4:客体接收到令牌后根据自身所具有的属性、令牌记录的访问权限集合 AR以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的 身份进行验证,若验证通过则允许访问。
具体来说,现有技术中以数字签名保证令牌完整性的访问控制方案,已经存 在授权、委托授权、撤销、验证等几个环节。
本发明采用Attribute-Enabled令牌,设计一种基于权能令牌的访问控方案, 主要包括预处理、接收令牌请求、授权和验证步骤。
主体是访问动作的发出者,令牌记录了主体的公钥,可以是人或者设备。客 体是数据服务提供方,接收主体的访问请求并对令牌进行验证,通常是设备,令 牌通过CS规定了客体的范围,主体与客体是成对出现的概念,表示访问动作的 发出与接收的关系。管理方对设备具有管理权,通常是人。管理方只发布单层令 牌,主体获得令牌后,拥有向下发布令牌的能力,即管理方委托其向其他实体进 行授权,被委托授权的主体只能发布多层令牌。
S1为预处理步骤,在发送令牌申请之前,需要设备管理方对属性条件的类 别进行定义,例如include(attr_name)表示设备应当具有attr_name属性, is(attr_name,attr_value)表示设备应具有attr_name的属性并且该属性的值为 attr_value。同时管理方应定义访问权限的类别,例如Read,Write。
管理方对所管理的设备进行属性标注。管理方有权赋予所管理设备相应的属 性,属性的类型由管理方来定义,例如安全等级、设备型号、地域等,属性由管 理方写入设备。在设备验证令牌时,需判断自身所具有的属性是否满足令牌记录 的属性条件,属性标注是属性条件判断的前提。设备管理方在设备中添加相关属 性判断函数和管理方公钥。设备管理方还提供重构服务。
S2为接收令牌请求步骤,申请方向管理方发送令牌申请。申请方在管理方 所定义的属性条件的类别中选取部分类别(单个类别可以重复选取),之后为每 个选取的类别设置具体的参数,以构造一个属性条件集合CS,例如集合 {is(time,3),include(manager),is(area,line#2)}即为一个属性条件集合,表示只有 具有time属性且值为3、包含manager属性、具有area属性且值为line#2的设 备才被认为是令牌的客体。申请方从访问权限类别中选取部分类别构造访问权限 集合AR。申请方发送的令牌申请包括属性条件集合CS、访问权限集合AR以及 申请方的公钥PK。
S3为授权步骤,主体根据自己所需要访问的客体对象提出令牌申请,并发 送给管理方。管理方在收到令牌申请后首先利用申请中的PK公钥对申请方进行 身份认证,认证通过后对请求进行评估,如果评估通过则制作令牌并发送回申请 方,授权完成。授权完成后,申请方的公钥被记录在令牌中,因此申请方即成为 令牌的主体。
S4为验证步骤。
本发明主要解决的技术问题以及达到的技术效果为:
(1)主体需要对同类型的设备重复申请令牌,影响访问控制效率。令牌代 表的客体数量为1或者以列表的形式给出,令牌往往只能代表单个主体与单个客 体之间的访问关系,对同类型中不同的设备往往需要重复申请令牌。所要达到的 效果:单个令牌能够代表对同一类型设备的访问权限,因为令牌能够代表对同一 类型设备的访问权限,因此对同类型设备只需要一次令牌申请,减少令牌的申请、 审核和发布的次数,能够提高访问控制效率,降低主体所需管理和存储的令牌数 量,提高基于令牌的访问控制方案在存储资源受限设备中的适用性。
(2)验证环节设备端多次验签问题。为确保令牌合法,验证令牌数字签名 的次数与令牌的授权路径长度相等,而验签是耗时较多的工作,当令牌的授权路 径长度大于1时,多次验签降低了访问控制在计算资源受限设备中的可行性。所 要达到的效果:客体设备验证令牌时验签的次数恒为1,不随令牌的授权路径长 度变化而变化,提高访问控制在计算资源受限设备中的适用性。
(3)撤销与查询环节中,查询方需提供所查询令牌授权路径中的所有令牌, 资源受限设备期待更为高效的撤销查询方式,以降低查询方所需要发送的数据量。 所要达到的效果:撤销与查询环节中,查询方只需要提供令牌的标识,无需完整 提供所查询的令牌,也不需要提供令牌授权路径中的任何令牌,以减少查询方发 送的数据量,提高访问控制在资源受限设备中的适用性。
在一种实施方式中,S3具体包括:
管理方利用PK对申请方的身份进行认证,如果身份认证失败则拒绝授权;
如果身份认证通过,则对CS和AR进行评估,如果评估不通过则拒绝授权;
如果评估通过,则生成发布令牌的序列号id;
采用第一私钥对(id,PK,CS,AR)进行签名得到第一签名sig,其中,第一私 钥为管理方的私钥,由管理方预先生成;
将第一签名sig置入(id,PK,CS,AR)中生成申请方的令牌 (id,PK,CS,AR,sig)。
在一种实施方式中,在申请方获得令牌后,所述方法还包括:
申请方作为授权方接收其他主体发送的第二令牌请求,其中,第二令牌请求 包含其他主体制作的属性条件集合CS’、AR’以及公钥PK’;
授权方从第二令牌请求中取出CS’、AR’以及PK’;
授权方利用PK’对申请方的身份进行认证,如果认证失败则拒绝授权;
授权方对CS’和AR’进行评估,如果评估不通过则拒绝授权;
授权方生成发布令牌的序列号id’;
授权方使用第二私钥对(id',PK',CS',AR',Token)进行签名得到第二签名sig’,其中,第二私钥为授权方的私钥,即与公钥PK对应的私钥,Token为授权方的 令牌,为单层令牌或多层令牌,如果Token为单层令牌,代表授权方由管理方授 权,如果Token为多层令牌,代表授权方由某一主体授权;
授权方将sig’置入(id',PK',CS',AR',Token)中,生成多层令牌(id',PK',CS',AR',Token,sig'),并发送至其他主体,完成委托授权。
具体来说,申请方向授权方发送令牌申请。申请方在管理方所定义的属性条 件的类别中选取部分类别(单个类别可以重复选取),之后为每个选取的类别设 置具体的参数,以构造一个属性条件集合CS,申请方在管理方所定义的访问权 限类别中选取部分类别以构造访问权限集合AR。申请方发送的令牌申请包括属 性条件集合CS、访问权限集合AR以及申请方的公钥PK。
具体地,下面介绍本发明涉及的Attribute-Enabled令牌的相关内容。
(1)单层令牌结构
单层令牌数据结构由式定义:
Token={ID,PK,CS,AR,SIG}\*MER
SIG=signpublisher_SK(ID,PK,CS,AR)\*MER
ID为令牌发布方维护的序列号,对于一个发布方,生成不同令牌时使用的 ID不能重复;对于不同的令牌发布方,生成令牌时使用的ID可以相同。PK为 主体Subject的公钥,PK代表了令牌的归属,拥有PK对应私钥的主体可以使用 该令牌,否则即使获得了令牌也无法使用。CS为属性条件集合,定义客体需要 满足的条件,CS内部的元素相互独立,没有顺序要求。AR为访问权限集合, 可以由管理方来定义,例如{write,read},代表了令牌的主体可以对客体执行的 操作。SIG为令牌发布方对ID、PK、CS、AR等内容的数字签名。sign为签名函数,签名使用的私钥为令牌发布方的私钥,而非令牌中PK所对应的私钥。
每个令牌都锁定了一个公钥PK,由于公钥和私钥成对出现,PK与私钥SK 相对应,私钥SK的拥有方被认为是令牌的主体,而令牌的客体Object由式进行 定义。
O为管理方所管理的任意设备,F为属性条件判断函数,用于判断O所具有 的属性能否满足属性条件c,其输入参数为O和CS中的元素。对于一个设备, 如果CS集合中的任意元素输入到属性条件判断函数之后的返回值为TRUE,即 认为该客体设备为该令牌的客体。系统中所有满足式的设备都是该令牌的客体。 根据令牌客体的定义可知,令牌所代表的客体数量可以不为1,具体数量为系统 中能够满足CS中所有条件的设备数量。
(2)多层令牌结构
多层令牌同单层令牌相比,在令牌结构中增加了一个元素,即内嵌令牌 Token。多层令牌由进行定义。
MToken={ID,PK,CS,AR,Token,SIG}\*MER
SIG=sigToken.PK→SK(ID,PK,CS,AR,Token)\*MER
内嵌令牌Token可以是一个多层令牌也可以是一个单层令牌,式中MToken 的签名SIG由内嵌令牌Token记录的主体来生成。多层令牌MToken的属性条件 集合并非由中的CS来指定,而是由该CS与内嵌令牌Token的属性条件集合取 并集的结果来表示。给定一个令牌,获得该令牌的属性条件集合的算法见算法1, 算法对于单层令牌和多层令牌都适用。
算法的输入为一个单层令牌或多层令牌。算法1的执行过程:首先取出令牌 所包含的CS集合并暂时作为返回值,然后判断令牌内部是否存在内嵌令牌。如 果不存在内嵌令牌,则将该CS集合作为算法的输出;如果存在内嵌令牌,则在 算法内部再次运行算法1并将内嵌令牌作为输入,内部运行算法1的输出结果代 表了内嵌令牌的属性条件集合,将该集合与之前获得的CS集合取并集,最后将 该并集作为算法的输出,即得到了令牌的属性条件集合。
与单层令牌不同,多层令牌MToken的访问权限集合并非由式中的AR来指 定,而是由该AR集合与内嵌令牌Token的访问权限集合取交集的结果来表示。
给定一个令牌,获得该令牌的访问权限集合的算法见算法2,算法对于单层 令牌和多层令牌都适用。算法的输入为一个单层令牌或多层令牌。算法2的执行 过程:首先取出令牌所包含的AR集合并暂时作为返回值,然后判断令牌内部是 否存在内嵌令牌。如果不存在内嵌令牌,则将该AR集合作为算法的输出;如果 存在内嵌令牌,则在算法内部再次运行算法2并将内嵌令牌作为输入,内部运行 算法2的输出结果代表了内嵌令牌的访问权限集合,将该集合与之前获得的CS 集合取交集,最后将该并集作为算法的输出,即得到了令牌的访问权限集合。
多层令牌的主体与单层令牌中主体的定义类似,为令牌所记录的PK所对应 的实体,与内嵌令牌无关。多层令牌的客体也与单层令牌中客体的定义类似,即 能够满足令牌属性条件集合中所有条件的设备,多层令牌的属性条件集合需要使 用算法1来获取,令牌的客体与内嵌令牌有关。
(3)多级标识MID
在一个访问控制系统中,每一个令牌都是唯一的,域中的令牌用MID进行 唯一标识。对于单层令牌,令牌的多级标识即为令牌中的ID序号。对于多层令 牌,多级标识是授权路径中从管理方发布的令牌开始,各令牌发布序号ID的有 序连接。令牌的多级ID可以由式定义,多级ID的获取算法见算法3。
给定一个令牌,获得令牌多级标识的算法见算法3,算法对于单层令牌和多 层令牌都适用。算法的输入为一个单层令牌或多层令牌。算法3的执行过程:首 先取出令牌的ID序号并寄存在lastPart变量中并将frontPart变量置空,然后判断 令牌内部是否存在内嵌令牌。如果存在内嵌令牌,则在算法内部再次运行算法3 并将内嵌令牌作为输入,内部运行算法3的输出结果代表了内嵌令牌的多级标识, 将该多级标识赋值给frontPart变量,最后将frontPart变量作为头部,lastPart作 为尾部,连接frontPart和lastPart形成新的多级标识,即得到给定令牌的多级标 识,并作为算法3的输出。
(4)多层令牌的重构
多层令牌是一个嵌套结构,为了简化令牌的结构,减少令牌所占用的体积和 减少令牌的验签次数,本发明提出多层令牌向单层令牌转化的方式,也可以称为 多层令牌的重构。表1给出了令牌重构前后各元素的变化情况,转化前后令牌的 主体S不变,根据多层令牌主体的定义,即需要保证令牌的PK不变。转化前后 令牌的客体集合O不变,根据多层令牌客体的定义,即只需要令牌转化前后CS 集合不变即可。
表1令牌转化原则
令牌的重构必须由管理方来完成。设定从多层令牌循环内嵌的最深层也即是 单层令牌开始,每层令牌的CS分别为CS1,CS2,...,CSn,AR分别为AR1,AR2,...,ARn, 因为令牌转化前后CS和AR保持不变,又根据算法1和算法2可知,重构后令 牌的CS和AR可以由式和式来表示。
CS=CS1∪CS2∪...∪CSn\*MER
AR=AR1∩AR2∩...∩ARn\*MER
给定一个多层令牌,将令牌转化为单层令牌的算法见算法4,算法只适用于 多层令牌,算法的输入为一个多层令牌和管理方的私钥。算法4的执行过程:首 先取出多层令牌所记录的公钥PK,然后运行算法1获得该令牌的属性条件集合 CS,运行算法2获得该令牌的访问权限集合CS,运行算法3获得该令牌的多级 标识MID,管理方使用自己的私钥对(MID,PK,CS,AR)进行签名得到SIG,最后 将签名结果置入(MID,PK,CS,AR)中生成单层令牌(MID,PK,CS,AR,SIG)即为 算法的输出。
(5)令牌的合法性
令牌的合法性要求令牌的发布由具有相应权限的实体来完成。单层令牌要求 由管理方来发布,多层令牌要求由内嵌令牌所记录的主体来发布。单层令牌的合 法性判定只需要使用管理方的公钥对令牌进行验签操作即可,多层令牌的合法性 判定则是一个递归判定的过程。令牌合法性判定见算法5。
算法5的输入为令牌Token和管理方的公钥,令牌可以是单层令牌或者多层 令牌。算法输出是一个布尔值,如果是TRUE则表示输入的令牌是合法的,如 果是FALSE则表示输入的令牌是非法的。算法5的执行过程:取出令牌中记录 的签名sig并将签名从令牌中移除,判断令牌内部是否存在内嵌令牌,如果存在 内嵌令牌,取出内嵌令牌放入tmp_Token变量中,从tmp_Token中取出记录的公 钥存入tmp_PK中,然后使用tmp_PK对签名sig和令牌进行验证,如果验证不 通过则算法返回FALSE,如果验证通过则在算法内部再次调用算法5,将 tmp_Token和管理方公钥作为输入,如果调用返回的结果为FALSE,则算法返回 FALSE,如果调用返回的结果为TRUE,则算法返回TRUE;如果不存在内嵌令 牌,则使用管理方的公钥对签名sig和输入的令牌Token进行验证,验证通过则 算法返回TRUE,验证不通过则算法返回FALSE。
(6)令牌结构的相关说明
客体指定方式。如图1所示,本发明设计的令牌并不显式地声明令牌的客体, 而是通过属性条件集合CS来定义客体所应满足的属性条件,管理方对域中的设 备进行标注,凡是能够满足集合中所有属性条件的设备即为该令牌的客体。
客体范围。Attribute-Enabled令牌的客体不是固定的,而是随域中设备的状 态变化而变化。域中的设备凡是能够满足属性条件集合即为该令牌的客体,因此 令牌代表的是域中的一类设备。Attribute-Enabled能够即限定令牌的客体数量为 1,只需要管理方对客体设备增加特殊的属性,例如全局身份标识UID,然后在 属性集合中指定客体的UID,便可以限定令牌的客体数量为1,因此 Attribute-Enabled令牌保留了针对特定客体的细粒度访问控制能力。
多级标识MID对授权树的维护。管理方签署的令牌为授权树的根节点,以 某一令牌为基础,委托授权产生下级令牌,下级令牌作为上级令牌的子节点,授 权与委托授权的过程形成一棵授权树,令牌撤销需要用到授权树。图2表示一个 令牌的授权树,根据令牌的定义,每个令牌生成时都会被令牌发布方添加一个发 布序列号,在图中为添加ID的过程。根据令牌的多级标识定义,MID为从首令 牌开始,授权路径中添加的ID值的有序连接,因此在图中MIDB=1.1,MIDD=1.1.1。 可以看出,多级标识以前缀树的方式生成并保证唯一。在授权树中,某一令牌的 MID包含了授权路径中所有令牌的MID,子节点由父节点授权,表现为父节点 的MID为子节点MID的前缀。给定两个令牌的MID,通过比较两个令牌MID 的包含关系可以判断两个令牌是否在同一个授权链中,并且可以判断出两个令牌 在授权链中出现的先后顺序。因此可以得出结论,令牌的多级ID隐式地维护了 授权树。
下面介绍委托授权的相关内容。
主体可以将已获得权限的全部或部分授权给其他用户,该过程被称为委托授 权。委托授权时主体以所拥有的令牌为基础来发布下级令牌,委托授权后,下级 令牌代表的权限应当不大于上级令牌代表的权限。在本方案中,上述要求表现为 两个方面,即令牌的客体范围只能缩小不能增加,权限集合只能减少不能增加, 由式和表示。
已经拥有令牌的主体都可以作为授权方发布令牌,该发布令牌的过程被称为 委托授权,委托授权的步骤如上所述。
授权链中的权限变化满足由大到小的偏序关系。设令牌A的属性条件集为 CSA,权限范围为ARA,以令牌A为基础生成令牌B,被添加进新令牌的CS为 CSADD,AR为ARADD。根据算法1可知CSB=CSA∪CSADD,因此有即令牌B对客体范围的限制大于等于令牌A对客体范围的限制,所以 满足的限制条件。根据算法2可知,ARB=ARA∩ARADD, 因此有满足的限制条件。根据以上分析可知,该委托授权算法能够保证授权链中权限由大到小的偏序关系。
在一种实施方式中,所述方法还包括对已申请的令牌进行撤销和查询。
其中,对已发布的令牌进行撤销和查询,具体包括:
撤销服务接收请求方发送的撤销请求,撤销请求包含请求方所发布的令牌、 所要撤销的令牌的多级标识MID以及令牌发布方的数字签名,表示为 RQ={token,MID,sig”},其中sig”=signSK(token,MID),SK为发布token所用的 私钥,签名sig”用以保证token和MID的完整性;
撤销服务对撤销请求进行验证,如果验证通过,则将MID存入数据库中;
接收查询请求,查询请求中包含所要查询令牌的多级标识MID’;
撤销服务检索数据库,判断数据中是否存在多级标识为MID’的前缀,如果 存在,则表明所查询的令牌已被撤销,否则令牌未被撤销;
撤销服务向查询方返回结果。
具体来说,令牌撤销是访问控制过程中的一个重要环节,令牌的发布方有权 撤销所发布的令牌,具体的令牌撤销设计如下。
(1)撤销的设计思想。Attribute-Enabled令牌的多级标识MID隐式维护了 授权树,根据两个令牌的MID能够作出如下判断。①MIDA是MIDB的前缀,则 令牌A和B在同一条授权链中,且令牌A是令牌B生成的基础。②MIDA和MIDB不存在一方为另一方的前缀,则两个令牌不在同一条授权链中。管理方或者多层 令牌的发布方在撤销令牌时,需要提供撤销的凭证,即所发布的令牌,令牌的标 识为MID,同时需要指定一个标识MIDR,代表所要求撤销的令牌,只有MID 是MIDR的前缀时,撤销请求才是合法的。通过保存所有的MIDR,撤销服务可以维护一个满足使用要求的授权树,针对特定的多级标识M,如果数据库中存 在某个多级标识是M的前缀,证明M代表的令牌已被撤销。
(2)撤销与查询过程。如图3所示,令牌的撤销包括6个步骤。
步骤1:向撤销服务发送撤销请求。为撤销某一MID标识的令牌,令牌授 权路径中任意实体(管理方、被委托授权的主体)都可以发出撤销请求,撤销请 求包括三个部分,撤销所依赖的令牌、所要撤销的令牌的多级标识MID和令牌 发布方的数字签名。撤销请求表示为RQ={token,MID,sig},其中 sig=signSK(token,MID),SK为发布token所用的私钥,签名保证token和MID 的完整性。
步骤2:撤销服务验证请求并返回结果。如图4所示,撤销服务收到撤销请 求后,执行如下过程:①撤销请求的签名验证。若令牌为多层令牌,则采取内 嵌令牌记录的公钥进行验证;若令牌为单层令牌,则采用管理方的公钥进行验证。 事务验证通过证明撤销请求没有经过篡改。②令牌的合法性验证。令牌的合法 性采取算法5进行验证。③前缀判断。令牌具有标识MID,请求中指定要撤销 的令牌的多级标识为MIDR,判断MID是否为MIDR的前缀,如果是,则请求合 法,进入步骤3。
步骤3:将MIDR存入数据库中。
步骤4:查询方发送查询请求。查询请求包含所查询令牌的多级标识MID。
步骤5:查询请求判断。撤销服务检索数据库,判断是否存在多级标识为所 查询MID的前缀,如果存在,则证明令牌已被撤销。
步骤6:返回查询结果。
撤销功能的分析。以主体拥有的令牌为基础授权生成其他子令牌,形成一条 授权链,主体有能力撤销授权链中任一令牌,实现了越级撤销。授权链中上级令 牌被撤销将会导致所有的下级令牌失效,实现了关联撤销。撤销查询时无需发送 授权路径中的任何令牌,只需要发送所要查询的令牌的MID,因此查询时的消 息传输量较小。
在一种实施方式中,验证步骤具体包括:
客体根据自身所具有的属性对令牌中的属性条件集合进行验证,并根据令牌 记录的访问权限集合对主体声明的访问动作进行判断,若判断不通过则拒绝访问;
若判断通过,则对主体进行身份认证,认证不通过则拒绝访问;
若认证通过则对令牌的合法性进行判断,不合法则拒绝访问,否则允许访问。
具体来说,令牌的验证是访问控制的最主要环节,图5表示了令牌验证的整 体过程,令牌验证过程主要由客体和撤销服务来完成。
令牌的主体构造访问请求request={token,A},A表示主体请求的访问动作, 可以为read,write等,Token为A的凭证。设备收到请求后,首先对令牌的撤 销状态进行判断,取出令牌的多级标识MID并向撤销服务提交查询请求。之后 设备根据自身所具有的属性对令牌CS中的所有条件进行验证,如果令牌是多层 令牌,还需要循环取出内嵌令牌的CS,依次进行相同验证。其次设备还需要对 A进行判断,取出令牌的AR集合,判断A是否属于AR,如果令牌是多层令牌, 还需要循环取出内嵌令牌的AR,依次进行相同判断。之后设备对访问方进行身 份认证。最后,需要采用令牌合法性判定算法对令牌的合法性进行验证。如果所有的验证都可以通过,则访问请求的验证通过,主体可以进行相应的访问。
在一种实施方式中,在客体对属性条件集合CS和访问权限集合AR进行判 断之前,所述方法还包括:
查询主体提供的令牌是否已被撤销,如果已被撤销,则拒绝访问。
在一种实施方式中,所述方法还包括:
令牌的主体将多层令牌发给管理方;管理方采用重构算法对令牌进行重构;
管理方将重构后的令牌发给令牌的主体。
具体来说,多层令牌的重构由管理方使用令牌的重构算法来完成。
主体收到委托授权产生的多层令牌后,将令牌发送给管理方,管理方使用多 层令牌的重构算法,将多层令牌转化为单层令牌,最后将令牌发回给主体。授权、 委托授权、重构的工作过程如图6所示。对令牌进行重构需要管理方提供重构服 务,重构算法包含令牌合法性验证、重组和签名等步骤,无需对令牌的属性条件 集合CS和访问权限集合AR进行评估。
令牌的重构功能实现了验证工作从客体到管理方的转移。根据令牌合法性的 判定方式可知,设定多层令牌的授权路径长度为N,则验证签名的次数由N降 为1,令牌不使用重构和使用重构两种情况的验签次数见表2数增加了N次。 实际上,管理方对令牌实行重构是对令牌的简化,代替客体设备对委托授权各环 节的合法性进行验证,因此可以认为,令牌的重构功能实现了验证工作从客体设 备到管理方的转移。
表2令牌合法性判定的验签次数
增加重构环节对访问控制的影响有如下几个方面。
(1)提高客体设备的验证效率。对于计算资源受限的设备来说,签名验证 对计算资源的开销较大,通过转移部分验证工作,节约了客体设备的计算资源, 提高了令牌验证的速度,从而提高了客体端访问控制的效率。
(2)增加管理方的计算负担,但不增加管理复杂度。因为重构功能需要管 理方对令牌进行验签、重组和签名,所以增加了管理方的计算负担。基于权能的 访问控制方案以人为驱动,管理方提供的是智能的算力。由于令牌重构并不牵涉 到令牌权限的变化,管理方也无需对令牌的权限做任何判断,只需对原令牌进行 验签和重组,并对重组后的令牌进行数字签名,过程不牵涉到智能算力的参与, 因此可以认为重构并没有增加管理方的管理复杂度,仅仅增加管理方的计算负担, 增加的计算负担可以通过增加非智能的算力解决。
(3)不影响委托授权的意义。委托授权是为了降低管理方的管理复杂度, 是按层级对权限进行细化管理,重构没有增加管理方的管理复杂度,因此并不影 响委托授权的意义。
下面通过几组实验对本发明提供的方法与现有的方法进行实验测试与对比。
第一组实验:属性的功用测试与对比。
对现有的基于身份标识来限定客体的令牌(ID-Based Token)和本发明所设 计的支持属性的令牌(Attribute-Enabled Token)分别在不同的域规模中进行模拟 测试和统计,对两种令牌在令牌数量、申请次数、占用空间、累计发布耗时几个 方面进行比较,最后分析令牌支持属性后为访问控制带来的影响。实验为模拟测 试,通过设定域的规模和设备的属性分配方式来模拟域,通过设定S和S所需 访问的客体集合O来确定访问关系(S→O)。令牌的申请、发布以建立访问关系 (S→O)为目标。
(1)模拟环境
模拟程序运行在笔记本电脑上,处理器型号和参数为:CPU(英特尔)Intel(R)Core(TM)i7-4720HQ CPU@2.60GHz。程序采用Java语言进行编写。
1)属性条件的类别。定义两种类别include(attr),is(attr_name,attr_value)。
2)数字签名算法。数字签名采用基于椭圆曲线的数字签名算法,选取 secp160r1曲线,密钥长度为160位。
3)对比组。ID-Based令牌。ID-Based令牌是现有的基于权能的访问控制方 案所采用的令牌结构,一般只能够表示单一主体和单一客体之间的访问关系。
4)设备的属性标注方式。设备的属性按照表3所列出的方式进行分配。
表3设备属性分配方式
5)主体访问方S和客体集合O。主体访问方S可以是数据收集设备或者其 他用户,其数量为1。客体集合O表示S所能够访问的所有客体设备,本实验规 定O为line#2区域内安全级别为3、具有温度监测功能、不具备管理方身份的所 有设备。具体要求见表4。
表4客体集合O所应具有的特性
6)指标。实验测定5个数据。①主体所需访问的设备数量,代表O的大 小,该数据客观存在,与访问控制方案无关。访问控制过程中,令牌申请与发布 的目的是确保访问关系(S→O)。②令牌数量,表示为确保访问关系(S→O), 主体所需持有的令牌数量。③令牌的申请次数,表示为确保访问关系(S→O), 主体需提交令牌申请的次数。④令牌占用空间,表示为确保访问关系(S→O), 主体保存所有的令牌所耗用的空间。⑤令牌发布所耗用时间,表示为确保访问 关系(S→O),管理方发布令牌所耗用的时间,本实验并未将发布方对请求评估 的时间计算在内,因为基于权能的访问控制由人来驱动,而人的主观决策时间差 异性较大。
(2)模拟结果
模拟测试步骤。第一步,在程序中分别设定域的规模,按照表2-3对域中所 有设备进行属性分配。第二步,遍历域中的所有设备,如果设备的属性满足表 2-4则被认为是主体S需要访问的客体,并添加到客体集合O中。第三步,为O 中的元素分别生成Attribute-Enabled令牌和ID-Based令牌,并统计令牌的数量、 占用空间和令牌生成的总耗用时间。第四步,绘制模拟测试结果如图7所示。主 体所需访问的客体数量客观存在,与令牌种类无关。本实验认为令牌的申请次数 和令牌的数量相等,实际情况主体可以一次申请多个令牌,本次模拟不考虑该种 情况。单次令牌生成耗时具有差异性,是由于笔记本运算资源分配的差异性和系 统状态不同导致。
(3)结果分析
1)令牌数量对访问控制的影响。从图7的(b)部分可以看出,Attribute-Enabled令牌在客体集合O规模大于1时具有更少的令牌数量,因此能够降低主体管理 令牌的复杂度。
2)令牌申请次数对访问控制的影响。根据图7的(b)部分可知,为确保访问 关系(S→O),现有的基于令牌的访问控制技术需要主体为O中的所有设备分别 提交申请,而所设计的访问控制方案,主体S只需要提交1次Attribute-Enabled 令牌申请,避免了多次提交和等待的过程,能够大幅度提升访问控制的效率。
3)令牌生成累计耗时对访问控制的影响。根据图7的(d)部分可知,由于Attribute-Enabled令牌数量降低为1,令牌的生成累计耗时也为一个较小的数, 远远低于ID-Based令牌,在一定程度上提升了访问控制效率。
4)令牌空间占用对访问控制的影响。从图7的(c)部分可知,当客体集合O 的规模大于1时,Attribute-Enabled令牌具有更小的空间占用,能够提高访问控 制方案在资源受限设备中的可用性。总结并整理两种令牌的差异,结果见表5。
表5两种令牌对比(访问关系S→O(N=size(O),N>1))
第二组实验:令牌验证环节对比。
(1)实验说明
1)对比组。本部分以EU FP7 IoT@Work项目中实现的访问控制系统为参照, 该系统所设计令牌同样通过内嵌上级令牌的方式来记录授权路径。
2)指标。实验分别对客体验证令牌的时间和验证令牌时处理器的平均功耗 进行测定。对于EU FP7 IoT@Work项目中设计的访问控制系统,需要验证授权 路径中的所有令牌的合法性。对于本发明所设计的令牌,使用重构功能,验证的 目标是重构后的令牌。
3)工具。实验采用Cooja仿真来完成,处理器平均功耗采用Cooja仿真的 CollectView功能获得。
4)运行参数。Wismote节点每6s进行一次验证,令牌签名使用椭圆曲线签 名算法,选取secp160r1曲线,密钥长度为160位。实验分别测试四种授权级别 的令牌,即1-4级令牌。一级令牌为设备管理方发布,令牌每经过一次向下授权, 其级别增加1。
(2)实验结果
实验获得验证时间和平均功耗两个指标的数据并绘制成折线图,如图8所示。 根据图8的(a)部分,ID-Based令牌随着令牌的授权路径长度增长,其验证时间 为线性增长,当令牌的授权路径长度为4时,验签的次数为4,此时令牌的验证 时间变为5.856s,可接受程度较差。使用了重构功能的Attribute-Enabled令牌的 验签次数恒为1,因此验证时间基本保持不变,当令牌的级别大于1时, Attribute-Enabled令牌的验证显示出时间优势,提升了访问控制方案在资源受限 设备中的可行性。从图8的(b)部分可以看出,Attribute-Enabled令牌使用重构功 能后由于验签次数的降低,令牌验证的平均功耗也有较大的降低,当令牌授权路 径长度为4时,平均功耗降低为ID-Based令牌验证平均功耗的39%,对于资源 受限设备意味着更长的电池续航时间,该特点进一步提升了访问控制方案在资源 受限设备中的适用性。
第三组实验:令牌撤销查询环节对比。
本部分对撤销查询环节中的数据指标进行实验分析。考虑到影响访问控制方 案适用性的一个重要因素是客体的资源(包括计算资源、存储资源、电池续航能 力)丰富程度,本部分的实验关注撤销查询时客体需要发送的数据量和发送单元 的平均功耗两个指标。
(1)实验说明
1)对照组。本部分以EU FP7 IoT@Work项目中实现的访问控制系统为参照, 该访问控制方案实现了具备关联撤销能力的撤销机制,但撤销服务需要获得授权 路径中所有的令牌才能够判断令牌的撤销状态。应说明的是本实验关于ID-Based 令牌的数据是通过实现该方案并在Wismote节点上运行所获得。
2)指标。实验分别对撤销查询时客体所需要的发送的数据量和发送单元的 平均功耗进行测定。已有的撤销查询机制需要查询方发送授权路径的所有令牌, 本发明所设计的撤销机制只需要发送令牌的多级标识。
3)工具。实验采用Cooja仿真来完成,发送单元的平均功耗采用Cooja的 CollectView功能获得。
4)运行参数。Wismote节点每6s发送一次撤销查询信息。实验分别测试四 种授权级别的令牌,即1-4级令牌。一级令牌为设备管理方发布,令牌每经过一 次向下授权,其级别增加1。
(2)实验结果
通过计算不同级别的令牌所具有的字节数,绘出图9的(a)部分,通过Cooja 仿真得到发送不同级别令牌时Wismote节点发送单元的平均功耗,绘出图9的(b) 部分。从图9的(a)部分可以看出,本发明设计的撤销方式在查询阶段能够有效降 低查询方所需要发送的数据量,令牌为一级令牌时,查询时发送的数据量只有 ID-Based令牌的5.4%,当令牌的授权路径长度为4时,该占比降为2%。因为发 送数据量的减少,Wismote节点的发送单元工作时间占比也降低,表现为对于授 权路径长度为1的令牌,平均功耗降低为ID-Based令牌方案23%,对于授权路 径长度为4的令牌,平均功耗降低为8%,能提高方案在资源受限设备中的适用 性
本发明的有益效果如下:
(1)支持属性的访问控制方案
有益效果:提高了访问控制的效率,提高了在资源受限设备中的适用性。基 于Attribute-Enabled令牌的使用,较现有的基于令牌的访问控制方案,避免了主 体对同类型设备多次申请令牌的过程,访问控制的效率得到了提升,由于存储令 牌的空间消耗降低,在资源受限设备中的适用性得到提高。方案增加重构环节, 提高了设备验证令牌的效率。令牌撤销采用多级标识来实现,简化了授权的维护, 降低了查询时的发送功耗,提高了访问控制在资源受限设备中的可行性。
(2)Attribute-Enabled令牌
有益效果:提高了访问控制的效率,降低了令牌存储所用的空间。该数据结 构使得基于令牌的访问控制能够获得属性访问控制方式所具有的优势,单个令牌 能够表示对同类型设备的访问权限,避免对同类型的设备多次申请令牌,能够提 高访问控制的效率,降低存储令牌所占用的空间。测试数据显示, Attribute-Enabled令牌的空间占用低于ID-Based令牌,客体集合为50时,空间 占用为ID-Based令牌的3.4%,客体集合为456时,空间占用为ID-Based令牌的 0.4%。
(3)令牌部分验证工作的转移方法,即重构。
有益效果:提高设备的令牌验证效率,降低设备的验证功耗,提高了访问控 制在资源受限设备中的适用性。对令牌进行重构,可使部分令牌验证工作由设备 转移到管理方,设备的验签次数不随令牌授权路径长度变化,能够始终保持为1, 因此可以提高验证的效率。实验结果显示,在Wismote节点中,令牌授权路径长 度为1时,两种令牌验证时间基本相同,为1.45s左右,当令牌的授权路径长度 为4时,ID-Based令牌验证时间变为5.856s,而Attribute-Enabled令牌的验证时 间仍然为1.45s左右。当令牌的级别大于1时,Attribute-Enabled令牌的验证显示 出时间优势,当令牌授权路径长度为4时,验证平均功耗降低为ID-Based令牌 的39%。
(4)采用多级标识实现的令牌撤销机制。
有益效果:降低了查询方发送的数据量和发送功耗,提高了访问控制方案在 资源受限设备中的适用性。该撤销机制利用多级标识MID来维护授权树,对于 指定的令牌,撤销服务无需获得授权路径中的任何令牌,只需要获得令牌的MID 即可判断出令牌的撤销状态,降低了查询方发送的数据量和发送功耗,提高了访 问控制方案在资源受限设备中的适用性。实验结果显示,授权路径长度为1时, 查询时发送的数据量为现有方案的5.4%,当令牌的授权路径长度为4时,该占 比降为2%。因为发送数据量的减少,授权路径长度为1时,发送单元平均功耗 降低为现有方案的23%,授权路径长度为4时,平均功耗降低为8%。
实施例二
基于同样的发明构思,本发明还提供了一种基于令牌且支持客体属性的访问 控制装置,包括:
预处理模块,用于预先定义属性条件的类别和访问权限的类别,并对所管理 的设备进行属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性 条件类别通过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成 属性条件集合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范 围,选取部分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的 主体可以对客体执行的操作;
令牌请求接收模块,用于接收申请方发送的第一令牌请求,并取出申请方的 属性条件集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以 下方式生成,申请方选取部分管理方所定义的属性条件类别(单个类别可以重复 选取)并为所选取的每个类别设置具体的属性参数以生成属性条件,生成的所有 属性条件构成CS,AR由申请方选取部分管理方所定义的访问权限类别而生成, 令牌请求包括申请方制作的属性条件集合CS、访问权限集合AR以及申请方的 公钥PK;
授权模块,用于利用取出的申请方的公钥PK对申请方进行身份认证,并对 取出的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方 生成发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合 AR以及申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权, 申请方作为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声 明访问动作;
验证模块,用于客体根据自身所具有的属性、令牌记录的访问权限集合AR 以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身 份进行验证,若验证通过则允许访问。
实施例三
基于同样的发明构思,一种计算机设备,包括存储器、处理器及存储在存储 器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例 一所述的方法。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本 创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意 欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离 本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本 发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在 内。
Claims (10)
1.一种基于令牌且支持客体属性的访问控制方法,其特征在于,包括:
管理方预先定义属性条件的类别和访问权限的类别,并对所管理的设备进行属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性条件类别通过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成属性条件集合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范围,选取部分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的主体可以对客体执行的操作;
管理方接收申请方发送的第一令牌请求,并从第一令牌请求中取出属性条件集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以下方式生成,申请方选取部分管理方所定义的属性条件类别并为所选取的每个类别设置具体的属性参数以生成属性条件,生成的所有属性条件构成CS,AR由申请方选取部分管理方所定义的访问权限类别而生成,第一令牌请求包括申请方制作的属性条件集合CS、访问权限集合AR以及申请方的公钥PK;
管理方利用取出的申请方的公钥PK对申请方进行身份认证,并对取出的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方生成发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合AR以及申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权,申请方作为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声明访问动作;
客体根据自身所具有的属性、令牌记录的访问权限集合AR以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身份进行验证,若验证通过则允许访问。
2.如权利要求1所述的方法,其特征在于,管理方利用取出的申请方的公钥PK对申请方进行身份认证,并对取出的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方生成发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合AR以及申请方的公钥PK来生成申请方的令牌,包括:
管理方利用PK对申请方的身份进行认证,如果身份认证失败则拒绝授权;
如果身份认证通过,则对CS和AR进行评估,如果评估不通过则拒绝授权;
如果评估通过,则生成发布令牌的序列号id;
采用第一私钥对(id,PK,CS,AR)进行签名得到第一签名sig,其中,第一私钥为管理方的私钥,由管理方预先生成;
将第一签名sig置入(id,PK,CS,AR)中生成申请方的令牌(id,PK,CS,AR,sig)。
3.如权利要求1所述的方法,其特征在于,在申请方获得令牌后,所述方法还包括:
申请方作为授权方接收其他主体发送的第二令牌请求,其中,第二令牌请求包含其他主体制作的属性条件集合CS’、AR’以及公钥PK’;
授权方从第二令牌请求中取出CS’、AR’以及PK’;
授权方利用PK’对申请方的身份进行认证,如果认证失败则拒绝授权;
授权方对CS’和AR’进行评估,如果评估不通过则拒绝授权;
授权方生成发布令牌的序列号id’;
授权方使用第二私钥对(id',PK',CS',AR',Token)进行签名得到第二签名sig’,其中,第二私钥为授权方的私钥,即与公钥PK对应的私钥,Token为授权方的令牌,为单层令牌或多层令牌,如果Token为单层令牌,代表授权方由管理方授权,如果Token为多层令牌,代表授权方由某一主体授权;
授权方将sig’置入(id',PK',CS',AR',Token)中,生成多层令牌(id',PK',CS',AR',Token,sig'),并发送至其他主体,完成委托授权。
4.如权利要求1所述的方法,其特征在于,所述方法还包括对已申请的令牌进行撤销和查询。
5.如权利要求4所述的方法,其特征在于,对已申请的令牌进行撤销和查询,具体包括:
撤销服务接收请求方发送的撤销请求,撤销请求包含请求方所发布的令牌、所要撤销的令牌的多级标识MID以及令牌发布方的数字签名,表示为RQ={token,MID,sig”},其中sig”=signSK(token,MID),SK为发布token所用的私钥,签名sig”用以保证token和MID的完整性;
撤销服务对撤销请求进行验证,如果验证通过,则将MID存入数据库中;
接收查询请求,查询请求中包含所要查询令牌的多级标识MID’;
撤销服务检索数据库,判断数据中是否存在多级标识为MID’的前缀,如果存在,则表明所查询的令牌已被撤销,否则令牌未被撤销;
向查询方返回结果。
6.如权利要求1所述的方法,其特征在于,客体根据自身所具有的属性、令牌记录的访问权限集合AR以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身份进行验证,若验证通过则允许访问,包括:
客体根据自身所具有的属性对令牌的属性条件集合CS进行验证并根据令牌记录的访问权限集合AR对主体声明的访问动作进行判断,若判断不通过则拒绝访问;
若判断通过,则对主体进行身份认证,认证不通过则拒绝访问;
若认证通过则对令牌的合法性进行判断,不合法则拒绝访问,否则允许访问。
7.如权利要求6所述的方法,其特征在于,在客体对主体的属性条件集合和CS访问权限集合AR进行判断之前,所述方法还包括:
查询主体提供的令牌是否已被撤销,如果已被撤销,则拒绝访问。
8.如权利要求3所述的方法,其特征在于,所述方法还包括:
令牌的主体将多层令牌发给管理方;
管理方采用重构算法对令牌进行重构;
管理方将重构后的令牌发给令牌的主体。
9.一种基于令牌且支持客体属性的访问控制装置,其特征在于,包括:
预处理模块,用于预先定义属性条件的类别和访问权限的类别,并对所管理的设备进行属性标注,其中,属性条件的类别是一类属性条件的抽象,一个属性条件类别通过设定具体的属性参数可以转化为一个属性条件,多个属性条件构成属性条件集合CS,CS表示令牌的客体需要满足的条件,用以限定令牌的客体范围,选取部分访问权限的类别可以构成访问权限集合AR,AR用以表示令牌的主体可以对客体执行的操作;
令牌请求接收模块,用于接收申请方发送的第一令牌请求,并取出申请方的属性条件集合CS、访问权限集合AR以及申请方的公钥PK,其中,CS通过以下方式生成,申请方选取部分管理方所定义的属性条件类别(单个类别可以重复选取)并为所选取的每个类别设置具体的属性参数以生成属性条件,生成的所有属性条件构成CS,AR由申请方选取部分管理方所定义的访问权限类别而生成,令牌请求包括申请方制作的属性条件集合CS、访问权限集合AR以及申请方的公钥PK;
授权模块,用于利用取出的申请方的公钥PK对申请方进行身份认证,并对取出的属性条件集合CS、访问权限集合AR进行评估,当评估通过后,管理方生成发布令牌的序列号,并基于申请方给出的属性条件集合CS、访问权限集合AR以及申请方的公钥PK来生成申请方的令牌,并发送至申请方,完成授权,申请方作为访问控制的主体,在访问客体时将对应的令牌发送至客体并向客体声明访问动作;
验证模块,用于客体根据自身所具有的属性、令牌记录的访问权限集合AR以及公钥PK分别对令牌的属性条件集合CS、主体声明的访问动作和主体的身份进行验证,若验证通过则允许访问。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010474459.0A CN111669386B (zh) | 2020-05-29 | 2020-05-29 | 一种基于令牌且支持客体属性的访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010474459.0A CN111669386B (zh) | 2020-05-29 | 2020-05-29 | 一种基于令牌且支持客体属性的访问控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111669386A true CN111669386A (zh) | 2020-09-15 |
CN111669386B CN111669386B (zh) | 2021-06-04 |
Family
ID=72385151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010474459.0A Active CN111669386B (zh) | 2020-05-29 | 2020-05-29 | 一种基于令牌且支持客体属性的访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111669386B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580001A (zh) * | 2020-12-14 | 2021-03-30 | 北京理工大学 | 一种基于分布式互通系统数据库的访问控制系统及方法 |
CN113269931A (zh) * | 2021-06-03 | 2021-08-17 | 广州大学 | 一种基于权能的共享汽车访问方法和装置 |
CN113329003A (zh) * | 2021-05-24 | 2021-08-31 | 广州大学 | 一种物联网的访问控制方法、用户设备以及系统 |
CN113612724A (zh) * | 2021-06-10 | 2021-11-05 | 广州大学 | 一种基于权能的物联网访问控制方法及装置 |
CN113746640A (zh) * | 2021-09-26 | 2021-12-03 | 网易(杭州)网络有限公司 | 数字凭证使用方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019680A1 (en) * | 2013-07-15 | 2015-01-15 | Red Hat, Inc. | Systems and Methods for Consistent Hashing Using Multiple Hash Rlngs |
CN105308608A (zh) * | 2013-03-15 | 2016-02-03 | 思飞信智能电网公司 | 用于设备操作的安全端到端许可系统 |
CN106650423A (zh) * | 2016-11-28 | 2017-05-10 | 北京奇虎科技有限公司 | 一种目标样本文件的检测方法和装置 |
CN107306247A (zh) * | 2016-04-18 | 2017-10-31 | 电信科学技术研究院 | 资源访问控制方法及装置 |
CN107864139A (zh) * | 2017-11-09 | 2018-03-30 | 北京科技大学 | 一种基于动态规则的密码学属性基访问控制方法与系统 |
CN108989357A (zh) * | 2018-09-12 | 2018-12-11 | 中国人民解放军国防科技大学 | 一种基于区块链的用户授权与数据共享访问控制方法 |
CN109996219A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种物联网鉴权方法、网络设备及终端 |
CN110324373A (zh) * | 2018-03-29 | 2019-10-11 | 华为技术有限公司 | 文件分享方法及装置、文件同步系统 |
-
2020
- 2020-05-29 CN CN202010474459.0A patent/CN111669386B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105308608A (zh) * | 2013-03-15 | 2016-02-03 | 思飞信智能电网公司 | 用于设备操作的安全端到端许可系统 |
US20150019680A1 (en) * | 2013-07-15 | 2015-01-15 | Red Hat, Inc. | Systems and Methods for Consistent Hashing Using Multiple Hash Rlngs |
CN107306247A (zh) * | 2016-04-18 | 2017-10-31 | 电信科学技术研究院 | 资源访问控制方法及装置 |
CN106650423A (zh) * | 2016-11-28 | 2017-05-10 | 北京奇虎科技有限公司 | 一种目标样本文件的检测方法和装置 |
CN107864139A (zh) * | 2017-11-09 | 2018-03-30 | 北京科技大学 | 一种基于动态规则的密码学属性基访问控制方法与系统 |
CN109996219A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种物联网鉴权方法、网络设备及终端 |
CN110324373A (zh) * | 2018-03-29 | 2019-10-11 | 华为技术有限公司 | 文件分享方法及装置、文件同步系统 |
CN108989357A (zh) * | 2018-09-12 | 2018-12-11 | 中国人民解放军国防科技大学 | 一种基于区块链的用户授权与数据共享访问控制方法 |
Non-Patent Citations (1)
Title |
---|
谢绒娜等: "基于属性轻量级可重构的访问控制策略", 《通信学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580001A (zh) * | 2020-12-14 | 2021-03-30 | 北京理工大学 | 一种基于分布式互通系统数据库的访问控制系统及方法 |
CN112580001B (zh) * | 2020-12-14 | 2022-09-30 | 北京理工大学 | 一种基于分布式互通系统数据库的访问控制系统及方法 |
CN113329003A (zh) * | 2021-05-24 | 2021-08-31 | 广州大学 | 一种物联网的访问控制方法、用户设备以及系统 |
CN113269931A (zh) * | 2021-06-03 | 2021-08-17 | 广州大学 | 一种基于权能的共享汽车访问方法和装置 |
CN113269931B (zh) * | 2021-06-03 | 2022-01-14 | 广州大学 | 一种基于权能的共享汽车访问方法和装置 |
CN113612724A (zh) * | 2021-06-10 | 2021-11-05 | 广州大学 | 一种基于权能的物联网访问控制方法及装置 |
CN113612724B (zh) * | 2021-06-10 | 2022-01-25 | 广州大学 | 一种基于权能的物联网访问控制方法及装置 |
CN113746640A (zh) * | 2021-09-26 | 2021-12-03 | 网易(杭州)网络有限公司 | 数字凭证使用方法、装置、计算机设备及存储介质 |
CN113746640B (zh) * | 2021-09-26 | 2024-03-01 | 网易(杭州)网络有限公司 | 数字凭证使用方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111669386B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669386B (zh) | 一种基于令牌且支持客体属性的访问控制方法及装置 | |
CA3053313C (en) | Method for superseding log-in of user through pki-based authentication by using smart contact and blockchain database, and server employing same | |
CN108780390B (zh) | 用于提供身份评分的系统和方法 | |
US7085925B2 (en) | Trust ratings in group credentials | |
CN103701801B (zh) | 一种资源访问控制方法 | |
CA3053319C (en) | Method for superseding log-in of user through pki-based authentication by using blockchain database of utxo-based protocol, and server employing same | |
US7313692B2 (en) | Trust management systems and methods | |
Chander et al. | A State-Transition Model of Trust Management and Access Control. | |
CN104683362B (zh) | 一种细粒度隐私安全的访问控制系统及其访问控制方法 | |
Priebe et al. | Supporting attribute-based access control in authentication and authorization infrastructures with ontologies | |
US20060041421A1 (en) | Method and system for processing grammar-based legality expressions | |
Bouras et al. | IoT-CCAC: a blockchain-based consortium capability access control approach for IoT | |
Maesa et al. | Self sovereign and blockchain based access control: Supporting attributes privacy with zero knowledge | |
CN117235692B (zh) | 一种基于Web3的软件供应链风险治理系统、方法和平台 | |
Kagal et al. | A delegation based model for distributed trust | |
CN114978668B (zh) | 一种跨链数据实体身份管理和认证方法及系统 | |
CN116318931A (zh) | 一种基于跨域访问控制的属性映射方法及系统 | |
Gomi | An authentication trust metric for federated identity management systems | |
KR102450412B1 (ko) | 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법 | |
Shieng et al. | Fine-grained access control framework for igor, a unified access solution to the internet of things | |
Grob | The road to 5G: Providing the connectivity fabric for everything | |
CN109818731A (zh) | 一种流式协议强化DSoD策略方法 | |
Zhao et al. | Cross-Domain Data Traceability Mechanism Based on Blockchain. | |
CN109861970A (zh) | 一种基于可信策略的系统 | |
Pham et al. | Commitment issues in delegation process |
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 |