一种适用于直连通信环境下智能设备的权限访问控制方法与流程

文档序号:17587450发布日期:2019-05-03 21:27阅读:276来源:国知局
一种适用于直连通信环境下智能设备的权限访问控制方法与流程

本发明设计属于移动互联网与智能设备领域,其具体涉及移动互联网环境下对智能设备的权限访问控制,提供一种适用于直连通信环境下智能设备的权限访问控制方法。



背景技术:

随着移动互联网和物联网的快速普及,“万物互联”已经成为全球共识的趋势,大量的智能设备被部署在应用环境的各个位置,执行着系统分配的功能。然而尽管功能迥异,这些设备均有个共同点,即不是孤立的,它们必将通过某种方式与外界取得连接,目前有两种主要的连接方案,一种是智能设备中自带wifi或者通信模块,通过有线或者无线网络与服务器进行连接;另一种是智能设备本身不联网,当用户来访问时,通过某种协议与用户手中的控制器直连,这种控制器可以是智能手机也可以是专用设备,但它们都有共同的特点,即同时拥有与设备建立直连信道的能力以及通过互联网访问服务器的能力。智能设备通过蓝牙/nfc/wifi等短距离通信协议,与控制器建立直连,控制器通过直连信道对设备进行访问。例如,在很多场景下,智能门锁这样的弱电设备为了节省电量和保证安全,无法采用第一种连接方案。当用户到达门前时,使用智能手机通过蓝牙连接发送开门请求到锁上来完成开门。

在这种方案下,对智能设备的访问权限控制是一个关键的问题。服务器无法连接到设备进行实时控制,意味着不可能将访问权限控制放在服务器端,通过服务器来控制智能设备。而将权限访问控制完全放在智能设备中困难重重,首先,智能设备的计算和存储能力相比计算机而言很小,太复杂的权限控制无法实现,而现在的物联网应用不仅规模巨大而且是不断迭代的,要在智能设备端实现完整的权限控制并且根据需求不断升级难以实现;其次,智能设备的访问权限一旦给出就无法收回,收到访问权限的控制器只要断开网络或通过某种非法手段将访问权限缓存在本地,智能设备无法在接受到访问请求时分辨这个权限是否已经过期;最后,因为智能设备的计算能力有限,将数据验证完全放在智能设备中有较严重的安全隐患。

以智能门锁应用为例,因为智能门锁没有连接到服务器,因而智能手机无法通过向服务器发送请求命令门锁打开,只能通过蓝牙/nfc向门锁发送开门请求,然而如果采用传统的加密/解密算法来进行验证,首先因为加密流程实现在手机端,黑客可以通过反编译等手段对控制软件进行破解来掌握门锁的权限;其次,如果一个手机被分配了开锁权限,用户只要让手机离线,或是采用其它手段将此权限复制下来,就可以始终使用此权限来命令门锁开启,而门锁因为无法和服务器通信,是不能判断出此时手机发来的权限是否已经过期的。



技术实现要素:

本发明目的在于提供一种适用于直连通信环境下智能设备的权限访问控制方法。将本方法实现到基于控制器、服务器和智能设备三者的物联应用环境中,即可实现可靠、安全且便于扩展迭代的智能设备访问权限控制。其中控制器可以是智能手机,也可以是专用控制设备,控制器拥有同时与设备建立直连信道的软硬件能力,以及与服务器建立互联网连接的软硬件能力。

为了达到上述目标,本发明通过以下技术方案进行实现:

一种适用于直连通信环境下智能设备的权限访问控制方法,该方法利用智能手机等控制器作为桥接智能设备,每个智能设备与服务器之间维护一组公钥/私钥对,每次开始权限验证时,智能设备将随机生成的权限访问令牌通过直连通信通道发给手机,控制器将令牌传给服务器换取访权限问凭证,再将凭证发还给智能设备,智能设备利用公钥解密凭证来验证用户访问权限。

在本方法中,每个智能设备与服务器之间维护一组rsa公钥/私钥对,在智能设备中,可访问的权限对应着一组公钥对。每次开始权限验证时,智能设备将随机生成的令牌通过直连通信通道发给手机,当访问凭证从手机返回时,智能设备逐次用公钥将凭证进行解密,当某条公钥解密成功时,即意味着用户拥有该公钥对应的访问权限。因为智能设备的权限往往是由相应硬件模块的访问权限所决定,因此这组公钥的数目是有限的,无论是存储还是计算的成本都不会太高。

每次开始权限验证时,权限访问令牌是在智能设备端随机生成的。用户无法通过缓存服务器生成的权限访问凭证来获取智能设备后续的访问权限。

控制器在接收到权限访问令牌后,将之发送给服务器,服务器根据用户本次访问拥有的权限,使用相应的私钥将令牌加密,即生成对应的权限访问凭证发还给控制器。由于私钥加密的整个过程是发生在服务器端的,因此用户无法在外部破解,拥有理论上绝对的安全性。同时,如果应用的权限体系复杂多变,在服务器也更容易对权限体系进行维护和升级。

服务器的一组私钥和智能设备端的公钥组成一组rsa密钥对,由于rsa算法的特性,即使公钥被泄露,用户也无法伪造权限访问凭证。只需要保证服务器不被攻破,整个权限验证体系就绝对安全。

在应用本方法的系统中,每台智能设备可拥有不同的密钥对,这样即使某台设备的私钥因为某种原因泄露,也不影响其它设备的权限正常分配。

本发明有益效果如下:

本发明解决了在直连通信环境下,如何对智能设备实现安全、可靠且易扩展的权限访问控制。本发明仅要求使用控制器通过直连通道访问智能设备时,可以通过互联网连到服务器进行权限验证计算,在移动网络越来越发达的现代社会很容易满足。本发明可应用于广泛的智能设备上,具有较高的实用价值和经济意义。

附图说明

图1是方法应用环境示意图。

图2是方法的数据和信息流图。

图3是方法的流程图。

具体实施方式

图1给出本方法的应用环境示意图。系统中的智能设备本身并不与服务器通过互联网连接,在平时设备处于离线状态。当用户在智能设备旁边要与设备进行交互时,使用控制器通过直连信道(蓝牙/nfc/wifi等)与设备建立连接,同时通过wifi/gsm/3g/4g等网络信道与服务器建立连接,成为两者间的桥梁。

图2给出本方法的数据和信息流图。数据方面,在智能设备中存放着一组公钥对<p1,p2...,pn>,每个公钥对对应着一种访问权限。在智能设备中,访问权限往往是由相应硬件模块的访问权限所决定,因此这组公钥的数目是有限的,无论是存储还是计算的成本都不会太高。

在服务器中存放着设备的公钥对所对应的私钥对<r1,r2...,rn>,每对<ri,pi>形成一对rsa密钥。rsa加密的特点是只要私钥不泄露,即使拿到公钥也无法用于加密。

在本方法中,对每个设备,服务器可以维护不同的密钥对,即使个别设备的私钥因为人为原因泄露,也不影响其它设备的安全性。

在本方法中,设备的公钥对不是必须在制造时就存入设备,由于rsa的特性,即使通过用户在访问时建立的桥梁来初始化设备公钥也是可行的。因为用户即使拿到这组公钥也无法伪造权限访问凭证。这极大地简化了设备的制造流程。

同样基于rsa的特性,在本方法中,设备的公钥对可以被更新。若某台设备的密钥对被泄露,可以及时通过用户访问时建立的桥梁来重新设置设备公钥。重新设置公钥在设备端应该是最高权限,只有通过相应的权限检查后方可进行操作。

信息流方面,当控制器和设备建立直连信道后,第一步是将智能设备生成的权限访问令牌通过信道发送给控制器;第二步是控制器将令牌通过互联网发送给服务器;第三步是服务器将生成的权限访问凭证发送到控制器;第四步是控制器再将权限访问凭证通过直连信道发送到智能设备;在整个信息流过程中,控制器只担任传递的桥梁,本身不进行任何计算工作。

图3是方法的流程图,当控制器与设备建立直连信道后,第一步由控制器端向设备发起权限令牌访问请求,此时从设备的视角来看,控制器是匿名用户,只有最低的访问权限。

第二步由设备随机生成一个字符串作为权限访问令牌t,令牌t的长度视实际应用特点而定,令牌的生命周期和本次信息相关联,如设备与控制器间的信道发生重连,则整个流程重新开始。

第三步控制器将令牌t和设备的编号n通过互联网发送到服务器端,控制器本身不用缓存或对令牌做任何的处理。

第四步服务器根据设备编号n寻找到本设备对应的私钥对<r1,r2...,rn>,根据当前用户所拥有的权限,使用相应的私钥ri对t进行加密,生成加密的字符串,即权限访问凭证c,返回c给控制器。

第五步控制器将获得的访问凭证c通过原先的直连信道发送给智能设备,控制器本身仍然不需要缓存或对凭证做任何的处理。

第六步设备在拿到c后,依次使用p1,p2...,pn对c进行解密,当解密成功且得到的字符串等于发出去的令牌t时,所用的pi就是本次通信拥有的权限。如果没有解密成功,则关闭直连信道。

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