一种基于用户终端认证的授权系统及方法与流程

文档序号:20780284发布日期:2020-05-19 21:10阅读:150来源:国知局
一种基于用户终端认证的授权系统及方法与流程

本发明涉及控制技术领域,特别是涉及一种基于用户终端认证的授权系统及方法。



背景技术:

随着物联网的发展和共享模式的产生,使得存储在同一环境中的各个资源通过物联网对多个用户进行资源共享,在共享模式下,企业或者用户可以为其他用户提供多元和个性化的业务,示例性的,共享汽车、共享单车、共享充电宝。

共享模式中,用户需要共享某个资源,就必须得到授权。现有技术基于rbac(role-basedaccesscontrol,角色的权限访问控制)模型提出了授权系统,该授权系统包括:资源管理器和资源控制器。使用该系统对资源进行授权的过程如下:

用户终端需要先向资源管理器发送认证请求,该认证请求包括:账号和账号对应的密码,资源管理器对该用户终端进行认证,具体为:给该用户终端的账号配置对应的权限,并将认证结果进行存储,该权限可以是对账号对应的密码进行修改,对资源控制器上的哪些资源可以获取,例如,用户注册过程。资源管理器会实时的从资源控制器获取各个资源的状态,资源的状态为可用或者不可用,当用户终端向资源管理器发送资源请求时,该资源请求会携带账号和密码,资源管理器在验证该账号和密码是否与存储的认证结果相同的同时,会查看该资源是否可用,如果账号和密码是否与存储的认证结果相同且资源可用,则向资源控制器请求该资源,资源控制器将该资源转发给资源管理器后,资源管理器下发给用户终端,示例性的,如共享单车开锁过程。

当账号的环境条件发生改变时,例如,账号的登陆地、账号登录的ip地址,账号与资源的距离,账号访问资源的时间,需要开发人员验证该账号是否被盗,当账号没有被盗的情况下,开发人员人为在后台去修改该账号对应的权限,才能使得使用该账号的用户终端能够获取资源,该种授权无法根据环境的变化而进行动态的授权。



技术实现要素:

本发明实施例的目的在于提供一种基于用户终端认证的授权系统及方法,以实现对用户终端进行动态授权。具体技术方案如下:

第一方面,本发明实施例提供了一种基于用户终端认证的授权系统,该系统包括:资源管理器以及资源控制器,

资源管理器,用于接收用户终端发送的认证请求,认证请求中携带有待请求资源的请求使用时间段,并从资源控制器获取资源控制器中所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段,当存储资源的可操作时间段中存在包含请求使用时间段时,确定与用户终端对应的认证凭证,将用户终端对应的认证凭证发送给资源控制器;认证请求包括:用户终端的信息,认证凭证包括:认证列表、用户终端的信息、认证凭证确定时间以及认证凭证到期时间,认证列表中记录有待请求资源的请求使用时间段,用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件;

资源控制器,用于接收用户终端对应的认证凭证,并将用户终端对应的认证凭证进行数字签名,获得用户终端的认证信息,并将用户终端的认证信息转发给资源管理器,认证信息包括:用户终端对应的数字签名以及签名内容,签名内容包括:认证凭证以及数字签名使用的算法;

资源管理器还用于,接收转发的用户终端的认证信息,并将认证信息发送给对应的用户终端,当接收到用户终端发送的授权请求时,判断第一信息与第二信息是否相同,当第一信息与第二信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,将授权请求转发给资源控制器,授权请求携带有用户终端的信息以及认证信息,第一信息为授权请求中携带的认证信息中的认证凭证中的用户终端的信息,第二信息为授权请求中携带的用户终端的信息;

资源控制器还用于,接收授权请求,将授权请求中携带的认证信息中的认证凭证,按照认证信息的签名内容中的数字签名使用的算法进行数字签名,获得待定数字签名,当待定数字签名与授权请求中携带的认证信息中的数字签名相同,对授权请求进行响应,并将对授权请求进行响应的信息发送给资源管理器;

资源管理器还用于,接收资源控制器对授权请求进行响应的信息,并将该信息转发至用户终端。

可选的,本发明第一方面实施例提供的基于用户终端认证的授权系统还包括:消息队列遥测传输mqtt服务器,mqtt服务器用于转发资源管理器与资源控制器之间的交互信息,交互信息包括:用户终端对应的认证凭证、用户终端的认证信息,资源控制器对授权请求进行响应的信息。

可选的,资源管理器,具体用于:

接收用户终端发送的认证请求,并从资源控制器中获取资源控制器中所存储资源在当前时间后预设时段内的状态信息;

针对当前认证请求,基于所存储资源在当前时间后预设时段内的状态信息,确定所存储资源当前时间后预设时段内的可操作时间段,当存储资源的可操作时间段中存在包含当前请求使用时间段时,将待请求资源的请求使用时间段、用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件,加入预设的列表中,获得认证列表,当前认证请求中携带有当前待请求资源的当前请求使用时间段;

将认证列表,以及当前认证请求中携带的用户终端的信息,确定为与用户终端对应的认证凭证;

将用户终端对应的认证凭证发送给资源控制器。

可选的,资源控制器,具体用于:

接收资源管理器发送的用户终端对应的认证凭证;

对认证凭证进行数字签名,获得用户终端的认证信息,使得认证信息的第一字段包括对认证凭证进行数字签名所使用的算法以及该认证信息的类型,认证信息的第二字段包含认证凭证所包含的信息,认证信息的第三字段包括:用户终端对应的数字签名;

将用户终端的认证信息转发给资源管理器。

可选的,资源管理器,具体用于:

将第一信息的哈希值与第二信息的哈希值进行比较,判断第一信息与第一信息是否相同。

第二方面,本发明实施例提供了一种基于用户终端认证的授权方法,应用于本发明第一方面实施例提供的基于用户终端认证的授权系统,该方法包括:

资源管理器接收用户终端发送的认证请求,并从资源控制器获取资源控制器中所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段,当存储资源的可操作时间段中存在包含请求使用时间段时,确定与用户终端对应的认证凭证,将用户终端对应的认证凭证发送给资源控制器;认证请求中携带有待请求资源的请求使用时间段,认证请求包括:用户终端的信息以及请求信息,认证凭证包括:认证列表、用户终端的信息、认证凭证确定时间以及认证凭证到期时间,认证列表中记录有用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件;

资源控制器接收用户终端对应的认证凭证,并将用户终端对应的认证凭证进行数字签名,获得用户终端的认证信息,并将用户终端的认证信息转发给资源管理器,认证信息包括:用户终端对应的数字签名以及签名内容,签名内容包括:认证凭证以及数字签名使用的算法;

资源管理器接收转发的用户终端的认证信息,并将认证信息发送给对应的用户终端,当接收到用户终端发送的授权请求时,判断第一信息与第二信息是否相同,当第一信息与第二信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,将授权请求转发给资源控制器,授权请求携带有用户终端的信息以及认证信息,第一信息为授权请求中携带的认证信息中的认证凭证中的用户终端的信息,第二信息为授权请求中携带的用户终端的信息;

资源控制器接收授权请求,将授权请求中携带的认证信息中的认证凭证,按照认证信息的签名内容中的数字签名使用的算法进行数字签名,获得待定数字签名,当待定数字签名与授权请求中携带的认证信息中的数字签名相同,对授权请求进行响应,并将对授权请求进行响应的信息发送给资源管理器;

资源管理器接收资源控制器对授权请求进行响应的信息,并将该信息转发至用户终端。

可选的,本发明第二方面实施例提供的基于用户终端认证的授权方法应用的基于用户终端认证的授权系统还包括:消息队列遥测传输mqtt服务器,

相应的,本发明第二方面实施例提供的一种基于用户终端认证的授权方法还包括:

mqtt服务器转发资源管理器与资源控制器之间的交互信息,交互信息包括:用户终端对应的认证凭证、用户终端的认证信息,资源控制器对授权请求进行响应的信息。

可选的,本发明第二方面实施例提供的基于用户终端认证的授权方法还包括:

资源管理器接收用户终端发送的认证请求,并从资源控制器中获取资源控制器中所存储资源在当前时间后预设时段内的状态信息;

针对当前认证请求基于所存储资源在当前时间后预设时段内的状态信息,确定所存储资源当前时间后预设时段内的可操作时间段,当存储资源的可操作时间段中存在包含当前请求使用时间段时,将有待请求资源的请求使用时间段,预设的用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件,加入预设的列表中,获得认证列表,当前认证请求中携带有当前待请求资源的当前请求使用时间段;

将认证列表以及当前认证请求中携带的用户终端的信息,确定为与用户终端对应的认证凭证;

将用户终端对应的认证凭证发送给资源控制器。

可选的,本发明第二方面实施例提供的基于用户终端认证的授权方法还包括:

资源控制器接收资源管理器发送的用户终端对应的认证凭证;对认证凭证进行数字签名,获得用户终端的认证信息,使得认证信息的第一字段包括对认证凭证进行数字签名所使用的算法以及该认证信息的类型,认证信息的第二字段包含认证凭证所包含的信息,认证信息的第三字段包括:用户终端对应的数字签名;将用户终端的认证信息转发给资源管理器。

可选的,本发明第二方面实施例提供的基于用户终端认证的授权方法还包括:

资源管理器将第一信息的哈希值与第二信息的哈希值进行比较,判断第一信息与第一信息是否相同。

本发明实施例提供的一种基于用户终端认证的授权系统及方法,该系统中的资源管理器用于接收用户终端发送的认证请求,并从资源控制器获取资源控制器中所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段,当存储资源的可操作时间段中存在包含请求使用时间段时,确定与用户终端对应的认证凭证,将用户终端对应的认证凭证发送给资源控制器,资源控制器,用于接收资源管理器发送的用户终端对应的认证凭证,并将用户终端对应的认证凭证进行数字签名,获得用户终端的认证信息,并将用户终端的认证信息转发给资源管理器。当用户终端需要授权时,向资源管理器发送授权请求,而资源管理器在该用户终端携带的认证凭证的用户终端信息与授权请求的用户终端信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,向资源控制器发送授权请求,资源控制器验证认证凭证的数字签名与生成的待定数字签名相同的情况下,对授权请求进行响应,生成授权请求进行响应的信息,最终由资源管理器发送给用户终端,在此过程中,当用户终端的环境改变时,相比于现有技术,资源管理器会根据改变的环境,确定是否满足认证凭证中资源进行操作满足的环境条件,确定是否向资源控制器转发授权请求,能够实现根据实际条件的变化而转发授权请求,而资源控制器,再次验证待定数字签名与授权请求中携带的认证信息中用户终端对应的数字签名是否相同,无需开发人员人为验证,因此能够实现根据环境条件的变换是否决定授权。

当然,实施本发明的任一产品或方法并不一定需要同时达到以上的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于用户终端认证的授权系统的结构示意图;

图2为本发明实施例提供的包括mqtt服务器的基于用户终端认证的授权系统的结构示意图;

图3为本发明实施例提供的基于用户终端认证的授权系统的一种信令的交互图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,本发明实施例提供的一种基于用户终端认证的授权系统,该系统可以包括:资源管理器11以及资源控制器12,

资源管理器11,用于接收用户终端发送的认证请求,认证请求中携带有待请求资源的请求使用时间段,并从资源控制器获取资源控制器中所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段,当所存储资源的可操作时间段中存在包含请求使用时间段时,确定与用户终端对应的认证凭证,将用户终端对应的认证凭证发送给资源控制器。

其中,认证请求包括:用户终端的信息,认证凭证包括:认证列表、用户终端的信息、认证凭证确定时间以及认证凭证到期时间,认证列表中记录有用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件。

其中,资源管理器可以接收一个用户终端的认证请求,也可以接收多个用户终端的认证请求。

可以理解,在共享单车场景中,待请求资源可以是一个共享单车,资源控制器所存储资源是指资源控制器控制的共享单车。在停车场场景中,待请求资源可以是一个停车位,资源控制器所存储资源是指资源控制器控制的停车位,在共享充电宝场景中,待请求资源可以是一个充电宝,资源控制器所存储资源是指一个商场中,充电宝设备上存储的充电宝。

可以理解,用户终端的信息可以是用户注册id(identity,身份),用户终端的设备id,或者ip(internetprotocol,互联网协议)地址,认证凭证确定时间是指资源管理器确定认证凭证时的系统时间,认证凭证到期时间是指认证凭证失效时资源管理器的系统时间。用户终端对所存储资源的可操作权限包括:对所存储资源进行访问,获取的权限。所存储资源的进行操作满足的环境条件包括:用户终端与所存储资源之间的物理距离上限,资源控制器的电量下限。

可以理解,资源控制器上设置有多个网口,资源控制器将每个资源以及每个资源的状态信息存储,资源管理器可以通过一个网口获取资源控制器中存储的一个资源的状态信息,状态信息用于反映资源是在当前时间后的预设时段内是处于空闲状态还是忙碌状态,以及资源处于空闲状态的时间段,当用户终端需要获取待请求资源时,需要向资源管理器发送携带有待请求资源的请求使用时间段的认证请求,该请求使用时间段是由用户根据自身需求在用户终端上通过输入或者选择起始时间和结束时间得到的。资源管理器通过对比所存储资源的可操作时间段中存在包含请求使用时间段,就可以确定与用户终端对应的认证凭证,该认证凭证表示用户终端受到了资源管理器的认可,可以向资源管理器发送授权请求。

示例性的,在停车场场景中用户终端发送的认证请求具体为:预约在5:00-7:00时段停车2个小时,则待请求资源是一个停车位,则停车位的请求使用时间段为在5:00-7:00,假设停车场有3个停车位,分别为a,b以及c;a停车位在4:00-6:00已经被预约,b停车位在5:00-7:00时段处于空闲状态,则资源管理器从停车场的资源控制器的3个网口获取a,b以及c三个停车位的状态信息后,当停车位b处于空闲的时段,即为可操作时间段,包含认证请求携带的待请求资源的请求使用时间段时,则确定认证凭证。

可以理解,资源管理器通过从认证请求中确定携带有待请求资源的请求使用时间段,并从资源控制器获取资源控制器中所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段的方式,可以保证在确定认证凭证时,用户的认证请求能够得到满足。相比于资源无法提供时,发送给用户终端认证凭证的方式,本实施方式进一步为根据资源的状态信息实现动态授权作出铺垫。

资源控制器12,用于接收用户终端对应的认证凭证,并将用户终端对应的认证凭证进行数字签名,获得用户终端的认证信息,并将用户终端的认证信息转发给资源管理器。

其中,认证信息包括:用户终端对应的数字签名以及签名内容,签名内容包括:认证凭证以及数字签名使用的算法。

可以理解,对认证凭证进行数字签名需要确定数字签名格式,数字签名格式的头部信息为:对认证凭证进行数字签名所使用的算法,认证凭证的类型;数字签名格式的中部信息为认证凭证,数字签名的格式的尾部信息为数字签名,然后对认证凭证进行数字签名的过程中利用编码后的头部信息以及中部信息,使用一个秘钥并且使用头部信息对认证凭证进行数字签名,得到用户终端对应的数字签名,以及签名内容,对认证凭证进行数字签名,保证认证凭证无法被篡改,进一步提高对用户终端进行授权的安全性。

资源管理器11还用于,接收转发的用户终端的认证信息,并将认证信息发送给对应的用户终端,当接收到用户终端发送的授权请求时,判断第一信息与第二信息是否相同,当第一信息与第二信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,将授权请求转发给资源控制器。

其中,授权请求携带有用户终端的信息以及认证信息,第一信息为授权请求中携带的认证信息中的认证凭证中的用户终端的信息,第二信息为授权请求中携带的用户终端的信息。用户终端的环境参数包括:用户终端与待请求资源的物理距离,请求使用时间段包括开始时间和结束时间,请求使用时间段未过期是指请求使用时间段中的结束时间在当前时间之前,当前时间是指资源管理器的当前系统时间。

可以理解,当资源管理器将认证信息发送给对应的用户终端后,如果用户终端想要待请求资源,则会向资源管理器发送授权请求,该授权请求中携带用户终端的信息,如果用户换了一个新用户终端,即使新的用户终端得到了认证信息,由于新的用户终端的信息与原用户终端的信息不同,而认证信息中的认证凭证中的用户终端的信息是原用户终端的信息,因此通过判断第一信息,即原用户终端的信息,与第二信息,即新用户终端的信息,是否相同,从而获知用户终端是否更换,如果用户终端没有更换的情况下,则需要再次判断用户终端与待请求资源的物理距离是否小于所存储资源的进行操作满足的环境条件中用户终端与所存储资源之间的物理距离上限,且待请求资源的请求使用时间段未过期时,将授权请求转发给资源控制器,以此保证授权的有效性。

示例性的,停车场场景中,当用户终端距离停车位较远,用户终端的物理参数未小于用户终端与所存储资源之间的物理距离上限,则该用户无法停车。假设待请求资源的请求使用时间段为5:00-8:00,而当前时间是9:00,则该待请求资源的请求使用时间段已经过期,则用户无法停车。

资源控制器12还用于,接收授权请求,将授权请求中携带的认证信息中的认证凭证,按照认证信息的签名内容中的数字签名使用的算法进行数字签名,获得待定数字签名,当待定数字签名与授权请求中携带的认证信息中的数字签名相同,对授权请求进行响应,并将对授权请求进行响应的信息发送给资源管理器。

其中,对授权请求进行响应的信息包括:对待请求资源进行操作后的通知消息,执行待请求资源对应的动作后的通知消息。

可以理解,当资源控制器接收到授权请求后,为了保证资源不被非法获取或者非法操作,需要验证认证信息中的签名内容是否被篡改,如果签名内容被篡改,则签名内容会发生变化,但是认证凭证的数字签名不会发生变化,因此资源控制器将认证凭证,按照认证信息的签名内容中的数字签名使用的算法进行数字签名,得到待定数字签名,比较待定数字签名与授权请求中携带的认证信息中的数字签名相同是否相同,就可以获知签名内容是否被篡改,当签名内容没有被篡改的情况下,对授权请求进行响应,并将对授权请求进行响应的信息发送给资源管理器。

示例性的,授权请求可以是在停车场5:00-7:00时间段停车,则资源控制器在用户终端到达停车场后,打开停车场大门就是对该授权请求响应的过程,在资源控制器打开停车场大门后,发送停车场大门已开,请停车的通知消息;或者请停车在某一空闲车位的通知消息。

可以理解,当资源控制器中的电量小于资源控制器的电量下限时,资源控制器将无法继续对认证凭证进行数字签名或者对授权请求进行响应的过程,此时资源控制器会发出报警信息,用于提醒更换供电设备。

资源管理器11还用于,接收资源控制器对授权请求进行响应的信息,并将该信息转发至用户终端。

可以理解,资源管理器在接收到资源控制器对授权请求进行响应的信息后,资源管理器则获知授权请求可以被允许,此时将资源控制器对授权请求进行响应的信息转发给用户终端,通知用户终端已经被授权。

相比于现有技术,本发明实施例提供的一种基于用户终端认证的授权系统中的资源管理器会根据改变的环境,确定是用户终端环境参数是否满足认证凭证中资源进行操作满足的环境条件,以及确定请求使用时间段未过期,决定向资源控制器转发授权请求,因此,因此资源管理器能够根据环境的变化而转发授权请求,而资源控制器,再次验证待定数字签名与授权请求中携带的认证信息中用户终端对应的数字签名是否相同,无需开发人员人为验证。因此发明实施例提供的一种基于用户终端认证的授权系统能够实现根据环境条件的变换是否决定授权。

实施例2

作为本发明实施例提供的一种可选的实施方式,如图2所示,本发明实施例提供的一种基于用户终端认证的授权系统还包括:mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)服务器13,

mqtt服务器13,用于转发资源管理器与资源控制器之间的交互信息,交互信息包括:用户终端对应的认证凭证、用户终端的认证信息,资源控制器对授权请求进行响应的信息。

可以理解,本实施方式通过增加mqtt服务器,用于转发资源管理器与资源控制器之间的交互信息,可以减少交互信息丢失的概率,提高传输交互信息的安全性。

实施例3

在本发明实施例提供的一种可选的实施方式中,资源管理器,还用于接收用户终端发送的认证请求,并从资源控制器中获取资源控制器所存储资源的状态信息,基于所存储资源的状态信息,确定所存储资源的可操作时间段,当所存储资源的可操作时间段中不存在包含请求使用时间段的存储资源时,向用户终端返回所存储资源不可用的消息。

其中,认证请求中携带有待请求资源的请求使用时间段。

可以理解,当资源控制器所存储资源的状态信息都是不可用时,资源管理器需要向用户终端返回一个所存储资源不可用的消息,以便用户终端知晓发送的认证请求中待请求资源不能被操作,资源管理器无法确定认证凭证。

实施例4

作为本发明实施例提供的一种可选的实施方式,图2中的资源管理器11,具体用于:

接收用户终端发送的认证请求,并从资源控制器中获取资源控制器中所存储资源在当前时间后预设时段内的状态信息。

其中,当前时间是指资源管理器接收到认证请求的当前系统时间,预设时段是指预先设置的时间段,预设时段按照时间单位的粒度进行设置。

可以理解,时间单位的粒度要求未超过时间阈值,则认为时间单位的粒度要求较细,设置15或者30分钟为一个预设时段,时间单位的粒度要求超过时间阈值,则时间单位的粒度要求较粗,设置1天,1周或者1个月为一个预设时段,时间阈值是人为设置的数值。

示例性的,时间单位的粒度要求未超过时间阈值,可以设置预设时段为15分钟,可以将预设时段生成一个长度为96bit,值为0的byte数组。

时间单位的粒度要求超过时间阈值,预设时段可以设置为1天,将1天按照15分钟进行划分,然后按照15分钟生成byte数组的方式,生成一个0的byte时间数组,该时间数组长度由1天包含的15分钟的个数确定,时间数组的每一项都是15分钟的时间段。

可以理解,资源管理器从资源控制器的网口获取的所存储资源的状态信息是一个二进制比特数组,即为目标数组,当车主预约车位时,资源管理器根据预约车位时间,在时间数组中确定预约车位时间对应的数组段,然后判断目标数组与数组段进行逻辑与运算的结果是否为0,如果结果为0,表示在数组段对应的时间段内,车位有空闲,车主可以预约车位。

针对当前认证请求,基于所存储资源在当前时间后预设时段内的状态信息,确定所存储资源当前时间后预设时段内的可操作时间段,当存储资源的可操作时间段中存在包含当前请求使用时间段的存储资源时,将有待请求资源的请求使用时间段,预设的用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件,加入预设的列表中,获得认证列表。

其中,当前认证请求中携带有当前待请求资源的当前请求使用时间段。

可以理解,获得的认证列表中记录有当前请求使用时间段,用户终端对所存储资源的可操作权限,用户终端对资源控制器所存储资源的进行操作满足的环境条件,当用户终端发送授权请求时,该认证列表可以作为资源管理器转发授权请求的在先条件。

将认证列表,以及当前认证请求中携带的用户终端的信息确定为与用户终端对应的认证凭证。

将用户终端对应的认证凭证发送给资源控制器。

可以理解,本实施方式通过获取认证列表,将认证列表以及当前认证请求中携带的用户终端的信息确定为认证凭证,通过如此方式可以根据用户终端的发送的认证请求不同,获得认证凭证,提高生成认证凭证的适应性。

实施例5

作为本发明实施例提供的一种可选的实施方式,图2中的资源管理器11,还用于:

当接收到用户终端发送的授权请求时,判断授权请求中携带的认证凭证是否过期,当认证凭证未过期时,判断第一信息与第二信息是否相同,当第一信息与第二信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,将授权请求转发给资源控制器。

其中,当认证凭证的到期时间在资源管理器接收到用户终端发送的授权请求的当前时间前,则认为认证凭证过期。

本实施方式通过判断认证凭证是否过期,在认证凭证未过期时,进一步判断第一信息与第二信息是否相同,可以提高资源管理器转发授权请求的安全性。

实施例6

作为本发明实施例提供的一种可选的实施方式,图2中的资源管理器11,还用于:

当接收到用户终端发送的授权请求时,判断授权请求中携带的认证凭证是否过期,当认证凭证过期时,向用户终端返回资源不可授权的信息。

本发明实施例7

作为本发明实施例提供的一种可选的实施方式,图2中的资源控制器12,具体用于:

接收资源管理器发送的用户终端对应的认证凭证。

对认证凭证进行数字签名,获得用户终端的认证信息,使得认证信息的第一字段包括对认证凭证进行数字签名所使用的算法以及该认证信息的类型,认证信息的第二字段包含认证凭证所包含的信息,认证信息的第三字段包括:用户终端对应的数字签名。

可以理解,本实施方式中对认证凭证进行数字签名可以采用jwt(jsonwebtoken,json网络凭证)技术,jwt由点号"."分隔的头部信息、载荷信息和数字签名三个字段组成。头部信息,通常包括认证凭证的类型,以及认证凭证使用的签名算法,对头部信息进行编码形成jwt的第一字段;载荷信息用于存放认证凭证所包含的信息,对载荷信息进行编码,形成jwt的第二字段;数字签名由头部信息、载荷信息加密形成,用于验证用户终端身份,且数字签名必须使用采用第一字段中的算法进行签名。

将用户终端的认证信息转发给资源管理器。

本实施方式,通过对认证凭证进行数字签名,获得认证信息,认证信息中用户终端对应的数字签名不易被篡改,因此可以提高后续对用户终端进行授权的安全性。

实施例8

作为本发明实施例提供的一种可选的实施方式,图2中的资源管理器,具体用于:将第一信息的哈希值与第二信息的哈希值进行比较,判断第一信息与第一信息是否相同。

可以理解,哈希值具有唯一性,本实施方式通过将第一信息的哈希值与第二信息的哈希值进行比较,可以提高判断第一信息与第二信息是否相同的准确性。

为了验证本发明实施例提供的一种基于用户终端认证的授权系统的实现动态授权的有效性,发明人模拟了包含400个车位设备的停车场,其中200个车位被应用在本发明实施提供的一种基于用户终端认证的授权系统,剩余200个车位被应用在现有技术中的授权系统中,停车场管理员根据目前停车场车位的状态对空闲的车位进行发布,发布的时长可以设置,车主根据自己的需要,对管理员发布的空闲车位进行预约。

由于会存在一个车主预约了1个时长为1个小时的闲置车位,但实际只停了半个小时的情况,此时情况下,该车主预约的剩下的半个小时就被浪费了。

根据现有统计数据,证明一段时间内不同时刻停车场的车流量近似满足泊松分布,因此可以根据哪个泊松分布的参数λ判断具体时段属于高峰时段还是平常时段,λ超过阈值代表时段为高峰时段,反之表示平常时段。

按照泊松分布构建一个时段内(6个小时)的车流量模型,阈值设置为100,λ=50表征具体时段属于平常时段,λ=200表征时段属于高峰时段,并采用了30天的车主的停车信息作为样本,验证本发明实施例提供的一种基于用户终端认证的授权系统相比于现有技术的授权系统,车位具有更高的利用率。

表1λ=200时,车位的利用率

表2λ=50时,车位的利用率

由表1和表2可见,在高峰时段和平常时段,本发明实施例提供的一种基于用户终端认证的授权系统都能有效减少车位的空闲时间,提高车位利用率。

本发明实施例提供的一种基于用户终端认证的授权方法,如图3所示,应用于上述实施例1至8的基于用户终端认证的授权系统,该系统包括:资源管理器以及资源控制器;

该方法可以包括:

s3011,资源管理器接收用户终端发送的认证请求;s3012,从资源控制器获取资源控制器中所存储资源的状态信息;s3013,资源管理器基于所存储资源的状态信息,确定所存储资源的可操作时间段;s3014,当存储资源的可操作时间段中存在包含请求使用时间段时,确定与用户终端对应的认证凭证;s3015,将用户终端对应的认证凭证发送给资源控制器。

其中,认证请求中携带有待请求资源的请求使用时间段,认证请求包括:用户终端的信息,认证凭证包括:认证列表、用户终端的信息、认证凭证确定时间以及认证凭证到期时间,认证列表中记录有用户终端对资源可操作的权限以及对资源进行操作满足的环境条件。

s3021,资源控制器接收用户终端对应的认证凭证;s3022,将用户终端对应的认证凭证进行数字签名,获得用户终端的认证信息;s3023,将用户终端的认证信息转发给资源管理器。

其中,认证信息包括:用户终端对应的数字签名以及签名内容,签名内容包括:认证凭证以及数字签名使用的算法。

s3031,资源管理器接收转发的用户终端的认证信息;s3032,将认证信息发送给对应的用户终端;s3033,当接收到用户终端发送的授权请求时,判断第一信息与第二信息是否相同;s3034,当第一信息与第二信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,将授权请求转发给资源控制器。

授权请求携带有用户终端的信息以及认证信息,第一信息为授权请求中携带的认证信息中的认证凭证中的用户终端的信息,第二信息为授权请求中携带的用户终端的信息。

s3041,资源控制器接收授权请求;s3042,将授权请求中携带的认证信息中的认证凭证,按照认证信息的签名内容中的数字签名使用的算法进行数字签名,获得待定数字签名;s3043,当待定数字签名与授权请求中携带的认证信息中的数字签名相同,对授权请求进行响应,s3044,将对授权请求进行响应的信息发送给资源管理器。

s305,资源管理器接收资源控制器对授权请求进行响应的信息,将该信息转发至用户终端。

可选的,本发明实施例提供的一种基于用户终端认证的授权方法应用的系统还包括:消息队列遥测传输mqtt服务器,该方法还包括:

mqtt服务器转发资源管理器与资源控制器之间的交互信息,交互信息包括:用户终端对应的认证凭证、用户终端的认证信息,资源控制器对授权请求进行响应的信息。

可选的,本发明实施例提供的一种基于用户终端认证的授权方法还包括:

资源管理器,

接收用户终端发送的认证请求,并从资源控制器中获取资源控制器中所存储资源在当前时间后预设时段内的状态信息。

针对当前认证请求,基于所存储资源在当前时间后预设时段内的状态信息,确定所存储资源当前时间后预设时段内的可操作时间段,当存储资源的可操作时间段中存在包含当前请求使用时间段时,将有待请求资源的请求使用时间段,预设的用户终端对所存储资源的可操作权限以及对所存储资源的进行操作满足的环境条件,加入预设的列表中,获得认证列表。

其中,当前认证请求中携带有当前待请求资源的当前请求使用时间段。

将认证列表,以及当前认证请求中携带的用户终端的信息,确定为与用户终端对应的认证凭证。

将用户终端对应的认证凭证发送给资源控制器。

可选的,本发明实施例提供的一种基于用户终端认证的授权方法还包括:

资源控制器,

接收资源管理器发送的用户终端对应的认证凭证。

对用户终端对应的认证凭证,对认证凭证进行数字签名,获得用户终端的认证信息,使得认证信息的第一字段包括对认证凭证进行数字签名所使用的算法以及该认证信息的类型,认证信息的第二字段包含认证凭证所包含的信息,认证信息的第三字段包括:用户终端对应的数字签名。

将用户终端的认证信息转发给资源管理器。

可选的,本发明实施例提供的一种基于用户终端认证的授权方法还包括:

资源管理器,

将第一信息的哈希值与第二信息的哈希值进行比较,判断第一信息与第一信息是否相同。

本发明提供的一种基于用户终端认证的授权方法,资源管理器确定认证凭证,资源控制器对认证凭证进行数字签名,当用户终端需要授权时,向资源管理器发送授权请求,而资源管理器在该用户终端携带的认证凭证的用户终端信息与授权请求的用户终端信息相同,用户终端的环境参数满足认证凭证中对资源进行操作满足的环境条件,且请求使用时间段未过期时,向资源控制器发送授权请求,资源控制器验证认证凭证的数字签名与生成的待定数字签名相同的情况下,对授权请求进行响应,生成授权请求进行响应的信息,最终由资源管理器发送给用户终端,在此过程中,当用户终端的环境改变时,相比于现有技术,资源管理器会根据改变的环境,确定是否满足认证凭证中资源进行操作满足的环境条件,确定是否向资源控制器转发授权请求,能够实现根据实际条件的变化而转发授权请求,而资源控制器,再次验证待定数字签名与授权请求中携带的认证信息中用户终端对应的数字签名是否相同,无需开发人员人为验证,因此能够实现根据环境条件的变换是否决定授权。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1