西安电子科技大学 邵 杰 王 娟 吴 昊
指导教师: 朱 辉
摘 要
本作品针对目前无线医疗系统对用户隐私以及数据安全保护力度不足的现状, 采用椭圆曲线Tate对和AES, 设计了安全可信的新型无线医疗监护系统。 实现了对病人身份的匿名认证、 医疗数据的安全传输等功能。 系统对跨平台、 异构网络提供支持, 并拥有完备的紧急情况处理机制, 具有实用价值。 系统将匿名认证引入无线医疗系统, 结合FPGA板卡的强大运算能力, 高效可靠地解决了无线医疗系统中的信息安全隐患问题。
关键词: 匿名认证; 隐私保护; 无线医疗
An Anonymous Wireless Healthcare Monitoring System Based on The Tate Pairing
Abstract
Aiming to solve the privacy and data security problems in wireless healthcare system, we propose a novel creditable security wireless healthcare system. Using Tate pairing on an elliptic curve and Advanced Encryption Standard(AES), we realize anonymity authentication and security medical data transmitting. The system supports cross-platform, heterogeneous networks data transmitting and has a perfect mechanism to deal with emergency. The system has creatively introduced anonymity authentication into wireless healthcare system, with the help of FPGA's high speed calculation. It gives an efficient and reliable way to solve the security issues in wireless healthcare system.
Key words: anonymity authentication; privacy protection; wireless healthcare
1 背景介绍
无线通信与传感器网络改变了人们的生活方式。 在电子医疗保健中, 通过将很小的无线传感器植入或固定在患者上, 即可获取重要的人体生理数据, 给予病人更好的治疗。 这也形成了一类新的无线通信系统—— “无线体域网(Wireless Body Area Networks, WBANs)”。 将WBANs与其他有线或无线通信网络(如蜂窝网络、 蓝牙、 Wi-Fi、 Wi Max等)结合起来, 即可设计出电子医疗(e-Healthcare)系统, 使患者得到监护和治疗, 提高医疗效率, 降低医疗成本。
2 无线医疗监护系统设计
2.1 无线医疗网概述
系统由无线体域网(WBAN)、 数据传输网以及医疗服务网三部分组成。 无线体域网(WBAN)由植入病人身体的各种微小传感器组成, 采集医疗数据。 数据传输网络将采集的医疗数据通过无线安全固定设备(WSAD)发往各类通信中转。 医疗服务网实时分析和监护医疗数据, 提供各种医疗服务。
2.2 无线医疗监护系统功能
本系统具有以下主要功能:
(1) 构建安全可信系统: 高效身份认证和匹配算法, 保证病人身份匿名性。
(2) 敏感数据保护, 实时监控: 可靠数据传输链路和高效加密算法, 保证数据安全在请求监护服务的同时, 进行密钥协商。
(3) 数据跨平台异构网络传输: 室内与户外两种环境监护模式, 方便用户移动。
(4) 完备的紧急情况处理机制: 实时响应, 保障用户生命安全。
2.3 无线医疗监护系统安全机制设计
本作品设计的无线医疗匿名监护系统是基于椭圆曲线Tate对和AES, 具有用户身份的匿名认证与密钥协商, 匿名身份认证的便携式安全可信等无线医疗监护功能。 主要分为三部分: 硬件安全库, 安全通信层和应用开发层。
(1) 硬件安全库设计。
1) 系统用户端硬件。 系统用户端硬件由ATLYS板卡、 Wi-Fi模块、 心电传感器和手机/PC/笔记本组成。 ATLYS板卡通过Pmod口虚拟出2个串口, 分别与心电传感器、 Wi-Fi模块相连, 通过Wi-Fi与室内网关或手机传输数据。
2) 认证端硬件。 系统的认证(医生)端硬件部分包括医生监护端和权威认证端。 医生监护端硬件为主机A, 权威认证端硬件包含主机B与ATLYS板卡。 主机A用于处理从用户发来的信息和显示用户医疗数据。 主机B用于建立维护病人真实信息数据库, 接收主机A发来的用户认证信息, 通过串口传送给ATLYS板卡。 ATLYS板卡进行认证计算, 返回用户对应的Tate值, 由主机B进行数据库匹配。
(2) 安全通信层交互流程设计。
安全通信层主要实现在用户端、 医生监护端和权威认证端之间建立安全的传输链路, 为应用开发层提供可靠数据流。 主要包括用户身份认证阶段、 用户医疗数据监护阶段、 用户医疗数据异常阶段、 用户意外关闭监护服务阶段以及用户主动关闭监护服务阶段等五种情形信息流交互过程。
(3) 应用开发层功能设计。
医生监护端主要实现包括医生登录、 系统设置、 多视窗实时监护用户、 查阅病人医疗信息、 紧急情况下联系值班医生和护士, 显示地理位置信息等功能。
权威认证端主要实现管理员登录、 注册新用户、 用户历史信息查询、 当前在线用户查询、 紧急情况和用户意外关闭服务下联系病人家属和病人等功能。
3 无线医疗监护系统的实现
3.1 概述
本系统利用ATLYS开发板作为底层硬件, 以Android手机和PC/笔记本作为通信中转媒介, 结合上层应用开发, 便携式无线医疗监护系统。 FPGA硬件部分选用XILINX SPARTAN 6系列LX45 ATLYS开发板, 使用ISE13.4软件开发环境, VerilogHDL完成。 额外使用一块XINLINX VIRTE X2 PROX C2 VP30开发板, 功能与用户端ATLYS开发板相同。
图1 Tiny Tate模块结构图
3.2 硬件安全库的实现
(1) FPGA硬件主要模块。
1) Tate双线性对模块(见图1); 用来计算Tate双线性对中一种特殊的reducedηT对。
其中RAM地址为:
2) Tate双线性对读写模块(见图2), 用来控制Tate双线性对模块的读写。
图2 Tate双线性对读写模块
(a) 写模块; (b) 读模块
3) 椭圆曲线群模块。椭圆曲线上的标量运算模块用来计算椭圆曲线群中两个点和c个同样元素之和。超奇异椭圆曲线为E:y2=x3-x+1;Galois field GF(3m),m=97;不可约多项式:x97+x12+2;椭圆曲线群为在GF(3m)上满足等式E的所有解和一个无穷远点的集合。椭圆曲线上的元素又称为点。
设:P1=(x1,y1),P2=(x2,y2),P3=P1+P2=(x3,y3)
有: -O=O, -P1=(x1, -y1)和P1+O=O+P1=P1
若:P1=-P2,则:P3=O
若:P1=P2,则:λ=、P3=(x1+λ2,-(y1+λ3))
若:P1≠±P2,则:λ=,P3=(λ2-x1-x2,y1+y2-λ3)
使用Paulo S.L.M.Barreto算法(见文献, H.Y.Kim, Ben Lynn, and Michael Scott.Efficient Algorithms for Pairing-Based Cryptosystems.), 模块结构如图3所示。
图3 椭圆曲线群模块
4) AES加密模块。
AES加密模块使用128位密钥,进行128位分组加密。输入密钥和明文,输出密文。结构图如图4所示。
其中: Control模块用于控制密钥读入和各阶段控制。 Key Expansion用于密钥扩展输入到各轮运算。Initial Permutation, Round Permutation, Final Permutation用于对明文变换。
5) 用户端板卡与权威认证端板卡流程。
用户在注册时得到板卡, 获得私钥US存储在板卡中, 设备启动后, 进行身份认证, 之后开始传输医疗数据; 流程如图5所示。 权威认证端板卡用于计算用户身份Tate值, 接收用户发来的临时身份信息, 返回用户身份的Tate值; 流程如图6所示。
图4 AES加密模块
图5 用户端板卡实现流程
3.3 安全通信层与应用开发层的实现
安全通信层使用Eclipse和Visual Studio 2010软件环境开发, 结合Socket完成用户端、 医生监护端和权威认证端之间信息流的交互。
应用开发层采用WPF技术, 使用Microsoft Expression Blend 4、 Vis-ual Studio 2010软件环境开发。
4 测试结果
4.1 测试环境
本系统主要以ATLYS板卡为硬件环境、 Verilog为开发语言环境实现了具有患者隐私保护和数据传输安全的便携式安全可信无线医疗监护系统(见图7)。
图6 认证端板卡实现流程
其中: User A和User B用于模拟患者。
主机A用于模拟室内网关。 配置: CPU Intel Corei3-330M, 内存DDR3 G, 硬盘320GB HDD, Windows 7操作系统。
图7 测试拓扑图
主机B用于模拟医生监护端。 配置: CPU Intel Corei3-330M, 内存DDR3 G, 硬盘320GB HDD, Windows 7操作系统。
主机C用于模拟权威认证端。 配置: CPU Intel Corei3-330M, 内存DDR3 G, 硬盘320GB HDD, Windows 7操作系统。
ALTYSFPGA Board A与Virtex-II ProXC2VP30 FPGA BoardB分别用于User A和User B端实现匿名以及加密。
ALTYSFPG A Board C用于权威认证端实现身份匹配。
Android手机用于模拟用户手机网关。配置:型号MOTOROLAXT 800 Licorice,Android 2.2操作系统。
心电采集模块配置: 型号HKD-10B。
Wi-Fi模块配置: 型号Wi-Fi modII-Core 485, ssid:Wi-Fi modII@192.168.1.254。
无线AP用于室内AP, 型号为TP-LINKTL-WR740N 150M无线路由器。
4.2 部分实例测试结果
(1) 用户身份认证测试。
如图8所示, 经过注册的用户A使用ALTYS FPGA Board A向主机B发起申请认证连接, 主机B将收到的认证信息发往主机C进行身份匹配, 经ALTYS FP-GA Board C返回OK, 表示用户A认证成功, 主机B准备接受用户医疗数据。 同时, 主机C将用户A的医疗相关信息发给主机B, 并在主机B上进行界面的显示。
图8 用户身份认证
(2) 医疗数据加密测试。
用户A身份认证成功后, 开始心电数据的发送, 利用Wireshark工具分析传输信息(见图9, 图10), 观察是否为加密信息。
测试结果分析: 医疗数据的格式为F0 C0 XXXXXX。利用Wireshark抓取来自Wi-Fi 192.168.2.124至家庭网关的数据。 由图9和图10可看出, 收到的数据为经过加密后的数据, 已无原数据头, 数据加密功能测试成功。
图9 室内网关抓包
图10 抓包数据
5 结语
本作品实现了可支持异构无线网络, 并保障患者隐私和数据安全的无线医疗监护系统, 完成了对患者的匿名认证、 医疗数据的安全通信及紧急情况处理功能。
专家点评
参赛作品针对以医疗监护为背景, 利用了XILINX资源, 设计并制作了一套具有隐私保密、 安全传输的无线医疗系统。 作品立意新颖, 采用AtlysFPGA板卡设计成一个独立而完整的硬件安全库模块, 实现了实时加密, 特色明显, 演示过程中完成了全部设计功能。 作品对病人的个人隐私保护和医疗数据资料的安全传输具有推广意义。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。