CN108268781B - 电子装置的电子元件、启动电子装置的方法及加密方法 - Google Patents

电子装置的电子元件、启动电子装置的方法及加密方法 Download PDF

Info

Publication number
CN108268781B
CN108268781B CN201611262046.6A CN201611262046A CN108268781B CN 108268781 B CN108268781 B CN 108268781B CN 201611262046 A CN201611262046 A CN 201611262046A CN 108268781 B CN108268781 B CN 108268781B
Authority
CN
China
Prior art keywords
key
storage unit
electronic device
boot program
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611262046.6A
Other languages
English (en)
Other versions
CN108268781A (zh
Inventor
郭朕逢
周治平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN201611262046.6A priority Critical patent/CN108268781B/zh
Publication of CN108268781A publication Critical patent/CN108268781A/zh
Application granted granted Critical
Publication of CN108268781B publication Critical patent/CN108268781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本公开提供一种电子装置的电子元件、启动电子装置的方法及加密方法。电子装置包含储存有一第一密钥的一密钥储存单元、控制密钥储存单元是否可以被存取的一密钥保护电路以及储存一已加密的开机程序指令与一第二密钥的一储存单元。启动电子装置的方法包含:从密钥储存单元读取第一密钥;从储存单元读取第二密钥;依据第一密钥及第二密钥产生一第三密钥;以第三密钥解密已加密的开机程序指令;以及执行开机程序指令。本公开提供的电子装置的电子元件、启动电子装置的方法及加密方法可以提高电子装置的安全性。

Description

电子装置的电子元件、启动电子装置的方法及加密方法
技术领域
本公开涉及电子装置,尤其涉及电子装置的启动方法及其电子元件,以及电子装置的机密数据的加密方法。
背景技术
电子装置中的程序指令通常被视为商业机密,因此电子装置的制造商会将其加密以防止被窃。图1为现有的密钥产生及加解密的流程图,用来保护电子装置中的程序指令。厂商A例如是电子装置的中间产品制造商,其由电子元件制造商处取得电子元件(例如控制芯片、特殊应用集成电路(Application-specific integrated circuit,ASIC)或此类的元件),并且利用该电子元件制作出电子装置的中间产品。厂商A于生成产品时产生一非对称式密钥的私钥,再基于一演算法(例如Curve25519演算法,其细节可参考https://en.wikipedia.org/wiki/Curve25519)产生对应于该私钥的公钥,然后将私钥储存在电子装置的中间产品中。详言之,该私钥是储存在电子元件中取用限制受到严格规范的安全储存区中。该电子装置的中间产品及该公钥随后送交给厂商B,厂商B为程序指令的开发商或提供商。程序指令开发完成后,厂商B产生一对称式密钥、使用该对称式密钥加密程序指令以及使用该公钥加密对称式密钥,然后再将已加密的对称式密钥连同已加密的程序指令烧录至装置中,以完成该电子装置。在使用者端,电子装置在启动时从电子元件的安全储存区中读取私钥、使用该私钥解回该对称式密钥以及使用该对称式密钥解密已加密的程序指令。
因为在上述的烧录过程中会产生大量的明文的对称式密钥,而且已加密的对称式密钥可以被直接取得,所以提高了对称式密钥被破解的机会,以及随之而来的程序指令被窃取的风险。
发明内容
鉴于现有技术的不足,本公开的一目的在于提供一种电子装置的启动方法及其电子元件,以及电子装置的机密数据的加密方法,以提高电子装置的安全性。
本公开公开一种电子元件。电子元件包含密钥储存单元、密钥保护电路、储存单元以及计算单元。密钥储存单元储存一第一密钥。密钥保护电路耦接密钥储存单元,并控制密钥储存单元是否可以被存取。储存单元储存一已加密的数据以及一第二密钥。计算单元执行下列步骤:从密钥储存单元读取第一密钥;从储存单元读取第二密钥;依据第一密钥及第二密钥产生一第三密钥;以及以第三密钥解密已加密的数据。
本公开另公开一种启动一电子装置的方法,电子装置包含储存有一第一密钥的一密钥储存单元、控制密钥储存单元是否可以被存取的一密钥保护电路以及储存一已加密的开机程序指令与一第二密钥的一储存单元。所述方法包含:从密钥储存单元读取第一密钥;从储存单元读取第二密钥;依据第一密钥及第二密钥产生一第三密钥;以第三密钥解密已加密的开机程序指令;以及执行开机程序指令。
本公开另公开一种加密方法,应用于一电子装置。电子装置包含一密钥储存单元及一储存单元。加密方法包含下述步骤:产生一第一非对称式密钥,包含一第一公钥及一第一私钥;将第一私钥储存至密钥储存单元;产生一第二非对称式密钥,包含一第二公钥及一第二私钥;利用第一公钥及第二私钥产生一对称式密钥;以对称式密钥加密一数据以产生一已加密的数据;以及将已加密的数据及该第二公钥储存至储存单元。
本公开的电子装置的启动方法及其电子元件,以及电子装置的机密数据的加密方法以二组非对称式密钥进行机密数据的加解密,除了可以有效防止数据被窃之外,更有助于多个厂商进行合作开发且同时保有各自机密数据的安全性。相较于传统技术,本公开不会受限于以同一对称式密钥加解密机密数据,因此在实作上更有弹性。
有关本公开的特征、实作与技术效果,兹配合附图作实施例详细说明如下。
附图说明
图1为现有的密钥产生及加解密的流程图;
图2为本公开的加解密电子装置的开机程序指令的流程图;
图3为本公开的电子元件的功能方框图;以及
图4为本公开的电子装置的启动程序的其中一种实施方式的流程图。
附图标记说明:
300 电子元件
310 计算单元
320 密钥保护电路
330 储存单元
340 存储器
350 密钥储存单元
360 总线
S410~S460 步骤
具体实施方式
以下说明内容的技术用语是参照本技术领域的习惯用语,如本说明书对部分用语有加以说明或定义,该部分用语的解释是以本说明书的说明或定义为准。
本公开的公开内容包含电子装置的启动方法及其电子元件,以及电子装置的机密数据的加密方法。由于本公开的电子元件所包含的部分元件单独而言可能为已知元件,因此在不影响该电子元件的充分公开及可实施性的前提下,以下说明对于已知元件的细节将予以省略。此外,本公开的电子装置的启动方法以及电子装置的机密数据的加密方法的部分或全部流程可以是软件及/或固件的形式,在不影响该启动方法及该加密方法的充分公开及可实施性的前提下,以下关于该启动方法及该加密方法的说明将着重于步骤内容而非硬件。
图2为本公开的加解密电子装置的开机程序指令(booting instructions)的流程图。厂商A随机产生第一非对称式密钥(包含第一公钥及第一私钥),并把第一私钥储存在电子元件的安全储存区(例如具有密钥混码技术(key scramble technology)的一次性可编程(one time programmable,OTP)储存单元)。厂商B从厂商A处取得电子装置的中间产品及第一公钥。完成开机程序指令的开发后(例如产生一映像档),厂商B随机产生第二私钥,并且基于一演算法(例如Curve25519演算法)产生对应于第二私钥的第二公钥(第二公钥的第二私钥构成第二非对称式密钥)。接着以基于椭圆曲线密码学(Elliptic CurveCryptography,ECC)的演算法(例如Curve25519演算法),利用第一公钥及第二私钥产生对称式密钥(例如符合进阶加密标准(Advanced Encryption Standard,AES)的密钥)。然后将开机程序指令以该对称式密钥加密之后,删除第二私钥及对称式密钥,并将已加密的开机程序指令及第二公钥储存在电子元件的一般储存区中,以完成该电子装置。
在使用者端,电子装置的启动程序从电子元件的安全储存区读取第一私钥,并且从电子元件的一般储存区读取已加密的开机程序指令及第二公钥。接着,基于同样的演算法(例如前述的Curve25519演算法),利用第一私钥及第二公钥产生对称式密钥。以此方式所产生的对称式密钥自然会与先前的加密步骤所使用的对称式密钥相同。然后再以刚才产生的对称式密钥解密已加密的开机程序指令。之后电子元件中的计算单元便可执行该开机程序指令来使该电子装置开始执行其功能。
图3为本公开的电子元件的功能方框图。电子元件300应用于前述的电子装置,包含计算单元310、密钥保护电路320、储存单元330、存储器340、密钥储存单元350以及总线360。计算单元310可以是具有运算能力及程序指令执行能力的元件或电路,例如微处理器、微控制器、中央处理单元等。计算单元310通过总线360存取储存单元330、存储器340以及密钥储存单元350。密钥储存单元350可以是非挥发性存储器(例如电子熔丝(eFuse)),储存前述的第一私钥,且密钥储存单元350受到密钥保护电路320保护。详言之,计算单元310通过控制信号SE控制密钥保护电路320运行于安全模式或一般模式。在安全模式中,密钥储存单元350在密钥保护电路320的控制的下无法被存取;在一般模式中,密钥储存单元350在密钥保护电路320的控制的下可以被存取。储存单元330可以是非挥发性存储器(例如快闪存储器),储存前述的已加密的开机程序指令以及第二公钥。存储器340可以是挥发性存储器,例如动态随机存取存储器。存储器340为电子元件300内部的存储器,不可被电子元件300的外部元件存取。
图4为前述电子装置的启动程序(starting procedure)的其中一种实施方式的流程图。请同时参阅图3及图4以更清楚了解本公开。计算单元310执行系统程序(例如用来启动装置的指令)以进行图4所示的启动程序。系统程序可以储存于电子元件300的只读存储器(图未示)中。在初始步骤(S410)中,计算单元310使电子元件300离开重置状态,并且关闭电子元件300的排错连接端。关闭排错连接端的目的在于防止机密数据(例如密钥)在启动程序中被侧录。在步骤S410结束后,密钥保护电路320为一般模式,此时密钥储存单元350可以被存取。接下来计算单元310从密钥储存单元350中读取第一私钥(步骤S420)后,并且控制密钥保护电路320进入安全模式(步骤S430)。详言之,密钥储存单元350只可以被计算单元310在执行系统程序时读取,被读取的第一私钥暂存在存储器340中;在步骤S430中,计算单元310发出控制信号SE给密钥保护电路320,以控制其由一般模式进入安全模式,使密钥储存单元350无法被存取。接下来计算单元310解密储存于储存单元330中的已加密的开机程序指令(步骤S440)。详言之,计算单元310先以第一私钥及第二公钥产生对称式密钥(步骤S442,此时对称式密钥储存在存储器340中),接着计算单元310再以此对称式密钥对已加密的开机程序指令进行解密(步骤S444)。解密后的开机程序指令暂存于存储器340中。然后计算单元310删除存储器340中第一私钥及该对称式密钥(步骤S450),之后计算单元310执行开机程序指令使电子元件300开始运行(步骤S460)。请注意,前述的第一私钥及第二公钥未经过加密。
图2的流程可以有以下的变化型:(1)厂商A将第一私钥隐藏在提供给厂商B的烧录程序中,烧录程序在厂商B进行烧录时自动产生第一公钥,厂商B再以该第二公钥及自行产生的第二非对称式密钥进行后续的程序;此种做法可以避免厂商A直接将第一公钥传递给厂商B。(2)厂商A所做的程序可以由厂商B执行,亦即第一非对称式密钥的产生及将第一私钥储存在电子元件的安全储存区中的步骤皆由厂商B执行;如此一来厂商B可以自行掌控所有的密钥。
当电子装置的开机程序指令需要更新时,厂商B产生新的一组非对称式密钥(包含第三公钥及第三私钥),并于完成图2中厂商B所应执行的步骤后,将新的已加密的开机程序指令及第三公钥通过无线或有线的方式传送至电子装置以取代旧的开机程序指令及第二公钥。之后使用者端便可以第一私钥及第三公钥解密新的已加密的开机程序指令。
综上所述,为了顾及电子装置的开机效能,本公开以对称式密钥加密开机程序指令,但却不直接加密对称式密钥并将已加密的对称式密钥置于非受保护的储存区域中,如此可以减少对称式密钥被破解的可能性。再者,本公开以二组非对称式密钥进行加解密程序,如此一来厂商A可与多个厂商合作开发,除了厂商A之外的厂商皆使用自行产生的非对称式密钥来与厂商A所提供的非对称式密钥产生对称式密钥,因此不会有不同的厂商使用同一个对称式密钥的问题,可以增加系统的安全性。
本公开不限于应用在电子装置的启动程序,此时前述的开机程序指令、软件或固件可以是其他种类的机密数据,例如装置的识别码等。前述的厂商A及厂商B也可以例如是同一公司的生产部门与开发部门。
由于本技术领域技术人员可通过本公开的装置实施例的公开内容来了解本公开的方法实施例的实施细节与变化,因此,为避免赘文,在不影响该方法实施例的公开要求及可实施性的前提下,重复的说明在此予以省略。请注意,前揭图示中,元件的形状、尺寸、比例以及步骤的顺序等仅为示意,是供本技术领域技术人员了解本公开的用,非用以限制本公开。
虽然本公开的实施例如上所述,然而所述实施例并非用来限定本公开,本技术领域技术人员可依据本公开的明示或隐含的内容对本公开的技术特征施以变化,凡此种种变化均可能属于本公开所寻求的专利保护范畴,换言的,本公开的专利保护范围须视本说明书的权利要求所界定者为准。

Claims (10)

1.一种电子元件,其特征在于,包含:
一密钥储存单元,储存一第一密钥;
一密钥保护电路,耦接该密钥储存单元,控制该密钥储存单元是否可以被存取;
一储存单元,储存一已加密的数据以及一第二密钥;以及
一计算单元,执行下列步骤:
从该密钥储存单元读取该第一密钥;
从该储存单元读取该第二密钥;
基于椭圆曲线密码学的演算法依据该第一密钥及该第二密钥产生一第三密钥;以及
以该第三密钥解密该已加密的数据。
2.如权利要求1所述的电子元件,该计算单元还执行以下步骤:
取得该第一密钥后,控制该密钥保护电路以令该密钥储存单元无法被存取。
3.如权利要求1所述的电子元件,该电子元件还包含一挥发性存储器,该第三密钥以及自该密钥储存单元读取出的该第一密钥暂存于该挥发性存储器,该计算单元还执行以下步骤:
解密该已加密的数据后,删除该挥发性存储器中的该第一密钥及该第三密钥。
4.如权利要求1所述的电子元件,其中该第二密钥是一非对称式密钥的一公钥。
5.一种启动一电子装置的方法,该电子装置包含储存有一第一密钥的一密钥储存单元、控制该密钥储存单元是否可以被存取的一密钥保护电路以及储存一已加密的开机程序指令与一第二密钥的一储存单元,该方法包含:
从该密钥储存单元读取该第一密钥;
从该储存单元读取该第二密钥;
基于椭圆曲线密码学的演算法依据该第一密钥及该第二密钥产生一第三密钥;
以该第三密钥解密该已加密的开机程序指令;以及
执行该开机程序指令。
6.如权利要求5所述的方法,还包含:
取得该第一密钥后,控制该密钥保护电路以令该密钥储存单元无法被存取。
7.如权利要求5所述的方法,该电子装置还包含一挥发性存储器,该第三密钥以及自该密钥储存单元读取出的该第一密钥暂存于该挥发性存储器,该方法还包含:
解密该已加密的开机程序指令后,删除该挥发性存储器中的该第一密钥及该第三密钥。
8.一种加密方法,应用于一电子装置,该电子装置包含一密钥储存单元及一储存单元,该加密方法包含:
产生一第一非对称式密钥,包含一第一公钥及一第一私钥;
将该第一私钥储存至该密钥储存单元;
产生一第二非对称式密钥,包含一第二公钥及一第二私钥;
基于预定的演算法利用该第一公钥及该第二私钥产生一对称式密钥;
以该对称式密钥加密一数据以产生一已加密的数据;以及
将该已加密的数据及该第二公钥储存至该储存单元。
9.如权利要求8所述的加密方法,其中该第二公钥是未加密。
10.如权利要求8所述的加密方法,其中该对称式密钥可基于预定的演算法利用该第一私钥及该第二公钥产生。
CN201611262046.6A 2016-12-30 2016-12-30 电子装置的电子元件、启动电子装置的方法及加密方法 Active CN108268781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611262046.6A CN108268781B (zh) 2016-12-30 2016-12-30 电子装置的电子元件、启动电子装置的方法及加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611262046.6A CN108268781B (zh) 2016-12-30 2016-12-30 电子装置的电子元件、启动电子装置的方法及加密方法

Publications (2)

Publication Number Publication Date
CN108268781A CN108268781A (zh) 2018-07-10
CN108268781B true CN108268781B (zh) 2022-01-04

Family

ID=62755128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611262046.6A Active CN108268781B (zh) 2016-12-30 2016-12-30 电子装置的电子元件、启动电子装置的方法及加密方法

Country Status (1)

Country Link
CN (1) CN108268781B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274488A (zh) * 2018-09-04 2019-01-25 广州众诺电子技术有限公司 集成电路程序烧录方法、存储介质和系统
CN113127814B (zh) * 2019-12-31 2023-03-14 杭州海康威视数字技术股份有限公司 软件防抄方法、装置、电子设备及可读存储介质
TWI824602B (zh) * 2022-07-05 2023-12-01 大陸商星宸科技股份有限公司 電子裝置及其控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756706B2 (en) * 2010-10-12 2014-06-17 Blackberry Limited Method for securing credentials in a remote repository
CN102868519A (zh) * 2011-07-04 2013-01-09 周哲仰 数据保密方法及系统
CN104980928B (zh) * 2014-04-03 2018-12-07 华为终端(东莞)有限公司 一种用于建立安全连接的方法、设备及系统
CN106027245B (zh) * 2016-07-22 2019-05-07 中国工商银行股份有限公司 密钥共享方法及装置

Also Published As

Publication number Publication date
CN108268781A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
TWI615732B (zh) 電子裝置之電子元件、啟動電子裝置的方法及加密方法
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
TWI489308B (zh) 未知安全金鑰下開機影像之安全更新
EP3197089B1 (en) Secure information configuration method, secure authentication method and related chip
CN107004083B (zh) 设备密钥保护
US20130254906A1 (en) Hardware and Software Association and Authentication
CN104657630A (zh) 利用物理不可克隆功能的集成电路供应
US8726038B2 (en) FPGA apparatus and method for protecting bitstream
WO2016146013A1 (zh) 在数字内容设备中在线写入应用密钥的方法、装置及系统
JP2017504267A (ja) セキュアブート中のキー抽出
CN108268781B (zh) 电子装置的电子元件、启动电子装置的方法及加密方法
WO2018076648A1 (zh) 一种芯片的安全启动方法及装置、计算机存储介质
WO2012174726A1 (zh) 芯片及芯片的安全保护方法
CN109766731B (zh) 基于固态硬盘的加密数据处理方法、装置和计算机设备
CN111901117A (zh) 基于jtag接口的安全认证方法及系统
CN107925574B (zh) 秘密数据的安全编程
US9590806B2 (en) Secure provisioning of semiconductor chips in untrusted manufacturing factories
US11874928B2 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
CN112241523A (zh) 一种嵌入式计算机开机身份认证方法
CN110674525A (zh) 一种电子设备及其文件处理方法
TWI827912B (zh) 電子裝置及操作電子裝置的方法
JP2005303370A (ja) 半導体チップ、起動プログラム、半導体チッププログラム、記憶媒体、端末装置、及び情報処理方法
EP3214797B1 (en) Deriving a device unique encryption key of a system on chip using a physical unclonable function
US9218484B2 (en) Control method and information processing apparatus
CN109286488B (zh) Hdcp关键密钥保护方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant