APP下载

基于区块链技术的充电桩密钥管理方案

2020-12-01高兰魏光村李庆

软件导刊 2020年10期
关键词:充电桩区块链信息安全

高兰 魏光村 李庆

摘 要:为了保证充电桩 、充电桩监控系统及运营管理平台之间通信安全与充电桩通信效率,结合区块链技术提出一种基于区块链技术的分布式密钥管理方案。从密钥生成、更新和注销3个方面进行详细介绍。优化改进椭圆曲线加密算法的标量乘法运算,将随机数[k]表示成二进制数形式,减少[kP]运算计算量,以提高椭圆曲线加密算法运算效率。改进后的算法平均只需进行[32log2k]次标量乘法运算,最多需进行[2log2k]次标量乘法运算,使在密钥产生阶段与签名阶段消耗的时长相较于椭圆曲线加密算法均缩短了20~30个百分点,在验证阶段缩短了约40~50个百分点,证明该方案具有更高的响应效率和安全性,也更适用于电动汽车充电基础设施。

关键词:区块链;充电桩;密钥管理;信息安全

DOI:10. 11907/rjdk. 201156

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2020)010-0138-04

Abstract:Charging pile communication system is an important part of better development of charging infrastructure and service of electric vehicles. The key management is crucial to the successful implementation of information security protection measures. In order to ensure the communication safety and efficiency of the charging pile, the charging pile monitoring system and the operation management platform, this paper proposes a distributed key management scheme based on blockchain technology. The article introduces in detail the three aspects of key generation, update and cancellation. We optimize the scalar multiplication of the elliptic curve encryption algorithm. The random number [k] is represented as a binary number, which reduces the calculation amount of the [kP] operation, thereby improving the operation efficiency of the elliptic curve encryption algorithm. The improved algorithm only needs to perform [32log2k] scalar multiplication operations on average, and at most [2log2k] scalar multiplication operations. Compared with the elliptic curve encryption algorithm, the time in the key generation phase and the signature phase is improved by 20-30%, and it is increased by 40-50% in the verification phase. Through the analysis of the scheme, the proposed scheme has higher response efficiency and safety, and is more suitable for the electric vehicle charging infrastructure.

Key Words:blockchain;charging pile; key management; information security

0 引言

隨着我国新能源汽车利好政策陆续出台,电动汽车产业发展迅速,积极建设充电基础设施是产业发展关键。近年来充电桩需求量大幅增加,充电桩通讯系统智能升级势在必行,但该系统面临严峻的安全问题。密钥管理作为信息安全防护措施成功实施的关键,是有序充电装置技术的重要内容。物理安全问题、报文内容安全问题和网络通信安全问题[1]是充电桩 、充电桩监控系统及运营管理平台通信系统三大信息安全问题。报文一般经加密后操作,而用现代密码算法确保报文安全的主要问题是如何确保密钥安全性[2]。

Kerckhoffs 原则将基于算法保密的安全性转化为基于密钥保密的安全性[3]。因此,如何实现电动汽车充电桩 、充电桩监控系统及运营管理平台之间的密钥安全管理是充电桩防护方案中的主要问题[4]。针对充电系统通信网络密钥泄露、未经授权使用等问题,本文提出基于区块链的充电桩密钥管理方案[5]。该方案不仅需确保通信安全,还要考虑充电基础设施计算和存储能力有限的实际情况。文献[6]基于椭圆曲线上的离散对数问题,提出一种基于ECC的分层密钥管理方案,该方案适合应用于资源受限且具有各级中心节点的通信网络;文献[7]根据安全级别构成的偏序关系设计了一种分层访问控制模型,由于该模型需广播每条有向边的公共信息,虽然减少了存储开销,但是增加了系统通信负担;文献[8]提出一种适用于多个父节点并存结构的分层密钥管理方案,该方案基于多方 DH(Diffie  Hellman)算法,但没有进行性能比较;文献[9]设计了一种基于Rabin公钥系统与中国剩余定理的密钥管理方案,但方案扩展性较差,系统需频繁分配相关参数。

本文提出基于区块链技术的密钥管理系统借助区块链特性,将系统中的运算和存储能力分散到网络众多节点中,由网络节点共储密钥,减低密钥管理中心化。与传统中心化密钥管理比较,具有较好的响应性能和抗干扰能力。

1 背景知识

1.1 区块链

2008年,区块链(blockchain)由中本聪[10](Satoshi Nakamoto)在其发表的论文《Bitcoin: a peer-to-peer electronic cash system》中首次提出。该技术是从比特币底层技术衍生出来的新技术体系,是将数据区块按时间顺序链接而成的特定的数据结构[11]。從技术角度看,区块链是一种新型技术组合,包括P2P网络技术[12]、非对称加密技术[13]、共识机制[14]、链上脚本[15-18]等多种技术。区块链技术采用加密的链式区块结构验证和存储数据,利用P2P网络技术、共识机制进行分布式节点验证与通信并建立信任关系,任何人要改变区块链中的信息,必须占据全网51%的算力,再利用链上脚本实现复杂的业务逻辑功能,对数据进行自动化操作[19]。区块链技术原理如图1所示,区块按时间顺序进行排列组成一条链式结构,每个区块均包括上一个区块散列值、本区块内容、时间戳、数字签名及共识机制。不同应用的区别主要体现在存储内容和共识机制不同[20]。

区块链体系架构如图2所示,由应用层、合约层、共识层、网络层和数据层5层构成。数据层主要保护区块数据完整性和可溯源性[21],分为数据区块和链式结构两部分,包含哈希算法、时间戳、Merkle 树、非对称加密[22]等相关技术;网络层采用P2P网络技术进行节点间数据传递和验证,包括数据传播机制及交易验证机制;共识层主要通过各类共识算法以确保数据一致性和真实性,共识机制算法是区块链核心技术;应用层封装了区块链各种应用场景和案例,如基于区块链的跨境支付平台等[14]。

1.2 椭圆曲线加密算法

椭圆曲线加密算法是利用有限域上椭圆曲线的有限点群代替基于离散对数问题密码体制中的有限循环群所获得的一类密码体制。该密码体制不仅可减少密钥协商协议,还可降低用户端计算负担和存储要求。椭圆曲线加密算法加解密流程如图3所示。

1.2.1 密钥产生

假设[E]为有限域[Fp]上的椭圆曲线,[G]是[E]的循环子群,生成元是[P],其阶是[n],并且足够大,使[G]上的离散对数是难解。随机挑选一个整数[a],使[a∈[1,n-1]],计算公钥[Q=ap];公开[(Q,P,G)],保存私钥[a]。

1.2.2 加密过程

假设[B]想把明文 [m∈Fp]加密然后发送给[A],则[B]首先要获取[A]的公钥[Q,P,G](必要时重复),选取随机数[r],并且[r∈1,n-1],计算[x2,y2=rQ],直到[x2≠0];然后计算[c1=rP=x1,y1],[c2=mx2modp],得到密文为[c1,c2]。

1.2.3 解密过程

[A]收到密文[(c1,c2)]后,借助私钥[a]计算[(x2,y2)=ac1],再利用[Fp]的元素[c2]和非零元[x2],计算出明文为[m=c2x-12modp]。

2 基于区块链技术的分布式密钥管理方案

传统密钥管理档案存在单点故障、跨域密钥传输时延较大[24]、使用效率不高和密钥管理较为复杂等问题。为了确保网络中的全部节点均能接收存储密钥信息,本文针对充电桩实际情况,采用共识机制建立系统。由于区块链具有不可篡改的特性,将信息存储在区块链链中可确保节点与密钥之间的对应关系。

该方案由充电桩运营商和充电桩组成,其中运营商为核心节点,充电桩为普通节点,各个节点之间处于对等关系。核心节点的任务是参与区块链维护,并为普通节点提供密钥。普通节点的密钥由核心节点创建签名之后存储到区块链中。

2.1 密钥生成

在每个电动汽车充电桩完成出厂测试并准备上线时,首先采用ECC算法为每个充电桩创建一对公钥和私钥。公钥主要内容包括充电桩ID、充电桩公钥、时间戳及公钥有效起止时间。每个充电桩公钥信息均需经由运营商(核心节点)创建数字签名,随后在区块链网络中进行广播。区块链中其余运营商节点接收到广播信息之后,将信息放到缓存队列中。当区块链中的节点创建新区块时,新Merkle树中的内容包括经过有效性验证的缓存队列的若干密钥信息。新创建的区块需在网络中进行广播,只有经过其它节点验证合法的区块才会被链接到区块链中。

ECC算法实现面临的挑战是运算量大,在公钥产生、加密、解密过程中均需大量的标量乘法运算,即计算[kP],其中,[k]是随机选取的一个正整数,[P]是椭圆曲线上的基点。

改进之前的运算方法,计算[kP]需进行[k]次点加操作;改进后平均仅进行[32log2k]次点加操作,最多需要进行[2log2k]次。

2.2 密钥更新

新充电桩检测上线和旧充电桩返厂维修后,均需定期更新密钥,且通常密钥在使用一段时间后,会面临遍历密钥猜测等攻击[4]。由Shannon信息论创始人提出的“一次一密”机制虽具有完美的机密性,但在实际应用中成本较高,定期进行密钥更新则可很好地兼顾机密性与经济性。

密钥更新与密钥生成阶段存在明显区别,因为区块链中已存在可以使用的充电桩密钥,所以在为新的密钥创建数字签名时可使用系统原有密钥。将创建签名的密钥信息在区块链网络中进行广播,而节点只选择最新的有效密钥,因此当进行查询操作时,新的密钥会替代之前的密钥,而原有密钥会自动失效成为无效密钥。依据区块链特性,当一个区块中存储的全部信息均为无效信息并且没有前驱区块时,核心节点无需再维护该区块。

2.3 密钥注销

当充电桩退出运行时,需注销区块链系统中的密钥。一般情况下有两种方式可以选择,一种是对密钥进行主动注销;另一种是等待密钥自动过期。密钥注销的方法是为充电桩创建一个包含空密钥的信息,然后用区块链中的密钥创建签名并进行广播,其它节点接收到这条信息时,则证明该充电桩已注销自己的密钥。

3 安全性分析

针对本文提出的密钥管理方案,从4个方面进行分析。

(1)安全性。本方案采用ECC算法为充电桩生成密钥,并由核心节点创建签名。节点生成新区块时会对该信息进行验证, 故能抵抗密钥泄露攻击,而且区块链具有多方竞争记账权的特性, 所有节点均备份区块链记录的密钥信息, 可以实现密钥共享可知性。

从图4可以看出ECC算法与RSA、DSA两种加密算法相比,ECC在抗攻击性方面具备绝对优势,并且在单位比特上具有最高强度的安全性。密钥长度为160位的ECC与1 024位的RSA、DSA的安全强度相同,密钥长度为210位的ECC与2 048位的RSA、DSA安全强度相同。ECC单位安全性高于RSA和DSA,选用ECC加密算法时,使用较短的密钥长度便可达到相同的安全强度,而且采用较短的密钥长度还可提高ECC加密与解密速度,缩短加密与解密时间,尤其是在解密和签名过程中,ECC速度比RSA和DSA快得多。同等安全强度下,用160位ECC进行加密、解密或数字签名的速度比用1 024位的RSA、DSA快5~8倍。由于ECC密钥较短,应用在充电桩中时可以节省存储空间,使其它程序可以利用更多的存储空间完成更复杂的操作。

(2)不可篡改性。假设攻击者试图篡改区块链系统中任意节点密钥,则需借助区块链分叉机制,生成一条新的主链代替试图攻击的目标链。但是进行该操作需要攻击者拥有整个系统至少51%的运算力才可完成, 且区块中的哈希函数具有抗碰撞性,在计算上不可能找到两个相同的哈希值,因此被攻击者篡改区块的哈希值与原来哈希值不同。为了使篡改后的区块链能获得系统承认,必须使该链长度大于当前系统中主链长度。

(3)前向安全性和后向安全性。本文方案中的前向安全性指充电桩或运营商退出区块链系统时,攻击者不能利用这些设备中的密钥,获取有效信息;后向安全性指新的充电桩或运营商加入后,需更新密钥才能保障通信安全。由于充电桩通信对实时性的要求并不是特别严格,所以本文密钥管理方案中的更新方法可以满足通信系统应用。

(4)性能分析。实验选取的椭圆曲线是ECC Brainpoo给出的384位标准椭圆曲线,其中参数p、b如表5所示,G 为该曲线基点、n 为 G 的阶也列在表1中。

在Ubuntu14.04平台上用C语言编写测试程序,对本文提出的标量乘法算法进行改进和性能评估,在验证实验中,用户终端环境为Windows 10系统、Intel core i5处理器、2.60GHz、64位操作系统;虚拟机硬件設置为Linux 6 x64位系统,1GB内存。

该测试程序在P-384曲线上计算,采用椭圆曲线算法加密、签名及验证时间,分析标量乘法运算对时间的影响。算法改进结果如表2所示,改进后的算法平均只需进行[32log2k]次标量乘法运算,最多需要进行[2log2k]次标量乘法运算,使在密钥产生阶段和签名阶段消耗的时长相较于椭圆曲线加密算法均缩短了20~30个百分点,在验证阶段缩短了约40~50个百分点。

4 结语

针对充电桩通信系统信息安全防护问题,本文引入区块链技术,提出了一种新的密钥管理方案,并且考虑到充电桩实际情况,采用单位安全性较强的椭圆曲线加密算法生成密钥。使用较短的密钥长度便可达到相同的安全强度,减少了密钥管理中通信和计算负荷,计算开销较小且密钥存储空间较大。试验证明该方案可以满足充电桩通信系统对安全性的需求,并且当网络中的节点增加时,响应速度会进一步提高。

参考文献:

[1] BUSH S F. Smart grid: communication-enabled intelligence for the electric power grid[M]. New York:Wiley, 2012.

[2] 李中伟,朱识天,崔秀帅,等. 基于改进NSSK协议的智能变电站密钥管理方案[J]. 电力系统自动化,2017,41(5):139-146.

[3] SURHONE L M,TENNOE M T,HENSSONOW S F,et al. Kerckhoffs' Principle[M].  Montana:Betascript Publishing,2010.

[4] 张宝军. 分布式电动汽车充电桩信息安全防护技术研究与实现[D]. 哈尔滨: 哈尔滨工业大学,2018.

[5] 莫飘. 电动汽车充电站信息安全问题的研究[D]. 北京:华北电力大学,2012.

[6] 马铭鑫,李凤华,史国振,等. 物联网感知层中基于ECC的分层密钥管理方案[J]. 通信学报,2018,39(S2):1-8.

[7] 马骏,郭渊博,马建峰,等. 物联网感知层一种分层访问控制方案[J]. 计算机研究与发展,2013,50(6):1267-1275.

[8] YAN J Z,LI F H,MA J F. A hierarchical key assignment scheme based on Diffie-Hellman algorithm[J]. Acta Electronica Sinica, 2011,39(1):119-123.

[9] SHEN V,CHEN T S,LAI F P. Novel cryptographic key assignment scheme for dynamic access control in a hierarchy[J]. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 1997, E80-A(10): 2035-2037.

[10] NAKAMOTO S. Bitcoin:a peer-to-peer electronic cash system[EB/OL].  http://www. bitcoin. org/bitcoin. pdf.

[11] XU W Y, WU L, YAN Y X. Privacy-preserving scheme of electronic health records based on blockchain and homomorphic encryption[J]. Journal of Computer Research and Development, 2018,55(10):2233-2243.

[12] DONET J A D,P?REZ-SOL? C,HERRERA-JOANCOMART? J. The Bitcoin P2P network[C]. Workshop on Bitcoin Research,2014:87-102.

[13] STALLINGS W. Cryptography and network security: principles and practice[M].  Englewood: Prentice Hall, 2010.

[14] MATTILA J. The blockchain phenomenon-the disruptive potential of distributed consensus architectures[EB/OL]. https://www.etla.fi/wp-content/uploads/ETLA-Working-Papers-38.pdf.

[15] PETERS G W, PANAYI E. Understanding modern banking ledgers through blockchain technologies: future of transaction processing and smart contracts on the internet of money[DB/OL].  https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2692487.

[16] BHARGAVAN K, DELIGNAT-LAVAUD A, FOURNET C, et al. Formal verification of smart contracts: short paper[C]. The 11th Workshop on Programming Languages and Analysis for Security, 2016:91-96.

[16] WATANABE H, FUJIMURA S, NAKADAIRA A, et al. Blockchain contract: securing a blockchain applied to smart contracts[C].  2016 IEEE International Conference on Consumer Electronics, 2016:467-68.

[18] EVANS D S. Economic aspects of bitcoin and other decentralized public-ledger currency platforms[DB/OL].  https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2424516.

[19] 劉敖迪,杜学绘,王娜,等.  区块链技术及其在信息安全领域的研究进展[J].  软件学报, 2018(7):2092-2115.

[20] 刘江,霍如,李诚成,等.  基于命名数据网络的区块链信息传输机制[J].  通信学报, 2018,39(1):24-33.

[21] DONET J A D, P?REZ-SOL? C, HERRERA-JOANCOMART? J. The bitcoin P2P network [J].  Workshop on Bitcoin Research, 2014, 8438:87-102.

[22] 曾诗钦,霍如,黄韬,等. 区块链技术研究综述:原理、进展与应用[J]. 通信学报,2020,41(1):134-151.

[23] 刘江,霍如,李诚成,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报,2018,39(1):24-33.

(责任编辑:江 艳)

猜你喜欢

充电桩区块链信息安全
保护信息安全要滴水不漏
高校信息安全防护
区块链技术的应用价值分析
浅谈充电桩接入电网后的影响
“区块链”的苟且、诗和远方
保护个人信息安全刻不容缓
用“区块链”助推中企走出去
信息安全