Таким образом ваша «капля» должна быть достаточно мощным устройством. И еще: если вы считаете что в таком микро-исполнении (сотни в банке) удастся создать достаточно мощные устройства, то что может мешать сосредоточить эту мощь в одном традиционном устройстве (сотни ядер процессора например)? Мощность та же, исполнение на порядок проще на мой взгляд.
Если же под облачными вычислениями вы понимаете использование незадействованных ресурсов любых устройств, то здесь во весь рост встает проблема скорости взаимодействия и получения результата вычичсления. Такой подход может подойти для долгоиграющих, не интерактивных, задач по типу SETI или брутфорс или свертка белков. Но здесь возникает другая проблема — как мотивировать владельца устройства?
Правда многие разработчики никогда не спрашивают об искусстве программирования и вообще ничего не знают что оно существует. Автор дает им шанс узнать что такое искусство существует и вкратце говорит в чем его суть, дает ссылки где про это прочитать.
Если заказчику нужен, тогда так и называйте (может стоит чуть сократить getActiveConfirmedWithCountryOrPhone) — по существу этот метод является частью публичного API, т.к. требования к нему предъявляются из вне.
Я бы попробовал добиться от заказчика назначения этого метода и переименовал бы его в соответствии с этим назначением.
Плюс у меня в голове автоматически всплывает warning: Не придется ли мне писать тысячу подобных методов на каждую прихоть заказчика? Может стоит сделать API для произвольного (или ограниченого) конструирования фильтров?
Еще вариант: например если заказчику действительно нужно несколько подобных методов, но, допустим, все записи должны быть активны и подтверждены, можно создать отдельный репозиторий, по типу ActiveUserRepository
Трудно сказать, мне интересна принципиальная возможность такой атаки. За такие деньги, мне кажется можно было и атомные часы поставить, синхронизированные со спутниками, тогда вообще не нужна сложная система наведения антенн GPS. Более того, каким образом аппарат ищет куда направлять антенны, если не знает своего положения? :) Очевидно сканирует пространство в той или иной мере, даже с учетом навигации по солнцу, звездам и горизонту.
Также хочу отметить что про приемные антенны и верхнюю полусферу — это такая же гипотеза, как и моя.
Мне сказать дороже или дешевле стоят часы достаточной точности для такой задачи по сравнению с управляемыми приемными антеннами.
Вот я и пытаюсь понять, почему народ применяет «НЕ ЧИТАЙ@МИНУСУЙ», если я в исходном сообщении habrahabr.ru/blogs/infosecurity/135150/#comment_4489526 явно сказал «а дрон не учитывал появившееся расхождение во времени между внутренними часами и временем в сигнале».
Плюс возможен вариант, что для небольших корректировок эта разница могла попадать в погрешность внутренних часов, т.е. измерить ее было нельзя.
Вот лечу я лечу, бац сигнала совсем нет (подавили). Бац сигнал появился, время (а это время отправки) 15:00 по одному спутнику, 15:01 по второму, 15:02 по третьему. А на самом деле сейчас уже 15:05, и настоящие сигналы были (если бы я их ловил, а не запись) бы 15:04 с первого, 15:03 со второго и 15:02 с первого.
Если вы разберетесь, то по-существу спутник транслирует следующее (возможно и зашифрованное):
1. Точное время момента посылки сообщения. Определяется атомными часами на спутнике
2. Информацию для вычисления своих(спутника) координат. Приемник при получении сообщения знает где точно находится спутник в момент отправки сообщения
3. Информацию о сигнале других спутников. Используется для поиска их сигнала.
Приемник получив сигнал с трех спутников и имея точные синхронизированные локальные часы может по разнице времени отправки и времени получения сообщения узнать свое положение в пространстве. Не имея атомных часов, точное локальное время приемник может получив, поймав сигнал с четвертого спутника.
Таким образом, если я задержу сигналы и сдвину по времени их относительно друг друга, я могу повлиять на вычисленные координаты. Расшифровывать и подменять данные в сообщении не нужно, достаточно только сдвига, если приемник не проверяет что время посылки+время путешествия сообщения отличается от локального времени.
Вы меня наверное не правильно понимаете, давайте еще раз:
1. Я не предлагаю расшифровывать/подделывать сигнал. Я предлагаю заглушать оригинальный сигнал, сигналом со своей антенны/спутников.
2. Я предлагаю в качестве своего сигнала использовать реальные сигналы спутников GPS, посланные ранее (запись или передача с небольшой задержкой)
3. Я предлагаю сдвигать сигналы от разных спутников друг относительно друга во времени при передаче
4. Я предлагаю рассматривать сценарий, когда на дроне нет достоверных часов или сверка с ними времени из сигнала не выполняется
Объясните мне, где я заблуждаюсь на счет возможности таким образом повлиять на вычисленные координаты приемника?
Товарищи минусующие: ткните носом где я заблуждаюсь, разжуйте пожалуйста почему такой сценарий невозможен при условии отсутствия сверки с внутренними часами.
Если же под облачными вычислениями вы понимаете использование незадействованных ресурсов любых устройств, то здесь во весь рост встает проблема скорости взаимодействия и получения результата вычичсления. Такой подход может подойти для долгоиграющих, не интерактивных, задач по типу SETI или брутфорс или свертка белков. Но здесь возникает другая проблема — как мотивировать владельца устройства?
Я бы попробовал добиться от заказчика назначения этого метода и переименовал бы его в соответствии с этим назначением.
Плюс у меня в голове автоматически всплывает warning: Не придется ли мне писать тысячу подобных методов на каждую прихоть заказчика? Может стоит сделать API для произвольного (или ограниченого) конструирования фильтров?
Еще вариант: например если заказчику действительно нужно несколько подобных методов, но, допустим, все записи должны быть активны и подтверждены, можно создать отдельный репозиторий, по типу ActiveUserRepository
Также хочу отметить что про приемные антенны и верхнюю полусферу — это такая же гипотеза, как и моя.
Мне сказать дороже или дешевле стоят часы достаточной точности для такой задачи по сравнению с управляемыми приемными антеннами.
Плюс возможен вариант, что для небольших корректировок эта разница могла попадать в погрешность внутренних часов, т.е. измерить ее было нельзя.
1. Точное время момента посылки сообщения. Определяется атомными часами на спутнике
2. Информацию для вычисления своих(спутника) координат. Приемник при получении сообщения знает где точно находится спутник в момент отправки сообщения
3. Информацию о сигнале других спутников. Используется для поиска их сигнала.
Приемник получив сигнал с трех спутников и имея точные синхронизированные локальные часы может по разнице времени отправки и времени получения сообщения узнать свое положение в пространстве. Не имея атомных часов, точное локальное время приемник может получив, поймав сигнал с четвертого спутника.
Таким образом, если я задержу сигналы и сдвину по времени их относительно друг друга, я могу повлиять на вычисленные координаты. Расшифровывать и подменять данные в сообщении не нужно, достаточно только сдвига, если приемник не проверяет что время посылки+время путешествия сообщения отличается от локального времени.
1. Я не предлагаю расшифровывать/подделывать сигнал. Я предлагаю заглушать оригинальный сигнал, сигналом со своей антенны/спутников.
2. Я предлагаю в качестве своего сигнала использовать реальные сигналы спутников GPS, посланные ранее (запись или передача с небольшой задержкой)
3. Я предлагаю сдвигать сигналы от разных спутников друг относительно друга во времени при передаче
4. Я предлагаю рассматривать сценарий, когда на дроне нет достоверных часов или сверка с ними времени из сигнала не выполняется
Объясните мне, где я заблуждаюсь на счет возможности таким образом повлиять на вычисленные координаты приемника?