Разработка системы шифрования
Этот проект предназначен для того, чтобы продемонстрировать использование шифрования в информационной системе для обеспечения аутентификации, конфиденциальности и целостности. В данном проекте подразумевается применение как систем шифрования с секретным ключом (AES), так и систем с открытым ключом (RSA или Диффи-Хеллмана).
В организации, на которую вы работаете, требуется принимать транзакции от партнера. К сожалению, используемая внутри организации система не поддерживает работу с коммерческими VPN, и поэтому в организации создается система шифрования в своем собственном специально разработанном приложении. Вам поручено внести предложения по поводу того, как должна работать система шифрования. В своем текущем состоянии система транзакций принимает TCP-соединение от партнера организации, оценивает поступающие данные и делает соответствующие записи в базе данных. После этого сервер передает подтверждение в систему партнера через то же самое соединение. Информация при передаче должна сохраняться в секрете, а также защищаться от несанкционированного изменения. Сервер должен осуществлять аутентификацию инициатора транзакции, так как только одна система в сети партнера авторизована для инициирования транзакций.
Шаг за шагом
- Определите конкретные требования для системы шифрования: какая информация должна содержаться в секрете, защищаться от несанкционированного изменения и проходить аутентификацию в рассматриваемой системе.
- Определите, какой тип шифрования (с открытым или секретным ключом) следует использовать для соответствия каждому требованию.
- Определите, где необходимо осуществлять шифрование и дешифрование.
- Определите требования к управлению ключами в системе: каким образом ключи будут создаваться, распространяться, верифицироваться и аннулироваться.
- Разработав структуру системы, проверьте ее на наличие уязвимых мест. Есть ли в ней места, через которые потенциальный злоумышленник может получить доступ к системе?
- Проверьте систему на реализуемость. Будет ли система пригодна к использованию на практике?
- Что потребуется при использовании шифрования от других компонентов системы, политик и процедур обеих организаций?
Выводы
Выбор типа системы шифрования - довольно простая задача. Имейте в виду, что аутентификация может обеспечиваться шифрованием обоих типов, однако при использовании шифрования с секретным ключом имеет место ряд ограничений. Значительно усложнить систему могут аспекты, связанные с управлением ключами. Помните, что здесь речь шла об одной системе, и не требовалась разработка расширяемой и масштабируемой системы.
Не стоит опасаться наложения ограничений на другие аспекты системы. Помните, что шифрование - не панацея, и поэтому его использование подразумевает соответствие этим требованиям при решении некоторых проблем безопасности.