Как я могу улучшить безопасность своей клиент-серверной системы? - PullRequest
3 голосов
/ 02 марта 2010

Я построил систему клиент-сервер, где клиенты входят в систему для безопасного взаимодействия с другими клиентами через сервер.

Вот свойства моей системы:

-Клиент-сервер взаимодействует с шифрованием SSL

-Клиенты для входа в систему надежно хранятся в виде хэшей с их солью в базе данных, хранящейся локально на сервере

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

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

-MAC отправляется вместе с каждым сообщением

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 02 марта 2010

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

0 голосов
/ 02 марта 2010

Похоже, что вы смотрите на эту проблему совершенно случайно - создайте модель угрозы для вашего проекта; и смягчения придут к вам! Начните здесь: http://www.microsoft.com/security/sdl/getstarted/threatmodeling.aspx

...