CN108696411A - 用于在can系统中使用的装置 - Google Patents

用于在can系统中使用的装置 Download PDF

Info

Publication number
CN108696411A
CN108696411A CN201810195264.5A CN201810195264A CN108696411A CN 108696411 A CN108696411 A CN 108696411A CN 201810195264 A CN201810195264 A CN 201810195264A CN 108696411 A CN108696411 A CN 108696411A
Authority
CN
China
Prior art keywords
output
frames
decryption
key
encrypted
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.)
Granted
Application number
CN201810195264.5A
Other languages
English (en)
Other versions
CN108696411B (zh
Inventor
A-M·科波拉
G·科纳罗斯
G·赫拉迪
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.)
Dynamo Motor Co Ltd
Technological Educational Institute of Crete
Italy Semiconductor (grenoble 2) Co
STMicroelectronics Grenoble 2 SAS
Energica Motor Co SpA
Original Assignee
Dynamo Motor Co Ltd
Technological Educational Institute of Crete
Italy Semiconductor (grenoble 2) Co
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 Dynamo Motor Co Ltd, Technological Educational Institute of Crete, Italy Semiconductor (grenoble 2) Co filed Critical Dynamo Motor Co Ltd
Publication of CN108696411A publication Critical patent/CN108696411A/zh
Application granted granted Critical
Publication of CN108696411B publication Critical patent/CN108696411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

本公开提供了用于在CAN系统中使用的装置。一种CAN设备设置有加密功能和解密功能。加密功能允许将消息加密并且放置在CAN总线上。解密功能允许解密CAN总线上的信息。加密功能和解密功能共享随着时间而改变的密钥。

Description

用于在CAN系统中使用的装置
相关申请的交叉引用
本申请要求于2017年4月5日提交的希腊申请No.20170100160的优先权,这个申请通过引用合并于此。
技术领域
一些实施例涉及CAN(控制器局域网)系统和用于CAN系统设备的装置。
背景技术
控制器局域网(CAN)协议最初被开发作为车载网络。CAN继续应用于车辆中,并且现在应用于不同的应用范围中。仅作为示例,CAN在诸如铁路车辆、飞机和船只、工业系统、楼宇自动化等其他形式的运输中具有应用。
与任何网络一样,恶意攻击是潜在的问题。例如,发动机控制单元ECU读数的篡改、制动功能的禁用和对车辆部件的其他未授权控制可能是注入到车辆的CAN中的假冒信息的结果。
由于CAN的物理和有限性质,应用通常用于消费产品或其他类型的网络的安全措施可能是有问题的。CAN被设计为相对简单的协议,其中连接到CAN总线的任何设备可以广播消息。消息由连接到CAN的其他设备接收。消息类型的身份信息由其他设备用来确定这个消息是否意图用于这个设备。
用于诸如CAN等资源受限的平台的安全服务可能具有挑战性。
发明内容
根据一个方面,一种可以在根据CAN协议操作的系统中使用的设备中的装置包括被配置为提供加密输出的加密功能。加密输出取决于与系统中至少一个其他设备共享的密钥。所使用的密钥随着时间而改变。加密输出和要输出的数据用于提供加密的CAN帧。输出被配置为引起将加密的帧输出到CAN总线上。至少一个其他设备被布置为经由CAN总线接收加密的CAN帧。
该装置可以包括计数器,使得计数器向加密功能提供计数值,并且加密输出取决于计数值。
计数器可以被配置为通过随机种子来被控制以提供计数值。
计数器的计数值可以被配置为与另一设备的计数器的计数值同步。
加密输出可以包括密文。
该装置可以包括被配置为对要输出的数据的至少一部分进行加扰的编码功能。
要被加扰的数据的至少一部分可以包括CAN身份数据和CAN有效载荷数据。
编码功能可以被配置为从计数器接收计数值以控制加扰。
编码功能可以被配置为确定计数值的位的值,并且取决于这个值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
编码功能可以被配置为针对特定帧使用计数器的当前计数值,并且针对特定帧的加密输出取决于计数器的先前计数值。
编码功能可以被配置为接收要输出的数据,并且根据要输出的数据来确定数据是否要被加密。
要输出的数据可以包括限定可信标志的信息,编码功能被配置为通过确定标志是否被设置来确定数据是否要被加密。
加密的帧可以包括可信信息。
该装置可以包括用于存储密钥和/或种子的存储器。存储器可以包括防篡改或安全存储器。存储器可以是非易失性存储器。
该装置可以被配置为接收CAN帧并且响应于此来改变密钥。
密钥可以响应于以下各项而被改变:复位帧、同步帧、n个帧的传输(其中n是大于或等于1的整数)、或预定时间段的期满。
CAN帧的CAN标识符中可以设置有优先级位。
根据另一方面,一种用于在根据CAN协议操作的系统中使用的设备中的装置包括被配置为从系统中的另一设备从CAN总线接收加密的帧的输入。解密功能被配置为提供取决于与系统中的至少一个其他设备共享的密钥的解密输出。所使用的密钥随着时间而改变,并且用于解密加密的CAN帧的解密输出提供解密的输出。
该装置可以包括计数器,使得计数器向解密功能提供计数值,并且解密输出取决于计数值。
计数器可以被配置为通过随机种子来被控制以提供计数值。
计数器的计数值可以被配置为与其他设备的计数器的计数值同步。
解密输出可以包括密文。
该装置可以包括被配置为对解密的输出的至少一部分进行解扰的解码功能。
要被解扰的解密的输出的至少一部分可以包括加扰的CAN身份数据和加扰的CAN有效载荷数据。
解码功能可以被配置为从计数器接收计数值以控制解扰。
编码功能可以被配置为关于标志确定计数值的位的值,并且取决于这个值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
解码功能可以被配置为针对特定帧使用计数器的当前计数值,并且针对特定帧的解密输出取决于计数器的先前计数值。
该装置可以被配置为根据加密的CAN帧来确定数据是否要被解密。
CAN帧可以包括限定可信标志的信息,解码功能被配置为通过确定标志是否被设置来确定数据是否要被解密。
加密的帧可以包括可信信息。
该装置可以包括用于存储密钥和/或种子的存储器。存储器可以包括防篡改或安全存储器。存储器可以是非易失性存储器。
该装置可以被配置为接收CAN帧并且响应于此来改变密钥。
密钥可以响应于以下各项而被改变:复位帧、同步帧、n个帧的传输(其中n是大于或等于1的整数)、或预定时间段的期满。
CAN帧的CAN标识符中可以设置有优先级位。
根据另一方面,一种设备可以包括如在前述方面中的每个方面中限定的装置。
该设备可以被配置为具有在这些装置之间共享的一个计数器。
该设备可以被配置为使得密钥在这些装置之间共享。
根据另一方面,一种方法可以在根据CAN协议操作的系统中使用。该方法包括提供取决于在系统中的多个设备之间共享的密钥的加密输出。所使用的钥匙随着时间而改变。加密输出和要输出的数据用于提供加密的CAN帧,并且加密的帧被输出到CAN总线上。
该方法可以包括使用计数值来提供加密输出。
该方法可以包括使用随机种子来控制计数值。
计数值可以遍及系统中的多个设备同步。
加密输出可以包括密文。
该方法可以包括加扰要输出的数据的至少一部分。
要被加扰的数据的至少一部分可以包括CAN身份数据和CAN有效载荷数据。
该方法可以包括使用计数值来控制加扰。
该方法可以包括确定计数值的位的值,并且取决于这个值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
该方法可以包括针对特定帧使用当前计数值,并且针对特定帧的加密输出取决于先前的计数值。
该方法可以包括接收要输出的数据,并且根据要输出的数据来确定数据是否要被加密。
该方法可以包括通过确定可信标志是否被设置来确定数据是否要被加密。
加密的帧可以包括可信信息。
该方法可以包括接收CAN帧并且响应于此来改变密钥。
该方法可以包括响应于以下各项来改变密钥:复位帧、同步帧、n个帧的传输(其中n是大于或等于1的整数)、或预定时间段的期满。
根据另一方面,一种方法可以在根据CAN协议操作的系统中使用。该方法包括从系统中的设备从CAN总线接收加密的帧。解密输出取决于由系统中多个设备共享的密钥。所使用的钥匙随着时间而改变。解密输出用于解密加密的CAN帧以提供解密的输出。
该方法可以包括使用计数值来提供解密功能。
该方法可以包括使用随机种子来控制计数值。
计数值可以遍及系统中的多个设备同步。
解密输出可以包括密文。
该方法可以包括对解密的输出的至少一部分进行解扰。
要被加扰的数据的至少一部分可以包括CAN身份数据和CAN有效载荷数据。
该方法可以包括使用计数值来控制解扰。
要被解扰的解密的输出的至少一部分包括加扰的CAN身份数据和加扰的CAN有效载荷数据。
该方法可以包括从计数器接收计数值以控制解扰。
该方法可以包括确定计数值的位的值,并且取决于这个值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
该方法可以针对特定帧使用计数器的当前计数值以用于解扰,并且针对特定帧的解密输出取决于计数器的先前计数值。
该方法可以包括根据加密的CAN帧来确定数据是否要被解密。
该方法可以包括通过确定标志是否被设置来确定数据是否要被解密。
加密的帧可以包括可信信息。
该方法可以包括接收CAN帧并且响应于此来改变密钥。
该方法可以包括响应于以下各项来改变密钥:复位帧、同步帧、n个帧的传输(其中n是大于或等于1的整数)、或预定时间段的期满。
根据另一方面,提供了一种包括计算机可执行代码的计算机程序,计算机可执行代码当在至少一个处理器上运行时引起以上方面中的任一方面的方法被实现。
计算机程序可以被提供在非暂态介质上。
附图说明
为了更好地理解一些实施例,现在将仅以举例的方式参考附图,在附图中:
图1示意性地示出了CAN网络;
图2示出了由一些实施例修改的CAN帧;
图3示意性地示出了CAN流模型;
图4a示意性地示出了在一些实施例中使用的CAN流模型;
图4b更详细地示出了图4a的节点;
图5更详细地示出了图4a和图4b的节点的加密和解密功能;
图6示出了用于帧的传输的方法流程;
图7示出了在加密之前的数据的加扰;
图8示出了用于接收帧的方法流程;
图9示出了数据的解扰;
图10示出了具有控制节点和其他节点的CAN网络;
图11a、图11b和图11c示出了CAN网络中的可信和不可信域的各种示例;以及
图12a、图12b和图12c示出了用于建立可信组的方法。
具体实施方式
实施例可以在CAN系统的上下文中提供安全性。
应当理解,对于正在使用的CAN协议,存在很多不同的规范。例如,存在具有11位标识符的规范,例如CAN 2.0A。另一选项具有包括29位标识符的扩展格式,例如CAN 2.0B。还存在所谓的CAN-FD(灵活数据速率)规范。这具有不同的帧格式,不同的帧格式具有不同的数据长度(与在CAN 2.0A/B的情况下的高达8字节相比,高达64字节)。不同的数据长度表示指示有效载荷的大小的字段和不同的CRC字段的变化。CAN协议可以使用CAN“正常”模式帧中的保留位R0来区分“正常”模式和FD模式。当保留位为0(显性)时,帧为CAN“正常”帧,否则当其为1(隐性)时,这表示CAN FD帧。
存在已经由ISO发布的CAN版本,例如,ISO 11898。应当理解,实施例适用于任何CAN规范,包括上述示例和任何其他版本或规范。除非另有说明,否则本文档中对CAN的引用应当解释为涵盖任何CAN协议或规范。
在一些实施例中,在CAN系统的上下文中,可以使用基于密钥的算法来提供安全性。在一些实施例中,可以使用基于标准密钥的算法。可以使用对称算法。
密钥可以存储在CAN控制器的内部或外部防篡改存储器中,稍后描述。密钥可以定期改变。这可以是规则的时间间隔,或者可以通过明确信令来控制。在后一种情况下,可以使用特定类型的CAN帧。
一些实施例可以使用安全密码机制,诸如例如AES(高级加密标准)、DES(数据加密标准)和RSA等。
CAN实体认证可以经由诸如密码或密钥等物理令牌的拥有来实现。
一些实施例可以使用与应用于每个有效载荷的CAN ID跳跃结合的对称密钥时间会话来保护通信,如将更详细地讨论。
一些实施例可以提供超轻量分组密码。例如,在一些实施例中,安全CAN(sCAN)可以实时(小于1ms)加密CAN和本地互连网络(LIN)消息。LIN在CAN平台下运行。
一些实施例可以提供用于在保持实时性质的同时保护CAN通信的方法和装置。如稍后将在一些实施例中讨论,可以限定CAN网络内的安全广播组。可以支持安全组内的安全广播通信。这可以支持任何合适的高级协议,例如KW2000(关键字协议2000)等。KW2000是一种可以用于车载车辆诊断系统的通信协议。
在一些实施例中,如稍后将讨论,可以限定连接到CAN的不同设备中的可信组和不可信组。
一些实施例可以保护安全CAN总线设备之间的通信,同时仍然支持传统CAN设备。在一些实施例中,不需要改变标准CAN协议和硬件。
一些实施例可以要求实现实时支持的低计算能力。因此,实施例可以与资源受限的CAN设备一起使用。
在一些实施例中,如稍后将讨论,安全和非安全通信可以被并行支持。
参考图1,图1示意性地示出了CAN网络。示出了多个不同的CAN设备101。每个CAN设备连接到CAN总线。CAN总线包括CANH信号线103和CAN L信号线104。CAN总线由用于传输CAN帧的两个信号线限定。
如前所述,CAN系统通常在车辆的上下文中使用。相应地,在这个示例中,每个CAN设备可以是发动机控制单元ECU。然而,应当理解,这仅仅是作为示例,并且CAN设备可以是取决于部署有CAN协议的上下文的任何合适的设备。
在图2中示意性地示出了CAN帧。这是例如用于CAN 2.0的CAN帧。CAN帧具有标识符ID部分。CAN标识符包括作为标准ID部分的标准ID部分110。还示出了在图2中被标记为109和114的扩展标识符部分。扩展标识符部分例如用在CAN 2.0B中。标识符部分用于指示由消息提供的内容。知道了ID,一个或多个设备可以决定读取和使用所提供的信息。
帧还包括数据部分。数据部分具有CTRL控制部分116和有效载荷部分118。控制部分由指定有效载荷长度(从0到8字节)的4个DLC(数据长度码)位和被保留的R0/R1位组成。数据有效载荷部分118也包括帧或有效载荷信息,并且具有8字节的最大尺寸。(在CANFD中,这个部分的长度是64字节)。
帧的最后部分包括CRC(循环冗余校验)字段、确认字段和帧结束部分。
应当理解,通过示例的方式示出了CAN 2.0帧。其他实施例可以与CAN FD或实际上任何其他版本的CAN一起使用。
图2所示的CAN帧已经利用附图标记109来引用扩展报头的第一位。在一些实施例中,扩展报头的这个第一位被指定为可信位。这将在稍后更详细地描述。
参考图3,图3示意性地示出了用于数据传输和接收处理的CAN流模型。在图3所示的示例中,有三个CAN设备或节点101a、101b和101c。每个节点包括能够处理所接收的数据和/或输出数据的本地智能112。本地智能可以由一个或多个微控制器或电路结合存储器来实现。每个节点包括被配置为将数据输出到CAN总线上或从CAN总线接收数据的CAN模块113。CAN模块包括CAN控制器和CAN收发器。CAN控制器可以嵌入在本地智能112中,或者可以在本地智能112外部。如通常所知,CAN控制器实现数据链路操作。CAN收发器位于本地智能112与CAN总线127之间,并且实现物理层操作。
CAN控制器可以被配置为支持正常模式和/或CAN FD。可以看出,本地智能112可以连接到传感器和致动器等111中的一个或多个。例如,传感器可以是发动机速度传感器、温度传感器、油压传感器等。传感器和/或致动器可以在本地智能112的输入/输出存储器131中存储/读取它们的值。传感器和/或致动器的值可以以规则的间隔存储或读取。这些值可以通过复制到本地智能的存储器126来传送,或者可以通过从存储器126复制来接收。可以有用于接收和传送数据的公共存储器或用于其的单独存储器。本地智能可以被编程为确定必须被传送或已经被接收的消息的含义。用于传出消息的本地智能将尺寸和ID添加到传输存储器126,同时它使用来自接收存储器的这些信息来标识致动器或要执行的操作。应当理解,在一些实施例中,CAN ID可以由本地智能112根据合适的高级协议(例如,KW2000)来提供。
信息从传送存储器126去往CAN控制器模块113的传送邮箱122,并且然后传送标志被立起(raised)。一旦消息被发送到CAN模块113,本地智能已经完成了其对于这个传送处理的任务。CAN模块113经由接收器功能135的RX信号线137检查总线127是否活动(数据是否在交换处理中)。根据需要,CAN模块等待直到总线空闲。如果CAN总线127空闲,则数据开始由传送功能123发送。如果CAN帧130的传送成功,则邮箱122将被复位。当邮箱被复位时,可以启动新的传送处理。
在图3的示例中,第一节点101a正在传送CAN帧130。所有连接的节点接收由节点101a通过RX线137向CAN节点的相应的接收邮箱124发送的CAN帧130。这个接收阶段主要由两个步骤组成:检查消息错误和检查消息接受。
第一步骤使用CRC校验和来实现。这可以检测传输中是否发生了任何错误。当CAN帧被发送时,校验和根据所有位被生成并且被包括在CAN帧中。接收器根据使用相同的协议接收的所有位来计算校验和。然后,接收的校验和与计算的校验和相比较。如果没有发现错误,则所有节点向传送器节点101a发送确认,以确认正确的接收。
最后,对于正确地接收的帧,接收步骤通过立起接收邮箱124的接收标志来执行。本地智能将所接收的信息获取到接收存储器或缓冲器126中。信息将包括ID、尺寸和数据。首先,通过查看ID,确定CAN帧是否必须被这个节点接受。如果不是,则丢弃这个帧。否则,这个帧可以由节点使用。
为了减少接收的计算,可以在每个CAN节点中设置滤波器。滤波器被配置为确定总线上的帧是否意图用于相应的节点。滤波器可以设置在CAN模块113的任何合适的位置处。
在实施例中,一个节点传送。所有节点选择性地侦听和处理数据帧。消息过滤通常由滤波器在收发器硬件来执行。
滤波器掩码用于确定所接收的帧的标识符中的哪些位与滤波器相比较。如果掩码位被设置为零,则相应的ID位将被自动接受,而不管滤波器位的值如何。
如果掩码位被设置为1,则相应的ID位与滤波器位的值相比较;如果它们匹配,则它被接受,否则,这个帧被拒绝。
示例1:仅接受ID为00001567(十六进制值)的帧。滤波器设置为00001567,并且掩码设置为1FFFFFFF。当帧到达时,其ID与滤波器相比较,并且所有位必须匹配;任何不匹配ID 00001567的帧被拒绝。
示例2:仅接受ID为00001560到0000156F的帧。滤波器设置为00001560,并且掩码设置为1FFFFFF0。当帧到达时,其ID与滤波器相比较,并且除了位0至3之外的所有位必须匹配;任何其他帧被拒绝。
示例3:仅接受ID为00001560到00001567的帧。滤波器设置为00001560,并且掩码设置为1FFFFFF8。当帧到达时,其ID与滤波器相比较,并且除了位0至2之外的所有位必须匹配;任何其他帧被拒绝。
例4:接受任何帧。滤波器设置为0,并且掩码设置为0。所有帧被接受。
在一些实施例中,对于传统CAN设备,滤波器和掩码被设置用于他们想要接收的ID。安全CAN设备的设置将滤波器和掩码设置为0。在这种情况下,MAC将确定是接受还是拒绝CAN帧。
这个数据流可以支持广泛的通信模型。例如,可以支持主/从模式。在这个模型中,所有通信由主节点发起。在点对点模式下,节点自主地以相等的权限进行交互。在生产者/消费者模型中,生产者节点将消息广播或推送给消费者节点。在客户端/服务器模型中,客户端节点从服务器节点请求或拉取数据。应当理解,给定CAN网络可以支持这些不同模型中的一个或多个。
在图3所示的示例中,CAN节点101a传送消息。这个消息由每个其他节点接收。在这个示例中,CAN节点101b接收并且处理这个消息。但是,CAN节点101c忽略这个消息。
现在参考图4a,图4a示出了被配置为检测可信和不可信CAN帧并且实现CAN协议和规范的扩展的安全CAN系统的一些实施例的系统。在一些实施例中,可以通过设置标识符的一个位(例如,如图2所示)(保留位(R0))或者通过使用DLC的一个或多个未使用的编码值(例如,1111)来在CAN帧130中设置可信标志112。R0位可以仅与CAN一起使用,并且在不支持CAN FD的情况下不使用。所选择的位被称为可信位(或值)112。可信标志在被立起时表示安全CAN帧的传输,其中可信位被设置为主导值。仅可信CAN节点可以接收、解码和处理正确安全的CAN帧。当不使用这样的位时,在总线上传输的所有CAN帧是安全的或不安全的。换言之,如果没有可信标志选项,则可能不存在安全和非安全CAN帧的共存。
当若干节点试图同时发送时,在CAN总线上会发生数据冲突。为了仲裁冲突,CAN协议限定所有传送节点通过RX线137监测总线通信量。因此,每个传送器节点将TX线138的状态与RX线137的状态逐位相比较。当注意到区别时,其TX信号被零覆盖的节点必须从总线上退出。因此,标识符中的数字越小,则消息越重要。
在一些实施例中,CAN ID字段内的另一位可以被用作能够管理安全和非安全CAN帧之间的帧加权的优先级位。优先级位可以将ID的范围分成2个子集:一个具有较高的优先级,一个具有较低的优先级。当CAN帧可以是安全的和不安全的时候,优先级位将安全和非安全帧二者分为2个子集,以提供总共4个子集。
在CAN总线上的两个实体之间的可信通信的上下文中,在通信可信的情况下,经由以上由本地智能112提及的方法之一来立起可信标志。可以在存在可信帧时禁用CAN滤波器。在一些实施例中,这些帧在CAN模块113处被接受或拒绝。
一些实施例的CAN节点具有sCAN模块151,sCAN模块151具有sCAN传送器子模块150、sCAN接收器子模块152和计数器153。传送器子模块在向邮箱122传送之前处理CAN帧。接收器子模块从邮箱124接收CAN帧,对其进行处理并且发送到本地智能112。
在下文中,要信任的每个CAN节点包括存储在由sCAN模块151使用的安全存储器128中的一组密钥K[0...n]和种子。在时间0处执行全局复位,其使用Key[0]和初始“种子”值。这个种子用于使用RND(种子)函数来初始化计数器153。
全局复位将在操作开始时以恒定的时间间隔、可变的时间间隔和/或在SYNC(同步)命令之后对每个节点执行。
在两方(或多方)可信通信中,在发送第一帧之后,两个计数器被更新。计数器用于搅乱必须传输的CAN帧。由于种子相同,被包括在两个节点中的两个计数器将包含相同的值。
在一个实施例中,由本地智能存储在传送存储器中的信息还将包括可信标志112。如前所述,可信标志表示实际CAN帧是可信还是不可信。可信标志将使用由可信位112先前提及的可能性之一来被映射到CAN帧。
现在参考图4b,图4b示出了一些实施例的安全CAN设备的示意性功能框图。本地智能112与sCAN控制器120耦合,并且sCAN控制器与CAN收发器125耦合。SCAN控制器包括实现先前讨论的CAN协议的CAN引擎129、传送邮箱122和接收邮箱124。sCAN控制器具有sCAN传送器子模块150(加密)、sCAN接收器子模块152(解密)、传送TX安全缓冲器170、RX安全缓冲器172、计数器153、以及在加密块与解密块之间共享的相关联的当前密钥寄存器。存储器128是安全地存储计数器的种子和密钥集合的安全位置。
CAN收发器125包括先前讨论的传送功能123和接收器功能135。
现在参考图5,图5更详细地示出了图4a和图4b的传送器子模块150和接收器子模块152。支持安全操作模式的每个CAN节点通常具有加密140和编码144(传送)部分以及解密148和解码160(接收)部分。
首先参考传送子模块150,该设备具有加密功能140,其被配置为执行任何公知的密码功能(例如,AES,RSA等)的。加密功能140可以使用包括一个或多个微控制器或电路的加密电路装置结合存储器来实现。
在下文中,使用AES作为说明性示例。加密算法140接收密钥K[i]143(其中0<=i<n)以及来自计数器153和传送存储器的位置的输出以作为输入参数,在传送存储器中已经存储了限定CAN帧的信息。这将引起加密算法140提供初步密文输出C=AES(K[i],计数器),其经由XOR 146与编码部分144的输出相组合。编码部分将编码应用于传送存储器中的所涉及的CAN帧。然后,XOR功能146将提供表示加密的CAN帧的最终密文输出。取决于所使用的以及在正常帧和FD帧之间的CAN帧的版本,密文的长度为75位、93位、523位或541位。
接收子模块152被配置为从邮箱124接收密文。然后,在块158处进行检查,以查看可信位是显性或被“设置”。如果可信位不是显性,则正常的CAN操作如前所述执行。正常的CAN操作由功能块157表示。
如果可信位是显性,则密文被传递到XOR功能156。XOR功能156被布置为从被配置为执行相应解密算法的解密功能148接收输出C=AES(K[i],计数器)。解密功能148接收相同的密钥值K[i]和来自计数器153的相同的计数器值,作为输入。使用在传送器子模块中使用的相同种子,计数器被计算为RND()。被称为来自解密功能148的初始密文的解密输出通过XOR功能156应用于所接收的密文。然后,XOR功能的结果被发送到解码部分160。解码的输出是存储在接收存储器中并且可以由本地智能使用的普通的CAN帧。应当理解,全局复位159将确保由加密功能140和解密功能148使用相同的密钥。CAN节点中的密钥周期性地改变。可以通过对传送的可信帧的数目进行计数来确定密钥被改变的时隙的时间段153。
解密功能148可以使用包括一个或多个微控制器或电路的解密电路装置结合存储器来实现。在一些实施例中,加密功能140和解密功能148将共享硬件。
同样,每个计数器将通过相同的随机数被初始化,使得计数器向加密和解密功能提供相同的输出。对于给定的帧,它在一个CAN节点中被加密并且在一个或多个其他节点中被解密。
现在将参考图6,图6示出了在一些实施例中用于准备和传送帧的方法。
该方法通过执行步骤S10被初始化,并且然后从步骤S0开始。
在步骤S0中,确定新的CAN ID、有效载荷、尺寸和可信标志是否已经存储在传送存储器中。如果不是,则重复这个确定。
如果已经接收到这样的新的CAN ID、有效载荷、尺寸、可信标志,则下一步骤是步骤S1。在步骤S1中,使用可信标志和尺寸信息来创建控制字段CTRL。然后,下一步骤是步骤S2。
在步骤S2中,检查可信标志。如果它为假,则执行步骤S4,其中使用ID、CTRL和PAYLOAD来建立CAN密码帧。之后的下一步骤是步骤S11。
相反,当可信标志为真时,下一步骤是步骤S3。
在步骤S3中,由计数器提供的值被更新为下一值。作为计数器输出的值将取决于最初使用的种子。下一步骤是S5。
在步骤S5中,使用计数器的当前值的编码功能被应用于ID、CTRL、PAYLOAD,并且加扰的ID和有效载荷(s-[ID|CTRL|PAYLOAD])被获取。应当理解,在这个步骤中,所限定的可信位也被设置。
在步骤S6中,确定先前的密文标志是否为真。如果不是,则重复这个确定。如果先前的密文标志为真,则下一步骤是步骤S7。如果密文是使用计数器的先前(第n-1)值和密钥的过去的值(其中用于加扰的计数器的当前值是第n值)来生成的,则先前的密文标志将为真。如果在同一时隙,则密钥的当前值可以相同。
在步骤S7中,由与加扰的ID、CTRL和PAYLOAD进行异或(XOR)的先前的密文来确定CAN密码帧。(CAN密码帧=先前的密文异或s-[ID|CTRL|PAYLOAD])。接下步骤是并行执行的S8和S10。应当理解,这个并行性用于在某些实施例中支持实时属性。
在步骤S8中,确定传送邮箱是否已经立起。如果邮箱已经被立起,则重复这个确定。如果传送邮箱没有被立起,则下一步骤是步骤S9。
在步骤S9中,将CAN密码帧存储到传送邮箱中,并且相关的标志被立起。下一步骤是步骤S0。
在步骤S10中,将先前的密文标志设置为假,并且基于在步骤S3中的更新之前的计数值来生成新的先前的密文。然后,将先前的密文标志设置为真。
由于密文包括在编码功能之后编码的CAN ID和CAN有效载荷,将在CAN总线上发送的实际的CAN ID是来自CAN有效载荷和CANID的混合的位集合。实际的CAN ID因此是密码安全伪随机CAN ID。
在步骤S11中,确定帧是否是复位帧。如果否,则下一步骤是步骤S13,否则,下一步骤是步骤S12。
在步骤S12中,RND功能被复位。这表示它再次从第一数字开始。下一步骤是步骤S8。
在步骤S13中,确定帧是否为同步帧。如果否,则下一步骤是步骤S8,否则,下一步骤是步骤S14。
在步骤S14中,将当前密钥的索引重新设置为由有效载荷的值以最大存储密钥数目为模而计算的值。然后,使用将K(索引)的值作为自变数的自定义函数来计算新的种子。计数器被计算为计数器=RND(种子),并且使用适用于密钥[索引]和计数器的任何合适的密码函数来确定先前的密文。下一步骤是步骤S8。
参考图7。先前的图5的计数器153在图7中被示出为使用预定义的函数被扩展到多个位,其位数等于CAN ID 110(这可以包括图2中的被标记为112和114的部分)、CAN控制116和CAN PAYLOAD118的尺寸的总和。扩展计数器被标记为730,并且在图7中被示出为一组位731。
设置有CAN缓冲器740,其中CAN ID的位被搅乱,CANPAYLOAD的位被搅乱,但是CANCTRL的位在与图2所示的标准CAN帧或正在使用的特定CAN标准的适当的CAN帧中的相同的位置中被复制。
为了获取加扰的ID、DLC和PAYLOAD(s-[ID|DLC|PAYLOAD]),将相同的函数f以连续的方式应用于扩展计数器730的每个位。换言之,函数首先被应用于位0,然后是位1,依此类推。使用数据存储700中的CAN ID 110、CAN CTRL 116和CAN PAYLOAD 118,在图7中由附图标记750表示的函数f的结果产生搅乱的数据(s-[ID|CTRL|PAYLOAD])的位值。这个函数可以使用两个全局索引,它们指代它们在700内指向的当前信息元素。另外,在开始第一调用之前,它确定在扩展计数器中设置为1的位数是否大于CAN ID的尺寸。如果这个检查为真,则被称为FLAGBIT的全局标志被设置为1,否则,这个标志被设置为0。
当函数f被调用到扩展计数器的特定位时,首先检查这个位定位是否是CAN CTRL字段的一部分。如果这为真,则结果是CAN CTRL字段116的相关位。如果情况并非如此,则函数检查扩展计数器位的值是否等于FLAGBIT。如果这个检查为真,则结果是CAN ID的第一未被选择的位的值,否则,这个值是CAN PAYLOAD的第一未被选择的位的值。
参考图8,图8示出了接收帧的方法。
该方法使用步骤T0被初始化,并且然后开始执行步骤T1。
在步骤T1中,通过检查接收邮箱是否已经被立起来确定是否接收到新的CAN帧。如果是,则下一步骤是步骤T2。如果不是,则再次确定是否接收到新的CAN帧。
在步骤T2中,从接收邮箱中读取ID、CTRL和PAYLOAD的值。下一步骤是步骤T3。
在步骤T3中,可以如前讨论地从可信位字段中确定可信标志。下一步骤是步骤T4。
在步骤T4中,确定可信标志是否为真。如果是,则下一步骤是步骤T6,否则,下一步骤是步骤T5。
在步骤T5中,从CTRL中确定有效载荷的尺寸。下一步骤是步骤T7。
在步骤T6中,确定密文标志是否为真。如果否,则下一步骤是步骤T6,否则,下一步骤是步骤T11。
在步骤T7中,确定所接收的帧是否是复位帧。这是确定是否使用特殊的ID代码并且可选地使用一些有效载荷信息来确定的。如果否,则下一步骤是步骤T9,否则,下一步骤是步骤T8。
在步骤T8中,RND功能被复位。这表示它再次从第一数字开始。下一步骤是步骤T1。
在步骤T9中,确定所接收的帧是否是同步帧。这是通过使用特殊的ID代码并且可选地使用一些有效载荷信息来确定的。如果否,则下一步骤是步骤T14,否则,下一步骤是步骤T10。
在步骤T10中,当前密钥的索引被重新设置为由有效载荷的值以最大存储密钥数目为模而计算的值。然后,使用将K(索引)的值作为自变数的自定义函数来计算新的种子。计数器被计算为计数器=RND(种子),并且使用适用于密钥[索引]和计数器的任何合适的密码函数来确定先前的密文。下一步骤是步骤T1。
在步骤T11中,通过调用随机数函数来更新计数器。下一步骤是步骤T12。
在步骤T12中,通过XOR功能将加密的帧与AES的先前输出或任何其他密码函数进行异或(XOR)。XOR操作的结果也是存储在CAN密码帧中的另一CAN帧。下一步骤是并行执行的步骤T0和T13。
在步骤T13中,应用于CAN密码帧和计数器的当前值的解码功能被执行,并且获取明码的CAN帧。从这个帧中,CAN标识符和有效载荷分别存储在ID和PAYLOAD字段中,而尺寸从DLC字段来计算。下一步骤是步骤T15。
在步骤T14中,将先前的密文标志改变为假,计算新的先前的密文值,并且将先前的密文标志设置为真。这与步骤S10类似,但是用于解密。
在步骤T15中,将ID、尺寸、可信标志和有效载荷的值存储到接收存储器,并且将RX邮箱复位。下一步骤是T1。
先前讨论的示例已经使用了AES算法。应当理解,其他实施例可以使用诸如SHA-2等任何其他合适的加密/解密算法。
参考图9,图9示出了用于在解密侧获取明码的CAN帧信息的方法。图5的计数器153在图9中被示出为使用预定义的函数被扩展到多个位,其位数等于CAN ID 110(这可以包括图2中的被标记为109和114的部分)、CAN控制116和CAN PAYLOAD 118的尺寸的总和。扩展计数器被标记为830,并且在图8中被示出为一组位831。
缓冲器840是其中CAN ID和CAN PAYLOAD已经被解码的缓冲器。
为了获取明码的CAN ID、DLC和PAYLOAD([ID|DLC|PAYLOAD]),将相同的函数g(表示为850)以连续的方式应用于扩展计数器的每个位。换言之,函数g首先被应用于位0,然后是位1,依此类推。使用来自数据存储800的加扰的CAN ID、CAN CTRL和加扰的CAN PAYLOAD,函数g 850的结果产生明文数据([ID|CTRL|PAYLOAD])的值。这个函数可以使用两个全局索引,它们指代它们指向的当前信息元素。另外,在开始第一调用之前,它确定扩展计数器中设置为1的位数是否大于CAN ID的尺寸。如果这个检查为真,则被称为FLAGBIT的全局标志被设置为1,否则,这个标志被设置为0。
当函数g 850被调用到扩展计数器的特定位时,首先检查这个位定位是CAN CTRL字段的一部分。如果这为真,则结果是CAN CTRL字段的相关位。如果情况并非如此,则检查扩展计数器位的值是否等于FLAGBIT。如果这个检查为真,则结果是加扰的CAN ID的第一未被选择的位的值,否则,该值是加扰的CAN PAYLOAD的第一未被选择的位的值。
参考图10,图10示出了CAN系统,其中CAN节点已经被选择为耦合到由信号210和211表示的CAN总线的证书节点201和各种其他节点202。稍后更详细地描述的证书节点201能够建立可信组,其包括证书节点本身和系统中的一个或多个CAN节点202。
在这点上,参考图11a至图11c,图11a至图11c示出了具有可信和不可信部分的系统的各种不同示例。
例如,在图11a的场景中,证书节点201与另外的两个CAN节点202处于可信组210中。存在具有各种其他不可信节点202的不可信组211。
在图11b的布置中,仅证书节点201在可信组210中,并且其余的其他节点202在不可信组中。
在图11c所示的配置中,可信组包括证书节点201和一个其他CAN 202。其余的节点202处于不可信组中。
在一些实施例中,使用安全密钥交换机制来在不同的CAN节点之间共享秘密密钥。例如,可以使用Diffie-Hellman D-H密钥交换方法。D-H是在公共信道上安全地交换加密密钥的一种特殊方法,并且也是起初由Ralph Merkle概念化并且之后以Whitfield Diffie和MartinHellman命名的第一公钥协议之一。
在一些实施例中,可以形成所有节点共享相同密钥的可信组。
在与证书节点有关的一些实施例中,使用以下变量:
Skey-表示初始秘密和私钥;
Suid-表示与节点相关联的唯一标识符;
Sid-表示允许加入可信组的Suid集合;
T-Pkey-表示可信组公钥,并且与可信组的所有节点共享;
T-Skey-表示可信组秘密密钥,并且与可信组的所有节点共享;
RN是标识可信组的向量,并且包括由CAN节点生成的唯一随机数列表。索引表示可信节点的id号;以及
Pid标识正在正确运行的并且可以有资格成为可信组的一部分的所有节点。其包括它们的公共标识符的列表。每个节点还具有公共的id号。
在与任何节点有关的一些实施例中,使用以下变量:
Skey-表示初始秘密和私钥;
Pkey-表示初始公钥;
Suid-表示与节点相关联的唯一标识符;
T-Pkey-表示可信组公钥。这个密钥与可信组的所有节点共享;
T-Skey-表示可信组秘密密钥。这个密钥与可信组的所有节点共享;以及
Pid标识与节点相关联的公共id。
中央权威是证书节点201,其具有用于通过分配密钥来构建可信组的责任。
最初,可信组包括具有由Pkey表示的共享公钥的{证书节点201}。
证书节点201包括可信组中的若干节点,以首先建立点对点通信,然后对它们进行认证。
证书节点201通过发送CAN帧来选择第一候选节点202。当这个第一候选节点202接收到这个帧时,候选节点向证书节点201发送回目标ID被设置为“a”的CAN帧及其临时公钥。另外,它计算可信组秘密密钥。
第一候选节点使用可信组安全密钥与证书节点201交换其唯一ID。
证书节点201在其从第一候选节点接收到CAN帧时重新计算其可信组安全密钥和新的Pkey。
现在,安全组包括证书节点201和第一候选节点,并且具有由Pkey*表示的共享公钥。
证书节点201现在可以开始选择另一候选节点并且重复先前的步骤。
参考图12a至图12c,图12a至图12c示出了建立可信组的方法。
首先参考图12a,图12a示出了在左侧的由证书节点201执行的步骤以及在右侧的由候选节点执行的步骤。
开始由证书节点执行的步骤:
该方法在步骤399中开始。
在步骤401中,安装以下各项:
Skey=RND=6;(初始密钥和私钥),其是通过调用随机数函数而计算的;
Suid=uid-a;(证书节点的唯一标识符);
Sid={uid-a,uid-b,uid-c,uid-d}(允许加入组的节点的唯一标识符集合);以及
Pid={id}(节点的公共id)。
这由箭头460表示,其表示能够安装将是可信组的一部分的节点的唯一公共标识符的列表的任何系统。该系统可以是手动键盘、远程安装或任何合适的方法。
在步骤402中,将p设置为任何合适的数字。出于说明的目的,p被设置为23。这是所使用的模数。CAN帧411被发送到与步骤421相关联的候选节点。如前所述,CAN帧具有ID部分410和数据部分421。p的值在CAN PAYLOAD中设置。
在步骤403中,设置基数g=5。再次,g可以具有任何合适的值并且作为示例被设置为5。T-Pkey如下确定:
T-Pkey=56mod 23=8;
RN=[0,0,0,0,...];PID={]。
计时器被复位。另一CAN帧412被发送到与步骤423相关联的候选节点。这将具有在PAYLOAD的数据部分中的基数g的值。
在步骤404中,证书节点等待来自候选节点的响应CAN帧。响应帧将在PAYLOAD中具有表示CN节点的公共ID的字段,并且剩余的字段包含在步骤424(稍后描述)中计算的随机数的值。
在步骤405中,确定是否存在超时。如果是,则下一步骤是图12b的步骤501。如果否,则下一步骤是步骤406。
在步骤406中,确定RN是否等于0。如果是,则下一步骤是404,否则,下一步骤是步骤407。
在步骤407中,RN[id]=RN;Pid=Pid∪{id};并且将计时器复位。
在候选节点中,该方法在步骤398处开始。
在步骤420中,候选节点具有以下各项:
SKEY=RND=17;Suid=uid;Pid=id。
在步骤421中,候选节点等待具有p的数据帧。
在步骤422中,候选节点具有值p,即,23。
在步骤423中,候选节点等待具有g的数据帧。
在步骤424中,候选节点具有值g,即,5。使用RN=RND,Pkey是由Pkey=517mod 23=15确定的初始公钥。候选节点然后将A I id|RN发送到证书节点、CAN帧413的数据部分中。字母“A”指代CN节点的公共id,而Id是本地公共id,RN是随机数的值。
下一步骤是图12b的步骤551。
现在参考图12b,就证书节点而言,图12a的步骤405前进到图12b的步骤501。
在步骤501中,确定是否所有节点都已经在Sid集合中提出请求。如果是,则该方法进入正常的通信模式。可信组已经建立。
如果否,则下一步骤是步骤502。在步骤502中,选择具有RN[id]≥0的节点id。CAN帧520被发送到候选节点,具有用户ID字段(有效载荷的第一字节)=id和候选节点中与步骤551相关联的T-Pkey。
在步骤503中,执行等待语句。
在步骤504中,计算临时可信组秘密密钥-tmpSkey=f(Pkey)。
在步骤505中,计算临时可信组公钥-tmpPkey=g(tmpSkey)。
在步骤506中,确定目标id Tid。
Tid1=SHA(Sid([id],RN[id])。
Tid1H=Tid1[j..n-1]表示索引高的位。
TId1Low=Tid1[0..j-1]表示索引低的位。
在步骤507中,启动计时器。
在步骤508中,控制器等待来自计时器的候选节点的CAN帧525至超时。这个CAN帧将具有等于A的ID 524,并且具有TidHigh值523。两个节点使用对称的“tmpSkey”来加密/解密彼此之间的通信。
在步骤509,确定是否有超时。如果是,则下一步骤是步骤501。否则,下一步骤是步骤510。证书节点将发送CAN分组526,其具有等于id的ID 526并且具有Tid1Low值527。
在步骤510中,确定在证书节点中确定的Tid1H值是否与从候选节点接收的Tid1H值相同。如果不是,则该方法在步骤511中中止。如果是,则下一步骤是步骤512。
在步骤512中,RN[0]=0。
T-SKey=TMP-SKey。
T-PKey=TMP-PKey。
候选节点的id现在是可信组的一部分。
现在将描述在候选节点中执行的图12b的步骤。
跟随图12a的步骤424的步骤551中,候选节点将等待,直到来自证书节点的CAN帧520利用这个候选节点的ID来被接收。
在步骤552中,候选节点将计算临时可信组秘密密钥tmpSkey=f(T-Pkey)。
在步骤553中,候选节点将计算临时可信组公钥tmpPkey=g(tmpSkey)。
在步骤554中,候选节点确定Tid=SHA(Suid,RN),TIdHigh=Tid[j…n-1],以及TIdLow=Tid[0…j-1]。候选节点将CAN帧525传送到证书节点。
在步骤555中,候选节点将等待,直到来自证书节点的CAN帧526利用这个候选节点的ID来被接收。
在步骤556中,确定在候选节点中确定的Tid1L值是否与从证书节点接收的Tid1H值相同。如果不是,则该方法在步骤557中中止。如果是,则下一步骤是图12c中的步骤658。
在图12c中,由于新的节点进入可信组,已经在可信组中的节点需要更新其密钥。
跟随步骤556的步骤658中,确定节点是否不可信。
随后是步骤659,在步骤659中,节点等待具有T-Pkey的来自证书节点的CAN帧。
在步骤660中,确定是否T-Pkey==tmpPkey。如果不是,则下一步骤是步骤663,在步骤663中,确定节点不可信,并且该方法在步骤557处中止。
如果确定T-Pkey==tmpPkey为真,则下一步骤是步骤662,在步骤662中,确定以下各项。T-Skey=tmp-Skey,T-Pkey=tmp-Pkey,以及不可信=假。
在步骤664中,节点等待来自另一可信CAN节点的CAN帧,其中有效载荷的ID=“A|Pkey=“..”。
在步骤660中,确定T-Pkey==0。如果是这样,则下一步骤是窥探诸如CAN帧522等消息。在这种情况下,新的节点要求进入可信组。因此,已经在可信组中的所有旧的节点需要通过Diffie-HellmanD-H密钥交换算法相应地更新密钥。
如果不是,则下一步骤是步骤668。
在步骤668中,节点计算临时可信组秘密密钥tmpSkey=f(T-Pkey)。
在步骤670中,节点计算临时可信组公钥tmpPkey=g(tmpSkey)并且该方法返回到步骤659。
在由证书节点结束的密钥交换过程结束时,进入正常传输阶段。
应当理解,图12a至图12c所示的方法仅作为示例。一些实施例可以例如省略图12a的步骤404至407。在一些实施例中,函数f和g可以相同。这个函数可以是模函数。
应当理解,上述布置可以至少部分地由集成电路、芯片组、封装在一起或在不同封装件中的一个或多个管芯、分立电路装置或这些选项的任意组合来实现。
例如,子模块150和152可以用相同或不同的管芯或封装件来实现。
图4b的布置可以至少部分地由一个或多个集成电路或管芯来实现。
一些实施例可以替代地或另外地用硬件来实现。
通常,各种实施例可以用硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以用硬件来实现,而其他方面可以用可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管可以将本发明的各个方面示出和描述为框图、流程图或使用一些其他图形表示,但是很好理解,本文中描述的这些框、装置、系统、技术或方法可以作为非限制性实施例用硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备、或其某种组合来实现。
本发明的实施例可以由数据处理器可执行的计算机软件来实现。计算机程序产品可以包括在程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。
另外,在这点上,应当注意,如附图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在物理介质上,诸如存储器芯片、或在处理器等内实现的存储器块。物理介质是一种非暂态介质。
上面已经描述了具有不同变化的各种实施例。应当注意,本领域技术人员可以组合这些各种实施例和变化的各种元素。
这样的改变、修改和改进旨在成为本公开的一部分,并且意图在本发明的范围内。相应地,前面的描述仅仅是作为示例,并且不意在限制。本发明仅如在以下权利要求书及其等同物中限定地受到限制。

Claims (24)

1.一种用于在根据控制器局域网(CAN)协议操作的系统中使用的装置,所述装置包括:
加密电路装置,被配置为:
执行加密功能,所述加密功能根据密钥提供加密输出,所述密钥与所述系统中的另一设备共享,其中所述密钥随着时间而改变;以及
使用所述加密输出连同要由所述装置输出的数据来生成加密的CAN帧;以及
输出驱动器,被配置为引起所述加密的CAN帧被输出到与所述另一设备连接的CAN总线上,使得所述另一设备能够经由所述CAN总线接收所述加密的CAN帧。
2.根据权利要求1所述的装置,进一步包括被配置为向所述加密功能提供计数值的计数器,所述加密输出取决于所述计数值。
3.根据权利要求2所述的装置,其中所述计数器的计数值被配置为与所述另一设备的计数器同步。
4.根据权利要求1所述的装置,其中所述加密电路装置被配置为执行编码功能以对要输出的所述数据的至少一部分进行加扰。
5.根据权利要求4所述的装置,其中要被加扰的数据的所述至少一部分包括CAN身份数据和CAN有效载荷数据。
6.根据权利要求4所述的装置,进一步包括被配置为向所述加密功能提供计数值的计数器,所述加密输出取决于所述计数值,其中所述编码功能被配置为从所述计数器接收计数值以控制所述加扰。
7.根据权利要求6所述的装置,其中所述编码功能被配置为确定所述计数值的位的值,并且取决于确定的所述值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
8.根据权利要求6所述的装置,其中所述编码功能被配置为针对特定帧使用所述计数器的当前计数值,并且针对所述特定帧的所述加密输出取决于所述计数器的先前计数值。
9.根据权利要求4所述的装置,其中要输出的所述数据包括限定可信标志的信息,所述编码功能被配置为通过确定所述可信标志是否被设置来确定所述数据是否要被加密。
10.根据权利要求1所述的装置,其中所述密钥响应于以下中的一项而被改变:复位帧、同步帧、n个帧的传输或预定时间段的期满,其中n是大于或等于1的整数。
11.根据权利要求1所述的装置,其中在所述加密的CAN帧的CAN标识符中设置有优先级位。
12.一种用于在根据控制器局域网(CAN)协议操作的系统中使用的装置,所述装置包括:
输入缓冲器,被配置为经由CAN总线从所述系统中的另一设备接收加密的CAN帧;以及
解密电路装置,被配置为执行解密功能,所述解密功能根据密钥提供解密输出,所述密钥与所述系统中的所述另一设备共享,其中所述密钥随着时间而改变,所述解密输出用于解密所述加密的CAN帧以提供解密的输出。
13.根据权利要求12所述的装置,进一步包括被配置为向所述解密功能提供计数值的计数器,所述解密输出取决于所述计数值。
14.根据权利要求13所述的装置,其中所述计数器的计数值被配置为与所述另一设备的计数器值同步。
15.根据权利要求12所述的装置,其中所述解密电路装置进一步被配置为执行解码功能以对所述解密的输出的至少一部分进行解扰。
16.根据权利要求15所述的装置,其中要被解扰的所述解密的输出的所述至少一部分包括加扰的CAN身份数据和加扰的CAN有效载荷数据。
17.根据权利要求15所述的装置,进一步包括被配置为向所述解密功能提供计数值的计数器,所述解密输出取决于所述计数值,其中所述解码功能被配置为从所述计数器接收计数值以控制所述解扰。
18.根据权利要求17所述的装置,其中所述解码功能被配置为关于标志确定所述计数值的位的值,并且取决于确定的所述值来选择CAN身份数据的下一未被选择的位或CAN有效载荷数据的下一未被选择的位。
19.根据权利要求17所述的装置,其中所述解码功能被配置为针对特定帧使用所述计数器的当前计数值,并且针对所述特定帧的所述解密输出取决于所述计数器的先前计数值。
20.根据权利要求15所述的装置,其中所述加密的CAN帧包括限定可信标志的信息,所述解码功能被配置为通过确定所述可信标志是否被设置来确定所述数据是否要被解密。
21.根据权利要求12所述的装置,其中所述密钥响应于以下中的一项而被改变:复位帧、同步帧、n个帧的传输或预定时间段的期满,其中n是大于或等于1的整数。
22.根据权利要求12所述的装置,其中在所述加密的CAN帧的CAN标识符中设置有优先级位。
23.一种用于在根据控制器局域网(CAN)协议操作的系统中使用的方法,所述系统包括耦合到CAN总线的多个设备,所述方法包括:
由所述多个设备中的第一设备提供加密输出,所述加密输出取决于密钥,所述密钥在所述系统中的所述多个设备之间共享,其中所述密钥随着时间而改变;
由所述第一设备生成加密的CAN帧,所述加密的CAN帧取决于所述加密输出和要输出到所述CAN总线上的数据;以及
将所述加密的CAN帧输出到所述CAN总线上。
24.一种用于在根据控制器局域网(CAN)协议操作的系统中使用的方法,所述系统包括耦合到CAN总线的多个设备,所述方法包括:
由所述多个设备中的第二设备经由所述CAN总线接收从第一设备输出的加密的CAN帧;
由所述第二设备提供解密输出,所述解密输出取决于密钥,所述密钥由所述多个设备共享,其中所述密钥随着时间而改变;以及
由所述第二设备使用所述解密输出来解密所述加密的CAN帧以提供解密的输出。
CN201810195264.5A 2017-04-05 2018-03-09 用于在can系统中使用的装置 Active CN108696411B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GR20170100160 2017-04-05
GR20170100160 2017-04-05

Publications (2)

Publication Number Publication Date
CN108696411A true CN108696411A (zh) 2018-10-23
CN108696411B CN108696411B (zh) 2021-07-16

Family

ID=59270875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810195264.5A Active CN108696411B (zh) 2017-04-05 2018-03-09 用于在can系统中使用的装置

Country Status (4)

Country Link
US (2) US10862874B2 (zh)
EP (1) EP3386163B1 (zh)
CN (1) CN108696411B (zh)
GB (1) GB2561256A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113632419A (zh) * 2019-04-01 2021-11-09 大陆泰密克微电子有限责任公司 用于对要在总线系统(bu)、特别是机动车辆的总线系统中传输的至少一个数据分组进行生成和认证检查的装置和方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3491774B1 (en) * 2016-09-23 2024-02-21 Apple Inc. Secure communication of network traffic
GB201705621D0 (en) * 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
US10939872B2 (en) * 2017-06-01 2021-03-09 Stryker Corporation Patient care devices with network variables
US11178158B2 (en) * 2018-01-29 2021-11-16 Nagravision S.A. Secure communication between in-vehicle electronic control units
US11539782B2 (en) * 2018-10-02 2022-12-27 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
DE102018218387A1 (de) 2018-10-26 2020-04-30 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Übertragung von Daten mit Manipulationsschutz in einem seriellen Bussystem
FR3093363B1 (fr) * 2019-02-28 2021-12-03 Psa Automobiles Sa Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule
CN109981431B (zh) * 2019-03-15 2021-09-14 西安微电子技术研究所 一种can总线控制器数据存储电路及数据存储方法
GB2583476B (en) * 2019-04-29 2021-05-26 Canis Automotive Labs Ltd CAN security invention
CN110086618B (zh) * 2019-06-12 2021-02-09 南京格兰斯贝网络科技有限公司 灯控系统通信协议加密方法
US11016926B1 (en) 2019-11-07 2021-05-25 Renesas Electronics America Inc. Enhanced secure onboard communication for can
US11463262B2 (en) * 2019-12-19 2022-10-04 Intel Corporation Voltage encoded MAC and bus scrambling
CN113132092B (zh) * 2019-12-31 2022-04-22 华为技术有限公司 通信方法和电子设备
KR20220001350A (ko) * 2020-06-29 2022-01-05 주식회사 엘지에너지솔루션 네트워크 라우팅 장치 및 방법
CN112118125B (zh) * 2020-08-05 2023-04-07 东风电驱动系统有限公司 一种can报文高负荷率接收方法及系统
US20220114063A1 (en) * 2020-10-13 2022-04-14 Qualcomm Incorporated Techniques for fault detection in wireless communications systems
CN115296861B (zh) * 2022-07-15 2023-06-06 智己汽车科技有限公司 车载can总线的网络安全通讯方法及控制装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6191701B1 (en) * 1995-08-25 2001-02-20 Microchip Technology Incorporated Secure self learning system
US6307940B1 (en) * 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
JP2004023156A (ja) * 2002-06-12 2004-01-22 Denso Corp 暗号化通信方式、および通信装置
US20130219170A1 (en) * 2012-02-20 2013-08-22 Denso Corporation Data communication authentication system for vehicle gateway apparatus for vehicle data communication system for vehicle and data communication apparatus for vehicle
CN104025506A (zh) * 2011-10-31 2014-09-03 丰田自动车株式会社 通信系统中的消息认证方法及通信系统
CN105794146A (zh) * 2014-11-13 2016-07-20 松下电器(美国)知识产权公司 密钥管理方法、车载网络系统以及密钥管理装置
US20160219051A1 (en) * 2015-01-27 2016-07-28 Renesas Electronics Corporation Relay apparatus, terminal apparatus, and communication method
CN105933277A (zh) * 2015-02-26 2016-09-07 瑞萨电子株式会社 通信系统和通信设备
CN106453326A (zh) * 2016-10-19 2017-02-22 中国第汽车股份有限公司 一种can总线的认证与访问控制方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895643B2 (en) * 2002-03-16 2011-02-22 Trustedflow Systems, Inc. Secure logic interlocking
JP4519495B2 (ja) * 2004-03-26 2010-08-04 ルネサスエレクトロニクス株式会社 通信装置及び通信システム
US7818563B1 (en) * 2004-06-04 2010-10-19 Advanced Micro Devices, Inc. Method to maximize hardware utilization in flow-thru IPsec processing
US7526085B1 (en) * 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US9123058B2 (en) 2011-11-16 2015-09-01 Flextronics Ap, Llc Parking space finder based on parking meter data
JP5651615B2 (ja) * 2012-02-16 2015-01-14 日立オートモティブシステムズ株式会社 車載ネットワークシステム
EP2832070B1 (en) * 2012-03-29 2020-05-20 Arilou Information Security Technologies Ltd. Device for protecting a vehicle electronic system
EP3412514B1 (en) * 2014-11-12 2019-12-04 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
US10095634B2 (en) 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
DE102015211451A1 (de) 2015-06-22 2017-01-05 Volkswagen Aktiengesellschaft Verfahren zu einem Manipulationsschutz von über ein Bussystem zwischen Systemkomponenten zu übertragenden Nutzdatenpaketen
KR101704569B1 (ko) * 2015-09-09 2017-02-08 현대자동차주식회사 시동 기반 동적 차량 보안 통신 제어 방법 및 그를 위한 장치 및 시스템

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6191701B1 (en) * 1995-08-25 2001-02-20 Microchip Technology Incorporated Secure self learning system
US6307940B1 (en) * 1997-06-25 2001-10-23 Canon Kabushiki Kaisha Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof
JP2004023156A (ja) * 2002-06-12 2004-01-22 Denso Corp 暗号化通信方式、および通信装置
CN104025506A (zh) * 2011-10-31 2014-09-03 丰田自动车株式会社 通信系统中的消息认证方法及通信系统
US20130219170A1 (en) * 2012-02-20 2013-08-22 Denso Corporation Data communication authentication system for vehicle gateway apparatus for vehicle data communication system for vehicle and data communication apparatus for vehicle
CN105794146A (zh) * 2014-11-13 2016-07-20 松下电器(美国)知识产权公司 密钥管理方法、车载网络系统以及密钥管理装置
US20160315766A1 (en) * 2014-11-13 2016-10-27 Panasonic Intellectual Property Corporation Of America Key management method used in encryption processing for safely transmitting and receiving messages
US20160219051A1 (en) * 2015-01-27 2016-07-28 Renesas Electronics Corporation Relay apparatus, terminal apparatus, and communication method
CN105933277A (zh) * 2015-02-26 2016-09-07 瑞萨电子株式会社 通信系统和通信设备
CN106453326A (zh) * 2016-10-19 2017-02-22 中国第汽车股份有限公司 一种can总线的认证与访问控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BINXIANG QI等: ""A compact PCI-based measurement and control system for satellite-ground quantum communication"", 《2014 19TH IEEE-NPSS REAL TIME CONFERENCE》 *
张辉: ""基于CAN的车身控制器诊断功能研究与应用"", 《中国优秀硕士学位论文全文数据库——工程科技Ⅱ辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113632419A (zh) * 2019-04-01 2021-11-09 大陆泰密克微电子有限责任公司 用于对要在总线系统(bu)、特别是机动车辆的总线系统中传输的至少一个数据分组进行生成和认证检查的装置和方法

Also Published As

Publication number Publication date
US20180295112A1 (en) 2018-10-11
US20210119981A1 (en) 2021-04-22
CN108696411B (zh) 2021-07-16
GB201708464D0 (en) 2017-07-12
EP3386163B1 (en) 2023-05-31
GB2561256A (en) 2018-10-10
EP3386163A1 (en) 2018-10-10
US10862874B2 (en) 2020-12-08
US11606341B2 (en) 2023-03-14

Similar Documents

Publication Publication Date Title
CN108696411A (zh) 用于在can系统中使用的装置
CN110073634B (zh) 数据转换系统及方法
US10027476B2 (en) Method for generating a secret or a key in a network
KR101972724B1 (ko) 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체
US10862670B2 (en) Automotive nonce-misuse-resistant authenticated encryption
US9917692B2 (en) Key exchange system, key exchange method, key exchange device, control method thereof, and recording medium for storing control program
CN108494740A (zh) 令牌生成和校验方法、智能终端及服务器
US11212671B2 (en) Method and system for securing communication links using enhanced authentication
JP5766780B2 (ja) デバイス間暗号通信方法及びこれを用いたデータ通信方法
US10699031B2 (en) Secure transactions in a memory fabric
CN109033895B (zh) 一种基于改进的dapuf电路的轻量级认证体系
KR20080067680A (ko) 보안 통신을 위한 방법 및 시스템
US9544376B1 (en) Method and apparatus for securely discovering services in a wireless network
CN106161472A (zh) 一种数据加密的方法、装置及系统
CN112104460A (zh) 一种非对称动态令牌加、解密算法的方法
CN109429203A (zh) 数据传输方法、终端、存储介质和处理器
CN109218013A (zh) 掩盖明文符号边界的二进制数据通信加密法
WO2018186543A1 (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
US10560437B2 (en) Security in mixed networks
CN113141333A (zh) 入网设备的通信方法、设备、服务器、系统及存储介质
US10841085B2 (en) Method for generating a secret or a key in a network
CN113300847A (zh) 无需预知凭证的认证
WO2017183799A1 (ko) 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
CN115277064B (zh) 数据加密、数据解密方法、装置、电子设备和介质
JP2017050795A (ja) 自動車用電子制御装置間のデータ転送方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant