用于在具有至少两个连接到传输介质上的用户的网络中生成机密的方法与流程

文档序号:14652015发布日期:2018-06-08 22:01阅读:174来源:国知局
用于在具有至少两个连接到传输介质上的用户的网络中生成机密的方法与流程

本发明涉及一种用于在具有至少两个连接到传输介质上的用户(Teilnehmer)的网络中生成机密的方法以及一种用于执行该方法的用户和一种用于执行该方法的计算机程序。



背景技术:

申请人已经在在后公开的DE 10 2015 207 220 A1中提出了一种用于在网络中生成机密(Geheimnis)或密钥(Schlüssel)的方法,所述方法用于在共同的传输介质上叠加两个用户的信号。在这种情况下,该网络具有至少一个第一用户和至少一个第二用户以及在所述至少一个第一用户与所述至少一个第二用户之间的传输信道。第一和第二用户可以分别将至少一个第一值和至少一个第二值发到传输信道上。第一用户或第二用户促使第一用户值序列或第二用户值序列相互很大程度上同步地传输到传输信道上。基于关于第一用户值序列或第二用户值序列的信息以及基于由第一用户值序列与第二用户值序列在传输信道上的叠加所结果得到的叠加值序列,第一用户或第二用户生成共同的机密或共同的密码密钥。

这种方法特别良好地适合于如下通信系统,所述通信系统规定传输显性位和隐性位或相对应地传输显性信号和隐性信号,其中网络的用户的显性信号或显性位相对隐性信号或隐性位占主导。对此的示例是CAN(Controller Area Network(控制器域网络)),其中借助于逐位的总线仲裁来访问该总线,所述总线仲裁根据利用显性和隐性位的该传输方法来工作。其它示例是TTCAN、CAN FD、LIN以及l2C。这些传输方法早已被创立并且可以借助于经试验的和经标准化的网络接口模块、诸如所谓的网络控制器来简单地实现。通常,收发器模块(也被称作总线驱动器或介质连接单元(MAU,Medium Attachment Unit))负责直接的物理总线耦合。因此,对于计算单元(例如微控制器)的常见的网络连接来说,网络接口模块被用于生成逻辑信号,并且与该网络接口模块数据传输地连接的收发器模块被用于生成物理信号,所述网络接口模块也可以是计算单元的集成的组成部分。

然而有问题的是:借助于该网络接口模块在传输介质上生成任意的信号值序列对于用户来说并不是毫无困难地可行的,因为常见的网络接口模块被设置为生成协议兼容的信号值序列(例如具有报头、校验和等等)并且例如也进行总线仲裁。



技术实现要素:

按照本发明,提出了具有独立权利要求的特征的一种用于在具有至少两个连接到传输介质上的用户的网络中生成机密的方法以及一种用于执行该方法的用户和一种用于执行该方法的计算机程序。有利的设计方案是从属权利要求以及随后的描述的主题。

为了对于用户来说能够有利地使在传输介质上产生对于机密生成来说任意的信号值序列,提出了,在用于机密生成的网络通信的过程中借助于位拆裂(Bit-Banging)而不是借助于网络接口模块来产生(一个或多个)信号值序列。接着,在必要时所接收到的信号同样借助于位拆裂来被分析。

位拆裂被理解为如下技术,所述技术借助于软件和E/A接头(输入/输出或Input/Output(I/O管脚))来仿真硬件接口,所述硬件接口一般以特定的外围模块(在本情况下即以网络接口模块、诸如CAN控制器)来实现。在PC上不仅可以使用串行接口而且可以使用并行接口。在微控制器的情况下,使用E/A接头,例如固定定义的I/O或GPIO(General Purpose Input/Output;通用输入/输出),也就是说可随意选择地配置为输入端或输出端的接头或管脚。

换言之,在用于机密生成的网络通信的过程中,所要发送的逻辑信号不是由网络接口模块、而是由E/A接头来输出给收发器模块用来生成物理信号,并且所接收到的信号没有被转发给网络接口模块、而是同样被转发给E/A接头。

因此,利用本发明可以在网络的两个不同用户之间设立共同的机密,所述共同的机密尤其是可以被用于生成对称的密码密钥。但是,这种共同的机密原则上在狭义上也可以出于其它目的而被用作密码密钥、例如被用作一次性密钥(One-Time-Pad)。

特别有利地,该方法可以被用在如下网络中,在所述网络中存在显性值(物理上:显性信号)和隐性值(物理上:隐性信号),如果仅仅一个用户在传输介质上施加所述显性值,那么所述显性值占主导,如果两个或所有用户都传输隐性值,那么在传输介质上只结果得出隐性值。基于以此清楚地预先给定的叠加规则,这种网络的用户可以从结果得到的叠加值序列中特别简单地推导出用于机密生成的信息。

可替换地,对这些用户中的至少一个用户的隐性值的传输也可以通过如下方式来代替,即在值序列的该处或作为至少两个可能值之一完全不传输任何信息。

优选地,在用于机密生成的网络通信的过程中所要传输的信号值序列由用户的计算单元(例如微控制器)生成并且在一个或多个被配置为输出端的E/A接头、尤其是通用E/A接头上作为逻辑信号值序列输出到收发器模块上以用来生成物理信号值序列。在用于机密生成的网络通信的过程中被接收到的物理信号值序列此外被收发器模块接收到并且作为逻辑信号值序列被输出到一个或多个被配置为输入端的E/A接头、尤其是通用E/A接头上。所接收的信号值序列尤其是由第一用户值序列和第二用户值序列在传输信道上的叠加结果得到的叠加值序列。根据所使用的网络协议得出管脚的相应的数目。例如,对于CAN来说分别一个输入端和一个输出端就足够了,这能特别简单地实现。

适宜地,在机密生成结束之后并且为了正常的或不是用于机密生成的网络通信,网络接口模块重新被用于生成所要发送的逻辑信号和被用于分析所接收到的逻辑信号。如所提及的那样,该网络接口模块可以被构造为单独的模块或者可以是用户的计算单元的组成部分。

尤其是由计算单元和/或网络收发器来执行在使用网络接口模块和使用E/A接头来生成和分析逻辑信号之间的切换。所述切换可以根据过程控制或根据外部触发、例如通过接收到相应的切换信息来进行。

本发明能特别好地在CAN总线系统、TTCAN总线系统或CAN-FD总线系统中实现。这里,隐性信号电平被线性信号电平取代。用户的值或信号的叠加因此遵循规定的规则,这些用户可以将所述规则用于从所叠加的值或信号以及由所述用户传输的值或信号中推导出信息。其它通信系统(如LIN和I2C)也良好地适合于使用该方法。

但是,可替换地,该方法例如也可以被用在具有幅移键控、例如开关键控(On-Off-Keying)的网络中。这里,同样规定了叠加,其方式是作为信号“传输”和“不传输”供用户进行选择,并且如果用户中的一个或两个进行传输则叠加信号对应于信号“传输”,而如果两个用户都不进行传输则叠加信号对应于信号“不传输”。

优选地,例如按照DE 10 2015 207 220 A1使用一种基于显性信号和隐性信号的叠加来生成机密的方法,其中网络具有至少一个第一用户和至少一个第二用户以及在至少一个第一用户与至少一个第二用户之间的传输信道。第一和第二用户可以分别将至少一个第一值和至少一个第二值给到传输信道上。第一用户或第二用户促使第一用户值序列或第二用户值序列相互很大程度上同步地传输到传输信道上。基于关于第一用户值序列或第二用户值序列的信息以及基于由第一用户值序列与第二用户值序列在传输信道上的叠加结果得出的叠加值序列,第一用户或第二用户生成共同的机密。

为了获得叠加值序列,对值的传输必须具有交叉的时间段(也就是说就本申请而言是很大程度上同步的),使得在传输介质上进行信号序列的各个信号的叠加,尤其是使得对应于第一用户的第n个逻辑值或位的信号与对应于第二用户的第n个逻辑值或位的信号至少部分地叠加。该叠加应该分别足够长,使得用户可以检测到所述叠加或确定相对应的叠加值。

在此,该叠加值可以通过仲裁机制或通过物理信号叠加来确定。仲裁介质例如指的是如下情况:用户已经施加隐性电平,但是在总线上探测到显性电平并且因此停止了进一步的传输。

接着,用户可以根据叠加的结果得到的值序列(即叠加值序列)和自己的值序列(即用户值序列)来生成密钥,所述密钥相对于外面的攻击者是机密的。其原因是:外面的攻击者——其例如可以监听附在共同使用的传输介质上的有效的总信号——只看到值序列的叠加,但是没有关于用户的各个值序列的信息。在此,这些用户拥有更多信息,所述用户可以将这些信息用于生成机密密钥来对抗攻击者。

用于基于显性信号和隐性信号的叠加在用户之间进行机密生成的方法的一个扩展方案规定:第一用户值序列和第二用户值序列分别具有第一部分值序列和第二部分值序列,其中第二部分值序列由第一部分值序列通过反转(Invertieren)得出,也就是说其方式是第一值被换成第二值而第二值被换成第一值。第一部分值序列和第二部分值序列可以相继被传输。可替换地,提出了一种优选的方法,其中第一和第二部分值序列的值以特别分类的方式组合成一个用户值序列,其中在第一部分值序列的所有值被传输完之前已经传输了第二部分值序列的至少一个值。这能够实现:在发送用户值序列和接收叠加值序列期间已经开始分析以及机密或密钥生成。此外,该解决方案与缓冲或缓存存储器大小无关,因为在可以开始分析和机密生成之前不必存储完整的部分值序列。

按照本发明的用户(例如控制器、传感器或执行器,尤其是机动车、工业设施、家庭自动化网络等等的控制器、传感器或执行器)尤其是以程序技术被设置为执行按照本发明的方法。

尤其是当进行实施的计算单元还被用于其它任务并且因而总归存在时,该方法的以计算机程序的形式的实现也是有利的,因为这造成了特别低的成本。适合于提供该计算机程序的数据载体尤其是磁存储器、光存储器和电存储器,诸如硬盘、闪速存储器、EEPROM、DVD以及其它等等。通过计算机网络(因特网、内联网等等)来下载程序也是可能的。

本发明的其它优点和设计方案从描述以及所附的附图中得到。

本发明依据实施例在附图中示意性地示出并且在下文中参考附图予以描述。

附图说明

图1示出了在正常的网络通信的配置中的与CAN总线连接的用户。

图2示出了来自图1的在用于生成机密或密钥的配置中的用户。

具体实施方式

在下文中,参考图1和2描述了按照本发明的方法的一个优选的实施方式。在此,在这些附图中,示出了与这里被构造为CAN总线1的网络连接的用户100,例如尤其是在机动车中的控制设备、传感器或执行器。

所示出的CAN总线是具有两条线路CAN-H(高)和CAN-L(低)的双芯线总线。只具有一条线路的CAN总线也是可能的。

用户100通过收发器或介质连接单元(MAU)50与CAN总线1物理连接。用户100还拥有:中央计算单元、例如微处理器(μΡ)10;E/A模块(I/O)20,所述E/A模块(I/O)尤其是提供一定数目的被构造为通用E/A接头(GPIO)的E/A接头;以及拥有这里被构造为CAN控制器(CAN)30的网络接口模块。元件10、20、30和40也可以是微控制器的组成部分,这在图1中通过虚线来表示。

为了现在可以按照本发明的一个优选的实施方式选择性地将逻辑信号从CAN控制器30或E/A模块20输出到收发器50上,这里例如设置了多路复用器模块(MUX)40,所述多路复用器模块(MUX)提供为此所需的电连接。多路复用器模块40通常是微控制器的组成部分,以便使物理管脚的数目保持得低。为此,在物理管脚后面的逻辑电路在微控制器之内被“多路复用”。这样,例如通过相对应的寄存器的配置可能使CAN控制器30或GPIO在μC内部选择性地接线到特定管脚上。在μC内部连接有收发器50,所述收发器50然后通过内部配置选择性地借助于E/A模块或借助于CAN控制器来操控。

在此,在图1中示出了如下配置,其中逻辑信号由E/A模块20输出并且经由多路复用器模块40传送给收发器50,所述收发器50实施物理网络通信。同样,由收发器50接收的信号经由多路复用器模块40传输给E/A模块20。

在图2中示出了可替换的情况,其中逻辑信号由CAN控制器30输出并且经由多路复用器模块40传输给收发器50。同样,由收发器50接收的信号经由多路复用器模块40传输给CAN控制器30。

换言之,在图2中示出了针对正常的网络通信的情况,也就是说网络通信经由CAN控制器30和收发器50来进行。而在图1中示出了针对密钥生成的情况,其中对于计算单元100来说可能的是,将尤其是不必是对应于CAN标准的分组的任意信号值序列发到CAN总线上以用于机密生成,其中网络通信在这种情况下由E/A模块20(所述E/A模块从微处理器10获得所要输出的逻辑信号)和收发器50来实施。

可以尤其是由微处理器10来促使在两种配置之间的切换,这通过附图中的相对应的箭头来表示。可替换地或附加地可以规定:通过接收到特定的切换消息来触发切换,这在附图中通过从收发器50出发的箭头来表示。

本发明允许在网络介质上输出任意的用户值序列,尽管传统的网络接口模块不容许这一点。

对于传统的发送过程来说,中央计算单元将有效数据(尤其是标识符;对帧是数据帧还是远程传输请求帧的规定;对应该发送多少数据字节的说明以及所要发出的数据字节)写到CAN控制器的发送数据缓冲器中,所述发送数据缓冲器接着为了在总线上传输而准备这些有效数据并且将整个帧传输到收发器模块,所述收发器模块负责直接的总线耦合。也就是说,CAN控制器将中央计算单元从所有数据传输工作中解脱出来,因为所述CAN控制器独立地承担对通知的汇总、对CRC和的计算、对总线的访问(总线仲裁)、对帧的发送以及错误检验。

如果现在应该进行机密生成(例如通过接收相对应的切换消息来触发),那么在渡越时间期间,CAN控制器与收发器模块的连接被中断并且该收发器模块借助于E/A被直接操控。在机密生成结束之后,然后又可以切换回到CAN控制器。

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