A Smart-Contract-Based Access Control Framework for Cloud Smart Healthcare System

引言

随着 IoT 的发展,越来越多的医疗设备开始提供电子医疗记录 (Electronic Medical Records, EMRs)。因而产生了安全问题:

  • EMR 一般由第三方管理,容易有安全漏洞。
  • 一个机构如何向另一个机构授予、验证、撤销 EMR 的访问权限

根据一篇调查 (Access control in Internet-of-Things: A survey) 显示,传统的访问控制模型 (RBAC, ABAC 等)很容易出现单点故障。因此,去中心是一个关键的研究课题。

然而,由于访问控制策略在云端,因此目前的去中心的访问控制技术无法保持策略透明和安全。为解决此问题,最近提出了分布式 IoT 的概念,其中访问授权在终端设备执行。然而由于终端设置计算资源有限,这种方法很难实施。

为在智能医疗系统中解决上述问题,最近提出了区块链解决的策略。

系统实体介绍

下面介绍系统架构的实体:

  • 医院:也就是需要相互共享 EMR 的实体。
  • 患者:数据的真正所有者。
  • 智能医疗设备:例如实时监测患者健康的可穿戴设备或者其它 IoT 设备。他们由各自的医院根据 ID(设备的 Mac 地址哈希)进行注册和监控。
  • MCU:有一定计算能力的设备,如智能手机,电脑。是智能医疗设备和医院内安装的区块链设备沟通的桥梁。每个智能医疗设备通过 WIFI 或者蓝牙与 MCU 连接,发送 EMR,然后 MCU 对其进行加密,传输到对应的医院内的区块链设备。
  • 云服务器:负责验证实体,也可以用来存储 EMR。由政府或者卫生组织管理。

访问控制框架

假设每一个参与者 (患者,医院)都有一个 ID (已在国家身份识别系统中注册)。在本文中,每个参与者提供自己的信息 ,然后对其进行 SHA-256 运算,将其最为 ID。用户和医院的 ID 分别记作

四种合约:

  • VC:validation contract,验证参与者的注册。维护一个活动列表,里面记录了参与者到来的时间。例如,张三 10 点 15 分发起了请求。
  • GAC:GetAccess contract,判断 EMR 申请者是否有资格。
    • SetGuidelines ():由 EMR 拥有者设置 minGap,noFR 和 threshold。
    • SetGrant () :设置 GC 合约。
    • SetAccessTime ():设置访问时间
    • DeleteGetAccess ():由患者调用,用于终止访问许可,输入 EMR 的 ID,EMR 拥有者的 ID 和访问协议来调用 RC
  • GC:grant contract,授予访问者权限。
    • MisconductCheck ():实时检查不当行为。
  • RC:撤销访问控制权限。

具体来说,四种合约的工作流程如下:

|425

EMR 上传和获取

密码方案

使用基于 ECC 的非对称加密方案。使用 ECDH 生成永久和临时密钥。EMR 拥有者使用永久密钥来在储存和访问时进行加解密。EMR 拥有者的拥有密钥分别为:。临时密钥用户在分享 EMR 时再次加密和解密。这些临时密钥的生命周期取决于 GAC 合约中的 setAccessTime() 函数。EMR 拥有者生成临时密钥,记作 。而 EMR 请求者也生成临时密钥,记作 。EMR 拥有者和请求者交换他们的临时公钥,计算临时私钥 .

签名算法:EdDSA

  • 医院签名:
  • EMR 拥有者签名:
  • EMR 请求者签名:

医院密钥生成、EMR 签名、EMR 验签

|425

方案流程

分为 4 步:

Step 1:当有新的 EMR 生成时, ,通过医院签名生成 ,然后通过 EMR 拥有者的公钥加密,即

然后医院 A 对其进行上传。

Step 2:加密的 EMR 上传到云中的同时,对应的哈希值和索引号存储在区块链中。

Step 3:患者前往医院 B,需要根据访问控制策略获取 EMR 的权限。若访问成功,则进行解密。

Step 4:患者和医院 B 各自生成临时密钥,从而生成共享密钥 。然后患者重新对 EMR 进行签名和加密。

然后,医院 B 进行解密。

Implementation and Performance Analysis

实验结果分析

Gas 消耗: - VC:1531432 - GAC:2859097 - GC:1340448 - RC:43714

黑框框

表现评估和效率分析

1-智能合约部署和执行的延迟:

|450

2-计算延迟分析

|450

也就是随着 EMR 的大小变化,所需要的加解密时间变化。

3-访问请求响应的延迟

|400

假设每个用户的 EMR 为 1 KB 大小,每个月新增 10 个用户。

4-针对各种攻击的安全性

  • 假冒身份 (Pseudonymity):由于 EMR 使用了用户的公钥进行了加密,并且附有医院的签名 ,然后对其进行了哈希,哈希值代表了这个 EMR,不会泄露任何用户信息。
  • 隐私和数据完整性:验证过程完成后,任何人都无法通过 ID 获取个人数据 。更改 EMR 的任何一部分都会导致哈希不同,与云端的哈希匹配失败。
  • 问责:当医院 A 分享 EMR 给 B 时,医院 A 需要签名。
  • 伪装攻击:因为方案是在所有实体加入系统之前对其进行验证,因此无法伪装成注册实体。
  • 抗重放攻击。
  • 抗哈希碰撞。

A Smart-Contract-Based Access Control Framework for Cloud Smart Healthcare System
https://d4wnnn.github.io/2024/04/16/Academic/A Smart-Contract-Based Access Control Framework for Cloud Smart Healthcare System/
作者
D4wn
发布于
2024年4月16日
许可协议