Вход в систему в один клик по номеру мобильного телефона — это новый способ входа в приложение, появившийся в последние два-три года и гораздо более удобный, чем обычно используемый вход с кодом подтверждения по SMS. При входе в систему приложение сначала показывает пользователю страницу авторизованного входа с маской локального номера. После того, как пользователь нажимает кнопку «Согласен на авторизацию», приложение может получить полный локальный номер для завершения аутентификации пользователя при входе. В этом процессе приложение может успешно аутентифицироваться, если оно подтверждает, что номер мобильного телефона, используемый для входа в систему, инициирован на мобильном телефоне, привязанном к этому номеру.С этой точки зрения нет существенной разницы между ним и кодом подтверждения SMS. Методы входа в систему с проверкой подлинности устройства. В этой статье мы рассмотрим технические дверные проемы.
В последние годы в целях защиты конфиденциальности и безопасности пользователей системы Android и iOS ограничили возможность приложений получать собственный номер телефона.Даже если номер телефона получен с помощью каких-либо технических средств, этот номер все равно может быть подделан, поэтому приложение считывает номер телефона напрямую. Использовать этот номер телефона для входа в систему невозможно. Так как же эти приложения получают настоящий местный номер? Ответ - оператор связи.Если мобильный телефон должен совершать звонки, выходить в Интернет и оплачиваться, оператор обязательно сможет соответствовать правильному номеру мобильного телефона. Внутренними операторами являются China Mobile, China Unicom и China Telecom, все из которых открыли эту возможность. Для операторов, которые были вовлечены в поток Интернета, это очень значимая инициатива.
Принцип мобильного доступа в Интернет
Вход в систему одним щелчком мыши по номеру мобильного телефона реализуется с использованием трафика мобильного телефона для серфинга в Интернете, поэтому мы должны сначала понять принцип серфинга трафика.
В настоящее время в Интернете есть много технических статей о входе в систему одним ключом, но содержание в основном одинаковое.Часть о получении номера мобильного телефона полностью связана с возможностями шлюза данных оператора. В этой главе будет рассказано, как реализована возможность получения номеров мобильных телефонов из шлюза данных.Поскольку профессиональные знания в области связи очень сложны, я не проходил профессиональное обучение, и никто не хочет знакомиться со многими профессиональными терминами, поэтому Я оставлю это только здесь.Что касается некоторых ключевых профессиональных терминов, постарайтесь разъяснить этот механизм простым для понимания способом.
Пятислойная сетевая модель
Учащиеся, знакомые с сетью, должны понимать пятиуровневый протокол, так в чем же разница между пятиуровневой сетевой моделью, когда мобильный телефон находится в сети?
Как видно из приведенного выше рисунка, основное различие между трафиком мобильных телефонов и Интернетом заключается в канальном уровне и физическом уровне. На канальном уровне отсутствует концепция MAC-адреса для просмотра трафика, используется протокол точка-точка (PPP), и мобильный телефон устанавливает это соединение PPP через коммутируемое соединение, а затем отправляет данные. На физическом уровне трафик в Интернете использует встроенный модуль основной полосы частот мобильного телефона для модуляции и демодуляции беспроводного сигнала, чтобы реализовать связь электромагнитных волн с мобильной базовой станцией.
Механизм интернет-трафика
Протокол одноранговой сети поддерживает функцию аутентификации.Когда мобильный телефон инициирует соединение, он будет иметь свой собственный сертификат удостоверения личности, которым обычно является встроенный IMSI карты мобильного телефона.Этот IMSI также будет храниться в база данных оператора, поэтому базовая станция может проверить личность подключенного пользователя.Конечно, этот процесс проверки не является простым сравнением IMSI, будет больше механизмов безопасности. Для того, чтобы лучше понять механизм серфинга трафика, вот принципиальная схема взаимодействия мобильного телефона и оператора при серфинге 4G-трафика в Интернете:
основные компоненты
Мобильный телефон: Карта мобильного телефона и модуль основной полосы частот играют ключевую роль в доступе в Интернет. IMSI, полное название международного идентификационного номера мобильного абонента, хранится в карточке мобильного телефона. IMSI — это идентификатор карты мобильного телефона.
Базовая станция: Это обычная сигнальная башня с металлическим каркасом снаружи. Это радиоприемопередающая станция, которая может охватывать определенный диапазон. К ней будет подключаться мобильный телефон, а затем он будет подключен к сети оператора через оптоволокно для реализации мобильной связи. коммуникация.
MME: объект управления мобильностью, мобильный блок управления. Когда мобильный телефон устанавливает соединение, он сначала посещает это место и отвечает за: контроль доступа между мобильным телефоном и базовой станцией, аутентификацию карты мобильного телефона, управление сеансом, безопасную передачу, управление роумингом, взаимодействие между операторами. , и т.д.
HSS: Домашний абонентский сервер, домашний абонентский сервер. Сохраните информацию о карте мобильного телефона, подписанную локально, включая соответствие между IMSI карты мобильного телефона и номером мобильного телефона, информацию о пакете номера мобильного телефона и информацию об атрибуции номера мобильного телефона.
S-GW: сервисный шлюз, сервисный шлюз. В среде 4G — сервисный шлюз между пользователем и базовой сетью оператора. Здесь контролируется, можно ли вводить доступ, какие дела можно делать и где вести дела. Здесь же осуществляется кросс-операторский биллинг, роуминговый биллинг и т.д.
P-GW: шлюз PDN, шлюз PDN. Шлюз между базовой сетью оператора и Интернетом, через который мобильный телефон фактически выходит в Интернет. Он будет назначать IP-адрес мобильному телефону, контролировать скорость интернета, выставлять счета за трафик и т.д.
PCRF: Функция правил политики и тарификации, блок управления политикой и тарификации, сохраняет политику доступа к сети каждого пользователя и правила тарификации.
Интернет-процесс
Для облегчения понимания процесс серфинга в Интернете условно разделен на две части (соответствующие 1 и 2 на рисунке выше):
-
1 доступ: Когда соединение установлено, мобильный телефон передает информацию IMSI и получает доступ к MME через базовую станцию.MME проверяет информацию IMSI через HSS, а затем MME выполняет некоторую работу по инициализации, возвращает некоторые параметры аутентификации на мобильный телефон. , и мобильный телефон выполняет некоторые вычисления, а затем возвращает результат вычисления в MME, MME проверяет результат вычисления мобильного телефона, и если проверка пройдена, доступ разрешается. Этот процесс обеспечивает безопасность доступа. MME также обеспечивает поддержку зашифрованной передачи для последующей передачи данных для защиты данных от прослушивания и подделки. Заинтересованные студенты могут узнать об этом больше.
Если номер мобильного телефона не прописан в карте мобильного телефона при ее продаже, то при первой регистрации карты мобильного телефона оператор вынет номер мобильного телефона из ПАК, а затем запишет его в карту мобильного телефона. телефонная карточка.
В практических приложениях, чтобы предотвратить отслеживание и атаки, нет необходимости использовать IMSI при каждом обмене данными, MME будет генерировать временный GUTI, соответствующий IMSI, точно так же, как SessionId в веб-программе. MME также имеет определенные механизмы для управления перераспределением GUIT.
-
2 Трансмиссия: передача трафика мобильной сети по-прежнему должна сначала пройти через базовую станцию, а затем войти в S-GW на следующем этапе.S-GW проверит авторизацию пользователя, точно так же, как проверка SessionId, отправленного внешним интерфейсом в веб-программа, а затем проверьте, есть ли у пользователя разрешение на выполнение Представленное здесь дело заключается в проверке того, разрешил ли пользователь трафик для доступа в Интернет.Это достигается с помощью S-GW путем подключения к MME. После обработки S-GW пакет данных войдет в P-GW, и P-GW назначит пользователю IP-адрес, когда мобильный телефон использует трафик для работы в Интернете, а затем пакет данных войдет в Интернет. через шлюз для доступа к связанным ресурсам. P-GW также выполняет операции управления скоростью и тарификации трафика в зависимости от режима доступа в Интернет.Эти политики основаны на PCRF, а правила в PCRF рассчитываются на основе пользовательского пакета и уровня пользователя в HSS.
Для P-GW S-GW защищает мобильность пользователя.Когда мобильный телефон переключается между несколькими базовыми станциями, S-GW остается неизменным.
Вышеизложенное является основным принципом доступа к мобильному Интернету.Видно, что оператор вполне способен получить номер мобильного телефона текущего пользователя Интернета через IMSI или GUTI. Что касается того, как реализован вход в систему одним ключом оператора, я не нашел подходящего введения, но можно представить, что приложение мобильного телефона инициирует сервисный запрос для получения номера мобильного телефона через SDK оператора, и в это время он будет нести IMSI или GUTI, сервисный запрос поступает на S-GW, и S-GW аутентифицируется, после чего сервисный запрос направляется в сервис получения номера мобильного телефона в базовой сети оператора.
Принцип входа в один клик
Разобравшись с принципом движения трафика мобильных телефонов в Интернете, давайте посмотрим, как реализована служба входа в систему следующим щелчком мыши.Эта часть относится к разработке приложений верхнего уровня, и все должны быть с ней относительно знакомы.
Если у вас есть доступ к входу в систему стороннего приложения WeChat или другому аналогичному входу в стороннее приложение, процесс аналогичен. Или сначала посмотрите на картинку:
Вот некоторые ключевые шаги:
-
2 Предварительная выборка маски номера мобильного телефона: Эта маска номера мобильного телефона должна отображаться пользователю на странице, запрашивающей авторизацию пользователя.Поскольку получение этой информации должно проходить через сеть оператора связи, это может быть медленным. Чтобы улучшить взаимодействие с пользователем, вы можете получить его при запуске приложения, а затем кэшировать в течение определенного периода времени.
-
8 Запрос авторизации: поскольку приложение для получения номера мобильного телефона пользователя является относительно конфиденциальным, оно должно быть четко понято и авторизовано пользователем перед продолжением. Чтобы гарантировать это, SDK аутентификации оператора предоставляет эту страницу запроса авторизации. подтверждает авторизацию, SDK напрямую инициирует запрос аутентификации в службу аутентификации оператора, а служба аутентификации возвращает токен аутентификации в приложение. Затем приложение использует этот токен через свой собственный сервер, чтобы найти оператора для получения номера мобильного телефона.
-
17 Создание токена авторизации приложения: приложение должно поддерживать статус входа в систему своего собственного пользователя.Здесь можно использовать традиционный механизм сеанса или механизм JWT.
-
3. Предварительное получение маски номера мобильного телефона и 11. Запрос аутентификации, оба должны обмениваться данными через сотовую сеть мобильного телефона, а это означает, что доступ в Интернет должен осуществляться через трафик мобильного телефона. Если на мобильном телефоне одновременно включены данные и WIFI, SDK аутентификации на короткое время переключит мобильный телефон в режим Интернета для передачи данных. Если мобильный телефон не включает трафик, некоторые SDK будут кэшировать дополнительный временный токен после последнего успешного получения номера, так что вход в один клик может быть успешно реализован за один раз, но это очень ограничительно.
На самом деле есть еще одинКонтрольный вопрос:
14 Запрос на вход: если пользователь случайным образом создает токен проверки подлинности, а затем отправляет запрос в службу приложений, служба приложений отправляет запрос в службу проверки подлинности, что представляет собой межсайтовую атаку. Хотя этот токен можно заблокировать, он неизбежно будет тратить ресурсы и оказывать давление на сервер.
В этом отношении вход в стороннее приложение WeChat лучше.Перед входом пользователя в систему сервер приложений сначала генерирует случайное число, а затем, когда внешний интерфейс приложения отправляет его на сервер приложений, сервер приложений может проверить случайное число. число с этим случайным числом.
Сценарий проверки номера
Помимо использования для входа в систему, возможность шлюза оператора получать номера также может использоваться для проверки номеров мобильных телефонов.В некоторых ключевых услугах, таких как процесс оплаты, пользователи должны вводить свои номера мобильных телефонов или некоторые из них. , Затем используйте службу аутентификации оператора, чтобы проверить, является ли номер мобильного телефона номером телефона.
Вопросы защиты конфиденциальности
Проблема с уникальной идентификацией устройства
В настоящее время люди уделяют все больше внимания вопросам конфиденциальности, и часто бывает так, что когда вы ищете определенный продукт на веб-сайте электронной коммерции, а затем посещаете другие веб-сайты, вам рекомендуют рекламу таких продуктов. Бывает и очень страшная ситуация: вы только что с кем-то о чем-то поговорили, а потом видите рекомендацию по этому поводу в приложении, некоторые предполагают, что приложение подслушивает, но, исходя из текущего общественного мнения, надзора и подслушивания слишком много. Это может быть связано с тем, что алгоритм слишком мощный.
В последние годы системы Android и iOS наложили ограничения на получение приложениями уникальных идентификаторов мобильных телефонов, таких как IMEI, Mac-адрес, серийный номер, рекламный идентификатор и т. д. Цель состоит в том, чтобы предотвратить связывание пользовательской информации между несколькими приложениями, что приводит к утечке пользовательской информации.Конфиденциальность, что приводит к некоторым проблемам безопасности и юридическим рискам, вышеупомянутое рекламное поведение между приложениями естественным образом подавляется.
Разбираясь в техническом принципе входа в систему одним ключом, я увидел, что некий оператор предоставляет услугу уникального идентификатора устройства, привязанного к SIM-карте.Лозунг заключается в том, чтобы решить проблему, связанную с тем, что мобильная операционная система ограничивает доступ к уникальному идентификатору. мобильного телефона. Если мы будем уделять больше внимания защите конфиденциальности, если эта возможность будет открыта для рекламных платформ, это будет переворотом в истории.
Проблема номера мобильного телефона как средства идентификации
Для распространенного в Китае способа входа в систему с использованием номеров мобильных телефонов технически сложно ограничить связь номеров мобильных телефонов между приложениями, а затем всесторонне проанализировать поведение пользователей. Например, на крупной фабрике работает множество популярных приложений разных типов, и она имеет возможность более всесторонне понять пользователя, и если ее нужно ограничить, то, возможно, придется решать ее на юридическом уровне. Что касается привязки номеров мобильных телефонов к разным производителям, то защита на основе коммерческих интересов маловероятна.
В этой домашней бизнес-среде, если вы действительно беспокоитесь о своей конфиденциальности, лучше всего входить в систему только со своей учетной записью и паролем, в противном случае часто менять номер телефона не составит труда.
Проблема перепродажи мобильного номера
Общее количество номеров мобильных телефонов ограничено.Чтобы эффективно использовать ресурсы номеров мобильных телефонов, после аннулирования номера мобильного телефона он будет перепродан оператором через определенный период времени. Если новый владелец номера мобильного телефона использует этот номер мобильного телефона для входа в приложение, и этот номер мобильного телефона был зарегистрирован в приложении ранее, что приводит к большому количеству записей об использовании, конфиденциальность бывшего владельца этого мобильного телефона номер телефона просочится. Поэтому сейчас все неохотно меняют номера своих мобильных телефонов случайно, потому что слишком много мест, где они были зарегистрированы, оставляя бесчисленные следы использования.
Когда я понял технический принцип входа одним ключом, я также увидел, что некий оператор предоставляет услугу "Уведомление о замене номера мобильного телефона и привязка сим-карты", приложение может отвязать перепроданный номер мобильного телефона и приложение учетная запись в соответствии с этой службой.отношения, тем самым защищая конфиденциальность пользователей. Выше было сказано, что карта мобильного телефона идентифицируется по IMSI, при перепродаже номера мобильного телефона будет привязан новый IMSI, о чем оператор может сформировать соответствующее уведомление. Конечно, оператору также необходимо исключить ситуацию с заменой карты мобильного телефона и переносом номера, в этих случаях номер мобильного телефона также будет привязан к новому IMSI.
Должна сказать, что сервис у оператора неплохой👍.
Вышеизложенное является основным содержанием этой статьи.В связи с отсутствием у меня таланта и знаний, если есть какие-либо ошибки или упущения, пожалуйста, поправьте меня.
Чтобы получить больше знаний об архитектуре, обратите внимание на общедоступный аккаунт WeChat Firefly Architecture. Оригинальное содержание, пожалуйста, указывайте источник при перепечатке.