智能锁及智能锁的授权管理方法和装置
技术领域
本发明一般涉及智能锁,尤其涉及用于实现智能锁的授权管理的方法和装置。
背景技术
目前广泛采用的一种门禁***是在IC卡中绑定数据作为开锁凭证,开锁权限需要人工分配或在出厂时固化,无法实现权限的动态更新,持卡人的身份认证也较为困难,存在安全性差、人工成本高、可维护性差、用户体验差等缺点。
随着智能锁和移动终端的发展,可以用终端设备(例如手机、平板设备等)等代替IC卡来开锁。现有的方案在服务器端保存每个用户能开哪些锁的相关信息。在用户进行开门的时候、更改用户开门信息的时候都需要对服务器进行读写,大量的读写操作会导致服务器维护困难,开门验证时间长,影响用户体现。
随着城市化的进一步发展,智能楼宇的概念逐步清晰,其中安全性、便利性、稳定性是重点研究课题,一般楼宇的门禁***至少用十年,如果能够降低管理成本和维护成本则是有益的。因此,本领域需要一种高效地实现智能锁的授权管理的方法和装置。
发明内容
本发明提供了智能锁的实现方案,尤其是用于实现智能锁的授权管理的方法和装置。
在本发明的一个实施例中,提供了一种智能锁,其包括:锁定件,其使所述智能锁处于开锁或闭锁状态;存储器,其存储所述智能锁的Key池,所述Key池为开启所述智能锁的密钥集合;收发机,其接收来自终端设备的开锁请求,所述开锁请求中包括Key值;以及处理芯片,其将所述开锁请求中包括的Key值与所述存储器中存储的所述智能锁的Key池作比较,并在所述开锁请求中包括的Key值在所述Key池中的情况下控制所述锁定件开锁。
根据优选方面,所述存储器还存储所述智能锁的锁ID,所述锁ID用于标识所述智能锁,所述开锁请求中还包括锁ID信息,所述处理芯片将所述开锁请求中包括的锁ID信息与所述存储器中存储的所述智能锁的锁ID作比较,并在所述开锁请求中包括的锁ID信息匹配所述智能锁的锁ID且所述开锁请求中包括的Key值在所述Key池中的情况下控制所述锁定件开锁。
根据优选方面,所述智能锁的锁ID唯一性地标识所述智能锁。
根据优选方面,所述智能锁的Key池选自预定的多个Key池中的一个Key池。
根据优选方面,所述收发机还从服务器接收获分配的所述智能锁的锁ID和Key池,并将其存储在所述存储器中。
根据优选方面,所述开锁请求是经由射频(RF)信号、蓝牙信号、红外信号、光信号、或声信号中的至少一者发送的。
根据优选方面,所述收发机还将所述智能锁的开锁信息记录上传至服务器。
根据优选方面,所述开锁请求中还包括表示所述Key值的有效期限的时间戳信息,所述智能锁仅在当前时间处于所述有效期限内的情况下才控制所述锁定件开锁。
根据优选方面,所述智能锁还包括输入键盘,以通过在所述输入键盘上输入预设口令来开锁。
根据优选方面,所述锁定件包括电磁执行器、机械插销、和致动器中的至少一者。
在本发明的一个实施例中,提供了一种终端设备,其包括:注册模块,用于向服务器发送注册信息并从所述服务器接收关于智能锁的Key值,所述Key值为开启所述智能锁的密钥;存储器,其存储所述智能锁的Key值;以及请求开锁模块,用于向所述智能锁发送开锁请求,所述开锁请求中包括所述智能锁的所述Key值。
根据优选方面,所述注册模块还从所述服务器接收所述智能锁的锁ID信息,所述锁ID信息用于标识所述智能锁,且所述开锁请求中还包括所述锁ID信息。
根据优选方面,所述注册信息包括用户信息、锁位置信息、使用时间期限、锁品牌型号信息和安装时间信息中的至少一者。
根据优选方面,所述注册模块还从所述服务器接收所述Key值的有效期限,所述终端设备在超过所述有效期限之后不能发出针对所述智能锁的开锁请求。
根据优选方面,所述开锁请求是经由射频(RF)信号、蓝牙信号、红外信号、光信号、或声信号中的至少一者发送的。
根据优选方面,所述注册模块还从所述服务器接收所述Key值的有效期限,所述开锁请求中包括表示所述有效期限的时间戳信息。
根据优选方面,所述终端设备包括手机、平板设备、智能钥匙、或光子终端中的至少一者。
在本发明的一个实施例中,提供了一种智能锁***,其包括:数据库,其存储多个智能锁的锁ID和Key池的对应关系,所述锁ID用于标识相应的智能锁,所述Key池为开启相应的智能锁的密钥集合;服务器,其接收来自终端设备的注册信息并向所述终端设备发放相应的智能锁的Key值,其中所述Key值选自与所述智能锁相对应的Key池;以及所述终端设备,用于向所述智能锁发送开锁请求,所述开锁请求包括所述智能锁的Key值。
根据优选方面,所述服务器还向所述终端设备发放所述智能锁的锁ID信息,且所述开锁请求中还包括所述锁ID信息。
根据优选方面,来自所述终端设备的注册信息包括用户信息、锁位置信息、使用时间期限、锁品牌型号信息和安装时间信息中的至少一者。
根据优选方面,所述服务器在认证了所述终端设备的合法性之后向所述终端设备发放所述锁ID信息和Key值,所述Key值选自与所述智能锁相对应的Key池。
根据优选方面,所述服务器还向所述终端设备发送所述Key值的有效期限。
根据优选方面,所述智能锁***还包括工作站,所述工作站接收所述终端设备的注册信息并将其转发给所述服务器。
根据优选方面,所述工作站将所述注册信息中的锁位置信息转换成所述智能锁的锁ID,并将带有所述锁ID的注册信息转发给所述服务器。
在本发明的一个实施例中,提供了一种操作智能锁的方法,包括:从服务器接收并存储所述智能锁的Key池,所述Key池为开启所述智能锁的密钥集合;接收来自终端设备的开锁请求,所述开锁请求中包括Key值;以及将所述开锁请求中包括的Key值与所存储的所述智能锁的Key池作比较,并在所述开锁请求中包括的Key值在所述Key池中的情况下控制所述智能锁开锁。
根据优选方面,所述方法还包括:从所述服务器接收并存储所述智能锁的锁ID,所述锁ID用于标识所述智能锁,所述开锁请求中还包括锁ID信息;以及将所述开锁请求中包括的锁ID信息与所述存储器中存储的所述智能锁的锁ID作比较,并在所述开锁请求中包括的锁ID信息匹配所述智能锁的锁ID且所述开锁请求中包括的Key值在所述Key池中的情况下控制所述智能锁开锁。
根据优选方面,所述智能锁的锁ID唯一性地标识所述智能锁。
根据优选方面,所述智能锁的Key池选自预定的多个Key池中的一个Key池。
根据优选方面,所述开锁请求是经由射频(RF)信号、蓝牙信号、红外信号、光信号、或声信号中的至少一者发送的。
根据优选方面,所述开锁请求中还包括表示所述Key值的有效期限的时间戳信息,所述智能锁仅在当前时间处于所述有效期限内的情况下才开锁。
根据优选方面,所述方法还包括将所述智能锁的开锁信息记录上传至服务器。
在本发明的一个实施例中,提供了一种操作终端设备的方法,包括:向服务器发送注册信息并从所述服务器接收关于智能锁的Key值,所述Key值为开启所述智能锁的密钥;存储所述智能锁的Key值;以及向所述智能锁发送开锁请求,所述开锁请求中包括所述智能锁的所述Key值。
根据优选方面,所述方法还包括从所述服务器接收所述智能锁的锁ID信息,所述锁ID信息用于标识所述智能锁,且所述开锁请求中还包括所述锁ID信息。
根据优选方面,所述注册信息包括用户信息、锁位置信息、使用时间期限、锁品牌型号信息和安装时间信息中的至少一者。
根据优选方面,所述方法还包括从所述服务器接收所述Key值的有效期限,所述终端设备在超过所述有效期限之后不能发出针对所述智能锁的开锁请求。
根据优选方面,所述方法还包括从所述服务器接收所述Key值的有效期限,所述开锁请求中包括表示所述有效期限的时间戳信息。
根据优选方面,所述开锁请求是经由射频(RF)信号、蓝牙信号、红外信号、光信号、或声信号中的至少一者发送的。
根据优选方面,所述终端设备包括手机、平板设备、智能钥匙、或光子终端中的至少一者。
在本发明的一个实施例中,提供了一种操作智能锁***中的服务器的方法,包括:向智能锁分配Key池,所述Key池为开启所述智能锁的密钥集合;接收来自终端设备的注册信息;以及在认证了所述终端设备的合法性之后向所述终端设备发放所述智能锁的Key值,其中所述Key值选自与所述智能锁相对应的Key池。
根据优选方面,所述方法还包括向所述智能锁分配锁ID以及向所述终端设备发放所述智能锁的锁ID信息,所述锁ID用于标识所述智能锁。
根据优选方面,来自所述终端设备的注册信息包括用户信息、锁位置信息、使用时间期限、锁品牌型号信息和安装时间信息中的至少一者。
根据优选方面,所述方法还包括:将所述注册信息中的锁位置信息转换成所述智能锁的锁ID。
根据优选方面,所述方法还包括向所述终端设备发送所述Key值的有效期限。
根据优选方面,所述方法还包括更新所述智能锁的Key池和/或更新向所述终端设备发放的所述智能锁的Key值。
本发明为每个智能锁分配Key池,智能锁存储该Key池,且可以向用户的终端设备分配一个数字Key(密钥,例如可为数字串)并存储在终端设备中。在需要开锁时,用户控制其终端设备将Key值通过信号发射出来。智能锁在接收到开锁请求时可在本地验证开锁请求中包括的Key值是否在该智能锁的Key池中,并且当开锁请求中包括的Key值在该智能锁的Key池中的情况下控制开锁,使得智能锁的维护变得简单,减少了对于服务器的访问,提高了认证开门效率,改善了用户体验。此外,本发明为智能锁设置一个Key池,其能提供多个Key供多人开锁使用,例如在楼宇的门禁***中。
进一步,本发明可在智能锁中内置锁ID,每把锁对应唯一的ID;且在智能锁中内置Key池,每把锁的Key池可以是固定的(比如固定从1~65535)或者选自若干个预设Key池,可以保证Key值始终在某个范围内,不会出现越界溢出的问题。由于锁ID是唯一性的,锁ID加Key值的验证方案确保了不会出现锁被误开的问题。
本发明可利用服务器和云数据库来管理和分配Key(以及可选的锁ID),实现远程的授权管理,用户和管理员不需要见面即可完成房间预订和有效使用,通过服务器和手机完成用户注册、身份确认、房间预订、Key分配等一系列操作,方便快捷,降低人力成本。
本发明利用日常使用的终端设备与服务器进行通信,获取服务器分配的开锁密钥,在终端设备上利用软件来控制发送携带智能Key(以及可选的锁ID)的开锁请求信号,智能锁分析和识别接收到的开锁请求信号,如果验证通过则开锁,从而控制门禁控制器开门。本发明可广泛应用于酒店、公寓、智能楼宇、企事业单位、社区等地方的门禁控制***中,实现门禁***的开锁权限动态管理,提高了智能锁开锁权限的安全性能,能灵活地控制开锁Key有效期限,能有效规避终端遗失后带来的安全隐患,改善了用户体验和方便快捷性,降低了权限管理成本,适宜快速推广。
附图说明
图1示出了根据本发明一实施例的智能锁***架构的示意框图。
图2示出了根据本发明一实施例的智能锁的示意框图。
图3示出了根据本发明一实施例的终端设备的示意框图。
图4示出了根据本发明一实施例的智能锁的操作流程图。
图5示出了根据本发明另一实施例的智能锁的操作流程图。
具体实施方式
下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。
图1示出了根据本发明一实施例的智能锁***架构的示意框图。该***可包括服务器102、数据库104、可选的工作站106、智能锁108、以及终端设备110。智能锁108可广泛安装于酒店、公寓、智能楼宇、企事业单位、社区等地方的门禁控制***中。服务器102、数据库104、工作站106可位于远程位置处。服务器102与可选的工作站106、智能锁108、无线终端110之间可通过有线方式(例如经由回程网络、因特网、电力线等)、无线方式(例如,WiFi)、有线结合无线等方式进行通信。同样地,服务器102与数据库104可按上述各种方式进行通信,或者数据库104可以部署在服务器102中。可选的工作站106可以供操作者对服务器102和智能锁108进行操作和设置。在一个实施例中,工作站106的功能可以集成在服务器102中或者是与服务器102分开的操作设备,而服务器102可以直接与智能锁108和终端设备110通信。终端设备110可以是可被配置成与服务器102、工作站106和/或智能锁108通信的终端,例如手机、平板设备、小型智能钥匙、光子终端等。终端设备110通过射频(RF)信号、蓝牙信号、红外信号、光信号、声信号等请求智能锁108开锁。本发明在这些方面不作限制。
图2示出了根据本发明一实施例的智能锁108的示意框图。智能锁108包括锁定件210,用于使智能锁108处于开锁或闭锁状态。例如,在一个实施例中,锁定件210可以是电磁执行器,其可安装在门框里,并在通电时与门上的铁片吸合,从而门处于关闭状态;电磁执行器可在处理芯片206的控制下断电消除磁性,使得门可以打开。在一个实施例中,锁定件210可以包括机械插销和致动器,致动器在闭锁时使插销***销孔,而在开锁时使插销退出销孔。在另一实施例中,锁定件210可以包括致动器,该致动器在开锁时控制门自动打开,而在闭锁时控制门自动关上。智能锁108还可包括:收发机202,用于与服务器102和终端设备110通信,例如接收来自服务器102的配置信息、接收来自终端设备110的开锁请求、向服务器102更新门禁记录统计信息等。服务器102可通过配置信息来配置/更新智能锁108的配置信息和程序等。例如,来自服务器102的配置信息可包括分配给智能锁108的Key池(或者锁ID和Key池),其中Key池表示能开启智能锁108的密钥集合(锁ID用于标识该智能锁108)。服务器102还可配置/更新智能锁108的通信密钥,该通信密钥可用于加密/解密来自/去往智能锁108的信号,例如来自终端设备110的开锁请求。智能锁108还可包括存储器204,用于存储分配给该智能锁108的Key池(或者锁ID和Key池信息)。来自终端设备110的开锁请求可包括Key值,该Key值可以是由服务器102分配给身份验证合法的终端设备110以开启智能锁108的密钥。在一个实施例中,处理芯片206可确定接收到的开锁请求中的Key是否有效,并在有效的情况下控制锁定件210开锁。具体而言,处理芯片206可将来自终端设备110的开锁请求中包括的Key值与存储器204中存储的该智能锁108的Key池作比较,并在开锁请求中包括的Key值在智能锁108的Key池中的情况下控制锁定件210开锁。在进一步的实施例中,智能锁108还包括输入键盘,以通过在输入键盘上输入预设口令来开锁。
通过在智能锁内设置Key池,代替原先为用户安排用户ID的方案,避免了用户在每次开锁的时候都要向服务器请求验证权限的步骤,减缓了服务器的读写压力,简化了开锁流程,提高了用户体验。
在进一步的实施例中,服务器102可以向身份验证合法的终端设备110分发智能锁108的锁ID信息和Key值两者。来自终端设备110的开锁请求可包括锁ID信息和Key值。处理芯片206可确定接收到的开锁请求中的锁ID信息和Key是否有效,并在有效的情况下控制锁定件210开锁。具体而言,处理芯片206可将来自终端设备110的开锁请求中包括的锁ID信息和Key值分别与存储器204中存储的该智能锁108的锁ID和Key池作比较,并在开锁请求中包括的锁ID信息匹配智能锁108的锁ID、且开锁请求中包括的Key值在智能锁108的Key池中的情况下控制锁定件210开锁。通过将锁ID加入到智能锁中,能够避免Key池因为智能锁的钥匙数量过大导致的溢出问题。
图3示出了根据本发明一实施例的终端设备110的示意框图。如上所述,终端设备110可以是能够收发信号的终端,例如手机、平板设备、小型智能钥匙、光子终端等。终端设备110可安装相应的智能锁APP(应用)。终端设备110可包括:注册模块302,用于与服务器102通信,例如向服务器102发送注册信息、接收来自服务器102的配置信息。注册模块302可通过有线方式(例如经由回程网络、因特网、电力线等)、无线方式(例如,WiFi)、有线结合无线等方式与服务器102通信。注册模块302可以向服务器102进行注册以请求获得开启智能锁108的Key(密钥),并接收来自服务器102的用于开启该智能锁108的Key值。终端设备110可将接收到的Key值存储在存储器304中。在进一步的实施例中,终端设备110可接收来自服务器102的用于标识智能锁108的锁ID和用于开启该智能锁108的Key值,并可将接收到的锁ID和Key值存储在存储器304中。
终端设备110可包括请求开锁模块306,用于向智能锁108发送开锁请求。请求开锁模块306可通过射频(RF)信号、蓝牙信号、红外信号、光信号、声信号等请求智能锁108开锁。终端设备110发送的开锁请求可包括先前从服务器102获得并存储在存储器304中的Key值等。在进一步的实施例中,终端设备110发送的开锁请求可包括先前从服务器102获得并存储在存储器304中的锁ID信息和Key值等。
以下详细说明本发明的智能锁***的工作流程。
智能锁初始化
在智能锁108安装之前、安装之际或安装之后,可以由服务器102或工作站106为智能锁108分配一个锁ID和一个Key池,并将该Key池(或者该锁ID和Key池)存储在智能锁108中。在本发明的一个实施例中,锁ID可唯一性地标识智能锁108,锁ID可以根据需要用多位二进制值来表示,例如30位(bit)二进制值可以唯一性地表示10.7亿把锁。每个智能锁的Key池可以是固定的(比如固定从1~65535),或者可以选自预定的多个Key池中的一个Key池,多个智能锁的Key池可以是相同的,从而可以保证Key值始终在某一个范围内,不会出现越界溢出的问题。例如,可以工作站106录入安装智能锁108的位置信息(例如小区加房间号)和锁ID信息,建立如下表1所示的数据结构:
表1——智能锁安装信息
相应地,可以在服务器102或数据库104中建立多个智能锁的锁ID和Key池的对应关系,如下表2所示的对应关系:
表2——锁ID和Key池的对应关系
终端设备注册
终端设备110可以向工作站106或服务器102进行注册申请(例如,请求获得开启智能锁的Key),注册信息可包括用户信息(例如,用户姓名、用户手机号码、认证信息等)、锁位置信息(例如,小区号、锁安装地点编号、房间号等)、使用时间期限、锁品牌型号信息和安装时间信息等。应注意,终端设备110可以并不知晓所请求的智能锁的锁ID,而是仅知晓锁位置信息(例如,房间号)。工作站106可将从终端设备110接收到的注册信息里的锁位置信息转换成对应的锁ID,以发送给服务器102。工作站106所发送的注册信息可以如下:
表3——注册信息
服务器102接收注册信息,并在验证了终端设备110的合法性之后,按照次序或者以随机方式从该智能锁的Key池中取一个Key值,并将场景编号、锁类型、Key值(或者锁ID和Key值)、有效期限(例如,经过加密方式)下发给终端设备110,如下表4所示的数据结构:
表4——Key分配信息
另外,服务器102可将所分配的此Key值发送给工作站106以备后续的门禁记录统计(通过Key值可以查到是哪个人通过门禁)。替换地,工作站106的功能可以实现在服务器中,例如上述表1可存储在服务器102中,服务器102可接收来自终端设备110的注册申请并从表1中查找出注册申请所针对的智能锁的锁ID,并在验证了终端设备110的合法性之后建立如上表4所示的分配信息。
终端设备请求开锁
如上所述,终端设备110可以注册并被分配Key。根据所分配的Key的有效期限,终端设备110可以成为临时会员或正式(长期)会员。对于临时会员(有效期限的数据段是时分,例如一般期限可能只有5分钟),终端设备110可以从取得权限开始启动定时功能,在获准的有效期限的有效期内可以发送开锁请求,如果超出期限则无法发出开锁请求。对于正式会员,终端设备110可在每次发出开锁请求前调取***时间与从服务器102下发的有效期限进行比较,***时间小于有效期限则发出开锁请求。另外,服务器102可以提前(例如,提前一周、一天等)向终端设备110推送通知,告知用户使用权限即将到期、请及时续约等通知。如果到期后用户还是没有续约,则服务器可更新智能锁的通信密钥,用户通过原来的通信密钥发送的开锁请求将无法被智能锁解密,从而不能开锁。
在一个实际的应用场景中,智能锁可被安装在酒店的各个房间,每个智能锁可具有由多个可开启智能锁的密钥组成的Key池。此外,每个智能锁可具有唯一性的锁ID。酒店住客为正式会员,酒店清洁人员为临时会员。住客自身的智能手机可作为终端设备110。酒店住客在入住时,通过智能手机注册并被分配Key,成为正式会员,并通过该智能手机从酒店的服务器102获得各种通知。而对于酒店清洁人员来说,其能够在限定的时间段内,获得权限,进入房间进行清洁。由于上述的有效期限能够通过服务器进行控制,保证了住客能正常使用房间,还能对酒店清洁人员进行合理的任务分配。
终端设备110可通过射频(RF)信号、蓝牙信号、红外信号、光信号、声信号等请求智能锁108开锁,该开锁请求可以使用从服务器接收到的通信密钥来加密。终端设备110发送的开锁请求可如下:
表5——开锁请求
智能锁操作
图4示出了根据本发明一实施例的智能锁的操作流程图。举例而言,智能锁可以是小区门禁***,而用户可使用安装了相应的智能锁APP的手机来开启该门禁***。
在401处,智能锁处于锁闭状态并准备好接收信号。
在402处,智能锁接收来自终端设备的开锁请求。在一个实施例中,该开锁请求可以是通过智能锁108和终端设备110双方知晓的通信密钥来加密的。
在403处,智能锁按需对开锁请求进行模数转换(A/D)和/或解码/解密。
在404处,智能锁对开锁请求中的数据执行CRC(循环冗余校验)计算并验证其是否与开锁请求中携带的CRC一致。
如果在404处确定CRC不一致,智能锁在405处确定(且可选地可发信号指示)接收到的信号有误码,并返回准备状态401。
如果在404处验证CRC一致,则在可选的406处,智能锁验证开锁请求中的锁ID是否与该智能锁的锁ID一致。
如果在406处确定锁ID不一致,则智能锁在407处确定接收到的开锁请求为非法信号并且可选地提示出错,然后返回准备状态401。
相反,如果在406处确定锁ID一致,则智能锁在408处验证开锁请求中的Key值是否正确(即,是否在智能锁的Key池中)。
如果智能锁采用验证Key值而不验证锁ID的方案,则图4中的步骤406和407可被省略。如果在404处验证CRC一致,该过程直接前进至408处以验证开锁请求中的Key值是否正确(即,是否在智能锁的Key池中)。
如果在408处确定Key值不正确,则智能锁在409处确定接收到的开锁请求为非法信号并且可选地提示出错,然后返回准备状态401。
相反,如果在408处确定Key值正确,则在410处,智能锁开锁打开门禁***,并可选地保存门禁信息(例如,用来开锁的Key值、开锁时间等)。该门禁信息可上传至工作站106和/或服务器102,从而服务器102可按照门禁记录根据Key值确定是哪个用户出入。在用户关门之后,智能锁可再次锁闭并返回准备状态401。
对于临时会员(有效期限的数据段是时分,例如一般期限可能只有5分钟),终端设备110可以从取得权限开始启动定时功能,在获准的有效期限的有效期内可以发送开锁请求,如果超出期限则无法发出请求。对于正式会员,有效期限可以是几日、几月甚至几年,如果采用***定时功能,则一旦智能锁APP退出或者终端设备重新启动,那么定时功能将中断,无法起到定时作用。针对这种情况,终端设备可将时间戳信息组合到开锁请求信号中,由智能锁进行判断是否超期。年月日的最大值是(30)991231,可以用30bit表示。时间戳可以是开锁的最后期限,其是在用户注册申请的时候从服务器下发到终端设备的,是固定的一个值,平时可以是以AES256加密方式保存在终端设备中的。在请求开锁时并不是获取终端设备的***时间,可以保证安全性。
具体地,在用户注册申请时,可以给每个用户分配开启智能锁的Key、表示有效期限的时间戳。在终端设备发送的开锁请求中发送Key值和时间戳,智能锁接收到开锁请求信号并解析后,如果是正确的Key值,并且当前时间在由时间戳表示的有效期内则认为合法,执行开锁操作。在进一步的实施例中,终端设备发送的开锁请求中可包括锁ID、Key值和时间戳,智能锁在验证锁ID、Key值和时间戳皆合法的情况下才开锁。发送的开锁请求中包含时间戳的数据表如下:
表6——替换的开锁请求
图5示出了根据本发明另一实施例的智能锁的操作流程图。
在501处,智能锁处于锁闭状态并准备好接收信号。
在502处,智能锁接收来自终端设备的开锁请求。
在503处,智能锁按需对开锁请求进行模数转换(A/D)和/或解码/解密。
在504处,智能锁对开锁请求中的数据执行CRC计算并验证其是否与开锁请求中携带的CRC一致。
如果在504处确定CRC不一致,智能锁在505处确定(且可选地可发信号指示)接收到的信号有误码,并返回准备状态501。
如果在504处验证CRC一致,则在506处,智能锁验证开锁请求中的锁ID是否与该智能锁的锁ID一致。
如果在506处确定锁ID不一致,则智能锁在507处确定接收到的开锁请求为非法信号并且可选地提示出错,然后返回准备状态501。
相反,如果在506处确定锁ID一致,则智能锁在508处验证开锁请求中的Key值是否正确(即,是否在智能锁的Key池中)。
如果智能锁采用验证Key值而不验证锁ID的方案,则图5中的步骤506和507可被省略。如果在504处验证CRC一致,该过程直接前进至508处以验证开锁请求中的Key值是否正确(即,是否在智能锁的Key池中)。
如果在508处确定Key值不正确,则智能锁在509处确定接收到的开锁请求为非法信号并且可选地提示出错,然后返回准备状态501。
相反,如果在508处确定Key值正确,则智能锁在510处确定设定的期限是否仍是有效的(例如,确定当前时间是否在开锁请求中携带的表示有效期限的时间戳内)。
如果在510处确定期限不是有效的,则智能锁在511处确定接收到的开锁请求为非法信号并且可选地提示出错,然后返回准备状态501。
相反,如果在510处确定期限仍是有效的,则在512处,智能锁开锁,并可选地保存门禁信息(例如,用来开锁的Key值、开锁时间等)。该门禁信息可上传至工作站106和/或服务器102,从而服务器102可按照门禁记录根据Key值确定是哪个用户出入。在用户关门之后,智能锁可再次锁闭并返回准备状态501。
如上所述,本发明提供了智能锁的实现方案,尤其是用于实现智能锁的授权管理的方法和装置。本发明可广泛应用于智能锁、智能门禁等需要进行授权判断的场合,可预先把Key池(或者锁ID信息和Key池)烧录到智能锁中,在服务器中登记每把锁对应的具***置(小区和门号),将锁ID和内置在锁中的Key池建立对应关系。每个Key池可以是不同的密钥范围。终端设备发起注册申请流程,工作站/服务器根据终端设备提交的锁位置,在数据库中查找锁ID,服务器在对应的Key池中取一个Key值(或者Key值和锁ID一起)加密发送到用户的终端设备(例如手机、平板、或其它手持设备),相当于是分配了一把能开锁的钥匙,即可完成授权发放。终端设备获取Key值后,即可在有效期内进行开锁操作。本发明使得智能锁的维护变得简单,开锁过程中减少了对于服务器的访问,提高了认证开门效率,改善了用户体验。此外,本发明为智能锁设置一个Key池,其能提供多个Key供多人开锁使用,例如在楼宇的门禁***中。对于大门锁和小门锁,可设置不同容量的Key池,在开锁时有不同的体验。
在进一步的实施例中,服务器可向认证合法的终端设备分发智能锁的锁ID和Key值。由于锁的ID是唯一的,因此开锁请求信号只能开启其携带的锁ID对应的智能锁,避免了误开锁问题。多个智能锁的Key池可以是相同的,这样可以保证Key值不会无限增大。
在终端设备APP端,可以用不同图标表示不同的锁,用户在点击图标时,调用不同长度的组合信息,可以申请多个不同的门锁权限。在实际应用中,因为服务器端强大的运算处理能力,便于部署更新等因素,需要把压力更多的放在服务器端,尽量减轻用户设备的处理能力。本发明遵循这种方式,在服务器端建立锁ID、Key值、用户信息的对应关系,根据上报的信息即可检索到所有的其它信息,减少了终端设备和智能锁上的处理要求。一般门锁安装后可以用10年左右,为了尽可能减少锁端的更新,本发明预先把Key池(或者锁ID和Key池)内置于智能锁中,锁端需要判断的只是Key值(或者锁ID和Key值)是否是正确的和合法的即可,并不需要其它的算法操作,显著减轻了锁端的工作负担。
采用发Key的方式,由服务器进行统一授权管理,Key值与个人建立一一对应的关系,Key是一组固定的值,可以反复使用,这套方案可扩张性强,可以在公寓锁、酒店锁、写字楼锁、小区锁等各种场景中使用,Key分为大门锁和小门锁,分别可表示26万个Key和512个Key。在开锁时需要验证锁ID的情况下,例如可将锁ID设置为30bit,可以唯一性地表示10.7亿把锁。时效性由服务器和终端设备共同判断,如果合约到期,服务器向终端设备推送消息,督促用户及时续约,只要用户终端设备联网并登陆APP,则可及时将授权信息(如锁ID、Key值)清除;如果用户不联网,则可更新智能锁的通信密钥,使终端设备发出的开锁请求无效(无法被智能锁解密),从而可以有效控制用户对过期Key的非法使用。
另外,基于本发明可以建立一套无人值守的门禁管理***,全套管理由电脑自动完成,用户只要在终端设备上发起申请/缴款,服务器端进行身份验证/接收缴款,审核通过后将Key发放给用户的终端设备,用户在开锁时使用自己获得的Key值,在服务器端按照门禁记录根据Key值确定是哪个用户出入。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护范围之内。