Swift Homomorphic Encryption, библиотеката с отворен код на Apple за хомоморфно криптиране

Apple-бързо-хомоморфно-криптиране

Преди няколко дни, Apple обяви чрез съобщение развитието на a библиотека с отворен код който прилага методи на Хомоморфно криптиране в Swift. Мнозина ще си помислят, че Apple е 100% затворена софтуерна компания (това благодарение на нейните операционни системи iOS и MacOS), но истината е, че това не е така, тъй като Apple също допринася за безплатния софтуер и има различни проекти на Apple, които са Те се разпространяват под банер с отворен код.

Ярък пример за това е езикът за програмиране Swift, както и някои компоненти на MacOS. Можете да се консултирате с тези и другите изходни кодове на проекти на Apple, които са пуснати под лицензи с отворен код на уебсайта Отворен код в Apple, както и в хранилищата на GitHub.

Сега преминаваме към основната тема на публикацията, която е „Бързо хомоморфно криптиране“, можем да споменем това Тази библиотека позволява на разработчиците да създават приложения, които обработват криптирани данни без необходимост от междинно дешифриране на всеки етап от изчислението. Крайният резултат също е криптирани данни, еквивалентно на криптиран резултат от същите изчисления, извършени върху некриптирани данни.

Хомоморфното криптиране е криптографска техника, която позволява извършването на изчисления върху криптирани данни, без да се разкриват основните некриптирани данни на операционния процес. Той предоставя средства за клиентите да изпращат криптирани данни до сървър, който работи с тези криптирани данни и връща резултат, който клиентът може да дешифрира. По време на изпълнението на заявката самият сървър никога не дешифрира оригиналните данни, нито има достъп до ключа за дешифриране. 

Относно Swift Homomorphic Encryption

Споменава се, че изпълнението се основава на схемата Бракерски-Фан-ВеркаутеренЧе използва проблем с грешка при обучение на пръстен (RLWE), устойчива на криптоанализ чрез квантови компютри. За примитиви за криптиране на ниско ниво, той разчита на библиотеката Swift Crypto.

Този тип криптиране Той е особено полезен в облачните услуги за обработка на поверителна информация, електронни системи за гласуване, обработка на криптирани данни в системи за управление на бази данни (СУБД) и сигурно обучение на системи за машинно обучение.

В Apple използваме хомоморфно криптиране в собствената си работа; Ето защо, ние сме щастливи да споделим тази реализация на Swift в общността, за да могат другите да я използват и да допринасят.

Пример за това как използваме тази реализация в iOS 18 е новата функция Live Caller ID Lookup, която предоставя услуги за идентификация на обаждащия се и блокиране на нежелана поща. Live Caller ID Lookup използва хомоморфно криптиране, за да изпрати криптирана заявка до сървър, който може да предостави информация за телефонен номер, без сървърът да знае конкретния телефонен номер в заявката. За да демонстрираме това, ние също така споделяме live-caller-id-lookup-example, който предоставя работещ примерен бекенд за тестване на функцията Live Caller ID Lookup с помощта на хомоморфно криптиране.

Как работи хомоморфното криптиране на Swift?

Процесът на работа с криптирани данни включва потребителят да криптира данните и да ги изпрати на външен сървър, без да разкрива ключовете. Сървърът извършва необходимите изчисления и генерира криптиран резултат, без да има достъп до оригиналната информация. След това потребителят дешифрира резултата със свои собствени ключове, като получава данните в ясен текст.

В момента Apple използва хомоморфно криптиране в инфраструктурата за проверка на „идентификационния номер на обаждащия се“ и начинът, по който работи, е следният:

  • Потребителят криптира своя телефонен номер с помощта на хомоморфно криптиране и го изпраща на сървъра на Apple.
  • Хомоморфното криптиране позволява да се извършват изчисления върху криптирани данни, без да е необходимо те да се дешифрират.
  • Сървърът на Apple получава шифрования номер и проверява присъствието му в черни списъци, за да блокира нежелана поща или в бази данни за собственост на номера.
  • Проверката се извършва директно върху криптираните данни, без да се дешифрират, като се използва хомоморфно криптиране.

Търсене на идентификация на обаждащия се на живо

В допълнение към това се споменава, че разлика от традиционните методи където цялата база данни трябва да бъде прехвърлена на клиента за проверка, Тази система позволява само малка част от метаданните да бъдат изпратени на клиента. Това улеснява проверката на много големи бази данни, които биха били

И накрая, заслужава да се спомене, че кодът от страна на сървъра е публикуван под лиценза Apache 2.0. Дрямка заинтересовани да научат повече за това, можете да проверите подробностите в следваща връзка.