具体实施方式
下面将参考附图对本公开作进一步地详细描述。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路等未作详细描述,以便于凸显本公开的主旨。
本公开实施例中的物联网设备可以为物联网网络中的智能安防设备。本公开实施例的智能安防设备设置有处理器。所述处理器可以是任何合理的具有处理功能的模块,如中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
如图1所示,本公开实施例的智能安防设备、具体是处理器上可运行有可信任执行环境(Trusted Execution Environment,TEE)和富执行环境(Rich ExecutionEnvironment,REE)。在TEE环境中可执行对安全性要求比较高的行为,如指纹比对、支付行为、人脸识别、密码验证等。在REE环境中可执行常规行为,如购物、教学、语音或视频通信等。一般情况下,称TEE为Secure World(安全环境),称REE为Normal World(常规环境)。在TEE中能够运行或使用的应用为可信任应用(Trusted Application,TA)。在REE中能够运行或使用的应用为客户端应用(Client Application,CA)或常规应用。TA和CA是可以进行通信的,通过在REE和TEE中为其设置的应用程序接口(Application Program Interface,API)进行通信。TEE具有其自身的执行空间,也就是说,在TEE环境下和REE环境下各自具有一个操作系统,TA和CA可基于两个操作系统进行相互通信。其中,TEE环境下的操作系统比REE环境下的操作系统Rich OS(常规或普通操作系统)的安全级别更高。TEE环境下所能访问的软硬件资源(如硬件Hardware)与Rich OS操作系统下所能访问的软硬件资源是分离的。示例性地,在物理上,TEE环境下所使用的存储空间可与REE环境下所使用的存储空间实现隔离。其中,TEE环境下所使用的存储空间可用于存储安全性要求比较高的行为需要使用的指纹、密码、密钥等信息,该信息由于存储在TEE环境中,所以可被TEE环境下的TA使用,无法被REE环境的CA使用,保证信息安全性。TEE环境为TA的执行提供了安全的执行环境,保证了TA的资源和数据的保密性、完整性和访问权限。在启动的流程中,为了保证TEE环境的可信性,TEE在安全启动过程中是要通过验证并与REE环境下的Rich OS保持隔离。在TEE环境的操作系统上运行的应用程序即为TA,TEE里的每一个TA也是需要授权并相互独立运行的,如果彼此之间需要相互访问也需要进行授权。可进行相互访问的TA可通过为二者之间设定的通信接口进行相互访问。具体的授权过程以及通信接口的设定过程本公开不做描述。
本公开实施例中,智能安防设备的任何合理的功能均可通过REE环境和TEE环境中的应用之间的交互来实现。示例性地,在REE环境中的CA可向TEE环境中的TA请求调节智能安防设备上设置的喇叭的音量,TA根据对该请求调节指令的合理或合法性分析结果确定是否对喇叭的音量进行调节,以避免错误调节而带来的不方便性,保证安全性。对于来自REE环境中的开锁请求,考虑智能安防设备的开锁事件为对安全性要求较高的事件,对此TA在接收到这一开锁请求指令的情况下,TA根据对该请求指令的合理或合法性分析确定是否对该开锁请求指令进行响应,可避免错误开锁而带来的经济损失,保证安防的安全性和智能性。
图2为本公开实施例的TEE中的安全控制方法的实现流程示意图一。所述方法应用于智能安防设备中,所述智能安防设备能够运行有TEE和REE,所述TEE中运行TA,所述REE中运行有客户端应用CA,所述方法包括:
S(步骤)101:获得目标请求指令,所述目标请求指令是通过所述CA与所述TA之间的应用程序接口由所述REE中的CA传输至所述TEE中的TA的;
本步骤中,应用程序接口可以为图1中的API。REE中的CA可通过API将目标请求指令传输至TEE中的TA。其中,目标请求指令可以为调节喇叭音量的指令、请求开锁的指令等,还可以为其他任何合理的指令,如调节智能门上设置的显示屏的显示分辨率的指令等。
S102:至少获得第一参考数据,所述第一参考数据为与目标请求指令的属性相关的数据;
本步骤中,指令的属性包括不限定于以下所述:该目标请求指令是允许TA进行响应的指令、该目标请求指令是不允许TA进行响应的指令、该目标请求指令从REE环境中传输至TEE环境中所使用的通道是安全传输通道或不是安全传输通道、REE环境中向TA请求的CA是被TA授权的CA或不是被TA授权的CA。
S103:根据所述第一参考数据,分析所述目标请求指令的合理性或合法性,得到第一分析结果;
本步骤为根据第一参考数据,对目标请求指令是否是合理或合法的指令进行分析。
S104:根据所述第一分析结果,确定是否对所述目标请求指令进行响应。
本步骤中,在第一分析结果表征目标请求指令是合理或合法的指令时,所述TA对目标请求指令进行响应。在第一分析结果表征开锁请求指令是不合理或不合法的指令时,TA丢弃目标请求指令,不响应。
S101~S104的执行主体为TEE中的TA。
S101~S104中,在TA接收到目标请求指令的情况下,获得第一参考数据并根据获得的第一参考数据对目标请求指令的合理或合法性进行分析,根据分析结果,确定是否对目标请求指令进行响应。与相关技术中物联网设备直接进行指令的响应的方案相比,本方案通过对目标请求指令的合理或合法性分析,可保证对目标请求指令的响应准确性,避免错误响应为用户带来的不方便性或损失,提高了安全性和智能性。此外,TEE环境为TA的执行提供了安全的执行环境,保证了TA执行前述过程的保密性、完整性。
智能安防设备可接入于在家居环境中构建的物联网网络中。智能安防设备可以为智能安防场景中任何合理的设备、装置或器件,如智能门、保险柜、智能猫眼、车辆等;还可以为任何带锁的设备如智能门、智能衣柜、智能抽屉等。在实际应用中,因为REE环境下的执行安全性弱于TEE环境下的执行安全性,所以针对设备的开锁操作,由TEE环境下的TA来决定是否进行门锁的开启。针对REE环境下CA产生的开锁请求指令,CA将该开锁请求指令发送至TEE环境中的TA,以请求TA将门锁开启。本公开实施例中,对于来自REE环境中的开锁请求指令,运行在TEE中的TA并非直接进行响应,而是依据基于第一参考数据分析开锁请求指令是否合理或合法的分析结果确定是否对开锁请求指令进行响应,以避免来自REE环境中的开锁请求指令是不安全的开锁请求指令而带来的经济损失,如是黑客侵入至REE环境中模拟并生成的伪开锁指令,保证安防的安全性和智能性。针对REE环境下CA产生的调节喇叭音量的指令,CA将该指令发送至TEE环境中的TA,以请求TA调节喇叭音量。本公开实施例中,对于来自REE环境中的请求调节音量指令,运行在TEE中的TA并非直接进行响应,而是依据基于第一参考数据分析该请求指令是否合理或合法的分析结果确定是否对该请求调节音量指令进行响应,以避免来自REE环境中的该请求指令是不安全的请求调节音量指令而带来的经济损失,如是黑客侵入至REE环境中模拟并生成的伪指令,保证安防的安全性和智能性。
下面主要以智能安防设备为智能门设备、目标请求指令为开锁请求指令为例对本公开的方案做进一步说明。关于目标请求指令为请求调节喇叭音量的指令的内容穿插在其中说明。
图3为本公开实施例的TEE中的安全控制方法的实现流程示意图二。如图3所示,所述方法包括:
S201:获得开锁请求指令,所述开锁请求指令是通过所述CA与所述TA之间的应用程序接口由所述REE中的CA传输至所述TEE中的TA的;
本步骤中,应用程序接口可以为图1中的API。REE中的CA可通过API将开锁请求指令传输至TEE中的TA,以请求TA将智能门的门锁开启,TA接收开锁请求指令。
S202:获得第一参考数据,所述第一参考数据为与开锁请求指令的属性相关的数据;
本步骤中,指令的属性包括不限定于以下所述:该开锁请求指令是允许TA进行响应的指令、该开锁请求指令是不允许TA进行响应的指令、该开锁请求指令从REE环境中传输至TEE环境中所使用的通道是安全传输通道或不是安全传输通道、REE环境中向TA请求开锁的CA是被TA授权的CA或不是被TA授权的CA。
S203:根据所述第一参考数据,分析所述开锁请求指令的合理性或合法性,得到第一分析结果;
本步骤为根据第一参考数据,对开锁请求指令是否是合理或合法的指令进行分析。
S204:根据所述第一分析结果,确定是否对所述开锁请求指令进行响应。
本步骤中,在第一分析结果表征开锁请求指令是合理或合法的指令时,所述TA产生开锁指令,所述开锁指令可用于控制智能门的门锁开启。在第一分析结果表征开锁请求指令是不合理或不合法的指令时,TA丢弃开锁请求指令,不响应开锁请求指令。
S201~S204的执行主体为TEE中的TA。
从S201~S204中可以看出,在TEE中的TA获得来自REE环境中的CA的开锁请求指令的情况下,TA获得第一参考数据,依据第一参考数据,分析开锁请求指令是否合理或合法,并根据分析结果确定是否对开锁请求指令进行响应。其中,TA获得第一参考数据并根据对开锁请求指令是合理或合法、还是不合理或不合法的分析结果决定是否进行门锁的开启,相当于其具有一套自己的安全机制,可依据第一参考数据经过对其接收到的开锁请求指令的合理性或合法性的分析,决定是否开锁。本公开实施例中,这种TA采用一定的安全机制确定是否开锁的方案,可大大避免对开锁请求指令的错误响应,避免本不该开锁的情况下开锁事件的发生,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失,提高了安防的安全性。
其中,在开锁请求指令为合法或合理的情况下,可实现智能门的自动开锁,实现门的自主开锁,提高了安防的智能性和可靠性。本公开实施例中的智能门的自主开锁(或门开锁的自主性),指的是无需诸如智能手机等外界设备的控制,由门自身进行开锁。如此,即使用户未携带智能手机也能进入家门,使得智能门的功能更为多样性,提升了用户的体验。此外,在智能门设备运行的两种环境中,由具有更高安全性的TEE环境中的TA进行开锁请求待指令的响应,可使开锁操作更为安全。
由于开锁请求指令来源于REE中的CA,对开锁请求指令进行分析并确定是否开锁的过程由TEE中的TA实现,所以本公开实施例的方案可通过REE中的应用CA和TEE中的TA之间的交互而实现。可以理解,在智能门运行的两种环境中,第一参考数据可以预先设置并存储在REE中、或者存储在TEE中。如果存储在为TEE开辟的存储空间中,待到使用时,TA直接从存储空间中读取出即可。如果存储在REE中,TA可请求REE中存储的第一参考数据,如向REE中的指定CA如CA 1发送请求第一参考数据的消息,CA 1接收到该消息,读取第一参考数据并将其通过CA 1和TA之间的API接口反馈至TA。
作为第一种实现方式,所述第一参考数据可以是预先设置的白名单,白名单记录有允许TEE中的TA进行响应的请求。这种情况下,前述的S203为:确定所述白名单中是否存在有开锁请求指令。如,判断开锁请求指令是否出现在白名单中。如果判断为出现,则确定白名单中存在有开锁请求指令;如果判断为未出现,则确定白名单中未存在开锁请求指令。在确定白名单中存在有开锁请求指令的情况下,说明开锁请求指令是需要TA进行响应的指令,需要TA进行响应的指令通常被TA认为是合理或合法的指令,生成开锁请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA产生开锁指令,智能门的门锁开启。在确定白名单中未存在有开锁请求指令的情况下,说明开锁请求指令是不需要TA进行响应的指令,不需要TA进行响应的指令通常被TA认为是不合理或不合法的指令,生成开锁请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃开锁请求指令不响应。这种利用白名单分析开锁请求指令是否合理或合法的方案,为TA采用的其中一种安全机制,利用这种安全机制可保证智能门锁的合理开启,提高安防的可靠性和安全性。
针对前述的CA向TEE环境中的TA请求调节智能门上设置的喇叭的音量的指令,TA也可不直接对其进行响应,而判断其是否被记录在白名单中。如果该指令被记录在白名单中,则说明其为需要TA进行响应的指令,TA根据该请求对喇叭的音量进行自动调节。如果其未被记录在白名单中,则TA不需要对其进行响应。依据白名单进行需要响应的指令的过滤,可保证对指令的正确响应,避免本不该响应的情况下进行了响应而导致的安全性不足的问题。
作为第二实现方式,所述第一参考数据可以是预先设置的黑名单。所述黑名单记录有禁止TA进行响应的请求。这种情况下,前述的S203为:确定所述黑名单中是否存在有开锁请求指令。如,判断开锁请求指令是否出现在黑名单中。如果判断为出现,则确定黑名单中存在有开锁请求指令;如果判断为未出现,则确定黑名单中未存在开锁请求指令。在确定黑名单中存在有开锁请求指令的情况下,说明开锁请求指令是不需要TA进行响应的指令,不需要TA进行响应的指令通常被TA认为是不合理或不合法的指令,生成开锁请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃开锁请求指令不响应。在确定黑名单中未存在有开锁请求指令的情况下,生成开锁请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA产生开锁指令,智能门的门锁开启。这种利用黑名单分析开锁请求指令是否合理或合法的方案,为TA采用的其中一种安全机制,利用这种安全机制可保证智能门锁的合理开启,提高安防的可靠性和安全性。
针对前述的CA向TEE环境中的TA请求调节智能门上设置的喇叭的音量的指令,如果该指令未被记录在黑名单中,则说明其为需要TA进行响应的指令,TA根据该请求对喇叭的音量进行自动调节。如果该指令被记录在黑名单中,则说明其为不需要TA进行响应的指令,TA丢弃该指令。依据黑名单进行不需要TA响应的指令的过滤,可保证TA对指令的正确响应,避免本不该响应的情况下进行了响应而导致的安全性不足的问题。
作为第三实现方式,所述第一参考数据包括预先设置的第一数据。第一数据用于记录在REE中被TEE中的接收到开锁请求指令的TA授权的、能够与所述TA进行通信的CA的标识。这种情况下,前述的S203为:TA获得REE中发送开锁请求指令的CA的标识如应用的ID(Identity Document,身份标识号),基于CA的ID和第一数据,判断发送开锁请求指令的CA是否是TA授权的可与其进行通信的CA。即,判断发送开锁请求指令的CA的应用ID是否出现在第一数据中。如果出现在第一数据中,则发送开锁请求指令的CA是TA授权的可与其进行通信的CA,如果未出现在第一数据中,则发送开锁请求指令的CA不是可与TA进行通信的CA。如果发送开锁请求指令的CA是TA授权的可与其进行通信的CA,生成开锁请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA产生开锁指令,智能门的门锁开启。如果发送开锁请求指令的CA不是可与TA进行通信的CA,生成开锁请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃开锁请求指令不响应。这种利用REE环境中发送开锁请求指令的CA的标识以及第一数据分析开锁请求指令是否合理或合法的方案,为TA采用的其中一种安全机制,利用这种安全机制可保证智能门锁的合理开启,提高安防的可靠性和安全性。
针对前述的CA向TEE环境中的TA请求调节智能门上设置的喇叭的音量的指令,如果发送该调节指令的CA不是可与TA进行通信的CA,生成请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃请求调节指令不响应。如果发送该调节指令的CA是可与TA进行通信的CA,生成请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA对该请求调节指令进行响应,自动调节喇叭音量。依据第一数据和CA的标识进行指令的过滤,可保证TA对指令的正确响应,避免本不该响应的情况下进行了响应而导致的安全性不足的问题。
作为第四实现方式,所述第一参考数据包括预先设置的第二数据。第二数据记录有为接收到开锁请求指令的TA和REE中能够与所述TA进行通信的应用之间建立的安全传输通道的标识。这种情况下,前述的S203为:TA获得发送的所述开锁请求指令的CA的标识如应用的ID、和所述开锁请求指令在从REE中传输至TEE中所使用的传输通道的标识,确定所述应用ID和所述传输通道的标识是否出现在第二数据中。即,判断所述应用ID和所述传输通道的标识是否出现在第二数据中。如果判断为所述应用ID和所述传输通道的标识均出现在第二数据中,说明发送开锁请求指令的CA是REE中能够与TA进行通信的应用且所述开锁请求指令从REE中传输至TEE中所使用的传输通道是预先设定的安全传输通道。如果判断出所述应用ID出现在第二数据中、所述传输通道的标识未出现在第二数据中,说明开锁请求指令从REE中的CA传输至TEE中的TA未使用预先设定的安全传输通道。如果判断出所述传输通道的标识出现在第二数据中、所述应用ID未出现在第二数据中,说明开锁请求指令使用的传输通道是预先设定的安全传输通道但不是来源于可与TA进行通信的CA的。为避免开锁请求指令不是来源于指定的CA和不是通过指定的安全传输通道传输到TA的带来的指令信息不安全的问题,本实施方式下,只有REE中发送开锁请求的应用ID和传输通道的标识均出现在第二数据中,才生成开锁请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA产生开锁指令,智能门的门锁开启。如果应用ID和传输通道的标识这两种信息中仅有其中一种信息出现在第二数据中、或均未出现在第二数据中,则生成开锁请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃开锁请求指令不响应。这种CA的标识、传输通道的标识以及第二数据,分析开锁请求指令是否合理或合法的方案,为TA采用的其中一种安全机制,利用这种安全机制可避免开锁请求指令来源于非合理的CA(TA不期望与其进行通信的CA)以及从未指定的传输通道传输至TA,保证了智能门锁的合理开启,提高安防的可靠性和安全性。
针对前述的CA向TEE环境中的TA请求调节智能门上设置的喇叭的音量的指令,如果发送该调节指令的CA的ID和传输通道的标识这两种信息中仅有其中一种信息出现在第二数据中、或均未出现在第二数据中,则生成开锁请求指令为不合理或不合法的指令的第一分析结果,针对此第一分析结果,TA丢弃该请求指令不响应。只有REE中发送音量调节请求的应用ID和传输通道的标识均出现在第二数据中,才生成音量调节请求指令为合理或合法的指令的第一分析结果,针对此第一分析结果,TA产生调节指令,调节智能门上设置的喇叭的音量。
前述的第一实现方式至第四实现方式,可认为是利用白名单、黑名单、第一数据和第二数据中的至少一种数据对REE中的开锁请求指令或请求调节指令进行过滤的方案,过滤出合理或合法的指令,TA对合理或合法的指令进行响应。对于过滤掉的非合理或非合法的指令,TA丢弃,不响应。这种方案可保证避免对本不该响应的指令进行了响应,避免了损失的产生,为用户提高了良好的安防体验。在前述的第一实现方式至第四实现方式中,每种方式均可作为一个独立的方案进行使用,其中任意两种或两种以上的方案也可进行结合使用,以实现本公开实施例的TEE中的安全控制方法。其中,在利用任意两种或两种以上的方案进行结合使用时,需要在每种方案下均得出开锁请求指令为合理或合法的指令的分析结果下TA才能产生开锁指令,如此保证了智能门锁的合理开启,避免了因开锁请求指令是黑客篡改的伪指令而错误响应带来的经济受损问题。
图4为本公开实施例的TEE中的安全控制方法的实现流程示意图三。如图4所示,所述方法包括:
S301:获得开锁请求指令,所述开锁请求指令是通过所述CA与所述TA之间的应用程序接口由所述REE中的CA传输至所述TEE中的TA的;
S302:获得第一参考数据和第二参考数据,其中,所述第一参考数据为与开锁请求指令的属性相关的数据;所述第二参考数据表征为在所述智能门设备采集到的监控信息中出现的对象的身份信息;
本步骤中,与TEE环境具有高安全性的特性而言,REE环境下的安全性较弱,REE环境中的CA产生的开锁请求指令,可能是合理的指令,如真的有人在门外请求开锁,也有可能是黑客入侵至REE环境中篡改程序而产生的伪开锁指令。为避免对伪开锁指令的响应,TA可依据前述的白名单、黑名单等第一参考数据确定是否需要响应来自REE环境的开锁请求。此外,在图4所示的方案中,还可以从监控信息中出现的对象的身份这一角度来避免对不该响应的指令如伪指令的响应。可以理解,如果监控信息中出现有(监控)对象,那么可以认为真的有人在门外请求开锁,来自REE环境的开锁请求指令不是伪开锁指令,但TA是否需要对该开锁请求指令进行响应,还需要参见后续方案的说明。
可以理解,智能门外的环境可视为监控环境,智能门上设置有至少一个信息采集装置,信息采集装置可对监控环境进行监控得到监控信息。监控信息中出现的对象的身份信息可以是人脸ID(身份标识号,Identity )、指纹ID、声纹ID、眼膜ID、虹膜ID等。
本公开实施例中,智能门设备可通过信息采集装置对智能门外的监控环境进行监控信息的采集。信息采集装置的数量为一个、或两个及以上。在实际应用中,对智能门外的环境的监控可从图像、声音等方面进行监控,所以本公开中使用的信息采集装置可以分为三种类型:图像采集装置、声音采集装置、指纹采集装置。对应地,利用前述三种类型的信息采集装置得到的监控信息分别为图像信息、声音信息、指纹信息。为方便描述,特将指纹作为一种特殊的图像信息进行描述。在实际应用中,所有信息采集装置可以全部是图像采集装置如摄像头,可以全部是声音采集装置如麦克风,可以全部是指纹采集装置,还可以前述三种信息采集装置中的至少两种的混合使用。
在信息采集装置是图像采集装置的情况下,智能门上设置的至少一个摄像头在其自身所处的位置上对智能门外的监控区域进行图像采集,得到的监控信息为监控画面。可以理解,监控画面中可以出现有人脸图像、人的眼膜、人眼的虹膜等用户的目标信息。如果TEE中的TA获得的监控信息是摄像头采集到的监控画面,则其可利用监控画面中出现的人脸图像、人的眼膜和人眼的虹膜等中的至少一种目标信息对监控画面中出现的人进行身份的识别。
在图像采集装置是声音采集装置的情况下,智能门上设置的至少一个麦克风在其所处的位置对智能门外产生的声音进行采集,得到的监控信息是音频信息。在监控信息是音频的情况下,监控到的音频中出现的人的声音即为监控信息中的目标信息。如果TEE中的TA获得的监控信息是麦克风采集到的音频信息,则其可利用监控到的声音信息对监控画面中出现的人进行身份的识别。
智能门上设置一个指纹采集面板,作为一种指纹采集装置,可用于供用户向面板输入指纹信息。在信息采集装置是指纹采集装置的情况下,通过指纹采集装置得到的监控信息是指纹信息。可以理解,如果TEE中的TA获得的监控信息是指纹信息,则其可利用用户向指纹采集面板输入的指纹对该用户进行身份的识别。
本公开实施例中的三种类型的信息采集装置可在REE环境中进行监控信息的各自采集。REE环境中的CA可通过API接口向TEE环境中的需要使用监控信息的TA传输各信息采集装置在REE环境中采集到的监控信息。这种情况下,本公开实施例的方案可视为是一种基于REE中的CA和TEE中的TA之间的交互而实现的方案。本公开实施例中的三种类型的信息采集装置也可在TEE环境中进行监控信息的各自采集。运行在TEE环境中的需要使用监控信息的TA可读取或接收由这几种类型的信息采集装置采集到的监控信息。以上描述可视为TA获得信息采集装置对监控环境进行监控而得到的监控信息的两种方式,可根据实际使用情况而选择使用何种方式。当然,三种类型的信息采集装置在TEE环境中进行监控信息的各自采集,在TEE环境中得到的监控信息不易被篡改,可保证采集到的监控信息的安全性。信息采集装置在REE环境中进行监控信息的采集,还是在TEE环境中进行监控信息的采集,视具体情况而定。其中,三种类型的信息采集装置在REE环境中进行各自的采集可有效减轻TEE环境下的资源处理负担,提高TEE环境下的应用的处理效率。
在采用至少两种信息采集装置进行监控信息采集的方案中,可基于从不同的信息采集装置处得到的监控信息分别进行在监控信息中出现的对象的身份的识别,并比较识别出的身份是否一致。如果比较为一致,如均识别出是自家人的身份,则继续流程。如果比较为不一致,还需要判断识别出的身份是否是自家人的身份,如果是,则可继续流程。如果不是,则可结束流程。示例性地,通过从图像采集装置处获得的人脸图像识别在监控区域内出现的人为自家人如爸爸,通过从声音采集装置处获得的声音信息识别在监控区域内出现的人不是自家人、而是陌生人,则结束流程。或者,通过从图像采集装置处获得的人脸图像识别在监控区域内出现的人为自家人如爸爸和妈妈,通过从声音采集装置处获得的声音信息识别在监控区域内出现的人仅是妈妈(在门外只有妈妈在说话,爸爸没有说话),都是自家人,则可继续流程。
在采用至少两种信息采集装置进行监控信息采集的方案中,还可以基于从图像采集装置处得到的监控信息进行在监控信息中出现的对象的身份的识别,利用其它类型的信息采集装置如指纹采集装置和/或声音采集装置采集到的监控信息对利用图像采集装置采集到的监控信息识别的身份进行进一步确认。示例性地,在利用图像采集装置采集到的监控信息识别出是自家人的情况下,输出令用户输入语音的提示,在提示下用户说话,声音采集装置采集用户的声音信息,从声音信息中识别出该用户的声纹,基于声纹信息确定该用户的身份信息。此外,还可以在利用图像采集装置采集到的监控信息识别出是自家人的情况下,输出令用户输入指纹的提示,在提示下用户输入指纹,指纹采集面板采集用户的指纹,从指纹信息中识别出该用户的指纹,基于指纹信息确定该用户的身份信息。可以理解,由于每个人的声纹信息和指纹信息具有唯一性,在从图像采集装置处得到的监控信息进行在监控信息中出现的对象的身份的识别的情况下,利用声纹信息和指纹信息进行身份的识别,可避免误判,实现了对身份信息的双重判别,保证身份的识别准确性。
在前述提示用户说话的方案中,声音采集装置还可以通过对出现在门外的用户与智能门的音频输出模块之间的对话进行采集的方式获得出现在门外的用户的声音信息。其中,对话内容可以是实际应用中出现的合理内容,例如音频输出模块输出“你是谁”,出现在门外的人回答“我是张三”,如此声音采集装置采集到出现在门外的用户的声音信息。音频输出模块输出的内容可以模拟自家人的说话方式,如语气、语调、语速等,以令出现在门外的人听起来像是家里有人的场景,如此可避免不法人员如小偷意图盗窃行为的产生。其中,音频输出模块输出的内容可以人工设定或更改,还可以根据自家人的说话习惯而灵活输出。示例性地,在实际生活中当门外有人敲门时妈妈习惯说“哪位”,爸爸习惯说“请稍等”,智能门上的处理器可根据家中每个人在平日里的对话习惯学习到每个人的说话习惯,根据说话习惯来模仿每个人。如,音频输出模块可模仿妈妈的说话习惯输出“哪位”,或者模仿爸爸的说话习惯输出“请稍等”。如果在门外有人敲门的情况下,只有小孩子或老人在家,小孩子或老人针对门外敲门的这一事件给予一定的反馈如说“来了,请稍等”,则处理器还可以将小孩子或老人的声音进行音效的处理,处理成中青年的声音,音频输出模块输出该声音,以避免小偷意图盗窃行为的产生。
S303:根据所述第一参考数据,分析所述开锁请求指令的合理性或合法性,得到第一分析结果;
S304:根据所述第二参考数据,分析所述开锁请求指令的合理性或合法性,得到第二分析结果;
本步骤中,根据TA得到的在信息采集装置采集到的监控信息中出现的对象的身份信息,对开锁请求指令的合理性或合法性进行分析,得到第二分析结果。
S303和S304无严格的先后顺序,还可以同时进行。
S305:根据所述第一分析结果和第二分析结果,确定是否对所述开锁请求指令进行响应。
本步骤中,在第一分析结果和第二分析结果均表征开锁请求指令是合理或合法的指令时,所述TA产生开锁指令,所述开锁指令可用于控制智能门的门锁开启。在第一分析结果和第二分析结果中有至少一个分析结果表征开锁请求指令是不合理或不合法的指令时,TA丢弃开锁请求指令,不响应开锁请求指令。
S301~S305的执行主体为TEE中的TA。S301~S305中与S201~S204中的相同之处请参见前述对S201~S204的相关说明,重复之处不赘述。
从S301~S305中可以看出,在TEE中的TA获得来自REE环境中的CA的开锁请求指令的情况下,TA获得两个参考数据(第一参考数据和第二参考数据),依据两个参考数据分别对开锁请求指令的合理性或合法性进行分析,根据两个分析结果确定是否对开锁请求指令进行响应。其中,依据第一参考数据和第二参考数据分别对开锁请求指令的合理性或合法性进行分析,相当于从指令自身的属性和监控环境中出现的监控对象的身份这两个角度分别对开锁请求指令进行分析,从监控环境中出现的监控对象的身份这个角度进行分析可在一定程度上确保由REE环境中的CA发送至TA的开锁请求指令是在合理情况下(如真的有人请求开门)产生的指令,并非是REE环境中由于被黑客非法篡改程序而产生的指令。根据两个分析结果确定是否对开锁请求指令进行响应,可在一定程度上实现了正确开锁。TA采用这种安全机制确定是否开锁,可大大避免对开锁请求指令的错误响应,避免本不该开锁的情况下开锁事件的发生,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失,提高了安防的可靠性。
可以理解,根据第一和第二两个分析结果确定是否对开锁请求指令进行响应的方案除了可以采用S301-S305所示的流程,还可以是:在第一分析结果表征根据第一参考数据得到开锁请求指令为合理或合法的指令的情况下,获得第二参考数据,根据所述第二参考数据,分析所述开锁请求指令的合理性或合法性,得到第二分析结果;根据第二分析结果和表征为开锁请求指令合理或合法的第一分析结果,确定TA是否对所述开锁请求指令进行响应。
在根据第一和第二两个分析结果确定是否对开锁请求指令进行响应的两种方案中,均可避免对开锁请求指令的错误响应,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失。作为一种实现方式,所述获得第二参考数据的方案为:所述TA获得所述信息采集装置在所述REE或在所述TEE中采集到的监控信息,所述监控信息中出现有目标信息,所述目标信息包括以下其中至少之一:人脸图像、指纹、声音、虹膜和眼膜信息;所述TA从所述目标信息中提取在所述监控信息中出现的对象的生理特征信息;基于所述生理特征信息,识别在所述监控信息中出现的对象的身份信息。其中,基于监控信息中出现的对象的生理特征信息对所述对象进行身份识别,可保证身份识别的准确性。
其中,所述TA从所述目标信息中提取在所述监控信息中出现的对象的生理特征信息;基于所述生理特征信息,识别在所述监控信息中出现的对象的身份信息的技术方案可通过如下两种方式实现:
第一种方式:所述TA调用被存储的深度神经网络模型,以使所述深度神经网络模型基于所述目标信息对所述生理特征信息进行提取并基于所述生理特征信息对所述监控信息中出现的对象的身份进行预测得到所述对象的身份信息;
第一种方式的执行主体为TA。深度神经网络模型可以是预先训练好的,训练过程可以发生在REE中还可以发生在TEE中。训练好的深度神经网络模型可以被存储在为TEE开辟的存储空间中、或被存储在为REE开辟的存储空间中。为TEE开辟的存储空间和为REE开辟的存储空间在物理在被隔离开,如存储到不同的存储器中或相同存储器的不同存储地址中。待到需要时,从为TEE开辟的存储空间中调取,或者TA向REE中的CA如CA1请求该模型并接收由CA 1反馈回的该模型。如图7所示,深度神经网络模型大致包括输入层、卷积层和输出层。其中,卷积层的数量可以为一个,还可以为两个或两个以上。进一步的,卷积层之间还可以出现池化层,用于对数据进行降维,以减少神经元的计算工作量,其数量可以是一个,还可以是两个或两个以上。其中,输入层用于接收目标信息。卷积层用于对目标信息中的生理特征信息进行提取。通常提取出的生理特征信息为多维矩阵,维度较高,池化层用于对提取出的生理特征信息进行降维,以减少计算工作量。输出层用于基于目标信息中提取出的生理特征信息,对监控信息中出现的人的身份是否是自家人的身份进行预测并输出预测结果。如输出层包括判别器,用于预测出监控信息中出现的人的身份是自家人中的每个人的概率,并与设定的概率阈值进行比较,根据比较结果进行输出。示例性地,预测出是爸爸的概率为0.2,预测出是妈妈的概率为0.7,预测出是孩子的概率是0.1,预测出是妈妈的概率大于预定的概率阈值0.6,则输出层输出预测结果-在监控信息中出现的人的身份是妈妈的身份ID。预测出是爸爸的概率为0.2,预测出是妈妈的概率为0.3,预测出是孩子的概率是0.1,预测出所有概率均小于概率阈值,则输出层输出预测结果-监控信息中出现的人不是自家人、是陌生人。由于深度神经网络模型具有很强的健壮性和鲁棒性,所以依据深度神经网络模型识别出的身份信息的准确性更高。
本公开实施例中的深度神经网络模型可以是能够识别出人脸的神经网络模型,可以是识别出指纹的神经网络模型,可以是识别出声纹的神经网络模型,还可以是识别出眼膜或虹膜的神经网络模型。如果监控信息中出现的是人脸图像,则调用可识别出人脸的神经网络模型进行身份识别。如果监控信息中出现的是指纹信息,则调用可识别出指纹的神经网络模型进行身份识别。如果监控信息中出现的是声音信息,则调用可识别出声纹的神经网络模型进行身份识别。如果监控信息中出现的是眼膜或虹膜信息,则调用可识别出眼膜或虹膜的神经网络模型进行身份识别。
本公开实施例中的深度神经网络模型可以是任何合理的能够识别出用户身份的模型,如多任务卷积神经网络(MTCNN)、残差神经网络(ResNet)、孪生卷积神经网络模型、卷积神经网络(CNN)、深度卷积网络(DNN)等。以上模型如果在图7所示的模型基础上产生任何合理的变型,其也在本公开实施例的覆盖范围内。
第二种方式,调用存储的生理特征信息;将从所述目标信息中提取出的生理特征信息与存储的生理特征信息进行相似度匹配;根据匹配结果,确定所述身份信息。
第二种方式的执行主体为TA。预先在为TEE或REE开辟的存储空间中存储每个家人的人脸特征、指纹特征、声纹特征、虹膜特征、眼膜特征等,作为在TEE中存储的生理特征信息。待到使用时,从为TEE开辟的存储空间中读取出,或者TA向REE中的CA如CA1请求该生理特征信息并接收由CA 1反馈回的该生理特征信息。从目标信息中提取出在监控环境中出现的人的生理特征信息,判断提取出的生理特征信息与读取出的哪个家人的生理特征的相似度高于预定相似度如90%。如果判断出提取出的人脸特征与爸爸的人脸特征的相似度高于90%,则确定当前出现在门外的人是自家人,且是爸爸,确定当前出现在门外的人的身份ID是爸爸的身份ID。如果在监控环境中出现的人的生理特征信息与读取出的所有家人的生理特征的相似度均小于预定相似度,则认为在监控环境中出现的人不是自家人、是陌生人。这种通过相似度匹配的方式可保证对出现在监控信息中的人的身份的识别准确性。
在一个可选的实施例中,可以同时通过前述的两种方式进行身份信息的识别,并确定通过两种实现方式得到的身份信息是否一致,如果一致,则TA继续执行流程,确定识别出的身份信息是否为预定对象的身份信息。如果不一致,则结束流程。以避免错误开锁为用户带来的损失,提高用户体验。
在前述的两种方式中,如果目标信息是人脸图像,那么提取出的生理特征可以是人脸特征、眼膜特征和虹膜特征。人脸特征包括轮廓、颜色、大小、人脸边缘特征等。眼膜或虹膜特征包括眼膜或虹膜的轮廓、颜色、大小、边缘特征等。如果目标信息是指纹图像,那么提取出的生理特征可以是指纹的走向、纹路等。如果目标信息是声音,那么提取出的生理可以是声纹信息如声音的频率和波动幅度。由于每个人的生理特征都有唯一性,利用这种唯一性对人的身份进行识别,可保证身份识别的准确性。
在前述的两种方式中,深度神经网络模型和生理特征信息是存储在TEE中还是存储在REE中视具体情况而设置。如果存储在REE中,可TA需要向REE中的CA进行模型和生理特征信息的请求,则本公开实施例的方案可视为是一种基于REE中的CA和TEE中的TA之间的交互而实现的方案。作为一种可实现方式,所述根据第二参考数据,分析所述开锁请求指令的合理性或合法性,得到第二分析结果,可通过如下方式来实现:确定所述对象的身份信息是否为预定对象的身份信息;在确定所述对象的身份信息为预定对象的身份信息时,得出开锁请求指令合理或合法的第二分析结果;在确定所述对象的身份信息不为预定对象的身份信息时,得出开锁请求指令不合理或不合法的第二分析结果。可保证正确开锁,避免错误开锁带来的损失。
可以理解,确定所述对象的身份信息是否为预定对象的身份信息可以是确定所述对象的身份信息是否是自家人的身份信息,或是不仅确定是自家人的身份信息还确定是自家人中的谁的身份信息。示例性地,将家人的身份ID预先存储在为TEE开辟的存储空间中的,确定所述对象的身份信息是否是自家人的身份信息意在判断所述对象的身份信息是否出现在为TEE开辟的存储空间中,如果出现,就认为当前站在门外的人是自家人,如果未出现,就认为是陌生人。除此之外,在识别出当前在监控信息中出现的人是自家人的情况下,还可以将识别出的身份ID与每个家人的ID进行逐一匹配,判断识别出的身份ID与所有家人中谁的家人的ID为相同的ID。不仅得出当前站在门外的人是自家人还是陌生人的结论,在得出是自家人的情况下还可以识别出是自家人中的谁的身份信息。
在TA接收到REE中的CA发送的开锁请求指令的情况下,获得第一参考数据和第二参考数据,根据第一参考数据和第二参考数据分别对开锁请求指令是合理或合法指令、还是不合理或不合法指令进行分析,得到各自的分析结果。其中,根据第一参考数据对开锁请求指令进行分析得到分析结果的过程请见前述相关说明,重复之处不赘述。
现结合图8,对获得第二参考数据,并根据第二参考数据对开锁请求指令是合理或合法指令、还是不合理或不合法指令进行分析得到第二分析结果的过程做进一步说明。
下面结合图8所示的应用场景,在图8中以智能门设备包括一个摄像头(摄像头1)、一个指纹采集面板和一个麦克风为例,摄像头2可以设置在房子上,也可以设置在智能门上与摄像头1不同的位置处,使得两个摄像头在各自所处的位置对智能门外的环境进行监控。可以理解,在智能门外有人请求开门的情况下,至少摄像头1和/或摄像头2采集的监控画面中会出现人脸、眼膜和虹膜中的至少一种信息。在一些场景中,还可能会采集到声音信息和/或指纹信息。例如,如果请求开门的人是自家人,那么除了摄像头1和2能够采集到人脸、眼膜和虹膜中的至少一种信息,麦克风也会采集到声音信息,指纹采集面板会采集到指纹信息。
在TA接收到REE中的CA发送的开锁请求指令或第一分析结果表征开锁请求指令合理或合法情况(获得表征开锁请求指令合理或合法的第一分析结果的具体过程请参见前述相关说明)下,从至少一种信息采集装置处读取所述信息采集装置采集到的监控信息或接收由信息采集装置传输过来的监控信息。以读取为例,TA可以仅读取摄像头1或摄像头2拍摄到的监控画面,可以仅读取麦克风采集到的声音信息,可以仅读取指纹采集面板采集到的指纹信息。或者,读取其中两个或三个信息采集装置采集到的监控信息。如果读取的是一个信息采集装置采集到的监控信息,则根据前述的二种获得身份信息的方法中的至少一种对监控信息中出现的对象进行身份识别,得到身份信息,继续执行流程。如果读取是两个或两个及以上信息采集装置采集到的监控信息,则针对各个监控信息需要分别通过前述的二种获得身份信息的方法中的至少一种对各监控信息中出现的对象进行身份识别,并对各身份识别结果进行一致性对比,如果经过对比发现各自识别出的身份信息为相同的身份信息如为同一个人的身份ID,则可继续执行流程。如果经过一致性对比发现不是同一个人的身份ID,则重新进行监控信息的读取及身份的识别,或者结束流程。
在识别出监控信息中出现的对象的身份ID的情况下,确定该身份ID是否是自家人的身份信息,如果是,生成开锁请求指令合理或合法的第二分析结果,如果不是,生成开锁请求指令是不合理或不合法的第二分析结果。将第一分析结果和第二分析结果相结合,如果这两个分析结果均表征开锁请求指令合理或合法,则TA生成开锁指令,将门锁开启。如果这两个分析结果中至少其中一个结果表征开锁请求指令不合理或不合法,则TA丢弃该开锁请求指令,不响应。根据第一和第二两个分析结果确定是否对开锁请求指令进行响应,可保证开锁的准确性,避免错误开锁,提高安防的可靠性和安全性,为用户带来了良好的体验。
图5为本公开实施例的TEE中的安全控制方法的实现流程示意图四。如图5所示,所述方法包括:
S401:获得开锁请求指令,所述开锁请求指令是通过所述CA与所述TA之间的应用程序接口由所述REE中的CA传输至所述TEE中的TA的;
S402:获得第一参考数据和第三参考数据,其中,所述第一参考数据为与开锁请求指令的属性相关的数据;所述第三参考数据表征为所述智能门设备的合理使用用户的位置与所述智能门设备的位置之间的距离;
S403:根据所述第一参考数据,分析所述开锁请求指令的合理性或合法性,得到第一分析结果;
S404:根据所述第三参考数据,分析所述开锁请求指令的合理性或合法性,得到第三分析结果;
S405:根据所述第一分析结果和第三分析结果,确定是否对所述开锁请求指令进行响应。
本步骤中,在第一分析结果和第三分析结果均表征开锁请求指令是合理或合法的指令时,所述TA产生开锁指令,所述开锁指令可用于控制智能门的门锁开启。在第一分析结果和第三分析结果中有至少一个分析结果表征开锁请求指令是不合理或不合法的指令时,TA不响应开锁请求指令,丢弃开锁请求指令。
S401~S405的执行主体为TEE中的TA。S401~S405中与S201~S204中的相同之处请参见前述对S201~S204的相关说明,重复之处不赘述。
从S401~S405中可以看出,在TEE中的TA获得来自REE环境中的CA的开锁请求指令的情况下,TA获得两个参考数据(第一参考数据和第三参考数据),依据两个参考数据分别对开锁请求指令的合理性或合法性进行分析,根据两个分析结果确定是否对开锁请求指令进行响应。依据第一参考数据和第三参考数据分别对开锁请求指令的合理性或合法性进行分析,相当于从指令自身的属性、和智能门的合理使用用户与智能门之间的距离这两个角度分别对开锁请求指令进行分析,从合理使用用户和智能门之间的距离这个角度进行分析可在一定程度上确保由REE环境中的CA发送至TA的开锁请求指令是在合理情况下(如有人请求开门)产生的指令,并非是REE环境中由于被黑客非法篡改程序而产生的伪指令。根据两个分析结果确定是否对开锁请求指令进行响应,可在一定程度上实现了正确开锁。TA采用这种安全机制确定是否开锁,可大大避免对开锁请求指令的错误响应,避免本不该开锁的情况下开锁事件的发生,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失,提高了安防的安全性和可靠性。
可以理解,根据第一和第三两个分析结果确定是否对开锁请求指令进行响应的方案除了可以采用S401-S405所示的流程,还可以是:在第一分析结果表征根据第一参考数据得到开锁请求指令为合理或合法的指令的情况下,获得第三参考数据,根据所述第三参考数据,分析所述开锁请求指令的合理性或合法性,得到第三分析结果;根据第三分析结果和表征为开锁请求指令合理或合法的第一分析结果,确定TA是否对所述开锁请求指令进行响应。
在根据第一和第三两个分析结果确定是否对开锁请求指令进行响应的两种方案中,均可避免对开锁请求指令的错误响应,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失。作为一种实现方式,所述获得第三参考数据的方案包括:TA获得所述合理使用用户的终端的位置信息和智能门的位置信息,依据所述终端的位置信息和智能门设备的位置信息,计算所述终端和所述智能门设备之间的距离;将所述终端和所述智能门设备之间的距离视为所述智能门设备的合理使用用户的位置与智能门设备的位置之间的距离。相应的,根据所述第三参考数据,分析所述开锁请求指令的合理性或合法性,得到第三分析结果,包括:确定所述智能门设备的合理使用用户的位置与智能门设备的位置之间的距离是否位于距离阈值内,如果是,则生成开锁请求指令合理或合法的第三分析结果,如果否,则生成开锁请求指令不合理或不合法的第三分析结果。基于在TA接收到开锁请求指令时智能门设备的合理使用用户的位置、与智能门设备之间的距离是否位于距离阈值内的判断,可实现门锁的准确开启,提高了安防的可靠性。
可以理解,智能门设备的合理使用用户的位置可在TA接收到开锁请求指令时获取、或基于第一参考数据分析出开锁请求指令为合理或合法的指令时获取。其中,TA获得所述合理使用用户的终端的位置信息和智能门的位置信息的方案可通过如下两种方式中的任意一种方案实现:
第一种方案:所述TA向所述合理使用用户的终端发送请求定位信息、并接收所述终端依据所述请求定位信息而反馈回的所述终端的位置信息。
第一种方案相当于是运行在TEE中的TA直接向所述合理使用用户的终端请求该终端的定位信息。智能门的合理使用用户为自家人,预先将自家人的终端标识如手机号码存储在为TEE环境开辟的存储空间中。在TA获得开锁请求指令或得到表征为开锁请求指令合理或合法的第一分析结果的情况下,从存储空间中读取为存储的自家人的手机号码,向具有该手机号码的终端发送请求定位信息(请求该终端当前所处的位置),该终端接收到请求信息,将自身当前所处的位置信息反馈至TA。TA依据终端当前所处的位置和智能门设备的位置,计算二者之间的距离。
第二种方案:TA产生并发送所述通知消息至在REE中运行的目标应用,所述目标应用基于所述通知消息向所述合理使用用户的终端请求其位置信息,所述TA接收所述目标应用针对所述通知消息而反馈的所述终端的位置信息。
第二种方案相当于是运行在TEE中的TA通过运行在REE中的目标CA间接得到家人的终端的定位信息。这种情况下,本公开实施例的方案可视为是一种基于REE中的CA和TEE中的TA之间的交互而实现的方案。目标应用可以是预先指定在REE中运行的CA如CA 1。TA产生通知消息并将通知消息、和在存储空间中查找出的家人的终端标识发送至在REE中运行的CA1,CA1接收到通知消息向具有该标识的终端发送请求该终端的位置的消息,家人的终端接收到该消息,将自身当前所处的位置反馈回至CA 1,CA1接收到该终端的位置,将其发送至TA。TA 依据家人的终端当前所处的位置和智能门设备的位置,计算二者之间的距离。
在前述的两种方案中,家人的终端和智能门设备之间的距离即可视为在TA接收到开锁请求指令时或得到开锁请求指令合理或合法的第一分析结果时家人与智能门设备之间的距离。
可以理解,自家人可能为单个人,还可能为两个或两个以上的人,在方案一中TA可以向每个家人的终端发送请求定位信息,每个家人的终端将当前所处的位置信息均反馈至TA。在方案二中目标CA可以向每个家人的终端发送请求定位信息,每个家人的终端将当前所处的位置信息均反馈至CA,CA将其接收到的各个终端的位置信息反馈至TA。TA计算每个家人的终端与智能门设备之间的距离。判断在所有终端中是否存在有与智能门设备之间的距离在距离阈值内如0.2m(米)的终端,如果存在,可认为REE中的CA发送至TA的开锁请求指令是因为门外有家人请求开锁而产生的,并非是黑客入侵REE中而产生的伪指令,生成开锁请求指令合理或合法的第三分析结果。如果未存在,说明门外未存在家人请求开锁,REE中的CA发送至TA的开锁请求指令很可能是伪指令,可能是陌生人在请求开锁,生成开锁请求指令不合理或不合法的第三分析结果。
在一个可选的实施例中,可以同时通过前述的两种方案进行距离的计算,比较通过两种方案得到的距离之前的差异是否在可容忍范围内。如果在可容忍范围内,则TA 1继续执行流程。如果不在可容忍范围内,则结束流程。以避免错误开锁为用户带来的损失,提高用户体验。
前述的两种实现方式在工程上简单易行,可保证家人终端在TA接收到开锁请求指令或得到开锁请求指令为合理或合法的指令的第一分析结果的情况下所处的位置和智能门设备的位置之间的距离的计算准确性,由此可有效保证在自家人站在门外的情况下才开锁,提高家居安防的安全性。
图6为本公开实施例的TEE中的安全控制方法的实现流程示意图五。如图6所示,所述方法包括:
S501:获得开锁请求指令,所述开锁请求指令是是通过所述CA与所述TA之间的应用程序接口由所述REE中的CA传输至所述TEE中的TA的;
S502:获得第一参考数据、第二参考数据和第三参考数据,其中,所述第一参考数据为与开锁请求指令的属性相关的数据;所述第二参考数据表征为在所述智能门设备采集到的监控信息中出现的对象的身份信息;所述第三参考数据表征为所述智能门设备的合理使用用户的位置与所述智能门设备的位置之间的距离;
S503:根据所述第一参考数据,分析所述开锁请求指令的合理性或合法性,得到第一分析结果;
S504:根据所述第二参考数据,分析所述开锁请求指令的合理性或合法性,得到第二分析结果;
S505:根据所述第三参考数据,分析所述开锁请求指令的合理性或合法性,得到第三分析结果;
S506:根据所述第一分析结果和目标分析结果,确定所述TA是否对所述开锁请求指令进行响应,其中所述目标分析结果为第一分析结果和第二分析结果中的至少一种分析结果。
本步骤中,在第一分析结果、第二分析结果和第三分析结果均表征开锁请求指令是合理或合法的指令时,所述TA对开锁请求指令进行响应,产生开锁指令,所述开锁指令可用于控制智能门的门锁开启。在第一分析结果表征开锁请求指令合理或合法,但第二分析结果和第三分析结果中至少一个分析结果表征开锁请求指令是不合理或不合法的指令时,TEE丢弃开锁请求指令,不对所述开锁请求指令进行响应,所述智能门设备的与所述开锁请求指令对应的开锁操作被禁止。这种即使根据第一参考数据得出请求指令合理或不合法,但根据第二参考数据和/或第三参考数据得出请求指令不合理或不合法的方案,可视为根据第二参考数据和/或第三参考数据得出的分析结果对最终是否进行响应的影响大于根据第一参考数据得出的分析结果对最终是否进行响应的影响。即在对是否进行响应的结果中,第二参考数据和第三参考数据的重要程度高于第一参考数据,如此可实现正确的响应,避免不必要的响应。
S501~S506的执行主体为TEE中的TA。S501~S506中与S201~S204中的相同之处请参见前述对S201~S204的相关说明,重复之处不赘述。
从S501~S506中可以看出,在TEE中的TA获得来自REE环境中的CA的开锁请求指令的情况下,TA获得三个参考数据(第一至第三参考数据),依据三个参考数据分别对开锁请求指令的合理性或合法性进行分析,根据三个分析结果确定是否对开锁请求指令进行响应。其中,依据第一至第三参考数据分别对开锁请求指令的合理性或合法性进行分析,相当于从指令自身的属性、监控信息中出现的对象的身份信息、以及智能门的合理使用用户和智能门之间的距离这几个角度分别对开锁请求指令的合理或合法性进行分析,从身份信息和合理使用用户和智能门之间的距离等角度进行分析可在一定程度上确保由REE环境中的CA发送至TA的开锁请求指令是在合理情况下(如有人请求开门)产生的指令,并非是REE环境中由于被黑客非法篡改程序而产生的伪指令。根据三个分析结果确定是否对开锁请求指令进行响应,可在一定程度上实现了正确开锁。TA采用这种安全机制确定是否开锁,可大大避免对开锁请求指令的错误响应,避免本不该开锁的情况下开锁事件的发生,避免对黑客侵入至REE环境中模拟并生成的伪开锁指令进行响应而产生的经济损失,提高了安防的可靠性,保证了安防的安全性。
可以理解,根据第一、第二和第三这三个分析结果确定是否对开锁请求指令进行响应的方案除了可以采用S501-S506所示的流程,还可以是:在第一分析结果表征根据第一参考数据得到开锁请求指令为合理或合法的指令的情况下,获得第二参考数据,根据所述第二参考数据,分析所述开锁请求指令的合理性或合法性,得到第二分析结果;在第二分析结果表征根据第二参考数据得到开锁请求指令为合理或合法的指令的情况下,获得第三参考数据,根据所述第三参考数据,分析所述开锁请求指令的合理性或合法性,得到第三分析结果;根据第一至第三分析结果,确定TA是否对所述开锁请求指令进行响应。在第一分析结果、第二分析结果和第三分析结果均表征开锁请求指令是合理或合法的指令时,TA对开锁请求指令进行响应,产生开锁指令,门锁开启。如此,可保证门锁的正确开启,提高安防的可靠性、安全性和智能性。
前述方案中,对至少一个参考数据的分析和确定是否开锁的方案均在TEE中的单个TA中实现的,如前述的图2至图6的方案由TEE中的第一TA(如图1的TA 1)实现。除此之外,还可以将获得目标请求指令、对至少一个参考数据的获得和分析的过程放在TEE中的第一TA中实现,将确定是否响应指令的方案放在TEE中的第二TA(如图1的TA 2)中实现。即,第一TA可将根据第一参考数据对目标请求指令如开锁请求指令的合理性或合法性进行分析而得到的第一分析结果通过第一TA与第二TA之间的通信接口传输至第二TA,所述第一分析结果可供第二TA确定是否对开锁请求指令进行响应。或者,第一TA可将根据第一参考数据、第二参考数据对目标请求指令如开锁请求指令的合理性或合法性进行分析而得到的第一分析结果、第二分析结果通过第一TA与第二TA之间的通信接口传输至第二TA,所述第一分析结果和第二分析结果可供第二TA确定是否对目标请求指令如开锁请求指令进行响应。或者,第一TA可将根据第一参考数据、第二参考数据、第三参考数据对开锁请求指令的合理性或合法性进行分析而得到的第一分析结果、第二分析结果、第三分析结果通过第一TA与第二TA之间的通信接口传输至第二TA,所述第一分析结果、第二分析结果和第三分析结果可供第二TA确定是否对目标请求指令如开锁请求指令进行响应。简言之,TA 1将经分析得到的分析结果通过TA 1和TA 2之间的通信接口传输至TA 2,TA 2根据TA 1得出的分析结果确定是否进行开锁。TA 2根据TA 1得出的分析结果确定是否进行开锁的方案与前述的TA 1根据分析结果确定是否进行开锁的方案类似,不赘述。
将对至少一个参考数据的分析和确定是否响应如开锁这两个执行流程部分放在两个TA中进行,可避免TA 1执行两个流程部分的执行进度慢而无法及时开锁的问题。此外,本公开实施例中的TA 2也可以获得第二参考数据和/或第三参考数据,根据第二参考数据和/或第三参考数据得出对应的分析结果,即,TA 2自身也可像TA 1那样根据第二参考数据和/或第三参考数据、从智能门设备与家人的终端之间的距离和在监控信息中出现的人的身份等两个角度分析TA 1接收到的开锁请求指令是否合理或合法,得出自身的分析结果。TA 2将接收到的TA 1得出的分析结果和自身得出的分析结果进行结合,来确定是否进行开锁。示例性地,只有在TA 1得出的分析结果和TA 2得出的分析结果均表征开锁请求指令合理或合法的情况下,TA 2才产生开锁指令使得门锁开启。如此,可大大保证开锁的安全性,提高安防的可靠性和智能性。其中,TA 2获得第二参考数据的过程与TA 1获得第二参考数据的过程类似,可仅从一个信息采集装置处读取监控信息并识别监控信息中出现的人的身份,或者从两个或两个及以上的信息采集装置处读取监控信息并识别人的身份。如果从两个或两个及以上的信息采集装置处读取监控信息并识别人的身份,可对基于从各信息采集装置处得到的监控信息中识别出的人的身份信息是否一致,一致时,继续分析TA 1接收到的开锁请求指令是否合理或合法的流程。如果不一致,则结束流程。在TA 1和TA 2均基于各自读取的监控信息识别出人的身份信息的情况下,还需要将TA 1识别出的人的身份信息与TA 2识别出的人的身份信息进行一致性比对,如果比对为一致,则继续流程。在TA 1和TA 2均进行身份识别,可避免TA 1身份识别出错的情况。在两个TA识别出的身份一致的情况下,依据对开锁请求指令的合理或合法性的分析确定是否开锁,可保证门锁的准确开启,提高安防的可靠性和智能性,保证了安全性。
可以理解,在相关技术中,如在家居的智能安防场景中,多数方案采用通过从用户的智能终端如智能手机向门发送开锁指令的方式实现对门锁的开启。这种方式是通过智能手机这个外界设备的控制实现的开锁。该方案,对于具有不法企图的人如黑客来说,其可以通过不法手段入侵入至手机并模拟出令门开锁的伪指令,如果用户的家门在接收到伪指令的情况下,对伪指令进行响应实现了开锁,可能发生家中财物被偷被盗的情况,为用户带来了经济损失,安防的安全性不足。利用本公开实施例的前述方案可解决前述问题,保证安防的安全性,还可提高智能性。
本公开实施例提供一种TEE中的安全控制装置,如图9所示,所述装置包括:
第一获得单元801,用于获得目标请求指令,所述目标请求指令是通过智能安防设备运行的富执行环境REE中的客户端应用CA与智能安防设备运行的可信任执行环境TEE中的可信任应用TA之间的应用程序接口由所述CA传输至所述TA的;
第二获得单元802,用于至少获得第一参考数据,所述第一参考数据为与目标请求指令的属性相关的数据;
分析单元803,用于根据所述第一参考数据,分析所述目标请求指令的合理性或合法性,得到第一分析结果;
确定单元804,用于根据所述第一分析结果,确定所述TA是否对所述目标请求指令进行响应。
在一个实施例中,所述第二获得单元802,用于:获得第二参考数据和/或第三参考数据;其中,所述第二参考数据表征为在所述智能安防设备采集到的监控信息中出现的对象的身份信息;所述第三参考数据表征为所述智能安防设备的合理使用用户的位置与所述智能安防设备的位置之间的距离;相应的,所述分析单元803,用于根据第二参考数据,分析所述目标请求指令的合理性或合法性,得到第二分析结果;和/或,根据第三参考数据,分析所述目标请求指令的合理性或合法性,得到第三分析结果;所述确定单元804,用于根据所述第一分析结果和目标分析结果,确定所述TA是否对所述目标请求指令进行响应,其中所述目标分析结果为第一分析结果和第二分析结果中的至少一种分析结果。
在一个实施例中,所述智能安防设备包括信息采集装置,所述信息采集装置在所述REE中对所述智能安防设备的监控环境中进行监控信息的采集;所述第二获得单元802,用于:获得所述信息采集装置在所述REE中采集到的监控信息,所述监控信息中出现有目标信息,所述目标信息包括以下其中至少之一:人脸图像、指纹、声音、虹膜和眼膜信息;从所述目标信息中提取在所述监控信息中出现的对象的生理特征信息;基于所述生理特征信息,识别在所述监控信息中出现的对象的身份信息。
在一个实施例中,所述第二获得单元802,用于:产生并发送所述通知消息至在REE中运行的目标应用,所述目标应用基于所述通知消息向所述合理使用用户的终端请求其位置信息,接收所述目标应用针对所述通知消息而反馈的所述终端的位置信息;和/或,向所述合理使用用户的终端发送请求定位信息、并接收所述终端依据所述请求定位信息而反馈回的所述终端的位置信息;获得智能安防设备的位置信息,并依据所述终端的位置信息和智能安防设备的位置信息,计算所述终端和所述智能安防设备之间的距离;将所述终端和所述智能安防设备之间的距离视为所述智能安防设备的合理使用用户的位置与智能安防设备的位置之间的距离。
在一个实施例中,所述分析单元803,用于:确定所述对象的身份信息是否为预定对象的身份信息;在确定所述对象的身份信息为预定对象的身份信息时,得出目标请求指令合理或合法的第二分析结果;在确定所述对象的身份信息不为预定对象的身份信息时,得出目标请求指令不合理或不合法的第二分析结果。
在一个实施例中,所述分析单元803,用于:确定所述智能安防设备的合理使用用户的位置与智能安防设备的位置之间的距离是否位于距离阈值内;在所述智能安防设备的合理使用用户的位置与智能安防设备的位置之间的距离位于距离阈值内时,得出目标请求指令合理或合法的第三分析结果;在所述智能安防设备的合理使用用户的位置与智能安防设备的位置之间的距离未位于距离阈值内时,得出目标请求指令不合理或不合法的第三分析结果。
在一个实施例中,所述第二获得单元802,用于:调用被存储的深度神经网络模型,以使所述深度神经网络模型基于所述目标信息对所述生理特征信息进行提取并基于所述生理特征信息对所述监控信息中出现的对象的身份进行预测得到所述对象的身份信息;和/或,调用被存储的生理特征信息;将从所述目标信息中提取出的生理特征信息与存储的生理特征信息进行相似度匹配;根据匹配结果,确定所述对象的身份信息。
在一个实施例中,所述确定单元804,用于:在所述第一分析结果表征根据所述第一参考数据分析所述目标请求指令合理或合法、但所述第二分析结果表征根据所述第二参考数据分析所述目标请求指令不合理或不合法和/或所述第三分析结果表征根据所述第三参考数据分析所述目标请求指令不合理或不合法的情况下,不对所述目标请求指令进行响应;在所述第一分析结果表征根据所述第一参考数据分析所述目标请求指令合理或合法、所述第二分析结果表征根据所述第二参考数据分析所述目标请求指令合理或合法、以及所述第三分析结果表征根据所述第三参考数据分析所述目标请求指令合理或合法的情况下,对所述目标请求指令进行响应。
前述方案中,目标请求指令可以为开锁请求指令,可以为调节喇叭音量的指令,或为其他任何合理的指令。智能安防设备优选为智能门设备。
需要说明的是,本公开实施例的TEE中的安全控制装置,由于该TEE中的安全控制装置解决问题的原理与前述的TEE中的安全控制方法相似,因此,TEE中的安全控制装置的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。
本公开实施例提供一种智能安防设备,所述智能安防设备能够运行有可信任执行环境TEE和富执行环境REE,所述TEE中运行可信应用TA,所述REE中运行有客户端应用CA,所述智能安防设备包括前述的TEE中的安全控制装置。由于该智能安防设备解决问题的原理与前述的TEE中的安全控制方法相似,因此,智能安防设备的实施过程及实施原理均可以参见前述方法的实施过程及实施原理描述,重复之处不再赘述。智能安防设备优选为智能门设备。
需要说明的是,本公开实施例中对各功能单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本公开的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)或处理器(processor)执行本公开各个实施例提供的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
图10为根据本公开实施例的智能安防设备的结构框图。如图10所示,该智能安防设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。存储器910和处理器920的数量可以为一个或多个。存储器910可以存储一个或多个计算机程序,当该一个或多个计算机程序被该智能安防设备执行时,使得该智能安防设备执行上述方法实施例提供的方法。
该智能安防设备还包括:通信接口930,用于与外界设备进行通信,进行数据交互传输。如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture ,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本公开实施例还提供一种计算机可读存储介质,其存储有计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行上述方法实施例提供的方法。本公开实施例还提供一种计算机程序产品,所述计算机程序产品用于存储计算机程序,该计算机程序被计算机执行时,所述计算机可以实现上述方法实施例提供的方法。本公开实施例还提供一种芯片,所述芯片与存储器耦合,所述芯片用于实现上述方法实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM) 、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataDate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct RAMBUS RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL)或无线(例如:红外、蓝牙、微波等 )方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质( 例如:数字通用光盘(Digital Versatile Disc,DVD) )或半导体介质(例如:固态硬盘(Solid State Disk,SSD) )等。值得注意的是,本公开提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
在不相互矛盾的情况下,本领域技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。在本公开实施例的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。以上所述仅为本公开的示例性实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。