"用戶增長"--快速身份認證實現用戶增長的技術和產品方案
1 引言
作為一個互聯網產品,用戶量的增長是一個非常重要的衡量指標。 這是一個集合了銷售,市場,運營,技術的綜合能力。 本文將以非技術部分為引子,然后落地為技術方案,來針對 用戶增長 的目標來進行產品設計。
2 身份認證技術
互聯網產品實現用戶增長,最開始部分就是來自於市場和運營人員的工作。
用戶增長的 非技術 工作有:
- 銷售地推帶來早期標桿用戶
- 運營人員活動推廣帶來網絡用戶
- 市場人員PR和其它市場活動的企業宣傳帶來用戶
這部分非技術的工作落實到技術部分,就需要如下幾大系統做好支撐:
- 用戶自助注冊系統
- 用戶互相邀請系統
- 渠道推廣邀請系統
無論是哪種技術方式,最后都會回歸到一個很朴實地技術問題上面:“用戶的身份認證”。
目前對用戶的身份認證最基本的方法分為如下三種:
-
- 基於信息秘密
-
根據你所知道的信息來證明你的身份(what you know,你知道什么), 比如:自己的人生經歷相關問答,還有賬號名和密碼
-
- 基於信任物體
-
根據你所擁有的東西來證明你的身份(what you have,你擁有什么), 比如:手機和U盾
-
- 基於生物特征
-
根據獨一無二的身體特征來證明你的身份(what you are,你是誰), 比如:指紋,虹膜,面部特征
以上三種方法中, 基於 信息秘密 和基於 生物特征 分別由於使用成本和認證成本的關系, 沒有成為當今的主流,所以本文在內容安排上將重點講目前使用最廣泛的 基於信任物體 的認證方式。
3 基於信息秘密
基於信息秘密是傳統身份認證主要實現方法有兩種:
- 基於賬號和密碼
- 基於用戶常見問題的問答
其中第1條,是在傳統的用戶注冊時身份認證最常用的方式,具有低成本和低平台依賴性的特點。
在一些安全要求更嚴格的場景,則會啟用 “常見問題的問答”,比如:
- 你高中班主任的名字是?
- 你畢業后的第一份工作是?
- 你爸爸的名字是?
最后的效果是:
- 這些問題越隱私,安全級別越高
- 這些問題的答案越出乎意料,安全級別越高
但是這樣的副作用也特別明顯: 可能最后用戶自己也不記得自己設置的是什么回答了, 其實這些問題本質上還是設置的密碼。
- 問題 對應 用戶名
- 答案 對應 密碼
此方法的特點:
- 具有較高隱秘性
- 單次認證使用門檻高
4 基於生物特征
目前普通網絡用戶能接觸到的常見的基於生物特征的認證有:
- 智能手機對用戶的指紋認證
- 互聯網銀行進行面部識別認證
在一些軍工或者金融系統里面,更高級的生物特征認證有:
- 基於眼球虹膜的認證
- 基於掌紋的特征提取
- 基於脈搏的特征提取
這些都會涉及到更高級的傳感器或者更高級的軟件算法,基於成本的問題,一般級別的信息系統都沒有采用。
5 基於信任物體
目前的一些廣義的 auth2.0 的方案基本上都可以歸納為此類。
此方法的特點是:認證方式可以完全拋棄密碼了。
關於 基於信任的物體 可以借用去年熱播的電視劇 《琅琊榜》 里面的一個橋段來解釋:
“朝堂上要爭論 ‘有罪的太子母親’ 是否有資格參加皇室大型祭祀活動的問題, 隱居山里的 周玄清 先生是這個學術領域的泰斗, 但是一般人都無法請他出山, 但是梅長蘇則通過他已故的師傅黎崇先生(和周先生是舊時摯友)的信物--玉蟬, 將周老先生請出山,在朝堂辯論中取得勝利”
轉化為當下信息系統的身份認證的語言就是:
-
- 梅長蘇想要擁有使用周玄清先生技能的權限
-
希望利用周玄清先生的能力去取得辯論的勝利。
-
- 周玄清先生根本就不認識梅長蘇
-
梅長蘇面貌已經完全變了,一般的舊人完全認不出來。 當然像蒙大統領和霓凰郡主這樣能夠深度學習, 從多個維度提取特征,並最終認出易容后的男主,這個設定有點BUG。
-
周玄清信任舊時摯友黎崇
-
- 梅長蘇擁有黎崇的貼身信物--玉蟬
-
擁有玉蟬,基本上就等於和黎崇先生有非同尋常的關系
-
- 雖然黎崇已仙逝,但周玄清見到信物后就立刻答應出山幫忙
-
周玄清可以在不需要黎崇親自出面的情況下,見信物就“授權”給梅長蘇
-
- 周先生在朝堂上幫助取得辯論勝利
-
梅長蘇在取得授權的情況下,享受到了周先生的服務
在當今現實生活中 信任物體 有如下幾種表現形式:
- 用戶擁有查看自己手機短信權限
- 用戶擁有接聽自己手機電話的權限
- 用戶擁有查看自己電子郵箱的權限
- 用戶擁有查看自己的app(微信/微博/支付寶)的權限
其實的解釋就是:
本系統 信任 某個平台或者設備, 用戶如果能夠出具你在那個平台上有賬號或者設備使用權限的證明, 那么此用戶就可以成為本系統的用戶而直接進入本系統。
能夠利用好目前已經有的一些可信平台,或者可信設備,可以天然導流並沉淀用戶到自己的系統中。
這些平台或者設備要有如下前提條件:
- 有自己的賬號體系
- 具備信息接收能力
目前符號這樣條件的基礎賬號有:
- 手機通話
- 手機短信
- 電子郵箱
- app(如:微信)
這幾種認證方式都是基於 "我擁有" 的原則來進行身份唯一性鑒定的。
傳遞信息的主流手段有如下幾種:
- 數字驗證碼
- 帶token的url
- 二維碼
然后和接收賬號進行組合,得到如下的驗證矩陣表:

備注: Y 表示存在此方法;N 表示不存在此方法。
接下來的內容將針對此部分的認證方式進行詳細分析和展開。
5.1 數字驗證碼
“數字驗證碼” 的基本原理是:
服務器生成一串數字串,然后將這個信息發送到能收到用戶接收信息的賬號上, 然后根據用戶獲取此數字串后的輸入做對比, 以確認用戶所擁有此賬號的信息獲取權限,從而完成授權。
一個由 “數字驗證碼” 作為驗證方式的注冊系統, 其主要步驟如下:
-
服務端生成一個隨機數字串(一般是4到6位)
-
服務端將信息主動推送到用戶信息接收賬號(文字或者音頻)
-
- 用戶交互
-
- 用戶打開應用,通過視覺或者聽覺的獲取信息
- 用戶記住此信息串內容
- 用戶切回服務界面
- 用戶輸入驗證碼
-
用戶完成注冊,進入信息系統
當然不同的信息接收方式,也會有如下幾個維度的不同:
- 接收信息的 載體的覆蓋成本
- 用戶 認證賬號記憶成本
- 服務商的 認證信息生成成本
- 用戶對 認證信息的獲取成本
- 用戶對 認證信息的使用成本
- 用戶 關系鏈成本
對每個指標進行量化評分(1~5分),我們可以得到如下的對比表:

收信載體覆蓋成本 :
毫無疑問手機號碼是覆蓋率最高的收集載體了,基本上不需要系統服務商去擔心用戶覆蓋率的問題; 電子郵箱由於QQ郵箱的功勞,在覆蓋率上也沒有太遜色;微信作為裝機率極高的超級app,覆蓋率上也沒有太遜色。
認證賬號記憶成本 :
手機號碼是最容易被用戶記憶住;郵箱地址次之; 微信由於只對第三方開放一個隨機長字符串,所以在第三方能獲得的認證賬號是完全沒有可記憶性的。
認證信息生成成本 :
- 驗證短信目前市場價: 50元/1000條
- 驗證郵件目前市場價:3元/1000封
- 驗證微信:可以認為是免費的,但有服務號認證費用,300元/年
認證信息獲取成本 :
- 短信直接在手機上打開短信應用就可以看到驗證碼,比較便捷
- 考慮到郵件則由於並非一開始就處於登錄態,絕大多數人也不會使用客戶端登錄郵件,獲取信息成本要高
- 微信一般都是登錄態,打開微信消息即可獲得驗證碼,比較便捷
認證信息使用成本 :
這三者都差不多,都是記住驗證碼,然后輸入驗證碼。
關系鏈獲取成本 :
- 短信方式。通過用戶上傳手機號碼,獲取關系鏈條,而且質量最高。
- 郵件方式。通過獲取郵件聯系人,獲取關系鏈條,但質量沒手機號碼高。
- 微信方式。一般的第三方完全無法獲取關系鏈條。
如果不考慮關系鏈,又特別在意成本問題,其實微信方式也是個不錯的選擇。
使用如下步驟可以實現揚長避短:
- 關注本系統的微信服務號
- 從微信服務號菜單中打開“注冊用戶”菜單進入注冊頁面
- 注冊頁面顯示出當前微信在本公眾號下的賬號ID(一個很難記憶的長字符串)
- 要求用戶輸入一個容易記憶的用戶名A(替代難記憶的微信第三方ID)
- 在微信瀏覽器里面完成授權和簡單賬號名的綁定
- 后續可以使用微信服務號主動給用戶微信推送 數字驗證碼
- 用戶收到驗證碼后,通過 用戶名A 和 驗證碼 完成登錄
本質上是:需要預先為信息接收裝置綁定一個容易記憶的賬號。
基於 數字驗證碼 認證方法整個過程中,交互過程如下:
- 打開收件箱或者登錄郵箱或者接聽電話
- 通過視覺或者聽覺獲取信息並記憶信息
- 切換軟件使用場景
- 鍵盤輸入驗證碼
評價:
- 交互步驟:4步
- 耗時:15s
- 推薦指數: 3顆星
5.2 帶token的url
主要原理:信息系統服務商將帶token的url發送到指定的信息接收裝置中, 然后用戶從信息接收裝置中直接點擊打開url請求數據,完成授權。
以移動app登錄場景為例子,主要遵循如下步驟:
-
- 用戶在app輸入用戶名
-
- 可以是手機號碼
- 可以是郵箱地址
- 可以是微信用戶名的替代名
-
服務商向接收載體發送帶token的url
-
app使用token參數進行輪詢
-
只要輪詢檢查到url已經被請求過,則app認為用戶認證通過
這其實是對比短信驗證碼是更優秀的一種認證方式,因為它省去了用戶記憶驗證碼,和輸入難碼的環節。 整個驗證過程,交互動作如下:
- 打開收件箱或者登錄郵箱或者微信查看信息
- 點擊鏈接
評價:
- 交互步驟:2步
- 耗時:6s
- 推薦指數:4顆星
此方法的缺點是:拋棄了那些使用連瀏覽器都無法打開的老古董手機的用戶。 顯然按照目前的形勢來看,可以不用考慮這部分稀缺用戶的感受了。
5.3 二維碼或app調用
這種方式應該是目前最先進的一種認證方式了,只是開發難度稍微高一些。 但是如果開發能力不是問題,還是建議盡量使用此方法。
微信提供了三個途徑來開放其用戶信息:
- 微信app手機掃第三方服務商的二維碼
- 第三方服務商的app調用微信app
- 微信瀏覽器打開第三方服務商的頁面
但是如果不限制第三方服務商的服務在微信瀏覽器里面使用的話,則認證方法只剩兩種:
- 微信掃第三方二維碼
- 第三方app調用微信app
這兩種方式都非常值得技術人員去研究理解並學會鑒賞。
其主要門檻在於:
- 需要企業資質去申請開發者權限
- 每年會交300元的資格審查費用
- 要求開發人員具備一定的架構理解能力和軟件開發實現能力
如果以上三條不存在問題,那么建議首選此方法。
這兩類認證方法的步驟如下:
- 生成二維碼或者第三方app發起調用微信app的請求
- 微信掃碼或者微信被調起后同意授權
評價:
- 交互步驟: 2步
- 耗時: 3s
- 推薦指數: 5顆星
6 本文總結
本文從“用戶快速增長”的 產品及運營目標 出發, 引出了“如何在技術上實現對用戶進行快速身份認證以減少用戶使用本系統門檻”的問題。 然后針對目前主流的一些認證技術和具體實踐中常見的認證實現方式進行了分析, 並針對目前最常見的 基於信任物體 的幾種具體認證方法進行了量化分析和評級。
最終的結論是: 微信的掃碼和app調用是最值得推薦的認證方式。
希望本文的 分析過程及分析結果 能夠對大家在進行產品設計和技術選型時有所啟發。
7 本文展望
本文主要解決在“利用現有的基礎信息平台設施”的條件下信息系統關於用戶的兩個問題:
- 吸引新用戶注冊
- 用戶登錄認證
但是如果有更多的需求,例如,“對用戶進行詳細的權限角色限定”則需要開發商自行處理了。
開發商自己開發一個屬於自己信息體系的身份認證app, 從手機號碼/電子郵箱/微信這些賬號體系中完成自身app的 新用戶注冊和登錄功能 , 然后在app里面進行角色和權限划分。這樣可以此app為基礎,開發出針對本系統的很多特色的功能出來。
這就有點類似於:微信的注冊體系和登錄體系是依賴於手機號碼和短信的, 但是進入到微信系統后,它做出了掃碼登錄和調用app登錄這樣優秀體驗的認證方式。
最終如果app的功能足夠有特色,也同樣是能夠把由第三方引入的用戶給沉淀下來,最終完全脫離第三方。
app可以作的功能有很多,例如:
-
- 業務方面
-
- 掃碼登錄
- 掃碼審核
- 掃碼付款
- 掃碼扣款
- 掃碼確認
-
- 安全方面
-
- 進行安全等級划分
- 本系統用戶征信調查
等等,更多的功能就靠自己的想像力了。
作者: | Harmo哈莫 |
---|---|
作者介紹: | https://zhengwh.github.io |
技術博客: | http://www.cnblogs.com/beer |
Email: | dreamzsm@gmail.com |
QQ: | 1295351490 |
時間: | 2016-07 |
版權聲明: | 歡迎以學習交流為目的讀者隨意轉載,但是請 【注明出處】 |
支持本文: | 如果文章對您有啟發,可以點擊博客右下角的按鈕進行 【推薦】 |