Форум программистов, компьютерный форум, киберфорум
Наши страницы
Криптография
Войти
Регистрация
Восстановить пароль
 
saparin
0 / 0 / 0
Регистрация: 30.07.2013
Сообщений: 5
1

Подтверждения размера свободного дискового пространства

08.12.2013, 16:15. Просмотров 317. Ответов 0
Метки нет (Все метки)

Требуется найти способ подтверждения размера свободного дискового пространства заявленного удалённым узлом.
Считается что узел заведомо недобросовестный и может завысить цифру.
Проверка должна занимать несоизмеримо меньше времени чем займёт закачка узлу того-же объёма данных.

Пока нашёл примерно такой метод:
Назовём того, кто проверяет удалённый узел контроллером.
1. Контроллер вычисляет псевдослучайную последовательность (ПСП) с помощью регистра сдвига с линейной обратной связью (РСЛОС).
Делит её на лету на куски, скажем по 512К, и вычисляет хеши от них с некоторой солью. Сохраняет вычисленные хеши и соль.
2. Контроллер передает узлу размер РСЛОС, функцию обратной связи и размер куска
3. Узел вычисляет ПСП на основании переданной ему информации и сохраняет её на диск.
4. Через время, достаточное для вычисления и сохранения ПСП, контроллер передаёт узлу соль и просит его вычислить хеши.
5. Узел вычисляет хеши и передаёт их контроллеру для сверки.

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

6. Если ответ пришёл контроллеру позже назначенного времени, то считается что произошла попытка обмана.
Каждый хеш который не сошёлся приводит к вычитанию из подтверждённого размера диска размера куска (512К).

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

Волнуют меня на данный момент 3 вопроса:
1. Не изобретаю ли я велосипед?
2. Какие ещё подводные камни я не учёл?
3. Можно ли использовать функции обратной связи разной сложности для контроллера и узла (например используя разные начальные последовательности)? Естественно результат должен быть один. Тогда можно было бы не сильно нагружая контроллер минимизировать способность узла добавлять себе ложный размер.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 16:15
Ответы с готовыми решениями:

Определение свободного дискового пространства
Помогите решить проблему, ни как не могу подобрать нужных параметров. Есть...

Осталось слишком мало свободного дискового пространства. Сейчас вы используете 99%
Когда я зашел панель управления джумла 2.5, затем нажимаю компонент...

Перед распаковкой архива, узнать количество свободного дискового пространства.
Перед распаковкой архива на сайте хочу узнать есть ли для этого свободное...

Разработка программы мониторинга свободного дискового пространства на компьютерах локальной сети
Здравствуйте. Помогите пожалуйста с разработкой программы мониторинга...

Вывод на экран общего, свободного и занятого дискового пространства для произвольного логического диска
Написать программу на языке Паскаль для вывода на экран общего, свободного и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 16:15

Пропала часть дискового пространства после изменения размера раздела акронисом
проблема вот в чем:акронисом хотел добавить места на диск (с).все сделал как...

Расширение свободного дискового рпостранаства на жестком диске
Здравствуйте. Не так давно поставил себе дистрибутив Убунту, после установил...

Разметка дискового пространства
Имеется сервер с 7 ЖМД доступ к которому можно получить, только по ssh с ОС...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru