【技术实现步骤摘要】
一种基于属性的抗量子公钥可搜索加密的方法
[0001]本专利技术涉及信息安全
,尤其涉及一种基于属性的抗量子公钥可搜索加密的方法。
技术介绍
[0002]近年来,随着云存储的广泛应用,越来越多的医疗机构将电子病历(EMR)存储在电子医疗系统中,显著地提高了医生的服务效率,降低了EMR的存储成本。然而不同的医疗机构对EMR的管理方式往往不同,导致EMR的共享难度大。此外,EMR包含患者的隐私信息和敏感数据,容易受到恶意利用。恶意攻击者会对EMR进行选择明文攻击(Chosen Plaintext Attack,CPA)和选择关键字攻击(Chosen Keyword Attack,CKA),使其隐私性受到极大威胁。通常情况下,EMR通过加密算法(如RSA和ECC)进行加密,然后上传到医疗机构以保护其隐私性。然而加密后的EMR难以实现医生的搜索和医疗机构的访问控制,此外当医生搜索到患者的EMR时,他们必须下载所有数据并对其进行解密以获得有用的信息,这样消耗了大量的时间成本,影响了工作效率,同时占用了较多的存储空间。
[0003]可搜索加密技术可以很好地解决以上问题,可搜索加密技术通过对EMR密文进行搜索实现各方之间的数据共享。然而大多数基于双线性映射的传统可搜索加密方案无法抵抗量子计算攻击,这将导致EMR数据被攻击者使用量子计算的方式进行恶意篡改;除此之外,现有技术中大多数可搜索加密方案无法实现访问控制,所有医生都可以搜索患者的EMR,使它的隐私性无法得到彻底保证。
技术实现思路
[0004]本 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.一种基于属性的抗量子公钥可搜索加密的方法,其特征在于,所述方法包括:步骤1、首先建立可信权威中心,并初始化可信权威中心的相关参数,包括公共参数和主密钥;步骤2、由医生通过医疗系统向所述可信权威中心发送属性值,所述可信权威中心根据收到的属性值生成所述医生的私钥,并将私钥返回给所述医生;步骤3、由患者通过医疗终端在自己的电子病历EMR中提取关键字,将所述关键字和EMR根据患者的属性值进行加密得到EMR密文,由医疗终端将EMR密文上传到可信服务方;步骤4、所述医生通过医疗系统输入待搜索关键字和自己的属性值,生成用于对应EMR搜索的陷门,并由医疗系统提交所述陷门给所述可信服务方;步骤5、所述可信服务方根据收到的陷门判断医生的属性值是否满足访问条件,若满足,则将所述陷门对应的EMR密文返回给所述医生;步骤6、所述医生再通过医疗系统根据步骤2得到的私钥解密返回的EMR密文,得到相应的EMR明文。2.根据权利要求1所述基于属性的抗量子公钥可搜索加密的方法,其特征在于,在步骤3中,所述患者进一步通过医疗终端设置属性的访问条件,只有当医生的属性值满足对应条件时,医疗系统才能执行搜索和解密算法。3.根据权利要求1所述基于属性的抗量子公钥可搜索加密的方法,其特征在于,在步骤1中,所述可信权威中心用于生成公共参数和主密钥,在密钥提取阶段接收医疗系统发送的医生属性,然后为每个医生生成密钥;初始化可信权威中心的相关参数的过程具体为:首先选择两个正整数n,m,其次选择一个素数q满足q≥2且m>6n log q;当i∈[1,d]时,d是长度参数,与密文中整数的个数有关;计算H
i
:表示哈希函数,用于将0,1字符串映射到一个n维向量;调用格密码中的TrapGen算法生成矩阵M0和主密钥且满足该公式是TrapGen算法的条件,指主密钥施密特正交化之后的范数,n是正整数,q是素数;然后对于i=1,2,...,l,l是长度参数,表示用户属性的长度;选择M
i
,表示n
×
m维矩阵,作为公共参数pp的一部分;最后选择参数和向量建立公共参数pp=(M0,M1,...,M
l
,B,v),并返回作为输出;其中,表示n
×
m维矩阵;表示n维向量。4.根据权利要求1所述基于属性的抗量子公钥可搜索加密的方法,其特征在于,在步骤2中,所述可信权威中心根据收到的属性值生成所述医生的私钥的过程具体为:根据医生通过医疗系统向所述可信权威中心发送的医生属性值a∈{0,1}
l
,表示a是长度为l的0,1的字符串,计算其中,M
a
,B,M
j
均是n
×
m维矩阵,j∈a表示下标j在属性a之中,下标j是循环变量,遍历1到l;
然后通过调用格密码算法SampleBasis采样得到矩阵再调用算法Sampleft采样获得一个向量ε
a
并且满足条件(M0|M
a
)ε
a
=v;v表示n维向量,作为公共参数pp的一部分;令医生的私钥其中,公共参数pp=(M0,M1,...,M
l
,B,v);为主密钥。5.根据权利要求3所述基于属性的抗量子公钥可搜索加密的方法,其特征在于,在步骤3中,所述可信服务方用于存储电子病历EMR及其关键字索引,并将EMR密文返回给满足访问条件的医生;医疗终端将所述关键字和EMR根据患者的属性值进行加密得到EMR密文的过程具体为:首先患者通过医疗终端选择关键字w∈{0,1}
*
和EMR明文PT∈{0,1}以及患者的属性a
′
∈{0,1}
l
;然后选择向量表示n维向量,用于密文的计算;对于j=1,2,...,l,l是长度参数,随机选择A
j
技术研发人员:徐刚,徐仕远,曹艺博,陈秀波,
申请(专利权)人:北方工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。