Я написал службу WCF, которая возвращает «полуприватные» данные, касающиеся имени, адреса и номера телефона людей. Под полуприватным я подразумеваю, что для доступа к данным есть имя пользователя и пароль, и данные должны быть защищены при передаче. Тем не менее, ИМХО, никто не собирается тратить энергию на получение данных, так как в любом случае они в основном доступны в общедоступной телефонной книге и т. Д. На каком-то уровне безопасность — это своего рода «театр» безопасности, чтобы поставить галочки в некоторых навязанных нам полях. государственными органами.
Клиентская часть службы представляет собой приложение, которое выдается зарегистрированным «пользователям» для запуска в рамках их собственных ИТ-настроек. У нас нет контроля над ИТ пользователей, и на самом деле они часто говорят нам «прыгать», если мы предъявляем к их системам слишком много требований.
Одна из проблем, с которой мы сталкиваемся, заключается в том, что многие пользователи имеют неточные системные часы. Это может быть вызвано либо подлинными медленными/быстрыми часами, либо, что более вероятно, ошибкой часового пояса или зоны перехода на летнее время (отставание их машины от «реального» времени на час). Особенность используемых нами привязок WCF заключается в том, что они полагаются на понятие времени для обнаружения повторных атак и т. д.
<wsHttpBinding>
<binding name="normalWsBinding" maxBufferPoolSize="524288" maxReceivedMessageSize="655360">
<reliableSession enabled="false" />
<security mode="Message">
<message clientCredentialType="UserName" negotiateServiceCredential="false"
algorithmSuite="Default" establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
Неточные часы клиента вызывают генерацию исключений безопасности и недовольство пользователей.
Мы знаем, что помимо предложения пользователям корректировать свои часы, мы можем увеличить рассогласование часов в привязках безопасности.
http://www.danrigsby.com/blog/index.php/2008/08/26/change-the-default-clock-skew-in-wcf/
Мой вопрос: каковы реальные практические последствия увеличения перекоса до 2 часов с точки зрения безопасности? Если злоумышленник может выполнить какую-то атаку повторного воспроизведения, почему окно смещения часов в 5 минут обязательно должно быть безопаснее, чем 2 часа? Я предполагаю, что для выполнения любой атаки с режимом безопасности «сообщение» требуется больше, чем просто захват некоторых данных на прокси-сервере и повторная отправка данных для «воспроизведения» вызова? В ситуации, подобной моей, когда данные только «читаются» пользователями, есть ли вообще какие-либо последствия для безопасности, связанные с разрешением атак «повторить»?