如果有人问,TEEOS生态开放的价值是啥?我会反问,操作系统最重要的是啥?
我还是贴几个院士的观点吧。
倪光南:建设自主可控操作系统 生态最重要
沈昌祥:用可信计算创建网络安全生态圈
如何培育我国操作系统产业生态
.....
不是技术,是生态!
本篇文章主要探讨,如何向Android学习生态开放!Android的生态是业务生态,TEEOS的生态是安全生态。虽有不同,但是安智客认为开放策略是一样的。
从一开始可以认为Android应用生态没有考虑安全,如下图所示,由于Android生态链条十分长,从Android版本发布到消费者手里,要经过许多环节,这直接导致了许多混乱,生态各方与Android系统无法解耦,升级更新困难,安全问题层出不穷。
类比来看,TEE厂商是不是很类似?也面临了多方合作,有芯片、器件供应商、手机厂商、ODM、应用厂商、服务提供商等等。Google认为碎片化问题不全是利益、商业模式问题,是可以通过架构设计进行解决的。
Android8.0开始,Google做了Project Treble,从架构上做了重大改变:
1,提供归一化的应用接口,开发更便捷!通过CTS应用兼容性测试来保证接一致性。 2,提供归一化的vendor接口,供应商实现的底层软件与Android框架分离开来。通过VTS供应商测试来保证接口一致性。然而更快更轻松的更新并不是Treble唯一的安全优势。Treble的模块化旨在通过提高隔离度来提高安全性和取消供应商提供的硬件抽象层的特权。
当然Google也通过GMS认证所涉及的GTS测试,强化了其生态控制力。这不在本文讨论范围之内。
我们再来看TEE,下面是一个典型的TEEOS架构图,具体不多解释了。
就想说明一点,因为TEEOS是嵌入在主操作系统中的半独立OS,更容易导致碎片化,和系统组件关联性大,耦合性强,导致TEEOS本身也存在开发移植困难等等。
但是这些大家都习以为常的碎片化问题,难道不更值得去努力解决吗?我们通过参考Android标准化模块设计,架构充分解耦,无论系统有多少模块,也是可以解决碎片化问题的。
当然,如果只是像GP一样,不从架构出发,只从功能定义出发,去定义一些类似client API和internal API之类接口,然后傻傻地让大家去遵守,这就难了。因为它脱离了应用的需求,落后于架构的发展。
最后,探讨一下生态开放需要达到的目标或者说愿景吧!
还是向Google学习,我们看看Android的开放生态目标是啥?
使每个群体都受益:
为应用开发者提供一致的应用和硬件环境。如果没有完善的兼容性标准,设备可能会有很大的变化,导致开发者必须为不同的设备设计不同版本的应用。兼容性计划精确定义了开发者在 API 和功能方面规范。开发者可以使用这些信息做出明智的设计决策,并确保他们的应用可以在任何兼容设备上顺畅地运行。
为消费者提供一致的应用体验。如果某个应用在一个兼容的 Android 设备上运行良好,那么它在与同一 Android 平台版本兼容的任何其他设备上也应运行良好。Android 设备在硬件和软件功能方面将有所不同,因此兼容性计划还提供了分发系统(如 Google Play)所需的工具,以进行适当的过滤。
使设备制造商在实现兼容性的同时能够保持与众不同。Android 兼容性计划侧重的是 Android 中与运行第三方应用相关的方面,这使得设备制造商能够灵活地创建既兼容又独特的设备。
最大限度降低与兼容性相关的成本和开销。设备制造商能够轻松地实现兼容性,并且成本低廉。测试工具是免费的且开放源代码,该工具旨在用于在设备开发过程中进行连续自检,以消除更改工作流程或将设备送给第三方进行测试产生的成本。同时,无需认证,因此也没有相应的成本和费用。
(https://source.android.com/compatibility/overview)
思路决定出路,国际大厂Google的格局是使各方都收受益,围绕着此目标来做生态。
如果TEEOS开放框架变得跟Android一样,甚至更优,让开发者更便捷,让应用厂商服务部署更普适,让设备制造商专注于竞争力构建,让vendor提供商更省心。有了这个目标共识,通过标准归一TEE的事就好办了。
责任编辑:韩希宇
免责声明:
中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。