首页> 中国专利> 机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法

机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法

摘要

本发明提供一种机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法,所述数字签名实现方法包括:首先,使用所述芯片的密钥对RSA公钥进行加密,获得RSA公钥密文;然后将所述RSA公钥密文存储至所述Flash中的预设空间;接着对RSA公钥运行哈希算法,获取所述RSA公钥的哈希值;最后将所述RSA公钥的哈希值植入所述芯片的OTP寄存器中以供所述芯片启动时进行签名验证。于本发明中,由于哈希算法的引入,新的实现方法有效的降低了芯片内部OTP资源的使用,进而降低了芯片成本,另外,由于芯片密钥具有唯一性的特点,使用其对RSA公钥进行加密有效的提高了芯片安全性。

著录项

  • 公开/公告号CN103974122A

    专利类型发明专利

  • 公开/公告日2014-08-06

    原文格式PDF

  • 申请/专利权人 澜起科技(上海)有限公司;

    申请/专利号CN201310042010.7

  • 发明设计人 许树娜;莫国兵;

    申请日2013-02-04

  • 分类号H04N21/443(20110101);H04L9/32(20060101);H04L9/30(20060101);

  • 代理机构31219 上海光华专利事务所;

  • 代理人余明伟

  • 地址 200233 上海市徐汇区桂平路680号32号4楼406A室

  • 入库时间 2023-12-17 01:34:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-24

    授权

    授权

  • 2017-11-21

    专利申请权的转移 IPC(主分类):H04N21/443 登记生效日:20171102 变更前: 变更后: 申请日:20130204

    专利申请权、专利权的转移

  • 2014-09-03

    实质审查的生效 IPC(主分类):H04N21/443 申请日:20130204

    实质审查的生效

  • 2014-08-06

    公开

    公开

说明书

技术领域

本发明涉及数字电视芯片技术领域,特别是涉及一种机顶盒芯片及应用在机顶盒芯片中 的数字签名实现方法。

背景技术

随着截止时间的临近和数字技术的发展,中国的数字电视转换步伐逐步加快,截止到2010 年中国的有线数字电视用户已经超过8000万,IPTV用户已达到850万。随着经济的快速发 展和生活水平的不断改善,部分用户对节目品位的要求也在不断提高。为了满足不同用户对 节目质量和节目类别的差异化需求,通过付费的方式向特定用户开放相应节目的观看权限逐 步成为当前运营方式的主流。

同时由于利益的驱动,针对现有机顶盒芯片在安全方面的不足,通过各种方式非法观看 付费节目的现象屡见不鲜,甚至越来越多的盗版机顶盒在市场上也频频出现。为了尽可能的 保证运营商及机顶盒厂商的利益,必须从芯片设计阶段就开始考虑提高产品的安全性能。因 此,具有高级安全特性的数字电视芯片应运而生。

为了保证机顶盒Flash中代码的完整性,验证Flash中Loader程序的数字签名是一种防 止黑客篡改并运行非授权程序的有效方式。在对程序的签名验证中,目前主要采用的是非对 称的RSA算法(RSA是Rivest、Shamir和Adleman提出来的基于数论非对称性(公开钥) 加密算法,亦称非对称算法)。该算法要求CA厂商利用其私钥对程序进行签名,在机顶盒 启动过程中使用与其配对的公钥进行验证。为了保证芯片启动时只能使用CA厂商提供的 RSA公钥进行验签,并保证芯片的通用性,一般将其植入到芯片内部的OTP(One-time Programmable,简称OTP)寄存器中。随着安全强度需求的提高,目前机顶盒领域安全芯片 已普遍使用2048BIT的密钥长度,这将使得芯片内嵌OTP面积急剧增长,从而增加了芯片成 本。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种机顶盒芯片及应用在机顶盒 芯片中的数字签名实现方法,用于解决现有技术中因芯片内嵌OTP面积增长而带来的芯片成 本高的问题。

为实现上述目的及其他相关目的,本发明提供一种应用在机顶盒芯片中的数字签名实现 方法,所述数字签名实现方法包括:使用所述芯片的密钥对RSA公钥进行加密,获得RSA 公钥密文;将所述RSA公钥密文存储至所述Flash中的预设空间;对RSA公钥运行哈希算法, 获取所述RSA公钥的哈希值;将所述RSA公钥的哈希值植入所述芯片的OTP寄存器中以供 所述芯片启动时进行签名验证。

本发明数字签名实现方法的中,还包括对加载程序进行签名的步骤:令预存在所述Flash 中加载程序运行相应的哈希算法,获取对应的哈希值;使用RSA私钥对获取的哈希值进行签 名,以获取加载程序签名;将所述加载程序签名存储至所述Flash中的预设空间。

本发明数字签名实现方法中,所述芯片启动时进行签名验证的步骤包括:从所述Flash 中加载所述RSA公钥密文,并使用所述芯片的密钥对其解密,获得RSA公钥明文;对所述 RSA公钥明文运行相应的哈希算法以获取哈希值;验证获取的哈希值与所述芯片的OTP寄存 器中植入的所述RSA公钥的哈希值是否一致,若一致,则所述RSA公钥明文有效;若不一 致,则所述RSA公钥明文无效,则验证失败,进入CPU挂起状态;使用该有效的RSA公钥 明文对所述加载程序签名运行签名验证算法;若签名验证通过,运行加载程序;若签名验证 未通过,进入CPU挂起状态。具体地,所述芯片启动时进行签名验证的步骤中还包括预先判 断启动模式是否为安全模式的步骤,若是,则从所述Flash中加载所述RSA公钥密文,并使 用所述芯片的密钥对其解密,获得RSA公钥明文;若否,则直接从所述Flash中加载并运行 所述加载程序。

本发明还提供一种机顶盒芯片,包括:Flash存储器,包括存储有加载程序的程序存储区、 存储有加载程序签名的签名存储区、以及存储有RSA公钥密文的公钥存储区,其中,所述 RSA公钥密文由使用芯片密钥对RSA公钥进行加密时生成;以及OTP寄存器,包括存储有 RSA公钥哈希值的存储区及存储有芯片密钥的密钥存储区,其中,所述RSA公钥哈希值由 RSA公钥运行哈希算法生成。

本发明的机顶盒芯片中,所述加载程序签名由加载程序运行相应的哈希算法获取对应的 哈希值,并使用RSA私钥对其进行签名生成。

如上所述,本发明的机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法,在芯片内 部OTP中植入RSA公钥的哈希值,同时将使用芯片密钥加密后的RSA公钥密文存储在Flash 中。在每次重启时,首先利用芯片中植入的RSA公钥的哈希值以及芯片密钥验证Flash中RSA 公钥密文的有效性,验证通过后使用解密后的RSA公钥完成Flash中Loader程序签名验证。 由于哈希算法的引入,新的实现方法有效的降低了芯片内部OTP资源的使用,进而降低了芯 片成本。由于芯片密钥具有唯一性的特点,使用其对RSA公钥进行加密有效的提高了芯片安 全性。

附图说明

图1显示为本发明提的应用在机顶盒芯片中的数字签名实现方法流程图。

图2显示为本发明的机顶盒芯片在启动时进行签名验证的方法流程图。

图3显示为本发明机顶盒芯片的数据存储框图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加 以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精 神下进行各种修饰或改变。

需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式 中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际 实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

为了在满足芯片安全性需求前提下,尽可能的减少芯片成本,本实施方式中提出了一种 新的Loader程序的签名验证实现方法,为方便阐述本发明的原理,于本实施方式中,技术方 案中涉及的采样算法将以RSA-2048,SHA-1为例进行说明,然,并不局限于此,所述算法亦 可为SHA-256算法。

为详述本发明的原理及功效,请参阅图1,显示为本发明提的应用在机顶盒芯片中的数 字签名实现方法流程图,如图所示,所述数字签名实现方法包括以下步骤:

步骤S11:令预存在Flash中加载程序运行相应的哈希算法,获取对应的哈希值;即,将 参与验证的Boot Loader程序运行相应的哈希算法,得到对应的哈希值。于本实施例中,所述 哈希算法以SHA-1为例。需要特别说明的是,所述Flash可以为所述机顶盒芯片中的Flash 存储器,也可以为设置在所述机顶盒芯片之外的Flash存储芯片。

步骤S12:使用RSA私钥对获取的哈希值进行签名,以获取加载程序签名;具体地,使 用RSA私钥对获取的哈希值进行签名,获取Boot Loader签名,于本实施例中,所述的使用 RSA私钥对获取的哈希值进行的签名长度为2048比特。

步骤S13:将所述加载程序签名存储至所述Flash中的预设空间;于本实施例中,所述 Flash可以为所述机顶盒芯片中的Flash存储器,也可以为设置在所述机顶盒芯片之外的Flash 存储芯片。

步骤S14:使用所述芯片的密钥对RSA公钥进行加密,获得RSA公钥密文;于本实施 例中,获得的RSA公钥密文长度为2048比特,所述芯片的密钥长度均为128比特,解密算 法使用TDES(即数据加密密钥与解密密钥相同的加密算法)或者AES(Advanced Encryption Standard,简称AES,又称Rijndael加密法)。

步骤S15:将所述RSA公钥密文存储至所述Flash中的预设空间。

步骤S16:对RSA公钥运行哈希算法,获取所述RSA公钥的哈希值。于本实施例中, 所述RSA公钥的哈希值长度为160比特。

步骤S17:将所述RSA公钥的哈希值植入所述芯片的OTP寄存器中以供所述芯片启动时 进行签名验证。

本发明对RSA公钥使用芯片密钥进行加密,Flash中存储RSA公钥的密文,因此采用本 发明提供的设计方法将大大减小片内OTP存储资源的使用,进而降低芯片成本。

请参阅图2,显示为本发明的机顶盒芯片在启动时进行签名验证的方法流程图,如图所 示,所述机顶盒芯片在启动时进行签名验证的方法包括以下步骤:

步骤S21:首先,预先判断启动模式是否为安全模式,若是,则进止步骤S22;若否,则 进止步骤S28,即直接从所述Flash中加载并运行所述加载程序。

步骤S22:从所述Flash中加载所述RSA公钥密文,并使用所述芯片的密钥对其解密, 获得RSA公钥明文,所述芯片的密钥长度为128比特,解密算法使用TDES或者AES。

步骤S23:对所述RSA公钥明文运行相应的哈希算法以获取哈希值。于本实施例中,所 述RSA公钥的哈希值长度为160比特。

步骤S24:验证获取的哈希值与所述芯片的OTP寄存器中植入的所述RSA公钥的哈希值 是否一致,若一致,则进止步骤S25;若不一致,则进止步骤S29。

步骤S25:所述RSA公钥明文有效,即验证结果一致说明该组公钥有效。

步骤S26:使用该有效的RSA公钥明文对所述加载程序签名运行签名验证算法。

步骤S27,判断签名验证是否通过,若是,则进止步骤S28;若否,则进止步骤S29。

:步骤S28:签名验证通过,运行加载程序,即正常运行Boot Loader程序。

步骤S29:所述RSA公钥明文无效,则验证失败,进入CPU挂起状态。

本发明对RSA公钥使用芯片密钥进行加密,Flash中存储RSA公钥的密文,在芯片启动 过程中首先使用芯片密钥解密RSA公钥,由于芯片密钥具备唯一性的特点,且对软件不可见, 黑客即使破解了RSA密钥对,也难以得到每颗芯片对应的RSA公钥密文,从而增强了芯片 安全性。

请参阅图3,显示为本发明机顶盒芯片的数据存储框图,如图所示,本发明的机顶盒芯 片1包括:Flash存储器11及OTP寄存器12。

所述Flash存储器包括存储有加载程序(即Boot Loader程序)的程序存储区113、存储 有加载程序签名的签名存储区114、以及存储有RSA公钥密文的公钥存储区115,其中,所 述RSA公钥密文由使用芯片密钥对RSA公钥进行加密时生成;所述加载程序签名由加载程 序运行相应的哈希算法获取对应的哈希值,并使用RSA私钥对其进行签名生成。于本实施例 中,所述公钥存储区115存储的RSA公钥密文长度为2048比特。所述签名存储区114存储 的加载程序签名的长度为2048比特。于具体的实施例中,所述Flash存储器11中还包括APP 储存区111及APP签名存储区112。

所述OTP寄存器12包括存储有RSA公钥哈希值的存储区121及存储有芯片密钥的密钥 存储区122,其中,所述RSA公钥哈希值由RSA公钥运行哈希算法生成。于本实施例中,所 述RSA公钥哈希值长度为160比特,所述芯片的密钥长度为128比特,解密算法使用TDES 或者AES。因此采用本发明提供的芯片将大大减小片内OTP存储资源的使用,进而降低芯片 成本。

由上可知,本发明提供的实现方法则是在将RSA公钥的哈希值植入内部OTP中,而将 经过芯片密钥加密后的RSA公钥密文放到的Flash中。目前常用RSA算法一般采用2048比 特密钥强度,而哈希算法的摘要长度明显小于该长度(以SHA-1为例只有160比特),因此 采用本发明提供的设计方法将大大减小片内OTP存储资源的使用,进而降低芯片成本。请参 阅表1,表示为传统实现方案与新的实现方案芯片资源消耗对比,如表所示:

由于哈希算法存在一定的碰撞风险,并且RSA算法本身也存一定的破解风险,一旦RSA 密钥对被破解将导致整批使用该RSA密钥对的机顶盒均不能被继续使用,给厂商带来巨大的 经济损失,为提高安全性,本发明对RSA公钥使用芯片密钥进行加密,Flash中存储RSA公 钥的密文,在芯片启动过程中首先使用芯片密钥解密RSA公钥,由于芯片密钥具备唯一性的 特点,且对软件不可见,黑客即使破解了RSA密钥对,也难以得到每颗芯片对应的RSA公 钥密文,从而增强了芯片安全性。

综上所述,本发明的机顶盒芯片及应用在机顶盒芯片中的数字签名实现方法,在芯片内 部OTP中植入RSA公钥的哈希值,同时将使用芯片密钥加密后的RSA公钥密文存储在Flash 中。在每次重启时,首先利用芯片中植入的RSA公钥的哈希值以及芯片密钥验证Flash中RSA 公钥密文的有效性,验证通过后使用解密后的RSA公钥完成Flash中Loader程序签名验证。 由于哈希算法的引入,新的实现方法有效的降低了芯片内部OTP资源的使用,进而降低了芯 片成本。由于芯片密钥具有唯一性的特点,使用其对RSA公钥进行加密有效的提高了芯片安 全性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技 术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡 所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等 效修饰或改变,仍应由本发明的权利要求所涵盖。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号