掌桥专利:专业的专利平台
掌桥专利
首页

用于保护车载式以太网链路的方法和系统

文献发布时间:2023-06-19 10:46:31


用于保护车载式以太网链路的方法和系统

技术领域

本公开一般涉及通信系统,并且尤其涉及用于保护车载式以太网链路的方法和系统。

背景技术

现代车辆和自主车辆(AV)依赖于连接到中央处理单元(CPU)和/或图形处理单元(GPU)的多种硬件传感器来实现可用于辅助驾驶员的各种控制和/或人工智能(AI)系统,或者来在没有人类干预的情况下驾驶车辆。这样的传感器通常使用高速有线通信链路连接到处理器。在许多应用中,高速数据可以与相反方向上的低速数据的传送基本上同时地从源传送到接收器(sink)(例如,从传感器传送到处理器)。

这些通信链路易受诸如窃听之类的安全性问题的影响。这样的链路的窃听能够用于远程监视传感器信号以及将恶意信号注入到要由处理器接收的流中。恶意数据也能够用于对传感器不正确地编程,这能够在驾驶车辆时导致事故。另外,恶意数据可能显示在驱动器控制台显示器上,这能够导致驱动器错误。

目前,移动工业处理器接口(MIPI)相机串行接口-2(CSI-2)是现代车辆和AV中广泛使用的用于传感器连接性的连接性协议。CSI-2数据通常使用通常包括在物理层PHY设备中的并串转换器(Serializer)和串并转换器(Deserializer)(SerDes)通过同轴或双绞线布线传输,该物理层PHY设备包括发射器和/或接收器。这样的链路能够容易地被恶意代理接进。可以在车辆中使用的其它高速链路包括PCIe、USB、HDMI、Thunderbolt和以太网。黑客也能够接进这些类型的链路。在现代车辆和/或AV中使用的传感器的示例包括相机、LIDAR、RADAR、GPS等。

一些常规系统以通过采用对称系统提供的安全通信链路为特征,在所述对称系统中在数据/控制通信链路的两端处的设备能够生成用于安全通信的加密密钥以及执行与加密和解密有关的各种操作。例如,参考图1,在包括认证器102和客户端104的使用802.1x和802.1AE的基于以太网的安全系统100中,由认证器102处的802.1AE加密模块106a以及由客户端104处的另一802.1AE加密模块106b执行加密。在认证器102中,用于加密和解密的会话密钥由802.1x软件引擎108a提供给802.1AE模块106a。802.1x软件引擎108a在处理器110a上运行。802.1x软件引擎108a可以与外部服务器112通信。

处理器110a可以访问存储装置114a,该存储装置114a可以提供可以与认证器102通信的设备的白名单,并且还可以存储由802.1x软件引擎108a生成和接收的(一个或多个)加密密钥和(一个或多个)证书。处理器110a还与数据源/接收器116a(例如,视频源、传感器、显示器、另一处理器等)通信。另外,处理器110a与802.1AE模块106a和物理层级收发器(PHY)118a通信和/或控制802.1AE模块106a和物理层级收发器(PHY)118a。

客户端104处的配置通常是对称的,因为,在客户端104中,用于加密和解密的会话密钥由在处理器110b上运行的802.1x软件引擎108b提供给802.1AE模块106b。处理器110b能够访问存储装置114b,该存储装置114b可以提供可以与客户端通信的设备的白名单,并且还可以存储由802.1x软件引擎108b生成和接收的(一个或多个)加密密钥和(一个或多个)证书。此外,处理器110b与数据源/接收器116b(例如,视频源、传感器、显示器、另一处理器等)通信,并且与802.1AE模块106b和物理层级收发器(PHY)118b通信和/或控制802.1AE模块106b和物理层级收发器(PHY)118b。

在该配置中,从密钥生成和交换的视角来看,数据和控制链路120的两侧被认为是对称的。在诸如系统100之类的典型联网安全系统中,这不是问题,因为数据/控制链路120的两端处的两个设备通常包含强大的处理器,该处理器能够执行执行对称密钥生成和实现交换协议所需的软件栈。

然而,在包括智能车辆和自主车辆以及物联网(IoT)应用的现代车辆的情况下,链路的一端处的设备通常包含处理器,而另一端处的设备通常是具有有限处理能力并且通常不具备运行软件栈的能力的传感器。因此,常规安全系统通常不适用于在车辆、IoT应用和其它类似系统中的使用。

发明内容

公开了一种用于保护车载式以太网链路的方法和系统。根据一个实施例,一种方法包括经由不安全信道从认证器接收认证器的公共密钥、随机数和质询。从对等体(peer)处的本地存储装置访问供应给对等体的对等体的私有密钥。状态机基于随机数、认证器的公共密钥和对等体的私有密钥来计算对等体的会话密钥。状态机使用对等体的会话密钥和对称密码函数来计算对质询的对等体响应。

附图说明

鉴于所附的附图和伴随的详细描述,本发明将变得更加显而易见。其中所描绘的实施例是作为示例而不是作为限制提供,其中相同的参考编号/标记通常指代相同或类似的元件。然而,在不同的附图中,可以使用不同的参考编号/标记来引用相同或类似的元件。附图不一定是按比例的,而是将重点放在图示本发明的各方面上。在附图中:

图1示意性地描绘了典型的服务器-客户端认证系统;

图2示意性地描绘了根据一个实施例的用于执行客户端发起的认证系统,其以具有有限处理能力的客户端为特征;

图3示意性地描绘了根据一个实施例的用于执行客户端认证的认证系统,其以具有有限处理能力的客户端为特征;

图4是图示根据一个实施例的过程的流程图,认证器通过该过程能够对客户端进行认证;

图5图示了根据一个实施例的当认证成功时在认证器(也称为服务器)和客户端(也称为待认证的对等体)之间交换的事件和消息的序列;以及

图6图示了根据一个实施例的当认证失败时在认证器/服务器和客户端/待认证的对等体之间交换的事件和消息的序列。

具体实施方式

以下公开提供了用于实现本主题的不同特征的不同实施例或示例。下面描述了部件和布置的具体示例以简化本公开。当然,这些仅仅是示例,而不旨在是限制性的。

公开了一种用于保护车载式以太网链路的方法和系统。根据一个实施例,一种方法包括经由不安全信道从认证器接收认证器的公共密钥、随机数和质询。从对等体处的本地存储装置访问供应给对等体的对等体的私有密钥。状态机基于随机数、认证器的公共密钥和对等体的私有密钥来计算对等体的会话密钥。状态机使用对等体的会话密钥和对称密码函数来计算对质询的对等体响应。

在各种实施例中,提供了能够支持认证和密钥导出的短非对称质询(“SAC”)。SAC技术的实施例能够与EAP集成,并且作为EAP技术,SAC是高度可扩展的并且通常不需要用户干预。此外,SAC技术对端点施加相对轻量的计算——使得其对于传感器、IoT端点和具有有限处理能力的其它设备是高度有利的。基于EAP的SAC技术能够再使用在基于EAP的认证中使用的现有企业和全球基础设施,并且因此能够容易地被部署。利用在制造和/或维护期间供给的公共-私有密钥对,能够在不安全信道上生成用于加密通信的安全密钥。尽管如此,能够使用SAC技术的实施例来安全地认证端点。

术语

以下列举提供了本公开中使用的某些术语的一般意义。

EAP(可扩展认证协议)——支持RFC 3748中定义的多个认证方法的认证框架。

SAC(短非对称质询)——本文中描述的用于在两个相互独立的实体之间的质询-响应认证的认证方法,所述实体各自具有椭圆曲线公共-私有密钥对。作为非对称质询-响应机制,其能够确保双方通过不安全信道建立共享秘密,其中共享秘密能够进一步用于导出用于通过不安全信道的加密通信的对称密钥。EAP-SAC能够用作EAP方法以认证实体以及加密通信。

EAP认证器——发起EAP认证的链路的端。术语认证器被导出并且具有与由IEEE-802.1X和RFC 3748所描述的相同的意义。在本文档中,除非另有说明,否则认证器或EAP认证器是指相同的实体。

EAP对等体——响应于认证器并被认证的链路的端。该术语与由IEEE-802.1X广泛使用的术语恳求者可互换。在本文档中,除非另有说明,否则对等体或EAP对等体是指相同的实体。

EAP服务器——向认证器提供认证辅助的后端认证服务器。EAP服务器能够充当独立实体或与EAP认证器集成,但是适宜于存储、验证和认证EAP对等体的相同功能性。

ECDH——椭圆曲线Diffie-Hellman是一种匿名密钥协商协议,其允许两方通过不安全的通信信道建立共享秘密,两方各自具有椭圆曲线公共-私有密钥。

IoT——物联网是存在于任何地方和每个地方的计算设备的网络。它通常被定义为能够通过有线或无线网络进行通信的端点的网络。端点是物理设备、车辆、家用电器、家庭安全和自动化电器、致动器、传感器、成像设备等。通常,这些端点将物理信息中继到基于计算机或数字的系统。

IEEE 802——IEEE 802是处理局域网(LAN)和城域网(MAN)的IEEE标准的族。

IEEE 802.1——IEEE 802.1是IEEE工作组,其负责802LAN/MAN架构、LAN、MAN和WAN的互连网络(internetworking)、802链路安全、网络管理和MAC和LLC之上的协议层。

IEEE 802.11——IEEE 802.11是用于实现无线局域网(WLAN)的介质访问控制(MAC)和物理层(PHY)规范的集合。

IEEE 802.1X——IEEE 802.1X是用于基于端口的网络访问控制的IEEE标准。它是网络协议的IEEE 802.1分组的部分。本规范的最新修订由IEEE 802.1X-2010定义。

PPP——点对点协议是用于在两个节点之间建立直接连接的数据链路通信协议。

可扩展认证协议(EAP)是通常用于认证无线、有线和点对点网络上的端点的认证框架。作为框架的EAP依赖于EAP方法以协商用于认证和密钥导出的凭证。EAP支持多种认证方法,并且提供了许多合适的认证方法。EAP通常直接通过数据链路层运行,并且因此能够支持若干个封装方案来封装EAP消息。实现EAP的两种广泛普遍的方法包括IEEE 802和点对点协议(PPP)。对于有线(LAN)和无线(WLAN)网络,IEEE 802.1X是用于基于端口的网络访问控制的常用标准。IEEE 802.1X向加入有线或无线网络的端点提供认证机制,并且通过IEEE802帧定义EAP的封装。

EAP通常提供消息传递(messaging)框架来认证端点。它提供了选择要协商的认证机制方面的灵活性,并且存在由IETF RFC定义的若干个EAP方法、若干个供应商可扩展方法和实验方法。EAP方法通常实现各种各样的保护,该保护在以下范围内:口令、质询-握手认证协议、使用用户凭证的轻量可扩展认证协议、基于X.509证书的TLS、基于MD5的质询、预先共享的凭证或密钥、IKEv2等。

在一段时间内,EAP方法已经从简单且不安全的机制演变到需要预先配置的证书和企业级可扩展基础设施的安全但计算密集型机制。这些方法支持基于口令、一次性口令、预先共享的密钥、高熵共享的密钥、对称密钥、公共密钥证书和适宜于特定目的的许多其它机制的认证技术。通常,EAP是消息传递框架,并且对于用于传输这些消息的封装是不可知论的(agnostic)。通常,EAP被封装到802.1X帧、802.11、PEAP、RADIUS或能够传输这些消息的任何其它有线协议中。EAP及其应用已经围绕通常是个人计算机、工作站、服务器、移动设备和类似计算设备的端点演变。这些端点通常具有显著的计算能力和对运行现有EAP方法的预先供给的支持。

随着IoT(物联网)的出现,需要以最高安全性进行认证的计算设备是普遍存在的,并且被采用于包括来自自主车辆的现代车辆、移动设备、家庭自动化系统、工业自动化系统等中。在设备的规模、对它们的计算能力的限制以及认证所需的时间方面,对于在这样的系统中认证端点的要求是截然不同的。通常,由于诸如传感器、IoT设备等之类的各种端点设备的有限计算能力,包括EAP-MD5、EAP-SIM、EAP-TLS、EAP-PSK等的各种EAP方法通常也不适用于在车辆(包括自主车辆)、IoT应用中和在其它类似系统中使用。

参考图2,根据一个实施例,使用非对称密钥生成实现用于以太网的安全机制的示例性系统200包括端点202(例如,主机单元(HU))。端点202包括网关204,该网关204经由计算机206能够与数据库208通信,该数据库208可以是本地数据库或基于网络/云的数据库。数据库208可以是公共数据库或私有数据库,并且可以被实现为区块链。端点202能够存储和/或访问也包括在系统200中的端点202和/或端点212(例如,传感器单元(SU))的公共密钥。

端点212包括802.1AE模块106b,以用于使用加密密钥、数据源/接收器116b(例如,视频源、传感器、显示器、另一处理器等)和物理层级收发器(PHY)118b对消息进行加密和解密。端点212不包括在处理器上运行的802.1x软件引擎。替代地,端点212包括用于密钥管理的状态机214(如以下所讨论的那样)。状态机212可以具有有限计算能力。两个端点202、212能够经由链路120进行通信,并且能够交换数据和/或控制信息。

系统200能够用于端点202、212的初始编程和/或随后的检查/测试,所述端点202、212能够经由以太网链路(例如,链路120)彼此通信。这样的端点可以被提供在车辆中或者可以是IoT系统的部分。计算机206被提供在外部设施处,例如在车辆制造或修理设施处。在初始编程时(例如,在制造或维护时),计算机206可以向端点212(例如,传感器单元(SU))分配诸如通用唯一标识符(UUID)之类的唯一标识符。计算机206还可以生成用于端点212的公共密钥/私有密钥对:PubS、PrvS。在一些情况下,端点212可以生成并提供密钥对。UUID和私有密钥(PrvS)被存储在非易失性存储装置(未示出)中的端点212上。UUID和公共密钥(PubS)被上传到数据库208,使得能够由网关204在稍后的时间访问该信息。

参考图3,根据另一个实施例,另一个示例性系统300使用不对称密钥生成来实现用于以太网的安全机制。在系统300中,网关204被配置成直接与数据库208通信,而不需要计算机206。因此,端点202通常能够在任何时间以及在任何地方(例如,当两个端点202、212被包括在车辆中并且车辆正在移动时)认证端点212。端点212(例如,SU)的认证可以仅由端点212、仅由端点202(例如,主机处理器(HP))或由任一端点发起。

在下面的讨论中,仅为了方便起见,对主机单元(HU)以及对传感器单元(SU)进行参考。通常,任何端点(例如,图2和3中的端点202,诸如处理器、服务器、数据源、数据接收器和/或传感器、IoT设备等)可以执行关于主机单元(HU)描述的操作,并且任何其它端点(例如,图2和3中的端点212,诸如相机、显示器、IoT设备、GPS和/或数据源、数据接收器等)可以执行关于传感器单元所描述的操作。此外,在下面的讨论中,仅为了方便起见,提供了基于EAP的信号/帧的示例。本文中描述的基于SAC的消息传递不仅限于EAP,并且能够与其它以太网或甚至无线通信/认证协议一起使用。

参考图4,在根据一个实施例的示例性主机初始化过程400中,在上电或重新开始设备初始化过程时,传感器单元开始在以太网链路上发射开始认证消息(例如,通过LAN(EAPOL)-开始帧的801.1X EAP)(步骤402)。传感器单元继续发送开始认证消息(例如,EAPOL-开始帧),直到其从主机处理器接收到标识请求消息(例如,EAP-请求)。主机处理器在从SU接收到开始认证消息(例如,EAPOL-开始帧)时,向SU发送标识请求消息(例如,EAP-请求/身份帧)(步骤404)。

在接收到标识请求消息(例如,EAP请求/身份帧)时,SU利用包含从其非易失性存储器读取的SU的标识符(例如,UUID)的标识符消息(例如,EAP响应/身份帧)进行响应。(未示出的步骤)。这标识SU对于HP的唯一身份。如果HP知道UUID(步骤406),则HP从本地存储装置检索传感器单元的公共密钥(PubS)(步骤408)。否则,HP从基于因特网的公共或私有数据库或区块链(例如,图2和3中的数据库208)检索传感器单元的公共密钥(PubS)(图4中的步骤410)。HP可以将检索到的公共密钥(PubS)存储在本地存储装置中(步骤412)。

HP验证SU的身份,并发送短非对称质询、SAC-请求开始(例如,EAP-请求/EAP-类型=EAP-SAC(开始)帧)(步骤414)。开始消息/帧指示SU应当参与短非对称质询-请求协议。在接收到该消息时,SU利用SAC客户端就绪消息(例如,EAP-响应/EAP-类型=EAP-SAC(Client_Hello)帧)进行响应,该SAC客户端就绪消息指示SU将参与短非对称质询。(未示出的步骤)。

HP侧上的安全电路(例如,图2和3中的加密/解密模块106a)使用随机数生成器来生成随机数(R)和私有密钥对(PubH、PrvH)(步骤416)。HP侧上的质询生成器(未示出)使用随机数生成器来生成随机质询(C)(步骤416)。经由认证器SAC质询消息(例如,EAP-请求/EAP-类型=EAP-SAC(server_hello)帧)向SU发送(R、PubH、C)的组合,步骤(418)。SU接收认证器SAC质询消息(例如,EAP-请求帧),并且SU的安全电路(例如,图2和3中的加密/解密模块106b)使用密钥协商协议(例如,ECDH算法)和对称密码算法(例如,AES)生成响应(C’),如下:

·E(R,PubH,PrivS)->K1,其中E是表示密钥协商协议(例如,ECDH算法)的函数,并且K1是通过该函数的加密/解密密钥(也称为会话密钥)输出。

·AES(C,K1)->C’,其中AES能够是任何对称密码算法,并且C’是质询C的加密版本,其中使用密钥K1执行加密。

经由SAC客户端响应消息(例如,EAP-响应/EAP-类型=EAP-SAC(C’))将该计算的响应(C’)发送到HP(未示出的步骤)。

在接收到客户端响应消息时,HP的安全电路通过将(从SU接收的)值C’与由HP的安全电路计算的值Cc’进行比较来确认响应的值(步骤420),如下:

·E(R,PubS,PrivH)->K1’,其中E是由SU使用的相同函数,其表示密钥协商协议(例如,ECDH算法),并且K1’是在由HP执行时通过该函数的加密/解密密钥(也称为会话密钥)输出。

·AES(C,K1’)->Cc’,其中AES是由SU使用的相同对称密码算法,并且C’是质询C的加密版本,其中使用密钥K1’执行加密。

在HP侧上,安全电路将C’与Cc’进行比较(步骤420),并且如果:C’等于Cc’(这意味着密钥K1和K1’也是相同的,尽管它们是独立生成的),则使得会话密钥KI’能够用于数据业务的加密。在这种情况下,HP确定SU是可信的。

如果认证成功,则HP向SU发送SAC-结束消息(例如,EAP-请求/EAP-类型=EAP-SAC(change_cipher,challenge_finished)帧),该SAC-结束消息向SU指示其被认证(步骤422)。SU利用SAC-开始消息(例如,EAP-响应/EAP-类型=EAP-SAC(change_ciper)通知)进行响应,该SAC-开始消息指示SU准备好在与HP的另外的通信中使用更新的会话密钥K1(未示出的步骤)。

HP向SU发送认证成功消息(例如,EAP-成功帧)(步骤424),并且使用在步骤420中计算的密钥K1’密钥以用于加密要发射到SU的数据/控制信息(步骤426)。在接收到认证成功消息(例如,EAP-成功帧)时,SU使用密钥K1作为生成的会话密钥,SU先前已经计算该生成的会话密钥,以用于加密要发射到HP的数据/控制信息(未示出的步骤)。如果认证失败,即,当C’不等于Cc’时,HP向SU发送失败消息(例如,EAP-失败消息)(步骤428)。

上述方案允许在HP和SU上独立地生成相同的会话密钥(K1和K1’)。传感器侧电路利用会话密钥K1对要发射到HP的每个帧进行加密。HP侧电路利用会话密钥K1’对帧进行解密,其中当认证成功时,密钥K1和K1’是相同的。对所有或选择的数据/控制业务的帧进行加密能够防止或最小化对传感器单元和主机处理器之间的业务的窥探和更改。认证传感器单元还能够防止中间人攻击。当前的EAP-SAC认证技术能够消除对复杂认证协议的需要,并且因此,本文中描述的各种实施例不需要传感器单元上的操作系统或微处理器来执行密钥管理功能,并且因此能够降低系统成本和/或复杂性。

在各种实施例中,基于SAC(短非对称质询)的安全机制允许轻量设备(传感器、IoT设备等)实现相对轻量的认证协议,同时提供与由复杂的基于证书的系统提供的安全性相当的安全性。这至少部分地使用非对称密钥交换协议用于认证以及以用于通过诸如以太网、I2C等之类的不安全信道的通信来实现。在各种实施例中,主机处理器能够同时参与认证多个传感器单元。

根据一个实施例,只有当由HP接收到新的SU标识符(例如,UUID)时,才访问公共数据库(例如,图3中的数据库208)。实现认证过程400(图4)的系统300(图3)不要求连续的网络连接性,并且因此,系统300能够在移动的车辆(或具有有限网络连接性的车辆)中操作。此外,SU标识符的改变会使得HP获得用于SU的新公共密钥,并且因此可以是可跟踪的安全事件。

用户干预

能够被包括在当前的基于SAC的系统中的端点设备可以在以下范围内:传感器、相机设备、致动器或运行操作系统的相对复杂的计算设备。对于这些设备中的任何,通常不需要用户干预来发起认证过程。该设备仅需要被通电并且被要求实现简单的状态机。对于终端用户,这是简单的即插即用事件,但是在后台,设备的安全机制(例如,EAP机制)得到自动认证,并且密钥也被自动生成,以用于通过不安全信道的安全通信。

计算能力

实现SAC机制的实施例的设备运行轻量认证协议(例如,EAP),该协议可以被嵌入在小型处理器中或者可以被提供为集成电路。认证协议(例如,EAP)可以检索密码的(cryptographic)密钥,执行轻量密码算法、生成随机数以及通过不安全的通信信道对认证协议消息(例如,EAP消息)进行响应。

存储装置

实现SAC机制的实施例的设备要求最小存储装置(对于许多情况而言小于1kB),以存储唯一标识符(例如,序列号、UUID、产品代码等)和密码的密钥的集合。

计算质询与响应

作为认证机制的SAC使用密钥协商协议(例如,ECDH)和对称密钥密码来质询待认证的对等体(也称为客户端),并通过不安全信道使用认证协议(例如,EAP)验证其响应。参与SAC过程的每个实体(认证器和待认证的对等体)都能够访问其自己的唯一公共-私有密钥对。这些公共-私有密钥对可以是一次性可编程的,例如在制造过程期间。此外,认证器能够访问待认证的对等体的公共密钥的数据库,其中基于待认证的对等体的唯一身份,能够检索其公共密钥。

对称密码

SYM_CIPHER是指在端点上并且提供足够的安全性以不损害会话密钥K1的对称密码。在不同的实施例中能够使用任何强对称密码,诸如AES、具有各种已知参数的DES简单混列(hash)等。

