1.一种动态接入访问控制系统,其特征在于,包括服务提供接口、Client Puzzle算力筛选模块、接入访问处理模块和区块链事务模块;
服务提供接口包括接入模式识别合约APRC ()、接入访问监控服务和算力筛选执行合约ASEC ();
接入访问处理模块包括权限撤销合约PREC ()、初次接入访问处理合约FAPC ()和重复接入访问处理合约RAPC ();
算力筛选模块包括算力筛选执行合约ASEC ()、难题生成合约PuzzleGenc ()和解答验证合约PAnswerVC ();
区块链事务模块,所述区块链事务模块将数据以区块链事务的形式存储在区块链中,所述数据包括接入识别过滤器AIF数据、接入限制过滤器ARF数据、访问属性和访问策略数据;
其中,合约APRC ()为向接入访问主体AS提供接入访问控制服务的功能智能合约,是接入访问处理模块的服务提供接口;
接入访问监控服务为监控接入访问主体AS成功接入访问客体AO后的操作行为,并根据AS的操作行为以及属性变化情况动态地对AS的接入访问权限进行管理;
算力筛选执行合约ASEC ()为向AS提供算力筛选服务的功能智能合约,是算力筛选模块的服务提供接口;
合约PREC ()为向权限管理员PA提供接入访问权限管理服务的功能智能合约;
合约FAPC ()为向初次发起请求来接入访问AO的AS提供访问控制事务的智能合约;
合约RAPC ()为向重复发起请求来接入访问AO的AS提供访问控制事务的智能合约;
ASEC ()为AS与区块链网络进行交互的接口,为初次接入AO的AS提供算力筛选服务,进而使AS通过该服务所获取的算力筛选结果来拥有发起初次接入访问请求的资格;
PuzzleGenc ()为提供难题生成服务的功能智能合约,根据ASEC ()所输入的参数IPAS和MACAS来生成唯一标识AS的难题PuzzleAO,其中,AS的IP地址为IPAS、MAC地址为MACAS;
PAnswerVC ()为校验ASEC ()所输入的AS解答难题时所得出的解答答案PuzzleAS的时效性和完整性,然后再将校验结果响应至AS。
2.根据权利要求1所述的一种动态接入访问控制系统,其特征在于,算力筛选模块包含基于Client Puzzle的算力筛选算法AAFS‑CP;
所述AAFS‑CP由六元组ACPSetup (), APuzzleGen (),APuzzleSolve (),APAnswerV (), , 组成,并设置有约束条件,其中 为单向散列函数, 为签名验证函数,ACPSetup()为 AAFS‑CP 的初始化方法,APuzzleGen ()为AAFS‑CP的难题生成方法,APuzzleSolve ()为 AAFS‑CP 的难题解答方法,APAnswerV ()为 AAFS‑CP 的解答答案验证方法;
约束条件如下:
AAFS‑CP的有效算力测试答案是AS在目标时间内解答出的;
AAFS‑CP在构造和验证难题时设置有目标时间及目标算力代价;
预设有难度阈值,超过难度阈值的题通过AS解答;
AAFS‑CP可以调节生成难题的难度;
AS无法预先解答出难题的答案;
AAFS‑CP不存储难题的相关信息即可验证AS所解答难题的答案;
AAFS‑CP所生成的一道难题对应唯一标识一个AS。
3.根据权利要求1所述的一种动态接入访问控制系统,其特征在于,接入识别过滤器AIF由一个指纹提取算法fex ()、一个哈希函数hash ()和n个桶组成,其中每个桶有m个插入槽位;
AIF的每个插入槽位的单位存储内容结构为由MAC地址指纹MACF、接入识别Token指纹TokenF以及接入准入时间EPT所构成的多内容指纹标签—接入识别指纹标签AIFT;
其中,MACF为AS的MAC地址通过指纹提取算法fex ()运算得出;
TokenF为AS的合法接入识别AIT指纹提取算法fex()运算得出;
EPT为TokenF生成的时间,且该时间则为判定AIT是否过期失效的唯一依据;
其中AIT由AS的IP地址IPAS、MAC地址MACAS、接入码ACCAS、接入访问主体类型AOTAS和接入校验码APCAS组成;
其中,IPAS和MACAS为AS在初次接入AO时,给AO所提供的主体信息;
ACCAS为AO人工审核AS的情况通过后授予AS的接入访问通行码,即AS只能凭该接入码才能发起重复接入访问;
AOTAS为区分AS类型的标识码;
APCAS为AIT的校验码,用于校验AIT的有效性。
4.根据权利要求1所述的一种动态接入访问控制系统,其特征在于,接入限制过滤器ARF由一个指纹提取算法fex ()、一个哈希函数hash ()和n个桶组成,其中每个桶有m个插入槽位;
ARF中的每个插入槽位的单位存储内容结构为由MAC地址指纹MACF和限制接入批准时间LAAT所构成的多内容指纹标签—限制接入指纹标签ARFT;
其中,MACF为AS的MAC地址通过指纹提取算法fex ()运算所得出的;
LAAT表示AO判定MAC地址为MACAS的AS自此无法再次申请接入AO 时的系统时间。
5.一种动态接入访问控制方法,其特征在于,当INCPA!=NULL时,接入访问处理模块的运行包括以下步骤,其中,INCPA为针对权限管理员的接入控制操作代码,INCPA!=NULL为操作代码INCPA不为空:S1.当接入模式识别合约APRC ()所输入的参数为INCPA,AITAS,MACAS时,若INCPA=0,则跳转至S2,其中,INCPA为针对权限管理员的接入控制操作代码、AITAS为访问主体的访问标识令牌、MACAS为访问主体的MAC物理地址;
若INCPA=1,则跳转至S3;
否则,向APRC ()响应执行结果,结束;
S2.调用接入识别指纹标签删除算法AIFT_Del ()并输入参数AITAS和MACAS来执行删除AS在AIF中所对应的ATFTAS的操作即访问主体的接入识别指纹标签的操作,当AIFT_Del即AITAS,MACAS执行完毕后,向APRC ()响应执行结果,结束,AIFT_Del为接入识别指纹标签删除算法;
S3.调用限制接入指纹标签增添算法ARFT_Add ()并输入参数MACAS来执行向ARF中添加与被限制接入AO的AS的接入信息相对应的ARFTAS的操作;
当ARFT_Add ()执行完毕后,调用AIFT_Del ()并输入参数AITAS和MACAS来执行删除AS在AIF中所对应的ATFTAS的操作;最后,当AIFT_Del ()执行完毕后,向APRC ()响应执行结果,结束。
6.根据权利要求5所述的一种动态接入访问控制方法,其特征在于,当INCPA==NULL时,接入访问处理模块的运行包括以下步骤,其中,INCPA==NULL即操作代码INCPA为空:步骤1.待接入访问处理模块接收请求发起对象向系统发起包含参数NARAS、INCPA、IPAS、MACAS、ACCAS、REIAS和CheckResultPuzzle的请求,NARAS为访问主体的原始访问请求、INCPA为权限管理员的接入控制操作、REIAS为访问主体、CheckResultPuzzle为表示校验难题的结果;
步骤2.根据参数MACAS向ARF请求判断请求发起对象AS是否为限制接入AO的对象:如果ARF响应结果显示AS为限制接入AO对象,则拒绝AS本次的接入访问请求,结束;否则,跳转至步骤3;
步骤3.根据参数MACAS向AIF请求判断AS是否具备发起重复接入访问请求的资格:如果AIF响应结果显示AS具备发起重复接入访问请求的资格,则跳转至步骤4;否则,跳转至步骤
10;
步骤4.判断参数ACCAS是否为NULL:如果ACCAS==NULL,则拒绝AS本次的接入访问请求,结束;否则,跳转至步骤5;
步骤5.接入访问处理模块向AIF请求AS的AIFTAS,待AIF向接入访问处理模块响应后AIFTAS,校验AIFTAS的时效性:如果AIFTAS通过时效性检验,则跳转至步骤6;否则,跳转至步骤10;
步骤6.根据参数PrKAO、IPAS、MACAS、ACCAS和REIAS.AOTAS校验AIFTAS的完整性,其中,PrKAO为接入访问客体AO的私钥,PrK是Private Key私钥的简写,AO是Access Object接入访问客体的简写、AS的IP地址IPAS、MAC地址MACAS、接入码ACCAS、接入访问主体类型AOTAS、REIAS为AS 除 IPAS和 MACAS之外的主体信息,其中REIAS.AOTAS即指代区分 AS 类型的标识码AOTAS,如果AIFTAS通过了完整性检验,则跳转至步骤7;
否则,拒绝AS本次的接入访问请求,结束;
步骤7.根据参数NARAS评估并决策AS本次能否被授予接入访问权限:如果NARAS通过了授权评估决策,则跳转至步骤8;
否则,拒绝AS本次的接入访问请求,结束;
步骤8.当AS发起的接入访问请求为初次接入访问请求时,跳转至步骤9;当AS发起的接入访问请求为重复接入访问请求,且AIFTAS通过了时效性检验时,授予AS接入访问权限,结束;否则,授予AS接入访问权限,同时向AIF请求更新AIFTAS的EPT以保持其的时效性,结束;
步骤9.接入访问处理模块向PA发起审核AS接入访问信息的请求,待PA响应审核结果ACCAS后,判断ACCAS是否为false:如果ACCAS==false,则说明AS的接入访问信息未通过审核,此时拒绝AS本次的接入访问请求,结束;否则,授予AS接入访问权限并向AS响应ACCAS,同时向AIF请求添加AS的接入访问信息,进而保证其后续具备发起重复接入访问请求的资格,结束;
步骤10.判断AS是否在发起接入访问请求时提交了参数CheckResultPuzzle:如果AS未提交参数CheckResultPuzzle,则拒绝AS本次的接入访问请求,结束;否则,跳转至步骤11;
步骤11.校验CheckResultPuzzle是否满足完整性:如果CheckResultPuzzle未通过完整性检验,则拒绝AS本次的接入访问请求,同时向AIF请求删除AIFTAS,结束;否则,当AS发起的接入访问请求为初次接入访问请求时,跳转至步骤7;而当AS发起的接入访问请求为重复接入访问请求时,跳转至步骤6。
7.根据权利要求6所述的一种动态接入访问控制方法,其特征在于,接入访问处理模块在处理AS的接入访问请求时,满足下述条件:对于初次接入但未接入AO的AS,这类对象在申请接入访问后,不仅需要满足AO的接入条件,而且需要在通过初步获得接入访问权限后,通过AO的管理员的人工审核才能正式被授权并接入AO中;
对于已接入AO的AS,这类对象在重复接入AO时,首先需要核验其是否是前期已通过审核并被授权接入的AS,且该AS非长时间未接入的过期AS,然后在此基础之上决策其是否满足接入控制决策;
被AO拉入禁止接入访问名单的AS无法申请新的接入访问权限。