电子装置与软体更新方法与流程

文档序号:25780639发布日期:2021-07-09 09:23阅读:106来源:国知局
电子装置与软体更新方法与流程

1.本案是关于软体更新方法,更明确地说,是关于使用资料加解密以及数位签章的软体更新方法与电子装置。


背景技术:

2.在嵌入式系统的应用中,根据客户需求开发软体为重要的工作。在现有的软体更新方法中,可利用多种检验方式(例如为奇偶校验、冗余校验等等)来侦测软体更新的过程中是否有资料传输错误,以确保软体可正确地被更新。然而,上述检验方式无法侦测到是否有人为预先窜改软体的情形,而对客户的装置带来一定风险。


技术实现要素:

3.于一些实施例中,电子装置包含第一记忆体电路、第二记忆体电路以及处理电路。第一记忆体电路用以储存一密钥。第二记忆体电路用以储存一原始软体。处理电路用以:接收一待更新资料,其中该待更新资料包含一待更新软体与一数位签章;对该待更新软体执行一摘要演算法以产生一第一摘要;使用该密钥解密该数位签章以产生一第二摘要;以及比较该第一摘要与该第二摘要,以确认是否将该原始软体更新为该待更新软体。
4.于一些实施例中,一种软体更新方法包含下列操作:接收一待更新资料,其中该待更新资料包含一待更新软体与一数位签章;对该待更新软体执行一摘要演算法以产生一第一摘要;使用一公钥解密该数位签章以产生一第二摘要;以及比较该第一摘要与该第二摘要,以确认是否将一原始软体更新为该待更新软体。
5.有关本案的特征、实作与功效,兹配合图式作详细说明如下。
附图说明
6.图1a为根据本案一些实施例示出的一种软体更新方法的流程图;
7.图1b为根据本案一些实施例示出图1a各个操作中资料处理的示意图;以及
8.图2为根据本案一些实施例示出一种电子装置的示意图。
9.符号说明
10.100 软体更新方法
11.s101~s104、s111~s116 操作
12.d1 第一摘要
13.d2 第二摘要
14.du 待更新资料
15.k1 私钥
16.k2 公钥
17.od 原始摘要
18.sn 数位签章
19.su 待更新软体
20.200 电子装置
21.201 传输媒介
22.210 处理电路
23.220 通讯电路
24.230 记忆体电路
25.240 记忆体电路
具体实施方式
26.本文所使用的所有词汇具有其通常的意涵。上述的词汇在普遍常用的字典中的定义,在本案的内容中包含任一于此讨论的词汇的使用例子仅为示例,不应限制到本案的范围与意涵。同样地,本案的可实施态样亦不仅限于此说明书所示出的实施例。
27.如本文所用,用语『电路(circuit)』可为由至少一个电晶体与/或至少一个主被动组件按一定方式连接以处理讯号的装置。如本文所用,用语『与/或』包含了列出的关联项目中的一个或多个的任何组合。
28.在本文中,使用第一、第二与第三等等的词汇,是用于描述并辨别各个元件。因此,在本文中的第一元件也可被称为第二元件,而不脱离本案的本意。
29.于一些实施例中,『摘要(digest)』、『密钥』、『软体』以及『数位签章』泛指数位电子资料。在不违背本案实施态样下,上述用语的实施态样亦可不限于数位电子资料。
30.为易于理解,于各图式中的类似元件将被指定为相同标号。
31.图1a为根据本案一些实施例示出的一种软体更新方法100的流程图。图1b为根据本案一些实施例示出图1a各个操作中资料处理的示意图。为易于理解,软体更新方法100的操作将搭配图1a与图1b说明。
32.于操作s101中,厂商端生成一组密钥,并在制造时将公钥储存于使用者端。
33.例如,如图1b所示,厂商端(例如可为厂商的电脑主机、伺服器等等)随机生成一组密钥,其中此组密钥包含相对应的私钥k1与公钥k2。于一些实施例中,厂商端随机产生私钥k1,并对私钥k1执行基于椭圆曲线密码学(elliptic curve cryptography)的演算法以产生公钥k2。于一些实施例中,私钥k1与公钥k2可为(但不限于)一组非对称式的密钥。上述关于私钥k1与公钥k2的产生方式或种类用于示例,且本案并不以此为限。各种类型的私钥与公钥及其产生方式皆为本案所涵盖的范围。
34.于操作s102,厂商端对待更新软体执行摘要演算法,以生成原始摘要。
35.例如,如图1b所示,厂商端对待更新软体su执行摘要演算法,以产生原始摘要od。换言之,待更新软体su为被摘要演算法处理的一讯息(message)。于一些实施例中,待更新软体su可为欲被更新至图2的电子装置200中的程式。例如,待更新软体su可为(但不限于)电子装置200的韧体、作业系统、驱动程式、开机程式或应用程式等等。于一些实施例中,摘要演算法可为一种杂凑(hash)函数。例如,摘要演算法可为讯息摘要(message digest,md)演算法、安全杂凑演算法(secure hash algorithm,sha)等等。上述关于摘要演算法的种类用于示例,且本案并不以此为限。
36.于操作s103,厂商端利用私钥加密原始摘要,以产生数位签章。于操作s104,厂商
端结合待更新软体以及数位签章,以产生待更新资料。
37.例如,如图1b所示,厂商端更利用私钥k1加密原始摘要od,以产生数位签章sn。接着,厂商端结合待更新软体su与数位签章sn,以产生待更新资料du。于一些实施例中,厂商端将数位签章sn附于待更新资料du后,并输出待更新资料du以及数位签章sn为待更新资料du。
38.于操作s111,使用者端接收待更新资料。于操作s112,使用者端对待更新资料中的待更新软体执行摘要演算法,以产生第一摘要。于操作s113,使用者利用公钥解密待更新资料中的数位签章,以产生第二摘要。
39.例如,使用者端(例如为图2的电子装置200)可经由网络(或各种资料传输媒介)联机至厂商端,以获取待更新资料du。使用者端可对待更新资料du中的待更新软体su执行摘要演算法,以产生第一摘要d1。使用者端可利用事先储存的公钥k2解密数位签章sn,以产生第二摘要d2。于一些实施例中,操作s112以及操作s102中所执行的摘要演算法设定为相同的演算法。如此一来,若待更新资料du未被窜改且待更新资料du有完整地被传输至使用者端,第一摘要d1会相同于原始摘要od。
40.于操作s114,比较第一摘要与第二摘要。于操作s115,若第一摘要相同于第二摘要,更新原始软体为待更新软体。于操作s116,若第一摘要不同于第二摘要,不更新原始软体为待更新软体,并删除待更新资料。
41.如先前所述,在厂商端与使用者端皆使用同样的摘要演算法的条件下,若待更新资料du未被窜改且待更新资料du有完整地被传输至使用者端,第一摘要d1会相同于原始摘要od。而若待更新资料du未被窜改且待更新资料du有完整地被传输至使用者端,使用者端获取的第二摘要d2亦会相同于原始摘要od。因此,使用者端可比较第一摘要d1与第二摘要d2,以确认待更新资料du是否有被窜改与/或确认是否有完整接收到待更新资料du。
42.若第一摘要d1相同于第二摘要d2,代表待更新资料du为有效的(如为资料未被窜改且资料完整性为正确的)。于此条件下,使用者端可将原始软体更新为待更新软体su。或者,若第一摘要d1不同于第二摘要d2,代表待更新资料du为无效的(如为资料可能被窜改或资料完整性为不正确的)。于此条件下,使用者端不将原始软体更新为待更新软体su,并删除收到的待更新资料du。
43.藉由上述操作,可确保软体更新的过程中皆可正确地使用真实性适格以及有效性适格的软体,以增加使用者端的电子装置的系统安全性。
44.于一些实施例中,在上述操作中使用私钥k1或公钥k2进行加解密的演算法可为杂凑函数。于一些实施例中,在上述操作中使用私钥k1或公钥k2进行加解密的演算法可为非对称式加解密演算法,但本案并不以此为限。
45.于一些实施例中,厂商端可包含一或多个厂商。例如,厂商端包含第一厂商与第二厂商。第一厂商为制造使用者端所使用的装置中的一或多个电路的制造商,其可执行操作s101。第二厂商为程式开发商,其可执行操作s102~s104。于一些实施例中,上述的第一厂商与第二厂商亦可为同一公司的不同部门。上述关于厂商端的说明用于示例,且本案并不以此为限。
46.上述软体更新方法100的多个操作仅为示例,并非限定需依照此示例中的顺序执行。在不违背本案的各实施例的操作方式与范围下,上述的各种操作与/或各种步骤当可适
当地增加、替换、省略或以不同顺序执行。
47.图2为根据本案一些实施例示出一种电子装置200的示意图。于一些实施例中,电子装置200可为一嵌入式系统。于一些实施例中,电子装置200可为一特殊应用集体电路。于一些实施例中,电子装置200为图1a与图1b中的使用者端的装置。
48.电子装置200包含处理电路210、通讯电路220、记忆体电路230以及记忆体电路240。处理电路210可由具有运算能力与/或执行程式能力的处理器电路。例如,处理电路210可为微处理器电路、微控制器电路、中央处理器电路、数字讯号处理电路等等。处理电路210用以执行图1a与图1b中使用者端的多个操作s111~s116,以确认是否进行软体更新。处理电路210通过传输媒介201耦接至通讯电路220、记忆体电路230以及记忆体电路240。于一些实施例中,传输媒介201可为资料汇流排。
49.处理电路210经由通讯电路220自厂商端接收待更新资料du。于一些实施例中,通讯电路220可为网络通讯应用电路(例如为乙太网络卡装置等等)。于一些实施例中,通讯电路220可为资料传输介面电路(例如为usb介面电路等等)。记忆体电路230用以储存一密钥(例如为图1b中的公钥k2)。于一些实施例中,记忆体电路230可由一次性可编程(one time programmable,otp)唯读记忆体实施,以确保公钥k2的安全性。于一些实施例中,记忆体电路230可由电子熔丝(efuse)电路实施。
50.于一些实施例中,记忆体电路240用以储存原始软体so。原始软体so可为电子装置200预先储存的软体,例如可为(但不限于)作业系统、驱动程式、开机程式或应用程式等等。在处理电路210执行图1a中的操作s111至操作s114后,处理电路210可决定是否将原始软体so更新为图1b中的待更新软体su。例如,当第一摘要d1相同于第二摘要d2,处理电路210将原始软体so更新为待更新软体su(即操作s115)。反之,当第一摘要d1不同于第二摘要d2,处理电路210将原始软体so不更新为待更新软体su,并删去所接收到的待更新资料du(即操作s116)。于一些实施例中,记忆体电路240可由快闪式记忆体实施,但本案并不以此为限。于一些实施例中,记忆体电路230与记忆体电路240可整合为单一记忆体。
51.上述关于电子装置200的设置方式用于示例,且本案并不以此为限。各种可应用软体更新方法100的电子装置皆为本案所涵盖的范围。
52.综上所述,本案一些实施例所提供的软体更新方法与电子装置可利用摘要与数位签章来确保软体的真实性与有效性,以增加电子装置的系统安全性。
53.虽然本案的实施例如上所述,然而该些实施例并非用来限定本案,本技术领域具有通常知识者可依据本案的明示或隐含的内容对本案的技术特征施以变化,凡此种变化均可能属于本案所寻求的专利保护范畴,换言之,本案的专利保护范围须视本说明书的申请专利范围所界定者为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1