сотовая сеть
Автор Александра Михайловна задал вопрос в разделе Техника
как работает сотовая связь? и получил лучший ответ
Ответ от Михаил[гуру]
Кусок этой статьи: http://www.xakep.ru/magazine/xa/005/034/1.asp
Для начала, давай разберемся, как работает сотовая связь. Эта система не зря называется сотовой, просто ее принцип построен на сети приемо-передатчиков, делящих всю местность на соты. Если взять Москву, то вся Москва поделена на квадраты (треугольники, ромбы, круги и непонятные загогулины :)), в каждом из которых стоит приемо-передатчик сотовой сети. Все эти соты объединены в одну систему и подчиняются главному центру управления, через который сигнал уходит непосредственно в телефонную сеть МГТС. Когда ты разговариваешь по мобиле в движущемся автомобиле, то проезжая один район за другим, переключаешься от соты к соте. Для тебя это незаметно, а вот твой телефон постоянно ищет ближайшую сотовую станцию, переключаясь от одной станции к другой, чтобы обеспечить тебе наилучшее качество связи. Просек фишку? А вот теперь о том, как телефон и станция обмениваются сигналами. Предположим, что ты держишь в руках мобильник и собираешься позвонить. То, что ты не разговариваешь по телефону, еще не значит, что телефон не находится на связи со станцией. Даже в режиме ожидания мобильник посылает определенный сигнал в эфир, чтобы определить, как далеко находится ближайшая сота и подтвердить ей, что он не выключен и не валяется под кроватью, а болтается у тебя на поясе в ожидании звонка от любимой девушки. Причем этот сигнал разный для каждой сотовой системы. У БиЛайна он один, у МТС другой, а у Московской Сотовой третий. Приняв сигнал, сота тут же отсылает его обратно, перекодировав цифровым ключом твоего телефона. Засекая силу сигнала и его время прохождения туда и обратно, твой телефон определяет, как далеко находится ближайший приемо-передатчик. А сота понимает, что ты - в "online" :). Нечто похоже на PING в Интернете. Если ты выключишь телефон или уедешь в тундру, то сота, не получив сигнала подтверждения, пошлет в центр управления команду, что твой телефон отключился от системы и всем звонящим будут выдаваться сообщения типа "Абонент занимается сексом или временно недоступен, пожалуйста, перезвоните позднее". Ну а теперь, что же происходит, если ты начинаешь набирать номер. А ничего! 🙂 Для не знающих поясню: на мобильниках соединение с телефонной сетью происходит после набора номера и нажатия кнопки "Send" (или "Yes", в зависимости от модели), а не сразу после поднятия трубки, как на обычных телефонах. Ну да ладно, хватит глупо шутить, поехали дальше. Итак, номер набран, кнопка Send нажата. И вот именно в этот момент твой телефон посылает соте команду открыть телефонный канал. Если свободный канал есть, то начинается процесс проверки существования (подключенности, не заблокированности и т.д.) твоего телефона в базе данных сотового оператора, а если свободного канала нет, то сота посылает ответ мобильнику в виде сообщения "Обломись". Процесс проверки телефона у каждой системы свой, но, в общем, работает вот так: телефон посылает свой номер и код; сотовая станция его принимает, проверяет код, если правильный, то понимает, что это ты, а не фрикер; проверяет твой телефон по базе данных на "грехи", если все ОК, то отсылает сигнал "Будь готов - всегда готов" и подключает тебя к МГТС (здесь и далее я говорю о звонках в городскую сеть, а не с сотового на сотовый. Разницы в системе проверки нет, но для придурковатых "критиков", которые нас читают, я должен был это сказать).
MTC (GSM)
GSM - это уже совсем другая фишка. Не зря этот стандарт самый популярный в Европе. Дело в том, что связь в стандарте GSM - цифровая, и, соответственно, кодирование там происходит посерьезнее.
Для "проверки на вшивость" в GSM есть три кода - A3 (код опознавания), A8 (код, используемый для генерации ключа шифрования) и специальный код Ki.
Когда ты покупаешь мобильник стандарта GSM, то оператор системы создает твои коды A3, A8, Ki и вшивает их в SIM-карту, в которой и содержится вся инфа о твоем телефоне. Все эти данные, конечно же, дублируются и в базе данных оператора. >>
Источник: >> Без SIM-карты твой телефон - пустая болванка, с которой ты никуда позвонить не можешь (ну разве что только по экстренному телефону 112). А вот как происходит проверка: система вызывает твой телефон сигналом RAND. SIM-карта из этого сигнала с помощью кодов A3 и A8 генерит два кода: SRES (ответ длиной 32 бита) и Kc (ключ шифрования - 64 бита, которым она и шифрует все сигналы) . После того как SIM сгенерит коды, он закидывает код SRES обратно на соту. Сложно, да? А вот поэтому-то GSM и тяжелее ломать. Но поехали дальше. Дальше система генерит точно такие же коды (твой SIM у нее в базе, не забывай) и сравнивает код SRES, полученный от твоего мобильника, с кодом SRES, сгенеренным ею самой. Если коды совпали, значит на связи - ты, и система тебе верит. Вот на этих-то кодах и основана вся защита в GSM (запомни это) . А теперь поподробнее о кодах. Ключ Kc, сгенерированный твоим SIM''ом (с помощью кода A8), используется для шифрования всего потока данных. Когда система уверена, что на связи ты и код SRES совпал, то это значит, что и ключ Kc у тебя и у системы такой же. И именно этим ключом шифруется весь трафик. Сам ключ шифрования никогда не передается по радиоканалу, поэтому перехватить его невозможно. В GSM каждый пакет данных имеет длину 114 бита. Кодом Kc генерируется 114-битная шифропоследовательность (A5), которая добавляется к каждому передаваемому пакету и таким способом шифрует его.