Я создаю для себя программу, которая сохранит мои пароли. Теперь у меня есть следующие вопросы. Поскольку у меня много компьютеров (один для работы, три для меня самого), я хочу, чтобы пароли синхронизировались с сервером. Но теперь мой вопрос: Какой самый безопасный способ отправки данных через Интернет с помощью C#? Возможно ли сделать соединение настолько безопасным, что я могу отправлять ему пароли? И, возможно, любые предложения для приложения.отправить данные через Интернет безопасным способом
ответ
Да, вы можете сделать это достаточно безопасным. Во-первых, я бы порекомендовал против, написав свой собственный стек протоколов, просто потому, что настолько невероятно легко сделать простую ошибку, что было бы тривиально взломать систему безопасности.
(Очевидно, что существует множество уже существующих услуг (например, 1Password, passpack и т.д.), но я предполагаю, что вы знаете, что уже.)
Я рекомендую вам сосредоточиться на синхронизации и UI и оставить безопасность проверенным библиотекам. Одним из таких решений является использование SSH с аутентификацией RSA и известными ключами хоста. Это используется на многих производственных площадках, и AFAIK считается достаточно безопасным (хотя в одной из самых популярных реализаций, OpenSSH, несколько лет назад, был один hole, что было довольно неплохо). Протокол SSH можно использовать в качестве носителя для всех видов разных протоколов, включая собственный протокол синхронизации паролей (для этого вы могли бы просто использовать SOAP или JSON-RPC или что-то подобное, что для этого существует множество библиотек).
Вы можете интегрировать непосредственно с C# с помощью клиентской библиотеки SSH (https://sshnet.codeplex.com был первым хитом Google). Однако у меня нет опыта использования C#, чтобы говорить SSH. Обычно я делаю это, чтобы позволить существующему клиенту SSH (например, PuTTY) открыть порт вперед, а затем использовать обычные TCP-сокеты. Все зависит от того, насколько вы хотите использовать приложение синхронизации, но поскольку вы пишете его только для себя, я бы пошел с последним.
Если вы умеете писать свое приложение, вам не нужна серверная часть, кроме вашей собственной (например, SSH реализует SFTP для хранения файлов).
Аналогичная идея заключается в использовании SSL. Если вы доверяете цепочке сертификатов, это можно сделать достаточно безопасным, но мой опыт заключается в том, что API-интерфейс SSL-сокета по умолчанию на C# слишком сильно связан с архитектурой Windows, что упрощает работу с проверкой сертификата. Использование публично открытого сервера для вашей службы (непосредственно через IIS) также открывает множество новых векторов атак.
- 1. Отправить страницу через URL-адрес безопасным способом?
- 2. php, как отправить данные формы безопасным способом?
- 3. Отправить форму переменной безопасным способом
- 4. Как отправить данные через Интернет через консоль
- 5. Как отправить электронную почту через Gmail SMTP безопасным способом
- 6. Самый быстрый способ отправить данные через Интернет между рубиновыми программами?
- 7. Как хранить данные в поиске безопасным способом?
- 8. Нужно отправить данные с Ruby на C# через Интернет
- 9. Отправить единый бит через Интернет
- 10. .NET Process.Kill() безопасным способом
- 11. Замена memcpy безопасным способом
- 12. Переименовать класс безопасным способом?
- 13. Написание класса безопасным способом
- 14. Отправка электронной почты безопасным способом
- 15. iOS Отправить данные через Интернет при подключении телефона
- 16. Как я могу отправить данные через Интернет с помощью сокета?
- 17. iPhone SDK: как отправить данные на сервер через Интернет?
- 18. Как передавать данные через Интернет?
- 19. Как отправить пакет датаграммы через Интернет?
- 20. Умножая фракции безопасным способом C#
- 21. Вызов php-страницы безопасным способом
- 22. Моделирование POST API безопасным способом
- 23. Обновите ConcurrentHashMap потоковым безопасным способом
- 24. Сортировка Winforms TreeView безопасным способом?
- 25. Как отправить данные безопасным способом между клиентом и сервером, используя только симметричную криптографию
- 26. Является ли это безопасным способом массового назначения через контроллер?
- 27. Как отправить PDF-файл через интернет?
- 28. Пересылка данных через Интернет
- 29. Перенаправление пользователей и данных безопасным способом
- 30. Как захватить только текст элементов HTML безопасным и безопасным способом
Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Вы слышали о WCF? –
Thx для названия, и я просматриваю часть WCF :) – kevingoos