RU2826373C1 - Privacy-preserving image distribution - Google Patents
Privacy-preserving image distribution Download PDFInfo
- Publication number
- RU2826373C1 RU2826373C1 RU2022129852A RU2022129852A RU2826373C1 RU 2826373 C1 RU2826373 C1 RU 2826373C1 RU 2022129852 A RU2022129852 A RU 2022129852A RU 2022129852 A RU2022129852 A RU 2022129852A RU 2826373 C1 RU2826373 C1 RU 2826373C1
- Authority
- RU
- Russia
- Prior art keywords
- image
- private
- encrypted
- user
- key
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 29
- 230000011218 segmentation Effects 0.000 claims abstract description 11
- 238000003709 image segmentation Methods 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 5
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 230000004048 modification Effects 0.000 abstract 1
- 238000012986 modification Methods 0.000 abstract 1
- 238000004321 preservation Methods 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 37
- 239000002131 composite material Substances 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000012549 training Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010191 image analysis Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 206010001488 Aggression Diseases 0.000 description 1
- 235000014277 Clidemia hirta Nutrition 0.000 description 1
- 241000069219 Henriettea Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 206010039740 Screaming Diseases 0.000 description 1
- 241000543375 Sideroxylon Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000016571 aggressive behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- RVKCCVTVZORVGD-UHFFFAOYSA-N trinexapac-ethyl Chemical compound O=C1CC(C(=O)OCC)CC(=O)C1=C(O)C1CC1 RVKCCVTVZORVGD-UHFFFAOYSA-N 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
Abstract
Description
Родственные заявкиRelated applications
[0001] Настоящая заявка испрашивает приоритет на дату подачи предварительной заявки на патент США № 62/705,604, поданной 07.07.2020, под названием «Системы и способы наблюдения, сохраняющие приватность», полное содержание которой включено в настоящий документ посредством ссылки.[0001] This application claims priority to the filing date of U.S. Provisional Patent Application No. 62/705,604, filed July 7, 2020, entitled “Privacy Preserving Surveillance Systems and Methods,” the entire contents of which are incorporated herein by reference.
УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY
[0002] Настоящее изобретение относится к обработке изображений и, в частности, к использованию криптографических манипуляций для распределения изображения среди множества пользователей таким образом, чтобы сохранить приватность выбранных пользователей.[0002] The present invention relates to image processing and, in particular, to the use of cryptographic manipulations to distribute an image among a plurality of users in a manner that preserves the privacy of selected users.
[0003] Недавние достижения в области технологии визуализации и искусственного интеллекта привели к взрыву цифрового наблюдения. Для предотвращения совершения преступлений полиция традиционно использует системы видеонаблюдения в общественных местах. Камеры наблюдения также все чаще используются на частной собственности, в магазинах, офисах и школах. Данные, собранные камерами, часто дополнительно обрабатываются для извлечения различных элементов, например номерного знака транспортного средства или личности человека, изображенного на конкретном изображении.[0003] Recent advances in imaging technology and artificial intelligence have led to an explosion in digital surveillance. Police have traditionally used CCTV systems in public places to prevent crime. Surveillance cameras are also increasingly used on private property, in stores, offices, and schools. The data collected by cameras is often further processed to extract various elements, such as a vehicle’s license plate or the identity of the person depicted in a particular image.
[0004] Широкое использование таких технологий вызывает определенную озабоченность. Про-демократические активисты обвинили некоторые правительства в использовании наблюдения для преследования политических оппонентов, диссидентов, конкретных социальных и этнических групп. В последние годы общественность в целом также стала меньше принимать массовое наблюдение, все чаще рассматривая его как вторжение в частную жизнь.[0004] The widespread use of such technologies has raised some concerns. Pro-democracy activists have accused some governments of using surveillance to target political opponents, dissidents, and specific social and ethnic groups. In recent years, the public at large has also become less accepting of mass surveillance, increasingly viewing it as an invasion of privacy.
[0005] Поэтому существует значительный интерес к разработке систем и методов видеонаблюдения, обеспечивающих сохранение приватности.[0005] There is therefore considerable interest in developing privacy-preserving video surveillance systems and methods.
Раскрытие сущности изобретенияDisclosure of the essence of the invention
[0006] В соответствии с одним аспектом способ распределения персонализированных изображений, сохраняющих приватность, множеству пользователей содержит использование по меньшей мере одного аппаратного процессора сервера управления приватностью, в ответ на прием зашифрованного исходного изображения, дешифруемого с помощью ключа администрирования, для выполнения сегментации исходного изображения зашифрованного домена для получения множества специфических для пользователя зашифрованных приватных изображений. Выбранное приватное изображение содержит область исходного изображения, выбранную для отображения приватного элемента выбранного пользователя из множества пользователей, а другое приватное изображение содержит другую область исходного изображения, выбранную для отображения приватного элемента другого пользователя из множества пользователей. Способ дополнительно содержит использование по меньшей мере одного аппаратного процессора сервера управления приватностью, в ответ на сегментацию изображения, для выполнения процедуры изменения ключа зашифрованного домена для получения множества специфических для пользователя повторно зашифрованных изображений. Выбранное повторно зашифрованное изображение содержит результат преобразования выбранного приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа выбранного пользователя, а другое повторно зашифрованное изображение содержит результат преобразования другого приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа другого пользователя. Способ дополнительно содержит использование по меньшей мере одного аппаратного процессора сервера управления приватностью для передачи множества специфических для пользователя повторно зашифрованных изображений на сервер распределения изображений для дальнейшего распределения на клиентские устройства, конфигурированные для восстановления специфических для пользователя версий с открытым текстом исходного изображения.[0006] According to one aspect, a method for distributing personalized privacy-preserving images to a plurality of users comprises using at least one hardware processor of a privacy management server, in response to receiving an encrypted original image decryptable using an administration key, to perform segmentation of the original image of an encrypted domain to obtain a plurality of user-specific encrypted private images. The selected private image comprises an area of the original image selected to display a private element of the selected user from the plurality of users, and another private image comprises another area of the original image selected to display a private element of another user from the plurality of users. The method further comprises using at least one hardware processor of the privacy management server, in response to segmentation of the image, to perform a procedure for changing the key of the encrypted domain to obtain a plurality of user-specific re-encrypted images. The selected re-encrypted image comprises the result of converting the selected private image from being decryptable using the administration key to being decryptable using the private key of the selected user, and the other re-encrypted image comprises the result of converting the other private image from being decryptable using the administration key to being decryptable using the private key of another user. The method further comprises using at least one hardware processor of the privacy management server to transmit a plurality of user-specific re-encrypted images to the image distribution server for further distribution to client devices configured to restore user-specific plaintext versions of the original image.
[0007] В соответствии с другим аспектом компьютерная система содержит сервер управления приватностью, конфигурированный, в ответ на прием зашифрованного исходного изображения, дешифруемого с помощью ключа администрирования, для выполнения сегментации исходного изображения зашифрованного домена для получения множества специфических для пользователя приватных изображений. Выбранное приватное изображение содержит область исходного изображения, выбранную для отображения приватного элемента выбранного пользователя из множества пользователей, а другое приватное изображение содержит другую область исходного изображения, выбранную для отображения приватного элемента другого пользователя из множества пользователей. Сервер управления приватностью дополнительно конфигурирован, в ответ на сегментацию изображения, для выполнения процедуры изменения ключа зашифрованного домена для получения множества специфических для пользователя повторно зашифрованных изображений. Выбранное повторно зашифрованное изображение содержит результат преобразования выбранного приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа выбранного пользователя, а другое повторно зашифрованное изображение содержит результат преобразования другого приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа другого пользователя. Сервер управления приватностью дополнительно конфигурирован для передачи множества специфических для пользователя повторно зашифрованных изображений на сервер распределения изображений для дальнейшего распределения на клиентские устройства, конфигурированные для восстановления специфических для пользователя версий с открытым текстом исходного изображения.[0007] According to another aspect, a computer system comprises a privacy management server configured, in response to receiving an encrypted source image decrypted using an administration key, to perform segmentation of the source image of the encrypted domain to obtain a plurality of user-specific private images. The selected private image comprises an area of the source image selected to display a private element of the selected user from the plurality of users, and another private image comprises another area of the source image selected to display a private element of another user from the plurality of users. The privacy management server is further configured, in response to the image segmentation, to perform a procedure for changing the key of the encrypted domain to obtain a plurality of user-specific re-encrypted images. The selected re-encrypted image comprises the result of converting the selected private image from being decryptable with the administration key to being decryptable with the private key of the selected user, and the other re-encrypted image comprises the result of converting the other private image from being decryptable with the administration key to being decryptable with the private key of another user. The privacy management server is further configured to transmit the plurality of user-specific re-encrypted images to the image distribution server for further distribution to client devices configured to recover the user-specific plaintext versions of the original image.
[0008] В соответствии с другим аспектом, невременный машиночитаемый носитель хранит инструкции, которые при выполнении по меньшей мере одним аппаратным процессором сервера управления приватностью побуждают сервер управления приватностью, в ответ на прием зашифрованного исходного изображения, дешифруемого с помощью ключа администрирования, выполнять сегментацию исходного изображения зашифрованного домена для получения множества специфических для пользователя приватных изображений. Выбранное приватное изображение содержит область исходного изображения, выбранную для отображения приватного элемента выбранного пользователя из множества пользователей, а другое приватное изображение содержит другую область исходного изображения, выбранную для отображения приватного элемента другого пользователя из множества пользователей. Инструкции дополнительно побуждают сервер управления приватностью, в ответ на сегментацию изображения, выполнять процедуру изменения ключа зашифрованного домена для получения набора специфических для пользователя повторно зашифрованных изображений. Выбранное повторно зашифрованное изображение содержит результат преобразования выбранного приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа выбранного пользователя, а другое повторно зашифрованное изображение содержит результат преобразования другого приватного изображения из дешифруемого с помощью ключа администрирования в дешифруемое с помощью приватного ключа другого пользователя. Инструкции дополнительно побуждают сервер управления приватностью для передачи множества специфических для пользователя повторно зашифрованных изображений на сервер распределения изображений для дальнейшего распределения на клиентские устройства, конфигурированные для восстановления специфических для пользователя версий с открытым текстом исходного изображения.[0008] According to another aspect, a non-transitory computer-readable medium stores instructions that, when executed by at least one hardware processor of the privacy management server, cause the privacy management server, in response to receiving an encrypted source image decrypted using an administration key, to segment the source image of the encrypted domain to obtain a plurality of user-specific private images. The selected private image comprises an area of the source image selected to display a private element of the selected user from the plurality of users, and the other private image comprises another area of the source image selected to display a private element of another user from the plurality of users. The instructions further cause the privacy management server, in response to the image segmentation, to perform a procedure for changing the key of the encrypted domain to obtain a set of user-specific re-encrypted images. The selected re-encrypted image comprises the result of converting the selected private image from being decryptable with the administration key to being decryptable with the private key of the selected user, and the other re-encrypted image comprises the result of converting the other private image from being decryptable with the administration key to being decryptable with the private key of another user. The instructions further cause the privacy management server to transmit the plurality of user-specific re-encrypted images to the image distribution server for further distribution to client devices configured to recover user-specific plaintext versions of the original image.
Краткое описание чертежейBrief description of the drawings
[0009] Вышеупомянутые аспекты и преимущества настоящего изобретения станут более понятными после прочтения следующего ниже подробного описания, данного со ссылками на чертежи, на которых изображено следующее.[0009] The above mentioned aspects and advantages of the present invention will become more apparent from reading the following detailed description given with reference to the drawings, in which:
[0010] На фиг. 1 показан пример системы наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0010] Fig. 1 shows an example of a privacy-preserving surveillance system in accordance with some embodiments of the present invention.
[0011] На фиг. 2 показаны примеры компонентов датчика ввода в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0011] Fig. 2 shows examples of components of an input sensor in accordance with some embodiments of the present invention.
[0012] На фиг. 3 показаны примеры компонентов клиентского устройства в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0012] Fig. 3 shows examples of components of a client device in accordance with some embodiments of the present invention.
[0013] На фиг. 4 показаны примеры компонентов сервера распределения изображений в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0013] Fig. 4 shows examples of components of an image distribution server in accordance with some embodiments of the present invention.
[0014] На фиг. 5 показаны примеры компонентов сервера управления приватностью в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0014] Fig. 5 shows examples of components of a privacy management server in accordance with some embodiments of the present invention.
[0015] На фиг. 6 показан пример исходного изображения в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0015] Fig. 6 shows an example of a source image in accordance with some embodiments of the present invention.
[0016] На фиг. 7 проиллюстрирован пример публичного изображения, содержащегося в исходном изображении с фиг. 6, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0016] Fig. 7 illustrates an example of a public image contained in the original image of Fig. 6, in accordance with some embodiments of the present invention.
[0017] На фиг. 8 показан пример приватного изображения, содержащегося в исходном изображении с фиг. 6, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0017] Fig. 8 shows an example of a private image contained in the original image of Fig. 6, in accordance with some embodiments of the present invention.
[0018] На фиг. 9 показан пример пользовательской маски в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0018] Fig. 9 shows an example of a user mask in accordance with some embodiments of the present invention.
[0019] На фиг. 10 показан пример обмена данными, выполненного для настройки системы наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0019] Fig. 10 shows an example of data exchange performed to configure a privacy-preserving surveillance system in accordance with some embodiments of the present invention.
[0020] На фиг. 11 показан пример обмена данными, выполняемого во время работы системы наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0020] Fig. 11 shows an example of data exchange performed during operation of a privacy-preserving surveillance system in accordance with some embodiments of the present invention.
[0021] На фиг. 12 показан пример последовательности этапов, выполняемых сервером управления приватностью в вариантах осуществления изобретения, проиллюстрированных на фиг. 11.[0021] Fig. 12 shows an example of a sequence of steps performed by a privacy management server in the embodiments of the invention illustrated in Fig. 11.
[0022] На фиг. 13 показан пример обмена данными, выполняемого в альтернативном варианте осуществления настоящего изобретения.[0022] Fig. 13 shows an example of data exchange performed in an alternative embodiment of the present invention.
[0023] На фиг. 14 показан альтернативный пример последовательности этапов, выполняемых сервером управления приватностью в вариантах осуществления изобретения, проиллюстрированных на фиг. 13.[0023] Fig. 14 shows an alternative example of a sequence of steps performed by a privacy management server in the embodiments of the invention illustrated in Fig. 13.
[0024] На фиг. 15 проиллюстрирован пример последовательности этапов, выполняемых сервером распределения изображений в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0024] Fig. 15 illustrates an example of a sequence of steps performed by an image distribution server in accordance with some embodiments of the present invention.
[0025] На фиг. 16 показан пример последовательности этапов, описывающей обмен между клиентским устройством и сервером распределения в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0025] Fig. 16 shows an example of a sequence of steps describing an exchange between a client device and a distribution server in accordance with some embodiments of the present invention.
[0026] На фиг. 17-A показан пример восстановленного изображения, доступного выбранному клиентскому устройству, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0026] Fig. 17-A shows an example of a reconstructed image available to a selected client device, in accordance with some embodiments of the present invention.
[0027] На фиг. 17-B показан другой пример восстановленного изображения, доступного другому клиентскому устройству, в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0027] Fig. 17-B shows another example of a reconstructed image available to another client device, in accordance with some embodiments of the present invention.
[0028] На фиг. 18 показан пример обмена данными в варианте осуществления настоящего изобретения, конфигурированного для выполнения выбранной задачи с сохранением приватности.[0028] Fig. 18 shows an example of data exchange in an embodiment of the present invention configured to perform a selected task while maintaining privacy.
[0029] На фиг. 19 проиллюстрирован пример аппаратной конфигурации вычислительного устройства, конфигурированного для выполнения операций в соответствии с некоторыми вариантами осуществления настоящего изобретения.[0029] Fig. 19 illustrates an example of a hardware configuration of a computing device configured to perform operations in accordance with some embodiments of the present invention.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION
[0030] Следует понимать, что в нижеследующем описании все перечисленные соединения между структурами могут быть прямыми функциональными соединениями или непрямыми функциональными соединениями через промежуточные структуры. Набор элементов включает в себя один или более элементов. Считается, что любое упоминание элемента относится по меньшей мере к одному элементу. Множество элементов включает в себя по меньшей мере два элемента. Если не указано иное, любое использование «ИЛИ» относится к неисключительному или. Если не требуется иное, любые описанные этапы способа не обязательно должны выполняться в конкретном проиллюстрированном порядке. Первый элемент (например, данные), полученный из второго элемента, включает в себя первый элемент, равный второму элементу, а также первый элемент, сгенерированный обработкой второго элемента и, опционально, других данных. Принятие определения или решения в соответствии с параметром включает в себя принятие определения или решения в соответствии с параметром и, опционально, в соответствии с другими данными. Если не указано иное, индикатором некоторого количества/данных может быть само количество/данные или индикатор, отличный от самого количества/данных. Компьютерная программа - это последовательность инструкций процессора, выполняющих задачу. Компьютерные программы, описанные в некоторых вариантах осуществления настоящего изобретения, могут быть автономными объектами программного обеспечения или подобъектами (например, подпрограммами, библиотеками) других компьютерных программ. Термин «база данных» используется в данном документе для обозначения любого структурированного набора данных. Выполнение процедуры/операции зашифрованного домена в данном документе означает выполнение соответствующей процедуры/операции в зашифрованном домене, то есть непосредственно на зашифрованном вводе для получения зашифрованного вывода способом, который не включает в себя дешифрование ввода. Процедура зашифрованного домена отличается от процедуры, которая дешифрует ввод, а затем шифрует вывод соответствующей процедуры. Если не указано иное, объект, осуществляющий процедуру/операцию зашифрованного домена над зашифрованным элементом, не должен быть осведомлен о версии с открытым текстом соответствующего элемента. Машиночитаемые носители включают в себя невременные носители, такие как магнитные, оптические и полупроводниковые носители данных (например, жесткие диски, оптические диски, флэш-память, DRAM), а также каналы связи, такие как проводящие кабели и оптоволоконные линии. Согласно некоторым вариантам осуществления настоящее изобретение обеспечивает, среди прочего, компьютерные системы, содержащие аппаратные средства (например, один или более процессоров), запрограммированные для выполнения описанных здесь способов, а также машиночитаемые инструкции кодирования мультимедиа для выполнения описанных здесь способов.[0030] It should be understood that in the following description, all listed connections between structures can be direct functional connections or indirect functional connections through intermediate structures. A set of elements includes one or more elements. Any reference to an element is considered to refer to at least one element. A plurality of elements includes at least two elements. Unless otherwise specified, any use of "OR" refers to a non-exclusive or. Unless otherwise required, any described method steps do not necessarily have to be performed in the specific illustrated order. A first element (e.g., data) obtained from a second element includes a first element equal to the second element, as well as a first element generated by processing the second element and, optionally, other data. Making a determination or decision in accordance with a parameter includes making a determination or decision in accordance with the parameter and, optionally, in accordance with other data. Unless otherwise specified, an indicator of a quantity/data may be the quantity/data itself or an indicator different from the quantity/data itself. A computer program is a sequence of processor instructions that perform a task. The computer programs described in some embodiments of the present invention may be stand-alone software objects or sub-objects (e.g., routines, libraries) of other computer programs. The term "database" is used herein to denote any structured collection of data. Executing an encrypted domain procedure/operation herein means executing the corresponding procedure/operation in the encrypted domain, i.e., directly on the encrypted input to obtain an encrypted output in a manner that does not involve decrypting the input. An encrypted domain procedure is distinct from a procedure that decrypts the input and then encrypts the output of the corresponding procedure. Unless otherwise specified, an entity executing an encrypted domain procedure/operation on an encrypted item does not have to be aware of the plaintext version of the corresponding item. Machine-readable media include non-transitory media such as magnetic, optical and semiconductor storage media (e.g., hard disks, optical disks, flash memory, DRAM), as well as communication channels such as conductive cables and fiber optic lines. According to some embodiments, the present invention provides, among other things, computer systems comprising hardware (e.g., one or more processors) programmed to perform the methods described herein, as well as machine-readable multimedia encoding instructions for performing the methods described herein.
[0031] Нижеследующее описание иллюстрирует варианты осуществления изобретения в качестве примера, а не обязательно в качестве ограничения.[0031] The following description illustrates embodiments of the invention by way of example and not necessarily limitation.
[0032] На фиг. 1 показан пример системы 10 наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения. Термин «наблюдение» используется в данном документе только для того, чтобы внести ясность в раскрытие посредством сосредоточения внимания на конкретном примерном случае использования, и не ограничивается типичной деятельностью по наблюдению, такой как предотвращение преступности. Хотя следующее описание будет сосредоточено на примере видеонаблюдения, раскрытые системы и способы могут быть адаптированы к другим приложениям, таким как сохранение приватности и/или обеспечение конфиденциальности во время сотрудничества между несколькими сторонами, работающими над одним и тем же документом, предотвращение киберзапугивания, совершаемого посредством онлайн-сообщений, и т. д.[0032] Fig. 1 shows an example of a privacy-preserving surveillance system 10 in accordance with some embodiments of the present invention. The term "surveillance" is used herein only to clarify the disclosure by focusing on a specific example use case, and is not limited to typical surveillance activities such as crime prevention. Although the following description will focus on the example of video surveillance, the disclosed systems and methods can be adapted to other applications, such as maintaining privacy and/or ensuring confidentiality during collaboration between multiple parties working on the same document, preventing cyberbullying committed via online messages, etc.
[0033] Система 10 включает в себя, среди прочего, датчик 14 ввода, сервер 30 распределения, сервер 40 управления приватностью и множество клиентских устройств 12a-c, все из которых соединены с возможностью связи посредством сети 15, которая может включать в себя Интернет.[0033] The system 10 includes, among other things, an input sensor 14, a distribution server 30, a privacy management server 40, and a plurality of client devices 12a-c, all of which are communicatively connected via a network 15, which may include the Internet.
[0034] Датчик 14 (например, камера, микрофон и т. д.) выполнен с возможностью получения сигнала (например, кодирования изображения и/или звука), которым дополнительно манипулируют и преобразуют, как описано ниже. В примере видеонаблюдения датчик 14 может содержать видеокамеру, расположенную для получения изображений общественного пространства, такого как школьный двор, рыночная площадь и т. д. Таким образом, датчик 14 может содержать аппаратные и/или программные средства для получения сигнала (например, устройство с зарядовой связью - датчик освещения ПЗС), машиночитаемые носители для хранения полученного сигнала и средства для передачи соответствующего сигнала (например, аппаратные средства связи физического уровня, кодеры, антенны и т. д.). На фиг. 2 показаны другие примеры компонентов датчика 14 ввода, которые могут содержать специальные программные модули в соответствии с некоторыми вариантами осуществления настоящего изобретения. Криптографический механизм 16 шифрует полученные изображения/звуковые записи. Модуль 18 связи дополнительно передает полученные зашифрованные сигналы на сервер 40 управления приватностью и/или сервер 30 распределения изображений, как подробно описано ниже.[0034] The sensor 14 (e.g., a camera, a microphone, etc.) is configured to receive a signal (e.g., encode an image and/or sound), which is further manipulated and transformed as described below. In the example of video surveillance, the sensor 14 may comprise a video camera positioned to receive images of a public space, such as a school yard, a market square, etc. Thus, the sensor 14 may comprise hardware and/or software for receiving a signal (e.g., a charge-coupled device - a CCD illumination sensor), machine-readable media for storing the received signal, and means for transmitting the corresponding signal (e.g., physical layer communication hardware, encoders, antennas, etc.). Fig. 2 shows other examples of components of the input sensor 14, which may comprise special software modules according to some embodiments of the present invention. The cryptographic engine 16 encrypts the received images/sound recordings. The communication module 18 further transmits the received encrypted signals to the privacy management server 40 and/or the image distribution server 30, as described in detail below.
[0035] В некоторых вариантах осуществления изобретения криптографический механизм 16 шифрует данные в соответствии с гомоморфной схемой шифрования. Гомоморфное шифрование - это конкретный вид шифрования, который позволяет выполнять определенные вычисления, такие как сложение и/или умножение зашифрованных данных, при этом дешифрование результата таких вычислений производит такой же вывод, как и применение соответствующих вычислений к версии с открытым текстом тех же данных. Другими словами, если Enc(p) = c обозначает гомоморфную операцию шифрования, где p обозначает сообщение с открытым текстом, а c обозначает соответствующий ему зашифрованный текст, Dec(c) = p обозначает гомоморфную операцию дешифрования, которая восстанавливает соответствующее сообщение с открытым текстом из своего зашифрованного текста, и Eval (F, {c1, …, ck}) = C обозначает гомоморфную процедуру оценки, создающую зашифрованный текст C, применяя функцию F к набору зашифрованных текстов ci, то:[0035] In some embodiments of the invention, the cryptographic engine 16 encrypts data according to a homomorphic encryption scheme. Homomorphic encryption is a particular type of encryption that allows certain computations, such as addition and/or multiplication, to be performed on encrypted data, wherein decrypting the result of such computation produces the same output as applying the corresponding computation to the plaintext version of the same data. In other words, if Enc(p) = c denotes a homomorphic encryption operation, where p denotes a plaintext message and c denotes its corresponding ciphertext, Dec(c) = p denotes a homomorphic decryption operation that recovers the corresponding plaintext message from its ciphertext, and Eval(F, {c 1 , …, c k }) = C denotes a homomorphic evaluation procedure that produces a ciphertext C by applying a function F to a set of ciphertexts c i , then:
где pi=Dec(ci), i=1, …, k. В формальном математическом языке говорят, что процедуры шифрования и дешифрования гомоморфной схемы шифрования являются гомоморфизмами между пространством с открытым текстом и пространством зашифрованного текста.where p i =Dec(c i ), i=1, …, k. In formal mathematical language, we say that the encryption and decryption procedures of a homomorphic encryption scheme are homomorphisms between the plaintext space and the ciphertext space.
[0036] В данной области техники известно несколько гомоморфных схем шифрования/криптосистем. Схемы, которые сохраняют гомоморфное свойство над любой комбинацией сложений и умножений, широко известны как полностью гомоморфные. В качестве примера можно привести, в частности, схему Джентри-Сахаи-Уотерс (GSW). Другие схемы/алгоритмы являются гомоморфными только для определенного типа операции, например, только сложение в случае схемы Пайе, и только умножение в случае схемы Ривеста-Шамира-Адельмана (RSA). Такие схемы известны в данной области техники как частично гомоморфные. Напротив, шифры, которые не имеют гомоморфного свойства, описанного выше, в настоящем документе считаются негомоморфными. Примеры негомоморфных шифров включают Расширенный стандарт шифрования (AES), используемый в некоторых протоколах связи безопасности транспортного уровня (TLS).[0036] Several homomorphic encryption schemes/cryptosystems are known in the art. Schemes that preserve the homomorphic property over any combination of additions and multiplications are widely known as fully homomorphic. An example is the Gentry-Sahai-Waters (GSW) scheme. Other schemes/algorithms are homomorphic only for a certain type of operation, such as only addition in the case of the Paillier scheme, and only multiplication in the case of the Rivest-Shamir-Adelman (RSA) scheme. Such schemes are known in the art as partially homomorphic. In contrast, ciphers that do not have the homomorphic property described above are considered non-homomorphic herein. Examples of non-homomorphic ciphers include the Advanced Encryption Standard (AES) used in some Transport Layer Security (TLS) communication protocols.
[0037] Клиентские устройства 12a-c в общем случае представляют собой любое электронное устройство конечного пользователя, такое как персональный компьютер, смартфон, телевизор и т. д., используемое для доступа и/или обработки (например, визуализации, воспроизведения и т. д.) данных, предоставляемых датчиком 14 ввода. В некоторых вариантах осуществления изобретения, проиллюстрированных на фиг. 3, клиентское устройство 12 может выполнять программное приложение 22 для наблюдения, конфигурированное для выполнения обмена аутентификацией пользователя (например, процедуры регистрации) с сервером 30 распределения и последующего отображения восстановленного изображения пользователю. Механизм 24 восстановления данных выполнен с возможностью восстановления изображения из набора публичных изображений с открытым текстом и набора зашифрованных приватных изображений, как описано ниже. Криптографический механизм 26 клиента выполнен с возможностью дешифрования полученного зашифрованного приватного изображения (изображений). В некоторых вариантах осуществления изобретения механизм 26 реализует гомоморфный алгоритм дешифрования.[0037] Client devices 12a-c generally represent any end-user electronic device, such as a personal computer, a smartphone, a television, etc., used to access and/or process (e.g., render, play, etc.) data provided by input sensor 14. In some embodiments of the invention, illustrated in Fig. 3, client device 12 may execute surveillance software application 22 configured to perform user authentication exchange (e.g., registration procedure) with distribution server 30 and then display a reconstructed image to the user. Data reconstruction engine 24 is configured to reconstruct the image from a set of public plaintext images and a set of encrypted private images, as described below. Client cryptographic engine 26 is configured to decrypt the received encrypted private image(s). In some embodiments of the invention, engine 26 implements a homomorphic decryption algorithm.
[0038] Каждый из сервера 30 распределения и сервера 40 управления приватностью в общем случае представляет собой набор взаимосвязанных компьютерных систем, которые могут находиться или не находиться в физической близости друг от друга. Примеры компонентов серверов 30 и 40 показаны на фиг. 4 и 5, соответственно. В некоторых вариантах осуществления изобретения такие компоненты представляют собой компьютерные программы (программное обеспечение), выполняемые по меньшей мере на аппаратном процессоре. Не все проиллюстрированные компоненты должны выполняться на одном и том же аппаратном процессоре или физической машине. Специалисту в данной области техники будет понятно, что в альтернативных вариантах осуществления некоторые из проиллюстрированных компонентов могут быть реализованы в специальном аппаратном обеспечении, таком как специфические для приложения интегральные схемы (ASIC) и/или программируемые пользователем вентильные матрицы (FPGA), во встроенном программном обеспечении, в комбинации вышеизложенного.[0038] Each of the distribution server 30 and the privacy management server 40 generally represents a set of interconnected computer systems that may or may not be in physical proximity to one another. Examples of components of the servers 30 and 40 are shown in Figs. 4 and 5, respectively. In some embodiments of the invention, such components are computer programs (software) running on at least a hardware processor. Not all of the illustrated components need to run on the same hardware processor or physical machine. One skilled in the art will understand that in alternative embodiments, some of the illustrated components may be implemented in special hardware, such as application-specific integrated circuits (ASICs) and/or field-programmable gate arrays (FPGAs), in firmware, in a combination of the above.
[0039] В некоторых вариантах осуществления изобретения сервер 30 распределения управляет службой наблюдения, включая, например, связь с клиентскими устройствами 12a-c для регистрации и/или аутентификации пользователя, а также распределение выборочно зашифрованных данных на каждое клиентское устройство. Без потери общности, сервер 30 в данном документе может называться сервером распределения изображений, то есть сервером, конфигурированным для распределения изображений (например, видео) клиентам. Специалисту будет понятно, что в зависимости от фактического варианта осуществления и варианта использования сервер 30 может распределять другие виды данных, такие как аудио, электронные документы и т. д. Компонент 32 менеджера пользователя может управлять набором данных пользователя и/или учетной записи (имена пользователей, пароли, различные параметры соглашения об обслуживании и т. д.) и предоставлять пользовательские интерфейсы для регистрации пользователя и управления учетной записью.[0039] In some embodiments of the invention, the distribution server 30 manages the monitoring service, including, for example, communication with the client devices 12a-c for registration and/or authentication of the user, as well as distribution of selectively encrypted data to each client device. Without loss of generality, the server 30 can be referred to herein as an image distribution server, that is, a server configured to distribute images (e.g., video) to clients. It will be understood by one skilled in the art that, depending on the actual embodiment and use case, the server 30 can distribute other types of data, such as audio, electronic documents, etc. The user manager component 32 can manage a set of user and/or account data (user names, passwords, various service agreement parameters, etc.) and provide user interfaces for user registration and account management.
[0040] Компонент 38 менеджера доступа может выборочно хранить и/или извлекать данные в/из хранилища 20 данных и выборочно пересылать такие данные на каждое клиентское устройство 12a-c в соответствии с идентификатором пользователя, в настоящее время аутентифицированного на соответствующем клиентском устройстве. Менеджер 38 доступа может содержать, среди прочего, веб-сервер.[0040] The access manager component 38 may selectively store and/or retrieve data in/from the data store 20 and selectively forward such data to each client device 12a-c in accordance with the identifier of the user currently authenticated on the corresponding client device. The access manager 38 may comprise, among other things, a web server.
[0041] Менеджер 34 криптографических ключей может инициировать и/или выполнять процедуру генерации ключей и обмена ими с клиентскими устройствами 12a-c и сервером 40 управления приватностью. Менеджер 34 ключей может дополнительно генерировать набор маркеров повторного шифрования прокси и выборочно связывать каждый такой маркер с зарегистрированным пользователем службы наблюдения и/или с клиентским устройством 12a-c. Более подробная информация о таких процессах приводится ниже.[0041] The cryptographic key manager 34 may initiate and/or perform a procedure for generating keys and exchanging them with the client devices 12a-c and the privacy management server 40. The key manager 34 may further generate a set of proxy re-encryption tokens and selectively associate each such token with a registered user of the monitoring service and/or with a client device 12a-c. More detailed information about such processes is provided below.
[0042] Криптографический механизм 36 администрирования может быть выполнен с возможностью выполнения операций шифрования и/или дешифрования данных, как описано ниже. Механизм 36 может реализовывать версию гомоморфного алгоритма шифрования/дешифрования.[0042] The cryptographic administration mechanism 36 may be configured to perform encryption and/or decryption operations of data, as described below. The mechanism 36 may implement a version of a homomorphic encryption/decryption algorithm.
[0043] В некоторых вариантах осуществления изобретения хранилище 20 данных может содержать машиночитаемый носитель данных, конфигурированный для хранения базы данных приватных и публичных данных. Публичные данные могут содержать любые данные, доступные для всех пользователей, например, изображение с открытым текстом (т. е. незашифрованное). Приватные данные могут быть доступны и/или дешифрованы только выбранными пользователями. Примеры приватных данных включают в себя специфические для пользователя и составные изображения, зашифрованные прокси, как показано ниже. Такие данные могут быть проиндексированы в соответствии с пользователем для обеспечения возможности выборочной вставки и извлечения. Индексирование может принимать любую форму, известную в данной области техники.[0043] In some embodiments of the invention, the data store 20 may comprise a machine-readable storage medium configured to store a database of private and public data. Public data may comprise any data that is accessible to all users, such as a plaintext (i.e., unencrypted) image. Private data may be accessible and/or decryptable only by selected users. Examples of private data include user-specific and composite images encrypted by a proxy, as shown below. Such data may be indexed according to the user to allow selective insertion and retrieval. Indexing may take any form known in the art.
[0044] В некоторых вариантах осуществления сервер 40 управления приватностью (фиг. 5) предоставляет такие сервисы, как криптография и автоматическое обнаружение приватных/конфиденциальных элементов в данных, предоставляемых датчиком 14 ввода. Механизм 46 повторного шифрования сервера 40 выполнен с возможностью выполнения процедур замены ключа на зашифрованные данные, как показано более подробно ниже. Процедура замены ключа в данном документе обозначает процедуру преобразования зашифрованного текста из дешифруемого с помощью одного ключа в дешифруемый с помощью другого ключа. Один пример процедуры замены ключа известен в данной области техники как повторное шифрование прокси, которое позволяет объекту Z, учитывая некоторую информацию о другом объекте Y, изменять зашифрованный текст, зашифрованный под публичным ключом, объекта X, тем самым делая его дешифруемым объектом Y. Иначе говоря, объект Y может дешифровать зашифрованный текст, зашифрованный под публичным ключом X, с использованием своего собственного секретного ключа, но только после того, как соответствующий зашифрованный текст был зашифрован прокси объектом Z с использованием ключа повторного шифрования (также известного в данной области техники как маркер повторного шифрования), специфичного для объекта Y. Если перевести эту общую схему к примерным субъектам, проиллюстрированным на фиг. 1, то некоторые варианты осуществления сервера 40 управления приватностью повторно шифруют с помощью прокси данные, уже зашифрованные с помощью публичного ключа сервера 30 распределения, чтобы сделать соответствующие данные дешифруемыми выбранным пользователем клиентского устройства 12a-c. Процедура повторного шифрования с помощью прокси использует маркер повторного шифрования, специфичный для соответствующего пользователя и/или устройства, например, маркер, сгенерированный в соответствии с публичным ключом шифрования соответствующего использования/устройства.[0044] In some embodiments, the privacy management server 40 (FIG. 5) provides services such as cryptography and automatic detection of private/sensitive elements in data provided by the input sensor 14. The re-encryption engine 46 of the server 40 is configured to perform key replacement procedures on encrypted data, as shown in more detail below. The key replacement procedure herein refers to a procedure for converting ciphertext from being decryptable with one key to being decryptable with another key. One example of a key replacement procedure is known in the art as proxy re-encryption, which allows an entity Z, given some information about another entity Y, to change the ciphertext encrypted under the public key of an entity X, thereby making it decryptable by entity Y. In other words, entity Y can decrypt the ciphertext encrypted under the public key of X using its own secret key, but only after the corresponding ciphertext has been encrypted by the proxy entity Z using a re-encryption key (also known in the art as a re-encryption token) specific to entity Y. Translating this general scheme to the example entities illustrated in Fig. 1, some embodiments of the privacy management server 40 re-encrypt with the proxy data already encrypted with the public key of the distribution server 30 to make the corresponding data decryptable by a selected user of the client device 12a-c. The re-encryption procedure using a proxy uses a re-encryption token specific to the relevant user and/or device, such as a token generated in accordance with the public encryption key of the relevant use/device.
[0045] В некоторых вариантах осуществления механизм 46 повторного шифрования работает в зашифрованном домене, то есть соответствующие процедуры замены ключа выполняются без дешифрования ввода. Для достижения замен ключа в зашифрованном домене некоторые варианты осуществления механизма 46 реализуют алгоритмы повторного шифрования прокси, которые совместимы с гомоморфными алгоритмами шифрования/дешифрования, реализуемыми клиентскими устройствами 12a-c, сервером 30 распределения и/или датчиком 14 ввода. Такие алгоритмы выходят за рамки настоящего описания; несколько таких примеров известны в области криптографии, например, библиотека кода PALISADE, доступная по адресу https://gitlab.com/palisade/palisade-development.[0045] In some embodiments, the re-encryption engine 46 operates in an encrypted domain, i.e., the corresponding key replacement procedures are performed without decrypting the input. To achieve key replacements in an encrypted domain, some embodiments of the engine 46 implement proxy re-encryption algorithms that are compatible with the homomorphic encryption/decryption algorithms implemented by the client devices 12a-c, the distribution server 30, and/or the input sensor 14. Such algorithms are beyond the scope of the present description; several such examples are known in the field of cryptography, such as the PALISADE code library available at https://gitlab.com/palisade/palisade-development.
[0046] Набор детекторов 42 элементов может быть выполнен с возможностью определения, содержат ли данные ввода, полученные от датчика 14 (например, кадр, захваченный камерой наблюдения), представление приватного/конфиденциального элемента, связанного с выбранным пользователем. Примеры приватных элементов включают в себя, среди прочего, человека, лицо или какую-либо другую часть тела, логотип/товарный знак, номерной знак автомобиля, банковскую карту, удостоверение личности (например, водительские права, паспорт), рукописный текст и подпись человека. В вариантах осуществления изобретения, конфигурированных для работы со звуком, примеры приватных элементов могут содержать любой элемент, позволяющий идентифицировать человека, например, любое качество голоса, такое как тембр, штробас, высота тона, темп, модуляция и т. д. Другие примеры приватных звуковых элементов включают в себя произнесение имени и выбранного слова (например, ненормативная лексика, расовое оскорбление и т. д.), выстрел, звук словесной перепалки и т. д. В вариантах осуществления, выполненных с возможностью обработки текстовых документов и/или электронных сообщений, примеры приватных элементов включают в себя написанные имена, адреса, финансовую информацию, такую как номера кредитных карт и т. д. Другие примеры включают в себя, среди прочего, текст, написанный выбранным автором, текст, написанный по выбранной теме, и текст, написанный в выбранном стиле или передающий выбранные настроения.[0046] The set of element detectors 42 may be configured to determine whether the input data received from the sensor 14 (e.g., a frame captured by a surveillance camera) contains a representation of a private/confidential element associated with a selected user. Examples of private elements include, among other things, a person, a face or some other part of the body, a logo/trademark, a license plate number, a bank card, an identity card (e.g., a driver's license, a passport), handwritten text, and a person's signature. In embodiments of the invention configured to work with sound, examples of private elements may comprise any element that allows identifying a person, such as any quality of voice, such as timbre, bass, pitch, tempo, modulation, etc. Other examples of private sound elements include the pronunciation of a name and a selected word (e.g., profanity, racial slur, etc.), a gunshot, the sound of a verbal altercation, etc. In embodiments configured to process text documents and/or electronic messages, examples of private elements include written names, addresses, financial information such as credit card numbers, etc. Other examples include, among other things, text written by a selected author, text written on a selected topic, and text written in a selected style or conveying selected sentiments.
[0047] Приватные объекты могут быть специфическими для пользователя. Например, в сценарии использования наблюдения за школьным двором каждый родитель может определить своего собственного ребенка как приватный элемент, так что соответствующий ребенок может быть виден только соответствующему родителю. В некоторых вариантах осуществления несколько пользователей могут совместно использовать приватный элемент и/или один пользователь может иметь несколько приватных элементов. В одном таком примере все члены конкретной группы пользователей (например, родители детей 3-го класса) могут иметь возможность видеть лица сверстников своего ребенка, но другие пользователи не могут.[0047] Private objects may be specific to a user. For example, in a schoolyard surveillance use case, each parent may define their own child as a private item, so that the corresponding child may only be visible to the corresponding parent. In some embodiments, multiple users may share a private item and/or one user may have multiple private items. In one such example, all members of a particular user group (e.g., parents of 3rd grade children) may be able to see the faces of their child's peers, but other users may not.
[0048] На фиг. 6 показан пример исходного изображения 70, полученного от камеры наблюдения (датчик 14 ввода), на котором показаны примеры приватных/конфиденциальных элементов, включающие в себя человека (например, детей 72a-b), лицо 72c и конкретный объект 72d. На фиг. 7-8 показаны примеры публичных и приватных изображений, содержащихся в примере исходного изображения 70. В некоторых вариантах осуществления приватное изображение содержит представление (например, массив чисел) приватного/конфиденциального элемента. В примере с фиг. 8 приватное изображение 76a содержит область исходного изображения, отображающую приватный элемент 72a на фиг. 6. В свою очередь, публичное изображение 74 (фиг. 7) может содержать другую область исходного изображения 70, которая не отображает какой-либо приватный элемент. Например, публичное изображение 74 может отображать все содержимое исходного изображения 70, которое не является приватным. Пример публичного изображения включает в себя фон сцены (пейзаж, здания, деревья, двор, небо и т. д.) В некоторых вариантах осуществления публичное изображение 74 и/или приватное изображение (изображения) 76a представлены в виде массивов чисел, имеющих тот же размер, что и исходное изображение 70.[0048] Fig. 6 shows an example of an original image 70 obtained from a surveillance camera (input sensor 14), which shows examples of private/confidential elements, including a person (e.g., children 72a-b), a face 72c, and a specific object 72d. Figs. 7-8 show examples of public and private images contained in the example of the original image 70. In some embodiments, the private image contains a representation (e.g., an array of numbers) of a private/confidential element. In the example of Fig. 8, the private image 76a contains an area of the original image that displays the private element 72a in Fig. 6. In turn, the public image 74 (Fig. 7) may contain another area of the original image 70 that does not display any private element. For example, the public image 74 may display all of the contents of the original image 70 that are not private. An example of a public image includes a background of a scene (landscape, buildings, trees, yard, sky, etc.). In some embodiments, the public image 74 and/or private image(s) 76a are represented as arrays of numbers having the same size as the original image 70.
[0049] Детекторы 42 элементов могут быть сконструированы с использованием любого способа, известного в данной области техники. Например, пример детектора 42 элементов может содержать систему 43а искусственного интеллекта (ИИ), такую как набор искусственных нейронных сетей, предварительно обученных для идентификации экземпляра соответствующего приватного элемента в исходном изображении. Примеры системы 43а искусственного интеллекта включают в себя, среди прочего, модуль распознавания лиц и модуль сегментации изображения. Структура и обучение таких детекторов элементов выходят за рамки настоящего описания; в данной области техники известны несколько архитектур и стратегий обучения.[0049] The element detectors 42 may be constructed using any method known in the art. For example, an example of the element detector 42 may comprise an artificial intelligence (AI) system 43a, such as a set of artificial neural networks pre-trained to identify an instance of a corresponding private element in a source image. Examples of the artificial intelligence system 43a include, among other things, a face recognition module and an image segmentation module. The structure and training of such element detectors are beyond the scope of the present description; several architectures and training strategies are known in the art.
[0050] В варианте осуществления обработки изображения пример детектора 42 элементов может принимать исходное изображение 70 и выводить пользовательскую маску, указывающую на область исходного изображения, которая отображает представление приватного элемента (например, область исходного изображения, которая отображает лицо конкретного человека). На фиг. 9 показан пример пользовательской маски 80a, связанной с приватным элементом 72a с фиг. 6. Пример пользовательской маски характеризуется поднабором пикселей, принадлежащих изображению соответствующего приватного элемента. Другой пример пользовательской маски содержит все пиксели, расположенные внутри смежной области исходного изображения 70, причем область отображает приватный элемент. Например, в варианте осуществления, проиллюстрированном на фиг. 9, такая область может быть определена как внутренняя часть многоугольника (например, выпуклая оболочка, ограничительная рамка и т. д.), окружающего изображение приватного элемента. Удобное машиночитаемое кодирование пользовательской маски содержит разреженный массив чисел, причем массив имеет тот же размер, что и исходное изображение 70, при этом все элементы равны нулю, за исключением элементов, соответствующих пикселям маски. Множество пользовательских масок могут быть связаны с одним пользователем (т. е. с одним маркером повторного шифрования, см. ниже). Некоторые пользовательские маски могут перекрываться.[0050] In an embodiment of image processing, an example of an element detector 42 may receive an original image 70 and output a custom mask indicating a region of the original image that displays a representation of a private item (e.g., a region of the original image that displays a face of a particular person). Fig. 9 shows an example of a custom mask 80a associated with a private item 72a from Fig. 6. The example of a custom mask is characterized by a subset of pixels belonging to an image of a corresponding private item. Another example of a custom mask contains all pixels located within an adjacent region of the original image 70, where the region displays a private item. For example, in the embodiment illustrated in Fig. 9, such a region may be defined as the interior of a polygon (e.g., a convex hull, a bounding box, etc.) surrounding the image of the private item. A convenient machine-readable encoding of a user mask comprises a sparse array of numbers, the array having the same size as the original image 70, with all elements equal to zero except for the elements corresponding to the mask pixels. Multiple user masks may be associated with a single user (i.e., a single re-encryption token, see below). Some user masks may overlap.
[0051] В некоторых вариантах осуществления детекторы 42 работают в зашифрованном домене, то есть без дешифрования исходных изображений. Для достижения такой операции зашифрованного домена, система 43a ИИ (например, нейронная сеть, реализующая распознавание лиц) может быть намеренно структурирована так, чтобы быть совместимой с гомоморфными схемами шифрования. Например, детектор(ы) 42 может принимать гомоморфно зашифрованное исходное изображение и в ответ выводить гомоморфно зашифрованную пользовательскую маску, при этом пользовательская маска шифруется с использованием того же ключа шифрования, что и используемый для шифрования исходного изображения. В данной области техники было описано несколько таких систем ИИ. Примеры включают CryptoNets, описанные в N. Dowlin et al., "CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy", Proceedings of the 33rd International Conference on Machine Learning, New York, NY, 2016, JMLR: W&CP vol. 48. В одном таком примере система 43a ИИ включает в себя нейронную сеть, в которой выбранные слои эквивалентны полиномам заданной степени, и в которой типичные нелинейные функции активации, такие как линейные блоки выпрямителя (ReLU), заменяются полиномиальными приближениями.[0051] In some embodiments, the detectors 42 operate in an encrypted domain, i.e., without decrypting the original images. To achieve such an encrypted domain operation, the AI system 43a (e.g., a neural network implementing face recognition) may be intentionally structured to be compatible with homomorphic encryption schemes. For example, the detector(s) 42 may receive a homomorphically encrypted original image and output a homomorphically encrypted user mask in response, wherein the user mask is encrypted using the same encryption key as that used to encrypt the original image. Several such AI systems have been described in the art. Examples include CryptoNets, described in N. Dowlin et al., "CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy," Proceedings of the 33rd International Conference on Machine Learning, New York, NY, 2016, JMLR: W&CP vol. 48. In one such example, an AI system 43a includes a neural network in which selected layers are equivalent to polynomials of a given degree, and in which typical nonlinear activation functions such as rectifier linear units (ReLUs) are replaced by polynomial approximations.
[0052] В некоторых вариантах осуществления система 43a ИИ предварительно обучается системой 11 обучения ИИ (например, алгоритмами машинного обучения, выполняемыми на процессоре), используя обучающие данные, предоставленные или иным образом указанные каждым пользователем. В одном таком примере, при регистрации в службе, каждый пользователь может предоставить образец представления конфиденциального элемента (элементов) соответствующего пользователя, такого как изображение лица или образец голоса человека. Некоторые варианты осуществления могут затем обучать систему 43а ИИ для идентификации представлений соответствующих приватных элементов в потоке данных, полученном от датчика 14 ввода. Соответствующим примером является обучающее программное обеспечение для распознавания лиц на целевых лицах, предоставляемое каждым пользователем. Обучение производит набор оптимизированных значений 45а параметров детектора, которые передаются детектору (детекторам) 42 элемента. В варианте осуществления нейронной сети, примеры параметров 45A включают в себя, среди прочего, набор весов синапсов и смещений нейронов.[0052] In some embodiments, the AI system 43a is pre-trained by the AI training system 11 (e.g., machine learning algorithms running on a processor) using training data provided or otherwise specified by each user. In one such example, when registering with the service, each user may provide a sample representation of a private element(s) of the corresponding user, such as an image of a face or a sample of a person's voice. Some embodiments may then train the AI system 43a to identify representations of the corresponding private elements in the data stream received from the input sensor 14. A corresponding example is training software for recognizing faces on target faces provided by each user. The training produces a set of optimized values 45a of the detector parameters, which are passed to the element detector(s) 42. In an embodiment of a neural network, examples of the parameters 45A include, among other things, a set of synapse weights and neuron biases.
[0053] На фиг. 10 показан пример обмена, выполняемого для инициализации/настройки службы наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения. В проиллюстрированном примере сервер 30 распределения выполняет процедуру генерации ключа для получения пары гомоморфных ключей шифрования, специфических для сервера 30 распределения (здесь и далее именуемых ключами администрирования), и передает публичный ключ 52 пары на датчик 14 ввода для использования при шифровании полученных сигналов/изображения (изображений). Сервер 30 дополнительно взаимодействует с протоколом генерации ключей и/или обмена ключами с клиентским устройством 12 (в общем случае представляющим любое из клиентских устройств 12a-c на фиг. 1), при этом устройство 12 генерирует отдельную пару ключей шифрования, специфических для каждого пользователя, обращающегося к службе наблюдения, сохраняющей приватность, через клиентское устройство 12 (в настоящем документе именуемые ключами пользователя). Альтернативный вариант осуществления может генерировать ключи шифрования, специфические для устройства. Генерация ключа пользователя и/или устройства может происходить при регистрации как часть процедур первоначальной настройки службы каждого пользователя и может выполняться в соответствии с гомоморфным алгоритмом генерации ключа шифрования. Клиентское устройство 12 затем отправляет публичный ключ(и) пользователя 54 на сервер 30 распределения. В ответ на получение ключа (ключей) 54, менеджер 34 ключей может генерировать набор маркеров повторного шифрования прокси 50, однозначно связанных с каждым пользователем и/или клиентским устройством. Некоторые варианты осуществления генерируют каждый набор специфических для пользователя маркеров 50 в соответствии с публичным ключом, связанным с соответствующим пользователем/устройством, и в соответствии с ключом администрирования, с помощью алгоритма генерации маркеров, который совместим с гомоморфным алгоритмом шифрования, используемым клиентским устройством 12 для генерации ключей пользователя/устройства. Такие протоколы/процедуры генерации ключей выходят за рамки настоящего описания; в области криптографии известны несколько примеров. Затем маркеры 50 повторного шифрования передаются на сервер 40 управления приватностью для использования в повторном шифровании прокси специфических для пользователя приватных изображений, как подробно описано ниже.[0053] Fig. 10 shows an example of an exchange performed to initialize/configure a privacy-preserving surveillance service in accordance with some embodiments of the present invention. In the illustrated example, the distribution server 30 performs a key generation procedure to obtain a pair of homomorphic encryption keys specific to the distribution server 30 (hereinafter referred to as administration keys) and transmits a public key 52 of the pair to the input sensor 14 for use in encrypting the received signals/image(s). The server 30 further interacts with a key generation and/or key exchange protocol with the client device 12 (generally representing any of the client devices 12a-c in Fig. 1), wherein the device 12 generates a separate pair of encryption keys specific to each user accessing the privacy-preserving surveillance service through the client device 12 (herein referred to as user keys). An alternative embodiment may generate encryption keys specific to a device. The user and/or device key generation may occur during registration as part of the initial service setup procedures for each user and may be performed in accordance with a homomorphic encryption key generation algorithm. The client device 12 then sends the user's public key(s) 54 to the distribution server 30. In response to receiving the key(s) 54, the key manager 34 may generate a set of proxy re-encryption tokens 50 uniquely associated with each user and/or client device. Some embodiments generate each set of user-specific tokens 50 in accordance with the public key associated with the corresponding user/device and in accordance with the administration key, using a token generation algorithm that is compatible with the homomorphic encryption algorithm used by the client device 12 to generate the user/device keys. Such key generation protocols/procedures are beyond the scope of the present description; several examples are known in the field of cryptography. The re-encryption markers 50 are then transmitted to the privacy management server 40 for use in re-encrypting the proxy of user-specific private images, as described in detail below.
[0054] На фиг. 11 и 13 проиллюстрирован обмен данными, осуществляемый в двух примерах вариантов осуществления системы наблюдения, сохраняющей приватность. Для ясности, следующее описание будет сосредоточено на видеонаблюдении, то есть соответствующие исходные данные содержат данные изображения. Специалисту в данной области техники будет понятно, что способы, описанные в данном документе, могут быть адаптированы к другим приложениям, в которых соответствующие данные содержат кодирование звука (например, голосовые записи), текста и т. д. [0054] Fig. 11 and 13 illustrate data exchange performed in two exemplary embodiments of a privacy-preserving surveillance system. For clarity, the following description will focus on video surveillance, i.e., the corresponding source data comprises image data. It will be understood by one skilled in the art that the methods described herein can be adapted to other applications in which the corresponding data comprises audio encoding (e.g., voice recordings), text, etc.
[0055] На фиг. 12 и 14 показаны альтернативные последовательности этапов, выполняемых сервером 40 управления приватностью в вариантах осуществления изобретения, описанных на фиг. 11 и 13, соответственно. В свою очередь, на фиг. 15 показаны примеры этапов, выполняемых сервером 30 распределения изображений.[0055] Fig. 12 and 14 show alternative sequences of steps performed by the privacy management server 40 in the embodiments of the invention described in Fig. 11 and 13, respectively. In turn, Fig. 15 shows examples of steps performed by the image distribution server 30.
[0056] В некоторых вариантах осуществления данные, полученные датчиком 14 ввода, кодируются как изображение I с открытым текстом, например, содержащее массив чисел, в котором каждое число представляет интенсивность соответствующего изображения в определенном положении/пикселе. Некоторые изображения могут иметь множество каналов (например, красный, зеленый и синий); в таких вариантах осуществления каждый канал может быть представлен отдельным массивом. Изображение I затем шифруется с помощью криптографического механизма 16 датчика в соответствии с публичными ключом (ключами) 52 администрирования для получения зашифрованного потока 60 данных, который передается на сервер 40 управления приватностью. Поток 60 может содержать, например, набор зашифрованных исходных изображений:[0056] In some embodiments, the data received by the input sensor 14 is encoded as a plaintext image I, for example, comprising an array of numbers in which each number represents the intensity of the corresponding image at a certain position/pixel. Some images may have multiple channels (e.g., red, green, and blue); in such embodiments, each channel may be represented by a separate array. The image I is then encrypted using the cryptographic engine 16 of the sensor in accordance with the public key(s) 52 of the administration to obtain an encrypted data stream 60, which is transmitted to the privacy management server 40. The stream 60 may comprise, for example, a set of encrypted source images:
где Enc(x, k) в общем случае обозначает шифрование количества x с использованием ключа k, а kp admin обозначает публичные ключ(и) 52 администрирования. Символ звездочки (*) используется для обозначения зашифрованных величин. В варианте осуществления видеонаблюдения каждое зашифрованное исходное изображение I* может соответствовать отдельному кадру и может быть помечено соответствующей меткой времени, указывающей момент времени, когда был сделан соответствующий кадр.where Enc(x, k) generally denotes the encryption of a quantity x using a key k, and k p admin denotes the public key(s) 52 of the administration. The asterisk (*) symbol is used to denote encrypted quantities. In a video surveillance embodiment, each encrypted source image I * may correspond to a single frame and may be labeled with a corresponding timestamp indicating the time at which the corresponding frame was taken.
[0057] В ответ на прием потока 60 данных, для каждого зашифрованного исходного изображения I*, на этапе 204 (фиг. 12) сервер 40 может применять детектор(ы) 42 элементов для определения, содержит ли соответствующее изображение приватные данные (т. е. изображения элементов, считающихся приватными некоторыми пользователями). Если да, некоторые варианты осуществления детектора (детекторов) 42 возвращают набор пользовательских масок (см. пример маски 80a на фиг. 9), идентифицирующих области исходного изображения, которые отображают различные приватные элементы. Кроме того, такие маски индексируются в соответствии с пользователями, которые объявили соответствующие элементы приватными. Некоторые варианты осуществления могут дополнительно определять набор публичных масок, содержащих области текущего кадра, которые содержат только публичные данные. В примере варианта осуществления публичная маска определяется путем инвертирования всех пользовательских масок и наложения результатов. В другом варианте осуществления детекторы 42 элементов могут быть обучены возвращать набор публичных масок вместе с пользовательскими масками.[0057] In response to receiving the data stream 60, for each encrypted source image I * , in step 204 (FIG. 12), the server 40 may apply the element detector(s) 42 to determine whether the corresponding image contains private data (i.e., images of elements considered private by some users). If so, some embodiments of the detector(s) 42 return a set of user masks (see the example mask 80a in FIG. 9) identifying areas of the source image that display various private elements. In addition, such masks are indexed according to the users who declared the corresponding elements as private. Some embodiments may further determine a set of public masks containing areas of the current frame that contain only public data. In an example embodiment, the public mask is determined by inverting all of the user masks and superimposing the results. In another embodiment, the element detectors 42 may be trained to return a set of public masks along with user masks.
[0058] Однако, поскольку сервер 40 управления приватностью не имеет приватного ключа (ключей) администрирования и, таким образом, не может расшифровать исходное изображение (изображения) I*, некоторые варианты осуществления детектора (детекторов) 42 элементов работают в зашифрованном домене, то есть непосредственно на зашифрованных данных, и производят зашифрованный вывод (т. е. пользовательские маски также зашифрованы). Следовательно, в некоторых вариантах осуществления, хотя детекторы 42 элементов выполняются на сервере 40, сервер 40 не обращает внимания на содержимое исходного изображения, а также на то, какая область исходного изображения содержит приватный элемент, если таковой имеется.[0058] However, since the privacy management server 40 does not have the private key(s) of administration and thus cannot decrypt the original image(s) I * , some embodiments of the element detector(s) 42 operate in the encrypted domain, i.e., directly on encrypted data, and produce encrypted output (i.e., the user masks are also encrypted). Therefore, in some embodiments, although the element detectors 42 are executed on the server 40, the server 40 does not pay attention to the content of the original image, as well as to which region of the original image contains the private element, if any.
[0059] В некоторых вариантах осуществления набор этапов 206-208 (фиг. 12) выполняет процедуру сегментации изображения зашифрованного домена для извлечения набора зашифрованных публичных и приватных изображений из текущего исходного изображения I* в соответствии с выводом детектора (детекторов) 42 элементов. Каждое приватное изображение может содержать (зашифрованное) содержимое текущего исходного изображения, расположенного в отдельной пользовательской маске. В некоторых вариантах осуществления зашифрованное приватное изображение, связанное с пользовательской маской i, может быть определено в соответствии с умножением по пикселям зашифрованного исходного изображения и зашифрованной маски i:[0059] In some embodiments, the set of steps 206-208 (FIG. 12) performs an encrypted domain image segmentation procedure to extract a set of encrypted public and private images from the current source image I * in accordance with the output of the element detector(s) 42. Each private image may contain the (encrypted) content of the current source image located in a separate user mask. In some embodiments, the encrypted private image associated with the user mask i may be determined in accordance with the pixel-wise multiplication of the encrypted source image and the encrypted mask i:
где M* i обозначает зашифрованную пользовательскую маску i, возвращенную детектором (детекторами) 42 элементов:where M * i denotes the encrypted user mask i returned by the 42-element detector(s):
и где Mi обозначает пользовательскую маску i, незашифрованную/с открытым текстом.and where M i denotes the user mask i, unencrypted/plaintext.
[0060] Обведенный оператор-точка в данном документе обозначает умножение по пикселям:[0060] The circled dot operator in this document denotes pixel multiplication:
при этом пара {xy} индексирует положение/пиксели в исходном изображении и пользовательской маске, соответственно. Умножение по пикселям применяется к изображениям/массивам одинакового размера.where the pair {xy} indexes the position/pixels in the original image and the custom mask, respectively. Pixel-wise multiplication is applied to images/arrays of the same size.
[0061] Между тем, зашифрованное публичное изображение текущего кадра (элемент 62 на фиг. 11) может быть вычислено в соответствии с поэлементным умножением зашифрованного исходного изображения и зашифрованной публичной маски:[0061] Meanwhile, the encrypted public image of the current frame (element 62 in Fig. 11) can be calculated according to the element-wise multiplication of the encrypted original image and the encrypted public mask:
где M*PUBLIC обозначает зашифрованную публичную маску, полученную детектором (детекторами) 42 элементов:where M *PUBLIC denotes the encrypted public mask obtained by the 42-element detector(s):
где MPUBLIC обозначает соответствующую публичную маску, незашифрованную/с открытым текстом.where M PUBLIC denotes the corresponding public mask, unencrypted/plaintext.
[0062] В некоторых вариантах осуществления на этапе 210 сервер 40 управления приватностью может использовать механизм 46 повторного шифрования для повторного шифрования прокси приватного изображения (изображений), определенного, как описано выше (например, формула [2]), в соответствии с маркером повторного шифрования, связанным с соответствующим пользователем/маской i, для создания индивидуального, специфического для пользователя повторно зашифрованного приватного изображения 66 (фиг. 11), которое затем передается на сервер 30 распределения изображений. Такое повторное шифрование прокси гарантирует, что соответствующее приватное изображение может быть дешифровано только держателем ключа дешифрования, связанного с пользователем/маской i. В некоторых вариантах осуществления повторно зашифрованное приватное изображение 66 помечено индикатором соответствующего пользователя, чтобы позволить серверу 30 выборочно вставлять и/или извлекать изображение 66 в/из хранилища данных 20. Дополнительная последовательность этапов 212-214 передает зашифрованное публичное изображение 62 и повторно зашифрованное приватное изображение (изображения) 66 на сервер 60 для дальнейшего распределения на клиентские устройства 12a-c.[0062] In some embodiments, at step 210, the privacy management server 40 may use the re-encryption mechanism 46 to re-encrypt the proxy of the private image(s) determined as described above (e.g., formula [2]) in accordance with the re-encryption token associated with the corresponding user/mask i, to create an individual, user-specific re-encrypted private image 66 (FIG. 11), which is then transmitted to the image distribution server 30. Such re-encryption of the proxy ensures that the corresponding private image can be decrypted only by the holder of the decryption key associated with the user/mask i. In some embodiments, the re-encrypted private image 66 is tagged with an indicator of the corresponding user to allow the server 30 to selectively insert and/or extract the image 66 into/from the data store 20. An additional sequence of steps 212-214 transmits the encrypted public image 62 and the re-encrypted private image(s) 66 to the server 60 for further distribution to the client devices 12a-c.
[0063] В альтернативном варианте осуществления изобретения, проиллюстрированном на фиг. 13-14, на этапе 230 сервер 40 может передавать зашифрованную пользовательскую маску (маски) 64 на сервер 30 распределения изображений для дешифрования, и в ответ получать дешифрованную пользовательскую маску (маски) 65 от сервера 30. В некоторых вариантах осуществления дешифрованная маска (маски) 65 содержит версии с открытым текстом зашифрованных пользовательских масок, определенных детектором (детекторами) 42 элементов:[0063] In an alternative embodiment of the invention, illustrated in Fig. 13-14, at step 230, the server 40 may transmit the encrypted user mask(s) 64 to the image distribution server 30 for decryption, and in response receive the decrypted user mask(s) 65 from the server 30. In some embodiments, the decrypted mask(s) 65 comprises plaintext versions of the encrypted user masks determined by the element detector(s) 42:
где Dec(x,k) в общем случае обозначает дешифрование количества x с использованием ключа k, и где ks admin обозначает секретный криптографический ключ, удерживаемый сервером 30 распределения изображений. В таких вариантах осуществления, даже несмотря на то, что сервер 40 управления приватностью может четко видеть, является ли и какая область исходного изображения отображает приватный элемент, приватность по-прежнему сохраняется, поскольку сервер 40 не может расшифровать какую-либо область соответствующего исходного изображения I*.where Dec(x,k) generally denotes the decryption of a quantity x using a key k, and where k s admin denotes a secret cryptographic key held by the image distribution server 30. In such embodiments, even though the privacy management server 40 can clearly see whether and which region of the original image displays a private element, privacy is still maintained because the server 40 cannot decrypt any region of the corresponding original image I * .
[0064] Далее, этап 234 может извлекать приватные изображения путем копирования пикселей зашифрованного кадра, расположенного внутри каждой дешифрованной пользовательской маски 65. В некоторых вариантах осуществления это может быть равнозначно определению зашифрованного приватного изображения, связанного с маской i, как:[0064] Next, step 234 may extract private images by copying the pixels of the encrypted frame located within each decrypted user mask 65. In some embodiments, this may be equivalent to determining the encrypted private image associated with mask i as:
[0065] Следующий этап 236 может использовать механизм 46 повторного шифрования для повторного шифрования прокси каждого такого приватного изображения с помощью маркера повторного шифрования пользователя, связанного с соответствующей маской i, для создания отдельных повторно шифрованных приватных изображений. Далее, на этапе 238, некоторые варианты осуществления могут вычислять составное повторно зашифрованное приватное изображение 67 в соответствии с множеством отдельных повторно зашифрованных приватных изображений, определенных на этапе 236. В некоторых вариантах осуществления составное изображение 67 содержит одно изображение, собранное из множества приватных изображений в виде мозаики, в которой каждое отдельное повторно зашифрованное приватное изображение занимает область составного изображения, соответствующую соответствующей пользовательской маске Mi. Вычисление составного приватного изображения может быть облегчено за счет нулевого заполнения каждого повторно зашифрованного прокси приватного изображения до размера исходного изображения. Составное повторно зашифрованное приватное изображение 67 затем может быть рассчитано в соответствии с:[0065] The next step 236 may use the re-encryption mechanism 46 to re-encrypt the proxy of each such private image using the user re-encryption token associated with the corresponding mask i to create individual re-encrypted private images. Next, in step 238, some embodiments may calculate a composite re-encrypted private image 67 in accordance with the plurality of individual re-encrypted private images determined in step 236. In some embodiments, the composite image 67 comprises a single image assembled from the plurality of private images in a mosaic, in which each individual re-encrypted private image occupies an area of the composite image corresponding to the corresponding user mask Mi. The calculation of the composite private image may be facilitated by zero-padding each re-encrypted proxy of the private image to the size of the original image. The composite re-encrypted private image 67 may then be calculated in accordance with:
где ReEnc(x, t) в общем случае обозначает повторное шифрование прокси зашифрованного текста x с использованием маркера t, а ti обозначает маркер повторного шифрования, связанный с пользователем/маской i. Обведенный плюс-оператор здесь обозначает сложение по пикселям:where ReEnc(x, t) generally denotes re-encryption of proxy ciphertext x using token t, and t i denotes the re-encryption token associated with user/mask i. The circled plus operator here denotes pixel-wise addition:
где пара {xy} индексирует положение/пиксели в пределах примеров изображений I1 и I2, соответственно. Сложение по пикселям применимо к изображениям одинакового размера.where the pair {xy} indexes the positions/pixels within the example images I 1 and I 2 , respectively. Pixel-wise addition applies to images of the same size.
[0066] Затем вычисленное составное повторно зашифрованное приватное изображение 67 может быть передано на сервер распределения изображений на этапе 240. В альтернативном варианте осуществления сервер 40 управления приватностью может вычислять отдельные повторно зашифрованные прокси приватные изображения и передавать соответствующие изображения на сервер 30 распределения. В свою очередь, сервер 30 может определять составное изображение 67 из принятых отдельных повторно зашифрованных изображений, например, с помощью уравнения [10].[0066] The calculated composite re-encrypted private image 67 may then be transmitted to the image distribution server at step 240. In an alternative embodiment, the privacy management server 40 may calculate individual re-encrypted proxy private images and transmit the corresponding images to the distribution server 30. In turn, the server 30 may determine the composite image 67 from the received individual re-encrypted images, for example, using equation [10].
[0067] В то же время (этап 226 на фиг. 14), сервер 40 управления приватностью может вычислять зашифрованное публичное изображение 62, как показано выше (например, уравнение [6]). В качестве альтернативы, изображение 62 может быть определено в соответствии с публичной маской с открытым текстом:[0067] At the same time (step 226 in Fig. 14), the privacy management server 40 may calculate the encrypted public image 62 as shown above (e.g., equation [6]). Alternatively, the image 62 may be determined according to the plaintext public mask:
где MPUBLIC принимается от сервера 30 распределения. В еще одном варианте осуществления MPUBLIC может вычисляться путем инвертирования всех пользовательских масок Mi с открытым текстом, полученных от сервера 30, и наложения результатов. В любой из этих ситуаций изображение 62 шифруется ключом администрирования в силу того, что сервер 40 выполняет сегментацию изображения в зашифрованном домене, то есть без дешифрования исходного изображения. Говоря иначе, сервер 40 не осведомлен о содержимом с открытым текстом публичного изображения 62. На этапе 228 зашифрованное публичное изображение 62 передается на сервер 30 для дешифрования и дальнейшего распределения клиентам.where M PUBLIC is received from the distribution server 30. In another embodiment, M PUBLIC may be calculated by inverting all plaintext user masks M i received from the server 30 and overlaying the results. In any of these situations, the image 62 is encrypted with the administration key due to the fact that the server 40 performs the segmentation of the image in the encrypted domain, i.e., without decrypting the original image. In other words, the server 40 is not aware of the plaintext content of the public image 62. In step 228, the encrypted public image 62 is transmitted to the server 30 for decryption and further distribution to clients.
[0068] Фиг. 15 иллюстрирует пример работы сервера 30 распределения изображений в соответствии с некоторыми вариантами осуществления настоящего изобретения. В последовательности этапов 252-254 сервер 30 может ожидать сообщений от сервера 40 управления приватностью. Когда такие сообщения содержат зашифрованные пользовательские маски (этап 256 возвращает «да»), сервер 30 распределения изображений может использовать криптографический механизм 36 для дешифрования соответствующих масок в соответствии с его секретным ключом администрирования (например, формула [6] выше) и передачи дешифрованной маски (масок) на сервер 40 управления приватностью.[0068] Fig. 15 illustrates an example of the operation of the image distribution server 30 in accordance with some embodiments of the present invention. In a sequence of steps 252-254, the server 30 may wait for messages from the privacy management server 40. When such messages contain encrypted user masks (step 256 returns "yes"), the image distribution server 30 may use the cryptographic mechanism 36 to decrypt the corresponding masks in accordance with its secret administration key (e.g., formula [6] above) and transmit the decrypted mask(s) to the privacy management server 40.
[0069] Когда связь содержит зашифрованное публичное изображение 62, сервер 40 может дешифровать его для получения дешифрованного публичного изображения 63:[0069] When the communication contains an encrypted public image 62, the server 40 may decrypt it to obtain a decrypted public image 63:
и сохранить изображение 63 в хранилище данных 20. Дешифрованное публичное изображение 63 может быть помечено меткой времени, номером кадра или другим индикатором, связывающим изображение 63 с исходным изображением, из которого оно было извлечено.and store image 63 in data storage 20. Decrypted public image 63 may be marked with a timestamp, frame number or other indicator linking image 63 to the original image from which it was extracted.
[0070] Когда сообщение, полученное от сервера 40, содержит повторно зашифрованное приватное изображение (либо специфическое для пользователя/маски i, либо составное, в зависимости от того, следует ли сервер 40 блок-схеме 12 или 14, соответственно), сервер 30 распределения изображений может вставить соответствующее приватное изображение в хранилище 20 данных. Повторно зашифрованные приватные изображения также могут быть помечены в соответствии с меткой времени и/или меткой, связывающей соответствующее изображение (изображения) с соответствующим исходным изображением. Приватные изображения также могут быть помечены для обозначения связи с конкретным пользователем и/или маской.[0070] When the message received from the server 40 contains a re-encrypted private image (either specific to the user/mask i or composite, depending on whether the server 40 follows the flow chart 12 or 14, respectively), the image distribution server 30 can insert the corresponding private image into the data store 20. The re-encrypted private images can also be labeled according to a timestamp and/or a label linking the corresponding image(s) to the corresponding original image. The private images can also be labeled to indicate a link to a specific user and/or mask.
[0071] На фиг. 16 показаны дополнительные примеры этапов, выполняемых сервером 30 распределения изображений в отношении клиентского устройства 12, в общем виде представляющего любое из клиентских устройств 12A-C на фиг. 1. На этапе 280 клиентское устройство 12 может выполнять процедуру аутентификации пользователя для идентификации текущего пользователя устройства 12 к серверу 30 распределения. Этап 280 может реализовывать любой протокол аутентификации пользователя, известный в данной области техники (например, пароль, двухфакторный, биометрический и т. д.). На этапе 282 устройство 12 может затем передавать запрос на сервер 30, например, для указания запроса на просмотр изображений с конкретной камеры наблюдения и захваченных в течение определенного периода времени. В ответ, в последовательности этапов 284-290, сервер 30 распределения изображений может выборочно извлекать из хранилища 20 данных набор публичных и приватных изображений в соответствии с запросом и передавать соответствующие изображения на клиентское устройство 12. В зависимости от того, работает ли сервер 40 управления приватностью в соответствии с блок-схемами, проиллюстрированными на фиг. 12 или 14, приватное изображение (изображения) может содержать индивидуальные повторно зашифрованные приватные изображения 66 или составные повторно зашифрованные приватные изображения 67, соответственно. Такие транзакции могут осуществляться, например, через веб-интерфейс. В альтернативном варианте осуществления сервер 30 распределения изображений может открывать выделенное соединение (например, туннель VPN) с клиентским устройством 20 и передавать публичные и приватные изображения через соответствующее соединение.[0071] Fig. 16 shows additional examples of steps performed by the image distribution server 30 with respect to the client device 12, generally representing any of the client devices 12A-C in Fig. 1. In step 280, the client device 12 may perform a user authentication procedure to identify the current user of the device 12 to the distribution server 30. Step 280 may implement any user authentication protocol known in the art (e.g., password, two-factor, biometric, etc.). In step 282, the device 12 may then transmit a request to the server 30, for example, to indicate a request to view images from a particular surveillance camera and captured during a certain period of time. In response, in a sequence of steps 284-290, the image distribution server 30 can selectively retrieve from the data store 20 a set of public and private images in accordance with the request and transmit the corresponding images to the client device 12. Depending on whether the privacy management server 40 operates in accordance with the flow charts illustrated in Fig. 12 or 14, the private image (images) can comprise individual re-encrypted private images 66 or composite re-encrypted private images 67, respectively. Such transactions can be carried out, for example, through a web interface. In an alternative embodiment, the image distribution server 30 can open a dedicated connection (for example, a VPN tunnel) with the client device 20 and transmit the public and private images through the corresponding connection.
[0072] Специалисту в данной области техники будет понятно, что, хотя публичные изображения были дешифрованы до открытого текста перед распределением, этап 288 не обязательно содержит передачу соответствующих публичных изображений в открытом тексте. Вместо этого, этап 288 может включать в себя повторное шифрование передаваемого публичного изображения, например, как часть передачи по TLS/HTTPS. Однако такое шифрование не влияет на восстановление изображения на клиентском устройстве; в транзакции TLS/HTTPS принимающее клиентское устройство всегда может дешифровать полезную нагрузку.[0072] One skilled in the art will appreciate that, although the public images were decrypted to plaintext prior to distribution, step 288 does not necessarily involve transmitting the corresponding public images in plaintext. Instead, step 288 may involve re-encrypting the transmitted public image, such as as part of a TLS/HTTPS transmission. However, such encryption does not affect the recovery of the image on the client device; in a TLS/HTTPS transaction, the receiving client device can always decrypt the payload.
[0073] В ответ на прием публичных и приватных изображений на этапе 292 клиентское устройство 12 может использовать криптографический механизм 26 клиента (фиг. 3) для дешифрования соответствующих приватных изображений с использованием секретного криптографического ключа, связанного с соответствующим пользователем клиентского устройства 12. Далее, на этапе 294, механизм 24 восстановления данных может вычислять восстановленное изображение в соответствии с дешифрованным приватным изображением (изображениями) и далее в соответствии с дешифрованным публичным изображением 63, полученным от сервера 30 распределения изображений. Например, восстановленное изображение может быть вычислено путем сложения по пикселям дешифрованного публичного изображения 63 и дешифрованного приватного изображения:[0073] In response to receiving the public and private images, at step 292, the client device 12 may use the client cryptographic engine 26 (FIG. 3) to decrypt the corresponding private images using a secret cryptographic key associated with the corresponding user of the client device 12. Next, at step 294, the data recovery engine 24 may calculate a recovered image in accordance with the decrypted private image(s) and then in accordance with the decrypted public image 63 received from the image distribution server 30. For example, the recovered image may be calculated by adding the decrypted public image 63 and the decrypted private image pixel by pixel:
илиor
где Ri обозначает восстановленное изображение, видимое пользователем i, а ks i обозначает секретный ключ пользователя i. Когда исходное изображение содержит приватные данные множества пользователей, формула [14] не может вычислять все восстановленное изображение в том смысле, что области восстановленного изображения, соответствующие пользовательским маскам Mj, принадлежащим пользователям, отличным от текущего пользователя i клиентского устройства 12, могут быть пустыми. Для получения полного восстановленного изображения некоторые варианты осуществления могут заполнять отсутствующие области фиктивными данными, например, нулями, случайным шумом, случайными цветами и т. д.where R i denotes the reconstructed image visible to user i, and k s i denotes the secret key of user i. When the original image contains private data of multiple users, formula [14] cannot compute the entire reconstructed image in the sense that areas of the reconstructed image corresponding to user masks M j belonging to users other than the current user i of the client device 12 may be empty. To obtain the entire reconstructed image, some embodiments may fill in the missing areas with dummy data, such as zeros, random noise, random colors, etc.
[0074] Восстановление кадра в соответствии с формулой [14] может быть предпочтительным в ситуациях, когда маски, связанные с отдельными пользователями, могут перекрываться, например, когда некоторая информация может быть релевантной для нескольких пользователей (например, для членов выбранной группы), в то время как другая информация является частной для каждого пользователя. Другой пример такой ситуации может иметь место в автоматической системе сегментации изображения, выполненной с возможностью получения многоуровневой классификации.[0074] Reconstructing a frame according to formula [14] may be advantageous in situations where masks associated with individual users may overlap, such as when some information may be relevant to several users (e.g., members of a selected group), while other information is private to each user. Another example of such a situation may occur in an automatic image segmentation system capable of obtaining a multi-level classification.
[0075] В варианте осуществления, в котором восстановленное изображение вычисляется из составного приватного изображения, восстановленное изображение Ri является полным, но секретный ключ ks i, удерживаемый пользователем i, может только дешифровать приватные данные соответствующего пользователя. Поэтому области восстановленного изображения, соответствующие пользовательским маскам Mj других пользователей, будут отображать скремблированные изображения. Этот эффект проиллюстрирован на фиг. 17-A-B, которые показывают, как два разных пользователя видят восстановление одного и того же исходного изображения. На фиг. 17-А показано восстановленное изображение, видимое пользователем А, который объявил элемент 72а (фиг. 6) приватным. Пользователь A увидит изображения приватного элемента 72a, но не сможет увидеть изображения приватных элементов других пользователей, таких как изображения элементов 72b-c-d (см. фиг. 6). На фиг. 17-B показано восстановленное изображение, видимое другим пользователем B, для которого элемент 72b является приватным. Пользователь B может видеть изображения элемента 72b, но может быть не в состоянии видеть изображения приватных элементов 72a и 72c-d.[0075] In an embodiment in which the reconstructed image is calculated from a composite private image, the reconstructed image R i is complete, but the secret key k s i held by user i can only decrypt the private data of the corresponding user. Therefore, areas of the reconstructed image corresponding to user masks M j of other users will display scrambled images. This effect is illustrated in Fig. 17-AB, which show how two different users see a reconstruction of the same original image. Fig. 17-A shows the reconstructed image seen by user A, who has declared item 72a (Fig. 6) private. User A will see the images of private item 72a, but will not be able to see the images of private items of other users, such as the images of items 72b-cd (see Fig. 6). Fig. 17-B shows the reconstructed image seen by another user B, for whom item 72b is private. User B may be able to see images of item 72b, but may not be able to see images of private items 72a and 72c-d.
[0076] Восстановление кадра Ri в соответствии с формулой [15], то есть из составных зашифрованных приватных изображений, может быть предпочтительным в вариантах осуществления, в которых детекторы 42 элементов производят только неперекрывающиеся пользовательские маски и/или в которых отдельные пользователи не обмениваются приватной информацией. В противном случае области восстановленного изображения, покрытые перекрытиями маски, могут быть не быть дешифруемыми каким-либо отдельным пользователем и, следовательно, могут выглядеть скремблированными. Работа с составными приватными изображениями может дополнительно экономить вычислительные ресурсы, поскольку она позволяет отправлять одни и те же зашифрованные приватные данные (т. е. одно составное приватное изображение) всем пользователям вместо того, чтобы хранить, индексировать и выборочно доставлять индивидуальные приватные изображения каждому пользователю. В таких вариантах осуществления сервер 40 может непосредственно вставлять приватные и публичные изображения в хранилище 20 данных без дополнительного участия сервера 30 распределения. Недостатком вариантов осуществления, использующих составные повторно зашифрованные приватные изображения, является то, что они обеспечивают относительно более низкий уровень приватности по сравнению с вариантами осуществления, использующими отдельные приватные изображения, поскольку при вычислении приватных изображений сервер 40 работает с дешифрованными масками/масками с открытым текстом. Иначе говоря, хотя сервер 40 не обращает внимания на содержимое приватных изображений, он знает, например, содержит ли исходное изображение приватный элемент, и он также знает приблизительное местоположение соответствующего приватного элемента через соответствующую маску с открытым текстом.[0076] Reconstructing the frame R i in accordance with formula [15], i.e. from composite encrypted private images, may be advantageous in embodiments in which the element detectors 42 produce only non-overlapping user masks and/or in which individual users do not exchange private information. Otherwise, the areas of the reconstructed image covered by the mask overlaps may not be decryptable by any individual user and, therefore, may appear scrambled. Working with composite private images may further save computational resources, since it allows sending the same encrypted private data (i.e., one composite private image) to all users, instead of storing, indexing and selectively delivering individual private images to each user. In such embodiments, the server 40 may directly insert private and public images into the data store 20 without additional involvement of the distribution server 30. A disadvantage of embodiments using composite re-encrypted private images is that they provide a relatively lower level of privacy compared to embodiments using individual private images, since the server 40 works with decrypted masks/plaintext masks when computing the private images. In other words, although the server 40 does not pay attention to the content of the private images, it knows, for example, whether the original image contains a private element, and it also knows the approximate location of the corresponding private element via the corresponding plaintext mask.
[0077] Фиг. 18 иллюстрирует усовершенствование системы наблюдения, сохраняющей приватность, в соответствии с некоторыми вариантами осуществления настоящего изобретения. В некоторых вариантах осуществления сервер 40 управления приватностью (фиг. 5) дополнительно снабжен модулем 44 задач обработки изображений, выполненным с возможностью выполнения конкретной задачи в соответствии с зашифрованным потоком 60 данных, принятым от датчика 14 ввода. Один пример задачи обработки изображений включает в себя обнаружение события (определение того, является ли изображение или последовательность изображений признаком возникновения конкретного события). Например, в варианте осуществления наблюдения за школой, модуль 44 задач может быть выполнен с возможностью анализа изображений, захваченных камерой наблюдения, для определения того, являются ли изображения признаками драки или инцидента, связанного с издевательствами. В варианте осуществления мониторинга движения модуль задач может автоматически определять, является ли исходное изображение признаком аварии, пробки и т. д. Другие примеры задач включают в себя подсчет людей на изображении и определение того, превышает ли указанное количество заранее заданный порог. Еще один пример задачи, в общем случае, включает в себя любую задачу классификации/маркировки изображения, такую как определение, отображает ли изображение конкретный тип объекта (например, оружие, личное удостоверение личности, банковскую карту, номерной знак автомобиля и т. д.). Специалисту будет понятно, что, хотя приведенные выше примеры включают обработку изображений, этот аспект не предназначен для ограничения, и некоторые варианты осуществления изобретения могут быть адаптированы для обработки других типов данных, таких как звуковые файлы, текстовые документы и т. д. Например, в варианте осуществления обработки звука модуль 44 задач может определять, является ли звук, захваченный датчиком 14 ввода, признаком выстрела, крика людей, оскорбительного или дискриминационного языка и т. д.[0077] Fig. 18 illustrates an improvement of a privacy-preserving surveillance system according to some embodiments of the present invention. In some embodiments, the privacy management server 40 ( Fig. 5 ) is further provided with an image processing task module 44 configured to perform a specific task in accordance with the encrypted data stream 60 received from the input sensor 14. One example of an image processing task includes event detection (determining whether an image or sequence of images is indicative of the occurrence of a specific event). For example, in a school surveillance embodiment, the task module 44 may be configured to analyze images captured by a surveillance camera to determine whether the images are indicative of a fight or a bullying incident. In a traffic monitoring embodiment, the task module may automatically determine whether a source image is indicative of an accident, a traffic jam, etc. Other example tasks include counting people in an image and determining whether the number exceeds a predetermined threshold. Another example of a task, in general, includes any image classification/labeling task, such as determining whether an image displays a particular type of object (e.g., a weapon, a personal identification card, a bank card, a license plate, etc.). It will be understood by a person skilled in the art that, although the above examples include image processing, this aspect is not intended to be limiting, and some embodiments of the invention can be adapted to process other types of data, such as audio files, text documents, etc. For example, in an embodiment of audio processing, the task module 44 can determine whether the sound captured by the input sensor 14 is a sign of a gunshot, people screaming, offensive or discriminatory language, etc.
[0078] В некоторых вариантах осуществления модуль 44 задач (фиг. 5) содержит систему 43b ИИ, предварительно обученную для выполнения соответствующей задачи. Несколько таких примеров известны в области компьютерного зрения; их архитектура и обучение выходят за рамки настоящего изобретения. Система 43b ИИ может быть предварительно обучена системой 11 обучения ИИ в том смысле, что система 11 может определять набор оптимизированных значений параметров модуля задач 45b (например, весов синапса и т. д.), например, с помощью процесса машинного обучения, и использовать значения 45b для создания экземпляра времени выполнения модуля 44 задач изображения.[0078] In some embodiments, the task module 44 (FIG. 5) comprises an AI system 43b that is pre-trained to perform a corresponding task. Several such examples are known in the field of computer vision; their architecture and training are beyond the scope of the present invention. The AI system 43b may be pre-trained by the AI training system 11 in the sense that the system 11 may determine a set of optimized values for the parameters of the task module 45b (e.g., synapse weights, etc.), for example, using a machine learning process, and use the values 45b to create an execution time instance of the image task module 44.
[0079] Модуль 44 задач может работать в зашифрованном домене, то есть без дешифрования исходных данных. В таких вариантах осуществления модуль 44 может вводить зашифрованное изображение и генерировать зашифрованный вывод, содержащий результат выполнения соответствующей задачи, причем соответствующий вывод зашифрован публичным ключом администрирования, , связанным с сервером 30 распределения. Например, вывод модуля 44 задач может содержать зашифрованную версию вердикта или метки (например, ДА/НЕТ в соответствии с тем, является ли поток 60 данных признаком наступления конкретного события или нет). Поскольку модуль 44 выполняется в зашифрованном домене, сервер 40 управления приватностью не знает о результате задачи.[0079] The task module 44 may operate in an encrypted domain, i.e., without decrypting the original data. In such embodiments, the module 44 may input an encrypted image and generate an encrypted output containing the result of performing the corresponding task, wherein the corresponding output is encrypted with the public administration key, , associated with the distribution server 30. For example, the output of the task module 44 may contain an encrypted version of the verdict or label (for example, YES/NO according to whether the data stream 60 is an indication of the occurrence of a particular event or not). Since the module 44 is executed in an encrypted domain, the privacy management server 40 does not know the result of the task.
[0080] В некоторых вариантах осуществления вывод модуля 44 задач является повторно зашифрованным прокси с помощью механизма 46 (фиг. 5) с использованием маркера повторного шифрования выбранного пользователя для получения повторно зашифрованного результата 86 задачи, который отправляется на сервер 30 распределения для доставки на заранее определенное устройство 13 уведомления (например, смартфон выбранного пользователя). В некоторых вариантах осуществления устройство 13 уведомления может также принимать дешифрованное публичное изображение 63, так что соответствующий пользователь может видеть публично доступные данные изображения в дополнение к уведомлению о возникновении соответствующего события или ситуации. Например, директор школы (или сотрудник службы безопасности) может получить уведомление о том, что на территории школы ведется драка, но он/она не может увидеть, кто действительно участвует в драке, когда такая информация считается приватной. Между тем, поскольку результат 86 задачи может быть дешифрован только выбранным устройством уведомления, все пользователи, за исключением директора школы, могут не обращать внимания на возникновение драки. Кроме того, владельцы/операторы сервера 40 также не знают о таких событиях.[0080] In some embodiments, the output of the task module 44 is re-encrypted by the proxy using the engine 46 (FIG. 5) using the re-encryption token of the selected user to obtain a re-encrypted task result 86, which is sent to the distribution server 30 for delivery to a predetermined notification device 13 (for example, a smartphone of the selected user). In some embodiments, the notification device 13 may also receive the decrypted public image 63, so that the corresponding user can see the publicly available image data in addition to the notification of the occurrence of the corresponding event or situation. For example, a school principal (or a security officer) may receive a notification that a fight is taking place on school grounds, but he/she cannot see who is actually involved in the fight when such information is considered private. Meanwhile, since the task result 86 can only be decrypted by the selected notification device, all users except the school principal may not pay attention to the occurrence of the fight. In addition, the owners/operators of the server 40 are also unaware of such events.
[0081] Некоторые варианты осуществления дополнительно дополняются добавлением суперпользователя, которому может быть разрешено просматривать всю приватную информацию, содержащуюся в исходном изображении. Такой суперпользователь может представлять авторитетную фигуру, такую как директор школы, представитель отдела кадров компании и т. д. При настройке службы наблюдения сервер 30 распределения изображений может создавать пару криптографических ключей, а также набор маркеров повторного шифрования, связанных с суперпользователем. В одном таком примере варианта осуществления, в ответ на определение масок пользователя и извлечение приватных изображений, сервер 40 управления приватностью может повторно шифровать извлеченные приватные изображения, связанные со всеми пользователями, с помощью маркера (маркеров) повторного шифрования суперпользователя, таким образом создавая составное приватное изображение, доступное только суперпользователю. Соответствующие повторно зашифрованные приватные данные затем отправляют на сервер 30 распределения изображений и дополнительно делают доступными для суперпользователя вместе с дешифрованным общедоступным изображением 63. Суперпользователь может дешифровать соответствующее повторно зашифрованное приватное изображение и, таким образом, полностью восстановить исходное изображение в соответствии с публичным изображением 63 и дешифрованным составным приватным изображением. В то же время пользователь, не владеющий приватным ключом шифрования суперпользователя, может не видеть приватные данные, принадлежащие другому пользователю.[0081] Some embodiments are further supplemented by adding a superuser who may be allowed to view all private information contained in the original image. Such a superuser may represent an authority figure, such as a school principal, a company human resources representative, etc. When setting up a surveillance service, the image distribution server 30 may create a pair of cryptographic keys, as well as a set of re-encryption tokens associated with the superuser. In one such example embodiment, in response to determining user masks and retrieving private images, the privacy management server 40 may re-encrypt the retrieved private images associated with all users using the re-encryption token(s) of the superuser, thereby creating a composite private image accessible only to the superuser. The corresponding re-encrypted private data is then sent to the image distribution server 30 and further made available to the superuser together with the decrypted public image 63. The superuser can decrypt the corresponding re-encrypted private image and thus completely restore the original image according to the public image 63 and the decrypted composite private image. At the same time, a user who does not have the private encryption key of the superuser may not see the private data belonging to another user.
[0082] На фиг. 19 показан пример компьютерной системы 90, выполненной с возможностью осуществления некоторых из способов, описанных в данном документе. Компьютерная система 90 может представлять собой любое из клиентских устройств 12a-c, а также сервер 30 распределения изображений и сервер 40 управления приватностью. Проиллюстрированная конфигурация аппаратного обеспечения представляет собой конфигурацию персонального компьютера; конфигурация других вычислительных устройств, таких как мобильные телефоны и серверы, может незначительно отличаться от конфигурации, показанной на фиг. 19. Процессор(ы) 92 содержит физическое устройство (например, микропроцессор, многоядерную интегральную схему, сформированную на полупроводниковой подложке), выполненное с возможностью выполнения вычислительных и/или логических операций с набором сигналов и/или данных. Такие сигналы или данные могут быть закодированы и доставлены процессору (процессорам) 92 в виде инструкций процессора, например, машинного кода. Процессор(ы) 92 может содержать центральный процессор (CPU) и/или массив графических процессоров (GPU).[0082] Fig. 19 shows an example of a computer system 90 configured to perform some of the methods described herein. The computer system 90 may be any of the client devices 12a-c, as well as the image distribution server 30 and the privacy management server 40. The illustrated hardware configuration is a configuration of a personal computer; the configuration of other computing devices, such as mobile phones and servers, may differ slightly from the configuration shown in Fig. 19. The processor(s) 92 comprises a physical device (e.g., a microprocessor, a multi-core integrated circuit formed on a semiconductor substrate) configured to perform computational and/or logical operations on a set of signals and/or data. Such signals or data may be encoded and delivered to the processor(s) 92 in the form of processor instructions, such as machine code. The processor(s) 92 may comprise a central processing unit (CPU) and/or an array of graphics processing units (GPUs).
[0083] Модуль 93 памяти может содержать энергозависимые машиночитаемые носители (например, динамическое оперативное запоминающее устройство (DRAM)), хранящие данные и/или кодировки инструкций, доступные или сгенерированные процессором (процессорами) 92 в ходе выполнения операций. Устройства 94 ввода могут включать в себя, среди прочего, компьютерные клавиатуры, мыши, трекпады и микрофоны, включая соответствующие аппаратные интерфейсы и/или адаптеры, позволяющие пользователю вводить данные и/или инструкции в компьютерную систему 90. Устройства 95 вывода могут содержать устройства отображения, такие как, среди прочего, мониторы и динамики, а также аппаратные интерфейсы/адаптеры, такие как графические карты, позволяющие соответствующему вычислительному устройству передавать данные пользователю. В некоторых вариантах осуществления устройства 94-95 ввода и вывода имеют общую часть аппаратного обеспечения (например, сенсорный экран). Запоминающие устройства 96 содержат машиночитаемые носители, обеспечивающие невременное хранение, чтение и запись программных инструкций и/или данных. Примеры устройств хранения включают в себя магнитные и оптические диски и устройства флэш-памяти, а также съемные носители, такие как CD и/или DVD диски и приводы. Сетевой адаптер(ы) 97 содержит механическую, электрическую и сигнальную схемы для передачи данных по физическим каналам связи, соединенным с сетью электронной связи (например, сетью 15 на фиг. 1) и/или с другими устройствами/компьютерными системами. Адаптер(ы) 97 может быть дополнительно выполнен с возможностью передачи и/или приема данных с использованием множества протоколов связи.[0083] The memory module 93 may comprise volatile computer-readable media (e.g., dynamic random access memory (DRAM)) storing data and/or instruction encodings accessible or generated by the processor(s) 92 during execution of operations. The input devices 94 may include, among other things, computer keyboards, mice, trackpads, and microphones, including corresponding hardware interfaces and/or adapters that allow a user to enter data and/or instructions into the computer system 90. The output devices 95 may comprise display devices, such as, among other things, monitors and speakers, and hardware interfaces/adapters, such as graphics cards, that allow a corresponding computing device to transmit data to a user. In some embodiments, the input and output devices 94-95 have a common hardware portion (e.g., a touch screen). The memory devices 96 comprise computer-readable media that provide non-transitory storage, reading, and writing of program instructions and/or data. Examples of storage devices include magnetic and optical disks and flash memory devices, as well as removable media such as CD and/or DVD disks and drives. Network adapter(s) 97 comprises mechanical, electrical and signal circuitry for transmitting data over physical communication channels connected to an electronic communication network (e.g., network 15 in Fig. 1) and/or to other devices/computer systems. Adapter(s) 97 may be further configured to transmit and/or receive data using a plurality of communication protocols.
[0084] Контроллер-концентратор 98 в общем случае представляет собой множество системных, периферийных шин и/или шин набора микросхем, и/или все другие схемы, обеспечивающие связь между процессором (процессорами) 92 и остальными аппаратными компонентами компьютерной системы 90. Например, контроллер-концентратор 98 может содержать контроллер памяти, контроллер ввода/вывода (I/O) и контроллер прерывания. В зависимости от производителя аппаратного обеспечения, некоторые такие контроллеры могут быть включены в одну интегральную схему и/или могут быть интегрированы с процессором (процессорами) 92. В другом примере контроллер-концентратор 98 может содержать северный мост, соединяющий процессор 92 с памятью 93, и/или южный мост, соединяющий процессор 92 с устройствами 94, 95, 96 и 97.[0084] The controller hub 98 generally represents a plurality of system, peripheral, and/or chipset buses and/or all other circuits that provide communication between the processor(s) 92 and the remaining hardware components of the computer system 90. For example, the controller hub 98 may include a memory controller, an input/output (I/O) controller, and an interrupt controller. Depending on the hardware manufacturer, some such controllers may be included in a single integrated circuit and/or may be integrated with the processor(s) 92. In another example, the controller hub 98 may include a northbridge connecting the processor 92 to the memory 93 and/or a southbridge connecting the processor 92 to devices 94, 95, 96, and 97.
[0085] Примеры систем и способов, описанные в данном документе, позволяют распределять данные (например, записанное видео, фотографии, записанное аудио, цифровые документы и т. д.) среди множества пользователей так, чтобы сохранить приватность соответствующих пользователей. В некоторых вариантах осуществления используются методы гомоморфного шифрования и повторного шифрования прокси для манипулирования соответствующими данными так, чтобы выбранные их части были выявлены в соответствии с идентификацией пользователя, в настоящее время осуществляющего доступ к соответствующим данным.[0085] Examples of systems and methods described in this document allow data (e.g., recorded video, photographs, recorded audio, digital documents, etc.) to be distributed among multiple users in a manner that preserves the privacy of the respective users. In some embodiments, homomorphic encryption and proxy re-encryption techniques are used to manipulate the respective data so that selected portions thereof are identified in accordance with the identity of the user currently accessing the respective data.
[0086] Один пример применения некоторых вариантов осуществления содержит видеонаблюдение, при этом распределенные данные включают в себя поток изображений, полученных от камеры наблюдения. В некоторых вариантах осуществления используются методы распознавания изображений для определения того, содержит ли изображение элемент, считающийся конфиденциальным выбранным пользователем (например, конкретный человек или лицо, конкретный номерной знак и т. д.), а также для манипулирования и выборочного шифрования соответствующего изображения так, чтобы только соответствующий пользователь мог видеть конфиденциальный элемент. Между тем, другим пользователям может быть предоставлен доступ к другой версии того же изображения, в которой конфиденциальный элемент скрыт (например, затушеван, вырезан, скремблирован и т. д.).[0086] One example of an application of some embodiments comprises video surveillance, wherein the distributed data comprises a stream of images obtained from a surveillance camera. In some embodiments, image recognition techniques are used to determine whether the image contains an element considered confidential by a selected user (e.g., a specific person or face, a specific license plate, etc.), and to manipulate and selectively encrypt the corresponding image so that only the corresponding user can see the confidential element. Meanwhile, other users may be given access to another version of the same image in which the confidential element is hidden (e.g., blurred, cut out, scrambled, etc.).
[0087] Один пример сценария использования содержит мониторинг школьного двора на наличие признаков издевательств, драк и словесной агрессии. В некоторых вариантах осуществления выбранные пользователи (например, родители) могут обозначать некоторых детей как приватные элементы. Изображения школьного двора, снятые видеокамерой, могут быть распределены среди множества пользователей. Тем не менее, изображения, распределенные директору школы и родителю ребенка, который считается приватным, покажут лицо соответствующего ребенка, в то время как на изображениях, распределенных всем другим пользователям, лицо может быть скрыто или скремблировано. Такие манипуляции могут, например, сохранять приватность ребенка, подвергшегося издевательствам, и/или задерживать раскрытие личности агрессора до тех пор, пока не будет проведено расследование инцидента.[0087] One example use case includes monitoring a school yard for signs of bullying, fighting, and verbal aggression. In some embodiments, selected users (e.g., parents) may designate certain children as private elements. Images of the school yard captured by a video camera may be distributed among multiple users. However, images distributed to the school principal and the parent of a child who is considered private will show the face of the corresponding child, while in images distributed to all other users, the face may be hidden or scrambled. Such manipulations may, for example, preserve the privacy of a child who has been bullied and/or delay the disclosure of the identity of the bully until the incident has been investigated.
[0088] Применение некоторых вариантов осуществления не ограничивается наблюдением. В другом примере камера записывает презентацию продукта или прототипа. Затем изображения передаются множеству удаленных пользователей, например, в формате видеоконференции. Однако отдельные пользователи могут получать различные версии одного и того же изображения. Например, пользователям, подписавшим соглашение о неразглашении, может быть показан соответствующий продукт или прототип, в то время как на изображениях, распределенных другим пользователям, соответствующий элемент может быть скрыт/скремблирован.[0088] The use of some embodiments is not limited to surveillance. In another example, a camera records a presentation of a product or prototype. The images are then transmitted to multiple remote users, such as in a video conference format. However, individual users may receive different versions of the same image. For example, users who have signed a non-disclosure agreement may be shown the corresponding product or prototype, while in images distributed to other users, the corresponding element may be hidden/scrambled.
[0089] Характер элементов, считающихся приватными/конфиденциальными, может сильно отличаться в зависимости от вариантов осуществления. Некоторые примеры включают, среди прочего, оскорбительный жест рукой, предмет одежды (головной платок, купальник и т. д.), элемент украшения, конкретную часть тела (голая нога, грудь и т. д.), оружие, логотип компании, лежащее на земле тело (потенциально бездомный человек или человек, нуждающийся в медицинской помощи) и человек в форме (например, полиция, медицинский персонал). Система 43 ИИ (фиг. 5) может быть обучена распознавать любой такой тип приватного элемента в исходном изображении. Впоследствии некоторые пользователи увидят изображение соответствующих элементов, в то время как другие - нет.[0089] The nature of the elements considered private/sensitive may vary greatly depending on the embodiments. Some examples include, but are not limited to, an offensive hand gesture, an item of clothing (headscarf, swimsuit, etc.), an item of jewelry, a specific body part (bare leg, chest, etc.), a weapon, a company logo, a body lying on the ground (potentially a homeless person or a person in need of medical attention), and a person in uniform (e.g., police, medical personnel). The AI system 43 (FIG. 5) can be trained to recognize any such type of private element in the original image. Subsequently, some users will see an image of the corresponding elements, while others will not.
[0090] Многие обычные системы видеонаблюдения используют шифрование для предотвращения несанкционированного доступа к полученным изображениям. Некоторые такие системы также дополнены функциями автоматического распознавания изображений и/или сегментации изображений. Однако обычные системы наблюдения сначала расшифровывают исходные изображения в рамках подготовки к распознаванию изображений. Например, обычная компьютерная система, выполняющая анализ изображений, как правило, также обладает криптографическими ключами для дешифрования исходных изображений. В отличие от этого, используя гомоморфное шифрование, некоторые варианты осуществления настоящего изобретения выполняют автоматическое обнаружение элемента/построение маски непосредственно в зашифрованном домене, то есть без предварительного дешифрования исходных изображений. В частности, сервер управления приватностью, как описано в данном документе, даже не имеет ключей для дешифрования исходных данных. Следовательно, в вариантах осуществления настоящего изобретения компьютерная система, выполняющая распознавание и/или сегментацию изображений, не обращает внимания на содержимое анализируемых изображений, что существенно повышает приватность пользователей системы.[0090] Many conventional video surveillance systems use encryption to prevent unauthorized access to the acquired images. Some such systems are also supplemented with automatic image recognition and/or image segmentation functions. However, conventional surveillance systems first decrypt the original images in preparation for image recognition. For example, a conventional computer system that performs image analysis typically also has cryptographic keys for decrypting the original images. In contrast, using homomorphic encryption, some embodiments of the present invention perform automatic feature detection/mask construction directly in the encrypted domain, i.e., without first decrypting the original images. In particular, the privacy management server as described herein does not even have the keys for decrypting the original data. Therefore, in embodiments of the present invention, the computer system that performs image recognition and/or segmentation does not pay attention to the content of the images being analyzed, which significantly increases the privacy of users of the system.
[0091] Использование гомоморфного шифрования в некоторых вариантах осуществления настоящего изобретения также позволяет отделить действия по управлению пользователем/распределению изображения от действий по анализу изображения. В примере системы видеонаблюдения, сохраняющей приватность, как показано на фиг. 1, серверы 30 и 40 могут принадлежать и управляться отдельными объектами. В одном примере сценария использования, иллюстрирующего преимущества некоторых вариантов осуществления настоящего изобретения, компания А владеет и управляет датчиком (датчиками) 14 ввода и сервером 30 распределения и передает услуги по обработке изображений, то есть услуги, предоставляемые сервером 40, другой компании B. Датчики 14 могут собирать изображения из офисного здания, и компания А может быть заинтересована в автоматическом обнаружении таких событий, как аномальная динамика офиса, присутствие неизвестного человека и т. д., для определения посещаемости определенных офисных мероприятий, для определения, когда определенные сотрудники прибывают на работу или выходят из офиса, и т. д. Компания B может предоставлять такие услуги с сохранением приватности, поскольку сервер 40 не имеет доступа к незашифрованным данным и дополнительно не имеет информации для дешифрования входящих исходных данных. Вместо этого, сегментация изображений и/или выполнение других задач осуществляется в зашифрованном домене, и результаты таких операций могут быть дешифрованы только компьютерными системами (например, сервером 30, выбранными клиентскими устройствами 12a-c), управляемыми представителями компании A. Приватность дополнительно усиливается тем фактом, что в вариантах осуществления, проиллюстрированных на фиг. 11 и 13, сервер 30 распределения может не иметь доступа к исходным данным как таковым, а только к их «публичной части», то есть части исходных изображений, которая не отображает приватные/конфиденциальные элементы.[0091] The use of homomorphic encryption in some embodiments of the present invention also allows for the separation of user management/image distribution activities from image analysis activities. In the example of a privacy-preserving video surveillance system as shown in Fig. 1, servers 30 and 40 may be owned and operated by separate entities. In one example of a use case illustrating the advantages of some embodiments of the present invention, company A owns and operates the input sensor(s) 14 and the distribution server 30 and outsources the image processing services, i.e., the services provided by the server 40, to another company B. The sensors 14 may collect images from an office building, and company A may be interested in automatically detecting events such as abnormal office dynamics, the presence of an unknown person, etc., to determine attendance at certain office events, to determine when certain employees arrive at work or leave the office, etc. Company B can provide such services in a privacy-preserving manner, since the server 40 does not have access to unencrypted data and additionally does not have the information to decrypt the incoming raw data. Instead, the segmentation of images and/or the execution of other tasks are performed in an encrypted domain, and the results of such operations can only be decrypted by computer systems (e.g., server 30, selected client devices 12a-c) controlled by representatives of company A. Privacy is further enhanced by the fact that in the embodiments illustrated in Figs. 11 and 13, distribution server 30 may not have access to the original data as such, but only to the “public portion” thereof, i.e., the portion of the original images that does not display private/confidential elements.
[0092] Применения некоторых вариантов осуществления не ограничиваются обработкой изображений/видеонаблюдением и могут быть адаптированы, среди прочего, к обработке звуковых файлов, документов и электронных сообщений. В одном из таких иллюстративных вариантов осуществления голос целевого человека может быть выбран в качестве приватного элемента. Исходные данные, такие как звукозапись, могут быть обработаны, как показано в данном документе, то есть могут быть разделены на приватную часть и публичную часть, при этом приватная часть может состоять из сегмента исходной записи, содержащего высказывания целевого человека. Затем приватная часть может быть повторно зашифрована прокси с помощью маркера, соответствующего выбранному подмножеству пользователей. При восстановлении соответствующей звукозаписи выбранные пользователи могут слышать речь целевого человека, а другие пользователи - нет. Другой пример варианта осуществления может искажать/скремблировать высказывания определенных слов (например, ругательства, выбранные имена и т. д.).[0092] Applications of some embodiments are not limited to image/video surveillance processing and can be adapted to, among other things, processing audio files, documents, and electronic messages. In one such illustrative embodiment, the voice of a target person may be selected as a private element. Source data, such as an audio recording, may be processed as shown herein, i.e., may be divided into a private part and a public part, where the private part may consist of a segment of the source recording containing the utterances of the target person. The private part may then be re-encrypted by a proxy using a marker corresponding to a selected subset of users. When the corresponding audio recording is reconstructed, the selected users may hear the speech of the target person, while other users may not. Another example of an embodiment may distort/scramble utterances of certain words (e.g., curses, selected names, etc.).
[0093] В примере варианта осуществления обработки документов или сообщений приватные элементы могут содержать определенные имена, адреса, номера телефонов, номера кредитных карт или банковских счетов и т. д. В некоторых вариантах осуществления приватные элементы могут содержать целые части документа, например, конкретный раздел/главу, части, имеющие конкретного автора, части, относящиеся к конкретному предмету. В еще одном примере осуществления приватные элементы могут содержать части разговора (например, обмен электронными сообщениями), которые указывают на конкретные чувства, такие как гнев, угроза, суицидальные мысли, явное сексуальное намерение и т. д. Детекторы 42 элементов могут использовать набор правил или предварительно обученную систему искусственного интеллекта для автоматической идентификации таких приватных элементов в зашифрованном исходном документе. Используя методы выборочного повторного шифрования прокси, как показано в данном документе, один и тот же документ затем может быть распределен среди множества пользователей так, что выбранные пользователи могут видеть соответствующие приватные элементы в открытом тексте, в то время как другие пользователи - нет.[0093] In an example embodiment of document or message processing, private elements may contain specific names, addresses, telephone numbers, credit card or bank account numbers, etc. In some embodiments, private elements may contain entire portions of a document, such as a specific section/chapter, portions having a specific author, portions relating to a specific subject. In another example embodiment, private elements may contain portions of a conversation (e.g., an exchange of emails) that indicate specific feelings, such as anger, threat, suicidal thoughts, overt sexual intent, etc. Element detectors 42 may use a set of rules or a pre-trained artificial intelligence system to automatically identify such private elements in an encrypted source document. Using selective proxy re-encryption techniques as shown herein, the same document may then be distributed to multiple users such that selected users can see the corresponding private elements in plaintext, while other users cannot.
[0094] Специалисту в данной области техники понятно, что описанные выше варианты осуществления могут быть различным образом изменены, без выхода при этом за пределы объема правовой охраны настоящего изобретения. Соответственно, объем правовой охраны настоящего изобретения определен следующей ниже формулой изобретения и ее юридическими эквивалентами.[0094] It will be understood by those skilled in the art that the embodiments described above can be modified in various ways without departing from the scope of legal protection of the present invention. Accordingly, the scope of legal protection of the present invention is defined by the following claims and their legal equivalents.
Claims (60)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/705,604 | 2020-07-07 | ||
| US17/305,322 | 2021-07-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2826373C1 true RU2826373C1 (en) | 2024-09-09 |
Family
ID=
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5269033B2 (en) * | 2009-12-18 | 2013-08-21 | 韓國電子通信研究院 | Image privacy masking method and apparatus |
| CN104040934A (en) * | 2011-12-15 | 2014-09-10 | 英特尔公司 | Protect image privacy when manipulated by cloud services |
| CN106952212B (en) * | 2017-03-14 | 2019-10-15 | 电子科技大学 | A HOG Image Feature Extraction Algorithm Based on Vector Homomorphic Encryption |
| WO2019227009A1 (en) * | 2018-05-24 | 2019-11-28 | Wade Mamadou Ibra | Distributed homomorphic image ecryption and decryption |
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5269033B2 (en) * | 2009-12-18 | 2013-08-21 | 韓國電子通信研究院 | Image privacy masking method and apparatus |
| CN104040934A (en) * | 2011-12-15 | 2014-09-10 | 英特尔公司 | Protect image privacy when manipulated by cloud services |
| CN106952212B (en) * | 2017-03-14 | 2019-10-15 | 电子科技大学 | A HOG Image Feature Extraction Algorithm Based on Vector Homomorphic Encryption |
| WO2019227009A1 (en) * | 2018-05-24 | 2019-11-28 | Wade Mamadou Ibra | Distributed homomorphic image ecryption and decryption |
Non-Patent Citations (1)
| Title |
|---|
| LIN YUAN и др. "Privacy-preserving photo sharing based on a public key infrastructure", сентябрь 2015, DOI:10.1117/12.2190458, URL: https://www.researchgate.net/publication/300347406_Privacy- preserving_photo sharing_based_on_a_public_key_infrastructure. LAN ZHANG и др. "Enable portrait privacy protection in photo capturing and sharing", 24.10.2014, URL: https://arxiv.org/pdf/1410.6582. * |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2021306579B2 (en) | Image distribution using composite re-encrypted images | |
| CN112949545B (en) | Method, apparatus, computing device and medium for recognizing face image | |
| Hamza et al. | An efficient cryptosystem for video surveillance in the internet of things environment | |
| Suganya et al. | Automatic classification for preventing duplication of online multimedia data in secure cloud infrastructure | |
| Luo et al. | Anonymous subject identification and privacy information management in video surveillance | |
| RU2826373C1 (en) | Privacy-preserving image distribution | |
| RU2828473C1 (en) | Distribution of images using composite re-encrypted images | |
| CA3180722C (en) | Privacy-preserving image distribution | |
| CA3184510C (en) | Image distribution using composite re-encrypted images | |
| CN113052045B (en) | Method, apparatus, computing device and medium for identifying finger vein image | |
| WO1999031844A1 (en) | Device for authenticating digital images | |
| HK40084695A (en) | Image distribution using composite re-encrypted images | |
| HK40083692A (en) | Privacy-preserving image distribution | |
| HK40083692B (en) | Privacy-preserving image distribution | |
| Izquierdo et al. | Large-scale multimedia signal processing for security and digital forensics [SI 1163] | |
| Guntuboina et al. | Secure Sharing of CCTV Feed | |
| Roychowdhury et al. | A Hybrid and Multi-objective Approach for Data Leak and Tamper Detection in Healthcare Cloud Data | |
| Khan et al. | Forensic investigation to detect forgeries in ASF files of contemporary IP cameras | |
| CN120614102A (en) | Data processing method and device, electronic device and medium for multi-party secure computing | |
| Ajmera et al. | A Novel Image Encryption Technique Using Genetic Algorithm for Enhanced Data Security | |
| Bhute et al. | Data Hiding for Optimized Security |