LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > CPChain大百科 | DID如何改善物联网隐私安全

CPChain大百科 | DID如何改善物联网隐私安全

2019-12-10 CPChain物信链 来源:区块链网络

当前,在个人身份功能的大幅扩展之下,许多个人信息和身份都储存在物联网设备之中,人们对于个人隐私信息的安全需求越来越迫切,对于身份管理解决方案的需求也变得越来越复杂,有效的管理物联网设备身份正变得越来越重要。本文作者Yki Kortesniemi,由“CPChain”社区“逻辑赵”编译。

现实中,随着物联网设备的爆发式增长,有效地标识每个物联网设备成了高效管理物联网设备的前提。


虽然,通过设备IP地址或硬件标识符进行射频识别就可以满足一般情况下物联网设备管理和识别的需求。但在特殊情况下,如果我们需要证明设备的唯一身份,还需要更加有效的解决方案,比如:使用基于加密算法的设备身份标识符。然而,这种解决方案也不能完全确保设备身份安全,一旦引入第三方参与设备的使用与认证,那么设备的唯一标识符仍然有可能被泄露,使得设备被追踪,最终设备所有者和用户的信息遭到泄露。此外,设备长时间的使用同一个标识符,在市场上不断转手的过程中,也极有可能会泄露新老用户的隐私信息。


基于此,我们需要更加一个合理合规的物联网设备身份管理方案。这一方案,应当遵守PbD和GDPR中所规定的原则:在最小化收集信息的同时,使用合理的技术保障用户个人信息安全。


为了解决用户信息被跟踪的问题,设备标识符应当支持更改。假如同一设备将在多个场景多次使用,那么,在不同的应用场景之中采用不同的标识ID将进一步有助于保障用户隐私。


实现这些可变标识符的一种方式是使用分布式标识(DID),这是一种开放授权性质的新型标识符技术,DID允许用户自主创建,管理和取消身份标识,并支持同时创建多个身份标识,保护个人隐私信息。当前,DID的开发和实现正在不断深化之中,已有多种开源计划提供免费的DID解决方案。

物联网标识符可能会带来隐私问题


下图是关于电动汽车充电应用场景的描述,该场景中,电动汽车用户可以在不同充电桩平台充电,此外,为了优化电网负载,用户在特定时间段或特定位置为电动汽车充电还可获得激励。


该应用场景存在多个参与方,除了电动汽车用户外,还有电厂、电力供应商、充电桩服务商。其中,电力供应商需要合理配置城市不同区域不同时段的电力供应,而充电桩服务商则通过电力供应商购买电力,供给电动汽车用户充电服务,每个参与方的利益诉求各不相同。提供商希望优化电网负荷,降低输电成本,为用户提供更好,更便宜的服务,为此需要获得更多用户信息,例如充电位置和车辆驾驶方式,提供更具能源灵活性的产品。当然,用户的个人数据的分析和采集,可以为车主和电力供应商获得一定的经济收益,但这些数据属于个人隐私信息,在这种情况下,尽管用户可能已经同意将个人数据透露给电力供应商,但其他参与方(如充电桩服务商)仍有可能通过车辆的永久标识符获取用户身份。


因此,我们需要一种可变的标识符来标记汽车,并将该标识内置于整车架构之中,这样,电力提供商无需知道具体汽车身份,只需识别充电桩所属服务商和充电站的大致位置即可,同时也能保障用户隐私不受侵犯。


对于电动汽车而言,无论从技术还是财力,都可以为物联网设备提供充足的资源应用DID身份标识方案。但如果将整个DID应用放在整个物联网领域来看,还需要考虑更多因素:首先,并非所有物联网设备支持DID,一部分陈旧的物联网设备在计算能力,存储空间,可用能量甚至是熵源方面都受到极大的限制,这意味着这些物联网设备可能根本无法执行基于公共密钥的加密操作,甚至可能缺少密钥的永久存储空间。其次,大多数物联网设备通常依赖于无线连接,安全性较低,并且更容易受到隐私和安全性攻击。再次,物联网设备可能会长时间的断开网络连接,因此错过关键的安全更新。最后,缺少用户交互界面(例如,输入必要的密钥,证书和设置),使得管理和升级设备将变得更加困难。


