Pull to refresh

CryptDB: обработка информации в БД без её дешифрования

Reading time 2 min
Views 4.7K
Исследователи из МТИ представили СУБД CryptDB, которая способна эффективно обслуживать запросы к БД SQL — поиск, сортировка, математические функции и др. — без расшифровки записей базы. Хотя это не первая разработка подобного рода, но благодаря беспрецедентной производительности эксперты считают CryptDB первой, реально пригодной для практического использования. Предполагается, что подобные разработки могут найти применения в системах облачного хранения данных, которые особенно нуждаются в криптографической защите.


Архитектура CryptDB

Подход, реализованный в CryptDB, называется полным гомоморфным шифрованием. Первую полностью гомоморфную модель для СУБД предложил в 2009 году криптограф из IBM Research Крейг Джентри (Craig Gentry), она является гомоморфной для операций умножения и сложения одновременно, что даёт возможность выразить любую математическую функцию. Правда, была одна проблема: скорость операций по сравнению с обычной СУБД возрастала примерно в триллион раз.

С другой стороны, CryptDB уменьшает скорость большинства операций в базе данных БД SQL всего на 15-26% по сравнению с MySQL.



Исследователи МТИ поставили производительность в качестве главного приоритета, поэтому в своём проекте они применили разные алгоритмы, каждый из которых лучше всего справляется с определённой задачей. Например, для операций умножения зашифрованных данных используется RSA, а для сложения — Paillier. Для операций сравнения и сортировки используются другие схемы.

Собственно, самой инновационной частью CryptDB является именно способность переключаться на лету между различными криптографическими схемами, в зависимости от типа выполняемой операции. Это реализовано за счёт «луковичного» многоступенчатого шифрования, когда данные зашифрованы в несколько слоёв разными алгоритмами. У каждого слоя — свой ключ и свой список поддерживаемых операций. На нижнем слое используются самые надёжные алгоритмы, а операции в верхних слоях возможны без расшифровки нижних слоёв.



К сожалению, у CryptDB есть определённые ограничения. Например, эта система не способна вычислять квадратный корень и не поддерживает некоторые другие нужные операции с записями. Кроме того, при расшифровке верхних слоёв система выдаёт потенциальному злоумышленнику некоторые атрибуты записей БД. Но это скорее теоретические, чем практические недостатки. В опубликованной научной работе разработчики оценили систему на простых вариантах использования: БД для форума phpBB и БД для учебного веб-приложения в университете. По их оценке, в этих случаях CryptDB выполняет около 99,5% необходимых операций и не выдаёт никакой приватной информации.


Схема передачи приватного сообщения на форуме phpBB с использованием CryptDB гарантирует, что сообщение могут увидеть только отправитель и получатель. Если потенциальный злоумышленник получит контроль над форумом, то увидит приватные сообщения лишь пользователей с открытыми сессиями.

CryptDB: Protecting Confidentiality with Encrypted Query Processing. Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich, Hari Balakrishnan MIT CSAIL

via Forbes
Tags:
Hubs:
+32
Comments 17
Comments Comments 17

Articles