1.一种基于区块链的跨域细粒度属性访问控制方法,其特征在于,所述方法包括:接收主体节点的加密身份、所述主体节点所在的区域以及所述主体节点的资源请求,所述主体节点的加密身份通过所述主体节点将其身份用对应私钥进行加密得到;
选择一个随机数N发送给所述主体节点;
接收所述主体节点的二次加密身份和所述主体节点的公钥,所述二次加密身份是所述主体节点在接收到随机数N后用私钥进行签名得到;
验证所述二次加密身份中的随机数是否是随机数N;
在所述二次加密身份中的随机数是随机数N的情况下,根据主体节点的公钥解密所述二次加密身份得到所述主体节点的身份,根据所述主体节点的身份和所述主体节点的公钥计算得到所述主体节点对应的地址,然后从区块链中查出所述主体节点的属性值;
根据所述主体节点的区域号查询出区域所对应的主信任节点在区块链上的地址对所述主体节点的综合信任值,并与所述主体节点的属性值以及资源环境属性计算出主体节点的直接信任值,根据基础信任值和所述主体节点的直接信任值计算得到推荐信任值;
根据所述直接信任值和所述推荐信任值更新综合信任值;
在综合信任值达到预设的信任值阈值要求时,通过任务状态属性查看当前资源所执行的任务的状态,并在当前资源所执行的任务的状态满足任务状态要求的情况下同意主体节点的资源请求。
2.根据权利要求1所述的方法,其特征在于,所述根据所述主体节点的属性值计算与所述主体节点的直接信任值,包括:根据主体节点的主体属性和所访问资源环境属性,通过如下公式计算主体节点当前直接信任 :其中, 表示主体节点相关主体属性种类, 表示所访问资源的相关环境属性种类,与 是常数,取值在[0,1]区间范围内,表示主体属性与所访问的资源的相关度, 表示每个主体属性所占的权重, 表示环境属性与所访问的资源的相关度, 表示每个环境属性所占的权重,满足 , , ;
根据时间衰减函数,计算时间衰减权重,所述时间衰减函数表示为 ,其中 是常数,取值在[0,1]区间范围内,表示上一次与主体节点之间交互距离此次交互的时间;
通过如下公式计算历史信任值HV:
其中, 表示上一次的访问控制流程, 表示与主体节点之前交互过的最新的综合信任值;
通过如下公式计算主体节点的直接信任值:
其中, 是常数,取值在[0,1]区间范围内,如果与主体节点是第一次进行交互,则不存在历史信任值,只有当前信任值,令 ,即计算出来的当前信任值就是与主体节点之间的直接信任值。
3.根据权利要求1或2所述的方法,其特征在于,所述根据基础信任值和所述主体节点的直接信任值计算得到推荐信任值,包括:通过如下公式计算区域主信任节点对域中各主体节点的直接信任值:其中, 表示区域号为i的区域主信任节点对于区域的主体节点的直接信任值,直接信任值随着访问次数,访问成功和访问失败的次数进行调节, 表示主体节点进行访问控制的成功的次数, 表示主体节点进行访问控制的失败的次数, 表示主体节点进行访问控制的总的次数;
计算不同区域的主信任节点之间的基础信任值 :
若主体节点访问失败,则减少区域主信任节点i对区域主信任节点j的基础信任值,计算公式如下:其中 取值在[0,1]区间范围内,根据系统来进行设定,默认为 ,为减少因子,取值在[0,1]区间范围内;
若主体节点访问成功,则增加区域主信任节点i对区域主信任节点j的基础信任值,计算公式如下:其中 取值在[0,1]区间范围内,根据系统来进行设定,默认为 , 为增加因子,取值在[0,1]区间范围内;
计算主体节点的推荐信任值 。
4.根据权利要求1所述的方法,其特征在于,根据所述直接信任值和所述推荐信任值计算得到综合信任值,包括:通过如下公式计算综合信任值TV:
其中, 是常数,取值在[0,1]区间范围内, 表示当前正在进行的访问控制流程中所计算出来的直接信任值,RV为推荐信任值。
5.一种基于区块链的跨域细粒度属性访问控制系统,其特征在于,所述系统包括主信任节点、主体节点、客体节点、矿工节点、资源节点和密钥管理中心,所述主信任节点是区块链上的节点,也是每个区域的中心,被配置为分区域管理对应区域中主体节点和客体节点的角色值、属性值和信任值,将区域中主体节点和客体节点的角色值、属性值和信任值广播到区块链中,并存入自己的交易池中,以等待矿工节点取走交易池中的交易发布到区块链上;
所述主体节点是访问控制的发起方,被配置为将其身份用对应私钥进行加密得到对应主体节点的加密身份;向客体节点发送对应主体节点的加密身份、所述主体节点所在的区域后以及所述主体节点的资源请求,在接收到来自客体节点发出的随机数N后用私钥进行签名得到二次加密身份,并将主体节点的二次加密身份和公钥发送至客体节点;
所述客体节点是拥有资源的一方,被配置为接收主体节点的加密身份、所述主体节点所在的区域以及所述主体节点的资源请求;选择一个随机数N发送给所述主体节点;接收所述主体节点的二次加密身份和所述主体节点的公钥;验证所述二次加密身份中的随机数是否是随机数N;在所述二次加密身份中的随机数是随机数N的情况下,根据主体节点的公钥解密所述二次加密身份得到所述主体节点的身份,根据所述主体节点的身份和所述主体节点的公钥计算得到所述主体节点对应的地址,然后从区块链中查出所述主体节点的属性值;根据所述主体节点的区域号查询出区域所对应的主信任节点在区块链上的地址对所述主体节点的综合信任值,并与所述主体节点的属性值以及资源环境属性计算出主体节点的直接信任值,根据基础信任值和所述主体节点的直接信任值计算得到推荐信任值;根据所述直接信任值和所述推荐信任值更新综合信任值;在综合信任值达到预设的信任值阈值要求时,通过任务状态属性查看当前资源所执行的任务的状态,并在当前资源所执行的任务的状态满足任务状态要求的情况下同意主体节点的资源请求;
所述资源节点配置为存储所述客体节点拥有的资源;
所述矿工节点被配置为将各区域的主信任节点的交易池中的交易取走并发布到区块链上;
所述密钥管理中心配置为负责每一个区域中的主信任节点、主体节点、客体节点、矿工节点的密钥初始化工作,创建和生成密钥。
6.根据权利要求5所述的系统,其特征在于,通过如下方法获得所述主体节点的主体属性:主体节点提出主体属性注册请求:每个主体节点向所属区域主信任节点提出主体节点属性注册请求;
主信任节点生成主体属性表:每个区域主信任节点根据每个主体节点申请信息,首先验证区域内主体的资格,如果主体节点有资格,则会根据主体申请信息生成主体属性表, 表示区域内身份ID为 的主体节点的主体属性表,其中 表示该主体节点具有第k种主体属性, 表示系统总共有 种不同主体属性,所属区域主信任节点会将区域内每个主体所对应的属性值在自己本地存放一份;
主信任节点生成一个主体节点的主体属性交易:区域主信任节点TMD生成主体节点的主体属性交易形式如下式所示: ,该交易表示地址为的主体拥有了主体属性 。
7.根据权利要求5所述的系统,其特征在于,通过如下方法获得客体节点资源:拥有资源的客体节点向所属区域主信任节点提出资源请求;
主信任节点生成资源列表:区域主信任节点根据所属区域客体节点申请信息,验证区域内客体资源,如果客体节点有相应资源,生成相应资源列表 ,表示区域内身份ID为 的主体节点的资源列表,其中 表示该节点拥有第k种资源,表示系统总共有 种不同资源,然后主信任节点会将区域中每个客体资源列表在自己本地存放一份;
区域主信任节点生成一个资源列表交易:区域主信任节点生成交易形式如下式所示:, 表示地址为 的节点拥有了资源 ;
主信任节点对应将交易打包,放入交易池;
资源环境属性初始化:拥有资源的客体节点首先根据自身资源生成资源的环境属性列表 , 表示区域内身份ID为 的节点的资源环境属性表, 表示环境属性的种类, 表示具备第k种环境属性,资源环境属性存放在该节点本地。
8.根据权利要求5所述的系统,其特征在于,所述客体节点被进一步配置为:根据主体节点的主体属性和所访问资源环境属性,通过如下公式计算主体节点当前直接信任 :其中, 表示主体节点相关主体属性种类, 表示所资源的访问相关环境属性种类,与 是常数,取值在[0,1]区间范围内, 表示主体属性与所访问的资源的相关度, 表示每个主体属性所占的权重, 表示环境属性与所访问的资源的相关度, 表示每个环境属性所占的权重,满足 , , ;
根据时间衰减函数,计算时间衰减权重,所述时间衰减函数表示为 ,其中 是常数,取值在[0,1]区间范围内, 表示上一次与主体节点之间交互距离此次交互的时间;
通过如下公式计算历史信任值HV:
其中, 表示上一次的访问控制流程, 表示与主体节点之前交互过的最新的综合信任值;
通过如下公式计算主体节点的直接信任值:
其中, 是常数,取值在[0,1]区间范围内,如果与主体节点是第一次进行交互,则不存在历史信任值,只有当前信任值,令 ,即计算出来的当前信任值就是与主体节点之间的直接信任值。
9.根据权利要求5所述的系统,其特征在于,所述客体节点被进一步配置为:通过如下公式计算区域主信任节点对域中各主体节点的直接信任值:其中, 表示区域号为i的区域主信任节点对于区域的主体节点的直接信任值,直接信任值随着访问次数,访问成功和访问失败的次数进行调节, 表示主体节点进行访问控制的成功的次数, 表示主体节点进行访问控制的失败的次数, 表示主体节点进行访问控制的总的次数;
计算不同区域的主信任节点之间的基础信任值 :
若主体节点访问失败,则减少区域主信任节点i对区域主信任节点j的基础信任值,计算公式如下:其中 取值在[0,1]区间范围内,根据系统来进行设定,默认为 , 为减少因子,取值在[0,1]区间范围内;
若主体节点访问成功,则增加区域主信任节点i对区域主信任节点j的基础信任值,计算公式如下:其中 取值在[0,1]区间范围内,根据系统来进行设定,默认为 , 为增加因子,取值在[0,1]区间范围内;
计算主体节点的推荐信任值 。
10.根据权利要求5所述的系统,其特征在于,所述客体节点被进一步配置为:通过如下公式计算综合信任值TV:其中, 是常数,取值在[0,1]区间范围内, 表示当前正在进行的访问控制流程中所计算出来的直接信任值,RV为推荐信任值。