这些问题,都是在物联网设备中应用和推广DID需要考虑到客观条件。

分布式身份标识(DID)


过去几十年里,基于互联网的个人身份账号体系日趋成熟,然而各个平台之间的身份认证仍然不能实现互通,每个平台都需要搭建自己的身份账号系统。Google,Facebook和Twitter等,相继推出了关于社交账号登录的解决方案,用户只需要拥有该公司的身份账号,即可登录其他平台,对于个人而言,这一解决方案大大减少了用户管理多个账号的负担,但于此同时,个人对于平台方的依赖也日渐加强,随着平台的垄断地位开始形成,用户个人账户的大量信息掌握在平台方手中,平台方对用户的个人隐私造成了严重的威胁。


分布式身份标识(DID)备受关注,作为一种消除平台方垄断身份标识的解决方案,备受关注。当前,市面上已有数个关于DID的解决方案正在开发中,大部分DID解决方案,都是以W3C DID规范的方法和格式为基础,在实际应用中,更具互操作性和实用性。W3C 所制定的DID规范将DID定义为一串随机字符串(以“did”为前缀,并指示特定DID技术的字符串),下图为Sovrin DID典型结构:


DID的创建和管理不依赖于传统权威发证方,而是由身份所有者创建和管理。许多DID解决方案都是基于区块链技术来获取公共DID身份,而对于私有DID(例如,由想要保留的个人使用),则需要使用特定渠道分发信息。一些DID(例如Sovrin和Veres One)是基于拜占庭容错(BFT),一些则是依赖基于现有的区块链搭建(例如uPort建立在以太坊之上)。


在物联网设备上部署DID的可行性


应用分布式标识和可验证凭证,物联网设备应具有以下条件:


1)足够的性能来执行加密和普通操作

2)拥有一定的容量储存代码和密钥;

3)支持随机密钥生成。


从性能的角度来看,最大的限制因素是公钥加密操作的性能,即密钥生成、签名生成和签名验证。目前,大多数DID解决方案都使用椭圆曲线算法(ECC)。当前,8位微控制器通常以16-32MHz的频率运行,因此即使是这种极为受限的设备也能在几秒钟内执行DID所需的所有必要的加密操作,对于大多数物联网设备而言,都在可承载的性能范围之内。如果物联网设备的更新所耗流量较少,则可使用公钥对这些更新中的每一个信息签名或加密,但如果IoT设备需要耗费大量流量,在使用DID执行初始身份验证和密钥交换后,可使用更加轻量的对称加密和基于哈希的消息身份验证代码(HMAC)。


除了性能之外,还需要考虑能耗问题,相比于无线传输的能耗或IoT设备的总体能耗,加密公钥所产生的能耗非常低,即使是最简单的8位微控制器,ECC操作的所产生的能耗也在合理区间之中,并且针对密码操作的优化硬件加速器甚至可以降低能耗。因此,在大多数物联网应用中,能耗并不会制约公钥加密技术和DID的应用。


而加密密钥的存储对于硬件存储的空间要求也非常低。ECC所提供的密钥和签名,其大小分别为256位和512位,其安全级别等效于128位对称加密。因此,一个公钥/私钥对仅占用64字节,即使整个存储空间仅有几千字节,也足以存储多个密钥。


最后,生成安全的加密密钥需要足够的熵源。对于物联网环境是一个挑战,在物联网环境中,设备的信息输入源有限。比如,通过嵌入在设备处理器中基于硬件的随机数生成器来提供熵。如果基于硬件的随机数生成器不可行,设备的私钥也可以从其他地方生成,比如,由已经在工厂生产的制造商或由使用设备时的设备所有者生成,但是,让制造商为设备生成密钥显然会带来安全风险。因此让所有者生成密钥显然是更好的解决方案,所有者在初始化过程中充当熵的额外来源,仅让设备获得生成的密钥。


为了证明低性能的设备也有足够的性能来部署DID,uPort在第一代树莓派(700 MHz BCM2835 CPU,512MB RAM,2012年发布)上运行了Raspbian GNU/Linux 9版本,并使用Node.js“ ethr-did” 软件包的最新代码进行测试。每次测试中的单次运行包含数百次操作,该测试重复了三次,在实际测试之中,密钥对和签名生成耗费了约126?ms,而生成密钥对并立即生成签名总共耗费了230?ms,如下表所示。


相比于现代设备,第一代树莓派性能落后颇多,使用的是基于ARMv6指令集的单核ARM CPU,而最新的树莓派使用的ARMv7或ARMv8设备将提供的性能更高,假如设备具有硬件加速功能,执行加密操作还可更快。此外,uPort使用的JavaScript和Node.js环境是一种相对较慢的解决方案,使用C语言编写的DID程序将执行的更快,并且所需的内存和存储空间将大大减少。因此,可以将运行测试的设置视为压力测试。尽管如此,当前uPort节点在第一代树莓派上生成签名仅需要126毫秒,整个解析和验证过程不到一秒。


总体而言,大多数32位CPU设备都可将DID与当前可用的软件配合使用,而对于功能和性能更加简单的设备(例如8位微控制器)则可通过优化软件实现DID的使用。对于汽车而言,车辆内部的物联网设备拥有足够的计算资源和性能,因此DID可以轻松集成到电动汽车充电服务之中。


DID能在多大程度上改善隐私?


DID提倡使用匿名标识,并对每项应用使用不同的标识,甚至在一定的时间段内变换身份标识,使得不同服务中通过标识关联和追踪用户更加困难。在许多系统中,主要考虑的是系统中各方之间的隐私权限。在上文所提到的电动汽车充电的案例之中,电力供应商和充电桩服务商是公共实体,无需隐藏身份,主要考虑的是电动汽车车主对于隐私的需求。实际应用场景中,电力供应商通常会在收取费用时获得车主身份信息,这一途径需要通过充电桩平台,电力供应商需要授权充电桩运营方,因此充电桩平台方同时也获得了汽车身份ID,但事实上,充电桩运营方并无了解用户信息的必要。


于此同时,充电桩平台方将向电力供应商提供一部分数据报告,如每辆车充电量,充电位置与时间,通过这些数据,电力供应商可以挖掘并以了解车辆分布大致位置及其汽车用户的行为习惯,而用户则面临着个人隐私数据被平台泄露的风险。


引入DID之后的解决方案如下图所示:充电桩运营商也为每一个充电桩赋予DID身份,运营商可以为电力供应商提供用户的车辆充电费用数据,但对于充电桩的位置信息则对电力供应商保持隐藏,而车辆同样采用DID身份,以确保用户个人车辆信息得到保障。


当然,值得注意的是,即使使用可变更的标识符来进行交易,运营商们也能够通过获取服务相关的其他数据来推测并获取车辆信息。例如,在车辆充电过程中,车辆的类型和型号以及车辆中电池系统的特性等信息,充电桩运营方都可以采集用于识别车辆的信息。但相比于过去传统的解决方案而言,采用可变更的DID标识符,将大大增加用户隐私的安全系数,各个场景之中应用不同的标识符会使跨场景的获取关联用户数据变得更加困难。

结论


在当下众多解决方案之中,DID是一个比较合适的保证物联网设备隐私的标识符解决方案。其实现门槛较低,在大部分设备上都可实现,对于一些性能较低的物联网设备则可以使用代理的方式(例如,基于OAuth-ACE),当然仅仅只是对单个设备引入DID还不够,想要真正的保护设备的用户和所有者的隐私,还需要对系统之中的所有物联设备采取同样的措施。


目前,DID的研发尚在初期,还有很多工作尚待完成,比如设计和评估DID的代理解决方案,与其他标识符解决方案相比DID的缺点及优势评估,基于某些具体应用场景之中的DID解决方案,如何通过DID增强物联网设备授权等问题。


当下大多数DID解决方案采用的是分布式账本和区块链技术,虽然DID离真正商用尚且有一段距离,但在物联网设备大爆发的大背景之下将区块链技术与DID相结合无疑是一个充满希望的研究方向。


—-

编译者/作者:CPChain物信链

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...