Найти в Дзене
Програмпроф

Cryptographic software development lifecycle: требованя в разработке ПО

Cryptographic Software Development Lifecycle (CryptSDLC) определяет способ прохождения через слои архитектуры (описанные в предыдущей статье). CryptSDLC может рассматриваться как расширение SSDLC и должен помочь разработчикам ПО получить право на криптографическое использование в своих приложениях. В качестве основного вклада он стандартизирует шаги, необходимые при переходе с одного уровня на другой, и согласовывает их с общими фазами классических моделей SSDLC. Основными этапами являются: CryptSDLC может быть использован для продления жизненного цикла обычного ПО. Вводит дополнительное измерение, позволяющее справляться с криптографической инженерией, и имеет сильный фокус на требования и фазу проектирования. На этапе требований следующие шаги дают нисходящий подход к сбору криптографических требований: Во всех слоях переход на более низкие уровни осуществляется только в том случае, если требования уже не могут быть выполнены с помощью доступных решений в соответствии со следующей
Оглавление

Cryptographic Software Development Lifecycle (CryptSDLC) определяет способ прохождения через слои архитектуры (описанные в предыдущей статье). CryptSDLC может рассматриваться как расширение SSDLC и должен помочь разработчикам ПО получить право на криптографическое использование в своих приложениях. В качестве основного вклада он стандартизирует шаги, необходимые при переходе с одного уровня на другой, и согласовывает их с общими фазами классических моделей SSDLC.

Основными этапами являются:

  • Погружение
  • Перевод
  • Карта сверху вниз
  • Доказательство
  • Развертывание
  • Извлечение снизу-вверх.

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

  • Выведите требования. На основании собранных требований получаем наиболее важные из них для основной криптографической службы, которую мы хотим использовать или создавать.
  • Переводить требования. Требования переведены на более официальный язык, который может быть понятен и использован криптографами для начала своих исследований и разработки.
  • Карта к модели. Чтобы инициировать исследования примитивов и протоколов, выявленные пробелы на инструментальном уровне должны быть соотнесены с целями исследований в криптографии для конкретных примитивов или протоколов. На этапах проектирования и разработки используется восходящий подход и определяем следующие шаги для продвижения вверх в архитектуре CryptSDLC.
  • Докажите безопасность. Инструмент должен быть как можно лучше построен с помощью формальных методов, используемых в криптографии. Цель состоит в том, чтобы поддержать функции посредством определения протоколов, которые можно доказать, как безопасные.
  • Развертывание инструмента. Компоненты инструмента выстроены в архитектуру сервиса таким образом, что становится понятно, как функции инструмента транслируют требования безопасности, выполняемые сервисом.
  • Извлечение потенциала. На основе особенностей инструмента и модели развертывания могут быть извлечены специфические свойства сервиса, называемые возможностями.
 https://pixabay.com/ru/illustrations/blockchain-криптовалюта-деньги-3326155/
https://pixabay.com/ru/illustrations/blockchain-криптовалюта-деньги-3326155/

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

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

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

При тестировании CryptSDLC были выявлены новые шаги: доказательство и развертывание и извлечение которые должны быть рассмотрены в циклах безопасной разработки на этапе проектирования.

1. Доказательство: составление примитивов в инструменты

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

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

2. Развертывание: объединение инструментов в службы

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

  1. Укажите план обслуживания и развертывания, включая заинтересованные стороны.
  2. Выявить основные компоненты в службе и описать их основные характеристики.
  3. Включить компоненты инструментария в состав компонентов обслуживания
  4. Составить карту требований к функциям, предоставляемым инструментом
  5. Создать архитектуру и спецификацию ПО
  6. Реализовать жизненные циклы разработки ПО с комплексной безопасностью
  7. Предложить оперативные рекомендации, такие как модель обеспечения для поддержки этапа производства.

При построении ПО помимо использования правильных алгоритмов следует учитывать и другие аспекты, такие как корректная криптография.

3. Извлечение: реклама воздействия службы

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