一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子系统的制作方法

2022-04-14 05:06:55 来源:中国专利 TAG:

电子系统
1.本技术要求法国专利申请19/09826的优先权,该申请将被视为本说明书的组成部分。
技术领域
2.本公开笼统地涉及电子系统,并且更具体地涉及包括存储器的系统。


背景技术:

3.随着诸如家庭自动化之类的连接对象领域的发展,电子系统的安全性尤其重要。尤其重要的是,能够确保存储在存储器中并在系统初始化期间执行的数据(即启动指令和相关操作数)确实与期望指令相对应,而不是与盗版修改的指令相对应。
4.希望改进已知电子系统的至少一个方面。


技术实现要素:

5.一个实施例解决了已知电子系统的所有或一些缺点。
6.一个实施例提供了一种用于验证包括控制器的电子系统中的指令和操作数的方法,该方法包括:
7.借助于控制器的矩阵总线,经由控制器的第一电路,从控制器内部的至少第一存储器中提取指令和操作数;
8.在指令和操作数传输到第一电路期间,经由控制器内部的第二电路,在矩阵总线上收集指令和操作数;以及
9.生成一个代表指令的字。
10.另一个实施例提供了一种包括控制器的电子系统,该控制器包括:第一电路,被配置为借助于所述控制器的矩阵总线从所述控制器内部的至少第一存储器中提取指令和操作数;第二电路,被配置为当指令和操作数被发送到第一电路时在矩阵总线上收集指令和操作数,并生成表示指令和操作数的字。
11.根据一个实施例,第一电路被配置为执行指令,指令是所述系统的启动指令。
12.根据一个实施例,第二电路被配置为将表示指令的字与参考字进行比较。
13.根据一个实施例,第二电路被配置为:当表示指令的字与参考字相同时确定指令为可信,并且当表示指令的字与参考字不相同时确定指令为不可信。
14.根据一个实施例,系统被配置为如果所述第二电路确定所述指令为不可信则下被重新启动或关闭。
15.根据一个实施例,第二电路包括第二存储器,其中从系统的初始编程开始存储参考字。
16.根据一个实施例,第二电路通过将地址与存储在所述第二存储器中的所述指令的开始地址进行比较来确定所述指令的开始。
17.根据一个实施例,通过指令开始后的预定持续时间来确定数据的结束,或通过将
地址与存储在第二存储器中的指令的结束地址进行比较来确定数据的结束。
18.根据一个实施例,第一存储器是所述控制器内部的非易失性存储器,控制器包括第三存储器,第一存储器包括指令并且第三存储器包括操作数。
19.根据一个实施例,矩阵总线包括形成行和列的总线,行和列之间的每个交叉点被配置为允许或不允许行和列之间的信息传递。
20.根据一个实施例,第一电路通过在其上传输所述指令的第一输入/输出和在其上传输操作数的至少第二输入/输出耦合到所述矩阵。
21.根据一个实施例,第一存储器通过矩阵总线耦合到第一电路的第一和第二输入/输出,并且第三存储器通过矩阵总线耦合到第一电路的第三输入/输出。
22.根据一个实施例,操作数包括用于初始化以下项中的至少一个元素的参数:存储器的保护单元、“看门狗”类型的电路、或用于保护非易失性存储器的电路。
附图说明
23.上述特征和优点以及其他特征和优点将在以下结合附图以说明而非限制的方式给出的具体实施例的描述中进行详细描述,其中:
24.图1示出了电子系统的实施例;和
25.图2示出了用于认证指令和数据的方法的实施例。
具体实施方式
26.在各个附图中,相似的特征由相似的附图标记表示。特别地,在各个实施例中共同的结构和/或功能特征可以具有相同的参考,并且可以布置相同的结构、尺寸和材料特性。
27.为了清楚起见,仅详细说明和描述了对理解本文描述的实施例有用的操作和元件。特别地,电子系统的实施例的不同应用将不再详细描述。
28.除非另有说明,当提及连接在一起的两个元件时,这表示直接连接,除了导体之外没有任何中间元件,并且当提及耦合在一起的两个元件时,这表示这两个元件可以连接或者它们可以通过一个或多个其他元件耦合。
29.在以下公开中,除非另有说明,如果提及绝对位置限定词,例如术语“前”、“后”、“顶”、“底”、“左”、“右”等,或相对位置限定词,例如术语“上方”、“下方”、“更高”、“更低”等,或方向限定词,例如“水平”、“垂直”等,参考图中所示的方向。
30.除非另有说明,否则表述“大概”、“近似”、“基本上”和“大约”表示在10%以内,优选在5%以内。
31.图1示出了电子系统100的实施例。系统100是寻求保护指令(例如启动指令)免于修改的系统。系统100例如对应于连接对象,例如在家庭自动化领域中。这里描述的实施例特别适用于通常不连接到网络的系统类型。更准确地说,图1表示系统100的控制器。
32.系统100、更准确地说是系统的所述控制器包括电路102、优选地是处理器(μp)。该系统包括至少一个存储器104(mem1)。存储器104是控制器的内部存储器。存储器104是可重写的非易失性存储器,例如闪存。该系统还包括至少一个存储器108(mem2),例如易失性存储器,例如ram存储器。存储器108也是控制器的内部存储器。优选地,存储器104和108是不同的存储器。
33.系统的不同元件、特别是存储器104和108以及处理器102,通过总线阵列106或互连矩阵总线,例如高级高性能总线(ahb)。矩阵总线106在控制器内部。矩阵总线允许将“主”型电路耦合到“从”型电路。该装置的每个元件耦合到矩阵的至少一条线或至少一列。优选地,“主”型元件耦合优选地连接到列,并且“从”型元件耦合优选地连接到行。矩阵总线的行和列是信息传输的元件,例如总线。
34.处理器102耦合、优选地连接到矩阵106的三列:在其上传输指令的列,以及在其上传输操作数的至少一个列。在图1的例子中,处理器被耦合、最好是连接到在其上传输操作数的两个列。
35.存储器104作为示例耦合、优选地连接到两个行,例如在其上传输指令的行和在其上传输操作数的行。存储器108例如耦合、优选地连接到矩阵106的一个行。
36.系统100可以进一步包括连接到矩阵106的其他电路,例如一个或多个直接存储器存取电路120(dma1、dma2)和运行其他功能的电路,在图1中由块122(fct2、fct2)表示。每个dma例如耦合、优选地连接到矩阵106的列。每个电路122例如耦合、优选地连接到矩阵106的行。
37.每个行与所有列交叉,相反,每个列与所有行交叉。然而,每个交叉点并不对应于一个电连接。每个交叉点对应一个可能的电连接。可以选择哪个行与哪个列电连接。优选地,这是在装置制造期间确定的。因此,在装置工作期间,这些联络是固定不变的。
38.因此,在装置100中,耦合、优选地连接到处理器102的输入/输出的列102a连接到:行104a,该行耦合、优选地连接到存储器104的输入/输出;以及行108a,该行耦合、优选连接到存储器108的输入/输出。这些联络在图1中由行和列的互连处的点表示。因此,处理器102通过列102a和行104a耦合、优选地连接到存储器104,并且优选地通过列102a和行108a耦合到存储器108。
39.在图1的实施例中,下列交叉不被配置为允许电连接:
40.在列102a和行104b之间的交叉,该行耦合、优选连接到存储器104的另一个输入/输出;
41.在列102a和行122a之间的交叉,该行耦合、优选地连接到块fct1的输入/输出;以及
42.在列102a和行122b之间的交叉,该行耦合、优选地连接到块fct2的输入/输出。
43.因此,处理器102不可能通过行102a与块fct1和fct2交换信息。
44.类似地,在图1的实施例中,耦合、优选连接到处理器102的输入/输出的列102b耦合、优选连接到行104b和行108a,但不耦合到行104a、122a、122b。
45.优选地,通过在其上传输指令的列102a和行104a、以及通过在其上传输操作数的列102b和行104b,将处理器102耦合、优选地连接到存储器104。
46.在图1的示例中,耦合到处理器102的输入/输出的列102c耦合、优选地连接到行108a、122a和122b。列102c是在其上传输操作数的列。在图1的示例中,列102c不耦合到行104a和104b。因此,处理器102优选地不通过在其上传输操作数的列102c耦合到存储器104。然而,处理器102通过列102c和行108a耦合到存储器108,以便能够传输操作数。
47.处理器102因此可以接收位于存储器104中的指令或操作数,并且接收位于存储器108中的操作数。
48.dma 120例如通过列120a和120b分别耦合、优选地连接到行104a、104b、108a、122a和122b。
49.存储器104和108存储引导数据、优选地存储在存储器104中,引导数据意味着引导或初始化的系统指令,这些存储器还存储在引导期间使用的操作数、优选地存储在存储器108中。
50.引导指令是指指令本身。引导指令由电路102执行,并由矩阵106的行104a传输。引导指令优选地在系统启动期间执行的第一指令中。例如,引导指令包括以下项中的至少一个元素的操作数:
51.存储器的保护单元,其可以授权或不授权存储器的不同部分对不同外围设备和不同程序的访问,
[0052]“看门狗”类型的电路,和
[0053]
非易失性存储器的保护电路。
[0054]“看门狗”类型的电路是指包括定时器的电路,定时器在正常情况下在达到其最终值之前定期重新启动。如果装置面临停止定时器重新启动的攻击,定时器会达到其最终值并检测到错误。
[0055]
引导数据,意思是引导指令和操作数,在系统的初始编程期间被写入存储器中。引导数据并不意味着在系统的完全重新编程之外被修改,完全重新编程将涉及存储器104和108的完全擦除。然后这种重新编程将被认为是系统的新初始编程。因此,引导指令的修改涉及盗版尝试,例如试图绕过系统100的安全措施。
[0056]
系统100包括用于验证指令的电路110,优选地包括内部存储器112和各种逻辑电路114。优选地,电路110、处理器102、矩阵总线106以及存储器104和108是同一微控制器的一部分。
[0057]
各种逻辑电路114包括被配置为监控矩阵总线106的电路114-2(monitor)。更准确地说,电路114-2被配置为监控矩阵总线的所有联络。特别地,逻辑电路114-2监视由存储器104发送的指令地址在列102b和行104b上的通过。逻辑电路114包括电路114-4(累加),其被配置为收集矩阵总线的联络上的数据并获得表示引导数据的字(digest),逻辑电路还包括电路(114-6(比较),其被配置为将代表字与参考字(reference)进行比较。
[0058]
优选地对应于寄存器的内部存储器112包括与引导指令的认证相关的数据。特别地,存储器112的寄存器包括参考字reference和代表字digest。此外,存储器112的寄存器可以包括表征引导指令的元素,例如第一指令的地址(@start)和最末指令的地址(@end)。
[0059]
所有引导数据由矩阵总线在例如由其地址@start识别的优选为第一指令的第一数据与由其地址@end识别的优选为要验证的最末指令的最末数据之间传输。优选地,仅在第一数据和最末数据之间提供由存储器104和106存储的数据。然而,在其他行或列上传输的信息、例如数据可以在第一数据和最末数据之间传输,也可以用于生成代表字。
[0060]
备选地,可以使用几个数据序列来形成代表字,这些序列可能被未在代表字的形成中使用的数据序列分开。内部存储器优选地存储用于生成代表字的每个所述序列的开始和结束地址。
[0061]
用于生成代表字的数据使得:在第一数据和最末数据之间,传输到处理器102的指令和操作数总是完全相同,优选地以相同的顺序。优选地,代表字的生成总是通过指令和至
少一个操作数来完成。
[0062]
优选地,电路110包括:
[0063]-接线(114-2),允许监控在矩阵总线的所有行和列上传输的数据;
[0064]-逻辑元件(114-2),允许确定数据的开始和结束以进行验证,例如允许比较在行和列104a和102a上传输的地址的逻辑元件;
[0065]
逻辑元件(114-4),允许生成代表字;
[0066]-逻辑元件(114-6),允许二进制字的比较,并因此允许代表字digest与参考字reference的比较;
[0067]
时钟,允许电路110的元件同步;和
[0068]
寄存器112,其中存储参考字以及要验证的数据序列的开始和结束的地址。
[0069]
图2示出了用于认证指令的方法的实施例,例如由图1的系统100完成。
[0070]
该方法包括第一步骤200,在第一步骤期间,处理器102向存储器104发送请求以提取(提取)引导指令。该步骤在系统100的启动期间完成。
[0071]
引导指令接下来通过矩阵总线106发送到电路102,目的是由处理器102执行。
[0072]
电路110可以被配置为通过监视数据总线并标识第一指令本身来确定引导指令的开始。
[0073]
备选地,电路110监控总线106并被配置为识别由存储器104发送的第一引导指令。为此,例如将经过地址总线的指令的地址(步骤202,“=@start?”)与第一引导指令的地址@start比较。
[0074]
备选地,电路110可以被配置为确定引导指令的开始而无需将被发送指令的地址与预编程地址比较。例如,电路110可以认为存储器104发送的第一指令是第一引导指令。
[0075]
电路110可以被配置为在预编程持续时间期间监视总线106以便识别第一引导指令。如果在该持续时间期间没有识别出第一引导指令,则电路110确定引导指令中存在问题、并且系统的安全性可能受到损害。
[0076]
根据一个实施例,电路110可以被配置为在预编程的持续时间期间监视总线106,以便发现待验证序列的最末引导指令。如果在该持续时间期间没有发现最末引导指令,则电路110确定在引导指令级别存在问题、并且系统的安全性可能受到损害。
[0077]
当第一引导指令被识别时(步骤202的分支y),通过矩阵总线的每个数据一方面被电路102收集以便被实施(步骤204,“实施”),并且另一方面,由电路110收集(步骤206,“收集”)。因此,电路110监视矩阵总线106,并直接读取例如在列102a和102b上的指令和指令中的其地址,以及读取例如在列102c上的操作数。步骤204和206并行执行,因此数据由电路102和110并行处理。
[0078]
电路110接下来确定(步骤208)发送的指令是否是最末指令。例如,将所发送指令的地址总线上的地址与最末引导指令的地址@end进行比较。如果所发送指令的地址不同于地址@end(步骤208的分支n),则返回步骤204和206以发送以下数据。如果发送指令的地址等于地址@end(步骤208中的分支y),则认为启动数据的发送完成,进入下一步骤。
[0079]
指令的结束、换言之要被验证的引导数据序列的结束,可以替代地由与要发送到电路102的引导数据组所花费的时间相对应的持续时间tl来确定。引导数据的结束对应于时间t t1,其中t为引导数据的开始时间(例如步骤202的时间)。持续时间t1例如存储在内
部存储器112中。
[0080]
在步骤208(分支y)之后的步骤209(生成)中,由电路110在矩阵总线上收集的引导数据用于生成代表字(digest)。根据一个示例,在矩阵总线上收集的数据全部存储在内部存储器112中,并且代表字是从所有存储的指令中单次生成的。根据另一示例,电路110可以在步骤206中每次由电路110收集数据时更新代表字。
[0081]
在数据发送结束之后并且在生成确定的代表字digest之后,也就是说,在步骤209之后,将代表字与存储在存储器112中的参考字(reference)进行比较。
[0082]
每次系统初始化时,启动指令的读取顺序都是相同的。电路102在矩阵总线上以相同的顺序提取相同的引导指令和相同的操作数。因此,在没有修改的情况下,每次初始化时代表字都是相同的。
[0083]
因此,如果代表字不同于参考字(步骤210的分支n),这意味着已经实施的指令和/或所提供的操作数不对应于所提供的并且可信的指令,并且安全性系统可能会受到损害。然后可以采取保护措施(步骤212),例如重新启动系统或关闭系统。
[0084]
在参考字和代表字相同的情况下,这意味着所实施的指令是可信的指令并且操作数是可信的。系统100的启动因此可以继续。
[0085]
优选地,电路110在启动数据的认证之后被关闭。然后电路110将仅在系统的下一次启动之后再次开启,例如通过接收重启信号。
[0086]
地址@start和@end、持续时间t1和参考字reference在系统的初始编程期间已经例如被写入存储器112中。例如通过仿真器上的模拟,将地址@start和@end、持续时间t1和参考字reference例如确定一次,然后通过多个类似系统写入存储器104中。
[0087]
备选地,每个系统的初始编程可以包括为所考虑的系统确定这些值的步骤。
[0088]
可以使用不同的函数来从数据中生成代表字digest。例如,可以使用散列函数。同样,可以使用任何能够从数据生成签名的函数。
[0089]
引导指令的大小优选地小于5千字节,例如在大约2和大约3千字节之间。
[0090]
代表字的大小例如小于或等于32千字节。代表字的大小最好独立于存储在存储器中的字的大小。
[0091]
引导指令的开始@start和结束@end地址可以例如形成存储器104的地址范围,所有引导指令均在该范围中。因此,如果在指令的开头和结束之间在总线上发送具有此范围之外地址的指令,则电路110可以检测到问题并且例如停止系统100的引导。例如,盗版攻击可以包括使电路110寻求从除了存储器104之外的存储器(例如存储器108)中提取引导指令。所发送的指令然后在授权范围之外并且因此可以识别攻击。为此,电路114-2监视发送数据的地址,直到引导指令结束。
[0092]
作为变体,引导指令可以包括、或者可以使用位于由指令的开始(@start)和结束(@end)地址形成的范围之外的数据。例如,引导指令的一部分可以位于任何其他存储器中,例如位于存储器108中。内部存储器可以包括确定若干地址范围的若干地址,可选地在若干存储器中,其中包括可信引导数据。这些数据被电路110收集,例如借助数据总线106,并且还用于生成代表字digest。例如,每次系统启动时,这些数据应该是相同的,就像位于存储器104中的引导指令一样。
[0093]
另一种解决方案是在发送启动指令之前验证存储在存储器中的指令,以确保存储
的指令确实对应于可信的指令。然而,在不修改存储在存储器中的指令的情况下,盗版者可能会导致所发送的指令不是所提供的指令,这将不会被检测到。这里描述的实施例的一个优点是它们可以识别在指令传输期间出现的修改。
[0094]
所描述的实施例的优点是元件是控制器的内部元件。特别地,存储器是控制器的内部存储器。电路102和110与存储器之间的联系因此更加安全。
[0095]
另一个优点是代码的验证由实施指令的同一控制器完成。因此,系统不必具有第二个控制器。此外,电路110不包括处理器,由逻辑电路进行比较和计算。电路110因此具有易于实施的结构。
[0096]
已经描述了各种实施例和变体。本领域技术人员将理解,这些实施例的某些特征可以组合,并且本领域技术人员将容易想到其他变体。特别地,这里描述的实施例可以应用于除引导指令之外的指令集。这些指令集在每次执行时都是相同的指令集。
[0097]
最后,本文描述的实施例和变体的实际实现在本领域技术人员基于上文提供的功能描述的能力范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献