使用分布式帐本技术验证健康活动数据

本文是一篇学术论文,于2018年7月17日发表于《计算与结构生物技术期刊》,该论文主要讲述了如何将分布式帐本技术(IOTA Tangle)和IOTA扩展模块MAM应用于医疗保健领域的患者数据控制。

联合作者:

James Brogan(英国伦敦大学学院,健康信息学和多专业教育中心;美国布朗克斯,艾伯特爱因斯坦医学院)

Immanuel Baskaran(英国伦敦大学学院,计算机科学)

Navin Ramachandran(英国伦敦大学学院,健康信息学和多专业教育中心)


摘要

按需数字化医疗保健生态系统即将问世。它有可能从人口层面收集的“大数据”中提取大量信息,以增强患者层面的预防和精准医疗。这降低了由专业人员提供的医疗保健服务的成本,同时还可以提高效率和服务品质。然而,在安全的大规模部署算法、数据和模型之前,仍然存在安全和隐私方面的问题需要解决。本文将讨论分布式账本技术如何通过确保可穿戴式设备和嵌入式设备生成的数据的真实性和完整性,在促进电子健康方面发挥关键作用。我们演示了如何使用IOTA协议的掩码认证消息(Masked Authenticated Messaging,简称MAM)扩展模块来安全地共享、存储和检索使用防篡改分布式帐本的加密活动数据。

关键词

活动数据 区块链 分布式账本技术 电子健康 医疗传感器 远程监控 可穿戴设备


1、介绍

1.1、电子和移动健康

我们正在迈向一个未来,在这个未来中,健康领域的信息和通信技术将在大多数患者的日常生活中随处可见。与移动设备和嵌入式设备的电子处理相融合,有可能提高个性化护理的访问、效率和质量[1,2]。可穿戴设备和嵌入式设备(如心脏起搏器、智能血糖仪和活动追踪器)与远程监测和远程医疗服务结合,将最大程度的减少患者在日常生活中受到的干扰,从而使患者得到更好的护理和保持健康。虽然这些网络物理系统的实施可以极大地造福整个社会,但是每个病人的安全和隐私必须得到保证。

为了实现一个逐渐分散化的医疗保健系统,大规模数据的算法处理将会对持续监控健康指标的模型进行训练,并实时的报告或处理异常情况。有效模型和算法的持续发展对于改善医疗保健至关重要,并且应该是医学界内部的一个开放和审查的过程。随着这些共享模型和算法不断的得到改进,设备可以以联合的方式提交和接收OTA无线更新[3]。

这个过程必须是安全的,用于训练模型的数据应该是不可篡改并且是可验证的。这将有助于获得临床医生和患者的信任,从而帮助动员相关者提供其数据以便进行分析。为了实现这一可验证的未来,医疗保健技术人员必须超脱现有工具的范畴。分布式账本技术的出现有望弥合这一差距。

1.2、分布式帐本技术

分布式帐本是一种分布式数据库,由P2P网络中的节点运行的共识协议来维护。此共识协议取代了中央管理者,因为所有的对等点(peer)都有助于维护数据库的完整性。没有中央控制者意味着个人可以重新获得数据的控制权。

分布式账本技术可以分解为两个基本层,如图1所示[4]。第一层是结构层,它是通信、共识、公钥基础结构和数据库结构的代码库。第二层是应用层,这一层可以包含逻辑,并且任何人都可以创建新的分布式应用,这些应用运行在结构层之上。重要的是要了解开发和维护结构层的个人是否能够控制系统的核心功能。因此,这种技术具有一定程度的集中化。然而,应用层中存在分布式治理模型的概念,并使网络参与者在将来对结构层的更新拥有发言权。

使用分布式帐本技术验证健康活动数据

图1:分布式帐本的层

虽然分布式账本允许任何对等点创建新交易并从共享数据库中读取,但诚实的对等点能够发现对历史交易的恶意篡改。这使得攻击者在被所有网络参与者接受后很难改变交易。通过这种方式,所有对等点都可以自由地读取和写入分布式帐本,且不必担心对手会破坏存储在分布式帐本上的历史数据。

之所以能够实现这种免信任的环境,是因为现代加密原语(例如单向散列函数)和分布式共识协议组成了结构的一部分[5]。写入分布式帐本的所有交易都以一种可以轻松验证的独特方式与现有交易进行加密连接。这些关系在对等点之间建立年表和信任,因为存档交易的任何变化都通过帐本进行传播,如图2所示。

使用分布式帐本技术验证健康活动数据

图2:数据块之间的关系建立在a)中,通过使用单向散列函数H将它们链接在一起,如果数据d1在b的第二个块中被改变,则所有后续块的散列都被改变。

专用的分布式共识协议允许在P2P网络中共享数据库,而不需要所有参与者相互信任。以一种免信任的方式在多个对等点之间分布数据库,已经实现了新的分布式应用,例如加密货币和智能合约[6],[7],[8]。尽管这一新兴技术前景光明,但目前的协议仍面临着需要在延迟和交易确认之间作出取舍权衡的问题。通常的做法是等待6个区块被添加到最长的链中,之后才会达到交易在比特币网络中确认时的高水平的信任。这相当于大约等待一个小时[9]。需要进行价值交换和有低延迟需求的应用无法确定它们的交易是否在较短的时间框架内得到了确认,并且必须相信付款人不会进行双花[10]。

当前促使这些协议进行病毒式传播的激励方案使得计算资源的利用率很低,同时限制了网络上的交易速率。比特币协议的整个网络目前仅支持每秒不到4笔的交易,每笔交易的费用可能超过1美元[11,12]。类似地,以太坊协议目前的整个网络每秒处理的交易少于10笔,每笔交易的费用至少为0.50美元[13,14]。要在金融或其他工业用例中大规模的使用这种低吞吐量和高费用模型的分布式帐本是不可行的。

分布式系统领域的诸多研究均是由Lamport、Shostak和Pease[15]共同描述的拜占庭将军问题引发的。这些研究探索了各种网络拓扑和维护分布式帐本完整性的分布式共识协议,同时促进了高交易吞吐量以及零交易费用。有几个值得注意的协议声称可以实现上述属性,它们是Algorand, IOTA, hashgraph和Ouroboros[16],[17],[18],[19]。虽然我们看到这种技术对于电子金融的未来非常有希望,但实际上在每个数据驱动的行业都有它的一席之地。在本文的其余部分,我们将重点讨论以医疗保健为中心的IOTA应用,这是一种免费、无许可的分布式帐本协议,旨在克服分布式帐本技术早期迭代所面临的可扩展性问题。

1.3、目标

本研究以之前的工作为基础,描述了区块链技术和快速医疗保健互操作性资源(FHIR)如何促进分布式患者数据存储(如健康信息交换网络)的发展。虽然这些工作描述了医疗保健领域中区块链的价值,并关注网络架构和结构层的共识,但我们采取了更加细粒度的方法[20],[21],[22],[23]。本文重点介绍可穿戴设备和嵌入式设备生成的健康活动数据到分布式帐本的传输。特别是,我们使用来自IOTA堆栈应用层的掩码身份认证消息(MAM),用于加密,验证和广播作为FHIR观测资源的活动数据到IOTA网络[24]。这种新模式有可能使患者重新掌握对其健康活动数据的控制权,并改善数字医疗生态系统各个方面的数据共享能力。

在第2节中,我们将介绍IOTA协议及其MAM扩展模块。然后在第3节中描述我们的实现。第4节则概述了经过验证的数据结构及其理论基础。在本文的其余部分,我们将展示并讨论我们的案例研究结果以及对未来工作的一些规划。

2、背景

2.1、IOTA

IOTA被设计为一种轻量级和可扩展的协议,用于充当物联网设备之间安全数据通信的主干。它通过解决延迟和费用这两个主要痛点来将自己与传统区块链分布式账本协议区别开来。IOTA没有区块和矿机的概念。相反,所有想要添加到IOTA分布式账本(即“tangle”)上的交易,必须通过解决类似hashcash[25]的低成本计算谜题来验证帐本上的两个未确认的交易。这种机制使新的体系结构具有可扩展的交易确认率方法,如图3所示。此外,IOTA协议的安全性和操作模型的设计考虑到了带宽受限的环境和量子计算。因此,基于散列的签名与协议的设计目标完全一致。在IOTA协议中实现的Winternitz一次性签名方案提供了对量子计算的抵抗力,并且由于计算和通信的低功耗要求,所以可以在传感器网络中进行高效的广播认证[26],[27]。

使用分布式帐本技术验证健康活动数据

图3:Tangle是一种有向无环图(DAG),它要求每个传入的交易验证两个未批准的交易,以便成功附加到图(graph)中。白色方块表示已批准的交易,而灰色方块表示未批准的交易。

由于向网络广播交易并将其存留到tangle中不需要支付费用,因此使用IOTA协议来确保数据的完整性是可行的。IOTA提供了一个名为MAM的扩展,这是一个作为第二层数据通信协议的实验模块[28],[29],[30]。MAM扩展了IOTA交易的功能,通过对数据流进行加密和验证,就可以在结构层之上启用新的应用。因此,用户可以广播和检索经过加密和验证的以零值交易的方式通过tangle传输的数据流。

当前实现MAM扩展的两个关键特征是后量子加密和前向交易链接。后量子加密算法被认为可以抵御足够强大的量子计算机的攻击。目前的大多数加密算法都不具备这种能力,并且在将来传输敏感数据时,后量子加密算法是至关重要的。

MAM中的前向交易链接类似于称为单链表的数据结构。给定交易n,它具有指向交易n+1的指针,但是却无法知道交易n-1的位置。因此,它们不能读取其入口点之前数据流中的任何消息。这实现了前向保密的概念,即只能够读取未来的交易(图4)。这些功能使MAM可以应用于无线传感器更新、数据市场和身份管理等各种应用。

使用分布式帐本技术验证健康活动数据

图4:前向交易链接。给定地址a n,订阅者可以定位交易并检索下一个交易的地址,即n + 1。这使订阅者能够在其入口点或入口点之后检索交易,而不能检索入口点之前的交易。

2.2、IOTA交易与MAM之间的关系

IOTA的Tangle由运行IOTA参考实现(IRI)并通过JSON-REST HTTP 接口[31]进行通信的节点网络进行维护和增强。IOTA Tangle的功能单元是交易。交易的当前剖析在参考资料[32]中。

交易对象的每个字段服务于一个单一的目标,只有signatureMessageFragment字段是个例外。这个字段最多可容纳2187个trytes,它可以包含基于值的交易的用户数字签名,或者包含IOTA网络上发布的零值交易的用户定义数据。在此字段中存储用户定义数据的能力为tangle打开了大门,使其成为防篡改,无许可的数据存储库。

使用MAM传输的数据被加密或掩码,并分配给交易对象的signatureMessageFragment字段。然后通过IOTA tangle存储和检索这些交易对象。因此,可以对不包含识别信息的健康数据进行加密,并将其存储在一个分布在众多对等点上的防篡改帐本中。这就满足了医疗保健领域的一个重要需求,即医疗保健数据的可访问,完整性和隐私安全。

数据有效载荷可以在任何时候使用MAM模块进行广播,并且只需要少量的工作量证明就可以通过网络传播。理论上,这些消息可以是任意大小的。重要的是要理解,这并不意味着所有数据都应该使用MAM传输,例如,使用MAM广播可穿戴设备数据点可以确保在专业医疗人员的监督之外生成和存储的加密数据流的完整性,但是广播由专业医疗人员生成、存储、传输和访问的大型医疗影像文件可能是没有意义的,使用其他方法来确保大型文件的完整性可能更合适。

可以使用与运行结构层的完整节点通信的客户端来将MAM消息附加到tangle和从tangle中取出(图5)。这意味着能够运行MAM客户端的物联网设备可以使用此通信协议发出加密数据流。例如,一个不适合存储IOTA Tanlge当前状态的可穿戴设备仍然可以使用MAM进行数据广播。

使用分布式帐本技术验证健康活动数据

图5:高级系统概述。传感器嵌入在物联网设备中,或者通过蓝牙低功耗(BLE)或远程(LoRA)协议与物联网设备进行交互。运行在应用层的物联网设备上的MAM客户端处理来自传感器的数据。这些设备能够执行工作量证明,但不能处理整个帐本。这个应用层可以做为一种替代方案运行在完整的节点上。全节点包括结构层,能够处理和存储帐本的当前状态。

2.3、MAM频道和模式

MAM扩展模块可以被视为一个具有可变安全级别的网络电台。想要广播消息的实体必须有一个种子。种子是由其所有者保密的主标识符。从种子中,所有者可以确定的生成地址和签名。同样,所有者可以生成MAM扩展模块中使用的频道。只有拥有种子的实体才能确定的生成这些地址、签名和频道。

创建频道后,所有者就可以使用频道密钥加密消息并在Tangle中广播它们。只有知道MAM频道密钥的用户才能从tangle中提取交易,然后解码消息。同一频道广播的消息按时间顺序连接。这就产生了前向保密的概念,即获得频道访问权的各方不能回溯他们的进入点之前的频道历史。

MAM支持三种控制频道可见性和访问权限的隐私模式:公共,私有和受限(表1)。在每种模式中,MAM频道的ID是tangle中的交易地址。这允许通过简单地查询tangle来返回MAM交易。但是,用于解码MAM交易中包含的有效载荷的密钥不必等于MAM频道ID。MAM的另一个有用属性是交易链接。当用户解码有效载荷后,它们就能够接收到当前载荷内的消息以及下一个有效载荷的频道密钥。正如我们将在下面看到的,这个特性对于公共模式和私有模式都很有用。

Mode Channel ID Decryption key Authorization key
Public CK CK
Private H(CK) CK
Restricted H(AK‖CK) CK + AK AK

表1:MAM频道模式。显示MAM频道ID、频道密钥(CK)和授权密钥(AK)之间关系的摘要表。在受限模式下,需要授权密钥和频道密钥对MAM数据有效载荷进行解密。

在公共模式的情况下,交易地址既是频道ID又是频道密钥。因此,网络上的任何人都可以读取消息链的所有内容。在私有模式中,有一个附加的安全层,可防止未经授权的实体读取消息链。交易地址是频道ID,即散列频道密钥。因此,广播者必须将频道密钥安全地传送给订阅的所有实体,以便他们可以在tangle上找到消息。这些订阅者在tangle上查询以获得频道密钥的散列,并使用频道密钥解码消息有效载荷。如果攻击者遇到使用私有模式发送的MAM交易,则他们无法使用频道ID解密消息有效载荷,因为它是频道密钥的散列,而不是密钥本身。由于前像攻击(preimage attack)在计算上是不可行的,因此攻击者很难通过频道ID重现频道密钥。但是,从频道密钥生成频道ID对于订阅者来说是微不足道的。

在受限模式下,交易地址是与频道密钥关联的授权密钥的散列。解码消息有效载荷同时需要频道密钥和授权密钥。授权密钥由广播者指定,并且可以在频道流中的任意位置进行更改。这使广播者可以通过更改授权密钥,在任何时间点来撤销对其频道中未来消息的访问权限。在这种情况下,不再能够访问当前授权密钥的订阅者将无法在流中定位或解码未来的消息。因此,可以使用此方法在流中的某个点之后终止订阅者的访问。图6简单的描述了用于生成MAM频道的元素之间的关系。下一节将对如何设计我们的实现进行介绍。

使用分布式帐本技术验证健康活动数据

图6:MAM频道密钥的生成。单向散列函数H用于从用户的种子中为其一次性签名方案生成私钥。然后根据第4.2节中的Merkle散列技术对私钥进行散列,以生成Merkle根。树的根用作频道密钥。

3、方法

3.1、通过tangle从可穿戴设备广播和检索实时活动数据

鉴于MAM是防篡改分布式账本上的轻量级数据传输协议,我们开始评估其广播敏感活动数据的潜力。我们实现了一个可以使用MAM从可穿戴设备广播传感器数据的系统。我们使用了MAM JavaScript包装器,并使用JSON格式的FHIR观测数据[33],[34]来填充MAM数据有效载荷。FHIR观测数据使用观测指标标识符逻辑命名与编码系统(LOINC)进行编码,以实现结构和语义互操作性[25],[35]。

每个设备都被配置为通过受限MAM频道传输数据,该频道具有可由交易级别的患者定义的访问控制。如果一个病人想要授权一个或多个医生,他们可以将其频道密钥发送给医生,医生可以从tangle中检索并验证相关的数据流。如果患者希望随时撤销对其数据流的访问,那么只需更新MAM频道的授权密钥并将其提供给他们期望的医疗服务提供者。

利用该系统,可穿戴设备 使用用于浏览器的MAM JavaScript包装器通过智能手机应用自动地将实时数据广播到tangle。我们使用MAM受限模式将有效载荷(例如图7中的有效载荷)附加到Tangle中。这使我们能够测试患者如何通过更新其授权密钥来更改对特定数据流的访问控制。在tangle上确认交易后,我们使用频道ID和授权密钥检索数据。

使用分布式帐本技术验证健康活动数据

图7:JSON格式的FHIR心率观测资源

为了进一步探索MAM并评估其可用性,我们描述了MAM模块当前实现的性能。我们在受限模式下使用NodeJS的MAM JavaScript包装器在两个不同的处理器(Intel i7-7700 HQ @ 2.80 GHz和ARMv7 Processor rev 5(v7l))上广播了300个大小分别为1,10,100,500和1000个字符的有效载荷。之所以选择这两种处理器是因为它们是用于电子和移动医疗保健中的处理器的参考点。特别是,我们选择ARMv7处理器来建模医疗物联网设备。

4、理论

4.1、经过验证的数据结构

单向散列函数是现代加密学的基本构件之一。它们用于验证数据完整性以及消息认证码和数字签名。因此,它们代表了MAM扩展模块最重要的安全原语。在证书撤销和验证、外包数据库、传感器网络和多播数据包认证等方面,已经对认证数据结构进行了充分的研究[27],[37],[38],[39]。来源验证可确保接收方的消息是来源于所声明的发送方,而数据验证确保来自该发送方的数据没有被篡改。在MAM中,验证的概念包括来源和数据验证,确保数据交换中的完整性和来源。

认证数据结构的原始方法建立在Merkle散列树之上,散列树最初用于一次性签名和公钥基础结构,以提供真实和安全的证书撤销[40]。更先进的认证数据结构方法应用散列方案于图形结构数据模型,比如生物和医疗数据中所使用的那些[41]。在本文中,我们专注于MAM,它利用Merkle散列树生成一次性签名,对从传感器广播的数据流进行验证。这些数据馈送本身不属于图结构(graph-structured),但可能是总体图(graph)的一部分。

4.2、Merkle散列技术

Merkle散列技术从下到上[42]的生成散列树。Merkle散列树(MHT)用于真实值y0, 0,y0, 1,……,y0, n是通过建造一棵树来构造的,其叶片相当于集合中的有序元素的值的散列。因此,与元素y0, i相关联的叶包含值y1, i = H(y0, i),其中H()是一个加密的单向散列函数。具有多个传入边的节点的值对应于其前一个节点连接的散列,以保持其顺序。因此,具有子y1, 0y1, 1的内部节点y2, 0具有值y2, 0 = H(y1, 0y1, 1)。一个MHT可用于在验证对象的帮助下证明集合中元素的存在。验证对象包含一组节点,这些节点帮助验证者重新计算MHT的根(root)。这样,验证者就可以计算出MHT的根,并将其与公开已知的根进行比较。例如,如果我们在图8中的MHT中搜索y0, 0,验证对象包含节点值y0, 0,y1, 1,y2, 1。验证者构造y1, 0 = H(y0, 0),y2, 0 = H(y1, 0y1, 1) 和最终的root = H(y2, 0y2, 1)。然后,他们可以通过与公共值[38]进行比较来验证计算的根。

使用分布式帐本技术验证健康活动数据

图8:为真实值为y0, 0,y0, 1,y0, 2,y0, 3构造的二进制Merkle散列树。验证y0, 0所需的节点值用虚线边框括起来。

4.3、一次性签名和Merkle签名方案

一次性签名(OTS)方案是一种数字签名方案,它仅可用于为每个“密钥对”签署一条消息。OTS方案基于单向散列函数,与RSA等公钥数字签名方案相比,它支持更快的签名和验证算法。但是,OTS方案受到可签署的签名数量、签名长度和密钥大小的限制。基于MHTs的Merkle签名方案(MSS)提供了一种使用一个公共验证密钥来验证多个OTS的方法。

MHT中的每个叶片对应于一个OTS方案。这意味着每棵树可以产生与MHT中的叶片数量相同的消息。这些消息都将使用来自OTS方案的公共验证密钥来验证。OTS方案的公开验证密钥依次通过从给定的验证对象计算MHT的根来验证,如图8所示。

MSS可以用来通过一个公钥(pk)来签署有限数量的消息。可能的消息数量必须是2的次方,所以我们将消息的数目表示为N = 2n。生成公钥pk的第一步是生成2n个一次性签名的公钥Yi和私钥Xi。对于每一个1 ≤ i ≤ 2n的公钥Yi,散列值H(Yi)予以计算。利用这些散列值hi构建一个MHT。构造了一个具有2n个叶片和2n+1 − 1个节点的树。树的根是Merkle签名方案的公钥,即pk。

为了用MSS签署消息M,消息M用一次性签名方案签名,首先产生签名sig。这是通过使用私钥和公钥对(XiYi)中的一个来执行的。MHT的每个叶片都是一次性公钥Yi的散列。我们将P表示为从给定叶片到根的路径。路径Pn + 1个节点,P1,…,Pn+1组成,当P1 = y1时,i是叶片,Pn = yn+1, 0 = pk是树的根。为了计算P,我们需要节点P2, …, Pn+1的每个子节点。我们知道PiPi+1的一个子。为了计算路径A的下一个节点Pi+1,我们需要知道Pi+1 的两个子。我们需要Pi的sibling节点来完成这个计算。我们把sibling称为sibi,在sibi是奇数的情况下,Pi+1 = H(Pisibi),如果是偶数,那么Pi+1 = H(sibiPi)。因此,需要n个节点来计算路径P的每个节点。节点,加上M的一次签名sig构成了MSS的签名sig = (sigsib2sib3sibn−1) 。

接收者知道公钥pk、消息M和签名sig = (sigsib2sib3sibn−1)。首先,接收方验证消息M的一次性签名sig。接收者通过散列一次性签名的公钥来计算P1 = H(Yi)。对于l = 1, …,n − 1, P路径的Pl 节点由sibling index为奇数时Pl = H(yl−1sibl−1) ,为偶数时Pl = H(sibl−1yl−1) 来计算。如果MSS的Pn = pk,则签名有效。

5、结果

在本案例研究中,我们证明了可以使用分布式帐本来广播和接收来自可穿戴设备的经认证、加密的活动数据。通过MAM模块对数据的来源和完整性进行认证,使用FHIR对数据进行结构化并使用LOINC进行编码。这实现了跨越涉及众多潜在利益相关者的多个医疗生态系统的结构和语义互操作性。此外,我们在广播流中更改了认证密钥,以演示患者如何撤销对其生成的未来数据的访问权限。这显示了细化的,由患者定义的访问控制在未来的工作形态。

我们使用Intel i7-7700 HQ @ 2.80 GHz以及第3节中所述的ARMv7处理器来表述当前的MAM实现。每个点代表一个给定有效载荷大小的300次试验的平均时间,误差条表示与平均值的标准偏差。这些性能测试的结果在表2中给出并显示在图9中。

更改MAM模式并将消息从bytes转换为trytes所需的时间小于1 ms。因此,我们将分析重点放在广播具有显著时间延迟的消息的步骤上。我们分析的两个步骤是创建和附加。两者都要求在上述处理器上执行一定的时间。

我们发现创建消息的时间定义良好,并且依赖于处理器。然而,创建时间并没有显示出对载荷大小的任何依赖。附加消息的平均时间显示出与有效载荷大小无关的高方差。在我们的试验中,i7-7700处理器的平均附加时间低于ARMv7处理器。然而,这两个处理器宽泛的时间范围使我们无法明确认定平均附加时间与统计学意义之间存在不同。这种行为是意料之中的,因为附加步骤包含少量的工作量证明,这本质上是一个随机过程。i7-7700和ARMv7处理器都没有就在IOTA协议中执行工作量证明算法做出过优化,所以我们对高度分散的附加时间间隔的观察与预期的行为是一致的。

Processor Action Payload size (chars) Trials Avg. time (s) St. dev. (s) Variance (s2) Min. (s) Max. (s)
ARMv7 Processor rev 5 (v7l) Create 1 300 6.0449 0.1035 0.0107 5.8730 6.7430
ARMv7 Processor rev 5 (v7l) Create 10 300 6.0338 0.0927 0.0086 5.8800 6.7080
ARMv7 Processor rev 5 (v7l) Create 100 300 6.0482 0.0931 0.0087 5.8260 6.8360
ARMv7 Processor rev 5 (v7l) Create 500 300 6.0734 0.0861 0.0074 5.8540 6.9530
ARMv7 Processor rev 5 (v7l) Create 1000 300 6.1480 0.1149 0.0132 5.9310 6.9960
Intel i7-7700 HQ @ 2.80 GHz Create 1 300 0.3960 0.0370 0.0014 0.3540 0.5690
Intel i7-7700 HQ @ 2.80 GHz Create 10 300 0.3775 0.0149 0.0002 0.3510 0.4550
Intel i7-7700 HQ @ 2.80 GHz Create 100 300 0.4003 0.0300 0.0009 0.3600 0.6910
Intel i7–7700 HQ @ 2.80 GHz Create 500 300 0.3861 0.0245 0.0006 0.3490 0.5190
Intel i7-7700 HQ @ 2.80 GHz Create 1000 300 0.3761 0.0247 0.0006 0.3410 0.6400
ARMv7 Processor rev 5 (v7l) Attach 1 300 20.1666 10.5214 110.7004 4.2210 69.6150
ARMv7 Processor rev 5 (v7l) Attach 10 300 17.0180 8.1468 66.3711 2.6300 76.9440
ARMv7 Processor rev 5 (v7l) Attach 100 300 17.2789 8.2522 68.0980 3.9790 73.9630
ARMv7 Processor rev 5 (v7l) Attach 500 300 16.6553 7.1482 51.0970 3.7870 39.7320
ARMv7 Processor rev 5 (v7l) Attach 1000 300 18.2881 10.3675 107.4854 3.5950 110.2530
Intel i7–7700 HQ @ 2.80 GHz Attach 1 300 13.9647 8.2427 67.9413 1.016 45.2530
Intel i7-7700 HQ @ 2.80 GHz Attach 10 300 12.7590 6.5611 43.0474 1.9910 32.4600
Intel i7-7700 HQ @ 2.80 GHz Attach 100 300 13.1024 9.4090 88.5302 1.6540 125.2020
Intel i7-7700 HQ @ 2.80 GHz Attach 500 300 12.8825 6.8178 46.4822 0.5340 35.6770
Intel i7-7700 HQ @ 2.80 GHz Attach 1000 300 12.5842 6.4640 41.7834 0.0290 38.2030

表2:MAM的实验结果。使用ARMv7和Intel i7-7700 HQ处理器创建和附加操作的时间试验。使用每种处理器向tangle广播300次大小分别为1、10、100、500和1000个字符的有效载荷。

使用分布式帐本技术验证健康活动数据

图9:作为有效载荷大小和处理器函数的一个创建(a)或附加(b)周期的延迟。

5、论述

在专业医疗人员的监督之外产生的活动数据可以提供一个更完整的(病情)描述,以帮助对患者进行远程护理。建立一个访问控制由公民管理的加密的分布式数据存储有可能创造一个更全面的记录。籍此可以实现拥有合理共识的基于人口水平健康数据的预测模型。

IOTA是一种无许可分布式帐本协议,它为可穿戴设备广播的活动数据的不可变审计跟踪提供了结构。MAM是一个扩展模块,位于IOTA堆栈的应用层中,并且有潜力使患者能够通过tangle存储、检索和共享经过验证的、加密的活动数据。该通信协议赋予患者对其活动数据的控制权,并使他们能够更好地了解自己目前的状态和先前的趋势。MAM的受限模式使患者能够对数字医疗生态系统中参与者之间交换数据的方式进行精细的控制,而tangle添加的完整性层则建立了对数据未被篡改的信任。在本节剩下的部分中,我们将讨论该实现的安全性、隐私性、互操作性和可行性。

我们的实现利用了基于现代web服务的互操作性标准,并继承了分布式帐本技术的关键元素。该模型利用MAM的加密和访问控制特性提高了安全性。MAM依靠参与IOTA网络的分布式节点来避免单点故障。所有加密数据都被添加到存储在每个完整节点上的帐本中。由于加密的活动数据仍然是分布式的,因此我们的系统不会为网络攻击或数据泄漏创建一个中心目标。需要说明的是,我们的实现为患者提供授权密钥来使其获得控制权。这使患者能够定义他们期望的数据控制水平——例如,一些患者可能不想亲自维护自己的医疗数据(委托给医疗机构),而另一些患者则可能希望拥有完全的控制权。这也带来了自身的挑战,因为这些密钥必须由患者、他们的监护人、指定的护理服务提供者或第三方妥善管理。

使用分布式帐本技术似乎与我们当前的数字隐私概念背道而驰,因为网络中的所有节点都必须包含帐本当前状态的副本。虽然分布式账本上的基于价值的交易是匿名的,但是对交易频率和来源点的全面分析可以允许人们通过分析网络流量来推断实体曾多次与另一方进行交互,此外,甚至可以推断出一个实体拥有多少不同不确定性的token[43]。在提高隐私的同时保持分布式账本的可审计性是一个持续探索的领域。但是,这个问题对我们的实现来说并不是个问题,因为MAM删除了两个实体相互交互的概念。相反,包含在数据流中的交易地址是由发布者随机生成的,并且独立于需要获取该加密数据细节的各方。需要注意的是,由于下一个频道的密钥嵌入在当前消息中,公共或私有流的订阅者将能够从其入口点开始跟随流。然而,如第2.3节所述,我们的实现使用了MAM的受限模式,该模式授予患者更改其授权密钥的能力,并将未来的交易地址转换为不可预测的流。与传统分布式账本的透明度不同,MAM频道模式提供了访问控制,可以使交易中包含的数据成为私有的。这是可能的,因为授权密钥为活动数据流的片段提供了精细的访问控制。如果患者愿意,则可以由患者生成和存储授权密钥,如果患者不希望对他们自己的数据进行这种级别的控制,则可交由专业医疗人员来自行决定。为了应对紧急情况,合乎逻辑的方式是将这些授权密钥存储于区域卫生信息组织(RHIO)或其他政府机构手中,这能够确保医疗服务提供者可以在患者失去意识/记忆,无法记起或提供其授权密钥日志的情况下访问患者的医疗数据。

为了解决跨数字医疗生态系统的互操作性,我们选择FHIR和LoIP作为互操作性的结构和语义层,用于我们的活动数据实现。以这种格式构造活动数据可以使跨数字医疗生态系统的参与者能够解释或映射数据并提取可操作的含义。通过这种语义互操作性水平,活动数据可以在具有适当权限的各方之间无缝共享。这就使得利用大数据分析的力量来改善人口水平模型成为可能,该模型可以根据患者的当前状况预测未来健康事件发生的可能性。

虽然我们演示了MAM如何与FHIR和LOINC一起使用,但我们设计的框架具有支持健康数据交换的所有开放标准的灵活性。此外,MAM能够从任何连接到互联网的终端传输数据,无论是医生的计算机、医院服务器、移动设备,还是嵌入在病人体内的蓝牙低功耗传感器。由于可以通过开放api访问存储在tangle上的加密数据,因此我们的实现可以与数字医疗生态系统中的任何利益相关者无缝集成。我们相信这将简化用例的采用,并为本文用例之外的其它应用打开了大门。

为了测试MAM作为可互操作活动数据管道的可行性,我们测试了MAM库的当前性能。我们发现这个库没有优化,需要改进以用于医疗工作流程。有多个组件与这些性能问题相关联。在CPU方面,目前正在进行改进,以显著减少创建和附加步骤的时间。我们应该注意,附加步骤需要少量的工作量证明,因此具有与之相关的随机性基线水平。虽然这种随机性对网络整体来说是健康的,但是可以对实现进行优化,以便在不同的cpu上更有效地运行。同样重要的是网络延迟问题,但是这些问题超出了本报告的范围。

7、未来的工作

当我们希望将MAM的实现从一个研究原型转向数字医疗生态系统中所有利益相关者之间的医疗数据交换协议时,我们已经确定了未来工作的几个关键领域。为了改进基于MAM的系统,我们将与整个医疗生态系统的利益相关者进行合作,从患者和医疗服务提供者,到医院IT部门、制药公司、保险公司、政府机构等等。我们目前正在处理功能需求和其他用例场景,以便为将来改进MAM协议提供反馈。例如,我们建议在MAM模块中集成一个安全密钥交换协议,以便在各方之间交换授权密钥。

随着MAM模块的成熟,我们将开发一个跨学术机构的概念验证,以演示在远程监视患者时如何使用此技术对数据流进行验证,并尽可能减少对患者日常生活的干扰。IOTA结构层和应用层中的MAM等模块都是开源的并且以分布式方式进行管理,所以可以针对MAM进行进一步的专用化定制并针对特定用例进行优化。这种模块化将为我们提供持续使用和改进MAM的能力,并且无需顾虑到结构层。

这个概念证明中一个有趣的领域是是解决患者在失去意识或遇险的情况下到达急诊室的紧急情况,医护人员必须能够在患者无法回忆或提供授权密钥的情况下访问患者的活动数据。这是一个难以解决的问题,但我们计划探索安全的生物特征识别方案,如手掌静脉,虹膜和语音扫描仪。在分布于提供者、组织和RHIOS之间的特定医疗节点上建立按需身份解决方案可以缓解这个问题。为了找到这样一种安全的按需身份解决方案,我们将探索将现代Web标准用于授权,例如OAuth,并尝试将这些标准集成到医疗IT框架[44]的相关工作中。

最后,随着采用这种技术作为解决方案的患者逐渐增多,这种分布式数据存储会呈指数级增长,我们需要考虑如何在所有利益相关者之间维护如此大的数据集。虽然tangle目前由于其适度的活动而不断的扩展,但嵌入式和可穿戴设备的世界有可能产生规模巨大的数据,这种量级的数据与当前网络中每个完整节点存储整个历史记录的概念相冲突。将来,完整节点会存储当前状态并修剪剩余数据以恢复处理新交易的能力。这些经过修剪的交易仍然具有可验证的加密关系,但是需要维护相关交易的完整历史记录。例如,医疗节点需要知道在本地存储哪些交易,在修剪过程中丢弃哪些交易。这个过程将在本地网络中进行,因此每个提供者都不需要维护每个医疗交易的副本,只需保留与其注册患者相关的交易。但是,RHIO或其他组织可能需要负责维护其管辖范围内患者的完整病史。这可以作为事实的来源,以验证跨机构访问的数据是真实的。

8、结论

本报告探讨了一种按需数字化医疗保健生态系统的出现,该生态系统通过算法处理大规模数据,并解决了对这些数据进行验证、分发和不可篡改的需求。我们演示了如何使用IOTA协议的MAM模块来确保加密活动数据的真实性。该模块还使患者能够定义可随时间更新的细粒度访问控制。虽然MAM的当前实现被证明是验证活动数据的有效渠道,但它仍有进一步设计和性能改进的空间。这种可以安全有效地协调互操作活动数据的方法可以为远程监控和其他按需服务打开大门,并将医疗保健推向数字化时代。

致谢

感谢UCL CS产业交流网络的Dean Mohamedally,UCL CHIME的Paul Taylor以及Albert Einstein医学院医学生研究办公室对我们研究工作的支持。感谢Paul Douglas对Masked Authenticated Messaging设计的见解,以及Samuel Reid对本文草稿的评论。


本文涉及技术层面,可能存在部分内容翻译不精确的情况,如果遇到不好理解的地方,建议参照原文加深理解。

原文链接:http://www.sciencedirect.com/science/article/pii/S2001037018300345

PDF下载:https://www.sciencedirect.com/science/article/pii/S2001037018300345/pdfft?md5=8d97c80d7e5fe7ab627b582f977c6778&pid=1-s2.0-S2001037018300345-main.pdf


参考资料

[1]
R.L. Bashshur, G. Shannon, E.A. Krupinski, J. Grigsby
Sustaining and realizing the promise of telemedicine
Telemedicine and e-Health, 19 (5) (2013), pp. 339-345
[2]
G. Eysenbach
What is e-health?
J Med Internet Res, 3 (2) (2001), Article e20, 10.2196/jmir.3.2.e20
[3]
B. McMahan, D. Ramage, Federated learning: Collaborative machine learning without centralized Training data (April 2017) [cited 17 April 2018]. URL https://ai.googleblog.com/2017/04/federated-learningcollaborative.html.
[4]
F. Glaser, Pervasive decentralisation of digital infrastructures: A framework for blockchain enabled system and use case analysis.
[5]
S. Al-Kuwari, J. H. Davenport, R. J. Bradford, Cryptographic hash functions: Recent design trends and security notions, in: Short paper Proceedings of 6th China International Conference on Information Security and Cryptology (Inscrypt ’10), Science Press of China, 2010, pp. 133–150, the 6th China International Conference on Information Security and Cryptology (Inscrypt 2010), 20-23 October 2010, Shanghai, China.
[6]
Ethereum Foundation, Decentralized Autonomous Organization [cited 20 March 2018]. URL https://www.ethereum.org/dao
[7]
S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system [cited 25 March 2018]. URL https://bitcoin.org/bitcoin.pdf
[8]
N. Szabo, Formalizing and securing relationships on public networks, First Monday 2 (9). doi:https://doi.org/10.5210/fm.v2i9.548.
[9]
Bitcoin Wiki, Confirmation [cited 20 March 2018]. URL https://en.bitcoin.it/wiki/Confirmation
[10]
P. Rizzo, BitGo launches ‘instant’ bitcoin transaction tool (Jan 2016) [cited 20 March 2018]. URL https://www.coindesk.com/bitgo-instant-bitcoin-transaction-tool/
[11]
Bitcoin transaction fees [cited 30 May 2018]. URL https://blockchain.info/charts/transaction-fees-usd
[12]
Bitcoin transactions per second [cited 30 May 2018]. URL https://blockchain.info/charts/transactions-per-second
[13]
Ethereum transaction fees [cited 30 May 2018]. URL https://bitinfocharts.com/comparison/ethereum-transactionfees.html
[14]
Ethereum transactions per second [cited 30 May 2018]. URL https://etherscan.io/chart/tx
[15]
L. Lamport, R. Shostak, M. Pease
The byzantine generals problem
ACM Transactions on Programming Languages and Systems (TOPLAS), 4 (3) (1982), pp. 382-401
[16]
L. Baird
The swirlds hashgraph consensus algorithm: Fair, fast, byzantine fault tolerance, Tech rep, Swirlds Tech Report SWIRLDS-TR-2016-01
(2016)
[17]
Y. Gilad, R. Hemo, S. Micali, G. Vlachos, N. Zeldovich
Algorand: Scaling byzantine agreements for cryptocurrencies
Proceedings of the 26th symposium on operating systems principles, ACM (2017), pp. 51-68
[18]
A. Kiayias, A. Russell, B. David, R. Oliynykov
Ouroboros: A provably secure proof-of-stake blockchain protocol
Annual international cryptology conference, Springer (2017), pp. 357-388
[19]
S. Popov, The tangle [cited 25 March 2018]. URL https://iota.org/IOTA_Whitepaper.pdf
[20]
K. Peterson, R. Deeduvanu, P. Kanjamala, K. Boles
A blockchain-based approach to health information exchange networks
Proc. NIST Workshop Blockchain Healthcare, Vol. 1 (2016), pp. 1-10
[21]
T.-T. Kuo, H.-E. Kim, L. Ohno-Machado
Blockchain distributed ledger technologies for biomedical and health care applications
J Am Med Inform Assoc, 24 (6) (2017), pp. 1211-1220
[22]
A. Gropper
Powering the physician-patient relationship with hie of one blockchain health it
ONC/NIST Use of Blockchain for Healthcare and Research Workshop, ONC/NIST, Gaithersburg, Maryland, United States (2016)
[23]
A. Azaria, A. Ekblaw, T. Vieira, A. Lippman, Medrec: Using blockchain for medical data access and permission management, in: Open and Big Data (OBD), International Conference on, IEEE, 2016, pp. 25–30.
[24]
Health Level 7 International, Welcome to FHIR [cited 10 April 2018]. URL https://www.hl7.org/fhir/
[25]
A. Back, Hashcash-a denial of service counter-measure (Aug 2002) [cited 25 March 2018]. URL http://www.hashcash.org/hashcash.pdf
[26]
J. Buchmann, E. Dahmen, S. Ereth, A. Hülsing, M. Rückert
On the security of the winternitz one-time signature scheme
International conference on cryptology in Africa, Springer (2011), pp. 363-378
[27]
M. Luk, A. Perrig, B. Whillock
Seven cardinal properties of sensor network broadcast authentication
Proceedings of the fourth ACM workshop on security of ad hoc and sensor networks, ACM (2006), pp. 147-156
[28]
P. Handy, Introducing masked authenticated messaging (Nov 2017) [cited 10 March 2018]. URL https://blog.iota.org/introducing-masked-authenticated-messaging-e55c1822d50e
[29]
Masked authenticated messaging module [cited 27 March 2018]. URL https://github.com/iotaledger/MAM
[30]
MAM [cited 25 March 2018]. URL https://github.com/iotaledger/MAM
[31]
IOTA reference implementation [cited 25 March 2018]. URL https://github.com/iotaledger/iri
[32]
IOTA Foundation, The anatomy of a transaction [cited 25 March 2018].URL https://iota.readme.io/docs/the-anatomy-of-a-transaction
[33]
MAM Client JS Library [cited 1 April 2018]. URL https://github.com/l3wi/mam.client.js
[34]
Health Level 7 International, JSON representation of resources [cited 10 April 2018]. URL https://www.hl7.org/fhir/json.html
[35]
LOINC [cited 5 April 2018]. URL https://loinc.org/
[36]
Health Level 7 International, Observation-example-heart-rate.json [cited 20 April 2018]. URL https://www.hl7.org/fhir/observation-example-Heart-rate.json.html
[37]
P.C. Kocher
On certificate revocation and validation
International conference on financial cryptography, Springer (1998), pp. 172-177
[38]
E. Mykletun, M. Narasimha, G. Tsudik, Providing authentication and integrity in outsourced databases using merkle hash trees, UCI-SCONCE Technical Report.
[39]
P. Rohatgi
A compact and fast hybrid signature scheme for multicast packet authentication
Proceedings of the 6th ACM conference on computer and communications security, ACM (1999), pp. 93-100
[40]
R.C. Merkle
A digital signature based on a conventional encryption function
Conference on the theory and application of cryptographic techniques, Springer (1987), pp. 369-378
[41]
A. Kundu, E. Bertino
On hashing graphs
IACR Cryptology ePrint Archive, 2012 (2012), p. 352
[42]
R.C. Merkle
A certified digital signature
Conference on the theory and application of cryptology, Springer (1989), pp. 218-238
[43]
S. Goldfeder, H. Kalodner, D. Reisman, A Narayanan, When the cookie meets the blockchain: Privacy risks of web payments via cryptocurrencies, arXiv preprint arXiv:1708.04748.
[44]
SMART Health IT [cited 4 April 2018]. URL https://smarthealthit.org/.
1

JavaScript Object Notation (JSON), REpresentational State Transfer (REST), HyperText Transfer Protocol (HTTP).

2

The current implementation of IOTA uses balanced ternary.

3

We broadcasted heart rate data from an Apple Watch.

inhuman

专栏作者:inhuman

个人简介:我共发表了 189 篇文章,总计被阅读了122,403 次,共获得了 1,602 个赞。

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注