用于在网络中生成秘密的电路装置的制作方法

文档序号:14652011发布日期:2018-06-08 22:01阅读:146来源:国知局
用于在网络中生成秘密的电路装置的制作方法

本发明涉及一种电路装置和这种电路装置在网络中的应用,该网络具有至少两个用户和用于所述至少两个用户的共同的传输介质。



背景技术:

由本申请人在之后公开的DE 10 2015 207 220 A1中介绍了一种用于在网络中生成密钥或秘密的方法,该方法用于在共同的传输介质上将两个用户的信号叠加。在此情况下,网络具有至少第一用户和第二用户以及在至少所述第一用户和所述第二用户之间的传输信道。所述第一用户和所述第二用户可以分别将至少第一值和第二值提供到所述传输信道上。所述第一用户和所述第二用户促使第一用户值序列和第二用户值序列彼此尽可能同步地传输到所述传输信道上。基于关于第一用户值序列和第二用户值序列的信息以及基于由所述第一用户值序列与所述第二用户值序列在所述传输信道上的叠加得到的叠加值序列,所述第一用户和所述第二用户生成共同的秘密或共同的加密密钥。

这种方法特别好地适合于如下通信系统,所述通信系统提供显性和隐性位或相应地显性和隐性信号的传输,其中网络的用户的显性信号或位相对于隐性信号或位得以实现。对此的示例是CAN(Controller Area Network(控制器局域网)),在CAN中借助逐位的总线仲裁进行对该总线的访问,所述总线仲裁根据具有显性和隐性位的这些传输方法工作。另外的示例是TTCAN、CAN FD、LIN以及I2C。这些传输方法已制定很长时间并且可以借助被证明的和标准化的网络接口组件、诸如所谓的网络控制器简单地实施。通常,收发器组件(也称为总线驱动器或介质附接单元(MAU))负责直接物理总线耦合。为了计算单元(例如微控制器)的通常的网络连接,因此使用也可以是该计算单元的集成组成部分的网络接口组件,用于产生逻辑信号,并且使用与该网络接口组件以传输数据的方式连接的收发器组件,用于产生物理信号。

然而有问题的是,对于用户而言并不能没有困难地借助网络接口组件在传输介质上产生任意信号值序列,因为通常的网络接口组件被设立用于产生符合协议的、例如具有报头、校验和等的信号值序列,并且例如也进行总线仲裁。



技术实现要素:

根据本发明,提出具有独立权利要求的特征的电路装置和这种电路装置在网络中的应用,该网络具有至少两个用户(例如尤其机动车、工业设备、家庭自动化网络等的控制设备、传感器或执行器)和用于这两个用户的共同的传输介质。有利的设计方案是从属权利要求以及随后的描述的主题。

在本发明的范围内介绍一种电路装置,该电路装置具有各个在下面还要更详细解释的部件,所述部件能够快速地且安全地执行如尤其开头所描述的秘密生成。这样的共同的秘密于是尤其可以被用于生成对称加密密钥。但是该共同的秘密原则上也可以为了其他目的 就狭义而言被用作加密密钥,例如被用作一次一密(One-Time-Pad)。

优选地,该电路装置被设立用于参与例如根据DE 10 2015 207 220 A1的用于基于显性和隐性信号的叠加生成秘密的方法,其中该网络具有至少第一和第二用户和在至少所述第一用户和所述第二用户之间的传输信道。所述第一用户和所述第二用户可以分别将至少第一值和第二值提供到所述传输信道上。所述第一用户和所述第二用户促使第一用户值序列和第二用户值序列彼此尽可能同步地传输到所述传输信道上。基于关于所述第一用户值序列和所述第二用户值序列的信息以及基于由所述第一用户值序列与所述第二用户值序列在所述传输信道上的叠加得到的叠加值序列,所述第一用户和所述第二用户生成共同的秘密。

例如可以被构造为集成电路、尤其微控制器或被构造为多个集成电路的复合结构的电路装置具有:中央计算单元,尤其微处理器,用于实施过程并且用于控制电路装置;网络接口组件(诸如所谓的网络或通信控制器,例如用于CAN),用于产生并非用于秘密生成的(“正常”)网络通信的逻辑信号;用于产生用于秘密生成的网络通信的逻辑信号的发送和接收模块;和例如芯片上总线系统或交叉开关形式的通信系统(所谓的主机接口(IF)),用于以传输数据的方式连接电路装置的部件。

使用独立的发送和接收模块的特别优点是,所述独立的发送和接收模块与网络接口组件并行地工作并且因此可以集成到任意的集成电路或微控制器中,其中这些集成电路或微控制器允许具有任意类型的网络接口组件,因为这些网络接口组件不必被修改。在没有该独立的发送和接收模块的情况下,不同类型的网络接口组件将必须单独地、以大的耗费被扩展该功能。

优选地,该电路装置具有以传输数据的方式与网络接口组件以及发送和接收模块连接的复用器或分配器组件,以便尤其借助用于基于逻辑信号产生用于网络通信的物理信号的(即用于直接物理总线耦合的)总线驱动器组件(也被称为收发器或介质附接单元(MAU))自由选择地将网络接口组件和/或发送和接收模块与网络连接。

发送和接收模块被设立用于针对用于秘密生成的网络通信由符号序列(尤其位序列、所谓的位串)产生一个或多个(尤其符合协议的)网络消息并且输出相应的逻辑信号(例如给总线驱动器组件),并且优选地被设立用于同时(例如从总线驱动器组件或从网络接口组件)接收逻辑信号,所述逻辑信号表征施加在网络上的信号。替代地,可以规定,从网络接口组件接收表征施加在网络上的信号的逻辑信号。如上面所解释的,施加在网络上的信号在通过两个用户的两个用户值序列的叠加来生成秘密时得到实现。

发送和接收模块尤其被设立用于,当所输出的逻辑信号和同时接收的逻辑信号不一致时,选择性地中断传输,或不中断传输。这样例如可能的是,在仲裁阶段期间使传输中断被接通并且此后针对秘密生成关断传输中断。

发送和接收模块或网络接口组件尤其被设立用于由所接收的信号产生叠加值并且尤其将所述叠加值输出给电路装置的其他部件,用于生成秘密。然而,发送和接收模块也可以甚至被设立用于由用户值和叠加值产生秘密。

特别有利地,该电路装置可以被使用在如下网络中,在该网络中存在显性值(物理上:显性信号),所述显性值在仅仅一个用户将所述显性值施加在传输介质上时得以实现,以及存在隐性值(物理上:隐性信号),所述隐性值只有在两个或所有用户传输隐性值时才在传输介质上得到。基于对此清楚地预先给定的叠加规则,这样的网络的用户可以从得到的叠加值序列特别简单地导出用于生成秘密的信息。替代地,也可以通过以下方式代替用户中的至少一个用户的隐性值的传输,即在值序列的该位置处或作为至少两个可能的值中的一个值,什么都不被传输。

用于基于显性和隐性信号的叠加在用户之间生成秘密的方法的改进方案规定,第一用户值序列和第二用户值序列分别具有第一子值序列和第二子值序列,其中第二子值序列由第一子值序列通过取反产生,即其方式是:第一值被互换成第二值,并且第二值被互换成第一值。

发送和接收模块有利地被设立用于由符号序列产生位序列作为第一子值序列并且产生被取反的位序列作为第二子值序列,并且由第一子值序列和第二子值序列的组合产生一个或多个网络消息。在此情况下,子值序列可以分别完整地且相继地布置。

替代地优选地,发送和接收模块被设立用于将第一和第二子值序列的值特别以分类的方式组合成一个或多个网络消息,其中在第一子值序列的所有值被插入之前,已经将第二子值序列的至少一个值插入到一个或多个网络消息中。

这实现,已经在发送用户值序列和接收叠加值序列期间开始分析和秘密或密钥生成。此外,该解决方案变得与缓冲或缓存存储器大小无关,因为在可以开始分析和秘密生成之前,不必将完整的子值序列存储在发送和接收模块中。这同时也提高防攻击的安全性。

优选地,该电路装置具有安全模块,该安全模块被设立用于,a)产生用于发送和接收模块的随机符号序列,和/或b)从发送和接收模块或网络接口组件接收叠加值并且由所述叠加值产生共同的秘密,和/或c)由秘密产生加密密钥。

在存在提高的安全性要求的系统中,常常将所谓的安全模块(SM-security module)作为硬件(HSM)和/或软件(SSM)集成到微控制器中。HSM通常同样包含处理器并且可以访问专用微控制器端子(引脚)。安全模块优选地具有随机数生成器和/或安全存储器装置。在安全存储器装置中尤其可以存储由秘密产生的加密密钥。随机数生成器优选地是非确定性的随机数生成器。

根据另一实现方案的特别有利的架构是将发送和接收模块以硬件和/或软件技术集成到安全模块中。替代地,也可以将安全模块集成到发送和接收模块中。

使用自身的安全模块来产生用于发送和接收模块的随机符号序列、确定共同的秘密以及由秘密产生加密密钥用于在中央计算单元(微处理器)上运行的进程在任何时刻都不能访问秘密或由该秘密产生的加密密钥。这可以借助对安全模块的合适封装进行。以此方式于是可以保证,在对电路装置的纯粹的基于软件的或远程攻击的情况下,恶意软件没有确定密钥的可能性,在所述攻击的情况下不能操纵或替换所使用的硬件。

然而原则上可以规定,中央计算单元产生用于发送和接收模块的随机符号序列,从发送和接收模块接收叠加值并且由此产生共同的秘密,和/或由该秘密产生加密密钥。

优选地,发送和接收单元也具有触发输入端并且被设立用于在触发信号施加在触发输入端上时开始用于秘密生成的网络通信。触发信号例如可以由中央计算单元、网络接口组件或安全模块输出。优选地,触发信号由控制秘密生成的流程的部件、在大多数情况下即中央计算单元或安全模块输出。

优选地,该电路装置也具有安全通信系统(所谓的安全接口),作为单独的通信系统,用于安全模块与发送和接收模块之间的通信。这防止,经由(“正常的”)通信系统(主机IF)传输用于发送和接收模块的随机符号序列和所反馈的叠加值,在该通信系统中所述随机符号序列和所反馈的叠加值被所有参与的部件监听。

该电路装置可以特别好地被使用在CAN总线系统、TTCAN总线系统或CAN-FD总线系统中。这里,隐性信号电平被显性信号电平抑制(verdrängt)。用户的值或信号的叠加因此遵循所确定的规则,用户可以利用所述规则来从叠加的值或信号和由其传输的值或信号中导出信息。其他通信系统、如LIN和I2C也良好地适合于使用该电路装置。

但是,替代地,该电路装置例如也可以被使用在具有幅值键控、例如开关键控的网络中。这里,同样通过如下方式确定叠加:作为信号有“传输”和“不传输”供用户选择,并且当用户中的一个或两个进行传输时,叠加信号对应于信号“传输”,并且当两个用户都不进行传输时,叠加信号对应于信号“不传输”。

本发明的另外的优点和设计方案从说明书和所附的附图中得出。

附图说明

借助附图中的实施例示意性地示出了本发明并且在下文中参照附图来描述本发明。

图1示出根据本发明的电路装置的第一优选实施方式。

图2示出根据本发明的电路装置的第二优选实施方式。

图3示出根据本发明的电路装置的第三优选实施方式。

图4示出根据本发明的电路装置的第四优选实施方式。

图5示出根据本发明的电路装置的第五优选实施方式。

图6示出根据本发明的电路装置的第六优选实施方式。

图7示出根据本发明的电路装置的第七优选实施方式。

具体实施方式

参照图1至图7在下文中描述根据本发明的电路装置的多个优选实施方式。在此,描述基于CAN的通信系统,然而根据本发明的电路装置也可以应用于允许传输显性和隐性信号的其他通信系统。这尤其适用于基于LIN或I2C的通信系统。

在这些图中分别示出了与这里被构造为CAN总线1的网络或通信系统连接的、例如尤其在机动车中的控制设备、传感器或执行器中的电路装置100。所示出的CAN总线是具有两个线路CAN-H(高)和CAN-L(低)的双线总线。具有仅仅一个线路的CAN总线也是可能的。

该电路装置100与CAN总线1在物理上经由总线驱动器模块或收发器组件90连接。此外,该电路装置100具有被构造为微处理器10的中央计算单元、这里被构造为CAN控制器20的网络接口组件、安全模块30、发送和接收模块40、复用器组件50、通信系统(主机IF)60和安全通信系统(安全IF)70。

部件10-50以及通信系统60和70也可以是微控制器90的组成部分,这在图1中通过虚线表明。

发送和接收模块40被设立用于,为了用于秘密生成的网络通信的目的,基于随机符号序列产生CAN帧或消息,用于在包含电路装置100的用户与另外的用户之间产生共同的秘密,发送和接收模块40尤其逐位地从安全模块30获得所述随机符号序列。

这里,发送和接收模块40被设立用于经由连接Tx将CAN帧递交给复用器组件50,所述复用器组件与总线驱动器组件90连接。

CAN控制器20被设立用于为了并非用于秘密生成的网络通信的目的而产生CAN帧或消息并且经由连接Tx递交给复用器组件50。

适宜地,发送和接收模块40与CAN控制器20不同地被设立用于,如果从CAN总线1回读与发送和接收模块40已发送的位不同的位,则选择性地停止传输的中断。

通过复用器组件50的相应的(固定的或可切换的)配置可以建立CAN控制器20和/或发送和接收模块40与总线驱动器组件90的自由选择的连接。在简单的设计方案中可以涉及如下连接,在该连接的情况下CAN控制器20和发送和接收模块40同时进行接收,接收方向因此是并行连接的,并且两者也可以发送,发送方向因此也是并行连接的。在期望情况下,可以设置信号流控制,该信号流控制防止同时发送。

可选的触发线路从CAN控制器20延伸至发送和接收模块40。该触发线路用于当CAN控制器发觉(feststellt)在CAN总线1上的要求秘密生成的消息时,CAN控制器20可以将相应的触发信号输出给发送和接收模块40。替代地,发送和接收模块被设立用于监听CAN总线1上的正常通信并且自己以合适的方式对消息进行解释。这样,发送和接收模块40可以在发觉要求秘密生成的消息时自己开始秘密生成。触发线路可以在该设计方案中取消。在一个优选的实施方式中,触发信号由中央计算单元或安全模块(经由自身的触发线路或优选地经由通信系统(主机IF或安全IF))输出。

对于常规发送过程,中央计算单元10将有用数据(尤其标识符;该帧是否是数据或远程传输请求帧的确定;应发送多少数据字节和要发送的数据字节的说明)写入CAN控制器20的发送数据缓冲器中,该发送数据缓冲器于是为在总线1上传输而准备这些有用数据,并且将完整的帧传输给收发器组件90,该收发器组件负责直接总线耦合。也就是说,CAN控制器20减轻中央计算单元10的所有数据传输工作,因为CAN控制器独立地承担消息的编辑、CRC和的计算、对总线的访问(总线仲裁)、帧的发送和错误检查。

秘密生成现在例如可以通过接收要求秘密生成的消息来触发。

根据本发明的一个优选实施方式,安全模块30被设立用于借助优选地非确定性的随机生成器产生随机位序列作为符号序列并且逐位地传输给发送和接收模块40。

发送和接收模块40接收位序列的各个位值作为第一子值序列并且对该第一子值序列进行取反,以便产生第二子值序列。紧接着,由第一子值序列和第二子值序列根据构造规范(Konstruktionsvorschrift)产生用于传输到CAN总线1上的用户值序列。根据一个特别优选的构造规范,分别将第一子值序列的位和第二子值序列的相关的取反的位组合成位对并且直接相继地传输。

在与第二用户的位对叠加时这导致,当这两个用户的位不同时,产生的叠加位对由两个显性位(在CAN的情况下“00”)构成,并且当这两个用户的相应的第一子值序列的位相同时,叠加位对与位对相同。叠加位对在所示出的实施方式中由发送和接收模块40回读。替代地,也可以经由CAN控制器20回读。

叠加位对可以(例如从发送和接收模块40或从CAN控制器20)被传输给安全模块30并且在那里被分析。替代地,发送和接收模块40也可以被设立用于分析。分析尤其包括:检查在每个叠加位对中隐性位的数量(并且在发送和接收模块40的情况下反馈给安全模块30)。该数量可以是0或1,其中在这里所描述的变型方案中0表示:另一用户的位与位序列的刚刚被传输的位不同,而1表示,另一用户的位与位序列的刚刚被传输的位相同。

以此方式,安全模块30可以确定第二用户的用户值序列并且紧接着尤其根据开头所参考的DE 10 2015 207 220 A1产生与第二用户共同的秘密。

刚刚所描述的优选实施方式的优点是,不需要将自身的用户值序列或传输值序列存储在发送和接收模块40中,使得发送和接收模块在此方面可以比常规的CAN控制器更简单地被构造。

图1中所示出的电路装置的主要优点是,确保了当发送和接收模块40并不被构造用于存储其从安全模块30获得的完整的位序列和/或并不被构造用于存储完整的、从CAN总线1回读的叠加位序列时,仅仅安全模块30可以推断出要建立的共同的秘密。

在图2至图7中现在示出了根据图1的电路装置100的不同的修改方案,其中在下文中仅仅探讨区别。

图2中所示出的电路装置仅具有通信系统60而不具有安全通信系统70。该实施方式具有降低的安全性,因为安全模块30与发送和接收模块40之间的通信被其他部件、尤其微处理器10监听,使得在微处理器10上运行的恶意程序将能够复制秘密。

在图3中所示出的实施方式中,安全模块被实现为微处理器10中的软件安全模块。在其他方面,该实施方式对应于图1。

在图4中示出了电路装置,在该电路装置中安全模块30作为软件安全模块集成到微处理器10中并且在该电路装置中没有设置安全通信系统。

在图5中所示出的实施方式中完全没有设置安全模块,而是安全模块的功能由微处理器10或在该微处理器上运行的进程提供。软件安全模块与该实施方式的区别在于在软件安全模块中运行的进程被在微处理器上运行的其余进程封装,而在根据图5的实施方式中并不存在这样的封装。

图6中所示出的实施方式对应于图5中所示出的实施方式,其中然而没有设置安全通信系统。

在图7中示出了如下电路装置,在该电路装置中发送和接收模块40和安全模块30被联合在一个模块30&40中。在此情况下,仅仅进行模块30&40之内的内部通信,使得可以删去安全通信系统70。

本发明是用于在利用位传输层的特性的情况下生成两个节点之间的对称加密密钥的方案。该方案尤其适合于有线和光通信系统,只要这些通信系统支持‘开关键控(On-Off-Keying)’或逐位的总线仲裁(例如CAN、TTCAN、CAN-FD、LIN、I2C)。但是,该方案也可以被应用在无线的(基于无线电的)通信系统中,所述通信系统优选地具有发送器与接收器之间的非常短的距离和可能的直接的视线连接。

原则上,所有(如上面所描述的那样)实现显性和隐性信号的区分的通信系统都适合于使用。这里所描述的方法因此可以在多个无线、有线和光通信系统中被使用。在此对于机器到机器通信,即对于不同的传感器、致动器等之间的数据传输,所描述的方案是特别令人感兴趣的,所述传感器、致动器等一般仅具有非常有限的资源并且也许不能以合理的耗费手动地在现场被配置。

例如在家庭和建筑自动化、远程医疗、车到X系统或工业自动化技术中存在另外的使用可能性。也特别令人感兴趣的是在具有无线电接口的将来的最小传感器中以及在CAN总线的所有应用领域、即尤其车辆联网或自动化技术中的使用。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1