1.本公开的示例性实现方式总体涉及数据处理,特别地涉及用于处理基因数据的方法、装置、设备和计算机可读存储介质。
背景技术:2.随着基因技术的发展,目前已经可以采集并且处理基因数据。在例如生物、医药等多种领域中均涉及基因数据处理。将会理解,基因数据可能会包括各种敏感信息,这使得在基因数据处理过程中需要保持基因数据的安全性和完整性。此时,如何以更为安全并且有效的方式处理基因数据,成为基因数据处理领域的难点和热点。
技术实现要素:3.在本公开的第一方面,提供了一种用于处理基因数据的方法。在该方法中,在数据处理系统中的普通执行环境中,经由普通执行环境与数据提供系统之间的公开信道,接收来自数据提供系统的基因数据的密文。在数据处理系统中的可信执行环境中,经由可信执行环境与数据提供系统之间的安全信道,接收来自数据提供系统的用于解密基因数据的密文的秘钥。在可信执行环境中,利用秘钥解密基因数据的密文,获取基因数据的明文。在可信执行环境中,处理基因数据的明文,确定基因数据的处理结果。
4.在本公开的第二方面,提供了用于处理基因数据的装置。该装置包括:数据接收模块,被配置用于在数据处理系统中的普通执行环境中,经由普通执行环境与数据提供系统之间的公开信道,接收来自数据提供系统的基因数据的密文;秘钥接收模块,被配置用于在数据处理系统中的可信执行环境中,经由可信执行环境与数据提供系统之间的安全信道,接收来自数据提供系统的用于解密基因数据的密文的秘钥;获取模块,被配置用于在可信执行环境中利用秘钥解密基因数据的密文,获取基因数据的明文;处理模块,被配置用于在可信执行环境中处理基因数据的明文,确定基因数据的处理结果。
5.在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。
6.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。
7.应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
8.在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、
优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
9.图1示出了本公开的实现方式能够在其中实现的示例环境的框图;
10.图2示出了根据本公开的一些实现方式的用于处理基因数据的过程的轨道图;
11.图3示出了根据本公开的一些实现方式的数据提供系统和数据处理系统之间的信道的框图;
12.图4示出了根据本公开的一些实现方式的可信执行环境经由安全信道获取秘钥的轨道图;
13.图5示出了根据本公开的一些实现方式的用于确定认证证书的框图;
14.图6示出了根据本公开的一些实现方式的用于处理基因数据的方法的流程图;
15.图7示出了根据本公开的一些实现方式的用于处理基因数据的装置的框图;以及
16.图8示出了能够实施本公开的多个实现方式的设备的框图。
具体实施方式
17.下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。
18.在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述关联关系。
19.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
20.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
21.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
22.作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
23.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现
方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
24.示例环境
25.随着基因技术的发展,可以针对基因数据进行各种处理。例如,在植物研究领域,可以分析基因数据以便找到与植物的潜在病虫害等相关的基因片段,等等。在本公开的上下文中,并不限制基因数据的类型,也不限制针对基因数据所执行的具体处理过程,而是可以根据具体应用环境的要求来针对各种生物的基因数据执行期望的处理过程。
26.目前已经提出了保护基因数据的安全性的技术方案。例如,可以基于区块链和代理重加密技术,来实现基因数据的检测、保存、共享和处理等过程。具体地,可以以智能合约的形式在区块链中进行操作,以便确保基因数据的安全性和完整性。然而,该技术方案仅能提供较低程度的数据保密措施,数据提供者以外的被授权访问基因数据的机构(例如,执行基因数据分析的机构)仍然可以获取敏感的基因数据,并没有实现完全的保密性。又例如,可以基于隐私保护交集计算协议来处理基因数据。然而,该技术方案仅适用于隐私保护交集这种单一的计算任务,并不能按照基因数据提供者的具体目标来执行相应的处理。此时,如何以更为安全并且有效的方式处理基因数据,成为基因处理领域的难点和热点。
27.基因数据的处理过程概要
28.为了解决上述技术方案中的不足,根据本公开的一个示例性实现方式,提出了在可信执行环境(trusted execution environment,缩写tee)中处理基因数据的技术方案。在此,可信执行环境可以通过软件和/或硬件方式在数据处理系统中构建安全区域,并且保证在安全区域内部加载的程序和数据的安全性和完整性。随着计算机技术的发展,目前的可信执行环境的可用存储空间已经得到极大的提高,例如已经可以达到太字节(tb)甚至更高的数量级。
29.可信执行环境的基础原理在于,将数据处理系统的资源划分为两个执行环境:可信执行环境和普通执行环境。两个环境之间安全隔离,并且具有独立的内部数据通路和存储空间。普通执行环境中的应用程序无法访问可信执行环境内的任何内容,并且即使在可信执行环境内部,多个应用的运行也可以是相互独立的并且在没有获得授权的情况下不能相互访问。
30.参见图1描述根据本公开的一个示例性实现方式的应用环境,该图1示出了本公开的实现方式能够在其中实现的示例环境100的框图。如图1所示,数据提供系统110可以以密文方式向数据处理系统120发送基因数据,并且请求由数据处理系统120来处理基因数据。在此,数据提供系统110可以是基因数据的所有者的系统,例如,基因测序实体的系统或者委托执行基因测序的实体的系统。数据处理系统120可以是用于提供数据处理服务的系统,例如科研机构,等等。
31.数据提供系统110可以具有基因数据的明文112。进一步,在数据提供系统110中,可以利用秘钥114来加密基因数据的明文112,以便获取基因数据的密文116。可以向数据处理系统120发送基因数据的密文116,例如,可以经由数据提供系统110和数据处理系统120之间的公开信道来传输。由于基因数据以密文形式传输,即使第三方获取了该密文,也不能解密该密文。
32.可以在数据处理系统120中的普通执行环境140中接收基因数据的密文126。进一步,可以在数据提供系统110和可信执行环境130之间建立安全连接,以便从数据提供系统
110向可信执行环境130传输秘钥114,进而在可信执行环境130中获取相应的秘钥124。进一步,可以从普通执行环境140向可信执行环境130加载基因数据的密文126,并且在可信执行环境130中可以利用秘钥124来解密该密文,进而获取基因数据的明文122。
33.将会理解,可信执行环境130内的数据是安全并且保密的,并且任何人都不能从可信执行环境130中窃取秘钥124和基因数据的明文122。此时,可以确保基因数据的明文122仅存在于可信执行环境130内,即使是数据处理系统120的提供者也不能访问可信执行环境130内的明文数据。以此方式,可以在确保基因数据的明文122的安全性的同时,调用数据处理系统120的处理能力来获取期望的处理结果。
34.基因数据的处理过程
35.在下文中,将参见图2描述根据本公开的一个示例性实现方式的更多细节。图2示出了根据本公开的一些实现方式的用于处理基因数据的过程的轨道图200。如图2示出了在数据提供系统110、数据处理系统120和数据处理系统120中的可信执行环境130之间的交互过程。数据提供系统110可以准备(210)基因数据,例如,可以将经由专用设备采集的基因数据存储在数据提供系统110的存储设备中。将会理解,尽管基因数据以明文方式存储在数据提供系统110中,由于该数据提供系统110是基因数据所有者的系统,基因数据以明文方式存储并不会导致数据泄露。
36.继而,数据提供系统110可以利用多种方式来加密基因数据的明文112。根据本公开的一个示例性实现方式,可以使用对称加密算法并且利用秘钥114来获取(212)基因数据的密文116。将会理解,基因数据的数据量通常较大,由于对称加密算法的处理速度较快并且适合于处理较大数据量,可以使用对称加密算法来生成基因数据的密文116。具体地,数据提供系统110可以基于高级加密标准(advanced encryption standard,缩写aes)来动态地生成秘钥112,并且执行加密过程。
37.进一步,可以经由公开信道发送向数据处理系统120发送(214)基因数据的密文116。由于基因数据以密文形式发送,在公开信道发送该密文并不会导致泄漏基因数据。在下文中,参见图3描述数据提供系统110和数据处理系统120之间的通信信道。图3示出了根据本公开的一些实现方式的数据提供系统110和数据处理系统120之间的信道的框图300。如图3所示,数据提供系统110和数据处理系统120之间可以存在公开信道310和安全信道320。在此,公开信道310在数据提供系统110和数据处理系统120的普通执行环境140之间,用于传输基因数据的密文116以及由数据处理系统120获取的处理结果的密文。安全信道320可以用于传输秘钥交换相关的各种数据。
38.根据本公开的一个示例性实现方式,可以利用远程过程调用(remote procedure call,缩写rpc)来在数据提供系统110和普通执行环境140之间建立公开信道310(例如,经由grpc实现),以便发送基因数据的密文116。返回图2,数据提供系统110可以经由公开信道310来发送密文。进一步,可信执行环境130可以从数据处理系统120的普通执行环境140中加载(216)基因数据的密文112,此时基因数据的密文112被存储在可信执行环境130之中,并且可信执行环境130还需要获取秘钥114以便执行解密操作。
39.根据本公开的一个示例性实现方式,由于基因数据通常较大,可以以分块方式来向可信执行环境130中加载基因数据。例如,数据提供系统110可以基于可信执行环境的配置参数来确定基因数据的分块策略,并且将基因数据划分为适合于加载到可信执行环境
130中的基因数据的分块。
40.如图2所述,可信执行环境130可以与数据提供系统110交互以便获取(218)秘钥114。具体地,可以经由图3所示的安全信道320来获取秘钥114。在下文中,参见图4描述有关建立安全信道320并且获取秘钥114的更多信息。图4示出了根据本公开的一些实现方式的可信执行环境130经由安全信道320获取秘钥114的过程的轨道图400。在本公开的上下文中,数据提供系统110可以启动秘密提供服务器来处理秘钥交换。进一步,在可信执行环境130中可以运行专用程序来处理与秘钥交换相关的过程。具体地,秘密提供服务器可以等待数据处理系统120发出的用于获取秘钥114的请求,并且可信执行环境130中的专用程序可以在需要时向数据提供系统110发送该请求。进一步,可以在数据提供系统110和可信执行环境130之间建立安全信道。
41.根据本公开的一个示例性实现方式,可以基于diffie-hellman秘钥交换(diffie-hellman key exchange,缩写dke)技术来建立安全信道320并且完成秘钥交换过程。换言之,可以在数据提供系统110和可信执行环境130中确定共享秘钥。首先参见图4中的以实线示出的步骤来描述秘钥交换的基础操作,数据提供系统110中的秘密提供服务器可以生成第一数据a(例如,以随机方式生成),并且基于a来生成(410)第一秘钥ga。可以向可信执行环境130发送(412)ga。此时,在可信执行环境130中将存在ga。在可信执行环境130中,可以生成第二数据b(例如,以随机方式生成),并且基于b来生成(414)第二秘钥gb。
42.继而,在可信执行环境130中,可以基于接收到的ga以及在可信执行环境130本地的b,来确定(422)共享秘钥k=g
ab
。此时,在可信执行环境130中存在共享秘钥k。根据本公开的一个示例性实现方式,可以向数据提供系统110发送(424)gb,以使得数据提供系统110经由本地的数据a和接收的gb,生成安全信道的共享秘钥k。此时,在数据提供系统110本地将存在用于生成共享秘钥k的a、ga和gb。继而,数据提供系统110可以基于本地的a和gb确定(428)共享秘钥k=g
ab
。此时,在数据提供系统110本地存在共享秘钥k。换言之,秘钥交换的双方都具有共享秘钥k,此后可以使用该共享秘钥k来加密秘钥114。
43.将会理解,基于dke技术在数据提供系统110和可信执行环境130处所确定的共享秘钥k是相同的。即使第三方在数据传输过程中获取了ga和gb,由于缺乏数据a和/或b,该第三方也不能获取共享秘钥k。以此方式,可以提高共享秘钥的安全性和完整性,进而确保基于该共享秘钥实现的基因数据处理过程也是安全的。在下文中,将描述分别在数据提供系统110和可信执行环境130本地生成共享秘钥k的过程。
44.在本公开的上下文中,可以基于指数运算和取模运算来执行上文描述的过程。例如,可以预定义模数p和基数b,此时,数据提供系统110可以指定a,并且生成ga=b
a mod p(mod表示取模运算)。在可信执行环境130处,可以指定b,并且生成gb=b
b mod p。此时,在数据提供系统110和可信执行环境130中可以分别确定共享秘钥k=g
ab
。基于dke技术,在两个位置处所获取的共享秘钥是相同的。举例而言,在数据提供系统110和可信执行环境130处,可以分别基于公式1和2来确定共享秘钥k:
45.k=g
ab
=(ga)b=(b
a mod p)b=b
ab mod p
ꢀꢀꢀꢀ
公式1
[0046][0047]
k=g
ab
=(gb)a=(b
b mod p)a=b
ba mod p=b
ab mod p
ꢀꢀꢀ
公式2
[0048][0049]
在公式1和2中,k表示共享秘钥,a和b分别表示在数据提供系统110和可信执行环境130处生成的数据,ga和gb分别表示在数据提供系统110和可信执行环境130处基于a和b生成的秘钥,p表示预定义模数,并且b表示预定义的基数。基于公式1和2可知,公式1和公式2相等,也即在数据提供系统110和可信执行环境130处所获取的共享秘钥k是相同的。利用本公开的示例性实现方式,可以以安全并且可靠的方式在数据提供系统110和可信执行环境130本地生成共享秘钥k,以便用于加密秘钥114。
[0050]
进一步,数据提供系统110可以使用k=g
ab
来加密秘钥114,并且向可信执行环境130发送(434)秘钥114的密文。此时,在可信执行环境130中,可以接收来自数据提供系统的、利用共享秘钥k加密的密文。进一步,可信执行环境130中的专用程序可以利用在本地生成的共享秘钥k=g
ab
来解密(436)接收到的密文,以便获取秘钥114的明文(也即获取如图1所示的秘钥124)。此时,可信执行环境130可以具有明文形式的秘钥124,进而可以使用该秘钥124来在可信执行环境130中解密基因数据的密文126。
[0051]
利用本公开的示例性实现方式,基于dek实现秘钥交换进而在数据提供系统110和可信执行环境130处确定相同的共享秘钥,可以消除第三方非法获取共享秘钥的风险,进而确保在可信执行环境130中利用该共享秘钥解密基因数据的密文126。
[0052]
根据本公开的一个示例性实现方式,为了进一步提高数据安全性,可以向秘钥交换过程中添加如图4中虚线所示的认证步骤。具体地,可信执行环境130中的专用程序可以获取(416)可信执行环境130的认证证书c以及相应的认证私钥ak。在下文中,参见图5描述有关认证过程的更多细节,该图5示出了根据本公开的一些实现方式的用于确定认证证书的框图500。如图5所示,可信执行环境130可以具有专用的tee硬件510,并且tee硬件510可以具有自身的不为外界所知的认证私钥ak 512。进一步,tee硬件510可以具有自身的根证书514,并且该根证书514可以签发对应于认证私钥ak的认证证书c 520。此时,可以使用认证私钥ak 512和认证证书c 520执行认证过程。
[0053]
返回图4,参见图4中虚线所示的步骤来描述认证过程。在可信执行环境130中,可以获取(418)可信执行环境130的配置信息m,该配置信息m可以包括可信执行环境130的多方面信息,包括但不限于:可信执行环境130的硬件和/或软件配置、在可信执行环境130中所运行的应用,等等。将会理解,尽管在图4中以顺序方式示出了如虚线416、418、以及420所示的三个步骤,根据本公开的一个示例性实现方式,可以以不同顺序执行上述步骤。例如,可以首先获取c、ak和m,再生成gb,等等。
[0054]
根据本公开的一个示例性实现方式,在可信执行环境130中可以基于认证私钥ak,确定m、ga和gb的签名。具体地,可以首先确定ga和gb的哈希值hash(ga,gb),并且生成相应的签名数据sign
ak
(m,hash(ga,gb))。进一步,可以向数据提供系统110发送认证证书c,以使得数据提供系统110基于认证证书c来认证数据处理系统。具体地,可信执行环境130可以向数据提供系统110发送(426)认证证书c和相应的签名数据sign
ak
,以便数据提供系统110可以利用认证证书c来验证签名数据sign
ak
。
[0055]
将会理解,在此的配置数据m用于告知数据提供系统110有关可信执行环境130的详细信息。以此方式,数据提供系统110可以比较该配置数据m与期望的数据是否相一致,来验证可信执行环境130是期望在其中执行基因数据处理过程的可信环境。进一步,数据提供
系统110可以基于接收到的哈希值来确认在本地处的ga和gb与在可信执行环境130中的ga和gb是否相一致。以此方式,可以确保在两个系统中基于相同的ga和gb来生成共享秘钥k。
[0056]
如图4中的虚线所示,数据提供系统110可以验证(430)认证证书c的合法性,并且利用验证后的认证证书c来验证(432)签名数据sign
ak
是否合法。如果确定签名数据sign
ak
是合法的,则表示接收到的gb来自于期望的可信执行环境130并且是可信的,因而在数据提供系统110本地所确定的k=g
ab
也是可信的。利用本公开的示例性实现方式,可以基于认证证书c来验证数据提供系统110正在与期望的可信执行环境130进行通信。以此方式,可以防止出现恶意第三方冒充可信执行环境130来骗取秘钥114的情况。
[0057]
根据本公开的一个示例性实现方式,如果数据提供系统110确认验证成功,则可以向可信执行环境130发送指示。可信执行环境130可以接收该指示,以便确认已经在可信执行环境130与数据提供系统110之间建立安全信道。此后,可以在该安全信道中传输秘钥114,也即传输利用共享秘钥k加密的秘钥114的密文。以此方式,在可信执行环境130中可以获得秘钥124。
[0058]
已经参见图4描述了有关利用安全信道320从数据提供系统110向可信执行环境130传输秘钥124的过程。在下文中,返回图2描述基因数据的后续处理过程。如图2所示,在可信执行环境130中,专用程序可以利用秘钥124来将基因数据的密文126解密成为基因数据的明文122。此时,由于基因数据的明文122位于可信执行环境130中并且不能被任何人访问,可以确保基因数据的安全性和完整性。
[0059]
进一步,在可信执行环境130中,可以利用期望的处理过程来处理基因数据的明文122并且获取(222)处理结果。将会理解,可以在可信执行环境130中执行期望的任意处理过程,只要将该处理过程预先加载至可信执行环境130中即可。例如,可以从基因数据中查找可能导致植物出现潜在病虫害的基因片段,等等。利用本公开的示例性实现方式,可信执行环境130中的基因数据和处理结果对于外界而言并不可见,即使数据处理系统120也不能获取可信执行环境130中的任何信息。以此方式,可以提高基因数据处理过程中的安全性并且确保处理过程的隐私性。
[0060]
根据本公开的一个示例性实现方式,在可信执行环境130中,可以利用秘钥124来加密处理结果,以便获取(224)处理结果的密文。可以向数据处理系统120写入(226)处理结果的密文,以便进一步经由公开信道310从数据处理系统120中的普通执行环境140向数据提供系统110发送(228)该密文。在接收到来自数据处理系统120的密文之后,数据提供系统110可以利用秘钥114解密该密文以便获取(230)处理结果的明文,基因数据的处理过程至此结束,在此过程中数据提供系统110可以以完全保密的方式向数据处理系统120发送加密的基因数据,并且获取加密的处理结果。
[0061]
利用本公开的示例性实现方式,基因数据和处理结果的明文仅存在于数据提供系统110和可信执行环境130中。由于数据提供系统110是基因数据的所有者,在数据提供系统110中存储基因数据和处理结果的明文并不会导致泄漏隐私数据。进一步,由于任何人都不能访问可信执行环境130中的数据,可信执行环境130中的基因数据和处理结果的明文可以受到高度保护,并且不存在隐私数据泄漏的风险。
[0062]
示例过程
[0063]
图6示出了根据本公开的一些实现方式的用于处理基因数据的方法600的流程图。
具体地,在框610处,在数据处理系统中的普通执行环境中,经由普通执行环境与数据提供系统之间的公开信道,接收来自数据提供系统的基因数据的密文。在框620处,在数据处理系统中的可信执行环境中,经由可信执行环境与数据提供系统之间的安全信道,接收来自数据提供系统的用于解密基因数据的密文的秘钥。在框630处,在可信执行环境中,利用秘钥解密基因数据的密文,获取基因数据的明文。在框640处,处理基因数据的明文,确定基因数据的处理结果。
[0064]
根据本公开的一个示例性实现方式,在可信执行环境中,接收来自数据提供系统的基于第一数据生成的第一秘钥;以及基于第一秘钥以及可信执行环境中的第二数据,确定安全信道的共享秘钥。
[0065]
根据本公开的一个示例性实现方式,在可信执行环境中向数据提供系统发送第二秘钥,以使得数据提供系统经由第一数据以及接收的第二秘钥,生成安全信道的共享秘钥。
[0066]
根据本公开的一个示例性实现方式,在可信执行环境中,基于可信执行环境的根证书,生成与可信执行环境的认证私钥相关联的认证证书;以及向数据提供系统发送认证证书,以使得数据提供系统基于认证证书来认证数据处理系统。
[0067]
根据本公开的一个示例性实现方式,在可信执行环境中,基于认证私钥,确定可信执行环境的配置信息以及与第一秘钥和第二秘钥相关联的哈希值的签名数据;以及向数据提供系统发送签名数据,以使得数据提供系统基于认证证书和签名数据来认证数据处理系统。
[0068]
根据本公开的一个示例性实现方式,在可信执行环境中,接收来自数据提供系统的指示,指示是响应于数据提供系统成功认证数据处理系统而发送的;以及基于指示来确认在可信执行环境与数据提供系统之间建立安全信道。
[0069]
根据本公开的一个示例性实现方式,经由安全信道接收秘钥包括:在可信执行环境中,接收来自数据提供系统的秘钥的密文,秘钥的密文是利用共享秘钥来加密的;以及利用共享秘钥解密接收的秘钥的密文,获取秘钥的明文。
[0070]
根据本公开的一个示例性实现方式,获取基因数据的明文包括:从普通执行环境向可信执行环境加载基因数据的密文;以及在可信执行环境中,利用秘钥的明文解密基因数据的密文,获取基因数据的明文。
[0071]
根据本公开的一个示例性实现方式,在可信执行环境中,利用秘钥来加密处理结果以形成处理结果的密文;从可信执行环境向普通执行环境写入处理结果的密文;以及在普通执行环境中,经由公开信道向数据提供系统发送处理结果的密文。
[0072]
示例装置和设备
[0073]
图7示出了根据本公开的一些实现方式的用于处理基因数据的装置700的框图。该装置700包括:数据接收模块710,被配置用于在数据处理系统中的普通执行环境中,经由普通执行环境与数据提供系统之间的公开信道,接收来自数据提供系统的基因数据的密文;秘钥接收模块720,被配置用于在数据处理系统中的可信执行环境中,经由可信执行环境与数据提供系统之间的安全信道,接收来自数据提供系统的用于解密基因数据的密文的秘钥;获取模块730,被配置用于在可信执行环境中利用秘钥解密基因数据的密文,获取基因数据的明文;以及处理模块740,被配置用于在可信执行环境中处理基因数据的明文,确定基因数据的处理结果。
[0074]
根据本公开的一个示例性实现方式,该装置700进一步包括:信道秘钥接收模块,被配置用于在可信执行环境中,接收来自数据提供系统的基于第一数据生成的第一秘钥;以及信道秘钥确定模块,被配置用于在可信执行环境中,基于第一秘钥以及可信执行环境中的第二数据,确定安全信道的共享秘钥。
[0075]
根据本公开的一个示例性实现方式,该装置700进一步包括:信道秘钥发送模块,被配置用于在可信执行环境中向数据提供系统发送第二秘钥,以使得数据提供系统经由第一数据以及接收的第二秘钥,生成安全信道的共享秘钥。
[0076]
根据本公开的一个示例性实现方式,该装置700进一步包括:证书生成模块,被配置用于在可信执行环境中,基于可信执行环境的根证书生成与可信执行环境的认证私钥相关联的认证证书;以及
[0077]
证书发送模块,被配置用于在可信执行环境中向数据提供系统发送认证证书,以使得数据提供系统基于认证证书来认证数据处理系统。
[0078]
根据本公开的一个示例性实现方式,该装置700进一步包括:签名确定模块,被配置用于在可信执行环境中基于认证私钥,确定可信执行环境的配置信息以及与第一秘钥和第二秘钥相关联的哈希值的签名数据;以及签名发送模块,被配置用于在可信执行环境中向数据提供系统发送签名数据,以使得数据提供系统基于认证证书和签名数据来认证数据处理系统。
[0079]
根据本公开的一个示例性实现方式,该装置700进一步包括:指示接收模块,被配置用于在可信执行环境中接收来自数据提供系统的指示,指示是响应于数据提供系统成功认证数据处理系统而发送的;以及建立模块,被配置用于确认在可信执行环境中基于指示来在可信执行环境与数据提供系统之间建立安全信道。
[0080]
根据本公开的一个示例性实现方式,信道秘钥接收模块包括:秘钥密文接收模块,被配置用于在可信执行环境中,接收来自数据提供系统的秘钥的密文,秘钥的密文是利用共享秘钥来加密的;以及秘钥明文确定模块,被配置用于在可信执行环境中,利用共享秘钥解密接收的秘钥的密文,获取秘钥的明文。
[0081]
根据本公开的一个示例性实现方式,获取模块730包括:加载模块,被配置用于从普通执行环境向可信执行环境加载基因数据的密文;以及解密模块,被配置用于在可信执行环境中,利用秘钥的明文解密基因数据的密文,获取基因数据的明文。
[0082]
根据本公开的一个示例性实现方式,该装置700进一步包括:结果加密模块,被配置用于在可信执行环境中,利用秘钥来加密处理结果以形成处理结果的密文;结果写入模块,被配置用于从可信执行环境向普通执行环境写入处理结果的密文;以及结果发送模块,被配置用于在普通执行环境中,经由公开信道向数据提供系统发送处理结果的密文。
[0083]
图8示出了能够实施本公开的多个实现方式的设备800的框图。应当理解,图8所示出的计算设备800仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。图8所示出的计算设备800可以用于实现上文描述的方法。
[0084]
如图8所示,计算设备800是通用计算设备的形式。计算设备800的组件可以包括但不限于一个或多个处理器或处理单元810、存储器820、存储设备830、一个或多个通信单元840、一个或多个输入设备850以及一个或多个输出设备860。处理单元810可以是实际或虚拟处理器并且能够根据存储器820中存储的程序来执行各种处理。在多处理器系统中,多个
处理单元并行执行计算机可执行指令,以提高计算设备800的并行处理能力。
[0085]
计算设备800通常包括多个计算机存储介质。这样的介质可以是计算设备800可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备830可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备800内被访问。
[0086]
计算设备800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器820可以包括计算机程序产品825,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。
[0087]
通信单元840实现通过通信介质与其他计算设备进行通信。附加地,计算设备800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备800可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
[0088]
输入设备850可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备860可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备800还可以根据需要通过通信单元840与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备800交互的设备进行通信,或者与使得计算设备800与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0089]
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,程序被处理器执行时实现上文描述的方法。
[0090]
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0091]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方
框中规定的功能/动作的各个方面的指令。
[0092]
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0093]
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0094]
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
技术特征:1.一种用于处理基因数据的方法,包括:在数据处理系统中的普通执行环境中,经由所述普通执行环境与数据提供系统之间的公开信道,接收来自所述数据提供系统的基因数据的密文;在所述数据处理系统中的可信执行环境中,经由所述可信执行环境与所述数据提供系统之间的安全信道,接收来自所述数据提供系统的用于解密所述基因数据的所述密文的秘钥;利用所述秘钥解密所述基因数据的所述密文,获取所述基因数据的明文;以及处理所述基因数据的所述明文,确定所述基因数据的处理结果。2.根据权利要求1的所述方法,进一步包括:在所述可信执行环境中,接收来自所述数据提供系统的基于第一数据生成的第一秘钥;以及基于所述第一秘钥以及所述可信执行环境中的第二数据,确定所述安全信道的共享秘钥。3.根据权利要求2的所述方法,进一步包括:在所述可信执行环境中向所述数据提供系统发送所述第二秘钥,以使得所述数据提供系统经由所述第一数据以及接收的所述第二秘钥,生成所述安全信道的所述共享秘钥。4.根据权利要求3的所述方法,进一步包括:在所述可信执行环境中,基于所述可信执行环境的根证书,生成与所述可信执行环境的认证私钥相关联的认证证书;以及向所述数据提供系统发送所述认证证书,以使得所述数据提供系统基于所述认证证书来认证所述数据处理系统。5.根据权利要求4的所述方法,进一步包括:在所述可信执行环境中,基于所述认证私钥,确定所述可信执行环境的配置信息以及与所述第一秘钥和第二秘钥相关联的哈希值的签名数据;以及向所述数据提供系统发送所述签名数据,以使得所述数据提供系统基于所述认证证书和所述签名数据来认证所述数据处理系统。6.根据权利要求5的所述方法,进一步包括:在所述可信执行环境中,接收来自所述数据提供系统的指示,所述指示是响应于所述数据提供系统成功认证所述数据处理系统而发送的;以及基于所述指示来确认在所述可信执行环境与所述数据提供系统之间建立所述安全信道。7.根据权利要求2的所述方法,其中经由所述安全信道接收所述秘钥包括:在所述可信执行环境中,接收来自所述数据提供系统的所述秘钥的密文,所述秘钥的所述密文是利用所述共享秘钥来加密的;以及利用所述共享秘钥解密接收的所述秘钥的所述密文,以获取所述秘钥的明文。8.根据权利要求7的所述方法,其中获取所述基因数据的所述明文包括:从所述普通执行环境向所述可信执行环境加载所述基因数据的所述密文;以及在所述可信执行环境中,利用所述秘钥的所述明文解密所述基因数据的所述密文,以获取所述基因数据的所述明文。
9.根据权利要求1的所述方法,进一步包括:在所述可信执行环境中,利用所述秘钥来加密所述处理结果以形成所述处理结果的密文;从所述可信执行环境向所述普通执行环境写入所述处理结果的所述密文;以及在所述普通执行环境中,经由所述公开信道向所述数据提供系统发送所述处理结果的所述密文。10.一种用于处理基因数据的装置,包括:数据接收模块,被配置用于在数据处理系统中的普通执行环境中,经由所述普通执行环境与数据提供系统之间的公开信道,接收来自所述数据提供系统的基因数据的密文;秘钥接收模块,被配置用于在所述数据处理系统中的可信执行环境中,经由所述可信执行环境与所述数据提供系统之间的安全信道,接收来自所述数据提供系统的用于解密所述基因数据的所述密文的秘钥;获取模块,被配置用于在所述可信执行环境中利用所述秘钥解密所述基因数据的所述密文,以获取所述基因数据的明文;处理模块,被配置用于在所述可信执行环境中处理所述基因数据的所述明文,确定所述基因数据的处理结果。11.根据权利要求10的所述装置,进一步包括:信道秘钥接收模块,被配置用于在所述可信执行环境中,接收来自所述数据提供系统的基于第一数据生成的第一秘钥;以及信道秘钥确定模块,被配置用于在所述可信执行环境中,基于所述第一秘钥以及所述可信执行环境中的第二数据,确定所述安全信道的共享秘钥。12.根据权利要求11的所述装置,进一步包括:信道秘钥发送模块,被配置用于在所述可信执行环境中向所述数据提供系统发送所述第二秘钥,以使得所述数据提供系统经由所述第一数据以及接收的所述第二秘钥,生成所述安全信道的所述共享秘钥。13.根据权利要求12的所述装置,进一步包括:证书生成模块,被配置用于在所述可信执行环境中,基于所述可信执行环境的根证书生成与所述可信执行环境的认证私钥相关联的认证证书;以及证书发送模块,被配置用于在所述可信执行环境中向所述数据提供系统发送所述认证证书,以使得所述数据提供系统基于所述认证证书来认证所述数据处理系统。14.根据权利要求13的所述装置,进一步包括:签名确定模块,被配置用于在所述可信执行环境中基于所述认证私钥,确定所述可信执行环境的配置信息以及与所述第一秘钥和第二秘钥相关联的哈希值的签名数据;以及签名发送模块,被配置用于在所述可信执行环境中向所述数据提供系统发送所述签名数据,以使得所述数据提供系统基于所述认证证书和所述签名数据来认证所述数据处理系统。15.根据权利要求14的所述装置,进一步包括:指示接收模块,被配置用于在所述可信执行环境中接收来自所述数据提供系统的指示,所述指示是响应于所述数据提供系统成功认证所述数据处理系统而发送的;以及建立模块,被配置用于在所述可信执行环境中基于所述指示来确认在所述可信执行环
境与所述数据提供系统之间建立所述安全信道。16.根据权利要求11的所述装置,其中所述信道秘钥接收模块包括:秘钥密文接收模块,被配置用于在所述可信执行环境中,接收来自所述数据提供系统的所述秘钥的密文,所述秘钥的所述密文是利用所述共享秘钥来加密的;以及秘钥明文确定模块,被配置用于在所述可信执行环境中,利用所述共享秘钥解密接收的所述秘钥的所述密文,获取所述秘钥的明文。17.根据权利要求16的所述装置,其中所述获取模块包括:加载模块,被配置用于从所述普通执行环境向所述可信执行环境加载所述基因数据的所述密文;以及解密模块,被配置用于在所述可信执行环境中,利用所述秘钥的所述明文解密所述基因数据的所述密文,获取所述基因数据的所述明文。18.根据权利要求17的所述装置,进一步包括:结果加密模块,被配置用于在所述可信执行环境中,利用所述秘钥来加密所述处理结果以形成所述处理结果的密文;结果写入模块,被配置用于从所述可信执行环境向所述普通执行环境写入所述处理结果的所述密文;以及结果发送模块,被配置用于在所述普通执行环境中,经由所述公开信道向所述数据提供系统发送所述处理结果的所述密文。19.一种电子设备,包括:至少一个处理单元;以及至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至9中任一项所述的方法。20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时使所述处理器实现根据权利要求1至9中任一项所述的方法。
技术总结提供了用于处理基因数据的方法、装置、设备和介质。在一种方法中,在数据处理系统中的普通执行环境中,经由普通执行环境与数据提供系统之间的公开信道,接收来自数据提供系统的基因数据的密文。在数据处理系统中的可信执行环境中,经由可信执行环境与数据提供系统之间的安全信道,接收来自数据提供系统的用于解密基因数据的密文的秘钥。在可信执行环境中,利用秘钥解密基因数据的密文,以获取基因数据的明文。在可信执行环境中,处理基因数据的明文,确定基因数据的处理结果。利用本公开的示例性实现方式,可以在安全可靠的可信执行环境中处理基因数据,进而提高基因数据的安全性和完整性。性。性。
技术研发人员:李晓光 刘乐典 段兵 林凡
受保护的技术使用者:抖音视界(北京)有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1