安全性和隐私权深度融入到 Fuchsia 的架构中。Fuchsia 的基本构建块(内核基元)作为对象功能提供给应用。这意味着在 Fuchsia 上运行的应用没有 Ambient 授权:应用只能与明确向其授予访问权限的对象交互。
软件以封闭的软件包的形式提供,并且所有内容均采用沙盒化。在系统上运行的所有软件(包括应用和系统组件)都会获得执行其作业所需的最小权限,并且只能访问其需要了解的信息。由于功能路由和软件隔离由操作系统强制执行,因此开发者无需构建额外的系统来确保安全性。
Fuchsia 基于旨在安全隔离软件的内核而构建
Zircon 是一种基于功能、面向对象的内核
默认情况下,Zircon 系统会完全隔离进程,并且必须明确授予权能和资源。Fuchsia 通过句柄(而非名称)来传递功能和资源,从而导致系统仅向软件授予所需内容的访问权限。
组件是软件执行的基本单元
组件是 Fuchsia 软件的独立容器
从系统服务到最终用户应用,几乎所有用户空间软件都是一个组件。组件框架鼓励组合松散耦合软件。使用和公开的功能必须明确声明。
软件以独立的软件包提供
软件包具备每次运行所需的一切
组件通过包含所有所需文件的封闭或独立的软件包进行分发。Fuchsia 软件包是组件、文件和元数据的集合。隔离的命名空间意味着组件仅对自己的软件包可见。
Fuchsia 没有全局文件系统或环境授权
命名空间可防止程序转义其容器
Fuchsia 的目标是没有 Ambient 授权,这意味着每项操作的作用域都限定为一项对象 capability。同样,Fuchsia 也没有全局文件系统。相反,每个程序都被赋予自己的本地命名空间来运行。