本发明涉及对固件进行编程和更新。更具体地,本发明涉及用于提供用于对软件或固件进行编程和更新的受保护密码和认证机制的系统和方法。
背景技术
使用usb闪速驱动器和/或配置软件以对控制面板设备的软件或固件进行编程和/或更新是已知的。然而,网络安全是一项挑战,尤其是关于来自由控制面板设备监视的区的内部人员或在该区中工作的心怀不满的雇员的威胁。
例如,任何用户可以使用usb闪速驱动器或配置工具以连接到控制面板设备。已知的控制面板设备要求密码以对控制面板设备的软件或固件进行编程和/或更新,但针对所有用户接受相同的密码。也就是说,若干个用户可以使用相同的密码以对控制面板设备的软件或固件进行编程和/或更新。然而,这种密码不安全,这是因为该密码可以与可能以能导致严重安全问题的方式更改控制面板设备的未授权的人共享,或者被该未授权的人窃取。此外,当诸如雇员之类的授权用户离开在由控制面板设备监视的区中进行操作的组织时,这种授权用户知晓密码,且在心怀不满时可能使用该密码以便以可能导致严重安全问题的方式(例如,通过禁用控制面板设备或该区中的区域)访问控制面板设备。
鉴于上述内容,存在针对改进的系统和方法的持续进行中的需要。
附图说明
图1是根据所公开的实施例的方法的流程图;
图2是根据所公开的实施例的方法的流程图;以及
图3是根据所公开的实施例的方法的流程图。
具体实施方式
尽管本发明容许以许多不同形式存在的实施例,但在理解本公开应被视为本发明原理的例证的情况下,在附图中示出并将在本文中详细描述其具体实施例。不意图将本发明限于具体的所说明的实施例。
本文所公开的实施例可以包括用于提供用于对软件和固件进行编程和更新的受保护密码和认证机制的系统和方法。例如,本文所公开的一些系统和方法可以包括:生成可被发送到授权用户以用于在对控制面板设备的软件或固件进行编程和更新时使用的一次性密码(otp)或安全令牌,该控制面板设备例如是作为火灾或安全警报系统的一部分或者作为具有物联网(iot)设备的任何所连接的家庭系统的一部分的控制面板设备。在一些实施例中,控制面板设备或与控制面板设备通信的服务器设备可以生成该一次性密码或安全令牌,在一些实施例中,一次性密码或安全令牌可以包括可在一次性密码或安全令牌被生成后预定时间段内有效且在该预定时间段到期的基于时间的令牌,并且在一些实施例中,授权用户可以使用一次性密码或安全令牌登录到控制面板设备,以访问控制面板设备的软件和固件。
在一些实施例中,与区中的控制面板设备通信的服务器设备可以包括授权用户的数据库和与授权用户相关联的移动设备的电话号码。在这些实施例中,控制面板设备可以生成一次性密码或安全令牌,并且当控制面板设备生成一次性密码或安全令牌时,控制面板设备可以使用gsm能力以将一次性密码或安全令牌传输到服务器设备,并且服务器设备可以从数据库识别与控制面板设备位于其中的区相关联的授权用户中的一个授权用户,从数据库识别与授权用户中的该一个授权用户相关联的移动设备的电话号码,并将一次性密码或安全令牌传输到与授权用户中的该一个授权用户相关联的移动设备以用于在对控制面板设备的软件或固件进行编程和更新时使用。在这些实施例中,可以按照需要(例如,由控制面板设备位于其中的区的所有者)在服务器设备中的数据库中对授权用户和与授权用户相关联的移动设备的电话号码进行更新。
在一些实施例中,区中的控制面板设备可以包括用于存储与授权用户相关联的移动设备的电话号码的存储器设备,并且,可以在控制面板设备的调试(commissioning)期间将电话号码输入到存储器设备中。在这些实施例中,控制面板设备可以生成一次性密码或安全令牌,并且当控制面板设备生成一次性密码或安全令牌时,控制面板设备可以从存储器设备识别与授权用户相关联的移动设备的电话号码,并将一次性密码或安全令牌传输到与授权用户相关联的移动设备,以用于在对控制面板设备的软件或固件进行编程和更新时使用。例如,控制面板设备可以使用gsm能力以与关联于授权用户的移动设备通信,或可以包括一个或多个通信器卡,该一个或多个通信器卡可以是控制面板设备的子系统或一部分,且具有用于与关联于授权用户的移动设备通信或在一些实施例中用于与服务器设备通信的3g或4g能力。
根据所公开的实施例,控制面板设备可以使用算法来生成一次性密码或安全令牌,该算法使用与控制面板设备相关联的唯一标识号(诸如控制面板设备的序列号)作为输入参数。相应地,一次性密码或安全令牌对控制面板设备来说可以是唯一的,且不会针对其他控制面板设备起作用。
在一些实施例中,与区中的控制面板设备通信的服务器设备可以生成一次性密码或安全令牌。在这些实施例中,服务器设备可以包括与授权用户相关联的移动设备的电话号码的数据库。控制面板设备可以使用gsm能力以向服务器设备传输针对与控制面板设备位于其中的区相关联的授权用户生成一次性密码或安全令牌的指令,并且响应于此,服务器设备可以生成一次性密码或安全令牌,从数据库识别与授权用户相关联的移动设备的电话号码,并将一次性密码或安全令牌传输到与授权用户相关联的移动设备,以用于在对控制面板设备的软件或固件进行编程和更新时使用。然后,授权用户可以将一次性密码或安全令牌输入到控制面板设备,并且在接收到一次性密码或安全令牌时,控制面板设备可以使用gsm能力以将一次性密码或安全令牌传输到服务器设备,服务器设备可以认证或证实一次性密码或安全令牌。
根据所公开的实施例,服务器设备可以使用算法来生成一次性密码或安全令牌,该算法使用与控制面板设备相关联的唯一标识号(诸如控制面板设备的序列号)作为输入参数。在这些实施例中,控制面板设备可以将所需的输入参数(诸如,控制面板设备的序列号)与生成一次性密码或安全令牌的指令一起传输到服务器设备。相应地,一次性密码或安全令牌对控制面板设备来说可以是唯一的,且不会针对其他控制面板设备起作用。
根据所公开的实施例,本文所公开的控制面板设备或本文所公开的服务器设备可以包括gsm能力,可以连接到具有gsm能力的子模块,或者可以连接到由控制面板设备监视的系统的基础设施内的基于云或互联网的设备。相应地,控制面板设备或服务器设备可以使用gsm能力或互联网连接性以用于与其他设备通信。
在一些实施例中,控制面板设备的用户界面设备可以显示菜单以导航至密码管理屏幕,且可以接收具有用于生成一次性密码或安全令牌的指令的用户输入。附加地或可替换地,在一些实施例中,连接到控制面板设备的另一个设备的用户界面可以接收具有用于生成一次性密码或安全令牌的指令的用户输入。
在一些实施例中,本文所公开的系统和方法可以生成双一次性密码或安全令牌,其中双一次性密码或安全令牌中的第一个可以被发送到第一授权用户,并且双一次性密码或安全令牌中的第二个可以被发送到第二授权用户。在这些实施例中,要求第一和第二双一次性密码或安全令牌两者以登录到控制面板设备,以便对控制面板设备的软件或固件进行编程和更新。
在一些实施例中,当本文所公开的控制面板设备被关闭或重启时,可以要求本文所公开的一次性密码或安全令牌以导航控制面板设备的菜单,从而向设施管理者或监督者创建与谁关闭了控制面板设备(经授权或未授权的人)有关或与控制面板设备的重启和电力回收有关的记录和通知。
要理解的是,本文所公开和描述的控制面板设备和服务器设备中的每一个可以包括收发器设备、存储器设备和用户界面设备,其中每一个可以与相应的控制电路、一个或多个可编程处理器和可执行控制软件通信,如本领域普通技术人员将理解的那样。可以将可执行控制软件存储在暂时性或非暂时性计算机可读介质上,该计算机可读介质包括但不限于本地计算机存储器、ram、光学存储介质、磁存储介质、闪速存储器等等。在一些实施例中,控制电路、可编程处理器和控制软件中的一些或全部可以执行和控制本文所描述的方法中的至少一些。
本文所公开的系统和方法的优势可以包括但不限于:增强的安全性;时间、精力和成本的减少;安全威胁的消除;防止黑客以未授权的方式窃取可使用的密码;以及认证过程的自动化。例如,根据所公开的实施例,当丢失或忘记密码时,用户不需要想起密码或联系技术支持。
图1是根据所公开的实施例的方法100的流程图。如图1中所见,方法100可以包括:用户将usb闪速驱动器插塞到控制面板设备中,控制面板设备的用户界面显示包括一次性密码选项的菜单,以及用户界面接收选择一次性密码选项的用户输入,如110中那样。响应于用户输入,方法100可以包括:控制面板设备生成一次性密码并将一次性密码传输到云服务器设备,如120中那样。然后,方法100可以包括:云服务器设备从数据库识别与控制面板设备或控制面板设备位于其中的区相关联的授权用户,从数据库识别与授权用户相关联的移动设备的电话号码,并如140中那样经由基于gsm的网络将一次性密码传输到授权用户的移动设备,如130中那样。最后,方法100可以包括:授权用户的移动设备接收一次性密码,如150中那样,授权用户可以使用该一次性密码以登录到控制面板设备,以对控制面板设备的软件或固件进行编程和更新。例如,在一些实施例中,usb闪速驱动器可以包括用于对控制面板设备的软件或固件进行编程或更新的指令,其可以在授权用户将一次性密码录入到控制面板设备中时被执行。
图2是根据所公开的实施例的方法200的流程图。如图2中所见,方法200可以包括:用户将usb闪速驱动器插塞到控制面板设备中,控制面板设备的用户界面显示包括一次性密码选项的菜单,以及用户界面接收选择一次性密码选项的用户输入,如210中那样。响应于用户输入,方法200可以包括:控制面板设备生成一次性密码,从数据库识别与控制面板设备或控制面板设备位于其中的区相关联的授权用户,从数据库识别与授权用户相关联的移动设备的电话号码,并将一次性密码传输到作为控制面板设备的子系统或一部分的通信器卡或模块,如220中那样。然后,方法200可以包括:通信器卡或模块如240中那样经由基于gsm的网络将一次性密码传输到授权用户的移动设备,如230中那样。最后,方法200可以包括:授权用户的移动设备接收一次性密码,如250中那样,授权用户可以使用该一次性密码以登录到控制面板设备,以对控制面板设备的软件或固件进行编程和更新。例如,在一些实施例中,usb闪速驱动器可以包括用于对控制面板设备的软件或固件进行编程或更新的指令,其可以在授权用户将一次性密码录入到控制面板设备中时被执行。
图3是根据所公开的实施例的方法300的流程图。如图3中所见,方法300可以包括:用户将usb闪速驱动器插塞到控制面板设备中,控制面板设备的用户界面显示包括一次性密码选项的菜单,以及用户界面接收选择一次性密码选项的用户输入,如310中那样。响应于用户输入,方法300可以包括:控制面板设备向云服务器设备传输针对下述内容的请求:该云服务器设备生成一次性密码并将一次性密码传输到与控制面板设备或控制面板设备位于其中的区相关联的授权用户,如320中那样。响应于来自控制面板设备的请求,方法300可以包括:云服务器设备生成一次性密码,从数据库识别与授权用户相关联的移动设备的电话号码,并如340中那样经由基于gsm的网络将一次性密码传输到授权用户的移动设备,如330中那样。然后,方法300可以包括:授权用户的移动设备接收一次性密码,如350中那样,授权用户可以使用该一次性密码以登录到控制面板设备,并在由云服务器设备进行认证和证实时,对控制面板设备的软件或固件进行编程和更新。例如,在一些实施例中,usb闪速驱动器可以包括用于对控制面板设备的软件或固件进行编程或更新的指令,其可以在授权用户将一次性密码录入到控制面板设备中并且云服务器设备认证并证实所录入的一次性密码时被执行。
尽管上面已经详细描述了几个实施例,但其他修改是可能的。例如,上面描述的逻辑流程不要求所描述的特定次序或顺序的次序以达到期望的结果。可以提供其他步骤,可以从所描述的流程中消除步骤,并且可以将其他组件添加到所描述的系统或从所描述的系统移除其他组件。其他实施例可以处于本发明的范围内。
从上述内容中将观察到,可以在不脱离本发明的精神和范围的情况下实施许多变型和修改。要理解的是,不意图或不应当推断关于本文所描述的具体系统或方法的限制。当然,意图覆盖落在本发明的精神和范围内的所有这种修改。