APP下载

分布式智能充电桩控制信息的机密性保护方案

2022-11-17杨家全冯勇

云南电力技术 2022年5期
关键词:用户端服务端分布式

杨家全,冯勇

(云南电网有限责任公司电力科学研究院,云南 昆明 650217)

0 前言

为了应对能源危机,新能源电动汽车得到了广泛的应用[1-2]。同时,为了满足数量日益剧增的电动汽车的充电需求,智能充电系统得以迅速发展,分布式智能充电桩被广泛部署。智能充电桩作为电动汽车连接能源的主要入口,担负着重大的责任,包括给电动汽车正常充电的电量输出、充电电量的正确计费、电动汽车的充电安全以及充电过程中用户和服务商、充电桩和充电桩之间的数据互通等[3-5]。

一个分布式充电桩在电动汽车充电过程中的交互过程示意图如图1 所示,包含6 个实体,分别是电动汽车、充电桩、用户、手机终端应用软件、充电卡和后台管理中心,其中,智能充电桩是交互的中心[6-8]。

图1 一个分布式充电桩在充电过程中的交互过程

1)用户:作为充电服务的发起者,用户通过手机终端上的应用软件查找充电桩,进行充值缴费,控制充电起始与停止,查询充电的详细数据,如电压、电流、电量、计费等信息。

2)手机终端应用软件:作为用户与充电桩和服务商后台管理中心交互的桥梁,获取用户的充电起止指令,控制充电桩开始与停止充电,并从充电桩获取充电的详细数据反馈给用户;另外,与后台管理中心交互完成用户充值,并从后台管理中心获取充电桩位置等信息反馈给用户。

3)后台管理中心:作为充电服务的通过者,向手机终端应用软件反馈充电桩的详细信息,以及用户当前电动汽车充电的详细数据信息;控制控制充电桩充电的起始与停止,并对用户本次充电进行计费。

4)充电卡:作为用户给电动汽车进行充电控制的另一种方式,充电卡插入智能充电桩的读卡器上,可以查看充电卡的余额,并使用充电卡控制充电的起始与停止。

5)充电桩:作为充电服务的中心,其主要功能是完成给电动汽车的充电工作,但是在整个充电工作的过程中,充电桩需要同后台管理中心、手机终端应用软件或者充电卡进行交互,从而完成电动汽车的充电工作。

6)电动汽车:作为充电服务的直接参与者,与智能充电桩交互,通过智能充电桩获取电能源。

然而分布式智能充电桩在带来方便的同时也面临着日益严重的信息安全问题,尤其是在电动汽车充电过程中控制信息的机密性面临巨大的挑战。外部攻击通过恶意攻击代码进行控制,使智能充电桩无法正常给电动汽车进行充电工作,给用户使用电动汽车带来不便,影响用户正常生活;恶意篡改控制信息,造成用户充电计费异常,给用户和服务商造成严重的经济损失。这些问题将成为智能充电充电系统以及电动汽车产业进一步发展的严重阻碍。

为了解决上述问题,本文提出一种智能充电桩控制信息的机密性保护方案,在充电系统中所有控制信息通过SM2 算法进行加密,实现充电桩信息加密。该方案能够有效保障智能充电桩控制信息的机密性,从而提高智能充电桩的安全性,进一步促进智能充电桩以及电动汽车产业的良好发展。

1 相关工作

目前在学术界在充电桩信息安全防护技术方面已取得一些研究成果,主要围绕充电桩信息安全需求、充电桩 CAN 总线协议安全以及充电交易数据安全存储等方面展开。在充电桩信息安全需求方面,文献[5]详细描述了在电动汽车充电过程中,用于通信的嵌入式设备(如充电桩中的核心芯片等)安全的重要性,并针对充电桩可能存在的信息安全问题提出了一些应对方案,最后主要是对电动汽车在充电过程中用于的嵌入式设备所面临的安全问题进行了总结,并提出了嵌入式设备在应用于充电桩方面未来的发展趋势。文献[10]分析了在当前4G网络的覆盖下,充电桩所面临的在线恶意攻击、用户私密数据可能被篡改或窃取等安全威胁,并提出了一种分别针对充电桩后台管理中心、充电桩充电卡和手机终端充电桩应用软件的信息安全防护方案。在充电桩CAN 总线协议安全方面,文献[7]分析了恶意攻击者如何通过分布式充电桩和电动汽车充电通信协议——CAN总线协议发动攻击,严重干扰智能充电桩的正常充电工作,对充电基础设施的安全带来巨大的威胁,并提出一种基于最大最小蚁群算法(MMAS) 的 CAN 总线协议模糊测试方法,对相关的报文进行安全检测,有效提高CAN 总线协议的安全。另外,在充电交易数据安全存储方面,文献[8]方法通过对充电桩进行用户数据处理与用户隐私信息加密,使每个用户对与其自身相关的数据拥有绝对的控制权,从而实现更为安全的隐私和交易数据的存储。

综上所述,在充电桩信息安全防护技术方面虽然已取得一些研究成果,但主要围绕充电桩信息安全需求、充电桩 CAN 总线协议安全以及充电交易数据安全存储等方面展开。目前还没有保护分布式智能充电桩控制信息机密性的相关方案,为了提高分布式智能充电桩工作的安全性、可靠性,以促进电动汽车的进一步发展,设计一种保护分布式智能充电桩控制信息机密性的方案就显得更为迫切。

2 SM2加密算法

SM2 算法和RSA 算法都是公钥密码算法,SM2 算法是一种更先进安全的算法,在商用密码体系中被用来替换RSA 算法。

SM2 主要分为SM2 加解密算法以及SM2签名算法,数据的发送方和接收方各自持有一对公私钥,发送方的公私钥对用(PKSend,SKSend)表示,接收方的公私钥对用(PKRecv,SKRecv)表示,明文用M表示,密文用C表示。

SM2 加密算法:发送方使用接收方的公钥对明文数据进行加密,得到密文后,将密文发送给数据的接收方:

SM2 解密算法:接收方收到密文数据后,用自己的私钥对密文进行解密,从而得到密文数据:

SM2 签名算法:发送方使用自己的私钥对数据进行签名,得到签名信息signInfo:

SM2 验证签名算法:接收方使用发送方的公钥对签名进行验签,得到验验证签名结果:

3 方案设计

为了解决分布式智能充电桩控制信息机密性的问题,本文使用国密SM2 算法对控制信息进行加密传输,并将充电系统中的控制信息划分为以下三类:

1)客户端信息:指用户使用手机终端应用程序向服务端和充电桩发出的信息,包括用户身份信息、充值信息、开始充电请求、终止充电请求等[11-13]。

2)服务端信息:指后台管理中心向用户手机终端和充电桩发出的信息,包括充电桩位置信息、计费信息、用户身份验证反馈、开始充电命令、终止充电命令等。

3)充电桩信息:指充电桩向用户手机终端和后台管理中心发出的信息,包括电流、电压、电量、用户身份验证、请求开始充电和终止充电信息[14-15]。

在充电服务过程中,主要的涉及到控制信息机密性保护的过程是用户请求开始充电和用户请求终止充电,本文将设计机密性保护方案对开始充电和终止充电服务过程中涉及的控制信息进行机密性保护,方案中参数及含义如表1 所示。

表1 参数表

3.1 开始充电机密性保护

在使用分布式智能充电桩的充电系统中,涉及开始充电服务的实体有用户端、服务端、充电桩和电动汽车。开始充电机密性保护方案图如图2 所示,控制信息机密性保护服务过程如下:

图2 开始充电机密性保护

1)客户端→充电桩:请求开始充电。用户端将加密的开始充电请求和身份信息发送给充电桩,请求充电桩开始为电动汽车充电。其中,strEl表示开始充电请求。

2)充电桩:处理充电请求。充电桩收到用户端发送的数据包后,将其解密,获得用户的开始充电请求、身份信息和用户签名。

3)充电桩→服务端:验证用户请求。根据签名信息进行智能充电桩用户识别,实现身份验证,并询问是否可以执行用户充电请求。

4)服务端:处理验证请求。服务端解密充电桩发送的数据,验证用户签名,并验证用户是否满足执行开始充电请求的条件,主要分为以下两步:

①解密:

②验证用户:

5)服务端→充电桩:发布执行命令。服务端给充电桩发布是否指令用户充电请求的命令。其中,comInfo 表示执行命令。

6)充电桩:处理命令。充电桩解密服务端发送的命令信息,根据命令选择执行步骤(7)或者步骤(8),如果用户满足开始充电的条件,则充电桩执行步骤(7),开始为电动汽车充电,否则直接执行步骤(8),向用户反馈拒绝执行开始充电的具体原因。其中,exe()表示执行。

7)充电桩→电动汽车:开始充电。如果服务端发布的是执行用户充电请求,则充电桩开始给电动汽车充电,并执行步骤(8),向用户反馈当前充电情况。

8)充电桩→用户端:充电情况反馈。如果用户满足开始充电条件,返回当前充电的具体情况,例如电流、电压、计费信息邓;如果用户不满足开始充电条件,则返回拒绝执行充电请求的原因。

3.2 终止充电机密性保护

在使用分布式智能充电桩的充电系统中,涉及终止充电服务的实体有用户端、服务端、充电桩和电动汽车。终止充电机密性保护方案图如图3 所示,控制信息机密性保护服务过程如下:

图3 终止充电机密性保护

1)客户端→充电桩:终止充电请求。用户端将加密的终止充电请求和身份信息发送给充电桩,请求充电桩开始为电动汽车充电-终止充电请求。其中,endEl表示终止充电请求。

2)充电桩:处理终止充电请求。充电桩解密用户发送的数据,获得用户的终止充电请求、身份信息和用户签名,并根据验证结果选择执行步骤(3) 或者步骤(4),如果用户身份验证通过,则充电桩执行步骤(3),终止本次充电,否则直接执行步骤(4),向用户反馈拒绝执行终止充电的具体原因。

3)充电桩→电动汽车:终止充电。如果验证用户身份通过,则充电桩执行用户终止充电请求,终止本次电动汽车充电服务。

4)充电桩→用户端:充电情况反馈。如果用户身份通过,正常终止充电,反馈本次充电具体信息,包括电量、充电时长和费用等信息;如果用户身份未通过,则反馈无法正常终止充电及相应的原因。

5)充电桩→服务端:充电结束。充电桩向服务端反馈,本次充电结束,并将加密的本次充电的具体信息,包括用户信息、电量、计费等发送给服务端。其中,eLInfo表示充电信息。

6)服务端:充电结束处理。解密充电桩发送的用户充电信息,记录用户本次充电详细情况。主要分为以下两步:

①解密充电桩发送的数据:

②记录用户本次充电的详细情况。

7)充电桩→用户端:充电缴费。用户在充电完成后向服务端缴纳本次充电的费用。

4 安全分析

下面对本文设计的分布式智能充电桩控制信息机密性保护方案进行安全性分析,主要包括机密性和抗中间人攻击。

机密性:控制信息的机密性保护是本文方案设计的主要目标,本文方案使用国密算法SM2 对充电服务过程中的关键控制信息进行加密,这些控制信息包括用户端的开始充电请求、终止充电请求、充电桩的用户验证请求和服务端的执行命令。即使恶意用户窃取到传输的数据包,由于没有接收方的私钥,其无法解密得到真实的数据内容,因此能够保证控制信息的机密性。

对于本研究来说,无论是服务端与用户端还是服务端与充电桩端均传输加密后的数据,即使恶意第三方采用中间人攻击,获得明文数据,并且对于可能作恶的用户端,在其提交请求时必须附加自身对请求信息的签名,所以他人无法伪装合法用户,因此本方案能够抗中间人攻击。

5 性能分析

为了对本文设计的机密性保护方案进行验证和性能测试,系统开发软件为android studio 4.1,服务器选择Windows10 64 位操作系统,内存8GB,Windows10 64 位操作系统;实验安装移动端设备配置为MIUI 12.0.6 系统。

本文进行多次实验测试,记录方案主要算法过程的耗时情况,主要算法过程包括四个,分别是加密、解密、签名和验签。各算法过程分别测试100 次,并取每10 次的平均值,即每个算法过程分别记录10 各平均耗时数据。本文方法的加解密耗时情况见表2。

表2 时间记录表 (单位/ms)

加解密的耗时结果如图4 所示。

图4 4个算法消耗时间对比

由表2 和图4 可以看出,在时间开销方面,四个算法过程(加密、解密、签名和验签)的平均时间分别为10.3 ms、6.9 ms、5.2 ms 和4.9 ms。在各个算法过程中,时间开销最小的是验签过程,平均耗时为4.9 极低 ms/次,时间开销最大的是加密过程,平均耗时为10.3 ms/次,但是每个算法过程的时间开销都极低,不会影响在充电服务过程中的用户体验。

6 结束语

在电动汽车充电过程中控制信息的机密性正面临巨大的挑战,例如对电动汽车信息进行篡改、窃取控制信息,严重危害智能充电桩的正常工作,给用户和服务商造成严重经济损失。

针对上述问题,本文提出一种智能充电桩控制信息的保护方案,在充电系统中所有控制信息使用SM2 算法加密,并且要求用户在提交请求时一并提高签名信息。发送方发送的数据都利用接收方的密钥进行加解密,从而保证充电服务过程中控制信息的机密性;另外,对可能作恶的用户端,要求其提交请求时附加对请求信息的签名,从而保证控制信息的真实性。该方案能够有效保障分布式智能充电桩在充电服务过程中控制信息的机密性,从而提高分布式智能充电桩充电系统的安全性。

猜你喜欢

用户端服务端分布式
Android用户端东北地区秸秆焚烧点监测系统开发与应用
新时期《移动Web服务端开发》课程教学改革的研究
分布式光伏热钱汹涌
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
在Windows Server 2008上创建应用
一种太阳能户外自动花架电气系统简介
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL