CN117061143A - 使用动态生成的波特率保护网络访问 - Google Patents

使用动态生成的波特率保护网络访问 Download PDF

Info

Publication number
CN117061143A
CN117061143A CN202310518170.8A CN202310518170A CN117061143A CN 117061143 A CN117061143 A CN 117061143A CN 202310518170 A CN202310518170 A CN 202310518170A CN 117061143 A CN117061143 A CN 117061143A
Authority
CN
China
Prior art keywords
baud rate
bus
network
communication
switching operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310518170.8A
Other languages
English (en)
Inventor
R·贾库拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Carrier Corp
Original Assignee
Carrier Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carrier Corp filed Critical Carrier Corp
Publication of CN117061143A publication Critical patent/CN117061143A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

一种通信网络包括通信地耦合到第一装置和第二装置的总线。第一装置和第二装置可操作以执行波特率改变(BRC)过程的多次迭代。BRC过程的多次迭代中的每一次都包括同步第一装置和第二装置,以标识何时将应用波特率切换操作;以及应用波特率切换操作以将第一装置和第二装置之间的通信的当前使用的波特率改变为第一装置和第二装置之间的通信的新波特率。

Description

使用动态生成的波特率保护网络访问
技术领域
本公开的示例性实施例总体上涉及通信网络,并且更特别地涉及可操作以使用动态生成的波特率保护网络访问的系统和方法。
背景技术
数据通信网络使用各种通信信道和协议将数字数据从一台计算机传送至另一台计算机。使用线缆介质和/或无线介质建立联网计算装置之间的物理连接。最著名的数据通信网络实际上是多个网络的一个网络,称为互联网络,或简称为互联网。互联网是世界上最大的网络,并且使用传输控制协议/互联网协议(TCP/IP)作为其协议组,同时使用IP作为其寻址协议。
已经针对不同应用开发了各种数据通信网络。例如,控制器局域网(CAN)网络(或CAN总线)最初被限定供在机动车应用(CAN 2.0)中使用,并且已经扩展到其它类型的分布式工业系统。CAN是不寻常的,因为网络上的实体(称为节点)没有给定的具体地址。代替地,正是消息本身有一个标识符,它也决定了消息的优先级。取决于它们的功能,节点传送具体的消息并寻找具体的消息。CAN总线是一个多主差分通信系统,其中消息是多点传送的,这意味着连接到CAN总线的每个微控制器和组件都接收到每条消息。这种设计允许由多个公司设计的多个系统集成在一起。如果一个节点发生故障,所有其它节点仍可操作,则从这个角度来看,CAN总线架构是鲁棒的。
尽管CAN架构中使用的单总线整合方法可提供灵活性和鲁棒性,但在网络访问安全领域存在漏洞。一旦获得对总线的访问,单总线整合方法就允许攻击者(例如,恶意节点)访问CAN的所有关键功能,这使得CAN总线架构容易受到恶意或被动的网络攻击。因为发送到CAN总线的消息没有具体的目的地,所以总线上的每个接入点或控制器都有权访问所有消息,这意味着被动攻击者通过只在CAN总线上插入一个恶意节点,就可以轻松监听总线通信。
因此,在为特定应用开发数据通信网络(例如,CAN总线网络)时,需要有效且高效地解决网络访问安全性作为前期要求。
发明内容
根据一个实施例,通信网络包括通信地耦合至第一装置和第二装置的总线。第一装置和第二装置可操作以执行波特率改变(BRC)过程的多次迭代。BRC过程的多次迭代中的每一次都包括同步第一装置和第二装置,以标识何时将应用波特率切换操作;以及应用波特率切换操作以将第一装置和第二装置之间的通信的当前使用的波特率改变为第一装置和第二装置之间的通信的新波特率。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括第一装置,该第一装置可操作以检测由通信地耦合至总线的第三装置在总线上生成的错误消息。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括不可操作以执行BRC过程的第三装置。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括第一装置,该第一装置可操作以响应于检测到由第三装置在总线上生成的错误消息,发起反网络攻击行动。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括选自由以下组成的组的反网络攻击行动:暂停总线;关闭总线;记录网络攻击事件;提供总线上潜在恶意存在的通知;并请求技术援助。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括BRC过程的多次迭代中的每一次通过第一时间窗口彼此隔开。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括第一时间窗口小于第二时间窗口;并且第二时间窗口限定了通信地耦合到总线的第三装置在不使用BRC过程的情况下确定第一装置和第二装置之间的通信的新波特率所要求的最小时间。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括同步第一装置和第二装置,使得第一装置通过总线广播波特率切换时间;波特率切换时间包括波特率切换操作将被应用的时间;波特率切换操作包括根据在总线上传送的数据块计算新的波特率;并且数据块也用于执行比特时序操作。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括控制器局域网(CAN)网络,并且数据块包括SYNC_SEG数据段;PROP_SEG数据段;PHASE_SEG1数据段;和PHASE_SEG2数据段。此外,新的波特率不是一组标准CAN网络波特率之一。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,通信网络包括通过使用第一装置在总线上广播开始消息来同步第一装置和第二装置。波特率切换操作响应于开始消息;并且波特率切换操作包括从存储的波特率选项中选择第一装置和第二装置之间的通信的新波特率。
根据另一实施例,一种操作通信网络的方法,包括使用通过总线相互通信地耦合的第一装置和第二装置,以执行波特率改变(BRC)过程的多次迭代。BRC过程的多次迭代中的每一次都包括同步第一装置和第二装置,以标识何时将应用波特率切换操作;以及应用波特率切换操作以将第一装置和第二装置之间的通信的当前使用的波特率改变为第一装置和第二装置之间的通信的新波特率。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括使用第一装置检测由通信地耦合至总线的第三装置在总线上生成的错误消息。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括不可操作以执行BRC过程的第三装置。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括使用第一装置,以响应于检测到由第三装置在总线上生成的错误消息,发起反网络攻击行动。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括选自由以下组成的组的反网络攻击行动:暂停总线;关闭总线;记录网络攻击事件;提供总线上潜在恶意存在的通知;并请求技术援助。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括BRC过程的多次迭代中的每一次通过第一时间窗口彼此隔开。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括第一时间窗口小于第二时间窗口;并且第二时间窗口限定了通信地耦合到总线的第三装置在不使用BRC过程的情况下确定第一装置和第二装置之间的通信的新波特率所要求的最小时间。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括同步第一装置和第二装置,使得第一装置通过总线广播波特率切换时间;波特率切换时间包括波特率切换操作将被应用的时间;波特率切换操作包括根据在总线上传送的数据块计算新的波特率;并且数据块也用于执行比特时序操作。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括将通信网络实施为控制器局域网(CAN)网络,其中数据块包括SYNC_SEG数据段;PROP_SEG数据段;PHASE_SEG1数据段;和PHASE_SEG2数据段。此外,新的波特率不是一组标准CAN网络波特率之一。
除了上述特征中的一个或多个之外,或作为前述实施例中的任何的备选方案,操作通信网络的方法包括通过使用第一装置在总线上广播开始消息来同步第一装置和第二装置。波特率切换操作响应于开始消息;并且波特率切换操作包括从存储的波特率选项中选择第一装置和第二装置之间的通信的新波特率。
附图说明
以下描述不应被视为以任何方式进行限制。参考附图,相似的元件被相似地编号:
图1是根据一个实施例的可操作以实现波特率改变过程的CAN总线的框图;
图2是根据一个实施例的可操作以实现波特率改变过程的CAN总线的框图;
图3为示出根据一个实施例的波特率改变过程的各方面的流程图;
图4A为示出根据一个实施例的波特率改变过程的各方面的示意图;
图4B为示出根据一个实施例的波特率改变过程的各方面的示意图;
图5为示出根据一个实施例的波特率改变过程的各方面的示意图;
图6是根据一个实施例的使用波特率改变过程操作CAN总线的方法的流程图;以及
图7为根据本公开实施例的可操作以实现波特率改变过程的各方面的可编程计算机系统的框图。
具体实施方式
本文参考附图,通过示例而非限制的方式呈现了所公开的系统和方法的一个或多个实施例的详细描述。
本公开的实施例提供了在数据通信网络(诸如CAN总线网络)中有效且高效地提供网络访问安全性和/或消息认证的方法和系统。在本公开的实施例中,通过为试图将通信置于CAN总线上或从CAN总线检索通信的实体实施动态波特率网络攻击预防/检测过程(或动态波特率改变过程)来提供网络访问安全性。在已知的CAN总线架构中,波特率是数据在网络上传送的速率(速度)。波特率通常以千比特每秒(kbps)来表示。在已知的CAN总线架构中,当构建相关的CAN总线应用时,波特率是固定的。在本公开的实施例中,动态波特率改变过程可操作以在不同时隙中使用不同的波特率来运行CAN总线,而不影响CAN通信,这是通过对CAN主机和合法CAN装置进行时间同步来实现的,使得主机和合法CAN装置基本上同时从当前使用的波特率改变到新的波特率。
因为CAN上的恶意装置不知道动态波特率改变过程,所以恶意装置没有配备成与CAN主机进行时间同步,并标识通过CAN总线进行通信的正确波特率。在一些实施例中,当前使用的波特率以不给恶意装置提供足够时间来破解或计算当前使用的波特率的频率改变。结果是,在不知道波特率改变过程的情况下,试图通过CAN总线通信的恶意装置将重复使用错误的波特率(即,CAN总线上当前没有使用的波特率),这产生重复的通信错误。由试图以无效波特率在CAN总线上通信的恶意装置产生的重复的通信错误可以被CAN主机检测到,并被用于发起反网络攻击行动,诸如暂停CAN总线、关闭CAN总线、记录网络攻击事件、提供潜在恶意存在的通知、和/或请求技术援助。
一些恶意装置可能包括试图以某种方式分析总线流量的黑客软件,如果给予足够的时间,则该方式可以有可能允许恶意装置确定当前CAN总线上使用的波特率。为了对抗这种黑客软件,本公开的实施例以确保具有黑客软件的恶意装置在波特率改变之前没有足够的时间来计算出当前使用的波特率的改变率来改变新的波特率。在一些实施例中,通过使改变率动态化来进一步对抗黑客攻击。
在一些实施例中,通过使用CAN主机将波特率作为随机时隙中的广播消息指示给合法CAN装置,实施所公开的动态波特率改变过程,下文将对此进行更详细的描述。在一些实施例中,所公开的动态波特率改变过程是使用动态波特率确定算法来实施的,这也将在下文中更详细地描述。
现参考图1,本公开的实施例可以应用于各种通信网络,其包括但不限于CAN总线系统100。根据本公开的实施例,CAN总线系统100可操作以实现根据实施例的动态波特率网络攻击预防/检测过程(或动态波特率改变过程)。CAN总线系统100在图1中被描绘为简化图,其示出了通过总线110通信的主机节点/装置120和多个连接的装置1-32。CAN总线系统100是对等网络,这意味着不存在控制CAN装置(主机120和装置1-32)何时有权在总线110上读取和写入数据的主机。当CAN装置准备好传送数据时,它检查以查看总线110是否繁忙,然后简单地将CAN帧(未示出)写入到总线110上。传送的CAN帧不包含或传送装置或(一个或多个)意图接收装置中的任何的地址。代替地,在整个CAN总线系统100中唯一的仲裁ID标记该帧。CAN总线系统100上的所有CAN装置(主机120和装置1-32)接收CAN帧,并且取决于该传送的帧的仲裁ID,CAN总线系统100上的每个CAN装置决定是否接受该帧。如果多个CAN装置(主机120和装置1-32)试图同时将消息传送到总线110上,则具有最高优先级(最低仲裁ID)的装置自动接收对总线110的访问。较低优先级的装置必须等待,直到总线110变得可用,然后再尝试传送。以此方式,CAN总线系统100确保CAN装置(主机120和装置1-32)之间的确定性通信。
图2是说明CAN总线系统100A的框图。除了网络威胁模块202已经访问了CAN总线系统110A的总线110之外,CAN总线系统100A与CAN总线系统100(图1所示)相同。图2还描绘了CAN总线系统100A’,其与CAN总线系统100A相同,除了网络威胁模块202在不知道当前使用的波特率的情况下已经试图访问总线110上的数据,该当前使用的波特率是由CAN总线系统100A、100A’执行的动态波特率改变过程设置的。在已知的CAN总线系统中,当构建相关的CAN总线应用时,波特率是固定的。在本公开的实施例中,动态波特率改变过程可操作以通过对CAN主机120和合法CAN装置1-32进行时间同步,使得主机120和合法CAN装置1-32从当前使用的波特率改变到新的波特率,使得主机120和合法CAN装置1-32在给定的通信窗口期间使用新的波特率,从而在不影响CAN通信的情况下,在不同的时隙中使用不同的波特率来运行CAN总线110。
如由CAN总线系统100A’所示,因为网络威胁模块202不知道动态波特率改变过程,并且因为当前使用的波特率以无法为网络威胁模块202提供足够的时间来破解或计算当前使用的波特率的频率改变,所以当网络威胁模块202试图通过总线110进行通信时,其将以无效波特率进行通信,这导致一个或多个错误消息(例如,比特错误,填充错误、关键冗余校验(CRC)错误、形式错误、确认(ACK)错误等)将被主机120检测到。主机120使用网络威胁装置202的错误生成行为来发起反网络攻击行动,诸如暂停CAN总线系统100A’、关闭CAN总线系统100A’、记录网络攻击事件、提供潜在恶意存在的通知和/或请求技术援助。
网络威胁模块202可以包括试图以某种方式分析CAN总线110上的流量的黑客软件,如果给予足够的时间,则该方式可以有可能允许网络威胁模块202确定CAN总线110上当前使用的波特率。为了对抗这种黑客软件,本公开的实施例以确保包括在网络威胁模块202中的任何黑客软件在波特率改变之前没有足够的时间来计算出当前使用的波特率的改变率来改变新的波特率。在一些实施例中,改变率本身是动态的。
图3是说明根据实施例的方法300的流程图。根据本公开的实施例,方法300由诸如CAN总线系统100A、100A’的通信网络实施,以执行动态波特率改变过程。为了便于解释,参考第一装置(例如,主机120)和第二装置(例如,装置1)之间的通信来描述方法300。然而,方法200适用于CAN总线110上的任何装置之间和之中的通信。方法300开始于框302,然后移动到框304,在框304中,第一装置(例如主机120)和第二装置(例如装置1)实际上通过通知第一装置和第二装置通信网络的通信协议何时将从当前使用的波特率切换到新的波特率来同步,这通知第一装置和第二装置何时应用波特率切换操作。在本公开的实施例中,框304还向第一装置和第二装置提供与新的波特率将是多少相关的信息。在实施例中,新的波特率将是随机数,其不是标准CAN总线波特率之一。诸如CAN总线的已知通信网络的通信协议——在没有本公开的益处的情况下操作——将波特率设置为几个标准波特率中的一个。对于CAN总线,标准波特率为125Kbit/s、250Kbit/s、500Kbit/s和1Mbit/s。设计用于与CAN总线连接的装置可以预先编程,以在尝试通过CAN总线进行通信时,通过CAN总线标准波特率进行循环。然而,在本公开的实施例中,通信网络协议可操作以不使用标准波特率,并且代替地使用不与通信网络的标准波特率之一重叠的随机数。
在框306处,方法300使用框304处提供的同步信息(即,波特率何时将改变;以及新的波特率将是什么的信息)来应用波特率切换操作,该波特率切换操作使用新的波特率将是什么的信息以及标识何时将使用新的波特率的信息,以将第一装置和第二装置之间的通信从使用当前使用的波特率切换到使用新的波特率。可以如何实现框304和框306的非限制性示例在图4A-图6中描绘,并且随后在本具体实施方式中更详细地描述。在框308,第一装置和第二装置之间的通信(如果有的话)以新的波特率(在节点306确定)进行,其中新的波特率现在是当前使用的波特率的新变型。在实施例中,框308还对在新频率操作的通信网络的整体同步效率进行任何必要的调整。如何管理通信网络的整体同步效率的附加细节将结合图4A和图4B中描绘的网络比特时序原理的后续描述来讨论。
方法300从框308移至判定框310,以确定使用新的波特率的时间窗口(或时限)是否已结束。在实施例中,可以设置时间窗口,使得其小于网络威胁模块202在不使用方法300的情况下使用黑客软件来确定新的波特率所要求的预期最小持续时间。在一些实施例中,对于方法300的不同迭代,可以动态地改变决策框310处的时间窗口。如果对判定框310处的询问的答案为否,则方法300移动到判定框312,以确定网络总线上是否存在异常级别的错误。换句话说,判定框312处的询问确定总线错误是否超过总线上潜在恶意活动的阈值(Th),这归因于恶意装置(例如,网络威胁模块202)生成大量错误消息,因为它正试图在网络总线上通信,而不可操作以参与框304、306处描绘的操作。如果判定框312处的询问的答案为是,则方法300移至框314,并发起反网络攻击行动。如果判定框312处的询问的答案为否,则方法300返回到框308,并继续使用新的波特率进行通信。
如果判定框310处的询问答案为是,则方法300移至判定框316,以确定是否已接收到任何种类的中断请求。如果判定框316处的询问的答案为是,则方法300移至框318并结束。如果判定框316处的询问的答案为否,则方法300返回到框304,以执行方法300的另一次迭代,从而再次改变通信网络上合法装置(例如,主机120和装置1-32)的波特率。
方法300的动态波特率改变过程可以作为CAN总线系统100A、100A’的协议的一部分执行。在一些实施例中,通过使用CAN主机120将波特率作为随机时隙中的广播消息指示给合法装置1-32来实现所公开的动态波特率改变过程,这在图4A、图4B和图5中示出,并且在本文中随后更详细地描述。在一些实施例中,方法300的所公开的动态波特率改变过程可以使用动态波特率确定算法来实现,这由图6中所示的方法500示出,并且随后在本文中更详细地描述。图6中描绘的时间同步算法可以由主机120和装置1-32执行。
在描述图5和图6所描绘的动态波特率改变过程的示例细节之前,图4A和图4B描绘了说明根据实施例可以如何设置CAN总线100A、100A’的比特时间的图。本公开的实施例利用如图4A所示的网络通信系统的比特时序特征来动态改变通信网络上合法(即,非恶意)节点之间的波特率。与其它网络协议一样,CAN网络协议是一套已建立的规则,规定了如何格式化、传送和接收数据,使得计算机网络装置(从服务器和路由器到端点)可以进行通信,而不管其基础架构、设计或标准有何不同。为了成功地发送和接收信息,通信交换双方的装置必须接受并遵守协议约定。网络协议(诸如CAN协议)可以内置于软件、硬件或两者之中。
CAN协议是具有不归零(NRZ)比特编码的异步串行总线,其设计用于恶劣环境(诸如机动车和工业应用)中的快速、鲁棒通信。CAN协议允许用户对比特率、比特的采样点、和比特的采样次数进行编程。利用这些特征,网络可以被优化以提供与给定应用的要求相匹配的同步效率(例如,如图4A所示的75%,或者至多90%)。CAN协议的NRZ比特编码提供了最大的数据运输容量,但又缺乏CAN网络中发送器和接收器之间足够的比特同步手段。比特填充,即在一系列相同极性的比特之后插入相反极性的附加比特,为同步提供了更多数量的信号边沿,但是,考虑到最大可靠性要求,比特填充本身是不够的。为了确保CAN网络中的所有接收器正确读取传送的帧,还要求它们连续地将内部时基与接收到的比特流重新同步。这是通过在每个比特时间期间连续调整比特采样点来完成的。比特时序同步的目的是协调CAN网络中的振荡器频率,并且结果是提供系统范围的指定时间基准。
在所公开的实施例中,通信网络为可操作以实现CAN协议的CAN总线100A、100A’,该CAN协议已被修改为包括和/或利用所公开的动态波特率改变过程。根据本公开的实施例的动态波特率改变过程利用标称比特时间、组成标称比特时间的各种数据段的宽度、和波特率(如图4B中的公式所描绘)之间的关系,通过提供可以用于确定新的波特率的信息(例如,组成标称比特时间的各种数据段的宽度)来动态控制或改变网络的波特率,并且通过对合法的网络节点进行时间同步,使得它们都在正确的时间切换到新的波特率,从而使得能够以新的波特率进行后续通信。
如图4A所示,为了补偿CAN网络中的信号传播延迟和实际CAN接收器/传送器电路内的延迟,接收CAN节点读取位于实际比特时间末端附近的比特采样点的比特信息。因为CAN协议通过逐比特仲裁来管理总线访问,所以必须确保从发送器到接收器并且返回到发送器的信号传播时间必须在一比特时间内完成。向总线110传送消息的CAN节点(主机120和装置1-32)也监测总线110,并将传送的电平与总线110上的对应电平逐位进行比较。因此,考虑从发送器到接收器并返回到发送器的信号传播时间对于比特监测是强制性的。比特采样点的确定及其定位因此需要对实际比特时间基准进行内部检测和模拟。
仍参照图4A,为了确定准确的比特采样点,CAN协议将标称比特时间划分为四个不重叠的时间段。CAN比特时段可以细分为四个时间段。每个时间段包括几个时间份额(tq)。tq是所有配置值的最小时间单位。如图4A所示,SYNC_SEG的长度为1tq。它用于同步各种总线装置1-32。信号边沿预期在该段内。任何偏差——无论是过早的还是延迟的信号边沿——都将被测量,并且相位缓冲器长度将被相应地调整,这进而移动比特采样点(重新同步)。PROP_SEG可编程为1,2,…8tq长。它用于补偿跨网络的信号延迟。PHASE_SEG1可编程为1,2,…8tq长。它用于补偿边沿相位误差,并且在重新同步期间可能延长。PHASE_SEG2是PHASE_SEG1的最大值,并且是信息处理时间的长度。信息处理时间从比特采样点开始,并被保留用于计算随后的比特电平,例如,在总线仲裁丢失之后。PHASE_SEG2还用于补偿边沿相位误差,并可能在重新同步期间缩短。比特采样点是总线电平被读取并被解释为该相应比特的值的时间点。因为采样点总是在PHASE_SEG1的末端,所以延长/缩短相位缓冲器将移动实际的采样点。CAN节点的内部延迟时间是传输期间和接收路径上发生的所有异步延迟的总和,其由CAN控制器的比特时序逻辑单元引起。
选择图4B所示的上述四(4)个标称比特时间值将确定波特率,这将允许CAN总线系统100A、100A’使用任何随机波特率,而不是固定波特率(例如,1Mbps、800kbps、750kbps、500kbps、250kbps、125kbps等)。CAN比特时序控制寄存器配置CAN比特时间。通过调整tq的长度和每个数据段中tq的数量,可以根据期望配置标称比特时间、采样点和波特率。
图4B描绘了一组示例公式,动态波特率改变过程可以使用该组公式根据已根据本公开实施例动态改变的标称比特时间的配置计算新的波特率。尽管图4B所描绘的示例使用三个比特段而不是图4A所示的四个比特段,但是图4B所示的波特率计算同样适用于具有任意数量比特段的标称比特时间。
图5描绘了如何可以通过使用CAN主机120将波特率作为随机时隙中的广播消息指示给合法装置1-32来实施所公开的动态波特率改变过程,并且具体是图3所示方法300的框304、306中描绘的操作的非限制性示例。如图5所示,主机120可以可操作以在随机时间(例如,在10秒到30秒之间)发送8字节波特率改变广播命令(字节8、7、6、5)。主机120还可操作(例如,使用图4B所示的等式)来构造新的波特率值以及何时改变波特率。并且所有装置(主机120和装置1-32)将改变它们的波特率,并在限定的时间后开始使用新的波特率相互通信。
图6描绘了如何可以通过使用动态波特率确定算法来实施所公开的动态波特率改变过程,并且具体是图3所示方法300的框304、306中所描绘的操作的非限制性示例。与图5所描绘的非限制性示例不同,动态波特率确定算法可以是一个查找表,该查找表具有一个大的新的波特率选项列表(例如,100个或更多个),当当前使用的波特率改变为新的波特率时,可以选择该列表作为新的波特率。根据本公开的实施例,查找表中的新的波特率选项是随机波特率,其不与将在通信网络上使用的标准波特率重叠。
在本公开的一些实施例中,可以使用图6所示的方法600实施动态波特率确定算法。与图5所描绘的非限制性示例不同,在图6所示的方法600中,没有来自主机120的命令来改变波特率。代替地,主机120和装置1-32取决于由主机120发送的时间戳消息。在每个时间戳上,接收装置将改变成新的波特率。所有装置将在带有数字默认波特率模式的时间戳上执行CRC,并且它们将立即切换到新的波特率。在一些实施例中,新的波特率是从类似于前述示例的查找表中选择的。
图6所描绘的方法600如下进行。主机120执行步骤1、3、4、6和8-10;并且装置1-32各自执行步骤2、5和7,它们是在主机120执行的步骤3、4和6的镜像。在步骤1(S1),主机120每30秒生成一个时间戳消息,并将其传送给装置1-32。在步骤2(S2),装置1-32对时间戳执行CRC,以生成伪随机数。在步骤3(S3),主机120还对时间戳执行CRC,从而也生成伪随机数。在步骤4(S4),主机120用波特率索引计数取CRC的模。术语“模”实际上是模数的简称。例如,一个数的模数10意味着当你将数X除时,除后剩下的余数称为数X的模数10。作为另一示例,52的模10意味着将52除以10,并将余数作为52的模10。模数指向为新的波特率提供值的查找表位置。在步骤5(S5),装置1-32中的每一个也用波特率索引计数取CRC的模,以指向具有相同值的查找表中的相同位置。在实施例中,查找表可以本地存储在主机120和装置1-32中的每一个处。在步骤6(S6),主机120切换到新的波特率。在步骤7(S7),装置1-32也切换到新的波特率。在步骤8-10(S8,S9,S10),主机120检查任何总线错误(S8);如果检测到错误,则停止CAN总线系统100A’(S9);并且报告与检测到的错误相关联的任何故障(S10)。
图7示出了可以用于实现本文所述的本公开各方面的计算机系统700的示例。计算机系统700包括示例性计算装置(“计算机”)702,其被配置用于执行根据本公开的实施例本文描述的基于内容的语义监测操作的各个方面。除了计算机702之外,示例性计算机系统700包括网络714,该网络714将计算机702连接到附加系统(未描绘),并且可以包括一个或多个广域网(WAN)和/或局域网(LAN),诸如互联网、(多个)内联网和/或(多个)无线通信网络。计算机702和附加系统经由网络714通信,例如以在它们之间传送数据。
示例性计算机702包括处理器内核704、主存储器(“存储器”)710、和(多个)输入/输出组件712,它们经由总线703进行通信。处理器内核704包括高速缓存存储器(“高速缓存”)706和控件708,它们包括分支预测结构和相关联的搜索、命中、检测和更新逻辑,这将在下面更详细地描述。高速缓存706可以包括在处理器704上或处理器704片外的多个高速缓存级(未描绘)。存储器710可以包括存储在其中的各种数据,例如指令、软件、例程等,它们例如可以由控件708传递到高速缓存706或从高速缓存706传递,以供处理器704执行。(多个)输入/输出组件712可以包括便于去往/来自计算机702的本地和/或远程输入/输出操作的一个或多个组件,诸如显示器、键盘、调制解调器、网络适配器等(未描绘)。
本文所述的本公开的实施例可以是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的一个计算机可读存储介质(或多个计算机可读存储介质),用于使控制器或处理器执行本公开的实施例的各方面。
计算机可读存储介质可以为有形装置,其可以保留和存储供指令执行装置使用的指令。计算机可读存储介质可以是例如但不限于电子存储装置、磁存储装置、光学存储装置、电磁存储装置、半导体存储装置、或前述装置的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码装置(诸如穿孔卡或其上记录有指令的凹槽中的凸起结构),以及前述的任何合适的组合。如本文所使用的,计算机可读存储介质不应被解释为本身是瞬时信号,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)、或通过导线传送的电信号。
为简洁起见,与制造和使用所公开的实施例相关的常规技术可能或可能不在本文中详细描述。特别地,实现本文描述的各种技术特征的计算系统和特定计算机程序的各个方面是公知的。因此,为了简洁起见,许多常规的实施方式细节仅被简要提及或者被完全省略,而没有提供公知的系统和/或过程细节。
本说明书中描述的系统的许多功能单元已被标记或描述为模块。本公开的实施例适用于各种各样的模块实施方式。例如,模块可以实现为硬件电路,其包括定制的VLSI电路或门阵列,诸如逻辑芯片、晶体管或其它分立组件的现成半导体。模块也可以在可编程硬件装置(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑装置等)中实现。模块也可以在软件中实现,以由各种类型的处理器执行。可执行代码的所标识的模块可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或功能。然而,所标识的模块的可执行(代码)不需要在物理上位于一起,而是可以包括存储在不同位置中的完全不同的指令,当这些指令在逻辑上结合在一起时用作该模块并实现该模块的所述目的。
为便于说明和解释,本文所示系统的各种组件、模块、子功能等被单独描绘。在本公开的实施例中,在不脱离本文描述的各种实施例的范围的情况下,由各种组件、模块、子功能等执行的操作可以以不同于所示出的方式分布,除非其以其它方式特别陈述。
为方便起见,本文所述的一些技术操作使用非正式表达来传达。例如,将数据存储在其高速缓存存储器中的处理器可以被描述为“知道”该数据的处理器。类似地,用户向处理器发送加载数据命令可以被描述为用户“告诉”处理器加载数据。应理解的是,在该具体实施方式中的任何这种非正式表达应该被理解为覆盖了非正式表达所代表的正式和技术描述,并且相关领域的技术人员将理解这种非正式表达覆盖了非正式表达所代表的正式和技术描述。
术语“约”、“基本上”、“近似”及其变型意在包括与基于在提交申请时可用的设备的特定量的测量关联的误差度。例如,“约”可以包括给定值的±8%或5%或2%的范围。
本文使用的技术术语仅出于描述特定实施例的目的,并不意在限制本公开。本文所用的单数形式“一”、“一个”和“该”意在也包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括”当在本说明书中使用时,规定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或者添加一个或多个其它特征、整体、步骤、操作、元件组件和/或其群组。
虽然已参考一个或多个示例性实施例描述了本公开,但本领域技术人员将理解,可进行各种改变,并且可在不脱离本公开的范围的情况下用等效物代替元件。此外,在不脱离本公开的实质范围的情况下,可进行许多修改以使特定情形或材料适应本公开的教导。因此,意图的是本公开并不限于设想用于实行本公开的最佳模式而公开的特定实施例,而是本公开将包括落入权利要求书范围内的所有实施例。

Claims (20)

1.一种通信网络,包括:
通信地耦合到第一装置和第二装置的总线;
其中所述第一装置和所述第二装置可操作以执行波特率改变(BRC)过程的多次迭代;
其中所述BRC过程的多次迭代中的每一次包括:
同步所述第一装置和所述第二装置以标识何时将应用波特率切换操作,和
应用所述波特率切换操作以将所述第一装置和所述第二装置之间的通信的当前使用的波特率改变为所述第一装置和所述第二装置之间的通信的新波特率。
2.如权利要求1所述的通信网络,其中,所述第一装置可操作以检测由通信地耦合到所述总线的第三装置在所述总线上生成的错误消息。
3.如权利要求2所述的通信网络,其中,所述第三装置不可操作以执行所述BRC过程。
4.如权利要求3所述的通信网络,其中,所述第一装置可操作以响应于检测到由所述第三装置在所述总线上生成的错误消息,发起反网络攻击行动。
5.如权利要求4所述的通信网络,其中,所述反网络攻击行动选自由以下组成的组:
暂停所述总线;
关闭所述总线;
记录网络攻击事件;
提供所述总线上潜在恶意存在的通知;和
请求技术援助。
6.如权利要求1所述的通信网络,其中,所述BRC过程的多次迭代中的每一次通过第一时间窗口彼此隔开。
7.如权利要求6所述的通信网络,其中:
所述第一时间窗口小于第二时间窗口;以及
所述第二时间窗口限定了通信地耦合到所述总线的第三装置在不使用所述BRC过程的情况下确定所述第一装置和所述第二装置之间的通信的新波特率所要求的最小时间。
8.如权利要求1所述的通信网络,其中:
同步所述第一装置和所述第二装置包括所述第一装置通过所述总线广播波特率切换时间;
所述波特率切换时间包括所述波特率切换操作将被应用的时间;
所述波特率切换操作包括根据在所述总线上传送的数据块计算新的波特率;以及
所述数据块还用于执行比特时序操作。
9.如权利要求8所述的通信网络,其中:
所述通信网络包括控制器局域网(CAN)网络;
所述数据块包括:
SYNC_SEG数据段,
PROP_SEG数据段,
PHASE_SEG1数据段,和
PHASE_SEG2数据段;和
所述新的波特率不是一组标准CAN网络波特率之一。
10.如权利要求1所述的通信网络,其中:
同步所述第一装置和所述第二装置包括所述第一装置通过所述总线广播开始消息;
所述波特率切换操作响应于所述开始消息;以及
所述波特率切换操作包括从存储的波特率选项中选择所述第一装置和所述第二装置之间的通信的新波特率。
11.一种操作通信网络的方法,所述方法包括:
使用通过总线彼此通信地耦合的第一装置和第二装置来执行波特率改变(BRC)过程的多次迭代;
其中所述BRC过程的多次迭代中的每一次包括:
同步所述第一装置和所述第二装置以标识何时将应用波特率切换操作,和
应用所述波特率切换操作以将所述第一装置和所述第二装置之间的通信的当前使用的波特率改变为所述第一装置和所述第二装置之间的通信的新波特率。
12.如权利要求11所述的方法,还包括使用所述第一装置以检测由通信地耦合到所述总线的第三装置在所述总线上生成的错误消息。
13.如权利要求12所述的方法,其中,所述第三装置不可操作以执行所述BRC过程。
14.如权利要求13所述的方法,还包括使用所述第一装置,以响应于检测到由所述第三装置在所述总线上生成的错误消息,发起反网络攻击行动。
15.如权利要求14所述的方法,其中,所述反网络攻击行动选自由以下组成的组:
暂停所述总线;
关闭所述总线;
记录网络攻击事件;
提供所述总线上潜在恶意存在的通知;和
请求技术援助。
16.如权利要求11所述的方法,还包括将所述BRC过程的多次迭代中的每一次通过第一时间窗口彼此隔开。
17.如权利要求16所述的方法,其中:
所述第一时间窗口小于第二时间窗口;以及
所述第二时间窗口限定了通信地耦合到所述总线的第三装置在不使用所述BRC过程的情况下确定所述第一装置和所述第二装置之间的通信的新波特率所要求的最小时间。
18.如权利要求11所述的方法,其中:
同步所述第一装置和所述第二装置包括所述第一装置通过所述总线广播波特率切换时间:
所述波特率切换时间包括所述波特率切换操作将被应用的时间;
所述波特率切换操作包括根据在所述总线上传送的数据块计算新的波特率;以及
所述数据块还用于执行比特时序操作。
19.如权利要求18所述的方法,其中:
所述通信网络包括控制器局域网(CAN)网络;
所述数据块包括:
SYNC_SEG数据段,
PROP_SEG数据段,
PHASE_SEG1数据段,和
PHASE_SEG2数据段;和
所述新的波特率不是一组标准CAN网络波特率之一。
20.如权利要求11所述的方法,其中:
同步所述第一装置和所述第二装置包括所述第一装置通过所述总线广播开始消息;
所述波特率切换操作响应于所述开始消息;以及
所述波特率切换操作包括从存储的波特率选项中选择所述第一装置和所述第二装置之间的通信的新波特率。
CN202310518170.8A 2022-05-11 2023-05-10 使用动态生成的波特率保护网络访问 Pending CN117061143A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263340711P 2022-05-11 2022-05-11
US63/340711 2022-05-11

Publications (1)

Publication Number Publication Date
CN117061143A true CN117061143A (zh) 2023-11-14

Family

ID=86378402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310518170.8A Pending CN117061143A (zh) 2022-05-11 2023-05-10 使用动态生成的波特率保护网络访问

Country Status (3)

Country Link
US (1) US20230367734A1 (zh)
EP (1) EP4277206A1 (zh)
CN (1) CN117061143A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640016B (zh) * 2024-01-26 2024-05-17 北京智芯微电子科技有限公司 波特率协商方法、装置、计算机设备、芯片及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017208553A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren zum Schutz eines Netzwerkes vor einem Cyberangriff

Also Published As

Publication number Publication date
EP4277206A1 (en) 2023-11-15
US20230367734A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
KR101885935B1 (ko) 전환 가능한 데이터 전송 속도에서의 직렬 데이터 전송을 위한 방법 및 그 장치
US11476962B2 (en) Method, device and apparatus for determining time information
JP4873663B2 (ja) 信号を復号するための方法と装置
JP3698074B2 (ja) ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム
TW201316724A (zh) 用於檢查串聯式資料傳輸的修正過之功能的方法與裝置
EP0469812A1 (en) Detection of duplicate alias addresses
JP4844632B2 (ja) バスステーション、及びバスステーションの同期を維持するシステム及び方法
US7600144B2 (en) Data transmission error reduction via automatic data sampling timing adjustment
US20120185721A1 (en) Multi-rate sampling for network receiving nodes using distributed clock synchronization
CN117061143A (zh) 使用动态生成的波特率保护网络访问
US11251996B2 (en) Modulating signal level transitions to increase data throughput over communication channels
CN113810145A (zh) 接收端时间戳准确性
US10311005B2 (en) Message translator
JP3946774B2 (ja) パケットフレーム化用の高速同期バイト検索構成
CN114846769A (zh) 用于确保以太网车载网络的时间同步的方法
WO2002021295A1 (en) Method and apparatus for accurate packet time stamping
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
EP4333360A1 (en) Securing network communications using dynamically and locally generated secret keys
JP4686740B2 (ja) 電子装置、フレーム同期の方法、および移動体装置
CN112565174B (zh) 地址监视装置和地址监视方法
CN112448921B (zh) 检测后门的方法和装置
Daraban et al. Protocol over uart for real-time applications
JP7034397B2 (ja) 経路冗長化システム、送信側装置、受信側装置、経路冗長化方法、および、経路冗長化プログラム
CN117667788B (zh) 数据的交互方法、计算机系统、电子设备和存储介质
JP2643089B2 (ja) 並列/直列バスにおけるエラー検出および回復システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication