tft每日頭條

 > 科技

 > 手機号碼授權登錄記錄

手機号碼授權登錄記錄

科技 更新时间:2025-03-06 12:25:15

手機号碼授權登錄記錄?手機号碼一鍵登錄是最近兩三年出現的一種新型應用登錄方式,比之前常用的短信驗證碼登錄又方便了不少登陸時,應用首先向用戶展示帶有本機号碼掩碼的授權登錄頁面,用戶點擊“同意授權”的按鈕之後,應用即可獲取到完整的本機号碼,從而完成用戶的登錄認證在這個過程中,應用隻要确認登錄用的手機号碼是在綁定了此号碼的手機上發起的即可認證成功,從這一點來看,它和短信驗證碼登錄并無本質區别,都是一種設備認證登錄方式這篇文章就來捋一下其中的技術門道,下面我們就來說一說關于手機号碼授權登錄記錄?我們一起去了解并探讨一下這個問題吧!

手機号碼授權登錄記錄(十分鐘搞懂手機号碼一鍵登錄)1

手機号碼授權登錄記錄

手機号碼一鍵登錄是最近兩三年出現的一種新型應用登錄方式,比之前常用的短信驗證碼登錄又方便了不少。登陸時,應用首先向用戶展示帶有本機号碼掩碼的授權登錄頁面,用戶點擊“同意授權”的按鈕之後,應用即可獲取到完整的本機号碼,從而完成用戶的登錄認證。在這個過程中,應用隻要确認登錄用的手機号碼是在綁定了此号碼的手機上發起的即可認證成功,從這一點來看,它和短信驗證碼登錄并無本質區别,都是一種設備認證登錄方式。這篇文章就來捋一下其中的技術門道。

這幾年為了保護用戶的隐私安全,Android和iOS系統都限制了應用獲取本機号碼的能力,即使通過某些技術手段獲取到了本機号碼,這個号碼還可能是被篡改的,所以應用直接讀取本機号碼用于登錄是不可行的。那麼這些應用是怎麼獲取到真實的本機号碼的呢?答案是電信運營商,手機要打電話、要上網、要計費,運營商肯定能對應到正确的手機号碼。國内的運營商就是移動、聯通、電信這三家,它們都開放了這種能力。對于在互聯網大潮中被管道化的運營商來說,不失為一種十分有意義的積極進取。

手機流量上網的原理

手機号碼一鍵登錄是借助手機流量上網來實現的,所以先要搞清楚流量上網的原理。

目前網上已有很多關于一鍵登錄的技術文章,但是内容基本雷同,關于獲取手機号碼的部分,所述都是通過運營商的數據網關能力,語焉不詳,對于有追求的技術人來說,難以忍受。這個章節就來介紹下這種從數據網關獲取手機号碼的能力是如何實現的,因為通信專業知識十分繁雜,我也沒有經過專業的學習,大家也不想接觸到很多的專業名詞,所以這裡隻保留一些關鍵的專業名詞,盡量以通俗易懂的方式來理清這個機制。

五層網絡模型

對網絡比較熟悉的同學,應該了解五層協議,那麼手機流量上網時的五層網絡模型有何不同呢?

從上圖可以看出,手機流量上網的主要區别在數據鍊路層和物理層。在數據鍊路層,流量上網沒有MAC地址的概念,它采用一種點對點協議(PPP),手機端通過撥号方式建立這種PPP連接,然後發送數據。在物理層,流量上網通過手機内置的基帶模塊進行無線信号的調制、解調工作,從而實現與移動基站之間的電磁波通信。

流量上網的機制

點對點協議支持身份驗證功能,手機端發起連接時會攜帶自己的身份證明,一般就是手機卡内置的IMSI,這個IMSI也會保存在運營商的數據庫中,因此基站就可以驗證連接用戶的身份,當然這個驗證過程不是簡單的對比IMSI,會有更多安全機制。為了更清楚的了解流量上網機制,下面再來一張4G流量上網時手機與運營商的交互示意圖:

核心組件

手機:這其中對流量上網起到關鍵作用的就是手機卡和基帶模塊。手機卡中保存了IMSI,全稱International Mobile Subscriber Identification Number,國際移動用戶識别碼。IMSI是手機卡的身份标識。

基站:就是外邊常見的鐵架子信号塔,是一種能覆蓋一定範圍的無線電收發信息電台,手機會連接到它,然後它再通過光纖連接到運營商網絡,從而實現移動通信。

MME:Mobility Management Entity,移動控制單元。手機建立連接時會先訪問到這裡,負責:手機與基站的接入控制,手機卡的鑒權、會話管理、安全傳輸,漫遊控制、跨運營商通信等。

HSS:Home Subscriber Server,歸屬簽約用戶服務器。保存本地簽約的手機卡信息,包括手機卡IMSI與手機号的對應關系,手機号的套餐信息、手機号的歸屬地信息等。

S-GW:Service Gateway,服務網關。4G環境下,用戶側與運營商核心網之間的業務網關。訪問能不能進入,能做什麼業務,去哪裡做業務,是在這裡控制的。跨運營商計費、漫遊計費等也在這裡完成。

P-GW:PDN Gateway,PDN網關。運營商核心網與互聯網之間的網關,手機真正上網就是通過它了。它會給手機分配一個IP地址,控制上網的速度,對流量進行計費等。

PCRF:Policy and Charging Rules Function,策略與計費控制單元,保存每個用戶的網絡訪問策略和計費規則。

上網過程

為了方便理解,這裡将上網的過程大緻分為兩個部分(和上圖的1、2對應):

  • 1 接入:建立連接時,手機攜帶IMSI信息,通過基站訪問到MME,MME通過HSS驗證IMSI信息,然後MME進行一些初始化工作,返回一些鑒權參數給手機,手機再進行一些計算,然後把計算結果返回給MME,MME驗證手機的計算結果,驗證通過則允許接入。這個過程保證了接入的安全,MME還為後續的數據傳輸提供了加密傳輸支持,保護數據不被竊聽和篡改,有興趣的同學可以去詳細了解下。 如果手機卡銷售的時候沒有寫入手機号,手機卡首次注冊登記的時候,運營商會從HSS中取出手機号,然後再寫入手機卡中。 實際應用中,為了防止跟蹤和攻擊,不是每次通信時都要攜帶IMSI,MME會生成一個臨時的GUTI對應到IMSI,就像Web程序中的SessionId。MME還有一定的機制控制GUIT的重新分配。

  • 2 傳輸:手機網絡流量的傳輸,還是先要通過基站,然後下一步進入S-GW,S-GW會檢查用戶的授權,就像Web程序中檢查前端提交過來的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鑒權通過,然後将這個業務請求路由到運營商核心網中獲取手機号碼的服務,服務根據業務規則從HSS中取出手機号碼并進行若幹處理。

    一鍵登錄的原理

    理解了手機流量上網的原理,再來看下一鍵登錄業務是如何實現的,這個部分屬于上層應用程序開發,大家應該相對熟悉一些。

    如果你接入過微信的第三方應用登錄,或者其他類似的第三方應用登錄,過程是差不多的。還是先來看圖:

    這裡對一些關鍵步驟進行說明:

  • 2預取手機号掩碼:這個手機号掩碼需要在請求用戶授權的頁面展示給用戶看,因為獲取這個信息要通過電信運營商的網絡,所以可能會比較慢,為了提升用戶體驗,可以在應用啟動的時候就去獲取,然後緩存一段時間。

  • 8授權請求:因為應用獲取用戶手機号這個事比較敏感,必須讓用戶清楚地了解并授權之後才能進行,為了确保這件事,運營商的認證SDK提供了這個授權請求頁面,用戶确認授權後,SDK直接向運營商認證服務發起請求認證,認證服務會返回一個認證Token給應用。應用再通過自己的服務端拿着這個Token找運營商獲取手機号碼。

  • 17生成應用授權Token:應用要維護自己用戶的登錄狀态,這裡可以采用傳統的Session機制,也可以使用JWT機制。

  • 3預取手機号掩碼 和 11請求認證,都需要通過手機蜂窩網絡通信,也就是說需要通過手機流量上網。如果手機同時開啟了流量和WIFI,認證SDK會将手機短暫切換到流量上網模式。如果手機沒有開啟流量,有些SDK還會在上次成功取号之後多緩存一個臨時Token,這樣也能成功實現一次一鍵登錄,不過這個限制性很大。

    這裡其實還有一個安全問題

    14登錄請求:用戶如果随便造一個認證Token,然後就向應用服務提交請求,應用服務再向認證服務提交請求,這屬于一種跨站攻擊。雖然這個Token可以被阻止,但是不免浪費資源,給服務端帶來壓力。

    這一點微信第三方應用登錄做得比較好,用戶登錄前,應用服務端先生成一個随機數,然後應用前端向應用服務端提交時,帶着這個随機數,應用服務端可以驗證這個随機數。

    号碼驗證場景

    除了用于登錄,運營商網關的這種取号能力,還可以用在驗證手機号上,在某些關鍵業務上,比如支付過程中,要求用戶輸入本機手機号碼或者其中的某幾位,然後通過運營商認證服務驗證手機号是否本機号碼。

    隐私保護問題設備唯一标識問題

    現在大家對隐私問題關注得越來越多了,經常會出現這種情況:你在某電商網站搜索了某個商品,然後訪問其它網站時,都向你推薦這類商品的廣告。還有一種感覺很恐怖的情況,你剛和某個人談論了某件事,然後就在某個App上看到了關于這件事的推薦,有人猜測是App在偷聽,不過基于目前的輿論和監督,偷聽風險太大,這其中的原因可能真的隻是算法太厲害了。

    最近幾年Android和iOS系統都對App獲取手機唯一标識進行了限制,比如IMEI、Mac地址、序列号、廣告Id等,目的就是防止用戶的信息在多個App之間進行關聯,導緻洩漏用戶的隐私,産生一些安全問題和法律風險,前述跨App的廣告行為也自然受到了抑制。

    在了解一鍵登錄的技術原理時,看到某運營商提供了一種和SIM卡綁定的設備唯一Id服務,宣傳語就是為了應對移動操作系統限制訪問手機唯一标識的問題,在現今越來越重視隐私保護的前提下,如果這種能力開放給了廣告平台,就是開曆史的倒車了。

    手機号作為身份标識的問題

    對于國内普遍使用手機号登錄的方式,從技術上很難限制App之間進行手機号關聯,然後綜合分析用戶的行為。比如某家大廠運營了多款不同種類的熱門App,它就有能力更全面的了解某個用戶,如果要限制可能就得通過法律層面來解決了。至于不同廠商之間的手機号關聯行為,基于商業利益的保護,不太可能會出現。

    在國内這種商業環境下,如果你真的對自己的隐私很關注,最好隻使用賬号密碼的方式登錄,否則經常更換手機号可能是一種沒辦法的辦法。

    手機号重新銷售問題

    手機号的總量是有限的,為了有效利用手機号資源,手機号注銷以後,經過一段時間就會被運營商重新銷售。如果新的手機号擁有者拿着這個手機号登錄某個APP,而這個手機号之前已經在這個App上注冊過,産生了大量的使用記錄,那麼此手機号前擁有者的隐私就會被洩漏。所以大家現在都不太敢随便更換手機号,因為注冊過的地方太多了,留下了數不清的使用痕迹。

    在了解一鍵登錄的技術原理時,還看到某運營商提供了一種“手機号更換綁定SIM卡通知”的服務,應用可以據此解綁重新銷售的手機号與應用賬号之間的關系,從而保護用戶的隐私。在上文中已經提過手機卡使用IMSI進行标識,如果手機号被重新銷售,就會綁定新的IMSI,運營商可以據此産生通知。當然運營商還需要排除手機卡更換和攜号轉網的情況,這些情況下手機号也會綁定新的IMSI。

    不得不說運營商的這個服務還是挺贊的。


    以上就是本文的主要内容了,因本人才疏學淺,如有錯漏,歡迎指正。

    更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

    查看全部
  • 相关科技资讯推荐

    热门科技资讯推荐

    网友关注

    Copyright 2023-2025 - www.tftnews.com All Rights Reserved