质询

认证器能够利用任何随机数质询待认证的对等体。不需要从先前已知的模式导出质询(C),尽管能够使用以这种方式导出的质询。为了系统的安全性,质询C和ECDH种子R的数量都不被再使用,并且对于攻击者而言是不可预测的。

由待认证的对等体计算的响应

待认证的对等体能够访问其自己的公共-私有密钥对(PrivH和PubH)。另外,当其接收到认证器SAC质询消息(例如,EAP-请求/质询消息)时,待认证的对等体从认证器接收以下数据:

·PubH-认证器的公共密钥

·R-要由密钥协商协议(例如,ECDH密码算法)使用的随机数

·C-用于计算响应的质询

这些接收的参数用于计算对称会话密钥K1,诸如,例如:

·K1=ECDH(PubH,PrivS,R)

然后,对称会话密钥K1用于使用形成对质询的响应的任何SYM_CIPHER来对质询C进行加密。

·C’=SYM_CIPHER(K1,C)

由认证器计算的响应

认证器通过向其发送标识请求消息(例如,EAP请求/身份消息)来获得待认证的对等体的身份。这允许认证器查询公共密钥的数据库以提取与待认证的对等体的唯一身份相关联的公共密钥(PubS)。认证器能够访问其自己的公共-私有密钥PubH和PrivH。这允许认证器使用发送到待认证的对等体的PubS、PrivH和R来计算相同的对称会话密钥Kc1。例如,使用ECDH作为密钥协商协议,Kcl计算为:

·Kc1=ECDH(PubS,PrivH,R)

然后,认证器计算其自己对质询(C)的响应(Cc’),并将响应(Cc’)与从待认证的对等体接收的响应(C’)进行比较。认证器的响应(Cc’)被计算为:

·Cc’=SYM_CIPHER(C,Kc1)

当Cc’等于C’时,在并且仅在密钥Kc1与密钥K1相同的情况下,比较才成功。因此,这种基于SAC的机制允许认证器和待认证的对等体通过不安全信道建立共享秘密(K1)。该共享秘密用于导出对由认证器发送的质询(C)的响应(C’),并且还用于导出由认证器对相同质询(C)的响应(Cc’)。这确保了共享秘密(K1)或(Kc1)决不在不安全信道上被传达。相反,经由不安全信道(例如,图2和3中的链路120)仅传达加密的响应(C’)。

消息交换

下面在EAP-SAC系统的上下文中描述在典型的基于SAC的认证技术中发生的消息的交换。然而,应当理解,基于SAC的认证技术的实施例不限于EAP,并且能够用作任何其它认证协议的部分。

参考图5,在根据一个实施例的示例性EAP-SAC认证过程中,在典型认证过程中发生的事件的序列包括:

·发起和标识——步骤505和510

·方法交换——步骤515和520

·质询-响应——步骤525和530

·质询接受或失败——步骤535和540

·改变密码确认——步骤545和550

EAP-SAC对话的发起

EAP认证器向EAP对等体发送EAP-请求/身份分组(步骤505),并且EAP对等体利用EAP-响应/身份分组响应于EAP认证器,从而传达待认证的对等体的标识信息(步骤510)。在身份交换之后,认证器知道待认证的对等体的唯一身份。

EAP对话发生在EAP认证器和对等体之间。然而,认证器可以选择作为贯通(pass-through)设备,其中认证器封装从对等体接收的EAP分组并且将封装的分组发送到后端认证服务器。如在此所述,EAP服务器通常是指认证器或贯通标识符和后端认证服务器的组合。EAP-SAC对话不定义任何附加EAP分组,也不添加任何新的EAP消息格式。

在已经接收到对等体的身份之后,EAP服务器利用EAP-请求/EAP-类型=EAP-SAC发起server_hello(步骤515),从而向对等体通知非对称质询的开始。支持EAP-SAC过程的对等体利用已经接收到非对称质询开始的确认进行响应(步骤520),从而指示其期望来自EAP服务器的质询。

在确认待认证的对等体的身份时,并且在接收到对等体能够使用EAP-SAC作为认证机制的通知时,EAP服务器发送EAP-SAC/质询分组,其包含(i)服务器问候指示(ii)认证器的公共密钥PubH(iii)随机数R和(iv)质询C(步骤525)。待认证的对等体接收该EAP-SAC/质询分组,并根据质询C计算其对称会话密钥K1(=ECDH(PubH,PrivS,R))和对应的响应C’(=SYM_CIPHER(C,K1))。然后,对等体使用EAP-SAC/质询-响应消息向EAP服务器发送计算的响应(步骤530)。

EAP服务器接收EAP-SAC/质询-响应分组,并使用EAP服务器的私有密钥PrivH、(在公共密钥数据库中查找的)待认证的对等体的公共密钥PubS和发送到待认证的对等体的相同随机数R来本地地计算响应。由EAP服务器计算的会话密钥是Kc1(=ECDH(PubS,PrivH,R)),并且使用该会话密钥计算响应Cc’=SYM_CIPHER(C,Kc1)(步骤535)。

EAP服务器本地地比较C’和Cc’。如果它们匹配,则认证是成功的,并且从EAP服务器向对等体发送认证成功消息(步骤535)。认证成功消息为从EAP服务器向待认证的对等体发送的具有改变密码和质询已完成消息的EAP-请求/EAP-类型=EAP-SAC。待认证的对等体通过利用具有改变密码确认的EAP-响应/EAP-类型=EAP-SAC进行响应来确认改变密码消息的接收(步骤540)。

此时,EAP服务器和对等体都未使用对称密钥来加密数据。在接收到具有改变密码完成消息的EAP-响应/EAP-类型=EAP-SAC时,EAP服务器完成EAP握手并发送出EAP-成功消息(步骤545)。然后启用EAP服务器与现在已认证的对等体之间的网络访问。EAP服务器开始使用Kcl作为其用于加密通信的对称会话密钥。在接收到EAP-成功消息时,(现在已认证的)对等体改变其密码套件(suite)以开始使用K1作为其用于加密通信的对称会话密钥(步骤550)。

认证失败

图6图示了根据一个实施例的当认证失败时事件的示例性序列,其中步骤605-625分别类似于图5的步骤505-525。然而,在认证过程的步骤630期间,待认证的对等体计算响应(C2’)而不是(C’)。在步骤635中,EAP服务器/认证器接收与高速缓存的或计算的质询-响应Cc’不匹配的响应(C2’)。因此,EAP服务器/认证器确定对等体的认证是不成功的。然后,EAP服务器发送具有EAP-类型=EAP-SAC/失败消息的EAP-请求分组(步骤635)。

此时,对等体具有发送具有EAP-类型=EAP-SAC(client_hello)分组的EAP-响应分组的选项,该分组具有重新开始认证过程的选项。此时,服务器具有允许对等体重新认证的选项。根据一个实施例,安全实现方式限制了允许对等体在某个时间窗口(例如,几秒、几分钟、几小时等的窗口)期间尝试认证的次数,这能够提供防备服务攻击的拒绝的保护。

出于解释的目的,前述描述使用了具体术语来提供对本发明的透彻理解。然而,对于本领域技术人员将显而易见的是,不需要具体细节以便实践本发明。因此,出于说明和描述的目的呈现了本发明的具体实施例的前述描述。它们不旨在是穷尽的或将本发明限制于所公开的精确形式;显然,鉴于以上教导,许多修改和变化是可能的。选择和描述实施例以便最好地解释本发明的原理及其实际应用,它们由此使得本领域技术人员能够最好地利用本发明和具有如适合于预期的特定使用的各种修改的各种实施例。

相关技术
  • 用于保护车载式以太网链路的方法和系统
  • 以太网无源光网络系统中光链路保护倒换的实现方法
技术分类

06120112677900