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

基于SOMEIP的访问权限双向验证方法及相关装置

文献发布时间:2024-04-18 19:58:30


基于SOMEIP的访问权限双向验证方法及相关装置

技术领域

本发明涉及汽车电子技术领域,尤其涉及一种基于SOMEIP的访问权限双向验证方法及相关装置。

背景技术

传统的面向服务的架构SOA(Service-Oriented Architecture)的基于IP的可扩展面向服务的中间件SOMEIP(Scalable service-Oriented MiddlewarE over IP)通信模式是由客户端发现了服务端的Offer报文后,便可以直接请求该SOMEIP服务中所含的Method方法,服务端执行Method业务功能然后回复客户端。

首先,按照SOMEIP规范定义,服务端的Offer报文是发布在以太网组播地址中,加入该组播的所有ECU电子控制器单元(Electronic ControlUnit)均可以连接并请求SOMEIP服务,无法针对客户端身份进行限制,无法阻止未授权的ECU控制器调用该SOMEIP服务。如果在组播网络中接入非厂家认证的第三方客户端设备,向服务端请求服务接口,可能造成不满足预期的效果,具有极大的功能安全风险。同样,客户端调用SOMEIP服务时,也无法得知该服务的提供方是否是可信任的提供方,是否能够满足预期的服务接口要求。

发明内容

有鉴于此,本发明提供了一种基于SOMEIP的访问权限双向验证方法及相关装置,用于解决按照SOMEIP规范定义,服务端的Offer报文是发布在以太网组播地址中,加入该组播的所有ECU电子控制器单元(Electronic ControlUnit)均可以连接并请求SOMEIP服务,无法针对客户端身份进行限制,无法阻止未授权的ECU控制器调用该SOMEIP服务。如果在组播网络中接入非厂家认证的第三方客户端设备,向服务端请求服务接口,可能造成不满足预期的效果,具有极大的功能安全风险。同样,客户端调用SOMEIP服务时,也无法得知该服务的提供方是否是可信任的提供方,是否能够满足预期的服务接口要求的问题。具体方案如下:

一种基于SOMEIP的访问权限双向验证系方法,所述方法应用于客户端和服务端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,

在所述客户端中将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

在所述服务端中基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

在所述客户端中判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

在所述服务端中基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

上述的基于SOMEIP的访问权限双向验证方法,还包括:

若所述预设特征ID列表中不存在所述解密后特征ID,判定验证失败,或;

若所述解密后特征ID与其对应的特征ID不一致,断开SOMEIP连接,或;

若所述解密后随机数与所述随机数不一致,判定认证失败。

上述的基于SOMEIP的访问权限双向验证方法,还包括:

将所述第二加密后随机数存储到所述服务端的预设随机数列表中。

上述的基于SOMEIP的访问权限双向验证方法,还包括:

在所述客户端中向所述服务端请求SOMEIP服务的Method接口的情况下,获取请求参数,在所述第二加密后随机数添加到所述请求参数的开始部分,得到目标请求参数,将所述目标请求参数发送给所述服务端;

在所述服务端接收到所述目标请求参数后,获取所述请求参数中的所述第二加密后随机数,判断所述第二加密后随机数是否存在于所述预设随机数列表中,若存在,判定所述第二加密后随机数验证成功,执行所述SOMEIP服务,将验证成功的结果和所述SOMEIP服务的业务回复数据发送给所述客户端,或;

若不存在,判定所述第二加密后随机数验证失败,不执行所述SOMEIP服务。

一种基于SOMEIP的访问权限双向验证方法,应用于客户端,预先将公钥存储到所述客户端,为所述客户端分配特征ID,所述方法包括:

将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给服务端,以令所述服务端基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述服务端的预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,其中,所述预设特征ID列表存储特征ID;

接收所述服务端发送的所述验证成功的结果、所述随机数和所述解密后特征ID,判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,以令所述服务端基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端;

接收所述服务端发送的所述认证成功的结果和所述第二加密后随机数。

一种基于SOMEIP的访问权限双向验证方法,应用于服务端,预先将私钥存储到所述服务端,所述方法包括:

接收客户端发送的加密后特征ID,基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,以令所述客户端判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述客户端的公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,其中,所述加密后特征ID是所述客户端基于其公钥和其对应的特征ID进行加密得到的,所述预设特征ID列表中存储有客户端的特征ID;

基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

一种基于SOMEIP的访问权限双向验证装置,所述装置应用于客户端和服务端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,

第一加密和发送模块,用于在所述客户端中将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

第一解密和发送模块,用于在所述服务端中基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

第二加密和发送模块,用于在所述客户端中判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

第二解密和发送模块,用于在所述服务端中基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

一种访问权限双向验证装置,应用于客户端,预先将公钥存储到所述客户端,为所述客户端分配特征ID,所述装置包括:

第三加密和发送模块,用于将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给服务端,以令所述服务端基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述服务端的预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,其中,所述预设特征ID列表存储特征ID;

判断和加密模块,用于接收所述服务端发送的所述验证成功的结果、所述随机数和所述解密后特征ID,判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,以令所述服务端基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端;

接收模块,用于接收所述服务端发送的所述认证成功的结果和所述第二加密后随机数。

一种访问权限双向验证装置,应用于服务端,预先将私钥存储到所述服务端,所述装置包括:

解密和验证模块,用于接收客户端发送的加密后特征ID,基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,以令所述客户端判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述客户端的公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,其中,所述加密后特征ID是所述客户端基于其公钥和其对应的特征ID进行加密得到的,所述预设特征ID列表中存储有客户端的特征ID;

认证和加密模块,用于基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

一种基于SOMEIP的访问权限双向验证系统,所述系统包括:客户端和服务端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,

所述客户端用于将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

所述服务端用于基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

所述客户端用于判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

所述服务端用于基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

一种基于SOMEIP的访问权限双向验证系统,所述系统包括:客户端、服务端和控制端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,

所述控制端用于在所述客户端将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

所述控制端用于在所述服务端中基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

所述控制端用于在所述客户端中判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

所述控制端用于在所述服务端中基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

与现有技术相比,本发明包括以下优点:

本发明公开了一种基于SOMEIP的访问权限双向验证方法及相关装置,客户端将公钥和其对应的特征ID进行加密,得到加密后特征ID,将加密后特征ID发送给服务端;服务端基于私钥对加密后特征ID进行解密,得到解密后特征ID,对解密后特征ID进行验证,验证成功,生成随机数,将验证成功的结果、随机数和解密后特征ID发送至客户端;客户端在解密后特征ID与其对应的特征ID一致的情况下,基于公钥对随机数进行加密,得到第一加密后随机数,将其发送给服务端,服务端基于私钥对第一加密后随机数进行解密,得到解密后随机数,在解密后随机数与随机数对比一致的情况下,判定认证成功,基于私钥对第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和第二加密后随机数发送给客户端。上述过程,通过一次认证和一次验证,对客户端身份进行验证,保证了客户端身份的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种基于SOMEIP的访问权限双向验证方法流程图;

图2为本发明实施例公开的一种基于SOMEIP的访问权限双向验证方法又一流程图;

图3为本发明实施例公开的一种基于SOMEIP的访问权限双向验证方法又一流程图;

图4为本发明实施例公开的一种基于SOMEIP的访问权限双向验证装置结构框图;

图5为本发明实施例公开的一种基于SOMEIP的访问权限双向验证装置又一结构框图;

图6为本发明实施例公开的一种基于SOMEIP的访问权限双向验证装置又一结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明公开了一种基于SOMEIP的访问权限双向验证方法及相关装置,应用于SOMEIP服务中,传统的面向SOA的SOMEIP通信模式是由客户端发现了服务端的Offer报文后,便可以直接请求该SOMEIP服务中所含的Method方法,服务端执行Method业务功能然后回复客户端,没有针对客户端/服务端之间的交互身份进行验证。基于上述问题,本发明提供了一种基于SOMEIP的访问权限双向验证方法,主要过程是在完成SOA架构设计后,在业务SOMEIP服务上再额外定义了一个安全验证功能的SOMEIP服务,该服务包含以下两个Method接口:申请验证ID、申请验证密钥。先由客户端请求申请验证ID接口,通过验证后再调用申请验证密钥接口,验证成功后将得到一个特征数据,称之为许可令牌,在业务SOMEIP服务每个Method接口的请求参数类型的开头,增加一个32位的数据位,表示许可令牌。在每个业务Method的回复数据类型的开头,增加一个8位的枚举量,表示安全验证成功或失败。客户端通过申请验证密钥接口得到许可令牌后,客户端向服务端请求业务SOMEIP服务的Method接口时,必须携带此许可令牌,服务端将验证此令牌是否为服务端签发过的令牌,验证成功才接收此请求并作出正常的业务响应,否则将拒绝执行。

所述方法的执行流程如图1所示,所述方法应用于客户端和服务端,其中,所述客户端为服务的各个消费方ECU,所述客户端至少为一个,所述服务端为服务提供方ECU,预先设置公钥和私钥,所述公钥和所述私钥的确定方法本发明实施例中不进行具体限定,优选的使用李维斯特-萨莫尔-阿德曼RSA(Rivest-Shamir-Adleman)算法产生随机的隐私增强邮件PEM(Privacy-Enhanced Mail)格式的公钥和私钥,将所述私钥存储在所述服务端的安全存储区域,将所述公钥存储在所述客户端的安全存储区域,为所述客户端分配特征ID,并将其派发给客户端的开发人员,其中,所述特征ID为一个随机的16位数字,优选的,将各个客户端的所有特征ID汇总成一个JS对象简谱JSON(JavaScript Object Notation)作为预设特征ID列表,优选的,所述预设特征ID列表存储在所述服务端,具体验证过程如下:

所述客户端将公钥与其对应的特征ID输入到RSA加密算法中进行加密,得到加密后特征ID,将加密后特征ID作为安全验证服务的申请验证ID接口的荷载数据,通过SOMEIP协议发送到服务端;

所述服务端接收到申请验证ID接口的请求后,将所述私钥与所述加密后特征ID输入到RSA解密算法进行解密,得到解密后特征ID,所述服务端查找解密后特征ID是否存在于所述预设特征ID列表中,若不存在,所述服务端对申请验证ID接口的回复中向客户端回复验证失败的结果;该情况说明客户端的ID没在服务端的所述预设特征ID列表中,或者客户端使用了与服务端不配套的公钥,均认为客户端身份不受认可。若存在,判定服务端验证成功,使用随机数算法生成一个32位的随机数,该情况说明客户端的特征ID被服务端认可,通过一级验证。所述服务端将验证成功的结果、所述随机数和所述解密后特征ID一起作为申请验证ID接口的回复内容,通过SOMEIP发送回客户端;

所述客户端判断所述解密后特征ID与自己的ID是否一致,若不一致,说明所述客户端将不认可服务端身份,不再执行后续步骤,并断开SOMEIP连接;该情况说明所述服务端使用的私钥与所述客户端的公钥不配套,所述服务端可能是个未知设备;若一致,所述客户端将所述随机数与所述公钥输入到RSA加密算法中,得到第一加密后随机数,将所述第一加密后随机数作为安全验证服务的申请验证密钥接口的荷载数据,使用SOMEIP协议发送给所述服务端;

所述服务端接收到申请验证秘钥接口的请求后,将所述第一加密后随机数与所述私钥输入到RSA解密算法中,得到解密后随机数,所述服务端将所述解密后随机数与申请验证ID接口中派发的所述随机数进行一致性对比,若不一致,则服务端对申请验证密钥接口回复认证失败,该情况说明所述客户端使用了与所述服务端不配套的公钥对随机数进行加密,未通过二级认证。若一致,所述服务端将所述第一加密后随机数再次与所述私钥一起输入到RSA加密算法中得到第二加密后随机数,所述第二加密后随机数同样为一个32位的数据,称之为许可令牌,并存入在所述服务端软件的内存的一个预设随机数列表中。该情况说明所述客户端通过二级认证,所述客户端是可信任的设备,所述服务端将认证成功的结果和所述第二加密后随机数(许可令牌)组合为申请验证密钥接口的回复内容,通过SOMEIP向客户端回复。

本发明实施例中,在所述客户端向所述服务端请求SOMEIP服务的Method接口的情况下,获取请求参数,将所述第二加密后随机数添加到所述请求参数的开始部分,得到目标请求参数,将所述目标请求参数发送给所述服务端,所述服务端接收到所述目标请求参数后,获取所述请求参数中的所述第二加密后随机数,判断所述第二加密后随机数是否存在于所述预设随机数列表中,若存在,判定所述第二加密后随机数验证成功,执行所述SOMEIP服务的业务内容,将验证成功的结果和所述SOMEIP服务的业务回复数据发送给所述客户端,或,若不存在,判定所述第二加密后随机数验证失败,不执行所述SOMEIP服务。

本发明提出的SOMEIP服务访问权限双向验证方法,即相比于现有的SOMEIP服务设计方法,可以实现服务端、客户端身份的双向验证,提升了车载ECU之间交互信息的安全性,对ECU的来源进行了更严格的管控。例如在传统的方法下,若将服务的提供/消费方的ECU替换为厂家认可的第三方控制器,该控制器仍然能够正常交互该SOMEIP服务,甚至可更改原有ECU控制器的预设功能,具有极大的安全隐患。在本发明的方法下,客户端ECU能够验证服务端ECU是否受认可,服务端ECU也能够验证客户端ECU的身份是否受认可,并且身份验证成功后才能访问SOMEIP的业务功能。若更换第三方ECU将无法正常使用SOMEIP的业务功能,提升了车端的功能安全和信息安全。

基于上述的一种基于SOMEIP的访问权限双向验证方法,应用于服务端和客户端,本发明还提供了一种基于SOMEIP的访问权限双向验证方法,应用于客户端,预先将公钥存储到所述客户端,为所述客户端分配特征ID,所述方法的执行流程如图2所示,包括步骤:

S101、将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给服务端,以令所述服务端基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述服务端的预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,其中,所述预设特征ID列表存储特征ID;

S102、接收所述服务端发送的所述验证成功的结果、所述随机数和所述解密后特征ID,判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,以令所述服务端基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端;

S103、接收所述服务端发送的所述认证成功的结果和所述第二加密后随机数。

本发明实施例中,针对S101-S103的具体处理过程与所述验证系统中客户端的处理过程相同,在此不再赘述。

基于上述的一种基于SOMEIP的访问权限双向验证方法,应用于服务端和客户端,本发明实施例中还提供了一种基于SOMEIP的访问权限双向验证方法,应用于服务端,预先将私钥存储到所述服务端,所述方法的执行流程如图3所示,包括步骤:

S201、接收客户端发送的加密后特征ID,基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,以令所述客户端判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述客户端的公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,其中,所述加密后特征ID是所述客户端基于其公钥和其对应的特征ID进行加密得到的,所述预设特征ID列表中存储有客户端的特征ID;

S202、基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

本发明实施例中,针对S201-S202的具体处理过程与所述验证系统中服务端的处理过程相同,在此不再赘述。

基于上述一种基于SOMEIP的访问权限双向验证方法,应用于服务端和客户端,本发明实施例中还提供了一种基于SOMEIP的访问权限双向验证装置,所述装置应用于客户端和服务端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,所述装置的结构框图如图4所示,包括:

第一加密和发送模块301、第一解密和发送模块302、第二加密和发送模块303和第四加密和发送模块304。

其中,

所述第一加密和发送模块301,用于在所述客户端中将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

所述第一解密和发送模块302,用于在所述服务端中基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

所述第二加密和发送模块303,用于在所述客户端中判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

所述第二解密和发送模块304,用于在所述服务端中基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

本发明公开了一种基于SOMEIP的访问权限双向验证装置,包括:客户端将公钥和其对应的特征ID进行加密,得到加密后特征ID,将加密后特征ID发送给服务端;服务端基于私钥对加密后特征ID进行解密,得到解密后特征ID,对解密后特征ID进行验证,验证成功,生成随机数,将验证成功的结果、随机数和解密后特征ID发送至客户端;客户端在解密后特征ID与其对应的特征ID一致的情况下,基于公钥对随机数进行加密,得到第一加密后随机数,将其发送给服务端,服务端基于私钥对第一加密后随机数进行解密,得到解密后随机数,在解密后随机数与随机数对比一致的情况下,判定认证成功,基于私钥对第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和第二加密后随机数发送给客户端。上述过程,通过一次认证和一次验证,对客户端身份进行验证,保证了客户端身份的安全性。

基于上述的一种基于SOMEIP的访问权限双向验证方法,应用于客户端,本发明实施例中还提供了一种基于SOMEIP的访问权限双向验证装置,应用于客户端,预先将公钥存储到所述客户端,为所述客户端分配特征ID,所述装置的结构框图如图5所示,包括:

第三加密和发送模块401、判断和加密模块402和接收模块403。

其中,

所述第三加密和发送模块401,用于将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给服务端,以令所述服务端基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述服务端的预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,其中,所述预设特征ID列表存储特征ID;

所述判断和加密模块402,用于接收所述服务端发送的所述验证成功的结果、所述随机数和所述解密后特征ID,判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,以令所述服务端基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端;

所述接收模块403,用于接收所述服务端发送的所述认证成功的结果和所述第二加密后随机数。

基于上述的一种基于SOMEIP的访问权限双向验证方法,应用于服务端,本发明还提供了一种基于SOMEIP的访问权限双向验证装置,应用于服务端,预先将私钥存储到所述服务端,所述装置的结构框图如图6所示,包括:

解密和验证模块501和认证和加密模块502。

其中,

所述解密和验证模块501,用于接收客户端发送的加密后特征ID,基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端,以令所述客户端判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述客户端的公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端,其中,所述加密后特征ID是所述客户端基于其公钥和其对应的特征ID进行加密得到的,所述预设特征ID列表中存储有客户端的特征ID;

所述认证和加密模块502,用于基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

基于上述的一种基于SOMEIP的访问权限双向验证方法,所述方法应用于服务端和客户端,本发明实施例中还提供了一种基于SOMEIP的访问权限双向验证系统,所述系统包括:客户端、服务端和控制端,其中,所述客户端至少为一个,预先设置公钥和私钥,将所述私钥存储在所述服务端,将所述公钥存储在所述客户端,为所述客户端分配特征ID,将所述特征述ID存储到所述服务端的预设特征ID列表中,其中,

所述控制端用于在所述客户端将所述公钥和其对应的特征ID进行加密,得到加密后特征ID,将所述加密后特征ID发送给所述服务端;

所述控制端用于在所述服务端中基于所述私钥对所述加密后特征ID进行解密,得到解密后特征ID,查找所述预设特征ID列表中是否存在所述解密后特征ID,若是,判定验证成功,生成随机数,将验证成功的结果、所述随机数和所述解密后特征ID发送至所述客户端;

所述控制端用于在所述客户端中判断所述解密后特征ID与其对应的特征ID是否一致,若一致,基于所述公钥对所述随机数进行加密,得到第一加密后随机数,将所述第一加密后随机数发送给所述服务端;

所述控制端用于在所述服务端中基于所述私钥对所述第一加密后随机数进行解密,得到解密后随机数,将所述解密后随机数与所述随机数进行对比,若一致,判定认证成功,基于所述私钥对所述第一加密后随机数进行加密,得到第二加密后随机数,将认证成功的结果和所述第二加密后随机数发送给所述客户端。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 基于规则引擎的验证方法、验证设备、存储介质及装置
  • 一种电子标签验证方法及相关装置
  • 接口参数的验证方法及相关装置
  • 唇语识别的验证内容生成方法及相关装置
  • 基于NFT的多账户访问权限管理方法及相关装置
  • 基于NFT的多账户访问权限管理方法及相关装置
技术分类

06120116503409