# 使用者身份驗證解決方案

系統開發有一個環節是要做身份驗證,會根據系統的需要來要求使用者做驗證的動作。驗證的方式有很多像是 Email 驗證、行動電話 OTP 驗證,甚至電訊商驗證、護照驗證、⋯⋯等。

本文會介紹一些驗證方式以及對應的服務供應商,有些院長有用過也會分享一些使用心得。

# Email 驗證

最基本的驗證方式,成本最低、強度也是最低。

# 驗證流程

系統端產生一組無序驗證碼發 Email 到使用者的地址,使用者點擊連結或是拷貝 Email 內的驗證碼填回系統即完成驗證。

# 服務供應商

# 優點

  • 成本超低

# 缺點

  • 很容易破解,網路上隨便都可以找到可以申請臨時 Email 地址的服務,像是我介紹過的 Guerrilla Mail (opens new window) 就是。
  • 無法確定人別,只能確定這個 Email 地址是有效的。

# 手機電話號碼驗證

# 簡訊 OTP

# 驗證流程

系統端產生一組無序驗證碼發手機簡訊到使用者的手機電話號碼,使用者拷貝簡訊內的驗證碼填回系統即完成驗證。

# 服務供應商

  • 三竹
    • 台灣老牌的,算是蠻穩的
  • SMS-GET
    • 台灣算便宜的
  • Twilio
    • 可發全球電話號碼,但是貴,台灣到達率不佳
  • Vonage(Nexmo)
    • 可發全球電話號碼,比 Twilio 便宜

院長的經驗是台灣的電話號碼可以走 三竹SMS-GET 全球就 Twilio

至於要發簡訊到中國,雖然 Twilio 跟 Vonage 都有支援發到中國,但是聽說中國有中國的特色,所以可能要用中國的服務供應商,像是阿里雲短訊服務之類的,簡訊的到達率才會比較高。

# 優點

  • 大部分使用者都很熟悉的驗證模式

# 缺點

  • 很容易破解,網路上搜尋線上收簡訊就有一大堆網站提供號碼。
  • 有各種可能性使用者會收不到簡訊。
  • 無法確定人別,只能確定這個電話號碼是有效的。

# 硬體簡訊 OTP

跟簡訊 OTP 一樣,不過就是用一個實際的硬體來發簡訊,網路上搜尋Bulk SMS Modem就有一大堆硬體 Modem 的產品,這類的產品就是一台機器可以裝很多 SIM 卡,然後透過軟體操作就可以大量發送簡訊。

至於這種裝置,如果是用一般人申請的電信方案,那一封簡訊的成本會比上面提到的供應商來的高,其實並不划算,除非有什麼特殊的需求才會使用這樣的裝置吧。

# AOTP

# 驗證流程

驗證碼從使用者的手機電話號碼發送到供應商的電話號碼,供應商收到簡訊後發 webhook 給系統端,這樣系統端就可以收到使用者的手機電話號碼。

這個流程比較新穎,著名的案例就是 PTT 的註冊流程。

# 優點

  • 可以避免使用者收不到 OTP 簡訊的問題
  • 可以避免使用者使用線上收簡訊服務

# 缺點

  • 無法確定人別,只能確定這個電話號碼是有效的,因為使用者還是可以借別人的電話去發這封簡訊。

# 服務供應商

  • 83811 尚藍資訊 MobileWiz

# 電話撥號驗證

# 驗證流程

使用者的手機播電話到供應商的提供的電話號碼,透過來電顯示這個功能,供應商可以得知撥電話的電話號碼,達成認證的目的。

# 服務供應商

# 電話撥號驗證硬體版

跟電話撥號驗證一樣,不過就是買一個硬體裝在自家機房,電話號碼的部分就是要自己去申請

# 服務供應商

# 電信商驗證

# 驗證流程

使用者透過電信業者來進行驗證,限使用「本人申辦」的「月租型門號」及「個人4G以上行動網路」,因為電信業者會有使用者的基本資料,所以可以藉由這個方式確認使用者。

實際案例:全民健保行動快易通 APP 的行動電話認證

# 服務供應商

# 證件/護照驗證

# 驗證流程

使用者拍攝自己的護照上傳到供應商網站,供應商有對應的機制會辨識使用者的證件。

實際案例:加密貨幣交易所的 KYC 機制

# 服務供應商

Last Updated: 2021-11-26 16:02:26
贊助商連結
    贊助商連結
    (adsbygoogle = window.adsbygoogle || []).push({});