
Я написал тестовый клиент и сервер, используя библиотеку Cyrus SASL, и я вручную заставляю его выбирать GSSAPI в качестве механизма. Во время отладки я выводил md5sum каждого сообщения, которое передавалось между ними. Я заметил, что последовательность, похоже, одинакова каждый раз, когда я подключаюсь. То есть, если последовательность сообщений при первом согласовании была clientMessage1, serverResponse1, clientMessage2 и т. д. для успешной аутентификации, если я затем перезапускаю свой клиент, та же последовательность clientMessage1, serverResponse2, clientMessage2 и т. д. повторяется.
Мне кажется, что это будет проблемой безопасности. Правильное ли это поведение, и если да, то следует ли мне обернуть эти коммуникации в TLS или что-то еще?
решение1
GSSAPI может использовать любое количество базовых протоколов. Однако вы правы, атака повторного воспроизведения может произойти, если он повторяет одни и те же сообщения.
Знаете ли вы, какой низкоуровневый протокол использовался поверх GSSAPI?