能想到做智能门锁安全工作的大概时间点如下:
图 355
做这个事情有两个起因:
●随着电视业务的发展,电视上面越来越多会集成摄像头以完成更多的功能,比如视频通信、视频会议、手势识别等,所以被要求做一下电视摄像头的安全分析;
●海外业务团队经营压力增大,必须增加产品的品类,特别是那些利润高,在国内又好代工的产品,摄像头就是一个非常好的产品,特别是美国的市场,所以被邀请做一下海外摄像头的合规分析。
作为第一个原因的工作,就必须研究摄像头在电视上的安全控制的措施;而第二个原因,由于是独立产品,特别是销往美国,那么除了整体的安全,主要是研究其合规工作量以及其他公司都是怎么操作的。
由于有做战略规划而养成的习惯,做一件事情之前会先看看别人是怎么做的。
通过对市场带摄像头的电视进行研究,知道智能电视为了提升用户对于摄像头使用的安全感,一般采用的方式是:
●不用时断电隐藏;
●具备有摄像头物理开关;
●可以在系统中关闭权限;
●自动升降摄像头。
这些方式让用户可以感知到摄像头随时是被控制的,这属于硬安全。
图 356
可以把市场主要的主流电视机上使用的摄像头做一个对比:
图 357
可以看到:
●大家在电视上使用摄像头,主要用来做视频通话和人体动作识别;
●传统厂家对于摄像头的用途可能还更加激进一点,会用于会议和监控;
●有没有物理开关大部分要看产品,少这么一个开关估计可以节省一点成本;
●大部分产品在系统中都能进行权限设计,不过一般人对于系统权限还是有可能会担心的,系统的安全假如做得不好,系统权限很容易被应用偷偷打开的;
●还有一个就是韩星原来的电视有摄像头,但最新产品上已经去掉了摄像头,韩星是一个更加全球化的产品,海外对于安全与合规的要求更加高,这可能是去掉的主要原因。
●人工智能与用户数据会增加多模态的交互方式;
●5G和VR、AR的结合,可能会赋予用户沉浸式体验;
●客厅健身会逐渐成为主流健身方式之一。
通过对电视摄像头的洞察,可以得出摄像头将来可能用在以下的场景:
图 358
(1)大屏社交
一直认为视频通话是电视一个非常重要的方式,在十多年前就提出了类似创意,在 2012 年就提出一个“基于云电视的自动社交平台”的创意并且还制作成了动画片,当时手机应该刚进入3G时代,但目前体验还不是很老人化,也就是太复杂。
视频通话的安全问题也需要重视,当电视能视频通话了,它就不仅是一款电视了,不是只有广电会来管了。
家庭KTV也是一个方向,但肯定不常用,现在年轻人去KTV都越来越少了。这点在安全上的要求倒不多,但假如KTV是可以分享的,是可以远程一起唱的,那么就需要很高的安全要求。
在电视上使用云会议,各种要求较多,特别是安全要求,而且还有专门的会议电视。谁会用电视拍照和录制视频呢。
(2)儿童教育
在新冠肺炎疫情期间,儿童教育还有市场,但在如今阶段,需要和教育机构一起打造一个生态圈才可能发展起来,而使用App形式的体验肯定还不够。
和教育机构打造电视教育生态圈要不要教育相关部门点头呢?
(3)健康专项
室内健身确实是一个发力点,传统电视厂家可能缺乏把电视作为一个虚拟化健身室的创意,电视健身的安全要求较低,只要满足个人信息保护就行。
(4)游戏专区
在游戏方面,安全与合规要求应该较低,可能会是电视除了看视频的第二大用途,假如遥控器能有和PS一样的手柄用法,体验就更好了。
(5)智慧生活
除非全屋都智能化,要不单电视这块,在智慧生活很难大有作为,假如电视的手势控制体验能做起来,是一个方向,这点需要比较大的长期投入,传统厂家估计不会独立做,但引入第三方呢,大家又都同质化,倒是安全度要求不会太高,要看是否直接连接公网,各种信息都和个人信息相关,需要作为个人信息保护。
(6)个性服务
个性服务相当于其他,有些对于安全与合规要求肯定也会比较高。
假如已经有场景实际应用到产品设计中,那么需要对其设计做安全评估。
图 359
上面是假设在电视上主流的应用的安全情况。
游戏场景上是没什么安全风险的,也是因为选择的游戏为某大厂的产品,安全本就做得不错。在视频通话方面,相机等大多是自研场景或者是比较小的合作方,那么风险会较大,所以还是需要对其进行安全设计。
一个典型的摄像头权限设计如下:
图 360
该设计既可以一起关闭所有摄像头的权限,又可以独立设置哪些应用使用摄像头。
从整个系统来看安全设计情况:
图 361
这是在智能电视安全技术中,一直在使用的电视的系统架构。(2.3.6 系统服务接口安全)
整个摄像头的权限控制分为两个部分。
●总开关:摄像头管理服务会调用TV系统服务实现摄像头的机械控制,比如升降、开关等,而TV系统服务安全接口的设计里面已经描述了接口鉴权的方案。
●独立权限设置:在系统设置里的摄像头权限看到的开关,就是由调用系统接口管理提供的接口实现。
(1)服务栈
图 362
应用位于应用栈,使用Camera2 API和硬件进行交互。在内部,这些接口都会调用相应的Binder接口,访问与相机互动的原生代码,而相机服务栈是与HAL进行互动的实际代码。HAL定义了相机服务的调用、必须实现以保证相机硬件正常运行的标准接口,而相机的机械控制有CamerService对接TV系统功能接口完成。
(2)摄像头机械控制
图 363
安卓框架里面没有提供摄像头的机械控制功能,可以把这部分的功能写到一个独立的服务里,但电视系统里面有个TV系统服务,它是常驻服务还有ROOT权限,就是最好的选择了,而且该服务已经有完善的身份鉴权,可以杜绝非法应用对摄像头进行开启的操作。
完整的流程解析情况参阅前面章节。
海外曾经想扩展品类,其中就有家庭摄像头,而首先面向的市场是北美市场,因为经过市场调研,摄像头在北美市场的利润是非常可观的,大概就是国内一百多的摄像头在北美能卖个几十刀,所以应市场要求研究一下家庭摄像头在北美的安全与合规情况。
由于合规是法务的工作,所以这里主要描述其安全。
由于是新品类的产品,所以前面先分析摄像头在电视机中的安全情况。
注:电视摄像头的情况其实是包含在该任务里面,由于对于电视系统比较熟悉,故分析得比 较多,也做了单独的汇报,故让其单独成为一节。
曾经接收到第三方的某一款产品的工具扫描问题,反映了一些摄像头作为单独产品的一些安全问题。
图 364
该款产品存在以下一些问题。
●存储型XSS:这是没有校验存储到数据库中的参数是否合法的动作,那么就存在会把一些脚本当成信息存到数据库中,当取出来进行解析的时候,就能产生安全问题,比如数据库的姓名、密码等信息被直接显示等。
●反射型XSS:这款产品应该存在可访问的页面,由于没有对这个页面输入的URL做校验,所以会导致被浏览器引擎解析,从而获得系统权限或者出现信息泄露的情况。
●硬编码密码:扫描发现直接在代码里面写入默认的用户名和密码,比如user=”admin”,pass =”123456”,123456 这个密码常年排在弱密码第一位原来如此。
●密码明文保存:还是页面的问题,在页面输入的用户名和密码,假如不做适当的处理,就明文保存在数据库里,假如被拖库,那么所有密码就都泄露了。
●允许备份问题:在安卓系统中,有一个属性是运行采用U盘等外设备份应用的数据的,为了安全,最好对其进行处理,比如关闭它,或者做权限控制等。个人感觉不算一个安全漏洞,威胁不高。
独立摄像头首先可以用于视频通话,这是摄像头最常用的用法,而分析哪些产品会使用它来做视频通话的安全措施,可以从最熟悉的电脑手机分析起。
图 365
(1)物理开关
手机一般没有摄像头的开关,手机也不需要物理开关保证摄像头的安全。
某想的笔记本有一个物理开关,但MAC笔记本是没有的,买的电脑摄像头也有物理开关。
(2)显眼的提示
一般的手机都没有提示灯,可能有些手机有。
以前用过的各种Windows笔记本,大多都有灯提示,手头的MAC笔记本打开摄像头有一个绿灯提示。
(3)终端的权限控制
手机、Windows笔记本、MAC笔记本都有摄像头的权限开关。
(4)通信安全
手机和电脑的通信安全都依赖于在上面所运行的软件,比如微信、facTime、skype,经过了解,这些工具的安全措施都很完善。
(5)数据安全
通信安全类型,也依赖于各个应用对于自身数据的管控,但在Windows上,这些数据依赖于账户的安全性,而MAC上的权限管控会更加严格。
摄像头在会议系统上是必备的配件之一,那么分析会议系统的安全措施对于如何建设摄像头安全也尤为重要。
图 366
最出名的会议系统有webex、ZOOM和WhatsApp:
●提示上,这几个系统都是有的;
●通信安全上,都有端到端的加密系统;
●数据安全上,都采用了很高的加密算法;
●云端安全上,由于有了端到端,对云端安全的要求其实不高,但相信这些大厂都做得不错;
●录屏监控上,只有webex有该功能,采用了成熟的加密措施;
●安全认证上,ZOOM曾经出过安全事故,所以对其进行了安全认证,其中CSA-STAR云安全评估为二级,应该相当于等保的三级,其他会议系统好像没有认证,但是并没找到认证资料。
摄像头独立产品主要使用场景其实是在家庭中做监控用,所以分析头部企业的监控摄像头就更加有必要性。
图 367
选择了国内最有代表性的三家企业分析,依据的材料来源于网络,准确性肯定不够。
传统厂家在监控摄像头上都没有物理开关,要关摄像头直接断电就行,确实不需要物理开关。
提示:摄像头都会有很显眼的提示,一般就是指示灯。
终端安全:一般摄像头都会采用安全芯片,可信启动等系统安全措施。
通信安全:某为会采用RTP流媒体加密,这个技术对芯片性能要求应该比较高,通用的会采用https加密,数字水印等。
数据安全:这点传统厂家都做得可以,都有采用合适的数据加密保证数据安全(依据网上信息,没有实际渗透过)。
安全认证:最能体现安全性的还是认证,头部企业都有做认证,这是关键,至少能保证基础安全,一般人破解不了。(摄像头的CC认证有关内容可参阅第六章)
摄像头应用到不同的场景下,对于安全的要求肯定是不一样的,本人认为安全要求级别应该如下。
图 368
类似在视频通话这个场景下,也就是在这种偶然使用、随机使用,而且时长又不固定的场景下,对于终端的安全要求其实不需要太高,这类系统的安全主要着力在云端。
会议系统的安全要求需要更高,窃听会议能带来更大的黑产收益,主要是时间点大多都是固定的,比如公司周一计划会、周五的总结会,或者每天晨会等,时间也较长,很多会议都是按小时算。
监控系统的安全要求应该是最高的,因为一直有个靶子在那里被人研究,就像云端一样,有一个固定地址在那里被人研究,大多的探案片里动不动就黑掉监控找线索之类的,但从没有听说盗取别人的视频通话记录,除非从通信公司那里拿到。
在独立摄像头领域,知名企业在认证上做得比门锁好多了。
图 369
上面说过,门锁现在还停留在第一步——国内的基线认证,但摄像头已经走到了国际认证了,特别是某为现在的产品,都有到了EAL4 +的安全水平,前两年也到了EAL3 +的水平。国内两家头部企业的摄像头至少也过了UL2900 以上的认证,重要模块还会过FIPS的认证,这是金融级的安全认证。
图中的价格是印象中的价格,不代表实际情况,毕竟每家公司的收费不太一样,只是从价格上可以看到认证的难度。需要的认证费需要这么多,实际投入肯定要十倍以上才行。
各类认证的详情请阅读第六章。
摄像头的安全技术栈必须有云端和终端,下面是某国际知名的音视频技术栈的一部分。
图 370
整个技术栈分为云端的系统管理、云端安全、端身份鉴权三个部分。
●云端的系统管理部分:密钥管理的功能一般会自己实现,也可以购买,但购买就有一个问题,自身客户的所有钥匙掌握在第三方的手中。假如这家提供密钥的公司不是国内权威机构,在国内就有可能面临有关部门的网络安全审查问题;假如这家提供密钥的公司不是国际权威机构,在国外也有可能面临审查。
●云端安全部分:大多需要自己购买适当的工具以及去运营,下一章云服务安全再详细展开分析。
●云端身份鉴权部分:常规的双向身份认证、证书链等会提供,厂家只需要合理地使用它就可以,但一机一密是和终端紧密相关的,一般需要自己研发。
云端和终端,由方案商提供服务和SDK连接起来;摄像头终端需要自己做的事情会更多,毕竟SDK需要集成在通信模块中并用起来;终端的第三方解决方案里面可能会提供各种安全协议;终端的系统和存储是自身的工作,也是研发工作量最大的地方,一般公司估计不太会留意。
就算整套安全解决方案就用起来,整个摄像头系统也不能算是完全安全的,比如有个工程师把密码密钥硬编码在代码里(前面写到的用户admin,密码 123456)。
通过研究不止一家企业的安全技术栈,最终设计出符合自身的安全技术框架。
图 371
把摄像头的安全技术分为三部分,而不是类似电视、门锁那样,主要集中在云端,摄像头安全技术栈多了音视频的安全技术部分。
摄像头安全技术框架看起来最符合物联网三个字:
●物,摄像头终端安全技术;
●联,视频和通信安全技术;
●网,云端安全措施。
云端安全措施有很多成熟又有共性的工具,假如是公有云的安全,那么主要面临的是选择工具的问题,曾经就让供应商详细分析不同厂家类似方案的优缺点。
曾以为音视频安全技术会是未来团队的一个发力方向,可以和门锁安全竞争力并列,但最终在业务和预算的双重限制下,这题还没有开始就结束了。
终端的安全技术都是共性的特征,电视、门锁、摄像头等终端都离不开身份鉴权、访问控制、数据加密、可信执行等内容,也就是准则GB17859 中所描述的各种系统安全措施。
摄像头与电视及门锁不一样的地方就是摄像头的端到端安全技术是一个比较典型的安全技术。
(1)通用安全传输
为了做对比,把基于可信密钥管理系统的加密通信原理描述一下(更详细的请查阅第8 章)。
图 372
原理步骤为:
①假设在工厂阶段,已经在终端A烧录进密钥;
②云端会向可信密钥管理服务器请求真随机数(一般是终端向服务云端先申请);
③可信密钥管理系统会返回云随机数到云端;
④云端把该随机数下发到终端A;
⑤终端获取自身的ID(最好是安全芯片的ID),然后计算得到认证码,(简单的算法是sha256(ID,云随机数));
⑥然后把ID和认证码上传到云端;
⑦云端带上自己锁产生的会话密钥再上传到可信密钥管理系统;
⑧可信密钥系统用私钥加密会话密钥;
⑨云端对自己产生的会话密钥进行签名(担心被可信密钥给改了),然后和加密的会话密钥一起下发到终端A;
⑩终端A使用自己的密钥解密会话密钥;
⑪然后使用签名校验会话密钥的真实性;
⑫这样终端A和云端就使用会话密钥来加密数据、建立安全通道(设置到TLS);
⑬终端B使用同一种方式建立和安全通道;
⑭终端A和终端B就建立了通信的安全通道,进行通信。
这种方式至少有两个问题:
●云端是有办法解密终端A和终端B的数据,因为会话密钥是由云服务器提供的,通信的过程都会经过云端,所以对于服务提供商来说是能够解密的;
●只要云端被渗透,那么所有依赖于该云端的通信也都没有秘密可言,原来ZOOM的事件,好像就是这样被破解的。
(2)端到端加密
用户之间的通信,特别是一些私密通信,需要更加安全的通信方式,这种方式的重点在于服务商不知道密钥。
图 373
原理是:
①首先终端A和B都生成自己的公私密钥对,可由系统唯一安全密码生成;
②各自都上传公钥到云端存着,可以有一定的时间限制,比如一周、一年;
③各自在合适的时机下发对方的公钥;
④最好手动确认对方公钥的合法性;
⑤某一端,比如A,使用B的公钥加密自己生成的会话密钥并使用自己的私钥进行签名;
⑥上传自己的会话密钥到云端;
⑦云端把它给B;
⑧ B使用自己的私钥解密,得到会话密钥;
⑨ B使用A公钥验证密钥的真实性;
⑩此时就可以进行数据加密传输,因为会话密钥是终端A生成的,云端并不知道;
⑪云端虽有双方的公钥,但解密不了终端的数据,因为公钥加密需要私钥解密。
图 374
双方的公私密钥对可以由可信密钥管理系统生成,这样云服务提供商不知道密钥,而可信密钥系统不是数据通路,可信密钥管理系统可以由第三者提供,只负责管理钥匙,也能够保障双方通信的安全。
(3)多层加密
上传密钥交换过程的会话密钥,除了用来设置在TLS里作为密钥,更可以用来直接加密数据包,比如通用的保密数据通信协议TLS,或者流媒体保密协议RTP。
图 375
通过加密数据包和使用常规方式建立起来的安全通道,可以形成了双层加密,安全通道是常规的HTTPS(TLS)方式,也可以流媒体专用的RTP通道。这样就建立了更加安全的端到端通信。
更进一步,还可以使用加密芯片,对头文件或者关键帧进行加密,达到三层加密的状态,进一步增加安全度。
对于一些特别关键的信息,多层加密是有必要的,比如保护家里的传家宝肯定需要重重保护,小区门(小区摄像头)、大楼的安全门、家里的防盗大门、私密房间防盗门、固定在墙壁上有双重开锁方式的保险柜里,这是五层保护。
不管是向产业还是领导汇报,最终都要附上计划、人力、投入等。
图 376
第一年达到基线的安全要求,第二年达到业界传统厂家的平均水平,第三年达到传统厂家领先水平,远期达到世界领先水平,这是一贯的套路,其中各项安全技术,可以从上面的安全架构里看出来。
人力投入估算:略。
光靠安全技术框架、端到端安全技术及其路线是无法完全保障安全的,需要有保障基础安全的安全标准才行。
(1)依据
参考内化的智能门锁标准,针对每级标准制定出相应的目标,目标在智能门锁做些修改:
图 377
●一级是最基本的要求,可以参考 303645 进行制定;
●二级可以查找国标或者行业有没有类似的标准,消化为内部标准;
●三级计划参考业界最佳实践,比如达到UL2900 或者EAL2 的水平,不过这两个标准的分级主要集中在保障上,特别是CC认证;
●四级就是远程目标。
(2)架构
摄像头安全架构和智能门锁系统的架构是类似的。
图 378
这是一个整体物联网系统,整个系统包括但不限于锁体、网关、应用、管理平台(也就是云端),各个环节都会对系统安全造成影响,所以需要对这些部分都提出安全技术要求。
图 379
整体的安全内容仿造门锁的安全标准制定,但由于摄像头会内置在电视、门锁以及其他的智能产品中使用,所以需要对智能终端设备载体做安全要求。
详细解析:由于该标准并没有完全完成制定以及和智能门锁解释雷同,故省略。
对于摄像头系统的安全研究并没有持续太长的时间,甚至还没有到架构设计、概要设计、原理设计的阶段,连标准都没有完全制定出来,所以无法写太多实践出来。单独摄像头产品这个业务一直没有开展起来。
但对于摄像头来说,它还是属于物联网领域,和智能门锁一样,也会分终端系统安全、移动控制应用安全、云服务安全三部分,各种安全知识与技能都有共通之处:
●假如终端系统是安卓智能系统,那么就和智能电视机类似,比如手机;
●假如是普通的嵌入式系统,那么就和智能门锁类似,比如摄像头。
应用安全措施、云服务安全,在第 4 章节中进行统一描述。