[0003] 本发明的目的是提供一种具有医生搜索功能的医疗预约挂号系统,该具有医生搜索功能的医疗预约挂号系统克服了现阶段挂号隐私无法保护,并且无法根据未知医生进行挂号。
[0004] 为了实现上述目的,本发明提供了一种具有医生搜索功能的医疗预约挂号方法,该具有医生搜索功能的医疗预约挂号方法包括:
[0005] 步骤1,医疗服务提供者将医生的简介信息和医生的属性用可信任中心的公钥加密并发送给云服务器进行存储;
[0006] 步骤2,用户将自己对医生的要求设置成属性集生成搜索令牌发送给云服务器;
[0007] 步骤3,云服务器接收到搜索令牌后开始在存储医生相关信息的数据中心进行搜索,如果没有符合属性的则返回,否则发送符合要求的医生简介信息的密文给用户;
[0008] 步骤4,用户通过恢复出对称密钥从而得到医生简介信息的明文,选择属意的医生完成网上预约挂号。
[0009] 优选地,在步骤1之前包括依次进行的以下步骤,
[0010] 初始化系统;用户和医疗服务提供者分别进行注册;医疗服务提供者在存储中心中存储关键词和该关键词对应的科室。
[0011] 优选地,初始化系统的方法包括:
[0012] 给定安全参数λ,可信任中心选择选择两个素数p和q满足p互质于q‑1,其中,P是循环群G1的椭圆曲线上的一个q阶生成元;
[0013] 可信任中心选择一个双线性对e:G1×G1→G2,G1和G2分别是加法群和乘法循环群;*
[0014] 可信任中心随机选择 作为主私钥,并通过公式计算公钥XA=xAP,其中,zq指非零整数;
[0015] 可信任中心选择以下一个Hash函数:H0:{0,1}*→G1;
[0016] 可信任中心随机选择 作为系统的密钥;
[0017] σ(·)是一般的签名算法,Enc(·)是对称加密算法;
[0018] 系统参数为
[0019] params=(q,P,G1,G2,e,H0,aP,bP,cP,αP,βP,σ(·),Enc(·),XA)。
[0020] 优选地,用户和医疗服务提供者分别进行注册的方法包括:
[0021] 用户或者医疗服务提供者随机选择 作为私钥,可信任中心通过公式计算出公钥Xi=xiP作为私钥;
[0022] 用户或者医疗服务提供者用真实的身份RIDi向挂号系统注册;可信任中心选择作为用户的伪身份。
[0023] 优选地,医疗服务提供者在存储中心中存储关键词和该关键词对应的科室的方法包括:
[0024] 医疗服务提供者对医生的简介信息,比如说姓名,隶属科室,所在医院,职位等等进行加密,随机选择一个内容密钥,医生的简介信息di被加密成Enck(di);
[0025] 医疗服务提供者随机选择参数 并通过公式计算出W=cr1P,W0=[a(r1+r2)+br2]P,W'=br2P,C1=ke(αP,r2P)和C2=βr2P;
[0026] 医疗服务提供者将医生属性的访问策略定义为访问树,访问树包含了属性集和这些属性对应的访问树的每个叶子aj,qn(0)是r2秘密共性变量,医疗服务提供者通过公式计算出Wj=qj(0)P和Dj=qj(0)H0(aj);
[0027] 医生的属性被加密成 医生的简介信息被加密成CD=(C1,C2);
[0028] 医疗服务提供者通过公式计算得到σ1=σ(CT||CD),并发θ1=(CT||CD||σ1)送给云服务器将数据存储在云服务器中。
[0029] 优选地,在步骤2中,用户将自己对医生的要求设置成属性集生成搜索令牌发送给云服务器的方法包括:
[0030] 用户将自己对医生的要求设置成属性集 并产生相应的属性钥匙,可信任中心随机选择参数并通过公式计算出C3=(ac‑r)P/b,C4=(α+r)P/β;
[0031] 对于每个 可信任中心随机选择并通过公式计算得到Aj=rP+rjH0(atj)和Bj=rjP,输出密钥集为
[0032] 可信任中心通过公式计算得到σ2=σ(Sa),并发θ2=(Sa||σ2)送给用户;
[0033] 用户接收到密钥包之后,随机选择 并通过公式计算ε1=(a+b)sP,ε2=csP,ε3=sC8以及对每个 计算Aj'=sAj和Bj'=sBj,从而生成搜索令牌
[0034] 用户通过计算公式得到 并发 送给云服务器。
[0035] 优选地,在步骤3中,云服务器接收到搜索令牌后开始在存储医生相关信息的数据中心进行搜索,如果没有符合属性的则返回,否则发送符合要求的医生简介信息的密文给用户的方法包括:
[0036] 云服务器接收到用书的搜索令牌后,查询用户的属性在密文CT是否满足访问树如果存在一个子集 对于任一 云服务器通过公式计算得到Ej=e(Aj',Wj)/e(Bj',Dj)=e(rsP,qj(0)P),并联合这些变量计算公式得到:
[0037]
[0038] 云服务器通过公式e(W,ε1)Ere(ε3,W')=e(W0,ε2)判定其在等式成立的情况下发送医生简介信息的密文CD和Er给用户,否则返回“⊥”,云服务器通过公式计算得到并发 送给用户。
[0039] 优选地,在步骤4中,用户通过恢复出对称密钥从而得到医生简介信息的明文,选择属意的医生完成网上预约挂号的方法包括:
[0040] 用户接受密文包之后打开并通过以下公式计算恢复出内容密钥:
[0041]
[0042] 用户通用内容密钥进一步解密得到关于符合自己要求的医生的简介信息明文,从而完成与属意医生的网上预约挂号。
[0043] 根据上述技术方案,本发明通过基于属性的关键词搜索一方面实现了用户(一般指病人)搜索符合自己要求的医生进行预约,另一方面也使用户的个人搜索隐私得到保障;同时,对于医生的简介信息的加密的密文的搜索中我们采用共享密钥对信息进行加密,用户只设置的要求与医生的属性一直的情况下才能对密文进行搜索查找并将密文发送给用户,用户恢复出共享密钥才能进一步得到关于医生简介信息的明文。本发明不仅实现了挂号系统中的医生搜索功能,还保护了用户的个人隐私,顺应了网上挂号系统今后的时代潮流。
[0044] 本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。