掌桥专利:专业的专利平台
掌桥专利
首页

用于对摄像机供给动态QR码和BLE连接的系统和方法

文献发布时间:2024-04-18 19:52:40


用于对摄像机供给动态QR码和BLE连接的系统和方法

本申请为分案申请,其母案的发明名称为“用于对摄像机供给动态QR码和BLE连接的系统和方法”,申请日为2018年2月5日,申请号为201810113289.6。

相关申请的交叉引用

本申请要求2017年2月3日提交且名称为“Systems and Methods forProvisioning a Camera With a Dynamic QR Code and BLE”的美国临时专利申请No.62/454,360的优先权。美国申请No.62/454,360通过引用并入本文。

技术领域

本发明总体上涉及对摄像机进行供给。更具体地,本发明涉及用于对摄像机供给动态QR码和蓝牙低能量(BLE)连接的系统和方法。

背景技术

供给过程包括:将IoT设备带上线;以及通过例如将家庭的WiFi凭证发射到该设备并将该设备注册为属于安装用户来与云服务器建立安全连接。供给过程是本领域中已知的,但已知供给过程具有可用性弱点且可能易受攻击者攻击。

例如,当已知供给过程使用没有QR码的WiFi或BLE或者其他层的认证以对该设备进行供给时,该设备易受对甚至可能不在物理上与该设备存在于相同房间中但可首先连接到该设备的设备进行注册的攻击者攻击。类似地,当已知供给过程使用没有QR码的WiFi或BLE或者其他层的认证以对该设备进行供给时,安装用户的电话易受下述操作攻击:被诱骗成连接到攻击者的伪造设备以及将WiFi凭证发送到攻击者的伪造设备。

一些已知供给过程使用具有在该设备上打印的静态QR码的WiFi以对该设备进行供给。然而,当这些过程被使用时,该设备可能易受下述两者攻击:在安装用户前物理地访问该设备且因而知道静态QR码的攻击者;以及诱骗安装用户的电话以连接到伪造设备的攻击者。

另外其他已知供给过程使用具有动态QR码的WiFi以对该设备进行供给。然而,当这些过程被使用时,用户体验可能差,这是因为正在安装用户的电话上执行的移动应用不能在WiFi连接过程期间将与供给过程的失败或成功有关的任何反馈提供给安装用户。

此外,当供给过程使用WiFi而不是BLE以对该设备进行供给时,用户体验可能差,这是因为当安装用户的电话连接到该设备的接入点时,电话在供给过程期间不具有因特网连接。

当该设备是摄像机时,安全地对摄像机进行供给尤其重要,这是因为摄像机可以发射消费者的家庭的实况视频。因此,存在针对改进的系统和方法的持续进行中的需要。

附图说明

图1是根据所公开的实施例的安全性系统的框图;

图2是根据所公开的实施例的供给过程的流程图;

图3是根据所公开的实施例的安全性服务过程的流程图;

图4是根据所公开的实施例的BLE分组的框图;

图5是根据所公开的实施例的用于经由BLE连接发射消息的多个分组的框图;

图6是根据所公开的实施例的碎裂和碎片整理过程的流程图;

图7是根据所公开的实施例的电话和摄像机经由BLE信号交换ECDH密钥的过程的流程图;以及

图8是根据所公开的实施例的摄像机连接到Wi-Fi网络的过程的流程图。

具体实施方式

尽管本发明容许以许多不同形式存在的实施例,但本文将在理解本公开应被视为本发明原理的例证的情况下详细描述本发明的具体实施例。不意图将本发明限于具体的所说明的实施例。

本文公开的实施例可以包括用于对摄像机供给动态QR码和BLE连接的系统和方法。例如,动态QR码可以被显示在用户的电话的屏幕上且被呈现给摄像机,摄像机可以捕获所显示的动态QR码的图像。的确,这种系统和方法通过提供鲁棒以对抗攻击者的相互认证来解决上面讨论的可用性和安全性问题,并防止窃听攻击、MitM攻击和本领域中已知的其他攻击。

根据所公开的实施例,本文公开的系统和方法可以使用BLE连接和动态QR码的组合以对摄像机进行供给。例如,用户的电话可以将BLE信号发射到摄像机以将电话连接到摄像机。然后,正在电话上执行的移动应用可以使动态QR码被显示在电话的屏幕上,并且用户可以将电话的屏幕握持在摄像机的镜头前面,使得摄像机可以捕获在电话的屏幕上显示的动态QR码的图像。如本文公开和描述的那样,该供给过程可以将摄像机和电话认证到彼此,并确保经由BLE信号而连接的摄像机是用户正在供给的相同摄像机并且经由BLE信号而连接的电话是正在显示动态QR码的相同电话。

在一些实施例中,本文公开和描述的供给过程可以包括以下步骤以对用户的电话和摄像机进行相互认证。首先,用户的电话可以经由BLE信号来与摄像机连接。然后,用户的电话可以验证摄像机的设备证书。接着,电话和摄像机可以经由BLE连接来执行椭圆曲线迪菲赫尔曼(ECDH,Elliptic-curve Diffie-Hellman)操作,其中短暂摄像机密钥与对称加密密钥建立安全BLE隧道。然后,摄像机可以经由安全BLE隧道将随机生成的摄像机PIN发射到电话。接着,电话可以随机生成电话PIN,电话可以使用对称加密密钥来对电话PIN和随机生成的摄像机PIN进行加密,并且电话可以生成包含经加密的数据的QR码。然后,摄像机可以读取QR码并对其内容进行解密,以确保QR码中的随机生成的摄像机PIN是该摄像机发射到电话的相同的随机生成的摄像机PIN。最后,摄像机可以经由安全BLE隧道将电话PIN发射到电话,并且电话可以确保从摄像机接收到的电话PIN是电话在QR码中呈现的相同电话PIN。

附加地或可替换地,在一些实施例中,本文公开和描述的供给过程可以包括以下步骤。首先,用户可以登录到正在用户的电话上执行的移动应用中,并且移动应用可以经由蓝牙连接来发现摄像机并连接到摄像机。例如,用户插入摄像机中可以触发摄像机发射未受引导的蓝牙连接通告消息,并且摄像机可以在与移动应用连接时停止发射未受引导的蓝牙连接通告。然后,摄像机和移动应用可以建立用于共享供给数据的会话密钥,并且摄像机和电话可以利用QR码认证彼此。接着,摄像机可以基于从移动应用共享的WiFi凭证来连接到WiFi网络。例如,在移动应用与摄像机共享供给参数之后,移动应用可以将WiFi接入点和密码提供给摄像机以连接到WiFi接入点。在一些实施例中,如果移动应用未将供给参数写入到摄像机,则移动应用不会接受WiFi凭证且不会连接到WiFi网络。在一些实施例中,可以经由SSID和密码的手动录入或经由摄像机扫描SSID列表来选择WiFi接入点的SSID。然后,摄像机可以基于从移动应用共享的WiFi凭证来连接到云服务器并开始报告。例如,移动应用可以写入到摄像机的供给服务中并发布开始连接到云服务器的应用命令。在成功连接到云服务器之后,摄像机可以开始正常操作过程。

在一些实施例中,当正在读/写请求中传送多于20字节APDU时,可以遵循碎裂/碎片整理方案,使得如本文公开和描述的BLE信号可以包括下述分组:该分组包括具有1比特“更多比特”号和7比特序列号的首部。更多比特号可以指示是否存在更多读/写分组以完成读/写请求中的APDU,使得0可以意味着不存在更多消息,并且1可以意味着存在更多消息要被读取以组装APDU。序列号可以包括所碎裂的APDU的序列号,并且首部可以后跟包括所碎裂的APDU的20字节有效载荷。在一些实施例中,即使当存在仅一个碎片要被发射时,BLE信号也可以包括首部。

在一些实施例中,最小经加密分组计数可以是2。因此,每一个BLE信号将要求两个BLE分组被发送:第一分组,后跟时间延迟,后跟第二分组。

在一些实施例中,摄像机和电话可以使用ECDH密钥建立协议以经由BLE信号建立共享秘密。电话可以与摄像机共享其公钥,并且电话和摄像机中的每一个可以生成随机数以与彼此共享。摄像机可以将其公开证书提供给电话,电话可以验证摄像机的签名。在一些实施例中,电话和摄像机二者都可以根据公钥/私钥对且按照椭圆曲线密码术创建共享秘密。根据共享秘密,密钥导出函数可以使用所生成的随机数以生成用于加密的会话。

在一些实施例中,本文公开的系统和方法可以使用具有CBC和PKCS#7填充的AES-128加密方案,使得任何经加密的有效载荷的前16个字节可以是IV以用于对经碎裂的有效载荷的其余部分进行解密。IV可以由有效载荷的发起者按需安全且随机地生成,并且一旦接收者接收到整个有效载荷并组装其碎片,该前16个字节就可以被用作IV以用于对剩余字节进行AES解密。根据上述内容,最小分组计数可以是2。此外,在如上所描述的那样创建会话之后,可以忽略所有写入,但除电话PIN和QR验证状态外的经加密的字段的所有读取可以返回经加密的ASCII串“空”,直到QR码被验证。然而,在摄像机验证QR码之后,所有经加密的字段可以是可访问的。

如上所解释,在开始会话之后,摄像机和移动应用中的每一个可以生成PIN。移动应用可以读取随机生成的摄像机PIN并创建包含电话PIN和随机生成的摄像机PIN二者的QR码。在一些实施例中,可以使用如结合BLE加密的分组而公开和描述的相同加密方法来对QR码的内容进行加密,使得QR码的经加密的主体可以包括其间有ASCII空白字符的随机生成的摄像机PIN和电话PIN。在一些实施例中,摄像机可以以如本文公开和描述的、摄像机可对经碎片整理的BLE消息进行解密的相同方式对QR码进行读取和解密。如果从QR码读取的随机生成的摄像机PIN匹配于由摄像机生成的随机生成的摄像机PIN,则摄像机可以将电话视为经认证并允许电话请求和发送WiFi凭证。在一些实施例中,摄像机可以将其QR验证状态发射到电话以向电话通知摄像机的状态。在一些实施例中,摄像机可以仅在摄像机验证QR码之后在适当BLE字段中返回电话PIN,并且此后,电话可以将从摄像机接收到的电话PIN与由电话生成的电话PIN进行比较以用于验证,以便确保到正确摄像机的连接。

在一些实施例中,在WiFi凭证被写入到摄像机之后,摄像机可以尝试连接到WiFi网络并向电话通知这种尝试的结果。当连接成功时,摄像机可以将其新WiFi连接状态发射到电话并将激活供给呼叫发射到云服务器。当供给呼叫失败时,摄像机可以从WiFi网络解除关联并向电话通知其新WiFi连接状态。然而,当供给呼叫成功时,摄像机可以连接到云服务器并关闭其与电话的BLE连接。

在一些实施例中,如本文公开和描述的摄像机可以包括LED和音频通知设备中的一个或多个。在一些实施例中,当摄像机的BLE无线电装置开启时、当摄像机的BLE无线电装置关闭时、当电话连接到摄像机时、当QR码已经被读取时、当WiFi凭证被写入到摄像机并且摄像机尝试连接到WiFi网络时、当摄像机正在尝试供给时、当供给成功或失败时、当电话从摄像机断开时、当摄像机从所有电话断开时、当摄像机被供给时、或者当摄像机离线且断开时,LED可以闪烁和/或音频通知设备可以以不同组合发出可听通知以呈现视觉和/或音频通知。

图1是根据所公开的实施例的安全性系统10的框图。如图1中所见,安全性系统10可以包括针对威胁而监视受保护区域16的一个或多个安全性传感器12、14、22,并且在一些实施例中,安全性传感器12、14、22可以包括接触、入侵、摄像机、运动、火灾、烟雾和/或气体检测器。安全性传感器12、14、22可以与控制面板18通信,并且控制面板18可以监视安全性传感器12、14、22中的一个或多个的激活。

在一些实施例中,控制面板18可以在安全性传感器12、14、22中的一个传感器激活时将警报消息发送到中央监视站20,并且中央监视站20可以通过召唤适当帮助来作出响应。例如,如果安全性传感器12、14、22中的该一个传感器检测到火灾,则中央监视站20可以召唤当地消防部门。可替换地,如果安全性传感器12、14、22中的该一个传感器检测到入侵,则中央监视站20可以召唤警察。

在一些实施例中,安全性传感器12、14、22之一可以包括可捕获视频和/或检测运动的安全性摄像机22。在一些实施例中,安全性摄像机22可以包括因特网协议(IP)安全性摄像机,其捕获视频并将通过因特网而捕获的视频流送到经授权的用户或中央监视站20。

在任何实施例中,安全性摄像机22可以包括控制电路32,控制电路32可以包括一个或多个可编程处理器32a和可执行控制软件32b,如本领域技术人员将理解的那样。可执行控制软件32b可以存储在瞬变或非瞬变计算机可读介质上,该计算机可读介质包括但不限于本地计算机存储器、RAM、光学储存介质、磁储存介质等等。在一些实施例中,安全性摄像机22的控制电路32、(一个或多个)可编程处理器32a和可执行控制软件32b可以执行和控制本文公开的方法中的一些。

在一些实施例中,安全性摄像机22可以包括蓝牙收发器34和WiFi收发器36,并且蓝牙收发器34可以与蓝牙使能设备(诸如用户设备38)通信。在一些实施例中,用户设备38可以包括智能电话,但用户设备38可以附加地或可替换地包括平板电脑、膝上型电脑或任何其他蓝牙使能设备,如本领域技术人员将理解的那样。WiFi收发器36可以通过WiFi网络(例如,IEEE 802.11协议)来与接入点40(诸如因特网路由器)通信,并且接入点40可以广播无线网络并与具有经认证的无线凭证的设备(诸如,用户设备38、控制面板18和安全性摄像机22)连接。在一些实施例中,安全性摄像机22可以在供给过程(参见图2)期间经由接入点40来访问供给服务器44(云服务器)。

在任何实施例中,用户设备38可以包括控制电路42,控制电路42可以包括一个或多个可编程处理器42a和可执行控制软件42b,如本领域技术人员将理解的那样。在一些实施例中,用户设备38的控制电路42、(一个或多个)可编程处理器42a和可执行控制软件42b可以执行和控制本文公开的方法中的一些。在一些实施例中,用户设备38的可执行控制软件42b可以包括被具体设计成帮助对安全性摄像机22进行供给的移动应用(“app”)。此外,尽管未图示,但用户设备38还可以包括蓝牙收发器和WiFi收发器,类似于安全性摄像机22的蓝牙收发器34和WiFi收发器36。

图2是根据所公开的实施例的用于对安全性摄像机(例如,安全性摄像机22)进行供给的方法200的流程图。如图2中所见,方法200可以包括:如在202中那样,用户与用户设备(例如,用户设备38)交互以登录到移动应用(例如,可执行控制软件42b)中。在一些实施例中,用户登录到移动应用中可以包括:移动应用将用户凭证发送到云服务器,并从云服务器接收基于用户凭证的真实性认证或拒绝用户的响应。

此外,方法200可以包括:如在204中那样,移动应用和用户设备经由蓝牙连接来发现和找到要供给的摄像机(例如,安全性摄像机22);如在206中那样,摄像机和移动应用建立会话密钥;以及如在208中那样,摄像机和移动应用使用QR码来认证彼此。例如,在一些实施例中,移动应用可以生成QR码,用户可以在摄像机的镜头处瞄准用户设备的屏幕,并且摄像机可以捕获QR码的图像。此外,在一些实施例中,由用户设备生成的QR码可以是动态的,因为QR码可以包含由摄像机提供的数据和标识用户设备的数据(参见图3)。更进一步,在一些实施例中,可以对包括在QR码内的数据进行加密,并且可以使用对称加密密钥来对经加密的数据进行解密,该对称加密密钥是使用ECDH操作来建立的(参见图7)。

更进一步,方法200可以包括:如在210中那样,摄像机在从移动应用接收到WiFi凭证之后连接到WiFi网络。在一些实施例中,摄像机可以扫描附近WiFi网络并针对所检测到的最强WiFi网络从移动应用请求WiFi凭证。附加地或可替换地,在一些实施例中,用户可以选择摄像机应当经由移动应用连接到的WiFi网络,并经由移动应用将WiFi凭证提供给摄像机。附加地或可替换地,移动应用可以自动提供针对用户设备连接到的无线网络的WiFi凭证。

最后,方法200可以包括:如在212中那样,摄像机经由无线网络连接到云服务器。例如,在一些实施例中,摄像机可以报告给云服务器并注册到云服务器。在一些实施例中,移动应用可以提供针对云服务器的URL并将针对云服务器的URL发射到摄像机。在一些实施例中,URL可以包括在QR码中,并且在一些实施例中,可以经由蓝牙将URL发射到摄像机。在一些实施例中,移动应用可以将用户凭证(诸如,如在202中那样被录入以登录到移动应用中的用户凭证)提供给摄像机,使得云服务器可以将摄像机注册到所标识的用户账户。在一些实施例中,摄像机可以与云服务器建立心跳服务,并发射MAC ID信息、国家代码数据或者注册摄像机所必需的任何其他数据。在注册到云服务器之后,摄像机可以捕获图像或视频,通过因特网来流送该图像或该视频,并检测威胁。

图3是根据所公开的实施例的用于使用QR码经由蓝牙连接在摄像机与用户设备之间进行相互认证的方法300的流程图。如图3中所见,方法300可以包括:如在302中那样,摄像机随机生成摄像机PIN;如在304中那样,摄像机经由蓝牙连接将摄像机PIN发射到用户设备和在用户设备上执行的移动应用;如在306中那样,移动应用随机生成设备PIN;以及如在308中那样,移动应用生成并在用户设备的屏幕上显示包括摄像机PIN和设备PIN的QR码。在一些实施例中,可以对包括在QR码中的数据进行加密。此外,方法300可以包括:如在310中那样,摄像机在捕获QR码的图像之后对QR码进行解码;以及如在312中那样,摄像机确认QR码包括摄像机经由蓝牙连接发射的摄像机PIN。更进一步,方法300可以包括:如在314中那样,摄像机经由蓝牙连接将从QR码解码的设备PIN发射到用户设备;以及如在316中那样,用户设备确认从摄像机接收到的设备PIN匹配于所生成的设备PIN。当从摄像机接收到的设备PIN匹配于所生成的设备PIN时,用户设备可以确保读取了QR码的摄像机是连接到用户设备的摄像机。

如本文公开的经由蓝牙进行的通信可以包括经由蓝牙连接来发射一个或多个BLE分组。在这点上,图4是根据所公开的实施例的BLE分组400的框图。如图4中所见,BLE分组400可以包括首部和有效载荷406,其中首部可以包括更多比特402和序列号404。例如,更多比特402可以包括1个比特,且可以指示是否存在任何更多分组要在分组400后接收以完成消息。序列号404可以包括例如7个比特,且可以指示该消息中的分组号。例如,如果分组400是该消息的第一个分组,则序列号404可以等于1。在一些实施例中,有效载荷406可以包括例如20个比特,且可以包括该消息的部分或碎片。

图5是根据所公开的实施例的用于经由蓝牙发射消息508的多个分组500-506的框图。该多个分组500-506中的每一个可以具有与图4的分组400类似的格式。例如,如图5中所见,该多个分组500-504中的每一个均可以包括具有值1的相应更多比特,从而指示该多个分组500-506中的另一个将后跟以完成消息508。然而,该多个分组中的最后一个506可以包括具有值0的更多比特,从而指示没有更多分组将后跟以完成消息508。此外,该多个分组500-506中的每一个包括相应序列号1-4以指示该多个分组500-506中相应的一个在消息508中的次序。相应地,处理器(参见图6)可以组合该多个分组500-506中的每一个的相应有效载荷以生成消息508。也就是说,消息508可以包括存储在该多个分组500-506中的每一个的相应有效载荷中的碎片中的每一个。

图6是可由处理器执行以生成图5的消息508的根据所公开的实施例的碎裂和碎片整理方法600的流程图。如所见的那样,方法600可以包括:如在602中那样,接收分组(诸如该多个分组500-506之一)以及提取该分组的有效载荷中的数据。接着,方法600可以包括:如在604中那样,确定该分组的首部是否具有指示要接收更多分组的值(例如,更多比特=0?)。如果首部指示更多分组即将到来(例如,首部=1),则方法600可以包括:如在606中那样,缓冲有效载荷;以及如在602中那样,接收另一分组。

然而,当首部指示没有更多分组即将到来(例如,更多比特=0)时,方法600可以包括:如在608中那样,确定是否已经接收到所有分组。例如,在一些实施例中,方法600可以通过确定是否已经接收到从1到N的每一个序列号来确定已经接收到所有分组,其中N是存储在最后分组(例如,具有更多比特=0的分组)中的序列号。当已经接收到所有分组时,方法600可以包括:如在610中那样,通过使用分组中的每一个中的序列号对分组中的每一个的有效载荷进行排序来对消息进行碎片整理。然而,当尚未接收到所有分组时,方法600可以包括:如在612中那样,指示读取失败。

图7是根据所公开的实施例的用于生成加密密钥的方法700的流程图。如图7中所见,方法700可以包括:如在702中那样,用户设备(例如,用户设备38)从摄像机(例如,安全性摄像机22)接收可包括摄像机公钥的摄像机公开证书以及摄像机随机数;以及如在704中那样,用户设备基于摄像机公开证书来确保摄像机是期望的品牌或类型。例如,用户设备可以通过确认由摄像机的制造商设置的摄像机公开证书具有指示摄像机的期望品牌或类型的特定格式,来确保摄像机是期望品牌或类型以确信与在用户设备上运行的移动应用的兼容性。此外,方法700可以包括:如在706中那样,用户设备将设备公钥和设备随机数发射到摄像机;以及如在708中那样,用户设备使用摄像机公钥、电话私钥、摄像机随机数、电话随机数和密钥导出函数(KDF)来生成AES加密密钥。类似地,摄像机可以使用摄像机私钥、电话公钥、摄像机随机数、电话随机数和密钥导出函数(KDF)来生成AES加密密钥。因此,在一些实施例中,AES加密密钥可以用于对用户设备与摄像机之间的所有通信(诸如,包括上面描述的摄像机PIN和设备PIN的通信或者经由蓝牙进行的任何通信)进行加密和解密。在一些实施例中,摄像机随机数和设备随机数可以包括随机生成的数。

图8是根据所公开的实施例的摄像机加入无线网络的方法800的流程图。如图8中所见,方法800可以包括:如在802中那样,用户设备(例如,用户设备38)指示摄像机(例如,安全性摄像机22)进行SSID扫描;如在804中那样,在摄像机进行SSID扫描之后,用户设备从摄像机读取SSID列表;以及如在806中那样,用户设备从SSID列表中选择SSID并提供针对SSID的WiFi凭证。在一些实施例中,用户设备可以自动选择SSID并自动将WiFi凭证提供给摄像机,或者用户可以选择SSID并经由移动应用来录入WiFi凭证。此外,在一些实施例中,方法800可以包括用户设备指示摄像机加入与SSID相关联的无线网络,并且在一些实施例中,摄像机可以通过尝试导航到与供给服务器(例如,供给服务器44)相关联的URL来确认加入无线网络并测试无线网络。

尽管上面已经详细描述了几个实施例,但其他修改是可能的。例如,上面描述的逻辑流程不要求所描述的特定次序或顺序的次序以实现期望结果。可以提供其他步骤,可以从所描述的流程中消除步骤,并且可以向所描述的系统添加其他部件或从所描述的系统中移除其他部件。其他实施例可以处于本发明的范围内。

从上述内容将观察到,在不脱离本发明的精神和范围的情况下可以实施许多变型和修改。应当理解,不意图或不应当推断关于本文描述的具体系统或方法的限制。当然,意图覆盖如落在本发明的精神和范围内的所有这种修改。

相关技术
  • 用于对摄像机供给动态QR码和BLE连接的系统和方法
  • 用于对摄像机供给动态QR码和BLE连接的系统和方法
技术分类

06120116331517