Использует ли SSL внутреннее хеширование? - PullRequest
1 голос
/ 02 ноября 2010

Мы находимся в процессе сертификации нашей медицинской продукции (сертификация Hitech).Одним из критериев процесса сертификации является то, что наш продукт должен быть способен использовать «хеширование» при отправке информации о пациенте по сети.Наш продукт - это толстый клиент, который напрямую подключается к базе данных Sql Server 2005.Поэтому, когда мы отправляем информацию о пациенте от клиента в процедуру хранения БД, она должна использовать «хеширование», чтобы убедиться, что информация не была изменена при передаче.

Теперь мы планируем подключить нашего клиента к SqlСервер использует защищенное соединение SSL.Когда я читаю о протоколе SSL, кажется, что SSL использует внутреннее хеширование.Так что, если это правда, я мог бы автоматически удовлетворить требование хеширования, используя SSL-соединение между клиентом и sql svr.

Так вот мои вопросы

  • Когда данные передаются по соединению SSLЯвляется ли каждое сообщение внутренне прикрепленным к хэшу, так что протокол SSL проверяет, что данные не были изменены?
  • Использует ли SSL механизм хеширования только на начальных этапах своего рукопожатия?Таким образом, после того, как рукопожатие завершено, оно только шифрует / дешифрует данные без какого-либо механизма хеширования?
  • Если SSL прикрепляет хэш для каждого сообщения, используется ли «открытый ключ» для создания хеша?

Ответы [ 5 ]

2 голосов
/ 02 ноября 2010

Даже если SSL использует хэширование, это обеспечит только часть передачи, которую обрабатывает SSL. Между клиентским приложением и сетевым соединением, а также между сетевым соединением и серверным приложением все еще существует разрыв.

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

2 голосов
/ 02 ноября 2010

Это зависит. Обе стороны могут договориться об уровне защиты и используемых алгоритмах. Наиболее распространенным случаем является то, что при согласовании используется TLS , а не SSL, запрашивается конфиденциальность сообщения (т. Е. Шифрование) и запрашивается защита от подделки (т. Е. Подписывание). TLS использует хэширование сообщений на основе HMAC , см. Главу 5 RFC2246 . SSL использует MAC , который немного слабее, чем HMAC (MAC не содержит секрета в своем дайджесте).

В режиме просмотра на уровне 10000 футов ответом будет «Да, SSL хэширует каждое сообщение». Внедрение SSL-шифрования в клиентском протоколе SQL Server обычно требуется при совместимых развертываниях. Дополнительные сведения и рекомендации см. В веб-трансляции и технических документах по адресу Соответствие SQL Server .

.
1 голос
/ 02 ноября 2010

SSL или TLS (вы, вероятно, сможете использовать TLSv1.0 по крайней мере в наши дни, даже когда говорите о "SSL"), нацелены на защиту целей " [...] для обеспечения конфиденциальности ицелостность данных между двумя взаимодействующими приложениями"(см. RFC ).

RFC 4346 продолжает:

Протокол записи TLS обеспечивает безопасность соединения, чтоимеет два основных свойства:

  • Соединение является частным.[...]
  • Соединение надежное.Транспорт сообщений включает проверку целостности сообщений с использованием MAC с ключами.Безопасные хеш-функции (например, SHA, MD5 и т. Д.) Используются для вычислений MAC.Протокол записи может работать без MAC, но обычно используется только в этом режиме, в то время как другой протокол использует протокол записи в качестве транспорта для согласования параметров безопасности.

Так что да, этообнаружит попытки повредить передачу данных (умышленное или случайное).

1 голос
/ 02 ноября 2010

SSL сильнее, чем хеширование.Это должно удовлетворить ваши требования.

Я буду более ясным:

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

Требование было написано с расчетом на то, что большая часть связи была осуществлена ​​в открытом виде.С использованием SSL вы легко выполняете это требование.

Важное примечание. Убедитесь, что связь SSL правильно реализована - это единственная точка отказа.

0 голосов
/ 04 ноября 2010

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

Да.Он добавляет MAC-ключ с ключом к каждой обмениваемой записи TLS.

Использует ли SSL механизм хеширования только на начальных этапах своего рукопожатия?

Нет, это происходит повсеместно.

Если SSL прикрепляет хеш для каждого сообщения, используется ли «открытый ключ» для создания хеша?

Нет.Общий секрет используется для создания хэша.

Подробнее см. RFC2246 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...