Обновлено: 2012-04-22
Вопросы
- Какие существуют методы определения местоположения абонента в сети GSM?
- IMEI телефона (серийный номер) не участвует в процессе авторизации в сети. А можно ли найти местоположение телефона в GSM сетях по IMEI и почему эта услуга “заблокирована” у наших операторов. Т.е. мои знакомые несколько раз натыкались на то, что у них крали телефоны и оператор не мог им предоставить информацию о местоположении не то что по IMEI – по самой симке.
- Может ли сам GSM-телефон как-то определить свои координаты?
Короткий ответ
На самом деле, вопрос об определении местоположения абонента сети GSM – это четыре отдельных вопроса:
- Может ли телефон (или его пользователь) определить свое текущее положение?
- Может ли телефон (или его пользователь) определить свое прошлое положение - в момент совершения вот этого звонка из списка полученных, например?
- Может ли оператор (или правоохранительные органы) определить текущее положение телефона?
- Может ли оператор (или правоохранительные органы) определить прошлое положение телефона - например, в момент совершения какого-то важного звонка?
Короткие ответы будут такими:
- Телефон может определить свою текущее положение с точностью до нескольких десятков метров только если доступны сведения о координатах базовых станций, или если в телефоне есть приемник GPS. Иначе - никак.
- Телефон может определить свое прошлое положение только если это какой-то нестандартный телефон - например, смартфон со специальным программным обеспечением, который может определить свое текущее положение и записывает эту информацию совместно с информацией о совершенных/принятых звонках. Иначе - никак.
- Оператор, в принципе, всегда может определить примерное положение абонента. Если нельзя посылать какие-то запросы на определяемый телефон - то точность может быть до 32 км или даже хуже. Если можно посылать какие-то запросы на телефон - и тем самым потенциально дать понять его владельцу, что им “интересуются”, то можно повысить точность до 100-1000 метров в городских условиях. Применение специального оборудования в сети оператора позволяет повысить точность до 10-100 метров. Существует расхожее заблуждение о простой “триангуляции положения любого телефона с трех базовых станций” является именно заблуждением и подробно рассмотрено в другой статье на этом сайте.
- Оператор может определить прошлое местоположение произвольного телефона в момент совершения звонка или приема SMS с большой погрешностью – будут известны координаты базовой станции, которая начала обслуживать звонок. Где был телефон в промежутках между звонками – оператору неизвестно.
Читайте длинный ответ - там написано, какие из этих утверждений бывают исключения и какие условия требуются для их реализации.
Длинный ответ
Как телефон может узнать, где он сам находится сейчас?
Каждая базовая станция транслирует в эфир информацию о своих “соседях”, указывая частоты, на которых работают ближайшие базовые станции той же сети. Телефон в режиме ожидания постоянно измеряет уровень сигнала от каждой из “соседних” базовых и при необходимости выбирает в качестве дежурной базовой станции ту, сигнал от которой “лучше слышно”. Подробнее о том, зачем это делается написано в другой статье на этом сайте.
Если телефон обладает какими-то сведениями о том, где (по каким координатам) расположены базовые станции, то он может попытаться вычислить зону, в которой области гипотетического покрытия всех “соседних” базовых пересекаются. Где-то в пределах этой области и будет находится телефон. Чем точнее телефон знает (или оценивает) границы зон покрытия, тем точнее будет работать такой метод. Именно так работает приложение Google Maps Mobile (Google Latitude). Если же данных о местонахождении базовых нет, то и у телефона не будет никакой возможности вычислить свое местоположение.
Как оператор может узнать, где телефон находится сейчас?
С целью экономии заряда батарей, телефон большую часть времени ничего не передает, только принимает. Из этого простого факта, справедливость которого любой желающий может самостоятельно проверить на практике – положив телефон на ближайший динамик или купик брелок-детектор GSM-сигналов – есть несколько интересных следствий:
- Утверждение о том, что Страшные Спецслужбы могут удаленно включить динамик вашего телефона и вас прослушивать (и более того - они этим регулярно занимаются) - параноидальный бред. Никому не интересно слушать шуршание от трения вашего телефона о карман ваших штанов :) Гораздно проще подключиться к коммутатору, и прослушивать там ваши звонки (чем Страшные Спецслужбы и заниманются, не особо делая из этого тайну).
- Точно определить местоположение обычного GSM-телефона в обычной GSM-сети в произвольный момент времени нельзя просто потому, что телефон в промежутках между звонками молчит и “не говорит”, куда его несут. С другой стороны – телефон при включении и периодически в процессе работы делает location update-ы, в результате чего у оператора есть примерная информация – в виде номера соты – о том, где телефон был какое-то время тому назад. Чем чаще телефон совершает звонки – тем более точной будет эта информация. Но, в любом случае, это всего лишь номер соты – который дает на карте круг с радиусом до 32 км вокруг места ее установки.
В городских условиях больше помех для распостранения радиосигнала, поэтому радиус зоны покрытия будет меньше – порядка одного-двух километров, или даже меньше. В таких условиях сведений даже об одной соте будет достаточно для предоставления простейших услуг, привязаных к местоположению телефона, которым не нужна особенная точность. Т.к. большинство подобных услуг требуют от абонента отправки SMS-а с запросом, информация о местоположении телефона будет обновлена в момент отправки этого SMS-а. Кроме того, оператор может “стимулировать” телефон обновлять информацию о своем местоположении, посылая ему специальные SMS-ы (zero sms, null sms), получение которых пройдет незаметно для владельца телефона (если только он не держит рядом пресловутый детектор GSM-сигналов).
Еще оператор может раскошелиться и внедрить у себя в сети “продвинутые” технологии позиционирования (их описание может быть найдено в сети по ключевым словам “angle of arrival”, “uplink time difference of arrival”, “assisted GPS”). В этом случае у оператора могут быть сведения, более точные, чем LAC/CellID последнего location update.
Внимательный читатель может спросить: “все эти CellID и EOTD - это хорошо, но как из этого получить конкретный адрес, улицу Пушкина, дом Колотушкина?”. Как минимум, оператор имеет базу географических координат всех базовых станций и привязки этих координат к адресам (чтобы обслуживающий персонал знал, куда ехать для устранения аварий). Кроме того, оператор может воспользоваться услугами многочисленных картографических компаний, которые могут продать ему карты, он-лайн сервисы про преобразованию координать в адреса/маршруты/списки кабаков и так далее. Как правило, так и происходит - конкретные сервисы предоставляются третьими лицами, а оператор предлагает свои услуги по вычислению координат, и не более того.
Как оператор может узнать, где телефон находился раньше?
Тут ответ совсем простой. Информация о том, где телефон был, должна браться из какого-то архива. Поскольку оператор обязан несколько лет хранить записи, на основании которых делается биллинг и выставляются счета, именно этот архив напрашивается в качестве очевидного источника сведений о прошлом местоположении телефона. Как правило, так и происходит - информация об истории “перемещений” телефона берется из так называемых “записей учета стоимости”, которые формируются по факту совершения/получения звонка или SMS.
Эти записи содержат, помимо всего прочего, информацию о IMSI (номере SIM-карты), IMEI (серийном номере мобильника), LAC (группы базовых станций) и CellID (номер базовой станции в пределах LAC). Следовательно, местоположение телефона в прошлом можно определить как по его серийному номеру (IMEI), так и по номеру сим-карты с точностью до соты, но только в случае, если телефон использовался для звонков/SMS-ов.
Версию о том, что оператор сохраняет всю-всю-всю сигнальную информацию, связанную с обеспечением mobility абонента (сведения о location update-ах, handoff-ах и handover-ах), мы отметаем, как фантастическую. Во-первых, слишком много данных, и из-за этого их сложно обрабатывать и коррелировать с приемлимой скоростью. Во-вторых, от этого нет никакой пользы для самого оператора. В лучшем случае, оператор сохраняет всю “сигнализацию” о звонках и SMS-а, начиная с интерфейса BSC<->MSC и выше, и использует ее для анализа/улучшения качества связи, но там нет никаких дополнительных сведений о местоположении телефона.
Кто и когда может получить эту информацию? Можно ли таким образом найти украденый/утеряный телефон? Оператор не предоставляет таких сведений абонентам, зато может предоставить их, например, прокуратуре в ответ на соответствующий официальный запрос. Соответственно, при краже телефона надо писать заявление и понуждать милицию выполнять свои прямые обязанности - если их замотивировать, то они таки будут искать телефон (были преценденты).
Без обращения со стороны милиции/прокуратуры оператор может максимум заблокировать использование в своей сети определенной SIM-карты (это возможно всегда, например - путем выноса записи о карте из AuC) и/или использование в сети телефона с определенным IMEI (это возможно только при наличии в сети оператора EIR. Как правило, многие экономят и EIR не покупают).
Литература: