середа, 19 лютого 2014 р.

Улучшения в облачных образах Ubuntu 14.04 LTS

Криптография очень сильно зависит от качества случайных чисел. Они используются при генерации криптографических ключей SSL, SSH, GPG, соли /etc/shadow, в последовательностях чисел TCP, в создании UUID, ключах dm-crypt и eCryptfs. Компьютеры сами по своей сущности - детерминированные устройства! А новые технологии в виде виртуализации и облачных платформ не способствуют улучшению доступности меры хаотичности - энтропии!

Ведь у виртуальных серверов в отличии от физических нет клавиатуры с мышкой, IRQ аппаратуры эмулируется, блочные устройства сплошь виртуализированы и кэшированы гипервизором.

Pollen.

Canonical предлагает выход и зовётся он Pollen. Это не что иное как Entropy-as-a-Service, то есть энтропия как сервис. Нас ждёт кластер серверов энтропии entropy.ubuntu.com, который доступен по HTTP и HTTPS. У кластера энтропии в распоряжении есть различные аппаратные источники энтропии, что позволяет выдавать на запрос клиента 512 бит случайности.

Pollen написан на языке Go и лицензирован под AGPL. Вы можете установить свой сервер pollen, если обладаете хорошими аппаратными источниками энтропии и/или не доверяете никому.

Что доступно Canonical при обращении к его кластеру энтропии?

  • timestamp.
  • IP и порт, хотя информация о них пропадает, благодаря балансеру нагрузки.
  • строка user-agent.

Запросы и ответы, а так же сгенерированный seed НИКОГДА НЕ журналируются!

Pollinate.

В новых облачных образах Ubuntu 14.04 LTS есть pollinate, который является свободным ПО под лицензией GPLv3. Pollinate (клиент Entropy-as-a-Service), по сути своей, обёртка над curl. В Upstart есть job для Pollinate и поэтому разбавление /dev/urandom происходит автоматически до генерации каких-либо ключей.

Если вы не доверяете Canonical, то можете в /etc/default/pollinate изменить $POOL и указать свой источник типа random.org или даже news.google.com.

Задача Pollinate улучшить качество случайных чисел. Чтобы устранить компрометацию SSL или атаки CA Man-in-the-Middle, pollinate идёт с публичным сертификатом entropy.ubuntu.com, который находится в /etc/pollinate/entropy.ubuntu.com.pem и curl использует данный сертификат. Так же можно добавить свои неизвестные никому URL в переменную $POOL в /etc/default/pollinate

Кто-то проводил аудит нового решения от Canonical?

Исходники сервера pollen и клиента pollinate доступны. Ubuntu Security проверила и одобрила реализацию. Трое экспертов по безопасности, не работающие в и на Canonical проверяли дизайн и реализацию. Но любой, дополнительный, сторонний аудит только приветствуется!

Дополнительные материалы:
Контейнеры LXC могут использовать Pollinate.
Ubuntu в числах.
Intel считает, что Canonical является лидером безопасных облачных решений.
Безопасность Ubuntu.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments