使用合成重加密图像的图像分发
1.相关申请案
2.本技术案主张2020年7月7日申请的标题为“隐私保护监控系统及方法(privacy-preserving surveillance systems and methods)”的第62/705,604号美国临时专利申请案的申请日权益,所述申请案的全部内容以引用方式并入本文中。
背景技术:3.本发明涉及图像处理,且特定来说,涉及采用密码操纵以保护选定用户隐私的方式将图像分发给多个用户。
4.成像技术及人工智能的最新进展导致数字监控的爆发式发展。公用场所的视频监控通常由警察用于预防犯罪。监控摄像头也越来越多用于私人住宅、商店、办公室及学校上。由摄像头收集的数据通常进一步经处理以提取各种特征,例如车牌或出现于特定图像中的人的身份。
5.此类技术的广泛使用引起一些担忧。亲民主活动家指责一些政府使用监控来攻击政治对手、持不同政见者、特定社会及种族群体。近年来,公众对大规模监控的接受程度也有所下降,越来越多将其视为隐私侵犯。
6.因此,开发隐私保护视频监控系统及方法具有重要实用价值。
技术实现要素:7.根据一个方面,一种将隐私保护图像分发给多个用户的方法包括采用隐私管理服务器的至少一个硬件处理器响应于接收可用管理密钥解密的加密源图像而执行所述源图像的加密域图像分割以确定多个加密私用掩码。所述多个加密私用掩码中的每一掩码指示经选择以展示所述多个用户中的相应用户的私用项目的所述源图像的区。所述方法进一步包括采用所述隐私管理服务器的至少一个硬件处理器将所述多个加密私用掩码传输到图像分发服务器用于解密及作为响应,确定多个加密私用图像。所述多个加密私用图像中的每一私用图像根据所述源图像且进一步根据包括所述多个加密私用掩码中的相应掩码的解密的相应解密掩码来确定,所述相应解密掩码从所述图像分发服务器接收。所述方法进一步包括采用所述隐私管理服务器的至少一个硬件处理器执行加密域密钥改变程序以产生多个重加密图像。所述多个重加密图像中的每一重加密图像包括将所述多个加密私用图像中的相应私用图像从可用所述管理密钥解密变换为可用所述相应用户的私钥解密的结果。所述方法进一步包括采用所述隐私管理服务器的至少一个硬件处理器将所述多个重加密图像组合成合成私用图像及将所述合成私用图像传输到所述图像分发服务器用于进一步分发给多个客户端装置。每一客户端装置经配置以根据所述合成私用图像来重建所述源图像的用户特定明文版本。
8.根据另一方面,一种计算机系统包括隐私管理服务器,其经配置以响应于接收可用管理密钥解密的加密源图像而执行所述源图像的加密域图像分割以确定多个加密私用掩码。所述多个加密私用掩码中的每一掩码指示经选择以展示多个用户中的相应用户的私
用项目的所述源图像的区。所述隐私管理服务器进一步经配置以将所述多个加密私用掩码传输到图像分发服务器用于解密及作为响应,确定多个加密私用图像。所述多个加密私用图像中的每一私用图像根据所述源图像且进一步根据包括所述多个加密私用掩码中的相应掩码的解密的相应解密掩码来确定,所述相应解密掩码从所述图像分发服务器接收。所述隐私管理服务器进一步经配置以执行加密域密钥改变程序以产生多个重加密图像。所述多个重加密图像中的每一重加密图像包括将所述多个加密私用图像中的相应私用图像从可用所述管理密钥解密变换为可用所述相应用户的私钥解密的结果。所述隐私管理服务器进一步经配置以将所述多个重加密图像组合成合成私用图像及将所述合成私用图像传输到所述图像分发服务器用于进一步分发给多个客户端装置。每一客户端装置经配置以根据所述合成私用图像来重建所述源图像的用户特定明文版本。
9.根据另一方面,一种非暂时性计算机可读媒体存储指令,所述指令在由隐私管理服务器的至少一个硬件处理器执行时致使所述隐私管理服务器响应于接收可用管理密钥解密的加密源图像而执行所述源图像的加密域图像分割以确定多个加密私用掩码。所述多个加密私用掩码中的每一掩码指示经选择以展示多个用户中的相应用户的私用项目的所述源图像的区。所述指令进一步致使所述隐私管理服务器将所述多个加密私用掩码传输到图像分发服务器用于解密及作为响应,确定多个加密私用图像。所述多个加密私用图像中的每一私用图像根据所述源图像且进一步根据包括所述多个加密私用掩码中的相应掩码的解密的相应解密掩码来确定,所述相应解密掩码从所述图像分发服务器接收。所述指令进一步致使所述隐私管理服务器执行加密域密钥改变程序以产生多个重加密图像。所述多个重加密图像中的每一重加密图像包括将所述多个加密私用图像中的相应私用图像从可用所述管理密钥解密变换为可用所述相应用户的私钥解密的结果。所述指令进一步致使所述隐私管理服务器将所述多个重加密图像组合成合成私用图像及将所述合成私用图像传输到所述图像分发服务器用于进一步分发给多个客户端装置。每一客户端装置经配置以根据所述合成私用图像来重建所述源图像的用户特定明文版本。
附图说明
10.将在阅读以下详细描述且参考图式之后更好地理解本发明的上述方面及优点,其中:
11.图1展示根据本发明的一些实施例的示范性隐私保护监控系统。
12.图2展示根据本发明的一些实施例的输入传感器的示范性组件。
13.图3展示根据本发明的一些实施例的客户端装置的示范性组件。
14.图4展示根据本发明的一些实施例的图像分发服务器的示范性组件。
15.图5展示根据本发明的一些实施例的隐私管理服务器的示范性组件。
16.图6展示根据本发明的一些实施例的示范性源图像。
17.图7说明根据本发明的一些实施例的含于图6中的源图像内的示范性公用图像。
18.图8展示根据本发明的一些实施例的含于图6的源图像内的示范性私用图像。
19.图9展示根据本发明的一些实施例的示范性用户掩码。
20.图10展示根据本发明的一些实施例的经执行以建立隐私保护监控系统的示范性数据交换。
21.图11展示根据本发明的一些实施例的在隐私保护监控系统的操作期间执行的示范性数据交换。
22.图12展示由隐私管理服务器在图11中说明的实施例中执行的示范性步骤序列。
23.图13展示在本发明的替代实施例中执行的示范性数据交换。
24.图14展示由隐私管理服务器在图13中说明的实施例中实施的替代示范性步骤序列。
25.图15说明根据本发明的一些实施例的由图像分发服务器执行的示范性步骤序列。
26.图16展示根据本发明的一些实施例的概述客户端装置与分发服务器之间的交换的示范性步骤序列。
27.图17-a展示根据本发明的一些实施例的可用于选定客户端装置的示范性重建图像。
28.图17-b展示根据本发明的一些实施例的可用于另一客户端装置的另一示范性重建图像。
29.图18展示经配置以依隐私保护方式执行选定任务的本发明的实施例中的示范性数据交换。
30.图19说明根据本发明的一些实施例的经配置以实施操作的计算装置的示范性硬件配置。
具体实施方式
31.在以下描述中,应理解,结构之间的所有叙述连接可为直接操作连接或通过中间结构的间接操作连接。一组元素包含一或多个元素。元素的任何叙述被理解为指代至少一个元素。多个元素包含至少两个元素。除非另有规定,否则“或”的任何使用指代非排他性或。除非另有要求,否则任何描述方法步骤不一定以特定说明顺序执行。从第二元素导出的第一元素(例如数据)涵盖等于第二元素的第一元素以及通过处理第二元素及任选地处理其它数据来产生的第一元素。根据参数作出进行确定或决策涵盖根据参数及任选地根据其它数据进行确定或决策。除非另有规定,否则一些数量/数据的指示符可为数量/数据本身或不同于数量/数据本身的指示符。计算机程序是实施任务的处理器指令序列。本发明的一些实施例中描述的计算机程序可为其它计算机程序的独立软件实体或子实体(例如子程序、库)。术语
‘
数据库’在本文用于表示任何结构化数据集合。实施加密域程序/操作在本文表示在加密域中实施相应程序/操作,即,直接对加密输入实施以依不涉及解密输入的方式产生加密输出。加密域程序不同于解密输入且接着加密相应程序的输出的程序。换句话说,对加密项目实施加密域程序/操作的实体无需知道相应项目的明文版本。计算机可读媒体涵盖非暂时性媒体(例如磁性、光学及半导体存储媒体(例如硬盘驱动器、光盘、闪存、dram))以及通信链路(例如导电电缆及光纤链路)。根据一些实施例,本发明尤其提供包括经编程以执行本文中描述的方法的硬件(例如一或多个处理器)以及用于执行本文中描述的方法的计算机可读媒体编码指令的计算机系统。
32.以下描述通过实例而不一定通过限制来说明本发明的实施例。
33.图1展示根据本发明的一些实施例的示范性隐私保护监控系统10。术语“监控”在本文仅用于通过聚焦于特定示范性用例来使本公开清楚且不意味着限制于例如预防犯罪
的典型监控活动。尽管以下描述将聚焦于视频监控实例,但所公开系统及方法可适用于其它应用,例如在处理同一文档的多方之间的协作期间保护隐私及/或确保机密性,从而防止经由在线发消息来实施网络欺凌等等。
34.系统10尤其包含输入传感器14、分发服务器30、隐私管理服务器40及多个客户端装置12a到c,其所有通过可包含因特网的网络15来通信耦合。
35.传感器14(例如摄像头、麦克风等)经配置以获取信号(例如图像及/或声音的编码),其如下文描述那样进一步经操纵及变换。在视频监控实例中,传感器14可包括经定位以获取例如校园、集市广场等的公用空间的图像的摄像机。因而,传感器14可包含用于获取信号的硬件及/或软件构件(例如电荷耦合装置(ccd)光传感器)、用于存储所获取信号的计算机可读媒体及用于传输相应信号的构件(例如物理层通信硬件、编码器、天线等)。图2展示输入传感器14的其它示范性组件,其可包括根据本发明的一些实施例的专用软件模块。密码引擎16加密所获取图像/声音记录。通信模块18进一步将所得加密信号传输到隐私管理服务器40及/或图像分发服务器30,如下文详述。
36.在一些实施例中,密码引擎16根据同态加密方案来加密数据。同态加密是特定种类的加密,其允许执行例如加密数据的加法及/或乘法的某些计算,其中解密此类计算的结果产生相同于将相应计算应用于相同数据的明文版本的输出。换句话说,如果enc(p)=c表示同态加密操作,其中p表示明文消息且c表示其对应密文,dec(c)=p表示从其密文恢复相应明文消息的同态解密操作,且eval(f,{c1,...,ck})=c表示通过将函数f应用于一组密文ci来产生密文c的同态评估程序,那么:
37.dec(c)=f(p1,...,pk),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
1.38.其中pi=dec(ci),i=1,
…
,k。在正式数学语言中,可认为同态加密方案的加密及解密程序是明文空间与密文空间之间的同态。
39.所属领域中已知若干同态加密方案/密码系统。在加法及乘法的任何组合上保持同态性质的方案通常称为全同态。实例包含gentry-sahai-waters(gsw)方案等。其它方案/算法仅在某一类型的运算上同态,例如,在paillier方案的情况中仅加法及在rivest-shamir-adelman(rsa)方案的情况中仅乘法。此类方案在所属领域中称为部分同态。相比而言,不具有上述同态性质的密码在本文被视为非同态。非同态密码的实例包含一些传输层安全(tls)通信协议中使用的高级加密标准(aes)。
40.客户端装置12a到c一般表示用于存取及/或处理(例如,可视化、回放等)由输入传感器14提供的数据的任何终端用户电子装置,例如个人计算机、智能手机、电视等。在图3中说明的一些实施例中,客户端装置12可执行监控软件应用程序22,其经配置以与分发服务器30执行用户认证交换(例如登录程序)且随后向用户显示重建图像。数据重建引擎24经配置以从一组明文公用图像及一组加密私用图像重建图像,如下文描述。客户端密码引擎26经配置以解密所接收加密私用图像。在一些实施例中,引擎26实施同态解密算法。
41.分发服务器30及隐私管理服务器40中的每一者一般表示可或可不彼此物理接近的一组互连计算机系统。服务器30及40的示范性组件分别在图4及5中展示。在一些实施例中,此类组件表示在至少一硬件处理器上执行的计算机程序(软件)。非所有说明组件需要在同一硬件处理器或物理机器上执行。所属领域的技术人员将理解,在替代实施例中,一些说明组件可在专用硬件(例如专用集成电路(asic)及/或现场可编程门阵列(fpga))、固件
或以上的组合中实施。
42.在一些实施例中,分发服务器30管理监控服务,其包含例如与用于用户注册及/或认证的客户端装置12a到c的通信以及将选择性加密数据分发给每一客户端装置。在不失一般性的情况下,服务器30在本文可称为图像分发服务器,即,经配置以向客户端分发图像(例如视频)的服务器。所属领域的技术人员将了解,取决于实际实施例及用例,服务器30可分发其它种类的数据,例如音频、电子文档等。用户管理器组件32可管理一组用户及/或账户数据(用户名、密码、各种服务协议参数等)且提供用户接口用于用户注册及账户管理。
43.存取管理器组件38可根据当前在相应客户端装置上认证的用户的身份来选择性将数据存储到数据存储库20及/或从数据存储库20检索数据且选择性将此数据转发到每一客户端装置12a到c。存取管理器38可包括网页服务器等。
44.密钥管理器34可启动及/或执行密钥产生及与客户端装置12a到c及隐私管理服务器40的交换程序。密钥管理器34可进一步产生一组代理重加密符记且选择性使每一此符记与监控服务的注册用户及/或客户端装置12a到c相关联。下文给出关于此类过程的更多细节。
45.管理密码引擎36可经配置以执行数据加密及/或解密操作,如下文进一步描述。引擎36可实施同态加密/解密算法的版本。
46.在一些实施例中,数据存储库20可包括经配置以存储私用及公用数据的数据库的计算机可读存储媒体。公用数据可包括所有用户可存取的任何数据,例如明文(即,未加密)图像。私用数据可仅由选定用户存取及/或解密。私用数据的实例包含用户特定及合成代理重加密图像,如下文展示。此数据可根据用户进行索引以实现选择性插入及检索。索引可采取所属领域中已知的任何形式。
47.在一些实施例中,隐私管理服务器40(图5)提供例如密码及自动检测由输入传感器14提供的数据中的私用/机密项目的服务。服务器40的重加密引擎46经配置以对加密数据执行密钥交换程序,如下文更详细展示。密钥交换程序在本文表示将密文从可使用一个密钥破译变换为可使用另一密钥破译的程序。密钥交换程序的一个实例在所属领域中称为代理重加密,其允许实体z鉴于关于另一实体y的一些信息来更改在实体x的公钥下加密的密文,借此使其可由实体y解密。换句话说,实体y可使用其自己的密钥来解密在x的公钥下加密的密文,但仅在相应密文由实体z使用特定于实体y的重加密密钥(在所属领域中也称为重加密符记)进行代理重加密之后。将此通用方案转译为图1中说明的示范性参与者,隐私管理服务器40的一些实施例代理重加密已用分发服务器30的公钥加密的数据以使相应数据可由客户端装置12a到c的选定用户解密。代理重加密程序采用特定于相应用户及/或装置的重加密符记,例如根据相应用途/装置的公用加密密钥产生的符记。
48.在一些实施例中,重加密引擎46在加密域中操作,即,在不解密输入的情况下实施相应密钥交换程序。为了实现加密域密钥交换,引擎46的一些实施例实施与由客户端装置12a到c、分发服务器30及/或输入传感器14实施的同态加密/解密算法兼容的代理重加密算法。此类算法超出本描述的范围;密码学领域中已知若干此类实例,例如可以https://gitlab.com/palisade/palisade-development取得的palisade代码库。
49.一组项目检测器42可经配置以确定从传感器14接收的输入数据(例如由监控摄像头捕获的帧)是否含有与选定用户相关联的私用/机密项目的表示。示范性私用项目包含
人、脸或某些其它身体部位、徽标/商标、车牌、银行卡、个人id(例如驾驶执照、护照)、手写文字及人的签名等。在经配置以与声音一起操作的实施例中,示范性私用项目可包括允许识别人的任何项目,例如任何语音质量,例如音色、气泡音、音高、节奏、变音等。其它示范性私用声音项目包含名称及选定词语(例如亵渎、种族歧视等)、枪声、争吵声等的话语。在经配置以处理文本文档及/或电子消息的实施例中,示范性私用项目包括书面名称、地址、金融信息(例如信用卡号)等。其它实例包含由选定作者书写的文字、针对选定主题书写的文字及以选定样式书写或传达选定情感的文字等。
50.私用项目可为用户特定的。例如,在校园监控用例中,每一家长可将其自己的孩子定义为私用项目,因此相应孩子可仅由相应家长可见。在一些实施例中,多个用户可共享私用项目及/或单个用户可具有多个私用项目。在一个此实例中,特定用户群组的所有成员(例如三年级孩子的家长)能够看到其孩子同龄人的脸,但其它用户不能。
51.图6展示从监控摄像头(输入传感器14)接收的示范性源图像70,图像70展示包含人(例如孩子72a到b)、脸72c及特定对象72d的示范性私用/机密项目。图7到8展示含于示范性源图像70中的示范性公用及私用图像。在一些实施例中,私用图像包括私用/机密项目的表示(例如数字阵列)。在图8的实例中,私用图像76a包括展示图6中的私用项目72a的源图像的区。相应地,公用图像74(图7)可包括不展示任何私用项目的源图像70的另一区。例如,公用图像74可展示源图像70的所有非私用内容。示范性公用图像包含场景(风景、建筑物、树木、庭院、天空等)的背景。在一些实施例中,公用图像74及/或私用图像76a被表示为具有相同于源图像70的大小的数字阵列。
52.项目检测器42可使用所属领域中已知的任何方法来构造。例如,示范性项目检测器42可包含人工智能(ai)系统43a,例如经预训练以识别源图像内的相应私用项目的例子的一组人工神经网络。示范性ai系统43a包含人脸辨识模块及图像分割模块等。此类项目检测器的结构及训练超出本描述的范围;所属领域已知若干架构及训练策略。
53.在图像处理实施例中,示范性项目检测器42可接收源图像70且输出指示展示私用项目的表示的源图像的区(例如展示特定人的脸的源图像的区)的用户掩码。图9展示与图6的私用项目72a相关联的示范性用户掩码80a。示范性用户掩码的特征在于属于相应私用项目的图像的像素子集。另一示范性用户掩码包括位于源图像70的连续区内部的所有像素,区展示私用项目。例如,在图9中说明的实施例中,此区可定义为围封私用项目的图像的多边形(例如凸包、定界框等)的内部。用户掩码的方便计算机可读编码包括数字稀疏阵列,阵列具有相同于源图像70的大小且其中除对应于掩码的像素的元素之外的所有元素为零。多个用户掩码可与单个用户(即,单个重加密符记,见下文)相关联。某些用户掩码可重叠。
54.在一些实施例中,检测器42在加密域中操作,即,无需解密源图像。为了实现此加密域操作,ai系统43a(例如实施人脸辨识的神经网络)可有意结构化为与同态加密方案兼容。例如,检测器42可接收同态加密源图像且作为响应,输出同态加密用户掩码,用户掩码使用相同于用于加密源图像的加密密钥的加密密钥来加密。所属领域中已描述若干此类ai系统。实例包含n.道林(n.dowlin)等人的“密码网:依高处理量及准确度将神经网络应用于加密数据(cryptonets:applying neural networks to encrypted data with high throughput and accuracy)”(第33届机器学习国际会议论文集,纽约,ny,2016,jmlr:w&cp第48卷)中描述的密码网。在一个此实例中,ai系统43a包含神经网络,其中选定层等效于预
定程度的多项式,且其中例如修正线性单元(relu)的典型非线性激活函数用多项式近似替换。
55.在一些实施例中,ai系统43a由ai训练系统11(例如在处理器上执行的机器学习算法)使用由每一用户提供或以其它方式指示的训练数据进行预训练。在一个此实例中,在注册服务之后,每一用户可提供相应用户的机密项目的样本表示,例如脸的图像或人的语音样本。一些实施例接着可训练ai系统43a识别从输入传感器14接收的数据流内的相应私用项目的表示。相关实例是在由每一用户提供的目标脸上训练人脸辨识软件。训练产生一组优化检测器参数值45a,其传输到项目检测器42。在神经网络实施例中,示范性参数45a包含一组突触权重及神经元偏差等。
56.图10展示根据本发明的一些实施例的经执行以初始化/建立隐私保护监控服务的示范性交换。在所说明实例中,分发服务器30实施密钥产生程序以产生特定于分发服务器30的一对同态加密密钥(本文中视为管理密钥)且将对的公钥52传输到输入传感器14用于加密所获取信号/图像。服务器30进一步参与与客户端装置12(一般表示图1中的客户端装置12a到c中的任何者)的密钥产生及/或交换协议,其中装置12产生特定于经由客户端装置12存取隐私保护监控服务的每一用户的一对相异加密密钥(本文中视为用户密钥)。替代实施例可产生装置特定加密密钥。用户及/或装置密钥产生可在注册时发生作为每一用户的初始服务配置程序的部分,且可根据同态加密密钥产生算法进行。接着,客户端装置12将公用用户密钥54发送到分发服务器30。响应于接收密钥54,密钥管理器34可产生与每一用户及/或客户端装置唯一相关联的一组代理重加密符记50。一些实施例根据与相应用户/装置相关联的公钥且根据管理密钥、经由与由客户端装置12用于产生用户/装置密钥的同态加密算法兼容的符记产生算法来产生每一组用户特定符记50。此密钥产生协议/程序超出本描述的范围;密码学领域中已知若干实例。接着,重加密符记50传输到隐私管理服务器40用于用户特定私用图像的代理重加密,如下文详述。
57.图11及13说明在隐私保护监控系统的两个示范性实施例中实施的数据交换。为清楚起见,以下描述将聚焦于视频监控,即,相关源数据包括图像数据。所属领域的技术人员将理解,本文中描述的方法可适用于其中相关数据包括声音(例如语音记录)、文本等的编码的其它应用。
58.图12及14分别展示由隐私管理服务器40在由图11及13描述的实施例中实施的替代步骤序列。相应地,图15展示由图像分发服务器30实施的示范性步骤。
59.在一些实施例中,由输入传感器14获取的数据被编码为明文图像i,例如包括数字阵列,其中每一数字表示相异位置/像素处相应图像的强度。一些图像可具有多个通道(例如红色、绿色及蓝色);在此类实施例中,每一通道可由单独阵列表示。接着,图像i由传感器密码引擎16根据公用管理密钥52加密以产生传输到隐私管理服务器40的加密数据流60。流60可包括例如一组加密源图像:
[0060][0061]
其中enc(x,k)一般表示使用密钥k对数量x加密,且k
padmin
表示公用管理密钥52。星号(*)始终用于指示加密数量。在视频监控实施例中,每一加密源图像i*可对应于相异帧且可用指示取得相应帧的时刻的相关联时间戳标记。
[0062]
响应于接收数据流60,对于每一加密源图像i*,在步骤204(图12)中,服务器40可
应用项目检测器42确定相应图像是否包括私用数据(即,被一些用户视为私用的项目的图像)。如果为是,那么检测器42的一些实施例回传识别展示各种私用项目的源图像的区的一组用户掩码(见图9中的示范性掩码80a)。此外,根据已将相应项目声明为私用的用户来对此类掩码进行索引。一些实施例可进一步确定包括仅含有公用数据的当前帧的区域的一组公用掩码。在示范性实施例中,通过使所有用户掩码反转且叠加结果来确定公用掩码。在另一实施例中,项目检测器42可经训练以回传一组公用掩码以及用户掩码。
[0063]
然而,由于隐私管理服务器40不拥有秘密管理密钥且因此无法解密源图像i*,因此项目检测器42的一些实施例在加密域中操作(即,直接对加密数据进行操作)且产生加密输出(即,用户掩码也加密)。因此,在一些实施例中,尽管项目检测器42在服务器40上执行,但服务器40不知道源图像的内容以及源图像的哪个区含有私用项目(如果存在)。
[0064]
在一些实施例中,一组步骤206到208(图12)执行加密域图像分割程序以根据项目检测器42的输出从当前源图像i*提取一组加密公用及私用图像。每一私用图像可包括位于相异用户掩码内的当前源图像的(加密)内容。在一些实施例中,与用户掩码i相关联的加密私用图像可根据加密源图像及加密掩码i的逐像素相乘来确定:
[0065][0066]
其中m*i表示由项目检测器42回传的加密用户掩码i:
[0067][0068]
且其中mi表示未加密/明文用户掩码i。
[0069]
带圆圈的点运算符在本文表示逐像素相乘:
[0070][0071]
其中对{xy}分别索引源图像及用户掩码内的位置/像素。逐像素相乘应用于相同大小的图像/阵列。
[0072]
同时,当前帧(图11中的项目62)的加密公用图像可根据加密源图像及加密公用掩码的逐元素相乘来计算:
[0073]i*public
=i
*
⊙m*public
,
ꢀꢀꢀꢀ
[6]
[0074]
其中m
*public
表示由项目检测器42产生的加密公用掩码:
[0075][0076]
其中m
public
表示相应未加密/明文公用掩码。
[0077]
在一些实施例中,在步骤210中,隐私管理服务器40可采用重加密引擎46根据与相应用户/掩码i相关联的重加密符记来代理重加密如上文所见(例如公式[2])那样确定的私用图像以产生个别用户特定重加密私用图像66(图11),其接着传输到图像分发服务器30。此代理重加密确保相应私用图像仅可由与用户/掩码i相关联的解密密钥的持有者破译。在一些实施例中,重加密私用图像66用相应用户的指示符标记以使服务器30能够选择性将图像66插入到数据存储库20中及/或从数据存储库20检索图像66。步骤212到214的另外序列将加密公用图像62及重加密私用图像66传输到服务器60用于进一步分发给客户端装置12a到c。
[0078]
在图13到14中说明的替代实施例中,在步骤230中,服务器40可将加密用户掩码64传输到图像分发服务器30用于解密且作为响应,从服务器30接收解密用户掩码65。在一些
实施例中,解密掩码65包括由项目检测器42确定的加密用户掩码的明文版本:
[0079][0080]
其中dec(x,k)一般表示使用密钥k对数量x解密,且其中k
sadmin
表示由图像分发服务器30持有的秘密密钥。在此类实施例中,即使隐私管理服务器40可清楚地看到源图像是否展示私用项目及源图像的哪个区展示私用项目,但由于服务器40无法解密相应源图像i*的任何区,因此隐私仍受保护。
[0081]
接下来,步骤234可通过复制位于每一解密用户掩码65内的加密帧的像素来提取私用图像。在一些实施例中,此可意味着将与掩码i相关联的加密私用图像确定为:
[0082][0083]
另外步骤236可采用重加密引擎46以用与相应掩码i相关联的用户的重加密符记来代理重加密每一此私用图像以产生个别重加密私用图像。接下来,在步骤238中,一些实施例可根据在步骤236中确定的多个个别重加密私用图像来计算合成重加密私用图像67。在一些实施例中,合成图像67包括以马赛克的方式从多个私用图像组装的单个图像,其中每一个别重加密私用图像占据对应于相应用户掩码mi的合成图像的区。可通过将每一代理重加密私用图像补零到源图像的大小来促进计算合成私用图像。接着,合成重加密私用图像67可根据以下公式计算:
[0084][0085]
其中reenc(x,t)一般表示使用符记t对密文x代理重加密,且ti表示与用户/掩码i相关联的重加密符记。带圆圈的加号运算符在本文表示逐像素相加:
[0086][0087]
其中对{xy}分别索引示范性图像i1及i2内的位置/像素。逐像素相加应用于相同大小的图像。
[0088]
接着,可在步骤240中将经计算合成重加密私用图像67传输到图像分发服务器。在替代实施例中,隐私管理服务器40可计算个别代理重加密私用图像且将相应图像传输到分发服务器30。相应地,服务器30可例如使用等式[10]从所接收个别重加密图像确定合成图像67。
[0089]
同时(图14中的步骤226),隐私管理服务器40可如上文展示(例如等式[6])那样计算加密公用图像62。替代地,图像62可根据明文公用掩码确定:
[0090]i*public
=i
*
⊙mpublic
,
ꢀꢀꢀꢀꢀ
[12]
[0091]
其中m
public
从分发服务器30接收。在又一实施例中,可通过使从服务器30接收的所有明文用户掩码mi反转且叠加结果来计算m
public
。在这些情形中的任何者中,凭借服务器40在加密域中执行图像分割(即,无需解密源图像)的事实来用管理密钥加密图像62。换句话说,服务器40不知道公用图像62的明文内容。在步骤228中,将加密公用图像62传输到服务器30用于解密且进一步分发给客户端。
[0092]
图15说明根据本发明的一些实施例的图像分发服务器30的示范性操作。在步骤252到254的序列中,服务器30可等待来自隐私管理服务器40的通信。当此类通信包括加密用户掩码(步骤256回传是)时,图像分发服务器30可采用密码引擎36根据其秘密管理密钥(例如上文公式[6])来解密相应掩码且将解密掩码传输到隐私管理服务器40。
[0093]
当通信包括加密公用图像62时,服务器40可对其解密以产生解密公用图像63:
[0094][0095]
且将图像63保存到数据存储库20。解密公用图像63可用时间戳、帧号或使图像63与从其提取图像63的源图像相关联的另一指示符来标记。
[0096]
当从服务器40接收的通信包括重加密私用图像(根据服务器40是否分别遵循流程图12或14,特定于用户/掩码i或合成)时,图像分发服务器30可将相应私用图像插入到数据存储库20中。还可根据使相应图像与相应源图像相关联的时间戳及/或标签来标记重加密私用图像。私用图像还可标记为指示与特定用户及/或掩码的相关联性。
[0097]
图16展示由图像分发服务器30相对于一般表示图1中的客户端装置12a到c中的任何者的客户端装置12执行的另外示范性步骤。在步骤280中,客户端装置12可实施用户认证程序以根据分发服务器30识别装置12的当前用户。步骤280可实施所属领域中已知的任何用户认证协议(例如密码、双因素、生物测定等)。在步骤282中,装置12接着可将查询传输到服务器30以例如指示查看来自特定监控摄像头且在特定时间帧内捕获的图像的请求。作为响应,在步骤284到290的序列中,图像分发服务器30可根据查询从数据存储库20选择性检索一组公用及私用图像且将相应图像传输到客户端装置12。取决于隐私管理服务器40是否根据图12或14中说明的流程图操作,私用图像可分别包括个别重加密私用图像66或合成重加密私用图像67。例如,此类事务可经由网页接口实施。在替代实施例中,图像分发服务器30可打开与客户端装置20的专用连接(例如vpn隧道)且经由相应连接传输公用及私用图像。
[0098]
所属领域的技术人员将理解,尽管已在分发之前将公用图像解密为明文,但步骤288不一定包括以明文传输相应公用图像。相反地,步骤288可包含重加密所传输公用图像,例如作为通过tls/https的传输的部分。然而,此加密对客户端装置处的图像重建没有影响;在tls/https事务中,接收客户端装置始终可解密有效载荷。
[0099]
响应于接收公用及私用图像,在步骤292中,客户端装置12可使用客户端密码引擎26(图3)以使用与客户端装置12的相应用户相关联的秘密密钥来解密相应私用图像。接下来,在步骤294中,数据重建引擎24可根据解密私用图像且进一步根据从图像分发服务器30接收的解密公用图像63来计算重建图像。例如,重建图像可经由解密公用图像63及解密私用图像的逐像素相加来计算:
[0100][0101]
或
[0102][0103]
其中ri表示由用户i看到的重建图像,且k
si
表示用户i的秘密密钥。当源图像包括多个用户的私用数据时,公式[14]可不计算整个重建图像,在此意义上,对应于属于不同于客户端装置12的当前用户i的用户的用户掩码mj的重建图像的区可为空的。为了得到完整重建图像,一些实施例可用伪数据(例如零、随机噪声、随机颜色等)填充缺失区。
[0104]
在其中与相异用户相关联的掩码可重叠的情形中,例如当一些信息可与多个用户相关(例如,与选定群组的成员相关)而其它信息私用于每一用户时,根据公式[14]来重建帧可为优选的。此情形的另一实例可发生在经配置以产生多标签分类的自动图像分割系统
中。
[0105]
在其中从合成私用图像计算重建图像的实施例中,重建图像ri是完整的,但由用户i持有的秘密密钥k
si
仅可解密相应用户的私用数据。因此,对应于其它用户的用户掩码mj的重建图像的区将展示加扰图像。此效果在图17-a到b中说明,图17-a到b展示两个相异用户如何看到同一源图像的重建。图17-a展示由用户a看到的重建图像,其声明项目72a(图6)为私用的。用户a将看到私用项目72a的图像,但将不能看到其它用户的私用项目的图像,例如项目72b到c到d的图像(见图6)。图17-b展示由其项目72b为私用的另一用户b看到的重建图像。用户b可看到项目72b的图像,但不能看到私用项目72a及72c到d的图像。
[0106]
在其中项目检测器42仅产生非重叠用户掩码及/或其中相异用户不共享私用信息的实施例中,可优选根据公式[15]重建帧ri,即,由合成加密私用图像重建帧ri。否则,由掩码重叠覆盖的重建图像的区无法由任何个别用户破译且因此可出现加扰。用合成私用图像进行操作可进一步节省计算资源,因为其允许向所有用户发送相同加密私用数据(即,一个合成私用图像),而非存储、索引及选择性递送个别私用图像到每一用户。在此类实施例中,服务器40可直接将私用及公用图像插入到数据存储库20中,无需分发服务器30的进一步参与。使用合成重加密私用图像的实施例的缺点是:与使用个别私用图像的实施例相比,其确保相对较低隐私级别,因为在计算私用图像时,服务器40用解密/明文掩码操作。换句话说,尽管服务器40不知道私用图像的内容,但其例如知道源图像是否包括私用项目且其还经由相应明文掩码知道相应私用项目的近似位置。
[0107]
图18说明根据本发明的一些实施例的隐私保护监控系统的增强。在一些实施例中,隐私管理服务器40(图5)进一步被赋予图像任务模块44,其经配置以根据从输入传感器14接收的加密数据流60实施特定任务。图像处理任务的一个实例包括事件检测(确定图像或图像序列是否指示特定事件发生)。例如,在学校监控实施例中,任务模块44可经配置以分析由监控摄像头捕获的图像以确定图像是否指示打架或欺凌事件。在交通监视实施例中,任务模块可自动确定源图像是否指示事故、交通堵塞等。其它示范性任务包含计数图像中的人及确定所述计数是否超过预定阈值。又一示范性任务一般包含任何图像分类/贴标签任务,例如确定图像是否展示特定类型的对象(例如武器、个人id、银行卡、车牌等)。所属领域的技术人员将理解,尽管上文实例涉及图像处理,但这方面不意味着限制且一些实施例可适于处理例如声音文件、文本文档等的其它类型的数据。例如,在声音处理实施例中,任务模块44可确定由输入传感器14捕获的声音是否指示枪声、人们喊叫、侮辱性或歧视性语言等。
[0108]
在一些实施例中,任务模块44(图5)包括经预训练以实施相应任务的ai系统43b。在计算机视觉领域中已知若干此类实例;其架构及训练超出本公开的范围。ai系统43b可由ai训练系统11预训练,在此意义上,系统11可例如经由机器学习过程来确定一组优化任务模块参数值45b(例如突触权重等)且使用值45b来例示图像任务模块44的运行时例子。
[0109]
任务模块44可在加密域中操作,即,无需解密源数据。在此类实施例中,模块44可输入加密图像且产生包括执行相应任务的结果的加密输出,相应输出用与分发服务器30相关联的公用管理密钥加密。例如,任务模块44的输出可包括判决或标签的加密版本(例如根据数据流60是否指示特定事件发生的是/否)。由于模块44在加密域中执行,因此隐私管理服务器40不知道任务结果。
[0110]
在一些实施例中,任务模块44的输出由引擎46(图5)使用选定用户的重加密符记进行代理重加密以产生重加密任务结果86,重加密任务结果86被发送到分发服务器30用于递送到预定通知装置13(例如选定用户的智能手机)。在一些实施例中,通知装置13还可接收解密公用图像63,使得相应用户除被通知相应事件或情形发生之外,还可看到公用可用图像数据。例如,校长(或安保人员)可接收在校舍内正有人打架的通知,但当此信息被视为私用时,其不能看到谁实际参与打架。同时,由于任务结果86仅可由选定通知装置破译,因此除校长之外的所有用户不会知道有打架发生。此外,服务器40的所有者/操作者也不知道此类事件。
[0111]
一些实施例通过添加超级用户来进一步增强,超级用户可被允许看到含于源图像中的所有私用信息。此超级用户可表示权威人物,例如校长、公司人力资源部的代表等。在建立监控服务之后,图像分发服务器30可创建一对密钥以及与超级用户相关联的一组重加密符记。在一个此示范性实施例中,响应于确定用户掩码及提取私用图像,隐私管理服务器40可用超级用户的重加密符记来代理重加密与所有用户相关联的所提取私用图像,因此创建仅可由超级用户存取的合成私用图像。相应重加密私用数据接着发送到图像分发服务器30且与解密公用图像63一起进一步可由超级用户存取。超级用户可解密相应重加密私用图像且因此根据公用图像63及解密合成私用图像来完全重建源图像。同时,不拥有超级用户的私用加密密钥的用户无法看到属于另一用户的私用数据。
[0112]
图19展示经配置以执行本文中描述的一些方法的示范性计算机系统90。计算机系统90可表示客户端装置12a到c中的任何者以及图像分发服务器30及隐私管理服务器40。所说明的硬件配置是个人计算机的硬件配置;其它计算设备(例如移动电话及服务器)的配置可与图19中展示的配置略有不同。处理器92包括物理装置(例如微处理器、形成于半导体衬底上的多核集成电路),其经配置以用一组信号及/或数据来执行计算及/或逻辑运算。此类信号或数据可以处理器指令(例如机器代码)的形式编码及递送到处理器92。处理器92可包含中央处理单元(cpu)及/或图形处理单元(gpu)的阵列。
[0113]
存储器单元93可包括易失性计算机可读媒体(例如动态随机存取存储器(dram)),其存储由处理器92在实施操作的过程中存取或产生的数据及/或指令编码。输入装置94可包含计算机键盘、鼠标、触控板及麦克风等,其包含允许用户将数据及/或指令引入到计算机系统90中的相应硬件接口及/或适配器。输出装置95可包含显示装置(例如监视器)及扬声器等以及硬件接口/适配器(例如图形卡)以使相应计算装置能够向用户传送数据。在一些实施例中,输入及输出装置94到95共享共同硬件(例如触摸屏)。存储装置96包含计算机可读媒体以能够非易失性地存储、读取及写入软件指令及/或数据。示范性存储装置包含磁盘及光盘及闪存装置以及可移除媒体,例如cd及/或dvd盘及驱动器。网络适配器97包含机械、电及信令电路系统用于通过耦合到电子通信网络(例如图1中的网络15)及/或其它装置/计算机系统的物理链路来传送数据。适配器97可进一步经配置以使用各种通信协议来传输及/或接收数据。
[0114]
控制器集线器98一般表示多个系统、外围装置及/或芯片组总线及/或使处理器92与计算机系统90的其余硬件组件之间能够通信的所有其它电路系统。例如,控制器集线器98可包括存储器控制器、输入/输出(i/o)控制器及中断控制器。取决于硬件制造商,一些此类控制器可并入到单个集成电路中及/或可与处理器92集成。在另一实例中,控制器集线器
98可包括将处理器92连接到存储器93的北桥及/或将处理器92连接到装置94、95、96及97的南桥。
[0115]
本文中描述的示范性系统及方法允许以保护相应用户的隐私的方式将数据(例如录像、照片、录音、数字文档等)分发给多个用户。一些实施例采用同态加密及代理重加密技术来操纵相应数据,使得其选定部分根据当前存取相应数据的用户的身份来透露。
[0116]
一些实施例的一个示范性应用包括视频监控,其中分发数据包含从监控摄像头接收的图像流。一些实施例采用图像辨识技术来确定图像是否含有由选定用户视为机密的项目(例如特定人或脸、特定车牌等),且操纵及选择性加密相应图像,使得仅相应用户可看到机密项目。同时,可准许其它用户存取同一图像的另一版本,其中机密项目被遮蔽(例如隐藏、剪除、加扰等)。
[0117]
一个示范性用例包括监视校园的欺凌、打架及言语攻击迹象。在一些实施例中,选定用户(例如家长)可将一些孩子指定为私用项目。由摄像机捕获的校园的图像可分发给多个用户。然而,分发给校长及被视为私用的孩子的家长的图像将展示相应孩子的脸,而在分发给所有其它用户的图像中,脸可被遮蔽或加扰。此类操纵可例如保护被欺凌孩子的隐私及/或延迟公开侵犯者的身份,直到对事件进行调查。
[0118]
一些实施例的应用不限于监控。在另一实例中,摄像头记录产品或原型的展示。接着,图像例如以视频会议格式传输到多个远程用户。然而,相异用户可接收同一图像的相异版本。例如,已签署保密协议的用户可被展示相应产品或原型,而在分发给其它用户的图像中,相应项目可被遮蔽/加扰。
[0119]
被视为私用/机密的项目的本质在实施例之间可有很大不同。一些实例尤其包含冒犯性手势、衣物(头巾、泳衣等)、珠宝、特定身体部位(裸腿、胸部等)、武器、公司徽标、躺在地上的人体(可能是无家可归的人或需要医疗帮助的人)及穿制服的人(例如警察、医务人员)。人工智能系统43(图5)可经训练以辨识源图像内的任何此类型的私用项目。随后,一些用户将看到相应项目的图像,而其它用户不会看到。
[0120]
许多常规视频监控系统使用加密来防止未授权存取所获取图像。一些此类系统还增加自动图像辨识及/或图像分割功能性。然而,常规监控系统首先解密源图像以为图像辨识做准备。例如,执行图像分析的常规计算机系统通常还拥有用于解密源图像的密钥。相比来说,通过利用同态加密,本发明的一些实施例直接在加密域中执行自动项目检测/掩码构造,即,无需首先解密源图像。特定来说,本文中描述的隐私管理服务器甚至不具有用于解密源数据的密钥。因此,在本发明的实施例中,执行图像辨识及/或分割的计算机系统不知道所分析图像的内容,其大体上增强系统用户的隐私。
[0121]
由本发明的一些实施例使用同态加密还允许将用户管理/图像分发活动与图像分析活动解耦。在图1中说明的示范性隐私保护视频监控系统中,服务器30及40可由单独实体拥有及操作。在说明本发明的一些实施例的优点的一个示范性用例情境中,公司a拥有及操作输入传感器14及分发服务器30且将图像处理服务(即,由服务器40提供的服务)外包给另一公司b。传感器14可从办公楼收集图像,且公司a可能想自动检测例如异常办公室动态、不明人物存在等的事件以确定某些办公室事件的出席人数、确定某些员工何时上班或下班等。公司b可以隐私保护方式提供此类服务,因为服务器40无权存取未加密数据且进一步缺乏信息来解密传入源数据。相反地,在加密域中实施图像分割及/或其它任务执行,且此类
操作的结果仅可由公司a的代表操作的计算机系统(例如服务器30、选定客户端装置12a到c)解密。隐私通过以下事实进一步加强:在图11及13中说明的实施例中,分发服务器30无权存取源数据本身,而是仅限于存取其“公用部分”,即,源图像中未展示私用/机密项目的部分。
[0122]
一些实施例的应用不限于图像处理/视频监控,而是可适用于声音文件、文档及电子消息等的处理。在一个此示范性实施例中,可选择目标人的声音作为私用项目。例如录音的源数据可如本文中展示那样处理,即,可分成私用部分及公用部分,其中私用部分可由包括目标人的话语的源记录的片段组成。接着,私用部分可用对应于选定用户子集的符记进行代理重加密。当重建相应录音时,选定用户可听到目标人的说话,而其它用户不能。另一示范性实施例可使某些词语(例如咒骂、选定姓名等)的话语失真/加扰。
[0123]
在示范性文档或消息处理实施例中,私用项目可包括某些姓名、地址、电话号码、信用卡或银行账号等。在一些实施例中,私用项目可包括文档的整个部分,例如特定章节、具有特定作者的部分、述及特定话题的部分。在又一示范性实施例中,私用项目可包括指示特定情绪的对话(例如电子消息交换)的部分,例如愤怒、威胁、自杀念头、明确性意向等。项目检测器42可使用一组规则或经预训练人工智能系统来自动识别加密源文档中的此类私用项目。使用本文中展示的选择性代理重加密技术,同一文档接着可以一方式分发给多个用户,其中选定用户可看到明文中的相应私用项目,而其它用户不能。
[0124]
所属领域的技术人员将清楚,可在不脱离本发明的范围的情况下以许多方式更改上文实施例。因此,本发明的范围应由所附权利要求书及其法律等效物确定。