收发器系统的制作方法

文档序号:17118842发布日期:2019-03-15 23:36阅读:184来源:国知局
收发器系统的制作方法

本公开涉及一种收发器系统,并且具体但不排他地说,涉及一种用于控制对车辆的进入的收发器系统。



背景技术:

车辆进入系统包括被动无钥匙进入系统、被动无钥匙启动系统、车队或租用车辆进入控制系统以及控制对车辆特定功能的进入的系统。

通常对用于车辆的进入控制系统的能量消耗要求是严格的。举例来说,需要减少遥控钥匙(keyfob)/车辆的电池消耗,以便提高电池更换/充电之间(车辆使用)的电池寿命。这类能量使用通常要求转化成对车辆进入系统的计算能力的约束。

车辆进入系统中的当前技术验证程序是不定时的且不优化能量。这类系统中当前应用的验证程序的安全性可能未经优化提供足够的安全性和最小的帧长度。



技术实现要素:

根据本公开的第一方面,提供了一种用于与第二收发器通信的第一收发器。第一收发器包括:

密码模块,配置成使用密钥和输入值以生成密码;

加密模块,配置成使用密码由净荷数据生成加密净荷数据;

散列模块,配置成使用密码对净荷数据进行散列以生成散列净荷数据;以及

传输器,配置成将加密净荷数据和散列净荷数据传输到第二收发器。

第一收发器和第二收发器可以是车辆进入系统收发器。车辆进入系统可以是被动无钥匙进入系统、被动无钥匙启动系统、车队或租用车辆进入控制系统,或控制对车辆特定功能的进入的系统。

收发器可在除车辆进入系统以外的系统中具有应用,所述车辆进入系统中存在严格的能量消耗约束或处理能力约束。举例来说,收发器还可用以实施rfid系统或晶片卡系统。

在一个或多个实施例中,第一收发器包括被配置成接收所接收的散列响应和所接收的加密响应的接收器。第一收发器可以包括被配置成使用密码对所接收的加密响应进行解密以提供解密的接收响应的解密模块。散列模块可另外被配置成对解密的接收响应进行散列以生成散列解密响应。第一收发器可以包括被配置成根据散列解密响应与所接收散列响应的比较以设置验证状态的验证器。

在一个或多个实施例中,加密模块被配置成使用密码的第一段以生成加密净荷数据。散列模块可被配置成使用密码的不同的第二段以生成散列净荷数据。

根据另外的方面,提供了一种用于与第一收发器通信的第二收发器。第二收发器包括:

密码模块,配置成使用密钥和输入值以提供密码;

加密模块,配置成使用密码由响应签名生成加密响应;

散列模块,配置成使用密码对响应签名进行散列以生成散列响应;以及

传输器,配置成将加密响应和散列响应传输到第一收发器。

在一个或多个实施例中,第二收发器包括被配置成接收所接收的散列净荷数据和所接收的加密净荷数据的接收器。第二收发器可包括被配置成使用密码对所接收的加密净荷数据进行解密以提供解密的接收净荷数据的解密模块。散列模块可另外被配置成对解密的接收净荷数据进行散列以生成散列解密净荷数据。第二收发器可包括被配置成根据散列解密净荷数据与接收散列净荷数据的比较以启用加密模块、散列模块以及传输器中的一个或多个的验证器。

在一个或多个实施例中,第二收发器包括耦合到天线以便接收能量并且被配置成在使用期间为收发器供电的能量存储单元。

在一个或多个实施例中,加密模块被配置成使用密码的第一段以生成加密响应。散列模块可以被配置成使用密码的不同的第二段以生成散列响应。

在一个或多个实施例中,密码模块被配置成以输出反馈(ofb)模式操作。

在一个或多个实施例中,密码模块是aes加密模块,例如aes-128加密模块。密码可以是随机数或伪随机数。密码可以是密码模块的输出向量。

加密模块可以对净荷数据的每一个位和输出码的每一个对应位执行xor操作。

在一个或多个实施例中,散列模块被配置成应用基于移位寄存器的散列,例如基于ht3的散列。

在一个或多个实施例中,使用多用途处理器的运行时间实施散列模块。

收发器可以是计算受限装置或能量使用受限装置。

根据另外的方面,提供了一种包括第一收发器的车辆。车辆可以根据验证状态来控制对车辆的一个或多个系统的进入。

根据另外的方面,提供了一种车辆进入系统,包括:

第一收发器;以及

第二收发器,

其中第一收发器的密码模块被配置成例如在对称加密方案中使用与第二收发器的密码模块相同的密钥。

在一个或多个实施例中,收发器被配置成迭代地传输加密净荷数据和加密响应。每一个迭代都可以使用新密码。

收发器可以被配置成进行四通道验证程序。四个通道可包括挑战通道、返回通道、消息验证码通道以及响应通道。

根据另外的方面,提供了一种方法,包括:

使用密钥和输入值生成密码;

在第一收发器处使用密码自净荷数据生成加密净荷数据;

在第一收发器处使用密码对净荷数据进行散列以生成散列净荷数据;

在第一收发器处传输加密净荷数据和散列净荷数据;

在第二收发器处接收所接收的加密净荷数据和所接收的散列净荷数据;

在第二收发器处使用密码对所接收的加密净荷数据进行解密以提供解密的接收净荷数据;

在第二收发器处对解密的接收净荷数据进行散列以生成散列解密净荷数据;

根据散列解密净荷数据与所接收散列净荷数据的比较:

在第二收发器处使用密码由响应签名生成加密响应;

在第二收发器处使用密码对响应签名进行散列以生成散列响应;

将加密净荷数据和散列净荷数据传输到第一收发器;

在第一收发器处接收所接收的加密响应和所接收的散列响应;

在第一收发器处使用密码对所接收的加密响应进行解密以提供解密的接收响应;

在第一收发器处对解密的接收响应进行散列以生成散列解密响应;以及

根据散列解密响应与所接收的散列响应的比较以在第一收发器处设置验证状态。所述方法可以是用于操作车辆进入系统的方法。

所述方法可提供在例如四通道验证的成功验证之后执行的加密数据交换。虽然本公开容许各种修改和替代形式,但是已经借助于例子在图式中示出其特殊性且将进行详细描述。然而,应理解,超出所描述的特定实施例的其它实施例也是可能的。也涵盖落在所附权利要求书的精神和范围内的所有修改、等效物和替换性实施例。

以上论述并不意图表示当前或未来权利要求集的范围内的每个示例实施例或每个实现方案。附图和之后的具体实施方式还举例说明了各种例子实施例。结合图式考虑以下具体实施方式可以更全面地理解各种例子实施例。

附图说明

现将仅借助于例子参考附图描述一个或多个实施例,其中:

图1示出用于第一收发器与第二收发器之间的四通道验证程序的例子的流程图。

图2示出用于加密数据交换的例子的流程图,其中加密数据在第一收发器与第二收发器之间转移。

图3示出用于验证程序的一部分的例子的流程图,其中加密数据和散列数据在第一收发器与第二收发器之间转移。

图4示出用于具有第一收发器和第二收发器的系统的例子的示意性框图;以及

图5示出在第一收发器与第二收发器之间转移加密数据和散列数据的方法的另一个例子的流程图。

具体实施方式

具体地说,由于散列种子生成将对系统的能力和能量消耗提出高要求,所以用于汽车应用程序的当前技术加密数据通信并不是散列保护的。因此,不能保证数据完整性。以下关于图1和图2描述在没有数据完整性校验的情况下用于汽车进入系统的加密数据转移的程序。

图1示出用于验证第一收发器102与第二收发器104之间的通信的四通道验证程序100的例子的流程图。在这个例子中,第一收发器102通过基站提供于车辆中,且第二收发器104提供于车辆的应答器密钥中。在验证程序100期间,各种消息在第一收发器102与第二收发器104之间传送。在图1中通过第一收发器102与第二收发器104之间的箭头来指示消息的传输。图1还通常被布置以使得沿垂直时间轴按时间顺序示出消息传输的次序。

作为四通道验证程序100的前奏,第一收发器102和第二收发器104在身份校验106期间交叉校验装置标识符。在身份校验106的这个例子中,第二收发器104从存储器110中检索装置标识符(例如序列号)ide108并将所述装置标识符ide108传输112到第一收发器102。装置标识符ide108可以是例如8位标识符、16位标识符、32位标识符、64位标识符或128位标识符。在这个例子中,存储器110通过超低功耗电可擦除可编程只读存储器(ulp一eeprom)来提供。

传输112的结果是,在第一收发器102处获取所接收装置标识符ide114。第一收发器102随后将响应标识符(ide或@ids)118传输116到第二收发器104。响应标识符118可以是所接收ide114或任选地可以是标识符地址(@ids)120。标识符地址120可以通过例如指向在第二收发器104处的存储器110中的地址中的标识符的5位指针来提供。传输116的结果是,在第二收发器104处获取所接收响应标识符122。第一收发器102与第二收发器104同步,以使其都在装置标识符(ide)108、装置标识符(ide)114或标识符地址(@ids)120上操作。在第二收发器104处,将从所接收响应标识符122选择的装置标识符(ide或使用@ids检索的标识符)与从第二收发器104的存储器110获取的对应装置标识符(ide或使用@ids检索的标识符)进行比较。如果所接收响应标识符122与从存储器110获取的值不匹配,那么程序停止(stop),否则程序从四通道验证开始。

在第一挑战通道中,基于第一随机数(rn)128的挑战(chlg)126的第一传输124从第一收发器102发送到第二收发器104。随后在第二收发器104处获取所接收挑战(chlg)130。第一随机数(rn)128可以是伪随机数并且可以是例如8位值、16位值、32位值、64位值或128位值。

在第二返回通道中,第二随机数(trn)132在第二传输134中从第二收发器104传输到第一收发器102。随后在第一收发器102处获取所接收第二随机数136。第二随机数(trn)132可以是伪随机数并且可以是例如8位值、16位值、32位值、64位值或128位值。第一随机数(rn)128(用于挑战)和第二随机数(trn)132可以是由非相关随机数生成器生成的独立值。

通过例如在第一收发器102处级联来组合137第一随机数128、第二随机数136以及所选择标识符(ide或使用@ids检索的标识符)。将组合值138提供给第一收发器102的密码140。密码140使用从存储器142获取的会话密钥(tsk/fsk)对组合值138进行加密。相应地,在第二收发器104处,通过例如级联将所接收挑战(chlg)130(其涉及随机数128)与第二随机数132和从存储器110获取的所选择标识符(ide或使用@ids检索的标识符)进行组合143,以便在第二收发器104处提供组合值144。使用从存储器148检索的会话密钥(tsk/fsk),在第二收发器104处通过密码146对组合值144进行加密。由第一收发器102和第二收发器104使用的会话密钥(tsk/fsk)是共享会话密钥,以便提供对称加密/解密方案。在这个例子中,会话密钥(tsk/fsk)由128位aes密钥提供,且密码140、密码146应用由针对fips-197中的高级加密标准(aes)的nist联邦信息处理标准(nistfederalinformationprocessingstandard;fips)定义的密码。

在第三消息验证通道中,使用来自第一收发器102的密码140的输出向量的第一部分来提供消息验证码(mac)150。消息验证码(mac)150可以是例如8位值、16位值、32位值、64位值或128位值。消息验证码(mac)150作为第三传输152从第一收发器102传输到第二收发器104。因此在第二收发器104处获取所接收消息验证码(mac)154。在第二收发器104处,将密码146的输出向量的对应第一部分与所接收消息验证码(mac)154进行比较155。如果输出向量的第一部分与所接收消息验证码(mac)154不匹配,则停止程序。如果输出向量的第一部分与所接收消息验证码(mac)154匹配,则启动程序中的第四通道。

在第四响应通道中,使用输出向量的第二部分(不同于输出向量的第一部分,例如与最高有效位相反的最低有效位)来提供响应(res)156。响应(res)156可以是例如8位值、16位值、32位值、64位值或128位值。响应(res)156作为第四传输158从第二收发器104传输到第一收发器102。因此在第一收发器102处接收所接收响应(res)160。在第一收发器102处,将所接收响应(res)160与密码140的输出向量的第二部分(其对应于通过第二收发器104的密码146生成的输出向量的第二部分)进行比较162(如参考图2在下文另外论述)。如果输出向量的第二部分与所接收响应(res)160匹配,则验证程序输出是已成功验证交互;否则输出是验证失败。可反复或迭代地执行程序。

在车辆系统的情形下,输出可用以授权对车辆功能的进入,例如解锁车门、启动引擎或使能车载系统的操作。

图2示出可在如图1所示出的成功验证之后执行的加密数据交换的示意性框图。如在图1中,通信系统包含第一应答器202和第二应答器204。

第一收发器202具有密码240,所述密码240被配置成以输出反馈(ofb)模式使用来自存储器的密钥242对输入值进行加密。也就是说,在第一迭代中,通过使用密钥242的密码240来对初始化向量进行加密以提供输出向量(ovn)263,且在后续迭代中,通过使用密钥242的密码240来对来自之前迭代的输出向量(ovn)263进行加密以提供输出向量(ovn+1)。对应密码246和密钥248由第二收发器204提供以使第一收发器202和第二收发器204可执行对称加密和对称解密。第一收发器202和第二收发器204的密钥242、密钥248可以是对应(匹配)aes-128会话密钥。

在消息验证通道中,将密码240的输出向量ovn+1264的至少一部分与净荷数据266进行组合265,以提供加密净荷数据(cmd/dataenc)268。组合265可以使用逐位xor函数来达成。加密净荷数据268由第一收发器202传输270到第二收发器204。在第二收发器204处,将所接收加密净荷数据274与密码246的对应输出向量ovn+1276的至少一部分进行组合275,以提供解密的所接收净荷数据(cmd)278。这个组合265也可以使用逐位xor函数来达成。

可在第二收发器204处将解密的所接收净荷数据(cmd)278与所期待数据进行比较,以便验证第一收发器202的身份。如果第一收发器202的身份经验证,那么第二收发器204可以在响应通道中提供响应。

在响应通道中,将输出向量ovn+1276的至少一部分与响应签名280进行组合281以提供加密响应282。加密响应以加密响应传输284从第二收发器204传输到第一收发器202。在第一收发器202处获取所接收加密响应286,且将所接收加密响应286与密码246的输出向量ovn+1264进行组合287,以提供解密的所接收响应288。

可在第一收发器202处将解密的所接收响应288与所期待数据进行比较,以便验证第二收发器204的身份。以这种方式,通过第一收发器和第二收发器来提供相互的验证。然而,在这个例子中,并不确保数据完整性。中间人攻击者可翻转单个位并且可例如在应用写入命令的情况下改变密钥中的eeprom内容。

图3示出用于处理例如此前关于图2所描述的命令/响应交互的示意性框图,其中使用散列来确保消息验证/响应完整性。图3中的消息验证和响应步骤对应于先前参考图2所描述的步骤。在图2与图3之间使用对应的参考标号来指示类似项目。此外,参考图3所描述的工艺包含散列净荷数据传输390和散列响应传输392。

在第一收发器302处,来自密码340的输出向量ovn+1364的至少一部分被用作种子以对净荷数据cmd366进行散列393,以提供散列净荷数据394。以这种方式,输出矢量ovn+1364(的不同部分)提供双重功能:用于散列算法的会话密钥,和对净荷数据366进行加密的密码。

散列净荷数据394以散列净荷数据传输390形式从第一收发器302传输到第二收发器304。因此,所交换数据的散列值可计算并附加到每一个加密帧。在第二收发器304处获取所接收散列净荷数据395。又在第二收发器304处,使用解密的所接收净荷数据378对密码346的输出向量ovn+1376的至少一部分进行散列397,以提供散列解密净荷数据,将所述散列解密净荷数据与所接收散列净荷数据395进行比较396。如果所接收散列净荷数据395与散列解密净荷数据匹配,则确认所转移数据的完整性并执行响应通道,否则程序停止(stop)。

在响应通道期间,在第二收发器304处使用密码346的输出向量ovn+1376的至少一部分对响应签名380进行散列398,以提供散列响应399。散列响应399以散列响应传输392从第二收发器304传输到第一收发器302。在第一收发器302处获取所接收散列响应391。在第一收发器302处使用密码340的输出向量ovn+1364的至少一部分对解密的所接收响应388进行散列389,以提供散列解密响应。将散列解密响应与所接收散列响应391进行比较385。如果散列解密响应与所接收散列响应391匹配,则程序输出是响应被证实;否则程序停止(stop)。

使用输出向量作为散列种子的优势在于,在ofb模式下通过密码生成的输出向量对每一个迭代来说始终是新的。使用输出向量作为散列种子的另外的优势在于,其使得无需使用专用种子生成硬件。由于强力种子生成工艺通常在计算上相当昂贵,所以这个优势对处理功率或能量受到约束的汽车进入应用程序来说可以尤其有用。

可以使用同一散列函数来执行每一个散列操作389、散列操作393、散列操作397、散列操作398。散列函数可以是用于对净荷数据安全地进行散列的基于移位寄存器的加密函数。有利的是一些汽车防盗应用程序可以使用通用处理器而非专用处理单元来容易地执行散列函数,以使得可以将散列函数添加到现有设计中而无需改变硬件规格。举例来说,已发现实施例如ht3(且具体地说例如ht3-mix1)的散列函数的线性反馈移位寄存器以可在一些汽车应用程序中轻易实施的相当低的计算工作量来提供适宜水平的完整性检验。以这种方式,可针对对散列本身来说的极短计算时间和对散列位来说的低额外净荷对散列进行优化。同时,可减少或优化帧长度以为汽车系统提供实际安全性。举例来说,将进行超过1年的反复试验以从参考图3所描述的例子的已知净荷中产生有效散列。

散列操作389、散列操作393、散列操作397、散列操作398、命令加密/解密组合操作365、加密/解密组合操作375,以及响应加密/解密组合操作381、加密/解密组合操作387可各自在输出向量ovn+1364、输出向量ovn+1376的不同部分上执行,以便提高加密安全性。可因此认为每一个输出向量ovn+1364、输出向量ovn+1376都具有多个部分。举例来说,输出向量的最低有效位可用于散列操作389、散列操作393、散列操作397,且最高有效位可用于加密/解密组合操作365、加密/解密组合操作375、加密/解密组合操作381、加密/解密组合操作387。

图4示出包括第一收发器402和第二收发器404的系统400的示意性框图,系统400可用于实施上文关于图3或下文关于图5所描述的方法的特征。

第一收发器402包括可操作地耦合到接收器412和传输器414的处理器406。在这个例子中,处理器406包括密码模块408和散列模块410。处理器406可以是配置成提供密码、散列和验证功能的处理器。替代地,密码模块408和散列模块410中的任一个或两个可以通过处理器406内的专用处理单元来提供。

第二收发器404包括处理器416、接收器422和传输器424。第一收发器402的传输器414被配置成与第二收发器404的接收器422通信。第二收发器404的传输器424被配置成与第一收发器402的接收器412通信。

第二收发器404的处理器416对应于收发器402的处理器406,原因在于处理器416包括密码模块418和散列模块420。第一收发器402和第二收发器404的处理器406、处理器416可提供有内存或存储器,以便存储包括密钥的数据。

第一收发器402和/或第二收发器404可以通过充电一通话(charge-and-talk)装置来提供。即,通过例如感应从接收器或天线获得电力,并存储所述电力以便提供能量以使能与另一装置通信的装置。在示出的例子中,第二收发器404包括可以通过电容器来提供的能量存储单元426。能量存储单元426耦合到接收器422以便接收和传回能量,并且还耦合到其余组件(传输器424和处理器416)以便为第二收发器404供电。

由于充电-通话装置从装置周围环境中或从与所述装置交互的另一装置的传输中获得能量,所以充电-通话装置可被认为是寄生能量消耗装置的例子。充电-通话装置因其本质而在极严格的能量使用约束下操作。因此需要限制或减少这类装置内组件的功率消耗。通常,能量消耗约束也指示针对装置的计算功率约束。用于被动无钥匙进入或其他车辆进入的例如遥控钥匙应答器的附属物也是具有重能量效率约束的装置的例子,所述重能量效率约束降低支持附属物上的复杂计算功能的能力。

图5示出用于操作具有第一收发器和第二收发器的车辆进入系统的方法500的框图表示,所述系统例如先前参考图4所描述。方法500包括在第一收发器和第二收发器处使用密钥和输入值生成对应密码。

如图5中示出,在第一收发器处:

使用密码由净荷数据生成加密净荷数据504;

使用密码对净荷数据进行散列506以生成散列净荷数据;以及

将加密净荷数据和散列净荷数据传输508到第二接收器。

在第二收发器处:

接收510所接收加密净荷数据和所接收散列净荷数据;

使用密码对所接收加密净荷数据进行解密512以提供解密的所接收净荷数据;以及

对解密的所接收净荷数据进行散列514以生成散列解密净荷数据。

在第二收发器处,根据散列解密净荷数据与所接收散列净荷数据的比较:

使用密码由响应签名生成加密响应516;

使用密码对响应签名进行散列518以生成散列响应;以及

将加密净荷数据和散列净荷数据传输520到第一收发器。

在第一收发器处:

接收522所接收加密响应和所接收散列响应;

使用密码对所接收加密响应进行解密524以提供解密的所接收响应,

对解密的所接收响应进行散列526以生成散列解密响应;以及

根据散列解密响应与所接收散列响应的比较通过例如验证器来设置528验证状态。

除非明确陈述特定顺序,否则可以任何顺序执行以上附图中的指令和/或流程图步骤。而且,本领域的技术人员将认识到,虽然已经论述一个示例指令集/方法,但是在本说明书中的材料可以多种方式组合从而还产生其它例子,并且应在此详细描述提供的上下文内来进行理解。

在一些例子实施例中,上文描述的指令集/方法步骤实施为体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或以所述可执行指令编程和控制的机器上实现。此类指令经过加载以在处理器(例如,一个或多个cpu)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可指代单个组件或多个组件。

在其它例子中,本文示出的指令集/方法以及与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储媒体。此类计算机可读或计算机可用存储媒体被视为物品(或制品)的部分。物品或制品可以指代任何所制造的单个组件或多个组件。如本文所定义的非暂时性机器或计算机可用媒体不包括信号,但此类媒体可能能够接收并处理来自信号和/或其它瞬态媒体的信息。

本说明书中论述的材料的例子实施例可整体或部分地经由网络、计算机或基于数据的装置和/或服务实施。这些可以包括云、因特网、内联网、移动装置、台式电脑、处理器、查找表、微控制器、消费者设备、基础架构,或其它使能装置和服务。如本文和权利要求书中可使用,提供以下非排他性定义。

在一个例子中,使本文论述的一个或多个指令或步骤自动化。术语自动化或自动地(和其类似变型)意指使用计算机和/或机械/电气装置控制设备、系统和/或过程的操作,而不需要人类干预、观测、努力和/或决策。

应了解,据称将耦合的任何组件可直接或间接地耦合或连接。在间接耦合的情况下,可在据称将耦合的两个组件之间安置额外的组件。

在本说明书中,已经依据选定的细节集合而呈现例子实施例。然而,本领域的普通技术人员将理解,可以实践包括这些细节的不同选定集合的许多其它例子实施例。希望所附权利要求书涵盖所有可能的例子实施例。

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