14登录请求:用户如果随便造一个认证Token , 然后就向应用服务提交请求 , 应用服务再向认证服务提交请求 , 这属于一种跨站攻击 。虽然这个Token可以被阻止 , 但是不免浪费资源 , 给服务端带来压力 。
这一点微信第三方应用登录做得比较好 , 用户登录前 , 应用服务端先生成一个随机数 , 然后应用前端向应用服务端提交时 , 带着这个随机数 , 应用服务端可以验证这个随机数 。
号码验证场景
除了用于登录 , 运营商网关的这种取号能力 , 还可以用在验证手机号上 , 在某些关键业务上 , 比如支付过程中 , 要求用户输入本机手机号码或者其中的某几位 , 然后通过运营商认证服务验证手机号是否本机号码 。
隐私保护问题设备唯一标识问题现在大家对隐私问题关注得越来越多了 , 经常会出现这种情况:你在某电商网站搜索了某个商品 , 然后访问其它网站时 , 都向你推荐这类商品的广告 。还有一种感觉很恐怖的情况 , 你刚和某个人谈论了某件事 , 然后就在某个App上看到了关于这件事的推荐 , 有人猜测是App在偷听 , 不过基于目前的舆论和监督 , 偷听风险太大 , 这其中的原因可能真的只是算法太厉害了 。
最近几年Android和iOS系统都对App获取手机唯一标识进行了限制 , 比如IMEI、Mac地址、序列号、广告Id等 , 目的就是防止用户的信息在多个App之间进行关联 , 导致泄漏用户的隐私 , 产生一些安全问题和法律风险 , 前述跨App的广告行为也自然受到了抑制 。
在了解一键登录的技术原理时 , 看到某运营商提供了一种和SIM卡绑定的设备唯一Id服务 , 宣传语就是为了应对移动操作系统限制访问手机唯一标识的问题 , 在现今越来越重视隐私保护的前提下 , 如果这种能力开放给了广告平台 , 就是开历史的倒车了 。
手机号作为身份标识的问题对于国内普遍使用手机号登录的方式 , 从技术上很难限制App之间进行手机号关联 , 然后综合分析用户的行为 。比如某家大厂运营了多款不同种类的热门App , 它就有能力更全面的了解某个用户 , 如果要限制可能就得通过法律层面来解决了 。至于不同厂商之间的手机号关联行为 , 基于商业利益的保护 , 不太可能会出现 。
在国内这种商业环境下 , 如果你真的对自己的隐私很关注 , 最好只使用账号密码的方式登录 , 否则经常更换手机号可能是一种没办法的办法 。
手机号重新销售问题手机号的总量是有限的 , 为了有效利用手机号资源 , 手机号注销以后 , 经过一段时间就会被运营商重新销售 。如果新的手机号拥有者拿着这个手机号登录某个APP , 而这个手机号之前已经在这个App上注册过 , 产生了大量的使用记录 , 那么此手机号前拥有者的隐私就会被泄漏 。所以大家现在都不太敢随便更换手机号 , 因为注册过的地方太多了 , 留下了数不清的使用痕迹 。
在了解一键登录的技术原理时 , 还看到某运营商提供了一种“手机号更换绑定SIM卡通知”的服务 , 应用可以据此解绑重新销售的手机号与应用账号之间的关系 , 从而保护用户的隐私 。在上文中已经提过手机卡使用IMSI进行标识 , 如果手机号被重新销售 , 就会绑定新的IMSI , 运营商可以据此产生通知 。当然运营商还需要排除手机卡更换和携号转网的情况 , 这些情况下手机号也会绑定新的IMSI 。
不得不说运营商的这个服务还是挺赞的 。
推荐阅读
- 一图搞懂扫码登录的技术原理
- 银行卡怎么换绑定手机号码?
- 阿里资深软件测试工程师总结的这几点,让小白轻松搞懂性能调优
- 彻底搞懂字符编码
- 十分钟学会用 Go 编写命令行工具
- gmail谷歌邮箱账号注册教程,轻松解决手机号码无法用于验证问题
- proxies 1分钟搞懂什么是 JS 代理对象
- 循环、双向、链式、数组 一文搞懂队列
- 学数据库这么久了?SQL数据库基础函数都搞懂了吗?安排
- 彻底搞懂Java线程池的工作原理