Нужно ли мне проверять целостность данных после отправки файла по ftp?

Мне нужно передать некоторые файлы с удаленного компьютера (в локальной сети), и я планирую сделать это через FTP.

Очевидно, FTP основан на протоколе TCP, и если я хорошо помню свои уроки, разница между TCP и UDP заключается в том, что TCP проверяет правильность отправки и получения сетевых пакетов.

Спросив себя, нужно ли мне добавлять проверку контрольной суммы, я пришел к выводу, что мне не нужно. Я прав ?

Я знаю о различиях между двоичной передачей и передачей текста и планирую выполнять только двоичную передачу (работает только в Windows).

Мне действительно нужно проверять контрольную сумму больших файлов, передаваемых по двоичному протоколу FTP?

Понятно, мне нужна целостность данных, чтобы убедиться, что некоторые биты не были изменены во время обмена. Человек посередине не представляет (большой) проблемы, потому что операция будет выполняться в частной сети.


person vdolez    schedule 21.06.2016    source источник
comment
Я не уверен, что это секретный вопрос. Если только вы не интересовались безопасностью?   -  person schroeder    schedule 21.06.2016
comment
Не могли бы вы вместо этого использовать SFTP? Это победило бы аспект MITM.   -  person schroeder    schedule 21.06.2016
comment
вам не НУЖНО, но вы можете ХОТИТЬ, когда заботитесь о целостности   -  person dandavis    schedule 21.06.2016
comment
@schroeder: Целостность данных - это вопрос безопасности. Представьте себе транзит банковской операции и вдруг появился бит и 10 $ превратились в 100 $ ...   -  person vdolez    schedule 21.06.2016
comment
В общем, конечно. Но это чисто вопрос о контрольной сумме, что делает его скорее вопросом программирования.   -  person schroeder    schedule 21.06.2016
comment
Контрольная сумма TCP не является контрольной суммой безопасности. Если кто-то вмешивается в трафик, он может легко сгенерировать контрольные суммы, соответствующие измененному трафику. SFTP использует контрольные суммы безопасности, а также шифрование.   -  person paj28    schedule 21.06.2016
comment
@schroeder: будет ли использование SFTP или FTPS более высокого уровня обнаружения битовых ошибок?   -  person vdolez    schedule 21.06.2016


Ответы (1)


Да, конечно.

Человек посередине может изменять любые TCP-пакеты на пути от ftp-сервера к вашему сайту или даже действовать как вредоносный ftp-сайт и полностью подавлять исходный трафик.

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

person jk - Reinstate Monica    schedule 21.06.2016
comment
Но как тогда мне сообщить контрольную сумму? По другому протоколу? - person vdolez; 21.06.2016
comment
@Kil: Да, конечно, по другому протоколу. Например. Apache имеет страницы загрузки, доступные через https (безопасный протокол), но использует ftp для быстрого и эффективного распространения программного обеспечения. - person jk - Reinstate Monica; 21.06.2016
comment
@jknappen FTP не является ни быстрым, ни эффективным для передачи файлов. Понятия не имею, почему он до сих пор так широко используется для распространения программного обеспечения ... - person Najkin; 21.06.2016
comment
@jknappen: что делать, если есть демоновское сканирование, когда файл передается через FTP и автоматически обрабатывает данные в нем. Мне нужно, чтобы это было автоматизировано. - person vdolez; 21.06.2016
comment
Вы также можете автоматизировать проверку контрольной суммы. В качестве альтернативы, поскольку вы контролируете оба конца цепочки, вы можете подписать передаваемый файл криптографической подписью и проверить это. - person jk - Reinstate Monica; 21.06.2016