Найти тему
Програмпроф

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

Оглавление

Основная цель архитектуры CryptSDLC заключается в поддержке процесса разработки криптографических приложений. Это концептуальный подход к построению и оптимизации типовых задач, определенных в криптографической инженерии. Модель помогает справиться со сложностью и междисциплинарным характером проектирования криптографических приложений.

Развитие архитектуры обусловлено двумя факторами:

  1. Инструмент для улучшения коммуникации между специалистами различных дисциплин.
  2. Основой для разработки сопутствующей методологии, которая опирается на коммуникационную структуру, определенную в архитектуре с ее уровнями и интерфейсами.

Целями архитектуры являются:

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

Архитектурные слои

Архитектура CryptSDLC состоит из четырех различных уровней, три из которых представляют большой интерес для данного документа, а именно:

  • примитивы,
  • инструменты,
  • службы,
  • приложений.

Примитивные слои

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

Слой инструментов

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

Разработка инструментов основывается на строгих криптографических моделях и в идеале обеспечивает надежную защиту реалистичных моделей противника. Для разработчиков программного обеспечения инструментальный уровень должен предоставлять всю документацию для корректного использования и интеграции библиотек инструментов в сервиса.

 https://pixabay.com/ru/illustrations/криптография-шифрование-1091254/
https://pixabay.com/ru/illustrations/криптография-шифрование-1091254/

Сервисный уровень

Облачные вычисления радикально меняют то, как IТ-ресурсы влияют на создание ПО. Хотя дизайн, основанный на услугах и микроуслугах, не является чем-то новым, он становится доминирующей моделью в промышленности для повышения гибкости и повторного использования компонентов. Вдали от монолитной архитектуры сталкиваются с переходом к сервис-ориентированной архитектуре (SOA), где услуги взаимосвязаны и развернуты в распределенной манере, распространяющейся по традиционным периметрам.

Сервис CryptSDLC можно рассматривать как настройку конкретного инструмента для одного конкретного приложения - службу инстанцированием инструмента. Это способ доставки инструмента разработчикам системы и приложений, пользователям инструментов, в предварительно сконфигурированном и доступном виде. Они смогут интегрировать сервиса без более глубокого понимания инструментов и примитивов. Поскольку службы построены на основе инструментов CryptSDLC, они обеспечивают надежные гарантии безопасности и построены правильно. Этот подход отличается от широко применяемой специальной интеграции криптографических решений в приложения и помогает избежать распространенных подводных камней при проектировании и внедрении систем.

Уровень приложений

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

Концепция CryptSDLC следует этой тенденции, и сервис-ориентированный подход является современным способом предоставления доступа к функциям безопасности для облачных архитекторов и разработчиков приложений.

Устранение пробелов

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

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

Например, криптографы и разработчики программного обеспечения работают вместе над созданием инструментов CryptSDLC.

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

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

Каждая служба имеет множество потенциальных приложений, в которых она может быть повторно использована в соответствии с требованиями безопасности или защиты данных, специфичными для конкретного домена клиента или предприятия. Это снова устраняет первый пробел, поскольку позволяет гибко и гибко повторно использовать функции безопасности на основе криптографии и позволяет формальное моделирование до самого высокого возможного уровня с разумными усилиями.