1.本发明关于一种利用随机调整的方式改变工作时间点的安全启动系统及其方法。
背景技术:2.在一个受到保护的安全系统中,启动器(bootloader)则在当系统上电后判断是否可执行后续的程序。其中,启动器对可执行程序启动验证的检查,以判断可执行程序的安全性,唯有通过验证的可执行程序被执行后,才可确保系统的安全性。然而,若在启动器执行启动验证的步骤因为受到攻击的关系而没执行到可执行程序,那么就无法确保系统的安全性。
3.举例来说,故障注入攻击(fault injection attack)即是可攻击启动器关键指令的攻击方式之一。假使黑客可预判出关键指令的执行时间点,便可在这时间点对启动器做攻击,进而造成可能为不安全的程序被启动。因此固定不变的启动器执行时间,对黑客而言反而是一个有利的攻击条件之一,而愈是固定的执行时间则愈是不安全的执行环境。
4.综观前所述,本发明的发明者思索并设计一种安全启动系统及其方法,以期针对现有技术的缺失加以改善,进而增进产业上的实施利用。
技术实现要素:5.有鉴于上述现有的问题,本发明的目的在于提供一种安全启动系统及其方法,用以解决现有技术中所面临的问题。
6.基于上述目的,本发明提供一种安全启动系统,其包括程序执行模块和频率产生模块。当安全启动系统上电时,程序执行模块根据第一频率执行启动程序,而于启动程序的执行时间中的第一时间点执行安全程序。当安全启动系统上电时,频率产生模块根据随机数产生第一频率,以随机改变第一时间点。
7.可选地,每一次安全启动系统上电,第一时间点对应随机数而不同,借此避免安全启动系统受到攻击而不执行安全程序。
8.基于上述目的,本发明提供一种安全启动系统,其包括微处理器,微处理器包括启动器、随机数调整器以及频率调整器。启动器根据第一频率而于第一启动时间执行启动程序。随机数调整器发送随机数。频率调整器连接于随机数调整器和启动器之间,当启动器欲执行安全程序时,频率调整器根据随机数调整第一频率为第二频率并将其传输至启动器,启动器根据第二频率而于第二启动时间的第二时间点执行安全程序。
9.可选地,第二频率高于第一频率,第二启动时间短于第一启动时间。
10.可选地,第二频率低于第一频率,第二启动时间长于第一启动时间。
11.一种安全启动方法,其包括:(1)提供启动器根据第一频率而于第一启动时间的第一时间点执行启动程序。(2)当启动器欲执行安全程序时,根据随机数,控制频率调整器调整第一频率为第二频率并将其传输至启动器。(3)根据第二频率,控制启动器于第二启动时间的第二时间点执行安全启动程序。
12.可选地,第二频率高于第一频率,第二启动时间短于第一启动时间,第二时间点早于第一时间点。
13.可选地,第二频率低于第一频率,第二启动时间长于第一启动时间,第二时间点晚于第一时间点。
14.承上所述,本发明的安全启动系统及其方法,通过频率调整器对第一时间点的随机调整,避免黑客无法精确地攻击微处理器真正执行运作的第二时间点。
附图说明
15.图1为本发明的安全启动系统的第一实施例的方块图。
16.图2为本发明的安全启动系统的第二实施例的方块图。
17.图3a为启动器于第一启动时间的示意图。
18.图3b为启动器被攻击的示意图。
19.图3c为启动器的本发明的一实施例于第二启动时间的示意图。
20.图3d为启动器的本发明的另一实施例第二启动时间的示意图。
21.图4为本发明的安全启动方法的流程图。
22.【符号说明】
23.10:启动器
24.20:随机数调整器
25.30:频率调整器
26.40:时脉产生器
27.f1,fe1:第一频率
28.f2:第二频率
29.fg:频率产生模块
30.mcu:微处理器
31.pe:程序执行模块
32.rn:随机数
33.t0,at1:第一启动时间
34.t1,t2:第二启动时间
35.ta,ft:第一时间点
36.ta1,ta2:第二时间点
37.s1~s5:步骤
具体实施方式
38.本发明的优点、特征以及达到的技术方法将参照例示性实施例及所附图式进行更详细地描述而更容易理解,且本发明可以不同形式来实现,故不应被理解仅限于此处所陈述的实施例,相反地,对本发明所属技术领域的普通技术人员而言,所提供的实施例将使本揭露更加透彻与全面且完整地传达本发明的范畴,且本发明将仅为所附加的权利要求保护范围所定义。
39.应当理解的是,尽管术语“第一”、“第二”等在本发明中可用于描述各种元件、部
件、区域、层及/或部分,但是这些元件、部件、区域、层及/或部分不应受这些术语的限制。这些术语仅用于将一个元件、部件、区域、层及/或部分与另一个元件、部件、区域、层及/或部分区分开。因此,下文讨论的“第一元件”、“第一部件”、“第一区域”、“第一层”及/或“第一部分”可以被称为“第二元件”、“第二部件”、“第二区域”、“第二层”及/或“第二部分”,而不悖离本发明的精神和教示。
40.另外,术语“包括”及/或“包含”指所述特征、区域、整体、步骤、操作、元件及/或部件的存在,但不排除一个或多个其他特征、区域、整体、步骤、操作、元件、部件及/或其组合的存在或添加。
41.除非另有定义,本发明所使用的所有术语(包括技术和科学术语)具有与本发明所属技术领域的普通技术人员通常理解的相同含义。将进一步理解的是,诸如在通常使用的字典中定义的那些术语应当被解释为具有与它们在相关技术和本发明的上下文中的含义一致的定义,并且将不被解释为理想化或过度正式的意义,除非本文中明确地这样定义。
42.请参阅图1,其为本发明的安全启动系统的第一实施例的方块图。如图1所示,本发明的安全启动系统,其包括程序执行模块pe和频率产生模块fg。当安全启动系统上电时,程序执行模块pe根据第一频率执行启动程序,而于启动程序的执行时间中的第一时间点执行安全程序。当安全启动系统上电时,频率产生模块fg根据随机数rn产生第一频率fe1,以随机改变第一时间点。每一次安全启动系统上电,第一时间点对应随机数rn而不同,借此避免安全启动系统受到攻击而不执行安全程序。
43.请参阅图2和图3a,其为本发明的安全启动系统的第二实施例的方块图和启动器于第一启动时间的示意图。如图2和图3a所示,本发明的安全启动系统,其包括微处理器mcu、随机数调整器(或称随机数产生器)20以及频率调整器30。微处理器mcu具有启动器10,启动器10根据第一频率f1而于第一启动时间执行启动程序,一般而言,启动器10欲执行安全程序时,启动器10于第一启动时间t0的第一时间点ta执行安全程序来启动合法程序,合法程序为经过安全验证且用于执行使用者工作的应用程序。随机数调整器20发送随机数rn。频率调整器30连接于随机数调整器20和启动器10之间,启动器10欲执行安全程序时,频率调整器30根据随机数rn调整第一频率f1为第二频率f2并将其传输至启动器10,启动器10根据第二频率f2而于第二启动时间t1或t2的第二时间点ta1或ta2执行安全程序,启动器10执行安全程序后接着执行合法程序,合法程序为经过厂商认证的程序。其中,第一频率f1的调整为微处理器mcu上电后而启动器10欲执行安全程序的期间,每次启动器10欲执行安全程序时,每次的随机数rn皆不同,使第二频率f2的数值每次皆为随机,导致第二频率f2的数值每次皆不同,第二频率f2相异于第一频率f1。其中,频率调整器30可例如为时脉修整寄存器(clock trim register)。
44.请参阅图3b,其为启动器被攻击的示意图。如图3b所示,并搭配图2和图3a,由于一般的微处理器mcu的第一频率f1为固定的,于微处理器mcu于上电后,启动器10则于固定的第一启动时间t0的固定第一时间点ta执行安全启动程序,导致第一时间点ta容易被黑客预判出并攻击,进而使黑客启动不合法程序来使启动器10不完全依照所设定的第一时间点ta运作,使微处理器mcu无法如预期的方式运作,黑客于此时寻找微处理器mcu的漏洞以绕过预设的安全机制或取得受保护的数据。
45.请参阅图3c,其为启动器的本发明的一实施例于第二启动时间的示意图。如图3c
所示,并搭配图2,启动器10欲执行安全程序时,频率调整器30根据随机数rn调整第一频率f1为第二频率f2,此时随机数rn为小于1,频率调整器将原先第一频率f1和随机数rn相乘而使第一频率f1缩小为第二频率f2,使第二频率f2低于第一频率f1(例如第一频率f1为3.2ghz,第二频率为2.5ghz),由于第二频率f2的配置,进而将原先的第一启动时间t0延长,造成第二启动时间t1长于第一启动时间t0(亦即,第二启动时间t1的量值大于第一启动时间t0的量值),因第一时间点ta于第一启动时间t0的相对位置和第二时间点ta1于第二启动时间t1的相对位置相同,第二时间点ta1因而改变,使第二时间点ta1晚于第一时间点ta(亦即,第二时间点ta1的量值大于第一时间点ta的量值);若黑客仍于第一时间点ta攻击,经过频率调整器30的调整,启动器10于第二启动时间t1的第二时间点ta1执行安全程序,因第二时间点ta1晚于第一时间点ta,黑客未能成功攻击微处理器mcu真正运作的第二时间点ta1,启动器10仍能正常启动安全程序。
46.请参阅图3d,其为启动器的本发明的另一实施例第二启动时间的示意图。如图3d所示,并搭配图1,启动器10欲执行安全程序时,频率调整器30根据随机数rn调整第一频率f1为第二频率f2,此时随机数rn为大于1,频率调整器将原先第一频率f1和随机数rn相乘而使第一频率f1放大为第二频率f2,使第二频率f2高于第一频率f1(例如第一频率f1为3.2ghz,第二频率f2为5ghz),由于第二频率f2的配置,进而将原先的第一启动时间t0缩短,造成第二启动时间t2短于第一启动时间t0(亦即,第二启动时间t2的量值小于第一启动时间t0的量值),因第一时间点ta于第一启动时间t0的相对位置和第二时间点ta2于第二启动时间t2的相对位置相同,第二时间点ta2早于第一时间点ta(亦即,第二时间点ta1的量值小于第一时间点ta的量值);若黑客仍于第一时间点ta攻击,经过频率调整器30的调整,启动器10于第二启动时间t2的第二时间点ta2执行安全程序,因第二时间点ta2早于第一时间点ta,黑客未能成功攻击微处理器mcu真正运作的第二时间点ta2,启动器10仍能正常启动安全程序。
47.因为随机数rn的配置,使第一频率f1变为随机的第二频率f2(亦即,每次的随机数rn的数值皆不同),每次启动器10所接收的第二频率f2为随机而使第二频率f2每次皆不同,第二时间点ta2从而每次都为相异,因此,第二时间点ta2难以被黑客预测并攻击,使微处理器mcu的工作环境的安全性提升,启动器10能正常执行安全启动程序而随后执行合法程序。
48.请参阅图4,其为本发明的安全启动方法的流程图。如图4所示,搭配图2、图3a、图3c和图3d,说明本发明的安全启动方法如下:s1步骤:提供具有启动器10的微处理器mcu。
49.s2步骤:启动器10如图3a所示根据第一频率f1而于第一启动时间t0执行启动程序,并于第一启动时间t0的第一时间点ta执行安全程序,频率调整器30测量及取得第一频率f1。
50.s3步骤:启动器10欲执行安全程序时,利用随机数调整器20传输随机数rn至频率调整器30。
51.s4步骤:根据随机数rn,控制频率调整器30调整第一频率f1为第二频率f2并将其传输至启动器10,第二频率f2相异于第一频率f1。
52.s5步骤:根据第二频率f2,控制启动器10于第二启动时间t1或t2的第二时间点ta1或ta2执行安全启动程序。其中,若第二频率f2高于第一频率f1,如图3d所示,第二启动时间t2短于第一启动时间t0,第二时间点ta2早于第一时间点ta;若第二频率f2低于第一频率
f1,如图3c所示,第二启动时间t1长于第一启动时间t0,第二时间点ta1晚于第一时间点ta。
53.根据本发明的安全启动方法,将启动器10的工作频率调整为随机频率(亦即,第二频率f2为随机),第二启动时间t1或t2的第二时间点ta1或ta2同样也为随机,以达到随机启动时间的目的,因此,黑客难以预测第二时间点ta1或ta2来进行攻击。
54.承上所述,本发明的安全启动系统及其方法,通过频率调整器30对第一时间点ta的随机调整,避免黑客无法精确地攻击微处理器mcu真正执行运作的第二时间点ta2或ta1。
55.以上所述仅为举例性,而非为限制性。任何未脱离本发明的精神与范畴,而对其进行的等效修改或变更,均应包含于后附的权利要求保护范围中。