一种安全的智能机顶盒实现方案
来源:小侦探旅游网
专题:智能电视终端技术与应用 一种安全的智能机顶盒实现方案 胡冰松。黄小桑 (中国电信股份有限公司上海研究院中国电信IPTV实验室上海200122) 摘要:基于Android的智能机顶盒设备由于系统开放、跨平台性好而受到业界认可,但软件的开放性带来了 终端软件的安全问题。本文从智能机顶盒芯片层面提出了一种解决智能机顶盒设备终端安全性问题的方案, 利用OTP数据、安全引导等功能,建立起智能机顶盒系统软件安全链,以保证终端软件系统的安全性,并通过 使用基于CPU的终端身份验证,将系统可信域扩展到用户侧设备,确保了业务运行稳定可靠。 关键词:智能电视终端;OTP;安全引导;软件安全;Android doi:10.3969 ̄.issn.1000—0801.2013.04.007 An Implement Scheme for Secure STB Hu Bingsong,Huang Xiaosang (IP1V Lab of China Telecom Corporation,Shanghai Research Institute of China Telecom Co.,Ltd.,Shanghai 200012,China) Abstract:Android set-top box(STB)is well developed of its open and cross platform and the rich application.But security is one of the key issues of open systems.A software security scheme based on CPU for Android STB was proposed.By using OTP data and secure booting,the secure chain was set up to ensure safety of the software system,and the CPU based terminal authentication extends the secure domain to the CPE,provided the stability of the services. Key words:smart TV terminal,OTP,secure booting,software security,Android 1 引言 障,对于提高基于智能机顶盒的业务运营能力具有重要意义。 智能机顶盒功能丰富、业务开发方便,已经成为传统 2 智能机顶盒终端安全方案 运营商以及新兴0q3'(over the top) ̄营商的首选设备。目 智能机顶盒作为用户侧设备,其安全性直接关乎业务 前这类设备基本采用Android操作系统。Android智能机顶 运营与用户应用安全。由于采用Android智能操作系统,如 盒终端软件系统的开放性在引发终端变革的同时也带来 果不对软件进行有效管理,被非法程序(如木马等)入侵 了软件安全隐患.非法刷机、安装非法应用软件、更改系统 后,用户的业务数据(用户名、密码、平台地址身份信息等) 安全相关设置及终端配置等操作,使得业务安全性受到威 面临高风险。用户与运营商都可能因此面临巨额损失。为 胁。因此,智能机顶盒终端设备亟需在安全方面多加考虑。 了保护用户与运营商,需要从软件保护、终端认证、应用安 以满足开放环境下业务与终端的安全性。本文就上述问题 装3个方面保证机顶盒终端安全。对于应用安装来说,可 展开探讨,提出了一种适合电信运营的终端软件安全方 以对软件安装进行控制.只允许安装来自运营商应用商城 案,该方案从芯片层面为智能机顶盒设备提供软件安全保 的软件,由运营商对发布的应用进行审核,以确保安全。但 ■ 专 :鬻能电视终熊技农与应薜j 应用安装的安全性取决于终端系统软件的安全性,可以通 过采用基于芯片的安全机制确保终端系统的安全以及对 终端进行合法性验证,使业务系统的安全域覆盖包括平台 与终端的完整范围。 2.1 基于Android的智能机顶盒软件系统 智能机顶盒的软件系统包含引导区、恢复区、内核区、 系统数据区、用户数据区5个部分,如图1所示。 引导区 恢复区 内核区 系统数据区 用户数据区 图1智能机顶盒软件分区 其中,引导区的功能是对系统基本硬件(如存储器等) 进行初始化,使得后续执行的软件具备基本的运行环境。 引导程序完成系统初始化后,根据系统的状态执行恢复区 程序或内核程序。恢复程序的主要作用是软件升级维护。 当系统需要升级时。恢复程序被引导程序载人内存并执 行,完成系统升级;当系统需要恢复默认出厂状态时,也是 由恢复程序根据操作维护指令完成恢复出厂状态。当引导 状态为正常启动时,引导程序将内核载人内存,并将控制 权交给内核.由内核完成正常引导,包括加载RAM disk与 lfash文件系统、启动Android系统等。系统数据区主要包括 Android系统软件以及Android核心应用:用户数据区用于 存放用户选装软件以及用户软件所需的运行数据。 一般来说,系统软件的升级过程由终端用户下载包含 内核区域系统数据区的系统镜像image.启动恢复程序将 内核区与系统数据区进行重新烧写。 由于Android系统的开放性.会有爱好者针对不同的 硬件平台开发不同功能的image供用户选择升级。但这种 情况往往会被不怀好意者利用,使得终端用户或运营商遭 受损失。 另外,终端核心数据(如用户业务认证信息、平台数 据信息)如果存放在flash区域,则可以通过软件方便地 获取或修改,这些数据的泄露会使运营商面临终端失 控,使合法用户的业务被非法使用,业务安全性无法得 到保障。 因此.对于智能机顶盒终端.首先要确保终端软件系 统的安全,杜绝软件非法升级,并保护终端核心数据不被 泄露。 2.2用于智能机顶盒的安全芯片架构 从上述系统结构来看,如果要确保系统不被恶意修改, 必须具备更底层的安全机制。从根本上保证软件的合法升 级、数据被适当使用。CPU是智能终端设备的核心芯片.如 果CPU具备安全机制将是终端软件合法性的有力保障。 另外.从安全学的角度看.软件与任何其他采用数 字技术的文档一样,可以通过数字签名验证签发者的 合法性。 安全芯片正是从上述两个基本出发点解决终端系统 的安全性问题。安全芯片通过芯片内部的安全模块验证外 部数据(内存芯片中的程序)的合法性,只有确认内存中的 程序合法之后,才会将系统控制权交给外部程序,从而开 始智能终端的软件执行过程。 安全芯片的架构如图2所示。安全芯片除普通SOC芯 片具备的各种寄存器、片内外设以外,还有一个称为安全 域的特殊部分,该部分由安全算法模块与片内安全数据组 成。其中,安全算法模块实现各种加密算法与散列算法, 如RSA、AES、SHA、HMAC等,并可以对芯片外部存储器 的数据进行签名验证,以确认将要启动的程序是否合 法,只有外部存储器中的程序通过签名验证、证明合法后 才会被执行。 安全芯片 安全域 l 安全算法模块 l l 片内安全数据 I 图2安全芯片架构 片内安全数据一般是OTP(一次性写入)数据,这些数 据具有可读属性,只有那些可读属性为真的数据才能被外 部存储器中的程序读取.而不可读数据只能被安全算法作 为参数使用,外部程序无法读取这些数据本身,只能将需 要加/解密的数据传递给安全域.得到以0TP数据作为参 数的加/解密结果。因此,只要确保这些OTP数据的唯一 性。即可确保每一片芯片的唯一性,通过与业务平台的配 合实现高等级的终端安全机制。 2.3安全智能机顶盒的软件架构 安全智能机顶盒终端软件基本架构如图3所示。 终端软件系统分为安全域与普通域两个基本部分。用 I片内引导程序 l I 引导程序 l I安全算法引擎 l I系统恢复程序l 终端 软件 l 0TP数据 I l 系统内核 I 系统 I终端身份认证f I 系统数据区 f l l l 应用数据区 l 安全域 普通域 图3安全智能机顶盒软件架构 户可接触位于普通域中的代码与数据,存储介质是flash 与RAM。安全域是用户以及普通域的代码不能直接接触 的部分,部分核心数据对于普通域是不可见的,安全域位 于CPU片内。 ・CPU利用安全域的片内引导程序对普通域代码进 行基本的合法性验证,通常采用数字签名方法或代 码加密方法实现。 ・安全算法引擎提供各类加密与散列算法,供普通域 代码调用。 ・OTP数据域存放用户身份数据与加密算法密钥。 ・终端身份认证计算并输出终端身份认证所需的认 证数据。 ・普通域中的引导程序是终端在启动过程中CPU执 行的第一段片外代码,引导程序可根据不同的启动 状态执行系统恢复程序或系统内核。 ・系统恢复程序可对系统内核、系统数据区、应用数 据区进行升级、初始化等管理。 ・系统内核执行后将系统引导到终端的正常功能状 态,在该状态下用户可通过终端正常使用业务功能。 ・系统数据区是终端最小的应用软件与数据存放区. 终端只能通过软件升级与恢复对系统数据区进行 修改。 ・应用数据区是用户选择安装程序与数据的存放区 域,终端可在运行时对该区域进行修改操作。 2.4 中国电信智能机顶盒的安全流程 智能机顶盒通过采用安全芯片并使用特定的系统安 全流程,实现终端软件系统的安全性,并保护业务系统 的核心业务数据,从而确保用户与运营商的信息与设备 安全。 中国电信的智能机顶盒安全方案主要包括安全启动 电信科学 2o 3 毒 执行片内引导 程序,验证终 端引导程序的 合法性 终止执行终端引 导程序,系统进 入死机状态 终端引导程序 验证内核或系 统恢复程序的 合法性 目标程序、 执行内核或系 统恢复程序, 正常启动系统 图4终端软件安全引导过程 与终端验证两部分。安全引导过程如图4所示。 CPU对终端引导程序的验证以及后续引导过程中的 验证过程均采用安全、有效的验证算法,如基于SHA256+ RSA2048的数字签名验证、基于AES128的代码加密方法。 用于验证的密钥存放在OTP区域或以OTP区域数据为密 钥进行加密后存放在flash中。图4中涉及的签名验证均 采用全覆盖签名验证方式。 当内核被引导后,内核需要以文件系统或其他方式加 载系统数据区中的数据。内核在加载系统数据区之前以及 系统正常运行之后,都会对系统数据区采用随机抽样的片 区数据验证方式进行合法性验证。 在系统软件升级时。系统恢复程序对将要用于系统升 级或恢复的所有数据采用与引导程序相同的合法性验证 方法进行验证 从图4可以看出,智能终端从终端上电开始逐步 对终端软件的各个部分进行合法性验证.整个过程构 成了一个完整的安全链,极大地提升了终端软件的安 全性。 在确保终端软件安全的情况下.为了验证终端本身的 合法性,中国电信的安全终端还引入了如图5所示的终端 1叠 专 :餐熊电视终糍接术苟殷塌 PU l os内核驱动程序l 终端管理程序 J终端管理平台 备。极大地扩展了安全范围,有力地保证了 读取终端SN 一 读取终端sN 业务的安全性。目前该方案已经进行了严格 返回终端SN 一 返回终端SN 用终端sN的实验室测试。其软件安全性取决于相关算 、时间戳以 一 及随机数请求认证 一 法安全性以及密钥管理安全性,是一种较高 下发挑战字 级别的安全机制。该方案已经在中国电信股 一 解密挑战字 解密挑战字 份有限公司上海分公司进行了试点。 返回挑战字明文一 计算挑战字 、验证时间 )与随机码 3 结束语 请求计算挑战字 .一, 本方案采用高安全级别的芯片安全机 返回挑战字计算结 返回挑战字计算结 果和所用散列算法果和所用散列算法 用挑战字计算结果和散 制以及0TP数据存储方法,对芯片安全模块 一 列算法再次请求认证 进行了身份验证扩展,极大地提升了智能机 返回认证结果 顶盒的安全性。为后续中国电信智能机顶盒 5终端身份验证流程 的推广应用提供了有力保障。 身份验证机制。 图5中终端管理程序与内核驱动程序均运行在终端 【作者简介】 软件系统的普通域,实现平台的身份认证协议。在身份认 证过程中,终端在内核提供安全域访问的驱动程序,并提 供应用调用API。内核驱动程序将终端管理程序API的相 应请求发送到CPU安全域,由其返回对应的结果。图5中 的SN为终端序列号。具备唯一性,存放在0TP区域,外部 程序可读,而其他加密密钥均不可读。 一 胡研室作究冰成系松院员统高等,.主男级终要,工端中研程相国究关师电方基、信向础中股为技国份手术电有机。信 限、机I公P顶1V司盒上实、海操验 通过采用可靠的终端启动安全链.配合终端身份验证机 制.基本阻断了非法软件以及非法终端的接人途径,实现了可 黄小桑,男,硕士,中国电信股份有限公司 上海研究院研发工程师,主要从事以I V 信终端。 业务为主的多媒体业务系统方面的相关 中国电信智能机顶盒的安全流程除了安全启动流程 技术及产品研发工作。 外,还引入了基于芯片的终端身份验证机制,通过终端身 份验证机制实现了对终端合法性的确认。使得业务的可控 安全范围从业务平台扩展到了用户侧。终端成为可信设 (收稿日期:2013—04—03) 宣‘}业窜 j-}j‘}业 jI}j j §‘亭 I‘}业毒‘ ;}业亭 夸 ‘} 夸0} 夸妊专 ‘}业船宣 业j j;} ;} 业 ・简讯・ 工业和信息化部出台 案》,明确了专项行动的主要目标、重点工作和进度安排。 《“宽带中国2013专项行动”实施方案》 专项行动具体包括“城市宽带提速计划”、“农村宽带 普及计划”、“农村校通宽带计划”、“应用创新推广计划”、 为全面贯彻落实党的十八大和《国民经济和社会发展 “宽带体验提升计划”、“宽带产品研发计划”等6项行动计 第十二个五年规划纲要》精神,加快下一代信息基础设施 划,并将大力贯彻落实光纤到户两项国家标准,建立全国 建设,2013年,工业和信息化部在“宽带普及提速工程”的 宽带网速监测分析机制,开展宽带城市评定等工作,促进 基础上,启动实施“宽带中国2013专项行动”。3月7日,工 我国宽带发展水平再上新台阶。 业和信息化部发布了《“宽带中国2013专项行动”实施方 (来源:工业和信息化部通信发展司)