首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 经散布保护机制防护固件映像档的下载暨储存方法及装置

经散布保护机制防护固件映像档的下载暨储存方法及装置

阅读:776发布:2023-11-04

专利汇可以提供经散布保护机制防护固件映像档的下载暨储存方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 揭露一种经散布保护机制防护 固件 映像档的下载暨储存方法及装置。所述的方法包含有:提供一加密金钥来防护所述的固件映像档的散布;提供一认证码来认证所述的固件映像档的散布;以及利用所述的加密金钥来加密至少所述的固件映像档。本发明的正确性验证机制可应用在不需要强大运算能 力 的装置。本发明采用多重保护来防护以免 泄漏 所述的固件映像档,也就是说,除了第一层简单演 算法 的加密保护外,本发明也配合较复杂的加密演算法来提供第二层加密保护,以提供所述的固件映像档更坚强的防护。本发明使不同制造商的产品不再共享相同的机密金钥集,因此, 现有技术 中遗失机密金钥的问题便跟着被解决了。,下面是经散布保护机制防护固件映像档的下载暨储存方法及装置专利的具体信息内容。

1.一种用来防护一固件映像档的散布的方法,其包含有:
提供一加密金钥来防护所述的固件映像档的散布;
提供一认证码来认证所述的固件映像档的散布;以及
利用所述的加密金钥来加密至少所述的固件映像档。
2.如权利要求1所述的方法,其中利用所述的加密金钥来加密至少所述 的固件映像档的步骤另包含:加密所述的认证码。
3.如权利要求1所述的方法,其中所述的方法另包含:附加所述的认证 码到所述的加密固件映像档。
4.如权利要求1所述的方法,其中所述的固件映像档通过所述的网际网 络来散布。
5.如权利要求1所述的方法,其中所述的认证码为一固定型样或依据一 特定演算法所产生。
6.如权利要求1所述的方法,其中加密所述的固件映像档符合一先进加 密标准。
7.如权利要求6所述的方法,其中加密所述的固件映像档在一密文区 链模式中执行。
8.如权利要求1所述的方法,其中所述的固件映像档适用于一光碟机。
9.一种用来从一加密数据得到一固件映像档的方法,所述的加密数据具 有一加密固件映像档,所述的加密固件映像档依据特定用来防护所述的固件 映像档的散布的一加密金钥所产生,所述的方法包含:
提供特定用来解密所述的加密数据的一解密金钥,其中所述的加密数据 另包含用来认证所述的固件映像档的所述的散布的一认证码;以及
利用所述的解密金钥来解密所述的加密固件映像档以得到所述的固件映 像档。
10.如权利要求9所述的方法,其中在提供一解密金钥的步骤的前,所述 的方法另包含:利用所述的认证码来认证所述的加密数据。
11.如权利要求9所述的方法,其中所述的方法另包含:利用所述的认证 码来认证所述的加密固件映像档的解密。
12.如权利要求9所述的方法,其中所述的加密数据系通过所述的网际网 络来接收。
13.如权利要求9所述的方法,其中解密所述的加密固件映像档符合一先 进加密标准。
14.如权利要求13所述的方法,其中解密所述的加密固件映像档系在一 密文区块链模式中执行。
15.如权利要求9所述的方法,其中所述的固件映像档适用于一光碟机。
16.一种用来防护一固件映像档的散布的加密装置,所述的加密装置包含:
一加密金钥供应器,其具有产生特定用来防护所述的固件映像档的散布 的一加密金钥;
一加密单元,耦接至所述的加密金钥供应器,用来利用所述的加密金钥 来加密所述的固件映像档;以及
一认证码供应器,耦接至所述的加密单元,用来提供使用一认证码,其 用来认证所述的固件映像档的散布。
17.如权利要求16所述的加密装置,其中所述的加密单元另用来加密所 述的认证码。
18.如权利要求16所述的加密装置,其中所述的认证码供应器另附加所 述的认证码到所述的加密固件映像档。
19.如权利要求16所述的加密装置,其中所述的固件映像档通过所述的 网际网络来散布。
20.如权利要求16所述的加密装置,其中所述的认证码供应器提供一固 定型样作为所述的认证码或依据一特定演算法来产生所述的认证码。
21.如权利要求16所述的加密装置,其中所述的加密单元依据一先进加 密标准来加密所述的固件映像档。
22.如权利要求21所述的加密装置,其中所述的加密单元在一密文区块 链模式中加密所述的固件映像档。
23.如权利要求16所述的加密装置,其中所述的固件映像档适用于一光 碟机。
24.一种用来从一加密数据得到一固件映像档的解密装置,所述的加密数 据具有一加密固件映像档,所述的加密固件映像档依据特定用来防护所述的 固件映像档的散布的一加密金钥所产生,所述的解密装置包含:
一解密金钥供应器,其具有提供特定用来解密所述的加密数据的一解密 金钥,其中所述的加密数据另包含一认证码,所述的验证码用来认证所述的 固件映像档的散布;以及一解密单元,耦接至所述的解密金钥供应器,用来利用所述的解密金钥 来解密所述的加密固件映像档以得到所述的固件映像档。
25.如权利要求24所述的解密装置,其中所述的解密装置另包含一认证 单元,耦接至所述的解密金钥供应器,用来利用所述的认证码来认证所述的 加密固件映像档。
26.如权利要求24所述的解密装置,其中所述的解密装置另包含一认证 单元,耦接至所述的解密单元,用来利用所述的认证码来认证所述的加密固 件映像档的解密。
27.如权利要求24所述的解密装置,其中所述的加密数据通过所述的网 际网络来接收。
28.如权利要求24所述的解密装置,其中所述的解密单元依据一先进加 密标准来解密所述的固件映像档。
29.如权利要求28所述的解密装置,其中所述的解密单元在一密文区块 链模式中解密所述的固件映像档。
30.如权利要求28所述的解密装置,其中所述的固件映像档适用于一光 碟机。

说明书全文

技术领域

发明关于固件的下载以及储存,尤指通过一散布保护机制来防护固件 映像档(firmware image)的下载暨储存的方法及其装置。

背景技术

现今的世界,从微波炉以及交通信号到ATM提款机皆通过嵌入式系统所 控制,其中许多系统保障个人的安全,而有些则负责捍卫金融的安全。
嵌入式系统除了一个可靠的硬件平台之外,固件在嵌入式系统的运作上 也扮演一个很重要的色。通常固件是主机以及嵌入式系统之间的一个介面, 例如当连结到主机的周边装置从所述的主机接收指令后,所述的周边装置便 依据接收到的指令执行它的固件以便控制内部的元件。然而,固件可能会有 一些程序错误(bug)或需要增加新的功能,所以,固件的更新机制便发展来 覆写目前所使用的固件以便修正程序错误或增加新功能到周边装置上。如此 一来,如何完整的更新固件,特别是利用网络来进行更新,已经成为一个很 重要的议题。
于嵌入式系统中执行固件有另一个面向需要考虑,由于固件可能携带有 机密的信息,因此必须隐藏起来以避免被竞争者及/或骇客所剽窃。如先前所 述,固件负责依据从主机所接收的指令来控制电路元件。举光碟机为例,执 行固件来设定参数以协助数据的读取以及烧录,所以,固件设计者会设定参 数来达到最佳效能。然而,固件映像档(firmware image)可以从一闪存存储 器芯片轻易的读取而不需太专业的知识,除此之外,固件映像档通常可以从 制造商的网站上下载来更新固件,而且是开放给任何人下载的。
现有的用来保护固件被偷取或被窜改的机制不是太昂贵而无法应用于低 成本的平台上,不然就是效能不足以至于不能提供有效的防护。举例来说, 一般保护固件免于被偷取是在所述的固件散布前在所述的固件映像档上执行 一些位运算来进行扰码(Scramble),在接收到扰码固件映像档后,处理器在 执行固件前必须先将所述的扰码固件映像档复原,对于每一个存储器地址, 所述的位运算通常是固定的且不使用机密金钥,这样的扰码演算法 (Scrambling algorithm)很容易被破解,尤其是8位的处理器,其扰码边界 (scrambling boundary)几乎只有单一字节,所以这样的防护动作是非常薄弱。
而杂凑演算法(hash algorithm)可用来作正确性验证(integrity verification)。举例来说,处理器通过创造整个固件的杂凑函数,然后跟固件 的数位签章作比较来验证所述的固件的正确性。此外,对于计算能不强的 装置而言,在每一次开机时杂凑整个固件映像档对是不太实际的。
就产生机密金钥(Secret Key)的演算法而言,机密金钥是储存在硬件(即, 整合在一系统单芯片中(system-on-chip)或一外部存储器装置(例如闪存只读 存储器(FLASH ROM))。举例来说,一特定装置的制造商利用一机密金钥 来特定地保护所述的固件的内容,此时每个人都可以任意的下载所述的固件, 然而只有所述的特定装置才具有所述的机密金钥才能解密所述的下载数据而 得到正确的固件映像档。一般而言,固件映像档是依据一简单的演算法来加 密,如此一来所述的特定装置可以在不降低效能的情况下快速地解密所述的 防护的固件,换言之,由于使用简单的加密演算法,使得所述的固件利用机 密金钥来加密只具有薄弱的保护。
对各式终端产品的制造商而言,IC业者可能卖的是具有可解密所接收的 固件映像档的功能的IC。IC业者提供机密金钥给各式终端产品的制造商, 用来加密不同的制造商所设计的产品的固件,如果其中一个制造商泄漏了机 密金钥,其他的制造商便连带会受影响。如果利用公开金钥基础建设(Public Key Infrastructure,PKI)或其他复杂金钥管理系统可以降低这个险,但是成 本太昂贵以至于无法在仅具有薄弱解密运算能力的简单硬件上来实现。
部分加密系统在每一个装置拥有自己独特且唯一的机密金钥,但是在在 微处理器或系统单芯片中内建电子保险丝(e-fuse)技术,这样的做法的成本 也是相对昂贵。所以从IC 业者的观点,就成本以及安全的考量,让每一个产 品制造业者拥有自己的机密金钥并且各自维护他们的安全是比较可行的做 法。
一些系统加密所述的固件之后,虽然可以安全的通过网际网络的传送, 但是在下载到所述的装置前会先在所述的主机计算机中解密。对于整个更新 固件程序而言,这个阶段会有很大的漏洞,让计算机病毒入侵或让骇客轻易 的窜改固件。

发明内容

本发明的主要一目的在于提供通过一散布保护机制来防护一固件映像档 的下载暨储存的方法及其装置,以解决上述的问题。在本发明的一实施例中 揭露一种用来防护一固件映像档的散布的方法,其包含有:提供一加密金钥 来防护所述的固件映像档的散布;提供一认证码来认证所述的固件映像档的 散布;以及利用所述的加密金钥来加密至少所述的固件映像档。
本发明还揭露一种用来从一加密数据中得到一固件映像档的方法,所述 的加密数据具有一加密固件映像档,所述的加密固件映像档依据特定用来防 护所述的固件映像档的散布的一加密金钥所产生,所述的方法包含:提供特 定用来解密所述的加密数据的一解密金钥,其中所述的加密数据另包含用来 认证所述的固件映像档的所述的散布的一认证码;以及利用所述的解密金钥 来解密所述的加密固件映像档以得到所述的固件映像档。
本发明还揭露一种用来防护一固件映像档的散布的加密装置,所述的加 密装置包含有:一加密金钥供应器,其具有产生特定用来防护所述的固件映 像档的散布的一加密金钥。一加密单元,耦接至所述的加密金钥供应器,用 来利用所述的加密金钥来加密所述的固件映像档;以及一认证码供应器,耦 接至所述的加密单元,用来提供使用一认证码,其用来认证所述的固件映像 档的散布。
在本发明的另揭露一种用来从一加密数据得到一固件映像档的解密装 置,所述的加密数据具有一加密固件映像档,所述的加密固件映像档依据特 定用来防护所述的固件映像档的散布的一加密金钥所产生,所述的解密装置 包含:一解密金钥供应器,其具有提供特定用来解密所述的加密数据的一解 密金钥,其中所述的加密数据另包含一认证码,所述的验证码用来认证所述 的固件映像档的散布;以及一解密单元,耦接至所述的解密金钥供应器,用 来利用所述的解密金钥来解密所述的加密固件映像档以得到所述的固件映像 档。
相较于现有技术,本发明的实施例可以利用一固定型样(fixed pattern, 例如MediaTek)来作为验证码,所以,除了少数的加密运算外,并不需要另 外的运算来计算验证码,而其他基于加密信息验证码的演算法(Cipher-Based Message Authentication Code algorithm,CMAC)也会有相同的特性,因此,本 发明的正确性验证机制可应用在不需要强大运算能力的装置。此外,本发明 采用多重保护来防护以免泄漏所述的固件映像档,也就是说,除了第一层简 单演算法的加密保护外,本发明也配合较复杂的加密演算法来提供第二层加 密保护,以提供所述的固件映像档更坚强的防护。此外,因为针对这些产品 所设定的目标加密金钥可以由制造商来选取,所以不同制造商的产品不再共 享相同的机密金钥集,因此,现有技术中遗失机密金钥的问题便跟着被解决 了。
附图说明
图1为依据本发明一实施例的固件防护系统的方图。
图2为依据本发明第一实施例使用固件防护系统来防护所述的固件的散 布的一方法的流程图
图3为本发明第一实施例的示意图。
图4为依据本发明第二实施例的固件防护系统来防护所述的固件的散布 的一方法的流程图。
图5为本发明第二实施例的示意图。
图6为依据本发明第三实施例使用固件防护系统来防护所述的固件的散 布的一方法的流程图。
图7为本发明第三实施例的示意图。
图8为依据本发明第四实施例的固件防护系统来防护所述的固件的散布 的一方法的流程图。
图9为本发明第四实施例的示意图。
附图标号
10                    固件防护系统
20                    加密装置
21                    加密金钥供应器
22                    加密单元
23                    认证码供应器
30                    第一主机
40                    计算机系统
50                    第二主机
60                    装置
70                    解密装置
72                    解密单元
73                    认证单元
80                    储存单元
90                    微处理器

具体实施方式

说明书权利要求书当中使用了某些词汇来指称特定的元件。所属领 域中具有通常知识者应可理解,硬件制造商可能会用不同的名词来称呼同一 个元件。本说明书及权利要求书并不以名称的差异来作为区分元件的方式, 而是以元件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当 中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。 以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文 中描述一第一装置耦接于一第二装置,则代表所述的第一装置可直接电气连 接于所述的第二装置,或通过其他装置或连接手段间接地电气连接至所述的 第二装置。
请参照图1,图1为依据本发明一实施例的固件防护系统10的方块图。 固件防护系统10包含加密装置20、第一主机30以及计算机系统40。如图1 所示,加密装置20包含一加密金钥供应器21、一加密单元22以及一认证码 供应器23。请注意,加密金钥供应器21能提供一加密金钥特定用来防护所述 的固件映像档,或提供一加密金钥特定用来防护所述的固件映像档的散布。 其中用来防护所述的固件映像档的加密金钥,基于简易的加密演算法(例如 一数据加密标准(Data Encryption Standard,DES)来执行;而用来防护所述的 固件映像档的散布的加密金钥,则使用复杂的加密演算法(例如一先进加密 标准(Advanced Encryption Standard,AES))来执行。加密单元22耦接至加 密金钥供应器21,用来利用依据一加密模式(所述的数据加密标准或所述的 先进加密标准)所相对应的加密金钥来加密至少所述的固件映像档,认证码 供应器23耦接于加密单元22,用来提供一认证码来验证所述的加密固件映像 档的解密,在本实施例中,认证码供应器23依据一摘要演算法(digest algorithm)或一杂凑演算法(hash algorithm)来产生所述的认证码,请注意, 上述产生验证码的演算法并非本发明的限制,凡是可以用来产生所想要的验 证码的演算法,例如根据杂凑功能所产生的各种杂凑信息确认码(Hash Message Authentication Code,HMAC)或是基于密码信息认证码演算法所产生 的密码信息确认码,都可应用于本发明作为验证码。
请注意,加密装置20针对不同的产品给予不同的机密金钥以及认证码以 加密应用在各产品上的固件。例如,由不同的厂商所生产的同一个产品无法 共用相同的机密金钥集,也就是说,每一个产品有自己唯一的机密金钥集。 如图1所示,第一主机30耦接于加密装置20,且第一主机30储存有复数个 预定加密数据,所述的复数个预定加密数据中的每一个预定加密数据具有一 特定加密固件映像档,所述的特定加密固件映像档利用加密一固件映像档所 产生,而所述的加密运作利用一特定加密金钥来特定地防护所述的固件映像 档的散布。
在本实施例中,计算机系统40通过网际网络耦接于第一主机30,并通过 所述的网际网络来下载一目标加密数据,请注意,利用网际网络来连接计算 机系统40与第一主机30的连接方式并非本发明的限制。计算机系统40包含 有一第二主机50以及一装置60(例如一光碟机),当计算机系统40建立起 和第一主机30间的连结后,第二主机50选择和一目标秘密金钥集相关连的 特定加密数据作为装置60所需要的目标机密数据,然后通过网际网络从第一 主机30下载所述的目标加密数据。如图1所示,装置60包含一解密装置70、 一储存单元80以及一微处理器90。如上所述,依据本发明,各产品有各自唯 一的机密金钥集,在本实施例中,储存单元80储存复数个机密金钥集,各机 密金钥集具有至少一解密金钥。微处理器90在启动过程中可以依据硬件组态 (configuration)来从所储存的解密金钥集中选取其中一组解密金钥集来作为 装置60的所述的目标解密金钥集,其中硬件组态可通过设定复数个输入接脚 (pin)来加以定义,所述的等接脚的设定可由外部电路设计(exterior circuit design)、或者利用保险丝熔断(fused)或激光切割(laser-cut)直接来调整 集成电路等方式来加以改变;或是直接设定非易失性存储器(例如嵌入式闪 存存储器)来定义所述的硬件组态。换言之,微处理器90检查一暂存器的状 态来选择机密金钥,微处理器90结合储存单元80用来扮演一解密金钥供应 器的角色,以从候选金钥集中选取一金钥集来作为装置60的一解码金钥集。
解密装置70利用所选择的所述的解密金钥集来解密数据(加密固件映像 档),所述的数据是由加密装置20利用一目标加密金钥集来加密所形成的。 解密装置70包含一解密单元72以及一认证单元73,其中解密单元72利用所 选择的所述的解密金钥集依据所述的数据加密标准(DES)或所述的先进加密 标准(AES)在密文区块链(Cipher Block Chaining,CBC)模式中执行对从第 一主机30所下载的数据的解密以得到所述的固件映像档,然后认证单元73 检验包含于所述的加密数据中的认证码来验证所述的加密固件映像档的解 密,而固件防护系统10执行加密以及解密的运作详述如下。
请参照图2,图2为依据本发明第一实施例使用固件防护系统10来防护 所述的固件的散布的一方法流程图。防护所述的固件的散布的方法包含下列 步骤:
步骤100:开始。
步骤110:提供加密金钥。加密金钥供应器21可用以产生一加密金钥 K2特定用来防护装置60的固件映像档的散布。
步骤120:执行加密。加密单元22从加密金钥供应器21接收加密金钥 K2,然后利用加密金钥K2来加密未加密过的固件映像档,在本实施例中, 加密单元22依据所述的先进加密标准(AES)在密文区块链(CBC)模式中 执行加密未加密过的固件映像档以提供坚强的防护。
步骤130:提供认证码。认证码供应器23提供一认证码CA用来验证所 述的加密数据以及附加所述的认证码至所述的加密数据,在本实施例中,认 证码供应器23在加密前的数据中一些已知位置中嵌入一固定型样(例如 MediaTek)以作为验证码CA或执行一预定演算法(例如一摘要演算法(digest algorithm)或一杂凑演算法(hash algorithm))来决定认证码CA。
步骤140:提供解密金钥。解码金钥供应器实施中是由微处理器90结合 储存单元80来实现,用来提供一解码金钥K2来解码所述的加密数据,在本 实施例中,所述的解码金钥与所述的加密金钥是同一把金钥,但请注意,在 本发明其他实施例中,所述的解密金钥以及所述的加密金钥是利用各自的加 解密演算法所计算而来,但不限定是同一把金钥。
步骤150:下载。第二主机50从第一主机30通过所述的网际网络下载一 目标加密数据,其中所述的目标加密数据是依据加密金钥K2来加密的数据。
步骤160:接收加密数据。计算机系统40的装置60从第二主机50通过 整合驱动电子介面(Integrated Drive Electronics,IDE)或其他介面(例如序列 式高技术配置(Serial Advanced Technology Attachment,SATA))来接收加密 数据,并储存所述的接收加密数据在一易失性存储器(例如动态随机存取存 储器,DRAM)中,以用来执行接下来的解密以及验证的运作。
步骤170:执行认证。认证单元73利用所述的加密数据中所包含的一认 证码来验证所述的加密固件映像档。如果验证通过,则跳到步骤180,否则, 跳到步骤184。
步骤180:执行解密。解密单元72在所述的加密数据中利用解密金钥K2 来解密所述的加密固件映像档以得到所述的固件映像档,在本实施例中,解 密的运作以及第二主机50接收所述的加密数据的运作(步骤160)可平行进 行。
步骤182:储存解密固件映像档。解密单元72储存所述的固件映像档到 一非易失性存储器(例如闪存存储器)中或微处理器90可从所述的挥发性记 忆体直接载入并执行所述的固件映像档,然后跳到步骤190。
步骤184:放弃接收加密数据。解密单元72放弃接收所述的加密数据并 通知第二主机50验证失败的结果。
步骤190:完成。
请同时参照图1以及图3,图3为本发明第一实施例的示意图。所述的固 件映像档通过加密金钥K2来加密以达到保护的功效,在加密之后,会在加密 固件映像档上附上认证码CA,之后便可加以散布和提供下载。认证单元73 验证所述的目标解密数据中是否包含所述的预定的认证码,因为密文区块链 (CBC)模式的特性,所以对所述的加密固件映像档所作的任何修改将导致 最后的输出失败,如果所述的加密数据传送的认证码CA与一预定图样 (predetermined pattern)相匹配,则解密单元72在通过SATA或IDE介面下 载所述的加密数据期间,将利用解密金钥K2解密所述的加密固件映像档以得 到想要的固件映像档,然后将所述的固件映像档储存在动态随机存取存储器 内并执行。请注意,装置60并不限定要等到全部加密数据(包含认证信息以 及加密固件映像档)下载完成后才开始执行认证,也可下载片段(segment) 的加密数据并个别执行认证运作,只要各片段加密数据的连接关系未被修改 即可。此外,只要维持认证状态有效,也可将整个下载程序加以中断。
请参照图4,图4为依据本发明第二实施例的固件防护系统10来防护所 述的固件的散布的一方法的流程图。本实施例与第一实施例的差异是提供认 证码与执行加密运作的顺序对调,首先提供认证码(步骤220),接着执行加 密(步骤230),同理,执行解密的运作(步骤270)会提前执行并安插在接 收加密数据(步骤260)以及执行认证(步骤280)之间,然后在验证通过后, 在本实施例中仅储存解密固件映像档(步骤282)。
请同时参照图1以及图5,图5为本发明第二实施例的示意图。本实施例 与第一实施例的差异是所述的固件映像档以及认证码CA都是利用加密金钥 K2所对应的加密操作来加以防护,解密单元72在下载所述的加密数据期间 会先利用金钥K2来解密所述的目标加密数据,然后认证单元73在所述的加 密数据接收并解密后,会验证所述的加密数据是否包含所述的预定码,如果 从加密数据解密所得到的认证码CA与一预定图样相匹配,则储存解密的固件 映像档到所述的动态随机存取存储器内并执行所述的固件映像档。
请参照图6,图6为依据本发明第三实施例使用固件防护系统10来防护 所述的固件的散布的一方法的流程图。防护所述的固件的散布的方法包含下 列步骤:
步骤300:开始。
步骤310:提供加密金钥。加密金钥供应器21可以产生一加密金钥K1 特定用来防护装置60的固件映像档以及另一加密金钥K2特定用来防护装置 60的固件映像档的散布。在接下来的实施例中,加密金钥K1以及K2可能是 不相同的加密金钥
步骤315:执行第一层(Layer1)加密。加密单元22从加密金钥供应器 21接收加密金钥K1,然后利用加密金钥K1来加密未加密过的固件映像档并 产生一第一加密数据,在本实施例中,加密单元22依据一数据加密标准(DES) 执行加密以提供简单的防护。
步骤320:执行第二层(Layer2)加密。加密单元22从加密金钥供应器 21接收加密金钥K2,然后利用加密金钥K2来加密所述的第一加密数据以得 到一第二加密数据,在本实施例中,加密单元22依据所述的先进加密标准 (AES)在密文区块链(CBC)模式中执行加密所述的第一加密数据以提供一 坚强的防护。
步骤330:提供认证码。认证码供应器23提供一认证码CA用来验证所 述的第二加密数据以及附加所述的认证码至所述的第二加密数据,在本实施 例中,认证码供应器23在加密前的数据中一些已知位置中嵌入一固定型样(例 如MediaTek)以作为验证码CA或执行一预定演算法(例如一摘要演算法 (digest algorithm)或一杂凑演算法(hash algorithm))来决定认证码CA。
步骤340:提供解密金钥。解码金钥供应器实施中由微处理器90结合储 存单元80来实现,用来提供一解码金钥K1特定用来解码所述的第一加密数 据以及一解码金钥K2特定用来解码所述的第二加密数据,在本实施例中,所 述的解码金钥与所述的加密金钥为同一把金钥,但请注意,在本发明其他实 施例中,所述的解密金钥以及所述的加密金钥是利用各自的加解密演算法所 计算而来,而不限定是同一把金钥。
步骤350:下载。第二主机50通过所述的网际网络从第一主机30下载一 目标加密数据,其中所述的目标加密数据依据加密金钥K1及K2来加密的数 据。
步骤360:接收加密数据。计算机系统40的装置60从第二主机50通过 整合驱动电子介面(Integrated Drive Electronics,IDE)或其他介面(例如序列 式高技术配置(Serial Advanced Technology Attachment,SATA)来接收加密数 据,并储存所述的接收加密数据在一易失性存储器(例如动态随机存取存储 器(DRAM))中,以用来执行接下来解密以及验证的运作。
步骤370:执行认证。认证单元73利用通过所述的第二加密数据所传送 的一认证码来验证所述的第二加密数据。如果验证通过,则跳到步骤380,否 则,跳到步骤386。
步骤380:执行第二层(Layer2)解密。解密单元72在所述的加密数据 中利用解密金钥K2来解密所述的第二加密数据以得到所述的第一加密数据, 在本实施例中,解密的运作(步骤380)以及第二主机50接收所述的第二加 密数据的运作(步骤360)可平行进行。
步骤382:执行第一层(Layer1)解密。解密单元72利用解密金钥K1 来解密所述的第一加密数据以得到所述的固件映像档。
步骤384:储存解密固件映像档。解密单元72储存所述的固件映像档到 一非易失性存储器(例如闪存存储器)中或微处理器90从所述的易失性存储 器直接载入并执行所述的固件映像档,然后执行步骤390。
步骤386:放弃接收加密数据。解密单元72放弃接收所述的加密数据并 通知第二主机50验证失败的结果。
步骤390:完成。
请参照图7,图7为本发明第三实施例的示意图。所述的固件映像档通过 加密金钥K1以及K2进行两层各自加密来达到保护的功效,加密之后,会在 含有所述的加密固件映像档的第二加密数据附上认证码CA,所述的目标映像 档将被散布并提供下载,在所述的目标映像档被接收以及解码后,认证单元 73会验证所述的目标解密数据中是否包含一预定密码,因为密文区块链 (CBC)模式的特性,所以对所述的加密固件映像档所作的任何修改将导致 最后的输出失败,如果通过所述的加密数据传送的认证码CA与一预定图样 (predetermined pattern)相匹配,则解密单元72在下载所述的目标加密数据 期间,将利用解密金钥K2解密所述的目标加密数据以得到所述的第一加密数 据,然后将所述的第一加密数据储存在动态随机存取存储器内。请注意,装 置60并不限定要等到全部加密数据(包含认证信息以及第二加密数据)下载 完成后才开始执行认证,也可下载片段(segment)的加密数据并个别执行认 证运作,只要各片段加密数据的连接关系未被修改即可,此外,只要维持认 证状态有效,也可将整个下载程序加以中断。
请参照图8,图8为依据本发明第四实施例的固件防护系统10来防护所 述的固件的散布的一方法的流程图。第四实施例与第三实施例的差异是提供 认证码与执行第二层加密运作的顺序对调,在本实施例中,提供认证码(步 骤420)是安插在执行第一层加密(步骤415)以及执行第二层加密(步骤430) 之间,同理,执行第二层解密的运作(步骤470)会提前执行并插在接收加密 数据(步骤460)以及执行认证(步骤480)之间。因此,在验证时,在本实 施例中仅用所述的认证码来验证所述的第一加密数据,而不是像第三实施例 是验证第二加密数据。
请参照图9,图9为本发明第四实施例的示意图。请同时参照图7,本实 施例与第三实施例的差异是认证码CA以及第一加密数据(利用加密金钥K1 来加密的固件映像档)都是利用加密金钥K2来加以加密保护,且直到接收并 解密所述的目标加密数据后才执行认证。
请注意,上述实施例中,应用了数据加密标准(DES)或先进加密标准 (AES)加解密运作,然而,上述的加解密机制仅是本发明的实施例,而不是 本发明的限制。
相较于现有技术,本发明的实施例可以利用一固定型样(例如MediaTek) 来作为验证码,所以,除了少数的加密运算外,并不需要另外的运算来计算 验证码,而其他基于加密信息验证码的演算法(Cipher-Based Message Authentication Code algorithm,CMAC)也会有相同的特性,因此,本发明的正 确性验证机制可应用在不需要强大运算能力的装置,此外,本发明采用多重 保护来防护以免泄漏所述的固件映像档,也就是说,除了第一层简单演算法 的加密保护外,本发明也配合较复杂的加密演算法来提供第二层加密保护, 以提供所述的固件映像档更坚强的防护,而且上述的储存单元80(如图1所 示)储存有复数个解码金钥集,针对一特定的产品所设定的一目标解码金钥 集,即使在所述的芯片已经被制造完成后,也是可以调整的,如果微处理器 90、储存单元80以及解密装置70皆被整合在单一芯片内,不同的制造商便 可以使用相同的芯片,此外,因为针对这些产品所设定的目标加密金钥可以 由制造商来选取,所以不同制造商的产品不再共享相同的机密金钥集,因此, 现有技术中遗失机密金钥的问题便跟着被解决了。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变 化与修饰,皆应属本发明的涵盖范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