网站客服:zx81024163 |

十分钟搞懂手机号码一键登录

2023-08-14 19:00:52发布    浏览1105次    信息编号:69108

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

十分钟搞懂手机号码一键登录

手机号码一键登录是近两三年兴起的一种新型应用登录方式。 比常用的短信验证码登录方便很多。 登录时,应用程序首先向用户显示带有本地号码掩码的授权登录页面。 用户点击“同意授权”按钮后,应用程序即可获取完整的本地号码,完成用户的登录认证。 在此过程中,应用程序只需确认用于登录的手机号码在该号码绑定的手机上发起即可完成认证。 从这一点来看,它与短信验证码登录并没有本质上的区别。 一种设备认证登录方法。 本文就来看看技术门道。

近年来,为了保护用户的隐私和安全,iOS系统对应用程序获取本地号码的能力进行了限制。 即使通过一些技术手段获取到本地号码,该号码也可能被篡改,所以应用程序直接读取本机号码来登录也是不可行的。那么这些应用程序是如何获取真实的本地号码的呢? 答案是电信运营商。 手机需要打电话、上网、计费。 接线员一定能对应到正确的手机号码。 国内三大运营商分别是中国移动、中国联通、中国电信,均开放了该能力。 对于已经在互联网大潮中进行渠道化的运营商来说,是非常有意义和进取的举动。

手机数据上网原理

手机号码一键登录是利用移动数据上网实现的,所以有必要先弄清楚数据上网的原理。

目前网上关于一键登录的技术文章很多,但内容基本相同。 获取手机号码的部分是通过运营商的数据网关能力,目前还不清楚。 对于有追求的技术人来说,是难以忍受的。 。 本章将介绍如何实现从数据网关获取手机号码的能力,因为专业的通信知识很复杂,而且我没有专业学过,也不想接触很多专业术语,所以这里只保留一些关键的技术术语,尽量用通俗易懂的方式来阐明这个机制。

五层网络模型

对网络比较熟悉的同学应该都了解五层协议,那么手机流量上网时五层网络模型有什么区别呢?

从上图可以看出,手机流量和互联网接入的主要区别在于数据链路层和物理层。 在数据链路层,互联网流量没有MAC地址的概念。 它使用点对点协议(PPP)。 手机通过拨号建立这个PPP连接,然后发送数据。 在物理层,手机内置基带模块在流量上线时进行无线信号调制解调,实现与移动基站的电磁波通信。

互联网流量机制

点对点协议支持身份验证功能。 手机发起连接时,会携带自己的身份证书,通常是手机卡内置的IMSI。 该IMSI也将保存在运营商的数据库中,以便基站可以验证连接用户的身份。 当然这个验证过程并不是简单的和IMSI比较,会有更多的安全机制。 为了更清楚地理解互联网流量的机制,这里再贴一张4G数据上线时手机与运营商交互的示意图:

核心部件

手机:其中手机卡和基带模块对流量上网起到关键作用。 IMSI,全称,国际移动用户识别码,存储在手机卡中。 IMSI是手机卡的标识。

基站:就是外面常见的铁架信号塔。 它是可以覆盖一定范围的无线电收发站。 手机与其连接,然后通过光纤连接到运营商的网络,实现移动通信。

MME:,移动控制单元。 当手机建立连接时,首先会访问这里。 它负责:手机与基站之间的接入控制、手机卡的认证、会话管理、安全传输、漫游控制、跨运营商通信等。

HSS:Home,属于订阅者服务器。 保存本地签名的手机卡信息,包括手机卡IMSI与手机号码的对应关系、手机号码的套餐信息、手机号码的归属信息等。

S-GW:,服务网关。 4G环境下,用户侧与运营商核心网之间的业务网关。 是否可以进入、可以做什么业务、在哪里做业务都在这里控制。 跨运营商计费、漫游计费等也在这里完成。

P-GW:PDN,PDN网关。 运营商核心网与互联网之间的网关,手机通过该网关实际访问互联网。 它会给手机分配IP地址,控制上网速度,并对流量进行计费。

PCRF:Rules,策略和计费控制单元,保存每个用户的网络接入策略和计费规则。

互联网流程

为了方便理解,我们把上网的过程大致分为两部分(对应上图中的1和2):

以上就是手机流量上网的基本原理。 可见,运营商完全有能力通过IMSI或GUTI获取当前上网用户的手机号码。 至于运营商的一键登录是如何实现的,我没有找到相关的介绍,但我可以想象,移动应用通过运营商的SDK发起服务请求来获取手机号码。 这时候就会携带IMSI或者GUTI。 请求到达S-GW,S-GW通过认证,然后将服务请求路由到运营商核心网,获取手机号码服务。 该服务根据业务规则从HSS中检索手机号码并进行一些处理。

一键登录原理

了解了手机数据上网的原理后,我们来看一下下次点击登录服务是如何实现的。 这部分属于上层应用开发,大家应该都比较熟悉。

如果您使用微信等第三方应用登录,则流程类似。 还是先看图:

以下是一些关键步骤的解释:

这里实际上还有另一个安全问题:

14 登录请求:如果用户随机创建身份验证令牌,然后向应用程序服务提交请求,应用程序服务再向身份验证服务提交请求,这就是跨站攻击。 虽然这个token可以被屏蔽,但是必然会浪费资源,给服务器带来压力。

对此,微信第三方应用登录较好。 在用户登录之前,应用服务器首先生成一个随机数,然后应用前端提交给应用服务器时携带这个随机数,应用服务器可以验证该随机数。

号码验证场景

运营商网关的取号能力除了用于登录之外,还可以用于验证手机号码。 在一些关键业务中,比如支付过程中,需要用户输入本地或部分手机号码。 然后通过运营商认证服务验证手机号码是否为本地号码。

隐私保护问题 设备唯一标识问题

现在大家越来越注重隐私问题,经常会出现这样的情况:当你在电商网站上搜索某个产品,然后访问其他网站时,他们都会向你推荐该产品的广告。 还有一种情况让人感觉非常可怕。 您刚刚与某人讨论了某件事,然后在应用程序上看到了相关推荐。 有人猜测该App是在窃听,但从目前的舆论和监管来看,窃听的风险太大了,而造成这种情况的原因可能真的是算法太强大了。

近年来,iOS系统中,App对手机的唯一标识进行了限制,如IMEI、Mac地址、序列号、广告ID等,以防止用户信息在多个App之间关联,导致泄露侵犯用户隐私,造成一些安全问题和法律风险,前述的跨应用广告行为自然受到压制。

在了解一键登录的技术原理时,看到某运营商提供了与SIM卡绑定的设备唯一ID服务。 这个口号是为了解决移动操作系统限制访问手机唯一ID的问题。 在更加注重隐私保护的前提下,如果向广告平台开放这一能力,将是历史的逆转。

手机号码作为身份识别问题

对于国内常见的手机号码登录方式,限制App之间的手机号码关联,进而综合分析用户行为在技术上存在一定难度。 例如,如果一家大公司运营许多不同类型的流行应用程序,那么它就有能力更全面地了解用户。 如果想限制的话,可能就得从法律层面来解决。 至于不同厂商之间的手机号码关联,基于商业利益的保护,不太可能发生。

在国内这种商业环境下,如果你真的很在乎自己的隐私,最好只用账号和密码登录,否则频繁更换手机号码可能是一种无奈的解决办法。

手机号码转售问题

手机号码总数有限。 为了有效利用手机号码资源,手机号码注销后,一段时间后会被运营商转售。 如果新手机号码拥有者用该手机号码登录某个APP,且该手机号码之前已经在该APP上注册过,产生大量的使用记录,那么该手机原拥有者的隐私号码将会被泄露。 所以现在大家都不敢随便换手机号码,因为注册的地方太多了,留下了无数的使用痕迹。

在了解一键登录的技术原理时,我还看到某运营商提供了“手机号码变更绑定SIM卡通知”的服务。 关系,从而保护用户的隐私。 如上所述,手机卡使用IMSI进行识别。 如果手机号码被重新出售,则会绑定新的IMSI,运营商可以生成相应的通知。 当然,运营商也需要排除换手机卡、携号转网的情况。 在这种情况下,手机号码也会绑定新的IMSI。

不得不说,运营商的服务还是相当不错的。

提醒:请联系我时一定说明是从星空网上看到的!