一种基于双向密钥链的车载以太网消息认证方法转让专利

申请号 : CN202210807571.0

文献号 : CN115022081B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张自展秦贵和杨立峰王文轩冯瑶王坤鹏王国锋刘婉宁

申请人 : 吉林大学

摘要 :

本发明涉及一种基于双向密钥链的车载以太网消息认证方法,属于汽车通信技术领域。网关ECU构建双向密钥链,并可信地发送验证所需的信息至接收方ECU;网关ECU广播消息和携带密钥信息的多项式;接收方ECU根据接收到的携带密钥信息的多项式计算得到组密钥,并使用得到的组密钥验证接收到的消息。优点是:本发明采用双向密钥链的消息认证方式,网关ECU在与每个接收方ECU通信前会预设定一个生命期,每个接收方ECU只能得到自己生命期内所需的密钥,而无法得到完整的密钥链信息,从而保证了密钥的前向安全和后向安全;同时,当生命期内接收方ECU的某一密钥丢失时,接收方ECU可以通过自身所掌握的信息进行恢复,实现了密钥的自愈。

权利要求 :

1.一种基于双向密钥链的车载以太网消息认证方法,其特征在于,包括下列步骤:第一阶段:网关ECU构建双向密钥链,并可信地发送验证所需的信息至接收方ECUi;

第二阶段:网关ECU广播消息和携带密钥信息的多项式;

使用双向密钥链提供认证的车载以太网存在两种信号,包括:携带密钥信息的多项式信号和车载控制应用信号;

(1)当网关ECU发送携带密钥信息的多项式信号Wi,j(x)时,包括下列步骤:步骤1),网关ECU选择当前会话j的组密钥Kj;

步骤2),网关ECU根据下列公式计算Wi,j(x):

Wi,j(x)=Ai,j(x)*BKj+hj(x)

其中,j为当前会话,n为会话数的值,BKj为会话j的后向密钥, 为后向密钥种子,H2为密钥生成函数,Zj为网关ECU在会话j随机生成的混淆数,U为接收方ECU集合,IDi为与ECUi对应的秘密标识身份,Ai,j(x)为在会话j并与IDi相关的访问多项式;hj(x)为会话j的密钥生成函数;

步骤3),网关ECU广播多项式Wi,j(x);

(2)当网关ECU发送包含车载控制应用信号的消息M时,包括下列步骤:步骤1),网关ECU选择当前会话j的组密钥Kj,通过哈希函数H3生成消息认证码MACj=H3(Kj);

步骤2),网关ECU根据ISO 26262标准对消息认证码进行截短,截短后的消息认证码表示为MAC'j;

步骤3),网关ECU将截短后的消息认证码MAC′j附加到待发送的消息m上,构造成消息M={m|MAC'j},其中“|”表示连接符;

步骤4),网关ECU广播消息M;

第三阶段:接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥,并使用得到的组密钥验证接收到的消息。

2.根据权利要求1所述的一种基于双向密钥链的车载以太网消息认证方法,其特征在于:所述第一阶段中网关ECU构建双向密钥链包括下列步骤:步骤1),网关ECU随机生成两个密钥种子,一个前向密钥种子 一个后向密钥种子步骤2),网关ECU选择前向密钥种子 和密钥生成函数H1,通过进行n次迭代运算得到前向密钥链步骤3),网关ECU选择后向密钥种子 和密钥生成函数H2,通过进行n次迭代运算得到后向密钥链步骤4),网关ECU通过下列公式计算得到组密钥:

其中j为当前会话,n为会话数的值,Kj为会话j的组密钥,FKj为会话j的前向密钥,BKj为会话j的后向密钥。

3.根据权利要求2所述的一种基于双向密钥链的车载以太网消息认证方法,其特征在于:所述第一阶段中网关ECU可信地发送验证所需的信息至接收方ECUi包括下列步骤:步骤1),网关ECU选择n个独立不相关的哈希函数组成一个密钥生成函数集合h={h1(x),h2(x),...,hn(x)};

步骤2),网关ECU选择接收方ECUi,根据当前会话和预估的会话数给ECUi设置了一个生命期[s,t],然后生成一个与ECUi对应的秘密标识身份IDi,并根据生命期从h中选择密钥生成函数生成相应的密钥集合Si={hs(IDi),hs+1(IDi),...,ht(IDi)},然后计算会话s的前向密钥步骤3),网关ECU通过安全信道向接收方ECUi发送IDi,Si,SFKi。

4.根据权利要求3所述的一种基于双向密钥链的车载以太网消息认证方法,其特征在于:所述第三阶段中接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥包括下列步骤:步骤1),接收方ECUi接收到会话j的多项式Wi,j(x),利用自身秘密标识身份IDi和hj(IDi)计算BK'j=Ai,j(IDi)*BKj=Wi,j(IDi)‑hj(IDi),当且仅当代入的为指定接收方ECUi的IDi时,Ai,j(IDi)才为1,BK'j才等同于BKj;

步骤2),接收方ECUi计算会话j的前向密钥

步骤3),接收方ECUi计算会话j的组密钥K'j=FK'j+BK'j。

5.根据权利要求4所述的一种基于双向密钥链的车载以太网消息认证方法,其特征在于所述第三阶段中接收方ECUi使用得到的组密钥验证接收到的消息包括下列步骤:步骤1),考虑到消息M先于Wi,j(x)到达接收方ECUi而无法得到及时地验证,当接收方ECUi在接收到消息M后,先将其放入缓存中,等待接收到Wi,j(x)以计算得到组密钥后再进行验证;

步骤2),接收方ECUi得到会话j的组密钥K'j后,通过使用与网关ECU相同的哈希函数H3计算消息认证码macj,并采用与网关ECU相同的方式对消息认证码进行截短得到mac'j,然后与之前存储的MAC′j进行比较,如果相同,则接收该消息,否则丢弃该消息;

步骤3),假设消息M在会话j2到达接收方ECUi,且s

步骤3.2),接收方ECUi利用自身所保存的SFKi计算FK'j=H1(SFKi) ;

步骤3.3),接收方ECUi计算得到K'j=FK'j+BK'j;

步骤3.4),返回步骤2)。

说明书 :

一种基于双向密钥链的车载以太网消息认证方法

技术领域

[0001] 本发明涉及汽车通信技术领域,具体涉及一种基于双向密钥链的车载以太网消息认证方法。

背景技术

[0002] 随着科技的进步和人们需求的日益增加,汽车不再仅仅局限于作为人们的代步工具,而是变得越发的智能,例如智能驾驶、软件更新、人机交互等。而这些智能化的功能对车载网络的带宽、吞吐量等提出了更高的要求,所以车载以太网也将逐渐取代CAN、FlexRay等传统总线成为未来智能化汽车的主干网络。传统的汽车与外界是物理隔离的,所以车载网络在最初设计时并没有考虑诸多的安全问题,而现在越来越多的汽车都实现了网联化,车载以太网很难避免遭受攻击。在这种趋势下,如何提高车载以太网的可靠性和安全性已经成了关键所在。
[0003] 而为车载以太网设计消息认证机制以保证在网络上传输的数据的完整性和真实性不失为一种可行方案。广播认证是一项重要安全服务,它能够使众多接收节点对发送节点的身份进行认证。目前主要存在两种广播认证方式,一种是公钥签名方式,一种是基于消息验证码的方式。前者是一种非常可靠的认证方法,它能够提供非常强的源认证,但是它只能签署较短的消息,并且处理开销非常高。相比之下,后者可以应用于更多的场景。目前TESLA广播认证协议采用的是单向密钥链的方式,既能保证安全性,又能保证比较理想的计算开销和通信开销。但是单向密钥链难以保证前向安全,而且一旦接收节点丢失了自己的密钥后,不容易实现密钥的自愈。

发明内容

[0004] 本发明提供一种基于双向密钥链的车载以太网消息认证方法,以解决目前车载网络中消息认证机制的缺点与不足。
[0005] 本发明采取的技术方案是,包括下列步骤:
[0006] 第一阶段:网关ECU构建双向密钥链,并可信地发送验证所需的信息至接收方ECUi;
[0007] 第二阶段:网关ECU广播消息和携带密钥信息的多项式;
[0008] 第三阶段:接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥,并使用得到的组密钥验证接收到的消息。
[0009] 本发明所述第一阶段中网关ECU构建双向密钥链包括下列步骤:
[0010] 步骤1),网关ECU随机生成两个密钥种子,一个前向密钥种子 一个后向密钥种子
[0011] 步骤2),网关ECU选择前向密钥种子 和密钥生成函数H1,通过进行n次迭代运算得到前向密钥链
[0012] 步骤3),网关ECU选择后向密钥种子 和密钥生成函数H2,通过进行n次迭代运算得到后向密钥链
[0013] 步骤4),网关ECU通过下列公式计算得到组密钥:
[0014]
[0015] 其中j为当前会话,n为会话数的值,Kj为会话j的组密钥,FKj为会话j的前向密钥,BKj为会话j的后向密钥。
[0016] 本发明所述第一阶段中网关ECU可信地发送验证所需的信息至接收方ECUi包括下列步骤:
[0017] 步骤1),网关ECU选择n个独立不相关的哈希函数组成一个密钥生成函数集合h={h1(x),h2(x),...,hn(x)};
[0018] 步骤2),网关ECU选择接收方ECUi,根据当前会话和预估的会话数给ECUi设置了一个生命期[s,t],然后生成一个与ECUi对应的秘密标识身份IDi,并根据生命期从h中选择密钥生成函数生成相应的密钥集合Si={hs(IDi),hs+1(IDi),...,ht(IDi)},然后计算会话s的前向密钥
[0019] 步骤3),网关ECU通过安全信道向接收方ECUi发送IDi,Si,SFKi。
[0020] 本发明所述第二阶段中网关ECU广播消息和携带密钥信息的多项式的方法为:
[0021] 使用双向密钥链提供认证的车载以太网存在两种信号,包括:携带密钥信息的多项式信号和车载控制应用信号;
[0022] (1)当网关ECU发送携带密钥信息的多项式信号Wi,j(x)时,包括下列步骤:
[0023] 步骤1),网关ECU选择当前会话j的组密钥Kj;
[0024] 步骤2),网关ECU根据下列公式计算Wi,j(x):
[0025]
[0026]
[0027] Wi,j(x)=Ai,j(x)*BKj+hj(x)
[0028] 其中,Zj为网关ECU在会话j随机生成的混淆数,U为接收方ECU集合,Ai,j(x)为在会话j并与IDi相关的访问多项式;
[0029] 步骤3),网关ECU广播多项式Wi,j(x);
[0030] (2)当网关ECU发送包含车载控制应用信号的消息M时,包括下列步骤:
[0031] 步骤1),网关ECU选择当前会话j的组密钥Kj,通过哈希函数H3生成消息认证码MACj=H3(Kj);
[0032] 步骤2),网关ECU根据ISO 26262标准对消息认证码进行截短,截短后的消息认证码表示为MAC'j;
[0033] 步骤3),网关ECU将截短后的消息认证码MAC′j附加到待发送的消息m上,构造成消息M={m|MAC'j},其中“|”表示连接符;
[0034] 步骤4),网关ECU广播消息M。
[0035] 本发明所述第三阶段中接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥包括下列步骤:
[0036] 步骤1),接收方ECUi接收到会话j的多项式Wi,j(x),利用自身秘密标识身份IDi和hj(IDi)计算BK'j=Ai,j(IDi)*BKj=Wi,j(IDi)‑hj(IDi),当且仅当代入的为指定接收方ECUi的IDi时,Ai,j(IDi)才为1,BK'j才等同于BKj;
[0037] 步骤2),接收方ECUi计算会话j的前向密钥
[0038] 步骤3),接收方ECUi计算会话j的组密钥K'j=FK'j+BK'j。
[0039] 本发明所述第三阶段中接收方ECUi使用得到的组密钥验证接收到的消息包括下列步骤:
[0040] 步骤1),考虑到消息M可能先于Wi,j(x)到达接收方ECUi而无法得到及时地验证,所以当接收方ECUi在接收到消息M后,先将其放入缓存中,等待接收到Wi,j(x)以计算得到组密钥后再进行验证;
[0041] 步骤2),接收方ECUi得到会话j的组密钥K'j后,通过使用与网关ECU相同的哈希函数H3计算消息认证码macj,并采用与网关ECU相同的方式对消息认证码进行截短得到mac'j,然后与之前存储的MAC′j进行比较,如果相同,则接收该消息,否则丢弃该消息;
[0042] 步骤3),假设消息M在会话j2到达接收方ECUi,且s
[0043] 步骤3.1),接受方ECUi解得 对 做j2‑j次哈希运算得到
[0044] 步骤3.2),接收方ECUi利用自身所保存的SFKi计算FK'j=H1(SFKi)j‑s;
[0045] 步骤3.3),接收方ECUi计算得到K'j=FK'j+BK'j;
[0046] 步骤3.4),返回步骤2)。
[0047] 本发明与现有车载网络所采用的单向密钥链的消息认证机制相比,具有下列优点:
[0048] (1)本发明在一定程度上可以保证组密钥的前向安全和后向安全。前向安全指的是在会话j之前参与通信的ECU无法通过自身获得的信息得到Kj,后向安全指的是在会话j之后参与通信的ECU无法通过自身获得的信息得到Kj。因为根据哈希运算的单向性,在会话j之前的ECU无法得到BKj,而在会话j之后的ECU无法得到FKj,所以都无得到Kj;
[0049] (2)本发明还可以实现密钥的自愈。以生命期为[s,t]的接收方ECUi为例,令s
[0050] 步骤1),接受方ECUi解得 对 做j2‑j次哈希运算得到
[0051] 步骤2),接收方ECUi利用自身所保存的SFKi计算FK'j=H1(SFKi)j‑s;
[0052] 步骤3),接收方ECUi计算得到K'j=FK'j+BK'j。

附图说明

[0053] 图1是本发明双向密钥链的结构;
[0054] 图2是本发明消息认证的流程图。

具体实施方式

[0055] 下面结合附图对本发明的技术方案做进一步的详细说明:
[0056] 本发明公开了一种基于双向密钥链的车载网络消息认证方法,包括下列步骤:
[0057] 第一阶段:网关ECU构建双向密钥链,并可信地发送验证所需的信息至接收方ECUi;
[0058] 第二阶段:网关ECU广播消息和携带密钥信息的多项式;
[0059] 第三阶段:接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥,并使用得到的组密钥验证接收到的消息。
[0060] 本发明所述第一阶段中网关ECU构建双向密钥链包括下列步骤:
[0061] 步骤1),网关ECU随机生成两个密钥种子,一个前向密钥种子 一个后向密钥种子
[0062] 步骤2),网关ECU选择前向密钥种子 和密钥生成函数H1,通过进行n次迭代运算得到前向密钥链
[0063] 步骤3),网关ECU选择后向密钥种子 和密钥生成函数H2,通过进行n次迭代运算得到后向密钥链
[0064] 步骤4),网关ECU通过下列公式计算得到组密钥:
[0065]
[0066] 其中j为当前会话,n为会话数的值,Kj为会话j的组密钥,FKj为会话j的前向密钥,BKj为会话j的后向密钥。
[0067] 本发明所述第一阶段中网关ECU可信地发送验证所需的信息至接收方ECUi包括下列步骤:
[0068] 步骤1),网关ECU选择n个独立不相关的哈希函数组成一个密钥生成函数集合h={h1(x),h2(x),...,hn(x)};
[0069] 步骤2),网关ECU选择接收方ECUi,根据当前会话和预估的会话数给ECUi设置了一个生命期[s,t],然后生成一个与ECUi对应的秘密标识身份IDi,并根据生命期从h中选择密钥生成函数生成相应的密钥集合Si={hs(IDi),hs+1(IDi),...,ht(IDi)},然后计算会话s的前向密钥
[0070] 步骤3),网关ECU通过安全信道向接收方ECUi发送IDi,Si,SFKi。
[0071] 本发明所述第二阶段中网关ECU广播消息和携带密钥信息的多项式的方法为:
[0072] 使用双向密钥链提供认证的车载以太网存在两种信号,包括:携带密钥信息的多项式信号和车载控制应用信号;
[0073] (1)当网关ECU发送携带密钥信息的多项式信号Wi,j(x)时,包括下列步骤:
[0074] 步骤1),网关ECU选择当前会话j的组密钥Kj;
[0075] 步骤2),网关ECU根据下列公式计算Wi,j(x):
[0076]
[0077]
[0078] Wi,j(x)=Ai,j(x)*BKj+hj(x)
[0079] 其中,Zj为网关ECU在会话j随机生成的混淆数,U为接收方ECU集合,Ai,j(x)为在会话j并与IDi相关的访问多项式;
[0080] 步骤3),网关ECU广播多项式Wi,j(x);
[0081] (2)当网关ECU发送包含车载控制应用信号的消息M时,包括下列步骤:
[0082] 步骤1),网关ECU选择当前会话j的组密钥Kj,通过哈希函数H3生成消息认证码MACj=H3(Kj);
[0083] 步骤2),网关ECU根据ISO 26262标准对消息认证码进行截短,截短后的消息认证码表示为MAC'j;
[0084] 步骤3),网关ECU将截短后的消息认证码MAC′j附加到待发送的消息m上,构造成消息M={m|MAC'j},其中“|”表示连接符;
[0085] 步骤4),网关ECU广播消息M。
[0086] 本发明所述第三阶段中接收方ECUi根据接收到的携带密钥信息的多项式计算得到组密钥包括下列步骤:
[0087] 步骤1),接收方ECUi接收到会话j的多项式Wi,j(x),利用自身秘密标识身份IDi和hj(IDi)计算BK'j=Ai,j(IDi)*BKj=Wi,j(IDi)‑hj(IDi),当且仅当代入的为指定接收方ECUi的IDi时,Ai,j(IDi)才为1,BK'j才等同于BKj;
[0088] 步骤2),接收方ECUi计算会话j的前向密钥
[0089] 步骤3),接收方ECUi计算会话j的组密钥K'j=FK'j+BK'j。
[0090] 本发明所述第三阶段中接收方ECUi使用得到的组密钥验证接收到的消息包括下列步骤:
[0091] 步骤1),考虑到消息M可能先于Wi,j(x)到达接收方ECUi而无法得到及时地验证,所以当接收方ECUi在接收到消息M后,先将其放入缓存中,等待接收到Wi,j(x)以计算得到组密钥后再进行验证;
[0092] 步骤2),接收方ECUi得到会话j的组密钥K'j后,通过使用与网关ECU相同的哈希函数H3计算消息认证码macj,并采用与网关ECU相同的方式对消息认证码进行截短得到mac'j,然后与之前存储的MAC′j进行比较,如果相同,则接收该消息,否则丢弃该消息;
[0093] 步骤3),假设消息M在会话j2到达接收方ECUi,且s
[0094] 步骤3.1),接受方ECUi解得 对 做j2‑j次哈希运算得到
[0095] 步骤3.2),接收方ECUi利用自身所保存的SFKi计算FK'j=H1(SFKi)j‑s;
[0096] 步骤3.3),接收方ECUi计算得到K'j=FK'j+BK'j;
[0097] 步骤3.4),返回步骤2)。
[0098] 本发明所提出的双向密钥链的结构如图1所示,包括前向密钥链、后向密钥链以及生命期。其中生命期的每个会话与前向密钥链和后向密钥链中的密钥是一一对应的,对当前会话的前向密钥和后向密钥进行相加便可以得到用于消息认证的组密钥。
[0099] 本发明所提出的车载以太网消息认证流程图如图2所示,包括三个阶段的网关ECU和接收方ECUi所做工作的全部细节。
[0100] 显然,所描述的具体实施方式仅仅是本发明的一部分实施方式,而不是全部实施方式。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。