同态加密在物联网区块链数据安全中的应用
2018-03-19田承东
◆田承东
同态加密在物联网区块链数据安全中的应用
◆田承东
(中国电子科技集团公司信息科学研究院 北京 100098)
当今,物联网在全球范围内呈现加速发展的态势。著名咨询机构Gartner预计到2020年全球联网设备数量将达到260亿个,物联网市场规模达到1.9万亿美元。与此同时,物联网潜在的数据传输和隐私保护上的安全漏洞也迅速增长,给物联网的发展带来了极大的困难。“设计始于安全”是降低泄露风险的最佳思路,本文将以数据传输计算的基本周期为依据,来阐述同态加密作为数据保护技术对物联网的推动作用。详细讲解同态加密的发展历程、原理及物联网区块链数据保护的思路,并对同态加密的具体案例进行分析,提出同态加密在物联网区块链数据安全中的具体应用方案,给出物联网在数据安全及隐私保护发展上的新方向。
物联网;同态加密;隐私保护;应用;区块链;数据安全
1 同态加密简述
1.1什么是同态加密
同态加密是很久以前密码学界就提出来的一个开放性问题。早在1978年,Rivest等人就以银行为应用背景提出了这个概念。以往人们只找到一些部分实现这种操作的方法。而2009年9月Craig Gentry的论文从数学上提出了“全同态加密”的可行方法,即可以在不解密的条件下对加密数据进行任何可以在明文上进行的运算,使这项技术取得了决定性的突破。人们正在此基础上研究更完善的实用技术,这对信息技术产业具有重大价值。
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。换言之,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。其意义在于,真正从根本上解决将数据及其操作委托给第三方时的保密问题。
1.2如何理解同态加密
一般的加密方案关注的都是数据存储安全,即数据持有者要给其他人发个加密的东西,或者要在计算机和其他服务器上存储一样东西,就需要对数据进行加密后进行发送或者存储。没有密钥的用户,不可能从加密结果中得到有关原始数据的任何信息,只有拥有密钥的用户才能够正确解密,得到原始的内容。我们注意到,这个过程中用户是不能对加密结果做任何操作的,只能进行存储、传输。对加密结果做任何操作,都将会导致错误的解密,甚至解密失败。同态加密技术关注的是数据处理安全,提供了一种对加密数据进行处理的功能,也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
1.3同态加密基本原理
假设有函数E满足E(a)+E(b)=E(a+b);E(a)*E(b)=E(a*b),那么这就叫全同态,满足其中之一就是半同态,加密就是那个E函数,解密就理解为如果F(a)=x,D(x)=a整个加密E和解密D就是全同态加密,其中还有公钥、私钥等变量,这个函数的优点在于我们对密文F(x)运算,对结果解密之后,就得到了想要的原文运算结果。同态性是指在加密后保持一定的结构稳定,使对明文的运算等价于对密文的运算。在现实中,可以用于云计算加密,比如公司需要将大量数据交由其他云计算公司去做,但数据比较敏感,不希望别人知道,这时候就可以利用同态加密。同态加密中设置的算法可以是多种多样的,但是同态加密的根本知识还是依赖于数论,数学矩阵等一系列基础知识。
1.4同态加密新的发展方向
(1)同态加密中的函数映射
数据发送者在处理数据的整个过程大致是这样的:发送者首先对数据进行加密,并把加密后的数据发送给传递数据的中间媒介(可能是数据传递厂商、数据传递平台),用户向中间媒介提交数据的处理方法,这里用函数F来表示;中间媒介在函数F下对数据进行处理,并且将处理后的结果发送给用户,用户对数据进行解密,得到结果。据此,我们可以很直观的得到一个该方案应该拥有的函数:密钥生成函数。这个函数由用户运行,用于产生加密数据所用的密钥。当然了,应该还有一些公开常数a,b等。同时也会得到一个函数:加密E函数。这个函数也由用户运行,用K函数对用户数据进行加密,得到密文CT和评估函数。这个函数就可以由中间媒介运行,在用户给定的数据处理方法F下,对密文进行操作,使得结果相当于用户用密钥对数据进行加密。同样的,根据F的限制条件不同,该方案实际上分为了两类:一类是该方案支持任意给定的F函数,只要这个F函数可以通过算法描述,用计算机实现,但这种F函数计算开销极大,暂时还无法在实际中使用;另一类是指在特定的条件下改进后的F函数,改进后的方案只支持一些特定的F函数,所以这个方案的表达能力稍弱,但这也意味着开销会变得较小,容易实现,重要的是现在已经可以在实际中使用。
那么我们怎么判断这个方案的安全性呢?直观地说,就是密文不泄露明文中的任意信息。这里密文的意思就是加密后的结果;明文的意思就是原始的数据。如果用公式表述的话,为:
这里pk代表公钥,是非对称加密体制中可以公开的一个量。公式中的约等于符号,意味着多项式不可区分性,即不存在高效的算法,可以区分两个结果,即使已知m0,m1和pk,也不一定能够得到精确地结果。原因在于加密算法中还用到一个很重要的量:随机数。也就是说,对于同样的明文m进行加密,得到的结果都不一样,即一个明文可以对应多个密文。所以即使已经知道m0,m1了,在看到加密结果后,对m0或者m1再执行一次加密算法,也不会有精确相同的结果。
(2)矩阵向量工具在同态加密的优势
从上面的论述中我们知道了同态加密的概念,了解了同态加密的基本原理,认识到了同态加密的重要性,下面我们就来讨论一下同态加密中矩阵向量的作用。众所周知,向量是一个具有大小和方向的量,同时向量具有指向性,只要在向量前面加一个负号,向量就会反向。而向量在数学中是作为一个工具。所以我们在同态加密的设计加密算法中可以借助向量的知识进行加密。通过用数学的方法我们可以用多组向量对数据进行加密,加密完毕之后,再用计算机软件生成随机向量来测试该加密结果的可靠性,然后根据这组向量的反方向向量做出相应的密钥,这个密钥的制造方法很简单,但是破解起来却很难。当数据传输完成,接收者就可以通过密钥进行解锁,获得原始数据。如果将矩阵应用在同态加密这个领域,那么同态加密将会变得更加安全可行。矩阵是由一系列列向量组成的,如果我们用许多组向量组成一个矩阵,然后测试该矩阵的行列式是否等于零,如果不等于零,那么该矩阵就有逆矩阵了,而且这个逆矩阵是唯一确定的。所以我们在设置加密算法的时候可以很好的应用矩阵这个优势,采取多个矩阵组成一个矩阵组,用计算机软件对这些不相干的矩阵组对数据进行加密,然后同样借助计算机工具求出这个矩阵组的逆矩阵,将他们进行随机编排,形成解密数据的密钥,那么这样相比向量组来说,安全性能会更高一点,但是计算量也会随之增大。
2 物联网区块链数据安全
物联网安全性的核心缺陷,就是缺乏设备与设备之间相互的信任机制,所有的设备都需要和物联网中心的数据进行核对,一旦数据库崩塌,会对整个物联网造成很大的破坏。而区块链分布式的网络结构提供一种机制,使得设备之间保持共识,无需与中心进行验证,这样即使一个或多个节点被攻破,整体网络体系的数据依然是可靠、安全的。
区块链技术可以为物联网提供点对点直接互联的方式来传输数据,而不是通过中央服务器,这样分布式的计算就可以处理数以亿计的交易了。同时,还可以充分利用分布在不同位置的海量闲置设备的计算力、存储容量和带宽,用于交易处理,大幅度降低计算和储存的成本。另外,区块链技术叠加智能合约可将每个智能设备变成可以自我维护调节的独立的网络节点,这些节点可在事先规定或植入的规则基础上执行与其他节点交换信息或核实身份等功能。这样无论设备生命周期有多长,物联网产品都不会过时,节省了大量的设备维护成本。
3 同态加密在物联网中的应用
3.1数据处理与隐私保护
由于物联网平台设备功能不断增强,用户数量的增加,物联网需要传输的数据也越来越多。而且在这些数据中,还夹杂着许多关乎某些项目甚至企业的关键性数据,这些数据的安全等级是毋庸置疑的。但是目前如果只凭借物联网自己的数据处理传输技术,不能很好的保证这些数据在传输过程中的安全性,这就需要我们借助外部工具对其进行加密处理,同态加密的重要性也就显示出来了。
物联网中数据产生的主要部分是传感网络,通过传感网络可以获悉物联网设备的众多信息,其中包括物本身的ID信息以及相关的属性、状态、位置、能力等信息。我们可以利用区块链对于传感网络产生的ID、图像、声音、环境数据、位置数据、状态信息、能力信息等进行存证。利用区块链无中心化且非经过多方验证无法修改的特性产生应用场景,为了确保存储在各节点的共享公共账本中的数据安全性,我们引入同态加密的技术,核心在于解决物体之间进行互操作的信息安全问题,将区块链公共账本的数据内容和交互数据、物体状态能力数据进行同态加密。利用加密算法的同态特性实现在物体信息存证和物体互操作时,无需解密成明文即可完成信息的运算交互处理。例如可以在供应链上追踪物品ID和位置信息,或者在保险领域记录突发事件的环境数据和其他重要机器状态数据,在需要综合验证场景信息时候提供证伪。
3.2 SWHE算法研究举例
实现同态加密的关键是对于任意复杂的明文操作,要求都能构造出相应的加密操作,使得加密算法在复杂环境下对于加法和乘法都具有良好的同态性。这并不是一个简单的问题。目前尚没有真正可用于实际的全同态加密算法,现有的多数同态加密算法要么是只对加法同态(例如Paillier算法),要么是只对乘法同态(例如RSA算法),或者同时对加法和简单的标量乘法同态(例如IHC算法和MRS算法)。但是不能同时具有加同态和乘同态。这种同态性用处就不大了,只能作为一个性质,这类方案的同态性一般也不会在实际中使用的。在此我们看一下SWHE加密方案,看看是怎么有乘同态特性。SWHE加密方案的密文形式为:r是加密过程中选的一个随机数,g是一个生成元,h是公钥。如果我们有两个密文:我们把这两个密文的第一部分相乘,第二部分相乘,会得到:也就是说,相乘以后的密文正好是m1,m2所对应的密文。这样,用户解密后得到的就是m1,m2的结果了。而且注意,整个运算过程只涉及到密文和公钥,运算过程不需要知道m1,m2的确切值。所以我们说m1,m2具有乘同态性质。但是很遗憾,其没有加同态性质。
4 同态加密搭载物联网区块链数据安全的方案设计
区块链数据安全的核心在于去中心化的实现价值交换及合约验证。我们用物联网中物体的属性、状态、位置、能力等数据内容作为物体价值的载体。传感网络产生的信息本身就具备价值特性,执行机构也能用行为产生价值,这些价值在设备间流动可以利用区块链的货币特性;可以催生出具备自主资源产生能力的设备,这些设备产生的资源可以为机器服务更能为人服务,价值交换与合约完全以区块链数字货币与智能合约的方式进行保障。
4.1方案设计
在已有的物联网网络中加入区块链机制,将每个物体的状态能力等信息利用物联网边缘节点进行分布式存储。我们在物联网边缘节点按10:1的比例分配独立计算单元,处理同态加密解密等运算能力较高的任务。首先我们定义物体交互能力是指该物体能够被其他物体调用的数据或功能,能力交互就是指在多个物体之间利用差异能力的组合共同完成需求任务。在一个区块链网络上,一个物体发起能力交互需求,经全网节点验证,交互接收物体收到交互诉求并完成能力交互操作,该方法的步骤具体为:同态密钥生成,由一个可信任的第三方机构生成一对同态密钥作为全网的同态密钥,公开其同态公钥,私钥保存在第三方机构中。发送物体的区块链账户分为待交互的能力描述和未交互的能力描述;用全网同态公钥加密该物体的待交互能力与未交互能力,记为密文capX1和capX2;用接收物体的同态公钥加密待交互能力,得到密文capY1,此操作采用FHE同态加密的算法;发送者发起交互,交互能力内容包含capX1、capX2和capY1三个字段;全网节点验证能力交互信息,由于公共账本上以同态加密密文形式存储全网物体的真实能力描述,验证后统一维护公共账本;更新接收物体的剩余能力描述。此方法实现了利用同态加密技术隐藏区块链上的能力交互描述和物体已用未用的能力信息,解决了传统的区块链交易中暴露了真实的物体属性、状态、位置等隐私信息的问题,实现了物联网区块链上的隐私保护功能。
4.2 FHE同态加密方案可行性分析
我们希望FHE方案可以支持任意的函数F,这恰恰和物联网的核心不谋而和,物体之间的交互算法不是固定不变的。但是我们想要构造FHE,就需要计算机原理考虑。计算机无论做何种运算,归根到底都是位运算。那么,计算机至少要支持哪些位运算,才能够支持所有的运算呢?实际上,一个计算机只要支持逻辑与运算,以及异或运算,那么这个计算机理论上就可以实现计算机的其他运算了(我们称之为图灵完备性)从抽象代数考虑,我们只需要加法和乘法就可以完成全部运算了。但其实更严格的说,只要我们在一个域上构造FHE,理论上我们就可以支持所有的F。基于LWE问题的FHE只能针对1 bit进行加密,因此现在的构造都是从计算机原理考虑。也就是在bit的层面上实现FHE方案,或者更严谨地说,从电路层实现FHE方案,如果要考虑电路层的具体构造,就会上升至一个新的领域的加密问题,需要跨专业,跨行业进行研究,虽然有难度,但是有很大的开发空间。
4.3安全分析
在本文中采用同态公钥加密函数来对物联网节点之间传递的信息进行加密,因而是安全的,不会被攻击者攻破,从而可以保护目标移动路径、状态信息、所处位置等相关隐私信息。此外,字典攻击也有可能被攻击者采用。也就是说,攻击者只需要不断地向中间信息转发节点交换相遇概率信息,就可能将目标节点与转发节点的相遇概率锁定在很小的范围内。此时的处理分析如下:首先,保护基于消息发送节点相遇概率P的隐私。消息发送节点在发送自己与目标节点的相遇概率P给中间转发节点(如果是攻击者假冒)之前,对该概率采用同态加密函数及密钥进行了加密处理,攻击者如果没有掌握密钥KID,不能攻击该加密数据。其次,基于消息转发节点相遇概率的隐私保护。对于消息发送节点与转发节点之间的信息交互也需要保护,以保护转发节点与目标节点之间的相遇概率P隐私。主要有以下两方面的措施。第一,真实数据隐藏。为避免攻击者直接窃取相遇概率,文中将相遇概率P所在的区间端点信息以及其他一些虚拟的数据共同组成一个集合,将真实的数据隐藏在集合中。第二,集合元素加密。为避免字典攻击,消息转发节点用私钥加密集合中的每个元素,没有获取该私钥,攻击者将很难解密信息。
5 总结及展望
我国物联网行业在国家政策的大力扶持下,取得了非常显著的成绩,但是物联网在大数据处理和传输上面依然是有很大的风险,同态加密是确保数据处理安全非常有效的手段,将会对物联网的区块链数据安全起到重要作用。同态加密不仅能够将原始数据进行加密,在传输过程中也可以让外部媒介对数据进行处理,接收者借助密钥对加密过的数据信息进行解密后,得到的与原始数据处理后的结果一致。解决物体之间数据和能力交互传输的安全性问题,同时在人机交流、传感器和信息采集方面也有显著的作用。随着同态加密技术的不断发展,相信在不久的将来,在困扰物联网的物体智慧互联、能力交互数据安全等疑难问题上,同态加密也将显示出其强大的动力,能够推动物联网数据安全的发展进步。
[1]Ron Rivest, Leonard Adleman, and Michael L. Dertouzos. On data banks and privacy homomorphisms. Foundations of Secure Computation,1978.
[2]Craig Gentry. Fully homomorphic encryption using ideal lattices. STOC 2009. Also, see “A fully homomorphic encryption scheme”, PhD thesis, Stanford University,2009.
[3]刘艮, 蒋天发.同态加密技术及其在物联网中的应用研究[J].信息网络安全,2011.
[4]李超良, 刘琴, 谢永明等.基于同态加密的物联网隐私保护计算方案[J].计算机工程与应用,2015.
[5]曾萍, 张历, 杨亚涛等.一种基于HECRT的物联网密钥管理方案[J].计算机工程,2014.
[6]吴琦.浅谈同态加密技术及其在物联网中的应用[J].通讯世界,2015.
[7]刘培鹤, 孟一诺, 涂津尘等.应用于物联网的Paillier同态信息检索方案设计[J].北京电子科技学院学报,2012.