The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

20.12.2011 14:44  CryptDB - проект по обеспечению надежного шифрования данных в СУБД

Исследователи из Массачусетского технологического института представили проект CryptDB, в рамках которого предпринята попытка решения проблемы безопасного хранения данных в БД, обслуживаемых в облачных сервисах и других неподконтрольных системах. Основная проблема при хранении важной информации в неподконтрольных СУБД связана с возможностью утечки данных в процессе взлома сервиса или в результате неправомерных действий администраторов. Для решения этой проблемы в CryptDB обеспечена поддержка шифрования, при которой данные на стороне СУБД никогда не фигурируют в открытом виде, а все передаваемые в CУБД запросы содержат только зашифрованные данные, в том числе в условных блоках.

При использовании CryptDB, в процессе выполнения SQL-запросов все действия производятся только с зашифрованными данными, т.е. пользователь может отправить SQL-запрос к СУБД и получить результат без расшифровки информации на стороне сервера (данные будут расшифрованы на оборудовании клиента). Для обеспечения сохранения конфиденциальности информации используется многоуровневая система шифрования, при которой разные данные размещаются на разных вложенных криптографических уровнях, каждый из уровней имеет свой ключ и поддерживает ограниченный набор простейших операций над зашифрованными данными. Для скрытия данных на каждом уровне используются свои методы гомоморфного шифрования, при которых данные необратимо искажаются, но сохраняется возможность совершения определённых математических операций, которые дадут аналогичные результаты, что и операции над исходными данными (можно использовать зашифрованные данные для сравнения, сортировки, сложения и т.д. без предварительной расшифровки, например, выполняется условие decrypt(crypt(A) + crypt(B)) = A + B).

Манипуляции над зашифрованными данными накладывают ограничения на возможность выполнения вычислений внутри запроса (невозможны операции сравнения для вычисляемых значений, например, нельзя использовать "salary > age*2+10", но можно "salary > age" или "salary > 10"), тем не менее поддерживаются большинство агрегатных функций и стандартных типов данных, таких как integer и varchar/text. CryptDB реализован в виде прокси, не требующего модификации кода СУБД. Для выполнения криптографических операций на стороне СУБД используется набор дополнительных функций (UDF, user-defined functions). Прокси состоит из двух частей: специальной библиотеки на языке С++ и модуля на языке Lua. Библиотека содержит реализацию парсера запросов и системы шифрования/расшифровки запросов, которые видоизменяют транзитный запрос, зашифровывая или расшифровывая данные и подставляя UDF-функции для выполнения вычислений и сравнений. Lua-модуль служит для прозрачной передачи запросов и приёма результатов от библиотеки на C++.

CryptDB поддерживает связывание по цепочке ключей шифрования и паролей пользователей СУБД. При такой схеме работы доступ к данным могут получить только пользователи, пароли которых привязаны к ключам шифрования. Администратор СУБД, даже получив каким-то образом ключи шифрования, которые на фигурируют на сервере, не сможет получить доступ данным, не зная паролей владельцев этих данных. Использование привязки ключей к паролям пользователей требует наличия в базе 11-13 уникальных аннотаций схем данных для защиты содержимого около 20 полей, а также правки 2-7 строк кода в web-приложении. В отличие от других подобных разработок, разработчикам CryptDB удалось обеспечить неплохую производительность: по сравнению с обычным MySQL использование CryptDB повышает нагрузку всего на 15-26%. При работе phpBB скорость выполнения операций замедлилась всего на 14.5%, при выполнении тестового набора TPC-C скорость замедлилось на 26%. Размер хранимых на диске данных при этом вырос примерно на 20%.

CryptDB выполнен в роли надстройки, способной работать с любыми СУБД MySQL 5.1 и PostgreSQL 9, не требуя модификации кода СУБД. Код CryptDB доступен через Git-репозиторий проекта (git clone -b public git://g.csail.mit.edu/cryptdb).

  1. Главная ссылка к новости (http://www.forbes.com/sites/an...)
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: cryptdb, crypt, database, mysql, postgresql
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Ваня (?), 15:31, 20/12/2011 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Идея интересная, но я что-то не понял:

    1. нельзя использовать "salary > age*2+10", но можно "salary > age" или "salary > 10"

    Это как так? Если "salary>age" и "salary>10" катит, значит значения обоих полей нам известны. Что мешает произвести над известными значениями мат.операцию?

    2. если значение salary и age нам известны, то где "все действия производятся только с зашифрованными данными, т.е. пользователь может отправить SQL-запрос к СУБД и получить результат без расшифровки информации на стороне сервера"?

     
     
  • 2.6, Аноним (-), 15:55, 20/12/2011 [^] [ответить]     [к модератору]
  • +/
    For example, it does not support both computation and comparison on the same col... весь текст скрыт [показать]
     
     
  • 3.9, Ваня (?), 16:15, 20/12/2011 [^] [ответить]    [к модератору]  
  • –8 +/
    А по-русски можно? Я этот набор букв прочесть не могу. Если бы мог - читал бы форумы где постят первоисточник как есть, а не в переводе как здесь.
     
     
  • 4.21, Аноним (-), 17:21, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Ваня, ты точно уверен, что ты айтишнег Айтишнеги обычно на уровне Читаю без сл... весь текст скрыт [показать]
     
     
  • 5.23, Ваня (?), 17:27, 20/12/2011 [^] [ответить]     [к модератору]  
  • +2 +/
    Аналогично а вы точно Аноним или у вас всё-таки есть имя Я занимаюсь ИТ, но ... весь текст скрыт [показать]
     
     
  • 6.25, Аноним (-), 17:38, 20/12/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Анонимность - это вещь весьма относительная В одном месте я аноним, в другом - ... весь текст скрыт [показать]
     
     
  • 7.26, Ваня (?), 17:49, 20/12/2011 [^] [ответить]     [к модератору]  
  • +2 +/
    Это не цитата из документации, а запись из блога Как следствие она сделана не н... весь текст скрыт [показать]
     
     
  • 8.31, Аноним (-), 18:25, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    То была как раз цитата из официальной документации http people csail mit edu ... весь текст скрыт [показать]
     
  • 7.35, x0r (??), 20:59, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    не стоит спорить об ощущениях - это бессмысленно
     
  • 2.10, neindog (?), 16:28, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    это высказыние неверно rtfm про гомоморфное шифрование дальнейшая логика, как... весь текст скрыт [показать]
     
     
  • 3.24, Ваня (?), 17:32, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Гомоморфное шифрование 8212 криптографическая система, которая позволяет про... весь текст скрыт [показать]
     
  • 2.11, темный (?), 16:28, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Если salary age и salary 10 катит, значит значения обоих полей нам известны ... весь текст скрыт [показать]
     
     
  • 3.20, Ваня (?), 17:21, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Спасибо за ответ По поводу сравнения двух зашифрованных чисел понятно Но если ... весь текст скрыт [показать]
     
     
  • 4.30, Аноним (-), 18:01, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Почему незашифрованным К числу можно применить точно такое же необратимое преоб... весь текст скрыт [показать]
     
     
  • 5.36, Ваня (?), 21:40, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Если мы можем сравнивать, значит мы можем и вычислять Это житейская логика Нел... весь текст скрыт [показать]
     
     
  • 6.39, Аноним (-), 23:17, 20/12/2011 [^] [ответить]     [к модератору]  
  • +2 +/
    Только клиент знает, что это тройка и пятерка, как и то, что целое число - 4 Но... весь текст скрыт [показать]
     
     
  • 7.41, Иван (??), 10:34, 21/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Хотя я всё это и так понимал, но спасибо за объяснение Я смотрю на это глазами ... весь текст скрыт [показать]
     
  • 3.63, Lena (??), 09:33, 04/01/2012 [^] [ответить]    [к модератору]  
  • +/
    Это что за таинственные секретные стойкие никому не известные шифры, которые сохраняют операцию сравнения больше-меньше?
     
  • 1.2, Ваня (?), 15:34, 20/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Да и замедление на 10-25% это не "всего на", а очень много.
     
     
  • 2.3, Аноним (-), 15:38, 20/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Позволю себе усомниться в цифири.

    Была такая СУБД - Trusted Oracle. Так вот, там замедление в сравнении с одноверсионной обычной СУБД было _в разы_.

     
     
  • 3.45, Михрютка (?), 17:24, 21/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Э, а крипто к FGAC каким боком?
     
     
  • 4.47, Аноним (-), 14:51, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Получше владеть предметом стоит FGAC во времена Trusted Oracle как класс отсутс... весь текст скрыт [показать]
     
     
  • 5.54, Михрютка (?), 17:14, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    здрасти криптовать данные оракл начал с восьмерки а как бы даже и не с девятки... весь текст скрыт [показать]
     
  • 5.64, Lena (??), 09:41, 04/01/2012 [^] [ответить]     [к модератору]  
  • +/
    Это точно, знание - сила RTFM, который называется oracle label security guide, ... весь текст скрыт [показать]
     
  • 2.27, userd (ok), 17:50, 20/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Это как цена - цена может быть большая, но приемлемая. Тут нужно смотреть - что мы приобретаем такой ценой.
     
  • 1.4, all_glory_to_the_hypnotoad (ok), 15:47, 20/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Какой-то берд. Убили весь функционал СУБД, нахрена нужно такое решение. Если уж хочется секьюрности, её нужно делать на уровне самого приложения (т.е. отсылать уже шифрованные блобы только нужных кусков), либо использовать k/v хранилище с подобным решением.
     
     
  • 2.5, Анон (?), 15:51, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    По-моему фишка в том, что такая схема позволяет производить дедупликацию данных и прочие профиты.
     
  • 2.7, Нанобот (?), 16:04, 20/12/2011 [^] [ответить]    [к модератору]  
  • +2 +/
    смысл ихней системы как раз в том, что ничего переделывать не нужно в существующем коде и с большой вероятностью всё будет работать. если судить из новости, они вроде запустили phpbb таким образом.
     
     
  • 3.14, all_glory_to_the_hypnotoad (ok), 17:01, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    это всё так если субд mysql и её юзают как kей-value хранилище
     
  • 2.12, rain87 (?), 16:30, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    так а смысл тогда от облачной базы данных? если в облаке хранить только шифрованные блобы, как искать по базе без предварительного скачивания всей базы? ребята сделали очень интересную и нужную штуку
     
     
  • 3.15, all_glory_to_the_hypnotoad (ok), 17:03, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    так и с этой херней искать не сможешь, кроме совсем тривиальных неинтересных случаев.

    смысла от облачной базы всегда мало, независимо от топика.

     
     
  • 4.17, Аноним (-), 17:04, 20/12/2011 [^] [ответить]     [к модератору]  
  • +3 +/
    Смысл в том, чтобы успокоить хомячье, что даже имеющий физический доступ к облач... весь текст скрыт [показать]
     
     
  • 5.18, Аноним (-), 17:05, 20/12/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    Даже в случае изъятия винтов АНБ ЦРУ КНБ ФСБ и прочими трехбуквенными конторами ... весь текст скрыт [показать]
     
  • 5.22, Ваня (?), 17:23, 20/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Ну, не "успокоить хомячьё", а дать ГАРАНТИЮ серьёзным конторам что тот же SaaS или хостящийся интернет-магазин никто кроме владельца не увидит.
     
     
  • 6.48, Аноним (-), 14:53, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Гарантию может дать только покойник Что не встанет Цена вопроса может быть та... весь текст скрыт [показать]
     
     
  • 7.58, Ваня (?), 10:41, 23/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Принятые в качестве ГОСТА криптографические алгоритмы дают математическую гарант... весь текст скрыт [показать]
     
     
  • 8.61, arisu (ok), 14:10, 23/12/2011 [^] [ответить]    [к модератору]  
  • +/
    ванюша, какой же ты, всё-таки, сказочный дурачок…
     
  • 6.56, Аноним (-), 19:54, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Гарантию что необращаемый алгоритм вдруг не окажется обращаемым Особенно когда... весь текст скрыт [показать]
     
     
  • 7.57, Аноним (-), 19:58, 22/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Многим подойдет, особенно если цена за сервис относительно небольшая, а данные не сверхсекретны
     
  • 7.59, Ваня (?), 10:44, 23/12/2011 [^] [ответить]     [к модератору]  
  • +/
    В основе криптографии как раз и лежит утверждение что злоумышленик заполучил заш... весь текст скрыт [показать]
     
  • 4.33, rain87 (?), 19:09, 20/12/2011 [^] [ответить]     [к модератору]  
  • +1 +/
    ну у авторов херни в тривиальный и неинтересный случай вписался как минимум ph... весь текст скрыт [показать]
     
  • 4.34, Crazy Alex (??), 19:17, 20/12/2011 [^] [ответить]    [к модератору]  
  • +2 +/
    Тривиальных - да. Неинтересных - нет. Можно подумать, что кто-то на больших объёмах ищет по чему-то кроме тривиальных сравнений полей. А сравнивать (и, следовательно, строить индексы) здесь можно.
     
     
  • 5.43, Кирилл (??), 12:56, 21/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Строить индексы по чему? По зашифрованным данным? И по какому признаку определять, что в зашифрованной странице находятся данные, отвечающие, к примеру, признаку не полностью?
     
     
  • 6.46, rain87 (?), 19:03, 21/12/2011 [^] [ответить]     [к модератору]  
  • +/
    сам то понял что сказал кроме шуток, я серьёзно не понял твой вопрос... весь текст скрыт [показать]
     
     
  • 7.62, Кирилл (??), 11:02, 27/12/2011 [^] [ответить]    [к модератору]  
  • +/
    К примеру, когда в страницу попадает не вся строка.
     
  • 3.19, Аноним (-), 17:20, 20/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Ты б погуглил по запросу TDE Много интересного узнаешь За умного, глядишь, сой... весь текст скрыт [показать]
     
     
  • 4.32, rain87 (?), 19:06, 20/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    > Ты б погуглил по запросу TDE. Много интересного узнаешь. За умного, глядишь,
    > сойдешь.

    Encryption of the database file is performed at the page level. The pages in an encrypted database are encrypted before they are written to disk and decrypted when read into memory

    ты б сам сначала погуглил. а то за умного пока не сходишь

     
     
  • 5.49, Аноним (-), 14:53, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    Я, если чо, в Оракле работаю Технарем А ты только из гугола узнаешь обрывки св... весь текст скрыт [показать]
     
     
  • 6.52, rain87 (?), 15:29, 22/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Я, если чо, в Оракле работаю. Технарем. А ты только из гугола
    > узнаешь обрывки сведений.

    мне должно стать стыдно? ты назвал технологию, я прочитал о ней, увидел что она предоставляет совсем не то, о чём новость. ещё вопросы? прозрачное шифрование базы на физическом уровне это очевидное и давно изобретённое решение. а шифрование на уровне данных - я в первый раз увидел такую реализацию

     
  • 1.37, Аноним (-), 22:07, 20/12/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не понятно как это поможет в облаке?
    Как в облаке реализовать безопасное хранение и работу с ключом?
     
     
  • 2.38, Crazy Alex (??), 22:19, 20/12/2011 [^] [ответить]    [к модератору]  
  • +1 +/
    Ключ - на твоем сервере, в твоём приложении. База - в облаке. База не может расшифровать твои данные, но может сделать над ними некоторые операции (в частности - сортировку).
     
     
  • 3.42, Кирилл (??), 12:49, 21/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Т.е. база будет вести операции, не расшифровывая данные? Но тогда набор операций будет очень небольшим и сами операции будут требовать существенно больших затрат.
     
     
  • 4.44, Ваня (?), 12:56, 21/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Сейчас только сравнение (хотя теоретически могли бы сделать сложение и умножение).

    Замедление 10-25%.

     
  • 4.50, Аноним (-), 14:54, 22/12/2011 [^] [ответить]     [к модератору]  
  • –1 +/
    Я не понимаю, вы что, совсем рехнулись Как база может вести операции, не расшиф... весь текст скрыт [показать]
     
     
  • 5.53, rain87 (?), 15:35, 22/12/2011 [^] [ответить]    [к модератору]  
  • +/
    > Я не понимаю, вы что, совсем рехнулись? Как база может вести операции,
    > не расшифровывая данные? Даже Оракл не смог этого сделать и придумал
    > TDE.

    а терь читаем текст новости. да, пора бы, уже покомментил, поязвил. можно и прочитать

     
  • 3.55, Аноним (-), 19:39, 22/12/2011 [^] [ответить]     [к модератору]  
  • +/
    А приложение то где будет Если само приложение не в облаке, пусть даже и на дру... весь текст скрыт [показать]
     
     
  • 4.60, Ваня (?), 10:52, 23/12/2011 [^] [ответить]    [к модератору]  
  • +/
    Приложение в облаке, данные в облаке, пароль у вас. Остальное - вопросы реализации.
     
  • 4.65, Lena (??), 09:55, 04/01/2012 [^] [ответить]    [к модератору]  
  • +/
    > А приложение то где будет? Если само приложение не в облаке, пусть
    > даже и на другом, тогда вообщее не вижу смысла держать базу
    > в облаке.
    > А если приложение тоже в облаке, то как там безопасно хранить ключ?

    зачем приложение в облако совать? Облако для базы хорошо надежностью храения и доступностью данных, а приложение может быть хоть на планшете у клиента.


     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor