具有医生搜索功能的医疗预约挂号系统的制作方法

文档序号:16788513发布日期:2019-02-01 19:31阅读:326来源:国知局
具有医生搜索功能的医疗预约挂号系统的制作方法

本发明涉及基于属性的医生搜索的预约挂号方法,具体地,涉及具有隐私保护的医生搜索的医疗预约挂号方法。



背景技术:

随着网上预约挂号系统的日益普及以及网络的日常化,越来越多的病人倾向于网上预约挂号,一方面能节省不必要的等待时间,另一方面也能提高医院的工作效率和医疗质量。但是,与此同时现有的网上预约挂号系统仍存在一些不足之处。其中,病人只能预约明确知道的医生并对该医生进行预约挂号,这就给病人带来极大的不便。此外,在网上预约挂号的过程中,病人的个人隐私也不能得到保障。所以,现有的网上挂号系统还有待提高和改善,以及更人性化地设计。



技术实现要素:

本发明的目的是提供一种具有医生搜索功能的医疗预约挂号系统,该具有医生搜索功能的医疗预约挂号系统克服了现阶段挂号隐私无法保护,并且无法根据未知医生进行挂号。

为了实现上述目的,本发明提供了一种具有医生搜索功能的医疗预约挂号方法,该具有医生搜索功能的医疗预约挂号方法包括:

步骤1,医疗服务提供者将医生的简介信息和医生的属性用可信任中心的公钥加密并发送给云服务器进行存储;

步骤2,用户将自己对医生的要求设置成属性集生成搜索令牌发送给云服务器;

步骤3,云服务器接收到搜索令牌后开始在存储医生相关信息的数据中心进行搜索,如果没有符合属性的则返回,否则发送符合要求的医生简介信息的密文给用户;

步骤4,用户通过恢复出对称密钥从而得到医生简介信息的明文,选择属意的医生完成网上预约挂号。

优选地,在步骤1之前包括依次进行的以下步骤,

初始化系统;用户和医疗服务提供者分别进行注册;医疗服务提供者在存储中心中存储关键词和该关键词对应的科室。

优选地,初始化系统的方法包括:

给定安全参数λ,可信任中心选择选择两个素数p和q满足p互质于q-1,其中,p是循环群g1的椭圆曲线上的一个q阶生成元;

可信任中心选择一个双线性对e:g1×g1→g2,g1和g2分别是加法群和乘法循环群;

可信任中心随机选择作为主私钥,并通过公式计算公钥xa=xap,其中,zq*指非零整数;

可信任中心选择以下一个hash函数:h0:{0,1}*→g1;

可信任中心随机选择作为系统的密钥;

σ(·)是一般的签名算法,enc(·)是对称加密算法;

系统参数为

params=(q,p,g1,g2,e,h0,ap,bp,cp,αp,βp,σ(·),enc(·),xa)。

优选地,用户和医疗服务提供者分别进行注册的方法包括:

用户或者医疗服务提供者随机选择作为私钥,可信任中心通过公式计算出公钥xi=xip作为私钥;

用户或者医疗服务提供者用真实的身份ridi向挂号系统注册;可信任中心选择作为用户的伪身份。

优选地,医疗服务提供者在存储中心中存储关键词和该关键词对应的科室的方法包括:

医疗服务提供者对医生的简介信息,比如说姓名,隶属科室,所在医院,职位等等进行加密,随机选择一个内容密钥,医生的简介信息di被加密成enck(di);

医疗服务提供者随机选择参数并通过公式计算出w=cr1p,w0=[a(r1+r2)+br2]p,w'=br2p,c1=ke(αp,r2p)和c2=βr2p;

医疗服务提供者将医生属性的访问策略定义为访问树,访问树包含了属性集和这些属性对应的访问树的每个叶子aj,qn(0)是r2秘密共性变量,医疗服务提供者通过公式计算出wj=qj(0)p和dj=qj(0)h0(aj);

医生的属性被加密成医生的简介信息被加密成cd=(c1,c2);

医疗服务提供者通过公式计算得到σ1=σ(ct||cd),并发θ1=(ct||cd||σ1)送给云服务器将数据存储在云服务器中。

优选地,在步骤2中,用户将自己对医生的要求设置成属性集生成搜索令牌发送给云服务器的方法包括:

用户将自己对医生的要求设置成属性集并产生相应的属性钥匙,可信任中心随机选择参数并通过公式计算出c3=(ac-r)p/b,c4=(α+r)p/β;

对于每个可信任中心随机选择并通过公式计算得到aj=rp+rjh0(atj)和bj=rjp,输出密钥集为

可信任中心通过公式计算得到σ2=σ(sa),并发θ2=(sa||σ2)送给用户;

用户接收到密钥包之后,随机选择并通过公式计算ε1=(a+b)sp,ε2=csp,ε3=sc8以及对每个计算aj'=saj和bj'=sbj,从而生成搜索令牌

用户通过计算公式得到并发送给云服务器。

优选地,在步骤3中,云服务器接收到搜索令牌后开始在存储医生相关信息的数据中心进行搜索,如果没有符合属性的则返回,否则发送符合要求的医生简介信息的密文给用户的方法包括:

云服务器接收到用书的搜索令牌后,查询用户的属性在密文ct是否满足访问树如果存在一个子集对于任一云服务器通过公式计算得到ej=e(aj',wj)/e(bj',dj)=e(rsp,qj(0)p),并联合这些变量计算公式得到:

云服务器通过公式e(w,ε1)ere(ε3,w')=e(w0,ε2)判定其在等式成立的情况下发送医生简介信息的密文cd和er给用户,否则返回“⊥”,云服务器通过公式计算得到并发送给用户。

优选地,在步骤4中,用户通过恢复出对称密钥从而得到医生简介信息的明文,选择属意的医生完成网上预约挂号的方法包括:

用户接受密文包之后打开并通过以下公式计算恢复出内容密钥:

用户通用内容密钥进一步解密得到关于符合自己要求的医生的简介信息明文,从而完成与属意医生的网上预约挂号。

根据上述技术方案,本发明通过基于属性的关键词搜索一方面实现了用户(一般指病人)搜索符合自己要求的医生进行预约,另一方面也使用户的个人搜索隐私得到保障;同时,对于医生的简介信息的加密的密文的搜索中我们采用共享密钥对信息进行加密,用户只设置的要求与医生的属性一直的情况下才能对密文进行搜索查找并将密文发送给用户,用户恢复出共享密钥才能进一步得到关于医生简介信息的明文。本发明不仅实现了挂号系统中的医生搜索功能,还保护了用户的个人隐私,顺应了网上挂号系统今后的时代潮流。

本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:

图1是本发明一种具有隐私保护和具有医生搜索功能的医疗预约挂号系统的系统模型示意图;

图2是本发明一种有隐私保护和具有医生搜索功能的医疗预约挂号系统的流程示意图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

如图1所示,一种有隐私保护和具有医生搜索功能的医疗预约挂号系统的系统模型示意图,该方法包括以下步骤:医疗服务提供者将医生的简介信息以及与医生对应的属性用可信任中心的公钥加密并发送给云服务器进行存储;

用户将自己对医生的要求设置成属性集生成搜索令牌发送给云服务器;

云服务器接收到搜索令牌后开始在存储医生相关信息的数据中心进行搜索,如果没有符合属性的则返回“⊥”,否则发送符合要求的医生简介信息的密文给用户;

用户通过恢复出对称密钥从而得到医生简介信息的明文,从而选择属意的医生完成网上预约挂号。

如图2所示,一种有隐私保护和具有医生搜索功能的医疗预约挂号方法的流程示意图,包括以下步骤:

步骤1,系统初始化;

步骤2,注册;

步骤3,数据存储;

步骤4,根据上述方法进行医生搜索。

优选地,在步骤1中的系统初始化方法包括:

步骤11,给定安全参数λ,可信任中心选择选择两个素数p和q满足p互质于q-1,其中,p是循环群g1的椭圆曲线上的一个q阶生成元。可信任中心选择一个双线性对e:g1×g1→g2,g1和g2分别是加法群和乘法循环群。可信任中心随机选择作为主私钥,并通过公式计算公钥xa=xap,其中,zq*指非零整数;

步骤12,可信任中心选择以下一个hash函数:h0:{0,1}*→g1;

步骤13,可信任中心随机选择作为系统的密钥;

步骤14,σ(·)是一般的签名算法,enc(·)是对称加密算法;

系统参数为

params=(q,p,g1,g2,e,h0,ap,bp,cp,αp,βp,σ(·),enc(·),xa)。

优选地,在步骤2中的注册的方法包括:

步骤21,用户或者医疗服务提供者随机选择作为私钥,可信任中心通过公式计算出公钥xi=xip作为私钥;

步骤22,用户或者医疗服务提供者用真实的身份ridi向挂号系统注册;可信任中心选择作为用户的伪身份;

优选地,在步骤3中的数据存储的方法包括:

步骤31,医疗服务提供者对医生的简介信息,比如说姓名,隶属科室,所在医院,职位等等进行加密,随机选择一个内容密钥,医生的简介信息di被加密成enck(di);

步骤32,医疗服务提供者随机选择参数并通过公式计算出w=cr1p,w0=[a(r1+r2)+br2]p,w'=br2p,c1=ke(αp,r2p)和c2=βr2p;

步骤33,医疗服务提供者将医生属性的访问策略定义为访问树,访问树包含了属性集和这些属性对应的访问树的每个叶子aj,qn(0)是r2秘密共性变量,医疗服务提供者通过公式计算出wj=qj(0)p和dj=qj(0)h0(aj);

步骤34,医生的属性被加密成医生的简介信息被加密成cd=(c1,c2);

步骤35,医疗服务提供者通过公式计算得到σ1=σ(ct||cd),并发θ1=(ct||cd||σ1)送给云服务器将数据存储在云服务器中。

优选地,在步骤4中的医生搜索的方法包括:

步骤41,用户将自己对医生的要求设置成属性集并产生相应的属性钥匙,可信任中心随机选择参数并通过公式计算出c3=(ac-r)p/b,c4=(α+r)p/β;

步骤42,对于每个可信任中心随机选择并通过公式计算得到aj=rp+rjh0(atj)和bj=rjp,输出密钥集为

步骤43,可信任中心通过公式计算得到σ2=σ(sa),并发θ2=(sa||σ2)送给用户;

步骤44,用户接收到密钥包之后,随机选择并通过公式计算ε1=(a+b)sp,ε2=csp,ε3=sc8以及对每个计算aj'=saj和bj'=sbj,从而生成搜索令牌

步骤45,用户通过计算公式得到σ3=σ(pidui||ε)并发θ3=(pidui||ε||σ3)送给云服务器;

步骤46,云服务器接收到用书的搜索令牌后,查询用户的属性在密文ct是否满足访问树如果存在一个子集对于任一云服务器通过公式计算得到ej=e(aj',wj)/e(bj',dj)=e(rsp,qj(0)p),并联合这些变量计算公式得到

步骤47,云服务器通过公式e(w,ε1)ere(ε3,w')=e(w0,ε2)判定其在等式成立的情况下发送医生简介信息的密文cd和er给用户,否则返回“⊥”,云服务器通过公式计算得到并发送给用户;

步骤48,用户接受密文包之后打开并通过以下公式计算恢复出内容密钥

用户通用内容密钥进一步解密得到关于符合自己要求的医生的简介信息的明文,从而完成与属意医生的网上预约挂号。

其中,步骤47中判定等式的正确性如下:

以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1