CN112614545A - 一种支持多属性匿名认证的基因序列安全比对方法及系统 - Google Patents

一种支持多属性匿名认证的基因序列安全比对方法及系统 Download PDF

Info

Publication number
CN112614545A
CN112614545A CN202011590499.8A CN202011590499A CN112614545A CN 112614545 A CN112614545 A CN 112614545A CN 202011590499 A CN202011590499 A CN 202011590499A CN 112614545 A CN112614545 A CN 112614545A
Authority
CN
China
Prior art keywords
gene
gene sequence
user
attribute
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011590499.8A
Other languages
English (en)
Other versions
CN112614545B (zh
Inventor
杨雅希
翁健
吴正豪
李明
刘家男
李宇娴
毛宜军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202011590499.8A priority Critical patent/CN112614545B/zh
Publication of CN112614545A publication Critical patent/CN112614545A/zh
Application granted granted Critical
Publication of CN112614545B publication Critical patent/CN112614545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Biotechnology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Computer Hardware Design (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持多属性匿名认证的基因序列安全比对方法及系统,方法先是基因数据库拥有者将基因序列的阈值和访问属性集合发送给证书颁布者,然后根据计算需求设计混淆电路来从中找出查询用户可查询的基因序列,并向查询用户返回这些基因序列所对应的标签;查询用户向证书颁布者发起证书授权请求并与证书颁布者交互,获得属性证书集合后再向基因数据库拥有者发起针对某条基因序列的查询请求;基因数据库拥有者匿名验证查询用户的属性证书,判断查询用户的查询属性集合是否满足获取要求,满足情况下基因数据库拥有者向查询用户返回相应的明文基因序列。本发明可实现数据查询的安全性、隐私性、高效性以及可控性。

Description

一种支持多属性匿名认证的基因序列安全比对方法及系统
技术领域
本发明涉及基因数据隐私保护技术领域,特别涉及一种支持多属性匿名认证的基因序列安全比对方法及系统。
背景技术
如今,由于基因测序技术的不断成熟,获取基因数据的成本越来越低。基因检测被广泛应用于卫生保健、生物医学研究、司法鉴定以及医疗诊断等各个领域,研究者通过对基因序列进行相关分析逐步揭开基因密码。各类公共基因数据平台层出不穷,例如:Beacon项目,TCGA平台等,研究者可以利用这些平台进行相关基因序列查询或者其他研究。例如,查询用户可以在这类平台上查找到符合要求的基因序列;此外,测序机构之间也可以通过基因数据共享的形式,推动机构的业务和研究。但是,基因数据包含了个人大量的隐私信息,例如:可能患有的疾病、身份信息、亲属关系等,数据拥有者不希望暴露自己基因数据库的信息;而查询用户也需要保护其查询的基因数据信息。因为恶意用户在获得这些基因数据信息后,很可能通过这些信息侵害个人隐私以及基因数据安全。因此,在保证研究者对其所拥有的基因数据进行共享和研究的同时,对基因数据的保护就显得尤为重要。
因此,在用户获取基因数据信息时,需要考虑以下情况:当查询用户在数据库拥有者的基因数据库中执行相似序列查询(SSQ)时,如果在没有认证或其他限制的情况下任意访问基因数据库,将非常容易侵犯数据库提供者的隐私。这是由于重新识别(re-identification)攻击方式的存在,查询用户可以推断数据库中基因数据对应的个人真实身份。因此,我们面临的挑战是确保每个数据所有者都能秘密地将他们的基因组数据分享给一些研究人员,以实现其在基因组分析中的全部潜力,并且每个查询用户的隐私也都应该受到保护。
目前,密码学中的部分技术可以被用来解决这一难题,如私有信息检索技术、可搜索加密技术、不经意传输技术以及隐私集合交集技术,这些技术都是安全多方计算(MPC)的重要组成部分。如今很多研究是基于这些方法上,并将其应用于保护基因组数据和个人隐私。然而,在相似基因序列查询场景中,现有的方案还无法做到在保护所有参与方的隐私和数据安全的同时,数据拥有者能够对自己的基因序列拥有更细粒的权限控制——查询者各类属性都满足数据拥有者的某条基因序列要求时,查询者才可以获取相对应的基因序列,即实现对查询者的多属性匿名认证。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种支持多属性匿名认证的基因序列安全比对方法,该方法可实现基因数据查询场景下数据查询的安全性、隐私性、高效性以及可控性。
本发明的第二目的在于提供一种支持多属性匿名认证的基因序列安全比对系统。
本发明的第一目的通过下述技术方案实现:一种支持多属性匿名认证的基因序列安全比对方法,包括如下步骤:
S1、基因数据库拥有者对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和访问属性集合发送给证书颁布者;
S2、基因数据库拥有者根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路用于安全地计算查询用户待查询的基因序列和基因数据库拥有者所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后基因数据库拥有者向查询用户返回这些基因序列所对应的标签;
S3、查询用户向证书颁布者发起证书授权请求,并通过获取到的基因序列的标签及自身的查询属性集合与证书颁布者交互,从而获得对应的属性证书集合;
S4、查询用户向基因数据库拥有者发起针对某条基因序列的查询请求;
S5、基因数据库拥有者通过匿名验证的方式验证查询用户获得的属性证书:首先根据查询用户获得的基因序列的标签确定查询用户所查询的基因序列,其次根据查询用户的属性证书集合匿名验证查询用户的查询属性集合是否满足获取所查询基因序列的要求,
若查询属性集合满足该条基因序列的要求,则验证通过,基因数据库拥有者向查询用户返回相应的明文基因序列;
若查询属性集合不满足该条基因序列的要求,则验证不通过,查询用户无法获取该条基因序列。
优选的,步骤S1的过程具体如下:
S11、证书颁布者生成自己的私钥skissuer,生成并公开全系统参数pkissuer,以及确定包含所有可能属性的属性全集U;
S12、基因数据库拥有者获取证书颁布者的公开参数pkissuer,基于公开参数pkissuer生成公私钥对pkDB、skDB,对其拥有的每条基因序列dbi设定索引、访问属性集合
Figure BDA0002866880190000041
和汉明阈值
Figure BDA0002866880190000042
并用私钥skDB加密基因序列dbi,得到加密后的基因序列
Figure BDA0002866880190000043
其中,索引表示为标签labeli,其采用基因数据库拥有者选取的随机值, 1≤i≤n,i为基因序列的序号,n为拥有的基因序列总数;l为访问属性集合中访问属性的个数;
S13、基因数据库拥有者将汉明阈值
Figure BDA0002866880190000044
和访问属性集合
Figure BDA0002866880190000045
发送给证书颁布者。
更进一步的,步骤S2的过程具体如下:
S21、基因数据库拥有者与查询用户共同决定混淆电路中用于安全计算的函数:f:
Figure BDA0002866880190000046
基因数据库拥有者根据函数f确定混淆电路,计算函数f用于计算基因数据库拥有者拥有的基因序列dbi与查询用户待查询的基因序列qj之间的汉明距离,当汉明距离小于汉明阈值
Figure BDA0002866880190000047
时,查询用户即获得对应的标签labeli,表示为:
Figure BDA0002866880190000048
其中,1≤j≤m,j为待查询的基因序列序号,m为待查询的基因序列总数;
S22、根据计算函数f设计对应的电路,根据该电路设计混淆电路C并设置混淆电路表T;
为了使查询用户可以验证基因数据拥有者是否正确构造混淆电路C,进一步为混淆电路增加掩盖比特L:在设置该混淆电路的混淆电路表时,对混淆电路表中每一行数据都异或一个掩盖比特L;
S23、基因数据库拥有者与查询用户之间采用信息理论安全的消息认证码的方式秘密分享一个掩盖比特
Figure BDA0002866880190000051
其中,基因数据库拥有者获取掩盖比特的部分值LA,查询用户获取掩盖比特的部分值LB
S24、查询用户获取掩盖比特LB、混淆电路表T之后,基因数据库拥有者利用LA以及混淆电路表T,计算得到对应的部分混淆电路表验证值TA,查询用户利用LB以及混淆电路表T,计算得到对应的部分混淆电路表验证值TB;其中,TA与 TB的计算方法为:对混淆电路表内的每一行数据与掩盖比特进行异或,即分别得到
Figure BDA0002866880190000052
以及
Figure BDA0002866880190000053
S25、查询用户作为混淆电路表T的评估者,通过向T输入待查询基因序列来获得电路输出O,若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离小于或等于设定的汉明阈值,则O为该基因数据库中查询用户待查询基因序列的标签集合O1;若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离大于设定的汉明阈值,则O为零;
S26、查询用户获得混淆电路表T的输出后,对混淆电路表构造的正确性进行验证:请求基因数据库拥有者发送TB,并将该值与其所计算的TA进行异或操作,得到
Figure BDA0002866880190000054
再将L'与L进行比较验证,判断是否相等,若相等,即验证通过,则代表电路被正确构造,结果正确;若不相等,即验证不通过,则代表电路的构造发生错误。
更进一步的,在步骤S3中,证书颁布者采用BBS签名方案计算关于查询属性集合的属性证书集合
Figure BDA0002866880190000055
并发送给查询用户:
S31、查询用户生成自己的私钥skC,生成并公开公钥pkC,并设置状态信息参数stU,该状态信息参数用于记录查询用户的查询状态,其次将其获得的标签集合O1={label1,...,labelτ-1,labelτ}以及自身的查询属性集合
Figure BDA0002866880190000056
合并发送给证书颁布者;
其中,τ为标签集合中的标签总数,D为查询属性集合中的查询属性,且D ∈U,
Figure BDA0002866880190000061
为查询属性集合中的查询属性总数;
S32、证书颁布者根据集合O1、O2以及基因数据库拥有者设定的访问控制策略,为查询用户颁发相应的属性证书集合
Figure BDA0002866880190000062
Au中的属性证书Credz={Az,sz,rz};
其中,
Figure BDA0002866880190000063
Az为查询用户获得的关于属性Dz的签名,也就是证书颁布者的授权,授权操作本质上是一种签名运算;
Figure BDA0002866880190000064
z为属性证书集合中的属性证书序号,
Figure BDA0002866880190000065
为属性证书集合中的属性证书总数;sc、rc均为从群Zp中选取的随机数;Dz代表查询用户的某项属性;{sz,rz}为群Zp中选取的随机数。
更进一步的,在步骤S5中,基因数据库拥有者验证查询用户获得的属性证书,具体如下:
S51、根据标签O1={label1,...,labelτ-1,labelτ}确定查询用户所查询的基因序列
Figure BDA0002866880190000066
S52、根据属性证书集合
Figure BDA0002866880190000067
判断查询用户是否可以获取所有标签为O1={label1,...,labelτ-1,labelτ}的基因序列数据:
若基因序列标签labelk(1≤k≤τ)的所有属性均能在属性证书集合中找到对应的属性证书,则判定查询用户满足基因序列标签labelk的所有属性,查询用户为合法用户,可以获得标签labelk所对应的基因序列;
反之,则查询用户不满足条件,无法获取标签为labelk所对应的基因序列;基因数据库拥有者选择下一条基因序列标签,继续验证查询用户是否具有获取该条基因序列的条件。
本发明的第二目的通过下述技术方案实现:一种支持多属性匿名认证的基因序列安全比对系统,包括查询用户端、基因数据库拥有者端、证书颁布者端,其中,
查询用户端进一步包括证书授权请求发起模块、交互模块、查询请求发起模块、接收模块:
证书授权请求发起模块,用于向证书颁布者端发起证书授权请求;
交互模块,用于通过基因序列的标签及自身的查询属性集合与证书颁布者端交互,从而从证书颁布者端获得对应的属性证书集合;
查询请求发起模块,用于向基因数据库拥有者端发起查询请求;
接收模块,用于从基因数据库拥有者端接收基因序列所对应的标签以及明文基因序列;
基因数据库拥有者端进一步包括初始化模块、混淆电路设置及计算模块、匿名验证模块:
初始化模块,用于对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和对应访问属性发送给证书颁布者端;
混淆电路设置及计算模块,用于根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路用于安全地计算查询用户端待查询的基因序列和基因数据库拥有者端所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后向查询用户端返回这些基因序列所对应的标签;
匿名验证模块,用于通过匿名验证的方式验证查询用户端获得的属性证书:首先根据查询用户端获得的基因序列的标签确定查询用户端所查询的基因序列,其次根据查询用户端的属性证书集合匿名验证查询用户端的查询属性集合是否满足获取所查询基因序列的要求,在查询属性集合满足该条基因序列的要求的情况下,通过查询用户端的验证,并向查询用户端返回相应的明文基因序列;在查询属性集合不满足该条基因序列的要求的情况下,不通过查询用户端的验证,查询用户端无法获取该条基因序列。
优选的,基因数据拥有者端为多个独立的数据库机构;查询用户端为只发起查询请求的一般用户端,或者为基因数据拥有者端;证书颁布者端为第三方可信机构。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明实现了针对基因序列比对场景的用户多属性匿名认证,属性不仅仅包含了用户自身的静态属性,同时包含了用户所查询数据与数据库数据之间是否满足既定条件的动态属性,并保证协议运行过程中数据的机密性和完整性。
(2)本发明设定了多属性的匿名认证模式,基因数据库拥有者对自己的基因序列数据库拥有更细粒的权限控制,当查询用户的各类属性都满足数据拥有者的某条基因序列要求时,查询用户才可以获取相对应的基因序列,即实现对查询用户的多属性认证,这样的方式可实现基因数据查询场景下数据查询的安全性和可控性。
(3)本发明基因数据库拥有者通过匿名验证属性证书来判断查询用户的合法性,这种利用零知识证明的方式实现了证书颁布者签名的验证,可提高基因数据查询场景下数据查询的安全性和隐私性。并且,可以一次性验证多个属性证书,而不需要进行多次验证,进而节约了验证的时间。
(4)本发明利用混淆电路实现任意两方计算函数,使得本发明方法可以扩展为任意的关于基因数据的分析以及计算。
附图说明
图1是本发明支持多属性匿名认证的基因序列安全比对方法的流程图。
图2是查询用户、证书颁布者和数据库拥有者之间的关系示意图。
图3是可验证的安全汉明距离比对的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
本发明提供了一种可抵抗恶意敌手,保证查询安全、数据库的机密性和完整性的基因序列安全比对方法,其中采用的技术包括:BBS签名(Boneh-Boyen Signatures)、零知识证明、可验证的安全两方计算方案,实现了对基因序列的多属性的匿名访问控制,多属性包括查询用户属性、查询序列的属性、以及查询序列和数据库中的基因序列的关系三类,只要其中任意一个不满足数据库拥有者的需求,查询用户就无法获取该基因序列,在查询过程中也同时保证查询用户的各类属性是隐私的。
实施例1
本实施例公开了一种支持多属性匿名认证的基因序列安全比对方法,如图1 和图2所示,包括如下步骤:
S1、基因数据库拥有者对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和访问属性集合发送给证书颁布者。
初始化过程具体如下:
S11、证书颁布者生成自己的私钥skissuer,生成并公开全系统参数pkissuer,以及确定包含所有可能属性的属性全集U;
S12、基因数据库拥有者获取证书颁布者的公开参数pkissuer,基于公开参数pkissuer生成公私钥对pkDB、skDB,对其拥有的每条基因序列dbi设定索引、访问属性集合
Figure BDA0002866880190000101
和汉明阈值
Figure BDA0002866880190000102
并用私钥skDB加密基因序列dbi,得到加密后的基因序列
Figure BDA0002866880190000103
其中,索引表示为标签labeli,其采用基因数据库拥有者选取的随机值, 1≤i≤n,i为基因序列的序号,n为拥有的基因序列总数;l为访问属性集合中访问属性的个数;
S13、基因数据库拥有者将汉明阈值
Figure BDA0002866880190000104
和访问属性集合
Figure BDA0002866880190000105
发送给证书颁布者。
S2、基因数据库拥有者需要安全计算查询用户待查询的基因序列与基因数据库拥有者的基因序列之间的汉明距离,这里具体是采用可验证的基于恶意敌手的混淆电路进行计算。基因数据库拥有者根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路的功能为安全地计算查询用户待查询的基因序列和基因数据库拥有者所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后基因数据库拥有者向查询用户返回这些基因序列所对应的标签。
如图3所示,过程具体如下:
S21、基因数据库拥有者与查询用户共同决定混淆电路中用于安全计算的函数:f:
Figure BDA0002866880190000106
基因数据库拥有者根据函数f确定混淆电路,计算函数f实现的功能是:计算基因数据库拥有者拥有的基因序列dbi与查询用户待查询的基因序列qj之间的汉明距离,当汉明距离小于汉明阈值
Figure BDA0002866880190000111
时,查询用户即获得对应的标签labeli,表示为:
Figure BDA0002866880190000112
其中,1≤j≤m,j为待查询的基因序列序号,m为待查询的基因序列总数;
S22、根据计算函数f设计对应的电路(由于任意函数f都由乘法和加法组成,因此任意函数f都可以转化为由与或门组合而成的电路),根据该电路设计混淆电路C并设置混淆电路表T。
此外,为了使查询用户可以验证基因数据拥有者是否正确构造混淆电路C,进一步为混淆电路增加掩盖比特L,具体是在设置该混淆电路的混淆电路表时,对混淆电路表中每一行数据都异或一个掩盖比特L,以便查询用户在获得混淆电路表,计算完成之后可以对掩盖比特进行验证,若验证成功则代表混淆电路表正确构造。
S23、基因数据库拥有者与查询用户之间采用信息理论安全的消息认证码的方式秘密分享一个掩盖比特
Figure BDA0002866880190000113
其中,基因数据库拥有者获取掩盖比特的部分值LA,查询用户获取掩盖比特的部分值LB
S24、查询用户获取掩盖比特LB、混淆电路表T之后,基因数据库拥有者利用LA以及混淆电路表T,计算得到对应的部分混淆电路表验证值TA,查询用户利用LB以及混淆电路表T,计算得到对应的部分混淆电路表验证值TB
其中,TA与TB计算方法为:对混淆电路表内的每一行数据与掩盖比特进行异或,即分别得到
Figure BDA0002866880190000114
以及
Figure BDA0002866880190000115
S25、查询用户作为混淆电路表T的评估者,通过向T输入待查询基因序列来获得电路输出O,若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离小于或等于设定的汉明阈值,则O为该基因数据库中查询用户待查询基因序列的标签集合O1;若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离大于设定的汉明阈值,则O为零。
可见,查询用户与基因数据库拥有者基于可验证的混淆电路,执行两方计算协议,通过计算双方序列的汉明距离,当汉明距离小于基因数据库拥有者设定的汉明阈值时,则可返回该条基因序列对应的标签。在这个过程中,查询用户的查询序列对于基因数据库拥有者而言是秘密的,同时,基因数据库拥有者数据库中的基因序列对于查询用户而言也是秘密的。
S26、查询用户获得混淆电路表T的输出后,对混淆电路表构造的正确性进行验证:请求基因数据库拥有者发送TB,并将该值与其所计算的TA进行异或操作,得到
Figure BDA0002866880190000121
再将L'与L进行比较验证,判断是否相等,若相等,即验证通过,则代表电路被正确构造,结果正确;若不相等,即验证不通过,则代表电路的构造发生错误。其中,验证通过与否并不会泄露查询用户输入的信息。
S3、查询用户向证书颁布者发起证书授权请求,并通过获取到的基因序列的标签及自身的查询属性集合与证书颁布者交互,从而获得对应的属性证书集合。
其中,证书颁布者采用BBS(Boneh-Boyen Signatures)签名方案计算关于查询属性集合的属性证书集合
Figure BDA0002866880190000122
并发送给查询用户:
S31、查询用户生成自己的私钥skC,生成并公开公钥pkC,并设置状态信息参数stU,该状态信息参数用于记录查询用户的查询状态,其次将其获得的标签集合O1={label1,...,labelτ-1,labelτ}以及自身的查询属性集合
Figure BDA0002866880190000123
合并发送给证书颁布者;
其中,τ为标签集合中的标签总数,D为查询属性集合中的查询属性,且D ∈U,
Figure BDA0002866880190000131
为查询属性集合中的查询属性总数;
S32、证书颁布者根据集合O1、O2以及基因数据库拥有者设定的访问控制策略(访问属性集合),为查询用户颁发相应的属性证书集合
Figure BDA0002866880190000132
属性证书集合中的属性证书Credz={Az,sz,rz};
其中,
Figure BDA0002866880190000133
Az为查询用户获得的关于属性Dz的签名,也就是证书颁布者的授权,授权操作本质上是一种签名运算;
Figure BDA0002866880190000134
z为属性证书集合中的属性证书序号,
Figure BDA0002866880190000135
为属性证书集合中的属性证书总数;sc、rc均为从群Zp中选取的随机数;Dz代表查询用户的某项属性,该属性满足访问控制策略; {sz,rz}为群Zp中选取的随机数。
在本实施例中,由于签名含有公开参数pkissuer,因此查询用户可以获取证书颁布者的公开参数pkissuer来确认是否获取到正确的属性证书。
S4、查询用户向基因数据库拥有者发起针对某条基因序列的查询请求。
S5、基因数据库拥有者通过匿名验证的方式验证查询用户获得的属性证书:
S51、根据查询用户获得的基因序列的标签O1={label1,...,labelτ-1,labelτ}确定查询用户所查询的基因序列
Figure BDA0002866880190000136
S52、根据查询用户的属性证书集合
Figure BDA0002866880190000137
匿名验证查询用户的查询属性集合是否满足获取所查询基因序列的要求,也即是判断查询用户是否可以获取所有标签为O1={label1,…,labelτ-1,labelτ}的基因序列数据:
若基因序列标签labelk(1≤k≤τ)的所有属性均能在属性证书集合中找到对应的属性证书,则判定查询用户满足基因序列标签labelk的所有属性,验证通过,查询用户为合法用户,可以获得标签labelk所对应的基因序列,因此基因数据库拥有者向查询用户返回利用公钥pkDB解密后的相应的明文基因序列;
反之,则查询用户不满足条件,验证不通过,查询用户不是合法用户,无法获取标签为labelk所对应的基因序列。此时基因数据库拥有者可选择下一条基因序列标签,继续验证查询用户是否具有获取该条基因序列标签所对应的基因序列的条件。
实施例2
本实施例公开了一种支持多属性匿名认证的基因序列安全比对系统,所述系统可实现实施例1所述的支持多属性匿名认证的基因序列安全比对方法,系统具体包括查询用户端、基因数据库拥有者端、证书颁布者端。
其中,基因数据拥有者端可以是多个独立的数据库机构,可提供原始基因数据。查询用户端既可以是只发起查询请求的一般用户端,也可以是同时还提供基因数据的基因数据拥有者端。证书颁布者端可以是第三方可信机构,可由重要部门担任,如美国国立卫生研究院(NIH)、国际人类基因组组织(HUGO),负责生成和颁布属性证书。
所述基因序列安全比对系统可以是实际中可共享基因数据的系统,例如为医疗健康系统,其中,查询用户端上的查询用户可以是病人、医生、医学机构的研究人员等,基因数据库拥有者端可以是医院/医学机构的基因数据库,可查询的基因序列数据可以是病人基因序列。
查询用户端进一步包括证书授权请求发起模块、交互模块、查询请求发起模块、接收模块:
证书授权请求发起模块,用于向证书颁布者端发起证书授权请求;
交互模块,用于通过基因序列的标签及自身的查询属性集合与证书颁布者端交互,从而从证书颁布者端获得对应的属性证书集合;
查询请求发起模块,用于向基因数据库拥有者端发起查询请求;
接收模块,用于从基因数据库拥有者端接收基因序列所对应的标签以及明文基因序列。
基因数据库拥有者端进一步包括初始化模块、混淆电路设置及计算模块、匿名验证模块:
初始化模块,用于对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和对应访问属性发送给证书颁布者端;
混淆电路设置及计算模块,用于根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路用于安全地计算查询用户端待查询的基因序列和基因数据库拥有者端所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后向查询用户端返回这些基因序列所对应的标签;
匿名验证模块,用于通过匿名验证的方式验证查询用户端获得的属性证书:首先根据查询用户端获得的基因序列的标签确定查询用户端所查询的基因序列,其次根据查询用户端的属性证书集合匿名验证查询用户端的查询属性集合是否满足获取所查询基因序列的要求,在查询属性集合满足该条基因序列的要求的情况下,通过查询用户端的验证,并向查询用户端返回相应的明文基因序列;在查询属性集合不满足该条基因序列的要求的情况下,不通过查询用户端的验证,查询用户端无法获取该条基因序列。
在此需要说明的是,本实施例的查询用户端、基因数据库拥有者端仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1.一种支持多属性匿名认证的基因序列安全比对方法,其特征在于,包括如下步骤:
S1、基因数据库拥有者对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和访问属性集合发送给证书颁布者;
S2、基因数据库拥有者根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路用于安全地计算查询用户待查询的基因序列和基因数据库拥有者所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后基因数据库拥有者向查询用户返回这些基因序列所对应的标签;
S3、查询用户向证书颁布者发起证书授权请求,并通过获取到的基因序列的标签及自身的查询属性集合与证书颁布者交互,从而获得对应的属性证书集合;
S4、查询用户向基因数据库拥有者发起针对某条基因序列的查询请求;
S5、基因数据库拥有者通过匿名验证的方式验证查询用户获得的属性证书:首先根据查询用户获得的基因序列的标签确定查询用户所查询的基因序列,其次根据查询用户的属性证书集合匿名验证查询用户的查询属性集合是否满足获取所查询基因序列的要求,
若查询属性集合满足该条基因序列的要求,则验证通过,基因数据库拥有者向查询用户返回相应的明文基因序列;
若查询属性集合不满足该条基因序列的要求,则验证不通过,查询用户无法获取该条基因序列。
2.根据权利要求1所述的基因序列安全比对方法,其特征在于,步骤S1的过程具体如下:
S11、证书颁布者生成自己的私钥skissuer,生成并公开全系统参数pkissuer,以及确定包含所有可能属性的属性全集U;
S12、基因数据库拥有者获取证书颁布者的公开参数pkissuer,基于公开参数pkissuer生成公私钥对pkDB、skDB,对其拥有的每条基因序列dbi设定索引、访问属性集合
Figure FDA0002866880180000021
和汉明阈值
Figure FDA0002866880180000022
并用私钥skDB加密基因序列dbi,得到加密后的基因序列
Figure FDA0002866880180000023
其中,索引表示为标签labeli,其采用基因数据库拥有者选取的随机值,1≤i≤n,i为基因序列的序号,n为拥有的基因序列总数;l为访问属性集合中访问属性的个数;
S13、基因数据库拥有者将汉明阈值
Figure FDA0002866880180000024
和访问属性集合
Figure FDA0002866880180000025
发送给证书颁布者。
3.根据权利要求2所述的基因序列安全比对方法,其特征在于,步骤S2的过程具体如下:
S21、基因数据库拥有者与查询用户共同决定混淆电路中用于安全计算的函数:
Figure FDA0002866880180000026
基因数据库拥有者根据函数f确定混淆电路,计算函数f用于计算基因数据库拥有者拥有的基因序列dbi与查询用户待查询的基因序列qj之间的汉明距离,当汉明距离小于汉明阈值
Figure FDA0002866880180000027
时,查询用户即获得对应的标签labeli,表示为:
Figure FDA0002866880180000028
其中,1≤j≤m,j为待查询的基因序列序号,m为待查询的基因序列总数;
S22、根据计算函数f设计对应的电路,根据该电路设计混淆电路C并设置混淆电路表T;
为了使查询用户可以验证基因数据拥有者是否正确构造混淆电路C,进一步为混淆电路增加掩盖比特L:在设置该混淆电路的混淆电路表时,对混淆电路表中每一行数据都异或一个掩盖比特L;
S23、基因数据库拥有者与查询用户之间采用信息理论安全的消息认证码的方式秘密分享一个掩盖比特
Figure FDA0002866880180000031
其中,基因数据库拥有者获取掩盖比特的部分值LA,查询用户获取掩盖比特的部分值LB
S24、查询用户获取掩盖比特LB、混淆电路表T之后,基因数据库拥有者利用LA以及混淆电路表T,计算得到对应的部分混淆电路表验证值TA,查询用户利用LB以及混淆电路表T,计算得到对应的部分混淆电路表验证值TB;其中,TA与TB的计算方法为:对混淆电路表内的每一行数据与掩盖比特进行异或,即分别得到
Figure FDA0002866880180000032
以及
Figure FDA0002866880180000033
S25、查询用户作为混淆电路表T的评估者,通过向T输入待查询基因序列来获得电路输出O,若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离小于或等于设定的汉明阈值,则O为该基因数据库中查询用户待查询基因序列的标签集合O1;若查询用户待查询基因序列与基因数据库拥有者输入的基因序列之间的汉明距离大于设定的汉明阈值,则O为零;
S26、查询用户获得混淆电路表T的输出后,对混淆电路表构造的正确性进行验证:请求基因数据库拥有者发送TB,并将该值与其所计算的TA进行异或操作,得到
Figure FDA0002866880180000034
再将L'与L进行比较验证,判断是否相等,若相等,即验证通过,则代表电路被正确构造,结果正确;若不相等,即验证不通过,则代表电路的构造发生错误。
4.根据权利要求2所述的基因序列安全比对方法,其特征在于,在步骤S3中,证书颁布者采用BBS签名方案计算关于查询属性集合的属性证书集合
Figure FDA0002866880180000041
并发送给查询用户:
S31、查询用户生成自己的私钥skC,生成并公开公钥pkC,并设置状态信息参数stU,该状态信息参数用于记录查询用户的查询状态,其次将其获得的标签集合O1={label1,...,labelτ-1,labelτ}以及自身的查询属性集合
Figure FDA0002866880180000042
合并发送给证书颁布者;
其中,τ为标签集合中的标签总数,D为查询属性集合中的查询属性,且D∈U,
Figure FDA0002866880180000043
为查询属性集合中的查询属性总数;
S32、证书颁布者根据集合O1、O2以及基因数据库拥有者设定的访问控制策略,为查询用户颁发相应的属性证书集合
Figure FDA0002866880180000044
Au中的属性证书Credz={Az,sz,rz};
其中,
Figure FDA0002866880180000045
Az为查询用户获得的关于属性Dz的签名,也就是证书颁布者的授权,授权操作本质上是一种签名运算;
Figure FDA0002866880180000046
z为属性证书集合中的属性证书序号,
Figure FDA0002866880180000047
为属性证书集合中的属性证书总数;sc、rc均为从群Zp中选取的随机数;Dz代表查询用户的某项属性;{sz,rz}为群Zp中选取的随机数。
5.根据权利要求4所述的基因序列安全比对方法,其特征在于,在步骤S5中,基因数据库拥有者验证查询用户获得的属性证书,具体如下:
S51、根据标签O1={label1,...,labelτ-1,labelτ}确定查询用户所查询的基因序列
Figure FDA0002866880180000051
S52、根据属性证书集合
Figure FDA0002866880180000052
判断查询用户是否可以获取所有标签为O1={label1,...,labelτ-1,labelτ}的基因序列数据:
若基因序列标签labelk(1≤k≤τ)的所有属性均能在属性证书集合中找到对应的属性证书,则判定查询用户满足基因序列标签labelk的所有属性,查询用户为合法用户,可以获得标签labelk所对应的基因序列;
反之,则查询用户不满足条件,无法获取标签为labelk所对应的基因序列;基因数据库拥有者选择下一条基因序列标签,继续验证查询用户是否具有获取该条基因序列的条件。
6.一种支持多属性匿名认证的基因序列安全比对系统,其特征在于,包括查询用户端、基因数据库拥有者端、证书颁布者端,其中,
查询用户端进一步包括证书授权请求发起模块、交互模块、查询请求发起模块、接收模块:
证书授权请求发起模块,用于向证书颁布者端发起证书授权请求;
交互模块,用于通过基因序列的标签及自身的查询属性集合与证书颁布者端交互,从而从证书颁布者端获得对应的属性证书集合;
查询请求发起模块,用于向基因数据库拥有者端发起查询请求;
接收模块,用于从基因数据库拥有者端接收基因序列所对应的标签以及明文基因序列;
基因数据库拥有者端进一步包括初始化模块、混淆电路设置及计算模块、匿名验证模块:
初始化模块,用于对其持有的基因序列进行初始化:针对每一条基因序列设置对应的阈值、标签、访问属性集合,然后将阈值和对应访问属性发送给证书颁布者端;
混淆电路设置及计算模块,用于根据计算需求设计电路,并基于该电路计算对应的混淆电路以及混淆电路表,混淆电路用于安全地计算查询用户端待查询的基因序列和基因数据库拥有者端所拥有的各个基因序列之间的汉明距离,并从中找出汉明距离小于阈值的所有基因序列,然后向查询用户端返回这些基因序列所对应的标签;
匿名验证模块,用于通过匿名验证的方式验证查询用户端获得的属性证书:首先根据查询用户端获得的基因序列的标签确定查询用户端所查询的基因序列,其次根据查询用户端的属性证书集合匿名验证查询用户端的查询属性集合是否满足获取所查询基因序列的要求,在查询属性集合满足该条基因序列的要求的情况下,通过查询用户端的验证,并向查询用户端返回相应的明文基因序列;在查询属性集合不满足该条基因序列的要求的情况下,不通过查询用户端的验证,查询用户端无法获取该条基因序列。
7.根据权利要求6所述的基因序列安全比对系统,其特征在于,基因数据拥有者端为多个独立的数据库机构;查询用户端为只发起查询请求的一般用户端,或者为基因数据拥有者端;证书颁布者端为第三方可信机构。
CN202011590499.8A 2020-12-29 2020-12-29 一种支持多属性匿名认证的基因序列安全比对方法及系统 Active CN112614545B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011590499.8A CN112614545B (zh) 2020-12-29 2020-12-29 一种支持多属性匿名认证的基因序列安全比对方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011590499.8A CN112614545B (zh) 2020-12-29 2020-12-29 一种支持多属性匿名认证的基因序列安全比对方法及系统

Publications (2)

Publication Number Publication Date
CN112614545A true CN112614545A (zh) 2021-04-06
CN112614545B CN112614545B (zh) 2022-11-01

Family

ID=75248689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011590499.8A Active CN112614545B (zh) 2020-12-29 2020-12-29 一种支持多属性匿名认证的基因序列安全比对方法及系统

Country Status (1)

Country Link
CN (1) CN112614545B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024674A (zh) * 2021-11-23 2022-02-08 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统
CN114500006A (zh) * 2022-01-05 2022-05-13 支付宝(杭州)信息技术有限公司 查询请求的处理方法及装置
CN116886411A (zh) * 2023-08-08 2023-10-13 西南石油大学 一种基于匿名认证的安全多方计算方法
CN114024674B (zh) * 2021-11-23 2024-05-31 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345137A1 (en) * 2000-11-30 2003-09-17 Hitachi, Ltd. Method and system for providing gene analysis information and authentication identification method
US20100169338A1 (en) * 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Search System
CN104125199A (zh) * 2013-04-25 2014-10-29 中国科学院软件研究所 一种基于属性的匿名认证方法及系统
CN108804877A (zh) * 2018-06-08 2018-11-13 南京森林警察学院 一种生物学基因dna序列比对系统
CN109818757A (zh) * 2019-03-18 2019-05-28 广东工业大学 云存储数据访问控制方法、属性证书颁发方法及系统
CN110957003A (zh) * 2019-11-20 2020-04-03 河南师范大学 一种面向用户隐私保护的高效基因比对方法
US20200160935A1 (en) * 2018-11-20 2020-05-21 Ichrogene, Inc. Cloud-based gene analysis service method and platform
CN111783170A (zh) * 2020-07-09 2020-10-16 中国人民解放军国防科技大学 基于物理不可克隆函数的错位混淆测量方法及装置
CN111967048A (zh) * 2020-08-19 2020-11-20 西安电子科技大学 面向基因组数据相似度的高效匹配及隐私保护方法、系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345137A1 (en) * 2000-11-30 2003-09-17 Hitachi, Ltd. Method and system for providing gene analysis information and authentication identification method
US20100169338A1 (en) * 2008-12-30 2010-07-01 Expanse Networks, Inc. Pangenetic Web Search System
CN104125199A (zh) * 2013-04-25 2014-10-29 中国科学院软件研究所 一种基于属性的匿名认证方法及系统
CN108804877A (zh) * 2018-06-08 2018-11-13 南京森林警察学院 一种生物学基因dna序列比对系统
US20200160935A1 (en) * 2018-11-20 2020-05-21 Ichrogene, Inc. Cloud-based gene analysis service method and platform
CN109818757A (zh) * 2019-03-18 2019-05-28 广东工业大学 云存储数据访问控制方法、属性证书颁发方法及系统
CN110957003A (zh) * 2019-11-20 2020-04-03 河南师范大学 一种面向用户隐私保护的高效基因比对方法
CN111783170A (zh) * 2020-07-09 2020-10-16 中国人民解放军国防科技大学 基于物理不可克隆函数的错位混淆测量方法及装置
CN111967048A (zh) * 2020-08-19 2020-11-20 西安电子科技大学 面向基因组数据相似度的高效匹配及隐私保护方法、系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
庞立君: "车联网中基于多属性的数据访问安全技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024674A (zh) * 2021-11-23 2022-02-08 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统
CN114024674B (zh) * 2021-11-23 2024-05-31 支付宝(杭州)信息技术有限公司 两方安全比较的方法及系统
CN114500006A (zh) * 2022-01-05 2022-05-13 支付宝(杭州)信息技术有限公司 查询请求的处理方法及装置
CN114500006B (zh) * 2022-01-05 2023-08-04 支付宝(杭州)信息技术有限公司 查询请求的处理方法及装置
CN116886411A (zh) * 2023-08-08 2023-10-13 西南石油大学 一种基于匿名认证的安全多方计算方法
CN116886411B (zh) * 2023-08-08 2024-03-15 西南石油大学 一种基于匿名认证的安全多方计算方法

Also Published As

Publication number Publication date
CN112614545B (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
Guo et al. Secure attribute-based signature scheme with multiple authorities for blockchain in electronic health records systems
Niu et al. Electronic health record sharing scheme with searchable attribute-based encryption on blockchain
Su et al. Revocable attribute-based signature for blockchain-based healthcare system
Renuka et al. Design of a secure three-factor authentication scheme for smart healthcare
Amin et al. A novel user authentication and key agreement protocol for accessing multi-medical server usable in tmis
US7571472B2 (en) Methods and apparatus for credential validation
Liang et al. Privacy-preserving range query over multi-source electronic health records in public clouds
Zhang et al. Blockchain-based privacy preserving e-health system for healthcare data in cloud
Ying et al. A lightweight policy preserving EHR sharing scheme in the cloud
Iqbal et al. Efficient and secure attribute-based heterogeneous online/offline signcryption for body sensor networks based on blockchain
Khan et al. An improved user authentication protocol for healthcare services via wireless medical sensor networks
Namasudra et al. Security, privacy, trust, and anonymity
Xiang et al. Blockchain-assisted searchable attribute-based encryption for e-health systems
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN112614545B (zh) 一种支持多属性匿名认证的基因序列安全比对方法及系统
Dharminder et al. A construction of a conformal Chebyshev chaotic map based authentication protocol for healthcare telemedicine services
CN110378143A (zh) 一种基于区块链的ehr可搜索加密方法
He et al. On the security of a provably secure, efficient, and flexible authentication scheme for ad hoc wireless sensor networks
Yang et al. Cryptanalysis and improvement of a biometrics-based authentication and key agreement scheme for multi-server environments
Yan et al. Blockchain-based searchable encryption scheme with fair payment
Lu et al. A lightweight ID based authentication and key agreement protocol for multiserver architecture
Wang et al. Private set intersection with authorization over outsourced encrypted datasets
Niu et al. Keyword search over encrypted cloud data based on blockchain in smart medical applications
Chen et al. An efficient and privacy-preserving mutual authentication with key agreement scheme for telecare medicine information system
Ali et al. Anonymous aggregate fine-grained cloud data verification system for smart health

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant